From 0c976dcc8d1d653f2284ce273493e6714a6d4b2a Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Tue, 7 May 2024 00:22:17 -0700 Subject: [PATCH] feat(all): auto-regenerate discovery clients (#2571) --- accessapproval/v1/accessapproval-api.json | 4 +- accessapproval/v1/accessapproval-gen.go | 2 + aiplatform/v1/aiplatform-api.json | 206 +- aiplatform/v1/aiplatform-gen.go | 211 +- aiplatform/v1beta1/aiplatform-api.json | 952 +- aiplatform/v1beta1/aiplatform-gen.go | 2379 +- contentwarehouse/v1/contentwarehouse-api.json | 151730 +-------------- contentwarehouse/v1/contentwarehouse-gen.go | 138138 +------------ firebaseml/v2beta/firebaseml-api.json | 18 +- firebaseml/v2beta/firebaseml-gen.go | 9 + youtube/v3/youtube-api.json | 43 +- youtube/v3/youtube-gen.go | 132 + 12 files changed, 11128 insertions(+), 282696 deletions(-) diff --git a/accessapproval/v1/accessapproval-api.json b/accessapproval/v1/accessapproval-api.json index 551f4aee6cc..e225a79f1d6 100644 --- a/accessapproval/v1/accessapproval-api.json +++ b/accessapproval/v1/accessapproval-api.json @@ -913,7 +913,7 @@ } } }, - "revision": "20240424", + "revision": "20240503", "rootUrl": "https://accessapproval.googleapis.com/", "schemas": { "AccessApprovalServiceAccount": { @@ -1257,6 +1257,7 @@ "EC_SIGN_P256_SHA256", "EC_SIGN_P384_SHA384", "EC_SIGN_SECP256K1_SHA256", + "EC_SIGN_ED25519", "HMAC_SHA256", "HMAC_SHA1", "HMAC_SHA384", @@ -1294,6 +1295,7 @@ "ECDSA on the NIST P-256 curve with a SHA256 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", "ECDSA on the NIST P-384 curve with a SHA384 digest. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", "ECDSA on the non-NIST secp256k1 curve. This curve is only supported for HSM protection level. Other hash functions can also be used: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms", + "EdDSA on the Curve25519 in pure mode (taking data as input).", "HMAC-SHA256 signing with a 256 bit key.", "HMAC-SHA1 signing with a 160 bit key.", "HMAC-SHA384 signing with a 384 bit key.", diff --git a/accessapproval/v1/accessapproval-gen.go b/accessapproval/v1/accessapproval-gen.go index 08550f3df9a..fabf3198508 100644 --- a/accessapproval/v1/accessapproval-gen.go +++ b/accessapproval/v1/accessapproval-gen.go @@ -733,6 +733,8 @@ type SignatureInfo struct { // curve is only supported for HSM protection level. Other hash functions can // also be used: // https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms + // "EC_SIGN_ED25519" - EdDSA on the Curve25519 in pure mode (taking data as + // input). // "HMAC_SHA256" - HMAC-SHA256 signing with a 256 bit key. // "HMAC_SHA1" - HMAC-SHA1 signing with a 160 bit key. // "HMAC_SHA384" - HMAC-SHA384 signing with a 384 bit key. diff --git a/aiplatform/v1/aiplatform-api.json b/aiplatform/v1/aiplatform-api.json index 88b70774657..d93ba243fcb 100644 --- a/aiplatform/v1/aiplatform-api.json +++ b/aiplatform/v1/aiplatform-api.json @@ -16204,7 +16204,7 @@ } } }, - "revision": "20240429", + "revision": "20240501", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionEmbedVideoResponse": { @@ -16262,7 +16262,8 @@ "CHILD_TEXT", "DANGEROUS_CONTENT", "RECITATION_TEXT", - "CELEBRITY_IMG" + "CELEBRITY_IMG", + "WATERMARK_IMG_REMOVAL" ], "enumDescriptions": [ "", @@ -16299,7 +16300,8 @@ "", "Text category from SafetyCat v3", "", - "" + "", + "Error message when user attempts to remove watermark from editing image" ], "type": "string" }, @@ -16614,9 +16616,9 @@ "The maximum number of tokens as specified in the request was reached.", "The token generation was stopped as the response was flagged for safety reasons. NOTE: When streaming the Candidate.content will be empty if content filters blocked the output.", "The token generation was stopped as the response was flagged for unauthorized citations.", - "All other reasons that stopped the token generation.", + "All other reasons that stopped the token generation (currently only language filter).", "The token generation was stopped as the response was flagged for the terms which are included from the terminology blocklist.", - "The token generation was stopped as the response was flagged for the prohibited contents.", + "The token generation was stopped as the response was flagged for the prohibited contents (currently only CSAM).", "The token generation was stopped as the response was flagged for Sensitive Personally Identifiable Information (SPII) contents." ], "type": "string" @@ -16961,9 +16963,9 @@ "enumDescriptions": [ "Unspecified blocked reason.", "Candidates blocked due to safety.", - "Candidates blocked due to other reason.", + "Candidates blocked due to other reason (currently only language filter).", "Candidates blocked due to the terms which are included from the terminology blocklist.", - "Candidates blocked due to prohibited content." + "Candidates blocked due to prohibited content (currently only CSAM)." ], "type": "string" }, @@ -22662,6 +22664,22 @@ "description": "Crowding is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowding_attribute. It's used for improving result diversity. This field is the maximum number of matches with the same crowding tag.", "format": "int32", "type": "integer" + }, + "rrf": { + "$ref": "GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF", + "description": "Optional. Represents RRF algorithm that combines search results." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF": { + "description": "Parameters for RRF algorithm that combines search results.", + "id": "GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF", + "properties": { + "alpha": { + "description": "Required. Users can provide an alpha value to give more weight to dense vs sparse results. For example, if the alpha is 0, we only return sparse and if the alpha is 1, we only return dense.", + "format": "float", + "type": "number" } }, "type": "object" @@ -22710,6 +22728,11 @@ "description": "The distance between the neighbor and the dense embedding query.", "format": "double", "type": "number" + }, + "sparseDistance": { + "description": "The distance between the neighbor and the query sparse_embedding.", + "format": "double", + "type": "number" } }, "type": "object" @@ -23504,6 +23527,10 @@ "$ref": "GoogleCloudAiplatformV1IndexDatapointRestriction" }, "type": "array" + }, + "sparseEmbedding": { + "$ref": "GoogleCloudAiplatformV1IndexDatapointSparseEmbedding", + "description": "Optional. Feature embedding vector for sparse index." } }, "type": "object" @@ -23592,6 +23619,29 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1IndexDatapointSparseEmbedding": { + "description": "Feature embedding vector for sparse index. An array of numbers whose values are located in the specified dimensions.", + "id": "GoogleCloudAiplatformV1IndexDatapointSparseEmbedding", + "properties": { + "dimensions": { + "description": "Optional. The list of indexes for the embedding values of the sparse vector.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "values": { + "description": "Optional. The list of embedding values of the sparse vector.", + "items": { + "format": "float", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1IndexEndpoint": { "description": "Indexes are deployed into it. An IndexEndpoint can have multiple DeployedIndexes.", "id": "GoogleCloudAiplatformV1IndexEndpoint", @@ -23704,6 +23754,12 @@ "readOnly": true, "type": "integer" }, + "sparseVectorsCount": { + "description": "Output only. The number of sparse vectors in the Index.", + "format": "int64", + "readOnly": true, + "type": "string" + }, "vectorsCount": { "description": "Output only. The number of dense vectors in the Index.", "format": "int64", @@ -26847,7 +26903,9 @@ "MULTIPLE_VALUES", "INVALID_NUMERIC_VALUE", "INVALID_ENCODING", - "INVALID_TOKEN_VALUE" + "INVALID_SPARSE_DIMENSIONS", + "INVALID_TOKEN_VALUE", + "INVALID_SPARSE_EMBEDDING" ], "enumDescriptions": [ "Default, shall not be used.", @@ -26864,7 +26922,9 @@ "Numeric restrict has multiple values specified.", "Numeric restrict has invalid numeric value specified.", "File is not in UTF_8 format.", - "Token restrict value is invalid." + "Error parsing sparse dimensions field.", + "Token restrict value is invalid.", + "Invalid sparse embedding." ], "type": "string" }, @@ -27227,8 +27287,7 @@ "description": "Optional. Immutable. The specification of a single machine for the template." }, "name": { - "description": "Output only. The resource name of the NotebookRuntimeTemplate.", - "readOnly": true, + "description": "The resource name of the NotebookRuntimeTemplate.", "type": "string" }, "networkSpec": { @@ -34426,12 +34485,12 @@ "type": "string" }, "epochCount": { - "description": "Optional. Number of training epoches for this tuning job.", + "description": "Optional. Number of complete passes the model makes over the entire training dataset during training.", "format": "int64", "type": "string" }, "learningRateMultiplier": { - "description": "Optional. Learning rate multiplier for tuning.", + "description": "Optional. Multiplier for adjusting the default learning rate.", "format": "double", "type": "number" } @@ -34583,11 +34642,11 @@ "description": "Optional. Hyperparameters for SFT." }, "trainingDatasetUri": { - "description": "Required. Cloud Storage path to file containing training dataset for tuning.", + "description": "Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.", "type": "string" }, "validationDatasetUri": { - "description": "Optional. Cloud Storage path to file containing validation dataset for tuning.", + "description": "Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.", "type": "string" } }, @@ -35478,7 +35537,7 @@ "id": "GoogleCloudAiplatformV1TuningJob", "properties": { "baseModel": { - "description": "Model name for tuning, e.g., \"gemini-1.0-pro-002\".", + "description": "The base model that is being tuned, e.g., \"gemini-1.0-pro-002\".", "type": "string" }, "createTime": { @@ -36910,7 +36969,14 @@ "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE", "GEMINI_V2_TAIL_PATCH_PMC", "GEMINI_V2_TAIL_PATCH_VOXPOPULI", - "GEMINI_V2_TAIL_PATCH_FLEURS" + "GEMINI_V2_TAIL_PATCH_FLEURS", + "GEMINI_V2_SSFS", + "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR", + "GEMINI_V2_SQL_REPAIR_SFT", + "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION", + "YT_CONTENT_INSPIRATION" ], "enumDescriptions": [ "", @@ -37260,7 +37326,14 @@ "", "Gemini V2 only tail patch.", "", - "" + "", + "Gemini V2 rev10", + "", + "", + "", + "", + "", + "Youtube Content Inpsiration." ], "type": "string" }, @@ -37724,7 +37797,14 @@ "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE", "GEMINI_V2_TAIL_PATCH_PMC", "GEMINI_V2_TAIL_PATCH_VOXPOPULI", - "GEMINI_V2_TAIL_PATCH_FLEURS" + "GEMINI_V2_TAIL_PATCH_FLEURS", + "GEMINI_V2_SSFS", + "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR", + "GEMINI_V2_SQL_REPAIR_SFT", + "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION", + "YT_CONTENT_INSPIRATION" ], "enumDescriptions": [ "", @@ -38074,7 +38154,14 @@ "", "Gemini V2 only tail patch.", "", - "" + "", + "Gemini V2 rev10", + "", + "", + "", + "", + "", + "Youtube Content Inpsiration." ], "type": "string" }, @@ -38574,7 +38661,14 @@ "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE", "GEMINI_V2_TAIL_PATCH_PMC", "GEMINI_V2_TAIL_PATCH_VOXPOPULI", - "GEMINI_V2_TAIL_PATCH_FLEURS" + "GEMINI_V2_TAIL_PATCH_FLEURS", + "GEMINI_V2_SSFS", + "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR", + "GEMINI_V2_SQL_REPAIR_SFT", + "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION", + "YT_CONTENT_INSPIRATION" ], "enumDescriptions": [ "", @@ -38924,7 +39018,14 @@ "", "Gemini V2 only tail patch.", "", - "" + "", + "Gemini V2 rev10", + "", + "", + "", + "", + "", + "Youtube Content Inspiration FT datasets." ], "type": "string" }, @@ -39388,7 +39489,14 @@ "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE", "GEMINI_V2_TAIL_PATCH_PMC", "GEMINI_V2_TAIL_PATCH_VOXPOPULI", - "GEMINI_V2_TAIL_PATCH_FLEURS" + "GEMINI_V2_TAIL_PATCH_FLEURS", + "GEMINI_V2_SSFS", + "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR", + "GEMINI_V2_SQL_REPAIR_SFT", + "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION", + "YT_CONTENT_INSPIRATION" ], "enumDescriptions": [ "", @@ -39738,7 +39846,14 @@ "", "Gemini V2 only tail patch.", "", - "" + "", + "Gemini V2 rev10", + "", + "", + "", + "", + "", + "Youtube Content Inspiration FT datasets." ], "type": "string" }, @@ -41284,10 +41399,37 @@ }, "type": "object" }, + "LearningServingLlmAtlasOutputMetadata": { + "id": "LearningServingLlmAtlasOutputMetadata", + "properties": { + "requestTopic": { + "type": "string" + }, + "source": { + "enum": [ + "UNKNOWN", + "FACTUALITY", + "INFOBOT", + "LLM" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "LearningServingLlmMessageMetadata": { - "description": "LINT.IfChange This metadata contains additional information required for debugging.", + "description": "LINT.IfChange This metadata contains additional information required for debugging. Next ID: 28", "id": "LearningServingLlmMessageMetadata", "properties": { + "atlasMetadata": { + "$ref": "LearningServingLlmAtlasOutputMetadata" + }, "classifierSummary": { "$ref": "LearningGenaiRootClassifierOutputSummary", "description": "Summary of classifier output. We attach this to all messages regardless of whether classification rules triggered or not." @@ -41363,7 +41505,12 @@ "type": "string" }, "perStreamDecodedTokenCount": { - "description": "NOT YET IMPLEMENTED. Applies to streaming only. Number of tokens decoded / emitted by the model as part of this stream. This may be different from token_count, which contains number of tokens returned in this response after any response rewriting / truncation.", + "description": "Number of tokens decoded by the model as part of a stream. This count may be different from `per_stream_returned_token_count` which, is counted after any response rewriting or truncation. Applies to streaming response only.", + "format": "int32", + "type": "integer" + }, + "perStreamReturnedTokenCount": { + "description": "Number of tokens returned per stream in a response candidate after any response rewriting or truncation. Applies to streaming response only. Applies to Gemini models only.", "format": "int32", "type": "integer" }, @@ -41379,7 +41526,7 @@ "description": "Recitation Results. It will be populated as long as Recitation processing is enabled, regardless of recitation outcome." }, "returnTokenCount": { - "description": "NOT YET IMPLEMENTED. Number of tokens returned as part of this candidate.", + "description": "NOT IMPLEMENTED TODO (b/334187574) Remove this field after Labs migrates to per_stream_returned_token_count and total_returned_token_count.", "format": "int32", "type": "integer" }, @@ -41399,6 +41546,11 @@ "format": "int32", "type": "integer" }, + "totalReturnedTokenCount": { + "description": "Total number of tokens returned in a response candidate. For streaming, it is the aggregated count (i.e. total so far) Applies to Gemini models only.", + "format": "int32", + "type": "integer" + }, "translatedUserPrompts": { "description": "Translated user-prompt used for RAI post processing. This is for internal processing only. We will translate in pre-processor and pass the translated text to the post processor using this field. It will be empty if non of the signals requested need translation.", "items": { diff --git a/aiplatform/v1/aiplatform-gen.go b/aiplatform/v1/aiplatform-gen.go index cff1c7dc4c0..c7a55bf0b14 100644 --- a/aiplatform/v1/aiplatform-gen.go +++ b/aiplatform/v1/aiplatform-gen.go @@ -1351,6 +1351,8 @@ type CloudAiLargeModelsVisionFilteredText struct { // "DANGEROUS_CONTENT" - Text category from SafetyCat v3 // "RECITATION_TEXT" // "CELEBRITY_IMG" + // "WATERMARK_IMG_REMOVAL" - Error message when user attempts to remove + // watermark from editing image Category string `json:"category,omitempty"` // Confidence: Filtered category // @@ -1787,12 +1789,12 @@ type CloudAiNlLlmProtoServiceCandidate struct { // "FINISH_REASON_RECITATION" - The token generation was stopped as the // response was flagged for unauthorized citations. // "FINISH_REASON_OTHER" - All other reasons that stopped the token - // generation. + // generation (currently only language filter). // "FINISH_REASON_BLOCKLIST" - The token generation was stopped as the // response was flagged for the terms which are included from the terminology // blocklist. // "FINISH_REASON_PROHIBITED_CONTENT" - The token generation was stopped as - // the response was flagged for the prohibited contents. + // the response was flagged for the prohibited contents (currently only CSAM). // "FINISH_REASON_SPII" - The token generation was stopped as the response // was flagged for Sensitive Personally Identifiable Information (SPII) // contents. @@ -2218,10 +2220,12 @@ type CloudAiNlLlmProtoServicePromptFeedback struct { // Possible values: // "BLOCKED_REASON_UNSPECIFIED" - Unspecified blocked reason. // "SAFETY" - Candidates blocked due to safety. - // "OTHER" - Candidates blocked due to other reason. + // "OTHER" - Candidates blocked due to other reason (currently only language + // filter). // "BLOCKLIST" - Candidates blocked due to the terms which are included from // the terminology blocklist. - // "PROHIBITED_CONTENT" - Candidates blocked due to prohibited content. + // "PROHIBITED_CONTENT" - Candidates blocked due to prohibited content + // (currently only CSAM). BlockReason string `json:"blockReason,omitempty"` // BlockReasonMessage: A readable block reason message. BlockReasonMessage string `json:"blockReasonMessage,omitempty"` @@ -10515,6 +10519,8 @@ type GoogleCloudAiplatformV1FindNeighborsRequestQuery struct { // crowding_attribute. It's used for improving result diversity. This field is // the maximum number of matches with the same crowding tag. PerCrowdingAttributeNeighborCount int64 `json:"perCrowdingAttributeNeighborCount,omitempty"` + // Rrf: Optional. Represents RRF algorithm that combines search results. + Rrf *GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF `json:"rrf,omitempty"` // ForceSendFields is a list of field names (e.g. "ApproximateNeighborCount") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -10547,6 +10553,45 @@ func (s *GoogleCloudAiplatformV1FindNeighborsRequestQuery) UnmarshalJSON(data [] return nil } +// GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF: Parameters for RRF +// algorithm that combines search results. +type GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF struct { + // Alpha: Required. Users can provide an alpha value to give more weight to + // dense vs sparse results. For example, if the alpha is 0, we only return + // sparse and if the alpha is 1, we only return dense. + Alpha float64 `json:"alpha,omitempty"` + // ForceSendFields is a list of field names (e.g. "Alpha") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Alpha") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudAiplatformV1FindNeighborsRequestQueryRRF + var s1 struct { + Alpha gensupport.JSONFloat64 `json:"alpha"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Alpha = float64(s1.Alpha) + return nil +} + // GoogleCloudAiplatformV1FindNeighborsResponse: The response message for // MatchService.FindNeighbors. type GoogleCloudAiplatformV1FindNeighborsResponse struct { @@ -10607,6 +10652,9 @@ type GoogleCloudAiplatformV1FindNeighborsResponseNeighbor struct { Datapoint *GoogleCloudAiplatformV1IndexDatapoint `json:"datapoint,omitempty"` // Distance: The distance between the neighbor and the dense embedding query. Distance float64 `json:"distance,omitempty"` + // SparseDistance: The distance between the neighbor and the query + // sparse_embedding. + SparseDistance float64 `json:"sparseDistance,omitempty"` // ForceSendFields is a list of field names (e.g. "Datapoint") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -10628,7 +10676,8 @@ func (s *GoogleCloudAiplatformV1FindNeighborsResponseNeighbor) MarshalJSON() ([] func (s *GoogleCloudAiplatformV1FindNeighborsResponseNeighbor) UnmarshalJSON(data []byte) error { type NoMethod GoogleCloudAiplatformV1FindNeighborsResponseNeighbor var s1 struct { - Distance gensupport.JSONFloat64 `json:"distance"` + Distance gensupport.JSONFloat64 `json:"distance"` + SparseDistance gensupport.JSONFloat64 `json:"sparseDistance"` *NoMethod } s1.NoMethod = (*NoMethod)(s) @@ -10636,6 +10685,7 @@ func (s *GoogleCloudAiplatformV1FindNeighborsResponseNeighbor) UnmarshalJSON(dat return err } s.Distance = float64(s1.Distance) + s.SparseDistance = float64(s1.SparseDistance) return nil } @@ -11620,6 +11670,8 @@ type GoogleCloudAiplatformV1IndexDatapoint struct { // the database eligible for matching. This uses categorical tokens. See: // https://cloud.google.com/vertex-ai/docs/matching-engine/filtering Restricts []*GoogleCloudAiplatformV1IndexDatapointRestriction `json:"restricts,omitempty"` + // SparseEmbedding: Optional. Feature embedding vector for sparse index. + SparseEmbedding *GoogleCloudAiplatformV1IndexDatapointSparseEmbedding `json:"sparseEmbedding,omitempty"` // ForceSendFields is a list of field names (e.g. "CrowdingTag") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -11770,6 +11822,50 @@ func (s *GoogleCloudAiplatformV1IndexDatapointRestriction) MarshalJSON() ([]byte return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +// GoogleCloudAiplatformV1IndexDatapointSparseEmbedding: Feature embedding +// vector for sparse index. An array of numbers whose values are located in the +// specified dimensions. +type GoogleCloudAiplatformV1IndexDatapointSparseEmbedding struct { + // Dimensions: Optional. The list of indexes for the embedding values of the + // sparse vector. + Dimensions googleapi.Int64s `json:"dimensions,omitempty"` + // Values: Optional. The list of embedding values of the sparse vector. + Values []float64 `json:"values,omitempty"` + // ForceSendFields is a list of field names (e.g. "Dimensions") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Dimensions") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1IndexDatapointSparseEmbedding) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1IndexDatapointSparseEmbedding + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudAiplatformV1IndexDatapointSparseEmbedding) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudAiplatformV1IndexDatapointSparseEmbedding + var s1 struct { + Values []gensupport.JSONFloat64 `json:"values"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Values = make([]float64, len(s1.Values)) + for i := range s1.Values { + s.Values[i] = float64(s1.Values[i]) + } + return nil +} + // GoogleCloudAiplatformV1IndexEndpoint: Indexes are deployed into it. An // IndexEndpoint can have multiple DeployedIndexes. type GoogleCloudAiplatformV1IndexEndpoint struct { @@ -11884,6 +11980,8 @@ func (s *GoogleCloudAiplatformV1IndexPrivateEndpoints) MarshalJSON() ([]byte, er type GoogleCloudAiplatformV1IndexStats struct { // ShardsCount: Output only. The number of shards in the Index. ShardsCount int64 `json:"shardsCount,omitempty"` + // SparseVectorsCount: Output only. The number of sparse vectors in the Index. + SparseVectorsCount int64 `json:"sparseVectorsCount,omitempty,string"` // VectorsCount: Output only. The number of dense vectors in the Index. VectorsCount int64 `json:"vectorsCount,omitempty,string"` // ForceSendFields is a list of field names (e.g. "ShardsCount") to @@ -16496,7 +16594,9 @@ type GoogleCloudAiplatformV1NearestNeighborSearchOperationMetadataRecordError st // "INVALID_NUMERIC_VALUE" - Numeric restrict has invalid numeric value // specified. // "INVALID_ENCODING" - File is not in UTF_8 format. + // "INVALID_SPARSE_DIMENSIONS" - Error parsing sparse dimensions field. // "INVALID_TOKEN_VALUE" - Token restrict value is invalid. + // "INVALID_SPARSE_EMBEDDING" - Invalid sparse embedding. ErrorType string `json:"errorType,omitempty"` // RawRecord: The original content of this record. RawRecord string `json:"rawRecord,omitempty"` @@ -16936,7 +17036,7 @@ type GoogleCloudAiplatformV1NotebookRuntimeTemplate struct { // MachineSpec: Optional. Immutable. The specification of a single machine for // the template. MachineSpec *GoogleCloudAiplatformV1MachineSpec `json:"machineSpec,omitempty"` - // Name: Output only. The resource name of the NotebookRuntimeTemplate. + // Name: The resource name of the NotebookRuntimeTemplate. Name string `json:"name,omitempty"` // NetworkSpec: Optional. Network spec. NetworkSpec *GoogleCloudAiplatformV1NetworkSpec `json:"networkSpec,omitempty"` @@ -27911,9 +28011,11 @@ type GoogleCloudAiplatformV1SupervisedHyperParameters struct { // "ADAPTER_SIZE_EIGHT" - Adapter size 8. // "ADAPTER_SIZE_SIXTEEN" - Adapter size 16. AdapterSize string `json:"adapterSize,omitempty"` - // EpochCount: Optional. Number of training epoches for this tuning job. + // EpochCount: Optional. Number of complete passes the model makes over the + // entire training dataset during training. EpochCount int64 `json:"epochCount,omitempty,string"` - // LearningRateMultiplier: Optional. Learning rate multiplier for tuning. + // LearningRateMultiplier: Optional. Multiplier for adjusting the default + // learning rate. LearningRateMultiplier float64 `json:"learningRateMultiplier,omitempty"` // ForceSendFields is a list of field names (e.g. "AdapterSize") to // unconditionally include in API requests. By default, fields with empty or @@ -28104,10 +28206,11 @@ type GoogleCloudAiplatformV1SupervisedTuningSpec struct { // HyperParameters: Optional. Hyperparameters for SFT. HyperParameters *GoogleCloudAiplatformV1SupervisedHyperParameters `json:"hyperParameters,omitempty"` // TrainingDatasetUri: Required. Cloud Storage path to file containing training - // dataset for tuning. + // dataset for tuning. The dataset must be formatted as a JSONL file. TrainingDatasetUri string `json:"trainingDatasetUri,omitempty"` // ValidationDatasetUri: Optional. Cloud Storage path to file containing - // validation dataset for tuning. + // validation dataset for tuning. The dataset must be formatted as a JSONL + // file. ValidationDatasetUri string `json:"validationDatasetUri,omitempty"` // ForceSendFields is a list of field names (e.g. "HyperParameters") to // unconditionally include in API requests. By default, fields with empty or @@ -29196,7 +29299,7 @@ func (s *GoogleCloudAiplatformV1TuningDataStats) MarshalJSON() ([]byte, error) { // GoogleCloudAiplatformV1TuningJob: Represents a TuningJob that runs with // Google owned models. type GoogleCloudAiplatformV1TuningJob struct { - // BaseModel: Model name for tuning, e.g., "gemini-1.0-pro-002". + // BaseModel: The base model that is being tuned, e.g., "gemini-1.0-pro-002". BaseModel string `json:"baseModel,omitempty"` // CreateTime: Output only. Time when the TuningJob was created. CreateTime string `json:"createTime,omitempty"` @@ -31475,6 +31578,13 @@ type LanguageLabsAidaTrustRecitationProtoDocAttribution struct { // "GEMINI_V2_TAIL_PATCH_PMC" - Gemini V2 only tail patch. // "GEMINI_V2_TAIL_PATCH_VOXPOPULI" // "GEMINI_V2_TAIL_PATCH_FLEURS" + // "GEMINI_V2_SSFS" - Gemini V2 rev10 + // "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR" + // "GEMINI_V2_SQL_REPAIR_SFT" + // "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION" + // "YT_CONTENT_INSPIRATION" - Youtube Content Inpsiration. Dataset string `json:"dataset,omitempty"` Filepath string `json:"filepath,omitempty"` GeminiId string `json:"geminiId,omitempty"` @@ -32035,6 +32145,13 @@ type LanguageLabsAidaTrustRecitationProtoSegmentResult struct { // "GEMINI_V2_TAIL_PATCH_PMC" - Gemini V2 only tail patch. // "GEMINI_V2_TAIL_PATCH_VOXPOPULI" // "GEMINI_V2_TAIL_PATCH_FLEURS" + // "GEMINI_V2_SSFS" - Gemini V2 rev10 + // "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR" + // "GEMINI_V2_SQL_REPAIR_SFT" + // "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION" + // "YT_CONTENT_INSPIRATION" - Youtube Content Inpsiration. AttributionDataset string `json:"attributionDataset,omitempty"` // DisplayAttributionMessage: human-friendly string that contains information // from doc_attribution which could be shown by clients @@ -32603,6 +32720,13 @@ type LearningGenaiRecitationDocAttribution struct { // "GEMINI_V2_TAIL_PATCH_PMC" - Gemini V2 only tail patch. // "GEMINI_V2_TAIL_PATCH_VOXPOPULI" // "GEMINI_V2_TAIL_PATCH_FLEURS" + // "GEMINI_V2_SSFS" - Gemini V2 rev10 + // "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR" + // "GEMINI_V2_SQL_REPAIR_SFT" + // "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION" + // "YT_CONTENT_INSPIRATION" - Youtube Content Inspiration FT datasets. Dataset string `json:"dataset,omitempty"` Filepath string `json:"filepath,omitempty"` GeminiId string `json:"geminiId,omitempty"` @@ -33162,6 +33286,13 @@ type LearningGenaiRecitationSegmentResult struct { // "GEMINI_V2_TAIL_PATCH_PMC" - Gemini V2 only tail patch. // "GEMINI_V2_TAIL_PATCH_VOXPOPULI" // "GEMINI_V2_TAIL_PATCH_FLEURS" + // "GEMINI_V2_SSFS" - Gemini V2 rev10 + // "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR" + // "GEMINI_V2_SQL_REPAIR_SFT" + // "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION" + // "YT_CONTENT_INSPIRATION" - Youtube Content Inspiration FT datasets. AttributionDataset string `json:"attributionDataset,omitempty"` // DisplayAttributionMessage: human-friendly string that contains information // from doc_attribution which could be shown by clients @@ -34967,9 +35098,36 @@ func (s *LearningGenaiRootTranslationRequestInfo) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +type LearningServingLlmAtlasOutputMetadata struct { + RequestTopic string `json:"requestTopic,omitempty"` + // Possible values: + // "UNKNOWN" + // "FACTUALITY" + // "INFOBOT" + // "LLM" + Source string `json:"source,omitempty"` + // ForceSendFields is a list of field names (e.g. "RequestTopic") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RequestTopic") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *LearningServingLlmAtlasOutputMetadata) MarshalJSON() ([]byte, error) { + type NoMethod LearningServingLlmAtlasOutputMetadata + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + // LearningServingLlmMessageMetadata: LINT.IfChange This metadata contains -// additional information required for debugging. +// additional information required for debugging. Next ID: 28 type LearningServingLlmMessageMetadata struct { + AtlasMetadata *LearningServingLlmAtlasOutputMetadata `json:"atlasMetadata,omitempty"` // ClassifierSummary: Summary of classifier output. We attach this to all // messages regardless of whether classification rules triggered or not. ClassifierSummary *LearningGenaiRootClassifierOutputSummary `json:"classifierSummary,omitempty"` @@ -35012,11 +35170,15 @@ type LearningServingLlmMessageMetadata struct { // OriginalText: The original text generated by LLM. This is the raw output for // debugging purposes. OriginalText string `json:"originalText,omitempty"` - // PerStreamDecodedTokenCount: NOT YET IMPLEMENTED. Applies to streaming only. - // Number of tokens decoded / emitted by the model as part of this stream. This - // may be different from token_count, which contains number of tokens returned - // in this response after any response rewriting / truncation. + // PerStreamDecodedTokenCount: Number of tokens decoded by the model as part of + // a stream. This count may be different from `per_stream_returned_token_count` + // which, is counted after any response rewriting or truncation. Applies to + // streaming response only. PerStreamDecodedTokenCount int64 `json:"perStreamDecodedTokenCount,omitempty"` + // PerStreamReturnedTokenCount: Number of tokens returned per stream in a + // response candidate after any response rewriting or truncation. Applies to + // streaming response only. Applies to Gemini models only. + PerStreamReturnedTokenCount int64 `json:"perStreamReturnedTokenCount,omitempty"` // RaiOutputs: Results of running RAI on the query or this response candidate. // One output per rai_config. It will be populated regardless of whether the // threshold is exceeded or not. @@ -35024,8 +35186,9 @@ type LearningServingLlmMessageMetadata struct { // RecitationResult: Recitation Results. It will be populated as long as // Recitation processing is enabled, regardless of recitation outcome. RecitationResult *LearningGenaiRecitationRecitationResult `json:"recitationResult,omitempty"` - // ReturnTokenCount: NOT YET IMPLEMENTED. Number of tokens returned as part of - // this candidate. + // ReturnTokenCount: NOT IMPLEMENTED TODO (b/334187574) Remove this field after + // Labs migrates to per_stream_returned_token_count and + // total_returned_token_count. ReturnTokenCount int64 `json:"returnTokenCount,omitempty"` // Scores: All the different scores for a message are logged here. Scores []*LearningGenaiRootScore `json:"scores,omitempty"` @@ -35036,6 +35199,10 @@ type LearningServingLlmMessageMetadata struct { // For streaming: Count of all the tokens decoded so far (aggregated count). // For unary: Count of all the tokens decoded per response_candidate. TotalDecodedTokenCount int64 `json:"totalDecodedTokenCount,omitempty"` + // TotalReturnedTokenCount: Total number of tokens returned in a response + // candidate. For streaming, it is the aggregated count (i.e. total so far) + // Applies to Gemini models only. + TotalReturnedTokenCount int64 `json:"totalReturnedTokenCount,omitempty"` // TranslatedUserPrompts: Translated user-prompt used for RAI post processing. // This is for internal processing only. We will translate in pre-processor and // pass the translated text to the post processor using this field. It will be @@ -35043,15 +35210,15 @@ type LearningServingLlmMessageMetadata struct { TranslatedUserPrompts []string `json:"translatedUserPrompts,omitempty"` // VertexRaiResult: The metadata from Vertex SafetyCat processors VertexRaiResult *CloudAiNlLlmProtoServiceRaiResult `json:"vertexRaiResult,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClassifierSummary") to + // ForceSendFields is a list of field names (e.g. "AtlasMetadata") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ClassifierSummary") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "AtlasMetadata") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } diff --git a/aiplatform/v1beta1/aiplatform-api.json b/aiplatform/v1beta1/aiplatform-api.json index 4d6f80a9971..73b4867be15 100644 --- a/aiplatform/v1beta1/aiplatform-api.json +++ b/aiplatform/v1beta1/aiplatform-api.json @@ -305,6 +305,50 @@ }, "protocol": "rest", "resources": { + "media": { + "methods": { + "upload": { + "description": "Upload a file into a RagCorpus.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:upload", + "httpMethod": "POST", + "id": "aiplatform.media.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v1beta1/{+parent}/ragFiles:upload" + } + } + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the RagCorpus resource into which to upload the file. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/ragFiles:upload", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1UploadRagFileRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1beta1UploadRagFileResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "supportsMediaUpload": true + } + } + }, "projects": { "methods": { "getCacheConfig": { @@ -457,6 +501,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "retrieveContexts": { + "description": "Retrieves relevant contexts for a query.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:retrieveContexts", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.retrieveContexts", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Location from which to retrieve RagContexts. The users must have permission to make a call in the project. Format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}:retrieveContexts", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1RetrieveContextsRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1beta1RetrieveContextsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -14964,6 +15036,127 @@ } }, "ragCorpora": { + "methods": { + "create": { + "description": "Creates a RagCorpus.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.ragCorpora.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to create the RagCorpus in. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/ragCorpora", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1RagCorpus" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a RagCorpus.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.ragCorpora.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Optional. If set to true, any RagFiles in this RagCorpus will also be deleted. Otherwise, the request will only work if the RagCorpus has no RagFiles.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the RagCorpus resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a RagCorpus.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.ragCorpora.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the RagCorpus resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleCloudAiplatformV1beta1RagCorpus" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists RagCorpora in a Location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.ragCorpora.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The standard list page token. Typically obtained via ListRagCorporaResponse.next_page_token of the previous VertexRagDataService.ListRagCorpora call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the Location from which to list the RagCorpora. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/ragCorpora", + "response": { + "$ref": "GoogleCloudAiplatformV1beta1ListRagCorporaResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "operations": { "methods": { @@ -15117,6 +15310,122 @@ } }, "ragFiles": { + "methods": { + "delete": { + "description": "Deletes a RagFile.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the RagFile resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a RagFile.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the RagFile resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleCloudAiplatformV1beta1RagFile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "import": { + "description": "Import files from Google Cloud Storage or Google Drive into a RagCorpus.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:import", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the RagCorpus resource into which to import files. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/ragFiles:import", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1ImportRagFilesRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists RagFiles in a RagCorpus.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The standard list page token. Typically obtained via ListRagFilesResponse.next_page_token of the previous VertexRagDataService.ListRagFiles call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the RagCorpus from which to list the RagFiles. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/ragFiles", + "response": { + "$ref": "GoogleCloudAiplatformV1beta1ListRagFilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "operations": { "methods": { @@ -19126,7 +19435,7 @@ } } }, - "revision": "20240429", + "revision": "20240501", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionEmbedVideoResponse": { @@ -19184,7 +19493,8 @@ "CHILD_TEXT", "DANGEROUS_CONTENT", "RECITATION_TEXT", - "CELEBRITY_IMG" + "CELEBRITY_IMG", + "WATERMARK_IMG_REMOVAL" ], "enumDescriptions": [ "", @@ -19221,7 +19531,8 @@ "", "Text category from SafetyCat v3", "", - "" + "", + "Error message when user attempts to remove watermark from editing image" ], "type": "string" }, @@ -19536,9 +19847,9 @@ "The maximum number of tokens as specified in the request was reached.", "The token generation was stopped as the response was flagged for safety reasons. NOTE: When streaming the Candidate.content will be empty if content filters blocked the output.", "The token generation was stopped as the response was flagged for unauthorized citations.", - "All other reasons that stopped the token generation.", + "All other reasons that stopped the token generation (currently only language filter).", "The token generation was stopped as the response was flagged for the terms which are included from the terminology blocklist.", - "The token generation was stopped as the response was flagged for the prohibited contents.", + "The token generation was stopped as the response was flagged for the prohibited contents (currently only CSAM).", "The token generation was stopped as the response was flagged for Sensitive Personally Identifiable Information (SPII) contents." ], "type": "string" @@ -19883,9 +20194,9 @@ "enumDescriptions": [ "Unspecified blocked reason.", "Candidates blocked due to safety.", - "Candidates blocked due to other reason.", + "Candidates blocked due to other reason (currently only language filter).", "Candidates blocked due to the terms which are included from the terminology blocklist.", - "Candidates blocked due to prohibited content." + "Candidates blocked due to prohibited content (currently only CSAM)." ], "type": "string" }, @@ -22401,6 +22712,25 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobRequest": { + "description": "Request message for [NotebookService.CreateNotebookExecutionJob]", + "id": "GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobRequest", + "properties": { + "notebookExecutionJob": { + "$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJob", + "description": "Required. The NotebookExecutionJob to create." + }, + "notebookExecutionJobId": { + "description": "Optional. User specified ID for the NotebookExecutionJob.", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the Location to create the NotebookExecutionJob. Format: `projects/{project}/locations/{location}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1CreateNotebookRuntimeTemplateOperationMetadata": { "description": "Metadata information for NotebookService.CreateNotebookRuntimeTemplate.", "id": "GoogleCloudAiplatformV1beta1CreateNotebookRuntimeTemplateOperationMetadata", @@ -23574,6 +23904,12 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1DirectUploadSource": { + "description": "The input content is encapsulated and uploaded in the request.", + "id": "GoogleCloudAiplatformV1beta1DirectUploadSource", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1beta1DiskSpec": { "description": "Represents the spec of disk options.", "id": "GoogleCloudAiplatformV1beta1DiskSpec", @@ -26517,6 +26853,22 @@ "description": "Crowding is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowding_attribute. It's used for improving result diversity. This field is the maximum number of matches with the same crowding tag.", "format": "int32", "type": "integer" + }, + "rrf": { + "$ref": "GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF", + "description": "Optional. Represents RRF algorithm that combines search results." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF": { + "description": "Parameters for RRF algorithm that combines search results.", + "id": "GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF", + "properties": { + "alpha": { + "description": "Required. Users can provide an alpha value to give more weight to dense vs sparse results. For example, if the alpha is 0, we only return sparse and if the alpha is 1, we only return dense.", + "format": "float", + "type": "number" } }, "type": "object" @@ -26565,6 +26917,11 @@ "description": "The distance between the neighbor and the dense embedding query.", "format": "double", "type": "number" + }, + "sparseDistance": { + "description": "The distance between the neighbor and the query sparse_embedding.", + "format": "double", + "type": "number" } }, "type": "object" @@ -27085,6 +27442,45 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1GoogleDriveSource": { + "description": "The Google Drive location for the input content.", + "id": "GoogleCloudAiplatformV1beta1GoogleDriveSource", + "properties": { + "resourceIds": { + "description": "Required. Google Drive resource IDs.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceId" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceId": { + "description": "The type and ID of the Google Drive resource.", + "id": "GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceId", + "properties": { + "resourceId": { + "description": "Required. The ID of the Google Drive resource.", + "type": "string" + }, + "resourceType": { + "description": "Required. The type of the Google Drive resource.", + "enum": [ + "RESOURCE_TYPE_UNSPECIFIED", + "RESOURCE_TYPE_FILE", + "RESOURCE_TYPE_FOLDER" + ], + "enumDescriptions": [ + "Unspecified resource type.", + "File resource type.", + "Folder resource type." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1GroundednessInput": { "description": "Input for groundedness metric.", "id": "GoogleCloudAiplatformV1beta1GroundednessInput", @@ -27529,6 +27925,36 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ImportRagFilesConfig": { + "description": "Config for importing RagFiles.", + "id": "GoogleCloudAiplatformV1beta1ImportRagFilesConfig", + "properties": { + "gcsSource": { + "$ref": "GoogleCloudAiplatformV1beta1GcsSource", + "description": "Google Cloud Storage location. Supports importing individual files as well as entire Google Cloud Storage directories. Sample formats: - `gs://bucket_name/my_directory/object_name/my_file.txt` - `gs://bucket_name/my_directory`" + }, + "googleDriveSource": { + "$ref": "GoogleCloudAiplatformV1beta1GoogleDriveSource", + "description": "Google Drive location. Supports importing individual files as well as Google Drive folders." + }, + "ragFileChunkingConfig": { + "$ref": "GoogleCloudAiplatformV1beta1RagFileChunkingConfig", + "description": "Specifies the size and overlap of chunks after importing RagFiles." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1ImportRagFilesRequest": { + "description": "Request message for VertexRagDataService.ImportRagFiles.", + "id": "GoogleCloudAiplatformV1beta1ImportRagFilesRequest", + "properties": { + "importRagFilesConfig": { + "$ref": "GoogleCloudAiplatformV1beta1ImportRagFilesConfig", + "description": "Required. The config for the RagFiles to be synced and imported into the RagCorpus. VertexRagDataService.ImportRagFiles." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1Index": { "description": "A representation of a collection of database items organized in a way that allows for approximate nearest neighbor (a.k.a ANN) algorithms search.", "id": "GoogleCloudAiplatformV1beta1Index", @@ -27644,6 +28070,10 @@ "$ref": "GoogleCloudAiplatformV1beta1IndexDatapointRestriction" }, "type": "array" + }, + "sparseEmbedding": { + "$ref": "GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding", + "description": "Optional. Feature embedding vector for sparse index." } }, "type": "object" @@ -27732,6 +28162,29 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding": { + "description": "Feature embedding vector for sparse index. An array of numbers whose values are located in the specified dimensions.", + "id": "GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding", + "properties": { + "dimensions": { + "description": "Optional. The list of indexes for the embedding values of the sparse vector.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "values": { + "description": "Optional. The list of embedding values of the sparse vector.", + "items": { + "format": "float", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1IndexEndpoint": { "description": "Indexes are deployed into it. An IndexEndpoint can have multiple DeployedIndexes.", "id": "GoogleCloudAiplatformV1beta1IndexEndpoint", @@ -27844,6 +28297,12 @@ "readOnly": true, "type": "integer" }, + "sparseVectorsCount": { + "description": "Output only. The number of sparse vectors in the Index.", + "format": "int64", + "readOnly": true, + "type": "string" + }, "vectorsCount": { "description": "Output only. The number of dense vectors in the Index.", "format": "int64", @@ -28770,6 +29229,42 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ListRagCorporaResponse": { + "description": "Response message for VertexRagDataService.ListRagCorpora.", + "id": "GoogleCloudAiplatformV1beta1ListRagCorporaResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListRagCorporaRequest.page_token to obtain that page.", + "type": "string" + }, + "ragCorpora": { + "description": "List of RagCorpora in the requested page.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1RagCorpus" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1ListRagFilesResponse": { + "description": "Response message for VertexRagDataService.ListRagFiles.", + "id": "GoogleCloudAiplatformV1beta1ListRagFilesResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListRagFilesRequest.page_token to obtain that page.", + "type": "string" + }, + "ragFiles": { + "description": "List of RagFiles in the requested page.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1RagFile" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ListReasoningEnginesResponse": { "description": "Response message for ReasoningEngineService.ListReasoningEngines", "id": "GoogleCloudAiplatformV1beta1ListReasoningEnginesResponse", @@ -31883,7 +32378,9 @@ "MULTIPLE_VALUES", "INVALID_NUMERIC_VALUE", "INVALID_ENCODING", - "INVALID_TOKEN_VALUE" + "INVALID_SPARSE_DIMENSIONS", + "INVALID_TOKEN_VALUE", + "INVALID_SPARSE_EMBEDDING" ], "enumDescriptions": [ "Default, shall not be used.", @@ -31900,7 +32397,9 @@ "Numeric restrict has multiple values specified.", "Numeric restrict has invalid numeric value specified.", "File is not in UTF_8 format.", - "Token restrict value is invalid." + "Error parsing sparse dimensions field.", + "Token restrict value is invalid.", + "Invalid sparse embedding." ], "type": "string" }, @@ -32432,8 +32931,7 @@ "description": "Optional. Immutable. The specification of a single machine for the template." }, "name": { - "description": "Output only. The resource name of the NotebookRuntimeTemplate.", - "readOnly": true, + "description": "The resource name of the NotebookRuntimeTemplate.", "type": "string" }, "networkSpec": { @@ -34483,6 +34981,173 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1RagContexts": { + "description": "Relevant contexts for one query.", + "id": "GoogleCloudAiplatformV1beta1RagContexts", + "properties": { + "contexts": { + "description": "All its contexts.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1RagContextsContext" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagContextsContext": { + "description": "A context of the query.", + "id": "GoogleCloudAiplatformV1beta1RagContextsContext", + "properties": { + "distance": { + "description": "The distance between the query vector and the context text vector.", + "format": "double", + "type": "number" + }, + "sourceUri": { + "description": "For vertex RagStore, if the file is imported from Cloud Storage or Google Drive, source_uri will be original file URI in Cloud Storage or Google Drive; if file is uploaded, source_uri will be file display name.", + "type": "string" + }, + "text": { + "description": "The text chunk.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagCorpus": { + "description": "A RagCorpus is a RagFile container and a project can have multiple RagCorpora.", + "id": "GoogleCloudAiplatformV1beta1RagCorpus", + "properties": { + "createTime": { + "description": "Output only. Timestamp when this RagCorpus was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the RagCorpus.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the RagCorpus. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the RagCorpus.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when this RagCorpus was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagFile": { + "description": "A RagFile contains user data for chunking, embedding and indexing.", + "id": "GoogleCloudAiplatformV1beta1RagFile", + "properties": { + "createTime": { + "description": "Output only. Timestamp when this RagFile was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the RagFile.", + "type": "string" + }, + "directUploadSource": { + "$ref": "GoogleCloudAiplatformV1beta1DirectUploadSource", + "description": "Output only. The RagFile is encapsulated and uploaded in the UploadRagFile request.", + "readOnly": true + }, + "displayName": { + "description": "Required. The display name of the RagFile. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "gcsSource": { + "$ref": "GoogleCloudAiplatformV1beta1GcsSource", + "description": "Output only. Google Cloud Storage location of the RagFile. It does not support wildcards in the Cloud Storage uri for now.", + "readOnly": true + }, + "googleDriveSource": { + "$ref": "GoogleCloudAiplatformV1beta1GoogleDriveSource", + "description": "Output only. Google Drive location. Supports importing individual files as well as Google Drive folders.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name of the RagFile.", + "readOnly": true, + "type": "string" + }, + "ragFileType": { + "description": "Output only. The type of the RagFile.", + "enum": [ + "RAG_FILE_TYPE_UNSPECIFIED", + "RAG_FILE_TYPE_TXT", + "RAG_FILE_TYPE_PDF" + ], + "enumDescriptions": [ + "RagFile type is unspecified.", + "RagFile type is TXT.", + "RagFile type is PDF." + ], + "readOnly": true, + "type": "string" + }, + "sizeBytes": { + "description": "Output only. The size of the RagFile in bytes.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when this RagFile was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagFileChunkingConfig": { + "description": "Specifies the size and overlap of chunks for RagFiles.", + "id": "GoogleCloudAiplatformV1beta1RagFileChunkingConfig", + "properties": { + "chunkOverlap": { + "description": "The overlap between chunks.", + "format": "int32", + "type": "integer" + }, + "chunkSize": { + "description": "The size of the chunks.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagQuery": { + "description": "A query to retrieve relevant contexts.", + "id": "GoogleCloudAiplatformV1beta1RagQuery", + "properties": { + "similarityTopK": { + "description": "Optional. The number of contexts to retrieve.", + "format": "int32", + "type": "integer" + }, + "text": { + "description": "Optional. The query in text format to get relevant contexts.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1RawPredictRequest": { "description": "Request message for PredictionService.RawPredict.", "id": "GoogleCloudAiplatformV1beta1RawPredictRequest", @@ -35122,6 +35787,77 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1RetrieveContextsRequest": { + "description": "Request message for VertexRagService.RetrieveContexts.", + "id": "GoogleCloudAiplatformV1beta1RetrieveContextsRequest", + "properties": { + "query": { + "$ref": "GoogleCloudAiplatformV1beta1RagQuery", + "description": "Required. Single RAG retrieve query." + }, + "vertexRagStore": { + "$ref": "GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore", + "description": "The data source for Vertex RagStore." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore": { + "description": "The data source for Vertex RagStore.", + "id": "GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore", + "properties": { + "ragCorpora": { + "deprecated": true, + "description": "Optional. Deprecated. Please use rag_resources to specify the data source.", + "items": { + "type": "string" + }, + "type": "array" + }, + "ragResources": { + "description": "Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStoreRagResource" + }, + "type": "array" + }, + "vectorDistanceThreshold": { + "description": "Optional. Only return contexts with vector distance smaller than the threshold.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStoreRagResource": { + "description": "The definition of the Rag resource.", + "id": "GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStoreRagResource", + "properties": { + "ragCorpus": { + "description": "Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "type": "string" + }, + "ragFileIds": { + "description": "Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RetrieveContextsResponse": { + "description": "Response message for VertexRagService.RetrieveContexts.", + "id": "GoogleCloudAiplatformV1beta1RetrieveContextsResponse", + "properties": { + "contexts": { + "$ref": "GoogleCloudAiplatformV1beta1RagContexts", + "description": "The contexts of the query." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1RougeInput": { "description": "Input for rouge metric.", "id": "GoogleCloudAiplatformV1beta1RougeInput", @@ -35242,8 +35978,13 @@ "GoogleCloudAiplatformV1beta1RuntimeConfigVertexAISearchRuntimeConfig": { "id": "GoogleCloudAiplatformV1beta1RuntimeConfigVertexAISearchRuntimeConfig", "properties": { + "appId": { + "description": "Vertex AI Search App ID. This is used to construct the search request. By setting this app_id, API will construct the serving config which is required to call search API for the user. The app_id and serving_config_name cannot both be empty at the same time.", + "type": "string" + }, "servingConfigName": { - "description": "Required. Vertext AI Search serving config name. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}`", + "deprecated": true, + "description": "[Deprecated] Please use app_id instead. Vertex AI Search serving config name. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}`", "type": "string" } }, @@ -35598,6 +36339,10 @@ "$ref": "GoogleCloudAiplatformV1beta1CreateModelMonitoringJobRequest", "description": "Request for ModelMonitoringService.CreateModelMonitoringJob." }, + "createNotebookExecutionJobRequest": { + "$ref": "GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobRequest", + "description": "Request for NotebookService.CreateNotebookExecutionJob." + }, "createPipelineJobRequest": { "$ref": "GoogleCloudAiplatformV1beta1CreatePipelineJobRequest", "description": "Request for PipelineService.CreatePipelineJob. CreatePipelineJobRequest.parent field is required (format: projects/{project}/locations/{location})." @@ -42481,6 +43226,47 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1UploadRagFileConfig": { + "description": "Config for uploading RagFile.", + "id": "GoogleCloudAiplatformV1beta1UploadRagFileConfig", + "properties": { + "ragFileChunkingConfig": { + "$ref": "GoogleCloudAiplatformV1beta1RagFileChunkingConfig", + "description": "Specifies the size and overlap of chunks after uploading RagFile." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1UploadRagFileRequest": { + "description": "Request message for VertexRagDataService.UploadRagFile.", + "id": "GoogleCloudAiplatformV1beta1UploadRagFileRequest", + "properties": { + "ragFile": { + "$ref": "GoogleCloudAiplatformV1beta1RagFile", + "description": "Required. The RagFile to upload." + }, + "uploadRagFileConfig": { + "$ref": "GoogleCloudAiplatformV1beta1UploadRagFileConfig", + "description": "Required. The config for the RagFiles to be uploaded into the RagCorpus. VertexRagDataService.UploadRagFile." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1UploadRagFileResponse": { + "description": "Response message for VertexRagDataService.UploadRagFile.", + "id": "GoogleCloudAiplatformV1beta1UploadRagFileResponse", + "properties": { + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error that occurred while processing the RagFile." + }, + "ragFile": { + "$ref": "GoogleCloudAiplatformV1beta1RagFile", + "description": "The RagFile that had been uploaded into the RagCorpus." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1UpsertDatapointsRequest": { "description": "Request message for IndexService.UpsertDatapoints", "id": "GoogleCloudAiplatformV1beta1UpsertDatapointsRequest", @@ -42562,12 +43348,19 @@ "id": "GoogleCloudAiplatformV1beta1VertexRagStore", "properties": { "ragCorpora": { - "description": "Required. Vertex RAG Store corpus resource name: `projects/{project}/locations/{location}/ragCorpora/{ragCorpus}` Currently only one corpus is allowed. In the future we may open up multiple corpora support. However, they should be from the same project and location.", + "description": "Optional. Deprecated. Please use rag_resources instead.", "items": { "type": "string" }, "type": "array" }, + "ragResources": { + "description": "Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1VertexRagStoreRagResource" + }, + "type": "array" + }, "similarityTopK": { "description": "Optional. Number of top k results to return from the selected corpora.", "format": "int32", @@ -42581,6 +43374,24 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1VertexRagStoreRagResource": { + "description": "The definition of the Rag resource.", + "id": "GoogleCloudAiplatformV1beta1VertexRagStoreRagResource", + "properties": { + "ragCorpus": { + "description": "Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "type": "string" + }, + "ragFileIds": { + "description": "Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1VideoMetadata": { "description": "Metadata describes the input video content.", "id": "GoogleCloudAiplatformV1beta1VideoMetadata", @@ -43551,7 +44362,14 @@ "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE", "GEMINI_V2_TAIL_PATCH_PMC", "GEMINI_V2_TAIL_PATCH_VOXPOPULI", - "GEMINI_V2_TAIL_PATCH_FLEURS" + "GEMINI_V2_TAIL_PATCH_FLEURS", + "GEMINI_V2_SSFS", + "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR", + "GEMINI_V2_SQL_REPAIR_SFT", + "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION", + "YT_CONTENT_INSPIRATION" ], "enumDescriptions": [ "", @@ -43901,7 +44719,14 @@ "", "Gemini V2 only tail patch.", "", - "" + "", + "Gemini V2 rev10", + "", + "", + "", + "", + "", + "Youtube Content Inpsiration." ], "type": "string" }, @@ -44365,7 +45190,14 @@ "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE", "GEMINI_V2_TAIL_PATCH_PMC", "GEMINI_V2_TAIL_PATCH_VOXPOPULI", - "GEMINI_V2_TAIL_PATCH_FLEURS" + "GEMINI_V2_TAIL_PATCH_FLEURS", + "GEMINI_V2_SSFS", + "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR", + "GEMINI_V2_SQL_REPAIR_SFT", + "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION", + "YT_CONTENT_INSPIRATION" ], "enumDescriptions": [ "", @@ -44715,7 +45547,14 @@ "", "Gemini V2 only tail patch.", "", - "" + "", + "Gemini V2 rev10", + "", + "", + "", + "", + "", + "Youtube Content Inpsiration." ], "type": "string" }, @@ -45215,7 +46054,14 @@ "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE", "GEMINI_V2_TAIL_PATCH_PMC", "GEMINI_V2_TAIL_PATCH_VOXPOPULI", - "GEMINI_V2_TAIL_PATCH_FLEURS" + "GEMINI_V2_TAIL_PATCH_FLEURS", + "GEMINI_V2_SSFS", + "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR", + "GEMINI_V2_SQL_REPAIR_SFT", + "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION", + "YT_CONTENT_INSPIRATION" ], "enumDescriptions": [ "", @@ -45565,7 +46411,14 @@ "", "Gemini V2 only tail patch.", "", - "" + "", + "Gemini V2 rev10", + "", + "", + "", + "", + "", + "Youtube Content Inspiration FT datasets." ], "type": "string" }, @@ -46029,7 +46882,14 @@ "GEMINI_V2_TAIL_PATCH_OPEN_BOOKS_QA_UNANSWERABLE", "GEMINI_V2_TAIL_PATCH_PMC", "GEMINI_V2_TAIL_PATCH_VOXPOPULI", - "GEMINI_V2_TAIL_PATCH_FLEURS" + "GEMINI_V2_TAIL_PATCH_FLEURS", + "GEMINI_V2_SSFS", + "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS", + "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR", + "GEMINI_V2_SQL_REPAIR_SFT", + "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION", + "YT_CONTENT_INSPIRATION" ], "enumDescriptions": [ "", @@ -46379,7 +47239,14 @@ "", "Gemini V2 only tail patch.", "", - "" + "", + "Gemini V2 rev10", + "", + "", + "", + "", + "", + "Youtube Content Inspiration FT datasets." ], "type": "string" }, @@ -47925,10 +48792,37 @@ }, "type": "object" }, + "LearningServingLlmAtlasOutputMetadata": { + "id": "LearningServingLlmAtlasOutputMetadata", + "properties": { + "requestTopic": { + "type": "string" + }, + "source": { + "enum": [ + "UNKNOWN", + "FACTUALITY", + "INFOBOT", + "LLM" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "LearningServingLlmMessageMetadata": { - "description": "LINT.IfChange This metadata contains additional information required for debugging.", + "description": "LINT.IfChange This metadata contains additional information required for debugging. Next ID: 28", "id": "LearningServingLlmMessageMetadata", "properties": { + "atlasMetadata": { + "$ref": "LearningServingLlmAtlasOutputMetadata" + }, "classifierSummary": { "$ref": "LearningGenaiRootClassifierOutputSummary", "description": "Summary of classifier output. We attach this to all messages regardless of whether classification rules triggered or not." @@ -48004,7 +48898,12 @@ "type": "string" }, "perStreamDecodedTokenCount": { - "description": "NOT YET IMPLEMENTED. Applies to streaming only. Number of tokens decoded / emitted by the model as part of this stream. This may be different from token_count, which contains number of tokens returned in this response after any response rewriting / truncation.", + "description": "Number of tokens decoded by the model as part of a stream. This count may be different from `per_stream_returned_token_count` which, is counted after any response rewriting or truncation. Applies to streaming response only.", + "format": "int32", + "type": "integer" + }, + "perStreamReturnedTokenCount": { + "description": "Number of tokens returned per stream in a response candidate after any response rewriting or truncation. Applies to streaming response only. Applies to Gemini models only.", "format": "int32", "type": "integer" }, @@ -48020,7 +48919,7 @@ "description": "Recitation Results. It will be populated as long as Recitation processing is enabled, regardless of recitation outcome." }, "returnTokenCount": { - "description": "NOT YET IMPLEMENTED. Number of tokens returned as part of this candidate.", + "description": "NOT IMPLEMENTED TODO (b/334187574) Remove this field after Labs migrates to per_stream_returned_token_count and total_returned_token_count.", "format": "int32", "type": "integer" }, @@ -48040,6 +48939,11 @@ "format": "int32", "type": "integer" }, + "totalReturnedTokenCount": { + "description": "Total number of tokens returned in a response candidate. For streaming, it is the aggregated count (i.e. total so far) Applies to Gemini models only.", + "format": "int32", + "type": "integer" + }, "translatedUserPrompts": { "description": "Translated user-prompt used for RAI post processing. This is for internal processing only. We will translate in pre-processor and pass the translated text to the post processor using this field. It will be empty if non of the signals requested need translation.", "items": { diff --git a/aiplatform/v1beta1/aiplatform-gen.go b/aiplatform/v1beta1/aiplatform-gen.go index b3197776be2..39fcf04085b 100644 --- a/aiplatform/v1beta1/aiplatform-gen.go +++ b/aiplatform/v1beta1/aiplatform-gen.go @@ -145,6 +145,7 @@ func New(client *http.Client) (*Service, error) { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} + s.Media = NewMediaService(s) s.Projects = NewProjectsService(s) s.Publishers = NewPublishersService(s) return s, nil @@ -155,6 +156,8 @@ type Service struct { BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment + Media *MediaService + Projects *ProjectsService Publishers *PublishersService @@ -167,6 +170,15 @@ func (s *Service) userAgent() string { return googleapi.UserAgent + " " + s.UserAgent } +func NewMediaService(s *Service) *MediaService { + rs := &MediaService{s: s} + return rs +} + +type MediaService struct { + s *Service +} + func NewProjectsService(s *Service) *ProjectsService { rs := &ProjectsService{s: s} rs.Locations = NewProjectsLocationsService(s) @@ -1639,6 +1651,8 @@ type CloudAiLargeModelsVisionFilteredText struct { // "DANGEROUS_CONTENT" - Text category from SafetyCat v3 // "RECITATION_TEXT" // "CELEBRITY_IMG" + // "WATERMARK_IMG_REMOVAL" - Error message when user attempts to remove + // watermark from editing image Category string `json:"category,omitempty"` // Confidence: Filtered category // @@ -2075,12 +2089,12 @@ type CloudAiNlLlmProtoServiceCandidate struct { // "FINISH_REASON_RECITATION" - The token generation was stopped as the // response was flagged for unauthorized citations. // "FINISH_REASON_OTHER" - All other reasons that stopped the token - // generation. + // generation (currently only language filter). // "FINISH_REASON_BLOCKLIST" - The token generation was stopped as the // response was flagged for the terms which are included from the terminology // blocklist. // "FINISH_REASON_PROHIBITED_CONTENT" - The token generation was stopped as - // the response was flagged for the prohibited contents. + // the response was flagged for the prohibited contents (currently only CSAM). // "FINISH_REASON_SPII" - The token generation was stopped as the response // was flagged for Sensitive Personally Identifiable Information (SPII) // contents. @@ -2506,10 +2520,12 @@ type CloudAiNlLlmProtoServicePromptFeedback struct { // Possible values: // "BLOCKED_REASON_UNSPECIFIED" - Unspecified blocked reason. // "SAFETY" - Candidates blocked due to safety. - // "OTHER" - Candidates blocked due to other reason. + // "OTHER" - Candidates blocked due to other reason (currently only language + // filter). // "BLOCKLIST" - Candidates blocked due to the terms which are included from // the terminology blocklist. - // "PROHIBITED_CONTENT" - Candidates blocked due to prohibited content. + // "PROHIBITED_CONTENT" - Candidates blocked due to prohibited content + // (currently only CSAM). BlockReason string `json:"blockReason,omitempty"` // BlockReasonMessage: A readable block reason message. BlockReasonMessage string `json:"blockReasonMessage,omitempty"` @@ -6189,6 +6205,35 @@ func (s *GoogleCloudAiplatformV1beta1CreateModelMonitoringJobRequest) MarshalJSO return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +// GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobRequest: Request +// message for [NotebookService.CreateNotebookExecutionJob] +type GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobRequest struct { + // NotebookExecutionJob: Required. The NotebookExecutionJob to create. + NotebookExecutionJob *GoogleCloudAiplatformV1beta1NotebookExecutionJob `json:"notebookExecutionJob,omitempty"` + // NotebookExecutionJobId: Optional. User specified ID for the + // NotebookExecutionJob. + NotebookExecutionJobId string `json:"notebookExecutionJobId,omitempty"` + // Parent: Required. The resource name of the Location to create the + // NotebookExecutionJob. Format: `projects/{project}/locations/{location}` + Parent string `json:"parent,omitempty"` + // ForceSendFields is a list of field names (e.g. "NotebookExecutionJob") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "NotebookExecutionJob") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobRequest + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudAiplatformV1beta1CreateNotebookRuntimeTemplateOperationMetadata: // Metadata information for NotebookService.CreateNotebookRuntimeTemplate. type GoogleCloudAiplatformV1beta1CreateNotebookRuntimeTemplateOperationMetadata struct { @@ -7920,6 +7965,11 @@ func (s *GoogleCloudAiplatformV1beta1DirectRawPredictResponse) MarshalJSON() ([] return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +// GoogleCloudAiplatformV1beta1DirectUploadSource: The input content is +// encapsulated and uploaded in the request. +type GoogleCloudAiplatformV1beta1DirectUploadSource struct { +} + // GoogleCloudAiplatformV1beta1DiskSpec: Represents the spec of disk options. type GoogleCloudAiplatformV1beta1DiskSpec struct { // BootDiskSizeGb: Size in GB of the boot disk (default is 100GB). @@ -12085,6 +12135,8 @@ type GoogleCloudAiplatformV1beta1FindNeighborsRequestQuery struct { // crowding_attribute. It's used for improving result diversity. This field is // the maximum number of matches with the same crowding tag. PerCrowdingAttributeNeighborCount int64 `json:"perCrowdingAttributeNeighborCount,omitempty"` + // Rrf: Optional. Represents RRF algorithm that combines search results. + Rrf *GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF `json:"rrf,omitempty"` // ForceSendFields is a list of field names (e.g. "ApproximateNeighborCount") // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -12117,6 +12169,45 @@ func (s *GoogleCloudAiplatformV1beta1FindNeighborsRequestQuery) UnmarshalJSON(da return nil } +// GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF: Parameters for RRF +// algorithm that combines search results. +type GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF struct { + // Alpha: Required. Users can provide an alpha value to give more weight to + // dense vs sparse results. For example, if the alpha is 0, we only return + // sparse and if the alpha is 1, we only return dense. + Alpha float64 `json:"alpha,omitempty"` + // ForceSendFields is a list of field names (e.g. "Alpha") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Alpha") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudAiplatformV1beta1FindNeighborsRequestQueryRRF + var s1 struct { + Alpha gensupport.JSONFloat64 `json:"alpha"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Alpha = float64(s1.Alpha) + return nil +} + // GoogleCloudAiplatformV1beta1FindNeighborsResponse: The response message for // MatchService.FindNeighbors. type GoogleCloudAiplatformV1beta1FindNeighborsResponse struct { @@ -12177,6 +12268,9 @@ type GoogleCloudAiplatformV1beta1FindNeighborsResponseNeighbor struct { Datapoint *GoogleCloudAiplatformV1beta1IndexDatapoint `json:"datapoint,omitempty"` // Distance: The distance between the neighbor and the dense embedding query. Distance float64 `json:"distance,omitempty"` + // SparseDistance: The distance between the neighbor and the query + // sparse_embedding. + SparseDistance float64 `json:"sparseDistance,omitempty"` // ForceSendFields is a list of field names (e.g. "Datapoint") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -12198,7 +12292,8 @@ func (s *GoogleCloudAiplatformV1beta1FindNeighborsResponseNeighbor) MarshalJSON( func (s *GoogleCloudAiplatformV1beta1FindNeighborsResponseNeighbor) UnmarshalJSON(data []byte) error { type NoMethod GoogleCloudAiplatformV1beta1FindNeighborsResponseNeighbor var s1 struct { - Distance gensupport.JSONFloat64 `json:"distance"` + Distance gensupport.JSONFloat64 `json:"distance"` + SparseDistance gensupport.JSONFloat64 `json:"sparseDistance"` *NoMethod } s1.NoMethod = (*NoMethod)(s) @@ -12206,6 +12301,7 @@ func (s *GoogleCloudAiplatformV1beta1FindNeighborsResponseNeighbor) UnmarshalJSO return err } s.Distance = float64(s1.Distance) + s.SparseDistance = float64(s1.SparseDistance) return nil } @@ -12995,6 +13091,59 @@ func (s *GoogleCloudAiplatformV1beta1GenieSource) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +// GoogleCloudAiplatformV1beta1GoogleDriveSource: The Google Drive location for +// the input content. +type GoogleCloudAiplatformV1beta1GoogleDriveSource struct { + // ResourceIds: Required. Google Drive resource IDs. + ResourceIds []*GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceId `json:"resourceIds,omitempty"` + // ForceSendFields is a list of field names (e.g. "ResourceIds") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ResourceIds") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1GoogleDriveSource) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1GoogleDriveSource + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceId: The type and ID of +// the Google Drive resource. +type GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceId struct { + // ResourceId: Required. The ID of the Google Drive resource. + ResourceId string `json:"resourceId,omitempty"` + // ResourceType: Required. The type of the Google Drive resource. + // + // Possible values: + // "RESOURCE_TYPE_UNSPECIFIED" - Unspecified resource type. + // "RESOURCE_TYPE_FILE" - File resource type. + // "RESOURCE_TYPE_FOLDER" - Folder resource type. + ResourceType string `json:"resourceType,omitempty"` + // ForceSendFields is a list of field names (e.g. "ResourceId") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ResourceId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceId) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1GoogleDriveSourceResourceId + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudAiplatformV1beta1GroundednessInput: Input for groundedness // metric. type GoogleCloudAiplatformV1beta1GroundednessInput struct { @@ -13559,6 +13708,62 @@ func (s *GoogleCloudAiplatformV1beta1ImportModelEvaluationRequest) MarshalJSON() return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +// GoogleCloudAiplatformV1beta1ImportRagFilesConfig: Config for importing +// RagFiles. +type GoogleCloudAiplatformV1beta1ImportRagFilesConfig struct { + // GcsSource: Google Cloud Storage location. Supports importing individual + // files as well as entire Google Cloud Storage directories. Sample formats: - + // `gs://bucket_name/my_directory/object_name/my_file.txt` - + // `gs://bucket_name/my_directory` + GcsSource *GoogleCloudAiplatformV1beta1GcsSource `json:"gcsSource,omitempty"` + // GoogleDriveSource: Google Drive location. Supports importing individual + // files as well as Google Drive folders. + GoogleDriveSource *GoogleCloudAiplatformV1beta1GoogleDriveSource `json:"googleDriveSource,omitempty"` + // RagFileChunkingConfig: Specifies the size and overlap of chunks after + // importing RagFiles. + RagFileChunkingConfig *GoogleCloudAiplatformV1beta1RagFileChunkingConfig `json:"ragFileChunkingConfig,omitempty"` + // ForceSendFields is a list of field names (e.g. "GcsSource") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "GcsSource") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1ImportRagFilesConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1ImportRagFilesConfig + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudAiplatformV1beta1ImportRagFilesRequest: Request message for +// VertexRagDataService.ImportRagFiles. +type GoogleCloudAiplatformV1beta1ImportRagFilesRequest struct { + // ImportRagFilesConfig: Required. The config for the RagFiles to be synced and + // imported into the RagCorpus. VertexRagDataService.ImportRagFiles. + ImportRagFilesConfig *GoogleCloudAiplatformV1beta1ImportRagFilesConfig `json:"importRagFilesConfig,omitempty"` + // ForceSendFields is a list of field names (e.g. "ImportRagFilesConfig") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ImportRagFilesConfig") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1ImportRagFilesRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1ImportRagFilesRequest + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudAiplatformV1beta1Index: A representation of a collection of // database items organized in a way that allows for approximate nearest // neighbor (a.k.a ANN) algorithms search. @@ -13662,6 +13867,8 @@ type GoogleCloudAiplatformV1beta1IndexDatapoint struct { // the database eligible for matching. This uses categorical tokens. See: // https://cloud.google.com/vertex-ai/docs/matching-engine/filtering Restricts []*GoogleCloudAiplatformV1beta1IndexDatapointRestriction `json:"restricts,omitempty"` + // SparseEmbedding: Optional. Feature embedding vector for sparse index. + SparseEmbedding *GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding `json:"sparseEmbedding,omitempty"` // ForceSendFields is a list of field names (e.g. "CrowdingTag") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See @@ -13813,6 +14020,50 @@ func (s *GoogleCloudAiplatformV1beta1IndexDatapointRestriction) MarshalJSON() ([ return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +// GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding: Feature embedding +// vector for sparse index. An array of numbers whose values are located in the +// specified dimensions. +type GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding struct { + // Dimensions: Optional. The list of indexes for the embedding values of the + // sparse vector. + Dimensions googleapi.Int64s `json:"dimensions,omitempty"` + // Values: Optional. The list of embedding values of the sparse vector. + Values []float64 `json:"values,omitempty"` + // ForceSendFields is a list of field names (e.g. "Dimensions") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Dimensions") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudAiplatformV1beta1IndexDatapointSparseEmbedding + var s1 struct { + Values []gensupport.JSONFloat64 `json:"values"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Values = make([]float64, len(s1.Values)) + for i := range s1.Values { + s.Values[i] = float64(s1.Values[i]) + } + return nil +} + // GoogleCloudAiplatformV1beta1IndexEndpoint: Indexes are deployed into it. An // IndexEndpoint can have multiple DeployedIndexes. type GoogleCloudAiplatformV1beta1IndexEndpoint struct { @@ -13927,6 +14178,8 @@ func (s *GoogleCloudAiplatformV1beta1IndexPrivateEndpoints) MarshalJSON() ([]byt type GoogleCloudAiplatformV1beta1IndexStats struct { // ShardsCount: Output only. The number of shards in the Index. ShardsCount int64 `json:"shardsCount,omitempty"` + // SparseVectorsCount: Output only. The number of sparse vectors in the Index. + SparseVectorsCount int64 `json:"sparseVectorsCount,omitempty,string"` // VectorsCount: Output only. The number of dense vectors in the Index. VectorsCount int64 `json:"vectorsCount,omitempty,string"` // ForceSendFields is a list of field names (e.g. "ShardsCount") to @@ -15420,6 +15673,64 @@ func (s *GoogleCloudAiplatformV1beta1ListPublisherModelsResponse) MarshalJSON() return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +// GoogleCloudAiplatformV1beta1ListRagCorporaResponse: Response message for +// VertexRagDataService.ListRagCorpora. +type GoogleCloudAiplatformV1beta1ListRagCorporaResponse struct { + // NextPageToken: A token to retrieve the next page of results. Pass to + // ListRagCorporaRequest.page_token to obtain that page. + NextPageToken string `json:"nextPageToken,omitempty"` + // RagCorpora: List of RagCorpora in the requested page. + RagCorpora []*GoogleCloudAiplatformV1beta1RagCorpus `json:"ragCorpora,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "NextPageToken") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1ListRagCorporaResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1ListRagCorporaResponse + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudAiplatformV1beta1ListRagFilesResponse: Response message for +// VertexRagDataService.ListRagFiles. +type GoogleCloudAiplatformV1beta1ListRagFilesResponse struct { + // NextPageToken: A token to retrieve the next page of results. Pass to + // ListRagFilesRequest.page_token to obtain that page. + NextPageToken string `json:"nextPageToken,omitempty"` + // RagFiles: List of RagFiles in the requested page. + RagFiles []*GoogleCloudAiplatformV1beta1RagFile `json:"ragFiles,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "NextPageToken") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "NextPageToken") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1ListRagFilesResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1ListRagFilesResponse + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudAiplatformV1beta1ListReasoningEnginesResponse: Response message // for ReasoningEngineService.ListReasoningEngines type GoogleCloudAiplatformV1beta1ListReasoningEnginesResponse struct { @@ -19862,7 +20173,9 @@ type GoogleCloudAiplatformV1beta1NearestNeighborSearchOperationMetadataRecordErr // "INVALID_NUMERIC_VALUE" - Numeric restrict has invalid numeric value // specified. // "INVALID_ENCODING" - File is not in UTF_8 format. + // "INVALID_SPARSE_DIMENSIONS" - Error parsing sparse dimensions field. // "INVALID_TOKEN_VALUE" - Token restrict value is invalid. + // "INVALID_SPARSE_EMBEDDING" - Invalid sparse embedding. ErrorType string `json:"errorType,omitempty"` // RawRecord: The original content of this record. RawRecord string `json:"rawRecord,omitempty"` @@ -20502,7 +20815,7 @@ type GoogleCloudAiplatformV1beta1NotebookRuntimeTemplate struct { // MachineSpec: Optional. Immutable. The specification of a single machine for // the template. MachineSpec *GoogleCloudAiplatformV1beta1MachineSpec `json:"machineSpec,omitempty"` - // Name: Output only. The resource name of the NotebookRuntimeTemplate. + // Name: The resource name of the NotebookRuntimeTemplate. Name string `json:"name,omitempty"` // NetworkSpec: Optional. Network spec. NetworkSpec *GoogleCloudAiplatformV1beta1NetworkSpec `json:"networkSpec,omitempty"` @@ -23235,6 +23548,207 @@ func (s *GoogleCloudAiplatformV1beta1QuestionAnsweringRelevanceSpec) MarshalJSON return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +// GoogleCloudAiplatformV1beta1RagContexts: Relevant contexts for one query. +type GoogleCloudAiplatformV1beta1RagContexts struct { + // Contexts: All its contexts. + Contexts []*GoogleCloudAiplatformV1beta1RagContextsContext `json:"contexts,omitempty"` + // ForceSendFields is a list of field names (e.g. "Contexts") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Contexts") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1RagContexts) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1RagContexts + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudAiplatformV1beta1RagContextsContext: A context of the query. +type GoogleCloudAiplatformV1beta1RagContextsContext struct { + // Distance: The distance between the query vector and the context text vector. + Distance float64 `json:"distance,omitempty"` + // SourceUri: For vertex RagStore, if the file is imported from Cloud Storage + // or Google Drive, source_uri will be original file URI in Cloud Storage or + // Google Drive; if file is uploaded, source_uri will be file display name. + SourceUri string `json:"sourceUri,omitempty"` + // Text: The text chunk. + Text string `json:"text,omitempty"` + // ForceSendFields is a list of field names (e.g. "Distance") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Distance") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1RagContextsContext) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1RagContextsContext + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudAiplatformV1beta1RagContextsContext) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudAiplatformV1beta1RagContextsContext + var s1 struct { + Distance gensupport.JSONFloat64 `json:"distance"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Distance = float64(s1.Distance) + return nil +} + +// GoogleCloudAiplatformV1beta1RagCorpus: A RagCorpus is a RagFile container +// and a project can have multiple RagCorpora. +type GoogleCloudAiplatformV1beta1RagCorpus struct { + // CreateTime: Output only. Timestamp when this RagCorpus was created. + CreateTime string `json:"createTime,omitempty"` + // Description: Optional. The description of the RagCorpus. + Description string `json:"description,omitempty"` + // DisplayName: Required. The display name of the RagCorpus. The name can be up + // to 128 characters long and can consist of any UTF-8 characters. + DisplayName string `json:"displayName,omitempty"` + // Name: Output only. The resource name of the RagCorpus. + Name string `json:"name,omitempty"` + // UpdateTime: Output only. Timestamp when this RagCorpus was last updated. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CreateTime") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1RagCorpus) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1RagCorpus + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudAiplatformV1beta1RagFile: A RagFile contains user data for +// chunking, embedding and indexing. +type GoogleCloudAiplatformV1beta1RagFile struct { + // CreateTime: Output only. Timestamp when this RagFile was created. + CreateTime string `json:"createTime,omitempty"` + // Description: Optional. The description of the RagFile. + Description string `json:"description,omitempty"` + // DirectUploadSource: Output only. The RagFile is encapsulated and uploaded in + // the UploadRagFile request. + DirectUploadSource *GoogleCloudAiplatformV1beta1DirectUploadSource `json:"directUploadSource,omitempty"` + // DisplayName: Required. The display name of the RagFile. The name can be up + // to 128 characters long and can consist of any UTF-8 characters. + DisplayName string `json:"displayName,omitempty"` + // GcsSource: Output only. Google Cloud Storage location of the RagFile. It + // does not support wildcards in the Cloud Storage uri for now. + GcsSource *GoogleCloudAiplatformV1beta1GcsSource `json:"gcsSource,omitempty"` + // GoogleDriveSource: Output only. Google Drive location. Supports importing + // individual files as well as Google Drive folders. + GoogleDriveSource *GoogleCloudAiplatformV1beta1GoogleDriveSource `json:"googleDriveSource,omitempty"` + // Name: Output only. The resource name of the RagFile. + Name string `json:"name,omitempty"` + // RagFileType: Output only. The type of the RagFile. + // + // Possible values: + // "RAG_FILE_TYPE_UNSPECIFIED" - RagFile type is unspecified. + // "RAG_FILE_TYPE_TXT" - RagFile type is TXT. + // "RAG_FILE_TYPE_PDF" - RagFile type is PDF. + RagFileType string `json:"ragFileType,omitempty"` + // SizeBytes: Output only. The size of the RagFile in bytes. + SizeBytes int64 `json:"sizeBytes,omitempty,string"` + // UpdateTime: Output only. Timestamp when this RagFile was last updated. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "CreateTime") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1RagFile) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1RagFile + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudAiplatformV1beta1RagFileChunkingConfig: Specifies the size and +// overlap of chunks for RagFiles. +type GoogleCloudAiplatformV1beta1RagFileChunkingConfig struct { + // ChunkOverlap: The overlap between chunks. + ChunkOverlap int64 `json:"chunkOverlap,omitempty"` + // ChunkSize: The size of the chunks. + ChunkSize int64 `json:"chunkSize,omitempty"` + // ForceSendFields is a list of field names (e.g. "ChunkOverlap") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "ChunkOverlap") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1RagFileChunkingConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1RagFileChunkingConfig + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudAiplatformV1beta1RagQuery: A query to retrieve relevant contexts. +type GoogleCloudAiplatformV1beta1RagQuery struct { + // SimilarityTopK: Optional. The number of contexts to retrieve. + SimilarityTopK int64 `json:"similarityTopK,omitempty"` + // Text: Optional. The query in text format to get relevant contexts. + Text string `json:"text,omitempty"` + // ForceSendFields is a list of field names (e.g. "SimilarityTopK") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "SimilarityTopK") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1RagQuery) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1RagQuery + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudAiplatformV1beta1RawPredictRequest: Request message for // PredictionService.RawPredict. type GoogleCloudAiplatformV1beta1RawPredictRequest struct { @@ -24253,6 +24767,131 @@ func (s *GoogleCloudAiplatformV1beta1Retrieval) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +// GoogleCloudAiplatformV1beta1RetrieveContextsRequest: Request message for +// VertexRagService.RetrieveContexts. +type GoogleCloudAiplatformV1beta1RetrieveContextsRequest struct { + // Query: Required. Single RAG retrieve query. + Query *GoogleCloudAiplatformV1beta1RagQuery `json:"query,omitempty"` + // VertexRagStore: The data source for Vertex RagStore. + VertexRagStore *GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore `json:"vertexRagStore,omitempty"` + // ForceSendFields is a list of field names (e.g. "Query") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Query") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1RetrieveContextsRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1RetrieveContextsRequest + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore: The data +// source for Vertex RagStore. +type GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore struct { + // RagCorpora: Optional. Deprecated. Please use rag_resources to specify the + // data source. + RagCorpora []string `json:"ragCorpora,omitempty"` + // RagResources: Optional. The representation of the rag source. It can be used + // to specify corpus only or ragfiles. Currently only support one corpus or + // multiple files from one corpus. In the future we may open up multiple + // corpora support. + RagResources []*GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStoreRagResource `json:"ragResources,omitempty"` + // VectorDistanceThreshold: Optional. Only return contexts with vector distance + // smaller than the threshold. + VectorDistanceThreshold float64 `json:"vectorDistanceThreshold,omitempty"` + // ForceSendFields is a list of field names (e.g. "RagCorpora") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RagCorpora") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +func (s *GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStore + var s1 struct { + VectorDistanceThreshold gensupport.JSONFloat64 `json:"vectorDistanceThreshold"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.VectorDistanceThreshold = float64(s1.VectorDistanceThreshold) + return nil +} + +// GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStoreRagResource: +// +// The definition of the Rag resource. +type GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStoreRagResource struct { + // RagCorpus: Optional. RagCorpora resource name. Format: + // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` + RagCorpus string `json:"ragCorpus,omitempty"` + // RagFileIds: Optional. rag_file_id. The files should be in the same + // rag_corpus set in rag_corpus field. + RagFileIds []string `json:"ragFileIds,omitempty"` + // ForceSendFields is a list of field names (e.g. "RagCorpus") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RagCorpus") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStoreRagResource) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1RetrieveContextsRequestVertexRagStoreRagResource + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudAiplatformV1beta1RetrieveContextsResponse: Response message for +// VertexRagService.RetrieveContexts. +type GoogleCloudAiplatformV1beta1RetrieveContextsResponse struct { + // Contexts: The contexts of the query. + Contexts *GoogleCloudAiplatformV1beta1RagContexts `json:"contexts,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Contexts") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Contexts") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1RetrieveContextsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1RetrieveContextsResponse + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudAiplatformV1beta1RougeInput: Input for rouge metric. type GoogleCloudAiplatformV1beta1RougeInput struct { // Instances: Required. Repeated rouge instances. @@ -24456,19 +25095,25 @@ func (s *GoogleCloudAiplatformV1beta1RuntimeConfigCodeInterpreterRuntimeConfig) } type GoogleCloudAiplatformV1beta1RuntimeConfigVertexAISearchRuntimeConfig struct { - // ServingConfigName: Required. Vertext AI Search serving config name. Format: + // AppId: Vertex AI Search App ID. This is used to construct the search + // request. By setting this app_id, API will construct the serving config which + // is required to call search API for the user. The app_id and + // serving_config_name cannot both be empty at the same time. + AppId string `json:"appId,omitempty"` + // ServingConfigName: [Deprecated] Please use app_id instead. Vertex AI Search + // serving config name. Format: // `projects/{project}/locations/{location}/collections/{collection}/engines/{en // gine}/servingConfigs/{serving_config}` ServingConfigName string `json:"servingConfigName,omitempty"` - // ForceSendFields is a list of field names (e.g. "ServingConfigName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See + // ForceSendFields is a list of field names (e.g. "AppId") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ServingConfigName") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "AppId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -24937,6 +25582,9 @@ type GoogleCloudAiplatformV1beta1Schedule struct { // CreateModelMonitoringJobRequest: Request for // ModelMonitoringService.CreateModelMonitoringJob. CreateModelMonitoringJobRequest *GoogleCloudAiplatformV1beta1CreateModelMonitoringJobRequest `json:"createModelMonitoringJobRequest,omitempty"` + // CreateNotebookExecutionJobRequest: Request for + // NotebookService.CreateNotebookExecutionJob. + CreateNotebookExecutionJobRequest *GoogleCloudAiplatformV1beta1CreateNotebookExecutionJobRequest `json:"createNotebookExecutionJobRequest,omitempty"` // CreatePipelineJobRequest: Request for PipelineService.CreatePipelineJob. // CreatePipelineJobRequest.parent field is required (format: // projects/{project}/locations/{location}). @@ -35761,6 +36409,84 @@ func (s *GoogleCloudAiplatformV1beta1UploadModelResponse) MarshalJSON() ([]byte, return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +// GoogleCloudAiplatformV1beta1UploadRagFileConfig: Config for uploading +// RagFile. +type GoogleCloudAiplatformV1beta1UploadRagFileConfig struct { + // RagFileChunkingConfig: Specifies the size and overlap of chunks after + // uploading RagFile. + RagFileChunkingConfig *GoogleCloudAiplatformV1beta1RagFileChunkingConfig `json:"ragFileChunkingConfig,omitempty"` + // ForceSendFields is a list of field names (e.g. "RagFileChunkingConfig") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RagFileChunkingConfig") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1UploadRagFileConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1UploadRagFileConfig + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudAiplatformV1beta1UploadRagFileRequest: Request message for +// VertexRagDataService.UploadRagFile. +type GoogleCloudAiplatformV1beta1UploadRagFileRequest struct { + // RagFile: Required. The RagFile to upload. + RagFile *GoogleCloudAiplatformV1beta1RagFile `json:"ragFile,omitempty"` + // UploadRagFileConfig: Required. The config for the RagFiles to be uploaded + // into the RagCorpus. VertexRagDataService.UploadRagFile. + UploadRagFileConfig *GoogleCloudAiplatformV1beta1UploadRagFileConfig `json:"uploadRagFileConfig,omitempty"` + // ForceSendFields is a list of field names (e.g. "RagFile") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RagFile") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1UploadRagFileRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1UploadRagFileRequest + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// GoogleCloudAiplatformV1beta1UploadRagFileResponse: Response message for +// VertexRagDataService.UploadRagFile. +type GoogleCloudAiplatformV1beta1UploadRagFileResponse struct { + // Error: The error that occurred while processing the RagFile. + Error *GoogleRpcStatus `json:"error,omitempty"` + // RagFile: The RagFile that had been uploaded into the RagCorpus. + RagFile *GoogleCloudAiplatformV1beta1RagFile `json:"ragFile,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Error") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Error") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1UploadRagFileResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1UploadRagFileResponse + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudAiplatformV1beta1UpsertDatapointsRequest: Request message for // IndexService.UpsertDatapoints type GoogleCloudAiplatformV1beta1UpsertDatapointsRequest struct { @@ -35901,11 +36627,13 @@ func (s *GoogleCloudAiplatformV1beta1VertexAISearch) MarshalJSON() ([]byte, erro // GoogleCloudAiplatformV1beta1VertexRagStore: Retrieve from Vertex RAG Store // for grounding. type GoogleCloudAiplatformV1beta1VertexRagStore struct { - // RagCorpora: Required. Vertex RAG Store corpus resource name: - // `projects/{project}/locations/{location}/ragCorpora/{ragCorpus}` Currently - // only one corpus is allowed. In the future we may open up multiple corpora - // support. However, they should be from the same project and location. + // RagCorpora: Optional. Deprecated. Please use rag_resources instead. RagCorpora []string `json:"ragCorpora,omitempty"` + // RagResources: Optional. The representation of the rag source. It can be used + // to specify corpus only or ragfiles. Currently only support one corpus or + // multiple files from one corpus. In the future we may open up multiple + // corpora support. + RagResources []*GoogleCloudAiplatformV1beta1VertexRagStoreRagResource `json:"ragResources,omitempty"` // SimilarityTopK: Optional. Number of top k results to return from the // selected corpora. SimilarityTopK int64 `json:"similarityTopK,omitempty"` @@ -35944,6 +36672,33 @@ func (s *GoogleCloudAiplatformV1beta1VertexRagStore) UnmarshalJSON(data []byte) return nil } +// GoogleCloudAiplatformV1beta1VertexRagStoreRagResource: The definition of the +// Rag resource. +type GoogleCloudAiplatformV1beta1VertexRagStoreRagResource struct { + // RagCorpus: Optional. RagCorpora resource name. Format: + // `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}` + RagCorpus string `json:"ragCorpus,omitempty"` + // RagFileIds: Optional. rag_file_id. The files should be in the same + // rag_corpus set in rag_corpus field. + RagFileIds []string `json:"ragFileIds,omitempty"` + // ForceSendFields is a list of field names (e.g. "RagCorpus") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RagCorpus") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudAiplatformV1beta1VertexRagStoreRagResource) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudAiplatformV1beta1VertexRagStoreRagResource + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + // GoogleCloudAiplatformV1beta1VideoMetadata: Metadata describes the input // video content. type GoogleCloudAiplatformV1beta1VideoMetadata struct { @@ -37507,6 +38262,13 @@ type LanguageLabsAidaTrustRecitationProtoDocAttribution struct { // "GEMINI_V2_TAIL_PATCH_PMC" - Gemini V2 only tail patch. // "GEMINI_V2_TAIL_PATCH_VOXPOPULI" // "GEMINI_V2_TAIL_PATCH_FLEURS" + // "GEMINI_V2_SSFS" - Gemini V2 rev10 + // "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR" + // "GEMINI_V2_SQL_REPAIR_SFT" + // "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION" + // "YT_CONTENT_INSPIRATION" - Youtube Content Inpsiration. Dataset string `json:"dataset,omitempty"` Filepath string `json:"filepath,omitempty"` GeminiId string `json:"geminiId,omitempty"` @@ -38067,6 +38829,13 @@ type LanguageLabsAidaTrustRecitationProtoSegmentResult struct { // "GEMINI_V2_TAIL_PATCH_PMC" - Gemini V2 only tail patch. // "GEMINI_V2_TAIL_PATCH_VOXPOPULI" // "GEMINI_V2_TAIL_PATCH_FLEURS" + // "GEMINI_V2_SSFS" - Gemini V2 rev10 + // "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR" + // "GEMINI_V2_SQL_REPAIR_SFT" + // "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION" + // "YT_CONTENT_INSPIRATION" - Youtube Content Inpsiration. AttributionDataset string `json:"attributionDataset,omitempty"` // DisplayAttributionMessage: human-friendly string that contains information // from doc_attribution which could be shown by clients @@ -38635,6 +39404,13 @@ type LearningGenaiRecitationDocAttribution struct { // "GEMINI_V2_TAIL_PATCH_PMC" - Gemini V2 only tail patch. // "GEMINI_V2_TAIL_PATCH_VOXPOPULI" // "GEMINI_V2_TAIL_PATCH_FLEURS" + // "GEMINI_V2_SSFS" - Gemini V2 rev10 + // "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR" + // "GEMINI_V2_SQL_REPAIR_SFT" + // "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION" + // "YT_CONTENT_INSPIRATION" - Youtube Content Inspiration FT datasets. Dataset string `json:"dataset,omitempty"` Filepath string `json:"filepath,omitempty"` GeminiId string `json:"geminiId,omitempty"` @@ -39194,6 +39970,13 @@ type LearningGenaiRecitationSegmentResult struct { // "GEMINI_V2_TAIL_PATCH_PMC" - Gemini V2 only tail patch. // "GEMINI_V2_TAIL_PATCH_VOXPOPULI" // "GEMINI_V2_TAIL_PATCH_FLEURS" + // "GEMINI_V2_SSFS" - Gemini V2 rev10 + // "GEMINI_V2_CODE_TRANSFORM_SYNTHETIC_ERROR_FIX" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_COMMITS" + // "GEMINI_V2_CODE_TRANSFORM_GITHUB_PR" + // "GEMINI_V2_SQL_REPAIR_SFT" + // "GEMINI_V2_JSON_MODE_SYS_INSTRUCTION" + // "YT_CONTENT_INSPIRATION" - Youtube Content Inspiration FT datasets. AttributionDataset string `json:"attributionDataset,omitempty"` // DisplayAttributionMessage: human-friendly string that contains information // from doc_attribution which could be shown by clients @@ -40999,9 +41782,36 @@ func (s *LearningGenaiRootTranslationRequestInfo) MarshalJSON() ([]byte, error) return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +type LearningServingLlmAtlasOutputMetadata struct { + RequestTopic string `json:"requestTopic,omitempty"` + // Possible values: + // "UNKNOWN" + // "FACTUALITY" + // "INFOBOT" + // "LLM" + Source string `json:"source,omitempty"` + // ForceSendFields is a list of field names (e.g. "RequestTopic") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "RequestTopic") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *LearningServingLlmAtlasOutputMetadata) MarshalJSON() ([]byte, error) { + type NoMethod LearningServingLlmAtlasOutputMetadata + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + // LearningServingLlmMessageMetadata: LINT.IfChange This metadata contains -// additional information required for debugging. +// additional information required for debugging. Next ID: 28 type LearningServingLlmMessageMetadata struct { + AtlasMetadata *LearningServingLlmAtlasOutputMetadata `json:"atlasMetadata,omitempty"` // ClassifierSummary: Summary of classifier output. We attach this to all // messages regardless of whether classification rules triggered or not. ClassifierSummary *LearningGenaiRootClassifierOutputSummary `json:"classifierSummary,omitempty"` @@ -41044,11 +41854,15 @@ type LearningServingLlmMessageMetadata struct { // OriginalText: The original text generated by LLM. This is the raw output for // debugging purposes. OriginalText string `json:"originalText,omitempty"` - // PerStreamDecodedTokenCount: NOT YET IMPLEMENTED. Applies to streaming only. - // Number of tokens decoded / emitted by the model as part of this stream. This - // may be different from token_count, which contains number of tokens returned - // in this response after any response rewriting / truncation. + // PerStreamDecodedTokenCount: Number of tokens decoded by the model as part of + // a stream. This count may be different from `per_stream_returned_token_count` + // which, is counted after any response rewriting or truncation. Applies to + // streaming response only. PerStreamDecodedTokenCount int64 `json:"perStreamDecodedTokenCount,omitempty"` + // PerStreamReturnedTokenCount: Number of tokens returned per stream in a + // response candidate after any response rewriting or truncation. Applies to + // streaming response only. Applies to Gemini models only. + PerStreamReturnedTokenCount int64 `json:"perStreamReturnedTokenCount,omitempty"` // RaiOutputs: Results of running RAI on the query or this response candidate. // One output per rai_config. It will be populated regardless of whether the // threshold is exceeded or not. @@ -41056,8 +41870,9 @@ type LearningServingLlmMessageMetadata struct { // RecitationResult: Recitation Results. It will be populated as long as // Recitation processing is enabled, regardless of recitation outcome. RecitationResult *LearningGenaiRecitationRecitationResult `json:"recitationResult,omitempty"` - // ReturnTokenCount: NOT YET IMPLEMENTED. Number of tokens returned as part of - // this candidate. + // ReturnTokenCount: NOT IMPLEMENTED TODO (b/334187574) Remove this field after + // Labs migrates to per_stream_returned_token_count and + // total_returned_token_count. ReturnTokenCount int64 `json:"returnTokenCount,omitempty"` // Scores: All the different scores for a message are logged here. Scores []*LearningGenaiRootScore `json:"scores,omitempty"` @@ -41068,6 +41883,10 @@ type LearningServingLlmMessageMetadata struct { // For streaming: Count of all the tokens decoded so far (aggregated count). // For unary: Count of all the tokens decoded per response_candidate. TotalDecodedTokenCount int64 `json:"totalDecodedTokenCount,omitempty"` + // TotalReturnedTokenCount: Total number of tokens returned in a response + // candidate. For streaming, it is the aggregated count (i.e. total so far) + // Applies to Gemini models only. + TotalReturnedTokenCount int64 `json:"totalReturnedTokenCount,omitempty"` // TranslatedUserPrompts: Translated user-prompt used for RAI post processing. // This is for internal processing only. We will translate in pre-processor and // pass the translated text to the post processor using this field. It will be @@ -41075,15 +41894,15 @@ type LearningServingLlmMessageMetadata struct { TranslatedUserPrompts []string `json:"translatedUserPrompts,omitempty"` // VertexRaiResult: The metadata from Vertex SafetyCat processors VertexRaiResult *CloudAiNlLlmProtoServiceRaiResult `json:"vertexRaiResult,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClassifierSummary") to + // ForceSendFields is a list of field names (e.g. "AtlasMetadata") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ClassifierSummary") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "AtlasMetadata") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } @@ -41303,6 +42122,176 @@ func (s *UtilStatusProto) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +type MediaUploadCall struct { + s *Service + parent string + googlecloudaiplatformv1beta1uploadragfilerequest *GoogleCloudAiplatformV1beta1UploadRagFileRequest + urlParams_ gensupport.URLParams + mediaInfo_ *gensupport.MediaInfo + ctx_ context.Context + header_ http.Header +} + +// Upload: Upload a file into a RagCorpus. +// +// - parent: The name of the RagCorpus resource into which to upload the file. +// Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`. +func (r *MediaService) Upload(parent string, googlecloudaiplatformv1beta1uploadragfilerequest *GoogleCloudAiplatformV1beta1UploadRagFileRequest) *MediaUploadCall { + c := &MediaUploadCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googlecloudaiplatformv1beta1uploadragfilerequest = googlecloudaiplatformv1beta1uploadragfilerequest + return c +} + +// Media specifies the media to upload in one or more chunks. The chunk size +// may be controlled by supplying a MediaOption generated by +// googleapi.ChunkSize. The chunk size defaults to +// googleapi.DefaultUploadChunkSize.The Content-Type header used in the upload +// request will be determined by sniffing the contents of r, unless a +// MediaOption generated by googleapi.ContentType is supplied. +// At most one of Media and ResumableMedia may be set. +func (c *MediaUploadCall) Media(r io.Reader, options ...googleapi.MediaOption) *MediaUploadCall { + c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options) + return c +} + +// ResumableMedia specifies the media to upload in chunks and can be canceled +// with ctx. +// +// Deprecated: use Media instead. +// +// At most one of Media and ResumableMedia may be set. mediaType identifies the +// MIME media type of the upload, such as "image/png". If mediaType is "", it +// will be auto-detected. The provided ctx will supersede any context +// previously provided to the Context method. +func (c *MediaUploadCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *MediaUploadCall { + c.ctx_ = ctx + c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType) + return c +} + +// ProgressUpdater provides a callback function that will be called after every +// chunk. It should be a low-latency function in order to not slow down the +// upload operation. This should only be called when using ResumableMedia (as +// opposed to Media). +func (c *MediaUploadCall) ProgressUpdater(pu googleapi.ProgressUpdater) *MediaUploadCall { + c.mediaInfo_.SetProgressUpdater(pu) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *MediaUploadCall) Fields(s ...googleapi.Field) *MediaUploadCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +// This context will supersede any context previously provided to the +// ResumableMedia method. +func (c *MediaUploadCall) Context(ctx context.Context) *MediaUploadCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *MediaUploadCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *MediaUploadCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1beta1uploadragfilerequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/ragFiles:upload") + if c.mediaInfo_ != nil { + urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/v1beta1/{+parent}/ragFiles:upload") + c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType()) + } + if body == nil { + body = new(bytes.Buffer) + reqHeaders.Set("Content-Type", "application/json") + } + body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body) + defer cleanup() + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + req.GetBody = getBody + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "aiplatform.media.upload" call. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudAiplatformV1beta1UploadRagFileResponse.ServerResponse.Header or +// (if a response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *MediaUploadCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1beta1UploadRagFileResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location")) + if rx != nil { + rx.Client = c.s.client + rx.UserAgent = c.s.userAgent() + ctx := c.ctx_ + if ctx == nil { + ctx = context.TODO() + } + res, err = rx.Upload(ctx) + if err != nil { + return nil, err + } + defer res.Body.Close() + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + } + ret := &GoogleCloudAiplatformV1beta1UploadRagFileResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + type ProjectsGetCacheConfigCall struct { s *Service name string @@ -41879,6 +42868,110 @@ func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*GoogleClo } } +type ProjectsLocationsRetrieveContextsCall struct { + s *Service + parent string + googlecloudaiplatformv1beta1retrievecontextsrequest *GoogleCloudAiplatformV1beta1RetrieveContextsRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// RetrieveContexts: Retrieves relevant contexts for a query. +// +// - parent: The resource name of the Location from which to retrieve +// RagContexts. The users must have permission to make a call in the project. +// Format: `projects/{project}/locations/{location}`. +func (r *ProjectsLocationsService) RetrieveContexts(parent string, googlecloudaiplatformv1beta1retrievecontextsrequest *GoogleCloudAiplatformV1beta1RetrieveContextsRequest) *ProjectsLocationsRetrieveContextsCall { + c := &ProjectsLocationsRetrieveContextsCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googlecloudaiplatformv1beta1retrievecontextsrequest = googlecloudaiplatformv1beta1retrievecontextsrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsRetrieveContextsCall) Fields(s ...googleapi.Field) *ProjectsLocationsRetrieveContextsCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsRetrieveContextsCall) Context(ctx context.Context) *ProjectsLocationsRetrieveContextsCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsRetrieveContextsCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRetrieveContextsCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1beta1retrievecontextsrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}:retrieveContexts") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "aiplatform.projects.locations.retrieveContexts" call. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudAiplatformV1beta1RetrieveContextsResponse.ServerResponse.Header +// or (if a response was returned at all) in error.(*googleapi.Error).Header. +// Use googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsRetrieveContextsCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1beta1RetrieveContextsResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleCloudAiplatformV1beta1RetrieveContextsResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + type ProjectsLocationsAgentsOperationsCancelCall struct { s *Service name string @@ -95387,60 +96480,59 @@ func (c *ProjectsLocationsPublishersModelsStreamGenerateContentCall) Do(opts ... return ret, nil } -type ProjectsLocationsRagCorporaOperationsCancelCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ctx_ context.Context - header_ http.Header +type ProjectsLocationsRagCorporaCreateCall struct { + s *Service + parent string + googlecloudaiplatformv1beta1ragcorpus *GoogleCloudAiplatformV1beta1RagCorpus + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header } -// Cancel: Starts asynchronous cancellation on a long-running operation. The -// server makes a best effort to cancel the operation, but success is not -// guaranteed. If the server doesn't support this method, it returns -// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or -// other methods to check whether the cancellation succeeded or whether the -// operation completed despite cancellation. On successful cancellation, the -// operation is not deleted; instead, it becomes an operation with an -// Operation.error value with a google.rpc.Status.code of 1, corresponding to -// `Code.CANCELLED`. +// Create: Creates a RagCorpus. // -// - name: The name of the operation resource to be cancelled. -func (r *ProjectsLocationsRagCorporaOperationsService) Cancel(name string) *ProjectsLocationsRagCorporaOperationsCancelCall { - c := &ProjectsLocationsRagCorporaOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name +// - parent: The resource name of the Location to create the RagCorpus in. +// Format: `projects/{project}/locations/{location}`. +func (r *ProjectsLocationsRagCorporaService) Create(parent string, googlecloudaiplatformv1beta1ragcorpus *GoogleCloudAiplatformV1beta1RagCorpus) *ProjectsLocationsRagCorporaCreateCall { + c := &ProjectsLocationsRagCorporaCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googlecloudaiplatformv1beta1ragcorpus = googlecloudaiplatformv1beta1ragcorpus return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. -func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaOperationsCancelCall { +func (c *ProjectsLocationsRagCorporaCreateCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaCreateCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } // Context sets the context to be used in this call's Do method. -func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaOperationsCancelCall { +func (c *ProjectsLocationsRagCorporaCreateCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaCreateCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. -func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Header() http.Header { +func (c *ProjectsLocationsRagCorporaCreateCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsRagCorporaOperationsCancelCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) +func (c *ProjectsLocationsRagCorporaCreateCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1beta1ragcorpus) + if err != nil { + return nil, err + } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:cancel") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/ragCorpora") urls += "?" + c.urlParams_.Encode() req, err := http.NewRequest("POST", urls, body) if err != nil { @@ -95448,18 +96540,18 @@ func (c *ProjectsLocationsRagCorporaOperationsCancelCall) doRequest(alt string) } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ - "name": c.name, + "parent": c.parent, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "aiplatform.projects.locations.ragCorpora.operations.cancel" call. +// Do executes the "aiplatform.projects.locations.ragCorpora.create" call. // Any non-2xx status code is an error. Response headers are in either -// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at -// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to -// check whether the returned error was because http.StatusNotModified was -// returned. -func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) { +// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsRagCorporaCreateCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -95478,7 +96570,7 @@ func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Do(opts ...googleapi.C if err := googleapi.CheckResponse(res); err != nil { return nil, gensupport.WrapError(err) } - ret := &GoogleProtobufEmpty{ + ret := &GoogleLongrunningOperation{ ServerResponse: googleapi.ServerResponse{ Header: res.Header, HTTPStatusCode: res.StatusCode, @@ -95491,7 +96583,7 @@ func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Do(opts ...googleapi.C return ret, nil } -type ProjectsLocationsRagCorporaOperationsDeleteCall struct { +type ProjectsLocationsRagCorporaDeleteCall struct { s *Service name string urlParams_ gensupport.URLParams @@ -95499,159 +96591,55 @@ type ProjectsLocationsRagCorporaOperationsDeleteCall struct { header_ http.Header } -// Delete: Deletes a long-running operation. This method indicates that the -// client is no longer interested in the operation result. It does not cancel -// the operation. If the server doesn't support this method, it returns -// `google.rpc.Code.UNIMPLEMENTED`. +// Delete: Deletes a RagCorpus. // -// - name: The name of the operation resource to be deleted. -func (r *ProjectsLocationsRagCorporaOperationsService) Delete(name string) *ProjectsLocationsRagCorporaOperationsDeleteCall { - c := &ProjectsLocationsRagCorporaOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} +// - name: The name of the RagCorpus resource to be deleted. Format: +// `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`. +func (r *ProjectsLocationsRagCorporaService) Delete(name string) *ProjectsLocationsRagCorporaDeleteCall { + c := &ProjectsLocationsRagCorporaDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name return c } -// Fields allows partial responses to be retrieved. See -// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more -// details. -func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaOperationsDeleteCall { - c.urlParams_.Set("fields", googleapi.CombineFields(s)) - return c -} - -// Context sets the context to be used in this call's Do method. -func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaOperationsDeleteCall { - c.ctx_ = ctx - return c -} - -// Header returns a http.Header that can be modified by the caller to add -// headers to the request. -func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) Header() http.Header { - if c.header_ == nil { - c.header_ = make(http.Header) - } - return c.header_ -} - -func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { - reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) - var body io.Reader = nil - c.urlParams_.Set("alt", alt) - c.urlParams_.Set("prettyPrint", "false") - urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") - urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("DELETE", urls, body) - if err != nil { - return nil, err - } - req.Header = reqHeaders - googleapi.Expand(req.URL, map[string]string{ - "name": c.name, - }) - return gensupport.SendRequest(c.ctx_, c.s.client, req) -} - -// Do executes the "aiplatform.projects.locations.ragCorpora.operations.delete" call. -// Any non-2xx status code is an error. Response headers are in either -// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at -// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to -// check whether the returned error was because http.StatusNotModified was -// returned. -func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) { - gensupport.SetOptions(c.urlParams_, opts...) - res, err := c.doRequest("json") - if res != nil && res.StatusCode == http.StatusNotModified { - if res.Body != nil { - res.Body.Close() - } - return nil, gensupport.WrapError(&googleapi.Error{ - Code: res.StatusCode, - Header: res.Header, - }) - } - if err != nil { - return nil, err - } - defer googleapi.CloseBody(res) - if err := googleapi.CheckResponse(res); err != nil { - return nil, gensupport.WrapError(err) - } - ret := &GoogleProtobufEmpty{ - ServerResponse: googleapi.ServerResponse{ - Header: res.Header, - HTTPStatusCode: res.StatusCode, - }, - } - target := &ret - if err := gensupport.DecodeResponse(target, res); err != nil { - return nil, err - } - return ret, nil -} - -type ProjectsLocationsRagCorporaOperationsGetCall struct { - s *Service - name string - urlParams_ gensupport.URLParams - ifNoneMatch_ string - ctx_ context.Context - header_ http.Header -} - -// Get: Gets the latest state of a long-running operation. Clients can use this -// method to poll the operation result at intervals as recommended by the API -// service. -// -// - name: The name of the operation resource. -func (r *ProjectsLocationsRagCorporaOperationsService) Get(name string) *ProjectsLocationsRagCorporaOperationsGetCall { - c := &ProjectsLocationsRagCorporaOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} - c.name = name +// Force sets the optional parameter "force": If set to true, any RagFiles in +// this RagCorpus will also be deleted. Otherwise, the request will only work +// if the RagCorpus has no RagFiles. +func (c *ProjectsLocationsRagCorporaDeleteCall) Force(force bool) *ProjectsLocationsRagCorporaDeleteCall { + c.urlParams_.Set("force", fmt.Sprint(force)) return c } // Fields allows partial responses to be retrieved. See // https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more // details. -func (c *ProjectsLocationsRagCorporaOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaOperationsGetCall { +func (c *ProjectsLocationsRagCorporaDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaDeleteCall { c.urlParams_.Set("fields", googleapi.CombineFields(s)) return c } -// IfNoneMatch sets an optional parameter which makes the operation fail if the -// object's ETag matches the given value. This is useful for getting updates -// only after the object has changed since the last request. -func (c *ProjectsLocationsRagCorporaOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaOperationsGetCall { - c.ifNoneMatch_ = entityTag - return c -} - // Context sets the context to be used in this call's Do method. -func (c *ProjectsLocationsRagCorporaOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaOperationsGetCall { +func (c *ProjectsLocationsRagCorporaDeleteCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaDeleteCall { c.ctx_ = ctx return c } // Header returns a http.Header that can be modified by the caller to add // headers to the request. -func (c *ProjectsLocationsRagCorporaOperationsGetCall) Header() http.Header { +func (c *ProjectsLocationsRagCorporaDeleteCall) Header() http.Header { if c.header_ == nil { c.header_ = make(http.Header) } return c.header_ } -func (c *ProjectsLocationsRagCorporaOperationsGetCall) doRequest(alt string) (*http.Response, error) { +func (c *ProjectsLocationsRagCorporaDeleteCall) doRequest(alt string) (*http.Response, error) { reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) - if c.ifNoneMatch_ != "" { - reqHeaders.Set("If-None-Match", c.ifNoneMatch_) - } var body io.Reader = nil c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") urls += "?" + c.urlParams_.Encode() - req, err := http.NewRequest("GET", urls, body) + req, err := http.NewRequest("DELETE", urls, body) if err != nil { return nil, err } @@ -95662,13 +96650,580 @@ func (c *ProjectsLocationsRagCorporaOperationsGetCall) doRequest(alt string) (*h return gensupport.SendRequest(c.ctx_, c.s.client, req) } -// Do executes the "aiplatform.projects.locations.ragCorpora.operations.get" call. +// Do executes the "aiplatform.projects.locations.ragCorpora.delete" call. // Any non-2xx status code is an error. Response headers are in either // *GoogleLongrunningOperation.ServerResponse.Header or (if a response was // returned at all) in error.(*googleapi.Error).Header. Use // googleapi.IsNotModified to check whether the returned error was because // http.StatusNotModified was returned. -func (c *ProjectsLocationsRagCorporaOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { +func (c *ProjectsLocationsRagCorporaDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleLongrunningOperation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsRagCorporaGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a RagCorpus. +// +// - name: The name of the RagCorpus resource. Format: +// `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`. +func (r *ProjectsLocationsRagCorporaService) Get(name string) *ProjectsLocationsRagCorporaGetCall { + c := &ProjectsLocationsRagCorporaGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsRagCorporaGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsRagCorporaGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsRagCorporaGetCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsRagCorporaGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRagCorporaGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "aiplatform.projects.locations.ragCorpora.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudAiplatformV1beta1RagCorpus.ServerResponse.Header or (if a +// response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsRagCorporaGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1beta1RagCorpus, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleCloudAiplatformV1beta1RagCorpus{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsRagCorporaListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists RagCorpora in a Location. +// +// - parent: The resource name of the Location from which to list the +// RagCorpora. Format: `projects/{project}/locations/{location}`. +func (r *ProjectsLocationsRagCorporaService) List(parent string) *ProjectsLocationsRagCorporaListCall { + c := &ProjectsLocationsRagCorporaListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list page +// size. +func (c *ProjectsLocationsRagCorporaListCall) PageSize(pageSize int64) *ProjectsLocationsRagCorporaListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list page +// token. Typically obtained via ListRagCorporaResponse.next_page_token of the +// previous VertexRagDataService.ListRagCorpora call. +func (c *ProjectsLocationsRagCorporaListCall) PageToken(pageToken string) *ProjectsLocationsRagCorporaListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsRagCorporaListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsRagCorporaListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsRagCorporaListCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsRagCorporaListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRagCorporaListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/ragCorpora") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "aiplatform.projects.locations.ragCorpora.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudAiplatformV1beta1ListRagCorporaResponse.ServerResponse.Header or +// (if a response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsRagCorporaListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1beta1ListRagCorporaResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleCloudAiplatformV1beta1ListRagCorporaResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsLocationsRagCorporaListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1beta1ListRagCorporaResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + +type ProjectsLocationsRagCorporaOperationsCancelCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Cancel: Starts asynchronous cancellation on a long-running operation. The +// server makes a best effort to cancel the operation, but success is not +// guaranteed. If the server doesn't support this method, it returns +// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or +// other methods to check whether the cancellation succeeded or whether the +// operation completed despite cancellation. On successful cancellation, the +// operation is not deleted; instead, it becomes an operation with an +// Operation.error value with a google.rpc.Status.code of 1, corresponding to +// `Code.CANCELLED`. +// +// - name: The name of the operation resource to be cancelled. +func (r *ProjectsLocationsRagCorporaOperationsService) Cancel(name string) *ProjectsLocationsRagCorporaOperationsCancelCall { + c := &ProjectsLocationsRagCorporaOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaOperationsCancelCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaOperationsCancelCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRagCorporaOperationsCancelCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}:cancel") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "aiplatform.projects.locations.ragCorpora.operations.cancel" call. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsLocationsRagCorporaOperationsCancelCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleProtobufEmpty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsRagCorporaOperationsDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a long-running operation. This method indicates that the +// client is no longer interested in the operation result. It does not cancel +// the operation. If the server doesn't support this method, it returns +// `google.rpc.Code.UNIMPLEMENTED`. +// +// - name: The name of the operation resource to be deleted. +func (r *ProjectsLocationsRagCorporaOperationsService) Delete(name string) *ProjectsLocationsRagCorporaOperationsDeleteCall { + c := &ProjectsLocationsRagCorporaOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaOperationsDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaOperationsDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "aiplatform.projects.locations.ragCorpora.operations.delete" call. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleProtobufEmpty.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified was +// returned. +func (c *ProjectsLocationsRagCorporaOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleProtobufEmpty, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleProtobufEmpty{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsRagCorporaOperationsGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets the latest state of a long-running operation. Clients can use this +// method to poll the operation result at intervals as recommended by the API +// service. +// +// - name: The name of the operation resource. +func (r *ProjectsLocationsRagCorporaOperationsService) Get(name string) *ProjectsLocationsRagCorporaOperationsGetCall { + c := &ProjectsLocationsRagCorporaOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsRagCorporaOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaOperationsGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsRagCorporaOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaOperationsGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsRagCorporaOperationsGetCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaOperationsGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsRagCorporaOperationsGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRagCorporaOperationsGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "aiplatform.projects.locations.ragCorpora.operations.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsRagCorporaOperationsGetCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { gensupport.SetOptions(c.urlParams_, opts...) res, err := c.doRequest("json") if res != nil && res.StatusCode == http.StatusNotModified { @@ -95963,6 +97518,464 @@ func (c *ProjectsLocationsRagCorporaOperationsWaitCall) Do(opts ...googleapi.Cal return ret, nil } +type ProjectsLocationsRagCorporaRagFilesDeleteCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Delete: Deletes a RagFile. +// +// - name: The name of the RagFile resource to be deleted. Format: +// `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{ +// rag_file}`. +func (r *ProjectsLocationsRagCorporaRagFilesService) Delete(name string) *ProjectsLocationsRagCorporaRagFilesDeleteCall { + c := &ProjectsLocationsRagCorporaRagFilesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsRagCorporaRagFilesDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesDeleteCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsRagCorporaRagFilesDeleteCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesDeleteCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsRagCorporaRagFilesDeleteCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRagCorporaRagFilesDeleteCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("DELETE", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.delete" call. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsRagCorporaRagFilesDeleteCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleLongrunningOperation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsRagCorporaRagFilesGetCall struct { + s *Service + name string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// Get: Gets a RagFile. +// +// - name: The name of the RagFile resource. Format: +// `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{ +// rag_file}`. +func (r *ProjectsLocationsRagCorporaRagFilesService) Get(name string) *ProjectsLocationsRagCorporaRagFilesGetCall { + c := &ProjectsLocationsRagCorporaRagFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.name = name + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsRagCorporaRagFilesGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesGetCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsRagCorporaRagFilesGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaRagFilesGetCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsRagCorporaRagFilesGetCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesGetCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsRagCorporaRagFilesGetCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRagCorporaRagFilesGetCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+name}") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "name": c.name, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.get" call. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudAiplatformV1beta1RagFile.ServerResponse.Header or (if a response +// was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsRagCorporaRagFilesGetCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1beta1RagFile, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleCloudAiplatformV1beta1RagFile{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsRagCorporaRagFilesImportCall struct { + s *Service + parent string + googlecloudaiplatformv1beta1importragfilesrequest *GoogleCloudAiplatformV1beta1ImportRagFilesRequest + urlParams_ gensupport.URLParams + ctx_ context.Context + header_ http.Header +} + +// Import: Import files from Google Cloud Storage or Google Drive into a +// RagCorpus. +// +// - parent: The name of the RagCorpus resource into which to import files. +// Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`. +func (r *ProjectsLocationsRagCorporaRagFilesService) Import(parent string, googlecloudaiplatformv1beta1importragfilesrequest *GoogleCloudAiplatformV1beta1ImportRagFilesRequest) *ProjectsLocationsRagCorporaRagFilesImportCall { + c := &ProjectsLocationsRagCorporaRagFilesImportCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + c.googlecloudaiplatformv1beta1importragfilesrequest = googlecloudaiplatformv1beta1importragfilesrequest + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsRagCorporaRagFilesImportCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesImportCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsRagCorporaRagFilesImportCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesImportCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsRagCorporaRagFilesImportCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRagCorporaRagFilesImportCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_) + var body io.Reader = nil + body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlecloudaiplatformv1beta1importragfilesrequest) + if err != nil { + return nil, err + } + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/ragFiles:import") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("POST", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.import" call. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleLongrunningOperation.ServerResponse.Header or (if a response was +// returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsRagCorporaRagFilesImportCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleLongrunningOperation{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +type ProjectsLocationsRagCorporaRagFilesListCall struct { + s *Service + parent string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// List: Lists RagFiles in a RagCorpus. +// +// - parent: The resource name of the RagCorpus from which to list the +// RagFiles. Format: +// `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`. +func (r *ProjectsLocationsRagCorporaRagFilesService) List(parent string) *ProjectsLocationsRagCorporaRagFilesListCall { + c := &ProjectsLocationsRagCorporaRagFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.parent = parent + return c +} + +// PageSize sets the optional parameter "pageSize": The standard list page +// size. +func (c *ProjectsLocationsRagCorporaRagFilesListCall) PageSize(pageSize int64) *ProjectsLocationsRagCorporaRagFilesListCall { + c.urlParams_.Set("pageSize", fmt.Sprint(pageSize)) + return c +} + +// PageToken sets the optional parameter "pageToken": The standard list page +// token. Typically obtained via ListRagFilesResponse.next_page_token of the +// previous VertexRagDataService.ListRagFiles call. +func (c *ProjectsLocationsRagCorporaRagFilesListCall) PageToken(pageToken string) *ProjectsLocationsRagCorporaRagFilesListCall { + c.urlParams_.Set("pageToken", pageToken) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *ProjectsLocationsRagCorporaRagFilesListCall) Fields(s ...googleapi.Field) *ProjectsLocationsRagCorporaRagFilesListCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *ProjectsLocationsRagCorporaRagFilesListCall) IfNoneMatch(entityTag string) *ProjectsLocationsRagCorporaRagFilesListCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *ProjectsLocationsRagCorporaRagFilesListCall) Context(ctx context.Context) *ProjectsLocationsRagCorporaRagFilesListCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *ProjectsLocationsRagCorporaRagFilesListCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *ProjectsLocationsRagCorporaRagFilesListCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta1/{+parent}/ragFiles") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "parent": c.parent, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "aiplatform.projects.locations.ragCorpora.ragFiles.list" call. +// Any non-2xx status code is an error. Response headers are in either +// *GoogleCloudAiplatformV1beta1ListRagFilesResponse.ServerResponse.Header or +// (if a response was returned at all) in error.(*googleapi.Error).Header. Use +// googleapi.IsNotModified to check whether the returned error was because +// http.StatusNotModified was returned. +func (c *ProjectsLocationsRagCorporaRagFilesListCall) Do(opts ...googleapi.CallOption) (*GoogleCloudAiplatformV1beta1ListRagFilesResponse, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &GoogleCloudAiplatformV1beta1ListRagFilesResponse{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + +// Pages invokes f for each page of results. +// A non-nil error returned from f will halt the iteration. +// The provided context supersedes any context provided to the Context method. +func (c *ProjectsLocationsRagCorporaRagFilesListCall) Pages(ctx context.Context, f func(*GoogleCloudAiplatformV1beta1ListRagFilesResponse) error) error { + c.ctx_ = ctx + defer c.PageToken(c.urlParams_.Get("pageToken")) + for { + x, err := c.Do() + if err != nil { + return err + } + if err := f(x); err != nil { + return err + } + if x.NextPageToken == "" { + return nil + } + c.PageToken(x.NextPageToken) + } +} + type ProjectsLocationsRagCorporaRagFilesOperationsCancelCall struct { s *Service name string diff --git a/contentwarehouse/v1/contentwarehouse-api.json b/contentwarehouse/v1/contentwarehouse-api.json index a7018b8d234..ee87baeb550 100644 --- a/contentwarehouse/v1/contentwarehouse-api.json +++ b/contentwarehouse/v1/contentwarehouse-api.json @@ -1156,149328 +1156,4450 @@ } } }, - "revision": "20240412", + "revision": "20240506", "rootUrl": "https://contentwarehouse.googleapis.com/", "schemas": { - "AbuseiamAbuseType": { - "id": "AbuseiamAbuseType", + "CloudAiPlatformTenantresourceCloudSqlInstanceConfig": { + "description": "The identity to configure a CloudSQL instance provisioned via SLM Terraform.", + "id": "CloudAiPlatformTenantresourceCloudSqlInstanceConfig", "properties": { - "id": { - "enum": [ - "NONE", - "OTHER_ABUSE", - "CHILD_PORN", - "PORNOGRAPHY", - "SPAM", - "PHISHING", - "HATE", - "TOS_OTHER", - "MALWARE", - "MALICIOUS_JAVASCRIPT", - "NOT_FAMILY_SAFE", - "IMPERSONATION", - "PEDOPHILIA", - "PERSONAL_INFO", - "COPYRIGHT", - "HIGH_RISK", - "VIOLENCE", - "UNSAFE_RACY", - "UNSAFE_OTHER", - "FAKE_USER", - "NAME_VIOLATION", - "PLUSONE_VIOLATION", - "DEFAMATION", - "TRADEMARK", - "COURT_ORDER", - "GOVERNMENT_ORDER", - "LOCAL_LAWS", - "PRIVACY", - "ES_BLACKLIST", - "ES_COMMENTS_BLACKLIST", - "HARASSMENT", - "COMPROMISED", - "LOW_QUALITY", - "API_VIOLATION", - "REGULATED", - "CAROUSEL_FRAME_BLACKLIST", - "QUOTA_EXCEEDED", - "FOUNTAIN_BLACKLIST", - "COPPA_REGULATED", - "DOXXING", - "SOFT_HATE", - "SOFT_HARASSMENT", - "OBNOXIOUS", - "UNWANTED", - "NOT_UNICORN_SAFE", - "FAKE_ENGAGEMENT", - "COUNTERFEIT", - "CTM" - ], - "enumDescriptions": [ - "no abuse", - "generic abuse that isn't enumerated here", - "illegal child porn images", - "", - "", - "", - "", - "To be only used for Multi-Image Review.", - "MALWARE includes viruses, worms, trojans, adware and even potentially unwanted software which may not necessarily be harmful.", - "", - "DEPRECATED - For safe searches, etc.", - "", - "Not illegal, but image or text content", - "promoting or related to young pornography Personally identifiable information", - "", - "High risk reviews for any client.", - "", - "Content that is unsafe because it is sexually", - "suggestive/racy Content that is unsafe for other reasons than", - "being sexually suggestive/racy. Category for users who are not real", - "User's name that violates policy.", - "Violates PLUSONE policy.", - "Defamation claims", - "Trademark violations where Google could be", - "liable Third-party court orders", - "Government request, regardless of reason", - "Other misc country-specific laws", - "Local privacy laws", - "Internal type to check es content against", - "the ocelot blocklist. Internal type.", - "Consistent harassing behaviour directed", - "towards a person. Hijacked or Compromised profile.", - "Low quality/Annoying content.", - "Violates APIARY policy.", - "Contains regulated products and services, such as pharmaceuticals, alcohol, tobacco, etc. For details, https://sites.google.com/a/google.com/crt-policy-site/regulated", - "Internal type.", - "Quota exceeded for the action.", - "Internal type.", - "Contains content regulated by COPPA.", - "Revealing personal/protected information.", - "Pattern of behavior verdicts. Used to aggregate verdicts that aren't typically bad enough for one of the above verdicts, but something we want to keep track of in cases of rotten behavior. Hate without incitement", - "Harassment that does meet the harm bar.", - "Obnoxious, Lousy behavior, not against TOS.", - "Content targeted at a person who considered", - "Not safe for kids.", - "Engagements that are not organic.", - "Promotion of counterfeit product claims.", - "Circumvention of Technological measures" - ], + "cloudSqlInstanceConnectionName": { + "description": "Output only. The CloudSQL instance connection name.", "type": "string" }, - "subtype": { - "description": "Optional client specific subtype of abuse that is too specific to belong in the above enumeration. For example, some client may want to differentiate nudity from graphic sex, but both are PORNOGRAPHY.", + "cloudSqlInstanceName": { + "description": "Input/Output [Optional]. The CloudSQL instance name within SLM instance. If not set, a random UUIC will be generated as instance name.", "type": "string" - } - }, - "type": "object" - }, - "AbuseiamAgeRestriction": { - "id": "AbuseiamAgeRestriction", - "properties": { - "ageYears": { - "description": "This restriction applies if the user is between [min_age_years, age_years) years old.", - "format": "int32", - "type": "integer" }, - "minAgeYears": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AbuseiamAndRestriction": { - "id": "AbuseiamAndRestriction", - "properties": { - "child": { - "description": "This restriction applies if all of the children apply.", + "kmsKeyReference": { + "description": "Input [Optional]. The KMS key name or the KMS grant name used for CMEK encryption. Only set this field when provisioning new CloudSQL instances. For existing CloudSQL instances, this field will be ignored because CMEK re-encryption is not supported.", + "type": "string" + }, + "mdbRolesForCorpAccess": { + "description": "Input [Optional]. MDB roles for corp access to CloudSQL instance.", "items": { - "$ref": "AbuseiamUserRestriction" + "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AbuseiamClient": { - "description": "A client is be a Google product, or subproduct that provides content for AbuseIAm to classify.", - "id": "AbuseiamClient", - "properties": { - "id": { - "enum": [ - "ABUSE_TEAM", - "SEARCH", - "GROUPS", - "PROFILES", - "WRITELY", - "EXPLORER", - "URL_SHORTENER", - "USENET", - "PHOTOS", - "ANDROID_MARKET", - "ES", - "BABEL", - "STRATUS", - "GMAIL", - "GJOBS" - ], - "enumDescriptions": [ - "", - "Web Search.", - "", - "", - "Being superseded by KIX soon.", - "Blobs stored by explorer.", - "", - "", - "", - "", - "Emerald Sea.", - "", - "Stratus uses the corpus name as subservice.", - "Gmail.", - "Garage, or G+ Jobs." - ], + }, + "slmInstanceName": { + "description": "Output only. The SLM instance's full resource name.", "type": "string" }, - "subservice": { - "description": "The name of the subservice within a client. This subservice can be used to affect the flow of decision script, or selection of backend classifiers. For example, StreetView may want to specify a panel is insufficiently blurred (maybe there is a lisense plate or public sex, etc), which requires manual review then the subservice might be \"blurring\".", + "slmInstanceTemplate": { + "description": "Input [Required]. The SLM instance template to provision CloudSQL.", "type": "string" - } - }, - "type": "object" - }, - "AbuseiamConstantRestriction": { - "id": "AbuseiamConstantRestriction", - "properties": { - "type": { - "description": "A constant of type TRUE always applies, and of type FALSE never applies.", - "enum": [ - "ALWAYS_TRUE", - "ALWAYS_FALSE" - ], - "enumDescriptions": [ - "", - "" - ], + }, + "slmInstanceType": { + "description": "Input [Required]. The SLM instance type to provision CloudSQL.", "type": "string" } }, "type": "object" }, - "AbuseiamContentRestriction": { - "description": "Pair of Verdicts used for ProjectR age/geo gating. See http://go/projectr for more information.", - "id": "AbuseiamContentRestriction", + "CloudAiPlatformTenantresourceGcsBucketConfig": { + "description": "The identity to configure a GCS bucket.", + "id": "CloudAiPlatformTenantresourceGcsBucketConfig", "properties": { - "adminVerdict": { - "description": "Takedowns specified by admins via AbuseIAm", + "admins": { "items": { - "$ref": "AbuseiamVerdict" + "type": "string" }, "type": "array" }, - "userVerdict": { - "description": "User-specified takedowns", + "bucketName": { + "description": "Input/Output [Optional]. The name of a GCS bucket with max length of 63 chars. If not set, a random UUID will be generated as bucket name.", + "type": "string" + }, + "entityName": { + "description": "Input/Output [Optional]. Only needed for per-entity tenant GCP resources. During Deprovision API, the on-demand deletion will only cover the tenant GCP resources with the specified entity name.", + "type": "string" + }, + "kmsKeyReference": { + "description": "Input/Output [Optional]. The KMS key name or the KMS grant name used for CMEK encryption. Only set this field when provisioning new GCS bucket. For existing GCS bucket, this field will be ignored because CMEK re-encryption is not supported.", + "type": "string" + }, + "ttlDays": { + "description": "Input/Output [Optional]. Only needed when the content in bucket need to be garbage collected within some amount of days.", + "format": "int32", + "type": "integer" + }, + "viewers": { + "description": "Input/Output [Required]. IAM roles (viewer/admin) put on the bucket.", "items": { - "$ref": "AbuseiamVerdict" + "type": "string" }, "type": "array" } }, "type": "object" }, - "AbuseiamEvaluation": { - "description": "Backends return Evaluations to AbuseIAm. One of the things Evaluations are used for is to explain Verdicts.", - "id": "AbuseiamEvaluation", + "CloudAiPlatformTenantresourceIamPolicyBinding": { + "description": "The dynamic IAM bindings to be granted after tenant projects are created.", + "id": "CloudAiPlatformTenantresourceIamPolicyBinding", "properties": { - "abuseType": { - "$ref": "AbuseiamAbuseType" + "members": { + "description": "Input/Output [Required]. The member service accounts with the roles above. Note: placeholders are same as the resource above.", + "items": { + "type": "string" + }, + "type": "array" }, - "backend": { - "description": "Who creates this Evaluation. This field is required.", + "resource": { + "description": "Input/Output [Required]. The resource name that will be accessed by members, which also depends on resource_type. Note: placeholders are supported in resource names. For example, ${tpn} will be used when the tenant project number is not ready.", + "type": "string" + }, + "resourceType": { + "description": "Input/Output [Required]. Specifies the type of resource that will be accessed by members.", "enum": [ - "UNKNOWN", - "ADMIN", - "OCELOT", - "SPAMIAM", - "MANUAL_REVIEW", - "PORN_CLASSIFIER", - "GIBBERISH_DETECTOR", - "BADWORD", - "IMAGE_PORN_CLASSIFIER", - "FIFE_IMAGE_FETCHER", - "RULE", - "FOCUS", - "PATTERNLIST", - "WIGGUM", - "BINARY_EXPLORATION", - "QUOTASERVER", - "YOUTUBE", - "POLICY", - "PHOTO_SERVICE", - "ARES" + "RESOURCE_TYPE_UNSPECIFIED", + "PROJECT", + "SERVICE_ACCOUNT", + "GCS_BUCKET", + "SERVICE_CONSUMER", + "AR_REPO" ], "enumDescriptions": [ "", - "Eval directly from the AbuseIAm server.", - "", - "", - "", - "Text-based porn classifier.", - "Language model-based gibberish detector.", - "Deprecated. Please use PATTERNLIST instead.", - "", - "", - "For miscellaneous rules in decision scripts", - "that are not separate backends.", - "Check texts against a list of regex patterns.", - "Does search-by-image using Wiggum Server.", - "Slow backend. See http://go/bineval.", - "Quota server adapter.", - "Video classification from youtube.", - "For evaluation generated according to policy.", - "Adapter that queries Photo Service.", - "For evaluations generated by Ares." + "The value of resource field is the ID or number of a project. Format is ", + "The value of resource field is the resource name of a service account. Format is projects//serviceAccounts/", + "The value of resource field is the name of a GCS bucket (not its resource name). Format is .", + "The value of resource field is the resource name of a service consumer. Format is services//consumers/", + "The value of the resource field is the AR Image Uri which identifies an AR REPO. Allowed formats are: /// ///: ///@" ], "type": "string" }, - "comment": { - "description": "Backends can choose to put some debug info in addition to abuse_type, score, and status.", + "role": { + "description": "Input/Output [Required]. The role for members below.", "type": "string" + } + }, + "type": "object" + }, + "CloudAiPlatformTenantresourceInfraSpannerConfig": { + "description": "The configuration for a spanner database provisioning. Next ID: 8", + "id": "CloudAiPlatformTenantresourceInfraSpannerConfig", + "properties": { + "createDatabaseOptions": { + "$ref": "CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions", + "description": "Input [Optional]. The options to create a spanner database. Note: give the right options to ensure the right KMS key access audit logging and AxT logging in expected logging category." }, - "miscData": { - "description": "This field is used to store miscellaneous information that Backend might provide. If you find youself here considering to use this field, please prefer using the repeated feature field below instead. It supports a richer structure for passing complex data back from the backend.", - "items": { - "$ref": "AbuseiamNameValuePair" - }, - "type": "array" - }, - "processedMicros": { - "description": "When the evaluation was processed by the decision script.", - "format": "int64", + "kmsKeyReference": { + "description": "Input [Optional]. The KMS key name or the KMS grant name used for CMEK encryption. Only set this field when provisioning new Infra Spanner databases. For existing Infra Spanner databases, this field will be ignored because CMEK re-encryption is not supported. For example, projects//locations//keyRings//cryptoKeys/", "type": "string" }, - "region": { - "description": "The list of regions where the evaluation applies.", - "items": { - "$ref": "AbuseiamRegion" - }, - "type": "array" - }, - "score": { - "format": "double", - "type": "number" - }, - "status": { - "enum": [ - "OK", - "ERROR" - ], - "enumDescriptions": [ - "", - "The Backend failed to process the target." - ], + "sdlBundlePath": { + "description": "Input [Required]. The file path to the spanner SDL bundle.", "type": "string" }, - "target": { - "$ref": "AbuseiamTarget" + "spannerBorgServiceAccount": { + "description": "Input [Optional]. The spanner borg service account for delegating the kms key to. For example, spanner-infra-cmek-nonprod@system.gserviceaccount.com, for the nonprod universe.", + "type": "string" }, - "timestampMicros": { - "description": "When the Evaluation was generated.", - "format": "int64", + "spannerLocalNamePrefix": { "type": "string" }, - "userRestriction": { - "$ref": "AbuseiamUserRestriction", - "description": "A boolean expression tree used to define the restrictions where the verdict applies. Please use java/com/google/ccc/abuse/abuseiam/client/TakedownManager.java to evaluate this proto." + "spannerNamespace": { + "type": "string" }, - "version": { - "description": "Version of Backend. For rules, this string is the only way to differentiate between them.", + "spannerUniverse": { + "description": "Input [Required]. Every database in Spanner can be identified by the following path name: /span//:", "type": "string" } }, "type": "object" }, - "AbuseiamGeoRestriction": { - "description": "A node representing a table of regions and restrictions that apply to those regions. This table understands region inclusion and knows to apply the most specific rule, for example, a rule for France would override a rule for the EU for a user in France.", - "id": "AbuseiamGeoRestriction", + "CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions": { + "description": "The options to create a spanner database. KMS key access audit logging and AxT logging will be associated with the given resource name, resource type and service name. Please ensure to give right options to enable correct audit logging and AxT logging.", + "id": "CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions", "properties": { - "locale": { - "items": { - "$ref": "AbuseiamGeoRestrictionLocale" - }, - "type": "array" + "cmekCloudResourceName": { + "description": "The cloud resource name for the CMEK encryption. For example, projects//locations/", + "type": "string" + }, + "cmekCloudResourceType": { + "description": "The cloud resource type for the CMEK encryption. For example, contentwarehouse.googleapis.com/Location", + "type": "string" + }, + "cmekServiceName": { + "description": "The service name for the CMEK encryption. For example, contentwarehouse.googleapis.com", + "type": "string" } }, "type": "object" }, - "AbuseiamGeoRestrictionLocale": { - "id": "AbuseiamGeoRestrictionLocale", + "CloudAiPlatformTenantresourceServiceAccountIdentity": { + "description": "The identity to configure a service account.", + "id": "CloudAiPlatformTenantresourceServiceAccountIdentity", "properties": { - "location": { - "description": "The location where the restriction applies. Defaults to the \"The world\". See go/iii.", + "serviceAccountEmail": { + "description": "Output only. The service account email that has been created.", "type": "string" }, - "restriction": { - "$ref": "AbuseiamUserRestriction", - "description": "The UserRestriction that applies to this location. If not specified evaluates to true." + "tag": { + "description": "Input/Output [Optional]. The tag that configures the service account, as defined in google3/configs/production/cdpush/acl-zanzibar-cloud-prod/activation_grants/activation_grants.gcl. Note: The default P4 service account has the empty tag.", + "type": "string" } }, "type": "object" }, - "AbuseiamHash": { - "description": "Information about various hashes that can be computed on a message ex: simhash, attachment hash, etc", - "id": "AbuseiamHash", + "CloudAiPlatformTenantresourceTenantProjectConfig": { + "description": "The identity to configure a tenant project.", + "id": "CloudAiPlatformTenantresourceTenantProjectConfig", "properties": { - "hash": { - "description": "64 bit hash in the hex form.", - "type": "string" + "billingConfig": { + "$ref": "GoogleApiServiceconsumermanagementV1BillingConfig", + "description": "Input/Output [Required]. The billing account properties to create the tenant project." }, - "type": { + "folder": { + "description": "Input/Output [Required]. The folder that holds tenant projects and folder-level permissions will be automatically granted to all tenant projects under the folder. Note: the valid folder format is `folders/{folder_number}`.", "type": "string" + }, + "policyBindings": { + "description": "Input/Output [Required]. The policy bindings that are applied to the tenant project during creation. At least one binding must have the role `roles/owner` with either `user` or `group` type.", + "items": { + "$ref": "GoogleApiServiceconsumermanagementV1PolicyBinding" + }, + "type": "array" + }, + "services": { + "description": "Input/Output [Required]. The API services that are enabled on the tenant project during creation.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "AbuseiamNameValuePair": { - "id": "AbuseiamNameValuePair", + "CloudAiPlatformTenantresourceTenantProjectResource": { + "description": "The tenant project and tenant resources. Next ID: 10", + "id": "CloudAiPlatformTenantresourceTenantProjectResource", "properties": { - "name": { + "cloudSqlInstances": { + "description": "The CloudSQL instances that are provisioned under the tenant project.", + "items": { + "$ref": "CloudAiPlatformTenantresourceCloudSqlInstanceConfig" + }, + "type": "array" + }, + "gcsBuckets": { + "description": "The GCS buckets that are provisioned under the tenant project.", + "items": { + "$ref": "CloudAiPlatformTenantresourceGcsBucketConfig" + }, + "type": "array" + }, + "iamPolicyBindings": { + "description": "The dynamic IAM bindings that are granted under the tenant project. Note: this should only add new bindings to the project if they don't exist and the existing bindings won't be affected.", + "items": { + "$ref": "CloudAiPlatformTenantresourceIamPolicyBinding" + }, + "type": "array" + }, + "infraSpannerConfigs": { + "description": "The Infra Spanner databases that are provisioned under the tenant project. Note: this is an experimental feature.", + "items": { + "$ref": "CloudAiPlatformTenantresourceInfraSpannerConfig" + }, + "type": "array" + }, + "tag": { + "description": "Input/Output [Required]. The tag that uniquely identifies a tenant project within a tenancy unit. Note: for the same tenant project tag, all tenant manager operations should be idempotent.", "type": "string" }, - "nonUtf8Value": { - "format": "byte", + "tenantProjectConfig": { + "$ref": "CloudAiPlatformTenantresourceTenantProjectConfig", + "description": "The configurations of a tenant project." + }, + "tenantProjectId": { + "description": "Output only. The tenant project ID that has been created.", "type": "string" }, - "value": { + "tenantProjectNumber": { + "description": "Output only. The tenant project number that has been created.", + "format": "int64", "type": "string" - } - }, - "type": "object" - }, - "AbuseiamNotRestriction": { - "id": "AbuseiamNotRestriction", - "properties": { - "child": { - "description": "This restriction applies if the child does not apply. Only one is allowed. \"repeated\" is used to avoid breaking Sawzall (See b/6758277).", + }, + "tenantServiceAccounts": { + "description": "The service account identities (or enabled API service's P4SA) that are expclicitly created under the tenant project (before JIT provisioning during enabled API services).", "items": { - "$ref": "AbuseiamUserRestriction" + "$ref": "CloudAiPlatformTenantresourceTenantServiceAccountIdentity" }, "type": "array" } }, "type": "object" }, - "AbuseiamOrRestriction": { - "id": "AbuseiamOrRestriction", + "CloudAiPlatformTenantresourceTenantResource": { + "description": "A collection of tenant resources.", + "id": "CloudAiPlatformTenantresourceTenantResource", "properties": { - "child": { - "description": "This restriction applies if any of the children apply.", + "p4ServiceAccounts": { + "description": "A list of P4 service accounts (go/p4sa) to provision or deprovision.", + "items": { + "$ref": "CloudAiPlatformTenantresourceServiceAccountIdentity" + }, + "type": "array" + }, + "tenantProjectResources": { + "description": "A list of tenant projects and tenant resources to provision or deprovision.", "items": { - "$ref": "AbuseiamUserRestriction" + "$ref": "CloudAiPlatformTenantresourceTenantProjectResource" }, "type": "array" } }, "type": "object" }, - "AbuseiamRegion": { - "id": "AbuseiamRegion", + "CloudAiPlatformTenantresourceTenantServiceAccountIdentity": { + "description": "The identity of service accounts that have been explicitly created under tenant projects.", + "id": "CloudAiPlatformTenantresourceTenantServiceAccountIdentity", "properties": { - "region": { - "description": "This is a CLDR Region Code: http://wiki/Main/IIIHowTo#using_region It is used to denote the region affected by a verdict.", + "serviceAccountEmail": { + "description": "Output only. The email address of the generated service account.", + "type": "string" + }, + "serviceName": { + "description": "Input/Output [Required]. The service that the service account belongs to. (e.g. cloudbuild.googleapis.com for GCB service accounts)", "type": "string" } }, "type": "object" }, - "AbuseiamSpecialRestriction": { - "description": "A SpecialRestriction is a standardized UserRestriction which lives in a table maintained via CDD.", - "id": "AbuseiamSpecialRestriction", + "GoogleApiServiceconsumermanagementV1BillingConfig": { + "description": "Describes the billing configuration for a new tenant project.", + "id": "GoogleApiServiceconsumermanagementV1BillingConfig", "properties": { - "type": { - "enum": [ - "ALCOHOL" - ], - "enumDescriptions": [ - "" - ], + "billingAccount": { + "description": "Name of the billing account. For example `billingAccounts/012345-567890-ABCDEF`.", "type": "string" } }, "type": "object" }, - "AbuseiamTarget": { - "id": "AbuseiamTarget", + "GoogleApiServiceconsumermanagementV1PolicyBinding": { + "description": "Translates to IAM Policy bindings (without auditing at this level)", + "id": "GoogleApiServiceconsumermanagementV1PolicyBinding", "properties": { - "id": { - "type": "string" + "members": { + "description": "Uses the same format as in IAM policy. `member` must include both a prefix and ID. For example, `user:{emailId}`, `serviceAccount:{emailId}`, `group:{emailId}`.", + "items": { + "type": "string" + }, + "type": "array" }, - "type": { - "enum": [ - "MESSAGE_ID", - "CHUNK_ID", - "IMAGE_URL", - "URL", - "USER_ID", - "IP", - "SITE", - "SITEDOMAIN", - "ENTITY_ID", - "PERFECT_STREAM_ID", - "ACTIVITY_ID", - "COMMENT_ID", - "AD_ID", - "TEXT", - "TEXT_FRAGMENT", - "CLUSTER_MEMBER_ID", - "EMBED_ID", - "ANDROID_ID" - ], - "enumDescriptions": [ - "verdict is issued on the whole message", - "verdict is issued on the specified chunk", - "target id is an image url inside chunk content", - "target id is a non-image url inside chunk content", - "abuse happens at gaia user level", - "target id is an IP address", - "target id is a sitechunk", - "target id is a domain", - "The 4 entries below are *only* for the +1 pipeline. Please do not use elsewhere. entity id is a generic Zipit ID", - "Obsolete.", - "activity id in ASBE for ES", - "comment id for ASBE comments in ES", - "ad id for ES", - "text target. Used in Ocelot name reputation.", - "text fragment. Ocelot for name reputation.", - "Targets for Cluster reviews. See http://go/cluff-design-doc. Message ID for the targeted cluster member", - "embed_id for ASBE embeds in ES", - "android_id of the device" - ], + "role": { + "description": "Role. (https://cloud.google.com/iam/docs/understanding-roles) For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", "type": "string" } }, "type": "object" }, - "AbuseiamUserNotification": { - "description": "A structure used to configure a notification to a user.", - "id": "AbuseiamUserNotification", + "GoogleCloudContentwarehouseV1AccessControlAction": { + "description": "Represents the action responsible for access control list management operations.", + "id": "GoogleCloudContentwarehouseV1AccessControlAction", "properties": { - "channel": { + "operationType": { + "description": "Identifies the type of operation.", "enum": [ "UNKNOWN", - "BUILT_IN", - "EMAIL", - "GAIA" + "ADD_POLICY_BINDING", + "REMOVE_POLICY_BINDING", + "REPLACE_POLICY_BINDING" ], "enumDescriptions": [ - "", - "Use product built-in notification, such as pop-ups.", - "Email user, e.g., through ANS(http://sites/cat/ans).", - "Show notifications at Gaia level, such as during login." + "The unknown operation type.", + "Adds newly given policy bindings in the existing bindings list.", + "Removes newly given policy bindings from the existing bindings list.", + "Replaces existing policy bindings with the given policy binding list" ], "type": "string" + }, + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "Represents the new policy from which bindings are added, removed or replaced based on the type of the operation. the policy is limited to a few 10s of KB." } }, "type": "object" }, - "AbuseiamUserRestriction": { - "description": "Describes restrictions on where the verdict applies. Please use {@code TakedownManager} to evaluate this proto.", - "id": "AbuseiamUserRestriction", + "GoogleCloudContentwarehouseV1Action": { + "description": "Represents the action triggered by Rule Engine when the rule is true.", + "id": "GoogleCloudContentwarehouseV1Action", "properties": { - "ageRestriction": { - "$ref": "AbuseiamAgeRestriction" + "accessControl": { + "$ref": "GoogleCloudContentwarehouseV1AccessControlAction", + "description": "Action triggering access control operations." + }, + "actionId": { + "description": "ID of the action. Managed internally.", + "type": "string" }, - "andRestriction": { - "$ref": "AbuseiamAndRestriction", - "description": "Operators" + "addToFolder": { + "$ref": "GoogleCloudContentwarehouseV1AddToFolderAction", + "description": "Action triggering create document link operation." }, - "constantRestriction": { - "$ref": "AbuseiamConstantRestriction", - "description": "Constant" + "dataUpdate": { + "$ref": "GoogleCloudContentwarehouseV1DataUpdateAction", + "description": "Action triggering data update operations." }, - "geoRestriction": { - "$ref": "AbuseiamGeoRestriction", - "description": "Leaf Nodes" + "dataValidation": { + "$ref": "GoogleCloudContentwarehouseV1DataValidationAction", + "description": "Action triggering data validation operations." }, - "notRestriction": { - "$ref": "AbuseiamNotRestriction" + "deleteDocumentAction": { + "$ref": "GoogleCloudContentwarehouseV1DeleteDocumentAction", + "description": "Action deleting the document." }, - "orRestriction": { - "$ref": "AbuseiamOrRestriction" + "publishToPubSub": { + "$ref": "GoogleCloudContentwarehouseV1PublishAction", + "description": "Action publish to Pub/Sub operation." }, - "specialRestriction": { - "$ref": "AbuseiamSpecialRestriction" + "removeFromFolderAction": { + "$ref": "GoogleCloudContentwarehouseV1RemoveFromFolderAction", + "description": "Action removing a document from a folder." } }, "type": "object" }, - "AbuseiamVerdict": { - "description": "Verdict against a target. AbuseIAm generates a verdict based on evaluations. AbuseIAm can send such verdicts to clients for enforcement.", - "id": "AbuseiamVerdict", + "GoogleCloudContentwarehouseV1ActionExecutorOutput": { + "description": "Represents the output of the Action Executor.", + "id": "GoogleCloudContentwarehouseV1ActionExecutorOutput", "properties": { - "client": { - "$ref": "AbuseiamClient", - "description": "Target client of the verdict. It can be used to differentiate verdicts from multiple clients when such verdicts are processed in one common place." - }, - "comment": { - "description": "Additional info regarding the verdict.", - "type": "string" - }, - "decision": { - "enum": [ - "ERROR", - "NO_ACTION", - "GOOD", - "DELETE", - "INTERSTITIAL", - "HIDE", - "BLACK_LIST", - "MARK_AS_SPAM", - "REWRITE_LINKS", - "HIDE_AND_NOTIFY", - "FREEZE_SERVICE", - "SUSPEND_SERVICE", - "SMS_DISABLE", - "NOTIFY" - ], - "enumDescriptions": [ - "", - "The content is okay and no action needs to be taken.", - "To mark content/user as good.", - "", - "Give a user an interstial message. E.g., via a pop-up or an email.", - "", - "The product should black list this content itself.", - "", - "There's something bad about the links, so we recommend that the links be 'scrubbed' to go through the GWS redirector to protect against malware and phishing: http://wiki.corp.google.com/twiki/bin/view/Main/SafeRedirector", - "HIDE_AND_NOTIFY is used when the target needs to be hidden, but the UI needs to show an appropriate error message.", - "Freeze a user on service level. E.g., a frozen user can not generate new content.", - "Suspend a user on service level.", - "SMS-disable a user on Gaia level.", - "Notify a user (e.g., warn a user)." - ], - "type": "string" - }, - "durationMins": { - "description": "Time duration (in minutes) of the verdict.", - "format": "int32", - "type": "integer" - }, - "evaluation": { - "description": "Evaluations relevant to this verdict. Every Verdict should contain at least one Evaluation.", - "items": { - "$ref": "AbuseiamEvaluation" - }, - "type": "array" - }, - "hashes": { - "description": "Details of all the hashes that can be computed on a message, such as simhash and attachment hash", - "items": { - "$ref": "AbuseiamHash" - }, - "type": "array" - }, - "isLegalIssued": { - "description": "Is this verdict issued by legal?", - "type": "boolean" - }, - "miscScores": { - "description": "This field is used to pass relevant / necessary scores to our clients. For eg: ASBE propagates these scores to moonshine.", + "ruleActionsPairs": { + "description": "List of rule and corresponding actions result.", "items": { - "$ref": "AbuseiamNameValuePair" + "$ref": "GoogleCloudContentwarehouseV1RuleActionsPair" }, "type": "array" - }, - "reasonCode": { - "description": "A short description of the reason why the verdict decision is made.", + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1ActionOutput": { + "description": "Represents the result of executing an action.", + "id": "GoogleCloudContentwarehouseV1ActionOutput", + "properties": { + "actionId": { + "description": "ID of the action.", "type": "string" }, - "region": { - "description": "The regions in which this verdict should be enforced. Absence of this field indicates that the verdict is applicable everywhere.", - "items": { - "$ref": "AbuseiamRegion" - }, - "type": "array" - }, - "restriction": { - "description": "Restrictions on where this verdict applies. If any restriction is met, the verdict is applied there. If no restrictions are present, the verdict is considered global.", - "items": { - "$ref": "AbuseiamVerdictRestriction" - }, - "type": "array" - }, - "strikeCategory": { - "description": "Category of the strike if this is a strike verdict.", + "actionState": { + "description": "State of an action.", "enum": [ - "ES", - "CP", - "COPYRIGHT", - "BLOGGER", - "GRANDCENTRAL", - "DRIVE", - "CLOUD", - "SITES" + "UNKNOWN", + "ACTION_SUCCEEDED", + "ACTION_FAILED", + "ACTION_TIMED_OUT", + "ACTION_PENDING" ], "enumDescriptions": [ - "General Emerald Sea.", - "Child porn.", - "Copyright violations.", - "Blogger.", - "Google Voice.", - "Drive.", - "Cloud platform.", - "Google Sites." + "The unknown state.", + "State indicating action executed successfully.", + "State indicating action failed.", + "State indicating action timed out.", + "State indicating action is pending." ], "type": "string" }, - "target": { - "$ref": "AbuseiamTarget" - }, - "targetTimestampMicros": { - "description": "The timestamp of the target. E.g., the time when the target was updated.", - "format": "int64", - "type": "string" - }, - "timestampMicros": { - "description": "When the verdict is generated", - "format": "int64", - "type": "string" - }, - "userNotification": { - "description": "Extra notification(s) to be delivered to target user or message owner about the verdict.", - "items": { - "$ref": "AbuseiamUserNotification" - }, - "type": "array" - }, - "version": { - "description": "version of decision script", + "outputMessage": { + "description": "Action execution output message.", "type": "string" } }, "type": "object" }, - "AbuseiamVerdictRestriction": { - "description": "Describes restrictions on where the verdict applies.", - "id": "AbuseiamVerdictRestriction", + "GoogleCloudContentwarehouseV1AddToFolderAction": { + "description": "Represents the action responsible for adding document under a folder.", + "id": "GoogleCloudContentwarehouseV1AddToFolderAction", "properties": { - "context": { - "description": "For a restriction to apply, all contexts must be satisfied. For example, if context[0] is COUNTRY/'GERMANY' and context[1] is DESTINATION_STREAM/'gplus:SQUARE:knitting_discussion', then the verdict applies only when the 'knitting discussion' square is viewed from inside Germany. Please note that this is present for legacy reasons and users of this field would be migrated to use the user_restriction field defined below.", + "folders": { + "description": "Names of the folder under which new document is to be added. Format: projects/{project_number}/locations/{location}/documents/{document_id}.", "items": { - "$ref": "AbuseiamVerdictRestrictionContext" + "type": "string" }, "type": "array" - }, - "userRestriction": { - "$ref": "AbuseiamUserRestriction", - "description": "A boolean expression tree used to define the restrictions where the verdict applies. Please use java/com/google/ccc/abuse/abuseiam/client/TakedownManager.java to evaluate this proto." } }, "type": "object" }, - "AbuseiamVerdictRestrictionContext": { - "description": "Describes a dimension of a context where a verdict applies.", - "id": "AbuseiamVerdictRestrictionContext", + "GoogleCloudContentwarehouseV1CloudAIDocumentOption": { + "description": "Request Option for processing Cloud AI Document in CW Document.", + "id": "GoogleCloudContentwarehouseV1CloudAIDocumentOption", "properties": { - "id": { - "description": "String identifying the context.", - "type": "string" + "customizedEntitiesPropertiesConversions": { + "additionalProperties": { + "type": "string" + }, + "description": "If set, only selected entities will be converted to properties.", + "type": "object" }, - "type": { - "enum": [ - "UNKNOWN", - "DESTINATION_STREAM" - ], - "enumDescriptions": [ - "Dummy default value. Avoid using it explicitly as a Type.", - "DESTINATION_STREAM is used when a verdict only applies to content in a particular indexed stream/channel. Examples include Squares, Blogs, and Youtube videos." - ], - "type": "string" + "enableEntitiesConversions": { + "description": "Whether to convert all the entities to properties.", + "type": "boolean" } }, "type": "object" }, - "AdsShoppingReportingOffersSerializedSoriId": { - "description": "The serialized form of a SORI id. NOTE that this proto is stored in V4/O4 index and that new fields should not be added without getting an agreement from the serving team as well.", - "id": "AdsShoppingReportingOffersSerializedSoriId", + "GoogleCloudContentwarehouseV1CreateDocumentLinkRequest": { + "description": "Request message for DocumentLinkService.CreateDocumentLink.", + "id": "GoogleCloudContentwarehouseV1CreateDocumentLinkRequest", "properties": { - "highId": { - "format": "uint64", - "type": "string" - }, - "lowId1": { - "format": "uint64", - "type": "string" + "documentLink": { + "$ref": "GoogleCloudContentwarehouseV1DocumentLink", + "description": "Required. Document links associated with the source documents (source_document_id)." }, - "lowId2": { - "format": "uint64", - "type": "string" + "requestMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", + "description": "The meta information collected about the document creator, used to enforce access control for the service." } }, "type": "object" }, - "Anchors": { - "id": "Anchors", + "GoogleCloudContentwarehouseV1CreateDocumentMetadata": { + "description": "Metadata object for CreateDocument request (currently empty).", + "id": "GoogleCloudContentwarehouseV1CreateDocumentMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudContentwarehouseV1CreateDocumentRequest": { + "description": "Request message for DocumentService.CreateDocument.", + "id": "GoogleCloudContentwarehouseV1CreateDocumentRequest", "properties": { - "anchor": { - "items": { - "$ref": "AnchorsAnchor" - }, - "type": "array" - }, - "homepageAnchorsDropped": { - "description": "The total # of local homepage anchors dropped in AnchorAccumulator.", - "format": "int64", - "type": "string" - }, - "indexTier": { - "description": "The index tier from which the anchors were extracted. Note that this is only valid in the anchor record written by linkextractor. The value can be one of the enum values defined in segindexer/types.h.", - "format": "int32", - "type": "integer" - }, - "localAnchorsDropped": { - "description": "The total # of local non-homepage anchors dropped in AnchorAccumulator.", - "format": "int64", - "type": "string" - }, - "nonlocalAnchorsDropped": { - "description": "The total # of non-local anchors dropped in AnchorAccumulator.", - "format": "int64", - "type": "string" - }, - "redundantAnchorsDropped": { - "description": "The *_anchors_dropped fields below are not populated by Alexandria, which uses cdoc.anchor_stats instead. The total # of redundant anchors dropped in linkextractor.", - "format": "int64", - "type": "string" - }, - "redundantanchorinfo": { - "items": { - "$ref": "AnchorsRedundantAnchorInfo" - }, - "type": "array" + "cloudAiDocumentOption": { + "$ref": "GoogleCloudContentwarehouseV1CloudAIDocumentOption", + "description": "Request Option for processing Cloud AI Document in Document Warehouse. This field offers limited support for mapping entities from Cloud AI Document to Warehouse Document. Please consult with product team before using this field and other available options." }, - "supplementalAnchorsDropped": { - "description": "The total # of supplemental anchors dropped in AnchorAccumulator. ## DEPRECATED.", - "format": "int64", + "createMask": { + "description": "Field mask for creating Document fields. If mask path is empty, it means all fields are masked. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.", + "format": "google-fieldmask", "type": "string" }, - "targetDocid": { - "description": "may be implicit", - "format": "uint64", - "type": "string" + "document": { + "$ref": "GoogleCloudContentwarehouseV1Document", + "description": "Required. The document to create." }, - "targetSite": { - "description": "HOST_LEVEL site chunking.", - "type": "string" + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "Default document policy during creation. This refers to an Identity and Access (IAM) policy, which specifies access controls for the Document. Conditions defined in the policy will be ignored." }, - "targetUrl": { - "description": "This is produced during link extraction but not written out in the linklogs in order to save space.", - "type": "string" + "requestMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", + "description": "The meta information collected about the end user, used to enforce access control for the service." } }, "type": "object" }, - "AnchorsAnchor": { - "id": "AnchorsAnchor", + "GoogleCloudContentwarehouseV1CreateDocumentResponse": { + "description": "Response message for DocumentService.CreateDocument.", + "id": "GoogleCloudContentwarehouseV1CreateDocumentResponse", "properties": { - "bucket": { - "format": "int32", - "type": "integer" - }, - "catfishTags": { - "description": "CATfish tags attached to a link. These are similar to link tags, except the values are created on the fly within Cookbook. See: http://sites/cookbook/exporting/indexing", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "compressedImageUrls": { - "description": "If the anchor contained images, these image urls are stored here in compressed form.", - "items": { - "format": "byte", - "type": "string" - }, - "type": "array" - }, - "compressedOriginalTargetUrl": { - "description": "The anchor's original target url, compressed. Available only in Alexandria docjoins when the anchor is forwarded.", - "format": "byte", - "type": "string" - }, - "context": { - "format": "int32", - "type": "integer" - }, - "context2": { - "description": "This is a hash of terms near the anchor. (This is a second-generation hash replacing the value stored in the 'context' field.)", - "format": "int32", - "type": "integer" - }, - "creationDate": { - "description": "used for history - the first and last time we have seen this anchor. creation_date also used for Freshdocs Twitter indexing, a retweet is an anchor of the original tweet. This field records the time when a retweet is created.", - "format": "int32", - "type": "integer" - }, - "deleted": { - "type": "boolean" - }, - "deletionDate": { - "format": "int32", - "type": "integer" - }, - "demotionreason": { - "description": "DEPRECATED", - "format": "int32", - "type": "integer" - }, - "encodedNewsAnchorData": { - "description": "Encoded data containing information about newsiness of anchor. Populated only if anchor is classified as coming from a newsy, high quality site. Encoded data for anchor sources are being stored in googledata/quality/freshness/news_anchors/encoded_news_anchors_data.txt Scores are being computed with quality/freshness/news_anchors/ routines.", - "format": "uint32", - "type": "integer" - }, - "experimental": { - "description": "If true, the anchor is for experimental purposes and should not be used in serving.", - "type": "boolean" - }, - "expired": { - "description": "true iff exp domain", - "type": "boolean" - }, - "firstseenDate": { - "description": "# days past Dec 31, 1994, 23:00:00 UTC (Unix time @788914800) that this link was first seen. Should never occupy more than 15 bits. NOTE: this is NOT the same as creation_date; firstseen_date is filled during link extraction", - "format": "int32", - "type": "integer" - }, - "firstseenNearCreation": { - "description": "true if we think 'firstseen_date' is an accurate estimate of when the link was actually added to the source page. false if it may have existed for some time before we saw it.", - "type": "boolean" - }, - "fontsize": { - "format": "int32", - "type": "integer" - }, - "forwardingTypes": { - "description": "How the anchor is forwarded to the canonical, available only for forwarded anchors (i.e., the field is set). The forwarding types are defined in URLForwardingUtil (segindexer/segment-indexer-util.h). Always use URLForwardingUtil to access this field and use URLForwardingUtil::GetAnchorForwardingReason to get the explanation how the anchor is forwarded to the canonical. NOTE: Use with caution as it is only set for docjoins generated using the urlmap from repository/updater.", - "format": "uint32", - "type": "integer" - }, - "fragment": { - "description": "The URL fragment for this anchor (the foo in http://www.google.com#foo)", - "type": "string" - }, - "fullLeftContext": { - "description": "The full context. These are not written out in the linklogs.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "fullRightContext": { - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "isLocal": { - "description": "The bit ~roughly~ indicates whether an anchor's source and target pages are on the same domain. Note: this plays no role in determining whether an anchor is onsite, ondomain, or offdomain in mustang (i.e., the bit above).", - "type": "boolean" - }, - "lastUpdateTimestamp": { - "description": "Used for history and freshness tracking - the timestamp this anchor is updated in indexing.", - "format": "int32", - "type": "integer" - }, - "linkAdditionalInfo": { - "$ref": "Proto2BridgeMessageSet", - "description": "Additional information related to the anchor, such as additional anchor text or scores." + "document": { + "$ref": "GoogleCloudContentwarehouseV1Document", + "description": "Document created after executing create request." }, - "linkTags": { - "description": "Contains info on link type, source page, etc.", + "longRunningOperations": { + "description": "post-processing LROs", "items": { - "format": "int32", - "type": "integer" + "$ref": "GoogleLongrunningOperation" }, "type": "array" }, - "locality": { - "description": "For ranking purposes, the quality of an anchor is measured by its \"locality\" and \"bucket\". See quality/anchors/definitions.h for more information.", - "format": "int32", - "type": "integer" - }, - "offset": { - "description": "This is the offset for the first term in the anchor - it can be used as a unique ID for the anchor within the document and compared against all per-tag data. This is measured in bytes from the start of the document. We write this out to the linklogs to recover the original order of links after source/target forwarding. This is necessary for computing the global related data.", - "format": "int32", - "type": "integer" - }, - "origText": { - "description": "Original text, including capitalization and punctuation. Runs of whitespace are collapsed into a single space.", - "type": "string" - }, - "originalTargetDocid": { - "description": "The docid of the anchor's original target. This field is available if and only if the anchor is forwarded.", - "format": "uint64", - "type": "string" - }, - "pagerankWeight": { - "description": "Weight to be stored in linkmaps for pageranker", - "format": "float", - "type": "number" - }, - "parallelLinks": { - "description": "The number of additional links from the same source page to the same target domain. Not populated if is_local is true.", - "format": "int32", - "type": "integer" - }, - "possiblyOldFirstseenDate": { - "description": "DEPRECATED. It used to be set if firstseen_date is not set. It's to indicate that the anchor is possibly old, but we don't have enough information to tell until the linkage map is updated. TODO(hxu) rename it to possibly_old_firstseen_date_DEPRECATED after clean up other dependencies.", - "type": "boolean" - }, - "setiPagerankWeight": { - "description": "TEMPORARY", - "format": "float", - "type": "number" - }, - "source": { - "$ref": "AnchorsAnchorSource" - }, - "sourceType": { - "description": " is to record the quality of the anchor's source page and is correlated with but not identical to the index tier of the source page. In the docjoins built by the indexing pipeline (Alexandria), - Anchors marked TYPE_HIGH_QUALITY are from base documents. - Anchors marked TYPE_MEDIUM_QUALITY are from documents of medium quality (roughly but not exactly supplemental tier documents). - Anchors marked TYPE_LOW_QUALITY are from documents of low quality (roughly but not exactly blackhole documents). Note that the source_type can also be used as an importance indicator of an anchor (a lower source_type value indicates a more important anchor), so it is important to enforce that TYPE_HIGH_QUALITY \u003c TYPE_MEDIUM_QUALITY \u003c TYPE_LOW_QUALITY To add a new source type in future, please maintain the proper relationship among the types as well. TYPE_FRESHDOCS, only available in freshdocs indexing, is a special case and is considered the same type as TYPE_HIGH_QUALITY for the purpose of anchor importance in duplicate anchor removal.", - "format": "int32", - "type": "integer" - }, - "targetUrlEncoding": { - "description": "A given target URL may be found in different encodings in different documents. We store the URL encoding with each source anchor so that we can count them later to find the encoding most likely to be expected by the Web site. Around 0.7% of target URLs are expected to require a non-default value here. The default value 0 is referenced in C++ as webutil::kDefaultUrlEncoding. See also webutil/urlencoding.", - "format": "int32", - "type": "integer" - }, - "text": { - "description": "Space-delimited anchor words. Text that needs segmentation (like CJK or Thai) is unsegmented, since we set FLAGS_segment_during_lexing to false in mr-linkextractor.cc .", - "type": "string" - }, - "timestamp": { - "description": "This field is DEPRECATED and no longer filled. For source page crawl timestamp, use Source.crawl_timestamp. Next tag id should be 62.", - "format": "int64", - "type": "string" - }, - "type": { - "description": "DEPRECATED: Now in link_tags", - "format": "int32", - "type": "integer" + "metadata": { + "$ref": "GoogleCloudContentwarehouseV1ResponseMetadata", + "description": "Additional information for the API invocation, such as the request tracking id." }, - "weight": { - "description": "weights are 0-127", - "format": "int32", - "type": "integer" + "ruleEngineOutput": { + "$ref": "GoogleCloudContentwarehouseV1RuleEngineOutput", + "description": "Output from Rule Engine recording the rule evaluator and action executor's output. Refer format in: google/cloud/contentwarehouse/v1/rule_engine.proto" } }, "type": "object" }, - "AnchorsAnchorSource": { - "description": "attributes of the source document for the link", - "id": "AnchorsAnchorSource", + "GoogleCloudContentwarehouseV1CustomWeightsMetadata": { + "description": "To support the custom weighting across document schemas.", + "id": "GoogleCloudContentwarehouseV1CustomWeightsMetadata", "properties": { - "additionalInfo": { - "$ref": "Proto2BridgeMessageSet", - "description": "Additional information related to the source, such as news hub info." - }, - "cluster": { - "description": "anchor++ cluster id", - "format": "int32", - "type": "integer" - }, - "compressedUrl": { - "description": "compressed source url", - "format": "byte", - "type": "string" - }, - "crawlTimestamp": { - "description": "Source page crawl timestamp.", - "format": "int64", - "type": "string" - }, - "docid": { - "description": "The docid field used to be \"required\", but it is now \"optional\" because it is not present when anchors are stored in webtable. When anchors are stored as part of docjoin files in the segment indexer, however, docid should be considered required.", - "format": "uint64", - "type": "string" - }, - "doclength": { - "description": "necessary for anything?", - "format": "int32", - "type": "integer" - }, - "homePageInfo": { - "description": "Information about if the source page is a home page. It can be one of the enum values defined in PerDocData::HomePageInfo (NOT_HOMEPAGE, NOT_TRUSTED, PARTIALLY_TRUSTED, and FULLY_TRUSTED).", - "format": "int32", - "type": "integer" - }, - "indyrank": { - "description": "uint16 scale", - "format": "int32", - "type": "integer" - }, - "ipaddr": { - "description": "DEPRECATED, use packed_ipaddress", - "format": "int32", - "type": "integer" - }, - "language": { - "description": "default -\u003e English", - "format": "int32", - "type": "integer" - }, - "linkhash": { - "description": "0 -\u003e no hash", - "format": "uint64", - "type": "string" - }, - "localCountryCodes": { - "description": "Countries to which the source page is local/most relevant; stored as III identifiers for country/region codes (see http://go/iii).", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "nsr": { - "description": "This NSR value has range [0,1000] and is the original value [0.0,1.0] multiplied by 1000 rounded to an integer.", - "format": "uint32", - "type": "integer" - }, - "outdegree": { - "format": "int32", - "type": "integer" - }, - "outsites": { - "description": "approx num of pointed-to sites", - "format": "int32", - "type": "integer" - }, - "packedIpaddress": { - "description": "string in IPAddress::ToPackedString() format.", - "format": "byte", - "type": "string" - }, - "pageTags": { - "description": "Page tags are described by enum PageTag in PerDocData. Page tags are used in anchors to identify properties of the linking page. These are DEPRECATED: in the future, use link_tags instead. DEPRECATED", + "weightedSchemaProperties": { + "description": "List of schema and property name. Allows a maximum of 10 schemas to be specified for relevance boosting.", "items": { - "format": "int32", - "type": "integer" + "$ref": "GoogleCloudContentwarehouseV1WeightedSchemaProperty" }, "type": "array" - }, - "pagerank": { - "description": "uint16 scale", - "format": "int32", - "type": "integer" - }, - "pagerankNs": { - "description": "unit16 scale", - "format": "int32", - "type": "integer" - }, - "seglanguage": { - "description": "DEPRECATED", - "format": "int32", - "type": "integer" - }, - "site": { - "type": "string" - }, - "spamrank": { - "description": "uint16 scale", - "format": "int32", - "type": "integer" - }, - "spamscore1": { - "description": "deprecated, to be removed after October 20. 0-127 scale", - "format": "int32", - "type": "integer" - }, - "spamscore2": { - "description": "0-127 scale", - "format": "int32", - "type": "integer" - }, - "webtableKey": { - "description": "Webtable key of source", - "type": "string" } }, "type": "object" }, - "AnchorsRedundantAnchorInfo": { - "description": "NOTE: in docjoins, the following anchor sampling information is only ## available in the first record of a document (under the same docid). The total number of redundant anchors dropped per (domain, text) in linkextractor. If we receive a large number of anchors from a particular domain, then we'll throw out all but a sampling of them from that domain. The data is sorted by the (domain,text) pairs. This field is not populated by Alexandria, which uses cdoc.anchor_stats instead.", - "id": "AnchorsRedundantAnchorInfo", + "GoogleCloudContentwarehouseV1DataUpdateAction": { + "description": "Represents the action responsible for properties update operations.", + "id": "GoogleCloudContentwarehouseV1DataUpdateAction", "properties": { - "anchorsDropped": { - "format": "int64", - "type": "string" - }, - "domain": { - "type": "string" - }, - "text": { - "type": "string" + "entries": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of (K, V) -\u003e (valid name of the field, new value of the field) E.g., (\"age\", \"60\") entry triggers update of field age with a value of 60. If the field is not present then new entry is added. During update action execution, value strings will be casted to appropriate types.", + "type": "object" } }, "type": "object" }, - "AppsDynamiteCustomerId": { - "description": "Represents a GSuite customer ID. Obfuscated with CustomerIdObfuscator.", - "id": "AppsDynamiteCustomerId", + "GoogleCloudContentwarehouseV1DataValidationAction": { + "description": "Represents the action responsible for data validation operations.", + "id": "GoogleCloudContentwarehouseV1DataValidationAction", "properties": { - "customerId": { - "type": "string" + "conditions": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of (K, V) -\u003e (field, string condition to be evaluated on the field) E.g., (\"age\", \"age \u003e 18 \u0026\u0026 age \u003c 60\") entry triggers validation of field age with the given condition. Map entries will be ANDed during validation.", + "type": "object" } }, "type": "object" }, - "AppsDynamiteSharedOrganizationInfo": { - "description": "Contains info about the entity that something is, or is owned by.", - "id": "AppsDynamiteSharedOrganizationInfo", + "GoogleCloudContentwarehouseV1DateTimeArray": { + "description": "DateTime values.", + "id": "GoogleCloudContentwarehouseV1DateTimeArray", "properties": { - "consumerInfo": { - "$ref": "AppsDynamiteSharedOrganizationInfoConsumerInfo" - }, - "customerInfo": { - "$ref": "AppsDynamiteSharedOrganizationInfoCustomerInfo" + "values": { + "description": "List of datetime values. Both OffsetDateTime and ZonedDateTime are supported.", + "items": { + "$ref": "GoogleTypeDateTime" + }, + "type": "array" } }, "type": "object" }, - "AppsDynamiteSharedOrganizationInfoConsumerInfo": { - "description": "Intentionally empty. Used to disambiguate consumer and customer use cases in oneof below.", - "id": "AppsDynamiteSharedOrganizationInfoConsumerInfo", + "GoogleCloudContentwarehouseV1DateTimeTypeOptions": { + "description": "Configurations for a date time property.", + "id": "GoogleCloudContentwarehouseV1DateTimeTypeOptions", "properties": {}, "type": "object" }, - "AppsDynamiteSharedOrganizationInfoCustomerInfo": { - "id": "AppsDynamiteSharedOrganizationInfoCustomerInfo", + "GoogleCloudContentwarehouseV1DeleteDocumentAction": { + "description": "Represents the action responsible for deleting the document.", + "id": "GoogleCloudContentwarehouseV1DeleteDocumentAction", "properties": { - "customerId": { - "$ref": "AppsDynamiteCustomerId" + "enableHardDelete": { + "description": "Boolean field to select between hard vs soft delete options. Set 'true' for 'hard delete' and 'false' for 'soft delete'.", + "type": "boolean" } }, "type": "object" }, - "AppsDynamiteSharedSegmentedMembershipCount": { - "description": "Contains info on membership count for member types: HUMAN_USER, APP_USER \u0026 ROSTER_MEMBER different states: INVITED, JOINED", - "id": "AppsDynamiteSharedSegmentedMembershipCount", + "GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest": { + "description": "Request message for DocumentLinkService.DeleteDocumentLink.", + "id": "GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest", "properties": { - "memberType": { - "enum": [ - "MEMBER_TYPE_UNSPECIFIED", - "HUMAN_USER", - "ROSTER_MEMBER" - ], - "enumDescriptions": [ - "default value", - "member is a human user", - "member is a roster" - ], - "type": "string" - }, - "membershipCount": { - "description": "count of members with given type and state", - "format": "int32", - "type": "integer" - }, - "membershipState": { - "enum": [ - "MEMBER_UNKNOWN", - "MEMBER_INVITED", - "MEMBER_JOINED", - "MEMBER_NOT_A_MEMBER", - "MEMBER_FAILED" - ], - "enumDescriptions": [ - "Default state, do not use", - "An invitation to the space has been sent", - "User has joined the space", - "User is not a member", - "This state should never be stored in Spanner. It is a state for responses to the clients to indicate that membership mutations have failed and the member is in its previous state." - ], - "type": "string" + "requestMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", + "description": "The meta information collected about the document creator, used to enforce access control for the service." } }, "type": "object" }, - "AppsDynamiteSharedSegmentedMembershipCounts": { - "id": "AppsDynamiteSharedSegmentedMembershipCounts", + "GoogleCloudContentwarehouseV1DeleteDocumentRequest": { + "description": "Request message for DocumentService.DeleteDocument.", + "id": "GoogleCloudContentwarehouseV1DeleteDocumentRequest", "properties": { - "value": { - "items": { - "$ref": "AppsDynamiteSharedSegmentedMembershipCount" - }, - "type": "array" + "requestMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", + "description": "The meta information collected about the end user, used to enforce access control for the service." } }, "type": "object" }, - "AppsPeopleActivityBackendDestinationStream": { - "description": "A DestinationStream is a /namespace/id[0]/id[1]/.../id[n] that represents a collection of Activities. Example destinations: -The Profile Stream on http://plus.google.com/+JohnDoe/posts -A Square Stream on http://plus.google.com/squares/123 -A \"comment Stream\" (Fountain) on http://www.youtube.com/watch?id=123 It's possible for a single Activity to show in each of these destinations - and it might behave/look slightly differently for each one. Destinations can have their own business logic associated with them at both write-time and read-time server-side (these are documented below). Each DestinationStream is indexed and can be retrieved using the GetDestinationStreamRequest. For the repeated ID space indexing happens at all levels, e.g. if you have: /square/123/abc /square/123/efd /square/456 You can fetch /square/123/abc directly or /square/123 (which includes all Activities in both /square/123/abc and /square/123/efd), or even /square which retrieves all Activities in the Square namespace (visible for that user). On the storage layer, we represent DestinationStream as Channel (http://cs/#google3/social/common/channel/channel.proto), since the storage does not have the concept of a Stream. Both terms are used interchangeably within the service layer, but client of Social Infrastructure should use the term DestinationStream. Next ID: 3", - "id": "AppsPeopleActivityBackendDestinationStream", + "GoogleCloudContentwarehouseV1Document": { + "description": "Defines the structure for content warehouse document proto.", + "id": "GoogleCloudContentwarehouseV1Document", "properties": { - "id": { - "description": "The hierarchy of IDs. Each individual ID is \"flat\" and the repeated list defines the hierarchy. Namespaces define the \"validity\" of this hierachy (depth, naming convention, etc) and the server will reject invalid IDs.", - "items": { - "type": "string" - }, - "type": "array" + "cloudAiDocument": { + "$ref": "GoogleCloudDocumentaiV1Document", + "description": "Document AI format to save the structured content, including OCR." }, - "namespace": { + "contentCategory": { + "description": "Indicates the category (image, audio, video etc.) of the original content.", "enum": [ - "UNKNOWN_DESTINATION_NAMESPACE", - "SQUARES", - "FOUNTAIN", - "PROFILE", - "COLLEXIONS", - "TEST", - "HIGHLIGHT", - "SOCIETY", - "MEMEGEN", - "PHOTOS", - "SUPPLY_CHAIN_CENTRAL", - "PAISA", - "SOCIETY_CHAT", - "PLUS_ENTERPRISE_LOG", - "SEARCH_UGC", - "LOUPE", - "MINDSEARCH", - "SOS_LIVE_COMMENTS", - "SBE_LOADTEST", - "SYSTEM1", - "G_PLUS", - "YOUTUBE", - "EVENTS", - "DEPRECATED_COLLECTIONS", - "REVIEWS", - "BACKSTAGE", - "SPACES" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true + "CONTENT_CATEGORY_UNSPECIFIED", + "CONTENT_CATEGORY_IMAGE", + "CONTENT_CATEGORY_AUDIO", + "CONTENT_CATEGORY_VIDEO" ], "enumDescriptions": [ - "To prevent issues with out-of-sync clients sending unexpected values.", - "Use for G+ community. The ID is the square gaia id. If this is a square substream, second ID is the substream stream ID. Write-time logic: -Verify that the AUTHOR is a member of this Square. Read-time logic: -Fetch the name of the Square and substream.", - "For Blogger Fountain, the ID is the canonical URL of the site. For Distiller, the ID is \"youtube\"/channel_id/video_id. For Distiller Discussion Page, the ID is \"youtube\"/channel_id/\"channel\". For Distiller Private Msg, the ID is \"youtube\"/channel_id/\"private\". For Backstage, the ID is \"youtube\"/channel_id/\"backstage\". For Live, the ID is \"youtube\"/channel_id/\"live\"/\"chat\" and \"youtube\"/channel_id/video_id/\"live\"/\"chat\".", - "Used for Profile Stream fetches. The ID is the (decimal) Gaia ID of the user whose profile is being fetched.", - "Used for Collexions feature (go/g+c) ID is the Collexion ID to which the post is assigned. These IDs are allocated from their own id space maintained via UniqueId. They are NOT gaia ids, nor do they need to be used in conjunction with a gaia id when identifying a collection. In general a post will be assigned to at most 1 collexion, however there do exist corner cases where multi-inclusion can occur.", - "Used for test data for clients to prototype with. This should only ever be used in the SBE_PLAYGROUND corpus (go/sbe-playground), or in tests.", - "Used for Search Highlight (go/seng-highlight). The ID is the account id to which a highlight belongs.", - "Used for Society (go/society) ID is an s2 cell id (go/s2), optionally with an additional ID of a \"topic\" string within that cell.", - "Used for Memegen integration with SBE (go/memegen-sbe-onboarding) The ID is \"meme\" followed by the meme id to which a comment belongs.", - "Used for Photos integration with SBE (go/envelope-comments-design-doc)", - "Used for Supply Chain Central commenting capability (go/scc-comment). ID format: - For purchase order app: resource/purchase_order//line_item/ - For data exchange app: application/data_exchange/report/", - "Used for Paisa integration with SBE (go/paisa-stanza-plan)", - "Use for Society Chat (http://go/society-chat). The ID format is /society/users/private/.", - "Use for G+ Enterprise Log API Event API (http://go/gplus_interaction_event_sync_queue) The ID format is /enterprise//", - "Used for UGC for knowledge (go/knowledge-ugc). The ID format is /livestream/sports/", - "Loupe go/sbe-loupe-requirements.", - "Mindsearch go/india-qa.", - "Used for SOS Live comments (go/live-comments-sos-alerts). The ID format is /livestream/sos/", - "Used for SBE loadtests.", - "Used for System 1 (go/sys1-sbe)", - "Use if you want the Activity to show in the regular G+ product, i.e. the main Stream, user's profile streams, the G+ search stream, etc. No ID should be used with this DestinationNamespace.", - "Used to serve consumption stream on Youtube homepage. The stream is essentially a user's consumption stream with restricts set during write-time indexing such that only activities with Youtube video are retrieved during read-time. Deprecated - Do not use.", - "DEPRECATED - once used for the G+ Events feature, but never launched.", - "It is deprecated and replaced by COLLEXIONS.", - "Used for Review Stream fetches. The ID is the canonical representation of the entity being reviewed (for place reviews, it is cluster_id).", - "Deprecated - do not use. Backstage uses FOUNTAIN DestinationNamespace.", - "Deprecated. Used for Spaces (go/spaces) ID is the space ID in which the post is made. Posts will reside in exactly one space." + "No category is specified.", + "Content is of image type.", + "Content is of audio type.", + "Content is of video type." ], "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleActivityStreamqualityDistillerEngagements": { - "description": "Stores the number of different kind of user engagement actions. Abuse Report is also consider an engagement. Currently we only have abuse report engagements but in future we might add other types of engagements as well.", - "id": "AppsPeopleActivityStreamqualityDistillerEngagements", - "properties": { - "reportCompromised": { - "description": "Corresponds on \"This account might be compromised or hacked\" reporting action.", - "format": "int64", - "type": "string" }, - "reportHarassment": { - "description": "Corresponds on \"Harassment or bullying\" reporting action.", - "format": "int64", + "createTime": { + "description": "Output only. The time when the document is created.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "reportHate": { - "description": "Corresponds on \"Hate speach or graphic violence\" reporting action.", - "format": "int64", + "creator": { + "description": "The user who creates the document.", "type": "string" }, - "reportPorn": { - "description": "Corresponds on \"Pornography or sexually explicit material\" reporting action.", - "format": "int64", + "displayName": { + "description": "Required. Display name of the document given by the user. This name will be displayed in the UI. Customer can populate this field with the name of the document. This differs from the 'title' field as 'title' is optional and stores the top heading in the document.", "type": "string" }, - "reportSpam": { - "description": "Corresponds on \"Unwanted commercial content or spam\" reporting action.", - "format": "int64", + "displayUri": { + "description": "Uri to display the document, for example, in the UI.", "type": "string" }, - "serveCount": { - "deprecated": true, - "description": "Number of times this activity was served out of asbe/stanza.", - "format": "int64", + "dispositionTime": { + "description": "Output only. If linked to a Collection with RetentionPolicy, the date when the document becomes mutable.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "timeSec": { - "description": "Timestamp in seconds for which time this record is valid.", - "format": "int64", + "documentSchemaName": { + "description": "The Document schema name. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.", "type": "string" }, - "ytThumbsDown": { - "description": "Corresponds on Distiller comment thumbs down action.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiAbout": { - "id": "AppsPeopleOzExternalMergedpeopleapiAbout", - "properties": { - "contentType": { - "enum": [ - "TEXT_PLAIN", - "TEXT_HTML" - ], - "enumDescriptions": [ - "", - "" - ], + "inlineRawDocument": { + "description": "Raw document content.", + "format": "byte", "type": "string" }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "safeHtmlValue": { - "$ref": "WebutilHtmlTypesSafeHtmlProto", - "description": "Sanitized HTML value that is only populated when the SANITIZE_ABOUT_HTML extension is requested." + "legalHold": { + "description": "Output only. Indicates if the document has a legal hold on it.", + "readOnly": true, + "type": "boolean" }, - "value": { + "name": { + "description": "The resource name of the document. Format: projects/{project_number}/locations/{location}/documents/{document_id}. The name is ignored when creating a document.", "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData": { - "description": "Extension data for use in AboutMe.", - "id": "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData", - "properties": { - "nameDisplayOptions": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions" }, - "photosCompareData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData" + "plainText": { + "description": "Other document format, such as PPTX, XLXS", + "type": "string" }, - "profileEditability": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability" + "properties": { + "description": "List of values that are user supplied metadata.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1Property" + }, + "type": "array" }, - "profileNameModificationHistory": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions": { - "description": "See NameDisplayOptions in //depot/google3/focus/backend/proto/backend.proto. See also go/nickname-mess.", - "id": "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions", - "properties": { - "nicknameOption": { + "rawDocumentFileType": { + "description": "This is used when DocAI was not used to load the document and parsing/ extracting is needed for the inline_raw_document. For example, if inline_raw_document is the byte representation of a PDF file, then this should be set to: RAW_DOCUMENT_FILE_TYPE_PDF.", "enum": [ - "UNKNOWN_NICKNAME_OPTION", - "QUOTED_NICKNAME", - "PAREN_NICKNAME" + "RAW_DOCUMENT_FILE_TYPE_UNSPECIFIED", + "RAW_DOCUMENT_FILE_TYPE_PDF", + "RAW_DOCUMENT_FILE_TYPE_DOCX", + "RAW_DOCUMENT_FILE_TYPE_XLSX", + "RAW_DOCUMENT_FILE_TYPE_PPTX", + "RAW_DOCUMENT_FILE_TYPE_TEXT", + "RAW_DOCUMENT_FILE_TYPE_TIFF" ], "enumDescriptions": [ - "", - "Include the nickname, in quotes, in the display name. In English, the nickname appears between the given and family names. Example: Victor \"Pug\" Henry.", - "Include the nickname, in parentheses, in the display name. In English, the nickname appears after the given and family names. Example: Victor Henry (Pug)." + "No raw document specified or it is non-parsable", + "Adobe PDF format", + "Microsoft Word format", + "Microsoft Excel format", + "Microsoft Powerpoint format", + "UTF-8 encoded text format", + "TIFF or TIF image file format" ], "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData": { - "id": "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData", - "properties": { - "diffData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData" }, - "highResUrl": { + "rawDocumentPath": { + "description": "Raw document file in Cloud Storage path.", + "type": "string" + }, + "referenceId": { + "description": "The reference ID set by customers. Must be unique per project and location.", "type": "string" }, - "inconsistentPhoto": { - "description": "True if photo diff is greater than 0.01 on any color band, or if the user has a low res photo but no high res photo. This field is primarily for use in About Me and for other uses it's recommended to use the DiffData values directly instead. The cutoff is based on a heuristic determined in go/comparing-profile-photos", + "textExtractionDisabled": { + "deprecated": true, + "description": "If true, text extraction will not be performed.", "type": "boolean" }, - "lowResData": { - "description": "Only present if the photo diff is greater than 0.01 on any color band.", - "format": "byte", - "type": "string" + "textExtractionEnabled": { + "description": "If true, text extraction will be performed.", + "type": "boolean" }, - "lowResUrl": { + "title": { + "description": "Title that describes the document. This can be the top heading or text that describes the document.", "type": "string" }, - "monogramUrl": { + "updateTime": { + "description": "Output only. The time when the document is last updated.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "privateLowResAcl": { - "description": "True if the low-res photo has a private ACL set.", - "type": "boolean" + "updater": { + "description": "The user who lastly updates the document.", + "type": "string" } }, "type": "object" }, - "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData": { - "id": "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData", + "GoogleCloudContentwarehouseV1DocumentLink": { + "description": "A document-link between source and target document.", + "id": "GoogleCloudContentwarehouseV1DocumentLink", "properties": { - "blueDiff": { - "format": "float", - "type": "number" + "createTime": { + "description": "Output only. The time when the documentLink is created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" }, - "greenDiff": { - "format": "float", - "type": "number" + "description": { + "description": "Description of this document-link.", + "type": "string" }, - "redDiff": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability": { - "description": "See UserEditedLockedMask in //depot/google3/focus/backend/proto/backend.proto.", - "id": "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability", - "properties": { - "lockedField": { - "description": "Read-only set of zero or more field paths that are locked for update on this person, such as \"person.name\", \"person.email\", etc. The set of fields is only populated for the requester's profile. Fields in the set cannot be edited, added, or deleted from the profile. Attempting to update any of these fields will result in an exception.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" + "name": { + "description": "Name of this document-link. It is required that the parent derived form the name to be consistent with the source document reference. Otherwise an exception will be thrown. Format: projects/{project_number}/locations/{location}/documents/{source_document_id}/documentLinks/{document_link_id}.", + "type": "string" + }, + "sourceDocumentReference": { + "$ref": "GoogleCloudContentwarehouseV1DocumentReference", + "description": "Document references of the source document." + }, + "state": { + "description": "The state of the documentlink. If target node has been deleted, the link is marked as invalid. Removing a source node will result in removal of all associated links.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "SOFT_DELETED" + ], + "enumDescriptions": [ + "Unknown state of documentlink.", + "The documentlink has both source and target documents detected.", + "Target document is deleted, and mark the documentlink as soft-deleted." + ], + "type": "string" + }, + "targetDocumentReference": { + "$ref": "GoogleCloudContentwarehouseV1DocumentReference", + "description": "Document references of the target document." + }, + "updateTime": { + "description": "Output only. The time when the documentLink is last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" }, - "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory": { - "description": "See ABUSE_NAME_LAST_MODIFIED in //depot/google3/focus/backend/proto/backend.proto which maps to //depot/google3/focus/proto/profileattribute.proto", - "id": "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory", + "GoogleCloudContentwarehouseV1DocumentQuery": { + "id": "GoogleCloudContentwarehouseV1DocumentQuery", "properties": { - "computedNameChangesRemaining": { - "description": "The number of name changes remaining at RPC request time. This can be more than name_changes_remaining, if user hasn't changed name for some time and accrued quota since last change.", - "format": "int32", - "type": "integer" + "customPropertyFilter": { + "deprecated": true, + "description": "This filter specifies a structured syntax to match against the [PropertyDefinition].is_filterable marked as `true`. The syntax for this expression is a subset of SQL syntax. Supported operators are: `=`, `!=`, `\u003c`, `\u003c=`, `\u003e`, and `\u003e=` where the left of the operator is a property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Supported functions are `LOWER([property_name])` to perform a case insensitive match and `EMPTY([property_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR NOT D) AND E\"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be \u003c 6000 bytes in length. Sample Query: `(LOWER(driving_license)=\"class \\\"a\\\"\" OR EMPTY(driving_license)) AND driving_years \u003e 10`", + "type": "string" }, - "computedNicknameChangesRemaining": { - "description": "The number of nickname changes remaining at RPC request time. This can be more than nickname_changes_remaining, if user hasn't changed nickname for some time and accrued quota since last change.", - "format": "int32", - "type": "integer" + "customWeightsMetadata": { + "$ref": "GoogleCloudContentwarehouseV1CustomWeightsMetadata", + "description": "To support the custom weighting across document schemas, customers need to provide the properties to be used to boost the ranking in the search request. For a search query with CustomWeightsMetadata specified, only the RetrievalImportance for the properties in the CustomWeightsMetadata will be honored." }, - "nameChangesRemaining": { - "description": "The number of name changes remaining at the time the name was last modified.", - "format": "int32", - "type": "integer" + "documentCreatorFilter": { + "description": "The exact creator(s) of the documents to search against. If a value isn't specified, documents within the search results are associated with any creator. If multiple values are specified, documents within the search results may be associated with any of the specified creators.", + "items": { + "type": "string" + }, + "type": "array" }, - "nameLastModified": { - "description": "The last time the profile name was modified in milliseconds UTC.", - "format": "int64", + "documentNameFilter": { + "description": "Search the documents in the list. Format: projects/{project_number}/locations/{location}/documents/{document_id}.", + "items": { + "type": "string" + }, + "type": "array" + }, + "documentSchemaNames": { + "description": "This filter specifies the exact document schema Document.document_schema_name of the documents to search against. If a value isn't specified, documents within the search results are associated with any schema. If multiple values are specified, documents within the search results may be associated with any of the specified schemas. At most 20 document schema names are allowed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "fileTypeFilter": { + "$ref": "GoogleCloudContentwarehouseV1FileTypeFilter", + "description": "This filter specifies the types of files to return: ALL, FOLDER, or FILE. If FOLDER or FILE is specified, then only either folders or files will be returned, respectively. If ALL is specified, both folders and files will be returned. If no value is specified, ALL files will be returned." + }, + "folderNameFilter": { + "description": "Search all the documents under this specified folder. Format: projects/{project_number}/locations/{location}/documents/{document_id}.", "type": "string" }, - "nicknameChangesRemaining": { - "description": "The number of nickname changes remaining at the time the nickname was last modified.", - "format": "int32", - "type": "integer" + "isNlQuery": { + "description": "Experimental, do not use. If the query is a natural language question. False by default. If true, then the question-answering feature will be used instead of search, and `result_count` in SearchDocumentsRequest must be set. In addition, all other input fields related to search (pagination, histograms, etc.) will be ignored.", + "type": "boolean" }, - "nicknameLastModified": { - "description": "The last time the profile nickname was modified in milliseconds UTC.", - "format": "int64", + "propertyFilter": { + "description": "This filter specifies a structured syntax to match against the PropertyDefinition.is_filterable marked as `true`. The relationship between the PropertyFilters is OR.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1PropertyFilter" + }, + "type": "array" + }, + "query": { + "description": "The query string that matches against the full text of the document and the searchable properties. The query partially supports [Google AIP style syntax](https://google.aip.dev/160). Specifically, the query supports literals, logical operators, negation operators, comparison operators, and functions. Literals: A bare literal value (examples: \"42\", \"Hugo\") is a value to be matched against. It searches over the full text of the document and the searchable properties. Logical operators: \"AND\", \"and\", \"OR\", and \"or\" are binary logical operators (example: \"engineer OR developer\"). Negation operators: \"NOT\" and \"!\" are negation operators (example: \"NOT software\"). Comparison operators: support the binary comparison operators =, !=, \u003c, \u003e, \u003c= and \u003e= for string, numeric, enum, boolean. Also support like operator `~~` for string. It provides semantic search functionality by parsing, stemming and doing synonyms expansion against the input query. To specify a property in the query, the left hand side expression in the comparison must be the property ID including the parent. The right hand side must be literals. For example: \"\\\"projects/123/locations/us\\\".property_a \u003c 1\" matches results whose \"property_a\" is less than 1 in project 123 and us location. The literals and comparison expression can be connected in a single query (example: \"software engineer \\\"projects/123/locations/us\\\".salary \u003e 100\"). Functions: supported functions are `LOWER([property_name])` to perform a case insensitive match and `EMPTY([property_name])` to filter on the existence of a key. Support nested expressions connected using parenthesis and logical operators. The default logical operators is `AND` if there is no operators between expressions. The query can be used with other filters e.g. `time_filters` and `folder_name_filter`. They are connected with `AND` operator under the hood. The maximum number of allowed characters is 255.", "type": "string" }, - "quotaEnforcementStatus": { - "enum": [ - "UNKNOWN_QUOTA_ENFORCEMENT_STATUS", - "ENFORCED", - "NOT_ENFORCED", - "NOT_APPLICABLE" - ], - "enumDescriptions": [ - "", - "Name change quota is enforced.", - "Name change quota exists but is not enforced. This is used for users suspended due to abusive names, where users are allowed to change their names back to non-abusive state without being charged against the quota.", - "Name change quota does not apply. This is used for premium dasher users." - ], + "queryContext": { + "description": "For custom synonyms. Customers provide the synonyms based on context. One customer can provide multiple set of synonyms based on different context. The search query will be expanded based on the custom synonyms of the query context set. By default, no custom synonyms wll be applied if no query context is provided. It is not supported for CMEK compliant deployment.", + "items": { + "type": "string" + }, + "type": "array" + }, + "timeFilters": { + "description": "Documents created/updated within a range specified by this filter are searched against.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1TimeFilter" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1DocumentReference": { + "description": "References to the documents.", + "id": "GoogleCloudContentwarehouseV1DocumentReference", + "properties": { + "createTime": { + "description": "Output only. The time when the document is created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. The time when the document is deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "display_name of the referenced document; this name does not need to be consistent to the display_name in the Document proto, depending on the ACL constraint.", + "type": "string" + }, + "documentIsFolder": { + "description": "The document type of the document being referenced.", + "type": "boolean" + }, + "documentIsLegalHoldFolder": { + "description": "Document is a folder with legal hold.", + "type": "boolean" + }, + "documentIsRetentionFolder": { + "description": "Document is a folder with retention policy.", + "type": "boolean" + }, + "documentName": { + "description": "Required. Name of the referenced document.", + "type": "string" + }, + "snippet": { + "description": "Stores the subset of the referenced document's content. This is useful to allow user peek the information of the referenced document.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the document is last updated.", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, "type": "object" }, - "AppsPeopleOzExternalMergedpeopleapiAccountEmail": { - "id": "AppsPeopleOzExternalMergedpeopleapiAccountEmail", + "GoogleCloudContentwarehouseV1DocumentSchema": { + "description": "A document schema used to define document structure.", + "id": "GoogleCloudContentwarehouseV1DocumentSchema", "properties": { - "email": { + "createTime": { + "description": "Output only. The time when the document schema is created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Schema description.", + "type": "string" + }, + "displayName": { + "description": "Required. Name of the schema given by the user. Must be unique per project.", + "type": "string" + }, + "documentIsFolder": { + "description": "Document Type, true refers the document is a folder, otherwise it is a typical document.", + "type": "boolean" + }, + "name": { + "description": "The resource name of the document schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. The name is ignored when creating a document schema.", + "type": "string" + }, + "propertyDefinitions": { + "description": "Document details.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1PropertyDefinition" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The time when the document schema is last updated.", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, "type": "object" }, - "AppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo": { - "description": "Additional information about a container. TO BE DELETED: replaced by DeviceContactInfo.", - "id": "AppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo", + "GoogleCloudContentwarehouseV1EnumArray": { + "description": "Enum values.", + "id": "GoogleCloudContentwarehouseV1EnumArray", "properties": { - "rawDeviceContactInfo": { - "deprecated": true, - "description": "When the container is a DEVICE_CONTACT, this list provides account information from the raw contact which is the source of this field.", + "values": { + "description": "List of enum values.", "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo" + "type": "string" }, "type": "array" } }, "type": "object" }, - "AppsPeopleOzExternalMergedpeopleapiAddress": { - "id": "AppsPeopleOzExternalMergedpeopleapiAddress", + "GoogleCloudContentwarehouseV1EnumTypeOptions": { + "description": "Configurations for an enum/categorical property.", + "id": "GoogleCloudContentwarehouseV1EnumTypeOptions", "properties": { - "country": { - "type": "string" + "possibleValues": { + "description": "Required. List of possible enum values.", + "items": { + "type": "string" + }, + "type": "array" }, - "countryCode": { + "validationCheckDisabled": { + "description": "Make sure the Enum property value provided in the document is in the possile value list during document creation. The validation check runs by default.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1EnumValue": { + "description": "Represents the string value of the enum field.", + "id": "GoogleCloudContentwarehouseV1EnumValue", + "properties": { + "value": { + "description": "String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1ExportToCdwPipeline": { + "description": "The configuration of exporting documents from the Document Warehouse to CDW pipeline.", + "id": "GoogleCloudContentwarehouseV1ExportToCdwPipeline", + "properties": { + "docAiDataset": { + "description": "Optional. The CDW dataset resource name. This field is optional. If not set, the documents will be exported to Cloud Storage only. Format: projects/{project}/locations/{location}/processors/{processor}/dataset", "type": "string" }, - "encodedPlaceId": { - "description": "FeatureId associated with the address. The format is the same as that used for ids in PLACE containers in SourceIdentity.", + "documents": { + "description": "The list of all the resource names of the documents to be processed. Format: projects/{project_number}/locations/{location}/documents/{document_id}.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exportFolderPath": { + "description": "The Cloud Storage folder path used to store the exported documents before being sent to CDW. Format: `gs:///`.", "type": "string" }, - "extendedAddress": { + "trainingSplitRatio": { + "description": "Ratio of training dataset split. When importing into Document AI Workbench, documents will be automatically split into training and test split category with the specified ratio. This field is required if doc_ai_dataset is set.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1FetchAclRequest": { + "description": "Request message for DocumentService.FetchAcl", + "id": "GoogleCloudContentwarehouseV1FetchAclRequest", + "properties": { + "projectOwner": { + "description": "For Get Project ACL only. Authorization check for end user will be ignored when project_owner=true.", + "type": "boolean" + }, + "requestMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", + "description": "The meta information collected about the end user, used to enforce access control for the service." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1FetchAclResponse": { + "description": "Response message for DocumentService.FetchAcl.", + "id": "GoogleCloudContentwarehouseV1FetchAclResponse", + "properties": { + "metadata": { + "$ref": "GoogleCloudContentwarehouseV1ResponseMetadata", + "description": "Additional information for the API invocation, such as the request tracking id." + }, + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "The IAM policy." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1FileTypeFilter": { + "description": "Filter for the specific types of documents returned.", + "id": "GoogleCloudContentwarehouseV1FileTypeFilter", + "properties": { + "fileType": { + "description": "The type of files to return.", + "enum": [ + "FILE_TYPE_UNSPECIFIED", + "ALL", + "FOLDER", + "DOCUMENT", + "ROOT_FOLDER" + ], + "enumDescriptions": [ + "Default document type. If set, disables the filter.", + "Returns all document types, including folders.", + "Returns only folders.", + "Returns only non-folder documents.", + "Returns only root folders" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1FloatArray": { + "description": "Float values.", + "id": "GoogleCloudContentwarehouseV1FloatArray", + "properties": { + "values": { + "description": "List of float values.", + "items": { + "format": "float", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1FloatTypeOptions": { + "description": "Configurations for a float property.", + "id": "GoogleCloudContentwarehouseV1FloatTypeOptions", + "properties": {}, + "type": "object" + }, + "GoogleCloudContentwarehouseV1GcsIngestPipeline": { + "description": "The configuration of the Cloud Storage Ingestion pipeline.", + "id": "GoogleCloudContentwarehouseV1GcsIngestPipeline", + "properties": { + "inputPath": { + "description": "The input Cloud Storage folder. All files under this folder will be imported to Document Warehouse. Format: `gs:///`.", "type": "string" }, - "formatted": { + "pipelineConfig": { + "$ref": "GoogleCloudContentwarehouseV1IngestPipelineConfig", + "description": "Optional. The config for the Cloud Storage Ingestion pipeline. It provides additional customization options to run the pipeline and can be skipped if it is not applicable." + }, + "processorType": { + "description": "The Doc AI processor type name. Only used when the format of ingested files is Doc AI Document proto format.", "type": "string" }, - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", + "schemaName": { + "description": "The Document Warehouse schema resource name. All documents processed by this pipeline will use this schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.", "type": "string" }, - "locality": { + "skipIngestedDocuments": { + "description": "The flag whether to skip ingested documents. If it is set to true, documents in Cloud Storage contains key \"status\" with value \"status=ingested\" in custom metadata will be skipped to ingest.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline": { + "description": "The configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.", + "id": "GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline", + "properties": { + "extractProcessorInfos": { + "description": "The extract processors information. One matched extract processor will be used to process documents based on the classify processor result. If no classify processor is specified, the first extract processor will be used.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1ProcessorInfo" + }, + "type": "array" + }, + "inputPath": { + "description": "The input Cloud Storage folder. All files under this folder will be imported to Document Warehouse. Format: `gs:///`.", "type": "string" }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" + "pipelineConfig": { + "$ref": "GoogleCloudContentwarehouseV1IngestPipelineConfig", + "description": "Optional. The config for the Cloud Storage Ingestion with DocAI Processors pipeline. It provides additional customization options to run the pipeline and can be skipped if it is not applicable." }, - "poBox": { + "processorResultsFolderPath": { + "description": "The Cloud Storage folder path used to store the raw results from processors. Format: `gs:///`.", "type": "string" }, - "pointSpec": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPointSpec" + "skipIngestedDocuments": { + "description": "The flag whether to skip ingested documents. If it is set to true, documents in Cloud Storage contains key \"status\" with value \"status=ingested\" in custom metadata will be skipped to ingest.", + "type": "boolean" }, - "postalCode": { + "splitClassifyProcessorInfo": { + "$ref": "GoogleCloudContentwarehouseV1ProcessorInfo", + "description": "The split and classify processor information. The split and classify result will be used to find a matched extract processor." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1GetDocumentRequest": { + "description": "Request message for DocumentService.GetDocument.", + "id": "GoogleCloudContentwarehouseV1GetDocumentRequest", + "properties": { + "requestMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", + "description": "The meta information collected about the end user, used to enforce access control for the service." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1HistogramQuery": { + "description": "The histogram request.", + "id": "GoogleCloudContentwarehouseV1HistogramQuery", + "properties": { + "filters": { + "$ref": "GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter", + "description": "Optional. Filter the result of histogram query by the property names. It only works with histogram query count('FilterableProperties'). It is an optional. It will perform histogram on all the property names for all the document schemas. Setting this field will have a better performance." + }, + "histogramQuery": { + "description": "An expression specifies a histogram request against matching documents for searches. See SearchDocumentsRequest.histogram_queries for details about syntax.", "type": "string" }, - "region": { + "requirePreciseResultSize": { + "description": "Controls if the histogram query requires the return of a precise count. Enable this flag may adversely impact performance. Defaults to true.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter": { + "id": "GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter", + "properties": { + "documentSchemas": { + "description": "This filter specifies the exact document schema(s) Document.document_schema_name to run histogram query against. It is optional. It will perform histogram for property names for all the document schemas if it is not set. At most 10 document schema names are allowed. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.", + "items": { + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "description": "It is optional. It will perform histogram for all the property names if it is not set. The properties need to be defined with the is_filterable flag set to true and the name of the property should be in the format: \"schemaId.propertyName\". The property needs to be defined in the schema. Example: the schema id is abc. Then the name of property for property MORTGAGE_TYPE will be \"abc.MORTGAGE_TYPE\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "yAxis": { + "description": "By default, the y_axis is HISTOGRAM_YAXIS_DOCUMENT if this field is not set.", + "enum": [ + "HISTOGRAM_YAXIS_DOCUMENT", + "HISTOGRAM_YAXIS_PROPERTY" + ], + "enumDescriptions": [ + "Count the documents per property name.", + "Count the properties per property name." + ], "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1HistogramQueryResult": { + "description": "Histogram result that matches HistogramQuery specified in searches.", + "id": "GoogleCloudContentwarehouseV1HistogramQueryResult", + "properties": { + "histogram": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "A map from the values of the facet associated with distinct values to the number of matching entries with corresponding value. The key format is: * (for string histogram) string values stored in the field.", + "type": "object" }, - "streetAddress": { + "histogramQuery": { + "description": "Requested histogram expression.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1IngestPipelineConfig": { + "description": "The ingestion pipeline config.", + "id": "GoogleCloudContentwarehouseV1IngestPipelineConfig", + "properties": { + "cloudFunction": { + "description": "The Cloud Function resource name. The Cloud Function needs to live inside consumer project and is accessible to Document AI Warehouse P4SA. Only Cloud Functions V2 is supported. Cloud function execution should complete within 5 minutes or this file ingestion may fail due to timeout. Format: `https://{region}-{project_id}.cloudfunctions.net/{cloud_function}` The following keys are available the request json payload. * display_name * properties * plain_text * reference_id * document_schema_name * raw_document_path * raw_document_file_type The following keys from the cloud function json response payload will be ingested to the Document AI Warehouse as part of Document proto content and/or related information. The original values will be overridden if any key is present in the response. * display_name * properties * plain_text * document_acl_policy * folder", "type": "string" }, - "type": { - "description": "The type of the address. The type can be free form or one of these predefined values: * `home` * `work` * `other`", + "documentAclPolicy": { + "$ref": "GoogleIamV1Policy", + "description": "The document level acl policy config. This refers to an Identity and Access (IAM) policy, which specifies access controls for all documents ingested by the pipeline. The role and members under the policy needs to be specified. The following roles are supported for document level acl control: * roles/contentwarehouse.documentAdmin * roles/contentwarehouse.documentEditor * roles/contentwarehouse.documentViewer The following members are supported for document level acl control: * user:user-email@example.com * group:group-email@example.com Note that for documents searched with LLM, only single level user or group acl check is supported." + }, + "enableDocumentTextExtraction": { + "description": "The document text extraction enabled flag. If the flag is set to true, DWH will perform text extraction on the raw document.", + "type": "boolean" + }, + "folder": { + "description": "Optional. The name of the folder to which all ingested documents will be linked during ingestion process. Format is `projects/{project}/locations/{location}/documents/{folder_id}`", "type": "string" } }, "type": "object" }, - "AppsPeopleOzExternalMergedpeopleapiAffinity": { - "description": "Similar to social.graph.storage.Affinity, but pared down to what the clients of the People API are interested in.", - "id": "AppsPeopleOzExternalMergedpeopleapiAffinity", + "GoogleCloudContentwarehouseV1InitializeProjectRequest": { + "description": "Request message for projectService.InitializeProject", + "id": "GoogleCloudContentwarehouseV1InitializeProjectRequest", "properties": { - "affinityMetadata": { - "$ref": "SocialGraphWireProtoPeopleapiAffinityMetadata", - "description": "Contains extra ranking information returned by DAS." + "accessControlMode": { + "description": "Required. The access control mode for accessing the customer data", + "enum": [ + "ACL_MODE_UNKNOWN", + "ACL_MODE_UNIVERSAL_ACCESS", + "ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_BYOID", + "ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_GCI" + ], + "enumDescriptions": [ + "This value is required by protobuf best practices", + "Universal Access: No document level access control.", + "Document level access control with customer own Identity Service.", + "Document level access control using Google Cloud Identity." + ], + "type": "string" }, - "affinityType": { + "databaseType": { + "description": "Required. The type of database used to store customer data", "enum": [ - "AFFINITY_TYPE_UNKNOWN", - "EMAIL_AUTOCOMPLETE", - "CONTACTS_PLUS_FREQUENTLY_CONTACTED", - "CHAT_AUTOCOMPLETE", - "GPLUS_AUTOCOMPLETE", - "GLASS_AFFINITY", - "PEOPLE_AUTOCOMPLETE_SOCIAL", - "FIELD_AUTOCOMPLETE_SOCIAL", - "CONTACTS_PLUS_EMAIL", - "PHOTOS_PEOPLE_TO_SHARE_WITH_SUGGESTIONS", - "PHOTOS_FIELDS_TO_SHARE_WITH_SUGGESTIONS", - "INBOX_AFFINITY", - "DYNAMITE_AFFINITY", - "PHOTOS_SUGGESTIONS_AFFINITY", - "PHOTOS_SUGGESTED_TARGETS", - "PHOTOS_ASSISTANT_SUGGESTIONS_AFFINITY", - "DRIVE_AUTOCOMPLETE", - "WALLET_PEOPLE_TO_PAY_SUGGESTIONS", - "CONTACTS_PLUS_CONTACT_CENTRIC", - "POMEROY_AFFINITY", - "CALENDAR_AFFINITY", - "SPACES_APP_PEOPLE_AFFINITY", - "HOMEROOM_AFFINITY", - "PEOPLE_PLAYGROUND_AFFINITY", - "FAMILY_AFFINITY", - "CONTACTS_ASSISTANT_SUGGESTED_CONTACTS", - "TRIPS_AFFINITY", - "GOOGLE_VOICE_AFFINITY", - "PHOTOS_FACE_AFFINITY", - "G3DOC_AUTOCOMPLETE", - "LOUPE_SUGGESTIONS_AFFINITY", - "MAPS_SHARING_AFFINITY", - "CLOUD_SEARCH_AFFINITY", - "YOUTUBE_UNPLUGGED", - "JAM_AFFINITY", - "ITEM_SUGGEST_AFFINITY", - "ISSUE_TRACKER_AFFINITY", - "APPS_ASSISTANT_AFFINITY", - "APDL_CONTACT_CENTRIC_DEFAULT_AFFINITY", - "APDL_PROFILE_CENTRIC_DEFAULT_AFFINITY", - "SOCIAL_RECOVERY", - "TEZ_AFFINITY", - "NEWS_AFFINITY", - "ALLO_AFFINITY", - "GPLUS_PEOPLE_RECOMMENDATIONS", - "GPLUS_PEOPLE_RECOMMENDATIONS_SAME_DOMAIN", - "DRIVE_AFFINITY", - "PODIUM_AFFINITY", - "ZOOM_SIGHTS_EMAIL_AFFINITY", - "AIRDROME_AFFINITY", - "HANGOUTS_MEET_AFFINITY", - "GALLERY_AFFINITY", - "AGSA_AFFINITY", - "PAY_AFFINITY", - "SAVES_AFFINITY", - "JASPER_AFFINITY", - "GOOGLE_HOME_APP_AFFINITY", - "TOPAZ_TEAMS_AFFINITY", - "DYNAMITE_OUT_OF_DOMAIN_AFFINITY", - "GOOGLE_VOICE_SIRI_EXTENSION_AFFINITY", - "COURSE_KIT_AFFINITY", - "FORMS_AFFINITY", - "NOVITAS_AFFINITY", - "GTI_PEER_INTERACTIONS_AFFINITY", - "ANDROID_EMERGENCY_AFFINITY", - "DATA_STUDIO_AFFINITY", - "SPUR_AFFINITY", - "PLAY_GAMES_SERVICES_AFFINITY", - "GROUPS_ADD_MEMBER_AFFINITY", - "DUO_AFFINITY", - "MY_BUSINESS_AFFINITY", - "GMAIL_COMPOSE", - "NON_GPLUS_AFFINITY", - "ABUSE_AFFINITY", - "ABUSE_AFFINITY_LITE", - "CALENDAR_PEEK_AFFINITY", - "HUB_CALL_AFFINITY", - "GSUITE_WORKFLOW_AFFINITY", - "VR_POLY_PRO_AFFINITY", - "TASKS_AFFINITY", - "GOOGLE_ONE_AFFINITY", - "TRAVEL_AFFINITY", - "GEO_DISCOVERY_FOLLOW_AFFINITY", - "GMAIL_WEB_AFFINITY", - "ASSISTANT_SETTINGS_WEB_UI_AFFINITY", - "ARTIFEX_AFFINITY", - "CONTACT_STORE_DEFAULT_AFFINITY", - "CONTACT_STORE_SELF_EXCLUSIVE", - "PHOTOS_FACE_STALE_AFFINITY", - "LANDSPEEDER_AFFINITY", - "GOOGLE_FI_AFFINITY", - "CONTACTS_PLUS_DOMAIN_ONLY", - "PHOTOS_SUGGESTED_TARGETS_IN_APP_ONLY", - "SOCIETY_AFFINITY", - "NANDHI_TEST_SCHEDULER_AFFINITY", - "HIJACKING_HIGH_RISK_AFFINITY", - "TRUECOLOURS_AFFINITY", - "ESPRESSO_AFFINITY", - "TAG_AFFINITY", - "CORPBOT_AFFINITY", - "SHOPPING_LIST_AFFINITY", - "INTEGRATION_PLATFORM_AFFINITY", - "HOT_ORDERS_UI_AFFINITY", - "TELLY_MOBILE_APP_AFFINITY", - "NGA_SUGGESTION_RESOLUTION_AFFINITY", - "DUC_COMPANION_AFFINITY", - "TOG_AFFINITY", - "ANDROID_SYSTEM_INTELLIGENCE_AFFINITY", - "EARTH_AFFINITY", - "SHORTCUT_AFFINITY", - "CHROME_OS_SCALING_AFFINITY", - "SHOWTIME_AFFINITY", - "PLAY_GAMES_SERVICES_EXPERIMENTAL", - "GUPPEEPS_AFFINITY", - "NEST_AFFINITY", - "BLOGGER_AFFINITY", - "INDIVIDUAL_OUTGOING_INTERACTIONS_RECENCY_RANK", - "ASSISTANT_TOOLCHAIN_AFFINITY", - "CHAT_CONSERVER_FAVORITE_CONTACTS_AFFINITY", - "CHAT_CONSERVER_INVITEE_AFFINITY", - "GANTRY_AFFINITY", - "KINTARO_AFFINITY", - "KEEP_AFFINITY", - "INCIDENTFLOW_AFFINITY", - "DRIVE_MENTION_AFFINITY", - "DRIVE_LOOKUP_AFFINITY", - "PODCASTS_MANAGER_AFFINITY", - "EMAIL_AUTOCOMPLETE_GG", - "ONE_REVIEWER_TOOL_AFFINITY", - "ASSISTANT_FAMILY_VERTICAL_AFFINITY", - "STADIA_AFFINITY", - "ATLAS_AFFINITY", - "CONSTELLATION_AFFINITY", - "CORONADO_AFFINITY", - "WALLET_GOLDEN_GATE_AFFINITY", - "PUMICE_AFFINITY", - "DEMO_AFFINITY_DEFAULT_ALGO", - "DEMO_AFFINITY_DEFAULT_ALGO_DOMAIN_ONLY", - "DEMO_AFFINITY_EMAIL_ALGO", - "DEMO_AFFINITY_EMAIL_ALGO_DOMAIN_ONLY", - "BACKLIGHT_AFFINITY", - "DYNAMITE_GROUPS_AFFINITY", - "DYNAMITE_OUT_OF_DOMAIN_GROUPS_AFFINITY", - "GLOSSARY_MANAGER_AFFINITY", - "ONEDEV_WORKFLOW_AFFINITY", - "GSUITE_HUB_CALL_AFFINITY", - "AVALANCHE_AFFINITY", - "SANDTROUT_DEVICE_CONTACTS_AFFINITY", - "DYNAMITE_ROOM_AFFINITY", - "DESKBOOKING_AFFINITY", - "TEZ_EXTENDED_AFFINITY", - "DRIVE_PROFILE_ONLY_AFFINITY", - "OFFSEC_AFFINITY", - "GOOGLE_HOME_FAMILY_AFFINITY", - "ONEMARKET_CALENDAR_AFFINITY", - "GPAY_MERCHANT_CONSOLE_AFFINITY", - "WORDFLOW_AFFINITY", - "YOUTUBE_CREATOR_STUDIO_AFFINITY", - "BRICKS_AFFINITY", - "BUG_OBSERVER_AFFINITY", - "ALPHASCHEDULE_AFFINITY", - "BURROW_AFFINITY", - "TEAMSPACES_AFFINITY", - "GMAIL_SMARTADDRESS_REPLACE_AFFINITY", - "GMAIL_SMARTADDRESS_EXPAND_AFFINITY", - "ASSISTANT_OPA_AFFINITY", - "POLYGLOT_AFFINITY", - "TRANSLATION_MEMORY_MANAGER_AFFINITY", - "THREADIT_AFFINITY", - "RESOURCE_SYMPHONY_AFFINITY", - "HOUSEHOLD_CONTACTS_PICKER_AFFINITY", - "L10N_INFRA_SHARED_AFFINITY", - "WORK_TRACKER_AFFINITY", - "ARIANE_AFFINITY", - "DRIVE_ROOM_AFFINITY", - "MOMA_SEARCH_AFFINITY", - "COLAB_INTERNAL_AFFINITY", - "COLAB_EXTERNAL_AFFINITY", - "TALENT_GROW_AFFINITY", - "SOCIAL_CONNECTION_CHECKER_AFFINITY", - "GMS_PEOPLE_AFFINITY", - "ROCKET_LABS_AFFINITY", - "DYNAMITE_ROOM_AND_INDIVIDUAL_ONLY_AFFINITY", - "TEZ_PHONE_SEARCH_AFFINITY", - "MY_GOOGLE_FAMILIES_AFFINITY", - "DYNAMITE_UNIFIED_AFFINITY", - "SHORTCUT_SERVER_AFFINITY", - "LEGAL_CONTRACTS_AFFINITY", - "CALENDAR_WEB_AFFINITY", - "DATA_CATALOG_AFFINITY", - "BRIEF_API_AFFINITY", - "HARDWARE_MFG_DATA_VENUS_AFFINITY", - "BETTERBUG_AFFINITY", - "DCMS_AFFINITY", - "PLAY_BOOKS_PUBENG_AFFINITY", - "YAQS_AFFINITY", - "RESPONSIBLE_FEATURE_ACCESS_AFFINITY", - "PROSPER_AFFINITY", - "PEOPLE_TO_ADD_BIRTHDAY_FOR_AFFINITY", - "FLOURISH_AFFINITY", - "CAMPAIGN_MANAGEMENT_TOOL_AFFINITY", - "RECORDER_AFFINITY", - "PERSONAL_SUGGEST_FIRST_HOP_SOCIAL_VICINITY", - "PERSONAL_SUGGEST_EMAIL_AUTOCOMPLETE_SCORE", - "CLASSROOM_SEARCH_AFFINITY", - "HIRING_AFFINITY", - "DATACENTER_SOFTWARE_AFFINITY", - "PHOTOS_INVITE_AFFINITY", - "PHOTOS_PARTNER_SHARING_AFFINITY", - "MARKETING_WORKFLOWS_AFFINITY", - "INTROSPECT_AFFINITY", - "YOUTUBE_PARENT_TOOLS_AFFINITY", - "RELIABILITY_INSIGHTS_PST_AFFINITY", - "GMAIL_ANDROID_AFFINITY", - "CUSTOMER_CARE_PORTAL_AFFINITY", - "MOMAHOME_3C_AFFINITY", - "DIGITAL_CAR_KEY_AFFINITY", - "PLAY_BOOKS_DISTRIBUTION_AFFINITY", - "GOOGLE_ASSIGNMENTS_AFFINITY", - "TEST_FUSION_AFFINITY", - "PRODUCTION2020_UIE_AFFINITY", - "SPEAKEASY_AFFINITY", - "DOCS_TASKS_AFFINITY", - "DYNAMITE_SEARCH_AFFINITY", - "GPAY_RELEASE_OPS_AFFINITY", - "VOICE_PBX_AFFINITY", - "VOICE_WEB_AFFINITY", - "SKILLSSTACK_AFFINITY", - "WHOSTORY_AFFINITY", - "PHOTOS_PARTNER_SHARING_EMAIL_ONLY", - "MEMORIZE_AFFINITY", - "BETTANY_AFFINITY", - "BASECAMP_AFFINITY", - "DRIVE_SEARCH_FILTER_AFFINITY", - "CULTURE_EVENTS_CALENDAR_AFFINITY", - "DATABRIDGE_CONSOLE_AFFINITY", - "COMMSTAR_AFFINITY", - "CDDB_AFFINITY", - "DATA_STUDIO_SPACES_AFFINITY", - "SOJI_AFFINITY", - "PLAY_MOVIES_ANDROID_AFFINITY", - "DATA_STUDIO_DOMAIN_ONLY_AFFINITY", - "MONOSPACE_AFFINITY", - "MY_ACCOUNT_AFFINITY", - "NUDGEIT_CAMPAIGN_MANAGER_AFFINITY", - "LEGAL_CONTRACTS_EXTERNAL_AFFINITY", - "CONTACTS_TO_STAR_AFFINITY", - "DECS_AFFINITY", - "GSOX_MOCHI_AFFINITY", - "MEET_AFFINITY", - "PMW_TI_AFFINITY", - "DRIVE_SEARCH_FILTER_PERSON_ONLY", - "ACCESSIBILITY_TRACKER_AFFINITY", - "PLX_DATASOURCE_AFFINITY", - "DUCKIEWEB_AFFINITY", - "MEET_CALLING_AFFINITY", - "MATTERSPACE_AFFINITY", - "TRUSTED_CONTACTS_OOBE_AFFINITY", - "REFERRALS_AFFINITY", - "WAYMO_TRIAGE_TOOLING_AFFINITY", - "DATA_STUDIO_GAIA_ONLY_AFFINITY", - "TWENTYPERCENT_JOBPOSTINGS_AFFINITY", - "ENGAGEMENTS_AFFINITY", - "TRUSTED_CONTACTS_FL_AFFINITY", - "CALENDAR_WEB_TEAM_MEMBERS_AFFINITY", - "CLOUDCONNECT_AFFINITY", - "PERSONAL_AGENT_AFFINITY", - "MOBILE_HARNESS_AFFINITY", - "LOOKER_STUDIO_PRO_AFFINITY", - "SUPPORT_CLASSIFICATION_UI_AFFINITY", - "NOTEBOOKLM_AFFINITY", - "PLAYSPACE_LABS_AFFINITY", - "ZOMBIE_CLOUD_AFFINITY", - "RELATIONSHIPS_AFFINITY", - "APPS_WORKFLOW_AFFINITY", - "FLEETSCOPE_AFFINITY", - "CLOUD_SALES_GCLM_AFFINITY", - "DRIVE_NOTIFICATIONS_AFFINITY", - "TS_TOOL_INTAKE_AFFINITY", - "DYNAMITE_NEW_CONTACTS_AFFINITY", - "GENESIS_IOS_AFFINITY", - "BANKROLL_PROD_AFFINITY", - "CALENDAR_WEB_ROOM_AFFINITY", - "CHROME_MULTIPLAYER_AFFINITY", - "GEO_DATA_PORTAL_AFFINITY" + "DB_UNKNOWN", + "DB_INFRA_SPANNER", + "DB_CLOUD_SQL_POSTGRES" ], "enumDeprecated": [ - false, - true, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - false, - true, - false, - false, false, false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Will eventually be deprecated in favor of PHOTOS_SUGGESTED_TARGETS.", - "Will eventually be deprecated in favor of PHOTOS_SUGGESTED_TARGETS.", - "", - "", - "Will eventually be deprecated in favour of PHOTOS_SUGGESTED_TARGETS.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "containerId": { - "description": "The ID of the container", - "type": "string" - }, - "containerType": { - "description": "The type of container to which this affinity applies", - "enum": [ - "UNKNOWN_CONTAINER", - "PROFILE", - "CONTACT", - "CIRCLE", - "PLACE", - "ACCOUNT", - "EXTERNAL_ACCOUNT", - "DOMAIN_PROFILE", - "DOMAIN_CONTACT", - "DEVICE_CONTACT", - "GOOGLE_GROUP", - "NAMED_CHAT_ROOM", - "UNNAMED_CHAT_ROOM", - "AFFINITY", - "RAW_DEVICE_CONTACT", - "CONTACT_ANNOTATION", - "DELEGATED_CONTACT" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "Google Profile. PROFILE fields are editable by the profile owner, unless the field metadata includes writeable=false.", - "Google Contact", - "Deprecated. E-mail only circle membership should be dead. E-mail only circle membership of non-g+ user.", - "A maps place", - "The requester's own Gaia account. ACCOUNT fields are not editable by anyone. They only occur when the requester is \"me\". In the event an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE field when viewed by a requester who is not \"me\".", - "LinkedExternalSites (go/PeopleApiConnectedSites)", - "Google-For-Work Profile. DOMAIN_PROFILE fields are editable by the Dasher administrator of the domain. They are not editable by the profile owner.", - "Domain shared contact. An entity that is owned by a domain and represents a person, but is not a user in the domain. For more details see https://support.google.com/a/answer/9281635.", - "To be deprecated in favor of RAW_DEVICE_CONTACT See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info", - "Google group. Examples: sales@zara.es.", - "Dynamite \"Named Flat Room\" (NFR). This is a Baggins Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms", - "Dynamite \"Unnamed Flat Room\" (UFR). This is a Baggins Roster with label DYNAMITE_SPACE but does *not* have label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms", - "Device contacts that are used in interaction ranking, but have not been uploaded to Google. These are synthesized people from interaction data. This container type is only used in ListRankedPeople and ListRankedTargets actions. See go/TopNWithClusteringPart1.", - "Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts", - "Data from contact annotation. Contact annotations are currently generated and used by Google Assistant.", - "Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation." - ], - "type": "string" - }, - "loggingId": { - "description": "Used to log events for this affinity value, for disco diagnostic-purposes. See go/disco-diagnostics.", - "type": "string" - }, - "value": { - "description": "Affinity value. Frequently represented as an inverse ranking, sometimes with additional data encoded. If data_formats.affinity_formats.score_format is set to RAW_SCORE then the value will be the score returned by DAS.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiAgeRangeType": { - "description": "Please read go/people-api-howto:age on how to get age data. Message for the `Person.age_range_repeated` field. Replaces the existing `Person.age_range` field.", - "id": "AppsPeopleOzExternalMergedpeopleapiAgeRangeType", - "properties": { - "ageInYears": { - "description": "Please read go/people-api-howto:age on how to get age data. Age of the user. The field is set based on profile storage fields such as account birthday. If the source fields are not present, `age_in_years` will be left unset.", - "format": "int32", - "type": "integer" - }, - "ageOfConsentStatus": { - "deprecated": true, - "description": "Deprecated. Use go/supervised-accounts#capabilities-for-child-accounts instead. Denotes whether the user is under the region based Age of Consent. The user's region is based on ClientUserInfo.GlobalTos.AgreedLocation The age is inferred from Birthday field or CertifiedBornBefore field. The region based AoC is specified at go/aoc.", - "enum": [ - "AOC_STATUS_UNKNOWN", - "UNDER_AOC", - "AT_OR_ABOVE_AOC" - ], - "enumDescriptions": [ - "We do not have enough information to determine the user's age. e.g. user has no declared age or region is not known.", - "The user is under the Age of Consent of the region the user is in.", - "The user is at or older than the Age of Consent of the region the user is in." - ], - "type": "string" - }, - "ageRange": { - "deprecated": true, - "description": "Deprecated. Please read go/people-api-howto:age on how to get age data. Age range is populated based on `account_birthday` and `certified_born_before`, which may not be set for dasher users.", - "enum": [ - "UNKNOWN", - "LESS_THAN_EIGHTEEN", - "TWENTY_ONE_OR_OLDER", - "EIGHTEEN_TO_TWENTY" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiAppUniqueInfo": { - "description": "Store all app unique info that are needed for app action fulfillment.", - "id": "AppsPeopleOzExternalMergedpeopleapiAppUniqueInfo", - "properties": { - "appUniqueId": { - "description": "Store the app unique id endpoint. This will be passed over to app to fulfill the action. For example, app_unique_id for Whatsapp will be \"11234567890@s.whatsapp.net\"", - "type": "string" - }, - "contactInfoSource": { - "description": "Where this contact info was retrieved from. Note: only added for Assistant usage, and will not be populated by PAPI. This is due to the coupling between Assistant Proto, and PAPI proto. (//depot/google3/quality/qrewrite/servlets/proto/focus_name.proto)", - "enum": [ - "SOURCE_UNKNOWN", - "APP_SEARCH" - ], - "enumDescriptions": [ - "", - "The contact info came from AppSearch." - ], - "type": "string" - }, - "displayAppUniqueId": { - "description": "Store third party endpoint that is displayed to users. For example, display_app_unique_id for Whatsapp will be \"Message +11234567890\".", - "type": "string" - }, - "label": { - "description": "Store third party endpoint label. For example, \"HOME\", \"WORK\"", - "type": "string" - }, - "mimetype": { - "description": "Store mimetype of this endpoint. We will use this as the differentiator for Assistant to know whether to use the RawContact for messaging, call or video call. For example, send message mimetype for whatsapp: \"vnd.android.cursor.item/vnd.com.whatsapp.profile\" voice call mimetype for whatsapp: \"vnd.android.cursor.item/vnd.com.whatsapp.voip.call\"", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiBestDisplayName": { - "description": "The best suggested name to use for the Person from the available source fields, which may include FileAs, Name, Org, Email, IM, Phone, ... Rough source container priority order is Contact, then Profile, then Place.", - "id": "AppsPeopleOzExternalMergedpeopleapiBestDisplayName", - "properties": { - "containerType": { - "description": "The container the suggested name was sourced from", - "enum": [ - "UNKNOWN_CONTAINER", - "PROFILE", - "CONTACT", - "CIRCLE", - "PLACE", - "ACCOUNT", - "EXTERNAL_ACCOUNT", - "DOMAIN_PROFILE", - "DOMAIN_CONTACT", - "DEVICE_CONTACT", - "GOOGLE_GROUP", - "NAMED_CHAT_ROOM", - "UNNAMED_CHAT_ROOM", - "AFFINITY", - "RAW_DEVICE_CONTACT", - "CONTACT_ANNOTATION", - "DELEGATED_CONTACT" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "Google Profile. PROFILE fields are editable by the profile owner, unless the field metadata includes writeable=false.", - "Google Contact", - "Deprecated. E-mail only circle membership should be dead. E-mail only circle membership of non-g+ user.", - "A maps place", - "The requester's own Gaia account. ACCOUNT fields are not editable by anyone. They only occur when the requester is \"me\". In the event an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE field when viewed by a requester who is not \"me\".", - "LinkedExternalSites (go/PeopleApiConnectedSites)", - "Google-For-Work Profile. DOMAIN_PROFILE fields are editable by the Dasher administrator of the domain. They are not editable by the profile owner.", - "Domain shared contact. An entity that is owned by a domain and represents a person, but is not a user in the domain. For more details see https://support.google.com/a/answer/9281635.", - "To be deprecated in favor of RAW_DEVICE_CONTACT See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info", - "Google group. Examples: sales@zara.es.", - "Dynamite \"Named Flat Room\" (NFR). This is a Baggins Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms", - "Dynamite \"Unnamed Flat Room\" (UFR). This is a Baggins Roster with label DYNAMITE_SPACE but does *not* have label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms", - "Device contacts that are used in interaction ranking, but have not been uploaded to Google. These are synthesized people from interaction data. This container type is only used in ListRankedPeople and ListRankedTargets actions. See go/TopNWithClusteringPart1.", - "Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts", - "Data from contact annotation. Contact annotations are currently generated and used by Google Assistant.", - "Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation." - ], - "type": "string" - }, - "displayName": { - "description": "The display name. This name is intended to be the best name to display for this Person. It may be built from a variety of fields, even if those fields are not explicitly requested in the request mask. Generally, the display name is formatted in 'first last' format. If the name appears to be a CJK name (as determined by a heuristic), the 'last first' format will be used. There may be other cases that the 'last first' format is used which are not documented here. See the code at: http://google3/java/com/google/focus/backend/client/DisplayNameFormatter.java?l=659\u0026rcl=351360938", - "type": "string" - }, - "displayNameLastFirst": { - "description": "The display name, always in 'last first' format. This field does not depend on the format of `display_name` and will always be in 'last first' format.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiBirthday": { - "description": "IMPORTANT NOTES: - Requesting person.birthday requires membership in the purpose limited data ACL group sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance with initial setup. - The birthday field should not be used to calculate the requester's age! To determine the requester's age, use person.age_range_repeated. - For more details about age see go/peopleapi-howto/age Birthday value may not be present: - Consumer users generally required to have account birthday set (required at account creation), though some users created via legacy flows may not have birthday present. - Dasher users generally don't require birthday, but could optionally have it set by users. - Any other types of accounts (e.g. robot, service) do not have birthdays. - Account Birthday field may be present but without birthday value set for grace period birthday (provisional new birthday). For users that do have birthday data: - \"Profile Birthday\" (person.birthday.metadata.container is PROFILE) may not have a year set if user \"hides\" the year. - \"Account Birthday\" (see api-specific notes below) will only be returned for the requester's own profile. - People API (go/peopleapi): * Account birthday is only supported in GetPeople for PeopleAPI. * If account birthday is needed, use a request mask with: `include_field { paths: \"person.birthday\" }` `include_container: ACCOUNT` - People API++ (go/peopleapi++): * Account birthday is supported for most apis in PeopleAPI++. * If account birthday is needed, use a request mask with: `include_field { paths: \"person.account_birthday\" }` `include_container: PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` because they must be requested together: go/people-api-masks#profile-domain_profile) - See go/papi-vs-papi++#birthday for more details.", - "id": "AppsPeopleOzExternalMergedpeopleapiBirthday", - "properties": { - "ageDisableGracePeriod": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriod", - "description": "Only supported for PROFILE/DOMAIN_PROFILE/ACCOUNT container." - }, - "birthdayDecoration": { - "$ref": "SocialGraphApiProtoBirthdayDecoration", - "description": "Whether the user has opted in to display their birthday via photo decorations. Only supported for PROFILE/DOMAIN_PROFILE container." - }, - "birthdayResolution": { - "description": "Only supported for PROFILE/DOMAIN_PROFILE/ACCOUNT container.", - "enum": [ - "FULL", - "MONTH_AND_APPROXIMATED_YEAR", - "APPROXIMATED_YEAR" - ], - "enumDescriptions": [ - "Birthday includes year, month, and day.", - "Birthday includes approximate year and month.", - "Birthday includes an approximate year." - ], - "type": "string" - }, - "calendarDay": { - "$ref": "GoogleTypeDate", - "description": "Birthdays are more accurately represented as a calendar day that does not depend on a timestamp representation at all. When given a timestamp, there are lots of opportunities to make mistakes, so a CalendarDay proto is replacing timestamps. Currently this is always returned by PeopleApi on reads that include birthday fields. New clients should write using calendar_day. Clients that were already writing via date_ms are allowlisted such that writes use that field. Old callers should migrate to writing BOTH date_ms and calendar_day values. If those are consistent, they may be removed from the 'legacy_timestamp_event_write_behavior_enabled' capability." - }, - "dateMs": { - "deprecated": true, - "description": "Birthdays are currently represented as timestamp values, although the interpretation of these timestamp values is a calendar date. Clients are recommended to read the calendar_day field, which is easier to work with than date_ms. New clients writing to PeopleApi must set calendar_day instead of date_ms. There are a few important details about how this value should be mapped to a calendar date that should be consistent among all clients. 1. Epoch - The epoch or calendar date equivalent to 0 ms is chosen to be 1970-01-01 UTC. 2. Timezone - All of the conversions to calendars should occur in the UTC timezone. We don't typically think of someones birthday changing when they travel, so clients should not use local times. 3. Calendar - The calendar used for the dates should be a Gregorian proleptic calendar. Proleptic means that the rules of the Gregorian calendar are retrofitted to before its adoption. It is easy to get this wrong, particularly with the java GregorianCalendar class, which by default is a mixed Gregorian/Julian calendar. Joda Time makes this easy, but if it's not an option, look into GregorianCalendar.setGregorianChange(). 4. Omitted years - Clients have chosen to represent birthdays or events without years as timestamps within the year zero. When the computed date has a year of 0, it means the client did not specify a year. Note that a year 0 does not exist in a chronology like the familiar Anno Domini (A.D. and B.C.); clients must agree on year numbering. 5. Year Numbering - The chronology used to map dates to the calendar should use Astronomical Year Numbering so that the year 0 is defined and dates before it have a negative year. If libraries only provide Anno Domini, then the year of 1 BC corresponds to year zero and an omitted user provided year. Other BC values are presumed rare, but clients should still not ignore the era and interpret the year as an A.D. value, especially if writing values back to PeopleApi.", - "format": "int64", - "type": "string" - }, - "dateMsAsNumber": { - "deprecated": true, - "description": "date_ms_as_number contains the same data as date_ms, but has a different type in generated javascript bindings. Non javascript clients can ignore it.", - "format": "int64", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "prompt": { - "$ref": "SocialGraphApiProtoPrompt", - "description": "People Prompts settings for contact birthday data. Only supported for CONTACT container." - }, - "value": { - "description": "Actual value entered. Allows unstructured values.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriod": { - "description": "Whether this field is set or not determines whether an account is in the grace period. While in the grace period, the user is unable to change their birthday on their own, and will be age-disabled if they don't act in a limited amount of time. Applies only to ServiceData Birthday. Users enter the grace period if they choose a birthday below the Age of Consent (go/aoc). After the grace period ends, the account will be age disabled. See go/age-disable-grace-period-dd.", - "id": "AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriod", - "properties": { - "calendarDay": { - "$ref": "GoogleTypeDate", - "description": "Provisional birthday \u003cAoC the user provided, which made them enter the grace period. The main birthday fields were not altered yet while in the grace period." - }, - "gracePeriodEnd": { - "description": "Timestamp which signifies the end of the grace period for this account.", - "format": "google-datetime", - "type": "string" - }, - "gracePeriodStart": { - "description": "Timestamp which signifies the start of the grace period for this account.", - "format": "google-datetime", - "type": "string" - }, - "gracePeriodType": { - "enum": [ - "UNKNOWN", - "USER_SPECIFIED_BIRTHDAY", - "UNDERAGE_SUSPECTED" - ], - "enumDescriptions": [ - "", - "When CalendarDay is populated by user specified birthday.", - "Account is marked as underage by other means. The CalendarDay field is not populated." - ], - "type": "string" - }, - "manualGracePeriodInfo": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfo" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfo": { - "description": "Information provided within MutateDataRequest when setting a user into AgeDisableGracePeriod manually. When the grace period expires, this info will be forwarded to Gaia when disabling the user. cs//symbol:InitiateAgeDisableGracePeriodArguments", - "id": "AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriodManualGracePeriodInfo", - "properties": { - "escalateTo": { - "description": "The Gaia ID of an email that ops can send inquiries to for appeals.", - "format": "int64", - "type": "string" - }, - "executedBy": { - "description": "The Gaia ID of a Googler who initiated this disable.", - "format": "int64", - "type": "string" - }, - "reason": { - "description": "When setting a user into age grace period manually, the requester can additionally supply a short human-readable reason of why the account is put into manual grace period. The description will be forwarded to Gaia when we disable the account when the grace period expires.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiBraggingRights": { - "deprecated": true, - "id": "AppsPeopleOzExternalMergedpeopleapiBraggingRights", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiCalendar": { - "description": "A url to the person's calendar. As of 03/2018 is not supported for user Profile.", - "id": "AppsPeopleOzExternalMergedpeopleapiCalendar", - "properties": { - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "type": { - "description": "The type of the calendar URL. The type can be free form or one of these predefined values: * `home` * `freeBusy` * `work`", - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiCallerIdExtendedData": { - "id": "AppsPeopleOzExternalMergedpeopleapiCallerIdExtendedData", - "properties": { - "callerIdSource": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataCallerIdSource", - "description": "Indicates which data source was used to populate the caller ID result" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataCallerIdSource": { - "id": "AppsPeopleOzExternalMergedpeopleapiCallerIdExtendedDataCallerIdSource", - "properties": { - "sourceType": { - "enum": [ - "UNKNOWN_SOURCE_TYPE", - "PLACE", - "SCOOBY_MANUAL", - "SCOOBY_GOOGLE_VOICE", - "SCOOBY_CSA", - "SCOOBY_KNOWLEDGE_GRAPH" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiCertifiedBornBefore": { - "description": "Information related to domain administrator (or authority) certification of a users age.", - "id": "AppsPeopleOzExternalMergedpeopleapiCertifiedBornBefore", - "properties": { - "bornBefore": { - "description": "Indicates that the user was born at or before this time.", - "format": "google-datetime", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiChannelData": { - "id": "AppsPeopleOzExternalMergedpeopleapiChannelData", - "properties": { - "channelId": { - "description": "Unique ID that corresponds to a Youtube channel.", - "type": "string" - }, - "commentCount": { - "description": "Number of comments for a given Youtube channel.", - "format": "int64", - "type": "string" - }, - "description": { - "description": "Description of the channel.", - "type": "string" - }, - "playlistCount": { - "format": "int64", - "type": "string" - }, - "profilePictureUrl": { - "description": "A FIFE URL pointing to the channel's profile image (go/avatar-fife-urls) with default fife url options. Also refer to go/people-api-concepts:photos for People API's FIFE best practices. The image could be up to a couple of days stale, though it is much fresher in practice. If a fresh image is required, contact the YouTubeAccountProfileService. The URL itself expires ~30 days after generation.", - "type": "string" - }, - "profileUrl": { - "description": "URL of user's Youtube channel profile.", - "type": "string" - }, - "subscriberCount": { - "description": "Number of subscribers for a given Youtube channel.", - "format": "int64", - "type": "string" - }, - "title": { - "description": "Title of the YouTube channel", - "type": "string" - }, - "usesYoutubeNames": { - "description": "Whether or not the channel's profile has a title/avatar that is canonical in YouTube. Used to determine if the product profile card should be part of the core persona or have their own persona.", - "type": "boolean" - }, - "videoCount": { - "description": "Number of videos uploaded in a given Youtube channel.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiCircleMembership": { - "deprecated": true, - "description": "DEPRECATED. No data is returned for this field anymore. See b/329513077.", - "id": "AppsPeopleOzExternalMergedpeopleapiCircleMembership", - "properties": { - "circleId": { - "description": "The circle that the person belongs to.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiClientData": { - "description": "Arbitrary client data that is populated based on the client", - "id": "AppsPeopleOzExternalMergedpeopleapiClientData", - "properties": { - "key": { - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "namespace": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiCommunicationEmail": { - "description": "Email for Google product communication with the user. This is only allowed in ServiceData. It is purely synthesized and read-only, and contains at most one field. It proxies from RawCommunicationEmail and only includes the primary field if exists. Otherwise if RawCommunicationEmail does not have primary, this includes a field synthesized from valid Gaia primary account email. Otherwise if Gaia primary account email is invalid, this field is empty. See go/comm-email-use for more details.", - "id": "AppsPeopleOzExternalMergedpeopleapiCommunicationEmail", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiConnectionReminder": { - "description": "Contact-level people-prompts settings and contact-level connection reminders. Part of go/people-prompts.", - "id": "AppsPeopleOzExternalMergedpeopleapiConnectionReminder", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "prompt": { - "description": "Contact-level \"reminder to connect\" prompts for this contact.", - "items": { - "$ref": "SocialGraphApiProtoPrompt" - }, - "type": "array" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiContactCreateContextInfo": { - "description": "Contact creation timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.", - "id": "AppsPeopleOzExternalMergedpeopleapiContactCreateContextInfo", - "properties": { - "contactCreateContext": { - "$ref": "SocialGraphApiProtoContactCreateContext" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiContactEditContextInfo": { - "description": "Contact edit timestamps and related metadata. See go/contact-edit-history. This message is a pure wrapper of the shared ContactCreactionContext message so that it can be a top-level person field. No other fields should be added to the message.", - "id": "AppsPeopleOzExternalMergedpeopleapiContactEditContextInfo", - "properties": { - "contactEditContext": { - "$ref": "SocialGraphApiProtoContactEditContext" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiContactGroupMembership": { - "description": "A membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.", - "id": "AppsPeopleOzExternalMergedpeopleapiContactGroupMembership", - "properties": { - "contactGroupId": { - "description": "The contact-group that the person belong to. The id can be either a hex-formatted id or a camel-cased SystemContactGroup predefined group name. The id will be predefined group name iff the system_contact_group_id has a value.", - "type": "string" - }, - "delegatedGroupInfo": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiDelegatedGroupInfo", - "description": "Information related to delegated group that this contact belongs to." - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "systemContactGroupId": { - "description": "This field will be populated when the membership is in a system-reserved contact-group.", - "enum": [ - "UNKNOWN", - "MY_CONTACTS", - "STARRED", - "FRIENDS", - "FAMILY", - "COWORKERS" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfo": { - "description": "Contact level People Prompt settings. This message is a pure wrapper of the shared ContactPromptSettings message so that it can be a top-level person field. No other fields should be added to the message.", - "id": "AppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfo", - "properties": { - "contactPromptSettings": { - "$ref": "SocialGraphApiProtoContactPromptSettings" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiContactStateInfo": { - "description": "Contact state and related metadata. See go/fbs-contacts-trash. This message is a pure wrapper of the shared ContactState message so that it can be a top-level person field. No other fields should be added to the message.", - "id": "AppsPeopleOzExternalMergedpeopleapiContactStateInfo", - "properties": { - "contactState": { - "$ref": "SocialGraphApiProtoContactState" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiCoverPhoto": { - "description": "CoverPhoto is the long banner photo (also called full bleed photo) at the top of G+ profile page.", - "id": "AppsPeopleOzExternalMergedpeopleapiCoverPhoto", - "properties": { - "imageHeight": { - "format": "int32", - "type": "integer" - }, - "imageId": { - "type": "string" - }, - "imageUrl": { - "type": "string" - }, - "imageWidth": { - "format": "int32", - "type": "integer" - }, - "isAnimated": { - "type": "boolean" - }, - "isDefault": { - "type": "boolean" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiCustomSchemaField": { - "description": "Custom fields associated with a person, from the custom schema defined on the domain. See go/custompeopleapi and go/customfocus. NOTE: these are only updatable via Cloud Directory (go/cd).", - "id": "AppsPeopleOzExternalMergedpeopleapiCustomSchemaField", - "properties": { - "fieldDisplayName": { - "type": "string" - }, - "fieldId": { - "type": "string" - }, - "fieldType": { - "enum": [ - "CUSTOM_FIELD_TYPE_UNKNOWN", - "STRING", - "INT64", - "BOOL", - "DOUBLE", - "EMAIL", - "PHONE", - "DATE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "multiValued": { - "type": "boolean" - }, - "schemaDisplayName": { - "type": "string" - }, - "schemaId": { - "type": "string" - }, - "type": { - "description": "The type of the custom schema field. The type can be free form or one of these predefined values: * `home` * `other` * `work`", - "type": "string" - }, - "value": { - "description": "String representation of the value, based on FieldType", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiCustomerInfo": { - "description": "Contains customer data for profile owner proxied from D3.", - "id": "AppsPeopleOzExternalMergedpeopleapiCustomerInfo", - "properties": { - "customerId": { - "deprecated": true, - "description": "DEPRECATED. Use obfuscated_customer_id instead. If result has a GSuite Customer ID, this field will continue to be populated with -1 to indicate the presence of a value for backwards compatibility with clients in the wild. See b/144596193.", - "format": "int64", - "type": "string" - }, - "customerName": { - "description": "Customer organization name for dasher user.", - "type": "string" - }, - "obfuscatedCustomerId": { - "description": "Obfuscated FlexOrgs customer ID for Dasher user. See cs/symbol:CustomerIdObfuscator.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiDedupedContainerInfo": { - "description": "Container information for deduping. When two fields have the same value and only differ by field.metadata a service implementation can choose to avoid duplicating the fields and instead set field.metadata.other_deduped_containers This type can include information on the dedupe type (for example, strict value match vs. lenient value match)", - "id": "AppsPeopleOzExternalMergedpeopleapiDedupedContainerInfo", - "properties": { - "containerType": { - "description": "See SourceIdentity.container_type", - "enum": [ - "UNKNOWN_CONTAINER", - "PROFILE", - "CONTACT", - "CIRCLE", - "PLACE", - "ACCOUNT", - "EXTERNAL_ACCOUNT", - "DOMAIN_PROFILE", - "DOMAIN_CONTACT", - "DEVICE_CONTACT", - "GOOGLE_GROUP", - "NAMED_CHAT_ROOM", - "UNNAMED_CHAT_ROOM", - "AFFINITY", - "RAW_DEVICE_CONTACT", - "CONTACT_ANNOTATION", - "DELEGATED_CONTACT" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "Google Profile. PROFILE fields are editable by the profile owner, unless the field metadata includes writeable=false.", - "Google Contact", - "Deprecated. E-mail only circle membership should be dead. E-mail only circle membership of non-g+ user.", - "A maps place", - "The requester's own Gaia account. ACCOUNT fields are not editable by anyone. They only occur when the requester is \"me\". In the event an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE field when viewed by a requester who is not \"me\".", - "LinkedExternalSites (go/PeopleApiConnectedSites)", - "Google-For-Work Profile. DOMAIN_PROFILE fields are editable by the Dasher administrator of the domain. They are not editable by the profile owner.", - "Domain shared contact. An entity that is owned by a domain and represents a person, but is not a user in the domain. For more details see https://support.google.com/a/answer/9281635.", - "To be deprecated in favor of RAW_DEVICE_CONTACT See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info", - "Google group. Examples: sales@zara.es.", - "Dynamite \"Named Flat Room\" (NFR). This is a Baggins Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms", - "Dynamite \"Unnamed Flat Room\" (UFR). This is a Baggins Roster with label DYNAMITE_SPACE but does *not* have label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms", - "Device contacts that are used in interaction ranking, but have not been uploaded to Google. These are synthesized people from interaction data. This container type is only used in ListRankedPeople and ListRankedTargets actions. See go/TopNWithClusteringPart1.", - "Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts", - "Data from contact annotation. Contact annotations are currently generated and used by Google Assistant.", - "Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation." - ], - "type": "string" - }, - "id": { - "description": "See SourceIdentity.id", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiDelegatedGroupInfo": { - "description": "Information related to delegated group that this contact belongs to.", - "id": "AppsPeopleOzExternalMergedpeopleapiDelegatedGroupInfo", - "properties": { - "delegatedGroupId": { - "$ref": "SocialGraphApiProtoDelegatedGroupId", - "description": "Required. The additional id specifically for a delegated group." - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata": { - "description": "Extra metadata for an aggregated or raw device contact.", - "id": "AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata", - "properties": { - "attributes": { - "description": "Attributes for this device contact.", - "items": { - "enum": [ - "ATTRIBUTE_UNKNOWN", - "STARRED" - ], - "enumDescriptions": [ - "", - "This contact is starred." - ], - "type": "string" - }, - "type": "array" - }, - "usageInfo": { - "description": "Usage info for this device contact.", - "items": { - "$ref": "SocialGraphApiProtoUsageInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiDeviceContactId": { - "description": "Unique id for an aggregated device contact.", - "id": "AppsPeopleOzExternalMergedpeopleapiDeviceContactId", - "properties": { - "contactId": { - "description": "Aggregated device contact id on the source device.", - "format": "int64", - "type": "string" - }, - "deviceId": { - "description": "Source device id (go/client-instance-id) of this device contact.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiDeviceContactInfo": { - "description": "Device contact information.", - "id": "AppsPeopleOzExternalMergedpeopleapiDeviceContactInfo", - "properties": { - "deviceContactMetadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata", - "description": "Metadata for this device contact." - }, - "hasCrossDeviceData": { - "description": "Output only. True if any of the contact's phone, email or address fields can be used on devices other than the one it originated from. Note that there can be other fields, typically name, and metadata such as some of the raw_contact_infos that can be used on other devices. Assigned by the server.", - "type": "boolean" - }, - "id": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiDeviceContactId", - "description": "Id of the device contact." - }, - "lastClientUpdateTime": { - "description": "Last time a device contact was updated on device.", - "format": "google-datetime", - "type": "string" - }, - "lookupKey": { - "description": "An opaque value used by the device to look up this contact if its row id changed as a result of a sync or aggregation. See: https://developer.android.com/reference/android/provider/ContactsContract.ContactsColumns.html#LOOKUP_KEY", - "type": "string" - }, - "rawContactInfo": { - "description": "Info about the raw device contacts that make up this device contact.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfo": { - "id": "AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfo", - "properties": { - "containerId": { - "description": "The container ID of the entity this field creates a join to. See `SourceIdentity.id`.", - "type": "string" - }, - "containerType": { - "description": "The type of container that this edge points to. See `SourceIdentity.container_type`.", - "enum": [ - "UNKNOWN_CONTAINER", - "PROFILE", - "CONTACT", - "CIRCLE", - "PLACE", - "ACCOUNT", - "EXTERNAL_ACCOUNT", - "DOMAIN_PROFILE", - "DOMAIN_CONTACT", - "DEVICE_CONTACT", - "GOOGLE_GROUP", - "NAMED_CHAT_ROOM", - "UNNAMED_CHAT_ROOM", - "AFFINITY", - "RAW_DEVICE_CONTACT", - "CONTACT_ANNOTATION", - "DELEGATED_CONTACT" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "Google Profile. PROFILE fields are editable by the profile owner, unless the field metadata includes writeable=false.", - "Google Contact", - "Deprecated. E-mail only circle membership should be dead. E-mail only circle membership of non-g+ user.", - "A maps place", - "The requester's own Gaia account. ACCOUNT fields are not editable by anyone. They only occur when the requester is \"me\". In the event an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE field when viewed by a requester who is not \"me\".", - "LinkedExternalSites (go/PeopleApiConnectedSites)", - "Google-For-Work Profile. DOMAIN_PROFILE fields are editable by the Dasher administrator of the domain. They are not editable by the profile owner.", - "Domain shared contact. An entity that is owned by a domain and represents a person, but is not a user in the domain. For more details see https://support.google.com/a/answer/9281635.", - "To be deprecated in favor of RAW_DEVICE_CONTACT See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info", - "Google group. Examples: sales@zara.es.", - "Dynamite \"Named Flat Room\" (NFR). This is a Baggins Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms", - "Dynamite \"Unnamed Flat Room\" (UFR). This is a Baggins Roster with label DYNAMITE_SPACE but does *not* have label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms", - "Device contacts that are used in interaction ranking, but have not been uploaded to Google. These are synthesized people from interaction data. This container type is only used in ListRankedPeople and ListRankedTargets actions. See go/TopNWithClusteringPart1.", - "Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts", - "Data from contact annotation. Contact annotations are currently generated and used by Google Assistant.", - "Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation." - ], - "type": "string" - }, - "extendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionData", - "description": "Data that is added to the proto by peopleapi read extensions." - }, - "materialized": { - "description": "True indicates this edge links this source to a container represented by this person object. Note: Except for certain legacy clients, EdgeKeyInfo is only created for for edges to an entity in this person and this will always be true.", - "type": "boolean" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionData": { - "id": "AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfoExtensionData", - "properties": { - "gdataCompatibilityExtensionId": { - "description": "The GDataCompatibilityExtension will (temporarily) return mobile_owner_id for profile containers.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiEmail": { - "id": "AppsPeopleOzExternalMergedpeopleapiEmail", - "properties": { - "certificate": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiEmailCertificate" - }, - "type": "array" - }, - "classification": { - "enum": [ - "EMAIL_CLASSIFICATION_UNKNOWN", - "SIGNUP_EMAIL" - ], - "enumDescriptions": [ - "", - "This is the email user provided when signing up with Google (ie. this email is stored in Gaia). There may be more than 1 signup email. This is set for an Email of container type PROFILE." - ], - "type": "string" - }, - "contactGroupPreference": { - "description": "To read or update, use the CONTACT_GROUP_PREFERENCE mask field.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreference" - }, - "type": "array" - }, - "displayName": { - "type": "string" - }, - "extendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiEmailExtendedData" - }, - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "signupEmailMetadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadata" - }, - "type": { - "description": "The type of the email address. The type can be free form or one of these predefined values: * `home` * `work` * `other`", - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiEmailCertificate": { - "description": "Represents a S/MIME certificate config for use with Gmail. See //caribou/smime/proto/certificate_status.proto. There can be zero or more certificates associated with an email address, be it profile email or contact email.", - "id": "AppsPeopleOzExternalMergedpeopleapiEmailCertificate", - "properties": { - "configurationName": { - "description": "The name of this certificate configuration. Examples could be \"High security level\" or \"For domain emails only\".", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata", - "description": "It is conceivable that certificates could be ACLed. We also need to indicate which certificate is the default. The PersonFieldMetadata can accomplish both of these." - }, - "status": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatus" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatus": { - "description": "Minimal S/MIME certificate status i.e. two fields per email address.", - "id": "AppsPeopleOzExternalMergedpeopleapiEmailCertificateCertificateStatus", - "properties": { - "notAfterSec": { - "description": "The certificate expiration timestamp in seconds.", - "format": "int64", - "type": "string" - }, - "statusCode": { - "description": "Current status of the email's certificate chain.", - "enum": [ - "UNKNOWN", - "CERTIFICATE_VALID", - "CERTIFICATE_MISSING", - "CERTIFICATE_EXPIRED", - "CERTIFICATE_REVOKED" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreference": { - "description": "Preferred email addresses for contact groups.", - "id": "AppsPeopleOzExternalMergedpeopleapiEmailContactGroupPreference", - "properties": { - "contactGroupId": { - "type": "string" - }, - "isSynthetic": { - "description": "If the Preference was implicitly set by PeopleApi/Contacts Service. A preference with this bit will not be saved to storage. See go/contact-group-email-preference-papi-problem for more info.", - "type": "boolean" - }, - "type": { - "enum": [ - "UNKNOWN", - "GMAIL" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiEmailExtendedData": { - "description": "Extension data for a person email.", - "id": "AppsPeopleOzExternalMergedpeopleapiEmailExtendedData", - "properties": { - "internalExternal": { - "$ref": "PeoplestackFlexorgsProtoInternalExternal", - "description": "For use with the CUSTOMER_INFO_ADDITIONAL_DATA extension. This includes information on whether the given email is internal to or external to the requesting user's domain." - }, - "isPlaceholder": { - "description": "For ListPeoplebyKnownId to indicate an email is sythesized from a lookup email.", - "type": "boolean" - }, - "smtpServerSupportsTls": { - "description": "For use with the TLS extension. Whether the SMTP server that handles delivery for this email address supports TLS encryption.", - "type": "boolean" - }, - "usesConfusingCharacters": { - "description": "For use with the Gmail Homograph Warning extension. Whether the email contains mixed character sets that could be used to decieve users. This field is populated by the GMAIL_SECURITY_DATA extension.", - "type": "boolean" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadata": { - "description": "Additional metadata for a signup email. This will only be set if the email's classification is SIGNUP_EMAIL.", - "id": "AppsPeopleOzExternalMergedpeopleapiEmailSignupEmailMetadata", - "properties": { - "primary": { - "description": "This is considered to be the primary signup email. At most 1 signup email will have this set.", - "type": "boolean" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiEmergencyInfo": { - "description": "Emergency info for Person. See go/emergency-trusted-contacts-papi.", - "id": "AppsPeopleOzExternalMergedpeopleapiEmergencyInfo", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "pomeroyId": { - "description": "Opaque id from Pomeroy (go/pomeroy). Non-empty pomeroy_id means that this contact has the potential to become trusted contact or it's already trusted contact. Trust is eventually gaia\u003c-\u003egaia link, but when the trust link is initiated gaia might not be known. Until gaia is discovered, pomeroy_id is used to identify the contact uniquely. If trust_level is missing or set to TRUST_LEVEL_UNSPECIFIED pomeroy_id must be empty.", - "type": "string" - }, - "trustLevel": { - "enum": [ - "TRUST_LEVEL_UNSPECIFIED", - "TRUST_LEVEL_EMERGENCY_CONTACT" - ], - "enumDescriptions": [ - "The person does not have a specified trust level.", - "The person is an Emergency Contact." - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiEvent": { - "id": "AppsPeopleOzExternalMergedpeopleapiEvent", - "properties": { - "calendarDay": { - "$ref": "GoogleTypeDate", - "description": "Event are more accurately represented as a calendar day that does not depend on a timestamp representation at all. When given a timestamp, there are lots of opportunities to make mistakes, so a CalendarDay proto is replacing timestamps. PeopleApi will return these values on reads, and unless the client is a legacy caller in the legacy_timestamp_event_write_behavior_enabled capability allowlist, this value is what is used for Person writes." - }, - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "prompt": { - "$ref": "SocialGraphApiProtoPrompt", - "description": "People Prompts settings for contact event data." - }, - "timestampMillis": { - "deprecated": true, - "description": "Clients are recommended to read the calendar_day field instead of timestamp_millis. When writing events, new clients must set calendar_day instead of timestamp_millis. Events are currently represented as timestamp values, although the interpretation of these timestamp values is a calendar date. There are a few important details about how this value should be mapped to a calendar date that should be consistent among all clients. For detailed information, see Birthday.date_ms.", - "format": "int64", - "type": "string" - }, - "type": { - "description": "The type of the event. The type can be free form or one of these predefined values: * `anniversary` * `other`", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiExternalId": { - "description": "External identifier associated with the person.", - "id": "AppsPeopleOzExternalMergedpeopleapiExternalId", - "properties": { - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "type": { - "description": "The type of the external ID. The type can be free form or one of these predefined values: * `account` * `customer` * `loginId` * `network` * `organization`", - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiFieldAcl": { - "description": "The field ACL. Currently only populated on profile fields for the profile owner. A Person field ACL; see http://go/peopleapi-acl", - "id": "AppsPeopleOzExternalMergedpeopleapiFieldAcl", - "properties": { - "aclEntry": { - "description": "A custom type of field ACL entry. The set of all ACL entries includes those listed in acl_entry as well as predefined_acl_entry.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntry" - }, - "type": "array" - }, - "authorizedViewers": { - "description": "Set of users that will be authorized to view the field by this field ACL. If the ACL is public, this will only contain ALL_USERS. This field is synthesized, read-only, and currently only used for profile photos. It's populated under \"person.photo.metadata.field_acl\" for the current photo ACL and \"person.photo.metadata.acl_choices\" for available photo ACL choices. Note: The set of authorized viewers for a given FieldAcl may depend on the user's account type and domain configuration. For example, a PRIVATE_READ FieldAcl could have any of the following authorized viewers: Consumer user: [IDENTITY_ACL_ESTABLISHED] Dasher user without domain contact sharing: [IDENTITY_ACL_ESTABLISHED] Unicorn user: [SAME_UNICORN_FAMILY] Hafez user: []", - "items": { - "enum": [ - "AUTHORIZED_VIEWER_UNSPECIFIED", - "IDENTITY_ACL_ESTABLISHED", - "SAME_ORGANIZATION", - "SAME_UNICORN_FAMILY", - "ALL_USERS" - ], - "enumDescriptions": [ - "", - "Users with an identity ACL established with the field owner through user-to-user interactions.", - "Users in the same enterprise organization as the field owner.", - "Users in the same Unicorn family as the field owner.", - "All users, including anonymous viewers." - ], - "type": "string" - }, - "type": "array" - }, - "predefinedAclEntry": { - "description": "A common type of field ACL entry. A predefined ACL entry is a shortcut for a commonly occurring case of role and scope. For example, PUBLIC_READ is the same as an AclEntry with role = READER and scope.all_users = true. The set of all ACL entries includes those listed in acl_entry as well as predefined_acl_entry.", - "items": { - "enum": [ - "UNKNOWN", - "OWNER", - "PUBLIC_READ", - "DOMAIN_READ", - "YOUR_CIRCLES_READ", - "EXTENDED_CIRCLES_READ", - "PRIVATE_READ" - ], - "enumDescriptions": [ - "", - "Equivalent to role = OWNER and scope.person.person_id = requester's person ID.", - "Equivalent to role = READER and scope.all_users = true.", - "Equivalent to role = READER and scope.domain_users = true.", - "Equivalent to role = READER and scope.membership.circle.circle_set = YOUR_CIRCLES.", - "Equivalent to role = READER and scope.membership.circle.circle_set = EXTENDED_CIRCLES.", - "This is under implementation and not populated in PeopleAPI yet. Equivalent to role = READER and scope.person.person_id = requester's person ID. Presence of this entry means the field is private and is not visible to others." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntry": { - "id": "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntry", - "properties": { - "role": { - "enum": [ - "UNKNOWN", - "READER", - "WRITER", - "OWNER" - ], - "enumDescriptions": [ - "", - "", - "", - "owner can change ACL" - ], - "type": "string" - }, - "scope": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScope" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScope": { - "id": "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScope", - "properties": { - "allUsers": { - "description": "Indicates that the field is accessible to all users including unauthenticated users. For some fields this means \"to everyone except blocked users\".", - "type": "boolean" - }, - "domainUsers": { - "description": "This is a \"synthetic\" field. In reality domains are treated as gaia- groups. This field will be 'true' when the field is ACLed to the gaia-group of the requester's domain.", - "type": "boolean" - }, - "membership": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl" - }, - "person": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl", - "description": "Indicates that the field is accessible to a person." - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl": { - "description": "Used when the field is accessible to a membership that the person has.", - "id": "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl", - "properties": { - "circle": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAcl" - }, - "contactGroup": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAcl": { - "description": "Used when a field is accessible to a circle.", - "id": "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAcl", - "properties": { - "circleId": { - "type": "string" - }, - "circleSet": { - "enum": [ - "UNKNOWN", - "YOUR_CIRCLES", - "EXTENDED_CIRCLES" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "displayName": { - "description": "Equivalent to Circle.display_name for the circle_id. Included when FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only and ignored on update.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl": { - "description": "Used when a field is accessible to a legacy contact group. Contact groups are discouraged and may be deprecated soon. ContactGroupAcls are read-only. If they are included as part of an ACL on an Update, an exception is thrown.", - "id": "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl", - "properties": { - "contactGroupId": { - "description": "A contact group ID. This is either a user-defined contact group hex ID, or it is the string name of the enum constant in Group.PredefinedId in FBS backend.proto for predefined groups. Common values for the predefined name include, but are not limited to: all, myContacts, starred, chatBuddies, friends, family, coworkers, and blocked.", - "type": "string" - }, - "displayName": { - "description": "The localized display name for the predefined group, if known; or, the display name for the user-defined contact group. Included when FieldAclOption.FULL_ACL_WITH_DETAILS is requested.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl": { - "description": "Used when a field is accessible to a person. NOTE: ACLs to a circle or to a non-self person are no longer supported, so this can only be applied to the requester self.", - "id": "AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl", - "properties": { - "displayName": { - "deprecated": true, - "description": "DEPRECATED. This is not different than reading from person.name for a self-read; ACLs to a circle or to a non-self person are no longer supported. Equivalent to Name.display_name for the person_id profile. Included when the profile Name is ACLed to the requester and FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only and ignored on update.", - "type": "string" - }, - "personId": { - "type": "string" - }, - "photoUrl": { - "deprecated": true, - "description": "DEPRECATED. This is not different than reading from person.photo for a self-read; ACLs to a circle or to a non-self person are no longer supported. Equivalent to Photo.url for the person_id profile. Included when the profile Photo is ACLed to the requester and FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only and ignored on update.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo": { - "description": "Emergency information for Person field, such as Phone or Email. See go/emergency-trusted-contacts-papi.", - "id": "AppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo", - "properties": { - "emergencyLevel": { - "enum": [ - "EMERGENCY_LEVEL_UNSPECIFIED", - "EMERGENCY_LEVEL_PRIMARY" - ], - "enumDescriptions": [ - "The field (such as phone) is not designated for emergency communication.", - "The field (such as phone) is designated for emergency communication." - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiFileAs": { - "description": "The FileAs field in Contacts is used to override the DisplayName of a Contact for that User. ", - "id": "AppsPeopleOzExternalMergedpeopleapiFileAs", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiGPayExtendedData": { - "description": "Extension data for use in GPay Product Profile. go/gpay-product-profile-1-pager Contact: profiles-eng-fe@google.com", - "id": "AppsPeopleOzExternalMergedpeopleapiGPayExtendedData", - "properties": { - "failure": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiProductProfileFailure", - "description": "Failure type if there is an error when fetching product profile data." - }, - "internationalNumber": { - "deprecated": true, - "description": "A number in international format including the country code that is made user readable by including formatting such as spaces. Example: \"+41 44 668 1800\" DEPRECATED: A user's phone number should be masked and not in an international format", - "type": "string" - }, - "maskedNumber": { - "description": "The masked string of a user's phone number The number will be obfucsated with * except the last 4 digits. Refer to: //java/com/google/nbu/paisa/common/PhoneNumberMasker.java", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiGender": { - "description": "Gender in PeopleApi has some odd semantics about writing and reading that are not obvious from the proto definition. First, the `type` string, when read, always maps to the constrained domain of \"male\", \"female\", and \"other\", aside from a pathological case that PeopleApi would like to fix. There are two typical patterns: 1. `type` is either \"male\" or \"female\" and `custom_type` and `address_me_as` are exactly as specified by an update to PeopleApi, although they are most often absent for \"male\" and \"female\" writes. 2. `type` is \"other\" and `custom_type` is set to a freeform string from the request. `address_me_as` is equal to whatever was provided at write time. When writing, the free-form string for `custom_type` can come from either `custom_type` if the field is present on the request, or if `custom_type` is absent, the string value of `type` will be copied into it. Any value in `type` will be coerced to \"other\" and the free-form value will be copied into `custom_type`, even if `type` is exactly \"other\". Prefer to explicitly set `custom_type` and set type to \"other\" instead of setting type to a free-form value. There are weird edge cases when the value is \"unknown\". Consider the behavior for `type` == \"unknown\" unspecified. Clients reading the gender should use the value from `formatted_type` if `type` is \"male\" or \"female\". If `type` is \"other\", `formatted_type` will be \"Other\" (or some translation) and clients should read `custom_type` for more specificity. ", - "id": "AppsPeopleOzExternalMergedpeopleapiGender", - "properties": { - "addressMeAs": { - "description": "Preferred pronoun choice. It's unclear whether this value is constrained to a finite domain by UIs. `address_me_as` may be populated regardless of whether `type` is \"male\", \"female\", or \"other\", although most writers only set it if `type` is \"other\".", - "type": "string" - }, - "customType": { - "description": "A free-form string indicating what the user entered as their gender. `custom_type` may exist even if the type is \"male\" or \"female\", although most writers do not set it unless `type` is \"other\".", - "type": "string" - }, - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "type": { - "description": "The gender. \"male\", \"female\", or \"other\". If \"other\", typically, additional fields will have additional information.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiGplusExtendedData": { - "id": "AppsPeopleOzExternalMergedpeopleapiGplusExtendedData", - "properties": { - "contentRestriction": { - "enum": [ - "UNKNOWN", - "PUBLIC", - "DISCOVERY", - "WALLED_GARDEN" - ], - "enumDescriptions": [ - "", - "Can send and consume public content", - "Restricted to only sending content internally, cannot mutate external content in any manner", - "Restricted to sending content internally, no public content naturally surfaces" - ], - "type": "string" - }, - "isEnterpriseUser": { - "description": "Equivalent to having the DASHER_POLICY bit in the REGISTERED state.", - "type": "boolean" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedData": { - "description": "Extension data for use in Hangouts.", - "id": "AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedData", - "properties": { - "hadPastHangoutState": { - "enum": [ - "UNKNOWN_PAST_HANGOUT_STATE", - "HAD_PAST_HANGOUT", - "NO_PAST_HANGOUT" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "invitationStatus": { - "description": "Populated for all contacts. Only set if had_past_hangout_state == HAD_PAST_HANGOUT. INVITATION_NEEDED is not a valid value because there already is a past hangout, which means either the invitation is still pending or it’s been accepted.", - "enum": [ - "UNKNOWN_INVITATION_STATUS", - "PENDING_INVITATION", - "ACCEPTED_INVITATION", - "INVITATION_NEEDED" - ], - "enumDescriptions": [ - "", - "The invitation is still pending, or was declined", - "The other user accepted the invitation", - "An invitation is needed to chat with this user" - ], - "type": "string" - }, - "isBot": { - "description": "True if this is a Hangouts bot.", - "type": "boolean" - }, - "isDismissed": { - "type": "boolean" - }, - "isFavorite": { - "type": "boolean" - }, - "isPinned": { - "type": "boolean" - }, - "userType": { - "enum": [ - "UNKNOWN_USER_TYPE", - "INVALID", - "GAIA", - "OFF_NETWORK_PHONE", - "MALFORMED_PHONE_NUMBER", - "UNKNOWN_PHONE_NUMBER", - "ANONYMOUS_PHONE_NUMBER" - ], - "enumDescriptions": [ - "", - "No entity found.", - "Regular GAIA users.", - "Phone numbers represented as GAIA ids.", - "Malformed number. Those are numbers that don't comfirm to an E.164 format that we get with phone calls/voicemails (e.g. \"HELLO\").", - "Unknown number. This is a number that the caller has chosen not to broadcast.", - "Phone number that Google knows about, but the caller chose not to reveal to the recipient." - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiIdentityInfo": { - "id": "AppsPeopleOzExternalMergedpeopleapiIdentityInfo", - "properties": { - "originalLookupToken": { - "description": "Original lookup token from the request that resulted in this person or one of its containers.", - "items": { - "type": "string" - }, - "type": "array" - }, - "previousPersonId": { - "description": "Any former IDs this person may have had, in the case that their ID may have changed. Populated only for sync requests. Examples of such changes include adding an edge to a contact that links to a profile. The ID will change from being contact-oriented to being profile-oriented. To be used to clear out old versions of a person.", - "items": { - "type": "string" - }, - "type": "array" - }, - "sourceIds": { - "description": "A list of sources contributing to the merged person, including profiles (with gaia-id), contacts and synthetic-contacts.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiSourceIdentity" - }, - "type": "array" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiIm": { - "id": "AppsPeopleOzExternalMergedpeopleapiIm", - "properties": { - "formattedProtocol": { - "description": "The `protocol` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "protocol": { - "description": "The protocol of the IM. The protocol can be free form or one of these predefined values: * `aim` * `msn` * `yahoo` * `skype` * `qq` * `googleTalk` * `icq` * `jabber` * `netMeeting`", - "type": "string" - }, - "type": { - "description": "The type of the IM. The type can be free form or one of these predefined values: * `home` * `work` * `other`", - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget": { - "description": "How and where to send notifications to this person in other apps, and why the requester can do so. See go/reachability for more info. \"How\" and \"where\" identify the recipient in a P2P Bridge (glossary/p2p bridge), and \"why\" may be helpful in a UI to disambiguate which of several ways may be used to contact the recipient. How: Via a Google profile or a reachable-only phone number that the requester has access to. Specified in the target \"type\" and \"value\". Where: Apps in which the profile/phone number owner may receive notifications. Specified in the repeated \"app\". Why: Which fields in, e.g., a contact associated with this person make the notification target info visible to the requester. Specified in the repeated originating_field param. Example: Alice has a contact Bob, with: Email 0 = bob@gmail.com Phone 0 = +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob's public profile (obfuscated gaia ID = 123). Public profiles are visible by email by default, and Bob has explicitly made it visible via Phone 0. Bob says people can send notifications to his public profile in YouTube. Phone 2 is associated with another Google profile that Bob owns, but he doesn't want others to see it. He is okay with people sending notifications to him in Who's Down if they have this phone number, however. There will be separate InAppNotificationTargets: one for Bob's public Google profile, and one for the second phone number, which is in his private profile. IANT #1 - targeting Bob's public profile (visible via Email 0 and Phone 0): app = [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, field_index = 0 } // For Phone 0 ] IANT #2 - targeting Bob's private profile phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 ]", - "id": "AppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget", - "properties": { - "app": { - "items": { - "enum": [ - "UNKNOWN", - "BABEL", - "YOUTUBE", - "WHOS_DOWN", - "YOUTUBE_MANGO", - "PHOTOS", - "GOOGLE_ASSISTANT", - "KABOO", - "COMMERCE_PLATFORM", - "SPACES", - "MAPS", - "LOUPE_UNUSED", - "POMEROY", - "LOUPE", - "PEOPLE_PLAYGROUND", - "NEWS_360", - "DUO", - "MEET" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Should never be stored in practice", - "Aka Hangouts", - "Aka Reactr", - "Aka Who's Down", - "Aka YouTube for Emerging Markets", - "Aka Google Photos", - "", - "Aka PAISA, aka Tez", - "Aka Naksha", - "Aka Google Spaces", - "Aka Google Map", - "This field is deprecated.", - "Aka Trusted Contacts", - "Aka Camera by Google Photos", - "See go/people-playground-design.", - "Also mdb/social-magazines", - "Aka Taychon", - "Aka Google Meet" - ], - "type": "string" - }, - "type": "array" - }, - "clientData": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientData" - }, - "type": "array" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "originatingField": { - "description": "There may be more than one field from which this IANT originates, as in the case of Bob's public profile.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingField" - }, - "type": "array" - }, - "type": { - "enum": [ - "UNKNOWN_KEY_TYPE", - "PHONE", - "OBFUSCATED_GAIA_ID", - "EMAIL" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "value": { - "description": "The value of the target, used for delivery. E.g., the obfuscated gaia ID for a visible profile.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientData": { - "description": "Client-specific data pertaining to app reachability. No PII data or user content should be stored in this blob.", - "id": "AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientData", - "properties": { - "app": { - "description": "The app to which this client data applies.", - "enum": [ - "UNKNOWN", - "BABEL", - "YOUTUBE", - "WHOS_DOWN", - "YOUTUBE_MANGO", - "PHOTOS", - "GOOGLE_ASSISTANT", - "KABOO", - "COMMERCE_PLATFORM", - "SPACES", - "MAPS", - "LOUPE_UNUSED", - "POMEROY", - "LOUPE", - "PEOPLE_PLAYGROUND", - "NEWS_360", - "DUO", - "MEET" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Should never be stored in practice", - "Aka Hangouts", - "Aka Reactr", - "Aka Who's Down", - "Aka YouTube for Emerging Markets", - "Aka Google Photos", - "", - "Aka PAISA, aka Tez", - "Aka Naksha", - "Aka Google Spaces", - "Aka Google Map", - "This field is deprecated.", - "Aka Trusted Contacts", - "Aka Camera by Google Photos", - "See go/people-playground-design.", - "Also mdb/social-magazines", - "Aka Taychon", - "Aka Google Meet" - ], - "type": "string" - }, - "byteValue": { - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingField": { - "description": "Info for identifying the specific field in this person that lets the requester send them notifications. These are typically fields added to a contact (e.g., email). There will not always be in originating field, typically in the case that whatever permits the requester to see this target info is not something that can be used on its own for contacting this person.", - "id": "AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingField", - "properties": { - "fieldIndex": { - "description": "The index of the relevant field in the merged person", - "format": "int32", - "type": "integer" - }, - "fieldType": { - "enum": [ - "UNKNOWN_FIELD_TYPE", - "PHONE", - "EMAIL" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "value": { - "description": "The value of the origin field", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiInAppReachability": { - "description": "This is deprecated in PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use InAppNotificationTarget field instead. Which apps the person has indicated they are reachable at for the requester. See go/d13y and com.google.focus.proto.InAppReachability.", - "id": "AppsPeopleOzExternalMergedpeopleapiInAppReachability", - "properties": { - "appType": { - "enum": [ - "UNKNOWN", - "BABEL", - "YOUTUBE", - "WHOS_DOWN", - "YOUTUBE_MANGO", - "PHOTOS", - "KABOO", - "COMMERCE_PLATFORM", - "SPACES", - "GOOGLE_ASSISTANT", - "PEOPLE_PLAYGROUND", - "MAPS", - "LOUPE_UNUSED", - "POMEROY", - "LOUPE", - "NEWS_360", - "DUO", - "MEET" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "should never be stored in practice", - "aka Hangouts", - "aka Reactr", - "aka Who's Down?", - "aka YouTube for Emerging Markets", - "aka Google Photos", - "aka PAISA", - "aka Naksha", - "", - "", - "See go/people-playground-design.", - "Aka Google Map", - "This field is deprecated.", - "aka Trusted Contacts", - "Aka Camera by Google Photos", - "Also mdb/social-magazines", - "aka Taychon", - "Aka Google Meet" - ], - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "reachabilityKey": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey" - }, - "status": { - "enum": [ - "UNKNOWN_REACHABLE_STATUS", - "REACHABLE", - "NOT_REACHABLE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey": { - "description": "Information pertaining to how this reachable state was established.", - "id": "AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey", - "properties": { - "keyType": { - "enum": [ - "UNKNOWN_KEY_TYPE", - "PHONE", - "OBFUSCATED_GAIA_ID" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "keyValue": { - "description": "The value of the key by which the user said they may be reachable. E.g., the phone number.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiInteractionSettings": { - "deprecated": true, - "description": "Defines interactions that are allowed or disallowed with this person.", - "id": "AppsPeopleOzExternalMergedpeopleapiInteractionSettings", - "properties": { - "allowed": { - "type": "boolean" - }, - "interaction": { - "enum": [ - "UNKNOWN", - "INCOMING_CIRCLE_MEMBERSHIP", - "INCOMING_SOCIAL_EDGE", - "INVITE_TO_EMAIL" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiInterest": { - "id": "AppsPeopleOzExternalMergedpeopleapiInterest", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiLanguage": { - "description": "The value can either by a language code conforming to the IETF BCP 47 specification or a custom freeform value. By default the returned value is proxied from FBS Profile.Language. If `include_account_locale` is set on the `MergePersonSourceOptions` the language from go/uls is preferred and returned as primary along with a secondary language from FBS.", - "id": "AppsPeopleOzExternalMergedpeopleapiLanguage", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiLatLng": { - "id": "AppsPeopleOzExternalMergedpeopleapiLatLng", - "properties": { - "lat": { - "format": "double", - "type": "number" - }, - "lng": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiLegacyFields": { - "description": "Fields used in legacy applications. Useful for joining legacy and new data streams. Most applications should not care about these fields.", - "id": "AppsPeopleOzExternalMergedpeopleapiLegacyFields", - "properties": { - "mobileOwnerId": { - "description": "Mobile obfuscated gaia id. This is the same gaia id in metadata.owner_id, but obfuscated with the legacy mobile obfuscator.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsField": { - "id": "AppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsField", - "properties": { - "limitedProfileSettings": { - "$ref": "SocialGraphApiProtoLimitedProfileSettings" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiLocation": { - "id": "AppsPeopleOzExternalMergedpeopleapiLocation", - "properties": { - "buildingId": { - "type": "string" - }, - "buildingName": { - "description": "The building_name field is only filled if the DESK_LOCATION_ADDITIONAL_DATA extension is active.", - "type": "string" - }, - "current": { - "type": "boolean" - }, - "deskCode": { - "description": "Most specific textual description of individual desk location.", - "type": "string" - }, - "floorName": { - "type": "string" - }, - "floorSection": { - "type": "string" - }, - "lastUpdateTime": { - "description": "Indicates the time this location was added or last edited.", - "format": "google-datetime", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "source": { - "description": "Value indicates the origin of this location information.", - "enum": [ - "UNKNOWN", - "EXPLICIT", - "INFERRED" - ], - "enumDescriptions": [ - "", - "The location was directly set by the user or admin.", - "The location was inferred from available signals (e.g. past rooms usage)." - ], - "type": "string" - }, - "type": { - "description": "Describes the type of location. E.g. Grew_up, Desk. Corresponds to FBS backend.proto Location.StandardTag", - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiManagementUpchain": { - "id": "AppsPeopleOzExternalMergedpeopleapiManagementUpchain", - "properties": { - "indirectManager": { - "description": "List of managers in the chain. If user has manager email \"abc@google.com\" and manager's manager has email \"xyz@google.com\" then the list will be: [0]: { email: \"abc@google.com\" } [1]: { email: \"xyz@google.com\" }", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager" - }, - "type": "array" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "status": { - "enum": [ - "UNKNOWN", - "OK", - "PARTIAL", - "LOOP" - ], - "enumDescriptions": [ - "", - "", - "An error occurred while retrieving next manager so resulting management upchain is partial up to manager that was not retrieved.", - "A loop was found in management upchain so resulting upchain contains all managers retrieved in first iteration of the loop." - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager": { - "id": "AppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager", - "properties": { - "email": { - "type": "string" - }, - "personId": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiMapsExtendedData": { - "description": "Extension data for use in Maps Product Profile.", - "id": "AppsPeopleOzExternalMergedpeopleapiMapsExtendedData", - "properties": { - "failure": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiProductProfileFailure", - "description": "Failure type if there is an error when fetching product profile data." - }, - "followeeCount": { - "description": "Number of people the user is following.", - "format": "int64", - "type": "string" - }, - "followerCount": { - "description": "Number of people who are following the user.", - "format": "int32", - "type": "integer" - }, - "numContributions": { - "description": "Sum of creators contributions i.e. reviews, rating, questions, etc.", - "format": "int64", - "type": "string" - }, - "profilePhotoUrl": { - "description": "The user's profile photo that might have a badge rendered at the corner if the user is eligible for a badge.", - "type": "string" - }, - "tagline": { - "description": "A user's bio, or tagline.", - "type": "string" - }, - "topicExpertise": { - "description": "A topic that creator has expertise in. This will be in the format: emoji associated with the topic, display name of the topic, topic score", - "items": { - "type": "string" - }, - "type": "array" - }, - "userCaption": { - "description": "A user's caption displayed under the user name on their profile page i.e. 'Local Guide Level 8'", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiMapsProfile": { - "description": "Maps Profile Data. See go/product-profiles-backend-api.", - "id": "AppsPeopleOzExternalMergedpeopleapiMapsProfile", - "properties": { - "fieldRestriction": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction" - }, - "type": "array" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "tagline": { - "type": "string" - }, - "websiteLink": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLink", - "description": "A link to the profile owner's website to be displayed in profile." - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction": { - "id": "AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction", - "properties": { - "clientData": { - "description": "Opaque data associated with this restriction e.g. abuse status.", - "format": "byte", - "type": "string" - }, - "type": { - "enum": [ - "TYPE_UNSPECIFIED", - "HIDE_TAGLINE" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLink": { - "id": "AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLink", - "properties": { - "anchorText": { - "description": "Anchor text to be displayed as clickable link. If not present, the URL should be displayed directly.", - "type": "string" - }, - "url": { - "description": "The URL to be linked to.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiMatchInfo": { - "description": "Represents the matching information for a field when there is a query.", - "id": "AppsPeopleOzExternalMergedpeopleapiMatchInfo", - "properties": { - "match": { - "description": "The list of matches ordered by most relevant matching for autocomplete coming first.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch" - }, - "type": "array" - }, - "query": { - "description": "The query token we are matching against.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch": { - "description": "All the substring that were matched for the given query against the current field. Represents a substring of another string.", - "id": "AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch", - "properties": { - "endIndex": { - "description": "Index right after the last character that matches the query. length = end-start, we have substring = [start, end).", - "format": "int32", - "type": "integer" - }, - "startIndex": { - "description": "Index of the first unicode character that matches the query.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiMembership": { - "deprecated": true, - "description": "A membership that the person has. The person can be a member of multiple circles and multiple contact-groups. A circle membership is created by adding a person to a circle by person-id or by email. A contact-group membership is created by adding a contact to a contact-group.", - "id": "AppsPeopleOzExternalMergedpeopleapiMembership", - "properties": { - "circleId": { - "description": "A circle that the person belongs to.", - "type": "string" - }, - "contactGroupId": { - "description": "A contact-group that the person belong to. The id can be either a hex-formatted id or a camel-cased SystemContactGroup predefined group name. The id will be predefined group name iff the system_contact_group_id has a value.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata", - "description": "The metadata field can be used to determine which container generated the membership. For example, when the membership has a contact_group_id, the metadata.container will be CONTACT and the container_id will be the contact Id." - }, - "systemContactGroupId": { - "description": "The membership has a contact_group_id, this field will be populated when the membership is in a system-reserved contact-group.", - "enum": [ - "UNKNOWN", - "MY_CONTACTS", - "STARRED", - "FRIENDS", - "FAMILY", - "COWORKERS" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiMission": { - "id": "AppsPeopleOzExternalMergedpeopleapiMission", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiName": { - "description": "See go/people-api-howto:names for an overview of name usage in PeopleAPI. The `unstructured_name` field contains a free form name value. The `given_name`, `middle_name`, `family_name`, etc, fields contain the structured name. For CONTACT mutates, (i.e. when Name.metadata.container is CONTACT), it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both. * When only the `unstructured_name` is set, it is parsed to produce a best-guess set of structured name values for the `given_name`, `family_name`, etc. * When only the structured name fields are set, the various values are combined to produce an `unstructured_name`. * When both are set, the `unstructured_name` is saved as-is and the structured name fields are saved as-is. This may be confusing as they might not \"match\". For PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is _required_ for clients to use the structured name fields as the unstructured field value is ignored on write. The unstructured name fields are generated for convenience on read. For DEVICE_CONTACTS, see b/156020778.", - "id": "AppsPeopleOzExternalMergedpeopleapiName", - "properties": { - "displayName": { - "description": "Read-only. A name synthesized based on `unstructured_name` and the structured name fields. Example: \"John Smith\" If a language code is passed in the side channel using http://cs/symbol:framework.rpc.DeprecatedPropagatedLanguageCode.value or http://cs/symbol:google.rpc.context.OriginContext.accept_language and the name does not have `honorific_prefix`, `middle_name`, or `honorific_suffix` set, the language code will be used to format `display_name`. If `include_account_locale` is set on the `MergePersonSourceOptions` and a language code is not passed in the side channel. The language code from go/uls will be used as the language code for formatting `display_name`.", - "type": "string" - }, - "displayNameLastFirst": { - "description": "Read-only. A name synthesized based on `unstructured_name` and the structured name fields with the last name first. Example: \"Smith, John\"", - "type": "string" - }, - "displayNameSource": { - "$ref": "SocialGraphApiProtoDisplayNameSource", - "description": "Read-only. The source of the display name." - }, - "familyName": { - "type": "string" - }, - "formattedName": { - "deprecated": true, - "description": "DEPRECATED(b/70571931). Use `unstructured_name` instead.", - "type": "string" - }, - "givenName": { - "type": "string" - }, - "honorificPrefix": { - "type": "string" - }, - "honorificSuffix": { - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "middleName": { - "type": "string" - }, - "pronunciations": { - "$ref": "SocialGraphApiProtoPronunciations", - "description": "This field is stored in contact annotations and merged at read-time. It is available with CONTACT_ANNOTATION container type at read time." - }, - "shortDisplayName": { - "description": "NOTE: this is currently NOT IMPLEMENTED due to changed priorities. Clients usually rely on \"first name\" instead, when a short name is needed. Read-only. A possibly shorter version of the user's name. - The purpose of this field is to address the needs of UIs where a full display name might be too large to fit. Instead of relying on `first_name`, which might not be present, `short_display_name` is preferred. - This is only available for PROFILE and DOMAIN_PROFILE container types. - About the actual content in this field: will be the first name when it's visible to the requester, or the same as `display_name`, otherwise. A sample scenario where the first name may not be visible is when the limited profile is returned. For more info, see: http://shortn/_9iV7TJ33la", - "type": "string" - }, - "unstructuredName": { - "description": "The free form name value. For contact mutates it is recommended for clients to set either the `unstructured_name` or the set of structured name fields, not both.", - "type": "string" - }, - "yomiFamilyName": { - "type": "string" - }, - "yomiFullName": { - "type": "string" - }, - "yomiGivenName": { - "type": "string" - }, - "yomiHonorificPrefix": { - "type": "string" - }, - "yomiHonorificSuffix": { - "type": "string" - }, - "yomiMiddleName": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo": { - "description": "Pronunciation audio metadata info. See go/name-pronunciation-backend. The metadata itself tracks the state of a user's name pronunciation audio.", - "id": "AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "namePronunciationAudioMetadata": { - "$ref": "SocialGraphApiProtoNamePronunciationAudioMetadata", - "description": "Actual metadata proto, shared with FBS backends." - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiNickname": { - "id": "AppsPeopleOzExternalMergedpeopleapiNickname", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "type": { - "enum": [ - "NICKNAME_UNKNOWN", - "DEFAULT", - "OTHER_NAME", - "MAIDEN_NAME", - "SHORT_NAME", - "INITIALS", - "ALTERNATE_NAME" - ], - "enumDeprecated": [ - false, - false, - true, - true, - true, - true, - false - ], - "enumDescriptions": [ - "", - "", - "Used in Profiles UI", - "", - "", - "", - "The nickname or alternate name, incorporated into Display Name." - ], - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiOccupation": { - "id": "AppsPeopleOzExternalMergedpeopleapiOccupation", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiOpeningHours": { - "description": "The periods that this place is open during the week. The periods are in chronological order, starting with today in the place-local timezone. An empty (but not absent) value indicates a place that is never open, e.g. because it is closed temporarily for renovations.", - "id": "AppsPeopleOzExternalMergedpeopleapiOpeningHours", - "properties": { - "openNow": { - "description": "Is this place open right now? Always present unless we lack time-of-day or timezone data for these opening hours.", - "type": "boolean" - }, - "periods": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod" - }, - "type": "array" - }, - "weekdayTexts": { - "description": "Localized strings describing the opening hours of this place, one string for each day of the week. Will be empty if the hours are unknown or could not be converted to localized text. Example: \"Sun: 18:00-06:00\"", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint": { - "id": "AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint", - "properties": { - "day": { - "description": "A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is Monday, etc.", - "format": "uint32", - "type": "integer" - }, - "time": { - "description": "A time in 24-hour \"hhmm\" format (i.e. range is 0000 to 2359).", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod": { - "id": "AppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod", - "properties": { - "close": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint" - }, - "open": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiOrganization": { - "id": "AppsPeopleOzExternalMergedpeopleapiOrganization", - "properties": { - "assignment": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiOrganizationAssignment" - }, - "type": "array" - }, - "certification": { - "type": "string" - }, - "costCenter": { - "type": "string" - }, - "current": { - "type": "boolean" - }, - "department": { - "type": "string" - }, - "description": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "endCalendarDay": { - "$ref": "GoogleTypeDate", - "description": "Start and End Dates are better represented as calendar entities. The intention is to replace timestamps. Not set if no value exists. Clients can choose whether to use has* semantics or default value semantics. For writes, the default proto and an absent message are equivalent. Legacy callers in the legacy_timestamp_event_write_behavior_enabled capability allowlist should write to PeopleApi via end_ms and migrate to setting both so they can be removed from the whitelist." - }, - "endMs": { - "deprecated": true, - "description": "Clients are encouraged to read the end_calendar_day instead. PeopleApi writes will still use end_ms for legacy callers that are in the legacy_timestamp_event_write_behavior_enabled capability allowlist. New writers must use the calendar_day fields.", - "format": "int64", - "type": "string" - }, - "endMsAsNumber": { - "deprecated": true, - "format": "int64", - "type": "string" - }, - "formattedStringType": { - "description": "The `string_type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "fteMilliPercent": { - "format": "int32", - "type": "integer" - }, - "importance": { - "format": "float", - "type": "number" - }, - "location": { - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "name": { - "type": "string" - }, - "project": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiOrganizationProject" - }, - "type": "array" - }, - "startCalendarDay": { - "$ref": "GoogleTypeDate", - "description": "Start and End Dates are better represented as calendar entities. The intention is to replace timestamps. Not set if no value exists. Clients can choose whether to use has* semantics or default value semantics. For writes, the default proto and an absent message are equivalent. Legacy callers in the legacy_timestamp_event_write_behavior_enabled capability allowlist should write to PeopleApi via start_ms and migrate to setting both so they can be removed from the allowlist." - }, - "startMs": { - "deprecated": true, - "description": "Clients are encouraged to read the start_calendar_day instead. PeopleApi writes will still use start_ms for legacy callers that are in the legacy_timestamp_event_write_behavior_enabled capability allowlist. New writers must use the calendar_day fields.", - "format": "int64", - "type": "string" - }, - "startMsAsNumber": { - "deprecated": true, - "format": "int64", - "type": "string" - }, - "stringType": { - "description": "The type of the organization. The type can be free form or one of these predefined values: * `work` * `school`", - "type": "string" - }, - "symbol": { - "type": "string" - }, - "title": { - "type": "string" - }, - "type": { - "enum": [ - "UNKNOWN", - "WORK", - "SCHOOL", - "DOMAIN_ONLY" - ], - "enumDescriptions": [ - "", - "", - "", - "Used for domains inferred from verified email addresses. May be deprecated when/if we start mapping SCHOOL and WORK Names to Domain." - ], - "type": "string" - }, - "yomiName": { - "deprecated": true, - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiOrganizationAssignment": { - "id": "AppsPeopleOzExternalMergedpeopleapiOrganizationAssignment", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiOrganizationProject": { - "id": "AppsPeopleOzExternalMergedpeopleapiOrganizationProject", - "properties": { - "description": { - "type": "string" - }, - "name": { - "type": "string" - }, - "role": { - "type": "string" - }, - "type": { - "description": "Mapped from StandardProjectTag / CustomProjectTag", - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiOtherKeyword": { - "id": "AppsPeopleOzExternalMergedpeopleapiOtherKeyword", - "properties": { - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "source": { - "enum": [ - "SOURCE_UNKNOWN", - "OUTLOOK", - "CUSTOM" - ], - "enumDescriptions": [ - "", - "Following field is added to support Outlook schema. This field is a general storage for Outlook string data that shall be encoded as: \"name:\" + value strings where name of the Outlook field cannot contain colons. Multiple Outlook fields shall be encoded as multiple Keywords.", - "" - ], - "type": "string" - }, - "type": { - "description": "The type of the event. The type depends on the `OtherKeyword.source`. `OUTLOOK` source fields must be one of: * `billing_information` * `directory_server` * `keyword` * `mileage` * `sensitivity` * `user` * `subject` All other fields are treated as a `CUSTOM` source field. The value can be free form or one of these predefined values: * `home` * `other` * `work`", - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPerson": { - "description": "Merged-person combines multiple sources of data like contacts and profiles. See go/people-api and go/understanding-merged-person NOTE: Why are all the fields repeated? See go/people-api-concepts#repeated", - "id": "AppsPeopleOzExternalMergedpeopleapiPerson", - "properties": { - "about": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAbout" - }, - "type": "array" - }, - "address": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAddress" - }, - "type": "array" - }, - "ageRange": { - "deprecated": true, - "description": "Deprecated. If age is needed use `person.age_range_repeated` instead. Please see go/people-api-howto:age on how to correctly get age data.", - "enum": [ - "UNKNOWN", - "LESS_THAN_EIGHTEEN", - "TWENTY_ONE_OR_OLDER", - "EIGHTEEN_TO_TWENTY" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "ageRangeRepeated": { - "description": "Data on the person's age range, adult status, and age of consent. NOTE: Please read go/people-api-howto:age on how to correctly get age data.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAgeRangeType" - }, - "type": "array" - }, - "birthday": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiBirthday" - }, - "type": "array" - }, - "braggingRights": { - "description": "Used only by contacts, no data will be returned for profiles.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiBraggingRights" - }, - "type": "array" - }, - "calendar": { - "description": "b/145671020: Deprecated for Profiles, but not for Contacts.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiCalendar" - }, - "type": "array" - }, - "certifiedBornBefore": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiCertifiedBornBefore" - }, - "type": "array" - }, - "circleMembership": { - "deprecated": true, - "description": "DEPRECATED. No data is returned for this field anymore. See b/329513077.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiCircleMembership" - }, - "type": "array" - }, - "clientData": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiClientData" - }, - "type": "array" - }, - "communicationEmail": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiCommunicationEmail" - }, - "type": "array" - }, - "connectionReminder": { - "description": "Reminder to connect with a Contact (part of go/people-prompts). Also contains contact-level prompts settings. Each Contact can have a single `connection_reminder` (but can have multiple Prompts inside of it). Field is repeated per PeopleAPI data model go/people-api-concepts#repeated. Only supported for CONTACT container.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiConnectionReminder" - }, - "type": "array" - }, - "contactCreateContextInfo": { - "description": "ContactCreateContextInfo has a timestamp timestamp and additional metadata (e.g. the source of the creation) for when the contact was created. See also `ContactEditContextInfo`.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiContactCreateContextInfo" - }, - "type": "array" - }, - "contactEditContextInfo": { - "description": "ContactEditContextInfo is a timestamp and additional metadata (e.g. the source of the edit) for the last 'human initiated edit'. See also `ContactCreateContextInfo`.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiContactEditContextInfo" - }, - "type": "array" - }, - "contactGroupMembership": { - "description": "Contact groups that this person is a member of.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiContactGroupMembership" - }, - "type": "array" - }, - "contactPromptSettingsInfo": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfo" - }, - "type": "array" - }, - "contactStateInfo": { - "description": "Contact state and related metadata. See go/fbs-contacts-trash. If this field was requested but is not set on the Person then the contact is in the DEFAULT contact state. This field is read-only, and should not be set on a mutate (e.g. UpdatePerson) call. Clients must call the explicit APIs (e.g. UntrashPerson) to change contact state.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiContactStateInfo" - }, - "type": "array" - }, - "coverPhoto": { - "deprecated": true, - "description": "DEPRECATED. Now always returns a default cover photo. See go/sunset-cover-photo.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiCoverPhoto" - }, - "type": "array" - }, - "customSchemaField": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiCustomSchemaField" - }, - "type": "array" - }, - "email": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiEmail" - }, - "type": "array" - }, - "emergencyInfo": { - "description": "Emergency information. See go/emergency-trusted-contacts-papi.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiEmergencyInfo" - }, - "type": "array" - }, - "event": { - "description": "Event is currently in use by contacts.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiEvent" - }, - "type": "array" - }, - "extendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonExtendedData", - "description": "Data added by extensions that are not specific to a particular field." - }, - "externalId": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiExternalId" - }, - "type": "array" - }, - "fileAs": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiFileAs" - }, - "type": "array" - }, - "fingerprint": { - "description": "A fingerprint that can be used to reliably determine if a resource has changed. Externally it is used as part of the etag.", - "type": "string" - }, - "gender": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiGender" - }, - "type": "array" - }, - "im": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiIm" - }, - "type": "array" - }, - "inAppNotificationTarget": { - "description": "Ways to send in-app notifications to this person. See go/reachability. This field is read-only and ignored for mutates.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget" - }, - "type": "array" - }, - "inAppReachability": { - "description": "Used only by profile service, deprecated for PeopleAPI and Sharpen. If you aren't sure, contact people-api-users@ and profile-service-eng@.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiInAppReachability" - }, - "type": "array" - }, - "interactionSettings": { - "deprecated": true, - "description": "DEPRECATED. This field isn't populated in people.list.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiInteractionSettings" - }, - "type": "array" - }, - "interest": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiInterest" - }, - "type": "array" - }, - "language": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiLanguage" - }, - "type": "array" - }, - "legacyFields": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiLegacyFields", - "deprecated": true, - "description": "DEPRECATED. This field was only for backwards compatibility with legacy GData callers, and should not be used by new clients. Legacy fields used for mobile clients." - }, - "limitedProfileSettings": { - "description": "Settings for the limited profile. See go/limited-profiles-api.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsField" - }, - "type": "array" - }, - "linkedPerson": { - "description": "Other person resources linked indirectly by an edge. The full person or just the IDs may be populated depending on request parameters. We consider linked people distinct people, but they share information. Example: A contact with two outgoing edges. The two edges are considered separate, but linked people.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPerson" - }, - "type": "array" - }, - "location": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiLocation" - }, - "type": "array" - }, - "managementUpchain": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiManagementUpchain" - }, - "type": "array" - }, - "mapsProfile": { - "description": "MapsProfile, see go/product-profiles-backend-api", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiMapsProfile" - }, - "type": "array" - }, - "membership": { - "deprecated": true, - "description": "DEPRECATED. Please use `circle_membership` or `contact_group_membership` instead. Contact-groups and circles that this person is a member of.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiMembership" - }, - "type": "array" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonMetadata" - }, - "mission": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiMission" - }, - "type": "array" - }, - "name": { - "description": "See go/people-api-howto:names for details about names in PeopleAPI.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiName" - }, - "type": "array" - }, - "namePronunciationAudioMetadataInfo": { - "description": "Metadata info for a user's name pronunciation audio. See go/name-pronunication-backend.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo" - }, - "type": "array" - }, - "nickname": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiNickname" - }, - "type": "array" - }, - "occupation": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiOccupation" - }, - "type": "array" - }, - "organization": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiOrganization" - }, - "type": "array" - }, - "otherKeyword": { - "description": "Legacy arbitrary key value fields", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiOtherKeyword" - }, - "type": "array" - }, - "peopleInCommon": { - "deprecated": true, - "description": "DEPRECATED. This feature was stubbed, but never implemented. This field will not be populated with any results.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPerson" - }, - "type": "array" - }, - "personAttribute": { - "description": "In order to request this field, the client must set desired PersonAttributeKey in the dedicated RequestMask field `person_attribute`. Unlike other person fields, this field cannot be requested in the `include_field` field mask.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonAttribute" - }, - "type": "array" - }, - "personId": { - "description": "The ID of the person. This is determined by the backend, is unstable, and may not be the same as a user_id. Internally referred as 'personKey' to distinguish from the common PersonId pojo. See go/people-api-concepts#person-id", - "type": "string" - }, - "phone": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPhone" - }, - "type": "array" - }, - "photo": { - "description": "See go/people-api-concepts/photos for usage details", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPhoto" - }, - "type": "array" - }, - "placeDetails": { - "description": "Data specific to places. Data which also applies to contacts and profiles such as name, phone, photo, etc. are returned in the corresponding Person fields.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPlaceDetails" - }, - "type": "array" - }, - "plusPageInfo": { - "deprecated": true, - "description": "DEPRECATED. Info about plus pages in the person.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPlusPageInfo" - }, - "type": "array" - }, - "posixAccount": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPosixAccount" - }, - "type": "array" - }, - "profileUrl": { - "deprecated": true, - "description": "DEPRECATED. No data is returned for this field anymore. (go/people-api-concepts#repeated): Use person.profile_url_repeated instead. Access to this field is restricted to a set of legacy clients. This is a Google+-only field. See go/fbs-g+-deprecation. NOTE: `Person.profile_url` is only populated for profile-centric person.", - "type": "string" - }, - "profileUrlRepeated": { - "deprecated": true, - "description": "DEPRECATED. No data is returned for this field anymore. This is a Google+-only field. See go/fbs-g+-deprecation.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiProfileUrl" - }, - "type": "array" - }, - "pronoun": { - "description": "Pronouns are not supported for consumer profiles. See go/pronouns-in-people-system-prd for more details.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPronoun" - }, - "type": "array" - }, - "readOnlyProfileInfo": { - "description": "Information about the profiles that are a part of this Person. This is only applicable to PROFILE and DOMAIN_PROFILE containers.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo" - }, - "type": "array" - }, - "relation": { - "description": "See go/relation-vs-relationship for relation vs relationship explanation.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiRelation" - }, - "type": "array" - }, - "relationshipInterest": { - "deprecated": true, - "description": "DEPRECATED. No data is returned for this field anymore.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiRelationshipInterest" - }, - "type": "array" - }, - "relationshipStatus": { - "deprecated": true, - "description": "DEPRECATED. No data is returned for this field anymore.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiRelationshipStatus" - }, - "type": "array" - }, - "rightOfPublicityState": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiRightOfPublicityState" - }, - "type": "array" - }, - "rosterDetails": { - "description": "Data specific to rosters (such as Google Groups and Chat Rooms). Data which also applies to contacts and profiles such as name, email, and photo, etc are returned in the corresponding Person fields.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiRosterDetails" - }, - "type": "array" - }, - "searchProfile": { - "description": "Profile for Janata and Search. go/janata-profile-in-sgbe", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiSearchProfile" - }, - "type": "array" - }, - "sipAddress": { - "description": "SipAddress is currently in use by contacts.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiSipAddress" - }, - "type": "array" - }, - "skills": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiSkills" - }, - "type": "array" - }, - "socialConnection": { - "description": "NOTE: this is used by go/starlight, but not actually used or returned in PeopleAPI. See b/27281119 for context. Please reach out to people-api-eng@ if you have questions.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiSocialConnection" - }, - "type": "array" - }, - "sortKeys": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiSortKeys" - }, - "sshPublicKey": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiSshPublicKey" - }, - "type": "array" - }, - "tagline": { - "description": "Only supported for PLACE container results, no data will be returned for profiles.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiTagline" - }, - "type": "array" - }, - "teamsExtendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiTeamsExtendedData", - "deprecated": true, - "description": "DEPRECATED. *UNSUPPORTED*. This field is never populated." - }, - "userDefined": { - "description": "UserDefined is currently in use by contacts.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiUserDefined" - }, - "type": "array" - }, - "visibleToGuests": { - "description": "Add annotation_id and metadata (product_source) for visible to guests contacts go/visible-to-guests.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiVisibleToGuests" - }, - "type": "array" - }, - "website": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiWebsite" - }, - "type": "array" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPersonAttribute": { - "description": "Client-specific binary blob stored with Person data. This differs from ClientData, which stores structured, key-value pairs.", - "id": "AppsPeopleOzExternalMergedpeopleapiPersonAttribute", - "properties": { - "attributeKey": { - "enum": [ - "PERSON_ATTRIBUTE_UNKNOWN", - "REJECTED_CLEANUP_CARD_SUGGESTIONS" - ], - "enumDescriptions": [ - "", - "The value field of a PersonAttribute object with this key will contain a byte serialized RejectedCleanupCardSuggestions proto, see http://shortn/_3KyFdhbZfW" - ], - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPersonExtendedData": { - "description": "Extension data for the whole person entity.", - "id": "AppsPeopleOzExternalMergedpeopleapiPersonExtendedData", - "properties": { - "aboutMeExtendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData", - "description": "For use by AboutMe and SmartProfile clients." - }, - "appsWaldoExtendedData": { - "$ref": "SocialGraphWireProtoPeopleapiExtensionAppsWaldoExtendedData", - "description": "For use with Apps Waldo Availability Data extension" - }, - "callerIdExtendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiCallerIdExtendedData", - "description": "For use with caller ID extension" - }, - "contactsExtendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedData", - "description": "For use with Contacts extension." - }, - "domainName": { - "description": "Hosted domain this person is a member of. The domain_name is also returned as part of the person's ReadOnlyProfileInfo, so requesting it via this extension is no longer necessary.", - "items": { - "type": "string" - }, - "type": "array" - }, - "dynamiteExtendedData": { - "$ref": "SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedData", - "description": "For use with Dynamite extension." - }, - "gpayExtendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiGPayExtendedData", - "description": "For use with Google Pay extension." - }, - "gplusExtendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiGplusExtendedData", - "description": "For use with Google+ extension." - }, - "hangoutsExtendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedData", - "description": "For use with Hangouts extension." - }, - "isPlaceholder": { - "description": "For use with gmail extensions and lookup by email. If true, no person was actually found using the specified email address, but we want to return TLS info about the email address regardless.", - "type": "boolean" - }, - "mapsExtendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiMapsExtendedData", - "description": "For use with Maps extension." - }, - "paisaExtendedData": { - "$ref": "SocialGraphWireProtoPeopleapiExtensionPaisaExtendedData", - "description": "For use with Paisa extension" - }, - "peopleStackExtendedData": { - "$ref": "SocialGraphWireProtoPeopleapiExtensionPeopleStackExtendedData", - "deprecated": true, - "description": "DEPRECATED: Use people_stack_person_extended_data instead. For use with PeopleStack extension." - }, - "peopleStackPersonExtendedData": { - "$ref": "SocialGraphWireProtoPeopleapiExtensionPeopleStackPersonExtendedData", - "description": "For use with PeopleStack extension." - }, - "playGamesExtendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData", - "description": "For use with Play Games Product Profile extension. See go/jam-games-profile. The play games profile will be returned only for profile-centric requests." - }, - "tlsIsPlaceholder": { - "deprecated": true, - "description": "For use with the TLS extension and lookup by email. If true, no person was actually found using the specified email address, but we want to return TLS info about the email address regardless. DEPRECATED: Use is_placeholder instead.", - "type": "boolean" - }, - "youtubeExtendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedData", - "description": "For use with Youtube extension." - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata": { - "description": "Metadata for a single Person field. See go/understanding-merged-person", - "id": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata", - "properties": { - "aclChoices": { - "description": "When the container is PROFILE/DOMAIN_PROFILE and the profile owner is the requester, this read-only, synthesized field indicates which ACLs the user is allowed to set on the profile field. This is distinct from field_acl, which is the field's currently set ACL. field_acl will always be a valid ACL choice, except for the case of default synthesized profile fields like monogram profile photos. For those, field_acl does not represent a user-set field ACL, so it may or may not be a valid choice. In all cases, default_acl_choice will always be a valid choice. This is currently only populated on the photo field when the \"person.photo.metadata.acl_choices\" mask is set.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiFieldAcl" - }, - "type": "array" - }, - "additionalContainerInfo": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo", - "deprecated": true, - "description": "Additional information about the container of this field." - }, - "affinity": { - "description": "For field-level affinity scores. The affinity between the requester and this particular field in the Person (e.g., frequency of calling a particular phone number).", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAffinity" - }, - "type": "array" - }, - "contactVisibility": { - "description": "Each field can have different visibility settings Only returned when explicitly requested.", - "items": { - "enum": [ - "CONTACT_VISIBILITY_UNSPECIFIED", - "VISIBLE_TO_GUEST" - ], - "enumDescriptions": [ - "", - "This can be set for annotation fields(e.g. nicknames, relationship) that the user wants to expose to other people in their household. Example use case: differentiate between speed dial nicknames, regular nicknames and relationships" - ], - "type": "string" - }, - "type": "array" - }, - "container": { - "deprecated": true, - "description": "DEPRECATED. Use container_type instead. Having the Container be an enum at the PFM message level causes circular dependency when other types try to refer to it. It breaks javascript build targets.", - "enum": [ - "UNKNOWN", - "PROFILE", - "CONTACT", - "CIRCLE", - "PLACE", - "ACCOUNT", - "EXTERNAL_ACCOUNT", - "DOMAIN_PROFILE", - "DOMAIN_CONTACT", - "DEVICE_CONTACT", - "GOOGLE_GROUP", - "AFFINITY", - "RAW_DEVICE_CONTACT", - "CONTACT_ANNOTATION", - "DELEGATED_CONTACT" - ], - "enumDescriptions": [ - "", - "Google Profile. PROFILE fields are editable by the profile owner, unless the field metadata includes writeable=false.", - "Google Contact", - "Circle membership of non-g+ user.", - "A maps place", - "The requester's own Gaia account. ACCOUNT fields are not editable by anyone. They only occur when the requester is \"me\". In the event an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE field when viewed by a requester who is not \"me\".", - "LinkedExternalSites (go/PeopleApiConnectedSites)", - "Google-For-Work Profile. DOMAIN_PROFILE fields are editable by the Dasher administrator of the domain. They are not editable by the profile owner.", - "Domain shared contact", - "To be deprecated in favor of RAW_DEVICE_CONTACT See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info", - "Google group. Examples: sales@zara.es.", - "Data from the user's frequent interactions.", - "Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts", - "Data from contact annotation. Contact annotations are currently generated and used by Google Assistant.", - "Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation." - ], - "type": "string" - }, - "containerId": { - "deprecated": true, - "description": "DEPRECATED. Use encoded_container_id instead. The numeric id of the data source. The id is only unique within a single container type. This is only set when the id of the container is numeric, e.g. contact id.", - "format": "int64", - "type": "string" - }, - "containerPrimary": { - "description": "Indicates if this field is the primary field for the container and container_id.", - "type": "boolean" - }, - "containerType": { - "description": "The source for the data in the field.", - "enum": [ - "UNKNOWN_CONTAINER", - "PROFILE", - "CONTACT", - "CIRCLE", - "PLACE", - "ACCOUNT", - "EXTERNAL_ACCOUNT", - "DOMAIN_PROFILE", - "DOMAIN_CONTACT", - "DEVICE_CONTACT", - "GOOGLE_GROUP", - "NAMED_CHAT_ROOM", - "UNNAMED_CHAT_ROOM", - "AFFINITY", - "RAW_DEVICE_CONTACT", - "CONTACT_ANNOTATION", - "DELEGATED_CONTACT" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "Google Profile. PROFILE fields are editable by the profile owner, unless the field metadata includes writeable=false.", - "Google Contact", - "Deprecated. E-mail only circle membership should be dead. E-mail only circle membership of non-g+ user.", - "A maps place", - "The requester's own Gaia account. ACCOUNT fields are not editable by anyone. They only occur when the requester is \"me\". In the event an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE field when viewed by a requester who is not \"me\".", - "LinkedExternalSites (go/PeopleApiConnectedSites)", - "Google-For-Work Profile. DOMAIN_PROFILE fields are editable by the Dasher administrator of the domain. They are not editable by the profile owner.", - "Domain shared contact. An entity that is owned by a domain and represents a person, but is not a user in the domain. For more details see https://support.google.com/a/answer/9281635.", - "To be deprecated in favor of RAW_DEVICE_CONTACT See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info", - "Google group. Examples: sales@zara.es.", - "Dynamite \"Named Flat Room\" (NFR). This is a Baggins Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms", - "Dynamite \"Unnamed Flat Room\" (UFR). This is a Baggins Roster with label DYNAMITE_SPACE but does *not* have label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms", - "Device contacts that are used in interaction ranking, but have not been uploaded to Google. These are synthesized people from interaction data. This container type is only used in ListRankedPeople and ListRankedTargets actions. See go/TopNWithClusteringPart1.", - "Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts", - "Data from contact annotation. Contact annotations are currently generated and used by Google Assistant.", - "Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation." - ], - "type": "string" - }, - "crossDeviceAllowed": { - "description": "True if this field can be used on other devices than the one it originated from. Assigned by the server. Currently only used for device contacts.", - "type": "boolean" - }, - "defaultAclChoice": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiFieldAcl", - "description": "When the container is PROFILE/DOMAIN_PROFILE and the profile owner is the requester, this read-only, synthesized field contains the default ACL choice. This can be used to select a preferred choice from acl_choices. Generally, default_acl_choice should only be preferred for default synthesized profile fields like monogram profile photos. Otherwise, the existing field_acl should be preferred. This is currently only populated on the photo field when the \"person.photo.metadata.acl_choices\" mask is set." - }, - "deprecatedContactContainerId": { - "deprecated": true, - "description": "DEPRECATED. Use container_id. Not populated or used at all.", - "format": "int64", - "type": "string" - }, - "edgeKey": { - "description": "Field is an edge key for this person. Modifying it breaks the link between data sources. This is equivalent to edge_key_info having at least one entry with materialized = true.", - "type": "boolean" - }, - "edgeKeyInfo": { - "description": "Edges that this field creates. This includes all edges and not necessarily just the edge relevant to the joined entities.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfo" - }, - "type": "array" - }, - "encodedContainerId": { - "description": "The encoded id of the data source. The id is only unique within a single container type. This field correlates to person.metadata.identity_info.source_id.id. This field may not be populated in some special cases, where the id is not visible to the querying user. e.g. ListAutocompletions with full phone number query. For value format, see google3/social/graph/api/proto/main_merged_person.proto?q=symbol:SourceIdentity.id", - "type": "string" - }, - "fieldAcl": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiFieldAcl", - "description": "When the container is PROFILE and the profile owner is the requester, this field indicates how the profile field is accessible." - }, - "lastUpdateTime": { - "description": "Indicates the time that the field was added or last edited. Currently this is populated for: (1) person.birthday with ContainerType PROFILE, DOMAIN_PROFILE or ACCOUNT. (2) person.name, person.address, person.relation, person.email and person.phone with ContainerType CONTACT_ANNOTATION;", - "format": "google-datetime", - "type": "string" - }, - "matchingInfo": { - "description": "The matching informations if there was a query against this field.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiMatchInfo" - }, - "type": "array" - }, - "otherDedupedContainers": { - "description": "When deduping fields by value, list of containers of the fields that where deduped.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiDedupedContainerInfo" - }, - "type": "array" - }, - "primary": { - "description": "If true, indicates this field is the Person's primary field eg. Contact, and (Profile) Person could have different Name fields, and the Name represented by the Person is primary. For selecting a primary field from RepeatedFields within a Person, use container_primary.", - "type": "boolean" - }, - "productMetadata": { - "description": "The product(s) that generated the data in this field. Empty is equivalent to DEFAULT. ST_USER_METADATA", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiProductMetadata" - }, - "type": "array" - }, - "verified": { - "description": "Indicates whether this is a verified field. It is synthesized from verification and is read-only. If there is at least one verification with status PASSED, the field is considered verified. Currently this is applicable to address, email, name, and phone for PROFILE and DOMAIN_PROFILE. Use .metadata.verified in the request mask.", - "type": "boolean" - }, - "visibility": { - "description": "Currently, only people.get may set this value", - "enum": [ - "VISIBILITY_UNKNOWN", - "PUBLIC", - "USER" - ], - "enumDescriptions": [ - "", - "The field is visible to every user.", - "The field is visible to the requester. The server cannot provide additional indication beyond that. The field may or may not be also visible to users other than the requester." - ], - "type": "string" - }, - "writeable": { - "description": "Whether the field is writeable to the requester.", - "type": "boolean" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber": { - "description": "A person list with total number specified.", - "id": "AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber", - "properties": { - "people": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPerson" - }, - "type": "array" - }, - "totalNumber": { - "description": "The total number of people, which is aways no less than the size of the above list.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPersonMetadata": { - "description": "Metadata for the entire Person resource.", - "id": "AppsPeopleOzExternalMergedpeopleapiPersonMetadata", - "properties": { - "affinity": { - "description": "Affinities associated with the person, with respect to the requester.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAffinity" - }, - "type": "array" - }, - "attribution": { - "description": "Populated when the data for the MergedPerson comes from a 3rd party provider or data source. Clients must display these attributions to the user if they are present. NOTE: This field is only relevant when requesting the following containers: - PLACE (data read from Maps)", - "items": { - "type": "string" - }, - "type": "array" - }, - "bestDisplayName": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiBestDisplayName", - "description": "The best name to use for this person for user-facing display. See go/people-api-howto:names for details about how this field is computed. In many cases this will simply be Person.name[0]. However, Person.name returns only explicit Name fields, but other fields maybe usable as a name (for example: nicknames, file_as, ...). `best_display_name` will be calculated from all fields in storage which are usable as a name, even fields which are not explicitly requested in the MergedPerson result. See go/javagoog/apps/tacotown/socialgraph/entity/PersonNameFormatter.java" - }, - "blockType": { - "deprecated": true, - "description": "DEPRECATED. Indicates whether the profile owner has blocked this person. Please use `person.read_only_profile_info.block_type` instead.", - "items": { - "enum": [ - "BLOCK_TYPE_UNKNOWN", - "CIRCLE", - "LEGACY" - ], - "enumDescriptions": [ - "", - "Profile-blocked users", - "Chat-blocked users" - ], - "type": "string" - }, - "type": "array" - }, - "circleId": { - "deprecated": true, - "description": "DEPRECATED. The circles the person belongs to.", - "items": { - "type": "string" - }, - "type": "array" - }, - "contactGroupId": { - "deprecated": true, - "description": "DEPRECATED. Please use `person.contact_group_memberships` instead. The contact groups the person belongs to.", - "items": { - "type": "string" - }, - "type": "array" - }, - "contactId": { - "description": "The IDs of all contacts contributing to this person.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "customResponseMaskingType": { - "deprecated": true, - "description": "DEPRECATED. Customized masking of the response similar to the legacy People2RequestMask People2Params request message. NOTE: This param is inherently client-specific, limited to specific legacy clients, and not open to new usage. NOTE: Effects may be applied to a subset of people in the response.", - "enum": [ - "UNKNOWN", - "NONE", - "MENAGERIE" - ], - "enumDescriptions": [ - "", - "No filtering of the response.", - "Used by Menagerie to request menagerie-specific custom filtering or masking on the response." - ], - "type": "string" - }, - "deleted": { - "description": "For sync requests (i.e., changed since the provided sync_token), indicates the resource is a tombstone for a Person resource that has been entirely deleted.", - "type": "boolean" - }, - "deprecatedBlocked": { - "deprecated": true, - "description": "DEPRECATED. Please use `person.read_only_profile_info.block_type` instead.", - "type": "boolean" - }, - "deprecatedMembershipCircleId": { - "deprecated": true, - "description": "DEPRECATED. This field is no longer populated or read.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "deprecatedMembershipContactGroupId": { - "deprecated": true, - "description": "DEPRECATED. This field is no longer populated or read.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "deviceContactInfo": { - "description": "Info about the aggregated device contacts. When the person contains RAW_DEVICE_CONTACT containers, each DeviceContactInfo represents a single aggregate device contact made up of one or more raw device contacts.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiDeviceContactInfo" - }, - "type": "array" - }, - "identityInfo": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiIdentityInfo", - "description": "Detailed metadata about the lookup IDs and data sources included in a MergedPerson result." - }, - "inViewerDomain": { - "deprecated": true, - "description": "DEPRECATED. Indicates whether this person is in the same domain as the viewer. For proxying trust between two users based on organization membership, see: - go/flex-orgs-platform - go/flex-orgs-compliance-handbook (especially http://shortn/_ChwfAY36Ys)", - "type": "boolean" - }, - "incomingBlockType": { - "deprecated": true, - "description": "DEPRECATED. Indicates whether this person is blocking the profile owner. Please use `person.read_only_profile_info.incoming_block_type` instead.", - "items": { - "enum": [ - "BLOCK_TYPE_UNKNOWN", - "CIRCLE", - "LEGACY" - ], - "enumDescriptions": [ - "", - "Profile-blocked users", - "Chat-blocked users" - ], - "type": "string" - }, - "type": "array" - }, - "lastUpdateTimeMicros": { - "description": "DEPRECATED. The last update timestamps for the constituent components of this person are available in `identity_info.source_ids`. The time of the most recent change to this person, in !!!NANOS!!! (due to a bug). May be a change to any of the underlying parts of the person (profile, contact, etc.). Not guaranteed to be the timestamp of the most recent change, due to limitations in the backend. This field is not fully deprecated for backend container-specific storage services like ProfileService which lack identity_info. The use is still discouraged in such systems and they should prefer to use the `last_update_time` field of this message instead.", - "format": "int64", - "type": "string" - }, - "model": { - "description": "The person model that is used to construct this person.", - "enum": [ - "PERSON_MODEL_UNKNOWN", - "PROFILE_CENTRIC", - "CONTACT_CENTRIC" - ], - "enumDescriptions": [ - "", - "The default People API model where a person can contain no more than one profile and potentially many contacts.", - "The inversion of the default profile-centric model, i.e. a person can contain no more than one contact but potentially many profiles. See go/contact-centric-person-model for more details." - ], - "type": "string" - }, - "objectType": { - "deprecated": true, - "description": "DEPRECATED.", - "enum": [ - "OBJECT_TYPE_UNKNOWN", - "PERSON", - "PAGE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "ownerId": { - "deprecated": true, - "description": "DEPRECATED. Please use `person.read_only_profile_info.owner_id` instead.", - "type": "string" - }, - "ownerUserType": { - "deprecated": true, - "description": "DEPRECATED. See `person.read_only_profile_info.owner_user_type` instead.", - "items": { - "enum": [ - "OWNER_USER_TYPE_UNKNOWN", - "GOOGLE_USER", - "GPLUS_USER", - "GPLUS_DISABLED_BY_ADMIN", - "GOOGLE_APPS_USER", - "GOOGLE_APPS_SELF_MANAGED_USER", - "GOOGLE_FAMILY_USER", - "GOOGLE_FAMILY_CHILD_USER", - "GOOGLE_APPS_ADMIN_DISABLED", - "GOOGLE_ONE_USER", - "GOOGLE_FAMILY_CONVERTED_CHILD_USER" - ], - "enumDescriptions": [ - "", - "The owner is a Google user.", - "The owner is a Currents user.", - "Google+, i.e. INSServiceID::GOOGLE_ME service, is disabled by dasher admin. Only returned for requester's own profile.", - "The owner is a Google Apps for Work user.", - "The owner is a self-managed Google Apps for Work user. Only returned for requester's own profile.", - "The owner is a Google for Families user. Only returned for requester's own profile.", - "The owner is a Google for Families child user. Only returned for requester's own profile.", - "The owner has been disabled (archived, suspended) by the G Suite admin.", - "The owner is a Google One user (go/googleone). Only returned for requester's own profile.", - "The owner is a Google for Families child user that was converted from an existing user. Only returned for requester's own profile. (go/griffin-account)" - ], - "type": "string" - }, - "type": "array" - }, - "plusPageType": { - "deprecated": true, - "description": "DEPRECATED. Please use `Person.plus_page_info` instead.", - "enum": [ - "PLUS_PAGE_TYPE_UNKNOWN", - "LOCAL", - "COMPANY", - "BRAND", - "CELEBRITY", - "CAUSE", - "ENTERTAINMENT", - "OTHER", - "OBSOLETE_PRIVATE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "Formerly a private madison account(go/private-madison-account). Don't use it anymore." - ], - "type": "string" - }, - "previousPersonId": { - "deprecated": true, - "description": "DEPRECATED. This field is no longer populated or read.", - "items": { - "type": "string" - }, - "type": "array" - }, - "profileOwnerStats": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats", - "deprecated": true, - "description": "DEPRECATED. Stats/counters pertaining to followers and incoming edges. Please use `person.read_only_profile_info.profile_owner_stats` instead." - }, - "scoringInfo": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo", - "description": "Contact people-directory-dev-team@ if you want to use this field." - }, - "userVisibleStats": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiUserVisibleStats", - "deprecated": true, - "description": "DEPRECATED. This field is no longer populated or read." - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo": { - "id": "AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo", - "properties": { - "rawMatchQualityScore": { - "description": "Only populated on a SearchDirectoryPeople call, when results are scored. Contact people-directory-dev-team@ if you want to use this field.", - "format": "double", - "type": "number" - }, - "stExpressionResults": { - "description": "Only populated on a SearchDirectoryPeople call that sends a request with StFieldSpecExpressions. - Used for linking indexed terms with query terms for go/better-name-matching - Name should be alphanumeric or underscores - Value should be an st expression following the syntax at go/stsyntax Contact people-directory-dev-team@ if you want to use this field.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResult" - }, - "type": "array" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResult": { - "id": "AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResult", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPhone": { - "id": "AppsPeopleOzExternalMergedpeopleapiPhone", - "properties": { - "canonicalizedForm": { - "description": "Canonicalized form that follows ITU-T E.164 international public telecommunication numbering plan.", - "type": "string" - }, - "emergencyInfo": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo", - "description": "Emergency information. See go/emergency-trusted-contacts-papi." - }, - "extendedData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPhoneExtendedData", - "description": "Read-only. Field requested by specifying `HANGOUTS_PHONE_DATA` in `extension_set.extension_names`." - }, - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "type": { - "description": "The type of the phone number. The type can be free form or one of these predefined values: * `home` * `work` * `mobile` * `homeFax` * `workFax` * `otherFax` * `pager` * `workMobile` * `workPager` * `main` * `googleVoice` * `other`", - "type": "string" - }, - "uri": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPhoneExtendedData": { - "id": "AppsPeopleOzExternalMergedpeopleapiPhoneExtendedData", - "properties": { - "structuredPhone": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiStructuredPhone", - "description": "For use with Hangouts extension." - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPhoto": { - "id": "AppsPeopleOzExternalMergedpeopleapiPhoto", - "properties": { - "decoration": { - "description": "Read-only. Use UpdatePersonPhoto to change photo decorations. If this photo is decorated, this field contains information about its decorations. For now, this will contain at most one entry.", - "items": { - "$ref": "SocialGraphApiProtoDecorationOverlay" - }, - "type": "array" - }, - "emojiAvatarUrl": { - "description": "URL of an emoji avatar as an image. See go/emoji-cdn. PeopleAPI will return the SVG format so that it can be scaled client side and so that the images will not be animated. All clients that use this field must also have fall-back handling for using the `Photo.url` field if this is empty. When we have FIFE-compatible emoji-image URLs we will drop this field and return the Photo.url instead. Clients that have their own go/emoji-rendering integration may prefer to render the emoji-avatar from `Photo.glyph` field using their rendering system so that the emoji version/style match the rest of the application. For further background, see go/chatroom-avatar-as-roster-metadata. This field will only be populated if all of: - The PersonFieldMetadata `container_type` for the Photo is NAMED_CHAT_ROOM - The chat room has an emoji type avatar image set", - "type": "string" - }, - "glyph": { - "description": "Unicode emoji representation of the chat room emoji avatar. This can be used by clients that use go/emoji-rendering directly so that they can present this with the same version/style as the rest of their application. This value may also be useful to clients as alt-text for the image. This field will only be populated if all of: - The PersonFieldMetadata `container_type` for the Photo is NAMED_CHAT_ROOM - The chat room has an emoji type avatar image set", - "type": "string" - }, - "htmlAttribution": { - "description": "A set of HTML data provider attributions that must be shown with the result. Supported for PLACES photos only. See: go/understanding-places-api-attribution-requirements", - "items": { - "type": "string" - }, - "type": "array" - }, - "isDefault": { - "description": "True when the photo is synthetic or generated (i.e. a monogram or default photo), false when the person has a custom photo.", - "type": "boolean" - }, - "isMonogram": { - "description": "Indicates if the photo is a monogram avatar. Combined with is_default, the type of photo can be determined by: is_default=true, is_monogram=true: Default monogram avatar. is_default=true, is_monogram=false: Default silhouette avatar. is_default=false: Custom photo. is_monogram is irrelevant in this case.", - "type": "boolean" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "monogramBackground": { - "description": "When is_monogram=true, this is the background color of the monogram photo as a hex RGB formatted string \"RRGGBB\".", - "type": "string" - }, - "originalPhoto": { - "$ref": "SocialGraphApiProtoImageReference", - "description": "Read-only. A reference to the original, undecorated profile photo in storage. This field is not stored. It is populated by a live read to /SocialGraphImageService.GetActiveProfilePhoto. This field is only returned when \"person.photo.original_photo\" is specified in the request mask." - }, - "photoId": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId", - "description": "For writes only. Indicates photo content for person photo-field update. Currently only used for profile-photo updates (not contact photos yet)." - }, - "photoToken": { - "description": "Most clients don't need to worry about this field and should just use the `url` to fetch the photo. See go/phototoken-migration-plan for some more context about this field. If you think you want to use this please talk with people-api-eng@ first.", - "type": "string" - }, - "url": { - "description": "See go/people-api-concepts/photos for info on the different representations of URLs.", - "type": "string" - }, - "viewerUrl": { - "description": "A URL for a UI to view the photo in its original context. For example, for a place photo, this is the url of a Google Maps page displaying the photo. Supported for place photos only.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId": { - "description": "Info necessary for looking up a photo in storage.", - "id": "AppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId", - "properties": { - "mediaKey": { - "description": "For writes only, pass the media key that represents the image in photos backend. Note, this is not populated on reads.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPlaceDetails": { - "description": "Metadata specific to places.", - "id": "AppsPeopleOzExternalMergedpeopleapiPlaceDetails", - "properties": { - "googleUrl": { - "description": "A URL hosted by Google providing more information about this place This is the URL returned by Places API in the Place.Url.google field", - "type": "string" - }, - "latLng": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiLatLng" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "openingHours": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiOpeningHours" - }, - "primaryTypeName": { - "description": "The name of the primary type. Examples of primary type are: \"art_school\", \"clothing_wholesaler\", etc. All primary types can be found at http://shortn/_veqh6UwWdc", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData": { - "description": "Extension data for use in Play Games Product Profile. See go/jam-games-profile.", - "id": "AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData", - "properties": { - "achievements": { - "description": "User's top achievements that are sorted for example by rarity.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement" - }, - "type": "array" - }, - "avatarImageUrl": { - "description": "The avatar image to display for the user.", - "type": "string" - }, - "failure": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiProductProfileFailure", - "description": "Failure type if there is an error when fetching product profile data." - }, - "gamerTag": { - "description": "The gamer tag set by the user. Not set if the user hasn't set a gamer tag yet.", - "type": "string" - }, - "playerLevel": { - "description": "User's level.", - "format": "int32", - "type": "integer" - }, - "profileVisibility": { - "description": "Specifies the visibility of the player's profile.", - "enum": [ - "UNKNOWN_CLIENT_PLAYER_PROFILE_VISIBILITY", - "PRIVATE_VISIBILITY", - "PUBLIC_VISIBILITY", - "FRIENDS_VISIBILITY" - ], - "enumDescriptions": [ - "Safe default.", - "The profile is not visible to anyone but the player themselves.", - "The profile is visible to everyone.", - "The profile is visible to the player and their PGS friends." - ], - "type": "string" - }, - "totalFriendsCount": { - "description": "Total number of friends.", - "format": "int64", - "type": "string" - }, - "totalUnlockedAchievements": { - "description": "How many achievements this player has unlocked.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement": { - "description": "Details of an achievement that the user has unlocked.", - "id": "AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement", - "properties": { - "achievementName": { - "description": "The name of the achievement.", - "type": "string" - }, - "achievementUnlockedIconUrl": { - "description": "The achievement icon url shown to the user if it is unlocked.", - "type": "string" - }, - "rarityPercentage": { - "description": "Rarity of unlocking this achievement (3% of players unlocked would be 3)", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPlusPageInfo": { - "deprecated": true, - "description": "Information about a plus page and the entity it represents.", - "id": "AppsPeopleOzExternalMergedpeopleapiPlusPageInfo", - "properties": { - "applicationId": { - "description": "Int64 ID of packaging-service entry; if set, the plus page is associated with a third-party application.", - "format": "int64", - "type": "string" - }, - "entityType": { - "enum": [ - "ENTITY_TYPE_UNSPECIFIED", - "LOCAL", - "COMPANY", - "BRAND", - "CELEBRITY", - "CAUSE", - "ENTERTAINMENT", - "OTHER", - "OBSOLETE_PRIVATE" - ], - "enumDescriptions": [ - "", - "These are the top-level entity types for plus pages.", - "", - "", - "", - "", - "", - "", - "Used to identify a private madison account(go/private-madison-account). Don't use it anymore." - ], - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPointSpec": { - "description": "Map marker location for an address.", - "id": "AppsPeopleOzExternalMergedpeopleapiPointSpec", - "properties": { - "bounds": { - "$ref": "GeostoreRectProto" - }, - "point": { - "$ref": "GeostorePointProto" - }, - "pointSource": { - "enum": [ - "UNKNOWN_POINT_SOURCE", - "POINT_SOURCE_UNSPECIFIED", - "USER_PROVIDED", - "SYSTEM_PROVIDED", - "USER_CONFIRMED" - ], - "enumDescriptions": [ - "", - "", - "User has explicitly moved the point.", - "System has generated the marker.", - "System has generated the marker, but user has viewed and saved it unchanged." - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPosixAccount": { - "description": "Custom field that represents POSIX account information. Description of the field family: go/fbs-posix. If account has non-empty Username or Uid we will enforce global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there are no duplicates.", - "id": "AppsPeopleOzExternalMergedpeopleapiPosixAccount", - "properties": { - "accountId": { - "description": "The user visible value is used to distinguish identical posix account fields with different customer key values.", - "type": "string" - }, - "accountNamespace": { - "description": "Value indicates the uniqueness namespace that applies to the POSIX information. The value is included in all POSIX account uniqueness indices. The indexing prevents two accounts within the same customer from having the same username. Namespacing allows Windows and Linux users to share the same username.", - "enum": [ - "LINUX_GSUITE", - "LINUX_CONSUMER", - "WINDOWS_GSUITE", - "WINDOWS_CONSUMER" - ], - "enumDescriptions": [ - "A Linux user for a G Suite domain.", - "A Linux user for a Google account.", - "A Windows user for a G Suite domain.", - "A Windows user for a Google account." - ], - "type": "string" - }, - "accountType": { - "description": "Value indicates whether the POSIX information is associated with a non-human entity and the validation logic to apply during PosixAccount mutation.", - "enum": [ - "LINUX_USER_ACCOUNT", - "LINUX_SERVICE_ACCOUNT", - "LINUX_EXTERNAL_USER", - "WINDOWS_USER_ACCOUNT", - "WINDOWS_SERVICE_ACCOUNT", - "WINDOWS_EXTERNAL_USER" - ], - "enumDescriptions": [ - "Linux account associated with a human user.", - "Linux account for a non-human entity. Service accounts are used for unattended automation scripts. See go/riseoftherobots for details.", - "Linux account associated with a human user where the owner of the POSIX data is granted access to resources (VMs) owned by a different (external) organization.", - "Windows account associated with a human user.", - "Windows account for a non-human entity. Service accounts are used for unattended automation scripts.", - "Windows account associated with a human user where the owner of the account data is granted access to resources (VMs) owned by a different (external) organization." - ], - "type": "string" - }, - "customerKey": { - "description": "The customer associated with the POSIX identity. If the user is already associated with a G Suite Customer, this field has the same value as http://google3/ccc/hosted/policies/settings/dthree_customer_info.proto", - "format": "int64", - "type": "string" - }, - "fingerprint": { - "description": "The value is automatically set to a SHA-256 fingerprint of the POSIX account. A fingerprint should uniquely identify a POSIX account entry.", - "type": "string" - }, - "gecos": { - "description": "The GECOS (user information) entry for this account.", - "type": "string" - }, - "gid": { - "description": "The default group ID.", - "format": "uint64", - "type": "string" - }, - "homeDirectory": { - "description": "The path to the home directory for this account.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "operatingSystemType": { - "description": "Value indicates whether to use Linux or Windows specific validation logic during PosixAccount mutation.", - "enum": [ - "OPERATING_SYSTEM_TYPE_UNSPECIFIED", - "LINUX", - "WINDOWS" - ], - "enumDescriptions": [ - "The operating system type associated with the user account information is unspecified.", - "Linux user account information.", - "Windows user account information." - ], - "type": "string" - }, - "shell": { - "description": "The path to the login shell for this account.", - "type": "string" - }, - "systemId": { - "description": "System identifier for which account Username or Uid apply to. If not specified on mutate by a caller it will default to empty value if either Username or Uid are being set. SystemId does require to have a value (even an empty one) because it is included into null-filtered Spanner index used to enforce uniqueness on Username and Uid fields.", - "type": "string" - }, - "uid": { - "description": "The user ID.", - "format": "uint64", - "type": "string" - }, - "username": { - "description": "The username of the account.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiProductMetadata": { - "id": "AppsPeopleOzExternalMergedpeopleapiProductMetadata", - "properties": { - "productSource": { - "enum": [ - "PRODUCT_SOURCE_UNKNOWN", - "PRODUCT_SOURCE_DEFAULT", - "PRODUCT_SOURCE_ASSISTANT", - "PRODUCT_SOURCE_JANATA", - "PRODUCT_SOURCE_SPEED_DIAL" - ], - "enumDescriptions": [ - "", - "", - "", - "The product for non-prominent people creating their profiles and sharing contact info on Google search (go/project-janata).", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiProductProfileFailure": { - "description": "Product profiles failure type: the status of the rpc to fetch the product profile.", - "id": "AppsPeopleOzExternalMergedpeopleapiProductProfileFailure", - "properties": { - "failureType": { - "enum": [ - "PRODUCT_PROFILE_FAILURE_TYPE_UNKNOWN", - "RPC_FAILURE" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats": { - "description": "Stats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.", - "id": "AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats", - "properties": { - "incomingAnyCircleCount": { - "description": "Replacement for deprecated follower_count. Comes from the EdgeSummary.", - "format": "int64", - "type": "string" - }, - "viewCount": { - "deprecated": true, - "description": "Deprecated. This field is no longer populated by the server.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiProfileUrl": { - "description": "This is a Google+-only field (and thus does not exist for consumer users). See go/fbs-g+-deprecation.", - "id": "AppsPeopleOzExternalMergedpeopleapiProfileUrl", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiPronoun": { - "description": "Message to represent a user's set of preferred pronouns, see go/pronouns-backend.", - "id": "AppsPeopleOzExternalMergedpeopleapiPronoun", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "pronounData": { - "$ref": "SocialGraphApiProtoPronounData" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfo": { - "id": "AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfo", - "properties": { - "dataSet": { - "description": "The data set within the account that this raw contact belongs to.", - "type": "string" - }, - "dirty": { - "description": "The CP2 dirty field which indicates the sync state of the raw contact: https://developer.android.com/reference/android/provider/ContactsContract.SyncColumns#DIRTY True if the row is changed but not synced", - "type": "boolean" - }, - "sourceIdExist": { - "description": "Whether the source ID exists for non-Google contacts. Won't set for Google contacts.", - "type": "boolean" - }, - "syncInfo": { - "$ref": "SocialGraphApiProtoSyncInfo", - "description": "The Sync Info of a raw contact." - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo": { - "description": "Raw device contact information.", - "id": "AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo", - "properties": { - "accountName": { - "description": "Account name of raw contact, e.g. \"google@gmail.com\".", - "type": "string" - }, - "accountType": { - "description": "Account type of raw contact, e.g. \"com.google\" or \"com.linkedin.android\".", - "type": "string" - }, - "appContactData": { - "description": "The detailed app-specific endpoint data available for the given RawDeviceContactInfo instance. This proto should be used to obtain the list of actions and mimetypes supported by the third-party app. Design: go/3p-contact-upload", - "items": { - "$ref": "SocialGraphApiAppContactData" - }, - "type": "array" - }, - "appInfo": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAppUniqueInfo", - "description": "The app-specific endpoint data needed for app action fulfillment. Usage of this field should be avoided on the server-side, and should use the more detailed |full_app_info| field. " - }, - "crossDeviceAllowed": { - "description": "If true, this raw contact can be used on other devices than the one it originated from. Assigned by the server.", - "type": "boolean" - }, - "deviceContactMetadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata", - "description": "Extra metadata for this raw contact." - }, - "googleContactId": { - "description": "The focus contact id for Google contacts.", - "format": "int64", - "type": "string" - }, - "id": { - "description": "The base64 serialized social.graph.peopleapi.proto.internal.RawDeviceContactId. This id should be used to correlate to field.metadata.encoded_container_id when the field.metadata.container_type is RAW_DEVICE_CONTACT The id also correlates to person.metadata.identity_info.source_id.id. For value format, see google3/social/graph/api/proto/main_merged_person.proto?q=symbol:SourceIdentity.id", - "type": "string" - }, - "photoType": { - "description": "The type of photo from the device (if any).", - "enum": [ - "PHOTO_TYPE_UNKNOWN", - "NO_PHOTO", - "THUMBNAIL", - "FULL_SIZE_PHOTO" - ], - "enumDescriptions": [ - "", - "This raw contact doesn't have a photo.", - "This raw contact only has a thumbnail.", - "This raw contact has a full size photo." - ], - "type": "string" - }, - "rawContactId": { - "description": "The id of the raw contact on the device.", - "format": "int64", - "type": "string" - }, - "rawDeviceContactAnalyticalInfo": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfo", - "description": "Only to be used by Romanesco team specifically for analytics." - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo": { - "description": "Metadata information about a profile. This message replaces legacy profile-specific singleton fields from the PersonMetadata proto (singleton top level Person fields are not compatible with non-profile-centric person results, which may include multiple profile containers).", - "id": "AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo", - "properties": { - "accountEmail": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAccountEmail", - "description": "The account email linked to the profile, if any exists and is visible to the requester." - }, - "blockType": { - "description": "Indicates whether the profile owner has blocked this person.", - "items": { - "enum": [ - "BLOCK_TYPE_UNKNOWN", - "CIRCLE", - "LEGACY" - ], - "enumDescriptions": [ - "", - "Profile-blocked users", - "Chat-blocked users" - ], - "type": "string" - }, - "type": "array" - }, - "customerInfo": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiCustomerInfo", - "description": "CustomerInfo for dasher user. The reader has to explicitly request this in the field_mask as 'read_only_profile_info.customer_info'" - }, - "domainInfo": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfo", - "deprecated": true, - "description": "DEPRECATED. Use the `ReadOnlyProfileInfo.customer_info` field instead (b/138120418). Only populated if in_viewer_domain is true." - }, - "inViewerDomain": { - "deprecated": true, - "description": "DEPRECATED. Proxying trust between users in a domain should use go/flex-orgs-platform. For more info see: http://doc/18i0-C7vWcz2UuXYBsmulnriVCK3_EuMPpRlPa2OmMHw#heading=h.dobotdwx25kg Indicates whether the profile owner is in the same domain as the viewer.", - "type": "boolean" - }, - "incomingBlockType": { - "description": "Indicates whether this person is blocking the profile owner.", - "items": { - "enum": [ - "BLOCK_TYPE_UNKNOWN", - "CIRCLE", - "LEGACY" - ], - "enumDescriptions": [ - "", - "Profile-blocked users", - "Chat-blocked users" - ], - "type": "string" - }, - "type": "array" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "objectType": { - "deprecated": true, - "description": "DEPRECATED.", - "enum": [ - "OBJECT_TYPE_UNKNOWN", - "PERSON", - "PAGE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "ownerId": { - "description": "The Focus-obfuscated Gaia ID of the profile owner (go/obfuscated-ids).", - "type": "string" - }, - "ownerUserType": { - "items": { - "enum": [ - "OWNER_USER_TYPE_UNKNOWN", - "GOOGLE_USER", - "GPLUS_USER", - "GPLUS_DISABLED_BY_ADMIN", - "GOOGLE_APPS_USER", - "GOOGLE_APPS_SELF_MANAGED_USER", - "GOOGLE_FAMILY_USER", - "GOOGLE_FAMILY_CHILD_USER", - "GOOGLE_APPS_ADMIN_DISABLED", - "GOOGLE_ONE_USER", - "GOOGLE_FAMILY_CONVERTED_CHILD_USER" - ], - "enumDescriptions": [ - "", - "The owner is a Google user.", - "The owner is a Currents user.", - "Google+, i.e. INSServiceID::GOOGLE_ME service, is disabled by dasher admin. Only returned for requester's own profile.", - "The owner is a Google Apps for Work user.", - "The owner is a self-managed Google Apps for Work user. Only returned for requester's own profile.", - "The owner is a Google for Families user. Only returned for requester's own profile.", - "The owner is a Google for Families child user. Only returned for requester's own profile.", - "The owner has been disabled (archived, suspended) by the G Suite admin.", - "The owner is a Google One user (go/googleone). Only returned for requester's own profile.", - "The owner is a Google for Families child user that was converted from an existing user. Only returned for requester's own profile. (go/griffin-account)" - ], - "type": "string" - }, - "type": "array" - }, - "plusPageType": { - "deprecated": true, - "description": "DEPRECATED. Please use `person.plus_page_info` instead.", - "enum": [ - "PLUS_PAGE_TYPE_UNKNOWN", - "LOCAL", - "COMPANY", - "BRAND", - "CELEBRITY", - "CAUSE", - "ENTERTAINMENT", - "OTHER", - "OBSOLETE_PRIVATE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "Formerly a private madison account(go/private-madison-account). Don't use it anymore." - ], - "type": "string" - }, - "profileOwnerStats": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats", - "description": "Stats/counters pertaining to followers and incoming edges." - }, - "unjoinedEmailCertificates": { - "description": "Returned only when explicitly requested in the request mask as read_only_profile_info.unjoined_email_certificates. Equivalent to fetching the Emails \u0026 the Email Certificates with the acls ignored.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiEmail" - }, - "type": "array" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfo": { - "deprecated": true, - "description": "DEPRECATED.", - "id": "AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfo", - "properties": { - "domainBadge": { - "deprecated": true, - "description": "DEPRECATED. Organization badge for the domain this person is a member of. The badge is the primary hosted domain.", - "items": { - "type": "string" - }, - "type": "array" - }, - "domainName": { - "deprecated": true, - "description": "DEPRECATED. Hosted domain this person is a member of. Formerly only available via PersonExtendedData.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiRelation": { - "description": "Relation stores the related person between the contact or profile and a third person. See go/relation-vs-relationship for relation vs relationship explanation. This field currently includes RelationshipToMe data in fields value and canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to RelationshipToMe in b/221081499.", - "id": "AppsPeopleOzExternalMergedpeopleapiRelation", - "properties": { - "canonicalValue": { - "description": "Canonicalized `value` of the relation from this person to the user. This is currently used for data from contact annotations. Possible canonical values are based from http://google3/googledata/quality/aliases/relationship_en.config.", - "type": "string" - }, - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "relationDetails": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiRelationRelationDetails", - "description": "The person whose email matches the Relation.value field, if it is a valid email address. This field is read-only and ignored on update." - }, - "type": { - "description": "The relation type. The type can be free form or one of these predefined values: * `spouse` * `child` * `mother` * `father` * `parent` * `brother` * `sister` * `friend` * `relative` * `domesticPartner` * `manager` * `assistant` * `referredBy` * `partner`", - "type": "string" - }, - "value": { - "description": "The person this relation applies to. Custom value provided by the user.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiRelationRelationDetails": { - "id": "AppsPeopleOzExternalMergedpeopleapiRelationRelationDetails", - "properties": { - "displayName": { - "description": "Equivalent to Name.display_name for the person_id profile.", - "type": "string" - }, - "jobTitle": { - "description": "Equivalent to Organization.title for the primary organization of the person_id profile.", - "type": "string" - }, - "personId": { - "type": "string" - }, - "photoUrl": { - "description": "Equivalent to Photo.url for the person_id profile.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiRelationshipInterest": { - "deprecated": true, - "description": "Deprecated in b/122464133. No data returned for this field.", - "id": "AppsPeopleOzExternalMergedpeopleapiRelationshipInterest", - "properties": { - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "type": { - "description": "These fields may give away the sexual orientation of the user.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiRelationshipStatus": { - "deprecated": true, - "description": "Deprecated in b/122464133. No data returned for this field.", - "id": "AppsPeopleOzExternalMergedpeopleapiRelationshipStatus", - "properties": { - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "type": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiRightOfPublicityState": { - "description": "User preference for shared endorsements. See go/se-devguide and go/sharedendorsements for details, including guidance on which contexts are which.", - "id": "AppsPeopleOzExternalMergedpeopleapiRightOfPublicityState", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "state": { - "enum": [ - "STATE_UNSPECIFIED", - "NOT_OK_TO_DISPLAY", - "OK_TO_DISPLAY", - "OK_TO_DISPLAY_IN_NON_ADS_COMMERCIAL_CONTEXT" - ], - "enumDescriptions": [ - "", - "OK to display in non-commercial contexts, but not in commercial ones.", - "Okay to display in commercial or advertising contexts.", - "Okay to display in commercial contexts other than advertising." - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiRosterDetails": { - "description": "Information specific to rosters like Google Groups and Chatrooms.", - "id": "AppsPeopleOzExternalMergedpeopleapiRosterDetails", - "properties": { - "abridgedRosterMemberships": { - "description": "Abridged / sample subset of member details of the roster. NOTE: This field is only returned if the request's field mask includes \"person.roster_details.abridged_roster_memberships\". http://cs/symbol:google.apps.cloudidentity.groups.internal.GroupSummary.abridged_memberships", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiRosterMember" - }, - "type": "array" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "rosterMemberCount": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiRosterMemberCount", - "description": "Indicates the number of members and sub-rosters of the roster. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.direct_member_count_per_type" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiRosterMember": { - "description": "Represents details of a member of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Membership", - "id": "AppsPeopleOzExternalMergedpeopleapiRosterMember", - "properties": { - "memberType": { - "description": "Type of the member.", - "enum": [ - "ROSTER_MEMBER_TYPE_UNSPECIFIED", - "PERSON", - "ROSTER" - ], - "enumDescriptions": [ - "", - "CIG's Membership.Type.USER", - "CIG's Membership.Type.GROUP" - ], - "type": "string" - }, - "personId": { - "description": "Focus-Obfuscated Gaia Id of the member.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiRosterMemberCount": { - "description": "Represents the summary of member counts of a roster. Used in RosterDetails. Corresponds to http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType", - "id": "AppsPeopleOzExternalMergedpeopleapiRosterMemberCount", - "properties": { - "directGroupCount": { - "description": "Indicates the number of direct sub-rosters of the roster. This comes from http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType.group_count", - "format": "int64", - "type": "string" - }, - "directUserCount": { - "description": "Indicates the number of direct, non-roster members of the roster. This comes from http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType.user_count", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiSearchProfile": { - "description": "Profile for Janata and Search. go/janata-profile-in-sgbe", - "id": "AppsPeopleOzExternalMergedpeopleapiSearchProfile", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "searchProfileData": { - "$ref": "SocialGraphApiProtoSearchProfileData" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiSipAddress": { - "description": "As of 03/2018 is not supported for user Profile.", - "id": "AppsPeopleOzExternalMergedpeopleapiSipAddress", - "properties": { - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "type": { - "description": "The type of the SIP address. The type can be free form or or one of these predefined values: * `home` * `work` * `mobile` * `other`", - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiSkills": { - "id": "AppsPeopleOzExternalMergedpeopleapiSkills", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiSocialConnection": { - "description": "The social connection of this person to the viewer. NOTE: this is used by go/starlight, but not actually used or returned in PeopleAPI. See b/27281119 for context.", - "id": "AppsPeopleOzExternalMergedpeopleapiSocialConnection", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "type": { - "items": { - "enum": [ - "SOCIAL_CONNECTION_UNKNOWN", - "NO_CONNECTION", - "GPLUS_SECOND_HOP", - "DIRECT_CONNECTION", - "SELF" - ], - "enumDescriptions": [ - "", - "This person is not connected to the viewer.", - "Google+ user is a second hop relative to viewer.", - "User is a contact or in circles of the viewer.", - "This person is the viewer." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiSortKeys": { - "id": "AppsPeopleOzExternalMergedpeopleapiSortKeys", - "properties": { - "affinity": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiAffinity" - }, - "type": "array" - }, - "interactionRank": { - "deprecated": true, - "description": "Deprecated. This field is only populated with 0.000 for legacy reasons. Clients should not use this field.", - "type": "string" - }, - "lastName": { - "type": "string" - }, - "lastNameRaw": { - "type": "string" - }, - "name": { - "type": "string" - }, - "nameRaw": { - "description": "Raw name strings that were used to generate the name and last_name sort keys fields above. Contacts+ need them to generate section headers for list view (b/30642866).", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiSourceIdentity": { - "description": "Id of a single source from the merged person.", - "id": "AppsPeopleOzExternalMergedpeopleapiSourceIdentity", - "properties": { - "container": { - "deprecated": true, - "description": "The type of source. To be deprecated infavor of container_type", - "enum": [ - "UNKNOWN", - "PROFILE", - "CONTACT", - "CIRCLE", - "PLACE", - "ACCOUNT", - "EXTERNAL_ACCOUNT", - "DOMAIN_PROFILE", - "DOMAIN_CONTACT", - "DEVICE_CONTACT", - "GOOGLE_GROUP", - "AFFINITY", - "RAW_DEVICE_CONTACT", - "CONTACT_ANNOTATION", - "DELEGATED_CONTACT" - ], - "enumDescriptions": [ - "", - "Google Profile. PROFILE fields are editable by the profile owner, unless the field metadata includes writeable=false.", - "Google Contact", - "Circle membership of non-g+ user.", - "A maps place", - "The requester's own Gaia account. ACCOUNT fields are not editable by anyone. They only occur when the requester is \"me\". In the event an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE field when viewed by a requester who is not \"me\".", - "LinkedExternalSites (go/PeopleApiConnectedSites)", - "Google-For-Work Profile. DOMAIN_PROFILE fields are editable by the Dasher administrator of the domain. They are not editable by the profile owner.", - "Domain shared contact", - "To be deprecated in favor of RAW_DEVICE_CONTACT See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info", - "Google group. Examples: sales@zara.es.", - "Data from the user's frequent interactions.", - "Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts", - "Data from contact annotation. Contact annotations are currently generated and used by Google Assistant.", - "Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation." - ], - "type": "string" - }, - "containerType": { - "description": "The type of the source.", - "enum": [ - "UNKNOWN_CONTAINER", - "PROFILE", - "CONTACT", - "CIRCLE", - "PLACE", - "ACCOUNT", - "EXTERNAL_ACCOUNT", - "DOMAIN_PROFILE", - "DOMAIN_CONTACT", - "DEVICE_CONTACT", - "GOOGLE_GROUP", - "NAMED_CHAT_ROOM", - "UNNAMED_CHAT_ROOM", - "AFFINITY", - "RAW_DEVICE_CONTACT", - "CONTACT_ANNOTATION", - "DELEGATED_CONTACT" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "Google Profile. PROFILE fields are editable by the profile owner, unless the field metadata includes writeable=false.", - "Google Contact", - "Deprecated. E-mail only circle membership should be dead. E-mail only circle membership of non-g+ user.", - "A maps place", - "The requester's own Gaia account. ACCOUNT fields are not editable by anyone. They only occur when the requester is \"me\". In the event an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE field when viewed by a requester who is not \"me\".", - "LinkedExternalSites (go/PeopleApiConnectedSites)", - "Google-For-Work Profile. DOMAIN_PROFILE fields are editable by the Dasher administrator of the domain. They are not editable by the profile owner.", - "Domain shared contact. An entity that is owned by a domain and represents a person, but is not a user in the domain. For more details see https://support.google.com/a/answer/9281635.", - "To be deprecated in favor of RAW_DEVICE_CONTACT See go/mergedperson-for-device-contacts Aggregation is represented using person.metadata.device_contact_info", - "Google group. Examples: sales@zara.es.", - "Dynamite \"Named Flat Room\" (NFR). This is a Baggins Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms", - "Dynamite \"Unnamed Flat Room\" (UFR). This is a Baggins Roster with label DYNAMITE_SPACE but does *not* have label DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms", - "Device contacts that are used in interaction ranking, but have not been uploaded to Google. These are synthesized people from interaction data. This container type is only used in ListRankedPeople and ListRankedTargets actions. See go/TopNWithClusteringPart1.", - "Data from a raw (non-aggregated) device contact. See go/mergedperson-for-device-contacts", - "Data from contact annotation. Contact annotations are currently generated and used by Google Assistant.", - "Data from delegated contacts. Delegated contacts are the contacts delegated to the current requester. The requester can then access those contacts. See go/ph-delegation." - ], - "type": "string" - }, - "deleted": { - "description": "In sync responses, indicates whether the identity source has been deleted. Not applicable to GOOGLE_GROUP.", - "type": "boolean" - }, - "id": { - "description": "The encoded id of the data source. This field correlates to PersonFieldMetadata.encoded_container_id. The possible values of this `id` field are as follows based on the value of the `container_type` field: CONTACT: Hex-encoded contact id. PROFILE: DOMAIN_PROFILE: GOOGLE_GROUP: NAMED_CHAT_ROOM: Focus-obfuscated Gaia ID. DOMAIN_CONTACT: Synthetic-contact id representing the domain shared contact. PLACE: Encoded PlaceId (go/javagoog/maps/api/places/util/PlaceIdEncoder.java) RAW_DEVICE_CONTACT: Pair of device_id and raw_contact_id, encoded as base64 serialized social.graph.peopleapi.proto.internal.RawDeviceContactId proto. CONTACT_ANNOTATION: Pair of annotation_id and event_timestamp, encoded as base64 serialized social.graph.peopleapi.proto.internal.ContactAnnotationId proto. -- DEPRECATED container types -- If the container is CIRCLE, then the id is going to be the synthetic- contact id representing the email-only circle member or gaia circle member for which the requester does not have a contact for.", - "type": "string" - }, - "lastUpdated": { - "description": "Last update timestamp of this source. NOTE: Only populated for CONTACT container type in Java PeopleAPI. Populated for CONTACT, PROFILE, DOMAIN_PROFILE in Sharpen implementation. NOTE: Not populated for GOOGLE_GROUP.", - "format": "google-datetime", - "type": "string" - }, - "lastUpdatedMicros": { - "deprecated": true, - "description": "**DEPRECATED** Please use `last_updated` field instead. Last update timestamp of this source in microseconds. NOTE: Only populated for CONTACT container type.", - "format": "int64", - "type": "string" - }, - "sourceEtag": { - "description": "NOTE: Not populated for GOOGLE_GROUP.", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiSshPublicKey": { - "description": "Custom field that represents SSH public keys associated with the user. We can treat the field as a map from a string fingerprint to the SSH public key information.", - "id": "AppsPeopleOzExternalMergedpeopleapiSshPublicKey", - "properties": { - "expirationTime": { - "format": "google-datetime", - "type": "string" - }, - "fingerprint": { - "description": "The value is automatically set to a SHA-256 fingerprint of an SSH public key. A fingerprint should uniquely identify an SSH public key.", - "type": "string" - }, - "key": { - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiStructuredPhone": { - "description": "This message mirrors the ContactPhoneNumber message in ccc/grand_central/common/types.proto. For various reasons, we cannot take on a direct dependency. See other proto file for most recent documentation.", - "id": "AppsPeopleOzExternalMergedpeopleapiStructuredPhone", - "properties": { - "formattedType": { - "description": "The phone formatted type. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=128\u0026rcl=241000760", - "type": "string" - }, - "phoneNumber": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumber" - }, - "shortCode": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCode" - }, - "type": { - "description": "The type of phone. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=125\u0026rcl=241000760", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumber": { - "id": "AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumber", - "properties": { - "e164": { - "type": "string" - }, - "i18nData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nData" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nData": { - "id": "AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nData", - "properties": { - "countryCode": { - "format": "int32", - "type": "integer" - }, - "internationalNumber": { - "type": "string" - }, - "isValid": { - "type": "boolean" - }, - "nationalNumber": { - "type": "string" - }, - "regionCode": { - "type": "string" - }, - "validationResult": { - "enum": [ - "UNKNOWN", - "IS_POSSIBLE", - "INVALID_COUNTRY_CODE", - "TOO_SHORT", - "TOO_LONG", - "IS_POSSIBLE_LOCAL_ONLY", - "INVALID_LENGTH" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCode": { - "id": "AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCode", - "properties": { - "code": { - "description": "The phone code. See docs from mirrored proto: http://google3/ccc/grand_central/common/types.proto?l=70\u0026rcl=241000760", - "type": "string" - }, - "countryCode": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiTagline": { - "deprecated": true, - "id": "AppsPeopleOzExternalMergedpeopleapiTagline", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiTeamsExtendedData": { - "deprecated": true, - "description": "*UNSUPPORTED*. This message is never populated and is no longer used.", - "id": "AppsPeopleOzExternalMergedpeopleapiTeamsExtendedData", - "properties": { - "adminTo": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPerson" - }, - "type": "array" - }, - "admins": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPerson" - }, - "type": "array" - }, - "dottedLineManagers": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPerson" - }, - "type": "array" - }, - "dottedLineReports": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber" - }, - "failures": { - "items": { - "enum": [ - "UNKNOWN_FAILURE", - "MANAGEMENT_CHAIN", - "REPORTS", - "DOTTED_LINE_REPORTS", - "DOTTED_LINE_MANAGERS", - "ADMINS", - "ADMIN_TO" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "managementChain": { - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPerson" - }, - "type": "array" - }, - "reports": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiUserDefined": { - "id": "AppsPeopleOzExternalMergedpeopleapiUserDefined", - "properties": { - "key": { - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiUserVisibleStats": { - "deprecated": true, - "description": "DEPRECATED in favor of ProfileStats. Stats pertaining to incoming edges and views, visible to the requester (with acls applied). Related to, but not equal to, com.google.focus.proto.Storage.UserVisibleStats.", - "id": "AppsPeopleOzExternalMergedpeopleapiUserVisibleStats", - "properties": { - "incomingAnyCircleCount": { - "description": "Replacement for deprecated follower_count. Comes from the EdgeSummary.", - "format": "int64", - "type": "string" - }, - "viewCount": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiVisibleToGuests": { - "description": "Store metadata information like annotation-id and product source for visible to guests contacts go/visible-to-guests.", - "id": "AppsPeopleOzExternalMergedpeopleapiVisibleToGuests", - "properties": { - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedData": { - "id": "AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedData", - "properties": { - "isIncomplete": { - "description": "Used by Contacts client-side to indicate whether a person is not completed.", - "type": "boolean" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiWebsite": { - "id": "AppsPeopleOzExternalMergedpeopleapiWebsite", - "properties": { - "formattedType": { - "description": "The `type` translated and formatted in the request locale. See go/people-api-howto/localization for details on how to usage.", - "type": "string" - }, - "metadata": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata" - }, - "rel": { - "description": "Currently in Oz: \"Links\": Links with no rel. \"Other profiles\": Links with rel=ME. \"Contributor to\": Links with rel=CONTRIBUTOR_TO or PAST_CONTRIBUTOR_TO.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo" - }, - "type": "array" - }, - "type": { - "description": "The type of the website. The type can be free form or one of these predefined values: * `home` * `work` * `blog` * `profile` * `homePage` * `ftp` * `reservations` * `appInstallPage`: website for a Currents application. * `other`", - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo": { - "id": "AppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo", - "properties": { - "type": { - "enum": [ - "UNKNOWN", - "ME", - "NOT_ME", - "CONTRIBUTOR_TO", - "PAST_CONTRIBUTOR_TO" - ], - "enumDescriptions": [ - "", - "rel=\"me\"", - "rel=\"\"", - "rel=\"contributor-to\"", - "rel=\"past-contributor-to\"" - ], - "type": "string" - } - }, - "type": "object" - }, - "AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedData": { - "description": "Extension data for use in Youtube Product Profile.", - "id": "AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedData", - "properties": { - "channelData": { - "description": "Information about a channel created by the user. A user can create multiple Youtube channels.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiChannelData" - }, - "type": "array" - }, - "failure": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiProductProfileFailure", - "description": "Failure type if there is an error when fetching product profile data." - } - }, - "type": "object" - }, - "AssistantApiActionV2SupportedFeatures": { - "description": "The features supported by the ActionV2 protocol. Note that after we move on to ConversationProto for all surfaces we can remove this message.", - "id": "AssistantApiActionV2SupportedFeatures", - "properties": { - "expressUrlInSettingsResponseSupported": { - "description": "This flag is used to work around a bug in AGSA 6.8 that got away. The bug prevents users from accessing their shopping list if the URL of the shopping list is not a keep.google.com URL. This will happen when switch the backend that stores the shopping list from Keep to a backend maintained by the Google Shopping Express team.", - "type": "boolean" - }, - "reconnectClientInputSupported": { - "description": "Whether client supports reconnect client input in action v2 payload. This capability is needed to determine if client supports parsing client input payload from actionv2 proto for workflow purposes. See go/personal-workflow. OWNER:nyzstar,vvvemuri.", - "type": "boolean" - }, - "simpleActionV2PuntSupported": { - "description": "Whether or not the surface supports a simple UnsupportedAction instead of a ModalState punt card for rendering. For ActionV2 punt cards, the ModalState extension on the ResourceSet is the canonical way of building punt cards. However, while most all devices support the ActionV2 protocol, not all devices handle the ModalState rendering as part of the ActionV2. For these devices, we want to build a modified ActionV2 for punt cards which omits this ModalState. At present, this is only Android Wear and should not be used for other devices if they support ModalState or Conversation protocol.", - "type": "boolean" - }, - "supportedActionType": { - "description": "A list of all the action types supported by the client. These should be the string representation of majel.ActionTypes within \"quality/majel/api/proto/action_v2.proto\".", - "items": { - "type": "string" - }, - "type": "array" - }, - "takeScreenshotSupported": { - "description": "Checks if screenshots can be taken on the client. This field is set on the client from AGSA 7.2 onwards.", - "type": "boolean" - }, - "voiceDelightImmersiveUiSupported": { - "description": "If IMMERSIVE_ACTIONS UiType is supported by the client.", - "type": "boolean" - }, - "voiceDelightStickersSupported": { - "description": "If Voice Delight Stickers are supported by the client. In order to support Voice Delight stickers, the client should know how to extract sticker_url from VoiceDelightSystemInteractionSegment.", - "type": "boolean" - }, - "voiceDelightSuggestionsSupported": { - "description": "If Voice Delight Suggestion Chips are supported by the client. In order to support Voice Delight Suggestion Chips, the client should know how to extract suggestions form VoiceDelightSystemInteraction.ResourceSet.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiAndroidIntentCapabilities": { - "description": "Capabilities related to Android intent support. These capabilities can apply to any device on the Android platform. Provides the list of Android package names that support a given Android intent.", - "id": "AssistantApiAndroidIntentCapabilities", - "properties": { - "androidIntentCapability": { - "items": { - "$ref": "AssistantApiAndroidIntentCapabilitiesAndroidIntentCapability" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiAndroidIntentCapabilitiesAndroidIntentCapability": { - "id": "AssistantApiAndroidIntentCapabilitiesAndroidIntentCapability", - "properties": { - "intentActionName": { - "description": "The Action name of the Android Intent in standard notation (https://developer.android.com/reference/android/content/Intent#getAction()).", - "type": "string" - }, - "packageNames": { - "description": "The Android provider packages that support the intent, e.g. \"com.google.android.deskclock\".", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiAppCapabilities": { - "description": "Used to describe app capabilities of the device installed apps reported to the server.", - "id": "AssistantApiAppCapabilities", - "properties": { - "allowlistedForMediaFulfillment": { - "description": "Indicates whether the provider is compatible for media fulfillment on this surface. For example, Amazon Music isn't compatible with the driving mode.", - "type": "boolean" - }, - "appIntegrationsSettings": { - "$ref": "AssistantApiAppIntegrationsSettings", - "description": "Currently unused. Will be used in the future when integrating with incremental app capabilities." - }, - "disabledSystemApp": { - "description": "This system app is disabled in settings.", - "type": "boolean" - }, - "provider": { - "$ref": "AssistantApiCoreTypesProvider", - "description": "The installed app of the provider." - }, - "routableToProviderCloud": { - "description": "This provider has integrated its cloud backend with Google, and Google can route the user queries to the provider's cloud.", - "type": "boolean" - }, - "searchableOnDevice": { - "description": "This provider has an app that supports on-device search through the provider's own inventory.", - "type": "boolean" - }, - "searchableOnServer": { - "description": "This provider has integrated its content with Google, and Google has enabled to serve its content as a server-side solution.", - "type": "boolean" - }, - "supports3pPodcastPlayback": { - "description": "Indicates whether the provider supports playback of 3P(externally hosted) podcasts.", - "type": "boolean" - }, - "supportsScreenlessInitiation": { - "description": "This provider has an app that supports starting new media playback when there is no screen (e.g. by integrating with the Bisto SDK).", - "type": "boolean" - }, - "whitelistedForAnnotation": { - "description": "This provider is an app which should be used for query annotations. This is useful for apps which may not be already indexed by Google or are client specific.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiAppCapabilitiesDelta": { - "description": "Used to describe the incremental change of app capabilities of the device installed apps reported to the server.", - "id": "AssistantApiAppCapabilitiesDelta", - "properties": { - "appIntegrationsSettings": { - "$ref": "AssistantApiAppIntegrationsSettings", - "description": "Currently unused. Will be used in the future when integrating with incremental app capabilities." - }, - "providerDelta": { - "$ref": "AssistantApiCoreTypesProviderDelta", - "description": "The installed app of the provider." - } - }, - "type": "object" - }, - "AssistantApiAppControlSupport": { - "id": "AssistantApiAppControlSupport", - "properties": { - "enabled": { - "enum": [ - "DEFAULT_DISABLED", - "ENABLED_WITH_SMART_DICTATION" - ], - "enumDescriptions": [ - "Disable all app control capabilities.", - "Enable app control SD-dependent capabilities." - ], - "type": "string" - }, - "sendMessageSuppressed": { - "description": "If true, disable send message AppControl/SD flow. This is needed to suppress the feature for specific device. If we decide to turn down this feature for all devices, then this field will become obsolete and should be removed. See context in b/275727627.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiAppIntegrationsSettings": { - "description": "Contains the app privacy bits used for App Integrations implicit request. (go/app-privacy-settings-for-implicit-requests)", - "id": "AssistantApiAppIntegrationsSettings", - "properties": { - "handleRequestsWithPredictedApps": { - "description": "Whether to enable Assistant to handle request with predicted apps.", - "enum": [ - "UNSET", - "FALSE", - "TRUE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiAssistantContinuedPresenceSupport": { - "id": "AssistantApiAssistantContinuedPresenceSupport", - "properties": { - "plateSupport": { - "description": "Indicates in what cases assistant continued presence can be shown as a plate. This field is white-listed as being PII-free. Please do not add PII here.", - "enum": [ - "DEFAULT_NO_PLATE", - "SEARCH_ONLY" - ], - "enumDescriptions": [ - "Assistant continued presence cannot be shown.", - "Assistant continued presence can be shown only in SearchNowActivity. See go/lockhart-acp." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiAudioInput": { - "description": "These capabilities represent the audio input features associated with the device. This includes what kind of audio input the device can handle, and what the privacy circumstances of that input are.", - "id": "AssistantApiAudioInput", - "properties": { - "environment": { - "enum": [ - "SURROUNDING_USERS", - "AUTHENTICATED_USER_ONLY" - ], - "enumDescriptions": [ - "Audio may be produced by or visible to any users in the vicinity of the authenticated user -- e.g., a speaker. NOTE that this is the default value since it's better to assume that the user is in public when they're not than vice versa.", - "Audio can be assumed to come from or go to the authenticated user -- e.g., the mic or headphone on a phone or headset." - ], - "type": "string" - }, - "quality": { - "enum": [ - "VOICE_QUALITY", - "MUSIC_QUALITY" - ], - "enumDescriptions": [ - "An audio device capable of handling audio at fidelity high enough for voice use (TTS, speech recognition, telephone) but insufficient for media playback.", - "An audio device capable of handling high-fidelity audio, suitable for use as a media device." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiAudioOutput": { - "description": "These capabilities represent the audio output features associated with the device. This includes what kind of audio output the device can handle, and what the privacy circumstances of that output are.", - "id": "AssistantApiAudioOutput", - "properties": { - "alwaysOnSpeaker": { - "enum": [ - "UNKNOWN", - "NOT_SUPPORTED", - "SUPPORTED" - ], - "enumDescriptions": [ - "The setting for always on speaker is unknown.", - "Always on speaker is not supported.", - "Always on speaker is supported." - ], - "type": "string" - }, - "environment": { - "enum": [ - "SURROUNDING_USERS", - "AUTHENTICATED_USER_ONLY" - ], - "enumDescriptions": [ - "Audio may be produced by or visible to any users in the vicinity of the authenticated user -- e.g., a speaker. NOTE that this is the default value since it's better to assume that the user is in public when they're not than vice versa.", - "Audio can be assumed to come from or go to the authenticated user -- e.g., the mic or headphone on a phone or headset." - ], - "type": "string" - }, - "mediaTtsMixable": { - "enum": [ - "MEDIA_TTS_MIXABLE_UNKNOWN", - "MEDIA_TTS_MIXABLE_NOT_SUPPORTED", - "MEDIA_TTS_MIXABLE_SUPPORTED" - ], - "enumDescriptions": [ - "Unknown whether device supports mixing TTS and device media.", - "Device cannot mix TTS and device media.", - "Device can mix TTS and device media." - ], - "type": "string" - }, - "quality": { - "enum": [ - "VOICE_QUALITY", - "MUSIC_QUALITY" - ], - "enumDescriptions": [ - "An audio device capable of handling audio at fidelity high enough for voice use (TTS, speech recognition, telephone) but insufficient for media playback.", - "An audio device capable of handling high-fidelity audio, suitable for use as a media device." - ], - "type": "string" - }, - "volumeProperties": { - "$ref": "AssistantApiVolumeProperties" - } - }, - "type": "object" - }, - "AssistantApiBluetoothCapabilities": { - "description": "Bluetooth capabilities related to usage of a feature.", - "id": "AssistantApiBluetoothCapabilities", - "properties": { - "isBluetoothConnectedProfileRequired": { - "description": "If this surface needs to bluetooth pair a phone before using a feature.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiCallCapabilities": { - "description": "CallCapabilities supported by a surface. See go/call-capabilities. Next ID: 7", - "id": "AssistantApiCallCapabilities", - "properties": { - "callFormats": { - "description": "The supported call formats on the surface.", - "items": { - "enum": [ - "UNSPECIFIED_FORMAT", - "AUDIO", - "VIDEO", - "TEXT" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "callMediums": { - "description": "The supported call mediums on the surface.", - "items": { - "enum": [ - "UNSPECIFIED_MEDIUM", - "PSTN", - "VOIP", - "EMAIL", - "ONLINE_CHAT", - "TEXT_MESSAGING", - "MESSAGE" - ], - "enumDescriptions": [ - "", - "Public Switched Telephone Network.", - "Voice Over IP.", - "", - "", - "Super set of SMS and MMS", - "Super set of EMAIL, ONLINE_CHAT, TEXT_MESSAGING" - ], - "type": "string" - }, - "type": "array" - }, - "callOptions": { - "description": "The call options this surface can provide. For example, SPEAKERPHONE is available on Android OPA while iOPA doesn't support it yet.", - "items": { - "enum": [ - "UNSPECIFIED_CALL_OPTION", - "SPEAKERPHONE", - "BLUETOOTH", - "HEADSET" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "fallbackToTetheredDeviceAppCapabilities": { - "description": "If true, APP_ID queries initiated by this device should fall back to execution on the tethered device if it's available and if the primary device cannot perform the action (e.g. due to the app not being installed).", - "type": "boolean" - }, - "supportedRecipientTypes": { - "description": "Should only be checked if nonempty.", - "items": { - "enum": [ - "UNSPECIFIED_ENDPOINT", - "PHONE_NUMBER", - "EMAIL_ADDRESS", - "APP_UNIQUE_ID", - "EMERGENCY_PHONE_NUMBER", - "VOICEMAIL" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "supportsDuoEmailEndpoint": { - "deprecated": true, - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiCameraCapabilities": { - "description": "These capabilities represent the camera features associated with the device.", - "id": "AssistantApiCameraCapabilities", - "properties": { - "faceMatchCapable": { - "description": "Whether the device supports Face Match.", - "type": "boolean" - }, - "hasCamera": { - "description": "Whether the device has a camera.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiCameraReceiverCapabilities": { - "description": "These capabilities present the capability of the device running camera receiver apps.", - "id": "AssistantApiCameraReceiverCapabilities", - "properties": { - "hasLimitedCameraStreamCapability": { - "description": "Whether the device has limited camera stream capability. If true, check supported_camera_receivers for detailed supported cameras.", - "type": "boolean" - }, - "supportedCameraReceivers": { - "description": "The camera receiver cast apps the device supports. Only used if has_limited_camera_stream_capability is true.", - "items": { - "$ref": "AssistantApiCoreTypesCastAppInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiCarAssistantCapabilities": { - "description": "Capabilities that are associated with Assistants on auto surfaces. This is different from other capabilities such as CarSettingsCapabilities, CloudCarCapabilities since they are specific to settings and 3P cloud information. All the auto/car Assistant specific capabilities should live here.", - "id": "AssistantApiCarAssistantCapabilities", - "properties": { - "shouldPuntMultiAssistantMode": { - "description": "Indicates whether the current Assistant should provide a multi Assistant specific punt when there are multiple Auto specific Google Assistants (Android Auto Projected (AAP) and Android Auto Embedded (AAE)) in the same GAS enabled car. This will be used by both AAP and AAE. Design doc: go/doubledash++", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiCarSettingsCapabilities": { - "description": "Capabilities that are associated with Assistant Settings on auto surfaces.", - "id": "AssistantApiCarSettingsCapabilities", - "properties": { - "playWarmerWelcome": { - "description": "If true, it indicates that the auto surface client should receive a warmer welcome TTS for signed-out users. For signed-in user, we will rely on server side metadata. go/aaae:preview-lang", - "type": "boolean" - }, - "supportsAddingCars": { - "description": "If true, it indicates that the client can be used to add cars after account linking with the OEM.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiCastAssistantSettingLinkingResult": { - "id": "AssistantApiCastAssistantSettingLinkingResult", - "properties": { - "castLinkingStatus": { - "description": "Cast linking status for ATV surfaces. This is derived from error messages returned from Cast Orchestration Server and will be used for data profiling only(go/katniss-settings-dashboard).", - "enum": [ - "NOT_SET", - "SUCCEED", - "DEVICE_CONFLICT", - "DEVICE_NAME_EMPTY", - "CLIENT_ID_MISSING_TAG", - "INVALID_DEVICE_ID", - "DATA_SYNC_THROTTLED", - "CREATE_ROBOT_ACCOUNT_FAILED", - "UNAUTHORIZED_CLIENT", - "OTHER_ERROR" - ], - "enumDescriptions": [ - "LINT.IfChange", - "", - "", - "", - "", - "", - "", - "", - "", - "LINT.ThenChange(//depot/google3/logs/proto/assistant/capabilities_log.proto)" - ], - "type": "string" - }, - "truncatedErrorMsg": { - "description": "The error msg returned from COS, truncated in case it's too large.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCastCapabilities": { - "description": "These capabilities represent capabilities that have to do with casting that pertain to this device. Next ID: 9", - "id": "AssistantApiCastCapabilities", - "properties": { - "cameraReceiverCapabilities": { - "$ref": "AssistantApiCameraReceiverCapabilities", - "description": "Whether the device has limited camera stream capability and if yes, which receivers are supported." - }, - "cameraStreamSupportedProtocols": { - "description": "The supported protocols for camera streaming. The value is used as string in go/smarthome-internal-api#camera-stream, so using a string for this field instead of an enum. Supported protocols: (align the definition in go/smarthome-camerastream-trait) - \"hls\": HTTP Live Streaming - \"dash\": Dynamic Adaptive Streaming over HTTP - \"smooth_stream\": Smooth Streaming - \"progressive_mp4\": Progressive MP4 (will likely only be used for Clips) - \"webrtc\": WebRTC (currently, only H.264 is supported) - \"nexustalk\": Internal-only protocol used for Nest", - "items": { - "type": "string" - }, - "type": "array" - }, - "canReceiveCast": { - "description": "True if we can cast things to this device.", - "type": "boolean" - }, - "deviceId": { - "$ref": "AssistantApiCoreTypesDeviceId", - "description": "Optional for primarily cast devices (e.g., Chirp, Chromecast). For devices that are NOT primarily cast devices, but having a cast receiver as secondary functionality, this field SHOULD store the cast-device-id to be used to send remote casting commands to the device. Example: Android TV, which supports both Android-native actions as well as remote casting using its built-in cast receiver. Android TV device id contains a DUSI id, which is not a cast-device-id. When executing a cast command on the Android TV, this field is used to route the cast command (through CloudCastService) to the cast receiver on the device." - }, - "dynamicGroupsSupported": { - "description": "Whether this device supports dynamic groups or not. It implies if a Stream Control operation (transfer, expansion, and contraction) could be applied on this device since Stream Control is implemented as part of dynamic groups (ie, adding/removing devices from playback)", - "type": "boolean" - }, - "groupType": { - "enum": [ - "NONE", - "STATIC_GROUP", - "DYNAMIC_GROUP", - "STEREO_PAIR" - ], - "enumDescriptions": [ - "", - "Static group is created by the user through UI. It contains two or more devices.", - "Dynamic group is a temporary group created when devices are added to / removed from a playback. It should be torn down after the playback is done.", - "Stereo pair is created by the user through UI. It contains exact two devices, a left device and a right device." - ], - "type": "string" - }, - "overlayApplicationsSupported": { - "description": "Whether UI overlay applications are supported on this device. It's used by Chromecast only.", - "type": "boolean" - }, - "yetiGamingSupported": { - "description": "Whether the device supports playing games through Yeti. This is set by the cast device when the device is updated: Chromecast updates -\u003e Chromecast registers its capabilities with CCS -\u003e CCS passes the capabilities to the AssistantSettingsService -\u003e AssistantSettingsService stores the device's capabilities. go/yeti-gaming-supported-cast-capability", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiClientOpPropertiesDeviceModifySettingClientOpProperty": { - "description": "The properties of the client op device.MODIFY_SETTING. This proto is stored in the SupportedClientOp proto.", - "id": "AssistantApiClientOpPropertiesDeviceModifySettingClientOpProperty", - "properties": { - "skipAndroidAndGsaVersionCheck": { - "description": "Additional specific setting capabilities. This boolean is used to indicate whether we want to skip the Android and GSA version check in CheckSettingSchemaAndMaybeGetUris() from assistant/vertical/device/fulfillment/utils/setting_utils.h. Consider setting this field to true if your device is neither Android or GSA (especially when the UserAgent string of your device's TaskRequest will not contain a valid/up-to-date Android/GSA version).", - "type": "boolean" - }, - "supportedSettings": { - "description": "Uses DeviceSetting enum which corresponds to setting_id. This indicates which specific settings are supported by client. An empty list implies all settings are supported.", - "items": { - "enum": [ - "UNSPECIFIED", - "ABOUT_ME", - "ACCESSIBILITY", - "ACTIVE_EDGE", - "ACTIVE_EDGE_SENSITIVITY", - "ADAPTIVE_BATTERY", - "ADAPTIVE_BRIGHTNESS", - "ADAPTIVE_CHARGING", - "ADAPTIVE_CONNECTIVITY", - "ADAPTIVE_SOUND", - "ADD_ACCOUNT", - "ADD_BLUETOOTH_DEVICE", - "ADD_DEVICE", - "ADD_FINGERPRINT", - "ADS_TRACKING", - "AIRPLANE_MODE", - "ALARM_VOLUME", - "ALARM_SOUND", - "ALLOW_MULTIPLE_USERS", - "AMBIENT_DISPLAY_ALWAYS_ON", - "AMBIENT_DISPLAY_NEW_NOTIFICATION", - "ANDROID_AUTO", - "ANDROID_VERSION", - "APP_BATTERY_USAGE", - "APP_DATA_USAGE", - "APP_DETAILS", - "APP_SHORTCUT", - "APPS_NOTIFICATIONS", - "APPS_STORAGE", - "ASSISTANT_ACCOUNT", - "ASSISTANT_FACE_MATCH", - "ASSISTANT_LANGUAGE", - "ASSISTANT_VOICE_MATCH", - "AUTO_ROTATE", - "AUTO_ROTATE_FACE_DETECTION", - "BACKUP", - "BATTERY_HEALTH", - "BATTERY_LEVEL", - "BATTERY_LOW", - "BATTERY_PERCENTAGE", - "BATTERY_PRESENT", - "BATTERY_SAVER", - "BATTERY_SAVER_SCHEDULE", - "BATTERY_SHARE", - "BATTERY_USAGE", - "BIOMETRIC", - "BLUETOOTH", - "BLUETOOTH_NAME", - "BLUETOOTH_ADDRESS", - "BLUETOOTH_SETTINGS", - "BRIGHTNESS_LEVEL", - "BUBBLES", - "CALL_VOLUME", - "CAMERA_DOUBLE_TWIST", - "CAST", - "CAR_CRASH_DETECTION", - "COLOR_INVERSION", - "COLOR_CORRECTION", - "CONVERSATIONS", - "CHARGING_SOUNDS_AND_VIBRATION", - "CHARGING_STATE", - "CONNECTED_DEVICES", - "CONTACTLESS_PAYMENTS", - "DATA_ROAMING", - "DATA_SAVER", - "DATA_USAGE", - "DATA_LIMIT", - "DATA_LIMIT_LEVEL", - "DATA_WARNING", - "DATA_WARNING_LEVEL", - "DEFAULT_ALARM_SOUND", - "DEFAULT_NOTIFICATION_SOUND", - "DEFAULT_APPS", - "DEVELOPER_OPTIONS", - "DEVICE_ASSISTANT_APP", - "DEVICE_NAME", - "DISPLAY_OVER_OTHER_APPS", - "DISPLAY_SIZE", - "DO_NOT_DISTURB", - "DO_NOT_DISTURB_MESSAGES", - "DO_NOT_DISTURB_CALLS", - "DO_NOT_DISTURB_ALARMS", - "DO_NOT_DISTURB_SCHEDULES", - "DOUBLE_TAP_CHECK_PHONE", - "DRIVING_MODE", - "EARTHQUAKE_ALERTS", - "EMERGENCY", - "EMERGENCY_ALERTS", - "EMERGENCY_CONTACTS", - "EMERGENCY_INFORMATION", - "ETHERNET_TETHERING", - "EXTRA_DIM", - "EXTREME_BATTERY_SAVER", - "FACTORY_RESET", - "FIND_MY_DEVICE", - "FLASHLIGHT", - "FOCUS_MODE", - "FONT_SIZE", - "FREE_UP_SPACE", - "FINGERPRINT_MANAGER", - "GESTURES", - "HAPTIC_FEEDBACK_VIBRATION", - "HARD_KEYBOARD", - "HEADS_UP", - "HIGH_REFRESH_RATE", - "HOT_SPOT", - "HOTSPOT_TETHERING", - "HOT_WORD", - "HUB_MODE", - "IP_ADDRESS", - "IMPROVE_LOCATION_ACCURACY", - "JUMP_TO_CAMERA", - "KEYBOARD_SHORTCUTS", - "LIFT_CHECK_PHONE", - "LIVE_TRANSLATE", - "LOCATION", - "LOCATION_HISTORY", - "LOCATION_BLUETOOTH_SCANNING", - "LOCATION_WIFI_SCANNING", - "LOCK_SCREEN", - "LOCK_SCREEN_DEVICE_CONTROLS", - "LOCK_SCREEN_WALLET", - "MAC_ADDRESS", - "MAGNIFICATION", - "MAGNIFY_BUTTON", - "MAGNIFY_TRIPLE_TAP", - "MANIFY_BUTTON", - "MANIFY_TRIPLE_TAP", - "MEDIA", - "MEDIA_VOLUME", - "MICROPHONE_ACCESS", - "MOBILE", - "MOBILE_DATA", - "MUSIC", - "MUTE_MODE", - "NETWORK", - "NETWORK_RESET", - "NFC", - "NIGHT_LIGHT_INTENSITY", - "NIGHT_LIGHT_SWITCH", - "NIGHT_MODE", - "NOTIFICATION_BADGE", - "NOTIFICATION_SOUND", - "NOTIFICATION_ON_SCREEN", - "NOTIFICATION_HISTORY", - "NOTIFY_FOR_PUBLIC_NETWORKS", - "ONEHANDED_MODE", - "OS_VERSION", - "PASSWORD", - "PERMISSION_MANAGER", - "PERMISSION_USAGE", - "PERSONALIZATION", - "PRINTING", - "PHONE_NUMBER", - "PICTURE_IN_PICTURE", - "POINTER_SPEED", - "POWER_MENU", - "REMINDERS", - "REQUIRE_DEVICE_UNLOCK_FOR_NFC", - "RINGTONE", - "RING_VOLUME", - "NEARBY_DEVICES_SCANNING", - "NEARBY_SHARE", - "SCREEN_LOCKING_SOUND", - "SCREEN_MAGNIFICATION", - "SCREEN_TIMEOUT", - "SCREEN_LOCK", - "SCREEN_SAVER", - "SELECT_TO_SPEAK", - "SET_TIME_AUTOMATICALLY", - "SET_TIME_ZONE_AUTOMATICALLY", - "SETTINGS", - "SIM", - "SIM_MANAGER", - "SPEECH_RATE", - "STORAGE_USAGE", - "SWIPE_FOR_NOTIFICATION", - "SWITCH_ACCESS", - "SYSTEM_UPDATE", - "SYSTEM_UPDATES", - "SYSTEM_NAVIGATION", - "SYSTEM_NAVIGATION_GESTURES", - "SYSTEM_NAVIGATION_BUTTONS", - "TALKBACK_PASSWORDS", - "TEXT_TO_SPEECH", - "TIME_ZONE", - "UNUSED_APPS", - "USB", - "USB_TETHERING", - "VERBOSE_TTS", - "VIBRATE", - "VIBRATION", - "VIBRATION_MODE", - "VOICE", - "VOLUME_LEVEL", - "WAKE_SCREEN_FOR_NOTIFICATIONS", - "WALLPAPERS", - "WEBVIEW", - "WIFI", - "WIFI_ADD_NETWORK", - "WIFI_ADD_NETWORK_QR_CODE", - "WIFI_CALLING", - "WIFI_HOTSPOT", - "ACCESSIBILITY_SELECT_TO_SPEAK", - "CRISIS_ALERTS", - "REGULATORY_LABELS", - "SEND_FEEDBACK", - "OS_BUILD_NUMBER", - "ACCESSIBILITY_SHORTCUTS", - "ACCESSIBILITY_MENU", - "ACCESSIBILITY_SOUND_AMPLIFIER", - "ACCESSIBILITY_LIVE_TRANSCRIBE", - "ACCESSIBILITY_SOUND_NOTIFICATIONS", - "ACCESSIBILITY_TALKBACK", - "ACCESSIBILITY_TIMEOUT", - "CAMERA_SETTINGS", - "BATTERY_SAVER_TOGGLE", - "COVID_NOTIFICATIONS", - "APP_LOCATION", - "LOCATION_SERVICES", - "PRIVATE_DNS", - "UNRESTRICTED_DATA", - "PREFERRED_NETWORK", - "NETWORK_PREFERENCES", - "PASSWORDS_AND_ACCOUNTS", - "PRIVACY_DASHBOARD", - "MORE_SECURITY", - "APP_PINNING", - "CONFIRM_SIM_DELETION", - "ENCRYPT_PHONE", - "FACE_UNLOCK", - "INSTALL_UNKNOWN_APPS", - "NOW_PLAYING", - "STAY_AWAKE", - "ASSISTANT_VOICE", - "RESET_BLUETOOTH_WIFI", - "DEFAULT_PHONE_APP", - "GOOGLE_ACCOUNT", - "ACCESSIBILITY_CAPTION_SIZE_AND_STYLE", - "ACCESSIBILITY_CAPTION_STYLE", - "ACCESSIBILITY_CAPTION_TEXT", - "ACCESSIBILITY_CAPTION_PREFERENCES", - "ACCESSIBILITY_COLOR_AND_MOTION", - "ACCESSIBILITY_BOLD_TEXT", - "LIVE_CAPTION", - "POWER_BUTTON_ENDS_CALL", - "TOUCH_AND_HOLD_DELAY", - "ACCESSIBILITY_VOICE_ACCESS", - "SMS_PERMISSIONS", - "SPECIAL_APP_ACCESS", - "DARK_THEME_SCHEDULE", - "LOCK_SCREEN_TEXT", - "NIGHT_LIGHT_SCHEDULE", - "AUTOFILL", - "USAGE_AND_DIAGNOSTICS", - "SENSITIVE_NOTIFICATIONS", - "ENCRYPTION_AND_CREDENTIALS", - "SPACIAL_AUDIO", - "RESET_OPTIONS", - "QUICK_TAP", - "TIPS_AND_SUPPORT", - "SCREEN_ATTENTION", - "BLUETOOTH_TETHERING", - "ALL_APPS", - "EXTEND_UNLOCK", - "CLEAR_CALLING", - "GOOGLE_SETTINGS", - "APP_LANGUAGES", - "SIM_STATUS", - "MICROPHONE_PERMISSIONS", - "GOOGLE_PLAY_UPDATE", - "ADD_GOOGLE_ACCOUNT", - "ASSISTANT_SPOKEN_NOTIFICATIONS", - "ABOUT_PHONE", - "ACCOUNTS", - "APPLICATION", - "ASSISTANT", - "AUDIO", - "BATTERY", - "BELL_SCHEDULE", - "CONTINUED_CONVERSATION", - "DATE_TIME", - "DARK_THEME", - "DEVICE_INFO", - "DICTIONARY", - "DIGITAL_WELLBEING", - "DISPLAY", - "LANGUAGE", - "NIGHT_LIGHT", - "NOTIFICATION", - "NOTIFICATION_VOLUME", - "PHONE_RINGTONE", - "PRIVACY", - "ROAMING", - "ROUTINES", - "SEARCH", - "SECURITY", - "SOUND", - "SPELL_CHECKER", - "SYSTEM", - "STORAGE", - "VPN", - "AUTOCLICK", - "CARET_HIGHLIGHT", - "CHROMEVOX", - "CURSOR_HIGHLIGHT", - "DOCKED_MAGNIFIER", - "FOCUS_HIGHLIGHT", - "FULLSCREEN_MAGNIFIER", - "HIGH_CONTRAST_MODE", - "LARGE_CURSOR", - "MONO_AUDIO", - "STICKY_KEYS", - "TAP_DRAGGING", - "VIRTUAL_KEYBOARD", - "WEARABLE_AMBIENT", - "WEARABLE_NOISE_CANCELLATION", - "WEARABLE_TOUCH_CONTROLS", - "RAISE_TO_TALK", - "BEDTIME_MODE", - "THEATER_MODE", - "TOUCH_LOCK", - "PRESS_AND_HOLD", - "WATCH_FACE", - "NOTIFICATION_ANNOUNCEMENT" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Pair a bluetooth device.", - "Link a device to Assistant/Google Home.", - "", - "", - "", - "", - "Deprecated, use DEFAULT_ALARM_SOUND instead.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Denotes if the battery health is normal / reduced / unknown.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Bluetooth on/off toggle", - "", - "", - "Bluetooth preferences page", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Cellular carrier (non-wifi) data usage statistics \u0026 settings for the device.", - "Toggle to enable data use limit", - "The mobile data use after which mobile data is automatically disabled.", - "Toggle to enable data use warning", - "The mobile data use after which a warning is shown to the user.", - "", - "", - "", - "", - "Device's voice assistant app selection.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Special mode for using device hands-free while driving.", - "", - "Main emergency settings", - "", - "", - "", - "", - "Makes screen extra dark.", - "", - "", - "", - "", - "", - "", - "", - "", - "A page for device gestures", - "Slider that controls touch feedback vibration", - "", - "", - "", - "Toggle for internet sharing via WiFi.", - "Common settings page for internet sharing via various means.", - "", - "See go/hubmodesettings-PRD.", - "Show my IP address", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Settings page for what is visible on the lock screen.", - "", - "", - "Show my MAC address", - "", - "", - "", - "", - "", - "", - "", - "Microphone Access is a toggleable setting that controls if Microphone usage is allowed at the system level or not. It is not the per-App Microphone permission page. https://screenshot.googleplex.com/4hrskftPSur7hHh", - "Wireless internet settings, including WiFi, Cellular, etc.", - "Setting to enable/disable cellular data connection being used on the device. https://screenshot.googleplex.com/jMSRtW3Aq4o", - "", - "", - "", - "Restarts the device network stack, no settings are deleted.", - "", - "", - "", - "", - "", - "Deprecated, use DEFAULT_NOTIFICATION_SOUND instead.", - "", - "", - "", - "", - "", - "Password manager", - "Shows permissions and allows add/remove allowed apps.", - "Shows usage of each permission by app.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Settings page for screen locking security methods.", - "", - "", - "", - "", - "", - "Currently active/primary SIM.", - "", - "", - "", - "", - "", - "Deprecated, use SYSTEM_UPDATES instead.", - "", - "Settings page for configuring how navigation between apps is done. Specifically android has choice between Buttons of Gestures mode.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Deprecated, use VIBRATION instead.", - "Vibration master toggle - controls all vibration functions. Corresponds to \"Vibration \u0026 haptics\" toggle in the Android settings app.", - "Controls whether the ringer mode will be silent or will vibrate. Details in https://developer.android.com/reference/android/media/AudioManager#RINGER_MODE_VIBRATE Different from VIBRATION from above.", - "deprecated, use ASSISTANT_VOICE", - "", - "", - "", - "", - "", - "", - "", - "", - "Duplicate, use HOT_SPOT instead", - "Accessibility \u003e Select to Speak", - "Safety \u003e Crisis alerts", - "Settings \u003e About phone \u003e Regulatory labels", - "Settings \u003e About phone \u003e Send feedback about this device", - "", - "", - "", - "Settings \u003e Accessibility \u003e Hearing \u003e Sound Amplifier", - "", - "", - "Settings \u003e Accessibility \u003e TalkBack", - "Settings \u003e Accessibility \u003e Time to take action (Accessibility timeout)", - "", - "", - "Settings \u003e Google \u003e COVID-19 Exposure Notifications", - "", - "", - "", - "Settings \u003e Network \u0026 Internet \u003e Data Saver \u003e Unrestricted data", - "", - "", - "", - "", - "", - "", - "", - "Settings \u003e Security \u003e Encrypt phone", - "", - "", - "", - "", - "", - "", - "", - "", - "Settings \u003e Accessibility \u003e Caption preferences \u003e Caption size and style", - "Settings \u003e Accessibility \u003e Caption preferences \u003e Caption size and style \u003e Caption Style", - "Settings \u003e Accessibility \u003e Caption preferences \u003e Caption size and style \u003e Text size", - "Settings \u003e Accessibility \u003e Caption preferences", - "Settings \u003e Accessibility \u003e Color and motion", - "Settings \u003e Accessibility \u003e Display size and text \u003e Bold text", - "", - "Settings \u003e Accessibility \u003e Power button ends call", - "", - "", - "", - "Settings \u003e Apps \u0026 notifications \u003e Advanced \u003e Special app access", - "", - "Settings \u003e Display \u003e Lock screen \u003e Add text on lock screen", - "", - "", - "", - "", - "Settings \u003e Security \u003e Advanced settings \u003e Encryption \u0026 credentials", - "Settings \u003e Sound \u0026 vibration \u003e Spatial Audio", - "Settings \u003e System \u003e Advanced \u003e Reset options", - "Settings \u003e System \u003e Gestures \u003e Quick tap", - "Settings \u003e Tips \u0026 support", - "Display \u003e Screen timeout \u003e Screen attention", - "", - "", - "", - "", - "", - "", - "", - "Permission Manager \u003e Microphone", - "", - "", - "Settings for assistant to announce messages/notifications", - "Begin of NGA proto consistence", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Duplicate, use NIGHT_MODE instead", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "End of NGA proto consistence", - "Chrome OS specific accessibility settings", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "End of Chrome OS specific accessibility settings", - "Wearable device settings", - "", - "", - "", - "", - "", - "", - "", - "Settings \u003e Display \u003e Change watch face End of Wearable device settings", - "Assistant Spoken Notification Setting" - ], - "type": "string" - }, - "type": "array" - }, - "supportsDoNotDisturbWithDuration": { - "description": "Additional specific setting capabilities. This boolean is used to indicate if do not disturb with duration is supported through device.MODIFY_SETTING clientop on a client or not.", - "type": "boolean" - }, - "supportsMuteUnmute": { - "description": "Additional specific setting capabilities. This boolean is used to indicate if new unmute logic is enabled on a client or not.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiClientOpPropertiesProviderOpenClientOpProperty": { - "description": "The properties of the provider.OPEN ClientOp. This proto is stored in the SupportedClientOp proto with the key provider.OPEN.", - "id": "AssistantApiClientOpPropertiesProviderOpenClientOpProperty", - "properties": { - "keepsConversationAliveAfterOpeningApp": { - "description": "Whether conversation is kept alive after opening the app. See go/keep-opa-conversation-alive for details.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiClockCapabilities": { - "description": "Used to describe clock capabilities of the device (for example, capabilities related to maximum number of supported alarms and timers that can be created on the device). Fields may be populated by clients or be backfilled by SAL (in case of Timon, for example).", - "id": "AssistantApiClockCapabilities", - "properties": { - "maxSupportedAlarms": { - "description": "Maximum number of alarms that can be created on the client.", - "format": "int32", - "type": "integer" - }, - "maxSupportedExtendedTimerDuration": { - "$ref": "AssistantApiDuration", - "description": "Maximum extended timer duration supported by the client. The extended timer duration is the total start-to-finish duration after an AddTimeToTimer operation. E.g. if a user sets a timer for 30 minutes, and later adds 10 minutes, the extended duration is 40 minutes." - }, - "maxSupportedTimerDuration": { - "$ref": "AssistantApiDuration", - "description": "Maximum duration of timers that can be created on the client." - }, - "maxSupportedTimers": { - "description": "Maximum number of timers that can be created on the client.", - "format": "int32", - "type": "integer" - }, - "preferredStopwatchProvider": { - "$ref": "AssistantApiCoreTypesProvider", - "description": "The preferred provider to use for stopwatch related functionality." - }, - "restrictAlarmsToNext24h": { - "description": "Whether the client restricts alarms to ring within the next 24 hours.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiCommunicationUiCapabilities": { - "description": "UI capabilities for the surfaces rendering Comms features. See go/rohan-comms-fluid-actions-customization.", - "id": "AssistantApiCommunicationUiCapabilities", - "properties": { - "fluidActionsUiType": { - "enum": [ - "DEFAULT", - "SIMPLIFIED" - ], - "enumDescriptions": [ - "", - "Fluid actions output optimized for small devices, with no on-device management of conversation state available." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiContactLookupCapabilities": { - "id": "AssistantApiContactLookupCapabilities", - "properties": { - "fallbackToTetheredDevice": { - "description": "If true, contact.LOOKUP should be routed to the tethered device (if present) if the tethered device supports contact.LOOKUP and the primary device does not.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesAndroidAppInfo": { - "description": "The android app information of the provider. Like, Spotify. Next ID: 17", - "id": "AssistantApiCoreTypesAndroidAppInfo", - "properties": { - "accountType": { - "type": "string" - }, - "activityInfo": { - "$ref": "AssistantApiCoreTypesAndroidAppInfoActivityInfo" - }, - "androidIntent": { - "description": "Intent associated with the app. We include intents here as different versions of the same app may support different intents. In those cases, the package_name is not enough to identify the app and we should use the combination of package_name and android_intent. This field might contain sensitive data, if represents ClientOp with encapsulated PII such as user query.", - "type": "string" - }, - "appUniqueId": { - "description": "Store the app unique id endpoint. This will be passed over to app to fulfill the action.", - "type": "string" - }, - "appVersion": { - "deprecated": true, - "description": "The android app version. Deprecated because https://developer.android.com/reference/android/content/pm/PackageInfo.html#getLongVersionCode", - "format": "int32", - "type": "integer" - }, - "dataMimetype": { - "deprecated": true, - "description": "data_mimetype and account_type are the what AGSA uses to filter which contacts support this Android app in ContactProvider.", - "type": "string" - }, - "isBroadcastIntent": { - "description": "If true, client should broadcast the intent instead of open the intent.", - "type": "boolean" - }, - "isDefault": { - "description": "App is the default app for it's core functionality. For example, it will be true for Android messages if it is the default app to send and receive SMS on the phone.", - "type": "boolean" - }, - "localizedAppName": { - "description": "The localized app name.", - "type": "string" - }, - "longVersionCode": { - "description": "The long android app version.", - "format": "int64", - "type": "string" - }, - "mimetype": { - "description": "Store mimetype of this endpoint. We will use this as the differentiator for Assistant to know whether to use the RawContact for messaging, call or video call. For example, send message mimetype for whatsapp: \"vnd.android.cursor.item/vnd.com.whatsapp.profile\" voice call mimetype for whatsapp: \"vnd.android.cursor.item/vnd.com.whatsapp.voip.call\"", - "type": "string" - }, - "packageName": { - "description": "The android app package of the provider, like \"com.spotify.music\".", - "type": "string" - }, - "providerType": { - "description": "The OemProviderType is specific for OEM system Android apps. For example, in Auto Embedded, the OEM will have a system Radio/Media app. The system app’s capabilities/core functionalities are captured here. For physical media sources, the OEM may decide to implement one media app (thus, one package name) that handles multiple physical media sources. For these cases, each physical media source will be sent as different providers even though the package name is the same.", - "enum": [ - "UNKNOWN_OEM_PROVIDER_TYPE", - "RADIO_PROVIDER_TYPE", - "SXM_RADIO_PROVIDER_TYPE" - ], - "enumDescriptions": [ - "", - "Refers to an app that handles AM/FM Radio via a physical radio tuner in the device. See go/radio-assistant-for-auto.", - "Refers to an app that handles Satellite (SiriusXM) Radio via a physical Satellite tuner in the device. See go/sxm-on-gas." - ], - "type": "string" - }, - "shortcutId": { - "description": "Id of the app's Android shortcut to be launched by Assistant. The client is expected to use the Android LauncherApps API to execute this shortcut which in turn will open the app. For example, Whatsapp may create an Android shortcut for a frequently messaged contact with an id \"contact_123\". This field will contain that id and the client can execute it to open up the chat with that particular contact. If this field is set, the package_name field must also be set since both will be used by the LauncherApps API for execution. If this field is set, the intent related fields will be ignored and not used as a fallback. Design: go/shortcut-id-in-provider-open-clientop This field should only be set for devices with Android API level \u003e= 25 (since that is the version from which the LauncherApps startShortcut API is available)", - "type": "string" - }, - "targetClass": { - "description": "The fully qualified target class name of the provider, like \"com.example.myapp.GetOrderService\".", - "type": "string" - }, - "versionName": { - "description": "The android app version name, like \"4.1.091.05.40d\", \"11.2.7.21.alpha\". Android Docs: https://developer.android.com/reference/android/content/pm/PackageInfo#versionName", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesAndroidAppInfoActivityInfo": { - "description": "General information about activities in the app.", - "id": "AssistantApiCoreTypesAndroidAppInfoActivityInfo", - "properties": { - "activeLaunchableActivities": { - "description": "Activities that are currently active and tagged as ACTION_MAIN and CATEGORY_LAUNCHER. Includes the activity corresponding to android_intent if it falls under CATEGORY_LAUNCHER.", - "items": { - "$ref": "AssistantApiCoreTypesAndroidAppInfoActivityInfoActivity" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesAndroidAppInfoActivityInfoActivity": { - "description": "Information about an individual activity.", - "id": "AssistantApiCoreTypesAndroidAppInfoActivityInfoActivity", - "properties": { - "localizedActivityName": { - "description": "The localized user visible activity name.", - "type": "string" - }, - "shortClassName": { - "description": "Short class name for activity, following https://developer.android.com/reference/android/content/ComponentName#getShortClassName()", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesAndroidAppInfoDelta": { - "description": "The change of AndroidAppInfo, e.g. app installation or deletion for incremental delta app info upload.", - "id": "AssistantApiCoreTypesAndroidAppInfoDelta", - "properties": { - "androidAppInfo": { - "$ref": "AssistantApiCoreTypesAndroidAppInfo", - "description": "The android app information of the provider. Like, Spotify." - }, - "lastUpdateTimestamp": { - "description": "The client-side timestamp in millis when the app is last updated, installed or deleted.", - "format": "google-datetime", - "type": "string" - }, - "updateType": { - "description": "App is installed or deleted.", - "enum": [ - "UNKNOWN_TYPE", - "IS_INSTALLED", - "IS_DELETED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesCalendarEvent": { - "description": "This proto contains the information of a calendar event, including title, start time, end time, etc. LINT.IfChange(CalendarEvent) NEXT_ID: 26", - "id": "AssistantApiCoreTypesCalendarEvent", - "properties": { - "attendees": { - "description": "Attendees invited to the event, usually includes also the organizer.", - "items": { - "$ref": "AssistantApiCoreTypesCalendarEventAttendee" - }, - "type": "array" - }, - "backgroundColor": { - "description": "The background color of the event, in RGB format.", - "format": "int32", - "type": "integer" - }, - "calendarId": { - "description": "Optional calendar containing the event.", - "type": "string" - }, - "creator": { - "$ref": "AssistantApiCoreTypesCalendarEventAttendee", - "description": "The person who created this event." - }, - "description": { - "description": "Optional description of the event (plain text).", - "type": "string" - }, - "end": { - "$ref": "AssistantApiDateTime", - "description": "The end time of the event. Start and end time must either both be date or both be datetime. End is exclusive, ie. the first day / first second when the event is over." - }, - "eventId": { - "description": "Optional event id provided by assistant server. Needs to be unique, at least on a per-user and calendar level, ideally globally unique. If none is given, the server will assign an id.", - "type": "string" - }, - "flairName": { - "description": "The flair name, calculated according to the event title (go/as-cal-flair). With the flair name, background images can be got from gstatic (go/scs): https://ssl.gstatic.com/tmly/f8944938hffheth4ew890ht4i8/flairs/", - "type": "string" - }, - "foregroundColor": { - "description": "The foreground color of the event, in RGB format.", - "format": "int32", - "type": "integer" - }, - "guestsCanInviteOthers": { - "description": "Whether the guests can invite other guests.", - "type": "boolean" - }, - "guestsCanModify": { - "description": "Whether the guests can modify the event.", - "type": "boolean" - }, - "guestsCanSeeGuests": { - "description": "Whether the guests of the event can be seen. If false, the user is reported as the only attendee to the event, even though there may be more attendees.", - "type": "boolean" - }, - "habitId": { - "description": "Optional id of the Habit (Calendar Goal) this event is linked to", - "type": "string" - }, - "habitStatus": { - "description": "Optional status for this habit event instance.", - "enum": [ - "UNKNOWN_STATUS", - "ACTIVE", - "DEFERRAL_REQUESTED", - "COMPLETE", - "UNDEFERRABLE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "htmlLink": { - "description": "Absolute link to this event in the Calendar web UI.", - "type": "string" - }, - "location": { - "description": "Optional location of the event (plain text).", - "type": "string" - }, - "meetingContacts": { - "items": { - "$ref": "AssistantApiCoreTypesCalendarEventMeetingContact" - }, - "type": "array" - }, - "organizer": { - "$ref": "AssistantApiCoreTypesCalendarEventAttendee", - "description": "The organizer of this event." - }, - "otherAttendeesExcluded": { - "description": "Whether not all attendees are included in the attendee list. This is set when the attendees list has been truncated (e.g., when the number of attendees is beyond the maxAttendees limitation).", - "type": "boolean" - }, - "participationResponse": { - "description": "The user's response (the owner of this copy of the event) to this event.", - "enum": [ - "RESPONSE_STATUS_UNSPECIFIED", - "NEEDS_ACTION", - "DECLINED", - "TENTATIVE", - "ACCEPTED" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "recurringEventId": { - "description": "If this is an instance of a recurring event, recurring_event_id identifies the recurring series as a whole.", - "type": "string" - }, - "rooms": { - "description": "Meeting rooms associated to this event.", - "items": { - "$ref": "AssistantApiCoreTypesCalendarEventRoom" - }, - "type": "array" - }, - "start": { - "$ref": "AssistantApiDateTime", - "description": "The start time of the event. This event is an all-day event if start has no time_of_day." - }, - "summary": { - "description": "The title of the event.", - "type": "string" - }, - "visibility": { - "description": "Optional visibility of the event.", - "enum": [ - "DEFAULT", - "PUBLIC", - "PRIVATE", - "CONFIDENTIAL", - "SECRET", - "SHADOW", - "UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "When we receive a value outside of this enum it will be replaced with this UNKNOWN field. When trying to send UNKNOWN it will be silently converted to DEFAULT." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesCalendarEventAttendee": { - "description": "Next id: 8", - "id": "AssistantApiCoreTypesCalendarEventAttendee", - "properties": { - "displayName": { - "description": "Display name, present only if available.", - "type": "string" - }, - "email": { - "description": "Email address of the attendee (calendar), for regular events. For +Events, this field is not populated, instead \"id\" is used.", - "type": "string" - }, - "givenName": { - "description": "Given (first) name, present only if available. This is used for generating meeting titles as given name is preferred over display (full) name (ie: \"Jeff : Sundar\" is better than \"Jeff Dean : Sundar Pichai\").", - "type": "string" - }, - "id": { - "description": "Profile ID of the principal, for +Events. For regular events, this field is not populated, instead \"email\" is used.", - "type": "string" - }, - "organizer": { - "description": "Is this the organizer?", - "type": "boolean" - }, - "responseStatus": { - "description": "Attendees response status.", - "enum": [ - "RESPONSE_STATUS_UNSPECIFIED", - "NEEDS_ACTION", - "DECLINED", - "TENTATIVE", - "ACCEPTED" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "self": { - "description": "Is this the owner of this copy of the event?", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesCalendarEventMeetingContact": { - "description": "Next id: 10", - "id": "AssistantApiCoreTypesCalendarEventMeetingContact", - "properties": { - "conferenceId": { - "description": "ID that corresponds to in ConferenceData.conference_id in calendar.common.ConferenceData proto. For Meet, this is the identifier used to join a meeting via URL.", - "type": "string" - }, - "dialInNumberClasses": { - "items": { - "enum": [ - "NUMBER_CLASS_UNSPECIFIED", - "LOW_COST", - "HIGH_COST", - "LEGACY" - ], - "enumDescriptions": [ - "No number class has been specified.", - "The number has a low cost to receive calls on.", - "The number has a high cost to receive calls on.", - "Class for legacy numbers." - ], - "type": "string" - }, - "type": "array" - }, - "phoneNumberUri": { - "description": "Default meeting phone number, for example: \"tel:+1-475-777-1840\"", - "type": "string" - }, - "pinNumber": { - "description": "A PIN that the participant will need to input after dialing in the conference.", - "type": "string" - }, - "provider": { - "$ref": "AssistantApiCoreTypesProvider", - "description": "Provider info for the meeting." - }, - "regionCode": { - "description": "The region code for the default meeting phone number", - "type": "string" - }, - "source": { - "enum": [ - "SOURCE_UNSPECIFIED", - "STRUCTURED_DATA", - "UNSTRUCTURED_DATA" - ], - "enumDescriptions": [ - "The source is unknown.", - "The conference information was retrieved from structured fields.", - "The conference information was parsed and extracted from unstructured fields (e.g. event description)." - ], - "type": "string" - }, - "universalPinNumber": { - "description": "The universal meeting PIN number for phone numbers in all available countries", - "type": "string" - }, - "url": { - "description": "URL that can be used to join the meeting.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesCalendarEventRoom": { - "description": "A room that is available for a potential meeting or has been booked for a scheduled meeting. Next id: 4", - "id": "AssistantApiCoreTypesCalendarEventRoom", - "properties": { - "email": { - "description": "Room email that identifies the room and is used to book it.", - "type": "string" - }, - "locationDetails": { - "$ref": "AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails", - "description": "Additional room details. Read-only, populated on request." - }, - "name": { - "description": "Room name (ex: \"MTV-PR55-5-A-Shadow 5K0 (13) GVC (No external guests)\").", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails": { - "description": "Room location details. Read-only, populated on request. Next id: 8", - "id": "AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails", - "properties": { - "building": { - "description": "Building where the room is (ex: \"PR55\").", - "type": "string" - }, - "city": { - "description": "City where the room is (ex: \"MTV\").", - "type": "string" - }, - "floor": { - "description": "Floor where the room is (ex: \"5\").", - "type": "string" - }, - "latitude": { - "description": "The latitude in degrees.", - "format": "double", - "type": "number" - }, - "longitude": { - "description": "The longitude in degrees.", - "format": "double", - "type": "number" - }, - "section": { - "description": "Section in the floor (ex: \"A\").", - "type": "string" - }, - "simpleName": { - "description": "Room name (ex: \"Shadow 5K0\").", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesCalendarEventWrapper": { - "description": "This empty type allows us to publish sensitive calendar events to go/attentional-entities, while maintaining BUILD visibility protection for their contents. The BUILD-visibility-protected extension to this message is defined at http://google3/assistant/verticals/calendar/proto/multi_account_calendar_event.proto", - "id": "AssistantApiCoreTypesCalendarEventWrapper", - "properties": {}, - "type": "object" - }, - "AssistantApiCoreTypesCastAppInfo": { - "description": "The cast app information of the provider.", - "id": "AssistantApiCoreTypesCastAppInfo", - "properties": { - "castAppId": { - "description": "The cast app id. |cast_app_id| is the ID of the cast app used on the current device and |content_app_id| is the ID of the app that provides the actual content. For example, in a group playback, on a follower device, the |cast_app_id| is the follower cast app ID and the |content_app_id| is the leader cast app ID.", - "type": "string" - }, - "contentAppId": { - "description": "The id of the cast app that provides the content in a group. The field will always be filled. In the case of a group playback and the current device is a follower, the |cast_app_id| has the ID of the follower app, and |content_app_id| has ID of the actual content app. In all other cases, |content_app_id| and |cast_app_id| will be the same.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesChromeOsAppInfo": { - "description": "The ChromeOS app information of the provider. Next ID: 3", - "id": "AssistantApiCoreTypesChromeOsAppInfo", - "properties": { - "localizedAppName": { - "description": "The localized app name.", - "type": "string" - }, - "packageName": { - "description": "Unique package name that identifies a ChromeOS app of the provider.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesCloudProviderInfo": { - "description": "The third party provider information.", - "id": "AssistantApiCoreTypesCloudProviderInfo", - "properties": { - "agentStyle": { - "$ref": "AssistantApiCoreTypesCloudProviderInfoAgentStyle" - }, - "directoryUrl": { - "description": "URL to a directory page about the third party agent in Assistant HQ. This is a universal (https) URL that may be handled natively by clients to show HQ or launch to the HQ directory web page.", - "type": "string" - }, - "logoUrl": { - "description": "The logo url for the third party provider.", - "type": "string" - }, - "name": { - "description": "The user visible name of the cloud provider, which may be used for example in the chat header during a conversation with the third party.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesCloudProviderInfoAgentStyle": { - "description": "The style customizations for the 3p agent.", - "id": "AssistantApiCoreTypesCloudProviderInfoAgentStyle", - "properties": { - "backgroundColor": { - "$ref": "AssistantApiCoreTypesColor", - "description": "The background color of the agent. Used if no background image is specified for the given display orientation, or if the provided background image does not fit." - }, - "headerTheme": { - "enum": [ - "DEFAULT", - "DARK", - "LIGHT" - ], - "enumDescriptions": [ - "The client's default theme.", - "The theme used when the card has a background image. See go/aog-cards-header-theme-dark for details on applying this theme.", - "The theme used when the card has a background color (and no background image). See go/aog-cards-header-theme-light for details on applying this theme." - ], - "type": "string" - }, - "landscapeBackgroundImageUrl": { - "description": "URL for the background image of the agent on landscape display.", - "type": "string" - }, - "logoUrl": { - "description": "URL for the image containing the 3p logo. This can include logomark and logotype, or logotype only. If present, this can be used in place of the square logo contained in the top level logo_url field in CloudProviderInfo. See go/cards-logo-customization for details on applying this logo.", - "type": "string" - }, - "maskColor": { - "$ref": "AssistantApiCoreTypesColor", - "description": "The color of the mask to apply to the background. See go/aog-cards-background-mask for details on applying this mask." - }, - "portraitBackgroundImageUrl": { - "description": "URL for the background image of the agent on portrait display.", - "type": "string" - }, - "primaryColor": { - "$ref": "AssistantApiCoreTypesColor", - "description": "The primary color of the agent. Used by the client to style the header and suggestion chips." - } - }, - "type": "object" - }, - "AssistantApiCoreTypesColor": { - "description": "Represents a color in the RGBA color space. This message mirrors google.type.Color.", - "id": "AssistantApiCoreTypesColor", - "properties": { - "alpha": { - "description": "The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (this color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. If omitted, this color object is to be rendered as a solid color (as if the alpha value had been explicitly given with a value of 1.0).", - "format": "float", - "type": "number" - }, - "blue": { - "description": "The amount of blue in the color as a value in the interval [0, 1].", - "format": "float", - "type": "number" - }, - "green": { - "description": "The amount of green in the color as a value in the interval [0, 1].", - "format": "float", - "type": "number" - }, - "red": { - "description": "The amount of red in the color as a value in the interval [0, 1].", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesDeviceConfig": { - "description": "The identification information for third party devices that integrates with the assistant. All of these fields will be populated by the third party when the query is sent from the third party device. Next Id: 5", - "id": "AssistantApiCoreTypesDeviceConfig", - "properties": { - "agentId": { - "description": "Pantheon Project ID that uniquely identifies the consumer project ID. Required", - "type": "string" - }, - "deviceId": { - "description": "Unique identifier for the device. Example: DBCDW098234. Required", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesDeviceId": { - "description": "LINT.IfChange(DeviceId) Specifies identifier of a device AKA surface. Note there may be multiple device ids for the same physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId usage is complicated. Please do not depend on it for surface specific logic. Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When checking for equality between two `DeviceId`s, you should always use an `isSameDevice{As}` function to check for equality, as deep equality between `DeviceId`'s is not guaranteed. * C++: http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 * Dart: http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 * Java: http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 See http://go/deviceid-equality for more details. Next ID: 14", - "id": "AssistantApiCoreTypesDeviceId", - "properties": { - "agsaClientInstanceId": { - "description": "The client_instance_id on devices with GSA. See 'client_instance_field' in go/androidids.", - "type": "string" - }, - "alloDeviceId": { - "description": "Allo Id. Corresponds to the GBotRequest.Sender.sender. NOTE(dychen): This may change to standard android/ios physical device ids in order to enable shared data (e.g. installed app on physical device shared between Allo and Opa apps on Nexus).", - "type": "string" - }, - "canonicalDeviceId": { - "description": "A unique device ID for Assistant devices as proposed by go/ocelot-team to solve the device id fragmentation problem. The value of this id is the HomeGraph id of the device. See go/ocelot-track-0-registry-design. New surfaces should use the canonical_device_id instead of using other ids, and the registration should utilize the DeviceDataLayer (go/ddl-v0). Please contact the assistant-state-management@ team for guidance. Note: We didn't reuse |home_graph_device_id| because in Assistant code base |home_graph_device_id| is common to associate it with 3P devices. See go/project-yellowstone for more context.", - "type": "string" - }, - "castDeviceId": { - "description": "If set, indicates that the device is a cast device, and contains the UUID of the cast device. Corresponds to the device_id field of the CastDevice proto.", - "type": "string" - }, - "clientInstanceId": { - "description": "DUSI (go/dusi) is used as the identifier here. This identifier is unique to the user and device. This will help identify which device or application the user's request originated from. This is not to be confused with the client_instance_id that android devices provide. This is currently used by surfaces that use the assistant-legacy-nexus and assistant-legacy-clockwork pipelines. DUSI is created and set in S3. This field is only filled for GAIA requests.", - "type": "string" - }, - "connectedDockId": { - "description": "A device ID produced by a connected dock, which is registered in HomeGraph.", - "type": "string" - }, - "deviceConfig": { - "$ref": "AssistantApiCoreTypesDeviceConfig", - "description": "The unique DeviceConfig to the specific third party device. It is also used by Android Auto Embedded first party device. See go/opa-ids." - }, - "deviceType": { - "deprecated": true, - "description": "DEPRECATED. assistant.api.core_types.SurfaceIdentity.surface_type field should be used instead. The device's surface type. This is the string version of surface_type. The server should use the SurfaceType value derived from this string. If the device_type isn't supported within the SurfaceType enum, it will be set as UNKNOWN. Developers should use the enum in ServerParams instead of this string. WARNING: Clients are not actually setting this field. This field will be removed once references to it within the code base have been removed.", - "type": "string" - }, - "homeGraphDeviceId": { - "description": "The unique device ID for HomeGraph devices. This is the HomeGraph ID, created when the device is registered into HomeGraph. It is immutable for the same device unless it is completely deleted and recreated. See go/home-graph for details.", - "type": "string" - }, - "libassistantDeviceId": { - "description": "The unique ID for libassistant based devices. See go/libassistant-id for details.", - "type": "string" - }, - "multiHotwordArbitrationDeviceId": { - "description": "If set, indicates that the device is participating the multi-hotword arbitration and the id is an UUID to distinguish it from other devices. It should also be consistent between requests from a single device within a session (or short duration).", - "type": "string" - }, - "opaIosDeviceId": { - "description": "The unique device ID for the Assistant App on iOS. See go/opa-ios-design for details.", - "type": "string" - }, - "quartzDeviceId": { - "description": "The unique ID of a Quartz device. See go/quartz-design-doc for more details. Quartz ID is a hash of (android_id + gaia).", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesDeviceUserIdentity": { - "description": "The set of information that helps Assistant identify a device-user pair. An example use of this proto is in broadcast reply, when after receiving a broadcast, we store a device-user pair in an attentional entity in order to later infer who initated the broadcast on which device.", - "id": "AssistantApiCoreTypesDeviceUserIdentity", - "properties": { - "deviceId": { - "$ref": "AssistantApiCoreTypesDeviceId", - "description": "The identifier of the device." - }, - "gaiaId": { - "description": "The identifier of the user.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesHomeAppInfo": { - "description": "The Home app information of the provider. Next ID: 3", - "id": "AssistantApiCoreTypesHomeAppInfo", - "properties": { - "localizedAppName": { - "description": "The localized app name.", - "type": "string" - }, - "packageName": { - "description": "Unique package name that identifies a Home app of the provider.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesImage": { - "description": "An image represents the data about an image or a photo. NextId: 13", - "id": "AssistantApiCoreTypesImage", - "properties": { - "accessibilityText": { - "description": "A text description of the image to be used for accessibility, e.g. screen readers.", - "type": "string" - }, - "appIconIdentifier": { - "description": "App identifier. This field is specific to mobile surfaces and stands for app package name for Android surface, and app bundle identifier for iOS. In case identifier is specified but invalid, some default icon will be used, e.g. PackageManager.getDefaultActivityIcon() for Android. If you want to show image for AGSA versions which don't support this field, you can specify source_url as backup.", - "type": "string" - }, - "badgeImage": { - "$ref": "AssistantApiCoreTypesImage", - "description": "This is the image that is displayed as the badge on the main image." - }, - "content": { - "description": "Content of the image in bytes.", - "format": "byte", - "type": "string" - }, - "height": { - "format": "int32", - "type": "integer" - }, - "imageSource": { - "description": "Indicate the data source where the image is fetched.", - "enum": [ - "UNKNOWN", - "PLACEHOLDER", - "VISUAL_DICT", - "LAVD", - "VISUAL_DICT_DEFAULT_LOCALE" - ], - "enumDescriptions": [ - "Unknown image source.", - "Indicates this image is a default placeholder because no valid image is found.", - "Indicates the image is fetched from Visual Dictionary.", - "Indicates the image is fetched from LAVD (visual-dictionary-license-aware-requirements).", - "Indicates the image is fetched from Visual Dictionary of default locale \"en\"." - ], - "type": "string" - }, - "jsonContent": { - "description": "Content of image in form of JSON representation.", - "type": "string" - }, - "letterDrawableText": { - "description": "Text used to generate a letter drawable (a letter icon with color). It will be the default icon if the source_url is empty or cannot be rendered.", - "type": "string" - }, - "providerUrl": { - "description": "Url of the image provider, which is the website containing the image. For example, https://www.agentx.com.", - "type": "string" - }, - "sourceUrl": { - "description": "The source url of the image. For example, https://www.agentx.com/logo.png", - "type": "string" - }, - "sourceUrlType": { - "description": "Type of the source url.", - "enum": [ - "DEFAULT_URL_TYPE", - "LOTTIE", - "DUO_CLIENT", - "CONTACT_ID", - "GLIDE_CACHE_ID" - ], - "enumDescriptions": [ - "", - "Json url used to drive animation on surfaces using Airbnb lottie library.", - "Duo url specifying the Duo resource id to be used ('duo://'). WARNING: This may not be supported on all clients. At the moment, only Dragonglass surfaces are supporting this.", - "Contact ID specifying contact resource to be used.", - "ID used for caching image with Glide." - ], - "type": "string" - }, - "width": { - "description": "The width and height of the image in pixels.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesInternalProviderInfo": { - "description": "Info for targeting a feature provided directly by the Assistant surface itself. i.e Could be pointing to AGSA audio player for AUDIO_PLAYER on AGSA.", - "id": "AssistantApiCoreTypesInternalProviderInfo", - "properties": { - "type": { - "description": "Specifying which type of internal provider.", - "enum": [ - "UNKNOWN_INTERNAL_PROVIDER_TYPE", - "AUDIO_PLAYER", - "AUDIO_PLAYER_V2", - "MEDIA_PLAYER", - "MEDIA_PLAYER_IOS", - "AUDIO_ONLY_PLAYER", - "NARRATED_WEB_MEDIA_PLAYER", - "LIBASSISTANT_MEDIA_PLAYER", - "LENS_PLAYER", - "NEWS_PLAYER" - ], - "enumDescriptions": [ - "", - "Deprecated, because supported AGSA implementation had a bug (b/72229328). Use AUDIO_PLAYER_V2 instead.", - "Internal provider for playing audio.", - "Internal provider for playing audio and video for AGSA.", - "iOS MEDIA_PLAYER.", - "Internal provider for playing audio only, different from MEDIA_PLAYER. It is used by KaiOS, for news vertical. It is different from AUDIO_PLAYER_V2 which is for AGSA, and not supported by news vertical.", - "Internal provider for playing audio narration of web pages.", - "Internal provider for playing audio for libassistant. Historically each enum represents a different media player implementation. This one is meant for the playing media on the libassistant enabled surfaces.", - "Internal provider for playing audio using lens audio player, for screenshot based readout.", - "Internal provider for news vertical on AssistantMediaPlayer in AGSA." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesIosAppInfo": { - "description": "The iOS app information of the provider. Next ID: 4", - "id": "AssistantApiCoreTypesIosAppInfo", - "properties": { - "bundleIdentifier": { - "description": "Bundle identifier that identifies an iOS app of the provider.", - "type": "string" - }, - "localizedAppName": { - "description": "The localized app name.", - "type": "string" - }, - "openAppUrl": { - "description": "A URL to open the provider's app.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesKaiOsAppInfo": { - "description": "The KaiOS app information of the provider. Next ID: 4", - "id": "AssistantApiCoreTypesKaiOsAppInfo", - "properties": { - "localizedAppName": { - "description": "The localized app name.", - "type": "string" - }, - "openAppUrl": { - "description": "A URL to open the provider's app.", - "type": "string" - }, - "packageName": { - "description": "Unique package name that identifies a KaiOS app of the provider.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesLocationCoordinates": { - "description": "Geographic coordinate information for location.", - "id": "AssistantApiCoreTypesLocationCoordinates", - "properties": { - "accuracyMeters": { - "description": "The accuracy of the coordinates in meters.", - "format": "double", - "type": "number" - }, - "latDegrees": { - "description": "Latitude degrees.", - "format": "double", - "type": "number" - }, - "lngDegrees": { - "description": "Longitude degrees.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesMessageNotification": { - "description": "This proto captures the contents of a messaging app notification that is typically part of a conversation thread. Next Id: 21", - "id": "AssistantApiCoreTypesMessageNotification", - "properties": { - "appName": { - "description": "App name of the message notification, e.g. Hangouts.", - "type": "string" - }, - "bundleId": { - "description": "The key used to group this notification into a cluster.", - "type": "string" - }, - "dataUri": { - "description": "Uri for the attachment (image, audio, video etc.).", - "type": "string" - }, - "groupName": { - "description": "Name of the group associated with the message notification. This field is set iff this is a group message.", - "type": "string" - }, - "groupingKey": { - "description": "The group key of a proactive notification. Details in assistant.api.client_op.NotificationArgs.grouping_key.", - "type": "string" - }, - "index": { - "description": "Index of the message notification.", - "format": "int32", - "type": "integer" - }, - "markAsReadActionAvailable": { - "deprecated": true, - "description": "Boolean indicating if the mark_as_read action is available for this message.", - "type": "boolean" - }, - "messageLength": { - "description": "Length of the message/notification content in characters. Note: We can't send the full content because of privacy restriction, preventing sending client content to our backends. Concatenated message_length of all notification_entries.", - "format": "int32", - "type": "integer" - }, - "messageRecipientType": { - "enum": [ - "UNKNOWN", - "INDIVIDUAL", - "GROUP" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "messageWordCount": { - "description": "Word count of the message", - "format": "int32", - "type": "integer" - }, - "mimeType": { - "description": "Mime type of the data_uri. e.g. 'audio/wav', 'video/mp4', 'image/png'.", - "type": "string" - }, - "notificationEntries": { - "items": { - "$ref": "AssistantApiCoreTypesMessageNotificationNotificationEntry" - }, - "type": "array" - }, - "notificationIconKey": { - "description": "On-device cache key for notification icon.", - "type": "string" - }, - "notificationKey": { - "description": "String key of the notification. It is the key from original StatusBarNotification received from Android OS. It is used to identify the original notification to send a reply.", - "type": "string" - }, - "opaqueToken": { - "description": "The opaque_token of a proactive notification. Details in assistant.api.client_op.NotificationArgs.opaque_token.", - "format": "byte", - "type": "string" - }, - "packageName": { - "description": "App pkg of the message notification, e.g. \"com.google.android.talk\".", - "type": "string" - }, - "postTime": { - "description": "Timestamp of the last notification's post time.", - "format": "int64", - "type": "string" - }, - "replyActionAvailable": { - "description": "Boolean indicating if the reply action is available for this message.", - "type": "boolean" - }, - "sender": { - "$ref": "AssistantApiCoreTypesMessageNotificationPerson" - }, - "senderName": { - "deprecated": true, - "description": "Sender's name of the message notification, e.g. Elsa. Last sender name in case of a group conversation.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesMessageNotificationNotificationEntry": { - "description": "Structure of each notification in the MessageNotification Bundle. Attribute sender_name could be different in case of group messages. Next Id: 9", - "id": "AssistantApiCoreTypesMessageNotificationNotificationEntry", - "properties": { - "audioDuration": { - "description": "Duration of audio message.", - "format": "google-duration", - "type": "string" - }, - "charCount": { - "description": "Count of characters in the message body in the notification.", - "format": "int32", - "type": "integer" - }, - "dataUri": { - "description": "Uri for the attachment (image, audio, video etc.).", - "type": "string" - }, - "messageBody": { - "description": "Note that this is not present in production traffic. Content of the message body in the notification.", - "type": "string" - }, - "mimeType": { - "description": "Mime type of the data_uri. e.g. 'audio/wav', 'video/mp4', 'image/png'.", - "type": "string" - }, - "postTime": { - "description": "Timestamp of the notification's post time.", - "format": "google-datetime", - "type": "string" - }, - "sender": { - "$ref": "AssistantApiCoreTypesMessageNotificationPerson", - "description": "Sender of the message notification." - }, - "wordCount": { - "description": "Count of words in the message body in the notification.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesMessageNotificationPerson": { - "description": "Mirrors part of https://developer.android.com/reference/android/app/Person Next Id: 4", - "id": "AssistantApiCoreTypesMessageNotificationPerson", - "properties": { - "isImportant": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesProvider": { - "description": "Provider. Like, Spotify or iHeartRadio. Next ID: 13", - "id": "AssistantApiCoreTypesProvider", - "properties": { - "androidAppInfo": { - "$ref": "AssistantApiCoreTypesAndroidAppInfo", - "description": "The android app information of the provider." - }, - "castAppInfo": { - "$ref": "AssistantApiCoreTypesCastAppInfo", - "description": "The cast app information of the provider." - }, - "chromeosAppInfo": { - "$ref": "AssistantApiCoreTypesChromeOsAppInfo", - "description": "The ChromeOS app information of the provider." - }, - "cloudProviderInfo": { - "$ref": "AssistantApiCoreTypesCloudProviderInfo", - "description": "The third party provider information." - }, - "fallbackUrl": { - "description": "A URL to fallback to if app can not be opened.", - "type": "string" - }, - "homeAppInfo": { - "$ref": "AssistantApiCoreTypesHomeAppInfo" - }, - "iconImageUrl": { - "description": "Public URL pointing to an icon image for the provider. e.g. https://lh3.googleusercontent.com/UrY7BAZ-XfXGpfkeWg0zCCeo-7ras4DCoRalC_WXXWTK9q5b0Iw7B0YQMsVxZaNB7DM", - "type": "string" - }, - "internalProviderInfo": { - "$ref": "AssistantApiCoreTypesInternalProviderInfo", - "description": "The internal assistant provider information." - }, - "iosAppInfo": { - "$ref": "AssistantApiCoreTypesIosAppInfo", - "description": "The iOS app information of the provider." - }, - "kaiosAppInfo": { - "$ref": "AssistantApiCoreTypesKaiOsAppInfo", - "description": "The KaiOS app information of the provider." - }, - "sipProviderInfo": { - "$ref": "AssistantApiCoreTypesSipProviderInfo", - "description": "The sip information of the provider." - }, - "webProviderInfo": { - "$ref": "AssistantApiCoreTypesWebProviderInfo", - "description": "The web provider information." - } - }, - "type": "object" - }, - "AssistantApiCoreTypesProviderDelta": { - "description": "ProviderDelta. The incremental change, e.g. installation or deletion for Spotify or iHeartRadio. Currently it is for Android only. A few considerations for edge cases: - If the app being deleted is not found from Footprints, it is ignored. - For Footprint upload through Geller, the gPRC response is available for client to retry in the next upload if the upload fails. - For Assistant Request, there is no upload status similar to the current AppCapabilities. Next ID: 4", - "id": "AssistantApiCoreTypesProviderDelta", - "properties": { - "androidAppInfoDelta": { - "$ref": "AssistantApiCoreTypesAndroidAppInfoDelta", - "description": "The android app information of the provider." - }, - "fallbackUrl": { - "description": "A URL to fallback to if app can not be opened.", - "type": "string" - }, - "iconImageUrl": { - "description": "Public URL pointing to an icon image for the provider. e.g. https://lh3.googleusercontent.com/UrY7BAZ-XfXGpfkeWg0zCCeo-7ras4DCoRalC_WXXWTK9q5b0Iw7B0YQMsVxZaNB7DM", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesRingtoneTaskMetadata": { - "description": "Task metadata information describing the ringtone. Next id: 11", - "id": "AssistantApiCoreTypesRingtoneTaskMetadata", - "properties": { - "category": { - "description": "The category related with the ringtone. It's used to generate ringtone related with the category if the entity_mid is not be populated. E.g. for instrument, the ringtone may be piano sound.", - "enum": [ - "UNKNOWN_CATEGORY", - "ANIMAL", - "CHARACTER", - "EMOTION", - "INSTRUMENT", - "MEDIA", - "SPORTS_EQUIPMENT", - "VEHICLE", - "ON_DEVICE", - "FUNTIME" - ], - "enumDeprecated": [ - false, - false, - true, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "Character alarm is a kind of media alarm. CHARACTER category should be removed. Use MEDIA for character alarms", - "", - "", - "", - "", - "", - "An alarm sound that the user can select to play when an alarm is firing, the alarm sound resource is located on device in libassistant.", - "An alarm sound that is based upon the label that the timer or alarm is invoked with (ie pizza timer invokes an Italian accordian theme). The assets are streamed from web storage." - ], - "type": "string" - }, - "characterAlarmMetadata": { - "$ref": "AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadata" - }, - "characterTag": { - "deprecated": true, - "type": "string" - }, - "entityMid": { - "description": "The freebase mid of the entity related to the ringtone. It will be used to generate the ringtone for the alarm or timer (with support for i18n). For instance, for the \"cat\" mid, the related ringtone will be a cat sound in some language, and for the \"Beyonce\" mid, the ringtone will be, e.g., a playlist of Beyonce's best hits.", - "type": "string" - }, - "funtimeMetadata": { - "$ref": "AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadata" - }, - "genMlAlarmMetadata": { - "$ref": "AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadata" - }, - "gentleWakeInfo": { - "$ref": "AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfo", - "description": "Gentle wake information for this alarm." - }, - "onDeviceAlarmMetadata": { - "$ref": "AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadata" - }, - "onDeviceAlarmSound": { - "description": "Will be deprecated. Use OnDeviceAlarmMetadata.", - "enum": [ - "DEFAULT", - "MELLOW", - "MODERN_TIMES", - "BEAUTIFUL_MIND", - "LITTLE_SUNSHINE", - "TOUCH_OF_ZEN", - "ABOUT_TIME", - "RANDOM", - "BOROBUDUR", - "PEBBLES", - "BRIGHT_MORNING", - "ACROSS_THE_VALLEY", - "MORNING_SONG", - "KYOTO", - "AWAKEN", - "CUCKOO", - "DIGITAL_BLAST", - "ACOUSTIC_SUNLIGHT", - "SUNRISE_BOSSA", - "CALM_GLOW", - "ANTIQUE_CLOCK", - "JUST_BIRDS", - "JUNGLE_AMBIENCE", - "QUAINT_VILLAGE", - "BUBBLY_BOSSA", - "ACOUSTIC_JAM", - "EUPHORIC" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "routineAlarmMetadata": { - "$ref": "AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadata" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadata": { - "id": "AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadata", - "properties": { - "agentIds": { - "description": "For character alarm, the media resources are provided through AOG apps. During alarm trigger phase, aog apps with the specified agent_ids are used to get the media resources. Multiple \"AoG agents\" can satisfy a character_tag. So the user will select the agents they want at alarm creation time. The chosen agents will be recorded so that the resources only from those agents will be used at trigger time. The number of selected agent_ids will not exceed 3. See go/character-alarm-aog.", - "items": { - "type": "string" - }, - "type": "array" - }, - "characterTags": { - "description": "The Character Alarm tag. Tags are needed to identify the theme of the alarm. For example, if the tag is 'astronaut', astronaut based audio is played during alarm ring. Note : We have made it repeated so that the user can choose multiple character alarm themes at one go. At present, the user is allowed to choose only one theme during alarm creation.", - "items": { - "type": "string" - }, - "type": "array" - }, - "iconUrls": { - "description": "Icons urls corresponding to a character. Note : We have made it repeated so that we can show different images when the alarm rings. At present, we only support only one image.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadata": { - "description": "Used to make timers and alarms more delightful. See go/funtime-engdesign for more details.", - "id": "AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadata", - "properties": { - "agentIds": { - "description": "For FunTime alarms and timers, the media resources are provided through AOG apps during their ringtone. Multiple AoG agents can satisfy a label. So a random agent will be chosen from those that are supplied. See go/funtime-engdesign.", - "items": { - "type": "string" - }, - "type": "array" - }, - "animationBlob": { - "description": "These bytes may represent the blob of the Rive animation that we pass to the Opal App. We will deprecate this field if we figure out a solution to load the animation from the web.", - "format": "byte", - "type": "string" - }, - "animationUrl": { - "description": "Url for Rive animation that is brought up on ring. Rive is a lightweight animation library that is compatible with Flutter on Opal. See https://rive.app/.", - "type": "string" - }, - "timerHeroUrl": { - "description": "The url used to load the image that is at the center of the timer during timer countdown visuals.", - "type": "string" - }, - "ttsServiceRequestBytes": { - "description": "This is used to call S3 to realize the TTS. Is in the form of bytes because of a circular dependency issue in libassistant protos. It is a serialized proto of type speech.s3.TtsServiceRequest.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadata": { - "description": "Metadata for machine learning generated audio samples. This will be similar to character alarms, Category will be set MEDIA but this metadata field will be used to identify the ringtone type on surface. (go/magenta-alarm-ringtones).", - "id": "AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadata", - "properties": { - "isEnabled": { - "type": "boolean" - }, - "ringtoneLabel": { - "description": "Label for the generated ringtone.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfo": { - "description": "Gentle wake actions like slowly brightening the room/device screen leading up to the alarm firing (go/cube-gentle-wake-up).", - "id": "AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfo", - "properties": { - "effectDurationMs": { - "description": "Specifies how long the effect lasts. Allowed for effect to last after the alarm has started ringing. If unset or negative or 0, effect is assumed to last until alarm trigger time.", - "format": "int64", - "type": "string" - }, - "isEnabled": { - "description": "Indicates if gentle wake action is to be performed before this alarm fires. This is enabled only if the device supports sunrise alarm capability. http://cs/symbol:assistant.api.SunriseFeaturesSupport", - "type": "boolean" - }, - "startTimedeltaMs": { - "description": "Specifies how long before the alarm fire time, the wakeup effect will start. ALWAYS POSITIVE.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadata": { - "description": "This describes the alarm sound resource enum and the alarm sound label for the on device alarm sound. On-device ringtones are product specific, hence Opal/UI layer will be responsible for populating this metadata at creation/edit. The enum map will be used to convert to an internal resource id used by libassistant for accessing the asset which are not exposed to UI.", - "id": "AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadata", - "properties": { - "onDeviceAlarmSound": { - "description": "Opal/UI layer will set this bit based on the user selection.", - "enum": [ - "DEFAULT", - "MELLOW", - "MODERN_TIMES", - "BEAUTIFUL_MIND", - "LITTLE_SUNSHINE", - "TOUCH_OF_ZEN", - "ABOUT_TIME", - "RANDOM", - "BOROBUDUR", - "PEBBLES", - "BRIGHT_MORNING", - "ACROSS_THE_VALLEY", - "MORNING_SONG", - "KYOTO", - "AWAKEN", - "CUCKOO", - "DIGITAL_BLAST", - "ACOUSTIC_SUNLIGHT", - "SUNRISE_BOSSA", - "CALM_GLOW", - "ANTIQUE_CLOCK", - "JUST_BIRDS", - "JUNGLE_AMBIENCE", - "QUAINT_VILLAGE", - "BUBBLY_BOSSA", - "ACOUSTIC_JAM", - "EUPHORIC" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "onDeviceAlarmSoundLabel": { - "description": "A string label to identify the alarm sound name. Opal/UI layer will set this as per product definition. This will be used to display the name of the selected ringtone.", - "type": "string" - }, - "ttsServiceRequestBytes": { - "description": "This is used to call S3 to realize the TTS. Is in the form of bytes because of a circular dependency issue in libassistant protos. It is a serialized proto of type speech.s3.TtsServiceRequest. This request will contain an ssml with the url to the ringtone files hosted on gstatic.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadata": { - "id": "AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadata", - "properties": { - "routineId": { - "description": "The unique id for each routine. When the alrm is dismissed, it will trigger the routine of the routine alarm's creator if feasible.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesSipProviderInfo": { - "description": "Session Initiation Protocol (SIP) information for providers that use SIP to initiate multimedia communication sessions, like Google Voice and Fi. https://en.wikipedia.org/wiki/Session_Initiation_Protocol", - "id": "AssistantApiCoreTypesSipProviderInfo", - "properties": { - "providerId": { - "description": "The providers id (MID) which is the primary identifier for a call provider within the Assistant. A MID, or machine identifier, is a unique identifier issued by Knowledge Graph for all entities contained in it's graph.", - "type": "string" - }, - "realm": { - "description": "Calling realm to be use for each call. i.e. For anonymous, this would be set to anonymous.chirp.google.com", - "type": "string" - }, - "useBirdsongTacl": { - "deprecated": true, - "description": "If true, client should use the Birdsong TaCL API for this call. Uses the VoiceCallManager API by default. For more details: go/birdsong-migration-google-home", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesSurfaceIdentity": { - "description": "The set of information that helps the server identify the surface. This replaces the User-Agent string within the Assistant Server. Note: The SurfaceIdentity proto should only be used to derive the capabilities of a surface. It should not be accessed outside of the CapabilityBuilder or CapabilityChecker. NEXT ID: 6", - "id": "AssistantApiCoreTypesSurfaceIdentity", - "properties": { - "deviceId": { - "$ref": "AssistantApiCoreTypesDeviceId", - "description": "The identifier of the device." - }, - "legacySurfaceType": { - "deprecated": true, - "description": "DEPRECATED: The legacy device's surface type enum. NOTE: Prefer using the ontological `surface_type` field above. If you need to access the legacy surface type, please file a bug and add it in your code to migrate to ontological surface type.", - "enum": [ - "UNKNOWN", - "ANDROID_ALLO", - "ANDROID_AUTO", - "ANDROID_THINGS_CUBE", - "ANDROID_THINGS_JASPER", - "ANDROID_TV", - "ANDROID_TV_KIDS", - "ANDROID_WEAR", - "AR_GLASSES", - "ASSISTANT_SDK", - "AUDIOWEAR", - "BUBBLE_CHARACTERS_IOS", - "CAPABILITY_BASED_SURFACE", - "CHROMECAST_ASSISTANT", - "CHROMECAST_MANHATTAN", - "CHROMECAST_SEARCH", - "CLOUD_DEVICE", - "COMPANION_SCREEN", - "DYNAMITE_WEB", - "ENSEMBLE", - "EYESFREE_AGSA", - "EYESFREE_GMM", - "GBOARD", - "GLASS", - "GOOGLE_HOME", - "HANGOUTS_CHATBOT", - "IOS_ALLO", - "IOS_GSA", - "IOS_WEAR", - "LIBASSISTANT", - "LINE_CHATBOT", - "MATTER", - "MULTIMODAL_AGSA", - "NON_ASSISTANT_SURFACE", - "OPA_AGSA", - "OPA_AGSA_CHROME_OS", - "OPA_ANDROID_AUTO", - "OPA_ANDROID_LITE", - "OPA_ANDROID_SCREENLESS", - "OPA_ANDROID_SMART_DISPLAY", - "OPA_ANDROID_TABLET", - "OPA_CROS", - "OPA_GACS", - "OPA_IOS", - "OPA_IOS_SCREENLESS", - "OPA_KAIOS", - "OPA_MOBILE_WEB", - "RTOS_PHONE", - "SMS_CHATBOT", - "TELEGRAM_CHATBOT", - "TELEPHONE_ASSISTANT", - "VERILY_ONDUO", - "YOUTUBE_APP", - "AGSA_BISTO_FOR_EVAL", - "COGSWORTH_FOR_EVAL", - "LOCKHART_MIC_FOR_EVAL", - "OPA_ANDROID_AUTO_EMBEDDED_FAKE", - "SPARK", - "WALLE", - "UNIT_TESTING" - ], - "enumDeprecated": [ - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "Deprecated (never used). Use OPA_ANDROID_AUTO instead.", - "Assistant on small screen stationary device.", - "", - "", - "", - "", - "Assistant on AR Glasses with both visual and audio experiences. Ask ar-assistant@ for details.", - "For Assistant SDK gRPC client.", - "", - "go/assistant-lamda-overview-characters", - "Surface for capability based testing.", - "For chrome cast assistant web app.", - "For chrome cast with assistant + screen (e.g., Google Nest Hub).", - "", - "Virtual device for event-based triggering, e.g. executing time", - "scheduled routines: go/routine-cloud-ex For Quartz.", - "", - "", - "Deprecated. Please use OPA_ANDROID_SCREENLESS.", - "", - "For Gboard app", - "", - "", - "", - "", - "", - "", - "For standalone libassistant devices.", - "LINE 3P messaging app", - "For Matter devices. go/matter-prod", - "Deprecated.", - "Surfaces that do not speak to the Assistant, i.e. web HQ", - "Assistant on Android phones accessed through the Google App (velvet). This represents neither all of the assistant on android phones (ANDROID_ALLO, VERILY_ONDUO, etc.) nor all of the assistant built on top of AGSA (ANDROID_WEAR, OPA_ANDROID_SCREENLESS, OPA_AGSA_CHROME_OS, etc.).", - "Deprecated. Please use OPA_CROS.", - "", - "This is OPA on Android Go (not part of AGSA)", - "Assistant on Nexus with screen off/locked. Use go/bisto device to trigger.", - "Assistant on Titan hub mode (go/titan-hubmode-surface). This is OPA Android first party Smart Display devices. The UI experience is built on Opal (Gallium and Flutter) and native Android.", - "Assistant on Android tablet", - "Assistant on native Chrome OS (go/croissant).", - "For assistant on GACS devices (go/gacs-dd). Google Assistant Conversation Service (GACS) defines intents the device accepts. This surface serves the intents in the assistant response.", - "", - "Assistant on iOS with screen off/locked. Use go/bisto device to trigger.", - "Assistant on KaiOS. go/kaiosama", - "Assistant on Mobile Web. go/opa-spidey", - "Assistant on low-cost RTOS phones (go/conceRTOS).", - "", - "Telegram 3P messaging app", - "Assistant on a phone call (go/telephone).", - "", - "A Youtube app.", - "Eval-only surfaces. These surfaces are not real surfaces. They are only used in intermediate steps of eval query and request generation: 1. Eval samplers (OPA query sampler and Cannery sampler) checks logs and temporarily assigns these surface types to the logs, to put Bisto, Lockhart Mic, ... queries in the correct query pools. 2. Request builders uses these surface types to determine how TaskRequest for Bisto, Lockhart Mic, ... should be built, like whether some user user agent should be used, whether some entry source should be set. The surface types in the generated TaskRequest is still the production surface types, like OPA_ANDROID_SCREENLESS or OPA_AGSA. Temp surface for Bisto Android eval. Will be merged with OPA_ANDROID_SCREENLESS in the future.", - "", - "", - "OPA_ANDROID_AUTO has another sub-surface (embedded) that differs in the reported capabilities, client-ops, flags but uses the same surface_type string of OPA_ANDROID_AUTO. This fake surface would allow running turing2 tests and evals for this embedded surface. Deprecated as of Feb 2019. Please use \"OPA_ANDROID_AUTO_EMBEDDED\" client type for tests and eval. See go/client-onboarding for more details. https://cs.corp.google.com/piper///depot/google3/assistant/assistant_server/tools/util/consts.h?l=32\u0026rcl=247481455", - "Unlaunched new surface prototype, ask spark-eng@.", - "Wall-E is an Area120 Project building assistant powered robots. The surface is an extended joplin which have same capabilities as a google home adding custom robot features. Currently in active development. Please reach out walle-software@ or bingxin@ for questions. For details see go/walle-as-pipeline-1-pager.", - "Surface used for unit-testing purposes. Unit-tests might still require the existence of a \"valid\" SurfaceType to succeed (eg. initialization of the CapabilityBuilder, proto matching, etc.). With the move away from SurfaceType checks, a generic \"TESTING\" SurfaceType can be used for such tests without affecting the test behavior. Unlike the CAPABILITY_BASED_SURFACE, this proto does not have any capabilities or ResponseType tied to it. It should only be used for unit-tests and should not be exposed in the ASDebugger." - ], - "type": "string" - }, - "surfaceType": { - "description": "The device's surface type. The types are defined at google3/assistant/api/core_types/surfaces.gcl. For more details, refer to go/ontologicalize-surface-type.", - "enum": [ - "UNKNOWN_TYPE", - "ACCL", - "AGSA", - "ANDROID", - "ANDROID_AUTO", - "ANDROID_LITE", - "ANDROID_PHONE", - "ANDROID_SCREENLESS", - "ANDROID_SMART_DISPLAY", - "ANDROID_TABLET", - "ANDROID_THINGS", - "ANDROID_THINGS_CUBE", - "ANDROID_THINGS_JASPER", - "ANDROID_TV", - "ANDROID_WEAR", - "ASSISTANT_KIT", - "ASSISTANT_SDK", - "AUTO", - "CAST_OS", - "CHROME_OS", - "CHROMECAST_MANHATTAN", - "CLOUD_DEVICE", - "CROS", - "FITBIT_OS_WATCH", - "FITBIT_OS_WATCH_ANDROID", - "FITBIT_OS_WATCH_IOS", - "GOOGLE_HOME", - "HEADPHONE", - "HEADPHONE_ANDROID", - "HEADPHONE_ANDROID_SCREENLESS", - "HEADPHONE_IOS", - "IOPA", - "IOS", - "IOS_SCREENLESS", - "IPAD", - "IPHONE", - "KAI_OS", - "KAI_OS_AMA", - "LIBASSISTANT", - "MATTER", - "PHONE", - "PIXEL", - "PIXEL5", - "PIXEL6", - "PIXEL7", - "PIXEL8", - "PIXEL_BUDS", - "PIXEL_BUDS_SCREENLESS", - "PIXEL_TABLET", - "PIXEL_TABLET_HUB_MODE", - "PIXEL_TABLET_PERSONAL_MODE", - "PIXEL_WATCH", - "SCREENLESS", - "SMART_DISPLAY", - "SPEAKER", - "TABLET", - "TELEPHONE", - "THING", - "WATCH", - "WEAR_OS", - "WEAR_OS_WATCH" - ], - "enumDescriptions": [ - "Unknown surface type.", - "Android conversation client library (go/accl) is an Android library which implements the Conversation Protocol that allows a surface to have conversations with the Assistant server. OWNERS: surfaces-infra-core@", - "Android Google Search App (go/agsa). OWNERS: surfaces-infra-core@", - "Android. OWNERS: surfaces-infra-core@", - "Assistant on Android Auto (go/ast-auto). OWNERS: opa-android-leads@", - "Assistant on Android Go (not part of AGSA). OWNERS: assistantgo-eng@", - "Assistant on Android phones accessed through the Google App (velvet). This surface is formerly known as OPA_AGSA. OWNERS: opa-android-leads@", - "Assistant on Nexus with screen off/locked. Use go/bisto device to trigger. OWNERS: opa-android-leads@", - "Assistant on Titan hub mode (go/titan-hubmode-surface). This is OPA Android first party Smart Display devices. The UI experience is built on Opal (Gallium and Flutter) and native Android. OWNERS: opa-android-leads@", - "Assistant on Android tablet. OWNERS: opa-android-leads@", - "Android Things (go/things). OWNERS: surfaces-infra-core@", - "Lenovo Smart Clock v1, a stationary smart display device with a 4-inch screen, targeted for bedroom/bedside use cases like alarm, sleep tracking. Based on Android Things. See go/cube-home. OWNERS: cube-eng@", - "Former codename for 3P 8-inch and 10-inch Smart Displays from Lenovo, JBL and LG, targeted for use in the kitchen. Based on Android Things. See go/jasper-home. OWNERS: jasper-eng@", - "The Android platform that powers smart televisions, set-top-boxes, and over-the-top devices. See go/atv-eng and go/opa-tv. OWNERS: opa-tv-eng@", - "Legacy Wear OS Assistant. OWNERS: wear-assistant-eng@", - "AssistantKit (go/assistantkit) is a collection of iOS libraries allowing first party apps to integrate Google Assistant features. OWNERS: assistantkit-eng@", - "Standalone gRPC based client. See go/easi. OWNERS: assistant-sdk-service-eng@", - "Automobile. OWNERS: surfaces-infra-core@", - "Cast OS (go/opal-castos-docs#what-is-castos). OWNERS: surfaces-infra-core@", - "Chrome OS (go/chromsos) OWNERS: surfaces-infra-core@", - "For chromecast with assistant + screen, e.g. Newman. OWNERS: cast-eng-platform@", - "Virtual device for event-based triggering, e.g. executing time scheduled routines: go/scheduled-routines. OWNERS: surfaces-infra-core@", - "Assistant on native Chrome OS (go/croissant). OWNERS: croissant@", - "Assistant on Fitbit OS Watch. OWNERS: assistant-wearable-team@", - "Assistant on Fitbit Watch paired with AGSA. OWNERS: assistant-wearable-team@", - "Assistant on Fitbit Watch paired with iOPA. OWNERS: assistant-wearable-team@", - "Google home speaker, i.e., Chirp devices. See go/assistant-speakers. OWNERS: assistant-speaker-leads@", - "Headphone. OWNERS: surfaces-infra-core@", - "Assistant on headphones with APA. OWNERS: assistant-wearable-team@", - "Assistant on headphones with AGSA-C. OWNERS: assistant-wearable-team@", - "Assistant on headphones paired with iOPA. OWNERS: assistant-wearable-team@", - "Assistant on iOS devices (go/opa-ios). OWNERS: opa-ios-eng@", - "iOS. OWNERS: surfaces-infra-core@", - "Assistant on iOS with screen off/locked. Use go/bisto device to trigger. OWNERS: bisto-team@", - "iPad devices. OWNERS: surfaces-infra-core@", - "iPhone devices. OWNERS: surfaces-infra-core@", - "Kai OS (go/kaios). OWNERS: surfaces-infra-core@", - "Assistant on KaiOS (go/kaiosama). OWNERS: assistant-kaios-eng@", - "LibAssistant (go/libassistant) C++ SDK that powers Assistant experience on both 1P devices like Google Home and 3P devices like Sonos. OWNERS: libassistant-core@", - "Matter based clients. go/matter-prod. OWNERS: assistant-media@", - "A phone. OWNERS: surfaces-infra-core@", - "Pixel devices. OWNERS: surfaces-infra-core@", - "Pixel 5. OWNERS: surfaces-infra-core@", - "Pixel 6. OWNERS: surfaces-infra-core@", - "Pixel 7. OWNERS: surfaces-infra-core@", - "Pixel 8. OWNERS: surfaces-infra-core@", - "Assistant on Pixel Buds with APA. OWNERS: assistant-wearable-team@", - "Assistant on Pixel Buds with AGSA-C. OWNERS: assistant-wearable-team@", - "Assistant on Pixel Tablet/Tangor (a.k.a, TK). OWNERS: assistant-display-eng@", - "Assistant on Tangor running in Hub mode. OWNERS: assistant-display-eng@", - "Assistant on Tangor running in Personal mode. OWNERS: assistant-display-eng@", - "Assistant on Pixel Watch (a.k.a., Rohan). OWNERS: assistant-wearable-team@", - "Devices with screen off or locked (go/bisto). OWNERS: surfaces-infra-core@", - "Smart surface, such as Titan. OWNERS: surfaces-infra-core@", - "A speaker. OWNERS: surfaces-infra-core@", - "A tablet. OWNERS: surfaces-infra-core@", - "Assistant on a phone call (go/telephone). OWNERS: telephone-assistant-eng@", - "IoT device. OWNERS: surfaces-infra-core@", - "Watch. OWNERS: surfaces-infra-core@", - "Wear OS. OWNERS: surfaces-infra-core@", - "Assistant on Wear OS Watch (a.k.a., Edoras). OWNERS: assistant-wearable-team@" - ], - "type": "string" - }, - "surfaceTypeString": { - "deprecated": true, - "description": "DEPRECATED. The legacy device's surface type string. NOTE: Prefer using the ontological `surface_type` field. The device's surface type. This is the string version of the assistant.api.core_types.SurfaceType enum. The server should not use this field, rather it should use the SurfaceType value derived from this string.", - "type": "string" - }, - "surfaceVersion": { - "$ref": "AssistantApiCoreTypesSurfaceVersion", - "description": "The version of the surface/client. This is different from the Conversation protocol version." - } - }, - "type": "object" - }, - "AssistantApiCoreTypesSurfaceType": { - "description": "Specifies the types of device surfaces. LINT.IfChange When adding new surface types make sure that My Activity (https://myactivity.google.com/product/assistant) will correctly render by adding your enum to http://cs/symbol:GetAssistSurfaceName%20f:%5C.cc$ If your type doesn't fit in to any of the existing surfaces messages, add a new message in http://google3/personalization/footprints/boq/uservisible/events/intl/smh_frontend_messages.h.", - "id": "AssistantApiCoreTypesSurfaceType", - "properties": { - "type": { - "enum": [ - "UNKNOWN", - "ANDROID_ALLO", - "ANDROID_AUTO", - "ANDROID_THINGS_CUBE", - "ANDROID_THINGS_JASPER", - "ANDROID_TV", - "ANDROID_TV_KIDS", - "ANDROID_WEAR", - "AR_GLASSES", - "ASSISTANT_SDK", - "AUDIOWEAR", - "BUBBLE_CHARACTERS_IOS", - "CAPABILITY_BASED_SURFACE", - "CHROMECAST_ASSISTANT", - "CHROMECAST_MANHATTAN", - "CHROMECAST_SEARCH", - "CLOUD_DEVICE", - "COMPANION_SCREEN", - "DYNAMITE_WEB", - "ENSEMBLE", - "EYESFREE_AGSA", - "EYESFREE_GMM", - "GBOARD", - "GLASS", - "GOOGLE_HOME", - "HANGOUTS_CHATBOT", - "IOS_ALLO", - "IOS_GSA", - "IOS_WEAR", - "LIBASSISTANT", - "LINE_CHATBOT", - "MATTER", - "MULTIMODAL_AGSA", - "NON_ASSISTANT_SURFACE", - "OPA_AGSA", - "OPA_AGSA_CHROME_OS", - "OPA_ANDROID_AUTO", - "OPA_ANDROID_LITE", - "OPA_ANDROID_SCREENLESS", - "OPA_ANDROID_SMART_DISPLAY", - "OPA_ANDROID_TABLET", - "OPA_CROS", - "OPA_GACS", - "OPA_IOS", - "OPA_IOS_SCREENLESS", - "OPA_KAIOS", - "OPA_MOBILE_WEB", - "RTOS_PHONE", - "SMS_CHATBOT", - "TELEGRAM_CHATBOT", - "TELEPHONE_ASSISTANT", - "VERILY_ONDUO", - "YOUTUBE_APP", - "AGSA_BISTO_FOR_EVAL", - "COGSWORTH_FOR_EVAL", - "LOCKHART_MIC_FOR_EVAL", - "OPA_ANDROID_AUTO_EMBEDDED_FAKE", - "SPARK", - "WALLE", - "UNIT_TESTING" - ], - "enumDeprecated": [ - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "Deprecated (never used). Use OPA_ANDROID_AUTO instead.", - "Assistant on small screen stationary device.", - "", - "", - "", - "", - "Assistant on AR Glasses with both visual and audio experiences. Ask ar-assistant@ for details.", - "For Assistant SDK gRPC client.", - "", - "go/assistant-lamda-overview-characters", - "Surface for capability based testing.", - "For chrome cast assistant web app.", - "For chrome cast with assistant + screen (e.g., Google Nest Hub).", - "", - "Virtual device for event-based triggering, e.g. executing time", - "scheduled routines: go/routine-cloud-ex For Quartz.", - "", - "", - "Deprecated. Please use OPA_ANDROID_SCREENLESS.", - "", - "For Gboard app", - "", - "", - "", - "", - "", - "", - "For standalone libassistant devices.", - "LINE 3P messaging app", - "For Matter devices. go/matter-prod", - "Deprecated.", - "Surfaces that do not speak to the Assistant, i.e. web HQ", - "Assistant on Android phones accessed through the Google App (velvet). This represents neither all of the assistant on android phones (ANDROID_ALLO, VERILY_ONDUO, etc.) nor all of the assistant built on top of AGSA (ANDROID_WEAR, OPA_ANDROID_SCREENLESS, OPA_AGSA_CHROME_OS, etc.).", - "Deprecated. Please use OPA_CROS.", - "", - "This is OPA on Android Go (not part of AGSA)", - "Assistant on Nexus with screen off/locked. Use go/bisto device to trigger.", - "Assistant on Titan hub mode (go/titan-hubmode-surface). This is OPA Android first party Smart Display devices. The UI experience is built on Opal (Gallium and Flutter) and native Android.", - "Assistant on Android tablet", - "Assistant on native Chrome OS (go/croissant).", - "For assistant on GACS devices (go/gacs-dd). Google Assistant Conversation Service (GACS) defines intents the device accepts. This surface serves the intents in the assistant response.", - "", - "Assistant on iOS with screen off/locked. Use go/bisto device to trigger.", - "Assistant on KaiOS. go/kaiosama", - "Assistant on Mobile Web. go/opa-spidey", - "Assistant on low-cost RTOS phones (go/conceRTOS).", - "", - "Telegram 3P messaging app", - "Assistant on a phone call (go/telephone).", - "", - "A Youtube app.", - "Eval-only surfaces. These surfaces are not real surfaces. They are only used in intermediate steps of eval query and request generation: 1. Eval samplers (OPA query sampler and Cannery sampler) checks logs and temporarily assigns these surface types to the logs, to put Bisto, Lockhart Mic, ... queries in the correct query pools. 2. Request builders uses these surface types to determine how TaskRequest for Bisto, Lockhart Mic, ... should be built, like whether some user user agent should be used, whether some entry source should be set. The surface types in the generated TaskRequest is still the production surface types, like OPA_ANDROID_SCREENLESS or OPA_AGSA. Temp surface for Bisto Android eval. Will be merged with OPA_ANDROID_SCREENLESS in the future.", - "", - "", - "OPA_ANDROID_AUTO has another sub-surface (embedded) that differs in the reported capabilities, client-ops, flags but uses the same surface_type string of OPA_ANDROID_AUTO. This fake surface would allow running turing2 tests and evals for this embedded surface. Deprecated as of Feb 2019. Please use \"OPA_ANDROID_AUTO_EMBEDDED\" client type for tests and eval. See go/client-onboarding for more details. https://cs.corp.google.com/piper///depot/google3/assistant/assistant_server/tools/util/consts.h?l=32\u0026rcl=247481455", - "Unlaunched new surface prototype, ask spark-eng@.", - "Wall-E is an Area120 Project building assistant powered robots. The surface is an extended joplin which have same capabilities as a google home adding custom robot features. Currently in active development. Please reach out walle-software@ or bingxin@ for questions. For details see go/walle-as-pipeline-1-pager.", - "Surface used for unit-testing purposes. Unit-tests might still require the existence of a \"valid\" SurfaceType to succeed (eg. initialization of the CapabilityBuilder, proto matching, etc.). With the move away from SurfaceType checks, a generic \"TESTING\" SurfaceType can be used for such tests without affecting the test behavior. Unlike the CAPABILITY_BASED_SURFACE, this proto does not have any capabilities or ResponseType tied to it. It should only be used for unit-tests and should not be exposed in the ASDebugger." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesSurfaceVersion": { - "description": "The version of the surface/client. New surfaces are encouraged to only use the “major” field to keep track of version number. The “minor” field may be used for surfaces that rely on both the “major” and “minor” fields to define their version.", - "id": "AssistantApiCoreTypesSurfaceVersion", - "properties": { - "major": { - "format": "int32", - "type": "integer" - }, - "minor": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantApiCoreTypesWebProviderInfo": { - "description": "The web information of the provider. Next ID: 5", - "id": "AssistantApiCoreTypesWebProviderInfo", - "properties": { - "homeStorage": { - "description": "Serialized storage (context) persisted and retrieved for the app and home.", - "type": "string" - }, - "localizedAppName": { - "description": "The localized app name.", - "type": "string" - }, - "openAppUrl": { - "description": "A URL to open the provider's app.", - "type": "string" - }, - "thirdPartyCustomNluInfo": { - "$ref": "AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfo", - "description": "Info about 3P Custom NLU used in this web provider. TODO(b/321644453) remove when QRewrite is able to call SERoot." - } - }, - "type": "object" - }, - "AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfo": { - "id": "AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfo", - "properties": { - "locale": { - "description": "The locale of this agent version, represented by BCP-47 language strings, such as \"en\", \"en-US\", \"fr\", \"fr-CA\", \"sr-Latn\", \"zh-Hans-CN\", etc.", - "type": "string" - }, - "nluAgentId": { - "description": "Unique internal identifier of 3P Custom NLU agent. UUID.", - "type": "string" - }, - "nluAgentVersion": { - "description": "Identifies the 3P Custom NLU agent version.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiCrossDeviceExecutionCapability": { - "id": "AssistantApiCrossDeviceExecutionCapability", - "properties": { - "localConnectivityEnabled": { - "description": "Whether the device has torus/usonia capabililities enabled or not.", - "type": "boolean" - }, - "remoteCastMediaEnabled": { - "description": "Whether the device supports cast media originated from a remote device to be executed through local execution and can upload results asynchronously. Needs to be checked before sending remote media initiation through local channel since it needs an async result upload path.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiDataValidateCapabilities": { - "id": "AssistantApiDataValidateCapabilities", - "properties": { - "fallbackToTetheredDevice": { - "description": "If true, data.VALIDATE should be routed to the tethered device (if present) if the tethered device supports data.VALIDATE and the primary device does not.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiDate": { - "description": "A Gregorian calendar date.", - "id": "AssistantApiDate", - "properties": { - "day": { - "description": "The day, in 1...31.", - "format": "int32", - "type": "integer" - }, - "month": { - "description": "The month, in 1...12.", - "format": "int32", - "type": "integer" - }, - "year": { - "description": "The year, e.g. 2016.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantApiDateTime": { - "description": "A date-time specification, combining a date and civil time (relative to a given timezone).", - "id": "AssistantApiDateTime", - "properties": { - "date": { - "$ref": "AssistantApiDate", - "description": "A Gregorian calendar date." - }, - "timeOfDay": { - "$ref": "AssistantApiTimeOfDay", - "description": "A civil time relative to a timezone." - }, - "timeZone": { - "$ref": "AssistantApiTimeZone", - "description": "A time zone in IANA format." - } - }, - "type": "object" - }, - "AssistantApiDateTimeRange": { - "description": "A representation of a range of time with start and end datetime specified.", - "id": "AssistantApiDateTimeRange", - "properties": { - "endDate": { - "$ref": "AssistantApiDateTime", - "description": "End date of the range." - }, - "startDate": { - "$ref": "AssistantApiDateTime", - "description": "Start date of the range." - } - }, - "type": "object" - }, - "AssistantApiDeviceCapabilities": { - "description": "This message describes roughly what a surface is capable of doing and metadata around those capabilities. These capabilities are determined based on: - device hardware - software - status (e.g. volume level, battery percentage) These capabilities refer to the surface and not the physical device. The list of supported surfaces can be found in the assistant.api.core_types.SurfaceType enum. A surface's capabilities can differ from the device's. An example would be ANDROID_ALLO running on Pixel. Allo does not support AudioInput while the Pixel does. In this case, audio_input will be set to false for Assistant Allo requests while it might be set to true for OPA_NEXUS requests. Next ID: 37", - "id": "AssistantApiDeviceCapabilities", - "properties": { - "androidIntentCapabilities": { - "$ref": "AssistantApiAndroidIntentCapabilities", - "description": "Capabilites related to Android intent support." - }, - "assistantCapability": { - "description": "Capabilities if surface supports Google Assistant.", - "enum": [ - "UNKNOWN", - "SUPPORTED", - "UNSUPPORTED" - ], - "enumDescriptions": [ - "", - "", - "Assistant is no longer supported(e.g., on legacy surfaces)." - ], - "type": "string" - }, - "audioInput": { - "$ref": "AssistantApiAudioInput", - "description": "These capabilities are scoped to the ability to gather audio. It includes information like the type of audio that can be gathered (e.g. public, private)." - }, - "audioOutput": { - "$ref": "AssistantApiAudioOutput", - "description": "These capabilities are scoped to the ability to play audio. It includes information like the type of audio that can be played (e.g. public, private)." - }, - "bluetoothCapabilities": { - "$ref": "AssistantApiBluetoothCapabilities", - "description": "Bluetooth capabilities related to usage of a feature." - }, - "callCapabilities": { - "$ref": "AssistantApiCallCapabilities", - "description": "The call capabilities of this device. go/call-capabilities" - }, - "camera": { - "$ref": "AssistantApiCameraCapabilities", - "description": "These capabilities are scoped to the camera abilities of this device." - }, - "carUxRestrictions": { - "description": "UX restrictions for Auto.", - "items": { - "enum": [ - "UX_RESTRICTIONS_UNSPECIFIED", - "UX_RESTRICTIONS_BASELINE", - "UX_RESTRICTIONS_FULLY_RESTRICTED", - "UX_RESTRICTIONS_NO_KEYBOARD", - "UX_RESTRICTIONS_NO_VIDEO" - ], - "enumDescriptions": [ - "This value should not be used.", - "No specific restrictions in place, but baseline distraction optimization guidelines need to be adhered to when CarUxRestrictions.isRequiresDistractionOptimization() returns true.", - "All restrictions are in effect.", - "No text entry for the purpose of searching or other manual text string entry activities.", - "No video - no animated frames \u003e 1fps." - ], - "type": "string" - }, - "type": "array" - }, - "cast": { - "$ref": "AssistantApiCastCapabilities", - "description": "These capabilities are scoped to the cast abilities of this device." - }, - "communicationUiCapabilities": { - "$ref": "AssistantApiCommunicationUiCapabilities" - }, - "contactLookupCapabilities": { - "$ref": "AssistantApiContactLookupCapabilities" - }, - "dataValidateCapabilities": { - "$ref": "AssistantApiDataValidateCapabilities" - }, - "deviceId": { - "$ref": "AssistantApiCoreTypesDeviceId", - "description": "This is the same device id that is specified in the conversation protocol and should be unique to each device/user/model combination. For example, if a request is coming from a watch through AGSA the watch and AGSA should have different device_ids. Note: this field should only be used to determine which device the capabilities belong to and not to access the id of the device. Instead DeviceProperties should be used and accessed through ParamsAccessor." - }, - "deviceUxMode": { - "description": "Capabilities related to Android tablet UX experience.", - "enum": [ - "DEVICE_UX_MODE_DEFAULT", - "DEVICE_UX_MODE_SUPPORT_LIMITED_SHARED_LOCKSCREEN" - ], - "enumDescriptions": [ - "", - "Device supports the Shared Lock Screen: a glanceable space that lets anyone in the house use shared apps and the Assistant, without unlocking the device. This is for devices which only support limited SLS, e.g. TKY." - ], - "type": "string" - }, - "hasVoiceTelephony": { - "description": "Indicates that the device has connection to cellular network that allows it to make voice calls. This is distinct from device just being capable of voice telephony, because the device can be capable yet miss the suitable SIM card (for example, it could miss SIM card altogether, or have data-only SIM card).", - "type": "boolean" - }, - "jwnCapabilities": { - "$ref": "AssistantApiJwnCapabilities", - "description": "Indicates if the client supports Javascript Whatsnext (go/jwn). Also contains the Jwn libraries present on the client along with their versions." - }, - "lensPerceptionCapabilities": { - "$ref": "AssistantApiLensPerceptionCapabilities", - "deprecated": true, - "description": "Capabilities related to Lens Perception, i.e. image understanding. See go/lens-perception-sdk." - }, - "location": { - "$ref": "AssistantApiLocationCapabilities", - "description": "These capabilities are scoped to the location abilities of this device." - }, - "loggingOnlyData": { - "$ref": "AssistantApiLoggingOnlyData", - "description": "Data which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it." - }, - "messageCapabilities": { - "$ref": "AssistantApiMessageCapabilities" - }, - "movement": { - "$ref": "AssistantApiMovementCapabilities", - "description": "These capabilities are scoped to abilities of the device to move around." - }, - "notificationCapabilities": { - "deprecated": true, - "description": "DEPRECATED: Use SystemNotificationRestrictions instead. Specifies whether the surface is able to display notifications. This field is superficially similar to ProactiveNotificationOutput, but unlike that field which tracks a per-user preference on the OPA side, this field captures whether the surface is capable of displaying notifications.", - "enum": [ - "NO_NOTIFICATION_CAPABILITY", - "NOTIFICATIONS_DISABLED", - "NOTIFICATIONS_ENABLED" - ], - "enumDescriptions": [ - "The surface is not able to display notifications.", - "The notifications are disabled on the surface.", - "The notifications are enabled." - ], - "type": "string" - }, - "notificationOutputRestrictions": { - "$ref": "AssistantApiNotificationOutputRestrictions", - "description": "Settings, that reflect whether a specific notification type is allowed for current device, e.g. if the user opted out from notification category or category group. This settings are server-side stored and evaluated unlike SystemNotificationRestrictions field." - }, - "outputRestrictions": { - "$ref": "AssistantApiOutputRestrictions", - "description": "These are user configured restrictions indicating what the device is allowed to output from the privacy point of view." - }, - "popOnLockscreenCapability": { - "deprecated": true, - "description": "Capability to support Pop on lockscreen.", - "enum": [ - "POP_ON_LOCKSCREEN_DEFAULT", - "POP_ON_LOCKSCREEN_ENABLED", - "POP_ON_LOCKSCREEN_DISABLED" - ], - "enumDescriptions": [ - "Pop will default to enabled on lockscreen.", - "Pop is enabled on lockscreen.", - "Pop is disabled on lockscreen." - ], - "type": "string" - }, - "safetyRestrictions": { - "description": "Indicates if the client has safety related restriction.", - "enum": [ - "DEFAULT_NO_SAFETY_RESTRICTION", - "DISTRACTION_SAFETY_RESTRICTION" - ], - "enumDescriptions": [ - "The surface has no safety restriction.", - "The surface has safety restriction due to any distraction." - ], - "type": "string" - }, - "screen": { - "$ref": "AssistantApiScreenCapabilities", - "description": "These capabilities are scoped to the ability to see and interact with the Assistant through a screen. If the device has no screen it should send an empty ScreenCapabilities. Sending no ScreenCapabilities will cause this to be overridden with the surface default." - }, - "sodaCapabilities": { - "$ref": "AssistantApiSodaCapabilities", - "description": "Capabilities related to SODA (Speech On-Device API)." - }, - "software": { - "$ref": "AssistantApiSoftwareCapabilities", - "description": "These capabilities are scoped to the software available on the device as well as the set of supported Assistant features." - }, - "speechCapabilities": { - "$ref": "AssistantApiSpeechCapabilities", - "deprecated": true, - "description": "DEPRECATED Capabilities related to speech detection on devices." - }, - "supportedLocale": { - "description": "Locales supported by assistant settings for speaking and display. This is independent from device language that is defined in device setting. New locales are added based on rollout, whitelist and app version releases because older versions does not have model support. Currently supported locale list differs by surface type.", - "items": { - "type": "string" - }, - "type": "array" - }, - "surfaceIdentity": { - "$ref": "AssistantApiCoreTypesSurfaceIdentity", - "description": "The set of information that helps the server identify the surface." - }, - "surfaceTypeString": { - "deprecated": true, - "description": "DEPRECATED. surface_identity field below already contains this information. The device's surface type. This is the string version of the assistant.api.core_types.SurfaceType enum. The server should not use this field, rather it should use the SurfaceType value derived from this string.", - "type": "string" - }, - "systemNotificationRestrictions": { - "$ref": "AssistantApiSystemNotificationRestrictions", - "description": "Restrictions related to system-level notifications. This field is superficially similar to ProactiveNotificationOutput, but unlike that field which tracks a per-user preference on the OPA side, this field captures system level notifications restrictions. This field is not stored and is merged to capabilities from conversation params. It exists mostly for logging purposes of android channel state and global app-level notification opt out." - }, - "thirdPartyCapabilities": { - "$ref": "AssistantApiThirdPartyCapabilities", - "description": "Capabilities related to third party integration." - } - }, - "type": "object" - }, - "AssistantApiDuration": { - "description": "A Duration represents a signed, fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like \"day\" or \"month\". It is related to Timestamp in that the difference between two Timestamp values is a Duration and it can be added or subtracted from a Timestamp. Range is approximately +-10,000 years.", - "id": "AssistantApiDuration", - "properties": { - "nanos": { - "description": "Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 `seconds` field and a positive or negative `nanos` field. For durations of one second or more, a non-zero value for the `nanos` field must be of the same sign as the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive.", - "format": "int32", - "type": "integer" - }, - "seconds": { - "description": "Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiFeatureSpecificActionSupport": { - "id": "AssistantApiFeatureSpecificActionSupport", - "properties": { - "clarificationDataSupported": { - "description": "Whether client supports clarification suggestion chip to be displayed see |assistant.suggestions.ClarificationData|", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiFitnessFeatureSupport": { - "id": "AssistantApiFitnessFeatureSupport", - "properties": { - "supportedActivities": { - "description": "A list of fitness activity types supported by this client.", - "items": { - "enum": [ - "TYPE_UNSPECIFIED", - "WALK", - "RUN", - "ELLIPTICAL", - "SWIM", - "WEIGHTS", - "TREADMILL", - "BIKE", - "YOGA", - "WORKOUT", - "BOOT_CAMP", - "CIRCUIT_TRAINING", - "GOLF", - "HIKING", - "INTERVAL_TRAINING", - "KICKBOXING", - "MARTIAL_ARTS", - "PILATES", - "SPINNING", - "STAIR_CLIMBING", - "TENNIS", - "AEROBICS", - "CORE_TRAINING", - "DANCING", - "HIGH_INTENSITY_INTERVAL_TRAINING", - "KAYAKING", - "ROWING", - "SKIING", - "STANDUP_PADDLEBOARDING", - "STRENGTH_TRAINING", - "SNOWBOARDING" - ], - "enumDescriptions": [ - "The type is unknown.", - "Represents a walking activity type.", - "Represents a running activity type.", - "Represents an elliptical activity type.", - "Represents a swimming activity type.", - "Represents a weightlifting activity type.", - "Represents a treadmill activity type (e.g. walking/running on a treadmill).", - "Represents a cycling activity type.", - "Represents a yoga activity type.", - "Represents a generic workout activity.", - "Represents a bootcamp activity type.", - "Represents a circuit training activity type.", - "Represents a golf activity type.", - "Represents a hiking activity type.", - "Represents an interval training activity type.", - "Represents a kickboxing activity type.", - "Represents a martial arts activity type.", - "Represents a pilates activity type.", - "Represents a spinning(indoor cycling, stationary biking) activity type.", - "Represents a stair climbing activity type.", - "Represents a tennis activity type.", - "Represents an aerobics activity type.", - "Represents a core training activity type.", - "Represents a dancing activity type.", - "Represents a HIIT activity type.", - "Represents a kayaking activity type.", - "Represents a rowing activity type.", - "Represents a skiing activity type.", - "Represents a standup paddleboading(SUP) activity type.", - "Represents a strength training activity type.", - "Represents a snowboarding activity type." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiFluidActionsSupport": { - "id": "AssistantApiFluidActionsSupport", - "properties": { - "stateSyncMethod": { - "description": "Specifies the params proto that Fluid Actions uses to sync state with server.", - "enum": [ - "STATE_SYNC_METHOD_UNSPECIFIED", - "DIALOG_STATE_PARAMS" - ], - "enumDescriptions": [ - "Unspecified state sync method.", - "New params proto used to sync state between client and server. New clients must use this value. For proto details, see: http://google3/assistant/api/params/dialog_state_params.proto" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiGacsCapabilities": { - "description": "Capabilities of Google assistant conversation service(GACS) devices. These capabilites including supported GACS actions and response size limitations.", - "id": "AssistantApiGacsCapabilities", - "properties": { - "deviceId": { - "$ref": "AssistantApiCoreTypesDeviceId", - "description": "DeviceId of the accessory device (eg. watch) Commonly the go/dusi (eg. client_instance_id) is provided." - }, - "responseConfig": { - "$ref": "GoogleAssistantAccessoryV1ResponseConfig", - "description": "Configuration sent by device." - }, - "ttsEncoding": { - "deprecated": true, - "description": "DEPRECATED: Format of TTS audio requested by the device.", - "enum": [ - "LINEAR_16BIT", - "MULAW", - "ALAW", - "MP3", - "MP3_64KBPS", - "SPEEX", - "SPEEX_WITH_HEADER_BYTE", - "SPEEX_IN_OGG", - "OPUS_IN_OGG", - "OPUS_24KBPS_IN_OGG", - "OPUS_16KBPS_IN_OGG", - "OPUS_12KBPS_IN_OGG", - "OPUS_16KBPS_CONTAINERLESS", - "OPUS_24KBPS_CONTAINERLESS", - "OPUS_32KBPS_CONTAINERLESS" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Signed 16-bit little-endian (a.k.a s16le) linear PCM.", - "G.711 audio companding. https://en.wikipedia.org/wiki/G.711 8-bit μ-law encoding according to G.711", - "8-bit A-law encoding according to G.711.", - "The default MP3 encoding is 32kbps. Text-to-speech audio at this bit rate has audible compression artifacts and is not recommended. Please use OPUS_IN_OGG instead. If you must use mp3, use MP3_64KBPS instead.", - "MP3 at 64kbps sounds nearly identical to uncompressed for 24kHz TTS audio, and sounds similar to OPUS_IN_OGG.", - "Raw speex stream with each frame concatenated together. The size of each frame will need to be communciated separately. Variable bitrate encoding is unsupported using this output type.", - "Similar to SPEEX, this mode will concatenate together the speex frames. However, each frame will have prepended a single byte that describes the length of the following frame.", - "In this case, we'll wrap the speex contents in an ogg container, resulting in a more generally decode-able format but one with more storage overhead.", - "Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 when using the same bitrate. At the moment, this defaults to 32kbps but the TTS team reserves the right to adjust the bitrate to provide the best experience.", - "Opus encoded audio in 24kbps wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers while reducing data consumption slightly.", - "The following bitrates for Opus below 24kbps are here only for special usecases; they result in a significant reduction in quality. Please get in touch with the TTS team if you think you might have a valid usecase. NOTE(staz): These bitrates are not officially supported. TTS is to be served at a minimum of 24kbps everywhere, including in NBU countries. See b/137234032#comment13 on why lower bitrates don't help in tangible ways even in NBU markets.", - "", - "Opus encoded audio using the specified bitrate without a container such as Ogg, RTP or WebM. The response is a stream which can be played natively on low powered wearable devices. Delivered as multiple frames per S3 response. These frames need to be carefully byte-delimited (constant bitrate) by the client. They use a statically defined frame duration of 20ms. Frame size per bit-rate: 16kbps: each frame is of size 40 bytes 24kbps: each frame is of size 60 bytes 32kbps: each frame is of size 80 bytes", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiGcmCapabilities": { - "description": "Capabilities related to GCM.", - "id": "AssistantApiGcmCapabilities", - "properties": { - "gcmRegistrationId": { - "description": "GCM registration id for the device. Used to pass messages to the device.", - "type": "string" - }, - "supportsAssistantGcm": { - "description": "Assistant supports GCM on the device. ClientOps can be sent to it over GCM and will be executed.", - "type": "boolean" - }, - "supportsClientInputOverGcm": { - "description": "If it is set to true, then it indicates to server that device is capable of receiving a GCM payload with serialized client input. The client input will be sent back to Assistant Server over conversation protocol.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiGestureCapabilities": { - "description": "The gesture capabilities related to Selina. Next ID: 4", - "id": "AssistantApiGestureCapabilities", - "properties": { - "gestureSensing": { - "description": "Whether Gesture is supported. When false, override the value for tap and omniswipe.", - "type": "boolean" - }, - "omniswipeGestureCapable": { - "description": "Whether omniswipe is supported", - "type": "boolean" - }, - "tapGestureCapable": { - "description": "Whether tap is supported", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiGuestAccessOutput": { - "description": "Access settings for guests.", - "id": "AssistantApiGuestAccessOutput", - "properties": { - "guestAccessOnYoutube": { - "enum": [ - "UNKNOWN_GUEST_ACCESS", - "USE_DEFAULT_ACCOUNT_FOR_GUEST", - "DISABLED_FOR_GUEST" - ], - "enumDescriptions": [ - "", - "Guests can access content using linked users' account.", - "No access for guests." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiImmersiveCanvasSupport": { - "id": "AssistantApiImmersiveCanvasSupport", - "properties": { - "confirmationMessageSupported": { - "description": "Whether the client supports confirmation messages in Immersive Canvas actions.", - "type": "boolean" - }, - "pauseSignalSupported": { - "description": "Whether the client support canvas pause signal. If true, the Assistant Server will send a signal when canvas transitioning to pause mode.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiJwnCapabilities": { - "description": "These capabilities are used to determine the jwn libraries and their versions that are present on the client.", - "id": "AssistantApiJwnCapabilities", - "properties": { - "librariesVersionMap": { - "additionalProperties": { - "type": "string" - }, - "description": "The name and version of the jwn libraries currently stored on the client. These are the same that the server communicated when the library was first sent down.", - "type": "object" - }, - "supportedCompressionMode": { - "description": "Compression algorithms supported on the client. Server can choose one of these to compress WhatsNext Javascript programs and libraries.", - "items": { - "enum": [ - "NONE", - "BROTLI", - "FLATE" - ], - "enumDescriptions": [ - "jwn_program is not in compressed state.", - "Brotli (google3/third_party/brotli) compression used. Recommended compressor for Javascript.", - "Flate (google3/util/compression/flate) compression used." - ], - "type": "string" - }, - "type": "array" - }, - "supportsJwn": { - "description": "Whether the client supports running jwn code.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiLensPerceptionCapabilities": { - "description": "Capabilities related to Lens Perception, i.e. image understanding. See go/loa-lens-device-capabilities. Next ID: 6", - "id": "AssistantApiLensPerceptionCapabilities", - "properties": { - "hasLensPerception": { - "description": "Whether the device supports Lens Perception.", - "type": "boolean" - }, - "isLensDirectIntentAvailable": { - "description": "Indicates whether Lens supports Lens Direct Intent (go/lensdirectintent).", - "type": "boolean" - }, - "isLensLiveViewfinderAvailable": { - "description": "Indicates whether Lens supports Live view-finder experience.", - "type": "boolean" - }, - "isLensPostCaptureAvailable": { - "description": "Indicates whether Lens supports Post-capture experience with an image payload.", - "type": "boolean" - }, - "lensCapabilities": { - "$ref": "AssistantApiLensPerceptionCapabilitiesLensCapabilities", - "description": "Contains the capabilities that Lens can support." - } - }, - "type": "object" - }, - "AssistantApiLensPerceptionCapabilitiesLensCapabilities": { - "description": "The set of capabilities that Lens can support. This is the Assistant proto representation of Lens capabilities defined at j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto Next ID: 7", - "id": "AssistantApiLensPerceptionCapabilitiesLensCapabilities", - "properties": { - "dining": { - "$ref": "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesDining", - "description": "The presence of this message means that Dining is supported." - }, - "education": { - "$ref": "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesEducation", - "description": "The presence of this message means that Education is supported." - }, - "outdoor": { - "$ref": "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesOutdoor", - "description": "The presence of this message means that Outdoor is supported." - }, - "shopping": { - "$ref": "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesShopping", - "description": "The presence of this message means that Shopping is supported." - }, - "text": { - "$ref": "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesText", - "description": "The presence of this message means that intenting directly into the text filter is supported." - }, - "translate": { - "$ref": "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslate", - "description": "The presence of this message means that Translation is supported." - } - }, - "type": "object" - }, - "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesDining": { - "description": "Dining recognition capability. For example popular dishes on a given restaurant menu image.", - "id": "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesDining", - "properties": {}, - "type": "object" - }, - "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesEducation": { - "description": "Education recognition capability.", - "id": "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesEducation", - "properties": {}, - "type": "object" - }, - "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesOutdoor": { - "description": "Outdoor place recognition capability. For example recognizing storefronts.", - "id": "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesOutdoor", - "properties": {}, - "type": "object" - }, - "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesShopping": { - "description": "Shopping recognition capability.", - "id": "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesShopping", - "properties": {}, - "type": "object" - }, - "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesText": { - "description": "Text recognition capability.", - "id": "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesText", - "properties": { - "isTextToSpeechSupported": { - "description": "Indicates whether text-to-speech is supported.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslate": { - "description": "Translation capability.", - "id": "AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslate", - "properties": { - "supportedLanguageTags": { - "description": "The list of language IETF BCP 47 tags that are supported. See the full details in the comment on the equivalent field in: http://google3/java/com/google/android/apps/gsa/search/shared/service/proto/lens_service_event.proto;l=55;rcl=355512559", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiLiveTvChannelCapabilities": { - "id": "AssistantApiLiveTvChannelCapabilities", - "properties": { - "channelsByProvider": { - "description": "A list of channel providers each of which provides a list of its channels.", - "items": { - "$ref": "AssistantApiLiveTvChannelCapabilitiesChannelsByProvider" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiLiveTvChannelCapabilitiesChannelsByProvider": { - "id": "AssistantApiLiveTvChannelCapabilitiesChannelsByProvider", - "properties": { - "channels": { - "description": "A list of channels provided by this input. Keep the performance impact in mind when the number/size of the channels is large. When there are too many channels, consider stripping out some data.", - "items": { - "$ref": "AssistantApiLiveTvChannelCapabilitiesLiveTvChannel" - }, - "type": "array" - }, - "inputId": { - "description": "An identifier to identify the input source. For example for TIF based channels, this will be the TIF input ID to differentiate different tuner apps. See https://source.android.com/devices/tv", - "type": "string" - }, - "providerType": { - "description": "Type of provider who provides this channel input.", - "enum": [ - "UNKNOWN_PROVIDER_TYPE", - "OTT_PROVIDER", - "TUNER" - ], - "enumDescriptions": [ - "", - "OTT providers providing live tv contents like Sling, Youtube TV.", - "TV Tuner apps providing live tv contents." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiLiveTvChannelCapabilitiesLiveTvChannel": { - "id": "AssistantApiLiveTvChannelCapabilitiesLiveTvChannel", - "properties": { - "channelId": { - "description": "Unique channel identifier.", - "type": "string" - }, - "channelName": { - "description": "A list of channel names and synonyms.", - "items": { - "type": "string" - }, - "type": "array" - }, - "channelNumber": { - "description": "Channel number displayed to user. Optional.", - "type": "string" - }, - "deeplink": { - "description": "A deep link into the Live player app that tunes to this channel.", - "type": "string" - }, - "mid": { - "description": "KG mid of the channel if it exists in KG.", - "type": "string" - }, - "networkMid": { - "description": "Network KG mid of the channel if it exists in KG", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiLiveTvProvider": { - "id": "AssistantApiLiveTvProvider", - "properties": { - "providerInfo": { - "$ref": "AssistantApiCoreTypesProvider", - "description": "Contains detailed provider information such as android app package name." - }, - "providerKey": { - "description": "A provider enum string for OTT providers. The available key can be found in go/ump-provider-enum For Tuner provider, the provider key would be an ID the tuner app uploaded from TIF. See https://source.android.com/devices/tv", - "type": "string" - }, - "providerType": { - "enum": [ - "UNKNOWN_PROVIDER_TYPE", - "OTT_PROVIDER", - "TUNER" - ], - "enumDescriptions": [ - "", - "OTT providers providing live tv contents like Sling, Youtube TV.", - "TV Tuner apps providing live tv contents." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiLocationCapabilities": { - "id": "AssistantApiLocationCapabilities", - "properties": { - "gpsAvailable": { - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiLoggingOnlyData": { - "description": "Data which is produced for logging and debugging. Servers MUST NOT use this for any other purposes, such as branching on it. Next ID: 16", - "id": "AssistantApiLoggingOnlyData", - "properties": { - "acpVersion": { - "description": "A user-readable string describing the ACP version (go/acp-version) of the client app used by the user to originate the conversation.", - "type": "string" - }, - "androidId": { - "description": "Random identifier assigned to Android mobile devices. Older logs may have previously stored other kinds of android IDs in this field, but all current logs should use the GServices Id. See go/androidids.", - "format": "int64", - "type": "string" - }, - "appVersion": { - "description": "A user-readable string describing the version of the client app used by the user to originate the conversation.", - "type": "string" - }, - "assistantSettingsSource": { - "description": "An enum specifying when was this ATV AssistantSettings entry initially created.", - "enum": [ - "NOT_SET", - "FIRST_SCREEN_DEVICE_OOBE", - "FIRST_SCREEN_KATNISS_OOBE", - "FIRST_SCREEN_KATNISS_BACKGROUND_LINKING", - "FIRST_SCREEN_DELEGATION_OOBE", - "FIRST_SCREEN_FIXER_JOB", - "FIRST_SCREEN_FCM_JOB", - "FIRST_SCREEN_HOME_GRAPH_JOB", - "FIRST_SCREEN_PERSONAL_BIT", - "FIRST_SCREEN_VOICE_INPUT_BIT", - "FIRST_SCREEN_OTHER", - "SECOND_SCREEN_AGSA", - "SECOND_SCREEN_GHA_IOS", - "SECOND_SCREEN_GHA_ANDROID" - ], - "enumDescriptions": [ - "LINT.IfChange", - "Created during ATV Device OOBE(setupwraith)", - "Created within Katniss(Assistant client on TV)", - "Created within Katniss when running cast linking in the background of device setup.", - "Created within Katniss delegation path", - "Created by fix settings job in katniss.", - "Created by FCM jobs in katnisss.", - "Created by home graph jobs in katniss.", - "Created by enable personal bit button in Settings UI", - "Created by enable voice input bit button in Settings UI", - "Created by other parts in katniss", - "Created by AGSA", - "Created by Google Home App IOS", - "Created by Google Home App Android LINT.ThenChange(//depot/google3/logs/proto/assistant/capabilities_log.proto)" - ], - "type": "string" - }, - "boardName": { - "description": "The type of board used by manufacturer for this device", - "type": "string" - }, - "boardRevision": { - "description": "The revision of board used", - "type": "string" - }, - "castAssistantSettingLinkingResult": { - "$ref": "AssistantApiCastAssistantSettingLinkingResult", - "description": "This field records the linking status between Assistant setting entry and Cast setting entry. Currently only ATV surface populates this field for profiling purpose." - }, - "deviceModel": { - "description": "A user-readable string describing the device's hardware platform.", - "type": "string" - }, - "embedderBuildInfo": { - "description": "Any relevant info concerning the build options of the embedder (that is the software which runs as the 'driver' of an Assistant library, such as libassistant. the embedder is typically built by a third party)", - "type": "string" - }, - "initialAppVersion": { - "description": "A string recording the app version that is initially used to created this settings entry.", - "type": "string" - }, - "isPrimaryUser": { - "description": "Boolean field to indicate whether a certain user is the primary user of a device or not. This is useful for distinguishing the user0 from other users given user0 might have certain privileges (Eg: Hubmode on Tangor)", - "type": "boolean" - }, - "mdnsDisplayName": { - "description": "default display name of device over mdns. This is specified at the factory, not specified by the user.", - "type": "string" - }, - "platformBuild": { - "description": "A user-readable string describing the device's software platform.", - "type": "string" - }, - "virtualReleaseChannel": { - "deprecated": true, - "description": "A string describing device's release channel. For cast devices, the string will look like \"qa-beta-channel\", \"eng-no-update\", etc.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiMediaControlSupport": { - "id": "AssistantApiMediaControlSupport", - "properties": { - "skipConfirmationsWhilePlaying": { - "description": "Whether to prevent confirmations (text, tts) for media control actions while media is playing so that the media session is not interrupted.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiMessageCapabilities": { - "id": "AssistantApiMessageCapabilities", - "properties": { - "fallbackToTetheredDeviceAppCapabilities": { - "description": "If true, APP_ID queries initiated by this device should fall back to execution on the tethered device if it's available and if the primary device cannot perform the action (e.g. due to the app not being installed).", - "type": "boolean" - }, - "preferTargetingPrimaryDevice": { - "description": "For chat_message.SEND targeting, when either the primary or secondary (tethered) device is capable of handling the chat_message.SEND action, prefer targeting it to the primary device.", - "type": "boolean" - }, - "supportedRecipientTypes": { - "description": "Should only be checked if nonempty.", - "items": { - "enum": [ - "UNSPECIFIED_ENDPOINT", - "PHONE_NUMBER", - "EMAIL_ADDRESS", - "APP_UNIQUE_ID", - "EMERGENCY_PHONE_NUMBER", - "VOICEMAIL" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiMessageSummarySupport": { - "description": "LINT.IfChange(messageSummarySupport)", - "id": "AssistantApiMessageSummarySupport", - "properties": { - "deviceSettingStatus": { - "description": "The current setting status of message summary on current device.", - "enum": [ - "DEVICE_SETTING_STATUS_UNKNOWN", - "DEVICE_SETTING_STATUS_ENABLED", - "DEVICE_SETTING_STATUS_DISABLED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "lastVoiceOptInFlowTimestamp": { - "description": "Last time that voice opt-in flow has been triggered.", - "format": "google-datetime", - "type": "string" - }, - "readNotificationSummarizationSupported": { - "description": "Whether the client supports message summarization.", - "type": "boolean" - }, - "voiceOptInFlowCounter": { - "description": "The voice consent flow counter on current device.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantApiMovementCapabilities": { - "id": "AssistantApiMovementCapabilities", - "properties": { - "mobility": { - "description": "Indicates how much the device moves around. E.g., TV has a low mobility level, while Auto has a very high level.", - "enum": [ - "UNSPECIFIED", - "LOW", - "MEDIUM", - "HIGH", - "VERY_HIGH" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiNotificationOutputRestrictions": { - "id": "AssistantApiNotificationOutputRestrictions", - "properties": { - "optOutState": { - "$ref": "AssistantApiNotificationOutputRestrictionsOptOutState" - } - }, - "type": "object" - }, - "AssistantApiNotificationOutputRestrictionsOptOutState": { - "description": "Per category/category group notification opt out settings.", - "id": "AssistantApiNotificationOutputRestrictionsOptOutState", - "properties": { - "categoryGroupState": { - "items": { - "$ref": "AssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupState" - }, - "type": "array" - }, - "categoryState": { - "items": { - "$ref": "AssistantApiNotificationOutputRestrictionsOptOutStateCategoryState" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupState": { - "id": "AssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupState", - "properties": { - "categoryGroup": { - "enum": [ - "UNSPECIFIED", - "SYSTEM", - "PROMOTIONAL", - "SUBSCRIPTIONS", - "PROACTIVE", - "REMINDERS", - "EXTENDED_ANSWERS", - "FEEDBACK", - "ACTIONS_ON_GOOGLE", - "DUO_MISSED_CALLS", - "HOME_AUTOMATION", - "GETTING_AROUND", - "UNIT_TESTING" - ], - "enumDescriptions": [ - "", - "This is required, do not remove. Group for notification categories that should not be displayed at all.", - "Promotional notifications.", - "Notifications for Subscriptions.", - "Proactive notifications", - "Reminders (including assigned reminders).", - "Cross surface answers.", - "Assistant asking for feedback from users.", - "AoG 3P notifications.", - "Missed call notifications from DUO.", - "Home Automation notifications.", - "Getting around notifications.", - "Always keep at the end." - ], - "type": "string" - }, - "state": { - "enum": [ - "OPTED_IN", - "OPTED_OUT" - ], - "enumDescriptions": [ - "Default value is intentionally set to opted in as all categories/category groups are enabled by default.", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiNotificationOutputRestrictionsOptOutStateCategoryState": { - "id": "AssistantApiNotificationOutputRestrictionsOptOutStateCategoryState", - "properties": { - "category": { - "enum": [ - "UNSPECIFIED", - "SYSTEM_REQUIRED_LOW_PRIORITY", - "SYSTEM_REQUIRED_HIGH_PRIORITY", - "DISCOVERY", - "REALTIME_PROMOTIONAL", - "SUBSCRIPTIONS", - "FLIGHT_UPDATES", - "TRANSPORT_UPDATES", - "BILL_UPDATES", - "PACKAGE_DELIVERY_UPDATES", - "EVENT_UPDATES", - "DUE_DATE_UPDATES", - "CELEBRATION_UPDATES", - "ROUTINE_UPDATES", - "TASK_SUGGESTIONS", - "AT_A_PLACE", - "APP_RECOMMENDATIONS", - "TRAVEL_UPDATES", - "REMINDER_DUE", - "ASSIGNED_REMINDER_DUE", - "ROUTINE_SETTINGS_UPDATES", - "MAPS_OR_DIRECTIONS", - "MOVIE_SHOWTIMES", - "SPORTS_UPDATES", - "NEWS_UPDATES", - "SONGS_AND_ARTISTS", - "TRANSLATIONS", - "ANSWERS_TO_QUESTIONS", - "SETTINGS_LINKS", - "RESERVATION_UPDATES", - "DEPRECATED_FEEDBACK_REQUESTS", - "FEEDBACK_REQUESTS", - "ACTIONS_ON_GOOGLE", - "DUO_MISSED_CALLS", - "HOME_AUTOMATION", - "TIME_TO_LEAVE", - "COMMUTE", - "OCCASIONALLY_REPEATED_ACTIONS", - "FREQUENTLY_REPEATED_ACTIONS", - "ASPIRE", - "ASSISTANT_DRIVING_MODE", - "DISCOVERY_DEFAULT_PRIORITY", - "HOLIDAY_REMINDERS", - "CROSS_DEVICE_TIMER", - "LIVE_CARD", - "ASYNC_ACTION", - "UNIT_TESTING" - ], - "enumDescriptions": [ - "", - "Categories required by Assistant \u0026 won't be shown on settings page.", - "", - "Promotional discovery notifications.", - "", - "Subscriptions (both event and time based).", - "Proactive notification categories.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Reminder notification categories.", - "We're probably going to deprecate ASSIGNED_REMINDER_DUE.", - "Routine related notification categories.", - "Extended answer (cross device) notification categories.", - "", - "", - "", - "", - "", - "", - "", - "", - "Feedback requests from Assistant.", - "", - "Actions on Google (Third party) notifications.", - "Missed call notifications from DUO.", - "Home Automation related notifications.", - "Getting around notifications.", - "", - "Repeated actions. Having two categories for occasionally and frequently repeated ones since the FREQUENTLY_REPEATED_ACTIONS are buzzing.", - "", - "Assistant Aspire notifications.", - "", - "Discovery notifications that shows in status bar but doesn't make noise.", - "", - "", - "Live cards, these are not real notifications but live cards shown on Home App.", - "These are not really notifications, rather push messages to initiate an asynchronous action.", - "Always keep at the end." - ], - "type": "string" - }, - "state": { - "enum": [ - "OPTED_IN", - "OPTED_OUT" - ], - "enumDescriptions": [ - "Default value is intentionally set to opted in as all categories/category groups are enabled by default.", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiOemCapabilities": { - "description": "Encapsulates the action capabilities of the OEM device. This data is merged from Device Model lookup, per-device registration, and per-request context. This data is sent to NLU layer for query understanding.", - "id": "AssistantApiOemCapabilities", - "properties": { - "cloudCapability": { - "$ref": "AssistantDevicesPlatformProtoCloudCapability", - "description": "The OEM Cloud execution capability of this device, containing routing details for cloud fulfillment." - }, - "cloudDeviceCapabilities": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "If fulfillment is done via 3P cloud and 3P supports device capabilities, this field will be set.", - "type": "object" - }, - "deviceModelId": { - "description": "Device Model Id from DeviceModelPackage.", - "type": "string" - }, - "deviceModelRevisionId": { - "description": "Device Model Revision Id from DeviceModelPackage.", - "format": "int64", - "type": "string" - }, - "deviceSpecificData": { - "description": "Opaque supported action data related to a specific domain of devices, for example for car. go/car-talk-registration-model", - "type": "string" - }, - "internalCapability": { - "$ref": "AssistantDevicesPlatformProtoInternalCapability", - "description": "Internal-only config containing metadata about the Device Model, for example to control the ranking behavior." - }, - "thirdPartyActionConfig": { - "$ref": "AssistantApiThirdPartyActionConfig", - "description": "3P Action Metadata, populated from the Device Model lookup and the client request parameters. For example, an Assistant SDK request would have the billed project id of the Assistant request added here in order to enable any Device Actions developed using the same Google Cloud project. This data is sent to Service Engine to mask triggering for Device Actions." - } - }, - "type": "object" - }, - "AssistantApiOnDeviceAssistantCapabilities": { - "description": "Definitions of on-device assistant capabilities.", - "id": "AssistantApiOnDeviceAssistantCapabilities", - "properties": { - "isLocalNetworkArbitrationSupported": { - "description": "Capabilities related to local network arbitration (go/local-network-arbitration). Indicates if the device is capable of being a host device in the LAN whiling doing local network arbitration.", - "type": "boolean" - }, - "isOnDeviceArbitrationSupported": { - "deprecated": true, - "description": "Capabilities related to on-device arbitration(go/arbitration-on-device).", - "type": "boolean" - }, - "isOnDeviceAssistantSupported": { - "description": "Indicates if on-device assistant is enabled on this device. Example usecases: NGA (go/nga) or Marble (go/marble).", - "type": "boolean" - }, - "isOnDeviceUnderstandingSupported": { - "deprecated": true, - "description": "This may be used by NGA. E.g. if understanding happens on device, we can have more aggressive logic when fulfilling some features on the server side, like teleport.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiOnDeviceSmartHomeCapabilities": { - "description": "Definitions of on-device Smart Home capabilities. Next ID: 2", - "id": "AssistantApiOnDeviceSmartHomeCapabilities", - "properties": { - "isOnDeviceSmartHomeSupported": { - "description": "Master bit for on-device Smart Home features.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiOnDeviceStorageCapabilities": { - "description": "The on-device storage capabilities found on the device.", - "id": "AssistantApiOnDeviceStorageCapabilities", - "properties": { - "isSupported": { - "description": "Determines if an on-device storage is supported.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiOutputRestrictions": { - "description": "These are user configurable permissions representing what the device is allowed to output. Next ID: 11", - "id": "AssistantApiOutputRestrictions", - "properties": { - "googlePhotoContent": { - "description": "The type of Google Photo content which the device can output.", - "enum": [ - "ALL_PHOTO_CONTENT", - "NO_RESTRICTED_PHOTO_CONTENT" - ], - "enumDescriptions": [ - "All content can be output, including contents from restricted categories (e.g. violent, racy).", - "Only content from non-restricted categories can be output." - ], - "type": "string" - }, - "guestAccessOutput": { - "$ref": "AssistantApiGuestAccessOutput", - "description": "Access settings for guests." - }, - "personalData": { - "description": "The level of personal data which the device can output. See go/personal-readout for detail.", - "enum": [ - "PERSONAL_DATA_OUTPUT_UNKNOWN", - "ALL_PERSONAL_DATA_WITH_PROACTIVE", - "ALL_PERSONAL_DATA", - "NO_PERSONAL_DATA" - ], - "enumDeprecated": [ - false, - true, - false, - false - ], - "enumDescriptions": [ - "UNKNOWN.", - "DO NOT USE. This field has been deprecated.", - "All personal data can be output.", - "No personal data can be output." - ], - "type": "string" - }, - "proactiveNotificationOutput": { - "description": "This controls if the server can proactively send notification to users, and it does not affect scenarios that users ask for information. The notification may include TTS and lights. It could be only lights for chirp.", - "enum": [ - "UNKNOWN_PROACTIVE_NOTIFICATION", - "NO_PROACTIVE_NOTIFICATION", - "ALL_PROACTIVE_NOTIFICATIONS" - ], - "enumDescriptions": [ - "The setting for proactive notification is unknown", - "No proactive notification can be output", - "All proactive notifications can be output" - ], - "type": "string" - }, - "proactiveOutput": { - "$ref": "AssistantApiProactiveOutput", - "description": "Restrictions on displaying and interacting with content on proactive surfaces (e.g. Dragonglass home screen). Note: NEVER access this field of OutputRestrictions directly, use the code in assistant/assistant_server/settings/device/device_settings_util.h instead." - }, - "youtubeAutoplayRestriction": { - "description": "Whether YouTube autoplay is allowed for queries from the user to this device. See go/assistant-youtube-settings for details.", - "enum": [ - "AUTOPLAY_RESTRICTION_UNSPECIFIED", - "AUTOPLAY_ALLOWED", - "AUTOPLAY_DISABLED" - ], - "enumDescriptions": [ - "", - "Autoplay can be applied to youtube queries to the device from this user", - "Autoplay must not be enabled for youtube queries to the device from this user" - ], - "type": "string" - }, - "youtubeContent": { - "description": "The type of YouTube content which the device can output.", - "enum": [ - "ALL_YOUTUBE_CONTENT", - "NO_RESTRICTED_CONTENT" - ], - "enumDescriptions": [ - "All content can be output.", - "No restricted content can be output." - ], - "type": "string" - }, - "youtubeTvContent": { - "description": "The type of YouTube TV content which the device can output.", - "enum": [ - "ALL_YOUTUBE_TV_CONTENT", - "NO_RESTRICTED_YOUTUBE_TV_CONTENT" - ], - "enumDescriptions": [ - "All YouTube TV content can be output.", - "No restricted YouTube TV content can be output." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiProactiveOutput": { - "description": "Next ID: 7", - "id": "AssistantApiProactiveOutput", - "properties": { - "allowAllPersonalData": { - "description": "Allows displaying all personal data on proactive surfaces with no face match capability.", - "type": "boolean" - }, - "androidTvAssistantSettingsSource": { - "description": "For ANDROID_TV devices, the location that this setting was last changed from. Note: this structure allows to extend to more per-vertical bits in the future.", - "enum": [ - "NOT_SET", - "FIRST_SCREEN_DEVICE_OOBE", - "FIRST_SCREEN_KATNISS_OOBE", - "FIRST_SCREEN_KATNISS_BACKGROUND_LINKING", - "FIRST_SCREEN_DELEGATION_OOBE", - "FIRST_SCREEN_FIXER_JOB", - "FIRST_SCREEN_FCM_JOB", - "FIRST_SCREEN_HOME_GRAPH_JOB", - "FIRST_SCREEN_PERSONAL_BIT", - "FIRST_SCREEN_VOICE_INPUT_BIT", - "FIRST_SCREEN_OTHER", - "SECOND_SCREEN_AGSA", - "SECOND_SCREEN_GHA_IOS", - "SECOND_SCREEN_GHA_ANDROID" - ], - "enumDescriptions": [ - "LINT.IfChange", - "Created during ATV Device OOBE(setupwraith)", - "Created within Katniss(Assistant client on TV)", - "Created within Katniss when running cast linking in the background of device setup.", - "Created within Katniss delegation path", - "Created by fix settings job in katniss.", - "Created by FCM jobs in katnisss.", - "Created by home graph jobs in katniss.", - "Created by enable personal bit button in Settings UI", - "Created by enable voice input bit button in Settings UI", - "Created by other parts in katniss", - "Created by AGSA", - "Created by Google Home App IOS", - "Created by Google Home App Android LINT.ThenChange(//depot/google3/logs/proto/assistant/capabilities_log.proto)" - ], - "type": "string" - }, - "healthAndFitnessProactive": { - "description": "Allows displaying Health and Fitness content on proactive surfaces. This is a sub bit of the device-wide PR bit - the device-wide PR bit must be enabled AND this vertical sub bit must be enabled for H\u0026F content to be shown. This bit will be available on all surfaces that have the proactive-bit enabled. If the proactive-bit is not enabled, then we do not show health and fitness content at all (or even allow access to this setting).", - "enum": [ - "NO_HEALTH_AND_FITNESS_PROACTIVE_OUTPUT", - "ALL_HEALTH_AND_FITNESS_PROACTIVE_OUTPUT" - ], - "enumDescriptions": [ - "No health and fitness proactive content can be output", - "All health and fitness proactive content can be output" - ], - "type": "string" - }, - "photosProactive": { - "description": "Allows displaying photos content on Dragonglass proactive surfaces. This is a sub bit of the device-wide PR bit - the device-wide PR bit must be enabled AND this vertical sub bit must be enabled for photos content to be shown on Dragonglass surfaces. This bit will be available on all Dragonglass surfaces that have the proactive-bit enabled. If the proactive-bit is not enabled or it's not a Dragonglass surface, then we do not show proactive photos content at all, nor allow access to this setting. See go/opa-photos-sg-settings for more details.", - "enum": [ - "UNKNOWN_PHOTOS_PROACTIVE_OUTPUT", - "NO_PHOTOS_PROACTIVE_OUTPUT", - "ALL_PHOTOS_PROACTIVE_OUTPUT" - ], - "enumDescriptions": [ - "", - "No photos proactive content can be output. This indicates that user has explicitly disabled photos proactive settings.", - "All photos proactive content can be output. This indicates that user has explicitly enabled photos proactive settings." - ], - "type": "string" - }, - "userMatchProactive": { - "description": "Settings for displaying personal data on proactive surfaces with face match capability.", - "enum": [ - "UNKNOWN_USER_MATCH_PROACTIVE", - "NEVER_SHOW", - "ONLY_SHOW_ON_USER_MATCH", - "ALWAYS_SHOW" - ], - "enumDescriptions": [ - "", - "Never show proactive content.", - "Only show proactive content on Face Match.", - "Always show proactive content." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiProtobuf": { - "description": "Also known as \"Extensions Without Extensions\" or \"The Poor Man's Any\", this simple proto is used to transmit arbitrary protocol buffers over the wire. Unlike extensions: - It does not require the proto type to be compiled into the binary. (Useful so that the proto declaration can be inside the conversation package) - It is compatible with all versions of proto, including proto3 and the wack-tastic version used on ChromecastOS. Server libraries for dealing with it live in google3/assistant/protocol/protobuf_lib.h.", - "id": "AssistantApiProtobuf", - "properties": { - "protobufData": { - "description": "The serialized protocol buffer.", - "format": "byte", - "type": "string" - }, - "protobufType": { - "description": "The type of the protocol buffer to use. This must be a resolvable name (Namespace.ProtoName) and refer to a proto which is either compiled in to both client and server (e.g. a base proto type) or to one which is part of the conversation package.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiRecurrence": { - "description": "Date-based recurrences specify repeating events. Conceptually, a recurrence is a (possibly unbounded) sequence of dates on which an event falls, described by a list of constraints. A date is in a recurrence if and only if it satisfies all of the constraints. Note that devices may support some constraints, but not all.", - "id": "AssistantApiRecurrence", - "properties": { - "begin": { - "$ref": "AssistantApiDate", - "description": "The first day of the recurrence. If begin is not set, then the reminder will start infinitely in the past." - }, - "blacklistedRanges": { - "description": "A list of blacklisted dates to skip the alarm on.", - "items": { - "$ref": "AssistantApiDateTimeRange" - }, - "type": "array" - }, - "dayOfMonth": { - "description": "Specifies the date in a month. For example, if day_of_month is 15, then it represent the 15th day of the specified month.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "dayOfWeek": { - "description": "Specifies a weekly or daily recurrence. Constraint: The date falls on one of these days of the week, in 0...6 (Sunday...Saturday).", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "end": { - "$ref": "AssistantApiDate", - "description": "The last day of the recurrence." - }, - "every": { - "description": "Multiplier on the frequency of the recurrence. Use this to specify patterns that recur every X days, months, years, etc. Example: [remind me to call mom every 2nd week]. Default is 1 (every day, every month, every year).", - "format": "int32", - "type": "integer" - }, - "monthOfYear": { - "description": "Specifies the month in a year. Constrain: the month falls on one of these months, in 1, 2, ... 12 (January...December).", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "numOccurrences": { - "description": "The number of occurrences after which the recurrence should end.", - "format": "int32", - "type": "integer" - }, - "weekOfMonth": { - "description": "Specifies the index of week in a month. For example, the second Tuesday every month, in this case, week_of_month should be 2.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiRobinCapabilities": { - "description": "Used to describe the capabilities and params of Robin Client. Field will be populated from Client or backfilled in SAL only for Robin client.", - "id": "AssistantApiRobinCapabilities", - "properties": { - "enabledExtensions": { - "description": "List of enabled Robin extensions.", - "items": { - "type": "string" - }, - "type": "array" - }, - "robinStatus": { - "$ref": "AssistantApiRobinCapabilitiesRobinStatus" - }, - "supportedRobinOps": { - "description": "List of supported RobinOps.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiRobinCapabilitiesRobinStatus": { - "description": "Current Robin status of the client.", - "id": "AssistantApiRobinCapabilitiesRobinStatus", - "properties": { - "available": { - "$ref": "AssistantApiRobinCapabilitiesRobinStatusRobinStatusAvailable" - }, - "notAvailable": { - "$ref": "AssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailable" - }, - "optedIn": { - "$ref": "AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedIn" - }, - "optedOut": { - "$ref": "AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedOut" - } - }, - "type": "object" - }, - "AssistantApiRobinCapabilitiesRobinStatusRobinStatusAvailable": { - "description": "Robin is available and can be enabled by the user.", - "id": "AssistantApiRobinCapabilitiesRobinStatusRobinStatusAvailable", - "properties": {}, - "type": "object" - }, - "AssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailable": { - "description": "Robin is not available and can not be enabled by the user.", - "id": "AssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailable", - "properties": { - "reasons": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedIn": { - "description": "Robin is available and the user opted in already.", - "id": "AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedIn", - "properties": {}, - "type": "object" - }, - "AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedOut": { - "description": "Robin would be available, but the user explicitly opted out.", - "id": "AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedOut", - "properties": {}, - "type": "object" - }, - "AssistantApiScreenCapabilities": { - "description": "These capabilities represent the tactile features associated with the device. This includes, for example, whether the device has a screen, how big the screen is, and privacy of the screen. Next ID: 11", - "id": "AssistantApiScreenCapabilities", - "properties": { - "fontScaleFactor": { - "description": "The scale factor used to convert Scalable Pixel (SP) units to Density-independent Pixel (DP) units (DP = SP * scale factor). Fonts are measured in units of SP, and on some platforms such as Android the SP to DP scale factor can be affected by the font size a user selects in accessibility settings.", - "format": "float", - "type": "number" - }, - "inputType": { - "description": "The types of input that this screen supports. Note that this can be empty in which case the screen's input type is unknown.", - "items": { - "enum": [ - "TOUCHSCREEN" - ], - "enumDescriptions": [ - "The device has a screen that support touch input." - ], - "type": "string" - }, - "type": "array" - }, - "mask": { - "$ref": "AssistantApiScreenCapabilitiesMask", - "description": "Mask defined for this device, if any." - }, - "protoLayoutTargetedSchema": { - "$ref": "AssistantApiScreenCapabilitiesProtoLayoutVersion", - "description": "The targeted schema version for ProtoLayout requests." - }, - "resolution": { - "$ref": "AssistantApiScreenCapabilitiesResolution", - "description": "If this field is absent, the resolution of the screen is unknown." - }, - "screenOff": { - "description": "If screen is turned off.", - "type": "boolean" - }, - "screenStateDetection": { - "description": "The ability of the client to correctly report screen state.", - "enum": [ - "UNKNOWN_SCREEN_STATE_DETECTION", - "UNRELIABLE_SCREEN_STATE_DETECTION", - "RELIABLE_SCREEN_STATE_DETECTION" - ], - "enumDescriptions": [ - "", - "The client reports screen state but may be unreliable based on different remotes/inputs used to turn the screen off. Example: Android TVs with soundbars.", - "" - ], - "type": "string" - }, - "supportedRenderingFormat": { - "description": "The primary supported rendering format for display on the device's screen. This may be used to determine what format of card to be returned when rendering cards.", - "enum": [ - "UNKNOWN_RENDERING_FORMAT", - "CONCISE_TEXT", - "PROTO_LAYOUT", - "ELEMENTS" - ], - "enumDescriptions": [ - "", - "Concise Text go/concise-text-responses", - "Proto Layout, the layout for Proto Tiles go/prototiles", - "Elements, the layout for xUIKit go/xuikit" - ], - "type": "string" - }, - "supportedScreenStates": { - "description": "The screen states that the client supports. The current screen state is specified in DeviceProperties.screen.", - "items": { - "enum": [ - "UNKNOWN_SCREEN_STATE", - "ON", - "OFF" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "visionHelpEnabled": { - "description": "Whether the device enabled vision help features in accessibility settings. The settings is config in Assistant App and on-device settings, and stored in footprints. When enabled, font, color and TTS will be adjusted.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiScreenCapabilitiesMask": { - "description": "A mask applied to the screen's pixel space to determine regions not visible on the physical device.", - "id": "AssistantApiScreenCapabilitiesMask", - "properties": { - "type": { - "enum": [ - "UNKNOWN_MASK", - "NO_MASK", - "ROUND_MASK" - ], - "enumDescriptions": [ - "Default value.", - "Used for devices with no mask. In this case, every point in the region defined by width_px and height_px corresponds to a physical, visible pixel. This is distinct from rectangular screens that DO have regions with no pixels, e.g. an inset or cutout that occludes one or more sides of the screen.", - "Used for devices with oval or circular screens. The vertical and horizontal resolution of the screen determines the vertical and horizontal diameters of the oval. Pixels outside this oval region are non-existent or physically occluded." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiScreenCapabilitiesProtoLayoutVersion": { - "description": "Version info for ProtoLayout requests.", - "id": "AssistantApiScreenCapabilitiesProtoLayoutVersion", - "properties": { - "major": { - "format": "uint32", - "type": "integer" - }, - "minor": { - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantApiScreenCapabilitiesResolution": { - "description": "A Resolution proto indicates the size of the application window. All fields are required.", - "id": "AssistantApiScreenCapabilitiesResolution", - "properties": { - "dpi": { - "description": "Dots (pixels) per inch of the screen.", - "format": "int32", - "type": "integer" - }, - "heightPx": { - "format": "int32", - "type": "integer" - }, - "mSize": { - "description": "m_size is the smallest square box size to display a capital letter M so that the user can still easily understand it.", - "format": "int32", - "type": "integer" - }, - "nengSize": { - "description": "neng_size is the smallest square box size to display a letter 螚 (Neng, U+879A) so that the user can easily understand it. (Neng is a visually dense Chinese letter, and so may require a larger box than an M.)", - "format": "int32", - "type": "integer" - }, - "widthPx": { - "description": "The dimensions of the application window, in pixels.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantApiSelinaCapabilites": { - "description": "The Soli capabilities on Elaine, including gestures and sleep sensing. go/dingo-dc-software Next ID: 4", - "id": "AssistantApiSelinaCapabilites", - "properties": { - "gestureCapabilities": { - "$ref": "AssistantApiGestureCapabilities", - "description": "A list of gestures that selina supports" - }, - "selinaSupported": { - "description": "Whether the client supports selina.", - "type": "boolean" - }, - "sleepSensingSupported": { - "description": "Whether the client can monitor sleep. This allows us to show sleep CUJ related information: go/TwilightDesign", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSettingsAmbientSettings": { - "id": "AssistantApiSettingsAmbientSettings", - "properties": { - "anyUserHasSetPersonalPhotos": { - "description": "Whether any user sets personal photos on this device. See go/ambient-setting-in-assistant-design.", - "type": "boolean" - }, - "recentHighlightsEnabled": { - "description": "Whether or not the user's current selection for their ambient photo frame includes the auto-generated \"Recent Highlights\" album. This is used to determine which users to display the go/opa-photos-memories-tile. See go/opa-photo-memories-imax-optin for more discussion on why this bit was created.", - "type": "boolean" - }, - "showPersonalPhotoData": { - "description": "Whether to enable the personal photo data in the ambient settings: https://screenshot.googleplex.com/Wd4OFkQfOyF See go/opa-photos-ambient-location-date-dd#heading=h.5x4iaouuiett for explanation.", - "type": "boolean" - }, - "showPersonalPhotos": { - "description": "Whether current user sets personal photos on this device. See go/ambient-setting-in-assistant-design.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSettingsAppCapabilities": { - "description": "These capabilities are associated with Assistant Settings on devices.", - "id": "AssistantApiSettingsAppCapabilities", - "properties": { - "carSettingsCapabilities": { - "$ref": "AssistantApiCarSettingsCapabilities", - "description": "Capabilities that are associated with Assistant Settings on auto surfaces." - }, - "reissueQueryAfterMusicSetup": { - "description": "Whether the client supports reissuing query after setting up in Music Settings.", - "type": "boolean" - }, - "supportsPaymentsSettingsUpdate": { - "description": "Whether the client supports updating payments setting.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSettingsAutoFramingSettings": { - "description": "Settings pertaining to auto framing. See go/auto-framing-presentation.", - "id": "AssistantApiSettingsAutoFramingSettings", - "properties": { - "isAutoFramingEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSettingsCarrierCallDeviceSettings": { - "description": "Carrier related call settings on the device.", - "id": "AssistantApiSettingsCarrierCallDeviceSettings", - "properties": { - "allowIncomingCalls": { - "deprecated": true, - "description": "Whether this device is allowed to receive incoming PSTN calls.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSettingsCommunicationsFilter": { - "description": "Specification of which communication features can be used.", - "id": "AssistantApiSettingsCommunicationsFilter", - "properties": { - "state": { - "enum": [ - "UNKNOWN_STATE", - "ALLOW_ALL", - "BLOCK_CALLS_AND_MESSAGES" - ], - "enumDescriptions": [ - "", - "Allow all communication features.", - "Allow all communication features, with the exception of calls and messages." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsDeviceDowntimeSettings": { - "description": "Specification of times when most features on a device are disabled for certain users. During these periods, the device will respond to most interactions with something like \"sorry, I'm sleeping right now\". Design: go/home-ft-settings-storage PRD: go/home-family-tools-prd", - "id": "AssistantApiSettingsDeviceDowntimeSettings", - "properties": { - "schedules": { - "items": { - "$ref": "AssistantApiSettingsLabeledDowntimeSchedule" - }, - "type": "array" - }, - "targets": { - "description": "The set of users of this device that will have these downtime settings applied. Must have at least one element.", - "items": { - "enum": [ - "UNKNOWN_DEVICE_SUPERVISION_TARGET", - "EVERYONE", - "KID_ACCOUNTS", - "GUESTS" - ], - "enumDescriptions": [ - "", - "All people that use the device.", - "Users with a Unicorn account that are voice-matched to the device.", - "Users interacting with the device without being voice matched. We cannot identify these users and don't know their ages." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiSettingsDeviceFeatureFilters": { - "description": "Defines a set of restrictions on particular device features for a certain set of users. Design: go/home-ft-settings-storage PRD: go/home-family-tools-prd", - "id": "AssistantApiSettingsDeviceFeatureFilters", - "properties": { - "enabled": { - "description": "Enables/disables all the filters at the same time. For new devices or non-Cast devices this is always false.", - "type": "boolean" - }, - "featureFilters": { - "$ref": "AssistantApiSettingsFeatureFilters", - "description": "The filters (feature restrictions) to apply when `enabled` is true." - }, - "targets": { - "description": "The set of users of this device that will have these settings applied. Must have at least one element.", - "items": { - "enum": [ - "UNKNOWN_DEVICE_SUPERVISION_TARGET", - "EVERYONE", - "KID_ACCOUNTS", - "GUESTS" - ], - "enumDescriptions": [ - "", - "All people that use the device.", - "Users with a Unicorn account that are voice-matched to the device.", - "Users interacting with the device without being voice matched. We cannot identify these users and don't know their ages." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiSettingsDeviceLogsOptIn": { - "id": "AssistantApiSettingsDeviceLogsOptIn", - "properties": { - "optInEnabled": { - "description": "Indicates whether the crash logs can be uploaded and the device logs can be enabled", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSettingsDeviceSettings": { - "description": "Next ID: 73", - "id": "AssistantApiSettingsDeviceSettings", - "properties": { - "ackStatus": { - "description": "LINT.ThenChange(//depot/google3/assistant/ui/assistant_device_settings_ui.proto)", - "enum": [ - "ACK_COMPLETED", - "ACK_PENDING" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "address": { - "description": "A human-readable address string for the location; generally a one-line address such as \"34 Masonic Ave, San Francisco CA 94117, United States\". Set this field to empty string for deletion, in which case the rest of the location related fields below will be cleared as well.", - "type": "string" - }, - "aliasName": { - "description": "The alias names of the device, e.g. my living room tv, tv, living room and etc., which user will usually use to refer to the device in addition to human_friendly_name. It can help speech biasing and query understanding. This field is set by the user and already localized.", - "items": { - "type": "string" - }, - "type": "array" - }, - "allowIncomingCalls": { - "description": "Whether this device is allowed to receive incoming calls.", - "type": "boolean" - }, - "ambientSettings": { - "$ref": "AssistantApiSettingsAmbientSettings", - "description": "Ambient settings contains the configuration of Photo Frame on DG device. This field relies on IMAX service to do the update, sync happenes after user updates IMAX device settings or a device registers in CloudCastDevice. So it's more like a cached version instead of definitive source-of-truth. More details at go/ambient-setting-in-assistant-design." - }, - "ancillaryDeviceId": { - "$ref": "AssistantApiSettingsInternalAncillaryDeviceId", - "description": "The additional device ids. Currently used only for ATV. go/project-yellowstone Note: This field is for internal (Within settings) use only." - }, - "autoFramingSettings": { - "$ref": "AssistantApiSettingsAutoFramingSettings", - "description": "Auto framing settings associated with a device. See go/auto-framing-presentation." - }, - "blueSteelEnabled": { - "description": "Indicates whether the user has enabled Blue Steel. See go/blue-steel for more info on this project.", - "type": "boolean" - }, - "capabilities": { - "$ref": "AssistantApiDeviceCapabilities", - "description": "Describes roughly what a device is capable of doing and metadata around those capabilities. Note: this includes device limitations as well as user configurable settings." - }, - "city": { - "description": "city and postal_code are sent to third party AoG Apps as location when permission is granted for precise or coarse location. https://developers.google.com/actions/reference/rest/Shared.Types/Permission city and postal_code have the same description as in Proto Postal Address: https://cs.corp.google.com/piper///depot/google3/location/country/postaladdress.proto city corresponds to locality_name, postal_code corresponds to postal_code_number. These two fields are set in assistant_settings_service by AddressConverter. https://cs.corp.google.com/piper///depot/google3/location/addressformatter/public/addressconverter.h See go/aog-i18n-address-parse for more information", - "type": "string" - }, - "colocationStatus": { - "description": "Status of colocation. go/co-location-work-v2 Note: this is a cache at the Assistant level. The source of truth is inside CastAuthenticationServer, which is only used for Home devices.", - "enum": [ - "COLOCATION_UNKNOWN", - "COLOCATION_ESTABLISHED", - "COLOCATION_NOT_ESTABLISHED", - "COLOCATION_NOT_SUPPORTED" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "creationTimestampMs": { - "description": "The timestamp that the device is linked with the user in milliseconds.", - "format": "int64", - "type": "string" - }, - "crossSurfaceAvailability": { - "$ref": "AssistantApiSettingsDeviceSettingsCrossSurfaceAvailability", - "description": "Availability of this device for Assistant Cross-surface handoffs. (go/assistant-cross-surface)" - }, - "defaultAudioDeviceId": { - "$ref": "AssistantApiCoreTypesDeviceId", - "description": "The identification of the default device which user want to output audio. See go/default-media-output-design for more info." - }, - "defaultVideoDeviceId": { - "$ref": "AssistantApiCoreTypesDeviceId", - "description": "The identification of the default device which user want to output video. Note that, we don't fallback to this for audio playback when default_audio_device_id is not set. See go/default-media-output-design for more info." - }, - "deviceBrand": { - "description": "The brand of the device, populated from DeviceOemParams. Examples: \"google\", \"samsung\".", - "type": "string" - }, - "deviceId": { - "$ref": "AssistantApiCoreTypesDeviceId", - "description": "The identification of the device." - }, - "deviceModelId": { - "description": "The model ID of the device. This should be globally unique across manufactures/OEMs. Examples: \"nest_cam_iq_2017\", \"comcast_voice_box_2017\".", - "type": "string" - }, - "deviceModelRevision": { - "description": "The Device Platform Service lookup revision. (go/device-model-revision) For 1p devices, and most 3p devices with no custom feature, this should be always 0, which means no lookup needed. For 3p devices with custom assistant feature, this is provided directly by OEM as incremental (e.g. 1, 2, 3, ...)", - "format": "int32", - "type": "integer" - }, - "dusi": { - "description": "Only valid for ATV. Stores the android DUSI for the corresponding user. More details: go/auto-logout-on-unlink.", - "type": "string" - }, - "faceEnrollmentErrors": { - "description": "List of errors that happened during the face enrollment process if it failed. See go/face-match-enrollment-error for more info.", - "items": { - "enum": [ - "UNKNOWN_FACE_ENROLLMENT_ERROR", - "MISSING_FRONTAL_POSE", - "FACE_NOT_DETECTED", - "MULTIPLE_FACE_DETECTED", - "FACE_WITHOUT_SIGNATURE", - "FACE_DETECTION_LOW_CONFIDENCE", - "FACE_LANDMARK_LOW_CONFIDENCE", - "FACE_WITHOUT_CONFIDENCE", - "FACE_TOO_SMALL", - "FAILED_TO_READ_IMAGE", - "FAILED_TO_DECODE_IMAGE", - "FACE_DETECTION_ERROR", - "FACE_WITHOUT_EMBEDDING_CONFIDENCE" - ], - "enumDescriptions": [ - "", - "The gallery images don't have the required frontal pose properties.", - "Face was NOT detected in an image.", - "Multiple faces detected in an image.", - "Cannot create signature for a detected face.", - "Face detection confidence score is too low.", - "Face detection landmark confidence score is too low.", - "Face detection contains no confidence score, which is invalid.", - "Face detection was too small for enrollment.", - "Unable to read the image file from the gallery.", - "Unable to decode the jpeg image.", - "Unable to run face detector on the decoded image.", - "Face detection contains no confidence score for embedding." - ], - "type": "string" - }, - "type": "array" - }, - "faceEnrollmentStatus": { - "description": "Indicates whether the user's face has been successfully enrolled on this device. See go/face-match-server-design for more info.", - "enum": [ - "UNKNOWN_STATUS", - "SUCCESS", - "FAILURE", - "PENDING" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "faceMatchEnabled": { - "description": "Indicates whether the user has enabled Face Match for this device. See go/face-match-server-design for more info on this project.", - "type": "boolean" - }, - "gcmSettings": { - "$ref": "AssistantApiSettingsGcmSettings", - "deprecated": true, - "description": "Stores GCM info associated with a device. See go/quartz-design-doc for more info." - }, - "homeGraphData": { - "$ref": "AssistantApiSettingsHomeGraphData", - "description": "Holds the data that should be written to HomeGraph. Note: this field is not persisted in Assistant Settings storage. It is simply used for transporting data when client calls UpdateSettings." - }, - "homeGraphId": { - "description": "The home graph ID that can be used to lookup the corresponding entry in HomeGraph. go/home-graph. Note: when this field is empty, it doesn't necessarily mean that the device is not in home graph. It just means that Assistant doesn't know about the mapping.", - "type": "string" - }, - "hospitalityModeStatus": { - "$ref": "AssistantApiSettingsHospitalityMode", - "deprecated": true, - "description": "Indicates whether the device is currently in Hospitality mode. go/hospitality-mode-design. This is moved to a per user setting in assistant settings. ref. go/hospitality-settings-v2" - }, - "hotwordSensitivity": { - "description": "The level of hotword sensitivity. go/hotword-sensitivity-prd", - "enum": [ - "UNKNOWN_HOTWORD_SENSITIVITY", - "HOTWORD_SENSITIVITY_LOW", - "HOTWORD_SENSITIVITY_NORMAL", - "HOTWORD_SENSITIVITY_HIGH", - "HOTWORD_SENSITIVITY_LOW_2", - "HOTWORD_SENSITIVITY_HIGH_2" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "hotwordThresholdAdjustmentFactor": { - "$ref": "AssistantApiSettingsHotwordThresholdAdjustmentFactor", - "description": "HotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and it's validity. TAF is a measure of adjustment applied to the hotword threshold as a result of go/autotune. Currently, this is updated from query_settings_frame, but if we move to updating it from the client, this could also contain TAFs as a result of Hotword Sensitivity, in addition to Autotune." - }, - "humanFriendlyName": { - "description": "The human-friendly name of the cast device, e.g., my living room tv. This field is set by the user and already localized.", - "type": "string" - }, - "internalVersion": { - "$ref": "AssistantApiSettingsInternalVersion", - "description": "Internal version of the DeviceSettings for measurement of the DeviceSettings mutation race conditions. See go/consistent-assistant-settings-update." - }, - "isCloudSyncDevice": { - "deprecated": true, - "description": "Indicates whether the device is also managed through HA cloud sync. go/ha-dev-guide", - "type": "boolean" - }, - "isDeviceActivationCacheEnabled": { - "description": "When true, the user has explicitly allowed audio and visual data collection on this device", - "type": "boolean" - }, - "kidsMode": { - "$ref": "AssistantApiSettingsKidsMode", - "deprecated": true, - "description": "Specifies if kids-mode is enabled for the device. See go/aff-parentalsupervision-dd." - }, - "lastCastRegistrationTimestamp": { - "description": "Device's latest registration timestamp provided by Cast side. This field is not necessarily up to date. The update frequency is defined in last_registration_update_frequency_in_days field of AssistantConfig in java/com/google/chrome/dongle/common/proto/home_assistant_config.proto. go/cast-last-registration-time", - "format": "google-datetime", - "type": "string" - }, - "lastUsedCoarseTimestamp": { - "description": "Coarsened hourly timestamp of when the device was last used.", - "format": "google-datetime", - "type": "string" - }, - "linkedDeviceId": { - "description": "Stores pairing between different devices. See go/quartz-design-doc for more info.", - "items": { - "$ref": "AssistantApiCoreTypesDeviceId" - }, - "type": "array" - }, - "linkedUsers": { - "deprecated": true, - "description": "Please do NOT use this field without prior approval from PWG. Users who have signed in onto this device, go/linked-users-in-pkg.", - "items": { - "$ref": "AssistantApiSettingsLinkedUser" - }, - "type": "array" - }, - "locale": { - "description": "The locale for the device: language + region, i.e., en-US, ja-JP.", - "type": "string" - }, - "locationCoordinates": { - "$ref": "AssistantApiCoreTypesLocationCoordinates", - "description": "Coordinate information of the device location." - }, - "locationFeature": { - "$ref": "GeostoreFeatureProto", - "description": "The feature proto of the location of the device. Note: client does not need to populate this. It will be auto-populated based on \"address\" field on server side. Currently, only \"bound\" and \"type\" are persisted, since the entire FeatureProto is too big." - }, - "marketplaceDisclosure": { - "$ref": "AssistantApiSettingsMarketplaceDisclosure", - "deprecated": true, - "description": "See go/marketplace-disclosure for more info." - }, - "masqueradeMode": { - "$ref": "AssistantApiSettingsMasqueradeMode" - }, - "notificationProfile": { - "$ref": "AssistantApiSettingsNotificationProfile", - "deprecated": true, - "description": "Information about how to send the user a notification. This won't be populated for fb-conv users (allo group chat users)." - }, - "oauthClientId": { - "description": "OAuth client id for the device. This field is available for Assistant SDK devices. It is written when the device is registered to the user (AssistantSettingsUiService.LinkAssistantDeviceUi). When user revokes grant on the Assistant device, Assistant Devices Platform Service will receive Pubsub notification with OAuth client id for the revoked device, and we will compare that with this stored id to identity device to remove.", - "type": "string" - }, - "onDeviceAppSettings": { - "$ref": "AssistantApiSettingsOnDeviceAppSettings", - "description": "Device specific app related settings." - }, - "optInStatus": { - "$ref": "AssistantApiSettingsDeviceLogsOptIn", - "description": "Specifies if device logs and crashes can be captured during SendFeedback" - }, - "paymentsEnabled": { - "deprecated": true, - "description": "DEPRECATED: Use DeviceCapabilities.OutputRestrictions.personal_data instead. Whether the user has enabled payments for this device.", - "type": "boolean" - }, - "personalizationMetadata": { - "$ref": "AssistantApiSettingsPersonalizationMetadata", - "description": "Metadata about how personalization settings were configured." - }, - "politeMode": { - "$ref": "AssistantApiSettingsPoliteMode", - "deprecated": true, - "description": "Specify whether polite mode is enabled for this device. See go/pretty-please-dd." - }, - "postalCode": { - "type": "string" - }, - "reauthTrustedDeviceSettings": { - "$ref": "AssistantApiSettingsReauthTrustedDeviceSettings", - "deprecated": true, - "description": "Trusted device preferences Assistant reauth. go/assistant-reauth-verify-skip." - }, - "shortenedAddress": { - "description": "A human-readable shortened address. This is usually the street address. Note: client does not need to populate this. It will be auto-populated based on \"address\" field on server side. Developers can use this field to avoid reading out the full address everytime.", - "type": "string" - }, - "speakerIdEnabled": { - "description": "Indicates whether the user has enabled speaker-id for this device. See go/google-assistant-multi-user for more info on this project.", - "type": "boolean" - }, - "speechOutputSettings": { - "$ref": "AssistantApiSettingsSpeechOutputSettings", - "description": "Settings related to TTS output." - }, - "speechSettings": { - "$ref": "AssistantApiSettingsSpeechSettings", - "description": "Speech/hotword detection related settings." - }, - "supervisionSettings": { - "$ref": "AssistantApiSettingsDeviceSupervisionSettings", - "description": "Restrictions on how and when certain users can use a device. See go/home-ft-prd." - }, - "surfaceType": { - "$ref": "AssistantApiCoreTypesSurfaceType", - "description": "The type of assistant surface. Only use this field when device type is ASSISTANT." - }, - "tetheredInfo": { - "$ref": "AssistantApiSettingsTetheredInfo", - "description": "Presence indicates a tethered wearable. go/wearable-device-ids." - }, - "timeZone": { - "$ref": "AssistantApiTimeZone", - "description": "Device time zone. It's mainly used for a one-time notification for new users when they just bought and activated their devices. They may not have used Search or Assistant before, so their timezone info may not available elsewhere when we want to send a notification. This should be used as a fallback only when other timezone sources such as assistant_settings:user_attribute#inferred_user_timezone are not available. Also, when both |time_zone| and |location| are set, the |location| should be preferred to derive the most up to date timezone. This info directly comes from the device through early device setting recording mechanism. See more details at go/early-device-setting-recording." - }, - "truncatedLocalNetworkId": { - "description": "Local network ID of the device (truncated to obfuscate devices and households globally). This is a temporary signal to determine proximity of Assistant devices in a house (HGS place).", - "type": "string" - }, - "type": { - "description": "The type of the device. Note: this should only be used for grouping devices for UI presentation purpose. Use |capabilities| to decide what the device can do.", - "enum": [ - "UNKNOWN_DEVICE_TYPE", - "ASSISTANT", - "HOME_AUTOMATION", - "CAST", - "CAST_GROUP", - "QUARTZ", - "QUARTZ_IOS", - "CLOUD_AUTO" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "Quartz in AGSA", - "Quartz in iOPA", - "Non-assistant Auto devices from Cloud." - ], - "type": "string" - }, - "verboseTtsForChromecastEnabled": { - "description": "Indicates whether to play verbose tts for Elementary on chirp. See: go/opa-cast-a11y-impl-design fore more info on this project. Note: this should probably be in SpeechOutputSetting below.", - "type": "boolean" - }, - "vmLastUsedCoarseTimestamp": { - "description": "Coarsened hourly timestamp of when the user was last verified by VoiceMatch on this device. This is used for enforcing VoiceMatch model TTL. go/voicematch-pdd-ttl", - "format": "google-datetime", - "type": "string" - }, - "voiceEnrollmentStatus": { - "description": "Indicates whether the user's voice has been successfully enrolled on this device.", - "enum": [ - "VOICE_ENROLLMENT_UNKNOWN_STATUS", - "VOICE_ENROLLMENT_SUCCESS", - "VOICE_ENROLLMENT_FAILURE", - "VOICE_ENROLLMENT_PENDING" - ], - "enumDescriptions": [ - "User has no utterances and no speaker id model.", - "User has speaker id model.", - "User has utterances but no speaker id model (for ex. hotword was not detected in utterances).", - "Speaker id model generation is in-progress." - ], - "type": "string" - }, - "voiceInputEnabled": { - "description": "A boolean indicates whether voice input (mic-button, hotword, etc) is enabled.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSettingsDeviceSettingsCrossSurfaceAvailability": { - "id": "AssistantApiSettingsDeviceSettingsCrossSurfaceAvailability", - "properties": { - "lastKnownClientLocale": { - "description": "Last known locale of the client.", - "type": "string" - }, - "lastParamsWriteTimestamp": { - "description": "This is the timestamp when the AssistantRequestParams (in ASSISTANT_SNAPSHOT corpus) were last written for this device.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsDeviceSupervisionSettings": { - "id": "AssistantApiSettingsDeviceSupervisionSettings", - "properties": { - "downtimeSettings": { - "$ref": "AssistantApiSettingsDeviceDowntimeSettings", - "description": "Specification of times that a device shouldn't respond to certain users. See go/home-ft-prd." - }, - "featureFilters": { - "$ref": "AssistantApiSettingsDeviceFeatureFilters", - "description": "Restrictions on features that certain users can access on a device. See go/home-ft-prd." - } - }, - "type": "object" - }, - "AssistantApiSettingsDowntimePeriod": { - "description": "Specifies a period of up to 24 hours when downtime should be enabled, starting at certain time on a certain day of the week, and ending at a later time on either that day or the following day.", - "id": "AssistantApiSettingsDowntimePeriod", - "properties": { - "enabled": { - "description": "True if downtime should be enabled during this period.", - "type": "boolean" - }, - "endTime": { - "$ref": "GoogleTypeTimeOfDay", - "description": "Time of day that this downtime period should end. Required. If end_time \u003e start_time, end_time is relative to start_day. Otherwise, end_time is relative to the day after start_day. For example, start_day: MONDAY, start_time: 9 p.m., end_time: 6 a.m. means that the downtime period starts at 9 p.m. on Monday and ends at 6 a.m. on Tuesday." - }, - "startDay": { - "description": "The day of the week when this downtime period starts. Required.", - "enum": [ - "DAY_OF_WEEK_UNSPECIFIED", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ], - "enumDescriptions": [ - "The day of the week is unspecified.", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday" - ], - "type": "string" - }, - "startTime": { - "$ref": "GoogleTypeTimeOfDay", - "description": "Time of day that this downtime period should start. Required." - } - }, - "type": "object" - }, - "AssistantApiSettingsDowntimeSchedule": { - "description": "Specification of when downtime is enabled on different days of the week. Contains up to 7 DowntimePeriod messages, up to one per day of the week.", - "id": "AssistantApiSettingsDowntimeSchedule", - "properties": { - "enabled": { - "description": "True if this downtime schedule should be enabled.", - "type": "boolean" - }, - "periods": { - "description": "Downtime entries for the days of the week, in no particular order. There can be at most one period defined for each day of the week. Days of the week with no explicit period defined are treated as disabled, so the device is available all day (modulo an end time that may spill over from the previous day).", - "items": { - "$ref": "AssistantApiSettingsDowntimePeriod" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiSettingsDuoCallDeviceSettings": { - "description": "Duo related call settings on the device. Next ID: 5", - "id": "AssistantApiSettingsDuoCallDeviceSettings", - "properties": { - "allowKnockKnock": { - "description": "True if Duo Knock Kncok feature is enabled on the device.", - "type": "boolean" - }, - "shouldBeLinked": { - "description": "Boolean indicating if user has explicitly marked this device to be linked or not. This bit is used in case where unexpected errors occur and we have to check for account/device status and mark the device linked after verification.", - "type": "boolean" - }, - "state": { - "description": "The call state of the device (i.e. whether a Duo call account has been setup on the device).", - "enum": [ - "UNKNOWN_LINK_STATE", - "NOT_LINKED", - "LINKED", - "LINKED_WAITING", - "LINK_ERROR" - ], - "enumDescriptions": [ - "", - "The user chose not to link the app.", - "The user completed linking the app.", - "The user chose to link the app, but the linking has not completed yet.", - "There was some error in link state and link state should be refreshed by querying tachyon backend. But this does not guarantee that state will be linked after this request." - ], - "type": "string" - }, - "talkbackEnabled": { - "description": "Client device settings: settings which are populated by client to give to duocore. TalkBack is an accessibility service that helps blind and vision-impaired users interact with their devices. Indicates whether talkback is enabled for the device. Note: this is per device settings currently filled by client for all users.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSettingsFeatureFilters": { - "description": "Specification of which assistant features are allowed for a particular device or user account.", - "id": "AssistantApiSettingsFeatureFilters", - "properties": { - "communicationsFilter": { - "$ref": "AssistantApiSettingsCommunicationsFilter" - }, - "musicFilter": { - "$ref": "AssistantApiSettingsMusicFilter" - }, - "newsFilter": { - "$ref": "AssistantApiSettingsNewsFilter" - }, - "podcastFilter": { - "$ref": "AssistantApiSettingsPodcastFilter" - }, - "searchFilter": { - "$ref": "AssistantApiSettingsSearchFilter" - }, - "thirdPartyAppsFilter": { - "$ref": "AssistantApiSettingsThirdPartyAppsFilter" - }, - "videoFilter": { - "$ref": "AssistantApiSettingsVideoFilter" - }, - "webviewFilter": { - "$ref": "AssistantApiSettingsWebviewFilter" - } - }, - "type": "object" - }, - "AssistantApiSettingsGcmSettings": { - "id": "AssistantApiSettingsGcmSettings", - "properties": { - "gcmId": { - "type": "string" - }, - "gcmPackage": { - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsHomeGraphData": { - "description": "Next ID: 8", - "id": "AssistantApiSettingsHomeGraphData", - "properties": { - "agentId": { - "description": "Agent ID, aka project ID. Used as the AgentDeviceId.agent_id of device when calling Home Graph Service.", - "type": "string" - }, - "attributes": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "See go/ha-dev-guide and HomeGraphItem.attribute in //assistant/verticals/homeautomation/proto/home_graph.proto", - "type": "object" - }, - "deviceId": { - "description": "Device ID, used as AgentDeviceId.device_id of device when calling Home Graph Service.", - "type": "string" - }, - "deviceType": { - "description": "HGS device type. See java/com/google/home/graph/service/config/protoconf.pi for the exhaustive list of type strings.", - "type": "string" - }, - "shouldWriteToHomeGraph": { - "description": "Whether device data should be written to Home Graph via Assistant device_settings. Assistant SDK and Google Home write their devices into Home Graph through AssistantSettingsService, while Home Automation Partner devices (e.g. SmartThings, Philips Hue, Nest, TP-Link, etc.) don't need to be written to Home Graph through AssistantSettingsService. This field decides whether AssistantSettingsService writes devices to Home Graph or not.", - "type": "boolean" - }, - "supportedTraits": { - "description": "Supported traits of the device. See java/com/google/home/graph/service/config/protoconf.pi for the exhaustive list of trait-strings.", - "items": { - "type": "string" - }, - "type": "array" - }, - "supportsDirectResponse": { - "description": "Whether the device supports direct response. See HomeGraphItem.supports_direct_response in //assistant/verticals/homeautomation/proto/home_graph.proto", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSettingsHospitalityCardSettings": { - "id": "AssistantApiSettingsHospitalityCardSettings", - "properties": { - "cardConfig": { - "description": "Config for Hospitality UI modules.", - "items": { - "$ref": "AssistantApiSettingsHospitalityCardSettingsCardConfig" - }, - "type": "array" - }, - "showMediaTapGestureTutorial": { - "description": "Toggle media tap gesture tutorial card.", - "type": "boolean" - }, - "showPhotoSwipeGestureTutorial": { - "description": "Toggle photo swipe gesture tutorial card.", - "type": "boolean" - }, - "youtubeCardConfig": { - "description": "Config for YouTube video cards.", - "items": { - "$ref": "AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfig" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiSettingsHospitalityCardSettingsCardConfig": { - "description": "Configuration for hospitality card.", - "id": "AssistantApiSettingsHospitalityCardSettingsCardConfig", - "properties": { - "activeActionRequired": { - "deprecated": true, - "description": "Whether the UI module requires user action. If true, the UI module can peek on to the top of Ambient. See SmartDisplayModuleState::ACTIVE_ACTION_REQUIRED.", - "type": "boolean" - }, - "dismissable": { - "deprecated": true, - "description": "Whether the UI module is dismissable.", - "type": "boolean" - }, - "effectiveTime": { - "$ref": "AssistantApiTimestamp", - "description": "The time that the module is effective and visible to the user. If not set, the module is effective immediately." - }, - "expiryTime": { - "$ref": "AssistantApiTimestamp", - "description": "The time that the module is expired and invisible to the user. If not set, the module never expires." - }, - "imageUrl": { - "deprecated": true, - "description": "The image URL for the UI module.", - "type": "string" - }, - "moduleId": { - "description": "Module ID.", - "enum": [ - "UNKNOWN", - "MID_STAY_SURVEY", - "CHECK_OUT", - "CHECK_IN", - "RESET" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "payloadQuery": { - "deprecated": true, - "description": "Payload query to the partner AoG action when user responds to UI Module, e.g. “Tell the hotel how my stay is going”.", - "type": "string" - }, - "title": { - "deprecated": true, - "description": "Title of the message to be shown to user at the top of the UI Module.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfig": { - "description": "Configuration for YouTube video card (Stargazer tile).", - "id": "AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfig", - "properties": { - "imageUrl": { - "description": "URL of image to go on card. The URL must be a public link accessible from ZeroState.", - "type": "string" - }, - "playlistId": { - "description": "ID of YouTube playlist to play on card tap. A playlist is used instead of a single video id to avoid autoplaying related videos. The playlist and the videos it contains must be public or unlisted to be accessible from ZeroState.", - "type": "string" - }, - "text": { - "description": "Text on card (i.e., video title).", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsHospitalityMode": { - "description": "Hospitality mode config for the current device. go/hospitality-mode-design. Next ID: 17", - "id": "AssistantApiSettingsHospitalityMode", - "properties": { - "aogContextId": { - "description": "List of AOG app context ids that are linked to this device. These apps will have access to the structure information for the device.", - "items": { - "type": "string" - }, - "type": "array" - }, - "aogInvocationPhrase": { - "description": "Invocation phrase for hotel's AoG action. Used for ZS promotion card and \"talk to my hotel\" rewrites. Setting this to an empty value will mark it unset.", - "type": "string" - }, - "branding": { - "$ref": "AssistantApiSettingsHospitalityModeBranding" - }, - "cardSettings": { - "$ref": "AssistantApiSettingsHospitalityCardSettings" - }, - "deviceClearRequest": { - "$ref": "AssistantApiTimestamp", - "description": "The time when we received a request to reset the device." - }, - "dialogTtlOverrideMicros": { - "description": "Should the dialog have a shorter ttl. See go/ipp-consumer-prd#heading=h.ibu9b1ysdl4t and go/interpreter-device-clear#bookmark=id.hw8ey1bzjadn for context.", - "format": "int64", - "type": "string" - }, - "enterpriseId": { - "description": "Identifier for the enterprise which owns the device. Setting this to an empty value will mark it unset.", - "type": "string" - }, - "hospitalityModeEnabled": { - "description": "Indicates whether this device is in the hospitality mode.", - "type": "boolean" - }, - "lastDeviceClear": { - "$ref": "AssistantApiTimestamp", - "description": "Last time the device was cleared and placed in hospitality mode. Will be set when the switch is toggled on and reset when a guest checks out. On the device this triggers removing alarms, timers, etc." - }, - "lastModifiedTimestamp": { - "$ref": "AssistantApiTimestamp", - "description": "Indicates when hospitality settings were last updated." - }, - "lastWelcomed": { - "$ref": "AssistantApiTimestamp", - "description": "Last time the welcome message was played for the guest. If last_welcomed \u003c welcome_request, the message should be replayed and this time set." - }, - "manualResetRequired": { - "description": "Indicates whether or not the device must be reset manually (by voice or touch), as opposed to being automatically reset. go/hospitality-manual-reset", - "type": "boolean" - }, - "promotedLanguages": { - "description": "In order promoted languages for interpreter devices. This represents languages by BCP-47 language strings, such as \"en\", \"en-US\", \"fr\", \"fr-CA\", \"sr-Latn\", \"zh-Hans-CN\", \"zh-Hant-HK\",etc.", - "items": { - "type": "string" - }, - "type": "array" - }, - "type": { - "enum": [ - "UNKNOWN_TYPE", - "HOTEL_ROOM", - "INTERPRETER", - "SENIOR_LIVING_ROOM", - "RETAIL_DEMO" - ], - "enumDescriptions": [ - "", - "", - "go/hospitality-interpreter-mode", - "go/merrill-prd", - "go/assistant-retail-demo" - ], - "type": "string" - }, - "verbalResetSupported": { - "description": "Whether we allow users to initiate clearing the device verbally. We generally allow this for private devices and not for public ones.", - "type": "boolean" - }, - "welcomeRequest": { - "$ref": "AssistantApiTimestamp", - "description": "The time when we received a request to welcome the user." - } - }, - "type": "object" - }, - "AssistantApiSettingsHospitalityModeBranding": { - "description": "TODO(b/169423976) Consider moving Branding out of user level settings into enterprise level settings. Partner branding fields used to customize the ui. Next ID: 7", - "id": "AssistantApiSettingsHospitalityModeBranding", - "properties": { - "displayName": { - "description": "Brand display in the UI", - "type": "string" - }, - "displayNameForLanguage": { - "additionalProperties": { - "type": "string" - }, - "description": "Brand display in the UI for languages that the enterprise has a localized name that is different from its global branding name. For example, Hilton is 'ヒルトン' in Japanese and '希爾頓' in Chinese. The keys are hospitality supported display locales, e.g. en, ja-JP, etc, defined in experiment parameter Hospitality__hospitality_display_supported_locales.", - "type": "object" - }, - "largeLogoUrl": { - "type": "string" - }, - "smallLogoUrl": { - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsHotwordThresholdAdjustmentFactor": { - "description": "HotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and it's validity. value should only be considered when is_valid = true.", - "id": "AssistantApiSettingsHotwordThresholdAdjustmentFactor", - "properties": { - "isValid": { - "description": "Currently, is_valid is set to false whenever the TAF is not an Autotune aware value. This includes hotword sensitivity users, or devices not eligible for autotune.", - "type": "boolean" - }, - "value": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantApiSettingsInternalAncillaryDeviceId": { - "description": "Represents supporting device ids.", - "id": "AssistantApiSettingsInternalAncillaryDeviceId", - "properties": { - "deviceId": { - "$ref": "AssistantApiCoreTypesDeviceId", - "description": "Contains device ids known to devices. eg. For ATV, it contains client_instance_id and cast_id." - } - }, - "type": "object" - }, - "AssistantApiSettingsInternalVersion": { - "description": "Represents a version of a specifit setting, e.g. DeviceSettings.", - "id": "AssistantApiSettingsInternalVersion", - "properties": { - "generationTime": { - "description": "Contains the timestamp when this version was generated.", - "format": "google-datetime", - "type": "string" - }, - "id": { - "description": "Integer value of the version, it is a monotonically increasing number and starts at 0. On every update it is incremented by 1.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsKidsMode": { - "description": "Kids mode config for the current device. go/aff-parentalsupervision-dd", - "id": "AssistantApiSettingsKidsMode", - "properties": { - "kidsModeEnabled": { - "type": "boolean" - }, - "obfuscatedGaiaId": { - "description": "Identifier of the account currently specified to be used with kids mode.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsLabeledDowntimeSchedule": { - "id": "AssistantApiSettingsLabeledDowntimeSchedule", - "properties": { - "displayName": { - "description": "User-provided name for this schedule.", - "type": "string" - }, - "schedule": { - "$ref": "AssistantApiSettingsDowntimeSchedule" - } - }, - "type": "object" - }, - "AssistantApiSettingsLinkedUser": { - "description": "Represents the profile of the user who has signed in onto this device. Next id: 5", - "id": "AssistantApiSettingsLinkedUser", - "properties": { - "castLinkingTime": { - "description": "Time of linking of the device with the user provided by Cast.", - "format": "google-datetime", - "type": "string" - }, - "email": { - "description": "Primary email address of the user.", - "type": "string" - }, - "gaiaId": { - "format": "int64", - "type": "string" - }, - "names": { - "description": "Supports features which depend on profile name, when no matching contact is found.", - "items": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiName" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiSettingsMarketplaceDisclosure": { - "id": "AssistantApiSettingsMarketplaceDisclosure", - "properties": { - "confirmed": { - "description": "True if the user has confirmed the marketplace disclosure.", - "type": "boolean" - }, - "timestampMs": { - "description": "The time user confirmed the marketplace disclosure.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsMasqueradeMode": { - "description": "Guest mode for the current device. go/assistant-guest-mode-summary", - "id": "AssistantApiSettingsMasqueradeMode", - "properties": { - "lastEnterGuestModeTimestamp": { - "$ref": "AssistantApiTimestamp" - }, - "lastExitGuestModeTimestamp": { - "$ref": "AssistantApiTimestamp" - }, - "masqueradeModeEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSettingsMusicFilter": { - "description": "Specification of which music features can be used.", - "id": "AssistantApiSettingsMusicFilter", - "properties": { - "availableProviders": { - "description": "Providers available at the time user updated settings.", - "items": { - "enum": [ - "UNKNOWN_MUSIC_PROVIDER", - "YOUTUBE_MUSIC", - "GOOGLE_PLAY_MUSIC", - "SPOTIFY", - "APPLE_MUSIC", - "PANDORA" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "providerFilterState": { - "description": "Represents the state for the music provider filter.", - "enum": [ - "UNKNOWN_STATE", - "ALLOW_ALL_PROVIDERS", - "ALLOW_WHITELISTED_PROVIDERS" - ], - "enumDescriptions": [ - "", - "With this state, all music providers are allowed.", - "This limits the allowed providers to the whitelisted ones. This means that we can block all providers if the whitelist is empty." - ], - "type": "string" - }, - "state": { - "enum": [ - "UNKNOWN_STATE", - "ALLOW_ALL", - "BLOCK_EXPLICIT", - "BLOCK_ALL" - ], - "enumDescriptions": [ - "", - "Allow all music.", - "Block music with explicit lyrics.", - "Block all music." - ], - "type": "string" - }, - "whitelistedProviders": { - "description": "Contains the list of whitelisted music providers.", - "items": { - "enum": [ - "UNKNOWN_MUSIC_PROVIDER", - "YOUTUBE_MUSIC", - "GOOGLE_PLAY_MUSIC", - "SPOTIFY", - "APPLE_MUSIC", - "PANDORA" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiSettingsNewsFilter": { - "description": "Specification of which news features can be used.", - "id": "AssistantApiSettingsNewsFilter", - "properties": { - "state": { - "enum": [ - "UNKNOWN_STATE", - "ALLOW_ALL_NEWS", - "BLOCK_ALL_NEWS" - ], - "enumDescriptions": [ - "", - "Allow all news.", - "Block all news." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsNotificationProfile": { - "id": "AssistantApiSettingsNotificationProfile", - "properties": { - "alloNotificationProfile": { - "$ref": "AssistantApiSettingsNotificationProfileAlloNotificationProfile", - "description": "Each device can have only one type of notification profile." - } - }, - "type": "object" - }, - "AssistantApiSettingsNotificationProfileAlloNotificationProfile": { - "id": "AssistantApiSettingsNotificationProfileAlloNotificationProfile", - "properties": { - "botSendToken": { - "$ref": "ChatBotPlatformBotSendToken", - "description": "The send token of the conversation with the user." - }, - "id": { - "$ref": "ChatBotPlatformFireballId", - "description": "The fireball id of this user." - } - }, - "type": "object" - }, - "AssistantApiSettingsOnDeviceAppSettings": { - "id": "AssistantApiSettingsOnDeviceAppSettings", - "properties": { - "carrierCallDeviceSettings": { - "$ref": "AssistantApiSettingsCarrierCallDeviceSettings", - "description": "On device carrier call related settings." - }, - "duoCallDeviceSettings": { - "$ref": "AssistantApiSettingsDuoCallDeviceSettings", - "description": "On device duo call related settings." - } - }, - "type": "object" - }, - "AssistantApiSettingsPersonalizationMetadata": { - "id": "AssistantApiSettingsPersonalizationMetadata", - "properties": { - "faceMatch": { - "enum": [ - "PERSONALIZATION_FLOW_UNKNOWN", - "PERSONALIZATION_FLOW_DEVICE", - "PERSONALIZATION_FLOW_TWOOBE", - "PERSONALIZATION_FLOW_SLA", - "PERSONALIZATION_FLOW_DEVICE_DELEGATED_CUSTODIO" - ], - "enumDescriptions": [ - "", - "", - "TWOOBE: go/twoobe-prd", - "SLA: go/sla-prd", - "Custodio: go/assistant-pc-prd" - ], - "type": "string" - }, - "personalResults": { - "enum": [ - "PERSONALIZATION_FLOW_UNKNOWN", - "PERSONALIZATION_FLOW_DEVICE", - "PERSONALIZATION_FLOW_TWOOBE", - "PERSONALIZATION_FLOW_SLA", - "PERSONALIZATION_FLOW_DEVICE_DELEGATED_CUSTODIO" - ], - "enumDescriptions": [ - "", - "", - "TWOOBE: go/twoobe-prd", - "SLA: go/sla-prd", - "Custodio: go/assistant-pc-prd" - ], - "type": "string" - }, - "voiceMatch": { - "enum": [ - "PERSONALIZATION_FLOW_UNKNOWN", - "PERSONALIZATION_FLOW_DEVICE", - "PERSONALIZATION_FLOW_TWOOBE", - "PERSONALIZATION_FLOW_SLA", - "PERSONALIZATION_FLOW_DEVICE_DELEGATED_CUSTODIO" - ], - "enumDescriptions": [ - "", - "", - "TWOOBE: go/twoobe-prd", - "SLA: go/sla-prd", - "Custodio: go/assistant-pc-prd" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsPodcastFilter": { - "description": "Specification of which podcast features can be used.", - "id": "AssistantApiSettingsPodcastFilter", - "properties": { - "state": { - "enum": [ - "UNKNOWN_STATE", - "ALLOW_ALL_PODCASTS", - "BLOCK_ALL_PODCASTS", - "BLOCK_EXPLICIT_PODCASTS" - ], - "enumDescriptions": [ - "", - "Allow all podcasts.", - "Block all podcasts.", - "Block explicit podcasts." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsPoliteMode": { - "description": "Polite mode config for the current device. go/polite-mode-dd", - "id": "AssistantApiSettingsPoliteMode", - "properties": { - "politeModeEnabled": { - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSettingsReauthTrustedDeviceSettings": { - "description": "Settings related to Assistant reauth. go/assistant-reauth-verify-skip Next id: 2", - "id": "AssistantApiSettingsReauthTrustedDeviceSettings", - "properties": { - "trustSettingsForClient": { - "additionalProperties": { - "$ref": "AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettings" - }, - "description": "Mapping from integrator client id to device's trust settings. Id from assistant/agent_platform/transactions/reauth/reauth_client.proto.", - "type": "object" - } - }, - "type": "object" - }, - "AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettings": { - "description": "Next id: 6", - "id": "AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettings", - "properties": { - "neverAskAgain": { - "description": "If true, don't ask user to trust this device again.", - "type": "boolean" - }, - "neverAskExpirationTimestamp": { - "deprecated": true, - "description": "DEPRECATED: Use never_ask_again instead. Expiration timestamp of \"never ask again\" status. If this field is set and is later than current timestamp, we should NOT ask the user whether they'd like to trust this device.", - "format": "google-datetime", - "type": "string" - }, - "trustDeviceExpirationTimestamp": { - "description": "Expiration timestamp of \"trusted\" status. If this field is set and is later than current timestamp, we can consider this device to be trusted.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsSearchFilter": { - "description": "Specification of which search features can be used.", - "id": "AssistantApiSettingsSearchFilter", - "properties": { - "state": { - "enum": [ - "UNKNOWN_STATE", - "ALLOW_SAFE_SEARCH", - "BLOCK_SEARCH" - ], - "enumDescriptions": [ - "", - "Allow only safe search for the Assistant.", - "Block (almost) all search features. Some \"safe\" features that users wouldn't consider search (like calculator) are still allowed in this mode." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsSpeechOutputSettings": { - "description": "Settings related to TTS output.", - "id": "AssistantApiSettingsSpeechOutputSettings", - "properties": { - "speechOutput": { - "enum": [ - "UNSPECIFIED", - "VERBOSE", - "MIN_VERBOSITY", - "HANDS_FREE_ONLY" - ], - "enumDescriptions": [ - "", - "Provide speech output most of the time.", - "Optimize where to provide speech output.", - "Provide speech output only in hands-free mode. No TTS will be provided otherwise." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsSpeechSettings": { - "description": "Settings related to speech detection. See go/hotword-settings-on-cloud for more info. Next ID: 16", - "id": "AssistantApiSettingsSpeechSettings", - "properties": { - "continuedConversationEnabled": { - "description": "Indicates whether Continued Conversation is enabled for this device.", - "type": "boolean" - }, - "deviceModelType": { - "description": "Stores the device model type e.g Pixel.", - "type": "string" - }, - "dspAvailable": { - "description": "Whether the device has DSP chip to enable always on hotword detection.", - "type": "boolean" - }, - "hotwordInNavigationEnabled": { - "description": "Whether hotword has been enabled by the user during navigation.", - "enum": [ - "UNAVAILABLE", - "ENABLED", - "DISABLED", - "UNDECIDED", - "OPA_DISABLED", - "UNSUPPORTED_LOCALE", - "INCOMPLETE", - "ENABLED_WITHOUT_OPA_AVAILABILITY" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true, - false, - true - ], - "enumDescriptions": [ - "Setting is unavailable to the user.", - "Setting is available and enabled by the user.", - "Setting is available but disabled by the user.", - "Setting is available, but user never touched this setting.", - "Setting is disabled because Opa is disabled by user.", - "Setting is unavailable because the locale is unsupported. Deprecated, use voice_match_available", - "Setting is incomplete, see go/hotword-incomplete-state", - "Setting is enabled by user without opa availability. go/no-opa-yes-vm" - ], - "type": "string" - }, - "hotwordSetting": { - "description": "Stores hotword setting status for the locales which don't support voice match.", - "enum": [ - "UNAVAILABLE", - "ENABLED", - "DISABLED", - "UNDECIDED", - "OPA_DISABLED", - "UNSUPPORTED_LOCALE", - "INCOMPLETE", - "ENABLED_WITHOUT_OPA_AVAILABILITY" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true, - false, - true - ], - "enumDescriptions": [ - "Setting is unavailable to the user.", - "Setting is available and enabled by the user.", - "Setting is available but disabled by the user.", - "Setting is available, but user never touched this setting.", - "Setting is disabled because Opa is disabled by user.", - "Setting is unavailable because the locale is unsupported. Deprecated, use voice_match_available", - "Setting is incomplete, see go/hotword-incomplete-state", - "Setting is enabled by user without opa availability. go/no-opa-yes-vm" - ], - "type": "string" - }, - "lockscreenEnabled": { - "description": "Whether pin/pattern lockscreen has been enabled by the user.", - "type": "boolean" - }, - "opaEligibilityState": { - "description": "Stores if Assistant is available for the user's device/locale, where Enabled means it is available and disabled means it is not.", - "enum": [ - "UNAVAILABLE", - "ENABLED", - "DISABLED", - "UNDECIDED", - "OPA_DISABLED", - "UNSUPPORTED_LOCALE", - "INCOMPLETE", - "ENABLED_WITHOUT_OPA_AVAILABILITY" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true, - false, - true - ], - "enumDescriptions": [ - "Setting is unavailable to the user.", - "Setting is available and enabled by the user.", - "Setting is available but disabled by the user.", - "Setting is available, but user never touched this setting.", - "Setting is disabled because Opa is disabled by user.", - "Setting is unavailable because the locale is unsupported. Deprecated, use voice_match_available", - "Setting is incomplete, see go/hotword-incomplete-state", - "Setting is enabled by user without opa availability. go/no-opa-yes-vm" - ], - "type": "string" - }, - "opaEligible": { - "deprecated": true, - "description": "Stores if Assistant is available for the user's device/locale. Deprecated as bools do not give accurate true/false ratios due to old clients reporting the default value.", - "type": "boolean" - }, - "sdkVersion": { - "description": "Stores the Android SDK version. This comes from android.os.Build.VERSION.SDK_INT.", - "format": "int32", - "type": "integer" - }, - "speakerIdModelPresent": { - "description": "Whether speaker ID model is present for the user.", - "type": "boolean" - }, - "speakerIdRecognitionEnabled": { - "deprecated": true, - "description": "Indicates whether the user has enabled speaker-id (fromAnyScreen/alwaysOn) for this device. Deprecated - use voice_match_setting instead", - "type": "boolean" - }, - "trustedVoiceEnabled": { - "description": "Indicates whether the user has enabled trusted voice for this device.", - "type": "boolean" - }, - "unlockWithHotwordAvailable": { - "description": "A bool indicating whether device supports unlocking device with hotword.", - "type": "boolean" - }, - "userMigratedToDeclined": { - "description": "Stores if user was migrated from undecided to declined as apart of Mariko project. Used for potential growth targeting.", - "type": "boolean" - }, - "voiceMatchSetting": { - "description": "Stores the hotword/voice match setting status for the locales which support voice match.", - "enum": [ - "UNAVAILABLE", - "ENABLED", - "DISABLED", - "UNDECIDED", - "OPA_DISABLED", - "UNSUPPORTED_LOCALE", - "INCOMPLETE", - "ENABLED_WITHOUT_OPA_AVAILABILITY" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true, - false, - true - ], - "enumDescriptions": [ - "Setting is unavailable to the user.", - "Setting is available and enabled by the user.", - "Setting is available but disabled by the user.", - "Setting is available, but user never touched this setting.", - "Setting is disabled because Opa is disabled by user.", - "Setting is unavailable because the locale is unsupported. Deprecated, use voice_match_available", - "Setting is incomplete, see go/hotword-incomplete-state", - "Setting is enabled by user without opa availability. go/no-opa-yes-vm" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsTetheredInfo": { - "id": "AssistantApiSettingsTetheredInfo", - "properties": { - "primaryHostDeviceId": { - "description": "The host this wearable is tethered to (e.g. phone). When host is AGSA then this is agsa_client_instance_id. When host is IOPA then this is opa_ios_device_id.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsThirdPartyAppsFilter": { - "description": "Specification of which third party apps can be used.", - "id": "AssistantApiSettingsThirdPartyAppsFilter", - "properties": { - "state": { - "enum": [ - "UNKNOWN_STATE", - "ALLOW_ALL", - "ALLOW_CERTIFIED_FOR_FAMILIES", - "BLOCK_ALL" - ], - "enumDescriptions": [ - "", - "Allow all third party apps.", - "Only allow certified Apps for Families. See https://developers.google.com/actions/apps-for-families/.", - "Block all third party apps." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSettingsVideoFilter": { - "description": "Specification of which video features can be used.", - "id": "AssistantApiSettingsVideoFilter", - "properties": { - "autoplayToggleState": { - "description": "State that indicates whether autoplay is enabled for youtube videos.", - "enum": [ - "UNKNOWN_STATE", - "ENABLED", - "DISABLED" - ], - "enumDescriptions": [ - "Default uninitialized state.", - "Allow autoplay for youtube videos.", - "Disable autoplay for youtube videos." - ], - "type": "string" - }, - "availableProviders": { - "description": "Providers available at the time user updated settings.", - "items": { - "enum": [ - "UNKNOWN_VIDEO_PROVIDER", - "YOUTUBE", - "YOUTUBE_TV", - "YOUTUBE_KIDS" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "providerFilterState": { - "description": "Represents the state for the video provider filter.", - "enum": [ - "UNKNOWN_STATE", - "ALLOW_ALL_PROVIDERS", - "ALLOW_WHITELISTED_PROVIDERS" - ], - "enumDescriptions": [ - "", - "With this state, all video providers are allowed.", - "This limits the allowed providers to the whitelisted ones. This means that we can block all providers if the whitelist is empty." - ], - "type": "string" - }, - "state": { - "enum": [ - "UNKNOWN_STATE", - "ALLOW_ALL", - "BLOCK_MATURE_CONTENT", - "BLOCK_ALL" - ], - "enumDescriptions": [ - "", - "Allow all videos.", - "Block videos with mature content.", - "Block all videos." - ], - "type": "string" - }, - "whitelistedProviders": { - "description": "Contains the list of whitelisted video providers.", - "items": { - "enum": [ - "UNKNOWN_VIDEO_PROVIDER", - "YOUTUBE", - "YOUTUBE_TV", - "YOUTUBE_KIDS" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiSettingsWebviewFilter": { - "description": "Specification of which webview features can be used.", - "id": "AssistantApiSettingsWebviewFilter", - "properties": { - "jasperWebviewConsent": { - "description": "Indicates if user has consented Jasper warning message.", - "type": "boolean" - }, - "state": { - "enum": [ - "UNKNOWN_STATE", - "ALLOW_ALL_WEBSITES", - "BLOCK_ALL_WEBSITES" - ], - "enumDescriptions": [ - "", - "Allow all websites.", - "Block all websites." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSignInMethod": { - "description": "The method of sign in which the client supports.", - "id": "AssistantApiSignInMethod", - "properties": { - "method": { - "enum": [ - "UNSPECIFIED", - "NOT_ALLOWED", - "PHONE_APP", - "ON_DEVICE_MENU", - "WEB_APP" - ], - "enumDescriptions": [ - "Unspecified value. Defaults to the same sign-in behavior as PHONE_APP.", - "Sign in is not allowed, e.g., go/telephone.", - "Sign in with Home app, e.g. Google Home.", - "Sign in with on device menu, e.g., LGTV, go/web-assistant", - "Sign in with the Assistant sign in website. See go/baird-web-based-sign-in." - ], - "type": "string" - }, - "signInRequired": { - "description": "Make Google sign-in mandatory for using Google Assistant on the device.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSodaCapabilities": { - "description": "Capabilities related to SODA (Speech On-Device API). Next ID: 5", - "id": "AssistantApiSodaCapabilities", - "properties": { - "supportsHotwordSensitivity": { - "description": "Whether the device supports different levels of hotword sensitivity. go/hotword-sensitivity-prd", - "type": "boolean" - }, - "supportsSimpleStop": { - "description": "Whether Simple Stop (go/simple-stop) is enabled on the device. Simple stop allows users to stop firing alarms and timers by just saying \"stop\" without first saying the hotword.", - "type": "boolean" - }, - "supportsSpeakerId": { - "description": "Whether the device supports speaker-id (speaker identification based on hotword and/or spoken query - go/speaker-id). Note: there are existing devices that support speaker-id but does not have this capability set. Not having this field populated doesn't necessarily mean the device doesn't support speaker-id.", - "type": "boolean" - }, - "supportsWarmWords": { - "description": "Whether the device supports WarmWords (go/warm-words-framework).", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSoftwareCapabilities": { - "description": "These capabilities represent what software features the client supports. This should be determined based on the client's various software versions (OS, GSA version, etc). Next ID: 28", - "id": "AssistantApiSoftwareCapabilities", - "properties": { - "appCapabilities": { - "description": "IMPORTANT: Only one of AppCapabilities and AppCapabilitiesDelta should be in the SoftwareCapabilities. In the edge case if the client sends up both AppCapabilities and AppCapabilitiesDelta, AppCapabilitiesDelta is ignored. Complete list of app capabilities.", - "items": { - "$ref": "AssistantApiAppCapabilities" - }, - "type": "array" - }, - "appCapabilitiesDelta": { - "description": "Incremental update for app capabilities.", - "items": { - "$ref": "AssistantApiAppCapabilitiesDelta" - }, - "type": "array" - }, - "appIntegrationsSettings": { - "additionalProperties": { - "$ref": "AssistantApiAppIntegrationsSettings" - }, - "description": "App integrations settings for each packge name.", - "type": "object" - }, - "carAssistantCapabilities": { - "$ref": "AssistantApiCarAssistantCapabilities", - "description": "Capabilities related to Assistant on Auto surfaces." - }, - "clockCapabilities": { - "$ref": "AssistantApiClockCapabilities", - "description": "Capabilities related to clock functionality, like alarms, timers, etc." - }, - "conversationVersion": { - "$ref": "AssistantApiSupportedConversationVersion", - "description": "A top-level version of Conversation protocol where the versions are explicitly defined at go/conversation-versions." - }, - "crossDeviceExecutionCapabilities": { - "$ref": "AssistantApiCrossDeviceExecutionCapability", - "description": "For torus x-device execution support" - }, - "gacsCapabilities": { - "$ref": "AssistantApiGacsCapabilities" - }, - "gcmCapabilities": { - "$ref": "AssistantApiGcmCapabilities" - }, - "liveTvChannelCapabilities": { - "$ref": "AssistantApiLiveTvChannelCapabilities", - "description": "Capabilities related to live TV channels." - }, - "oemCapabilities": { - "$ref": "AssistantApiOemCapabilities", - "description": "List of actions OEM supports. This includes built-in actions and custom actions." - }, - "onDeviceAssistantCapabilities": { - "$ref": "AssistantApiOnDeviceAssistantCapabilities", - "description": "on-device Assistant capabilities" - }, - "onDeviceSmartHomeCapabilities": { - "$ref": "AssistantApiOnDeviceSmartHomeCapabilities", - "description": "Capability bits for on-device Smart Home. go/framework-for-local-semex" - }, - "onDeviceStorageCapabilities": { - "$ref": "AssistantApiOnDeviceStorageCapabilities", - "description": "Reflects the storage capabilities on the device." - }, - "operatingSystem": { - "description": "The operating system of the device.", - "enum": [ - "OS_TYPE_UNKNOWN", - "OS_TYPE_ANDROID", - "OS_TYPE_CAST", - "OS_TYPE_FUCHSIA", - "OS_TYPE_LINUX" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "orderedLiveTvProviders": { - "description": "An ordered list containing the live tv providers available in the client. The order of the providers reflects the ranking in the client and will be respected by server as well.", - "items": { - "$ref": "AssistantApiLiveTvProvider" - }, - "type": "array" - }, - "robinCapabilities": { - "$ref": "AssistantApiRobinCapabilities", - "description": "Capabilities of Robin client." - }, - "selinaCapabilities": { - "$ref": "AssistantApiSelinaCapabilites", - "description": "The Soli capabilities on Elaine. go/dingo-dc-software" - }, - "settingsAppCapabilities": { - "$ref": "AssistantApiSettingsAppCapabilities" - }, - "supportedClientOp": { - "items": { - "$ref": "AssistantApiSupportedClientOp" - }, - "type": "array" - }, - "supportedFeatures": { - "$ref": "AssistantApiSupportedFeatures" - }, - "supportedMsgVersion": { - "$ref": "AssistantApiSupportedProtocolVersion" - }, - "supportedProviderTypes": { - "$ref": "AssistantApiSupportedProviderTypes" - }, - "surfaceProperties": { - "$ref": "AssistantApiSurfaceProperties" - } - }, - "type": "object" - }, - "AssistantApiSpeechCapabilities": { - "description": "DEPRECATED These capabilities are associated with speech detection on devices.", - "id": "AssistantApiSpeechCapabilities", - "properties": { - "dspAvailable": { - "description": "A bool indicating whether device supports dsp based hotword detection.", - "type": "boolean" - }, - "unlockWithHotwordAvailable": { - "description": "A bool indicating whether device supports unlocking device with hotword.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSuggestionsSupport": { - "description": "Next ID: 18", - "id": "AssistantApiSuggestionsSupport", - "properties": { - "clickImpersonationSupported": { - "description": "Whether client supports user impersonation on suggestion chip click. go/suggestion-click-impersonation", - "type": "boolean" - }, - "debugDataSupported": { - "description": "Whether client supports suggestions debug data to be displayed.", - "type": "boolean" - }, - "drlHistoryChipSupported": { - "description": "Whether DRL history chip is supported. Related bug: http://b/241837879, http://b/171854732 Design doc: http://go/panthera-history-chip-dd DRL history chip was originally rolled out to Panthera in http://google3/googledata/experiments/mobile/agsa/studies/agsa_nga/opa_panthera_one_input_ui_launch.gcl?l=55\u0026rcl=384682900. We plan to roll it out to NGA and TNG. drl_history_chip_supported bit specifies whether the client support (and should have) DRL history chip.", - "type": "boolean" - }, - "escapeHatchSupported": { - "description": "Whether client supports escape hatches aka post execution suggestions go/nga-escape-hatch-prd", - "enum": [ - "UNSUPPORTED", - "NGA_ESCAPE_HATCH" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "executedTextSupported": { - "description": "Whether the client can rewrite suggestion query text into executed text, if the latter is present. If this feature is disabled, the rewrite happens in Assistant Server.", - "type": "boolean" - }, - "executionContextSupported": { - "description": "Whether the client supports passing back `execution_context` from |assistant.api.client_op.SuggestionProcessingParams| when the suggestion is clicked or spoken.", - "type": "boolean" - }, - "featureSpecificActionSupport": { - "$ref": "AssistantApiFeatureSpecificActionSupport", - "description": "Whether the client supports features in |SuggestionFeatureSpecificAction|." - }, - "featureSpecificAppActionsNotificationSupported": { - "description": "Whether the client supports handling App Actions' notification when the suggestion is clicked. This will allow the server to populate the `app_actions_notification_data` extension field from |SuggestionFeatureSpecificAction| proto message.", - "type": "boolean" - }, - "multiStepTrySayingSupported": { - "description": "Whether the multi-step try saying suggestion feature is supported. dd: go/tng-multi-step-simplified", - "type": "boolean" - }, - "ruleIdInExecutionContextSupported": { - "description": "Whether the rule_id field in the execution_context is supported. This is a temporary workaround to be able to identify clicks on Person entity suggestions on Sabrina and is expected to be eventually deprecated. TODO(b/185517153) : Deprecate (but do not delete) once click tracking is correctly sent up from the Katniss client.", - "type": "boolean" - }, - "showExecutedTextSupported": { - "description": "Whether the client can show executed_text after the click on the suggestion chip. Must be set to false on TNG. TNG disregards |SuggestionProcessingParams.show_executed_text| field and always treats it as if |show_executed_text=true|.", - "type": "boolean" - }, - "showTranslationSupported": { - "description": "Whether the client can show chip as (text | translation). go/lang-partner-doc", - "type": "boolean" - }, - "supportedDisplayTargets": { - "description": "A list of suggestions display targets supported by this client. If unset only DEFAULT SuggestionDisplayTarget is supported.", - "items": { - "$ref": "AssistantApiSuggestionsSupportDisplayTargetSupport" - }, - "type": "array" - }, - "widgetDataSupported": { - "description": "Whether client supports widget suggestion chip to be displayed.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSuggestionsSupportDisplayTargetSupport": { - "id": "AssistantApiSuggestionsSupportDisplayTargetSupport", - "properties": { - "executedTextSupported": { - "description": "Whether the client can rewrite suggestion query text into executed text, if the latter is present for the display target.", - "type": "boolean" - }, - "headerTextSupported": { - "description": "Whether PresentationParams.header_text is supported for the display target.", - "type": "boolean" - }, - "repressImpressionSupported": { - "description": "Whether Suggestion.repress_impression is supported. If not repressed suggestions are not returned.", - "type": "boolean" - }, - "target": { - "description": "Display target that is supported.", - "enum": [ - "DEFAULT", - "NGA_INPUT_PLATE", - "CONVERSATION_STARTERS", - "QUICK_ACTIONS", - "TACTILE_ASSISTANT_SUGGESTS", - "TACTILE_MY_ACTIONS", - "TRY_SAYING", - "RICH_SUGGESTIONS" - ], - "enumDeprecated": [ - false, - false, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "Use the default display target.", - "Show Escape Hatch chips. The chips are displayed outside of response layer for example over app that query was fulfilled in.", - "Show chips as Conversation Starters in Opa and Panthera.", - "Show chips as Panthera quick actions (go/quick-actions-dd).", - "Show chips in Tactile \"Assistant Suggests\" section.", - "Show chips in Tactile \"My Actions\" section.", - "Show chips as \"Try Saying\" suggestions.", - "Show suggestions as rich suggestions and chips; go/prs-redesign-dd" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSunriseFeaturesSupport": { - "id": "AssistantApiSunriseFeaturesSupport", - "properties": { - "sunriseSimulationSupported": { - "description": "If true, the device can slowly brighten the screen and simulate sunrise experience. Alarms with sunrise field enabled can be set on this device.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSupportedClientOp": { - "description": "These are the set of ClientOps that are supported by the device.", - "id": "AssistantApiSupportedClientOp", - "properties": { - "clientOpName": { - "description": "This should be the same as the name of the SemanticClientOp that is supported.", - "type": "string" - }, - "clientOpProperties": { - "$ref": "AssistantApiProtobuf", - "description": "The properties associated with the ClientOp. This proto should be associated with the client_op_name." - }, - "supportedExecution": { - "$ref": "AssistantApiSupportedClientOpSupportedExecution" - }, - "version": { - "description": "A version of 0 is the equivalent to not having support for that client_op type. Note that a client_op is also unsupported if it is not included at all in the list of supported client_ops.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantApiSupportedClientOpSupportedExecution": { - "description": "Additional properties that client can support for executing the client op. They are surface-specific execution properties and are unrelated to the execution model.", - "id": "AssistantApiSupportedClientOpSupportedExecution", - "properties": { - "supportsPartialFulfillment": { - "description": "ClientOp execution supports special rendering behavior while the user is in the middle of expressing their query. This behavior includes: 1) New partial output always over-writes prior partial output. 2) Canceling the interaction removes partial fulfilment from any user visible interaction history. If this is true, whether to apply the special rendering behavior will be determined by PartialFulfillmentRenderingParams. More details can be found at go/ma-natcon-pf-api.", - "type": "boolean" - }, - "supportsSynchronousExecution": { - "description": "Client can support synchronous execution of the client op. For tts.OUTPUT client op it means that client would honor |synchronous_playback_args| argument. Please see more at go/synchronous-sounds-design.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSupportedConversationVersion": { - "description": "The overall Conversation Protocol version. As we make fundamental changes to Conversation protocol that are non-backwards compatible, we will increment the protocol version. By default, all clients will support version 0. All versions are documented at go/conversation-versions.", - "id": "AssistantApiSupportedConversationVersion", - "properties": { - "supportsConversationProtocol": { - "description": "Whether conversation protocol is supported explicitly. If true, SingleDeviceCapabilityChecker::SupportsConversationProtocol will always return true.", - "type": "boolean" - }, - "version": { - "description": "The supported version number.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantApiSupportedFeatures": { - "description": "These are the set of features that are supported by the device. It's a part of the SoftwareCapabilities of the device. Next ID: 69", - "id": "AssistantApiSupportedFeatures", - "properties": { - "aaeNotificationSourceSupported": { - "description": "Whether the client supports the alternative message notification sources on AAE, in which case notification-related operations can access it.", - "type": "boolean" - }, - "acpSupport": { - "$ref": "AssistantApiAssistantContinuedPresenceSupport", - "description": "In what way is assistant continued presence supported. (go/opa-acp-prd)" - }, - "actionV2SupportedFeatures": { - "$ref": "AssistantApiActionV2SupportedFeatures" - }, - "alarmTimerManagerApiSupported": { - "description": "Whether the client supports AlarmTimerManager API (go/alarm-timer-manager-api).", - "type": "boolean" - }, - "appControlSupport": { - "$ref": "AssistantApiAppControlSupport", - "description": "The client information for app control support. More details in: go/acaia." - }, - "assistantExploreSupported": { - "description": "Whether the client supports the assistant explore section. This field will be active only when the Explore section is available to the user. This means that the user is (a) signed-in, (b) a IOPA / AGSA user, and (c) in a locale where explore is available.", - "type": "boolean" - }, - "assistantForKidsSupported": { - "description": "Whether Assistant for Kids (a.k.a. Designed for Family) features are supported.", - "type": "boolean" - }, - "bypassDiDcCheckForComms": { - "description": "Whether communications flows for the client can bypass the DI/DC check. The client will enforce some other equivalent permission as necessary concerning access to device contacts and apps.", - "type": "boolean" - }, - "bypassMsgNotificationDismissal": { - "description": "Whether or not Assistant should enforce the dismissal of communication notifications associated with messages.", - "type": "boolean" - }, - "client1mProvidersSupported": { - "description": "Whether the client supports 1m providers (go/1m-partner-expansion).", - "type": "boolean" - }, - "clientOpResultBatchingSupported": { - "description": "Whether the client can batch client op results before sending them to the server.", - "type": "boolean" - }, - "confirmationBeforeReadingMultipleMessagesSupported": { - "description": "Whether the client supports confirmation flow before announcement of multiple messages. If set to true the user will be prompted once and confirmation will be taken before all the messages are announced.", - "type": "boolean" - }, - "conversationalCareSupported": { - "description": "Whether the client can render conversational care responses. go/conversational-care", - "type": "boolean" - }, - "crossDeviceBroadcastSupported": { - "deprecated": true, - "description": "Whether the client supports cross-device broadcast (i.e. on Torus).", - "type": "boolean" - }, - "crossDeviceBroadcastVersion": { - "description": "The version of cross device broadcast (ie; broadcast on torus) which the client supports.", - "enum": [ - "CROSS_DEVICE_BROADCAST_NOT_SUPPORTED", - "CROSS_DEVICE_BROADCAST_V1" - ], - "enumDescriptions": [ - "Broadcast with torus is not supported on this device.", - "This device supports the cross device broadcast V1 features." - ], - "type": "string" - }, - "csatVisualOverlaySupported": { - "description": "Whether the client supports csat visual overlay. (go/sd-od-csat)", - "type": "boolean" - }, - "duoClientApiFeatures": { - "description": "The features set which duo client on the device supports. This should be serialized from proto {@code duo_client_api.DuoClientApiFeatures}.", - "format": "byte", - "type": "string" - }, - "duoGroupCallingSupported": { - "description": "Whether the client supports Duo group calling.", - "type": "boolean" - }, - "fitnessFeatureSupport": { - "$ref": "AssistantApiFitnessFeatureSupport", - "description": "Information about what support this device has for fitness." - }, - "fluidActionsSupport": { - "$ref": "AssistantApiFluidActionsSupport", - "description": "Fluid Actions features supported by the client. If this field is not set in the incoming request, it could mean that the client does not support Fluid Actions. Alternatively, it could mean that the client supports Fluid Actions, but syncs state with server using the old protocol, namely ConversationStateParams. When b/140733618 is resolved, Surface Adaptation Layer will add this field for old clients that support Fluid Actions framework." - }, - "funtimeSupported": { - "description": "Whether the surface client op performer supports Funtime alarms and timers. go/funtime-engdesign", - "type": "boolean" - }, - "gdiSupported": { - "description": "Whether account linking via Google Deep Integrations (GDI) is supported. go/opa-gdi-design", - "type": "boolean" - }, - "gearheadNotificationSourceSupported": { - "description": "Whether the client supports the Gearhead message notification source, in which case notification-related operations can access it.", - "type": "boolean" - }, - "hasPhysicalRadio": { - "description": "Whether the client has a physical radio installed.", - "type": "boolean" - }, - "immersiveCanvasConfirmationMessageSupported": { - "deprecated": true, - "description": "Whether the client supports confirmation messages in Immersive Canvas actions. Deprecated: use the filed in immersive_canvas_support.", - "type": "boolean" - }, - "immersiveCanvasSupport": { - "$ref": "AssistantApiImmersiveCanvasSupport" - }, - "inDialogAccountLinkingSupported": { - "description": "Whether the client supports account linking in-dialog (askForSignIn). This is used before this feature is moved to conversation protocol. To support this, the client needs to: - Integrate with Google Deep Integrations. - Have logic to send the result of account linking back to AS.", - "type": "boolean" - }, - "isPairedPhoneContactUploadNeededForComms": { - "description": "Whether paired-phone contact upload is needed for communications queries to work (e.g. on AAE).", - "type": "boolean" - }, - "isPairedPhoneNeededForComms": { - "description": "Whether a Bluetooth-paired phone is a core component of communications flows on the client.", - "type": "boolean" - }, - "justInTimeSupported": { - "description": "Whether the client supports confirmation flow when a permission is missing. If set to true, the user will be prompted and on confirmation the original flow will continue.", - "type": "boolean" - }, - "launchKeyboardSupported": { - "description": "Which way of launching the keyboard the client supports.", - "enum": [ - "LAUNCH_KEYBOARD_UNSUPPORTED", - "OPA_ANDROID_LAUNCH_KEYBOARD_URI" - ], - "enumDescriptions": [ - "Launching the keyboard from a suggestion chip is not supported.", - "The keyboard can be opened by using the opa-android://launch_keyboard uri. Takes the url-encoded parameters: - query: the string to prefill the keyboard with. - start: (optional) the start position of the span to highlight. - end: (optional) the end position of the span to highlight." - ], - "type": "string" - }, - "lensSupported": { - "description": "Whether the client has Google Lens (Assistant Eyes).", - "type": "boolean" - }, - "liveCardsSupported": { - "description": "Whether the surface supports LiveCards. In cases where the user intent flow cannot be completed within the Assistant, LiveCards are used to take the user to an external app or website. These cards will be pushed to the Google Home app via the PushMessage ClientOp.", - "type": "boolean" - }, - "lottieAnimationSupport": { - "description": "Whether the client supports the Lottie animation library for the broadcast feature.", - "enum": [ - "LOTTIE_ANIMATION_UNKNOWN", - "LOTTIE_ANIMATION_NOT_SUPPORTED", - "LOTTIE_ANIMATION_SUPPORTED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "mapsDialogsSupported": { - "description": "Whether the client supports Assistant dialogs within Maps. This field will be set only when the Maps on the surface supports Assistant dialogs embedded within Maps. go/gsa-gmm.", - "type": "boolean" - }, - "masqueradeModeSupported": { - "description": "Whether the device supports masquerade mode (go/masquerade).", - "type": "boolean" - }, - "mediaControlSupport": { - "$ref": "AssistantApiMediaControlSupport", - "description": "Information about how client handles media controls (play, pause, skip ...)" - }, - "mediaSessionDetection": { - "description": "The ability of the client to detect media sessions on the device.", - "enum": [ - "UNKNOWN_MEDIA_SESSION_DETECTION", - "RELIABLE_MEDIA_SESSION_DETECTION", - "UNRELIABLE_MEDIA_SESSION_DETECTION", - "NO_MEDIA_SESSION_DETECTION", - "MEDIA_SESSION_DETECTION_DISABLED_SCREEN_CONTEXT" - ], - "enumDescriptions": [ - "", - "The client has perfect knowledge of what is playing on the device. For example, Chirp falls into this category. We can reliably choose to control or punt based on media params.", - "The client has some knowledge about the media sessions on the device. For example, OPA TV falls into this category. For these cases, we should probably always try to return the media control client op to the client.", - "The client has no idea about the media playback on the device. For these cases, we should either punt or attempt to control media and silently fail.", - "Media session detection is supported by the client but disabled by the user (for example: OPA_CROS) by turning off screen context setting." - ], - "type": "string" - }, - "meetSupported": { - "description": "Whether the client supports joining a Google Meet meeting.", - "type": "boolean" - }, - "messageSummarySupport": { - "$ref": "AssistantApiMessageSummarySupport", - "description": "The client information for message summary. More details in: go/roadwayrecap-prd" - }, - "noInputResponseSupported": { - "description": "Whether the client can render no input response or just ignore it. No input response is returned when client has a no speech input interaction, eg. user tapped mic but didn't say anything.", - "type": "boolean" - }, - "opaOnSearchSupported": { - "description": "When the entry source is search, whether the client supports rendering a similar response as OPA one does. Entry source is defined at http://cs/symbol:assistant.api.params.DeviceProperties.EntrySource", - "type": "boolean" - }, - "parentalControlsSupported": { - "description": "Whether or not the client supports enabling parental controls. When a device to supports parental controls, it has the software necessary to store the relevant information required for parental controls to work. This information includes a boolean \"enabled bit\" as well as the obfuscated gaia ID of the kid account selected for use with parental controls. Devices supportings kids mode send this information to S3 via S3ClientInfo in every request. See go/aff-kidsproduct for details.", - "type": "boolean" - }, - "persistentDisplaySupported": { - "description": "Whether the client supports persistent display. The new feature allows Assistant devices with screen to display a continuously updating permanent display, such as ambient weather, without the need for a user to ask the Assistant. Design doc: go/assistant-persistent-display.", - "type": "boolean" - }, - "privacyAwareLockscreenSupported": { - "description": "Whether the client supports the privacy-aware lockscreen protocol (go/assistant-lockscreen-spec).", - "type": "boolean" - }, - "readMessagesTtsTaperingSupported": { - "description": "Whether the client supports tts tapering for the read messages flow. If set to true the tapered tts variant would be used during the read messages flow.", - "type": "boolean" - }, - "readNotificationSummarizationSupported": { - "deprecated": true, - "description": "Whether the client supports message summarization. Deprecated, use message_summary_support instead.", - "type": "boolean" - }, - "remoteCloudCastingEnabled": { - "description": "Whether the client has remote casting enabled. For ex: we want to disable this for clients like Auto.", - "type": "boolean" - }, - "serverGeneratedFeedbackChipsEnabled": { - "description": "Whether the Assistant Server should generate feedback suggestion chips.", - "type": "boolean" - }, - "shLockScreenSupported": { - "description": "Whether the client supports SmartHome lock screen logic (i.e. on Tangor).", - "type": "boolean" - }, - "signInMethod": { - "$ref": "AssistantApiSignInMethod", - "description": "Which kind of sign in the client supports." - }, - "sleepSensingSupported": { - "deprecated": true, - "description": "Whether the client can monitor sleep. This allows us to show sleep CUJ related information: go/TwilightDesign Use for development only, see the same field in DeviceCapabilities.SoftwareCapabilities.SelinaCapabilities.", - "type": "boolean" - }, - "smartspaceCrossDeviceTimerSupported": { - "description": "Whether the client supports smart space cross-device timers. (go/ss-x-device-timer)", - "type": "boolean" - }, - "soliGestureDetectionSupported": { - "description": "Whether or not the client supports gesture detection via soli chips. The reason to prepend the name with soli is to distinguish it from computer vision based methods, e.g. Newman devices.", - "type": "boolean" - }, - "suggestionsSupport": { - "$ref": "AssistantApiSuggestionsSupport", - "description": "Suggestion chips features, supported by the client." - }, - "sunriseFeaturesSupport": { - "$ref": "AssistantApiSunriseFeaturesSupport", - "description": "Whether the client supports the sunrise screen brightening feature before the alarm fires. This is used to indicate whether sunrise alarms can be set on the device. http://cs/symbol:assistant.api.core_types.governed.RingtoneTaskMetadata.GentleWakeInfo" - }, - "tapToReadOptimizationSupported": { - "description": "Whether the client supports faster optimization for tap_to_read feature.", - "type": "boolean" - }, - "thirdPartyGuiSupported": { - "description": "Whether the device supports the 3p GUI framework, which allows third parties to enter the conversation with the user, showing their logo next to their chat bubbles, etc. go/3p-phone", - "type": "boolean" - }, - "transactionFeaturesSupport": { - "$ref": "AssistantApiTransactionFeaturesSupport", - "description": "Transactions features, supported by the client. Transactions feature may includes how Transactions team want to populate additional information from the device to the server." - }, - "transactionsVersion": { - "description": "The version of transactions which the client supports.", - "enum": [ - "NO_TRANSACTIONS", - "TRANSACTIONS_INITIAL_LAUNCH", - "TRANSACTIONS_V2", - "TRANSACTIONS_V3" - ], - "enumDeprecated": [ - false, - false, - true, - false - ], - "enumDescriptions": [ - "Transactions are not supported on this device.", - "This device supports the client features present at the initial consumer launch of transactions.", - "This device supports the transaction version v2 client features, includes transactions clientops. Deprecated given there're some iOS version populate this enum but don't support clientops.", - "This device supports the transaction version v3 client features, includes transactions clientops." - ], - "type": "string" - }, - "usesSeparateFullViewer": { - "description": "If set, it indicates that the client can open a separate HTML browser/webviewer (full viewer) to display certain visual results. These visual results usually require more memory to render (e.g. high resolution photos). Compared to the regular viewer that display all other Assistant result, the full viewer does not have memory limit. The field is copied from the device model. See http://google3/assistant/devices_platform/proto/device_model_capabilities.proto?l=225\u0026rcl=312576471 Also see go/webassistant-full-card-viewer.", - "type": "boolean" - }, - "viewReminderHubPageNotSupported": { - "description": "Whether the client supports viewing of reminder hub page or not. Default is supported. Set to true to disable returning reminder hub page url in reminder responses.", - "type": "boolean" - }, - "warmWelcomeTutorialSupported": { - "description": "Whether the client supports the programmatic warm welcome tutorial. Design doc: go/opal-pww-design.", - "type": "boolean" - }, - "webBrowserSupported": { - "description": "Whether the supports opening a URL in a web browser. For example, we want to disable this for clients like Chirp.", - "type": "boolean" - }, - "zoomSupported": { - "description": "Whether the client supports joining a Zoom meeting.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSupportedProtocolVersion": { - "description": "Contains versions of protocol buffer messages. This is the equivalence of a proto3 map, keyed by a protocol buffer message’s name, and the value is the version of this message. e.g. {\"assistant.api.core_types.Timer\": 2, \"assistant.api.core_types.Alarm\": 1} See go/assistant-protocol-versioning for more details.", - "id": "AssistantApiSupportedProtocolVersion", - "properties": { - "messageVersion": { - "items": { - "$ref": "AssistantApiSupportedProtocolVersionMessageVersionPair" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiSupportedProtocolVersionMessageVersionPair": { - "id": "AssistantApiSupportedProtocolVersionMessageVersionPair", - "properties": { - "messageName": { - "description": "The full path of a message which should start from the package name. e.g. \"assistant.api.core_types.Timer\".", - "type": "string" - }, - "version": { - "description": "The supported version number.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantApiSupportedProviderTypes": { - "description": "Types of providers that are supported by the client. For example, ChromeOS support both web app and Android app (for eligible devices).", - "id": "AssistantApiSupportedProviderTypes", - "properties": { - "supportedTypes": { - "items": { - "enum": [ - "PROVIDER_TYPE_UNSPECIFIED", - "ANDROID_APP", - "CAST_APP", - "CLOUD_PROVIDER", - "SIP_PROVIDER", - "IOS_APP", - "INTERNAL_PROVIDER", - "WEB_PROVIDER", - "KAIOS_APP", - "HOME_APP", - "CHROMEOS_APP" - ], - "enumDescriptions": [ - "", - "For AndroidAppInfo", - "For CastAppInfo", - "For CloudProviderInfo", - "For SipProviderInfo", - "For IosAppInfo", - "For InternalProviderInfo", - "For WebProviderInfo", - "For KaiOsAppInfo", - "For HomeAppInfo", - "For ChromeOsAppInfo" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiSurfaceProperties": { - "description": "Properties of the surface that are not hardware related or feature specific.", - "id": "AssistantApiSurfaceProperties", - "properties": { - "executionCapabilities": { - "$ref": "AssistantApiSurfacePropertiesExecutionCapabilities" - }, - "prefersGlanceableUi": { - "deprecated": true, - "description": "DEPRECATED: This field is used only by the Hummingbird effort, which has culminated and is being cleaned up (b/325065733). Indicates if the surface prefers glanceable UI when rendering Assistant response. (see go/mobile-dr-hbird-glanceable-comms-cuj for more context).", - "type": "boolean" - }, - "responseDisplayFormat": { - "description": "If this field is unset, the response format is unknown", - "enum": [ - "SINGLE_ITEM", - "MULTIPLE_ITEMS", - "FULL_HISTORY" - ], - "enumDescriptions": [ - "The surface can only show a single item (card, display text, etc) of the response at a time. For example, if both a display text and a card are sent in a response, the surface may only show the card to the user.", - "The surface can show a simple multi item response (e.g. both a display text and a card), but can't show response items from a previous response.", - "The surface can show complex multi item responses (e.g. display text, card, display text) as well as a history of previous responses." - ], - "type": "string" - }, - "supportsMultiResponse": { - "description": "If true, the client supports receiving multiple responses. See go/multiple-response-in-media-use-cases for more details.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSurfacePropertiesExecutionCapabilities": { - "description": "Describes the capabilities that are related to the execution of client ops on the device.", - "id": "AssistantApiSurfacePropertiesExecutionCapabilities", - "properties": { - "supportsClientOpPreloading": { - "description": "Completes the preloading ie., sets up the stage for the execution of client ops on the device while the previous conv delta is being executed. Refer to go/preload-convdelta for more information.", - "type": "boolean" - }, - "supportsNonFinalizedResponses": { - "description": "A value of true indicates that the client supports streaming of non-finalized responses by use of ClientExecutionParams.response_stream_id. and ClientExecutionParams.to_be_finalized.", - "type": "boolean" - }, - "supportsNonMaterializedInteractions": { - "description": "If true, the client supports receiving non-materialized interactions (go/as-streaming-protocol-nm).", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiSystemNotificationRestrictions": { - "description": "Restrictions related to system-level notifications.", - "id": "AssistantApiSystemNotificationRestrictions", - "properties": { - "categoryState": { - "items": { - "$ref": "AssistantApiSystemNotificationRestrictionsNotificationCategoryState" - }, - "type": "array" - }, - "channelState": { - "items": { - "$ref": "AssistantApiSystemNotificationRestrictionsNotificationChannelState" - }, - "type": "array" - }, - "notificationCapabilities": { - "description": "Specifies whether the surface is able to display notifications.", - "enum": [ - "NO_NOTIFICATION_CAPABILITY", - "NOTIFICATIONS_DISABLED", - "NOTIFICATIONS_ENABLED" - ], - "enumDescriptions": [ - "The surface is not able to display notifications.", - "The notifications are disabled on the surface.", - "The notifications are enabled." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSystemNotificationRestrictionsNotificationCategoryState": { - "description": "Notification channels state for the new server driven channels.", - "id": "AssistantApiSystemNotificationRestrictionsNotificationCategoryState", - "properties": { - "categoryId": { - "description": "Notification channel type.", - "format": "int32", - "type": "integer" - }, - "disabled": { - "description": "Weather the notifications on this channel are disabled.", - "type": "boolean" - }, - "disabledReason": { - "enum": [ - "NONE", - "ASSISTANT_CATEGORY_SETTING", - "ASSISTANT_OVERALL_SETTING", - "OS_APP_DISABLED", - "OS_CHANNEL_GROUP_DISABLED", - "OS_CHANNEL_DISABLED" - ], - "enumDescriptions": [ - "", - "The category was turned off in Assistant Notification Settings.", - "All notifications for Assistant was turned off in settings.", - "All notifications for the Assistant (GSA) app was turned off.", - "Notifications for the channel group was turned off.", - "Notifications for the channel was turned off." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiSystemNotificationRestrictionsNotificationChannelState": { - "description": "Notification channels state.", - "id": "AssistantApiSystemNotificationRestrictionsNotificationChannelState", - "properties": { - "channelType": { - "description": "Notification channel type.", - "enum": [ - "TYPE_UNKNOWN", - "TYPE_OPA_PROACTIVE", - "TYPE_OPA_HANDOFF", - "TYPE_OPA_MISC", - "TYPE_OPA_RECOMMENDATIONS", - "TYPE_OPA_PRODUCT_UPDATES", - "TYPE_OPA_THIRD_PARTY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "enabled": { - "description": "Whether the notifications on this channel are enabled.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiThirdPartyActionConfig": { - "description": "3P Action Metadata. Next ID: 3", - "id": "AssistantApiThirdPartyActionConfig", - "properties": { - "deviceActionCapability": { - "$ref": "AssistantDevicesPlatformProtoDeviceActionCapability", - "description": "DeviceActionCapability from DeviceModelPackage." - }, - "projectConfigs": { - "description": "List of Action project capabilities.", - "items": { - "$ref": "AssistantApiThirdPartyActionConfigProjectConfig" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantApiThirdPartyActionConfigProjectConfig": { - "description": "Metadata for ActionPackage. Device Actions are disabled by default unless explicitly enabled for the device here, see go/3p-device-actions-v2-design.", - "id": "AssistantApiThirdPartyActionConfigProjectConfig", - "properties": { - "projectId": { - "description": "Google cloud project id for which the Action Package or Device Model is registered.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiThirdPartyCapabilities": { - "id": "AssistantApiThirdPartyCapabilities", - "properties": { - "dataSharingRestrictions": { - "description": "Restrictions for the device to share any data with third party apps. See details in go/atv-dsc.", - "enum": [ - "DEFAULT_NO_DATA_SHARING_RESTRICTION", - "NO_SHARING_ALLOWED_WITH_THIRD_PARTY", - "SHARING_STATUS_NOT_SET", - "NO_SHARING_ALLOWED_WITH_THIRD_PARTY_FROM_OOBE" - ], - "enumDescriptions": [ - "User has accepted to share the data with third party apps. The device has no data sharing restrictions.", - "User has declined to share the data with third party apps.", - "User hasn't made a choice on whether to share data with third party apps.", - "User has declined to share the data with third party apps during OOBE flow. With this state, the user should see the data sharing consent compact screen. See cetails in http://shortn/_JsLg0OeEJj." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiTimeOfDay": { - "description": "A civil time relative to a timezone.", - "id": "AssistantApiTimeOfDay", - "properties": { - "hour": { - "description": "The hour, in 0...23.", - "format": "int32", - "type": "integer" - }, - "minute": { - "description": "The minute, in 0...59.", - "format": "int32", - "type": "integer" - }, - "nanosecond": { - "description": "The fraction of seconds in nanoseconds, in 0..999999999.", - "format": "int32", - "type": "integer" - }, - "second": { - "description": "The second, in 0...59. Leap seconds are not supported.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantApiTimeZone": { - "description": "A time zone. Conceptually, a time zone is a set of rules associated with a location that describes a UTC offset and how it changes over time (e.g. Daylight Saving Time). The offset is used to compute the local date and time.", - "id": "AssistantApiTimeZone", - "properties": { - "ianaId": { - "description": "Time zone in IANA format, e.g. America/Los_Angeles for USA Pacific Time.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiTimestamp": { - "description": "An absolute point in time independent of timezone or calendar, based on the proto3 Timestamp (//google/protobuf/timestamp.proto). NOTE: THIS IS NO LONGER RECOMMENDED TO BE USED. It was originally defined separately from google.protobuf.Timestamp due to incompatibility with proto2 syntax. The incompatibility issues have since been resolved and so the Google-wide standard representation of google.protobuf.Timestamp should be preferred. In fact, google.protobuf.* protos in general are now recommended to be used in new APIs.", - "id": "AssistantApiTimestamp", - "properties": { - "nanos": { - "description": "Non-negative fractions of a second at nanosecond resolution.", - "format": "int32", - "type": "integer" - }, - "seconds": { - "description": "Seconds of UTC time since the Unix epoch.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AssistantApiTransactionFeaturesSupport": { - "id": "AssistantApiTransactionFeaturesSupport", - "properties": { - "voicePinSuppressed": { - "description": "If true, setting this boolean means the device should not support voice PIN. For example, although the phone supports both voice and PIN pad, but we don't want users using voice. https://docs.google.com/document/d/1M8iJQX3GuxGZGeidS8Gl4KJt3LuBWAIlolPlW10DkxU/edit#heading=h.8ovvdd3i2thv", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantApiVolumeProperties": { - "id": "AssistantApiVolumeProperties", - "properties": { - "defaultVolumePercentage": { - "description": "The volume percentages for spelled out values.", - "format": "int32", - "type": "integer" - }, - "highVolumePercentage": { - "format": "int32", - "type": "integer" - }, - "levelStepSize": { - "description": "The number of levels to move for a step.", - "format": "double", - "type": "number" - }, - "lowVolumePercentage": { - "format": "int32", - "type": "integer" - }, - "maximumVolumeLevel": { - "description": "The max number of volume levels the client supports.", - "format": "int32", - "type": "integer" - }, - "mediumVolumePercentage": { - "format": "int32", - "type": "integer" - }, - "veryHighVolumePercentage": { - "format": "int32", - "type": "integer" - }, - "veryLowVolumePercentage": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantDeviceTargetingDeviceTargetingError": { - "description": "The information associated with an error while selecting the target device. Next ID: 2", - "id": "AssistantDeviceTargetingDeviceTargetingError", - "properties": { - "type": { - "enum": [ - "UNKNOWN_ERROR", - "NO_DEVICE_IN_SAME_STRUCTURE", - "NO_DEVICE_IN_SAME_NETWORK_OR_LOCATION", - "NO_DEVICE_IN_SAME_STRUCTURE_OR_NETWORK_OR_LOCATION", - "NO_DEVICE_SATISFIES_SAME_STRUCTURE_OR_UNKNOWN_IF_OWNED", - "NO_DEVICE_SATISFIES_CAPABILITIES_REQUIREMENT", - "NO_DEVICE_MATCHED_DEVICE_ANNOTATION", - "MULTI_TARGET_DEVICE_NOT_SUPPORTED", - "NO_DEVICE_AFTER_LOCAL_DEVICE_EXCLUDED", - "UNABLE_TO_TARGET_ONLY_LOCAL_DEVICE", - "NO_DEVICE_MATCHED_REQUIRED_TRAITS", - "NO_DEVICE_MATCHED_REQUIRED_ATTRIBUTES", - "NO_DEVICE_MATCHED_REQUIRED_DEVICE_TYPE", - "NO_DEVICE_IN_SAME_OR_MENTIONED_STRUCTURE", - "NO_DEVICE_SATISFIES_PLAYBACK_REQUIREMENT", - "STRUCT_DISAMBIG_NOT_SUPPORTED", - "ROOM_DISAMBIG_NOT_SUPPORTED", - "UNRECOGNIZED_DEVICE_NAME", - "NO_LINKED_REMOTE_DEVICES", - "NO_LINKED_REMOTE_VIDEO_DEVICES", - "NO_SAFE_DEVICE_WITH_SCREEN", - "ALL_QUALIFIED_DEVICES_OFFLINE", - "CROSS_STRUCTURE_TARGETING_DISALLOWED", - "NO_DEVICE_MEETS_PROVIDER_REQUIREMENT", - "MISSING_LOCAL_DEVICE_SETTING", - "NO_DEVICE_HAS_REQUIRED_APP", - "HYBRID_DEVICE_NOT_QUALIFIED", - "NO_NEARBY_DEVICES", - "NO_MATCHING_LAST_USED_DEVICE" - ], - "enumDescriptions": [ - "", - "Error about when there's no qualified devices in the same home graph structure as the local device.", - "Error about when there's no qualified devices in the same network or location as the local device.", - "Error about when there's no qualified devices in the same home graph structure or network or location as the local device.", - "Error about when no qualified device was found that matched the following conditions: 1) Both local device and target device are in the same home graph structure. 2) The distance to target device is unknown (i.e. either local device or target device is homeless) and target device is owned by the user. 3) If local device and target device are in different structures, only allowed when the query explicitly mentioned device name.", - "Error about when no qualified device satisfies the device capability requirement.", - "Error of no qualified devices matched requirements from device annotation.", - "Error of not supporting targeting multiple devices.", - "Error of no device left after local device is excluded within inclusiveness filter.", - "Error of unable to target only local device within inclusiveness filter.", - "Error of no qualified devices matched the required smart home traits.", - "Error of no qualified devices matched the required Smart Home attributes.", - "Error of no qualified devices matched the required smart home device types.", - "Error of no qualified devices in the mentioned structure or in the same structure as the local device.", - "Error of no device satisfying playback requirements.", - "Error when structure disambiguation is not supported in the config. When config is supported (both structure_disambiguation_supported and multi_target_supported are set to true), the library would return structures for disambiguation.", - "Error when room disambiguation is not supported in the config. When config is supported (both room_disambiguation_supported and multi_target_supported are set to true), the library would return rooms for disambiguation.", - "Error when the device mentioned in the query is not recognized. In other words, we can't find a device which matched the device mentioned in the query.", - "Used when user requests to target on a remote device and there are no remote devices linked.", - "Used when user requests to target on a remote video device and there are no remote video devices linked.", - "Error when there is no safe screen device. For example, requesting screen-requiring content from Auto surface.", - "Error when all qualified devices are offline.", - "When user tries to target a device which is in a different structure and is not allowed. For example, if user doesn't own the structure. See go/on-multi-user-access-transitivity for more details.", - "Used when user requests a device with certain provider but no device can satisfies provider requirement.", - "AvailableDevice device setting of local device is missing.", - "Required app is not installed", - "All remote hybrid devices fail the propertries requirement specific (lock/unlock, etc) for hybrid devices (such as Tangor).", - "No nearby hearing devices", - "No matching device for the LastUsedDevice requirement found." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoAlarmCapability": { - "description": "Capability with regard to support of alarms by the client.", - "id": "AssistantDevicesPlatformProtoAlarmCapability", - "properties": { - "maxSupportedAlarms": { - "description": "Maximum number of alarms that can be created on the client. Zero or unset indicates no maximum limit.", - "format": "int32", - "type": "integer" - }, - "restrictAlarmsToNextDay": { - "description": "Whether the client restricts alarms to ring within the next 24 hours.", - "type": "boolean" - }, - "supportsGenericMutations": { - "description": "Whether the client supports mutation of any alarm attribute such as time_pattern, recurrence_pattern, etc through the MUTATE action. If this is false, MUTATE may only be used to disable or dismiss an alarm. This field is true by default for backwards-compatibility; clients which don't support mutation outside of Disable/DismissAlarm should explicitly set this to false.", - "type": "boolean" - }, - "supportsStopAction": { - "description": "Whether the client supports the STOP alarm action. If this is false, stop actions will be represented by the MUTATE action, and the device may need to check alarm state to determine if there's a firing alarm that needs to be dismissed.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoArgSpec": { - "id": "AssistantDevicesPlatformProtoArgSpec", - "properties": { - "intValueSpec": { - "$ref": "AssistantDevicesPlatformProtoIntValueSpec" - }, - "optionValueSpec": { - "$ref": "AssistantDevicesPlatformProtoOptionValueSpec" - }, - "type": { - "enum": [ - "TYPE_UNSPECIFIED", - "BOOL", - "INTEGER", - "OPTION" - ], - "enumDescriptions": [ - "A type must be specified.", - "", - "The arg value type is integer. The value can be any integer unless int_value_spec is provided below.", - "The arg value is from list of options. The valid options are specified from optional_value_spec below." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoCallCallCapability": { - "id": "AssistantDevicesPlatformProtoCallCallCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoClientReconnectCapability": { - "id": "AssistantDevicesPlatformProtoClientReconnectCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoCloudCapability": { - "description": "States the cloud capabilities of the device, i.e. the endpoint(s) to use for cloud execution of Actions or Registration.", - "id": "AssistantDevicesPlatformProtoCloudCapability", - "properties": { - "cloudEndpoints": { - "description": "The list of CloudEndpoints supported by this Device Model. Note that each should have a unique |name|. If any cloud endpoints are provided here, then the first one in the list will be used by default for all Cloud Execution. An Intent may override the default by providing an |execution_config|.", - "items": { - "$ref": "AssistantDevicesPlatformProtoCloudEndpoint" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoCloudEndpoint": { - "description": "A cloud endpoints associates with this device, it can be used for query parsing, or cloud execution.", - "id": "AssistantDevicesPlatformProtoCloudEndpoint", - "properties": { - "name": { - "description": "The name for this cloud endpoint. It's unique per Locale. This is not an API resource name. Ex: sample-nlu-endpoint", - "type": "string" - }, - "scopes": { - "description": "The list of scopes to be provided in the OAuth2 token. They must be a subset of the scopes registered in the Account Linking flow, or the request will fail. If the client itself provides the token, then this field is ignored.", - "items": { - "type": "string" - }, - "type": "array" - }, - "url": { - "description": "The URL for this endpoint, it must start with https.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoCoreDismissAssistantCapability": { - "id": "AssistantDevicesPlatformProtoCoreDismissAssistantCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoDeviceActionCapability": { - "description": "This capability represents device action needed capability. Next ID: 10", - "id": "AssistantDevicesPlatformProtoDeviceActionCapability", - "properties": { - "assistantDeviceInRoomOptOut": { - "description": "Integrate your device with Google's Smart Home solution by putting your device into Google's Home Graph, a database that stores and provides contextual data about the home and its devices. For example, Home Graph can store the concept of a living room that contains multiple types of devices, when you say \"turn on the light\" to a device, if you have light in the living room, that light will be turned on.", - "type": "boolean" - }, - "builtInIntentMode": { - "description": "Specifies behavior for built-in device actions for this device model. If not specified, defaults to ENABLE_CONFIGURED_INTENTS_ONLY.", - "enum": [ - "INTENT_MODE_UNSPECIFIED", - "ENABLE_ALL", - "ENABLE_ALL_AUTO_ACTIONS", - "ENABLE_CONFIGURED_INTENTS_ONLY", - "PUNT_FOR_UNCONFIGURED_INTENTS" - ], - "enumDescriptions": [ - "", - "All intents are enabled, regardless of whether the intent is registered in the `intents` field.", - "All Auto device actions are enabled, regardless of whether the intent is registered in the `intents` field. Only use it for Auto device type.", - "Only the intents registered in the `intents` field will be enabled.", - "Only the intents registered in the `intents` field will be enabled. Additionally, read an error message when the unconfigured intents are invoked." - ], - "type": "string" - }, - "customIntentMode": { - "description": "Specifies which custom device actions should be enabled for this device model. This will only affect the behavior of intents corresponding to those from the Action Package of this project. If not specified, defaults to ENABLE_ALL.", - "enum": [ - "INTENT_MODE_UNSPECIFIED", - "ENABLE_ALL", - "ENABLE_ALL_AUTO_ACTIONS", - "ENABLE_CONFIGURED_INTENTS_ONLY", - "PUNT_FOR_UNCONFIGURED_INTENTS" - ], - "enumDescriptions": [ - "", - "All intents are enabled, regardless of whether the intent is registered in the `intents` field.", - "All Auto device actions are enabled, regardless of whether the intent is registered in the `intents` field. Only use it for Auto device type.", - "Only the intents registered in the `intents` field will be enabled.", - "Only the intents registered in the `intents` field will be enabled. Additionally, read an error message when the unconfigured intents are invoked." - ], - "type": "string" - }, - "defaultExecutionConfig": { - "$ref": "AssistantDevicesPlatformProtoExecutionConfig", - "description": "Default instructions for routing of any Intent. The data here could be overridden for specific Intents if provided directly in the 'intents' field." - }, - "inlinedActionCapability": { - "$ref": "AssistantDevicesPlatformProtoInlinedActionCapability", - "description": "Specifies capabilities for device actions that are inlined in the google.assistant.embedded.v1.DeviceAction message." - }, - "intents": { - "description": "Intent configurations. Built-in and custom intents may be configured here. Note that built-in intents will always behave with IntentMode of ENABLE_CONFIGURED_INTENTS_ONLY. The IntentMode for custom intents can be changed using the custom_intent_mode. To configure an intent, list it here with its intent name, e.g. \"MY_CUSTOM_INTENT\", \"google.assistant.car.model.capabilities.AC_TEMPERATURE\".", - "items": { - "$ref": "AssistantDevicesPlatformProtoIntent" - }, - "type": "array" - }, - "providedData": { - "description": "Provided data which augments the device action capabilities. Some built-in intents may require additional configuration to be provided. One example could be the list of channels available for the `action.intent.SelectChannel` intent.", - "items": { - "$ref": "AssistantDevicesPlatformProtoProvidedData" - }, - "type": "array" - }, - "traits": { - "description": "List of built-in traits such as \"action.devices.traits.OnOff\" See java/com/google/home/graph/service/config/protoconf.pi As of Nov. 2017, we also support custom traits for EAP users. We'll eventually disable custom traits once custom actions are in place.", - "items": { - "type": "string" - }, - "type": "array" - }, - "understandingConfig": { - "$ref": "AssistantDevicesPlatformProtoUnderstandingConfig", - "description": "Specifies the format how Google routes queries to 3P cloud. By default, this field is unset, all partners should get shallow NLU. This is needed *ONLY* for specific partners for strong business reasons." - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoDeviceModifySettingCapability": { - "id": "AssistantDevicesPlatformProtoDeviceModifySettingCapability", - "properties": { - "clientOpProperty": { - "$ref": "AssistantApiClientOpPropertiesDeviceModifySettingClientOpProperty" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoDeviceTakePhotoCapability": { - "id": "AssistantDevicesPlatformProtoDeviceTakePhotoCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoExecutionConfig": { - "description": "Specifies the routing capabilities of the Intent. It will apply only when the Intent is triggered. Next ID: 8", - "id": "AssistantDevicesPlatformProtoExecutionConfig", - "properties": { - "cloudEndpointName": { - "description": "Instructions for performing a cloud execution request for the Intent when the execution_type is set to CLOUD. If non-empty, then the device execution would be routed to the CloudEndpoint specified by this name. The Account Linking exchange may be performed to fetch the OAuth access token, and the access token will be included in the HTTP header.", - "type": "string" - }, - "cloudIntentTranslationDisabled": { - "description": "If this field is set, then the Syndication cloud call will be disabled for this intent. Note this only applies if any Syndication cloud endpoint is associated with the Device Model, otherwise setting this field does nothing. By default, all Intents that are enabled and supported by the Syndication API will be routed through the Syndication cloud endpoint if it's provided.", - "type": "boolean" - }, - "intentCommandFormat": { - "description": "Specifies the intent command format for this Action. For example, in order to launch an Android intent instead of receiving the device action payload on the client, then this field can be set with \"intent:/#Intent;...;my_extra={$.params.channels[0].channelCode};end\" The parameter \"{$.params.channels[0].channelCode}\" is in JSON path format, and will be replaced with the content from the original device action payload. Thus, with # JSON \"execution\": [ { \"command\": \"action.devices.commands.SelectChannel\", \"params\": { \"channels\": [{ \"channelName\": \"exampleChannel\", \"channelCode\": \"1-1\" }] } } ] as the original action result, then the final result would look like \"intent:/#Intent;...;my_extra=\\\"1-1\\\";end\" ", - "type": "string" - }, - "localDisabled": { - "description": "If this field is set, then local execution capability is disabled for all matching intents.", - "type": "boolean" - }, - "localExecutionType": { - "description": "Specifies how to execute this Action when it is invoked locally (from the same device.)", - "enum": [ - "DEFAULT", - "CLOUD" - ], - "enumDescriptions": [ - "Use the default mechanism (route requests directly to the device via the regular channel.)", - "Route all execution requests to cloud." - ], - "type": "string" - }, - "remoteDisabled": { - "description": "If this field is set, then remote execution capability is disabled for all matching intents.", - "type": "boolean" - }, - "remoteExecutionType": { - "description": "Specifies how to execute this Action when it is invoked remotely (from a different device.)", - "enum": [ - "DEFAULT", - "CLOUD" - ], - "enumDescriptions": [ - "Use the default mechanism (route requests directly to the device via the regular channel.)", - "Route all execution requests to cloud." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoExecutionWaitCapability": { - "id": "AssistantDevicesPlatformProtoExecutionWaitCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoGetHealthObservationCapability": { - "id": "AssistantDevicesPlatformProtoGetHealthObservationCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoInlinedActionCapability": { - "id": "AssistantDevicesPlatformProtoInlinedActionCapability", - "properties": { - "alarm": { - "$ref": "AssistantDevicesPlatformProtoAlarmCapability", - "description": "Specifies capabilities for handling on-device alarms. The presence of this field, even if empty, implies that the device supports alarms." - }, - "responseLimits": { - "$ref": "AssistantDevicesPlatformProtoResponseLimits", - "description": "Specifies the size limits on responses. If message is not defined then no limits exist." - }, - "supportSdkExecute": { - "description": "Whether this device model package support sdk.EXECUTE client_op (a.k.a action.devices.EXECUTE intent), which will be filled into google.assistant.embedded.v1.DeviceAction.device_request_json. It is default to true (and not public), since all 3P will depends on the device_request_json. Only internal projects like Edoras will set this to false.", - "type": "boolean" - }, - "supportedDeviceOps": { - "$ref": "AssistantDevicesPlatformProtoSupportedDeviceOps", - "description": "Specifies capabilities for handling assistant.embedded.v1.DeviceOp." - }, - "supportsMultiResponse": { - "description": "Specifies whether server can send a series of responses for a single query. Example: Routines where multiple actions to be executed one after another.", - "type": "boolean" - }, - "timer": { - "$ref": "AssistantDevicesPlatformProtoTimerCapability", - "description": "Specifies capabilities for handling on-device timers. The presence of this field, even if empty, implies that the device supports timers." - }, - "ttsOutput": { - "$ref": "AssistantDevicesPlatformProtoTtsOutputCapability", - "description": "Specifies whether client supports receiving `DeviceAction.tts_output`." - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoIntValueSpec": { - "id": "AssistantDevicesPlatformProtoIntValueSpec", - "properties": { - "maxValue": { - "format": "int64", - "type": "string" - }, - "minValue": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoIntent": { - "description": "An intent configures the behavior of a device action for this device. Next ID: 7", - "id": "AssistantDevicesPlatformProtoIntent", - "properties": { - "argSpecs": { - "additionalProperties": { - "$ref": "AssistantDevicesPlatformProtoArgSpec" - }, - "description": "List of arguments associated this intent. Each of which depends a template for the expected argument.", - "type": "object" - }, - "executionConfig": { - "$ref": "AssistantDevicesPlatformProtoExecutionConfig", - "description": "Instructions for the routing of this Intent." - }, - "name": { - "description": "The name of the intent.", - "type": "string" - }, - "providedDataNames": { - "description": "List of provided data names used by this intent. Note that some built-in intents will not function properly without provided data, such as `action.intent.SwitchChannel` or `action.intent.AppSelector`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "securityConfig": { - "$ref": "AssistantDevicesPlatformProtoSecurityConfig", - "description": "Security configuration for this Intent." - }, - "triggerConditions": { - "description": "The conditions which must be met by the device before executing this Intent. More than one can be provided, in which case the conditions operate with the \"AND\" operator, i.e. the first condition which is failed will be used to restrict the execution of this Intent.", - "items": { - "$ref": "AssistantDevicesPlatformProtoTriggerCondition" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoInternalCapability": { - "description": "Capabilities that may only be set internally. Only internal callers (i.e. Googlers or Google owned projects) will be able to set these, thanks to go/assistant-device-model-package-ownership.", - "id": "AssistantDevicesPlatformProtoInternalCapability", - "properties": { - "allowedAssistantSdkAuthProjectIds": { - "description": "When using the Assistant SDK (Embedded Assistant API), the project id used to authenticate the gRPC request is checked and must match against the project id of the Device Model. We will additionally allow the project ids listed in the device model here to be let through. See https://docs.google.com/document/d/1InAczpQJs6LCH1l--2yy67JM9hsBJbiL57fusnL3A8A", - "items": { - "type": "string" - }, - "type": "array" - }, - "appCapabilitiesFromDeviceInstallApps": { - "description": "Load the assistant.api.AppCapabilities from DEVICE_INSTALLED_APP footprint corpus. See go/edoras-geller.", - "type": "boolean" - }, - "cloudDeviceActionEndpoint": { - "$ref": "AssistantDevicesPlatformProtoCloudEndpoint", - "description": "Uses this endpoint for device action fulfillment when there's no endpoint in syndication_metadata. 1p surfaces/devices such as telephone can enable this for its cloud action fulfillment without enabling the whole syndication experience." - }, - "deviceActionsEligibleForHighConfidence": { - "description": "Signals that the model will have updated ranking behavior as described in https://docs.google.com/document/d/1SN_AgadRr_cdIrFe-qgRbIX2J1sOE7lcRXAvM1GUPoU.", - "type": "boolean" - }, - "forceSignIn": { - "description": "Make Google sign-in mandatory for using Google Assistant on the device. (This bit is initially added for Samsung TV.)", - "type": "boolean" - }, - "forceThirdPartyDeviceIdForDeviceLookup": { - "description": "When looking up device (for example for disclosure consent check), then always use the third party device id for lookup instead of any other device id which would normally have higher precedence, such as cast_device_id.", - "type": "boolean" - }, - "forceTransactionsAuthentication": { - "description": "Adds \"transactions.AUTHENTICATION\" for car automation probers. Since the probers run as Assistant SDK requests, voice match always fails for car automation requests, so we add this client op as a hack to allow probers to appear as personal devices and bypass voice match. See b/137221645.", - "type": "boolean" - }, - "hasCustomSearchResultsRendering": { - "description": "Signals that this device can \"render\" raw search results even with no screen (e.g., using a text reader). If this is true, fallback search results can be returned as a custom device action in a SearchResults message. http://google3/assistant/embedded/proto_translation/utils/proto/search_results.proto", - "type": "boolean" - }, - "overrideProjectIdForDeviceLookup": { - "description": "When looking up device (for example for disclosure consent check), use this project id as part of the primary key for the device lookup (i.e. instead of the device_config.agent_id.) The precedence is as follows: 1) this field, if set for the device's device model 2) device_config.agent_id 3) device_model.project_id", - "type": "string" - }, - "stadiaAssistantConfig": { - "$ref": "AssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfig" - }, - "telephoneAttribution": { - "description": "Telephone server is able to send attribution to user feature phone. See go/telephone-attribution.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfig": { - "description": "The StadiaAssistantConfig. This field should only be set if the device model is a Stadia.", - "id": "AssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfig", - "properties": { - "stadiaPlatform": { - "enum": [ - "UNSPECIFIED", - "CHROMECAST", - "WEB_BROWSER" - ], - "enumDescriptions": [ - "Platform unspecified.", - "Platform is Chromecast.", - "Platform is web browser." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoMediaNextCapability": { - "id": "AssistantDevicesPlatformProtoMediaNextCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoMediaPauseCapability": { - "id": "AssistantDevicesPlatformProtoMediaPauseCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoMediaPlayMediaCapability": { - "id": "AssistantDevicesPlatformProtoMediaPlayMediaCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoMediaPreviousCapability": { - "id": "AssistantDevicesPlatformProtoMediaPreviousCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoMediaResumeCapability": { - "id": "AssistantDevicesPlatformProtoMediaResumeCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoMediaShowControlsCapability": { - "id": "AssistantDevicesPlatformProtoMediaShowControlsCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoMediaStopCapability": { - "id": "AssistantDevicesPlatformProtoMediaStopCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoOptionValueSpec": { - "id": "AssistantDevicesPlatformProtoOptionValueSpec", - "properties": { - "values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoProvidedData": { - "description": "Provided data which augments the device action capabilities. Some built-in intents may require additional configuration to be provided. One example could be the list of channels available for the `action.intent.SelectChannel` intent.", - "id": "AssistantDevicesPlatformProtoProvidedData", - "properties": { - "name": { - "type": "string" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoProviderFulfillCapability": { - "id": "AssistantDevicesPlatformProtoProviderFulfillCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoProviderOpenCapability": { - "id": "AssistantDevicesPlatformProtoProviderOpenCapability", - "properties": { - "clientOpProperty": { - "$ref": "AssistantApiClientOpPropertiesProviderOpenClientOpProperty" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoResponseLimits": { - "description": "Specifies the size limits on responses receivable by the client.", - "id": "AssistantDevicesPlatformProtoResponseLimits", - "properties": { - "maxAssistResponseSizeBytes": { - "description": "Max size in bytes of the total serialized AssistResponse receivable by the client. If response exceeds this max, response may be modified by the server.", - "format": "int32", - "type": "integer" - }, - "maxDisplayLinesBytes": { - "description": "Maximum size in bytes (not characters) of text the display can handle (which may be different from how much the display can show at a time due to scrolling).", - "format": "int32", - "type": "integer" - }, - "maxSuggestionChipBytes": { - "description": "Maximum size in bytes (not characters) for each suggestion chip.", - "format": "int32", - "type": "integer" - }, - "maxSuggestionChips": { - "description": "Maximum number of suggestion chips the device can handle to display.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoSecurityConfig": { - "description": "Encapsulates security configuration for a single intent of a device model.", - "id": "AssistantDevicesPlatformProtoSecurityConfig", - "properties": { - "authMechanismForRemoteRequests": { - "description": "Specifies auth mechanism to be used upon remote request for device action.", - "enum": [ - "NONE", - "ENABLED", - "FINGERPRINT_OR_PASSWORD", - "PIN" - ], - "enumDeprecated": [ - false, - false, - true, - true - ], - "enumDescriptions": [ - "Indicates that auth is not required.", - "Indicates that auth is required. Auth mechanism used is determined automatically at query time, based on various factors such as device type, user settings, etc.", - "Use fingerprint, with fallback to Google account password if fingerprint capabilities are not available on personal device. Note: explicit configuration of specific auth mechanism is being deprecated.", - "Prompt for pin, sent to cloud for validation. Note: explicit configuration of specific auth mechanism is being deprecated." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoSendChatMessageCapability": { - "id": "AssistantDevicesPlatformProtoSendChatMessageCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoSupportedDeviceOps": { - "description": "This message will specify supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model package. See go/easi-client-op2 for more info. Next ID: 19", - "id": "AssistantDevicesPlatformProtoSupportedDeviceOps", - "properties": { - "callCall": { - "$ref": "AssistantDevicesPlatformProtoCallCallCapability", - "description": "|call_call| specifies the support for the call.CALL clientop, and the corresponding call_call field in assistant.embedded.v1.DeviceOp." - }, - "clientReconnect": { - "$ref": "AssistantDevicesPlatformProtoClientReconnectCapability", - "description": "|client_reconnect| indicates support for client.RECONNECT using assistant.embedded.v1.DeviceOp. There is an alternative API/capability for client.RECONNECT specified in RoutineCapability.supports_reconnect. Client should choose between this and RoutineCapability but not both." - }, - "coreDismissAssistant": { - "$ref": "AssistantDevicesPlatformProtoCoreDismissAssistantCapability", - "description": "[core_dismiss_assistant] specifies the support for core.DISMISS_ASSISTANT client_op and the corresponding core_dismiss_assistant field in assistant.embedded.v1.DeviceOp." - }, - "deviceModifySetting": { - "$ref": "AssistantDevicesPlatformProtoDeviceModifySettingCapability", - "description": "|device_modify_setting| specifies the support for device.MODIFY_SETTING client_op, and the corresponding device_modify_setting field in assistant.embedded.v1.DeviceOp." - }, - "deviceTakePhoto": { - "$ref": "AssistantDevicesPlatformProtoDeviceTakePhotoCapability", - "description": "[device_take_photo] specifies the support for the device.TAKE_PHOTO clientop, and the corresponding device_take_photo field in assistant.embedded.v1.DeviceOp." - }, - "executionWait": { - "$ref": "AssistantDevicesPlatformProtoExecutionWaitCapability", - "description": "|execution_wait| specifies the support for execution.WAIT client_op, and the corresponding execution_wait field in assistant.embedded.v1.DeviceOp." - }, - "getHealthObservation": { - "$ref": "AssistantDevicesPlatformProtoGetHealthObservationCapability", - "description": "|get_health_observation| specifies the support for get_health_observation client_op, and the corresponding get_health_observation field in assistant.embedded.v1.DeviceOp." - }, - "mediaNext": { - "$ref": "AssistantDevicesPlatformProtoMediaNextCapability" - }, - "mediaPause": { - "$ref": "AssistantDevicesPlatformProtoMediaPauseCapability" - }, - "mediaPlayMedia": { - "$ref": "AssistantDevicesPlatformProtoMediaPlayMediaCapability" - }, - "mediaPrevious": { - "$ref": "AssistantDevicesPlatformProtoMediaPreviousCapability" - }, - "mediaResume": { - "$ref": "AssistantDevicesPlatformProtoMediaResumeCapability" - }, - "mediaShowControls": { - "$ref": "AssistantDevicesPlatformProtoMediaShowControlsCapability" - }, - "mediaStop": { - "$ref": "AssistantDevicesPlatformProtoMediaStopCapability" - }, - "providerFulfill": { - "$ref": "AssistantDevicesPlatformProtoProviderFulfillCapability", - "description": "|provider_fulfill| specifies the support for provider.FULFILL client_op, and the corresponding provider_fulfill field in assistant.embedded.v1.DeviceOp." - }, - "providerOpen": { - "$ref": "AssistantDevicesPlatformProtoProviderOpenCapability", - "description": "|provider_open| specifies the support for provider.OPEN client_op, and the corresponding provider_open field in assistant.embedded.v1.DeviceOp." - }, - "sendChatMessage": { - "$ref": "AssistantDevicesPlatformProtoSendChatMessageCapability", - "description": "|send_chat_message| specifies the support for the chat_message.SEND clientop, and the corresponding send_chat_message field in assistant.embedded.v1.DeviceOp." - }, - "uiShowInterpreter": { - "$ref": "AssistantDevicesPlatformProtoUiShowInterpreterCapability", - "description": "|ui_show_interpreter| specifies the support for ui.SHOW_INTERPRETER client_op, and the corresponding ui_show_interpreter field in assistant.embedded.v1.DeviceOp." - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoTimerCapability": { - "description": "Capability with regard to support of timers by the client.", - "id": "AssistantDevicesPlatformProtoTimerCapability", - "properties": { - "maxSupportedExtendedTimerDuration": { - "$ref": "AssistantApiDuration", - "description": "Maximum extended timer duration supported by the client. The extended timer duration is the total start-to-finish duration after an AddTimeToTimer operation. E.g. if a user sets a timer for 30 minutes, and later adds 10 minutes, the extended duration is 40 minutes. Zero or unset indicates no maximum limit." - }, - "maxSupportedTimerDuration": { - "$ref": "AssistantApiDuration", - "description": "Maximum timer duration supported by the client. Zero or unset indicates no maximum limit." - }, - "maxSupportedTimers": { - "description": "Maximum number of timers that can be created on the client. Zero or unset indicates no maximum limit.", - "format": "int32", - "type": "integer" - }, - "supportsMutateAction": { - "description": "Whether the client supports the MUTATE timer action. If this is false, mutate operations may be handled by sending a pair of REMOVE and CREATE timer actions to replace the existing timer instead of mutating it.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoTriggerCondition": { - "description": "A TriggerCondition is described as a set of states which must be met by the device. It also includes instructions to the Assistant on what kind of response to execute when the condition is not met.", - "id": "AssistantDevicesPlatformProtoTriggerCondition", - "properties": { - "requiredStateValues": { - "additionalProperties": { - "$ref": "AssistantDevicesPlatformProtoArgSpec" - }, - "description": "The map of state keys along with their values which must be returned by the device, for example to start the dishwasher you may require states: {\"door\": \"CLOSED\", \"detergent_status\": \"READY\"}.", - "type": "object" - }, - "simpleTts": { - "description": "A simple TTS to play.", - "type": "string" - }, - "status": { - "description": "Refers to a defined ConditionalResult keyed by its status. It could be a built-in or custom ConditionalResult for this Intent. Note: the states provided by the device MUST contain all of the states required by the ConditionalResult.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoTtsOutputCapability": { - "description": "Capabilities with regard to support of outputting TTS.", - "id": "AssistantDevicesPlatformProtoTtsOutputCapability", - "properties": { - "supportsStructuredTts": { - "description": "Specifies whether client supports out-of-band TTS synthesis. When this is enabled, client could receive TTS request message in `SpeechOutputArgs.structured_tts` which it can then use to make request to S3 for synthesizing TTS audio.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantDevicesPlatformProtoUiShowInterpreterCapability": { - "id": "AssistantDevicesPlatformProtoUiShowInterpreterCapability", - "properties": {}, - "type": "object" - }, - "AssistantDevicesPlatformProtoUnderstandingConfig": { - "description": "Specifies the NLU level that Google performs, which determines the request format sent to the 3P cloud.", - "id": "AssistantDevicesPlatformProtoUnderstandingConfig", - "properties": { - "nluLevel": { - "description": "Specifies the NLU level for the intent.", - "enum": [ - "DEFAULT_SHALLOW_NLU", - "NO_NLU", - "DEEP_NLU" - ], - "enumDescriptions": [ - "Default value: Shallow NLU, the cloud request contains a structured intent including the command (e.g. \"action.devices.commands.SelectChannel\"), the unparsed description (e.g. \"Tom Cruise action movies\"), the target device and the target application.", - "No NLU, the cloud request contains the transcribed query (raw query or rewritten query based on previous conversation).", - "Deep NLU, the cloud request specifies a structured description of the media the user wants to act upon. E.g.: for query \"Play an action movie with Tom Cruise\", the structured description would be: \"parsedMediaDescription\": { \"mediaType\": \"MOVIE\", \"genre\": { \"name\": \"action\", \"externalId\": { \"tmsId\": \"tmsIdForActionGenre\" }, }, \"actor\": { \"name\": \"Tom Cruise\", \"externalId\": { \"tmsId\": \"tmsRootIdForTomCruise\", }, }, }," - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsAllMediaStreamLog": { - "id": "AssistantLogsAllMediaStreamLog", - "properties": { - "streams": { - "description": "All active media streams while the user issues the query.", - "items": { - "$ref": "AssistantLogsMediaStreamLog" - }, - "type": "array" - }, - "targetStream": { - "$ref": "AssistantLogsMediaStreamLog", - "description": "The stream selected by stream transfer logic to be transferred to another device. It will be empty for other features. Target_stream is different from target_device since target_stream could have multiple devices." - } - }, - "type": "object" - }, - "AssistantLogsAmbiguousTargetDeviceLog": { - "description": "This message logs details on ambiguous device targeting logic. 1. It first takes a list of ambiguous devices 2. Then applies two filters: structure filter and playability filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog to let the user pick one device.", - "id": "AssistantLogsAmbiguousTargetDeviceLog", - "properties": { - "ambiguousDeviceIndex": { - "description": "Device index of the initial ambiguous devices. The device index in this message is consistent with the device index in DeviceInfoLog. It would be used to track more detailed information of a device if needed.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "devicesAfterPromoters": { - "description": "DeviceInfo for devices after the filters and promoters. - When device targeting is only configured for single target, these are ambiguous devices that would have been the output of Lumos. Downstream may perform extra check before disambiguation dialog. For example, Media Initiation checks playability for devices. The output here is before the check. - When configured for multi-target, these are just the target devices. For privacy consideration, we may only log device id field inside.", - "items": { - "$ref": "AssistantLogsDeviceInfoLog" - }, - "type": "array" - }, - "finalTargetDevice": { - "$ref": "AssistantLogsDeviceInfoLog", - "description": "the final targeted device selected by playability filter or DeviceSelectionDialog" - }, - "playabilityFilteredDevicesIndex": { - "description": "Device index of the devices after playability filter", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "puntInfoLog": { - "description": "When there is no qualified devices after playability check, it would populate punt_info below. If all devices are filtered out for the same reason, there would only be one item. Otherwise, there will be multiple items.", - "items": { - "$ref": "AssistantLogsAmbiguousTargetDeviceLogPuntInfoLog" - }, - "type": "array" - }, - "structureFilteredDeviceIndex": { - "description": "Device index of the devices after structure filter", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantLogsAmbiguousTargetDeviceLogPuntInfoLog": { - "description": "PuntInfoLog is used to log why devices get filtered out during media content playability check. It contains media excuse, provider mid and also index of devices filtered by them.", - "id": "AssistantLogsAmbiguousTargetDeviceLogPuntInfoLog", - "properties": { - "deviceIndex": { - "description": "Index of devices that have the same punt info during playability check, i.e. same media_excuse and provider_mid.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "mediaExcuse": { - "description": "Excuse for media action triggering. See: assistant/verticals/media/proto/media_excuse.proto.", - "format": "int32", - "type": "integer" - }, - "providerMid": { - "description": "Provider id that the excuse belongs to. This is the KG MID of the provider, e.g., \"/m/09jcvs\" for Youtube.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsAvailableDeviceAndCtfContextDiffLog": { - "description": "A list of per-device contexts and their respective diffs between AvailableDevice and CTF.", - "id": "AssistantLogsAvailableDeviceAndCtfContextDiffLog", - "properties": { - "localNetworkIdDiff": { - "description": "The diff between AvailableDevice and CTF for the local network ID of the device.", - "enum": [ - "CONTEXT_DIFF_TYPE_UNKNOWN", - "CONTEXT_PRESENT_AND_EQUAL", - "CONTEXT_PRESENT_AND_NOT_EQUAL", - "CONTEXT_PRESENT_ONLY_IN_AVAILABLE_DEVICE", - "CONTEXT_PRESENT_ONLY_IN_CTF", - "CONTEXT_MISSING_IN_BOTH" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "locationFeatureDiff": { - "description": "The diff between AvailableDevice and CTF for the feature proto of the location of the device.", - "enum": [ - "CONTEXT_DIFF_TYPE_UNKNOWN", - "CONTEXT_PRESENT_AND_EQUAL", - "CONTEXT_PRESENT_AND_NOT_EQUAL", - "CONTEXT_PRESENT_ONLY_IN_AVAILABLE_DEVICE", - "CONTEXT_PRESENT_ONLY_IN_CTF", - "CONTEXT_MISSING_IN_BOTH" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsAvailableDevicesLog": { - "description": "Contains the available devices in DeviceTargetingContext.", - "id": "AssistantLogsAvailableDevicesLog", - "properties": { - "availableDeviceInfoLog": { - "items": { - "$ref": "AssistantLogsDeviceInfoLog" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantLogsCommunicationDeviceContactInfoLog": { - "description": "This is the log version of apps.people.oz.external.mergedpeopleapi.DeviceContactInfo Next ID: 2", - "id": "AssistantLogsCommunicationDeviceContactInfoLog", - "properties": { - "rawContactInfo": { - "description": "This list provides account information from the raw contact which is the source of this field.", - "items": { - "$ref": "AssistantLogsCommunicationRawDeviceContactInfoLog" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantLogsCommunicationFuzzyNgramMatchLog": { - "description": "This is the log version of fuzzy ngram match results that's used for generating the best fuzzy match. Next ID: 3", - "id": "AssistantLogsCommunicationFuzzyNgramMatchLog", - "properties": { - "relativeCost": { - "format": "float", - "type": "number" - }, - "type": { - "enum": [ - "NONE", - "EDIT_DISTANCE", - "GENIE_PLEXICON_DISTANCE", - "GENIE_ALTERNATIVE_RECOGNITION", - "JAPANESE_NAME_TRANSLITERATOR" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsCommunicationGoogleAccountProvenance": { - "description": "From google3/quality/qrewrite/proto/account_provenance.proto;l=14 We need to copy this as the above proto has Enum field which is not compatible between proto2 and proto3. go/proto2-versus-proto3#enums", - "id": "AssistantLogsCommunicationGoogleAccountProvenance", - "properties": { - "email": { - "type": "string" - }, - "gaiaId": { - "format": "int64", - "type": "string" - }, - "isDasherAccount": { - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantLogsCommunicationPersonMetadataLog": { - "description": "This is the log version of apps.people.oz.external.mergedpeopleapi.PersonMetadata Next ID: 2", - "id": "AssistantLogsCommunicationPersonMetadataLog", - "properties": { - "deviceContactInfo": { - "items": { - "$ref": "AssistantLogsCommunicationDeviceContactInfoLog" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantLogsCommunicationPersonalContactDataLog": { - "description": "Contact meta data. Next ID: 31", - "id": "AssistantLogsCommunicationPersonalContactDataLog", - "properties": { - "accountProvenance": { - "$ref": "AssistantLogsCommunicationGoogleAccountProvenance", - "description": "Google AccountProvenance of the contact." - }, - "commonNameAliasConfidence": { - "description": "Populated if matched_name_type is GIVEN_NAME_ALIAS or FULL_NAME_ALIAS.", - "format": "float", - "type": "number" - }, - "conceptId": { - "description": "Concept id for relationships in English, e.g. \"Mother\" for all non-English locales. It's only populated for source = RELATIONSHIP.", - "type": "string" - }, - "deviceContactAttributes": { - "description": "Integer value corresponding to DeviceContactExtraMetadata.Attribute enum. http://google3/social/graph/wire/proto/merged_person.proto?l=933\u0026rcl=320308954", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "emailIdCount": { - "description": "# emails stored for the contact.", - "format": "int32", - "type": "integer" - }, - "fuzzyNgramMatch": { - "description": "Populate only if ContactRecognitionAlternate.Source is 'FUZZY_CONTACT_MATCH'.", - "items": { - "$ref": "AssistantLogsCommunicationFuzzyNgramMatchLog" - }, - "type": "array" - }, - "gaiaId": { - "deprecated": true, - "description": "Contact owner's gaia id from cs/symbol::symbol:quality_qrewrite.PersonalContactData.shared_contact_owner_gaia_id. Only populated for is_shared = true and non sign-out mode and user is not the owner of the contact(shared contact from other user). This field is not being logged in P2.", - "format": "int64", - "type": "string" - }, - "isContactFromSecondaryAccount": { - "description": "Boolean value indicating whether selected contact is from different account than the logged in account.", - "type": "boolean" - }, - "isExactMatch": { - "description": "If the contact is matched exactly from the query name.", - "type": "boolean" - }, - "isShared": { - "deprecated": true, - "description": "If this is a shared contact. This is true in 2 cases: - User is calling their own contacts that have been marked as shared. - User is calling shared contacts from some other user's contact list. This field is not being logged in P2.", - "type": "boolean" - }, - "isTransliteratedMatch": { - "description": "Indicate the contact matches the transliterated query.", - "type": "boolean" - }, - "isVanityContact": { - "description": "True if the contact is a vanity contact(has email = user's email address).", - "type": "boolean" - }, - "isVisibleToGuestsRelationship": { - "description": "If the lookup was done using relationship which is visible to guests. This value will only be set if lookup was done using relationship. E.g. user has a guest relationship (doctor) -\u003e (John) And user says \"call doctor\", then this value will be true.", - "type": "boolean" - }, - "matchedNameType": { - "description": "The matched name type of a contact candidate.", - "enum": [ - "UNSPECIFIED", - "GIVEN_NAME", - "FAMILY_NAME", - "FULL_NAME", - "NICKNAME", - "OTHER", - "INITIAL_WITH_FAMILY_NAME", - "EMAIL_USERNAME", - "VANITY_NICKNAME", - "GIVEN_NAME_ALIAS", - "FULL_NAME_ALIAS", - "HOMOPHONE_GIVEN_NAME", - "HOMOPHONE_FAMILY_NAME", - "HOMOPHONE_FULL_NAME", - "HOMOPHONE_NICKNAME", - "GIVEN_MIDDLE_NAME", - "GIVEN_NAME_WITH_FAMILY_NAME_INITIAL", - "EMAIL_OF_FAMILY_MEMBER" - ], - "enumDescriptions": [ - "", - "Contact's given name, or first word in name, or last word if query is in CJK.", - "Contact's family name, or last word in name, or first word if query is in CJK.", - "Contact's display name, or given+family, or family+given if query is in CJK. Contact's middle name is optional.", - "Query span matches contact's nickname.", - "Not used yet.", - "Either or both of first/middle initials along with family name.", - "Email username, controlled by FocusNameParams.annotate_email_username.", - "Vanity nicknames like \"myself\", data is at //quality/qrewrite/servlets/internal/focus_name/data/vanity_nickname.txt", - "Contact's given name is a common name alias of query span, e.g. query [Bob] may match contact with given name \"Robert\".", - "Contact's given name is a common name alias of first word in query span, while remaining parts fully matched.", - "Homophone name match of given name, or last word. Only for CJK query.", - "Homophone name match of family name, or first word. Only for CJK query.", - "Homophone name match of full name, or family+given. Only for CJK query.", - "Homophone name match of nickname. Only for CJK query.", - "Contact's given name + middle name. Only for contacts with 3 words.", - "Contact's given name along with last name initial. Only support non-CJKT contact name.", - "This type indicates we find a match of the user's family member - as defined by families.google.com - by matching the email full address. Controlled by FocusNameParams.annotate_email_full_address." - ], - "type": "string" - }, - "matchedRecognitionAlternateName": { - "description": "Alternate recognition term which was used to match this contact.", - "type": "string" - }, - "matchedStarlightLookupName": { - "description": "Ngram matched by starlight lookup for fuzzy matching in fulfillment. We need this to analyze how many contacts are returned by starlight lookup that is not matched by fuzzy matching. For example, \"Komal Dear\" is matched to \"Komal Dr\" by fuzzy match. When doing starlight lookup, \"Komal\" and \"Dr\" will be looked up separately. So \"Dr xxx\" will also be returned. We want to see how often this happens.", - "items": { - "type": "string" - }, - "type": "array" - }, - "metadata": { - "$ref": "AssistantLogsCommunicationPersonMetadataLog", - "description": "PersonMetadata of the selected contact." - }, - "nameMatchedContactIndex": { - "description": "The indices of the contact in |candidate_contact| whose name matches the |selected_contact_data|. |candidate_contact|: http://google3/logs/proto/assistant/contact.proto?l=111\u0026rcl=306283376 |selected_contact_data|: http://google3/logs/proto/assistant/contact.proto?l=108\u0026rcl=306283376", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "originalQueryName": { - "description": "The original name in the query as transcribed by ASR.", - "type": "string" - }, - "phone": { - "description": "Information regarding the phone endpoints of the selected contact. Currently it is only logged for selected candidate.", - "items": { - "$ref": "AssistantLogsCommunicationPhoneLog" - }, - "type": "array" - }, - "phoneNumberCount": { - "description": "# phone_numbers stored for the contact.", - "format": "int32", - "type": "integer" - }, - "pkgReferenceType": { - "description": "Encodes if pkg_person was resolved via a name or relationship reference.", - "enum": [ - "UNKNOWN_PKG_REFERENCE_TYPE", - "PKG_NAME_REFERENCE", - "PKG_RELATIONSHIP_REFERENCE" - ], - "enumDescriptions": [ - "", - "Ann [Charlie]", - "my family dad my sister's kids" - ], - "type": "string" - }, - "recognitionAlternateScore": { - "description": "Populate only if ContactRecognitionAlternate.Source is not NONE.", - "format": "float", - "type": "number" - }, - "recognitionAlternateSource": { - "description": "Recognition alternative source type. If not none, then it indicates the personal contact data is alternative and how the alternative is fulfilled.", - "enum": [ - "NONE", - "S3_HYPOTHESES", - "GENIE_QUERY_ALTERNATIVES", - "NAME_CORRECTION_LOG", - "FUZZY_CONTACT_MATCH", - "NEURAL_CONTACT_MATCH", - "NEURAL_CONTACT_MATCH_DARK_LAUNCH", - "PERSONALIZED_NAME_CORRECTION_LOG" - ], - "enumDescriptions": [ - "", - "Alternate name from S3 recognition topN hypothesis.", - "Alternate name from Genie query alternatives.", - "Alternate name from contact correction history.", - "Fuzzy match with user's contacts.", - "Neural match. See go/phonetic-contact-match.", - "The dark launch for a neural match. We found a match, but we ignore it for serving and just log it.", - "Personalized alternate name from Assistant User Profile that stores personalized contact name corrections under ContactAlternates profile." - ], - "type": "string" - }, - "relationshipMemoryCount": { - "description": "The number of resolved relationship names and contact pointers from Assistant Memory.", - "format": "int32", - "type": "integer" - }, - "selectedPhone": { - "$ref": "AssistantLogsCommunicationPhoneLog", - "description": "Information regarding the selected phone endpoint. Currently it is only logged for selected candidate." - }, - "shortcutContactInfo": { - "$ref": "MajelContactInformationShortcutInformation", - "description": "Shortcut information of the contact." - }, - "source": { - "description": "The contact source of a contact candidate.", - "enum": [ - "UNKNOWN", - "FOCUS_CONTACT", - "DEVICE_CONTACT", - "GMAIL_INFERENCE", - "S3_DECORATOR", - "RELATIONSHIP", - "VANITY", - "SIGNED_OUT_DEVICE", - "SHARED_CONTACT", - "FAMILY_MEMBER", - "SHARED_DEVICE_USER", - "ON_DEVICE_CONTACT_LOOKUP", - "APP_SEARCH_CONTACT" - ], - "enumDescriptions": [ - "", - "Contacts from Focus", - "Contacts from device, see go/device-content", - "Contacts inferred from Gmail", - "Contacts from S3 decorator", - "Whitelisted relationships no matter if user has such contact, see go/sls-personal_relationship_names_and_aliases.", - "Vanity nicknames or user's own profile name.", - "Signed out device contact names", - "Contacts shared from other users. See go/multi-user-shared-contact.", - "People in the user's family group in http://families.google.com who are not contacts.", - "People who share a device with the user who are not contacts.", - "Contacts from on device lookup during contact fulfillment.", - "Contacts from AppSearch." - ], - "type": "string" - }, - "systemContactGroupId": { - "description": "Integer value corresponding to SystemContactGroup enum. http://google3/social/graph/wire/proto/merged_person.proto?l=3151\u0026rcl=320308954", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "whatsappPhoneNumberCount": { - "deprecated": true, - "description": "DEPRECATED. Use phone instead. Used before 2020-01-13. Number of phone numbers annotated with Whatsapp.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantLogsCommunicationPhoneLog": { - "description": "This is the log version of apps.people.oz.external.mergedpeopleapi.Phone proto. Next ID: 3", - "id": "AssistantLogsCommunicationPhoneLog", - "properties": { - "rawDeviceContactInfo": { - "description": "This list provides account information from the raw contact which is the source of this field.", - "items": { - "$ref": "AssistantLogsCommunicationRawDeviceContactInfoLog" - }, - "type": "array" - }, - "type": { - "description": "Label for phone number in the Contacts app. It can have standard values provided by the app e.g. MOBILE, HOME, WORK etc, but users are allowed to modify. So essentially it becomes user content.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsCommunicationRawDeviceContactInfoLog": { - "description": "This is the log version of apps.people.oz.external.mergedpeopleapi.RawDeviceContactInfo proto. Next ID: 3", - "id": "AssistantLogsCommunicationRawDeviceContactInfoLog", - "properties": { - "accountType": { - "description": "Account type of raw contact, e.g. \"com.google\" or \"com.linkedin.android\".", - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsDefaultDeviceLog": { - "description": "Log device info of default speaker and tv", - "id": "AssistantLogsDefaultDeviceLog", - "properties": { - "defaultSpeaker": { - "$ref": "AssistantLogsDeviceInfoLog" - }, - "defaultTv": { - "$ref": "AssistantLogsDeviceInfoLog" - }, - "sourceDeviceId": { - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsDefaultDevicesLog": { - "id": "AssistantLogsDefaultDevicesLog", - "properties": { - "localDefaultDevices": { - "$ref": "AssistantLogsDefaultDeviceLog" - }, - "nearbyDefaultDevices": { - "description": "Default settings of nearby devices.", - "items": { - "$ref": "AssistantLogsDefaultDeviceLog" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantLogsDeviceAnnotationLog": { - "description": "Device annotation mention from query", - "id": "AssistantLogsDeviceAnnotationLog", - "properties": { - "deviceIdLog": { - "description": "The identification of the device. The logging version of the full DeviceId.", - "items": { - "$ref": "AssistantLogsSettingsDeviceIdLog" - }, - "type": "array" - }, - "rawTextFromQuery": { - "description": "The raw text mentioning a device from the query, such as \"any tv\".", - "type": "string" - }, - "type": { - "description": "The annotation type mentioned in the query.", - "enum": [ - "NO_DEVICE_ANNOTATION", - "DEVICE_ID_ANNOTATION", - "DEVICE_TYPE_ANNOTATION", - "DEVICE_TEXT_ANNOTATION" - ], - "enumDescriptions": [ - "No device is mentioned in the query.", - "Annotation specifying a device linked to user's account", - "Annotation specifying a general device, such as speaker, TV, etc.", - "Annotation with text. It could be random text, such as \"dummy thing\"." - ], - "type": "string" - }, - "userDefinedName": { - "description": "The matched device name set by the user, such as \"big screen tv\".", - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsDeviceInfoLog": { - "description": "The information related to the device. Next ID: 19", - "id": "AssistantLogsDeviceInfoLog", - "properties": { - "arbitrationDeviceId": { - "description": "Device identifier string for the current device used in the arbitration service.", - "type": "string" - }, - "availableDeviceAndCtfContextDiff": { - "$ref": "AssistantLogsAvailableDeviceAndCtfContextDiffLog", - "description": "A list of diffs for the device's context between AvailableDevice and CTF." - }, - "connectivity": { - "enum": [ - "UNKNOWN_CONNECTIVITY", - "ONLINE_STATE", - "OFFLINE_STATE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "deviceId": { - "description": "The identification of the device. DeviceId (go/as-device-id) has multiple fields. To consloidate it to a single to make dremel easier, we use the string obtained by calling go/get-device-id.", - "type": "string" - }, - "deviceIdLog": { - "$ref": "AssistantLogsSettingsDeviceIdLog", - "description": "The identification of the device. The logging version of the full DeviceId." - }, - "deviceIndex": { - "description": "We index linked devices and log these index to avoid logging device_id. device_index should always be a positive number or -1. -1 means this device is not in homegraph.", - "format": "int32", - "type": "integer" - }, - "deviceModelId": { - "description": "This is the device_model_id field in device_settings proto. It has the same value for the same type of devices. e.g. Sonos.Sonos One.S13", - "type": "string" - }, - "distance": { - "description": "LINT.ThenChange(//depot/google3/assistant/context/proto/device_arbitration.proto:EstimatedRelativeDistance)", - "enum": [ - "UNKNOWN_DISTANCE", - "CLOSEST", - "EQUALLY_CLOSE", - "FURTHER" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "eliminatingLumosProcessor": { - "description": "The lumos processor which eliminated this device, if applicable", - "enum": [ - "UNKNOWN_LUMOS_PROCESSOR", - "CAPABILITIES_FILTER", - "DEVICE_ANNOTATION_FILTER", - "DEVICE_CONNECTIVITY_FILTER", - "LOCAL_DEVICE_INCLUSIVENESS_FILTER", - "LOCATION_FILTER", - "MEDIA_PLAYBACK_FILTER", - "SAFETY_FILTER", - "TRAITS_FILTER", - "DEVICE_TYPE_FILTER", - "APP_FILTER", - "HYBRID_DEVICE_PROPERTIES_FILTER", - "NEARBY_DEVICE_FILTER", - "DEVICE_ATTRIBUTES_FILTER", - "LAST_USED_DEVICE_FILTER", - "DEFAULT_MEDIA_OUTPUT_PROMOTER", - "DEVICE_GROUP_PROMOTER", - "LOCAL_DEVICE_PROMOTER", - "LOCATION_PROMOTER", - "MEDIA_FOCUS_PROMOTER", - "MEDIA_PLAYBACK_PROMOTER", - "SAME_NAME_DEVICE_PROMOTER", - "PHONE_TARGETING_PROMOTER", - "TRAITS_PROMOTER", - "DEVICE_TYPE_PROMOTER", - "FEATURE_EXTRACTOR", - "LABELER" - ], - "enumDescriptions": [ - "", - "filters", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "promoters", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "feature extractor", - "labeler" - ], - "type": "string" - }, - "homeStructureId": { - "description": "The home structure id of the device.", - "type": "string" - }, - "isRemote": { - "type": "boolean" - }, - "isTethered": { - "description": "This flag indicates this is a non-local device that is tethered to local/originating device. Tethered device is a special case of is_remote and typically used in wearable scenarios. This is always false for local device and when it is true, it implies is_remote is also true.", - "type": "boolean" - }, - "mediaCapabilities": { - "$ref": "AssistantLogsMediaCapabilities" - }, - "mediaDeviceType": { - "enum": [ - "UNKNOWN_DEVICE_TYPE", - "ASSISTANT", - "HOME_AUTOMATION", - "CAST", - "CAST_GROUP", - "QUARTZ", - "QUARTZ_IOS", - "CLOUD_AUTO" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "Quartz in AGSA", - "Quartz in iOPA", - "Non-assistant Auto devices from Cloud. go/cloud-registration-api-changes" - ], - "type": "string" - }, - "name": { - "description": "User defined device name", - "type": "string" - }, - "sessions": { - "description": "This field should be populated only when there is at least one session on this device.", - "items": { - "$ref": "AssistantLogsDeviceMediaSessionLog" - }, - "type": "array" - }, - "surfaceType": { - "description": "This field should be populated only when the device is an Assistant device.", - "enum": [ - "UNKNOWN", - "ANDROID_ALLO", - "ANDROID_AUTO", - "ANDROID_THINGS_CUBE", - "ANDROID_THINGS_JASPER", - "ANDROID_TV", - "ANDROID_TV_KIDS", - "ANDROID_WEAR", - "AR_GLASSES", - "ASSISTANT_SDK", - "AUDIOWEAR", - "BUBBLE_CHARACTERS_IOS", - "CAPABILITY_BASED_SURFACE", - "CHROMECAST_ASSISTANT", - "CHROMECAST_MANHATTAN", - "CHROMECAST_SEARCH", - "CLOUD_DEVICE", - "COMPANION_SCREEN", - "DYNAMITE_WEB", - "ENSEMBLE", - "EYESFREE_AGSA", - "EYESFREE_GMM", - "GBOARD", - "GLASS", - "GOOGLE_HOME", - "HANGOUTS_CHATBOT", - "IOS_ALLO", - "IOS_GSA", - "IOS_WEAR", - "LIBASSISTANT", - "LINE_CHATBOT", - "MATTER", - "MULTIMODAL_AGSA", - "NON_ASSISTANT_SURFACE", - "OPA_AGSA", - "OPA_AGSA_CHROME_OS", - "OPA_ANDROID_AUTO", - "OPA_ANDROID_LITE", - "OPA_ANDROID_SCREENLESS", - "OPA_ANDROID_SMART_DISPLAY", - "OPA_ANDROID_TABLET", - "OPA_CROS", - "OPA_GACS", - "OPA_IOS", - "OPA_IOS_SCREENLESS", - "OPA_KAIOS", - "OPA_MOBILE_WEB", - "RTOS_PHONE", - "SMS_CHATBOT", - "TELEGRAM_CHATBOT", - "TELEPHONE_ASSISTANT", - "VERILY_ONDUO", - "YOUTUBE_APP", - "AGSA_BISTO_FOR_EVAL", - "COGSWORTH_FOR_EVAL", - "LOCKHART_MIC_FOR_EVAL", - "OPA_ANDROID_AUTO_EMBEDDED_FAKE", - "SPARK", - "WALLE", - "UNIT_TESTING" - ], - "enumDeprecated": [ - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "Deprecated (never used). Use OPA_ANDROID_AUTO instead.", - "Assistant on small screen stationary device.", - "", - "", - "", - "", - "Assistant on AR Glasses with both visual and audio experiences. Ask ar-assistant@ for details.", - "For Assistant SDK gRPC client.", - "", - "go/assistant-lamda-overview-characters", - "Surface for capability based testing.", - "For chrome cast assistant web app.", - "For chrome cast with assistant + screen (e.g., Google Nest Hub).", - "", - "Virtual device for event-based triggering, e.g. executing time", - "scheduled routines: go/routine-cloud-ex For Quartz.", - "", - "", - "Deprecated. Please use OPA_ANDROID_SCREENLESS.", - "", - "For Gboard app", - "", - "", - "", - "", - "", - "", - "For standalone libassistant devices.", - "LINE 3P messaging app", - "For Matter devices. go/matter-prod", - "Deprecated.", - "Surfaces that do not speak to the Assistant, i.e. web HQ", - "Assistant on Android phones accessed through the Google App (velvet). This represents neither all of the assistant on android phones (ANDROID_ALLO, VERILY_ONDUO, etc.) nor all of the assistant built on top of AGSA (ANDROID_WEAR, OPA_ANDROID_SCREENLESS, OPA_AGSA_CHROME_OS, etc.).", - "Deprecated. Please use OPA_CROS.", - "", - "This is OPA on Android Go (not part of AGSA)", - "Assistant on Nexus with screen off/locked. Use go/bisto device to trigger.", - "Assistant on Titan hub mode (go/titan-hubmode-surface). This is OPA Android first party Smart Display devices. The UI experience is built on Opal (Gallium and Flutter) and native Android.", - "Assistant on Android tablet", - "Assistant on native Chrome OS (go/croissant).", - "For assistant on GACS devices (go/gacs-dd). Google Assistant Conversation Service (GACS) defines intents the device accepts. This surface serves the intents in the assistant response.", - "", - "Assistant on iOS with screen off/locked. Use go/bisto device to trigger.", - "Assistant on KaiOS. go/kaiosama", - "Assistant on Mobile Web. go/opa-spidey", - "Assistant on low-cost RTOS phones (go/conceRTOS).", - "", - "Telegram 3P messaging app", - "Assistant on a phone call (go/telephone).", - "", - "A Youtube app.", - "Eval-only surfaces. These surfaces are not real surfaces. They are only used in intermediate steps of eval query and request generation: 1. Eval samplers (OPA query sampler and Cannery sampler) checks logs and temporarily assigns these surface types to the logs, to put Bisto, Lockhart Mic, ... queries in the correct query pools. 2. Request builders uses these surface types to determine how TaskRequest for Bisto, Lockhart Mic, ... should be built, like whether some user user agent should be used, whether some entry source should be set. The surface types in the generated TaskRequest is still the production surface types, like OPA_ANDROID_SCREENLESS or OPA_AGSA. Temp surface for Bisto Android eval. Will be merged with OPA_ANDROID_SCREENLESS in the future.", - "", - "", - "OPA_ANDROID_AUTO has another sub-surface (embedded) that differs in the reported capabilities, client-ops, flags but uses the same surface_type string of OPA_ANDROID_AUTO. This fake surface would allow running turing2 tests and evals for this embedded surface. Deprecated as of Feb 2019. Please use \"OPA_ANDROID_AUTO_EMBEDDED\" client type for tests and eval. See go/client-onboarding for more details. https://cs.corp.google.com/piper///depot/google3/assistant/assistant_server/tools/util/consts.h?l=32\u0026rcl=247481455", - "Unlaunched new surface prototype, ask spark-eng@.", - "Wall-E is an Area120 Project building assistant powered robots. The surface is an extended joplin which have same capabilities as a google home adding custom robot features. Currently in active development. Please reach out walle-software@ or bingxin@ for questions. For details see go/walle-as-pipeline-1-pager.", - "Surface used for unit-testing purposes. Unit-tests might still require the existence of a \"valid\" SurfaceType to succeed (eg. initialization of the CapabilityBuilder, proto matching, etc.). With the move away from SurfaceType checks, a generic \"TESTING\" SurfaceType can be used for such tests without affecting the test behavior. Unlike the CAPABILITY_BASED_SURFACE, this proto does not have any capabilities or ResponseType tied to it. It should only be used for unit-tests and should not be exposed in the ASDebugger." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsDeviceMediaSessionLog": { - "description": "Log about the media session on a device.", - "id": "AssistantLogsDeviceMediaSessionLog", - "properties": { - "deviceId": { - "$ref": "AssistantApiCoreTypesDeviceId" - }, - "mediaSessionType": { - "enum": [ - "UNKNOWN", - "SINGLE_DEVICE_SESSION", - "STATIC_GROUP_SESSION", - "DYNAMIC_GROUP_SESSION" - ], - "enumDescriptions": [ - "", - "", - "Media session is playing on a device group set by users.", - "Media session is playing on a temporary device group requested in query." - ], - "type": "string" - }, - "mediaType": { - "description": "The type of the media session. If provider does not report this field, we ## compute it by mapping provider type to media type. Here is the mapping: |ProviderType |MediaItemMetadata.Type| |-------------------------------------- |MUSIC |TRACK | |VIDEO |VIDEO | |LIVE_TV |TV_CHANNEL | |AUDIOBOOK |AUDIO_BOOK | |PODCAST |PODCAST_EPISODE | ## |LIVE_STREAMING|VIDEO | ", - "enum": [ - "UNKNOWN", - "TRACK", - "ALBUM", - "ARTIST", - "PLAYLIST", - "EPISODE", - "MOVIE", - "PHOTO", - "TV_SHOW_EPISODE", - "MUSIC_GENRE", - "MUSIC_STATION", - "AUDIO_BOOK", - "CHAPTER", - "RADIO_STATION", - "MUSIC_MIX", - "SPORTS_EVENT", - "TV_CHANNEL", - "VIDEO", - "VIDEO_RECOMMENDED_PLAYLIST", - "YOUTUBE_CHANNEL", - "YOUTUBE_VIDEO_PLAYLIST", - "TV_SHOW", - "NEWS", - "NARRATED_WEB", - "NEWS_CALL_TO_ACTION", - "NEWS_OVERVIEW", - "AUDIO_STORY", - "PODCAST_SERIES", - "PODCAST_EPISODE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Video recommendations playlist. (e.g. fetched from Recommended feed on YouTube)", - "", - "", - "Representing a TV show which contains multiple TV seasons.", - "", - "", - "Repesents a Call To Action media item. See go/newsplayer-outro-gnews. Current use case is to ask users to continue their news journey in the Google News app / web app. Future cases could include asking users to adjust their news settings.", - "Represents a Narrative News Overview media item. This a multi-segment news media item with interactive elements. See go/gen-narrative-news-intro.", - "Representing a short audio story. go/tmas-design", - "Represent different kinds of podcast content", - "" - ], - "type": "string" - }, - "playbackState": { - "description": "The playback states of the session.", - "enum": [ - "UNKNOWN_STATE", - "STOPPED", - "PAUSED", - "PLAYING", - "FAST_FORWARDING", - "REWINDING", - "BUFFERING", - "ERROR", - "CONNECTING", - "SKIPPING_TO_PREVIOUS", - "SKIPPING_TO_NEXT", - "SKIPPING_TO_QUEUE_ITEM" - ], - "enumDescriptions": [ - "", - "State indicating this item is currently stopped.", - "State indicating this item is currently paused.", - "State indicating this item is currently playing.", - "State indicating this item is currently fast forwarding.", - "State indicating this item is currently rewinding.", - "State indicating this item is currently buffering and will begin playing when enough data has buffered.", - "State indicating this item is currently in an error state. The error message should also be set when entering this state.", - "State indicating the class doing playback is currently connecting to a new destination. Depending on the implementation you may return to the previous state when the connection finishes or enter STATE_NONE. If the connection failed STATE_ERROR should be used.", - "State indicating the player is currently skipping to the previous item.", - "State indicating the player is currently skipping to the next item.", - "State indicating the player is currently skipping to a specific item in the queue." - ], - "type": "string" - }, - "providerMid": { - "description": "The KG mid of the media provider.", - "type": "string" - }, - "supportedTransportControl": { - "items": { - "enum": [ - "UNKNOWN_COMMAND", - "PLAY_FROM_SEARCH", - "PLAY_FROM_URI", - "SEND_CUSTOM_ACTION", - "SKIP_TO_NEXT", - "SKIP_TO_PREVIOUS", - "PLAY", - "PAUSE", - "STOP", - "SET_RATING", - "SEEK_TO", - "SHUFFLE", - "REWIND", - "FAST_FORWARD", - "SKIP_TO_QUEUE_ITEM", - "SET_REPEAT_MODE", - "SET_CAPTIONING_ENABLED" - ], - "enumDescriptions": [ - "", - "Requests that the app start playback for a specific search query.", - "Requests that the app start playback for a specific uri.", - "Send a custom string action to the provide (go/media-controller-gsa).", - "Skip to the next item in the play queue.", - "Skip to the previous item in the play queue.", - "Requests that the player start its playback at its current position.", - "Requests that the player pause its playback and stay at its current position.", - "Requests that the player stop its playback.", - "Rate the current content.", - "Move to a new location in the media stream.", - "Requests that the app shuffle the currently loaded content.", - "Rewind the current content.", - "Fast forward the current content.", - "Play an item with a specific id in the play queue.", - "Set repeat mode for current content.", - "Enable or disable the closed caption for the current content." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantLogsDeviceSelectionLog": { - "description": "Contains information logged in target device selection. See go/improve-device-targeting-logging for details. Next Id: 23", - "id": "AssistantLogsDeviceSelectionLog", - "properties": { - "allDefaultDevices": { - "deprecated": true, - "description": "Default settings of all nearby devices Deprecated, use default_devices_log instead.", - "items": { - "$ref": "AssistantLogsDefaultDeviceLog" - }, - "type": "array" - }, - "allMediaStreamLog": { - "$ref": "AssistantLogsAllMediaStreamLog", - "description": "Logs all active media sessions." - }, - "availableDevicesLog": { - "$ref": "AssistantLogsAvailableDevicesLog", - "description": "The list of `available_devices` as they appear in DeviceTargetingContext. This is very useful for debugging diffs between GB and CMP since they have different methods of populating the `available_devices` field." - }, - "counterfactualDeviceSelectionLog": { - "$ref": "AssistantLogsDeviceSelectionLog", - "description": "DeviceSelectionLog for counterfactual logging." - }, - "defaultDevices": { - "$ref": "AssistantLogsDefaultDeviceLog", - "deprecated": true, - "description": "Include default tv and default speaker Deprecated, use all_default_devices below." - }, - "defaultDevicesLog": { - "$ref": "AssistantLogsDefaultDevicesLog" - }, - "devicesStr": { - "description": "Temporaray field for debugging ANDROID_AUTO multi_target_devices punt. This will be removed once we identify the root cause.", - "items": { - "type": "string" - }, - "type": "array" - }, - "inputErrorLog": { - "items": { - "$ref": "AssistantLogsInputErrorLog" - }, - "type": "array" - }, - "localDevice": { - "$ref": "AssistantLogsDeviceInfoLog", - "deprecated": true, - "description": "Now we just log the media sessions on local device Deprecated, use NearbyDevicesLog::LocalDevice instead." - }, - "logDataSource": { - "description": "Indicates which library populated the device_selection_log for this query.", - "enum": [ - "UNKNOWN", - "MEDIA_FOCUS_SELECTOR", - "LUMOS_DEVICE_TARGETING_LIBRARY" - ], - "enumDescriptions": [ - "", - "Indicates the logs is populated by Media Focus Selector.", - "Indicates the logs is populated by Lumos Device Targeting Library." - ], - "type": "string" - }, - "mediaFocus": { - "$ref": "AssistantLogsMediaFocusInfoLog", - "deprecated": true, - "description": "The Media Focus information. This field should be populated only when there is a Media Focus. Deprecated, use media_focuses below instead." - }, - "mediaFocusesLog": { - "$ref": "AssistantLogsMediaFocusesLog", - "description": "Media focuses on all devices." - }, - "nearbyDevicesLog": { - "$ref": "AssistantLogsNearbyDevicesLog", - "description": "All nearby devices and local device." - }, - "queryAnnotation": { - "$ref": "AssistantLogsQueryAnnotationLog", - "description": "This should log the query annotation features found in the device, such as the device annotation, the room annotation, and the structure annotation from the query." - }, - "selectionResult": { - "$ref": "AssistantLogsDeviceSelectionResultLog", - "description": "The result of device selection." - }, - "testCodes": { - "items": { - "$ref": "AssistantLogsDeviceTargetingTestCode" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantLogsDeviceSelectionResultLog": { - "description": "Log the selection result. Next ID: 11", - "id": "AssistantLogsDeviceSelectionResultLog", - "properties": { - "ambiguousTargetDevices": { - "$ref": "AssistantLogsAmbiguousTargetDeviceLog", - "deprecated": true, - "description": "Deprecated, please use qualified_devices." - }, - "deviceSelectionDecisionSummary": { - "$ref": "AssistantLogsMediaDeviceSelectionDecisionSummary" - }, - "deviceTargetingErrorType": { - "enum": [ - "UNKNOWN_ERROR", - "NO_DEVICE_IN_SAME_STRUCTURE", - "NO_DEVICE_IN_SAME_NETWORK_OR_LOCATION", - "NO_DEVICE_IN_SAME_STRUCTURE_OR_NETWORK_OR_LOCATION", - "NO_DEVICE_SATISFIES_SAME_STRUCTURE_OR_UNKNOWN_IF_OWNED", - "NO_DEVICE_SATISFIES_CAPABILITIES_REQUIREMENT", - "NO_DEVICE_MATCHED_DEVICE_ANNOTATION", - "MULTI_TARGET_DEVICE_NOT_SUPPORTED", - "NO_DEVICE_AFTER_LOCAL_DEVICE_EXCLUDED", - "UNABLE_TO_TARGET_ONLY_LOCAL_DEVICE", - "NO_DEVICE_MATCHED_REQUIRED_TRAITS", - "NO_DEVICE_MATCHED_REQUIRED_ATTRIBUTES", - "NO_DEVICE_MATCHED_REQUIRED_DEVICE_TYPE", - "NO_DEVICE_IN_SAME_OR_MENTIONED_STRUCTURE", - "NO_DEVICE_SATISFIES_PLAYBACK_REQUIREMENT", - "STRUCT_DISAMBIG_NOT_SUPPORTED", - "ROOM_DISAMBIG_NOT_SUPPORTED", - "UNRECOGNIZED_DEVICE_NAME", - "NO_LINKED_REMOTE_DEVICES", - "NO_LINKED_REMOTE_VIDEO_DEVICES", - "NO_SAFE_DEVICE_WITH_SCREEN", - "ALL_QUALIFIED_DEVICES_OFFLINE", - "CROSS_STRUCTURE_TARGETING_DISALLOWED", - "NO_DEVICE_MEETS_PROVIDER_REQUIREMENT", - "MISSING_LOCAL_DEVICE_SETTING", - "NO_DEVICE_HAS_REQUIRED_APP", - "HYBRID_DEVICE_NOT_QUALIFIED", - "NO_NEARBY_DEVICES", - "NO_MATCHING_LAST_USED_DEVICE" - ], - "enumDescriptions": [ - "", - "Error about when there's no qualified devices in the same home graph structure as the local device.", - "Error about when there's no qualified devices in the same network or location as the local device.", - "Error about when there's no qualified devices in the same home graph structure or network or location as the local device.", - "Error about when no qualified device was found that matched the following conditions: 1) Both local device and target device are in the same home graph structure. 2) The distance to target device is unknown (i.e. either local device or target device is homeless) and target device is owned by the user. 3) If local device and target device are in different structures, only allowed when the query explicitly mentioned device name.", - "Error about when no qualified device satisfies the device capability requirement.", - "Error of no qualified devices matched requirements from device annotation.", - "Error of not supporting targeting multiple devices.", - "Error of no device left after local device is excluded within inclusiveness filter.", - "Error of unable to target only local device within inclusiveness filter.", - "Error of no qualified devices matched the required smart home traits.", - "Error of no qualified devices matched the required Smart Home attributes.", - "Error of no qualified devices matched the required smart home device types.", - "Error of no qualified devices in the mentioned structure or in the same structure as the local device.", - "Error of no device satisfying playback requirements.", - "Error when structure disambiguation is not supported in the config. When config is supported (both structure_disambiguation_supported and multi_target_supported are set to true), the library would return structures for disambiguation.", - "Error when room disambiguation is not supported in the config. When config is supported (both room_disambiguation_supported and multi_target_supported are set to true), the library would return rooms for disambiguation.", - "Error when the device mentioned in the query is not recognized. In other words, we can't find a device which matched the device mentioned in the query.", - "Used when user requests to target on a remote device and there are no remote devices linked.", - "Used when user requests to target on a remote video device and there are no remote video devices linked.", - "Error when there is no safe screen device. For example, requesting screen-requiring content from Auto surface.", - "Error when all qualified devices are offline.", - "When user tries to target a device which is in a different structure and is not allowed. For example, if user doesn't own the structure. See go/on-multi-user-access-transitivity for more details.", - "Used when user requests a device with certain provider but no device can satisfies provider requirement.", - "AvailableDevice device setting of local device is missing.", - "Required app is not installed", - "All remote hybrid devices fail the propertries requirement specific (lock/unlock, etc) for hybrid devices (such as Tangor).", - "No nearby hearing devices", - "No matching device for the LastUsedDevice requirement found." - ], - "type": "string" - }, - "finalLumosStage": { - "description": "The class name for the final filter/promoter used by Lumos for device targeting. This filter or promoter runs for all users, and contains no data specific to the individual user.", - "type": "string" - }, - "lowConfidenceTargetDevice": { - "$ref": "AssistantLogsLowConfidenceTargetDeviceLog", - "description": "////////////////////////////////////////////////////////////////////////// Ambiguous Results: the library failed to select the final target device(s) but it narrows down to a set of devices which are all valid target device candidates. The client needs to do further disambiguation, e.g., giving a dialog or having customized logic. The low confidence target device means the library falied to select the target device but it picked two devices for the client to do disambiguation." - }, - "mediaFocusSelectionErrorType": { - "description": "////////////////////////////////////////////////////////////////////////// This field log the error while selecting target device in media_focus_selector.", - "enum": [ - "UNKNOWN_ERROR", - "FOUND_MULTIPLE_DEVICES", - "REQUESTED_DEVICE_HAS_NO_SCREEN", - "NO_LINKED_REMOTE_DEVICES", - "NO_LINKED_REMOTE_VIDEO_DEVICES", - "UNRECOGNIZED_DEVICE_NAME", - "UNRECOGNIZED_VIDEO_DEVICE_NAME", - "NO_DEVICE_MEETS_PROVIDER_REQUIREMENT", - "MULTIPLE_DEVICES_MEET_PROVIDER_REQUIREMENT", - "REMOTE_CLOUD_CASTING_NOT_ALLOWED", - "NO_SAFE_DEVICE_WITH_SCREEN", - "NO_DEVICE_MEETS_PLAYBACK_REQUIREMENT", - "MULTIPLE_DEVICES_MEET_PLAYBACK_REQUIREMENT", - "NO_VALID_DEVICE_IN_REQUESTED_ROOM", - "NO_DEVICE_FOUND_IN_REQUESTED_ROOM", - "MULTIPLE_DEVICES_FOUND_IN_REQUESTED_ROOM", - "ALL_QUALIFIED_DEVICES_IN_DIFFERENT_STRUCTURE", - "QUALIFIED_DEVICE_OFFLINE", - "ALL_QUALIFIED_DEVICES_OFFLINE", - "CROSS_STRUCTURE_TARGETING_DISALLOWED", - "NO_DEVICE_MEETS_STADIA_GAMING_CAPABILITY", - "MEDIA_STATES_MISSING", - "NO_DEVICE_SATISFIES_CAPABILITIES_REQUIREMENT", - "HYBRID_DEVICE_NOT_QUALIFIED" - ], - "enumDescriptions": [ - "Used when the type of error is not known explicitly.", - "Used when there are multiple devices satisfying the constraints.", - "Used when the user requested to play a content on device without screen and focus selection has the (unsatisfied) REQUIRES_SCREEN restriction. Note that this is error is used if device is recognized, and otherwise UNRECOGNIZED_DEVICE or UNRECOGNIZED_VIDEO_DEVICE will be used.", - "Used when user requests to play on a remote device and there are no linked devices.", - "Used when user requests to play on a remote video device and there are no linked video devices.", - "Used when requested device with the given name in the annotation can not be recognized, that is user requested to play on a device that is not found in linked devices. If device is unrecognized and focus selection has the (unsatisfied) REQUIRES_SCREEN or type of unrecognized device is video then more specific UNRECOGNIZED_VIDEO_DEVICE_NAME is used.", - "Used when requested device with the given name in the annotation can not be recognized and focus selection has the (unsatisfied) REQUIRES_SCREEN or type of unrecognized device is video.", - "Used when user requests a device with certain provider but no device can satisfies provider requirement.", - "Used when user requests a device with certain provider but more than one device can satisfies the provider requirement.", - "Used when requested device does not allow remote cloud casting.", - "Used when there is no safe screen device. For ex: requesting screen-requiring content from Auto surface.", - "Used when user requests a device with certain playback but no device can satisfies playback requirement.", - "Used when user requests a device with certain playback but more than one device can satisfies playback requirement.", - "Used when user requests a device to be in a particular room but none of the devices in that room satisfies all requirements.", - "Used when user requests a room but no device is found in that room.", - "Used when user requests a room and there are multiple devices in that room are eligible to selected.", - "Used when all qualified devices are not in the same structure as the primary device.", - "", - "When all qualified devices are offline.", - "When user tries to target a device which is in a different structure and is not allowed. For example, if user doesn't own the structure. See go/on-multi-user-access-transitivity for more details.", - "When all devices do not qualify for stadia support.", - "Used when any critical media state is missing so the selection decision cannot be made. See go/partial-states-in-targeting-library for more details.", - "Error about when no qualified device satisfies the device capability requirement.", - "All remote hybrid devices fail the propertries requirement specific (lock/unlock, etc) for hybrid devices (such as Tangor)." - ], - "type": "string" - }, - "processorInfo": { - "description": "The log for each stage of Lumos, showing the number of eliminated devices from each processor.", - "items": { - "$ref": "AssistantLogsLumosProcessorInfo" - }, - "type": "array" - }, - "qualifiedDevices": { - "$ref": "AssistantLogsAmbiguousTargetDeviceLog", - "description": "We will apply several filters and dialogs to select a target device if media_focus_selector fail to select one. This field should log the devices left after each filter or dialog. It also log the detailed info of the final target device." - }, - "singleTargetDevice": { - "$ref": "AssistantLogsDeviceInfoLog", - "deprecated": true, - "description": "////////////////////////////////////////////////////////////////////////// Unambiguous Results: the library successfully selected the final target device(s) and no further disambiguation is needed. Deprecated, please use target_device." - }, - "targetDevice": { - "$ref": "AssistantLogsTargetDeviceLog" - } - }, - "type": "object" - }, - "AssistantLogsDeviceTargetingTestCode": { - "description": "Test code is used to track special events happening in Device Targeting Library. Next Id: 2", - "id": "AssistantLogsDeviceTargetingTestCode", - "properties": { - "type": { - "enum": [ - "UNKNOWN", - "IGNORE_NESTED_DEVICE_MENTION_WITH_ID", - "INCOMPLETE_LOCAL_AUTO_SETTINGS_FOUND", - "FINAL_RESULT_RESOLVED_BY_NEARBY_DEVICE" - ], - "enumDescriptions": [ - "", - "Used to track the case when the nested DeviceMention with id is ignored inside a RoomMention. See: b/184750168 and go/mixed-room-and-device-mention", - "Used to track if there is incomplete or bad local android auto settings passed to Lumos.", - "Used to track if the final result is resolved by using nearby device." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsInputErrorLog": { - "id": "AssistantLogsInputErrorLog", - "properties": { - "errorCode": { - "format": "int32", - "type": "integer" - }, - "errorType": { - "enum": [ - "ERROR_UNKNOWN", - "ERROR_DEVICE_PROPERTIES", - "ERROR_HOME_GRAPH", - "ERROR_CAPABILITIES_ACROSS_DEVICES", - "ERROR_SURFACE_IDENTITIES_ACROSS_DEVICES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsLowConfidenceTargetDeviceLog": { - "description": "Represents the case where there is a target device with low confidence so that the library didn't directly target it. Instead, the library returns the low confidence target device and the fallback device for the client to decide to either trigger a dialog to disambiguate or select one of them based on extra business logic. Next ID: 3", - "id": "AssistantLogsLowConfidenceTargetDeviceLog", - "properties": { - "fallbackDeviceLog": { - "$ref": "AssistantLogsDeviceInfoLog", - "description": "The fallback device." - }, - "lowConfTargetDeviceLog": { - "$ref": "AssistantLogsDeviceInfoLog", - "description": "The selected low confidence focus device." - } - }, - "type": "object" - }, - "AssistantLogsLumosProcessorInfo": { - "id": "AssistantLogsLumosProcessorInfo", - "properties": { - "devicesAfterRun": { - "description": "Number of candidate devices after this stage is run.", - "format": "int32", - "type": "integer" - }, - "devicesBeforeRun": { - "description": "Number of candidate devices before this stage is run.", - "format": "int32", - "type": "integer" - }, - "processorName": { - "description": "Name of the processor for this stage.", - "enum": [ - "UNKNOWN_LUMOS_PROCESSOR", - "CAPABILITIES_FILTER", - "DEVICE_ANNOTATION_FILTER", - "DEVICE_CONNECTIVITY_FILTER", - "LOCAL_DEVICE_INCLUSIVENESS_FILTER", - "LOCATION_FILTER", - "MEDIA_PLAYBACK_FILTER", - "SAFETY_FILTER", - "TRAITS_FILTER", - "DEVICE_TYPE_FILTER", - "APP_FILTER", - "HYBRID_DEVICE_PROPERTIES_FILTER", - "NEARBY_DEVICE_FILTER", - "DEVICE_ATTRIBUTES_FILTER", - "LAST_USED_DEVICE_FILTER", - "DEFAULT_MEDIA_OUTPUT_PROMOTER", - "DEVICE_GROUP_PROMOTER", - "LOCAL_DEVICE_PROMOTER", - "LOCATION_PROMOTER", - "MEDIA_FOCUS_PROMOTER", - "MEDIA_PLAYBACK_PROMOTER", - "SAME_NAME_DEVICE_PROMOTER", - "PHONE_TARGETING_PROMOTER", - "TRAITS_PROMOTER", - "DEVICE_TYPE_PROMOTER", - "FEATURE_EXTRACTOR", - "LABELER" - ], - "enumDescriptions": [ - "", - "filters", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "promoters", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "feature extractor", - "labeler" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsMediaCapabilities": { - "id": "AssistantLogsMediaCapabilities", - "properties": { - "canReceiveRemoteAction": { - "type": "boolean" - }, - "hasScreen": { - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantLogsMediaDeviceSelectionDecisionSummary": { - "description": "A summary of the reasons that we chose a certain target device.", - "id": "AssistantLogsMediaDeviceSelectionDecisionSummary", - "properties": { - "deviceSelectionPreferenceUsed": { - "enum": [ - "UNKNOWN_PRIORITY", - "SINGLE_QUALIFIED_SESSION_PREFERRED", - "FOCUS_SESSION_PREFERRED", - "FOCUS_DEVICE_SESSION_PREFERRED", - "LOCAL_DEVICE_SESSION_PREFERRED", - "PLAYING_DEVICE_STATE_PREFERRED", - "BUFFERING_DEVICE_STATE_PREFERRED", - "PAUSED_DEVICE_STATE_PREFERRED", - "STOPPED_DEVICE_STATE_PREFERRED" - ], - "enumDescriptions": [ - "", - "If there is only one media session, it is selected by default.", - "A media session with focus was preferred over other media sessions.", - "A media session on a device with focus was preferred over other media sessions.", - "A media session on a local device was chosen.", - "", - "A device in the BUFFERING state was preferred over other devices.", - "A device in the PAUSED state was preferred over other devices.", - "A device in the STOPPED state was preferred over other devices." - ], - "type": "string" - }, - "deviceSelectionReason": { - "enum": [ - "UNKNOWN_REASON", - "SYNDICATION_DEVICE_TARGETED", - "AUTO_DEVICE_TARGETED", - "QUERY_DEVICE_ANNOTATION_TARGETED", - "SINGLE_QUALIFIED_DEVICE_TARGETED", - "CAST_GROUP_TARGETED", - "MEDIA_SESSION_TARGETED", - "FOCUS_DEVICE_TARGETED", - "DEFAULT_DEVICE_TARGETED", - "LOCAL_DEVICE_TARGETED", - "DEVICE_IN_SAME_ROOM_TARGETED", - "AMBIGUOUS_DEVICES_TARGETED", - "LOCAL_GROUP_RETARGETED", - "FOCUS_OF_CLOSE_DEVICE_TARGETED", - "DEFAULT_OF_CLOSE_DEVICE_TARGETED", - "SINGLE_QUALIFIED_CLOSE_DEVICE_TARGETED", - "DEVICE_IN_CLOSE_ROOM_TARGETED", - "TETHERED_DEVICE_TARGETED" - ], - "enumDescriptions": [ - "", - "For syndication devices (3P TV), we sometimes prefer syndication devices over any other remote device, since the query comes from a linked remote.", - "Auto surfaces can never cast to remote devices for safety reasons, so we force the local auto device if auto is the surface.", - "A device explicitly mentioned in the query was targeted.", - "Only one device was qualified.", - "We target a cast group only if all the qualified devices are in the same media session. This happens before applying any of the below filters.", - "Media sessions are targeted when session targeting is enabled, supported, a session exists with more than one device, and a session outranks all other sessions. The rankings are the keys below.", - "A device with media focus was targeted.", - "A default device was targeted.", - "The local device was targeted.", - "A device in the same room was targeted.", - "An ambiguous device result including multiple devices was targeted.", - "When local device is playing as a group, we retarget to the group if local device doesn't have focus. See go/group-targeting for the details.", - "==== Sandstone related DeviceSelectionReason ==== Entries below refer to other devices that are close by. Details at: go/sandstone-lumos. The media focus device of an equally close device was targeted.", - "The default target of an equally close device was targeted.", - "Only one device out of the ones that are equally close was qualified.", - "A device in the same room as an equally close device was targeted.", - "Sometimes wearable device (e.g., smartwatch) is tethered to a phone. This value indicates the tethered phone was targeted in these scenarios. This is related but slightly different from other remote targeting cases due to the strong binding/association between local (i.e., watch) and tethered device (i.e., phone). go/rohan-media-tethered-design" - ], - "type": "string" - }, - "miscSelectionSignal": { - "items": { - "enum": [ - "NONE", - "BETTER_MATCH_DEVICE_WITH_HUMAN_FRIENDLY_NAME_FOUND", - "LOCAL_DEVICE_IMPLICITLY_MENTIONED", - "USED_LOOSE_PLAYBACK_STATE_REQUIREMENTS", - "QUERY_3P_DEVICE_ANNOTATION_IGNORED_REQUIREMENTS" - ], - "enumDescriptions": [ - "", - "A better match device was found and targeted.", - "A local device was implicitly mentioned in the query, like \"on you\".", - "There were no devices which satisfy the playback states requirements, so the playback states requirements were removed and we tried again.", - "A 3P device annotated from the query was targeted. We ignore requirements sometimes for 3p devices." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantLogsMediaFocusInfoLog": { - "description": "The information related to Media Focus. TODO(b/138952173) Deprecate MediaFocusState in logs/proto/majel_gws/media_action_triggering_info.proto and assistant/verticals/media/proto/target_device_info.proto", - "id": "AssistantLogsMediaFocusInfoLog", - "properties": { - "currentFocusDurationSec": { - "description": "How long the device is in focus so far", - "format": "uint32", - "type": "integer" - }, - "dialogTriggered": { - "description": "TODO(b/134944092) Log MediaFocusDialogTrigger Enum in focus_status.", - "type": "boolean" - }, - "focusDevice": { - "$ref": "AssistantLogsDeviceInfoLog", - "description": "LINT.ThenChange(//depot/google3/logs/proto/majel_gws/media_action_triggering_info.proto) The focus device." - }, - "mediaFocusState": { - "description": "The media focus state at the time of the request.", - "enum": [ - "NO_FOCUS", - "RECENT_FOCUS", - "STALE_FOCUS", - "HARD_FOCUS", - "SOFT_FOCUS" - ], - "enumDescriptions": [ - "There is no focus device available or the focus expired.", - "Media Focus V1. The focus is valid and it is within the media_focus_dialog_threshold.", - "The focus is valid however it is over the media_focus_dialog_threshold and might require confirmation from user (dialog) before proceeding to use focus device.", - "Media Focus V2 The focus is valid and there is a playing session on focus device.", - "The focus is valid however there is no playing session on focus device and might require confirmation from user (dialog) before proceeding to use focus device." - ], - "type": "string" - }, - "sourceDeviceId": { - "description": "The source device of media focus.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsMediaFocusesLog": { - "description": "Following are the MDA compatible loggings for media focus, default settings and nearby devices.", - "id": "AssistantLogsMediaFocusesLog", - "properties": { - "dialogTriggered": { - "type": "boolean" - }, - "localMediaFocus": { - "$ref": "AssistantLogsMediaFocusInfoLog" - }, - "mediaFocuses": { - "deprecated": true, - "description": "Deprecated, use nearby_media_focuses instead.", - "items": { - "$ref": "AssistantLogsMediaFocusInfoLog" - }, - "type": "array" - }, - "nearbyMediaFocuses": { - "description": "MediaFouces found on nearby devices.", - "items": { - "$ref": "AssistantLogsMediaFocusInfoLog" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantLogsMediaStreamLog": { - "description": "Media stream is composed of a media session and one or more devices which are hosting (playing) the session. Usually, a session is only hosted by one devcie. However, with cast group or stream transfer/expansion, a session could be hosted by multiple devices, which are playing the same session simultaneously.", - "id": "AssistantLogsMediaStreamLog", - "properties": { - "deviceIndex": { - "description": "The device index in this message is consistent with the device index in DeviceInfoLog. This field refers to the devices that hosting the session.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "session": { - "$ref": "AssistantLogsDeviceMediaSessionLog" - } - }, - "type": "object" - }, - "AssistantLogsNearbyDevicesLog": { - "id": "AssistantLogsNearbyDevicesLog", - "properties": { - "deviceArbitrationCreationTimestampMs": { - "description": "The timestamp that DeviceArbitration is created in milliseconds.", - "format": "int64", - "type": "string" - }, - "deviceTargetingInputCreationTimestampMs": { - "description": "The timestamp that DeviceTargetingInput is built in milliseconds.", - "format": "int64", - "type": "string" - }, - "eliminatedByFurtherDistance": { - "format": "int32", - "type": "integer" - }, - "eliminatedByLocalClosest": { - "format": "int32", - "type": "integer" - }, - "eliminatedByUnknownDifferentRoom": { - "format": "int32", - "type": "integer" - }, - "eliminatedByUnregisteredDevice": { - "format": "int32", - "type": "integer" - }, - "localDevice": { - "$ref": "AssistantLogsDeviceInfoLog" - }, - "nearbyDevices": { - "items": { - "$ref": "AssistantLogsDeviceInfoLog" - }, - "type": "array" - }, - "numClosestDevices": { - "format": "int32", - "type": "integer" - }, - "numEquallyCloseDevices": { - "format": "int32", - "type": "integer" - }, - "numFurtherDevices": { - "format": "int32", - "type": "integer" - }, - "numHearingDevices": { - "format": "int32", - "type": "integer" - }, - "numUnknownDistanceDevices": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantLogsProviderAnnotationLog": { - "description": "Provider annotation annotated from the query. These fields contain the detailed information for the provider. (e.g. for Youtube, package_names contains \"com.google.android.youtube\", localized_names contains \"youtube\", and lang contains \"en\" from \"en-US\" which depends on user's setting.)", - "id": "AssistantLogsProviderAnnotationLog", - "properties": { - "lang": { - "type": "string" - }, - "localizedNames": { - "items": { - "type": "string" - }, - "type": "array" - }, - "packageNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantLogsQueryAnnotationLog": { - "description": "Log about the query requirements", - "id": "AssistantLogsQueryAnnotationLog", - "properties": { - "deviceAnnotation": { - "$ref": "AssistantLogsDeviceAnnotationLog", - "deprecated": true, - "description": "Deprecated, please use room_annotations." - }, - "deviceAnnotations": { - "description": "Log the device annotations mentioned in the query.", - "items": { - "$ref": "AssistantLogsDeviceAnnotationLog" - }, - "type": "array" - }, - "providerAnnotation": { - "$ref": "AssistantLogsProviderAnnotationLog", - "description": "Log the provider annotations annotated from the query." - }, - "roomAnnotation": { - "$ref": "AssistantLogsRoomAnnotationLog", - "deprecated": true, - "description": "TODO(b/171250187) Deprecates the optional RoomAnnotationLog and DeviceAnnotationLog. Deprecated, please use device_annotations." - }, - "roomAnnotations": { - "description": "Log the room annotations mentioned in the query.", - "items": { - "$ref": "AssistantLogsRoomAnnotationLog" - }, - "type": "array" - }, - "structureAnnotations": { - "description": "Log the structure annotations mentioned in the query.", - "items": { - "$ref": "AssistantLogsStructureAnnotationLog" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantLogsReminderLog": { - "description": "Annotate a single reminder instance.", - "id": "AssistantLogsReminderLog", - "properties": { - "createdSecondsAgo": { - "description": "The reminder is created N seconds ago. This helps tracking how the user issues follow-up actions after reminder is created. For example, whether the user likes to issues another [show reminders] query right after reminder is created?", - "format": "int64", - "type": "string" - }, - "retrievedRankingClass": { - "description": "If the reminder is retrieved by a ranking class (see go/opa-reminders-ranker), this will be populated with the class info. Refer to assistant.productivity.ReminderRankingClass.RankingType. Since that proto is in proto2 format, we can only wire by int type.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantLogsRoomAnnotationLog": { - "description": "Room annotation mentioned in query.", - "id": "AssistantLogsRoomAnnotationLog", - "properties": { - "rawTextFromQuery": { - "description": "The raw text mentioning a room from the query, such as \"my living room\".", - "type": "string" - }, - "roomCount": { - "description": "The number of rooms annotated, if there are multiple structures. They are guaranteed to have the same text_from_query and name due to exact matching.", - "format": "int32", - "type": "integer" - }, - "roomId": { - "description": "The identification of the room.", - "items": { - "type": "string" - }, - "type": "array" - }, - "type": { - "description": "The annotation type mentioned in the query.", - "enum": [ - "NO_ROOM_ANNOTATION", - "ROOM_ID_ANNOTATION", - "ROOM_TYPE_ANNOTATION", - "ROOM_TEXT_ANNOTATION" - ], - "enumDescriptions": [ - "No room is mentioned in the query.", - "Annotation specifying a room set up by users.", - "Annotation specifying a general room type, such as bedroom.", - "Annotation with text. It could be random text, such as \"my room\", \"all rooms\"." - ], - "type": "string" - }, - "userDefinedName": { - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsSettingsDeviceIdLog": { - "description": "The logging-version of DeviceId proto, which identifies a device. This mirrors cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next ID: 9", - "id": "AssistantLogsSettingsDeviceIdLog", - "properties": { - "agsaClientInstanceId": { - "description": "The client_instance_id on devices with GSA. See 'client_instance_field' in go/androidids.", - "type": "string" - }, - "alloDeviceId": { - "description": "Allo Id. Corresponds to the GBotRequest.Sender.sender. This ID type should be deprecated by now, yet we've observed it serving prod traffic in GB.", - "type": "string" - }, - "canonicalDeviceId": { - "description": "A unique device ID for Assistant devices as proposed by go/ocelot-team.", - "type": "string" - }, - "castDeviceId": { - "description": "If set, indicates that the device is a cast device, and contains the UUID of the cast device. Corresponds to the device_id field of the CastDevice proto.", - "type": "string" - }, - "clientInstanceId": { - "description": "DUSI (go/dusi) is used as the identifier here. This identifier is unique to the user and device. This will help identify which device or application the user's request originated from. This is not to be confused with the client_instance_id that android devices provide. This is currently used by surfaces that use the assistant-legacy-nexus and assistant-legacy-clockwork pipelines. DUSI is created and set in S3. This field is only filled for GAIA requests.", - "type": "string" - }, - "deviceConfigId": { - "description": "The unique DeviceConfig to the specific third party device. It is also used by Android Auto Embedded first party device. See go/opa-ids.", - "type": "string" - }, - "homeGraphDeviceId": { - "description": "The unique device ID for HomeGraph devices. This is the HomeGraph ID, created when the device is registered into HomeGraph. It is immutable for the same device unless it is completely deleted and recreated. See go/home-graph for details. }", - "type": "string" - }, - "libassistantDeviceId": { - "description": "The unique ID for libassistant based devices.", - "type": "string" - }, - "opaIosDeviceId": { - "description": "The unique device ID for the Assistant App on iOS. See go/opa-ios-design for details.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsStructureAnnotationLog": { - "description": "Structure annotation mentioned in query.", - "id": "AssistantLogsStructureAnnotationLog", - "properties": { - "rawTextFromQuery": { - "description": "The raw text mentioning a structure from the query, such as \"my house\".", - "type": "string" - }, - "structureId": { - "description": "The identification of the structure.", - "items": { - "type": "string" - }, - "type": "array" - }, - "type": { - "description": "The annotation type mentioned in the query.", - "enum": [ - "NO_STRUCTURE_ANNOTATION", - "STRUCTURE_ID_ANNOTATION", - "STRUCTURE_TEXT_ANNOTATION" - ], - "enumDescriptions": [ - "No structure is mentioned in the query.", - "Annotation specifying a structure set up by users.", - "Annotation with text. It could be random text, such as \"this house\"." - ], - "type": "string" - }, - "userDefinedName": { - "type": "string" - } - }, - "type": "object" - }, - "AssistantLogsTargetDeviceLog": { - "description": "Represents the case where the library successfully selects the target device. It could be one or multiple devices. Next ID: 4", - "id": "AssistantLogsTargetDeviceLog", - "properties": { - "devices": { - "items": { - "$ref": "AssistantLogsDeviceInfoLog" - }, - "type": "array" - }, - "lowConfidenceReason": { - "enum": [ - "UNKNOWN_REASON", - "LOCAL_FALLBACK", - "MANUAL_DEFINED_REASON", - "SINGLE_NEARBY_DEVICE", - "PERSONAL_RESPONSE_BIT_OPTOUT_ON_LOCKED_PHONE", - "FURTHER_LOCAL_DEVICE", - "RESULT_FROM_DEFAULT_MEDIA_OUTPUT_PROMOTER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "Lumos result from a FURTHER hearing device will be marked as low confidence.", - "Lumos result with the last stage as DEFAULT_MEDIA_OUTPUT_PROMOTER will be marked as low confidence." - ], - "type": "string" - }, - "resultConfidenceLevel": { - "enum": [ - "UNKNOWN", - "LOW_CONFIDENCE", - "HIGH_CONFIDENCE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantPfrDeviceRdMetadata": { - "id": "AssistantPfrDeviceRdMetadata", - "properties": { - "deviceName": { - "type": "string" - }, - "deviceTypes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "effectiveArgSpanLength": { - "format": "float", - "type": "number" - }, - "hasAmbiguousResolutions": { - "description": "True if there are more than one possible resolutions to the RD.", - "type": "boolean" - }, - "hasResolvedDeviceId": { - "description": "True if there's at least one device id that gets resolved. Note this is different from is_grounded = true: it is possible that is_grounded = false (num_grounded_args =0) but there is resolved device ids. E.g.: \"turn on the blue light\" Power_on(device_object = [d1, d2]:RD(category=DeviceObject(name='blue light')) where there are \"blue light 1\" and \"blue light 2\" hence two resolved device ids. But since the quantifier is single, GB can't resolve the ambiguity and would set num_grounded_args = 0 to indicate such unresolved ambiguity.", - "type": "boolean" - }, - "roomName": { - "type": "string" - } - }, - "type": "object" - }, - "AssistantPfrSmartHomeIntentMetadata": { - "description": "Used by the Smarthome Business Rules twiddler to determine whether to replace the top-scoring Smarthome intent with another.", - "id": "AssistantPfrSmartHomeIntentMetadata", - "properties": { - "deviceRdMetadata": { - "description": "Each DeviceRdMetadata represents one device RD (device slot) in the intent. Note that each device RD could have multiple device groundings inside of it.", - "items": { - "$ref": "AssistantPfrDeviceRdMetadata" - }, - "type": "array" - }, - "intentName": { - "type": "string" - }, - "isExactMatch": { - "description": "When num_constraints == num_constraints_satisfied, indicating all slot matchings are exact match.", - "type": "boolean" - }, - "isGrounded": { - "description": "When num_grounded_args \u003e 0, indicating there is at least one top-level argument is grounded.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantPfrTiebreakingMetadata": { - "description": "Features used by the PrefulfillmentRanker's scorer exclusively to break ties.", - "id": "AssistantPfrTiebreakingMetadata", - "properties": { - "fingerprint": { - "format": "uint64", - "type": "string" - }, - "sortedNameString": { - "type": "string" - } - }, - "type": "object" - }, - "AssistantPrefulfillmentRankerPrefulfillmentSignals": { - "description": "Signals to be used by the Prefulfillment Ranker. Derived from the ParsingSignals and GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 80", - "id": "AssistantPrefulfillmentRankerPrefulfillmentSignals", - "properties": { - "calibratedParsingScore": { - "description": "A parsing score that is independently calibrated by each parser/IG.", - "format": "double", - "type": "number" - }, - "deepMediaDominant": { - "description": "Whether the intent is dominant according to NSP deep-media.", - "type": "boolean" - }, - "dominant": { - "description": "Indicates interpretation dominance predicted by KScorer", - "type": "boolean" - }, - "effectiveArgSpanLength": { - "description": "The total effective length of the spans for the arguments used to construct the parse. May include vertical specific adjustments. Eg: For the query [delete my 7 p.m. alarm called chicken] and intent Delete_alarm(alarm_object=RD(category=AlarmObject( label=\"chicken\", trigger_time_datetime=\u003c\u003c 7 PM \u003e\u003e))), the effective argument span is \"7 p.m.\" + \"chicken\" (total length of 13).", - "format": "float", - "type": "number" - }, - "fulfillableDominantMedia": { - "description": "Whether this is a fulfillable, dominant Media intent.", - "type": "boolean" - }, - "generatedByLegacyAquaDomain": { - "description": "Whether or not the intent was generated by a legacy Aqua domain that PFR should care about.", - "type": "boolean" - }, - "hasAnswerGroup": { - "description": "Whether the interpretation has a Search answer group object, signifying it came from Search resolution.", - "type": "boolean" - }, - "hasIntentUpdate": { - "type": "boolean" - }, - "inQueryMaxEffectiveArgSpanLength": { - "description": "This is a cross-intent feature which is calculated by iterating all intent candidates. This feature should be populated in post-IG stage (before GB).", - "format": "float", - "type": "number" - }, - "intentName": { - "description": "intent_name is used by PFR ensemble model. See go/pfr_ha_launch_doc", - "type": "string" - }, - "intentNameAuisScore": { - "description": "QUS intent-based ranking signals. Assistant User Interaction Score which is aggregated using intent name.", - "format": "double", - "type": "number" - }, - "intentNameAuisScoreExp": { - "description": "Assistant User Interaction Score which is aggregated using intent name from exp laelaps.", - "format": "double", - "type": "number" - }, - "intentType": { - "description": "intent_type differentiates between intents that share the top level intent name. For eg: for TV_FALLBACK_SEARCH_INTENT, the top level intent name must be \"Find_media\" and the media_object argument within it must be of type \"Media_unspecified\".", - "enum": [ - "UNKNOWN_INTENT_TYPE", - "PLAY_MEDIA_MUSIC", - "PLAY_MEDIA_PODCAST", - "FIND_MEDIA_TV_FALLBACK", - "PLAY_MEDIA_VIDEO", - "ALARMS_AND_TIMERS", - "HEALTH_AND_FITNESS", - "PLAY_MEDIA_RADIO", - "PLAY_TVM", - "CALL", - "MESSAGE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "isAquaMediaIntent": { - "description": "Whether the intent aqua intent from media domain enabled in QBT", - "type": "boolean" - }, - "isCommunicationOpaRawTargetIntent": { - "description": "NSP-specific signals, used to determine if NSP intents should be selected or not.", - "type": "boolean" - }, - "isDummyIntent": { - "type": "boolean" - }, - "isFullyGrounded": { - "description": "Whether the intent is fully grounded.", - "type": "boolean" - }, - "isHighConfidencePodcastIntent": { - "description": "Used for PFR manual rule to prefer high confidence podcast intent (e.g. topical, genre) over generic podcast intents.", - "type": "boolean" - }, - "isIntentFromOrbit": { - "description": "Whether the intent is from ORBIT.", - "type": "boolean" - }, - "isMediaControlIntent": { - "description": "Whether the intent is a media control intent.", - "type": "boolean" - }, - "isMediaIntent": { - "description": "Whether the intent is a media intent.", - "type": "boolean" - }, - "isNspDescopedIntent": { - "type": "boolean" - }, - "isNspEnabledIntent": { - "type": "boolean" - }, - "isNspIntent": { - "description": "Whether this interpretation was genearted by NSP.", - "type": "boolean" - }, - "isNspTargetIntent": { - "type": "boolean" - }, - "isPlayGenericMusic": { - "description": "Whether the intent is a PlayGenericMusic-type intent.", - "type": "boolean" - }, - "isPodcastGenericIntent": { - "description": "Used for PFR manual rule to prefer high confidence podcast intent (e.g. topical, genre) over generic podcast intents.", - "type": "boolean" - }, - "isPodcastIntent": { - "description": "Whether the intent is a podcast intent.", - "type": "boolean" - }, - "isRadioIntent": { - "description": "Whether the intent is a PlayMedia radio intent.", - "type": "boolean" - }, - "isSageDisabledIntent": { - "description": "Whether the intent is an intent marked disabled by the Sage IG.", - "type": "boolean" - }, - "isSageInNageIntent": { - "description": "Whether the intent is produced by the Sage IntentGenerator invoked by the NSP intent-generator (thus, Sage-in-NSP-invoking_Sage, or Sage-in-Nage).", - "type": "boolean" - }, - "isSageIntent": { - "description": "Whether this intent was generated by Sage.", - "type": "boolean" - }, - "isScoreBasedIntent": { - "description": "Whether this intent is a score-based intent, relying on PFR for scoring and pruning to the top intent.", - "type": "boolean" - }, - "isTvmIntent": { - "description": "Whether the intent is a media object tvm intent.", - "type": "boolean" - }, - "isValidSmarthomeIntent": { - "description": "Whether the intent is a Smarthome-domain intent with valid device arguments.", - "type": "boolean" - }, - "isVideoIntent": { - "description": "Whether the intent is a media object video intent.", - "type": "boolean" - }, - "kScore": { - "description": "Used for PFR manaul rule to prefer high kscore radio intent. The k-score comes from twiddled_ranking_scores in query interpretations.", - "format": "float", - "type": "number" - }, - "kscorerRank": { - "description": "The rank order of the interpretation as determined by kscorer. The kscorer-determined dominant interpretation, if any, gets a rank of 0. The remaining N interpretations get a rank of 1 through N.", - "format": "int32", - "type": "integer" - }, - "maxHgrScoreAcrossBindingSets": { - "description": "The maximum score assigned by the Horizontal Grounding Ranker (HGR) across all of the intent's binding sets.", - "format": "double", - "type": "number" - }, - "nspIntentParseScore": { - "description": "Parse score generated by NSP. If NSP intent has been pruned due to dededuplication, It will have highest parse score for deduplicated intent.", - "format": "double", - "type": "number" - }, - "nspRank": { - "description": "Rank of the intent as reported by NSP.", - "format": "int32", - "type": "integer" - }, - "numConstraints": { - "description": "Signals as proposed in go/improved-grounding-signals. Sum of the number of constraints used by the Grounding Box to ground each variable.", - "format": "double", - "type": "number" - }, - "numConstraintsSatisfied": { - "description": "Sum of the number of constraints satisfied for each variable. Depending on the match score for a constraint, this number can be fractional and is in the range [0, num_constraints]. Populated by the Grounding Box.", - "format": "double", - "type": "number" - }, - "numGroundableArgs": { - "description": "Grounding Signals. Number of groundable arguments the intent has, populated by the Grounding Box.", - "format": "double", - "type": "number" - }, - "numGroundedArgs": { - "description": "Number of grounded arguments the intent has, populated by the Grounding Box.", - "format": "double", - "type": "number" - }, - "parsingScoreMse8BucketId": { - "description": "A ID corresponding to which bucket a given parsing score belongs in.", - "format": "int32", - "type": "integer" - }, - "phase": { - "description": "Query understanding phase the intent was produced in.", - "enum": [ - "QU_PHASE_UNSPECIFIED", - "QU_PHASE_REQUEST", - "QU_PHASE_QREWRITE", - "QU_PHASE_QBT", - "QU_PHASE_PROBE_QUERY", - "QU_PHASE_MULTI_ACCOUNT", - "QU_PHASE_CQBT", - "QU_PHASE_QBT_RESOLUTION", - "QU_PHASE_HIGH_PRECISION", - "QU_PHASE_COMBINED_RBT_RESOLUTION", - "QU_PHASE_ANALYZER_INPUT", - "QU_PHASE_NAGE", - "QU_PHASE_SUPERCAT" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Invalid value to use as a default.", - "Phase in which the QueryUnderstandingRequest for a non-identity Candidate is generated. Produces QueryCandidateInfo.", - "Phase in which QUS calls QRewrite. Produces QRewrite's reply.", - "Phase in which QBT interpretations are ranked. Produces ranked QBT interpretations.", - "Phase in which QUS does a probe query for incomplete search results and produces ranked RBT interpretations on the basis of these. Only runs if understand_mode is PRE_RESULT_AND_PROBE_QUERY.", - "Phase in which QUS does cross-account understanding. Produces AnalyzerResponse whose interpretations contain personal data from multiple accounts.", - "Deprecated, but see go/qus-contextual-ig for original purpose.", - "Phase in which QUS calls resolution service to perform slow intent resolution. Produces resolved intents.", - "Phase in which QUS calls the fast HighPrecision workflow. Only runs if understand_mode is PRE_RESULT_AND_HIGH_PRECISION.", - "Phase in which QUS combines the RBT result and Slow Resolution result. Only runs if understand_mode is PRE_RESULT_AND_PROBE_QUERY_AND_RESOLUTION.", - "Phase in which QUS returns the AnalyzerInput as a separate Phase. It copies the AnalyzerInput from QU_PHASE_QREWRITE and returns it as a QueryUnderstandingStreamingResult for the purpose of logging in ACE. See go/analyzerinput-new-qus-phase.", - "Phase in which QUS runs NSP in the QUS.", - "Phase in which QUS calls a stripped-down version of QRewrite and then calls the Supercat Orchestrator to generate Supercat QIs." - ], - "type": "string" - }, - "platinumSource": { - "description": "Whether the intent comes from the Sage IntentGenerator's \"platinum\" source, signifying high-confidence in quality.", - "type": "boolean" - }, - "pq2tVsAssistantIbstCosine": { - "description": "Cosine similarity between predicted query-to-term model and assistant intent-type-based salient terms. This is intended to be only used for ACE ranking and only populated for assistant traffic.", - "format": "double", - "type": "number" - }, - "pq2tVsIbstCosine": { - "description": "Cosine similarity between predicted query-to-term model and intent-type-based salient terms. This is intended to be used as a backoff to pq2t_vs_qibst_cosine if it is missing.", - "format": "double", - "type": "number" - }, - "predictedIntentConfidence": { - "description": "Intent confidence predicted by the AssistantVerticalClassifier QRewrite servlet.", - "format": "float", - "type": "number" - }, - "searchDispatch": { - "description": "The determination made by the SearchDispatchingConfig as to whether and how this interpretation should be dispatched to Search.", - "enum": [ - "UNKNOWN", - "NONE", - "BRIDGE_API", - "FULFILL_INTENT", - "EMIT_ONLY", - "COUNTERFACTUAL_LOG_ONLY", - "CAPACITY_ACCOUNTING" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "These rules are no-ops wrt. dispatching. The only effect they produce is the logging of the associated |counterfactual_events|.", - "These rules only consume capacity constraints, but are not dispatched. This way the rules can be used for the suppression for intents lower in the list." - ], - "type": "string" - }, - "smarthomeIntentMetadata": { - "$ref": "AssistantPfrSmartHomeIntentMetadata", - "description": "SmartHome intent metadata used for the SmartHome business-rules twiddler." - }, - "subIntentType": { - "enum": [ - "SUB_INTENT_TYPE_UNKNOWN", - "SUB_INTENT_TYPE_TV_FALLBACK_SEARCH_INTENT", - "SUB_INTENT_TYPE_PODCAST", - "SUB_INTENT_TYPE_MUSIC_INITIATION_INTENT", - "SUB_INTENT_TYPE_PLAY_RADIO_INTENT", - "SUB_INTENT_TYPE_PLAY_TVM_INTENT", - "SUB_INTENT_TYPE_PLAY_VIDEO_INTENT", - "SUB_INTENT_TYPE_BROWSE_VIDEO_INTENT" - ], - "enumDescriptions": [ - "", - "Find_media", - "Play_media, Play_media, Play_media, Listen_to_media, Media_entity_bare, Play_and_shuffle_media", - "Play_media", - "Play_media", - "Play_media", - "Play media", - "Find_media, Media_entity_bare" - ], - "type": "string" - }, - "tiebreakingMetadata": { - "$ref": "AssistantPfrTiebreakingMetadata" - }, - "usesGroundingBox": { - "description": "Whether the interpretation should run through grounding box or not.", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantProductivityListItem": { - "description": "A message to represent an item in a list. Just a basic string for now, but extensible for the future.", - "id": "AssistantProductivityListItem", - "properties": { - "name": { - "description": "[REQUIRED] The name of the list item.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantRemindersAttachment": { - "description": "Proto descrbing an attachment to an Assistant Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), there will be multiple attachments attach to the Reminder. Each of them will specify the surface type and the corresponding deeplink.", - "id": "AssistantRemindersAttachment", - "properties": { - "id": { - "description": "REQUIRED. An unique identifier for the attachment. We have a plan to index this field, so it's marked as REQUIRED. Chat with opa-reminders-eng@ if you have a use case without an attachment ID.", - "type": "string" - }, - "link": { - "$ref": "AssistantRemindersAttachmentLink" - }, - "surfaceType": { - "description": "REQUIRED. Surface types this attachment should be shown.", - "items": { - "enum": [ - "UNSPECIFIED", - "ANDROID_PHONE" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantRemindersAttachmentLink": { - "id": "AssistantRemindersAttachmentLink", - "properties": { - "linkUrl": { - "description": "REQUIRED. The link to surface to frontends (e.g., Hubpage, notifications.) This could also be a surface-specific deeplink (be sure to set `surface_type` accordingly.)", - "type": "string" - }, - "notificationText": { - "$ref": "AssistantRemindersNlgTemplateKey", - "deprecated": true, - "description": "REQUIRED. The text for the notification link button. Note: We cannot take nlp_generation.TemplateData yet due to cyclic dependency. The plan is to cut dependency from TemplateData to quality.actions.Reminder. DEPRECATED. No longer used as part of the notification flow." - } - }, - "type": "object" - }, - "AssistantRemindersMemoryPayload": { - "description": "Since this is stored in BE, any update on this proto needs LGTM by ARIS storage owner", - "id": "AssistantRemindersMemoryPayload", - "properties": { - "hasReferencedEntityAtCreation": { - "description": "Whether the reminder created has a referenced_entity attached to it or not(go/hub-memory-payload). Since we plan to set this in Assistant reminder creation path flow, in case later the referenced_entity is removed from the reminder, then this bit might still remain true. Also in case referenced_entity is later added to reminder(for example when referenced_entity is attached by Server), then also this bit might remain false. This bit will be used to *guess* if the user has a memory-enabled AGSA, thus we'll surface the \"open memory\" button on hubpage. This check is not perfect, as the user might have other phones with older AGSA, so this is just a *best guess*. This field won't be stored in Memory backend, and will not be populated back when retrieving reminders.", - "type": "boolean" - }, - "recordId": { - "description": "Id of record that is associated with Reminder. This will be set for all Assistant reminders created after the first launch of the Reminder Memory integration, see go/reminders-memory for more details. Also, this might apply to all other types of reminders.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantRemindersNlgTemplateKey": { - "description": "Equivalent to nlp_generation.TemplateKey. We cannot use nlp_generation.TemplateKey message directly becasue that proto is defined in a relatively large proto and has other dependencies, which will increase the size unnecessary and might hit many limitations (e.g., 5MiB limitation for Spanner type environment.).", - "id": "AssistantRemindersNlgTemplateKey", - "properties": { - "messageSet": { - "description": "REQUIRED.", - "type": "string" - }, - "templateName": { - "description": "REQUIRED.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantTeleportTeleportNicknameSignals": { - "id": "AssistantTeleportTeleportNicknameSignals", - "properties": { - "hasLocationInterpretation": { - "description": "Whether the nickname could also refer to a location. For example, \"walmart\", \"starbucks\".", - "type": "boolean" - }, - "installInfo": { - "description": "Indicates whether the user has the app installed.", - "enum": [ - "INSTALLATION_INFORMATION_UNAVAILABLE", - "IS_INSTALLED_APP", - "IS_NOT_INSTALLED_APP" - ], - "enumDescriptions": [ - "The annotator was not aware of installed apps, or the resource is not an app.", - "The resource is an app, and the annotator had the information that it is installed.", - "The resource is an app, and the annotator had the information that it is not installed." - ], - "type": "string" - }, - "isGeneric": { - "description": "True when the name is generic, i.e when it could refer to multiple packages from different developrs. For example, \"mail\" is considered a generic name (since it can refer to \"gmail\", \"yahoo mail\" etc.) but \"facebook\" although could refer to both \"facebook\" and \"facebook lite\" is not considered generic (both packages are from the same third party).", - "type": "boolean" - }, - "nicknameTier": { - "description": "The tier of the nickname.", - "enum": [ - "UNKNOWN", - "UNRESTRICTED", - "INTENT_REQUIRED", - "APP_PHRASE_REQUIRED" - ], - "enumDescriptions": [ - "Default value for unknown tier.", - "Nicknames that always refer to the respective application or url. For example, \"facebook\" always refers to the Facebook app / homepage.", - "Nicknames that refer to the app/url when the intent is to execute an action on the app/url. For example, \"most wanted\" refers to the \"Need for Speed Most Wanted\" app, only if the user asks, for example, to open the app - \"open most wanted\".", - "Nicknames that refer to the app/url when the app/url restriction is explicit. For example, \"banking\" is a nickname for the \"Bank of America Mobile Banking\" app, only if user explicitly states they are referring to the app - \"banking app\", \"open banking application\"." - ], - "type": "string" - }, - "source": { - "enum": [ - "DEFAULT", - "GELLER", - "DEVICE_CAPABILITIES" - ], - "enumDescriptions": [ - "", - "", - "These annotations are generated on the fly (server-side), and are not matched by SE Muppet using the offline-generated corpus." - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantVerticalsCommonContactMatchSignal": { - "description": "Neural contact match signals.", - "id": "AssistantVerticalsCommonContactMatchSignal", - "properties": { - "matchScore": { - "description": "Neural contact match similarity score.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoActionProjectConfig": { - "description": "Metadata for Actions-on-Google configuration.", - "id": "AssistantVerticalsHomeautomationProtoActionProjectConfig", - "properties": { - "contextId": { - "description": "Actions-on-Google action context ID. See go/sdm-hospitality-design.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoAgentDeviceId": { - "description": "An agent + device pair that uniquely identifies a device.", - "id": "AssistantVerticalsHomeautomationProtoAgentDeviceId", - "properties": { - "agentId": { - "description": "The agent's ID. Generally it is the agent's Google pantheon project id.", - "type": "string" - }, - "deviceId": { - "description": "Device ID defined by the agent.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoAgentInformation": { - "description": "AgentInformation represents the details needed to support both 1P and 3P partnerships for Home Automation. Next ID: 7", - "id": "AssistantVerticalsHomeautomationProtoAgentInformation", - "properties": { - "authType": { - "enum": [ - "OPEN_AUTH_DEFAULT", - "NEST_AUTH_PROXY" - ], - "enumDescriptions": [ - "Device uses 3p path with token authentication. This is the default value used when a different authentication type is not specified.", - "Device uses 1p Nest path (eg: Olive) with gaia credential authentication." - ], - "type": "string" - }, - "deviceSource": { - "enum": [ - "UNKNOWN", - "CLOUD_SYNC", - "ASSISTANT_SETTING_OOBE", - "LOCAL_SYNC", - "CHIP_SYNC" - ], - "enumDescriptions": [ - "", - "Device is created through HA2 SyncDevices flow, are HA2 cloud agent devices. ultravox is a cloud agent as well as surface device and it's using Sync flow.", - "Device created through Assistant Setting at OOBE time, they're things that are mastered within google internally.", - "Device is created through the local device platform to HGS sync flow. These devices are not necessarily mastered in a 3P cloud - they are locally detected by an assistant device and then synced to HGS directly. See go/aogh-dd.", - "Device created through local CHIP provision and sync up. Chip synced devices can be the same devices as the devices synced from cloud, and the sync and de-dup logic can be very complicated." - ], - "type": "string" - }, - "executionPath": { - "enum": [ - "HARPOON_DEFAULT", - "STUBBY" - ], - "enumDescriptions": [ - "Execute through Harpoon call. This is the default value used when the execution_path is not specified.", - "Execute through stubby RPC call." - ], - "type": "string" - }, - "id": { - "description": "Unique Agent ID which maps to a specific Agent. Not using Agent Name here as it may change over time.", - "type": "string" - }, - "key": { - "description": "Agent's foreign key that uniquely identifies a user's device.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoAttribute": { - "description": "Protos representing device or structure attributes. See go/hgs-attributes-protos. Only protos approved and formalized by assistant/HG team should be added here.", - "id": "AssistantVerticalsHomeautomationProtoAttribute", - "properties": { - "structureBasedRoutine": { - "$ref": "AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutine" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoAttributes": { - "description": "LINT.IfChange(proto_attributes)", - "id": "AssistantVerticalsHomeautomationProtoAttributes", - "properties": { - "attributeProtos": { - "items": { - "$ref": "AssistantVerticalsHomeautomationProtoAttribute" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoCommonEventTrigger": { - "description": "LINT.IfChange(proto_event_trigger) Next id: 5", - "id": "AssistantVerticalsHomeautomationProtoCommonEventTrigger", - "properties": { - "enabled": { - "type": "boolean" - }, - "eventTriggerPayload": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Detailed settings for the event trigger; unset if not applicable.", - "type": "object" - }, - "eventTriggerType": { - "description": "Different event type may have different settings. For example: * SCHEDULED will have event_trigger_payload of cs/symbol:assistant.verticals.voice_shortcut.proto.Schedule * LOCATION will have event_trigger_payload of cs/symbol:assistant.verticals.voice_shortcut.proto.LocationTriggerEvent", - "enum": [ - "UNKNOWN", - "SCHEDULED", - "LOCATION", - "DEVICE_CONTROL", - "DEVICE_SENSES" - ], - "enumDescriptions": [ - "", - "", - "", - "For Routine triggered by Home Intelligence Service (IQS) based on DEVICE_STATE_CHANGE. NOTE: This trigger is currently handled by IQS team go/iqs-hhr.", - "For Routine triggered by Home Intelligence Service (IQS) based on DEVICE_SENSOR_SIGNAL. NOTE: This trigger is currently handled by IQS team go/iqs-hhr." - ], - "type": "string" - }, - "triggerSource": { - "description": "Unique identifier for the EventTrigger, e.g. SCHEDULED_ROUTINES. See the enum values of cs/symbol:WorkflowTriggerInput.TriggerSource", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutine": { - "description": "Routines team stores the core Structure Based Routine data as the payload. We will add specific metadata on a per-need basis. LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of payload are equivalent data in different formats and both will be stored in Home Graph. 1. The internal format will fan out to the DynamicEntity Footprints for read in Settings flow and Execution. 2. The UI format will be stripped out upon replication to DynamicEntity Footprints due to its redundancy and the Footprints data size limit, i.e. DE Footprints will only contain the internal format.", - "id": "AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutine", - "properties": { - "enabled": { - "description": "Whether this Routine is enabled or not. If false, then this Routine can't be triggered by Voice.", - "type": "boolean" - }, - "googlePreconfigWorkflowId": { - "description": "The unique identifier for a class of workflows. For example: * \"sbr_001\" =\u003e Away * \"sbr_002\" =\u003e Home * \"category_template\" =\u003e CUSTOM", - "type": "string" - }, - "language": { - "type": "string" - }, - "payload": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "deprecated": true, - "description": "Internal format payload primarily for Routines team use.", - "type": "object" - }, - "securityLevel": { - "description": "The security level of the Structure Based Routine as determined by the most security-sensitive task.", - "enum": [ - "UNKNOWN", - "ALLOW_UNVERIFIED", - "ALLOW_VERIFIED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "shared": { - "type": "boolean" - }, - "storagePayload": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "structureId": { - "type": "string" - }, - "triggers": { - "description": "Voice or event triggers.", - "items": { - "$ref": "AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTrigger" - }, - "type": "array" - }, - "type": { - "enum": [ - "UNDEFINED", - "CURATED", - "ALARM", - "CUSTOM" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "uiPayload": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "UI format payload primarily for external team use.", - "type": "object" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTrigger": { - "description": "Next id: 3", - "id": "AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTrigger", - "properties": { - "eventTrigger": { - "$ref": "AssistantVerticalsHomeautomationProtoCommonEventTrigger" - }, - "voiceTrigger": { - "$ref": "AssistantVerticalsHomeautomationProtoCommonVoiceTrigger" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoCommonVoiceTrigger": { - "description": "LINT.IfChange(proto_voice_trigger) Next id: 2", - "id": "AssistantVerticalsHomeautomationProtoCommonVoiceTrigger", - "properties": { - "query": { - "type": "string" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoConciergeFeatures": { - "description": "The Concierge features a structure is eligible for. See {@link home.graph.common.ConciergeFeatures}.", - "id": "AssistantVerticalsHomeautomationProtoConciergeFeatures", - "properties": { - "conciergeProductFeatures": { - "items": { - "enum": [ - "UNKNOWN_PRODUCT_FEATURE", - "E911" - ], - "enumDescriptions": [ - "LINT.IfChange", - "LINT.ThenChange(//depot/google3/home/graph/proto/common/enums.proto)" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfo": { - "description": "Next ID: 5", - "id": "AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfo", - "properties": { - "annotatedSpanDevice": { - "description": "The query span for device mention.", - "type": "string" - }, - "annotatedSpanRoom": { - "description": "The query span for room mention.", - "type": "string" - }, - "annotatedSpanStructure": { - "description": "The query span for structure mention.", - "type": "string" - }, - "processedMentionedSpan": { - "description": "This field is from query_info.processed_mentioned_span in DTO.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoHomeAutomationDevice": { - "description": "Next ID: 9", - "id": "AssistantVerticalsHomeautomationProtoHomeAutomationDevice", - "properties": { - "deviceSelectionLog": { - "$ref": "AssistantLogsDeviceSelectionLog", - "description": "the next 3 fields are for Lumos output (DTO) that needs to be propagated to the Fulfilment through the HomeAutomationDevice proto." - }, - "dtoError": { - "$ref": "AssistantDeviceTargetingDeviceTargetingError" - }, - "dtoQueryInfo": { - "$ref": "AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfo", - "description": "This field is from query_info in DTO." - }, - "homeautomationMetadata": { - "$ref": "AssistantVerticalsHomeautomationProtoHomeAutomation_MetaData", - "description": "Device meta data." - }, - "list": { - "description": "list of HomeAutomationDeviceItem. After migration completes, we will mark the above 4 field as deprecated and only use this field.", - "items": { - "$ref": "AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItem" - }, - "type": "array" - }, - "matchedItemKey": { - "description": "Corresponding to casse matched_item CustomTypeItem key.", - "type": "string" - }, - "matchedItemRawvalue": { - "description": "Corresponding to casse Argument raw_value.", - "type": "string" - }, - "matchedItemValue": { - "description": "Corresponding to casse matched_item CustomTypeItem value.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItem": { - "id": "AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItem", - "properties": { - "homeautomationMetadata": { - "$ref": "AssistantVerticalsHomeautomationProtoHomeAutomation_MetaData", - "description": "Device meta data." - }, - "matchedItemKey": { - "description": "Corresponding to casse matched_item CustomTypeItem key.", - "type": "string" - }, - "matchedItemRawvalue": { - "description": "Corresponding to casse Argument raw_value.", - "type": "string" - }, - "matchedItemValue": { - "description": "Corresponding to casse matched_item CustomTypeItem value.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoHomeAutomation_MetaData": { - "description": "Next ID: 45", - "id": "AssistantVerticalsHomeautomationProtoHomeAutomation_MetaData", - "properties": { - "actionProjectConfigs": { - "description": "Custom actions that this item supports.", - "items": { - "$ref": "AssistantVerticalsHomeautomationProtoActionProjectConfig" - }, - "type": "array" - }, - "agentInformation": { - "$ref": "AssistantVerticalsHomeautomationProtoAgentInformation", - "description": "Agent details." - }, - "assistantDeviceId": { - "description": "Device ID that matches the ID passed from the device to discourse_context when a user issues a query to an Assistant-enabled device that is registered with Cast (via CCS (see go/castservers)), or some other service.", - "type": "string" - }, - "attributes": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Attributes data as provided from SYNC. This gets used in mutation and execution and in some potential cases, in biasing.", - "type": "object" - }, - "creatorGaiaId": { - "description": "See Device.creator_gaia_ids in //home/graph/proto/service/types.proto. If empty, the GAIA ID from the request EUC is assumed to be the creator. We only need at most one creator_gaia_id.", - "format": "int64", - "type": "string" - }, - "derivedType": { - "description": "Any types that are not the given item type, but derived later. For example, if an item has type action.devices.types.OUTLET but is named \"floor lamp\" we can derive that it also has type action.devices.types.LIGHT. Also considered along with |type| when triggering type-based actions.", - "items": { - "type": "string" - }, - "type": "array" - }, - "deviceModelId": { - "description": "See note in home_graph.proto; loaded into DE now to avoid having to double-read assistant settings records as per go/smarthome-removing-assistant-settings", - "type": "string" - }, - "gcmExecutionAddress": { - "description": "GCM address for cloud execution across google cloud messaging rather than 3p cloud.", - "type": "string" - }, - "groupIds": { - "description": "List of parent group IDs, if the device is added to one or multiple device groups (see go/home-groups). Will be consumed by Smart Home APIs and (in the future) Assistant CTF to populate the group member list of device groups.", - "items": { - "type": "string" - }, - "type": "array" - }, - "hashValue": { - "description": "The hash value from go/de-consistency-check", - "type": "string" - }, - "lanscanOptedIn": { - "description": "Whether local home platform should discover new devices via LAN for the structure.", - "type": "boolean" - }, - "matterUniqueId": { - "$ref": "AssistantVerticalsHomeautomationProtoMatterUniqueId", - "description": "Matter Unique ID. Contains VID/PID information" - }, - "modelName": { - "description": "Model name from HomeGraph, populated from model_manifest.model_name. See b/200087451.", - "type": "string" - }, - "notificationEnabledByUser": { - "description": "Indicates whether notifications have been enabled by a user and will be announced for this device. This is set by the user within the Google app settings, and Google will announce the device notification only if both notification_supported_by_agent and notification_enabled_by_user are true.", - "type": "boolean" - }, - "notificationSupportedByAgent": { - "description": "Indicates whether the device is capable of sending notifications. This field will be set by the agent (partner) on an incoming SYNC. If a device is not capable of generating notifications, the partner should set this flag to false. If a partner is not capable of calling ReportStateAndNotification to send notifications to Google, the partner should set this flag to false. If there is a user setting in the partner app to enable notifications and it is turned off, the partner should set this flag to false.", - "type": "boolean" - }, - "opaqueCustomData": { - "description": "Store custom data for agent calls here. This will likely be short-lived -- we will replace this with calls to HGS. (Note: This may end up not temporary if we only need it for a couple partners -- more efficient to have it on a few users than require HGS reads for all users.", - "type": "string" - }, - "operationalNodeId": { - "description": "Operational CHIP Node ID that combines the fabric ID and node id in format of . (Hex format without 0x prefix, for example, 0F001234FA67AA39.1234ABCD1111DDDD).", - "type": "string" - }, - "otherDeviceIds": { - "description": "Other agent id + foreign id pairs associated with the device. This can be used to represent a group of devices (e.g. Sonos' bonded zone) as a single device, or a device that comes in through different sync flows (e.g. Newman with a Nest camera).", - "items": { - "$ref": "AssistantVerticalsHomeautomationProtoAgentDeviceId" - }, - "type": "array" - }, - "otherDeviceSources": { - "description": "Additional device sources. This can be the result of the device being merged with other devices with a different source.", - "items": { - "enum": [ - "UNKNOWN", - "CLOUD_SYNC", - "ASSISTANT_SETTING_OOBE", - "LOCAL_SYNC", - "CHIP_SYNC" - ], - "enumDescriptions": [ - "", - "Device is created through HA2 SyncDevices flow, are HA2 cloud agent devices. ultravox is a cloud agent as well as surface device and it's using Sync flow.", - "Device created through Assistant Setting at OOBE time, they're things that are mastered within google internally.", - "Device is created through the local device platform to HGS sync flow. These devices are not necessarily mastered in a 3P cloud - they are locally detected by an assistant device and then synced to HGS directly. See go/aogh-dd.", - "Device created through local CHIP provision and sync up. Chip synced devices can be the same devices as the devices synced from cloud, and the sync and de-dup logic can be very complicated." - ], - "type": "string" - }, - "type": "array" - }, - "parentNode": { - "description": "LINT.IfChange(home_graph_single_parent) At the moment, we just have a single string. In future this will expand with additional metadata from client or cloud execution data store. In today's 'tree' HomeGraph each object has a single parent. In the future this may have a mesh for complex cases -- zones, doors, etc -- so we make this a repeated element today. LINT.ThenChange(//depot/google3/assistant/assistant_server/settings/user_defined_actions/footprints/footprint_accessor.cc:home_graph_single_parent)", - "items": { - "type": "string" - }, - "type": "array" - }, - "parentType": { - "description": "The type of the parent. Currently only set for devices, to distinguish between structure and room parents. Items currently have only one parent, and entries after the first parent_type are ignored.", - "items": { - "enum": [ - "UNKNOWN_ITEM_TYPE", - "DEVICE", - "ROOM", - "PLACE", - "GROUP", - "SCENE", - "STRUCTURE" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "personalizedNicknames": { - "description": "User-given nicknames for an entity (e.g. \"My house\"). These nicknames are unique to the gaia user. Nickname in DeviceInfo is per-entity level nickname, while personalized_nicknames is per-user per-entity.", - "items": { - "type": "string" - }, - "type": "array" - }, - "physicalLocation": { - "$ref": "AssistantVerticalsHomeautomationProtoPhysicalLocation", - "description": "Stores the location for the STRUCTURE type." - }, - "plural": { - "description": "We use this to determine if the synonyms matched in the aqua interpretation is plural. Then we will return disambiguate dialog or execute commands with all the targets.", - "items": { - "type": "string" - }, - "type": "array" - }, - "primaryName": { - "description": "Which of the values was the original, user-provided name -- or our disambiguated, cleaned-up version of it. This is what we use in TTS when we need to identify an object that wasn't just spoken uniquely by the user -- in disambiguation dialogue, or in response to a collective interrogative (e.g. \"what lights are on in the kitchen?\")", - "type": "string" - }, - "reportStateStatus": { - "description": "Whether device report state is out of sync with Query response.", - "enum": [ - "RSS_UNSPECIFIED", - "RSS_IN_SYNC", - "RSS_OUT_OF_SYNC" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "roleInformation": { - "$ref": "AssistantVerticalsHomeautomationProtoRoleInformation", - "description": "User's role information for this device. This will be used in Home Automation server to decide if user has authority to fulfill its request." - }, - "routableViaGcm": { - "description": "Only present for a target device. Indicates this target device is reachable by a local (AoGH) path via an AoGH device.", - "type": "boolean" - }, - "saftDocument": { - "$ref": "NlpSaftDocument", - "description": "SAFT Document with linguistic annotations for the primary device name." - }, - "smartDeviceManagementData": { - "$ref": "AssistantVerticalsHomeautomationProtoSmartDeviceManagementData", - "description": "Data needed for SDM (fleet management). See go/enterprise-id-in-assistant." - }, - "smartHomeFeatures": { - "$ref": "AssistantVerticalsHomeautomationProtoSmartHomeFeatures", - "description": "SmartHome feature flags that may be enabled per-item." - }, - "supportedStructureFeatures": { - "$ref": "AssistantVerticalsHomeautomationProtoSupportedStructureFeatures", - "description": "The features that are available for a structure. Will only be populated if the item_type == STRUCTURE." - }, - "supportedTraitsByAgent": { - "additionalProperties": { - "$ref": "AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataSupportedTraits" - }, - "description": "Map from agent ID to supported traits. Some devices (e.g. Newman) have multiple agents, with each agent being associated with a specific set of traits. This could alternatively have been formatted as map as {trait, agent} pairs instead of the {agent, list of trait} pairs, but we retain this format to be consistent with HomeGraph's representation. In practice, a trait should only be paired with a single agent (i.e. we should not have two agents with the same trait in their value list). This field is optional and should only be provided if the item has multiple agents.", - "type": "object" - }, - "supportsDirectResponse": { - "description": "This device supports direct response -- if the device itself is issuing the query (which means it's also an assistant surface) we can return its payload directly rather than via cloud.", - "type": "boolean" - }, - "targetDeviceSignalStrengths": { - "additionalProperties": { - "format": "int64", - "type": "string" - }, - "description": "Only present for an AoGH device. HGS Device ID of a target device and the signal strength (RSSI in dB, higher is better) between that target device and the AoGH device. If this map is empty, there are no target devices reachable by this AoGH device.", - "type": "object" - }, - "tdssUpdateTimestamp": { - "description": "The timestamp at which the TDSS map was last updated. This information is used to help determine which hub would be preferred if multiple hubs report the same reach-ability for a device.", - "format": "google-datetime", - "type": "string" - }, - "traitRoutingHints": { - "description": "For SHED devices, some traits can only be executed on 3P cloud, e.g. \"action.devices.traits.MediaInitiation\", \"action.devices.traits.Channel\" go/shed-per-trait-routing", - "items": { - "$ref": "HomeGraphCommonTraitRoutingHints" - }, - "type": "array" - }, - "traitRoutingTable": { - "additionalProperties": { - "$ref": "HomeGraphCommonRoutingTable" - }, - "description": "Map from traits to routing table. Metadata includes preferred execution path per trait and, when Matter is preferred, which endpoint should be used for the trait.", - "type": "object" - }, - "traitToAttributeProtos": { - "additionalProperties": { - "$ref": "AssistantVerticalsHomeautomationProtoAttributes" - }, - "description": "Map of trait to a proto representing the attribute. This is different from the attributes field above which is represented as a struct. The attributes here are represented as protos and will require specific support per trait.", - "type": "object" - }, - "type": { - "description": "The item type, such as \"action.devices.types.VACUUM\" - to be used in triggering type-based actions, e.g. \"start vacuuming\": go/smarthome-type-based-actions.", - "type": "string" - }, - "userDefinedDeviceType": { - "description": "The priority order of speech targeting: 1. user_defined_device_type 2. derived_device_type 3. device_type", - "type": "string" - }, - "voiceMatchRequired": { - "description": "Set to which level of voice match is needed. Enum based on string input from the partner in json sync. Values accepted: \"none\" (but in this case partners won't set it), \"owner\" [requires matching one of the creator gaia IDs], or \"member\" [any recognized voice 'enrolled' on the device]. This may expand; only \"owner\" is in use for first partner, Tile.", - "enum": [ - "ANY", - "OWNER", - "MEMBER" - ], - "enumDescriptions": [ - "Also default, and existing behavior == \"none\" in text", - "Must match an actual creator_gaia_id on device", - "Any member of the surface / structure interacting" - ], - "type": "string" - }, - "willReportState": { - "description": "This device will report state; we can query realtime state from local HGS rather than slow QUERY intent to the 3p cloud.", - "type": "boolean" - }, - "zoneNameSaftDocument": { - "$ref": "NlpSaftDocument", - "description": "SAFT Document with linguistic annotations for the zone name, if applicable." - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataSupportedTraits": { - "id": "AssistantVerticalsHomeautomationProtoHomeAutomation_MetaDataSupportedTraits", - "properties": { - "traits": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoMatterUniqueId": { - "description": "Matter unique Id. These values are provided by the device.", - "id": "AssistantVerticalsHomeautomationProtoMatterUniqueId", - "properties": { - "productId": { - "format": "int32", - "type": "integer" - }, - "uniqueId": { - "type": "string" - }, - "vendorId": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoPhysicalLocation": { - "id": "AssistantVerticalsHomeautomationProtoPhysicalLocation", - "properties": { - "address": { - "type": "string" - }, - "geoLocation": { - "$ref": "GoogleTypeLatLng" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoRoleInformation": { - "description": "Represents the user’s role such as assistant only or manager for a device. Design doc: https://docs.google.com/document/d/1c1hnauEbBfDkywO3GZkI8ejHP765l2tLspmPgckEe2Y/", - "id": "AssistantVerticalsHomeautomationProtoRoleInformation", - "properties": { - "iamCheckRequired": { - "description": "When true, role_type will be ignored, Nest IAM RPC will called to check authority.", - "type": "boolean" - }, - "roleType": { - "enum": [ - "UNDEFINED", - "ASSISTANT_ONLY", - "CAST_LEGACY_LINKED", - "MANAGER" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoSmartDeviceManagementData": { - "id": "AssistantVerticalsHomeautomationProtoSmartDeviceManagementData", - "properties": { - "enterpriseId": { - "description": "The enterprise that owns the structure. E.g. Disney, Dream Hotel, etc. This is used for log/analytics purpose. For privacy reasons, we log at enterprise level instead of structure level.", - "type": "string" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoSmartHomeFeatures": { - "description": "SmartHome feature flags that may be enabled per-item. LINT.IfChange", - "id": "AssistantVerticalsHomeautomationProtoSmartHomeFeatures", - "properties": { - "circadianLightingEnabled": { - "description": "Flag indicating whether the background Circadian Lighting effect is enabled for a particular light (go/circadian-lighting-e2e).", - "type": "boolean" - }, - "energySavingsEnabled": { - "description": "Flag indicating whether automatic Energy Savings are enabled for this item.", - "type": "boolean" - }, - "gentleWakeupEnabled": { - "description": "Flag indicating whether Gentle Wake Up is enabled for this item (go/sleep-wake-design).", - "type": "boolean" - }, - "homeAwayOverMatterEnabled": { - "description": "Flag indicating whether the user has enabled / disabled sending Home/Away status updates to the device through the Google custom IntelligenceEvents Matter cluster. (go/google-clusters-design)", - "type": "boolean" - } - }, - "type": "object" - }, - "AssistantVerticalsHomeautomationProtoSupportedStructureFeatures": { - "description": "The features a structure supports.", - "id": "AssistantVerticalsHomeautomationProtoSupportedStructureFeatures", - "properties": { - "conciergeFeatures": { - "$ref": "AssistantVerticalsHomeautomationProtoConciergeFeatures" - } - }, - "type": "object" - }, - "AttentionalEntitiesMentionProperties": { - "description": "Represents the properties of a mention. Next ID: 13", - "id": "AttentionalEntitiesMentionProperties", - "properties": { - "deviceId": { - "$ref": "AssistantApiCoreTypesDeviceId", - "description": "The unique device on which the mention occurred. For example, if the user has two Google Home devices, this indicates which of the two was used." - }, - "eventId": { - "$ref": "EventIdMessage", - "description": "ID of the event that resulted in this entity mention. For user and system turn AEs, this is taken from the ConversationSnapshotId of the snapshot containing this mention. For client AEs, this is empty. This can be used to join back this particular mention to the specific \"turn\" in which this mention took place." - }, - "factoidScore": { - "description": "If this mention corresponds to a WebAnswer, then this defines the score associated with that answer.", - "format": "float", - "type": "number" - }, - "listEntryInfo": { - "$ref": "AttentionalEntitiesMentionPropertiesListEntryInfo", - "description": "If present, this entity was mentioned as part of a larger list." - }, - "recency": { - "description": "Estimates the recency of the mention. This is internally computed at runtime on a turn-by-turn basis.", - "enum": [ - "RECENCY_UNSPECIFIED", - "MOST_RECENT_TURN" - ], - "enumDescriptions": [ - "", - "Corresponds to a mention from the most recent user-driven interaction. For example, this label would be applied to both mentions of \"Barack Obama\" in the following interaction: USER: How tall is Obama? GOOGLE: Barack Obama is six feet one inch tall. NOTE: This is currently only applicable to mentions that have a source of User or System." - ], - "type": "string" - }, - "role": { - "$ref": "AttentionalEntitiesSemanticRoleId", - "description": "The semantic role that the entity was used in." - }, - "salience": { - "description": "How salient this mention is. This field will only be set if the mention is derived from a SearchAnswerValue. See go/webresultsdata-as-aes for more details.", - "enum": [ - "UNKNOWN_SALIENCE", - "PRIMARY", - "METADATA" - ], - "enumDescriptions": [ - "Any mention that is not derived from a SearchAnswerValue will not have a Salience.", - "This mention corresponds to the primary entity in the response. For example, if the query is \"who was the 44th President of the US\", then the entity for \"Barack Obama\" would be marked as PRIMARY. Note that there may more than one PRIMARY entity in a response if a list of values is displayed (e.g. \"Stephen King books\").", - "This mention corresponds to metadata associated with the answer. For the US President query mentioned above, something like the inauguration date could be considered as METADATA. If it is difficult to identify a PRIMARY entity, then all entities may be marked as METADATA." - ], - "type": "string" - }, - "source": { - "$ref": "AttentionalEntitiesMentionPropertiesSource", - "description": "Contains metadata about the source of the mention." - }, - "spatialProperties": { - "$ref": "AttentionalEntitiesSpatialProperties", - "description": "If present, properties of visual mentions (e.g., how they are displayed to the user, visibility, etc.)." - }, - "surfaceForm": { - "$ref": "AttentionalEntitiesSurfaceForm", - "description": "Details about how this mention was presented." - }, - "timestamp": { - "description": "Unix timestamp noting (approximately) when this mention occurred. We do not guarantee that the time will correspond precisely to when the user uttered/heard a response. If mentions within a single turn have *different* timestamps, they should accurately reflect the order in which the mentions occurred. If that order is unknown, they should all have the same timestamp.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "AttentionalEntitiesMentionPropertiesListEntryInfo": { - "description": "Contains information about how an entity was presented as part of a list.", - "id": "AttentionalEntitiesMentionPropertiesListEntryInfo", - "properties": { - "index": { - "description": "The index of the entity presented to the user. NOTE: Indexing starts from 0.", - "format": "int64", - "type": "string" - }, - "lexicalGroundingsId": { - "description": "A string which uniquely identifies the list item this entity represents in the list. For example, consider the \"OrderPizza\" intent with the \"size\" slot: U: I want to order a pizza A: Sure. What size do you want: large, medium, or small? U: Gigantic The lexical_groundings_id can be \"large\" to identify the large item in the list. This lexical_groundings_id together with the semantic role fields (i.e., role.intent_id \u0026 role.role_id) can be used to match the nlp_semantic_parsing::LexicalGroundings::ValueTermType to utilize lexical grounding for i18n of static list selection items. Note that this field only needs to be populated when developers expect to provide lexical groundings for the list item this entity represents. Effectively, this field will be populated when this entity is published by ListPresentationFrame and the ::quality::dialog_manager::IntentStageSignals::FieldCandidate.lexical_groundings_id field is populated. See go/lpf-i18nv2 \u0026 go/taskstate-ae-sync for more details. ", - "type": "string" - } - }, - "type": "object" - }, - "AttentionalEntitiesMentionPropertiesSource": { - "description": "The agent or system from which the mention was derived. Each mention corresponds to a single source.", - "id": "AttentionalEntitiesMentionPropertiesSource", - "properties": { - "client": { - "$ref": "AttentionalEntitiesMentionPropertiesSourceClient" - }, - "system": { - "$ref": "AttentionalEntitiesMentionPropertiesSourceSystem" - }, - "user": { - "$ref": "AttentionalEntitiesMentionPropertiesSourceUser" - } - }, - "type": "object" - }, - "AttentionalEntitiesMentionPropertiesSourceClient": { - "description": "The client provided this entity. Currently, this exclusively corresponds to an entity that was circulated by the client. See go/on-device-aes for more details.", - "id": "AttentionalEntitiesMentionPropertiesSourceClient", - "properties": {}, - "type": "object" - }, - "AttentionalEntitiesMentionPropertiesSourceSystem": { - "description": "The Assistant mentioned this entity. This corresponds to entities annotated during fulfillment. More specifically, these entities are typically provided by developers either via a Monastery frame or an InteractionBuilder.", - "id": "AttentionalEntitiesMentionPropertiesSourceSystem", - "properties": {}, - "type": "object" - }, - "AttentionalEntitiesMentionPropertiesSourceUser": { - "description": "The user mentioned this entity. It was extracted from a previous winning intent (IntentQuery or IntentUpdate). Such entities are computed at runtime from the interpretation history without any developer intervention.", - "id": "AttentionalEntitiesMentionPropertiesSourceUser", - "properties": {}, - "type": "object" - }, - "AttentionalEntitiesSemanticRoleId": { - "description": "Uniquely identifies a semantic role. When this role corresponds to a slot in a registered user intent (see go/assistant-intent-catalog), then the SemanticRoleId maps precisely onto that slot in the intent catalog. However, not all semantic roles corresponds to such user intent slots.", - "id": "AttentionalEntitiesSemanticRoleId", - "properties": { - "intentId": { - "description": "Semantic roles will be defined locally, within the context of a single task/feature. The |intent_id| is a unique identifier for such a local cluster. In most cases, this should be exactly the same as the name of the intent used for TaskState (see go/assistant-intent-catalog). In cases where the intent isn't well-defined, this can be an arbitrary, feature-defined identifier.", - "type": "string" - }, - "roleId": { - "description": "Identifier for a semantic role, unique within the namespace of |intent_id|. When this role corresponds to a slot in the intent, the |role_id| should be equal to the name of that argument. For example, consider an entry in the intent catalog: core_intent { id { id: \"BookARide\" } slot { name: \"provider\" type { string_type { } } } slot { name: \"num_riders\" type { number_type { } } } } Then, the |role_id| would be \"provider\" or \"num_riders\" when referring to one of these slots. NOTE: when responding to the user, the Assistant may actually make use of other roles such as \"ETA\" or \"driver\" that are not part of the intent declaration. These should still be assigned consistent semantic roles. For example, a dialog with the Shopping feature: User: Where can I buy XYZ? Google: [Best Buy in Sunnyvale] has [XYZ] in stock. User: Great! Give me directions. In this case, both \"Best Buy\" and \"XYZ\" would be pushed to attentional entities. Best Buy, in this case, may not be an argument in the ShoppingItemStockInquiry intent, but should still have a consistent |role_id| such as \"possessing_business\".", - "type": "string" - } - }, - "type": "object" - }, - "AttentionalEntitiesSpatialProperties": { - "description": "Properties of visual mentions (e.g., how they are displayed to the user, visibility, etc.).", - "id": "AttentionalEntitiesSpatialProperties", - "properties": { - "visibility": { - "enum": [ - "UNKNOWN_VISIBILITY", - "VISIBLE", - "HIDDEN" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AttentionalEntitiesSurfaceForm": { - "description": "How the entity was presented in this mention at a surface level. For example, \"President Barack Obama\" or \"Barack Obama\" or \"he\" might all be reasonable surface forms for the MID /m/02mjmr.", - "id": "AttentionalEntitiesSurfaceForm", - "properties": { - "text": { - "type": "string" - } - }, - "type": "object" - }, - "BiasingPerDocData": { - "description": "This data is expected to appear in approximately 2 out of every 1,000 documents with an average of 2 fields per document. Rough order of size is in the hundreds of kilobytes per Mustang shard.", - "id": "BiasingPerDocData", - "properties": { - "biasingfield": { - "items": { - "$ref": "BiasingPerDocDataBiasingField" - }, - "type": "array" - } - }, - "type": "object" - }, - "BiasingPerDocData2": { - "description": "A replacement for BiasingPerDocData that is more efficient wrt size in the index.", - "id": "BiasingPerDocData2", - "properties": { - "biasingField": { - "items": { - "$ref": "BiasingPerDocData2BiasingField" - }, - "type": "array" - } - }, - "type": "object" - }, - "BiasingPerDocData2BiasingField": { - "id": "BiasingPerDocData2BiasingField", - "properties": { - "compressedName": { - "description": "A fingerprint of the actual name of the field.", - "format": "uint32", - "type": "integer" - }, - "value": { - "description": "The value, under various representations to get maximum compression. Exactly one of them is guaranteed to be filled. value as a double.", - "format": "double", - "type": "number" - }, - "valueFloat": { - "description": "a floating value, represented as an integer by converting using floating_value * 1000. Useable for all floating values that need 3 digits of precision, and are small enough.", - "format": "int32", - "type": "integer" - }, - "valueInt": { - "description": "value as an int32. When the value is encode-able as an integer.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "BiasingPerDocDataBiasingField": { - "description": "Metadata fields on which we can bias (sort) search results independently from the normal ranking using a ScoreAdjuster", - "id": "BiasingPerDocDataBiasingField", - "properties": { - "Name": { - "description": "Fingerprint of the attribute name (no need to keep long field names)", - "format": "uint64", - "type": "string" - }, - "Value": { - "description": "Biasing value translated into a double for uniform comparison", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "BlobstoreBlobRef": { - "description": "A BlobRef is used to refer to a blob in BlobStore. Clients may only manipulate blobs through BlobRefs. BlobRefs should not be sent in the clear outside of Google (for example, encoded in URLs, stored in a client cookie, or referred to in Javascript); for efficiency, the IDs expose internal details of the blobstore (such as machine IPs or cluster names). If clients need to store BlobRefs outside of Google, they must encrypt the BlobRef securely or use an alternative insecure identifier with an id-\u003eBlobRef mapping inside our network. ", - "id": "BlobstoreBlobRef", - "properties": { - "BlobID": { - "format": "byte", - "type": "string" - }, - "Options": { - "format": "int64", - "type": "string" - }, - "RefID": { - "format": "byte", - "type": "string" - }, - "ShardBin": { - "format": "int32", - "type": "integer" - }, - "Size": { - "description": "Size of the complete blob, in bytes.", - "format": "int64", - "type": "string" - }, - "SourceV2BlobID": { - "description": "The ID of the V2 blob this blob has", - "type": "string" - }, - "V2ReadBlobToken": { - "description": "Deprecated.", - "type": "string" - } - }, - "type": "object" - }, - "BlogPerDocData": { - "description": "Additional data for Blog/Posts", - "id": "BlogPerDocData", - "properties": { - "blogurlFp": { - "description": "used for blogurl crowding.", - "format": "uint64", - "type": "string" - }, - "clientSpamminess": { - "description": "This score captures how spammy the client is that the micropost was created with. The higher the score the worse.", - "format": "int32", - "type": "integer" - }, - "convTree": { - "$ref": "BlogsearchConversationTree", - "description": "For the threaded conversation view. Only populated in docs with provider type SYNTHETIC_CONVERSATION_DOC." - }, - "copycatScore": { - "format": "int32", - "type": "integer" - }, - "docQualityScore": { - "format": "int32", - "type": "integer" - }, - "isSyntacticReshare": { - "description": "A syntactic reshare is a document that is * created from an original and shared with friends and * we detect this resharing property by syntactically parsing the doc. . For example, a retweet is an example of a syntactic_reshare because we can detect that it's a reshare by grepping for \"RT @\".", - "type": "boolean" - }, - "microblogQualityExptData": { - "$ref": "Proto2BridgeMessageSet", - "description": "Experimental data for quality experiments. This will NOT be populated in prod, but we will use this for experiments." - }, - "numMentions": { - "description": "For replies/reshares. num_mentions = number of times the pattern @foo appears in the document.", - "format": "int32", - "type": "integer" - }, - "outlinks": { - "items": { - "$ref": "BlogPerDocDataOutlinks" - }, - "type": "array" - }, - "postContentFingerprint": { - "description": "The fingerprint for the body text of the microblog post. It is copied from MicroBlogPost.post_content_fingerprint.", - "format": "int32", - "type": "integer" - }, - "qualityScore": { - "format": "int32", - "type": "integer" - }, - "spamScore": { - "description": "Blog scoring signals.", - "format": "int32", - "type": "integer" - }, - "universalWhitelisted": { - "type": "boolean" - }, - "userQualityScore": { - "description": "User and doc quality scores for updates (aka microposts).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "BlogPerDocDataOutlinks": { - "description": "Resolved url and site spamscore for outlinks in updates (aka microposts).", - "id": "BlogPerDocDataOutlinks", - "properties": { - "aggregationFp": { - "description": "Representative id for an equivalence class of URLs. E.g. http://youtube.com/watch?v=12 and http://youtube.com/watch?v=12\u0026feature=related have the same aggregation id since they're effectively the same webpage", - "format": "uint64", - "type": "string" - }, - "resolvedUrl": { - "type": "string" - }, - "siteSpamScore": { - "format": "int32", - "type": "integer" - }, - "title": { - "type": "string" - } - }, - "type": "object" - }, - "BlogsearchConversationNode": { - "id": "BlogsearchConversationNode", - "properties": { - "authorName": { - "description": "The username of the author of the microblog post represented by this node.", - "type": "string" - }, - "children": { - "description": "A list of docids of child nodes.", - "items": { - "type": "string" - }, - "type": "array" - }, - "date": { - "description": "The creation date of the doc.", - "format": "int64", - "type": "string" - }, - "docid": { - "description": "Docid of the microblog post represented by this node.", - "type": "string" - }, - "parent": { - "description": "The docid of the parent node. The root of the tree will leave this empty.", - "type": "string" - } - }, - "type": "object" - }, - "BlogsearchConversationTree": { - "id": "BlogsearchConversationTree", - "properties": { - "convId": { - "description": "The id of this conversation.", - "type": "string" - }, - "nodes": { - "description": "The nodes in this conversation. No particular order is assumed.", - "items": { - "$ref": "BlogsearchConversationNode" - }, - "type": "array" - } - }, - "type": "object" - }, - "BlueGingerClientVisibleProtoBlueGingerSupportedServices": { - "description": "Information to indicate BG availability for businesses. This message is filled from Topic Server and stored in the GSR in Superroot.", - "id": "BlueGingerClientVisibleProtoBlueGingerSupportedServices", - "properties": { - "modules": { - "description": "List of supported modules for a business.", - "items": { - "$ref": "BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModule" - }, - "type": "array" - } - }, - "type": "object" - }, - "BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModule": { - "id": "BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModule", - "properties": { - "name": { - "description": "Module name, e.g. hairdresser_reservation. from quality/views/extraction/kcube/bg/modules/modules.bzl.", - "type": "string" - }, - "services": { - "description": "Services of this module that are supported by the business, e.g. haircuts.", - "items": { - "type": "string" - }, - "type": "array" - }, - "useCase": { - "enum": [ - "UNKNOWN_USE_CASE", - "OPENING_HOURS", - "ON_DEMAND_OPENING_HOURS", - "GEO_DATA_EXTRACTION", - "OPERATING_MODE_EXTRACTION", - "RESTAURANT_RESERVATION", - "MASSAGE_RESERVATION", - "HAIRDRESSER_RESERVATION", - "NAIL_SALON_RESERVATION", - "RUNNING_LATE", - "FOOD_ORDERING", - "LOCAL_INVENTORY_CHECK", - "ON_DEMAND_LOCAL_INVENTORY", - "WAITLIST", - "CHECK_WAIT", - "CHEFBOT", - "ADS_CALL_CENTER_AUTHENTICATION", - "PLAYSTORE", - "TAKING_RESTAURANT_RESERVATIONS", - "CALL_CENTER_DEMO", - "ASSISTED_CALL_DEMO", - "BUSINESS_OPT_IN", - "CALLJOY_PILOT", - "ASSISTANT_REMINDERS_DEMO", - "HAPPY_BIRTHDAY", - "ASSISTED_IVR", - "DUPLEX_FOR_BUSINESS_PILOT", - "SAY_THE_SAME_THING", - "COVID_FAQ", - "VANCOUVER", - "MEENAPLEX", - "REMOVED_USE_CASE_6", - "SEMI_DELEGATED_CALLING", - "HARDWARE_SETUP", - "DUMDA_BOT", - "SMART_REPLY", - "DUPLEX_ZERO", - "SPAM_FILTER", - "TEXT", - "IVR_CRAWLING", - "VOICEMAIL", - "INBOUND_SMB", - "CCAI_DEMO", - "DIALOGFLOW_DELEGATION", - "AD_LEAD_VERIFICATION", - "GET_HUMAN", - "CHECK_INSURANCE_ACCEPTANCE", - "FREE_TEXT", - "SMART_NOTES" - ], - "enumDeprecated": [ - false, - false, - true, - false, - true, - false, - true, - false, - false, - true, - true, - true, - true, - false, - false, - true, - false, - true, - true, - false, - false, - false, - true, - true, - true, - false, - false, - true, - true, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "// Data extraction:", - "Opening hours extraction, triggered internally without an end-user in the loop. The trigger might be a user-edit, but the user is not being updated about the extraction results.", - "On-demand opening hours extraction, i.e. requests are issued by an end-user who is also notified about the results of the task.", - "", - "", - "", - "", - "See go/bg-hdr-2019.", - "", - "See go/duplex-running-late.", - "See go/duplex-fo-pilot.", - "Local Inventory Checks (go/duplex-dove).", - "On-Demand Local Inventory (go/duplex-li-on-demand).", - "", - "Check wait: go/duplex-check-wait-time", - "Chefbot (go/duplexify-cooking-goals).", - "", - "Play Store user authentication. See http://doc/16tApXKX1cc23AIuhIhPCWVkm1qkcajx2pHMkxW6kMAs", - "Taking restaurant reservations on behalf of a restaurant. i.e. getting calls from clients who want to make a reservation, and trying to match their request with the restaurant's schedule.", - "", - "", - "", - "", - "", - "", - "", - "Duplex for Business Pilot: go/duplex-voice-pilot", - "Say The Same Thing game bot.", - "Bot for answering FAQ about COVID-19 (go/bg-covid-faq).", - "", - "go/meenaplex-dd", - "Was: .", - "UC ID for testing ideas around a partial call delegation bot.", - "UC ID for hardware setup prototype", - "Experimental use case for a form of Meena+Duplex.", - "Personal Call Assist.", - "Duplex Zero Bot.", - "Spam filter bot.", - "Text extraction bot.", - "IVR crawling bot.", - "Voicemail bot.", - "Duplex for Business - Inbound SMB bot.", - "Duplex for Business - Demo for the CCAI integration.", - "Duplex for Business - Dialogflow delegation module for CCAI integration.", - "Duplex for Business - ad lead verification module for GLS integration.", - "Get Human bot.", - "Check health insurance acceptance.", - "Wrapper use case for creating an errand from conversational free-text. The true use case for the errand will be provided by a call to the LBT backend's task routing logic, such that this use case should NOT actually ever reach the caller.", - "Personal Call Assist." - ], - "type": "string" - } - }, - "type": "object" - }, - "BookCitationPerDocData": { - "description": "Per-doc data for the web page about the cited book Approximate size is on average ~10bytes", - "id": "BookCitationPerDocData", - "properties": { - "bookId": { - "description": "the book id for the main citation", - "format": "int64", - "type": "string" - }, - "discretizedCitationScore": { - "description": "the discretized citation score for the main book. we map the raw score 1.0-20.0 to 0 - 127", - "format": "int32", - "type": "integer" - }, - "previewable": { - "description": "Is there a preview or excerpt of the book on this document?", - "type": "boolean" - }, - "secondBookId": { - "description": "book id for the second citation if we can't separate the two top citations (they are too close).", - "format": "int64", - "type": "string" - }, - "secondDiscretizedCitationScore": { - "description": "the discretized score for the second citation", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "BusinessHours": { - "description": "We divide up a week into individual open intervals. If any are present then they must be arranged in strictly increasing order, with non-empty spaces between successive intervals, and all times between 0 and 604800, the number of seconds in a week.", - "id": "BusinessHours", - "properties": { - "dayopen": { - "format": "int32", - "type": "integer" - }, - "interval": { - "items": { - "$ref": "BusinessHoursInterval" - }, - "type": "array" - } - }, - "type": "object" - }, - "BusinessHoursInterval": { - "id": "BusinessHoursInterval", - "properties": { - "end": { - "description": "The interval ends at the start of this second", - "format": "int32", - "type": "integer" - }, - "start": { - "description": "Time in seconds since Midnight-Monday-Morn", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ChatBotPlatformBotSendToken": { - "description": "Token to be exposed and stored by the bot", - "id": "ChatBotPlatformBotSendToken", - "properties": { - "expiryTimeMicros": { - "description": "Time since epoch (micros) that this will expire", - "format": "int64", - "type": "string" - }, - "sendToken": { - "description": "Encrypted InternalSendToken", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "ChatBotPlatformFireballId": { - "id": "ChatBotPlatformFireballId", - "properties": { - "id": { - "$ref": "GoogleInternalCommunicationsInstantmessagingV1Id", - "description": "When used as a user ID, it's the phone number of the sender. When used as a session ID: For group conversation, it is the group ID. For 1 to 1, it is the receiver or sender phone number. For 1 to bot, it is the receiver phone number or empty." - } - }, - "type": "object" - }, - "ClassifierPornClassifierData": { - "description": "Next ID: 6", - "id": "ClassifierPornClassifierData", - "properties": { - "classification": { - "items": { - "$ref": "ClassifierPornClassifierDataClassification" - }, - "type": "array" - }, - "imageBasedDetectionDone": { - "deprecated": true, - "description": "Records whether the image linker is run already. This is only used for Alexandria but NOT for Segindexer.", - "type": "boolean" - }, - "timestamp": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ClassifierPornClassifierDataClassification": { - "id": "ClassifierPornClassifierDataClassification", - "properties": { - "label": { - "type": "string" - }, - "score": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ClassifierPornDocumentData": { - "description": "Next ID: 3", - "id": "ClassifierPornDocumentData", - "properties": { - "classifierdata": { - "$ref": "ClassifierPornClassifierData" - }, - "sitedata": { - "$ref": "ClassifierPornSiteData" - } - }, - "type": "object" - }, - "ClassifierPornQueryClassifierOutput": { - "description": "Generic output for one vertical.", - "id": "ClassifierPornQueryClassifierOutput", - "properties": { - "csaiClassification": { - "description": "This field is only filled for the CSAI vertical.", - "enum": [ - "NOT_PROTECTED", - "PROTECTED", - "STRONGLY_PROTECTED" - ], - "enumDescriptions": [ - "Contract: (STRONGLY_PROTECTED \u0026 PROTECTED) == PROTECTED", - "", - "" - ], - "type": "string" - }, - "debug": { - "description": "Human-readable debug information about the classification. This field is only set if output_debug is set in the classification input.", - "type": "string" - }, - "isPositive": { - "description": "The bit that shows if this classifier outputs positive classification for the input query. Set by thresholding with a recommended threshold.", - "type": "boolean" - }, - "score": { - "description": "The score that the classifier assigned to the input query. This is filled by all verticals.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ClassifierPornQueryMultiLabelClassifierOutput": { - "description": "Multi-label classification output. It contains the output for each vertical. The output for some verticals can be empty, in case that vertical is not supported by the classifier or if the set of verticals was restricted using MultiLabelClassifierInput.verticals.", - "id": "ClassifierPornQueryMultiLabelClassifierOutput", - "properties": { - "csai": { - "$ref": "ClassifierPornQueryClassifierOutput" - }, - "fringe": { - "$ref": "ClassifierPornQueryClassifierOutput" - }, - "medical": { - "$ref": "ClassifierPornQueryClassifierOutput" - }, - "minor": { - "$ref": "ClassifierPornQueryClassifierOutput" - }, - "offensive": { - "$ref": "ClassifierPornQueryClassifierOutput" - }, - "porn": { - "$ref": "ClassifierPornQueryClassifierOutput" - }, - "spoof": { - "$ref": "ClassifierPornQueryClassifierOutput" - }, - "violence": { - "$ref": "ClassifierPornQueryClassifierOutput" - }, - "vulgar": { - "$ref": "ClassifierPornQueryClassifierOutput" - } - }, - "type": "object" - }, - "ClassifierPornQueryStats": { - "description": "QuerySats contains the information about the queries that users typed to search for this image.", - "id": "ClassifierPornQueryStats", - "properties": { - "queryTextPornScore": { - "description": "A query text porn score for the queries which have clicks to the image: query_text_porn_score := sum(clicks(query) * text_porn_score(query)) / sum(clicks(query))", - "format": "float", - "type": "number" - }, - "totalClicks": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ClassifierPornReferrerCounts": { - "description": "ReferrerCounts stores how many referrers an images has and how many of them were classified as porn and as adult/softporn respectively. Note that a referrer is usually a landing page, but as of March 2011 this also includes referrers which an image can 'inherit' by propagating counts from near duplicate images.", - "id": "ClassifierPornReferrerCounts", - "properties": { - "adult": { - "format": "int32", - "type": "integer" - }, - "porn": { - "description": "Number of referrers which are classified as porn and as adult.", - "format": "int32", - "type": "integer" - }, - "total": { - "description": "Total number of referrers.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ClassifierPornSiteData": { - "description": "Next ID: 53", - "id": "ClassifierPornSiteData", - "properties": { - "avgPedoPageScore": { - "description": "The average pedo page score for the site.", - "format": "float", - "type": "number" - }, - "finalPedoSiteScore": { - "format": "float", - "type": "number" - }, - "numberOfPages": { - "description": "The number of pages that were used to compute the scores and ratios.", - "format": "uint64", - "type": "string" - }, - "numberOfPedoPages": { - "description": "The number of pages with pedo restrict.", - "format": "uint64", - "type": "string" - }, - "site": { - "description": "Sitechunk used to compute the signals. The field is present only for data created after December 2022.", - "type": "string" - }, - "sitePornRatio": { - "description": "The ratio of porn/softporn of the site this page belongs to.", - "format": "float", - "type": "number" - }, - "siteSoftpornRatio": { - "format": "float", - "type": "number" - }, - "versionedscore": { - "items": { - "$ref": "ClassifierPornSiteDataVersionedScore" - }, - "type": "array" - }, - "violenceScore": { - "description": "The cubic mean aggregation of violence page scores in the site.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ClassifierPornSiteDataVersionedScore": { - "description": "The site porn score of the site to which the page of interest belongs to. Multiple versions are kept across large changes for some time. The Version-4 score is the average Universal Page Probability of all the site's pages, and will come with populated verticals4_score and site_rule (if any rule fires) fields. When using this score it is recommended to subscribe to the following mailing list: g/safesearch-announce.", - "id": "ClassifierPornSiteDataVersionedScore", - "properties": { - "score": { - "format": "float", - "type": "number" - }, - "siteRule": { - "items": { - "enum": [ - "HIGH_PORN_FRACTION_RULE", - "DEPRECATED_USER_GENERATED_CONTENT_RULE", - "DEPRECATED_SITES_WITH_IGNORED_SCORES_LIST" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "version": { - "format": "int32", - "type": "integer" - }, - "verticals4Score": { - "description": "Please talk to safesearch@ before relying on any of these internal fields:", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "CloudAiPlatformTenantresourceCloudSqlInstanceConfig": { - "description": "The identity to configure a CloudSQL instance provisioned via SLM Terraform.", - "id": "CloudAiPlatformTenantresourceCloudSqlInstanceConfig", - "properties": { - "cloudSqlInstanceConnectionName": { - "description": "Output only. The CloudSQL instance connection name.", - "type": "string" - }, - "cloudSqlInstanceName": { - "description": "Input/Output [Optional]. The CloudSQL instance name within SLM instance. If not set, a random UUIC will be generated as instance name.", - "type": "string" - }, - "kmsKeyReference": { - "description": "Input [Optional]. The KMS key name or the KMS grant name used for CMEK encryption. Only set this field when provisioning new CloudSQL instances. For existing CloudSQL instances, this field will be ignored because CMEK re-encryption is not supported.", - "type": "string" - }, - "mdbRolesForCorpAccess": { - "description": "Input [Optional]. MDB roles for corp access to CloudSQL instance.", - "items": { - "type": "string" - }, - "type": "array" - }, - "slmInstanceName": { - "description": "Output only. The SLM instance's full resource name.", - "type": "string" - }, - "slmInstanceTemplate": { - "description": "Input [Required]. The SLM instance template to provision CloudSQL.", - "type": "string" - }, - "slmInstanceType": { - "description": "Input [Required]. The SLM instance type to provision CloudSQL.", - "type": "string" - } - }, - "type": "object" - }, - "CloudAiPlatformTenantresourceGcsBucketConfig": { - "description": "The identity to configure a GCS bucket.", - "id": "CloudAiPlatformTenantresourceGcsBucketConfig", - "properties": { - "admins": { - "items": { - "type": "string" - }, - "type": "array" - }, - "bucketName": { - "description": "Input/Output [Optional]. The name of a GCS bucket with max length of 63 chars. If not set, a random UUID will be generated as bucket name.", - "type": "string" - }, - "entityName": { - "description": "Input/Output [Optional]. Only needed for per-entity tenant GCP resources. During Deprovision API, the on-demand deletion will only cover the tenant GCP resources with the specified entity name.", - "type": "string" - }, - "kmsKeyReference": { - "description": "Input/Output [Optional]. The KMS key name or the KMS grant name used for CMEK encryption. Only set this field when provisioning new GCS bucket. For existing GCS bucket, this field will be ignored because CMEK re-encryption is not supported.", - "type": "string" - }, - "ttlDays": { - "description": "Input/Output [Optional]. Only needed when the content in bucket need to be garbage collected within some amount of days.", - "format": "int32", - "type": "integer" - }, - "viewers": { - "description": "Input/Output [Required]. IAM roles (viewer/admin) put on the bucket.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CloudAiPlatformTenantresourceIamPolicyBinding": { - "description": "The dynamic IAM bindings to be granted after tenant projects are created.", - "id": "CloudAiPlatformTenantresourceIamPolicyBinding", - "properties": { - "members": { - "description": "Input/Output [Required]. The member service accounts with the roles above. Note: placeholders are same as the resource above.", - "items": { - "type": "string" - }, - "type": "array" - }, - "resource": { - "description": "Input/Output [Required]. The resource name that will be accessed by members, which also depends on resource_type. Note: placeholders are supported in resource names. For example, ${tpn} will be used when the tenant project number is not ready.", - "type": "string" - }, - "resourceType": { - "description": "Input/Output [Required]. Specifies the type of resource that will be accessed by members.", - "enum": [ - "RESOURCE_TYPE_UNSPECIFIED", - "PROJECT", - "SERVICE_ACCOUNT", - "GCS_BUCKET", - "SERVICE_CONSUMER", - "AR_REPO" - ], - "enumDescriptions": [ - "", - "The value of resource field is the ID or number of a project. Format is ", - "The value of resource field is the resource name of a service account. Format is projects//serviceAccounts/", - "The value of resource field is the name of a GCS bucket (not its resource name). Format is .", - "The value of resource field is the resource name of a service consumer. Format is services//consumers/", - "The value of the resource field is the AR Image Uri which identifies an AR REPO. Allowed formats are: /// ///: ///@" - ], - "type": "string" - }, - "role": { - "description": "Input/Output [Required]. The role for members below.", - "type": "string" - } - }, - "type": "object" - }, - "CloudAiPlatformTenantresourceInfraSpannerConfig": { - "description": "The configuration for a spanner database provisioning. Next ID: 8", - "id": "CloudAiPlatformTenantresourceInfraSpannerConfig", - "properties": { - "createDatabaseOptions": { - "$ref": "CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions", - "description": "Input [Optional]. The options to create a spanner database. Note: give the right options to ensure the right KMS key access audit logging and AxT logging in expected logging category." - }, - "kmsKeyReference": { - "description": "Input [Optional]. The KMS key name or the KMS grant name used for CMEK encryption. Only set this field when provisioning new Infra Spanner databases. For existing Infra Spanner databases, this field will be ignored because CMEK re-encryption is not supported. For example, projects//locations//keyRings//cryptoKeys/", - "type": "string" - }, - "sdlBundlePath": { - "description": "Input [Required]. The file path to the spanner SDL bundle.", - "type": "string" - }, - "spannerBorgServiceAccount": { - "description": "Input [Optional]. The spanner borg service account for delegating the kms key to. For example, spanner-infra-cmek-nonprod@system.gserviceaccount.com, for the nonprod universe.", - "type": "string" - }, - "spannerLocalNamePrefix": { - "type": "string" - }, - "spannerNamespace": { - "type": "string" - }, - "spannerUniverse": { - "description": "Input [Required]. Every database in Spanner can be identified by the following path name: /span//:", - "type": "string" - } - }, - "type": "object" - }, - "CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions": { - "description": "The options to create a spanner database. KMS key access audit logging and AxT logging will be associated with the given resource name, resource type and service name. Please ensure to give right options to enable correct audit logging and AxT logging.", - "id": "CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions", - "properties": { - "cmekCloudResourceName": { - "description": "The cloud resource name for the CMEK encryption. For example, projects//locations/", - "type": "string" - }, - "cmekCloudResourceType": { - "description": "The cloud resource type for the CMEK encryption. For example, contentwarehouse.googleapis.com/Location", - "type": "string" - }, - "cmekServiceName": { - "description": "The service name for the CMEK encryption. For example, contentwarehouse.googleapis.com", - "type": "string" - } - }, - "type": "object" - }, - "CloudAiPlatformTenantresourceServiceAccountIdentity": { - "description": "The identity to configure a service account.", - "id": "CloudAiPlatformTenantresourceServiceAccountIdentity", - "properties": { - "serviceAccountEmail": { - "description": "Output only. The service account email that has been created.", - "type": "string" - }, - "tag": { - "description": "Input/Output [Optional]. The tag that configures the service account, as defined in google3/configs/production/cdpush/acl-zanzibar-cloud-prod/activation_grants/activation_grants.gcl. Note: The default P4 service account has the empty tag.", - "type": "string" - } - }, - "type": "object" - }, - "CloudAiPlatformTenantresourceTenantProjectConfig": { - "description": "The identity to configure a tenant project.", - "id": "CloudAiPlatformTenantresourceTenantProjectConfig", - "properties": { - "billingConfig": { - "$ref": "GoogleApiServiceconsumermanagementV1BillingConfig", - "description": "Input/Output [Required]. The billing account properties to create the tenant project." - }, - "folder": { - "description": "Input/Output [Required]. The folder that holds tenant projects and folder-level permissions will be automatically granted to all tenant projects under the folder. Note: the valid folder format is `folders/{folder_number}`.", - "type": "string" - }, - "policyBindings": { - "description": "Input/Output [Required]. The policy bindings that are applied to the tenant project during creation. At least one binding must have the role `roles/owner` with either `user` or `group` type.", - "items": { - "$ref": "GoogleApiServiceconsumermanagementV1PolicyBinding" - }, - "type": "array" - }, - "services": { - "description": "Input/Output [Required]. The API services that are enabled on the tenant project during creation.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CloudAiPlatformTenantresourceTenantProjectResource": { - "description": "The tenant project and tenant resources. Next ID: 10", - "id": "CloudAiPlatformTenantresourceTenantProjectResource", - "properties": { - "cloudSqlInstances": { - "description": "The CloudSQL instances that are provisioned under the tenant project.", - "items": { - "$ref": "CloudAiPlatformTenantresourceCloudSqlInstanceConfig" - }, - "type": "array" - }, - "gcsBuckets": { - "description": "The GCS buckets that are provisioned under the tenant project.", - "items": { - "$ref": "CloudAiPlatformTenantresourceGcsBucketConfig" - }, - "type": "array" - }, - "iamPolicyBindings": { - "description": "The dynamic IAM bindings that are granted under the tenant project. Note: this should only add new bindings to the project if they don't exist and the existing bindings won't be affected.", - "items": { - "$ref": "CloudAiPlatformTenantresourceIamPolicyBinding" - }, - "type": "array" - }, - "infraSpannerConfigs": { - "description": "The Infra Spanner databases that are provisioned under the tenant project. Note: this is an experimental feature.", - "items": { - "$ref": "CloudAiPlatformTenantresourceInfraSpannerConfig" - }, - "type": "array" - }, - "tag": { - "description": "Input/Output [Required]. The tag that uniquely identifies a tenant project within a tenancy unit. Note: for the same tenant project tag, all tenant manager operations should be idempotent.", - "type": "string" - }, - "tenantProjectConfig": { - "$ref": "CloudAiPlatformTenantresourceTenantProjectConfig", - "description": "The configurations of a tenant project." - }, - "tenantProjectId": { - "description": "Output only. The tenant project ID that has been created.", - "type": "string" - }, - "tenantProjectNumber": { - "description": "Output only. The tenant project number that has been created.", - "format": "int64", - "type": "string" - }, - "tenantServiceAccounts": { - "description": "The service account identities (or enabled API service's P4SA) that are expclicitly created under the tenant project (before JIT provisioning during enabled API services).", - "items": { - "$ref": "CloudAiPlatformTenantresourceTenantServiceAccountIdentity" - }, - "type": "array" - } - }, - "type": "object" - }, - "CloudAiPlatformTenantresourceTenantResource": { - "description": "A collection of tenant resources.", - "id": "CloudAiPlatformTenantresourceTenantResource", - "properties": { - "p4ServiceAccounts": { - "description": "A list of P4 service accounts (go/p4sa) to provision or deprovision.", - "items": { - "$ref": "CloudAiPlatformTenantresourceServiceAccountIdentity" - }, - "type": "array" - }, - "tenantProjectResources": { - "description": "A list of tenant projects and tenant resources to provision or deprovision.", - "items": { - "$ref": "CloudAiPlatformTenantresourceTenantProjectResource" - }, - "type": "array" - } - }, - "type": "object" - }, - "CloudAiPlatformTenantresourceTenantServiceAccountIdentity": { - "description": "The identity of service accounts that have been explicitly created under tenant projects.", - "id": "CloudAiPlatformTenantresourceTenantServiceAccountIdentity", - "properties": { - "serviceAccountEmail": { - "description": "Output only. The email address of the generated service account.", - "type": "string" - }, - "serviceName": { - "description": "Input/Output [Required]. The service that the service account belongs to. (e.g. cloudbuild.googleapis.com for GCB service accounts)", - "type": "string" - } - }, - "type": "object" - }, - "CommerceDatastoreDeepTag": { - "description": "The basic message that contains a single decision output of go/deeptagger.", - "id": "CommerceDatastoreDeepTag", - "properties": { - "confidence": { - "description": "The confidence of the tag, encoded to 14 bits (range [0, 16383]). Due to modeling details, a large number of tags become trustworthy with confidence greater than 0.001, so two bytes of precision are required.", - "format": "uint32", - "type": "integer" - }, - "tag": { - "description": "A Deep Tag enum in uint32 form.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "CommerceDatastoreImageDeepTags": { - "description": "Image-level deep tags: essentially equivalent to the proto above but containing tags that are computed at the image level. These image signals are maintained by the Visual Shopping team (visual-shopping@). *** If you do use the signals, please add an entry in go/ShoppingImageAttributeClients to be notified for model upgrade. *** We recommend our clients against using the raw confidence value directly. Instead, the clients should use the library, cs/ads/shopping/visual/deeptags/public/single_tag.h and cs/ads/shopping/visual/deeptags/public/single_scored_tag.h to specify an operating point in terms of precision or recall. See the following code example: http://google3/shopping/visual/explore_looks/looks_offline_pipeline.cc?l=268\u0026rcl=304165166 *** `model_outputs` is a repeated field. Please check `version` to get the model you desire to use, instead of indexing the model_outputs directly e.g. model_outputs(0). We will remove the old versions in the future and this will lead to incorrect model. *** Models: As of Q2 2020, we have two models running within Shopping: model one only has the overlay tag, which we are deprecating, and model two has the tags specified in go/VisualShoppingImageAttributes.", - "id": "CommerceDatastoreImageDeepTags", - "properties": { - "modelOutputs": { - "description": "The set of outputs for a series of model versions. The size of this field should not extend beyond 4 at any time: two versions for slow-update track dependencies, and two versions for fast-update track dependencies.", - "items": { - "$ref": "CommerceDatastoreImageDeepTagsModelOutput" - }, - "type": "array" - } - }, - "type": "object" - }, - "CommerceDatastoreImageDeepTagsModelOutput": { - "id": "CommerceDatastoreImageDeepTagsModelOutput", - "properties": { - "backgroundType": { - "$ref": "CommerceDatastoreDeepTag" - }, - "collage": { - "$ref": "CommerceDatastoreDeepTag" - }, - "cropping": { - "$ref": "CommerceDatastoreDeepTag", - "description": "We are looking to deploy a model for the Ads team to identify images with bad cropping. The model will be for Ads only and we will not populate the cropping field in CDS." - }, - "modelType": { - "$ref": "CommerceDatastoreDeepTag" - }, - "nfs": { - "$ref": "CommerceDatastoreDeepTag", - "description": "Tag corresponds to the shopping non-family safe (nfs) image signal." - }, - "objectCount": { - "$ref": "CommerceDatastoreDeepTag" - }, - "overlay": { - "$ref": "CommerceDatastoreDeepTag", - "description": "Tag corresponding to unwanted text overlay (watermarks, logos, promotional elements, artifacts, etc)." - }, - "selfie": { - "$ref": "CommerceDatastoreDeepTag" - }, - "textOverlay": { - "deprecated": true, - "description": "Tag corresponding to the text overlay classifier (watermarks, logos, promotional elements, artifacts, etc).", - "items": { - "$ref": "CommerceDatastoreDeepTag" - }, - "type": "array" - }, - "version": { - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "CompositeDoc": { - "description": "Protocol record used for collecting together all information about a document. Please consult go/dj-explorer for two basic questions about `CompositeDoc`: - Where should I look up certain information (e.g: pagerank, language)? - What does each field in CompositeDoc mean and who should I contact if I have questions? To add a new field into CompositeDoc, or change existing field's size significantly, please file a ticket at go/dj-new-field, fill in necessary information and get approved by docjoin-access@ team. Next id: 194", - "id": "CompositeDoc", - "properties": { - "ContentChecksum96": { - "description": "Visible content checksum as computed by repository::parsehandler::checksum::Checksum96bitsParseHandler. The value is a Fprint96 in \"key format\" (i.e., by Fprint96::AsKey()).", - "format": "byte", - "type": "string" - }, - "accessRequirements": { - "$ref": "IndexingPrivacyAccessAccessRequirements", - "description": "Contains necessary information to enforce row level Docjoin access control." - }, - "additionalchecksums": { - "$ref": "CompositeDocAdditionalChecksums" - }, - "alternatename": { - "items": { - "$ref": "CompositeDocAlternateName" - }, - "type": "array" - }, - "anchorStats": { - "$ref": "IndexingDocjoinerAnchorStatistics", - "description": "Mark as non-personal since it's an aggregation of anchors. For more details of Search personal data, see go/dma52-search-cdoc-fields." - }, - "anchors": { - "$ref": "Anchors", - "description": "Mark as non-personal since no personal fields will be populated in `anchors.link_additional_info` and `anchors.additional_info`. For more details of Search personal data, see go/dma52-search-cdoc-fields." - }, - "badSslCertificate": { - "$ref": "IndexingBadSSLCertificate", - "description": "This field is present iff the page has a bad SSL certificate itself or in its redirect chain." - }, - "cseId": { - "items": { - "$ref": "QualityProseCSEUrlInfo" - }, - "type": "array" - }, - "csePagerankCutoff": { - "description": "URL should only be selected for CSE Index if it's pagerank is higher than cse_pagerank_cutoff.", - "format": "int32", - "type": "integer" - }, - "dataVersion": { - "$ref": "IndexingDocjoinerDataVersion", - "description": "Contains the tracking version of various data fields in CompositeDoc." - }, - "doc": { - "$ref": "GDocumentBase" - }, - "docAttachments": { - "$ref": "Proto2BridgeMessageSet", - "description": "A generic container to hold document annotations and signals. For a full list of extensions live today, see go/wde." - }, - "docImages": { - "description": "Info about \"selected\" images associated with the document for which we (already) have ImageData. For each image URL, some fixed number of documents are selected as web referrers for the image URL, and within those selected documents, we say the image is \"selected\". Within the remaining documents, we say the image is \"rejected\". Note that this distinction is slightly different from selected for indexing. Only images within doc_images where is_indexed_by_imagesearch is true will be selected for indexing. You can find the rejected images at composite_doc.doc_attachments().get(). You can find images that are selected, but for which we have no ImageData (yet) at composite_doc.image_indexing_info().selected_not_indexed_image_link()", - "items": { - "$ref": "ImageData" - }, - "type": "array" - }, - "docVideos": { - "description": "Info about videos embedded in the document.", - "items": { - "$ref": "ImageRepositoryVideoProperties" - }, - "type": "array" - }, - "docinfoPassthroughAttachments": { - "$ref": "Proto2BridgeMessageSet", - "description": "This message set is used for data pushed into the index using the signals framework that is never to be used in Mustang or TG Continuum scoring/snippeting code. Any protocol buffer stored in this message set is automatically returned in a docinfo response - it ends up in the \"info\" message set in the WWWSnippetResponse, so it can be used in post-doc twiddlers and for display in GWS with no code changes in Mustang or Teragoogle." - }, - "docjoinsOnSpannerCommitTimestampMicros": { - "description": "The commit timestamp of a CDoc update to Docjoins on Spanner.", - "format": "int64", - "type": "string" - }, - "embeddedContentInfo": { - "$ref": "IndexingEmbeddedContentEmbeddedContentInfo", - "description": "Data produced by the embedded-content system. This is a thin message, containing only embedded_links_info data for the embedder and JavaScript/CSS embedded links (the embedded-content bigtable also contains snapshots, compressed document trees and all embedded link types). Provided using the index signal API." - }, - "extradup": { - "items": { - "$ref": "CompositeDocExtraDup" - }, - "type": "array" - }, - "forwardingdup": { - "items": { - "$ref": "CompositeDocForwardingDup" - }, - "type": "array" - }, - "includedcontent": { - "items": { - "$ref": "CompositeDocIncludedContent" - }, - "type": "array" - }, - "indexingIntermediate": { - "description": "Serialized indexing intermediate data.", - "format": "byte", - "type": "string" - }, - "indexinginfo": { - "$ref": "CompositeDocIndexingInfo" - }, - "labelData": { - "$ref": "QualityLabelsGoogleLabelData", - "description": "This field associates a document to particular labels and assigns confidence values to them." - }, - "liveexperimentinfo": { - "$ref": "CompositeDocLiveExperimentInfo" - }, - "localinfo": { - "$ref": "LocalWWWInfo" - }, - "localizedAlternateName": { - "description": "Localized alternate names are similar to alternate names, except that it is associated with a language different from its canonical. This is the subset of webmaster-provided localized alternate names being in the dup cluster of this document. Used during serving for swapping in the URL based on regional and language preferences of the user.", - "items": { - "$ref": "IndexingConverterLocalizedAlternateName" - }, - "type": "array" - }, - "localizedvariations": { - "$ref": "CompositeDocLocalizedVariations" - }, - "partialUpdateInfo": { - "$ref": "CompositeDocPartialUpdateInfo", - "description": "Only present in partial cdocs." - }, - "perDocData": { - "$ref": "PerDocData" - }, - "porninfo": { - "$ref": "ClassifierPornDocumentData", - "description": "Porn related data used for image and web search porn classification as well as for diagnostics purposes." - }, - "properties": { - "$ref": "DocProperties" - }, - "ptoken": { - "$ref": "PtokenPToken", - "description": "Contains information necessary to perform policy decision on the usage of the data assosiated with this cdoc." - }, - "qualitysignals": { - "$ref": "CompositeDocQualitySignals" - }, - "registrationinfo": { - "$ref": "RegistrationInfo", - "description": "Information about the most recent creation and expiration of this domain. It's extracted from domainedge signal." - }, - "richcontentData": { - "$ref": "IndexingConverterRichContentData", - "description": "If present, indicates that some content was inserted, deleted, or replaced in the document's content (in CompositeDoc::doc::Content::Representation), and stores information about what was inserted, deleted, or replaced." - }, - "richsnippet": { - "$ref": "RichsnippetsPageMap", - "description": "rich snippet extracted from the content of a document." - }, - "robotsinfolist": { - "$ref": "CompositeDocRobotsInfoList" - }, - "scaledIndyRank": { - "description": "to copy to per-doc", - "format": "int32", - "type": "integer" - }, - "sitemap": { - "$ref": "Sitemap", - "description": "Sitelinks: a collection of interesting links a user might be interested in, given they are interested in this document. WARNING: this is different from the crawler Sitemaps (see SitemapsSignals in the attachments)." - }, - "storageRowTimestampMicros": { - "description": "Row timestamp in CDoc storage.", - "format": "int64", - "type": "string" - }, - "subindexid": { - "items": { - "enum": [ - "LTG_CANDIDATE", - "NOSUBINDEX", - "BASE", - "CSEINDEX_EXTENDED", - "DAILY", - "TIMBIT_PROTECTED", - "LANDFILL1", - "LANDFILL2", - "LANDFILL3", - "LANDFILL_BLOGSEARCH", - "LANDFILL_SOCIAL", - "INSTANT", - "UNIFIED_LANDFILL", - "BLOGSEARCH_DYNAMIC_ASSIMILATED", - "BLOGSEARCH_EXTENDED", - "MOFFETT", - "UNSELECTED_DOCUMENTS", - "AQUARIUS", - "WEBSEARCH_FRESH", - "WEBSEARCH1", - "WEBSEARCH2", - "WEBSEARCH3", - "UNIFIED_ZEPPELIN_HIGH_QUALITY", - "ASIANREGIONAL", - "EMEAREGIONAL", - "CSEINDEX", - "BASEREGIONAL", - "BLACKHOLE", - "XBASE", - "FRESHBASE", - "XASIANREGIONAL", - "XEMEAREGIONAL", - "XBASEREGIONAL", - "BLIMPIE", - "BLIMPIEPP", - "GOODYEAR", - "GOODYEARPP", - "QUASAR", - "ZEPPELIN1", - "ZEPPELIN2", - "ZEPPELIN3", - "ZEPPELIN_STAGING", - "PULSAR", - "TIMBIT", - "LANDFILL_CSE", - "UNIFIED_ZEPPELIN" - ], - "enumDescriptions": [ - "ltg-candidate is a label for docs whose selection decision is deferred to ltg by Alexandria. It does not correspond to any serving corpus.", - "", - "", - "Custom Search Engine extended corpus to catch all CSE urls not indexed in unified zeppelin or higher tiers.", - "", - "timbit_protected is a label for keeping docs from dropping out of base, i.e., all timbit protected docs belong to base/basextended.", - "Generic corpora used in Oscar.", - "", - "", - "Blogsearch special purpose corpus for Oscar.", - "Social special purpose corpus for Oscar.", - "", - "One big landfill index for Union.", - "Alexandria version of Blogsearch Assimilated.", - "Blogsearch corpus for all docs not indexed in unified zeppelin or higher.", - "Moffett corpus for all docs indexed in base and unified zeppelin.", - "Unselected documents corpus used for index-selection eval tools.", - "Aquarius corpus which is used to hold all app-only documents. go/aquarius", - "Corpus corresponding to serving corpus websearch_fresh.", - "Corpus corresponding to serving corpus websearch_1.", - "Corpus corresponding to serving corpus websearch_2.", - "Corpus corresponding to serving corpus websearch_3.", - "Top quality documents in unified zeppelin", - "Deprecated corpora.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "syntacticDate": { - "$ref": "QualityTimebasedSyntacticDate" - }, - "url": { - "description": "WARNING!!! \"url\" field in CompositeDoc is optional, and is usually missing: e.g., Docjoin CompositeDoc's don't have CompositeDoc::url. has_url() checking is often useful. So don't rely on CompositeDoc::url unless you're sure otherwise. Usually you want to use CompositeDoc::doc::url instead.", - "type": "string" - }, - "urldate": { - "description": "Date in the url extracted by quality/snippets/urldate/date-in-url.cc This is given as midnight GMT on the date in question.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "CompositeDocAdditionalChecksums": { - "description": "Additional checksums of the document.", - "id": "CompositeDocAdditionalChecksums", - "properties": { - "NoTransientChecksum96": { - "description": "Same as ContentChecksum96 but without transient boilerplate.", - "format": "byte", - "type": "string" - }, - "SimHash": { - "deprecated": true, - "description": "Deprecated. Use simhash_v2 and simhash_v2_significance instead.", - "format": "uint64", - "type": "string" - }, - "SimHashIsTrusted": { - "deprecated": true, - "type": "boolean" - }, - "simhashV2": { - "description": "Simhash-v2 is generated by SimHashParseHandler, designed as a complete replacement of simhash-v1 (a.k.a. the original simhash above) from ApproxDupsParseHandler. Simhash-v2 uses a revised algorithm so that it is expected to work better in most cases than simhash-v1. They coexist in current transition period, then simhash-v1 will be retired.", - "format": "uint64", - "type": "string" - }, - "simhashV2Significance": { - "description": "Simhash-v2-significance is used to describe the confidence about the corresponding simhash-v2 value. It is defined as the average absolute difference from zero of all internal state components when finalizing a simhash-v2 value in HashMultiSetDotCauchy. We used to compare the significance against some pre-defined threshold (default: 20) to get a boolean value \"trusted_simhash_v2\". However, it is possible that this field is missing while \"simhash_v2\" is present, in such case (1) Use \"SimHashIsTrusted\" instead if it is present, AND/OR (2) Assume \"simhash_v2\" is trusted if its value is non-zero.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "CompositeDocAlternateName": { - "description": "Alternate names are some urls that we would like to associate with documents in addition to canonicals. Sometimes we may want to serve these alternatenames instead of canonicals. Alternames in CompositeDoc should come from WebMirror pipeline.", - "id": "CompositeDocAlternateName", - "properties": { - "Url": { - "type": "string" - }, - "UrlEncoding": { - "description": "See webutil/urlencoding", - "format": "int32", - "type": "integer" - }, - "ecnFp": { - "description": "Fp96 of webmirror equivalence class as of last time this was exported.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "CompositeDocExtraDup": { - "description": "The top non-forwarding dups of the canonical url.", - "id": "CompositeDocExtraDup", - "properties": { - "ecnFp": { - "description": "Fp96 of webmirror equivalence class as of last time this was exported.", - "format": "byte", - "type": "string" - }, - "url": { - "description": "The url of the non-forwarding dup.", - "type": "string" - } - }, - "type": "object" - }, - "CompositeDocForwardingDup": { - "description": "The top forwarding dups of the canonical url. (note: it may actually include some dups that are NOT used for forwarding data but for making \"info:\" complete)", - "id": "CompositeDocForwardingDup", - "properties": { - "ecn": { - "description": "The name of the url's webmirror equivalence class.", - "format": "byte", - "type": "string" - }, - "ecnFp": { - "format": "byte", - "type": "string" - }, - "purposes": { - "description": "The purpose(s) of the forwarding dup indicating if it is used for forwarding signal/anchors generally, or only for forwarding some specific signal (e.g. navboost), or for some other purposes (e.g., not for forwarding any data but for making \"info:\" complete). See indexing/dups/public/dups.h for more details.", - "format": "int32", - "type": "integer" - }, - "rawPagerank": { - "description": "Raw pagerank of the url.", - "format": "int32", - "type": "integer" - }, - "repid": { - "description": "The webmirror repid of the forwarding dup.", - "format": "byte", - "type": "string" - }, - "url": { - "description": "The url of the forwarding dup.", - "type": "string" - }, - "urlencoding": { - "description": "The encoding of the url (see webutil/urlencoding for details).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "CompositeDocIncludedContent": { - "id": "CompositeDocIncludedContent", - "properties": { - "SourceTypeBitfield": { - "description": "Indicate how this content came to be included. Legal values are constructed by bitwise-OR-ing values from the included_content::SourceType enum. Default SourceTypeBitfield = included_content::INCLUDED_FRAME", - "format": "int64", - "type": "string" - }, - "includedDoc": { - "$ref": "GDocumentBase" - }, - "linkUrl": { - "type": "string" - }, - "perDocData": { - "$ref": "PerDocData" - }, - "properties": { - "$ref": "DocProperties" - } - }, - "type": "object" - }, - "CompositeDocIndexingInfo": { - "description": "Contains information *mostly* used within indexing (e.g. not used for building the production serving shards). Most of this data is generated only in Alexandria, however there are exceptions.", - "id": "CompositeDocIndexingInfo", - "properties": { - "cdocBuildInfo": { - "$ref": "IndexingDocjoinerCDocBuildInfo", - "description": "To hold extra info for building a final cdoc from raw cdoc and goldmine annotations." - }, - "contentProtected": { - "description": "Whether current page is under content protection, i.e. a page has been crawled as an error page, but we preserve its last known good content and keep its crawl_status as converter.CrawlStatus::CONTENT.", - "type": "boolean" - }, - "convertToRobotedReason": { - "description": "If set, indicates that the crawl status was converted to ROBOTED for the reason specified by the enum value in converter.RobotedReasons.ConvertToRobotedReasons. See indexing/converter/proto/converter.proto for details. If unset, then the document was not converted to roboted, and if the document crawl status is ROBOTED, then the document is disallowed (at least to Google) in robots.txt.", - "format": "int32", - "type": "integer" - }, - "crawlStatus": { - "description": "One of the enum values in converter.CrawlStatus.State (see indexing/converter/proto/converter.proto for details). Default is converter.CrawlStatus::CONTENT. The document is roboted if the value is converter.CrawlStatus::ROBOTED.", - "format": "int32", - "type": "integer" - }, - "demotionTags": { - "items": { - "enum": [ - "DEMOTION_TYPE_NONE", - "DEMOTION_TYPE_BADURLS_DEMOTE" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "errorType": { - "description": "One of the enum values in converter.ErrorPageType (see indexing/converter/proto/error-page-detector-enum.proto for detail). Default is converter::ERROR_PAGE_NONE.", - "format": "int32", - "type": "integer" - }, - "freshdocsCorpora": { - "items": { - "enum": [ - "WEB", - "REALTIME", - "CSE", - "CSE_PREMIUM", - "BUSTER_IMAGES", - "NEWS", - "VIDEO", - "YOUTUBE", - "WEB_INSTANT", - "WEB_DAILY", - "CACHE_COLON" - ], - "enumDescriptions": [ - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "A table with just the bodysource attachment" - ], - "type": "string" - }, - "type": "array" - }, - "hostid": { - "description": "The host id of the document. Used chiefly to determine whether the document is part of a parked domain.", - "format": "uint64", - "type": "string" - }, - "ieIdentifier": { - "description": "A short descriptive string to help identify the IE application or setup where this CDoc is generated. For example: websearch_m3 This field is for debuggability purposes.", - "type": "string" - }, - "imageIndexingInfo": { - "$ref": "ImageSearchImageIndexingInfo", - "description": "Indexing info about images (i.e. image links missing image data, etc)." - }, - "indexingTs": { - "description": "The timestamp (the time since the Epoch, in microseconds) when the docjoin is exported from indexing. The main purpose of this field is to identify different versions of the same document.", - "format": "int64", - "type": "string" - }, - "noLongerCanonicalTimestamp": { - "description": "If set, the timestamp in microseconds when the URL stopped being canonical. This should never be set for exported canonical documents. This field is used by dups during canonical flip, and by webmain when doc selection switched between desktop and mobile. Union respects this timestamp to prevent old doc being deleted until the new doc is picked up", - "format": "int64", - "type": "string" - }, - "normalizedClickScore": { - "description": "This score is calculated by re-mapping the back onto the partition's score distribution, such that the score represents the score of the equivalently ranked organically-selected document.", - "format": "float", - "type": "number" - }, - "primaryVertical": { - "description": "Vertical membership of the document. - `primary_vertical` is the vertical that initiated indexing of this document (or empty if the vertical was websearch). - `verticals` is the full list of verticals that contained this document (excluding websearch) at indexing time. `primary_vertical` may or may not be an element of `verticals` because of vertical membership skew between the ingestion time and indexing time. See go/one-indexing-for-web for more background.", - "type": "string" - }, - "rawNavboost": { - "description": "The raw navboost count for the canonical url without aggregating the navboost from dup urls. This field is used when building forwarding map.", - "format": "int32", - "type": "integer" - }, - "rowTimestamp": { - "description": "The timestamp (the time since the Epoch, in microseconds) to represent doc version, which is used in the downstream processing after Raffia. If it's not set, indexing_ts will be used as row_timestamp. The timestamp is generally set by reprocessing to set slightly newer indexing_ts such that the system can respect the reprocessed version to overwrite old data in storage.", - "format": "int64", - "type": "string" - }, - "selectionTierRank": { - "description": "Selection tier rank is a language normalized score ranging from 0-1 over the serving tier (Base, Zeppelins, Landfills) for this document.", - "format": "float", - "type": "number" - }, - "tracingId": { - "description": "The tracing ids is to label the version of url for url status tracking. This repeated field will carry at most 10 tracing id. See more details in go/rich-tracing-design There will be less than 2% base+uz cdocs carrying this field. The major sources of tracing ids include: * Indexing API pushed urls * Index Metrics sampling urls The tracing ids will be written into cdocs by Webmain Ramifier. The consumer of the tracing ids is Union serving notification collector see more at go/serving-notification-from-union", - "items": { - "type": "string" - }, - "type": "array" - }, - "urlChangerate": { - "$ref": "CrawlerChangerateUrlChangerate", - "description": "Changerate information for this doc (see crawler/changerate/changerate.proto for details)." - }, - "urlHistory": { - "$ref": "CrawlerChangerateUrlHistory", - "description": "Url change history for this doc (see crawler/changerate/changerate.proto for details). Note if a doc has more than 20 changes, we only keep the last 20 changes here to avoid adding to much data in its docjoin." - }, - "urlPatternSignals": { - "$ref": "IndexingSignalAggregatorUrlPatternSignals", - "description": "UrlPatternSignals for this doc, used to compute document score in LTG (see indexing/signal_aggregator/proto/signal-aggregator.proto for details)." - }, - "verticals": { - "items": { - "type": "string" - }, - "type": "array" - }, - "videoIndexingInfo": { - "$ref": "ImageRepositoryVideoIndexingInfo", - "description": "Indexing info about videos." - } - }, - "type": "object" - }, - "CompositeDocLiveExperimentInfo": { - "description": "Contains information needed for end-to-end live experiments. For a cdoc generated by production pipeline, it includes experiment IDs that have selected current document. For a cdoc generated by experiment pipeline, it includes current experiment ID.", - "id": "CompositeDocLiveExperimentInfo", - "properties": { - "perLiveExperimentInfo": { - "description": "List of necessary information for each live experiments.", - "items": { - "$ref": "CompositeDocLiveExperimentInfoPerLiveExperimentInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "CompositeDocLiveExperimentInfoPerLiveExperimentInfo": { - "description": "Contains information for a live experiment.", - "id": "CompositeDocLiveExperimentInfoPerLiveExperimentInfo", - "properties": { - "experimentId": { - "description": "ID of a live experiment.", - "type": "string" - }, - "partialCdoc": { - "$ref": "CompositeDoc", - "description": "Partial CDoc for a live experiment." - } - }, - "type": "object" - }, - "CompositeDocLocalizedVariations": { - "id": "CompositeDocLocalizedVariations", - "properties": { - "dupsComputedAlternateNames": { - "description": "A subset of computed variations, only the members which are dups to the main url. Used during serving for swapping in the URL based on regional and language preferences of the user.", - "items": { - "$ref": "IndexingDupsComputedLocalizedAlternateNamesLocaleEntry" - }, - "type": "array" - }, - "webmasterAlternateNames": { - "description": "All localized alternate names provided by the webmaster (canonical and dups, indexed and not-indexed). Used on the ranking side for swapping out results based on the webmaster preference.", - "items": { - "$ref": "IndexingConverterLocalizedAlternateName" - }, - "type": "array" - } - }, - "type": "object" - }, - "CompositeDocPartialUpdateInfo": { - "description": "Contains information about the partial updates present in a partial CompositeDoc.", - "id": "CompositeDocPartialUpdateInfo", - "properties": { - "goldmineAnnotatorNames": { - "description": "List of goldmine annotator updates present in the enclosing partial cdoc.", - "items": { - "type": "string" - }, - "type": "array" - }, - "imagesSignalNames": { - "description": "List of images signal updates present in the enclosing partial cdoc. Images signal name for a images signal is the unique name for the signal according to SignalSpec.", - "items": { - "type": "string" - }, - "type": "array" - }, - "lastFullIndexingInfo": { - "description": "Contains last full indexing information for partial updates.", - "items": { - "$ref": "CompositeDocPartialUpdateInfoLastFullIndexingInfo" - }, - "type": "array" - }, - "shouldLookupDocjoinsTier": { - "description": "Which tier we should do cdoc lookup to merge partial cdocs. This uses the integer value of indexing.selection.CorpusId. NOT intended for other usage.", - "format": "int32", - "type": "integer" - }, - "shouldLookupDocjoinsVerticalCorpus": { - "description": "Which vertical docjoin corpus we should do cdoc lookup to merge partial cdocs. This uses the string value of table name in google3/indexing/docjoins/spanner/schema/global_tables_data.sdl. For example, Voce and ShortVideo. NOT intended for other usage.", - "type": "string" - }, - "signalNames": { - "description": "List of signal updates present in the enclosing partial cdoc. Signal name for a signal is unique name for the signal according to SignalSpec.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CompositeDocPartialUpdateInfoLastFullIndexingInfo": { - "description": "Last full indexing information for the partial CDoc.", - "id": "CompositeDocPartialUpdateInfoLastFullIndexingInfo", - "properties": { - "corpus": { - "description": "The corpus of last full updates.", - "enum": [ - "RAFFIA_WEBSEARCH", - "RAFFIA_FASTPATH_DAILY", - "RAFFIA_FASTPATH_INSTANT", - "DOCJOINS" - ], - "enumDescriptions": [ - "Base Raffia corpora", - "Fastpath Raffia corpora", - "", - "Docjoins repository" - ], - "type": "string" - }, - "lastFullIndexingTsMicros": { - "description": "Last full update indexing timestamp in microseconds.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "CompositeDocQualitySignals": { - "description": "Note: This is a misleading name as of 2022/10/14. The field is still set and has meaningful data, but no longer holds quality signals. All the data are freshness-related and they're not particularly sensitive.", - "id": "CompositeDocQualitySignals", - "properties": { - "lastSignificantUpdate": { - "$ref": "QualityTimebasedLastSignificantUpdate", - "description": "Contains a date used for the \"Date Last Modified\" toolbelt restrict mode. Note: this date is a combined date and is different from the pure shingle-based signal stored in contentage.last_significant_update field." - }, - "pagetype": { - "$ref": "QualityTimebasedPageType" - } - }, - "type": "object" - }, - "CompositeDocRobotsInfoList": { - "description": "List of robots info parsed for the user-agents other than the default used to crawl this page.", - "id": "CompositeDocRobotsInfoList", - "properties": { - "newsRobotsInfo": { - "$ref": "IndexingConverterRobotsInfo" - } - }, - "type": "object" - }, - "CompressedQualitySignals": { - "description": "A message containing per doc signals that are compressed and included in Mustang and TeraGoogle. For TeraGoogle, this message is included in perdocdata which means it can be used in preliminary scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving memory (Flash storage) for a huge number of documents. Next id: 44", - "id": "CompressedQualitySignals", - "properties": { - "anchorMismatchDemotion": { - "description": "anchor_mismatch_demotion: converted from QualityBoost.mismatched.boost.", - "format": "uint32", - "type": "integer" - }, - "authorityPromotion": { - "description": "authority promotion: converted from QualityBoost.authority.boost", - "format": "uint32", - "type": "integer" - }, - "babyPandaDemotion": { - "description": "baby_panda_demotion: converted from QualityBoost.rendered.boost.", - "format": "uint32", - "type": "integer" - }, - "babyPandaV2Demotion": { - "description": "New BabyPanda demotion, applied on top of Panda. This is meant to replace |baby_panda_demotion|.", - "format": "uint32", - "type": "integer" - }, - "crapsAbsoluteHostSignals": { - "description": "Impressions, unsquashed, host level, not to be used with compressed ratios. Not to be used in Pattern Data.", - "format": "uint32", - "type": "integer" - }, - "crapsNewHostSignals": { - "format": "uint64", - "type": "string" - }, - "crapsNewPatternSignals": { - "format": "uint64", - "type": "string" - }, - "crapsNewUrlSignals": { - "description": "For craps_[url|pattern]_signals, please avoid accessing these fields directly, even in minor ways like checking has_craps_*. Instead, please use methods from quality/navboost/craps/craps-lossy-compression.h or talk to craps-team@.", - "format": "uint64", - "type": "string" - }, - "crapsUnscaledIpPriorBadFraction": { - "format": "uint32", - "type": "integer" - }, - "exactMatchDomainDemotion": { - "description": "Page quality signals converted from fields in proto QualityBoost in quality/q2/proto/quality-boost.proto. To save indexing space, we convert the float values in [0, 1] to integers in range [0, 1023] (use 10 bits). exact_match_domain_demotion: converted from QualityBoost.emd.boost.", - "format": "uint32", - "type": "integer" - }, - "experimentalNsrTeamData": { - "$ref": "QualityNsrExperimentalNsrTeamData", - "deprecated": true, - "description": "This field is *not* propagated to shards, but it's populated at serving time by go/web-signal-joins (see b/207344056). See go/0DayLEs for details. This is only meant to be used during LEs, it should *not* be used for launches." - }, - "experimentalNsrTeamWsjData": { - "description": "This field is *not* propagated to shards, but it's populated at serving time by go/web-signal-joins (see b/207344056). See go/0DayLEs for details. This is only meant to be used during LEs, it should *not* be used for launches.", - "items": { - "$ref": "QualityNsrExperimentalNsrTeamWSJData" - }, - "type": "array" - }, - "experimentalQstarDeltaSignal": { - "description": "This field is *not* propagated to shards. It is meant to be populated at serving time using one of the versions present in the `experimental_nsr_team_wsj_data` field above (using the `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). The purpose of this field is to be read by an experimental Q* component, in order to quickly run LEs with new delta components. See go/0DayLEs for details.", - "format": "float", - "type": "number" - }, - "experimentalQstarSignal": { - "description": "This field is *not* propagated to shards. It is meant to be populated at serving time using one of the versions present in the `experimental_nsr_team_wsj_data` field above (using the `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). The purpose of this field is to be read by an experimental Q* component, in order to quickly run LEs with new components. See go/0DayLEs for details.", - "format": "float", - "type": "number" - }, - "experimentalQstarSiteSignal": { - "description": "This field is *not* propagated to shards. It is meant to be populated at serving time using one of the versions present in the `experimental_nsr_team_wsj_data` field above (using the `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). The purpose of this field is to be read by an experimental Q* component, in order to quickly run LEs with new site components. See go/0DayLEs for details.", - "format": "float", - "type": "number" - }, - "experimentalWebHealthSignal": { - "description": "This field is *not* propagated to shards. It is meant to be populated at serving time using one of the versions present in the `experimental_nsr_team_wsj_data` field above (using the `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). The purpose of this field is to be read by an experimental W* component, in order to quickly run LEs with new signals. See go/0DayLEs for details.", - "format": "float", - "type": "number" - }, - "lowQuality": { - "description": "S2V low quality score: converted from quality_nsr.NsrData, applied in Qstar. See quality_nsr::util::ConvertNsrDataToLowQuality.", - "format": "uint32", - "type": "integer" - }, - "navDemotion": { - "description": "nav_demotion: converted from QualityBoost.nav_demoted.boost.", - "format": "uint32", - "type": "integer" - }, - "nsrConfidence": { - "deprecated": true, - "description": "NSR confidence score: converted from quality_nsr.NsrData. This field is deprecated - use nsr_variance inside nsr_data_proto instead.", - "format": "uint32", - "type": "integer" - }, - "nsrOverrideBid": { - "deprecated": true, - "description": "NSR override bid, used in Q* for emergency overrides. This field is deprecated - used the equivalent field inside nsr_data_proto instead.", - "format": "float", - "type": "number" - }, - "nsrVersionedData": { - "deprecated": true, - "description": "Versioned NSR score to be used in continuous evaluation of the upcoming NSR version and assess quality impact on various slices. This field is deprecated - used the equivalent field inside nsr_data_proto instead.", - "items": { - "$ref": "NSRVersionedItem" - }, - "type": "array" - }, - "pairwiseqScoringData": { - "$ref": "PairwiseQScoringData", - "deprecated": true, - "description": "Deprecated and unused field." - }, - "pairwiseqVersionedData": { - "description": "Versioned PairwiseQ score to be used in continuous evaluation of the upcoming PairwiseQ versions and assess quality impact on various slices.", - "items": { - "$ref": "PairwiseQVersionedItem" - }, - "type": "array" - }, - "pandaDemotion": { - "description": "This is the encoding of Panda fields in the proto SiteQualityFeatures in quality/q2/proto/site_quality_features.proto. The encoding/decoding is performed using functions from quality_coati::coati_util.", - "format": "uint32", - "type": "integer" - }, - "pqData": { - "description": "Encoded page-level PQ signals.", - "format": "uint32", - "type": "integer" - }, - "pqDataProto": { - "$ref": "QualityNsrPQData", - "description": "Stripped page-level signals, not present in the encoded field 'pq_data'." - }, - "productReviewPDemotePage": { - "format": "uint32", - "type": "integer" - }, - "productReviewPDemoteSite": { - "description": "Product review demotion/promotion confidences. (Times 1000 and floored)", - "format": "uint32", - "type": "integer" - }, - "productReviewPPromotePage": { - "deprecated": true, - "format": "uint32", - "type": "integer" - }, - "productReviewPPromoteSite": { - "deprecated": true, - "format": "uint32", - "type": "integer" - }, - "productReviewPReviewPage": { - "description": "Fields product_review_p_review_page and product_review_p_uhq_page are for promoting/demoting HQ/LQ review pages in NGS. See go/pr-boosts for details. The possibility of a page being a review page.", - "format": "uint32", - "type": "integer" - }, - "productReviewPUhqPage": { - "description": "The possibility of a page being a high quality review page.", - "format": "uint32", - "type": "integer" - }, - "scamness": { - "description": "Scam model score. Used as one of the web page quality qstar signals. Value range from 0 to 1023.", - "format": "uint32", - "type": "integer" - }, - "serpDemotion": { - "description": "serp demotion: applied in Qstar.", - "format": "uint32", - "type": "integer" - }, - "siteAuthority": { - "description": "site_authority: converted from quality_nsr.SiteAuthority, applied in Qstar.", - "format": "uint32", - "type": "integer" - }, - "topicEmbeddingsVersionedData": { - "description": "Versioned TopicEmbeddings data to be populated later into superroot / used directly in scorers.", - "items": { - "$ref": "QualityAuthorityTopicEmbeddingsVersionedItem" - }, - "type": "array" - }, - "ugcDiscussionEffortScore": { - "description": "UGC page quality signals. (Times 1000 and floored)", - "format": "uint32", - "type": "integer" - }, - "unauthoritativeScore": { - "description": "Unauthoritative score. Used as one of the web page quality qstar signals.", - "format": "uint32", - "type": "integer" - }, - "vlqNsr": { - "deprecated": true, - "description": "NSR for low-quality videos, converted from quality_nsr.NsrData.vlq_nsr. This field is deprecated - used the equivalent field inside nsr_data_proto instead.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "ConceptsConceptId": { - "id": "ConceptsConceptId", - "properties": { - "conceptId": { - "type": "string" - }, - "id": { - "deprecated": true, - "description": "uint64 bring lots of issues, and string a better practice.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "ContentAttributions": { - "description": "The following protobuf is used to store an attribution from one page to (usually) one other page, giving credit for the content. This information is used during ranking to promote the attributed page. This protobuf is copied from a quality_contra::SelectedAttribution. See //quality/contra/authorship/attribution and https://qwiki.corp.google.com/display/Q/ContentTrackingContentAttribution.", - "id": "ContentAttributions", - "properties": { - "freshdocsOutgoing": { - "description": "Selected outgoing attributions extracted on FreshDocs.", - "items": { - "$ref": "ContentAttributionsOutgoingAttribution" - }, - "type": "array" - }, - "offlineOutgoing": { - "description": "Selected outgoing attributions extracted via offline MR jobs.", - "items": { - "$ref": "ContentAttributionsOutgoingAttribution" - }, - "type": "array" - }, - "onlineOutgoing": { - "description": "Selected outgoing attributions extracted online on Alexandria.", - "items": { - "$ref": "ContentAttributionsOutgoingAttribution" - }, - "type": "array" - } - }, - "type": "object" - }, - "ContentAttributionsOutgoingAttribution": { - "description": "This is a copy of quality_contra::SelectedAttribution::SelectedInfo. The url is converted to docid and other fields are copied directly.", - "id": "ContentAttributionsOutgoingAttribution", - "properties": { - "bestEvidenceType": { - "enum": [ - "PAGE_LINK_TO", - "SITE_LINK_TO", - "SITE_OTHER_PAGE_LINK_TO", - "ORG_OTHER_SITE_LINK_TO", - "ORG_OTHER_PAGE_LINK_TO", - "SITE_SCORE_BASED", - "LOW_CONFIDENCE_LINK_TO", - "ANCHOR_ATTRIBUTION_TO", - "SITE_NAME_MENTION", - "SITE_NAME_MENTION_KEYWORDED", - "EVIDENCE_TYPE_END" - ], - "enumDescriptions": [ - "Direct link to page in question.", - "Link to the site of the page in question: Example: \"\u003ca href=\"http://cnn.com\u003e\" or \"source: cnn.com\" for the page \"http://cnn.com/news/13\"", - "Link to some *other* page on the site of the page in question: Example: \"\u003ca href=\"http://cnn.com/news/14\u003e\" for the page \"http://cnn.com/news/13\"", - "Direct link to some *site* with the same OrgName. Example: \"\u003ca href=\"http://cnn.co.uk/\u003e\" for the page \"http://cnn.com/news/13\"", - "Link to some page on a site with the same OrgName. Example: \"\u003ca href=\"http://cnn.co.uk/schmoo/14\u003e\" for the page \"http://cnn.com/news/13\"", - "Fake link which is created based on site scores to propagate offline clustering data.", - "Link with low confidence score. Is used for online clustering only.", - "Anchor to page in question.", - "A mention of the site name in the text.", - "A mention of the site name with citation keyword in front of it.", - "" - ], - "type": "string" - }, - "docid": { - "format": "uint64", - "type": "string" - }, - "properties": { - "format": "uint32", - "type": "integer" - }, - "usableForClustering": { - "type": "boolean" - } - }, - "type": "object" - }, - "ContentAwareCropsIndexing": { - "id": "ContentAwareCropsIndexing", - "properties": { - "mustangBytes": { - "description": "Compact representation for Mustang storage. See image/search/utils/packed_crops.h for details on the packing format.", - "format": "byte", - "type": "string" - }, - "mustangBytesVersion": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "CopleyLexicalMetadata": { - "description": "Contains lexical metadata for a given reference. For example, this proto will be used to store locale-specific Lexical mids for contact relationships (e.g. /g/11gv0vypg4 is the mid for mother in english and /g/11gmy_gv87 is for mother in french) as an extension to QRefAnnotation::other_metadata, when available.", - "id": "CopleyLexicalMetadata", - "properties": { - "canonicalLexicalMid": { - "description": "Mid for an entity that has lexical data (a LexiconEntry). See https://g3doc.corp.google.com/nlp/generation/g3doc/lexical_data.md for for more information about lexical data. This is the canonical mid for this entity (eg. it would be for \"mother\" in EN even if user referred to \"mom\").", - "type": "string" - } - }, - "type": "object" - }, - "CopleyPersonalReference": { - "description": "Represents a reference made by a user that refers to some personal entity.", - "id": "CopleyPersonalReference", - "properties": { - "personalReferenceType": { - "description": "The manner in which the entity was referenced (e.g. \"my hotel\", \"the airport\").", - "enum": [ - "PERSONAL_UNKNOWN_REFERENCE", - "PERSONAL_HOTEL_REFERENCE", - "PERSONAL_HOTEL_BOOKING_AGENT_REFERENCE", - "PERSONAL_RESTAURANT_REFERENCE", - "PERSONAL_RESTAURANT_BOOKING_AGENT_REFERENCE", - "PERSONAL_PARKING_REFERENCE", - "PERSONAL_FLIGHT_REFERENCE", - "PERSONAL_GENERIC_SOCIAL_EVENT_REFERENCE", - "PERSONAL_CONCERT_REFERENCE", - "PERSONAL_SPORTS_REFERENCE", - "PERSONAL_MOVIE_REFERENCE", - "PERSONAL_TOUR_REFERENCE", - "PERSONAL_HOME_REFERENCE", - "PERSONAL_WORK_REFERENCE", - "PERSONAL_MAPS_ALIAS_REFERENCE", - "PERSONAL_CONTACT_REFERENCE", - "PERSONAL_CONTACT_PERSON_REFERENCE", - "PERSONAL_CONTACT_LOCATION_REFERENCE", - "PERSONAL_FAMILY_MEMBER_REFERENCE", - "PERSONAL_CONTACT_BIRTHDAY_REFERENCE", - "PERSONAL_CONTACT_ADDRESS_REFERENCE", - "PERSONAL_RELATIONSHIP_REFERENCE", - "PERSONAL_RELATIONSHIP_PERSON_REFERENCE", - "PERSONAL_RELATIONSHIP_LOCATION_REFERENCE", - "PERSONAL_MEMORABLE_DATE_REFERENCE", - "PERSONAL_MEMORY_ANNIVERSARY_DATE_REFERENCE", - "PERSONAL_MEMORY_PAYDAY_DATE_REFERENCE", - "PERSONAL_MEMORY_WEDDING_DATE_REFERENCE", - "PERSONAL_MEMORY_BIRTHDAY_DATE_REFERENCE", - "PERSONAL_MEMORY_EXAM_DATE_REFERENCE", - "PERSONAL_MEMORY_MATHEXAM_DATE_REFERENCE", - "PERSONAL_MEMORY_OILCHANGE_DATE_REFERENCE", - "PERSONAL_MEMORY_GRADUATION_DATE_REFERENCE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "CopleyPersonalReferenceMetadata": { - "description": "General message used to store metadata about references to personal entities, even if those entities cannot be resolved.", - "id": "CopleyPersonalReferenceMetadata", - "properties": { - "referenceScore": { - "description": "The strength of the personal reference. For example \"my flight\" may receive a high reference_score, whereas \"the airport\" may receive a low score.", - "format": "float", - "type": "number" - }, - "references": { - "description": "A list of all references made. Empty if no personal references exist. Multiple references can be present when multiple references were made in a single query, or the type of reference was ambiguous.", - "items": { - "$ref": "CopleyPersonalReference" - }, - "type": "array" - }, - "subreferenceMetadata": { - "$ref": "CopleySubreferenceMetadata", - "description": "Subreference metadata for all compound references on this span." - } - }, - "type": "object" - }, - "CopleySourceTypeList": { - "id": "CopleySourceTypeList", - "properties": { - "sourceTypeMetadata": { - "items": { - "$ref": "CopleySourceTypeMetadata" - }, - "type": "array" - } - }, - "type": "object" - }, - "CopleySourceTypeMetadata": { - "description": "Contains the source and type information related to a personal entity, for example if it's an hotel or a restaurant (type) and if it comes from gmail, calendar, etc. (source). Next ID: 13", - "id": "CopleySourceTypeMetadata", - "properties": { - "contactAnnotationId": { - "description": "Annotation ID of a contact annotation, e.g. a relationship set via Assistant. This ID is generated by People Write Server. It is used to delete Contact Annotations via People API.", - "type": "string" - }, - "displayableName": { - "type": "string" - }, - "emailIdentifier": { - "description": "Only used if personal_data_provenance == PERSONAL_SOURCE_GMAIL. Used to create a link to the source email in the form: mail.google.com/mail/u/0/?extsrc=sync\u0026client=h\u0026plid={email_identifier}", - "type": "string" - }, - "eventId": { - "$ref": "EventIdMessage", - "description": "Populated for some footprints data sources; uniquely identifies the footprint that generated the personal data that this provenance is attached to." - }, - "localDiscoverySettingsMetadata": { - "$ref": "PersonalizationSettingsApiProtoLocalDiscoveryLocalDiscoverySettingsMetadata" - }, - "personalDataProvenance": { - "enum": [ - "PERSONAL_SOURCE_UNKNOWN", - "PERSONAL_SOURCE_GMAIL", - "PERSONAL_SOURCE_CALENDAR", - "PERSONAL_SOURCE_MAPS_ALIAS", - "PERSONAL_SOURCE_FOCUS", - "PERSONAL_SOURCE_FOCUS_CONSISTENT", - "PERSONAL_SOURCE_FOCUS_TOP_N_CONTACTS", - "PERSONAL_SOURCE_ASSISTANT_CONTACT_AFFINITY", - "PERSONAL_SOURCE_ASSISTANT_MEMORY", - "PERSONAL_SOURCE_PWS", - "PERSONAL_SOURCE_HOUSEHOLD", - "PERSONAL_SOURCE_HULK_PLACES", - "PERSONAL_SOURCE_FOCUS_OWNER", - "PERSONAL_SOURCE_WHITEPAGES", - "PERSONAL_SOURCE_ASSISTANT_DEVICES", - "PERSONAL_SOURCE_TEACH_LEARN", - "PERSONAL_SOURCE_GELLER_ANSWERS", - "PERSONAL_SOURCE_LAMS_SETTINGS", - "PERSONAL_SOURCE_GAIA", - "PERSONAL_SOURCE_XTALK", - "PERSONAL_SOURCE_MOVIE_DIALOG", - "PERSONAL_SOURCE_MEDIA_HABITUAL_CACHE", - "PERSONAL_SOURCE_PERSONAL_TOPICSERVER", - "PERSONAL_SOURCE_PHOTO_LABELS", - "PERSONAL_SOURCE_PEOPLE_API", - "PERSONAL_SOURCE_CONTEXT_API", - "PERSONAL_SOURCE_MUSIC_PREFERRED_PROVIDER", - "PERSONAL_SOURCE_STASH", - "PERSONAL_SOURCE_SMART_HOME_DEVICES", - "PERSONAL_SOURCE_DEVICE_STATES", - "PERSONAL_SOURCE_HANDBAG_PERSONALIZED_WEBREF_ENTITIES", - "PERSONAL_GRAPH_PEOPLE_SIGNAL_POST_PROCESSING", - "PERSONAL_SOURCE_PERSONALIZED_PRONUNCIATIONS", - "PERSONAL_SOURCE_DEVICE_INSTALLED_APPS", - "PERSONAL_SOURCE_CONTACT_AGGREGATED_DATA", - "PERSONAL_SOURCE_DYNAMIC_ENTITY_INDEX", - "PERSONAL_SOURCE_STADIA", - "PERSONAL_SOURCE_COMMUNAL_GROUP", - "PERSONAL_SOURCE_LOCATION_SHARING", - "PERSONAL_SOURCE_MAPS_SEARCH", - "PERSONAL_SOURCE_MEDIA_USER_CONTEXT_INFO", - "PERSONAL_SOURCE_MEDIA_USER_ENTITIES", - "PERSONAL_SOURCE_DEVICE_SIGNED_IN_ACCOUNTS", - "PERSONAL_SOURCE_ASSISTANT_USER_PROFILES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "A subset of the user's Focus and device contacts from Starlight. As of 11/2020, this subset includes: starred contacts, relationships, and contacts with attributes (birthday, address, etc.) set via Assistant. Only requests Starlight's base model.", - "Same as PERSONAL_SOURCE_FOCUS, but additionally includes photos labels (face clusters, albums, locations) from Starlight. Requires Starlight's fresh model (go/starlight-freshness) for more consistent results. Use with caution: May fail to return any data if the fresh model is not loaded in time.", - "User's top n(~200) contacts returned by Starlight. Starlight uses various signals and sources to prepare a list of top n contacts for a given user.", - "User's contact affinities read from Footprint's assistant_contact_affinity corpus.", - "", - "", - "", - "", - "", - "", - "Reads from the ASSISTANT_DEVICE_SETTINGS", - "", - "", - "", - "", - "", - "", - "", - "", - "The user's photo labels from Starlight.", - "The current user's data from the people API. This includes the user's profile image.", - "", - "", - "", - "The user's SmartHome devices from AutomationService. This includes user's devices, rooms and structures.", - "The user's devices states from DeviceStatesService. For example, if the device is playing music and the name of the music if it is.", - "Personalized WebRef entity mids synced down to device (go/handbag).", - "For triples produced by postprocessing signals for people entities.", - "", - "The names of the user's installed apps on their Android phone.", - "", - "For triples directly served from Footprints Corpus DYNAMIC_ENTITY_INDEX. These are often smart home devices.", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "personalDataType": { - "enum": [ - "PERSONAL_UNKNOWN", - "PERSONAL_HOTEL", - "PERSONAL_RESTAURANT", - "PERSONAL_PARKING", - "PERSONAL_FLIGHT", - "PERSONAL_SOCIAL_EVENT", - "PERSONAL_MAPS_ALIAS", - "PERSONAL_CONTACT", - "PERSONAL_PROFILE", - "PERSONAL_BILL", - "PERSONAL_CAR_RENTAL", - "PERSONAL_GENERIC_EVENT", - "PERSONAL_TRAIN", - "PERSONAL_BUS", - "PERSONAL_TAXI", - "PERSONAL_FERRY", - "PERSONAL_PHONE_NUMBER", - "PERSONAL_DEVICE", - "PERSONAL_PREFERENCE", - "PERSONAL_DIETARY_RESTRICTION", - "PERSONAL_MEDIA_HABITUAL_CACHE", - "PERSONAL_NEWS_PREFERENCE", - "PERSONAL_FAVORITE", - "PERSONAL_GAMER_CONTACT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "provenanceCategory": { - "items": { - "enum": [ - "PROVENANCE_CATEGORY_UNKNOWN", - "CORE_APPS_DATA" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "sensitivity": { - "$ref": "KnowledgeAnswersSensitivitySensitivity", - "description": "Sensitivity applying to this copley annotation." - } - }, - "type": "object" - }, - "CopleySubreferenceMetadata": { - "description": "Represents the most compound resolved entities and most nested unresolved references for a span. Useful for punting.", - "id": "CopleySubreferenceMetadata", - "properties": { - "mostCompoundResolvedEntities": { - "description": "Resolved entities are sorted from highest resolution score to lowest.", - "items": { - "$ref": "CopleySubreferenceResolution" - }, - "type": "array" - }, - "mostNestedUnresolvedReference": { - "$ref": "CopleySubreferenceReference", - "description": "This is a merged representation of the compound reference having the most_compound_resolved_entities as an argument." - } - }, - "type": "object" - }, - "CopleySubreferenceReference": { - "description": "Represents a reference that may be part of a larger compound reference. For example, \"my brother's birthday\" will have a subreference that may have references for \"my brother\".", - "id": "CopleySubreferenceReference", - "properties": { - "personalReferenceTypes": { - "description": "Type of reference. There may be multiple for a single reference (e.g. relationship and contact).", - "items": { - "enum": [ - "PERSONAL_UNKNOWN_REFERENCE", - "PERSONAL_HOTEL_REFERENCE", - "PERSONAL_HOTEL_BOOKING_AGENT_REFERENCE", - "PERSONAL_RESTAURANT_REFERENCE", - "PERSONAL_RESTAURANT_BOOKING_AGENT_REFERENCE", - "PERSONAL_PARKING_REFERENCE", - "PERSONAL_FLIGHT_REFERENCE", - "PERSONAL_GENERIC_SOCIAL_EVENT_REFERENCE", - "PERSONAL_CONCERT_REFERENCE", - "PERSONAL_SPORTS_REFERENCE", - "PERSONAL_MOVIE_REFERENCE", - "PERSONAL_TOUR_REFERENCE", - "PERSONAL_HOME_REFERENCE", - "PERSONAL_WORK_REFERENCE", - "PERSONAL_MAPS_ALIAS_REFERENCE", - "PERSONAL_CONTACT_REFERENCE", - "PERSONAL_CONTACT_PERSON_REFERENCE", - "PERSONAL_CONTACT_LOCATION_REFERENCE", - "PERSONAL_FAMILY_MEMBER_REFERENCE", - "PERSONAL_CONTACT_BIRTHDAY_REFERENCE", - "PERSONAL_CONTACT_ADDRESS_REFERENCE", - "PERSONAL_RELATIONSHIP_REFERENCE", - "PERSONAL_RELATIONSHIP_PERSON_REFERENCE", - "PERSONAL_RELATIONSHIP_LOCATION_REFERENCE", - "PERSONAL_MEMORABLE_DATE_REFERENCE", - "PERSONAL_MEMORY_ANNIVERSARY_DATE_REFERENCE", - "PERSONAL_MEMORY_PAYDAY_DATE_REFERENCE", - "PERSONAL_MEMORY_WEDDING_DATE_REFERENCE", - "PERSONAL_MEMORY_BIRTHDAY_DATE_REFERENCE", - "PERSONAL_MEMORY_EXAM_DATE_REFERENCE", - "PERSONAL_MEMORY_MATHEXAM_DATE_REFERENCE", - "PERSONAL_MEMORY_OILCHANGE_DATE_REFERENCE", - "PERSONAL_MEMORY_GRADUATION_DATE_REFERENCE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "referenceScore": { - "description": "Highest reference score for any references merged in this span.", - "format": "float", - "type": "number" - }, - "relationshipLexicalInfo": { - "$ref": "CopleyLexicalMetadata", - "description": "Only set for unresolved relationship references and can be used to get the canonical word for the relationship (e.g. \"mother\") in TTS." - } - }, - "type": "object" - }, - "CopleySubreferenceResolution": { - "description": "Represents a resolution that may be part of a larger compound reference. For example, \"my brother's birthday\" will have a subreference that may have resolutions for \"my brother\".", - "id": "CopleySubreferenceResolution", - "properties": { - "mid": { - "description": "Can be used with PKG Service for looking up metadata about this entity at fulfillment/GenX time.", - "type": "string" - }, - "name": { - "description": "Name of the entity represented by this resolution.", - "type": "string" - }, - "resolutionScore": { - "description": "A resolution score of 0 indicates that it did not resolve to a real entity.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "CorpusSelectionInfo": { - "id": "CorpusSelectionInfo", - "properties": { - "corpus": { - "enum": [ - "UNKNOWN", - "LENS" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "corpusScore": { - "description": "Corpus specific score for an image", - "format": "float", - "type": "number" - }, - "isSelectedForIndexing": { - "description": "Whether an image was selected for indexing.", - "type": "boolean" - }, - "referrerDocid": { - "description": "Set of referrers indexed with the image.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "referrerUrls": { - "description": "Set of referrer urls indexed with the image.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "CountryClickDistribution": { - "id": "CountryClickDistribution", - "properties": { - "confidence": { - "description": "To store confidence in the distribution in cases when total is not set.", - "format": "double", - "type": "number" - }, - "item": { - "items": { - "$ref": "CountryClickDistributionItem" - }, - "type": "array" - }, - "total": { - "description": "To store total clicks on this page/domain.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "CountryClickDistributionItem": { - "id": "CountryClickDistributionItem", - "properties": { - "doubleValue": { - "format": "double", - "type": "number" - }, - "name": { - "type": "string" - }, - "value": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "CountryCountryAttachment": { - "description": "If you add new fields to this message, do not use any tag value less than the \"Next free tag\" below. The lower tag values might be missing in this file, but they were used in past for some field, so cannot be used again. Next free tag: 44", - "id": "CountryCountryAttachment", - "properties": { - "clickDistribution": { - "$ref": "CountryClickDistribution", - "description": "Store weighted click distribution for page level country-id classification." - }, - "countryidFromUgc": { - "description": "Is true if the country attachment was computed through the UGC pipeline.", - "type": "boolean" - }, - "debug": { - "description": "A non critical field to store debug info for a country attachment. Used in experiments and for debugging.", - "type": "string" - }, - "debugSourceUrl": { - "description": "Set to the signal source URLs when merging country signals in Alexandria during sitemoves. Essentially if sites A and B move to C, and we merge A and B's signal to C, in the countryattachment signal C will have URL A and B as source_url. Only used for debugging and it doesn't show up in docjoins.", - "items": { - "type": "string" - }, - "type": "array" - }, - "documentLocationSource": { - "description": "Specifies the origin of `geo_locations`. Right now, it can either come from deprecated Docloc system or the new Brainloc system when Docloc doesn't have sufficient evidence.", - "enum": [ - "UNSPECIFIED", - "DOCLOC", - "BRAINLOC", - "LOGLOC" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "existNextLevel": { - "type": "boolean" - }, - "fromLanguageFallback": { - "description": "Booleans to keep track of where the country-id of the page came from. These are used for debugging and/or unittests, and cleared in production.", - "type": "boolean" - }, - "fromRestricts": { - "type": "boolean" - }, - "fromSgDomains": { - "type": "boolean" - }, - "fromTld": { - "type": "boolean" - }, - "fromUgc": { - "type": "boolean" - }, - "fromUrlPattern": { - "type": "boolean" - }, - "fromWmx": { - "type": "boolean" - }, - "geoLocations": { - "$ref": "CountryGeoLocations", - "description": "New MetroID: Now called GeoLocations since the locations could be sublocalities, cities or states. GeoLocations are always more fine grained than country. TODO (jayeshv): Once new MetroID/GeoLocations is launched everywhere, deleted old MetroID related fields." - }, - "global": { - "type": "boolean" - }, - "isValidForCountryRestrict": { - "description": "Set to true if the local_countries field can be used for country restricts as well.", - "type": "boolean" - }, - "localCountries": { - "description": "two-letter(lower-case) countrycode, e.g. us countries that is local to", - "items": { - "type": "string" - }, - "type": "array" - }, - "localCountryCodes": { - "description": "Fields that actually store the country id in docjoins. The format of this data is defined in //i18n/identifiers/stableinternalregionconverter.cc. Converter defined there can be used to convert it to RegionCode format.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "metroIdList": { - "description": "Metro locations: list of NavBoost feature V2 associated with a doc, along with the enclosing province. Metro locations with new tags.", - "items": { - "$ref": "CountryMetroNBFeature" - }, - "type": "array" - }, - "metroLocationId": { - "description": "Metro level data. metro_location_id stores geotokens for metro restricts.", - "items": { - "type": "string" - }, - "type": "array" - }, - "metroNavboost": { - "description": "Metro navboost: list of (NavBoost feature V2, navboost float) pairs.", - "items": { - "$ref": "CountryMetroNBFeature" - }, - "type": "array" - }, - "provinceGeotokenList": { - "items": { - "$ref": "CountryProvinceGeotoken" - }, - "type": "array" - }, - "relatedCountries": { - "description": "two-letter(lower-case) countrycode, e.g. us countries that is related to, but not local to", - "items": { - "type": "string" - }, - "type": "array" - }, - "relatedCountryCodes": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "restrictCountries": { - "description": "List of two-letter(lower-case) countrycodes(e.g. us) valid for restricts. Typically cloned out of local_countries if is_valid_for_country_restrict is set to true.", - "items": { - "type": "string" - }, - "type": "array" - }, - "salientCountries": { - "description": "[Experimental]: Top salient countries for a doc. If a country can not be found on this field it can be considered that this doc is not relevant to it.", - "items": { - "$ref": "CountrySalientCountry" - }, - "type": "array" - }, - "salientCountrySet": { - "$ref": "QualitySalientCountriesSalientCountrySet" - }, - "sitename": { - "description": "Domain name of keys in filtering metro reducer class, used only by the intermediate mapreduces to produce filtered data.", - "type": "string" - }, - "superGlobal": { - "description": "Super global pages get lesser demotion than global pages. A document can only be either global or super_global but not both.", - "type": "boolean" - }, - "urlPatternBasedCountry": { - "format": "int32", - "type": "integer" - }, - "urlPatternBasedLanguage": { - "description": "Language and country extracted using the URL pattern map.", - "format": "int32", - "type": "integer" - }, - "userVisibleCountryFromLogs": { - "description": "This is used to store the visible country id computed from logs data", - "type": "string" - }, - "userVisibleLocalCountry": { - "description": "This is the country id we show to users on the result page. This is kept different from country demotion country id because we dont want to expose our backoff and url based detection algorithm - also we want to be ultra conservative in showing this.", - "format": "int32", - "type": "integer" - }, - "weightAboveIdealForLocalness": { - "description": "If result is global, store weight above ideal, as a confidence signal. Used in query localness, cleared in production CountryAttachment.", - "format": "double", - "type": "number" - }, - "wmxCountry": { - "description": "Country specified for a web-site through webmaster console.", - "type": "string" - } - }, - "type": "object" - }, - "CountryGeoLocation": { - "description": "Stores one location and all meta-data associated with that location.", - "id": "CountryGeoLocation", - "properties": { - "clickRadius50Percent": { - "description": "The radius (in miles) around the assigned location that the document gets 50% of its clicks.", - "format": "uint32", - "type": "integer" - }, - "confidence": { - "description": "Confidence on the location. Ranges in [0.0, 1.0]. Cleared during index creation.", - "format": "float", - "type": "number" - }, - "confidencePercent": { - "description": "Confidence mapped to [0, 100]. Converted to integer for efficient storage. Populated during index creation.", - "format": "uint32", - "type": "integer" - }, - "internalId": { - "description": "Used for compressed docloc data. In compressed data, instead of location_info, only an integer ID for that LocationInfo is stored. A separate lookup table is used to get full LocationInfo from the internal ID.", - "format": "int32", - "type": "integer" - }, - "locationInfo": { - "$ref": "CountryLocationInfo" - }, - "propagatedFromASubpage": { - "description": "True if this location is assigned to one of the subpages, and not to the page itself. If the total number of locations assigned to all the subpages of a page is small (usually up to 5), then that page also gets assigned those locations, and this flag is set for those locations.", - "type": "boolean" - } - }, - "type": "object" - }, - "CountryGeoLocations": { - "description": "List of locations assigned to a document.", - "id": "CountryGeoLocations", - "properties": { - "geoLocation": { - "items": { - "$ref": "CountryGeoLocation" - }, - "type": "array" - }, - "isNonLocationSpecific": { - "description": "This will be set to true for documents which receive several clicks but are not assigned any location because the click distribution is flat. Typical examples are global sites like facebook.com, chains like walmart.com, informational sites like wikipedia.org etc. This flag is not propagated to deeper pages since this signal is meant to indicate that a website or a part of website is conclusively non-local, so propagating this information to deeper pages does not make sense. If this flag is set, then the only possible geo_location will be the ones which are propagated_from_a_subpage.", - "type": "boolean" - }, - "propagationDepthFromParent": { - "description": "Depth of the URL from it's nearest parent in GeoLocation data. Webpages inherhit locations from their parent pages. For example, if foo.com/a is assigned location L1, and foo.com/a/b is not assigned any location, then http://www.foo.com/a/b inherits location L1 from it's nearest parent foo.com/a in GeoLocation data. This attribute is the distance from the nearest parent which is present in GeoLocation data. In this particular case, it will be 1.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "CountryLocationInfo": { - "description": "This represents one location.", - "id": "CountryLocationInfo", - "properties": { - "center": { - "$ref": "GeostorePointProto", - "description": "The latitude and longitude of the conceptual center of the location. For cities, this would be the center of the downtown, or maybe the location of city hall. For states and countries it might be the capital city. But there are no guarantees and this may be any random point inside the location." - }, - "city": { - "type": "string" - }, - "country": { - "description": "Human readable name hierarchy. Only the relevant fields will be present. For example for city GeoLocations, sub_locality field will not be present. Cleared during index creation.", - "type": "string" - }, - "county": { - "type": "string" - }, - "enclosingStateFeatureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "Oyster feature ID of the enclosing state. Cleared during index creation." - }, - "featureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "Oyster feature ID of the location. Cleared during index creation." - }, - "state": { - "type": "string" - }, - "stateIdFprint": { - "description": "32 bit fingerprint of the feature id of the state of this location. For cities and sub-localities it will be the enclosing state. For state locations, it will be fingerprint of the feture-id of the location itself. Populated during index creation.", - "format": "uint32", - "type": "integer" - }, - "subLocality": { - "type": "string" - }, - "type": { - "description": "Type of the location (sub-locality, city, state etc).", - "enum": [ - "TYPE_ANY", - "TYPE_TRANSPORTATION", - "TYPE_ROUTE", - "TYPE_DEPRECATED_HIGHWAY_DO_NOT_USE", - "TYPE_HIGHWAY", - "TYPE_HIGHWAY_1", - "TYPE_HIGHWAY_2", - "TYPE_HIGHWAY_3", - "TYPE_HIGHWAY_4", - "TYPE_HIGHWAY_5", - "TYPE_HIGHWAY_6", - "TYPE_HIGHWAY_7", - "TYPE_HIGHWAY_8", - "TYPE_HIGHWAY_9", - "TYPE_BICYCLE_ROUTE", - "TYPE_TRAIL", - "TYPE_SEGMENT", - "TYPE_ROAD", - "TYPE_RAILWAY", - "TYPE_STANDARD_TRACK", - "TYPE_JR_TRACK", - "TYPE_NARROW_TRACK", - "TYPE_MONORAIL_TRACK", - "TYPE_SUBWAY_TRACK", - "TYPE_LIGHT_RAIL_TRACK", - "TYPE_BROAD_TRACK", - "TYPE_HIGH_SPEED_RAIL", - "TYPE_TROLLEY_TRACK", - "TYPE_FERRY", - "TYPE_FERRY_BOAT", - "TYPE_FERRY_TRAIN", - "TYPE_VIRTUAL_SEGMENT", - "TYPE_INTERSECTION", - "TYPE_TRANSIT", - "TYPE_TRANSIT_STATION", - "TYPE_BUS_STATION", - "TYPE_TRAMWAY_STATION", - "TYPE_TRAIN_STATION", - "TYPE_SUBWAY_STATION", - "TYPE_FERRY_TERMINAL", - "TYPE_AIRPORT", - "TYPE_AIRPORT_CIVIL", - "TYPE_AIRPORT_MILITARY", - "TYPE_AIRPORT_MIXED", - "TYPE_HELIPORT", - "TYPE_SEAPLANE_BASE", - "TYPE_AIRSTRIP", - "TYPE_CABLE_CAR_STATION", - "TYPE_GONDOLA_LIFT_STATION", - "TYPE_FUNICULAR_STATION", - "TYPE_SPECIAL_STATION", - "TYPE_HORSE_CARRIAGE_STATION", - "TYPE_MONORAIL_STATION", - "TYPE_SEAPORT", - "TYPE_TRANSIT_STOP", - "TYPE_TRANSIT_TRIP", - "TYPE_TRANSIT_DEPARTURE", - "TYPE_TRANSIT_LEG", - "TYPE_TRANSIT_LINE", - "TYPE_TRANSIT_AGENCY_DEPRECATED_VALUE", - "TYPE_TRANSIT_TRANSFER", - "TYPE_SEGMENT_PATH", - "TYPE_ROAD_SIGN", - "TYPE_INTERSECTION_GROUP", - "TYPE_PATHWAY", - "TYPE_RESTRICTION_GROUP", - "TYPE_TOLL_CLUSTER", - "TYPE_POLITICAL", - "TYPE_COUNTRY", - "TYPE_ADMINISTRATIVE_AREA", - "TYPE_ADMINISTRATIVE_AREA1", - "TYPE_US_STATE", - "TYPE_GB_COUNTRY", - "TYPE_JP_TODOUFUKEN", - "TYPE_ADMINISTRATIVE_AREA2", - "TYPE_GB_FORMER_POSTAL_COUNTY", - "TYPE_GB_TRADITIONAL_COUNTY", - "TYPE_ADMINISTRATIVE_AREA3", - "TYPE_ADMINISTRATIVE_AREA4", - "TYPE_ADMINISTRATIVE_AREA5", - "TYPE_ADMINISTRATIVE_AREA6", - "TYPE_ADMINISTRATIVE_AREA7", - "TYPE_ADMINISTRATIVE_AREA8", - "TYPE_ADMINISTRATIVE_AREA9", - "TYPE_COLLOQUIAL_AREA", - "TYPE_RESERVATION", - "TYPE_LOCALITY", - "TYPE_GB_POST_TOWN", - "TYPE_JP_GUN", - "TYPE_JP_SHIKUCHOUSON", - "TYPE_JP_SUB_SHIKUCHOUSON", - "TYPE_COLLOQUIAL_CITY", - "TYPE_SUBLOCALITY", - "TYPE_US_BOROUGH", - "TYPE_GB_DEPENDENT_LOCALITY", - "TYPE_JP_OOAZA", - "TYPE_JP_KOAZA", - "TYPE_JP_GAIKU", - "TYPE_GB_DOUBLE_DEPENDENT_LOCALITY", - "TYPE_JP_CHIBAN", - "TYPE_JP_EDABAN", - "TYPE_SUBLOCALITY1", - "TYPE_SUBLOCALITY2", - "TYPE_SUBLOCALITY3", - "TYPE_SUBLOCALITY4", - "TYPE_SUBLOCALITY5", - "TYPE_NEIGHBORHOOD", - "TYPE_CONSTITUENCY", - "TYPE_DESIGNATED_MARKET_AREA", - "TYPE_SCHOOL_DISTRICT", - "TYPE_LAND_PARCEL", - "TYPE_DISPUTED_AREA", - "TYPE_POLICE_JURISDICTION", - "TYPE_STATISTICAL_AREA", - "TYPE_CONSTITUENCY_FUTURE", - "TYPE_PARK", - "TYPE_GOLF_COURSE", - "TYPE_LOCAL_PARK", - "TYPE_NATIONAL_PARK", - "TYPE_US_NATIONAL_PARK", - "TYPE_US_NATIONAL_MONUMENT", - "TYPE_NATIONAL_FOREST", - "TYPE_PROVINCIAL_PARK", - "TYPE_PROVINCIAL_FOREST", - "TYPE_CAMPGROUNDS", - "TYPE_HIKING_AREA", - "TYPE_BUSINESS", - "TYPE_GOVERNMENT", - "TYPE_BORDER_CROSSING", - "TYPE_CITY_HALL", - "TYPE_COURTHOUSE", - "TYPE_EMBASSY", - "TYPE_LIBRARY", - "TYPE_SCHOOL", - "TYPE_UNIVERSITY", - "TYPE_EMERGENCY", - "TYPE_HOSPITAL", - "TYPE_PHARMACY", - "TYPE_POLICE", - "TYPE_FIRE", - "TYPE_DOCTOR", - "TYPE_DENTIST", - "TYPE_VETERINARIAN", - "TYPE_TRAVEL_SERVICE", - "TYPE_LODGING", - "TYPE_RESTAURANT", - "TYPE_GAS_STATION", - "TYPE_PARKING", - "TYPE_POST_OFFICE", - "TYPE_REST_AREA", - "TYPE_CASH_MACHINE", - "TYPE_CAR_RENTAL", - "TYPE_CAR_REPAIR", - "TYPE_SHOPPING", - "TYPE_GROCERY", - "TYPE_TOURIST_DESTINATION", - "TYPE_ECO_TOURIST_DESTINATION", - "TYPE_BIRD_WATCHING", - "TYPE_FISHING", - "TYPE_HUNTING", - "TYPE_NATURE_RESERVE", - "TYPE_TEMPLE", - "TYPE_CHURCH", - "TYPE_GURUDWARA", - "TYPE_HINDU_TEMPLE", - "TYPE_MOSQUE", - "TYPE_SYNAGOGUE", - "TYPE_STADIUM", - "TYPE_BAR", - "TYPE_MOVIE_RENTAL", - "TYPE_COFFEE", - "TYPE_GOLF", - "TYPE_BANK", - "TYPE_DOODLE", - "TYPE_GROUNDS", - "TYPE_AIRPORT_GROUNDS", - "TYPE_BUILDING_GROUNDS", - "TYPE_CEMETERY", - "TYPE_HOSPITAL_GROUNDS", - "TYPE_INDUSTRIAL", - "TYPE_MILITARY", - "TYPE_SHOPPING_CENTER", - "TYPE_SPORTS_COMPLEX", - "TYPE_UNIVERSITY_GROUNDS", - "TYPE_DEPRECATED_TARMAC", - "TYPE_ENCLOSED_TRAFFIC_AREA", - "TYPE_PARKING_LOT", - "TYPE_PARKING_GARAGE", - "TYPE_OFF_ROAD_AREA", - "TYPE_BORDER", - "TYPE_BUILDING", - "TYPE_GEOCODED_ADDRESS", - "TYPE_NATURAL_FEATURE", - "TYPE_TERRAIN", - "TYPE_SAND", - "TYPE_BEACH", - "TYPE_DUNE", - "TYPE_ROCKY", - "TYPE_ICE", - "TYPE_GLACIER", - "TYPE_BUILT_UP_AREA", - "TYPE_VEGETATION", - "TYPE_SHRUBBERY", - "TYPE_WOODS", - "TYPE_AGRICULTURAL", - "TYPE_GRASSLAND", - "TYPE_TUNDRA", - "TYPE_DESERT", - "TYPE_SALT_FLAT", - "TYPE_WATER", - "TYPE_OCEAN", - "TYPE_BAY", - "TYPE_BIGHT", - "TYPE_LAGOON", - "TYPE_SEA", - "TYPE_STRAIT", - "TYPE_INLET", - "TYPE_FJORD", - "TYPE_LAKE", - "TYPE_SEASONAL_LAKE", - "TYPE_RESERVOIR", - "TYPE_POND", - "TYPE_RIVER", - "TYPE_RAPIDS", - "TYPE_DISTRIBUTARY", - "TYPE_CONFLUENCE", - "TYPE_WATERFALL", - "TYPE_SPRING", - "TYPE_GEYSER", - "TYPE_HOT_SPRING", - "TYPE_SEASONAL_RIVER", - "TYPE_WADI", - "TYPE_ESTUARY", - "TYPE_WETLAND", - "TYPE_WATER_NAVIGATION", - "TYPE_FORD", - "TYPE_CANAL", - "TYPE_HARBOR", - "TYPE_CHANNEL", - "TYPE_REEF", - "TYPE_REEF_FLAT", - "TYPE_REEF_GROWTH", - "TYPE_REEF_EXTENT", - "TYPE_REEF_ROCK_SUBMERGED", - "TYPE_IRRIGATION", - "TYPE_DAM", - "TYPE_DRINKING_WATER", - "TYPE_CURRENT", - "TYPE_WATERING_HOLE", - "TYPE_TECTONIC", - "TYPE_WATERING_HOLE_DEPRECATED", - "TYPE_VOLCANO", - "TYPE_LAVA_FIELD", - "TYPE_FISSURE", - "TYPE_FAULT", - "TYPE_LAND_MASS", - "TYPE_CONTINENT", - "TYPE_ISLAND", - "TYPE_ATOLL", - "TYPE_OCEAN_ROCK_EXPOSED", - "TYPE_CAY", - "TYPE_PENINSULA", - "TYPE_ISTHMUS", - "TYPE_ELEVATED", - "TYPE_PEAK", - "TYPE_NUNATAK", - "TYPE_SPUR", - "TYPE_PASS", - "TYPE_PLATEAU", - "TYPE_RIDGE", - "TYPE_RAVINE", - "TYPE_CRATER", - "TYPE_KARST", - "TYPE_CLIFF", - "TYPE_VISTA", - "TYPE_DIGITAL_ELEVATION_MODEL", - "TYPE_UPLAND", - "TYPE_TERRACE", - "TYPE_SLOPE", - "TYPE_CONTOUR_LINE", - "TYPE_PAN", - "TYPE_UNSTABLE_HILLSIDE", - "TYPE_MOUNTAIN_RANGE", - "TYPE_UNDERSEA", - "TYPE_SUBMARINE_SEAMOUNT", - "TYPE_SUBMARINE_RIDGE", - "TYPE_SUBMARINE_GAP", - "TYPE_SUBMARINE_PLATEAU", - "TYPE_SUBMARINE_DEEP", - "TYPE_SUBMARINE_VALLEY", - "TYPE_SUBMARINE_BASIN", - "TYPE_SUBMARINE_SLOPE", - "TYPE_SUBMARINE_CLIFF", - "TYPE_SUBMARINE_PLAIN", - "TYPE_SUBMARINE_FRACTURE_ZONE", - "TYPE_CAVE", - "TYPE_ROCK", - "TYPE_ARCHIPELAGO", - "TYPE_POSTAL", - "TYPE_POSTAL_CODE", - "TYPE_POSTAL_CODE_PREFIX", - "TYPE_PREMISE", - "TYPE_SUB_PREMISE", - "TYPE_SUITE", - "TYPE_POST_TOWN", - "TYPE_POSTAL_ROUND", - "TYPE_META_FEATURE", - "TYPE_DATA_SOURCE", - "TYPE_LOCALE", - "TYPE_TIMEZONE", - "TYPE_BUSINESS_CHAIN", - "TYPE_PHONE_NUMBER_PREFIX", - "TYPE_PHONE_NUMBER_AREA_CODE", - "TYPE_BUSINESS_CORRIDOR", - "TYPE_ADDRESS_TEMPLATE", - "TYPE_TRANSIT_AGENCY", - "TYPE_FUTURE_GEOMETRY", - "TYPE_EVENT", - "TYPE_EARTHQUAKE", - "TYPE_HURRICANE", - "TYPE_WEATHER_CONDITION", - "TYPE_TRANSIENT", - "TYPE_ENTRANCE", - "TYPE_CARTOGRAPHIC", - "TYPE_HIGH_TENSION", - "TYPE_SKI_TRAIL", - "TYPE_SKI_LIFT", - "TYPE_SKI_BOUNDARY", - "TYPE_WATERSHED_BOUNDARY", - "TYPE_TARMAC", - "TYPE_WALL", - "TYPE_PICNIC_AREA", - "TYPE_PLAY_GROUND", - "TYPE_TRAIL_HEAD", - "TYPE_GOLF_TEEING_GROUND", - "TYPE_GOLF_PUTTING_GREEN", - "TYPE_GOLF_ROUGH", - "TYPE_GOLF_SAND_BUNKER", - "TYPE_GOLF_FAIRWAY", - "TYPE_GOLF_HOLE", - "TYPE_DEPRECATED_GOLF_SHOP", - "TYPE_CAMPING_SITE", - "TYPE_DESIGNATED_BARBECUE_PIT", - "TYPE_DESIGNATED_COOKING_AREA", - "TYPE_CAMPFIRE_PIT", - "TYPE_WATER_FOUNTAIN", - "TYPE_LITTER_RECEPTACLE", - "TYPE_LOCKER_AREA", - "TYPE_ANIMAL_ENCLOSURE", - "TYPE_CARTOGRAPHIC_LINE", - "TYPE_ESTABLISHMENT", - "TYPE_ESTABLISHMENT_GROUNDS", - "TYPE_ESTABLISHMENT_BUILDING", - "TYPE_ESTABLISHMENT_POI", - "TYPE_ESTABLISHMENT_SERVICE", - "TYPE_CELESTIAL", - "TYPE_ROAD_MONITOR", - "TYPE_PUBLIC_SPACES_AND_MONUMENTS", - "TYPE_STATUE", - "TYPE_TOWN_SQUARE", - "TYPE_LEVEL", - "TYPE_COMPOUND", - "TYPE_COMPOUND_GROUNDS", - "TYPE_COMPOUND_BUILDING", - "TYPE_COMPOUND_SECTION", - "TYPE_TERMINAL_POINT", - "TYPE_REGULATED_AREA", - "TYPE_LOGICAL_BORDER", - "TYPE_GCONCEPT_ONLY", - "TYPE_DO_NOT_USE_RESERVED_TO_CATCH_GENERATED_FILES", - "TYPE_UNKNOWN" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - false, - true, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - true, - true, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ], - "enumDescriptions": [ - "ABSTRACT", - "ABSTRACT", - "A route is any section of road (or rails, etc.) that has a name. This includes city streets as well as highways. Road segments can belong to multiple routes (e.g. El Camino, CA-82).", - "DEPRECATED", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "A designated bicycle route, whose segments may consist of any combination of bicycle paths, bicycle lanes, or city streets.", - "A designated trail, which may consist of paved walkways, dirt paths, fire road, streets or highways, etc.", - "ABSTRACT", - "", - "Railroads use several different incompatible track types.", - "", - "", - "", - "", - "", - "", - "", - "", - "Tracks for streetcars, cable-cars, etc. Ferries are services that are part of the road network but are not roads. They typically involve fares and scheduled departure times.", - "ABSTRACT", - "The vast majority of ferries are ferry boats.", - "Also called a \"car transport\", a ferry train is a rail service that carries passengers and their vehicles across undrivable terrain. The Channel Tunnel (\"Chunnel\") is the most famous example, but they are also common in the Alps where they connect neighboring valleys otherwise separated by impassable mountains.", - "Any plausible 1-dimensional path through a 2+ dimensional space, for the purposes of making graph-search-based routing possible. Such segments can be used to model paths through parking lots, squares, floors of buildings and other areas.", - "An intersection consists of a collection of segments that terminate at the same location. This is topological definition: it may not match what a typical user would think of as an \"intersection\". See TYPE_INTERSECTION_GROUP, below, for more information. Each segment terminating at an intersection has an \"endpoint type\" that specifies how that segment is terminated: stop sign, yield sign, three-way light, etc.", - "ABSTRACT", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "A transit line is a collection of transit legs, associated with some invariant properties of the trips that run over the legs. See also transitline.proto", - "TYPE_TRANSIT_AGENCY was moved to 0xC91. This deprecated enum value still exists for debugging purposes only.", - "DEPRECATED", - "ABSTRACT", - "Road sign features have names, point geometry, etc. They also have segment_path data (see below) which lists the segments that refer to the sign. See segment.proto for the reference from the segment to the road sign.", - "Our TYPE_INTERSECTION feature, above, models the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an \"intersection\". Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. This TYPE_INTERSECTION_GROUP is used to model the user's concept of a complex intersection.", - "RESERVED", - "A restriction group describes a set of segment restrictions that belong together and have a name or an associated event. See also restriction_group.proto", - "DEPRECATED", - "ABSTRACT", - "", - "ABSTRACT", - "", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "e.g. Silicon Valley", - "A reservation is a region collectively held or governed by indigenous people and officially recognized by the country’s government at the federal or state level. A reservation may be fully contained within an administrative feature or partially contained within two or more. These regions are referred to by different categorical names depending on country and even by state, including but not limited to: “Indian Reservations”, “Indian Reserves”, “Land Claim Settlement Lands”, “Indian Lands”, “Treaty Lands”, “Indigenous Territories”, etc. A reservation is not a historic indigenous territory boundary or a region which has applied for land rights but has not yet received official recognition.", - "", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "An entity widely considered to be a city, that may itself be made up of smaller political entities, some of which are cities/towns/villages themselves. For example, the colloquial view of Sydney, Australia actually comprises many smaller cities, but is regarded as a city itself. This type is not suitable for modeling official metro-/micropolitan or other statistical areas.", - "ABSTRACT", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "Designated Market Areas (or DMAs) are used by marketing and ratings companies (such as the Nielsen Media Research company) to describe geographical regions (such as the greater New York metropolitan area) that are covered by a set of television stations. (See http://www.schooldata.com/pdfs/DMA.pdf) In the United States, DMAs should have a DMA numeric ID name, tagged with the FLAG_DESIGNATED_MARKET_AREA_ID flag.", - "", - "", - "Eventually we'll have more data for disputed areas (e.g., who makes claims on the area, who has de facto control, etc.). For the moment, we just define a type so we can simply mark areas as disputed.", - "Boundaries representing the jurisdiction of a particular police station.", - "An area used for aggregating statistical data, eg, a census region. Note that TYPE_STATISTICAL_AREA has a third nibble so we can add an abstract parent above it later if need be at 0x2E1 (and rename TYPE_STATISTICAL_AREA as TYPE_STATISTICAL_AREA1).", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "A line representing the boundary between two features. See border.proto for details.", - "DEPRECATED", - "An association of a point with an address, with no other information.", - "ABSTRACT", - "Expanses of land that share common surface attributes. These areas would look more or less uniform from a high altitude.", - "", - "", - "", - "", - "", - "", - "Terrain that looks populated.", - "Terrain that is covered in vegetation.", - "", - "", - "", - "", - "", - "", - "A flat expanse of salt left by the evaporation of a body of salt water.", - "Features can be TYPE_WATER if we don't have enough information to properly type the body of water. TYPE_WATER is also used as the type for child features that compose a TYPE_RIVER feature.", - "One of the large salt-water bodies that covers most of the globe.", - "An ocean subdivision formed by a coastal indentation. Includes coves and gulfs.", - "An open body of water formed by a slight coastal indentation.", - "", - "An ocean subdivision more or less confined by land and islands.", - "A long narrow ocean subdivision. Includes sounds.", - "", - "", - "An inland body of standing water.", - "A lake that dries up part of the year.", - "An artificial body of water, possibly created by a dam, often used for irrigation or house use.", - "", - "An inland body of moving water, or parts associated with it in which there is little or no current (backwater).", - "", - "A branch which flows away from the main river. Includes deltas.", - "A place where two or more rivers join.", - "", - "A place where ground water flows naturally out of the ground.", - "", - "", - "A river that dries up part of the year.", - "A dry riverbed that occasionally receives flashfloods.", - "A place at the end of a river where fresh and salt water mix. Includes tidal creeks and limans.", - "Land that is usually flooded. Includes bogs, marshes, flats, moors, and swamps.", - "", - "A shallow place where water may be waded through.", - "A narrow passage used by boats. Normally artificial.", - "A deep place near a shore where ships commonly drop anchor.", - "A deep part in a body of water that is suitable for navigation. Includes narrows.", - "Rocks, coral, sandbars, or other features beneath the surface of the water that pose a hazard to passing ships. Includes shoals.", - "A relatively shallow zone of the back reef located closest to the shore, that may be exposed at low tide.", - "A small section of rocks, coral, sandbars, or other features beneath the surface of the water that forms part of a reef.", - "The full extent of the reef complex.", - "A submerged rock in the water.", - "Man-made (and sometimes natural) channels used to move water. This type was used for both dam structures and water that is hold back by dams. We should use TYPE_COMPOUND_BUILDING for dam structures and TYPE_RESERVOIR for water.", - "DEPRECATED", - "", - "Includes overfalls.", - "A natural depression filled with water where animals come to drink.", - "This type is incorrectly under TYPE_TECTONIC instead of TYPE_WATER. This was a mistake and is now fixed. See TYPE_WATERING_HOLE for the replacement.", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "", - "An exposed rock in the water.", - "A small, low-elevation, sandy island formed on the surface of coral reefs", - "A stretch of land projecting into water. Includes capes and spits.", - "A strip of land connecting two larger land masses, such as continents.", - "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.", - "Elevations that have a distinctive peak.", - "A peak or ridge of a mountain that extends through a glacier.", - "A subsidiary peak of a mountain.", - "A route over an otherwise difficult to traverse feature. Includes saddle.", - "Elevations that are flat on top. Includes mesas and buttes.", - "A ridge is a geographical feature consisting of a chain of mountains or hills that form a continuous elevated crest with a single ridgeline for some distance.", - "Steep declines usually carved by erosion. Includes valleys, canyons, ditches, and gorges.", - "Depressions causes by impact, explosion, and sometimes sink-holes.", - "Topography formed on limestone and gypsum by dissolution with sinkholes, caves, etc.", - "A vertical or nearly vertical slope. Includes escarpments.", - "An elevated place that is notable for having a good view. Raster digital elevation data. This is not a type to be used by providers or consumed by clients.", - "RESERVED", - "Land along streams higher than the alluvial plain or stream terrace.", - "", - "Land not so steep as a cliff, but changing elevation. Includes slides.", - "All the points on the polygon are at the same elevation.", - "A near-level shallow, natural depression or basin, usually containing an intermittent lake, pond, or pool.", - "", - "A series of mountains or hills ranged in a line and connected by high ground. Mountain ranges usually consist of many smaller ridges. For example, the Himalayas, the Andes. the Alps, etc.", - "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.", - "includes peaks, ranges, and spurs", - "", - "includes saddles", - "", - "", - "includes trenches and troughs", - "", - "", - "", - "", - "", - "Don't use 0xA7. Use 8 bits for additional types under TYPE_NATURAL_FEATURE, so we don't run out of space. The following are miscellaneous natural features that don't fit any of the categories above.", - "", - "A feature representing a group or chain of islands. ", - "ABSTRACT", - "This is the type for postal codes which are complete and independent enough that there should be a feature for them (e.g. US 5-digit ZIP codes). For even more detailed suffixes that further subdivide a postal code (such as the +4 component in US ZIP codes), store the information in a TYPE_POSTAL_CODE_SUFFIX address component. When a range or set of postal codes share the same geographical area, e.g. because a precise subdivision does not exist or this subdivision is unknown, this type is used for each individual postal code.", - "A prefix portion of a postal code which does not meet the requirements for TYPE_POSTAL_CODE, but which is useful to search for, for example UK outcodes.", - "DEPRECATED", - "DEPRECATED This is deprecated and we want to use TYPE_COMPOUND_SECTION instead.", - "DEPRECATED", - "The term \"post town\" is used for a locality-like-entity that is only used for postal addresses.", - "DEPRECATED", - "ABSTRACT", - "Every data source used in constructing a data repository has a corresponding feature that provides more information about that data source. The extra information is stored in the optional data_source field below.", - "A locale feature provides region specific conventions such as preferred language and formatting details for time, date, and currency values. Locales aren't necessary defined by physical geographic features, so they are classified as meta-features.", - "A timezone feature is used to specify the region covering an international timezone. When a point is covered by multiple timezone features, the most specific one can be used to compute the local time at this point. Most specific implies a much smaller region or the one that is closer to the center. A feature's timezone can be specified in the repeated related_timezone field.", - "A business chain feature is used to represent a chain, e.g. Starbucks, McDonald's, etc. Other features representing specific stores/franchises of this chain may refer to one such feature via RELATION_MEMBER_OF_CHAIN. This is not strictly reserved to commercial chains but can also be used to model organizations such as the Red Cross or the United Nations.", - "A phone number prefix feature is used to specify the region where phone numbers (typically fixed-line numbers) must begin with a certain prefix. Any phone number prefix down to any level of granularity could be represented by this type.", - "A phone number area code is a prefix which also coincides with the area code, or national destination code, of a particular region.", - "A Business Corridor is a dense cluster of semantically similar establishments. TYPE_BUSINESS_CORRIDOR features are distinguished from TYPE_COLLOQUIAL_AREA features because the corridors are not under the political hierarchy, are allowed to be nameless, and may not correspond to well-known real world locations. For more details, see go/geo-corridors-schema.", - "An address template feature provides region-specific conventions for structuring addresses. These features aren't necessarily defined by physical geographic features, so they are classified as meta-features.", - "A transit agency operates a number of lines, typically all in the same city, region or country. See also transitagency.proto", - "A feature whose geometry is planned to replace the geometry on another feature.", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "RESERVED", - "A portal of entry or exit to another feature. Examples: - Subway station entrance. - Parking lot entrance.", - "Cartographic features are used to capture real-world objects for which there is no current desire to model any specific attributes. These are only useful to make the map tiles look pretty.", - "DEPRECATED", - "Also see skitrail.proto", - "Also see skilift.proto", - "Also see skiboundary.proto", - "", - "Starting with TYPE_TARMAC, we use longer IDs, so that we can expand the number of feature types under TYPE_CARTOGRAPHIC.", - "Use TYPE_COMPOUND_GROUND and appropriate gcids for the next two.", - "DEPRECATED", - "DEPRECATED", - "", - "Sub-types within a golf course.", - "", - "", - "", - "", - "Use TYPE_ESTABLISHMENT_POI and gcid:golf_shop for golf shops instead.", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "Subtype within a zoo - a cage or fenced-off or otherwise delineated area containing animals.", - "A line for a cartographic detail. For example the international date line. Such features should have polyline geometry.", - "ABSTRACT This type is being replaced by TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2", - "DEPRECATED This type has been replaced by TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds", - "DEPRECATED", - "An establishment that has a physical location. Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", - "NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", - "The root of types of features that are in the sky, rather than on the earth. There will eventually be a hierarchy of types here.", - "Features responsible for monitoring traffic on roads (usually for speed). Includes cameras at particular points as well as monitors that cover larger spans. Features of this type should have a corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera or gcid:speed_camera_zone). This type was originally named as TYPE_ROAD_CAMERA.", - "ABSTRACT", - "Note that this type does not distinguish the nature of the statue (religious, historical, memorial, tourist, ...).", - "Open space used for events, gathering, or as market-place.", - "A feature used to represent a logical level, e.g. floor.", - "ABSTRACT", - "e.g. campus, compound, parcel.", - "e.g. single family dwelling, office building.", - "e.g. suite, room, hallway, cubicle.", - "A terminal point represents a good location for a user to meet a taxi, ridesharing vehicle, or general driver.", - "An area controlled in some way by an authoritative source, such as a government-designated COVID containment zone or an area under government sanctions. Features of this type should have one or more gcids corresponding to their specific regulation, and client handling of these features may vary based on the type of regulation.", - "A grouping of TYPE_BORDER features (\"border segments\"), which together represent a border between two features of the same type.", - "A generic feature type for any geo-type that cannot be modeled under existing feature types. No new feature type should be created within feature proto after this type.", - "DEPRECATED", - "A feature of completely unknown type. This should only be used when absolutely necessary. One example in which this type is useful is in the Chinese importer, which must heuristically segment addresses into components - it often does not know what types to make those components. Please note that the Oyster address formatter does not currently support address components of TYPE_UNKNOWN well." - ], - "type": "string" - } - }, - "type": "object" - }, - "CountryMetroNBFeature": { - "description": "A metro feature, keyed by NavBoost feature id V2. This can be a metro id, a boost, or extended in the future to add probabilities or weights.", - "id": "CountryMetroNBFeature", - "properties": { - "enclosingProvinceGeotoken": { - "description": "The enclosing_province_geotoken is a 32 bit fingerprint of the state encosing the (metro) id. MetroId's can span multiple states. Enclosing geotoken is filled in with the state name for disambiguation. ProvinceGeotoken field is different as it indicates an \"interest\". Format: 32 bit fingerprint(__state__country).", - "format": "uint32", - "type": "integer" - }, - "id": { - "description": "A 32 bit navboost v2 feature id encoding (country, language, metro). NavBoosterUtils class (google3/quality/navboost/nav_booster_utils.h) provides functions to decode this feature.", - "format": "uint32", - "type": "integer" - }, - "navboost": { - "description": "This is the multiplier to apply to the result for this locale \u0026 query. NOTE: This is for serving purposes only and should not be populated in the index.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "CountryProvinceGeotoken": { - "description": "A 32 bit fingerprint of a state level geotoken. The geotoken is in the following format: __state__country. These indicate a page is of interest to these states/regions of a country. The use of message is to enable easy additions of probabilities or weights per metro id in the future.", - "id": "CountryProvinceGeotoken", - "properties": { - "geotoken": { - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "CountrySalientCountry": { - "description": "Salient Countries is an estimated probability (salience) of a doc to be relevant to a country. On this message, countries are represented as int32 (the format of this data is defined in i18n/identifiers/stableinternalregionconverter.cc). Salience is a value in range [0.0 - 1.0] in which 1.0 represents a high likelihood to be relevant to the country", - "id": "CountrySalientCountry", - "properties": { - "compressedSalience": { - "format": "uint32", - "type": "integer" - }, - "countryCode": { - "format": "int32", - "type": "integer" - }, - "salience": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "CrawlerChangerateMultipleComponentDistribution": { - "description": "Proto contains parameters for a multiple component distributions, where each component has non-negative weight and the sum of component weights is 1.", - "id": "CrawlerChangerateMultipleComponentDistribution", - "properties": { - "components": { - "items": { - "$ref": "CrawlerChangerateSingleComponentDistribution" - }, - "type": "array" - } - }, - "type": "object" - }, - "CrawlerChangerateSingleComponentDistribution": { - "description": "Proto contains parameters of a single component distribution.", - "id": "CrawlerChangerateSingleComponentDistribution", - "properties": { - "logScaling": { - "description": "Scaling factor to ensure the approximated posterior to have the same scale as the product of prior and likelihood. This value is used to compute posterior weights. Uses log scale to provide a wider range. This field is for internal use only.", - "format": "float", - "type": "number" - }, - "type": { - "description": "The type indicates the type of the distribution.", - "enum": [ - "LOG_GAMMA", - "INV_GAMMA", - "GAMMA", - "LOG_NORMAL" - ], - "enumDescriptions": [ - "Log-Gamma distribution, where it assumes the log of the values follow Gamma distribution. It uses extension gamma_params.", - "Inverse-Gamma distribution, where it assumes the inverse of values follow Gamma distribution. It uses extension gamma_params.", - "Gamma distribution. It uses extension gamma_params.", - "Log-Normal distribution. It uses extension log_normal_params." - ], - "type": "string" - }, - "weight": { - "description": "The weight is only used in multiple component scenarios.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "CrawlerChangerateUrlChange": { - "description": "NEXT_TAG: 13", - "id": "CrawlerChangerateUrlChange", - "properties": { - "additionalChangesMerged": { - "description": "Duplicate UrlChanges crawled within a specified time range will be merged together. UrlChanges are considered duplicates if the simhash, simhash_is_trusted, simhash_v2, simhash_v2_is_trusted, and shingle_simhash are the same. additional_changes_merged indiciates the number of duplicate UrlChanges merged into this UrlChange.", - "format": "int32", - "type": "integer" - }, - "fractionalTileChange": { - "deprecated": true, - "description": "Deprecated fields. The fraction of tiles (0 to 1) that changed.", - "format": "double", - "type": "number" - }, - "interval": { - "description": "The length in seconds of the change.", - "format": "int32", - "type": "integer" - }, - "offDomainLinksChange": { - "deprecated": true, - "description": "Whether the content of the off-domain links changed.", - "type": "boolean" - }, - "offDomainLinksCount": { - "deprecated": true, - "description": "The new count of off-domain links, if they changed.", - "format": "int32", - "type": "integer" - }, - "onDomainLinksCount": { - "deprecated": true, - "description": "The new count of on-domain links, if the count changed.", - "format": "int32", - "type": "integer" - }, - "onDomainLinksCountChange": { - "deprecated": true, - "description": "Whether the number of on-domain links changed.", - "type": "boolean" - }, - "shingleSimhash": { - "$ref": "IndexingConverterShingleFingerprint", - "description": "The old simhash value obtained from shingles." - }, - "simhash": { - "description": "The simhash-v1 value. Use of simhash-v1 is deprecated, and newer UrlChange should only contain simhash-v2. During this transition period, UrlChange can contain either simhash or simhash_v2. It is possible that previous UrlChange only contain simhash-v1 and the next UrlChange only contain simhash-v2. In this case, we skip that interval in our changerate computation. [go/changerate-simhash-v2-migration]", - "format": "uint64", - "type": "string" - }, - "simhashIsTrusted": { - "description": "Whether the simhash-v1 should be trusted.", - "type": "boolean" - }, - "simhashV2": { - "description": "The simhash-v2 value.", - "format": "uint64", - "type": "string" - }, - "simhashV2IsTrusted": { - "description": "Whether the simhash-v2 value should be trusted.", - "type": "boolean" - } - }, - "type": "object" - }, - "CrawlerChangerateUrlChangerate": { - "description": "The next available field number is 22. To access the best estimate of change period, please use GetChangePeriod in predict-change-rate.h to select between this and other change period estimates below.", - "id": "CrawlerChangerateUrlChangerate", - "properties": { - "approximatedPosterior": { - "$ref": "CrawlerChangerateMultipleComponentDistribution", - "description": "The approximated posterior distribution." - }, - "averageChangeSignificance": { - "description": "The \"significance\" of the average change we saw of this document (from 0 to 1). Influenced by content changes. This can be used for prioritizing the crawl (higher significance first).", - "format": "double", - "type": "number" - }, - "changeperiod": { - "description": "//////////////////////////////////////////////////////////////////////////// The classic changerate estimation. //////////////////////////////////////////////////////////////////////////// The classic estimate of change period (in seconds). It is computed by inserted a \"fake\" change and no-change interval as a prior distribution. This field is generally not used and should NOT be accessed directly. See above for correct method for determining the change period estimate.", - "format": "int32", - "type": "integer" - }, - "confidence": { - "description": "The confidence (between 0 and 1) in the changeperiod guess.", - "format": "double", - "type": "number" - }, - "globalBasedChangePeriod": { - "description": "//////////////////////////////////////////////////////////////////////////// The changerate estimation based on the global prior. //////////////////////////////////////////////////////////////////////////// The global-based changeperiod. This is our estimate (in seconds) for the average time between changes. It is computed using the new prior method based on global_based_prior_period and the global_based_prior_strength specified below. This is used for computing pattern priors. Use pattern_based_change_period or changeperiod fields for all other purposes.", - "format": "int32", - "type": "integer" - }, - "globalBasedChangePeriodConfidence": { - "description": "The 'confidence' of the global-based changeperiod. This is the n-th root of the posterior evaluated at MAP point, where n is the number of history intervals. For now, it is hard to interpret the meaning of the absolute values of 'average' posterior cross different sets of data.", - "format": "double", - "type": "number" - }, - "globalBasedPriorPeriod": { - "description": "The 2 parameters below specify the prior employed in calculating the global_based_change_period. These values are precomputed through an offline analysis and specified via flags.", - "format": "double", - "type": "number" - }, - "globalBasedPriorStrength": { - "format": "double", - "type": "number" - }, - "lastChangeSignificance": { - "description": "The \"significance\" of the last change we saw of this document (from 0 to 1). Influenced by content changes, etc. This can be used for prioritizing the crawl (higher significance first).", - "format": "double", - "type": "number" - }, - "lastChanged": { - "description": "The last time (unix timestamp) we saw a changed copy of the document. Provided iff we have seen the page change.", - "format": "int32", - "type": "integer" - }, - "lastFetched": { - "description": "The last time (unix timestamp) we saw a fetched copy of the document.", - "format": "int32", - "type": "integer" - }, - "numIntervals": { - "description": "The number of intervals we've seen for this document (where an interval is two different versions).", - "format": "int32", - "type": "integer" - }, - "patternBasedChangePeriod": { - "description": "//////////////////////////////////////////////////////////////////////////// The changerate estimation based on the pattern prior. //////////////////////////////////////////////////////////////////////////// The pattern-based changeperiod. This is our estimate (in seconds) for the average time between changes. It is calculated based on the pattern_based_prior_period and pattern_based_prior_strength below. This quantity will eventually replace the old changeperiod calculation.", - "format": "int32", - "type": "integer" - }, - "patternBasedChangePeriodConfidence": { - "description": "The same as global_based_change_period_confidence, except it is computed using pattern based priors.", - "format": "double", - "type": "number" - }, - "patternBasedLowerChangePeriod": { - "description": "The lower edge of a confidence interval for the pattern-based change period.", - "format": "int32", - "type": "integer" - }, - "patternBasedPriorPeriod": { - "description": "The 2 parameters below specify the prior employed in calculating the pattern_based_change_period. These values are calculated in a separate process and looked up based on the URL pattern.", - "format": "double", - "type": "number" - }, - "patternBasedPriorStrength": { - "format": "double", - "type": "number" - }, - "patternChangePeriodVersion": { - "description": "The version number of the algorithm, refer to ChangePeriodVersion for more information.", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "//////////////////////////////////////////////////////////////////////////// Basic information of a document. //////////////////////////////////////////////////////////////////////////// The type of the document determined by crawl histories, refer to TYPE for more information.", - "format": "int32", - "type": "integer" - }, - "ugcChangePeriod": { - "description": "//////////////////////////////////////////////////////////////////////////// The UGC changerate estimation. //////////////////////////////////////////////////////////////////////////// Information on change period generated from user generated content (UGC) change history.", - "format": "int32", - "type": "integer" - }, - "ugcChangePeriodConfidence": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "CrawlerChangerateUrlHistory": { - "id": "CrawlerChangerateUrlHistory", - "properties": { - "change": { - "description": "All the changes we've seen for this URL.", - "items": { - "$ref": "CrawlerChangerateUrlChange" - }, - "type": "array" - }, - "latestVersion": { - "$ref": "CrawlerChangerateUrlVersion", - "description": "The latest version we've seen." - }, - "url": { - "description": "This field in only set in 'url_history' column of Union repository to avoid having to read CompositeDocs.", - "type": "string" - } - }, - "type": "object" - }, - "CrawlerChangerateUrlVersion": { - "description": "NEXT_TAG: 15", - "id": "CrawlerChangerateUrlVersion", - "properties": { - "additionalChangesMerged": { - "description": "Same as the field in UrlChange. This allows us to merge identical UrlVersions into a single UrlVersion.", - "format": "int32", - "type": "integer" - }, - "contentType": { - "description": "The content type of the page.", - "format": "int32", - "type": "integer" - }, - "isImsNotModified": { - "description": "Whether this is an IMS response (a 304, not modified).", - "type": "boolean" - }, - "lastModified": { - "description": "The date from the LastModified header, if present.", - "format": "int32", - "type": "integer" - }, - "shingleSimhash": { - "$ref": "IndexingConverterShingleFingerprint", - "description": "The simhash value obtained from shingles." - }, - "simhash": { - "deprecated": true, - "description": "The simhash-v1 value. The simhash-v1 is now deprecated and new UrlVersions should only populate simhash-v2. During migration phase from using simhash-v1 to simhash-v2, it is possible that previous UrlChange only contain simhash-v1 and the next UrlChange / UrlVersion could only contain simhash-v2. In this case, we skip that interval in our changerate computation. [go/changerate-simhash-v2-migration]", - "format": "uint64", - "type": "string" - }, - "simhashIsTrusted": { - "deprecated": true, - "description": "Whether the simhash-v1 should be trusted.", - "type": "boolean" - }, - "simhashV2": { - "description": "The simhash-v2 value.", - "format": "uint64", - "type": "string" - }, - "simhashV2IsTrusted": { - "description": "Whether the simhash-v2 value should be trusted.", - "type": "boolean" - }, - "timestamp": { - "description": "The timestamp we crawled the page.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "CrowdingPerDocData": { - "id": "CrowdingPerDocData", - "properties": { - "newscluster": { - "items": { - "$ref": "CrowdingPerDocDataNewsCluster" - }, - "type": "array" - } - }, - "type": "object" - }, - "CrowdingPerDocDataNewsCluster": { - "description": "For crowding in news we need to keep data about the last X clustering iterations around.", - "id": "CrowdingPerDocDataNewsCluster", - "properties": { - "ClusterId": { - "description": "Fingerprint combination of all urls in a cluster", - "format": "uint64", - "type": "string" - }, - "ClusterSize": { - "description": "This is the X in the \"and X related \u003e\u003e\" link on headlines and search results", - "format": "int32", - "type": "integer" - }, - "ClusterTimeStamp": { - "description": "When was this clustered (needed for keeping last X iterations around and discarding earlier ones)", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "DeepCropIndexing": { - "id": "DeepCropIndexing", - "properties": { - "cropBytes": { - "description": "Compact representation for indexing, see creatism::CropBitmap for details on the packing format.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "DeepCropPixels": { - "id": "DeepCropPixels", - "properties": { - "x0": { - "description": "Pixels version of the DeepCropIndexing bytes, this corresponds to the crop box for a given image (based input image size and desired aspect ratio).", - "format": "uint32", - "type": "integer" - }, - "x1": { - "format": "uint32", - "type": "integer" - }, - "y0": { - "format": "uint32", - "type": "integer" - }, - "y1": { - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "DocProperties": { - "description": "NOTE: In segindexer, the docproperties of a document may be reused from a previous cycle if its content is not changed. If you add a new field to DocProperties, make sure it is taken care (i.e., gets copied from a previous cycle to the current document) in CDocProperties::EndDocument().", - "id": "DocProperties", - "properties": { - "avgTermWeight": { - "description": "The average weighted font size of a term in the doc body", - "format": "int32", - "type": "integer" - }, - "badTitle": { - "description": "Missing or meaningless title", - "type": "boolean" - }, - "badtitleinfo": { - "items": { - "$ref": "DocPropertiesBadTitleInfo" - }, - "type": "array" - }, - "languages": { - "description": "A Language enum value. See: go/language-enum", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "leadingtext": { - "$ref": "SnippetsLeadingtextLeadingTextInfo", - "description": "Leading text information generated by google3/quality/snippets/leadingtext/leadingtext-detector.cc" - }, - "numPunctuations": { - "format": "int32", - "type": "integer" - }, - "numTags": { - "format": "int32", - "type": "integer" - }, - "numTokens": { - "description": "The number of tokens, tags and punctuations in the tokenized contents. This is an approximation of the number of tokens, tags and punctuations we end up with in mustang, but is inexact since we drop some tokens in mustang and also truncate docs at a max cap.", - "format": "int32", - "type": "integer" - }, - "proseRestrict": { - "description": "The restricts for CSE structured search.", - "items": { - "type": "string" - }, - "type": "array" - }, - "restricts": { - "items": { - "type": "string" - }, - "type": "array" - }, - "timestamp": { - "description": "The time CDocProperties::StartDocument() is called, encoded as seconds past the epoch (Jan 1, 1970). This value is always refreshed and not reused.", - "format": "int64", - "type": "string" - }, - "title": { - "description": "Extracted from the title tag of the content. This is typically extracted by TitleMetaCollector defined at google3/segindexer/title-meta-collector.h. Please see its documentation for the format and other caveats.", - "type": "string" - } - }, - "type": "object" - }, - "DocPropertiesBadTitleInfo": { - "description": "Bad title information.", - "id": "DocPropertiesBadTitleInfo", - "properties": { - "score": { - "format": "float", - "type": "number" - }, - "type": { - "enum": [ - "NOT_BAD", - "MISSING_OR_MEANINGLESS", - "BOILERPLATE", - "FOREIGN", - "UNREADABLE", - "NAKED", - "NO_QUERY_SUPPORT", - "NO_SITE_INFO" - ], - "enumDescriptions": [ - "", - "An empty string, or a bad title such as \"Untitled\". See quality_titles::bad_titles::BadTitleDetector for more details.", - "Most of the title is marked as boilerplate regions. See boilerplate::BoilerplateTitleScorer for more details.", - "The language of a title is different from the language of the document. See quality_snippets::foreigntitle::ForeignTitleScorer for more details.", - "Title has a low readability score. See quality_titles::ReadabilityScorer for more details.", - "Title needs more context (i.e. a site name), e.g. \"Photos\", \"Contact Us\". See quality_titles::bad_titles::BadTitleDetector for more details.", - "Title contains no navboost query. See quality_titles::AlternativeTitlesGenerator for more details.", - "Title has no site title information. See quality_titles::AlternativeTitlesGenerator for more details." - ], - "type": "string" - } - }, - "type": "object" - }, - "DrishtiCompressedFeature": { - "description": "Protocol buffer for storing compressed feature.", - "id": "DrishtiCompressedFeature", - "properties": { - "featureName": { - "enum": [ - "UNKNOWN", - "STARBURST_V4", - "RESNETISH_V3" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "inRangeBitstream": { - "description": "in_range_bitstream is the string produced by range coder, while out_of_range_bitstream corresponds to the overflow stream, which is used whenever a quantized value is out of range. See https://cs.corp.google.com/piper///depot/google3/research/vision/piedpiper/brain/python/layers/entropy_models.py?l=225\u0026cl=234825412", - "format": "byte", - "type": "string" - }, - "outOfRangeBitstream": { - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "DrishtiDenseFeatureData": { - "id": "DrishtiDenseFeatureData", - "properties": { - "extra": { - "description": "If extra is present it must be of the same length as value.", - "items": { - "$ref": "DrishtiFeatureExtra" - }, - "type": "array" - }, - "generalExtra": { - "$ref": "DrishtiFeatureExtra" - }, - "value": { - "description": "Dense data.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "DrishtiDenseTokenData": { - "description": "Protocol buffer for storing dense token data.", - "id": "DrishtiDenseTokenData", - "properties": { - "extra": { - "description": "If extra is present it must be of the same length as value.", - "items": { - "$ref": "DrishtiFeatureExtra" - }, - "type": "array" - }, - "generalExtra": { - "$ref": "DrishtiFeatureExtra" - }, - "value": { - "items": { - "format": "uint32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "DrishtiFeatureExtra": { - "id": "DrishtiFeatureExtra", - "properties": {}, - "type": "object" - }, - "DrishtiFeatureSetData": { - "id": "DrishtiFeatureSetData", - "properties": { - "extra": { - "description": "Extra information for this particular FeatureSetData (example timestamp of this frame in the video). (Almost never used).", - "items": { - "$ref": "DrishtiFeatureExtra" - }, - "type": "array" - }, - "feature": { - "description": "The following can have multiple FeatureSetElement(s) Each of these FeatureSetElement correspond to the various feature groups. One concrete example is the way these features are generated - example audio, video or OCR.", - "items": { - "$ref": "DrishtiFeatureSetDataFeatureSetElement" - }, - "type": "array" - }, - "label": { - "description": "Labels for this particular FeatureSetData. (Almost never used). Only interesting when you have (for example) frame level labels.", - "items": { - "$ref": "DrishtiLabelSetElement" - }, - "type": "array" - } - }, - "type": "object" - }, - "DrishtiFeatureSetDataFeatureSetElement": { - "description": "A FeatureSetElement stores the features coming from a single group.", - "id": "DrishtiFeatureSetDataFeatureSetElement", - "properties": { - "compressed": { - "$ref": "DrishtiCompressedFeature" - }, - "dense": { - "$ref": "DrishtiDenseFeatureData" - }, - "indexed": { - "$ref": "DrishtiIndexedFeatureData" - }, - "name": { - "description": "A name for the feature group: example \"AUDIO\", \"VIDEO\", \"OCR\", etc.", - "type": "string" - }, - "quantized": { - "$ref": "DrishtiQuantizedDenseFeatureData" - }, - "quantizedByteDense": { - "$ref": "DrishtiQuantizedByteDenseFeatureData" - }, - "quantizedByteIndexed": { - "$ref": "DrishtiQuantizedByteIndexedFeatureData" - }, - "sparse": { - "$ref": "DrishtiSparseFeatureData" - }, - "token": { - "$ref": "DrishtiDenseTokenData" - } - }, - "type": "object" - }, - "DrishtiFeatureSetDataSequence": { - "description": "This represents a sequence (ordered) of FeatureSetData elements.", - "id": "DrishtiFeatureSetDataSequence", - "properties": { - "element": { - "description": "FeatureSetData contains the features. In most scenarios, you only have one element. However, multiple elements are appropriate in case of videos where each element may correspond to a frame in the video.", - "items": { - "$ref": "DrishtiFeatureSetData" - }, - "type": "array" - }, - "extra": { - "description": "Some extra information about this FeatureSetDataSequence. (Almost never used).", - "items": { - "$ref": "DrishtiFeatureExtra" - }, - "type": "array" - }, - "label": { - "description": "Global (video-level) labels. In most cases, you only have one LabelSetElement. All the labels will be stored in this single LabelSetElement. Scenarios where you may have multiple LabelSetElement(s) is (for example) when you want to differentiate the labels into various sub-groups - eg, central vs relevant, kg-ids vs queries, etc.", - "items": { - "$ref": "DrishtiLabelSetElement" - }, - "type": "array" - }, - "timestamp": { - "description": "If set, must be same length as element. Each entry is the timestamp in microseconds where the FeatureSetData element was extracted.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "DrishtiIndexedFeatureData": { - "id": "DrishtiIndexedFeatureData", - "properties": { - "extra": { - "description": "If extra is present it must be of the same length as index and value.", - "items": { - "$ref": "DrishtiFeatureExtra" - }, - "type": "array" - }, - "generalExtra": { - "$ref": "DrishtiFeatureExtra" - }, - "index": { - "description": "Indexed data. index and value must be of the same length.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "value": { - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "DrishtiLabelSetData": { - "id": "DrishtiLabelSetData", - "properties": { - "extra": { - "items": { - "$ref": "DrishtiFeatureExtra" - }, - "type": "array" - }, - "generalExtra": { - "$ref": "DrishtiFeatureExtra" - }, - "targetClass": { - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "targetClassName": { - "items": { - "type": "string" - }, - "type": "array" - }, - "targetValue": { - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "targetWeight": { - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "weight": { - "description": "Weight assigned to this set of labels.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "DrishtiLabelSetElement": { - "id": "DrishtiLabelSetElement", - "properties": { - "label": { - "$ref": "DrishtiLabelSetData" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "DrishtiQuantizedByteDenseFeatureData": { - "description": "Proto message to store quantized dense feature data.", - "id": "DrishtiQuantizedByteDenseFeatureData", - "properties": { - "extra": { - "description": "If extra is present it must be of the same length as value.", - "items": { - "$ref": "DrishtiFeatureExtra" - }, - "type": "array" - }, - "generalExtra": { - "$ref": "DrishtiFeatureExtra" - }, - "value": { - "description": "Quantized values for the feature.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "DrishtiQuantizedByteIndexedFeatureData": { - "description": "Proto message to store quantized indexed feature data.", - "id": "DrishtiQuantizedByteIndexedFeatureData", - "properties": { - "extra": { - "description": "If extra is present it must be of the same length as value.", - "items": { - "$ref": "DrishtiFeatureExtra" - }, - "type": "array" - }, - "generalExtra": { - "$ref": "DrishtiFeatureExtra" - }, - "index": { - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "value": { - "description": "Quantized values for the feature.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "DrishtiQuantizedDenseFeatureData": { - "id": "DrishtiQuantizedDenseFeatureData", - "properties": { - "extra": { - "description": "If extra is present it must be of the same length as value.", - "items": { - "$ref": "DrishtiFeatureExtra" - }, - "type": "array" - }, - "generalExtra": { - "$ref": "DrishtiFeatureExtra" - }, - "value": { - "description": "Quantized Dense data.", - "items": { - "format": "byte", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "DrishtiSparseFeatureData": { - "id": "DrishtiSparseFeatureData", - "properties": { - "extra": { - "description": "If extra is present it must be of the same length as label and value.", - "items": { - "$ref": "DrishtiFeatureExtra" - }, - "type": "array" - }, - "generalExtra": { - "$ref": "DrishtiFeatureExtra" - }, - "label": { - "description": "Indexed data. label and value must be of the same length.", - "items": { - "type": "string" - }, - "type": "array" - }, - "value": { - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "DrishtiVesperEncodedThumbnail": { - "description": "The attributes of encoded thumbnail images. Next id: 10.", - "id": "DrishtiVesperEncodedThumbnail", - "properties": { - "byteSize": { - "description": "Image size in bytes. Meaningful when contents are not stored inline (e.g., via `image_blob_id`).", - "format": "int64", - "type": "string" - }, - "crc32c": { - "description": "CRC-32 checksum of the image bytes. Can be used for data integrity check.", - "format": "uint32", - "type": "integer" - }, - "encodingQuality": { - "description": "JPEG/WEBP quality factor in range [0,100].", - "format": "int32", - "type": "integer" - }, - "encodingType": { - "description": "Image encoding type.", - "enum": [ - "UNKNOWN", - "JPEG", - "WEBP", - "PNG" - ], - "enumDescriptions": [ - "", - "JPEG encoded.", - "WEBP encoded.", - "PNG encoded." - ], - "type": "string" - }, - "height": { - "format": "int32", - "type": "integer" - }, - "imageBlobId": { - "description": "The Blob ID of the thumbnail image in the Blobstore. We recommend absolute IDs with universe prefix if this field is passed across systems. The owner of this blob is also responsible for data Wipeout compliance.", - "type": "string" - }, - "imageBytes": { - "description": "Encoded thumbnail bytes. Prefer this over `image_string` as we are not supposed to store image bytes in a proto string field.", - "format": "byte", - "type": "string" - }, - "imageString": { - "deprecated": true, - "description": "Please migrate to `image_bytes`.", - "type": "string" - }, - "width": { - "description": "Thumbnail resolution.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "DrishtiVesperMovingThumbnail": { - "description": "LINT: LEGACY_NAMES MovingThumbnail is defined as a short video clip that represents the whole video content. Next id: 17.", - "id": "DrishtiVesperMovingThumbnail", - "properties": { - "beginTimestampMs": { - "description": "The begin timestamp in milliseconds.", - "format": "int32", - "type": "integer" - }, - "durationMs": { - "description": "The duration of the moving thumbnail in milliseconds. Note that the duration may not be the difference between begin_timestamp_ms and end_timestamp_ms, esp when the moving thumbnail covers multiple clips from the video.", - "format": "int32", - "type": "integer" - }, - "encodedGifAnimation": { - "format": "byte", - "type": "string" - }, - "encodedVideoString": { - "description": "The encoded video string.", - "format": "byte", - "type": "string" - }, - "encodedWebpAnimation": { - "description": "The encoded WebP animation.", - "format": "byte", - "type": "string" - }, - "endTimestampMs": { - "description": "The end timestamp in milliseconds.", - "format": "int32", - "type": "integer" - }, - "height": { - "description": "Pixel height of the moving thumbnail.", - "format": "int32", - "type": "integer" - }, - "id": { - "description": "MovingThumbnail id (e.g., the video id).", - "type": "string" - }, - "movingThumbnailerVersion": { - "description": "If set, this is the algorithm version used to generate this moving thumbnail.", - "enum": [ - "V0", - "V1", - "DEPRECATED_V2", - "DEPRECATED_V3", - "V4", - "V5", - "V6", - "SHOPPING_PREVIEW_V0", - "SHORT_PREVIEW_V0", - "LIVE_MOVING_THUMBNAILER", - "MANUAL" - ], - "enumDescriptions": [ - "Version 0 and 1 - Initial version with thumbnail quality, iconic face and motion scores.", - "", - "Version 2 - Version 1 with default static thumbnail matching, title matching, face matching and face clustering (Deprecated).", - "Version 3 - Version 2 with high resolution transcodes preferred (Deprecated).", - "Version 4 - Version 1 with default static thumbnail matching, title matching, and high resolution transcodes preferred.", - "Version 5 - Version 1 with title matching and high res transcodes preferred.", - "Version 6 - Version 1 with default static thumbnail matching, title matching, retention data and high resolution transcodes preferred.", - "Version used for Commerce Shopping Videos", - "Version used for YT Shorts.", - "Live moving thumbnailer (no scorers involved).", - "Manually generated." - ], - "type": "string" - }, - "name": { - "description": "MovingThumbnail name.", - "enum": [ - "UNKNOWN", - "MQDEFAULT", - "MQDEFAULT_6S", - "LQDEFAULT_6S", - "MQ220P_5S", - "MQDEFAULT_6S_HIGHLIGHT", - "MQDEFAULT_6S_PRE_HIGHLIGHT", - "MQDEFAULT_6S_THIRD_HIGHLIGHT", - "MQDEFAULT_6S_ZOOM_IN", - "SD360P_6S_ZOOM_IN", - "MQDEFAULT_3S", - "MQDEFAULT_6S_480x270", - "MQDEFAULT_1S", - "MQ_SHORTS_PREVIEW", - "HQ_SHORTS_PREVIEW" - ], - "enumDescriptions": [ - "", - "320x180, 10s", - "320x180, 6s", - "196x110, 6s", - "392x220, 5s", - "320x180, 6s, highlight", - "320x180, 6s, pre-highlight", - "(3s before highlight) 320x180, 6s, 3rd best highlight", - "320x180, 6s, central zoom-in version", - "640x360, 6s, central zoom-in version", - "320x180, 3s", - "480x270, 6s", - "Do not use this (deprecated)", - "360x360, original aspect ratio", - "480x480, original aspect ratio" - ], - "type": "string" - }, - "score": { - "description": "The score of the moving thumbnail.", - "format": "float", - "type": "number" - }, - "scoreComponents": { - "$ref": "DrishtiVesperMovingThumbnailScoreComponents" - }, - "thumbnails": { - "description": "A set of single frame thumbnails in the MovingThumbnail.", - "items": { - "$ref": "DrishtiVesperThumbnail" - }, - "type": "array" - }, - "type": { - "description": "MovingThumbnail type.", - "enum": [ - "TYPE_UNKNOWN", - "AN_GIF", - "AN_WEBP", - "AN_MP4", - "AN_WEBM" - ], - "enumDescriptions": [ - "", - "Animated gif.", - "Animated webp.", - "Animated mp4.", - "Animated webm." - ], - "type": "string" - }, - "webpQualityLevel": { - "description": "The actual quality of the Webp animation. Note this value may not be equal to the quality value requested in the animation creator's options. This is because other requirements, such as the max file size, may force the creator to lower the actual quality value.", - "format": "float", - "type": "number" - }, - "width": { - "description": "Pixel width of the moving thumbnail.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "DrishtiVesperMovingThumbnailScoreComponents": { - "description": "Sum of individual score components within a moving thumbnail. Used as input for weight fitting.", - "id": "DrishtiVesperMovingThumbnailScoreComponents", - "properties": { - "audienceRewindRatioScore": { - "format": "float", - "type": "number" - }, - "iconicFaceScore": { - "format": "float", - "type": "number" - }, - "matchingScore": { - "format": "float", - "type": "number" - }, - "motionScore": { - "format": "float", - "type": "number" - }, - "titleMatchingScore": { - "format": "float", - "type": "number" - }, - "videoThumbQualityScore": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "DrishtiVesperThumbnail": { - "description": "The attributes of a video thumbnail.", - "id": "DrishtiVesperThumbnail", - "properties": { - "denseFeatures": { - "description": "Thumbnail dense features", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "encodedImageString": { - "deprecated": true, - "description": "Thumbnail image as an encoded image. Deprecated, use encoded_thumbnails instead.", - "type": "string" - }, - "encodedImageStringSmall": { - "deprecated": true, - "description": "Thumbnail image as an encoded image with smaller resolution. Deprecated, use encoded_thumbnails instead.", - "type": "string" - }, - "encodedThumbnails": { - "description": "Encoded thumbnail images.", - "items": { - "$ref": "DrishtiVesperEncodedThumbnail" - }, - "type": "array" - }, - "id": { - "description": "Thumbnail id.", - "type": "string" - }, - "ocrText": { - "description": "Text in video thumbnails that was detected by OCR.", - "type": "string" - }, - "qualityScores": { - "description": "Thumbnail quality scores.", - "items": { - "$ref": "DrishtiVesperThumbnailQualityScore" - }, - "type": "array" - }, - "shouldUpdateDefaultThumbnail": { - "description": "If true, this thumbnail should update default thumbnail.", - "type": "boolean" - }, - "thumbnailerModelVersion": { - "description": "Thumbnailer Version.", - "enum": [ - "VERSION_UNKNOWN", - "VERSION_FIRST", - "VERSION_RANDOM", - "VERSION_4", - "VERSION_5", - "VERSION_6", - "VERSION_7", - "VERSION_8", - "VERSION_SHORTS_4", - "VERSION_SHORTS_5", - "VERSION_SHORTS_6", - "VERSION_STORY_4", - "VERSION_STORY_5", - "VERSION_MOVING_4", - "VERSION_MOVING_5", - "VERSION_MOVING_6", - "VERSION_MOVING_SHORTS_0", - "VERSION_MOVING_LIVE_0", - "VERSION_MOVING_MANUAL_0", - "VERSION_LITE_1", - "VERSION_CUSTOM", - "VERSION_REJECTED" - ], - "enumDescriptions": [ - "", - "Use the first frame as thumbnail.", - "Randomly choose a frame as thumbnail.", - "Thumbnailer version 4.", - "Thumbnailer version 5.", - "Thumbnailer version 6 for violative thumbnail regeneration. Design: go/reduce-violative-thumb", - "Thumbnailer version 7.", - "Thumbnailer version 8 for violative thumbnail regeneration. Design: go/reduce-violative-thumb", - "Thumbnailer version 4 for shorts videos.", - "Thumbnailer version 5 for shorts videos.", - "Thumbnailer version 6 for shorts videos.", - "Thumbnailer version 4 for stories.", - "Thumbnailer version 5 for stories.", - "Moving thumbnailer version 4.", - "Moving thumbnailer version 5.", - "Moving thumbnailer version 6.", - "Moving thumbnailer version 0 for shorts.", - "Moving thumbnailer version 0 for live.", - "Moving thumbnail generated manually.", - "Lite Thumbnailer (previously known as FirstFrameThumbnailer)", - "Custom image (not generated). Likely client provided.", - "A gray fallback image for images that have been rejected." - ], - "type": "string" - }, - "timestampMs": { - "description": "Thumbnail timestamp in milliseconds.", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "Thumbnail type.", - "enum": [ - "UNKNOWN", - "MAIN_THUMB_CUSTOM", - "MAIN_THUMB_NON_CUSTOM", - "SHOT_THUMB", - "NUMBERED_THUMB", - "KEY_FRAME", - "FRAME", - "AUTO" - ], - "enumDescriptions": [ - "", - "Customized main thumbnail uploaded from user.", - "Non-customized main thumbnail.", - "Shot thumbnail.", - "The numbered thumbnail, e.g. 1.jpg, 2.jpg, 3.jpg.", - "The iframe extracted from the media decoder.", - "The regular video frame.", - "This type indicates that the thumbnail is to use for thumbnail A/B test. In this case the id field will be used to indicate the control and experimental thumbnail." - ], - "type": "string" - }, - "userReportedThumbnail": { - "$ref": "DrishtiVesperUserReportUserReportedThumbnail" - }, - "userReportedThumbnails": { - "description": "All user reported thumbnails of interest.", - "items": { - "$ref": "DrishtiVesperUserReportUserReportedThumbnail" - }, - "type": "array" - }, - "version": { - "description": "Thumbnail version, i.e., the unix time in seconds when the thumbnail was created.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "DrishtiVesperThumbnailQualityScore": { - "id": "DrishtiVesperThumbnailQualityScore", - "properties": { - "score": { - "format": "float", - "type": "number" - }, - "type": { - "enum": [ - "UNKNOWN", - "PHOTO_QUALITY", - "PAMIR_IMAGE_QUALITY", - "VIDEO_THUMB_QUALITY", - "SALIENCY", - "COMPLEXITY", - "SHARPNESS", - "CLOSE_UP", - "BEEHIVE_QUALITY", - "ICONIC_FACE", - "DUMMY", - "COLORFULNESS", - "MOTION", - "RETENTION_STATS", - "FACIAL_EXPRESSION", - "MATCHING", - "LUCKYSHOT_SHARPNESS", - "SINGLE_FACE_MODULE", - "TITLE_MATCHING", - "FACE_CLUSTERING", - "FACE_MATCHING", - "RACY_SCORE", - "NON_RACY_SCORE", - "SALIENCY_COVERAGE", - "AUDIENCE_WATCH_DATA", - "AUDIENCE_REWATCH_DATA", - "AUDIENCE_REWIND_RATIO", - "AUDIENCE_DROPOFF_RATIO", - "HIGHLIGHT_SCORE", - "JOY_FACE", - "EYE_OPEN", - "FACE_RATIO", - "OCR_RACY_SCORE", - "SHOT_BOUNDARY", - "NIMA", - "FOREGROUND_MOTION_SALIENCY", - "PAGE_QUALITY", - "GLOBAL_MOTION", - "CHAPTER_TITLE_MATCHING", - "DBSCAN_FRAME_CHAPTER_SIMILARITY", - "EYES_NOT_VISIBLY_CLOSED", - "ENGAGINESS", - "MERGED" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "The higher the score, the racier the thumbnail.", - "The higher the score, less racier of the thumbnail.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "go/nima", - "", - "", - "", - "", - "", - "", - "", - "The score merged from the above source types." - ], - "type": "string" - } - }, - "type": "object" - }, - "DrishtiVesperUserReportHumanLabel": { - "description": "Proto holding values for details about human labels.", - "id": "DrishtiVesperUserReportHumanLabel", - "properties": { - "racyLevel": { - "enum": [ - "UNKNOWN", - "SAFE", - "BORDERLINE", - "SEXUAL" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "DrishtiVesperUserReportModelScore": { - "description": "Proto holding values for details about score and the source model.", - "id": "DrishtiVesperUserReportModelScore", - "properties": { - "modelName": { - "type": "string" - }, - "score": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "DrishtiVesperUserReportUserReportedThumbnail": { - "description": "Proto holding values for user reported thumbnails. Next id: 12", - "id": "DrishtiVesperUserReportUserReportedThumbnail", - "properties": { - "denseFeatures": { - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "duration": { - "description": "Number of days in which volume is calculated.", - "format": "int32", - "type": "integer" - }, - "humanLabel": { - "$ref": "DrishtiVesperUserReportHumanLabel" - }, - "impressions": { - "description": "Daily aggregared impressions for the reported video.", - "format": "int32", - "type": "integer" - }, - "needHumanLabel": { - "description": "Whether the thumbnail needs a human label.", - "type": "boolean" - }, - "rawHumanLabels": { - "items": { - "$ref": "DrishtiVesperUserReportHumanLabel" - }, - "type": "array" - }, - "reportScore": { - "$ref": "DrishtiVesperUserReportModelScore" - }, - "reportType": { - "enum": [ - "UNKNOWN", - "RACY" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "score": { - "$ref": "DrishtiVesperUserReportModelScore" - }, - "useCase": { - "enum": [ - "UNKNOWN", - "TRAIN", - "EVAL" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "volume": { - "description": "Number of reports.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "DrishtiVesperVideoThumbnail": { - "description": "Video level container for thumbnail with its attributes, e.g., timestamp, id, quality scores, annotations, or features.", - "id": "DrishtiVesperVideoThumbnail", - "properties": { - "id": { - "description": "Video id.", - "type": "string" - }, - "movingThumbnails": { - "items": { - "$ref": "DrishtiVesperMovingThumbnail" - }, - "type": "array" - }, - "thumbnails": { - "items": { - "$ref": "DrishtiVesperThumbnail" - }, - "type": "array" - } - }, - "type": "object" - }, - "EmbedsDeepLinkData": { - "description": "Deep-linking data is used to construct a deep-link URI for an activity or frame's embed, such that on click, the user is taken to the right place in a mobile app. If the app is not installed, the user is taken to the app store. If not on mobile, an analogous web uri is used.", - "id": "EmbedsDeepLinkData", - "properties": { - "appId": { - "description": "Application ID (or project ID) from Google API Console.", - "format": "int64", - "type": "string" - }, - "client": { - "description": "The data for a Google API Console client is entered by a developer during client registration and is stored in PackagingService.", - "items": { - "$ref": "EmbedsPackagingServiceClient" - }, - "type": "array" - }, - "deepLinkId": { - "description": "The ID for non-URL content. Embeds may either have no analogous web presence or prefer a native mobile experience if supported. In the case of no web presence, instead of setting the \"url\" field of an embed, such developers will set this field and other content fields, e.g. thumbnail, title, description. If set, this field is used to construct the deep-link URI. Note that the native experience is preferred over the web link and the web link is used as a fallback.", - "type": "string" - }, - "url": { - "description": "Analogous web presence. Used as desktop fallback or when no native link data is present.", - "type": "string" - } - }, - "type": "object" - }, - "EmbedsEmbedClientItem": { - "description": "Represents an embedded object in an update. This is a wrapper class that can contain a single specific item proto in an extension field. Think of it as a base class like `Message` in Java. Each item proto must declare that it extends this proto: message ExampleObject { option (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional ExampleObject example_object = ; } } See go/es-embeds for details.", - "id": "EmbedsEmbedClientItem", - "properties": { - "canonicalId": { - "description": "The canonical ID of the embed. If absent, the canonical ID is equal to the ID; if present, then the canonical ID represents an \"equivalence class\" of embeds which really refer to the same object. (For example, the URLs http://www.foo.com/ and http://foo.com/ refer to the same object) This field may be updated periodically by background processes.", - "type": "string" - }, - "deepLinkData": { - "$ref": "EmbedsDeepLinkData", - "description": "Deep-linking data to take the user to the right place in a mobile app. This is only used for preview and attribution. Links that are specific to a given embed type should live on that specific embed's proto by using Link. See http://goto.google.com/mariana-design." - }, - "id": { - "description": "The ID of the embed. This corresponds to the schema.org ID, as represented in the ItemScope.id field.", - "type": "string" - }, - "provenance": { - "$ref": "EmbedsProvenance", - "description": "The provenance of the embed, populated when the embed originated from a web fetch. The provenance captures information about the web page the embed had originated, like the URL that was retrieved and the retrieved URL's canonical form. This is useful in the case where the URL shared by the URL redirects (e.g., in the case of a shortened URL)." - }, - "renderId": { - "description": "The ID used to identify the embed during rendering. This field will match ID, if set, otherwise it will be the ID of the parent activity. This field is only populated on the server for client use and is not persisted to storage.", - "type": "string" - }, - "signature": { - "description": "Signature of the embed, used for verification.", - "type": "string" - }, - "transientData": { - "$ref": "EmbedsTransientData", - "description": "Transient generic data that will not be saved on the server." - }, - "type": { - "description": "The first value in `type` determines which extension field will be set. When creating an EmbedClientItem, you only need to set the first (primary) type in this field. When the server receives the item, it will populate the full type list using the parent annotations in the ItemType enum.", - "items": { - "enum": [ - "UNKNOWN", - "ACTION_V2", - "ADD_ACTION_V2", - "AGGREGATE_RATING_V2", - "ARTICLE_V2", - "ASSESS_ACTION_V2", - "AUDIO_OBJECT_V2", - "BASIC_INTERACTION_V2", - "BLOG_POSTING_V2", - "BLOG_V2", - "BOOK_V2", - "BUY_ACTION_V2", - "CHECK_IN_ACTION_V2", - "CHECKIN_V2", - "COLLEXION_V2", - "COMMENT_ACTION_V2", - "COMMENT_V2", - "COMMUNICATE_ACTION_V2", - "CONSUME_ACTION_V2", - "CREATE_ACTION_V2", - "CREATIVE_WORK_V2", - "DISCOVER_ACTION_V2", - "DOCUMENT_OBJECT_V2", - "DRAWING_OBJECT_V2", - "DRIVE_OBJECT_V2", - "EMOTISHARE_V2", - "ENTRY_POINT_V2", - "EVENT_TIME_V2", - "EVENT_V2", - "FILE_OBJECT_V2", - "FIND_ACTION_V2", - "FINANCIAL_QUOTE_V2", - "FORM_OBJECT_V2", - "GEO_COORDINATES_V2", - "GOOGLE_OFFER_V2", - "HANGOUT_CHAT_MESSAGE", - "HANGOUT_QUOTE", - "HANGOUT_V2", - "HOA_PLUS_EVENT_V2", - "IMAGE_OBJECT_V2", - "INTERACT_ACTION_V2", - "INTERACTION_V2", - "LISTEN_ACTION_V2", - "LOCAL_BUSINESS_V2", - "LOCAL_PLUS_PHOTO_ALBUM_V2", - "MAGAZINE_V2", - "MEDIA_OBJECT_V2", - "MOBILE_APPLICATION_V2", - "MOVIE_V2", - "MUSIC_ALBUM_V2", - "MUSIC_GROUP_V2", - "MUSIC_PLAYLIST_V2", - "MUSIC_RECORDING_V2", - "NEWS_ARTICLE_V2", - "OFFER_V2", - "ORGANIZATION_V2", - "ORGANIZE_ACTION_V2", - "PERSON_V2", - "PLACE_REVIEW_V2", - "PLACE_V2", - "PLAN_ACTION_V2", - "PLAY_MUSIC_ALBUM_V2", - "PLAY_MUSIC_TRACK_V2", - "PLAY_OBJECT_V2", - "PLUS_AUDIO_V2", - "PLUS_EVENT_V2", - "PLUS_MEDIA_COLLECTION_V2", - "PLUS_MEDIA_OBJECT_V2", - "PLUS_PAGE_V2", - "PLUS_PHOTOS_ADDED_TO_COLLECTION_V2", - "PLUS_PHOTO_ALBUM_V2", - "PLUS_PHOTO_COLLECTION_V2", - "PLUS_PHOTO_V2", - "PLUS_POST_V2", - "PLUS_RESHARE_V2", - "PLUS_SOFTWARE_APPLICATION_V2", - "POLL_OPTION_V2", - "POLL_V2", - "POSTAL_ADDRESS_V2", - "PRESENTATION_OBJECT_V2", - "PRODUCT_REVIEW_V2", - "RATING_V2", - "REACT_ACTION_V2", - "RESERVATION_V2", - "RESERVE_ACTION_V2", - "REVIEW_V2", - "REVIEW_ACTION_V2", - "SOFTWARE_APPLICATION_V2", - "SPREADSHEET_OBJECT_V2", - "SQUARE_INVITE_V2", - "SQUARE_V2", - "STICKER_V2", - "STORY_V2", - "THING_V2", - "TRADE_ACTION_V2", - "DEPRECATED_TOUR_OBJECT_V2", - "TV_EPISODE_V2", - "TV_SERIES_V2", - "UPDATE_ACTION_V2", - "VIEW_ACTION_V2", - "VIDEO_OBJECT_V2", - "VIDEO_GALLERY_V2", - "WANT_ACTION_V2", - "WEB_PAGE_V2", - "WRITE_ACTION_V2", - "YOUTUBE_CHANNEL_V2", - "GOOGLE_USER_PHOTO_V2", - "GOOGLE_USER_PHOTO_ALBUM", - "GOOGLE_PHOTO_RECIPE", - "THING", - "CREATIVE_WORK", - "EVENT", - "INTANGIBLE", - "ORGANIZATION", - "PERSON", - "PLACE", - "PRODUCT", - "ARTICLE", - "BLOG_POSTING", - "NEWS_ARTICLE", - "SCHOLARLY_ARTICLE", - "BLOG", - "BOOK", - "COMMENT", - "ITEM_LIST", - "MAP", - "MEDIA_OBJECT", - "AUDIO_OBJECT", - "IMAGE_OBJECT", - "MUSIC_VIDEO_OBJECT", - "VIDEO_OBJECT", - "MOVIE", - "MUSIC_PLAYLIST", - "MUSIC_ALBUM", - "MUSIC_RECORDING", - "PAINTING", - "PHOTOGRAPH", - "RECIPE", - "REVIEW", - "SCULPTURE", - "SOFTWARE_APPLICATION", - "MOBILE_APPLICATION", - "WEB_APPLICATION", - "TV_EPISODE", - "TV_SEASON", - "TV_SERIES", - "WEB_PAGE", - "ABOUT_PAGE", - "CHECKOUT_PAGE", - "COLLECTION_PAGE", - "IMAGE_GALLERY", - "VIDEO_GALLERY", - "CONTACT_PAGE", - "ITEM_PAGE", - "PROFILE_PAGE", - "SEARCH_RESULTS_PAGE", - "WEB_PAGE_ELEMENT", - "SITE_NAVIGATION_ELEMENT", - "TABLE", - "WP_AD_BLOCK", - "WP_FOOTER", - "WP_HEADER", - "WP_SIDEBAR", - "APP_INVITE", - "EMOTISHARE", - "BUSINESS_EVENT", - "CHILDRENS_EVENT", - "COMEDY_EVENT", - "DANCE_EVENT", - "EDUCATION_EVENT", - "FESTIVAL", - "FOOD_EVENT", - "LITERARY_EVENT", - "MUSIC_EVENT", - "SALE_EVENT", - "SOCIAL_EVENT", - "SPORTS_EVENT", - "THEATER_EVENT", - "VISUAL_ARTS_EVENT", - "RESERVATION", - "TRAVEL_EVENT", - "CORPORATION", - "EDUCATIONAL_ORGANIZATION", - "COLLEGE_OR_UNIVERSITY", - "ELEMENTARY_SCHOOL", - "HIGH_SCHOOL", - "MIDDLE_SCHOOL", - "PRESCHOOL", - "SCHOOL", - "GOVERNMENT_ORGANIZATION", - "LOCAL_BUSINESS", - "ANIMAL_SHELTER", - "AUTOMOTIVE_BUSINESS", - "AUTO_BODY_SHOP", - "AUTO_DEALER", - "AUTO_PARTS_STORE", - "AUTO_RENTAL", - "AUTO_REPAIR", - "AUTO_WASH", - "GAS_STATION", - "MOTORCYCLE_DEALER", - "MOTORCYCLE_REPAIR", - "CHILD_CARE", - "DRY_CLEANING_OR_LAUNDRY", - "EMERGENCY_SERVICE", - "FIRE_STATION", - "HOSPITAL", - "POLICE_STATION", - "EMPLOYMENT_AGENGY", - "ENTERTAINMENT_BUSINESS", - "ADULT_ENTERTAINMENT", - "AMUSEMENT_PARK", - "ART_GALLERY", - "CASINO", - "COMEDY_CLUB", - "MOVIE_THEATER", - "NIGHT_CLUB", - "FINANCIAL_SERVICE", - "ACCOUNTING_SERVICE", - "AUTOMATED_TELLER", - "BANK_OR_CREDIT_UNION", - "INSURANCE_AGENCY", - "FOOD_ESTABLISHMENT", - "BAKERY", - "BAR_OR_PUB", - "BREWERY", - "CAFE_OR_COFFEE_SHOP", - "FAST_FOOD_RESTAURANT", - "ICE_CREAM_SHOP", - "RESTAURANT", - "WINERY", - "GOVERNMENT_OFFICE", - "POST_OFFICE", - "HEALTH_AND_BEAUTY_BUSINESS", - "BEAUTY_SALON", - "DAY_SPA", - "HAIR_SALON", - "HEALTH_CLUB", - "NAIL_SALON", - "TATTOO_PARLOR", - "HOME_AND_CONSTRUCTION_BUSINESS", - "ELECTRICIAN", - "GENERAL_CONTRACTOR", - "HVAC_BUSINESS", - "HOUSE_PAINTER", - "LOCKSMITH", - "MOVING_COMPANY", - "PLUMBER", - "ROOFING_CONTRACTOR", - "INTERNET_CAFE", - "LIBRARY", - "LODGING_BUSINESS", - "BED_AND_BREAKFAST", - "HOSTEL", - "HOTEL", - "MOTEL", - "MEDICAL_ORGANIZATION", - "DENTIST", - "MEDICAL_CLINIC", - "OPTICIAN", - "PHARMACY", - "PHYSICIAN", - "VETERINARY_CARE", - "PROFESSIONAL_SERVICE", - "ATTORNEY", - "NOTARY", - "RADIO_STATION", - "REAL_ESTATE_AGENT", - "RECYCLING_CENTER", - "SELF_STORAGE", - "SHOPPING_CENTER", - "SPORTS_ACTIVITY_LOCATION", - "BOWLING_ALLEY", - "EXERCISE_GYM", - "GOLF_COURSE", - "PUBLIC_SWIMMING_POOL", - "SKI_RESORT", - "SPORTS_CLUB", - "STADIUM_OR_ARENA", - "TENNIS_COMPLEX", - "STORE", - "BIKE_STORE", - "BOOK_STORE", - "CLOTHING_STORE", - "COMPUTER_STORE", - "CONVENIENCE_STORE", - "DEPARTMENT_STORE", - "ELECTRONICS_STORE", - "FLORIST", - "FURNITURE_STORE", - "GARDEN_STORE", - "GROCERY_STORE", - "HARDWARE_STORE", - "HOBBY_SHOP", - "HOME_GOODS_STORE", - "JEWELRY_STORE", - "LIQUOR_STORE", - "MENS_CLOTHING_STORE", - "MOBILE_PHONE_STORE", - "MOVIE_RENTAL_STORE", - "MUSIC_STORE", - "OFFICE_EQUIPMENT_STORE", - "OUTLET_STORE", - "PAWN_SHOP", - "PET_STORE", - "SHOE_STORE", - "SPORTING_GOODS_STORE", - "TIRE_SHOP", - "TOY_STORE", - "WHOLESALE_STORE", - "TELEVISION_STATION", - "TOURIST_INFORMATION_CENTER", - "TRAVEL_AGENCY", - "PERFORMING_GROUP", - "MUSIC_GROUP", - "ADMINISTRATIVE_AREA", - "CITY", - "COUNTRY", - "STATE", - "CIVIC_STRUCTURE", - "AIRPORT", - "AQUARIUM", - "BEACH", - "BUS_STATION", - "BUS_STOP", - "CAMPGROUND", - "CEMETERY", - "CREMATORIUM", - "EVENT_VENUE", - "GOVERNMENT_BUILDING", - "CITY_HALL", - "COURTHOUSE", - "DEFENCE_ESTABLISHMENT", - "EMBASSY", - "LEGISLATIVE_BUILDING", - "MUSEUM", - "MUSIC_VENUE", - "PARK", - "PARKING_FACILITY", - "PERFORMING_ARTS_THEATER", - "PLACE_OF_WORSHIP", - "BUDDHIST_TEMPLE", - "CATHOLIC_CHURCH", - "CHURCH", - "HINDU_TEMPLE", - "MOSQUE", - "SYNAGOGUE", - "PLAYGROUND", - "R_V_PARK", - "RESIDENCE", - "APARTMENT_COMPLEX", - "GATED_RESIDENCE_COMMUNITY", - "SINGLE_FAMILY_RESIDENCE", - "TOURIST_ATTRACTION", - "SUBWAY_STATION", - "TAXI_STAND", - "TRAIN_STATION", - "ZOO", - "LANDFORM", - "BODY_OF_WATER", - "CANAL", - "LAKE_BODY_OF_WATER", - "OCEAN_BODY_OF_WATER", - "POND", - "RESERVOIR", - "RIVER_BODY_OF_WATER", - "SEA_BODY_OF_WATER", - "WATERFALL", - "CONTINENT", - "MOUNTAIN", - "VOLCANO", - "LANDMARKS_OR_HISTORICAL_BUILDINGS", - "USER_INTERACTION", - "USER_PLUS_ONES", - "ENUMERATION", - "BOOK_FORMAT_TYPE", - "ITEM_AVAILABILITY", - "OFFER_ITEM_CONDITION", - "JOB_POSTING", - "LANGUAGE", - "OFFER", - "QUANTITY", - "DISTANCE", - "DURATION", - "ENERGY", - "MASS", - "RATING", - "AGGREGATE_RATING", - "STRUCTURED_VALUE", - "CONTACT_POINT", - "POSTAL_ADDRESS", - "GEO_COORDINATES", - "GEO_SHAPE", - "NUTRITION_INFORMATION", - "PRESENTATION_OBJECT", - "DOCUMENT_OBJECT", - "SPREADSHEET_OBJECT", - "FORM_OBJECT", - "DRAWING_OBJECT", - "PLACE_REVIEW", - "FILE_OBJECT", - "PLAY_MUSIC_TRACK", - "PLAY_MUSIC_ALBUM", - "MAGAZINE", - "CAROUSEL_FRAME", - "PLUS_EVENT", - "HANGOUT", - "HANGOUT_BROADCAST", - "HANGOUT_CONSUMER", - "CHECKIN", - "EXAMPLE_OBJECT", - "SQUARE", - "SQUARE_INVITE", - "PLUS_PHOTO", - "PLUS_PHOTO_ALBUM", - "LOCAL_PLUS_PHOTO_ALBUM", - "PRODUCT_REVIEW", - "FINANCIAL_QUOTE", - "DEPRECATED_TOUR_OBJECT", - "PLUS_PAGE", - "GOOGLE_CHART", - "PLUS_PHOTOS_ADDED_TO_COLLECTION", - "RECOMMENDED_PEOPLE", - "PLUS_POST", - "DATE", - "DRIVE_OBJECT_COLLECTION", - "NEWS_MEDIA_ORGANIZATION", - "DYNAMITE_ATTACHMENT_METADATA", - "DYNAMITE_MESSAGE_METADATA" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ], - "enumDescriptions": [ - "Largely deprecated, effectively an error condition and should not be in storage.", - "Embeds V2 types", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "The action of checking in, as opposed to a \"check-in\".", - "", - "", - "The act of commenting, which might result in a comment.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Boswell story (see goto/boswell)", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "A photo stored in photo service owned by a Google account user. This is distinct from PlusPhoto as it isn't tied to GPlus, but is instead intended to be a more general photo tied to a google user.", - "A photo album in photo service owned by a Google account user. This is distinct from PlusPhotoAlbum as it isn't tied to GPlus, but is instead intended to be a general photo album tied to a google user.", - "An embed used to create a single photo in photo service. This type is never stored but is used to create a GOOGLE_USER_PHOTO_V2 or PLUS_PHOTO_V2 embed.", - "Embeds V1 types", - "", - "", - "", - "", - "", - "", - "", - "CREATIVE_WORK subtypes", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "EVENT subtypes", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ORGANIZATION subtypes", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "PLACE subtypes", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "NOTE(jpanzer): This is a badly designed hierarchy and we should avoid depending on Event properties inside UserInteractions as much as possible IMHO.", - "", - "Intangibles, primarily used as sub-objects of other types", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "CREATIVE_WORK extensions", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Single frame for http://goto/carousel.", - "EVENT extensions", - "No declared proto. Used only as a base type for now.", - "", - "", - "", - "", - "NOTE(melchang): These correspond to http://schema.org/WebPage/Community and http://schema.org/WebPage/CommunityInvite. See b/7653610 for why these are \"SQUARE\" and not \"COMMUNITY\".", - "", - "", - "", - "", - "", - "", - "", - "", - "Data visualizations. See http://code.google.com/apis/chart/index.html", - "", - "A collection of people that have been recommended to a user.", - "A Google+ post.", - "An http://schema.org/Date unstructured ISO-8859 timestamp string.", - "Embed representing a collection of multiple Drive objects.", - "https://schema.org/NewsMediaOrganization", - "Deprecated in favor of DYNAMITE_MESSAGE_METADATA", - "Used for Dynamite message metadata in Hangouts" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "EmbedsPackagingServiceClient": { - "description": "Developers register a client in Google API Console to get the deep-linking feature on Google+ posts or frames about their apps. The client data is stored in this proto.", - "id": "EmbedsPackagingServiceClient", - "properties": { - "androidPackageName": { - "description": "Android app's package name to generate the deep-link URI.", - "type": "string" - }, - "iosAppStoreId": { - "description": "iOS app's App Store ID to generate the App Store URL when app is not installed on device.", - "type": "string" - }, - "iosBundleId": { - "description": "iOS app's bundle ID to generate the deep-link URI.", - "type": "string" - }, - "type": { - "description": "Type of Google API Console client.", - "enum": [ - "ANDROID", - "IOS" - ], - "enumDescriptions": [ - "Client for Android app.", - "Client for iOS app." - ], - "type": "string" - } - }, - "type": "object" - }, - "EmbedsProvenance": { - "description": "This field records where the ItemScope was retrieved, if it was created via a web fetch.", - "id": "EmbedsProvenance", - "properties": { - "annotationBlob": { - "description": "Annotation blob from Annotation Service.", - "format": "byte", - "type": "string" - }, - "canonicalUrl": { - "description": "Canonical url of the retrieved_url, if one was resolved during retrieval, for example, if a rel=\"canonical\" link tag was provided in the retrieved web page.", - "type": "string" - }, - "inputUrl": { - "description": "The url originally passed in the PRS request, which should be used to re-discover the content. Note that this URL may be a forwarding service or link shortener (bit.ly), so it should not be assumed to be canonical, but should be used for navigation back to the original source of the itemscope.", - "type": "string" - }, - "itemtype": { - "description": "Contains exact types as parsed, whether or not we recognized that type at parse time. If an itemscope is created by merging SchemaOrg markup and open graph markup then the first itemtype would be schemaorg type, the second would be open graph and so on. example: http://schema.org/VideoObject, og:video.movie Plain text; usually a URL", - "items": { - "type": "string" - }, - "type": "array" - }, - "retrievedTimestampMsec": { - "description": "The server retrieved timestamp (in msec).", - "format": "uint64", - "type": "string" - }, - "retrievedUrl": { - "description": "The final URL that was the actual source of the itemscope, after any redirects.", - "type": "string" - } - }, - "type": "object" - }, - "EmbedsTransientData": { - "description": "Transient generic data that will not be saved on the server.", - "id": "EmbedsTransientData", - "properties": {}, - "type": "object" - }, - "EventIdMessage": { - "description": "An EventId is a 128 bit identifier that uniquely identifies an event, such as a query. The event time recorded to the nearest microsecond, along with information about the process generating the event, ensures that all EventIds are unique. Details of this EventId are described in a design document: http://www/eng/designdocs/sawmill/adlogs.html", - "id": "EventIdMessage", - "properties": { - "processId": { - "description": "process_id is an integer that identifies the process on this machine that generated this event. This id is calculated once when the server generates its first event, and may change if the process is migrated to a different host. This field has a very specific format mandated by the logs collection infrastructure, which is subject to change WITHOUT NOTICE. As of 2013-01-09, this format is: uint32 process_id = (time(NULL) \u003c\u003c 24) + (getpid() \u0026 0xFFFFFF); If you are generating an extended_pid directly, you MUST use one of the maintained library implementations in order to generate it properly: C++ //borg/borgletlib:extended_pid; call borg::ExtendedPid() Python //borg/borgletlib/python:pyextendedpid; call ExtendedPid() Go //borg/borgletlib/go:extendedpid; call Get() Java //java/com/google/common/logging; call EventId.getPid() If you think that you need to parse the values of this field, please contact logs-collection-dev@ to discuss your requirement.", - "format": "uint32", - "type": "integer" - }, - "serverIp": { - "description": "server_ip is the IPv4 address or http://go/ghostid of the machine running the server that created this event message. This allows us to distinguish between events that occur at the same time on different servers. Format: 10.1.2.3 is stored as 0x0a010203, and GHostId 1 as 0x00000001.", - "format": "uint32", - "type": "integer" - }, - "timeUsec": { - "description": "time_usec is the number of microseconds since the epoch (i.e., since 1970-01-01 00:00:00 UTC) as an int64: 1e6 * (unix time) + microseconds. Applications must ensure that EventIdMessages have increasing times, artificially increasing time_usec to one greater than the previous value if necessary. Alternate implementations were considered: 1. storing unix time and microseconds separately would require a bit more storage, and the convenience of having a single value representing the time seemed more useful than having trivial access to a unix time. 2. storing unix time in the upper 32 bits would allow for more precision - up to 4G events/second, but it wouldn't print nicely as a decimal value and it seems unlikely that any single server would ever sustain more than 1M events/second. 3. Java-compatible time uses millis - this would limit servers to 1000 events per second - too small. Other names for this field were considered, including time, time_stamp, and utime. We felt that including the units in the name would tend to produce more readable code. utime might be interpreted as user time. unix timestamp * 1e6 + microseconds", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ExtraSnippetInfoResponse": { - "description": "the extra info response from ascorer used to build snippets in GWS experiments", - "id": "ExtraSnippetInfoResponse", - "properties": { - "matchinfo": { - "$ref": "ExtraSnippetInfoResponseMatchInfo" - }, - "querysubitem": { - "items": { - "$ref": "ExtraSnippetInfoResponseQuerySubitem" - }, - "type": "array" - }, - "tidbit": { - "items": { - "$ref": "ExtraSnippetInfoResponseTidbit" - }, - "type": "array" - } - }, - "type": "object" - }, - "ExtraSnippetInfoResponseMatchInfo": { - "id": "ExtraSnippetInfoResponseMatchInfo", - "properties": { - "titleMatches": { - "description": "bitvector of query items matching the title", - "format": "uint64", - "type": "string" - }, - "urlMatches": { - "description": "bitvector of query items matching the url", - "format": "uint64", - "type": "string" - }, - "weightedItems": { - "description": "bitvector of query items considered by chooser", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "ExtraSnippetInfoResponseQuerySubitem": { - "description": "A query term, phrase, or synonym. An original query term or phrase is called an \"item\". Each item may have more than one \"subitem\" if there are synonyms. In rare cases a subitem may correspond to multiple items, such as the subitem \"cia\" in the query [central intelligence agency].", - "id": "ExtraSnippetInfoResponseQuerySubitem", - "properties": { - "isHighlighted": { - "description": "Additional information from the SnippetQuery.", - "type": "boolean" - }, - "isOptional": { - "type": "boolean" - }, - "isOriginal": { - "description": "true iff this subitem was an original query term or phrase. Can only be false if want_all_query_subitems == true in the request.", - "type": "boolean" - }, - "items": { - "description": "a bitvector of the query items corresponding to this subitem. Typically only one bit is set, but see comment above.", - "format": "int32", - "type": "integer" - }, - "text": { - "description": "text associated with this query item", - "type": "string" - }, - "weight": { - "description": "the weight of this query item, as calculated by SubitemWeight(): https://qwiki.corp.google.com/display/Q/SnippetWeights", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ExtraSnippetInfoResponseTidbit": { - "id": "ExtraSnippetInfoResponseTidbit", - "properties": { - "anchorinfo": { - "$ref": "ExtraSnippetInfoResponseTidbitAnchorInfo" - }, - "begin": { - "description": "For tidbits only: position of tidbit in the document. More specifically, tidbit is found at [begin, end) in the document's tokens.", - "format": "int32", - "type": "integer" - }, - "end": { - "format": "int32", - "type": "integer" - }, - "items": { - "description": "a bitvector of each query term within this tidbit", - "format": "uint64", - "type": "string" - }, - "score": { - "description": "the score for this tidbit if there was one this is returned for Snippets and Tidbits and is only meaningful for comparing between objects of the same type (snippet to snippet, tidbit to tidbit)", - "format": "float", - "type": "number" - }, - "text": { - "description": "the tidbit text, with search terms already highlighted", - "type": "string" - }, - "type": { - "enum": [ - "TIDBIT", - "BODY", - "META", - "GWD", - "FULL", - "ANCHOR" - ], - "enumDescriptions": [ - "it is a tidbit returned by want_all_tidbits", - "these are the best candidate snippets from each section, returned by want_all_snippets", - "", - "NOTE(kinoue): ODP/GWD snippet is unlaunched as of June 2017. This is no longer used.", - "", - "NOTE(kinoue): Deprecated and unsupported. anchor text, returned if max_anchors_wanted \u003e 0" - ], - "type": "string" - } - }, - "type": "object" - }, - "ExtraSnippetInfoResponseTidbitAnchorInfo": { - "description": "this information is specific to anchors and is only returned if type == ANCHOR", - "id": "ExtraSnippetInfoResponseTidbitAnchorInfo", - "properties": { - "offdomainCount": { - "format": "int32", - "type": "integer" - }, - "ondomainCount": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "FaceIndexing": { - "id": "FaceIndexing", - "properties": { - "mustangBytes": { - "description": "Always use image/search/utils/face_proto_util.h for packing and unpacking these values.", - "format": "byte", - "type": "string" - }, - "mustangBytesVersion": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "FatcatCompactBinaryClassification": { - "id": "FatcatCompactBinaryClassification", - "properties": { - "binaryClassifier": { - "description": "Either binary_classifier will be set, using the enum above, or binary_classifier_name will be set, if it is not one of the classifiers in the enum - never both.", - "enum": [ - "BLOG", - "FORUM", - "LOGIN", - "B2B_OK", - "IMAGES", - "SOCIAL", - "PURCHASING_INTENT", - "PORN", - "ADULTISH", - "VIOLENCE_GORE", - "GOSSIP" - ], - "enumDescriptions": [ - "Pagetypes", - "", - "", - "", - "", - "", - "", - "Sensitive content", - "", - "", - "" - ], - "type": "string" - }, - "binaryClassifierName": { - "type": "string" - }, - "discreteFraction": { - "description": "A CompactDocClassification will not usually have a weight. For a CompactSiteClassification, this value will be 0...127 corresponding to 0.0...1.0, indicating fraction of the site that this label applies to", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "FatcatCompactDocClassification": { - "description": "The result of PetacatAnnotator. Each result contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, sorted by the probabilities in descending order. 3. Binary classification results about page types and sensitive content. The types of taxonomies include: verticals4, geo, verticals4_geo, products_services, icm_im_audiences and icm_im_audiences_dev.", - "id": "FatcatCompactDocClassification", - "properties": { - "binary": { - "items": { - "$ref": "FatcatCompactBinaryClassification" - }, - "type": "array" - }, - "clusters": { - "$ref": "FatcatCompactRephilClusters" - }, - "epoch": { - "type": "string" - }, - "langCode": { - "type": "string" - }, - "rephilModelId": { - "description": "The id of the Rephil model used to generate the Rephil clusters. If it is absent, Rephil 4 is assumed.", - "format": "int32", - "type": "integer" - }, - "taxonomic": { - "items": { - "$ref": "FatcatCompactTaxonomicClassification" - }, - "type": "array" - }, - "url": { - "description": "not needed if the url is the sstable / bigtable key used during intermediate processing only", - "type": "string" - }, - "weight": { - "description": "The relative weight of this doc within a site, typically something like pagerank or navboost impressions. May be a large number (like an actual pageviews estimate), not limited to a small range.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "FatcatCompactRephilClusters": { - "id": "FatcatCompactRephilClusters", - "properties": { - "cluster": { - "items": { - "$ref": "FatcatCompactRephilClustersCluster" - }, - "type": "array" - } - }, - "type": "object" - }, - "FatcatCompactRephilClustersCluster": { - "id": "FatcatCompactRephilClustersCluster", - "properties": { - "discreteWeight": { - "description": "0...127 corresponds to 0.0 - 1.0", - "format": "int32", - "type": "integer" - }, - "id": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "FatcatCompactTaxonomicClassification": { - "description": "A version of this proto for logging is available at cs/symbol:logged_fatcat.LoggedCompactTaxonomicClassification", - "id": "FatcatCompactTaxonomicClassification", - "properties": { - "category": { - "items": { - "$ref": "FatcatCompactTaxonomicClassificationCategory" - }, - "type": "array" - }, - "classifierVersion": { - "type": "string" - }, - "taxonomy": { - "description": "Either taxonomy will be set, using the enum above, or taxonomy_name will be set (if the taxonomy is not one of the ones in the enum) - never both", - "enum": [ - "VERTICALS", - "VERTICALS4", - "VERTICALS4_GEO", - "GEO", - "PRODUCTS_SERVICES", - "ICM_IM_AUDIENCES", - "ICM_IM_AUDIENCES_DEV" - ], - "enumDescriptions": [ - "DEPRECATED Verticals, v3", - "Publisher Verticals, v4. go/verticals4", - "Publisher Verticals, v4 + World Localities", - "World Localities", - "Products \u0026 Services", - "ICM In Market Audiences", - "Experimental ICM In Market Audiences" - ], - "type": "string" - }, - "taxonomyName": { - "type": "string" - } - }, - "type": "object" - }, - "FatcatCompactTaxonomicClassificationCategory": { - "description": "A taxonomic category. A classification consists of weight (totalling 1.0) distributed among one or more categories.", - "id": "FatcatCompactTaxonomicClassificationCategory", - "properties": { - "discreteWeight": { - "description": "go/petacat-faq#how-should-i-interpret-classification-weights Discrete to reduce size. Range is [0,127], corresponding to [0.0,1.0].", - "format": "int32", - "type": "integer" - }, - "id": { - "description": "The category's ID, e.g. 20 for /Sports in the go/verticals4 taxonomy.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "FocusBackendContactDetailHash": { - "description": "http://go/contact-detail-hash.", - "id": "FocusBackendContactDetailHash", - "properties": { - "type": { - "enum": [ - "UNSPECIFIED", - "PHONE", - "EMAIL" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "value": { - "description": "The hash here will be a 16-bit weak hash to avoid reverse engineering for decoding the actual contact detail. The hash value is computed by the fingerprint of the raw contact detail mod 2^16.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "FocusBackendContactPointer": { - "description": "A contact pointer that represents a contact (http://go/assistant-contact-id).", - "id": "FocusBackendContactPointer", - "properties": { - "annotationId": { - "description": "The annotation ID. Annotations are only allowed to point to annotations that do not themselves have a pointer (avoids any possibilty of loops). Cast this field to string in javascript to make it compile in js.", - "format": "int64", - "type": "string" - }, - "deviceRawContactId": { - "$ref": "FocusBackendDeviceRawContactId", - "description": "The raw contact ID from an active mobile device of the user." - }, - "focusContactId": { - "description": "The contact ID from the Focus backend. Cast this field to string in javascript to make it compile in js.", - "format": "int64", - "type": "string" - }, - "otherContactId": { - "$ref": "FocusBackendOtherContactId", - "description": "Additional contact ids that are not actively used to match contact pointers to contacts." - }, - "secondaryId": { - "$ref": "FocusBackendSecondaryContactId", - "description": "The secondary identifier of contact. It will be used when the primary ID doesn't match any contact." - } - }, - "type": "object" - }, - "FocusBackendDeviceContactId": { - "description": "//////////////////// DeviceContactId ////////////////////// Used by Device Contacts only. For more details see go/fbs-support-for-device-contacts.", - "id": "FocusBackendDeviceContactId", - "properties": { - "ContactId": { - "description": "DeviceContact Id.", - "format": "int64", - "type": "string" - }, - "DeviceId": { - "$ref": "FocusBackendDeviceId", - "description": "Device Id." - } - }, - "type": "object" - }, - "FocusBackendDeviceId": { - "description": "//////////////////// DeviceId ////////////////////// Used by Device Contacts only. For more details see go/fbs-support-for-device-contacts.", - "id": "FocusBackendDeviceId", - "properties": { - "AndroidDeviceId": { - "description": "The GServices id on Android. See go/android-id.", - "format": "int64", - "type": "string" - }, - "Hash": { - "description": "DeviceId.Hash is a SHA256 of some attribute of the user and device. For Android devices: Hash = SHA256(gaia_account_name + “:” + “1” + “:” + (android id - LSB)); For iOS devices: Hash = TOLOWER(HEX(GMCSComputeUserDeviceToken(userId, iOsDeviceId)) For more details see go/client-instance-id.", - "type": "string" - } - }, - "type": "object" - }, - "FocusBackendDeviceRawContactId": { - "description": "//////////////////// DeviceRawContactId ////////////////////// Used by Device Contacts Only. The Raw ID as assigned to the original contact on the device. For more details see go/fbs-support-for-device-contacts.", - "id": "FocusBackendDeviceRawContactId", - "properties": { - "DeviceId": { - "$ref": "FocusBackendDeviceId" - }, - "RawContactId": { - "description": "Raw ID assigned by the device. Cast this field to string in javascript to make it compile in js.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "FocusBackendOtherContactId": { - "description": "Additional contact ids that are not actively used to match contact pointers to contacts. There may be overlap with primary or secondary contact ids.", - "id": "FocusBackendOtherContactId", - "properties": { - "deviceContactId": { - "description": "Device contact ID, when available: - The annotation points to a device contact, and the device contact id was correctly populated when the annotation was created. Note that the device contact id is populated once per device contact on a device. It is distinct from RawContactId - a single device contact may have multiple raw contact ids. - The annotation points to a Focus contact that was merged with device contact information in Starlight. When the annotation was created, a device contact id was available on the merged person object. - The contact annotation was created from April 2021 onwards. All prior annotations do not populate this field. ContactPointer creation relies on the client caller to correctly populate the device contact id, and does not enforce any assumptions on availability of this field. This field is repeated because in rare cases Starlight may merge device contact information across different devices into a single merged person object. WARNING: Use with extreme caution! This ID is not stable. For more details see go/fbs-support-for-device-contacts.", - "items": { - "$ref": "FocusBackendDeviceContactId" - }, - "type": "array" - } - }, - "type": "object" - }, - "FocusBackendSecondaryContactId": { - "description": "The secondary ID of a contact.", - "id": "FocusBackendSecondaryContactId", - "properties": { - "contactDetailHash": { - "description": "The hashes of the contact details (e.g. phone number and email address).", - "items": { - "$ref": "FocusBackendContactDetailHash" - }, - "type": "array" - }, - "contactName": { - "description": "The contact's full name, not hashed.", - "type": "string" - }, - "contactNameHash": { - "description": "The hash of contact's full name, generated using Fingerprint2011(). Cast this field to string in javascript to make it compile in js.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "FreebaseCitation": { - "description": "Citation contains the information needed to correctly attribute the source of data.", - "id": "FreebaseCitation", - "properties": { - "dataset": { - "description": "Mid of the dataset.", - "type": "string" - }, - "isAttributionRequired": { - "description": "If set to true, the citation is required to be displayed when the data is used.", - "type": "boolean" - }, - "project": { - "description": "Name of the project of the data's origin.", - "type": "string" - }, - "provider": { - "description": "The name of the provider of this information.", - "type": "string" - }, - "statement": { - "description": "A human readable statement of attribution.", - "type": "string" - }, - "uri": { - "description": "Uri link associated with this data.", - "type": "string" - } - }, - "type": "object" - }, - "FreebaseId": { - "description": "An Id contains the identifiers used to reference this topic (entity) in the Knowledge Graph. The Knowledge Graph supports several forms of identifiers: - \"mids\" (machine ids) that are assigned at creation time, and support a resolution mechanism that tracks topics after they are merged (for more about mids, see go/kg-mid), - \"ids\" are human-readable ids (HRIDs) that are derived from a namespace hierarchy stored in Knowledge Graph, and a set of rules, - \"guids\" are low-level ids historically used in Freebase (pre-Knowledge Graph, deprecated). Only the mid and id are supplied here. Note that mids can be converted to guids or uint64s (see //metaweb/util/mid/mid.h).", - "id": "FreebaseId", - "properties": { - "id": { - "description": "\"id\" may be a human readable ID (HRID) or a MID. Originally it was intended to always be a human readable ID, but that convention was not always followed so clients should be wary. Not every topic has an id.", - "type": "string" - }, - "mid": { - "description": "The \"mid\" should be used whenever a globally unique, primary key into the Knowledge Graph is needed. These keys are always prefixed with the \"/m\" and \"/g\", (and more rarely the \"/x\" and \"/t\") namespaces, and are alphanumeric strings consisting of lowercase letters excluding vowels, numbers and the underscore character. (Applications should not assume a constant length for these strings as Livegraph reserves the right to extend the number of characters to accommodate more topics.)", - "type": "string" - } - }, - "type": "object" - }, - "FreebaseLatLong": { - "description": "Represents a geopoint, which is one of the possible Value types.", - "id": "FreebaseLatLong", - "properties": { - "latDeg": { - "format": "float", - "type": "number" - }, - "longDeg": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "FreebaseMeasurement": { - "description": "Represents a measurements, which is one of the possible Value types. A measurement value like \"5.2 meter^2 / second\" would be represented as: magnitude: 5.2 unit { unit_mid: \"/m/mid_for_meter\" power: 2 } unit { unit_mid: \"/m/mid_for_second\" power: -1 }", - "id": "FreebaseMeasurement", - "properties": { - "magnitude": { - "format": "float", - "type": "number" - }, - "unit": { - "description": "Repeated units are interpreted as a product. i.e. (meter ^ 1) * (second ^ -2)", - "items": { - "$ref": "FreebaseMeasurementUnit" - }, - "type": "array" - } - }, - "type": "object" - }, - "FreebaseMeasurementUnit": { - "id": "FreebaseMeasurementUnit", - "properties": { - "power": { - "format": "int32", - "type": "integer" - }, - "unit": { - "$ref": "FreebaseId" - }, - "unitMid": { - "deprecated": true, - "description": "Deprecated fields.", - "type": "string" - } - }, - "type": "object" - }, - "FreebaseNestedStruct": { - "description": "List of { predicate, { object } } to be processed as a Nested Struct. Nested Struct can be recursive. NestedStruct.property_value(i).value(j) may have nested_struct field.", - "id": "FreebaseNestedStruct", - "properties": { - "propertyValue": { - "items": { - "$ref": "FreebasePropertyValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "FreebasePropertyValue": { - "description": "A PropertyValue associates properties with values in the context of a topic.", - "id": "FreebasePropertyValue", - "properties": { - "property": { - "$ref": "FreebaseId", - "description": "The id of the property." - }, - "totalValueCount": { - "description": "Indicates the total values that exist for this property, even if they aren't all present in the value field, due to truncation.", - "format": "int64", - "type": "string" - }, - "value": { - "description": "The value associated with the property for the containing topic.", - "items": { - "$ref": "FreebaseValue" - }, - "type": "array" - }, - "valueStatus": { - "description": "If ValueStatus is not set at all, the implication is that there are well-known value(s), specified in the \"value\" field. (It should be considered malformed data to have value_status set when len(values) \u003e 0.)", - "enum": [ - "HAS_UNKNOWN_VALUE", - "HAS_NO_VALUE" - ], - "enumDescriptions": [ - "There are values, but we don't know what they are. (e.g. person is known to have children, but we don't know who they are) (This is only sensible if len(values) == 0; it is an error to see this value if len(values) \u003e 0)", - "We know that there are no values for this predicate. (e.g. person is known to have zero children) (This is only sensible if len(values) == 0; it is an error to see this value if len(values) \u003e 0)" - ], - "type": "string" - } - }, - "type": "object" - }, - "FreebaseTopic": { - "description": "A Topic represents a Knowledge Graph entity with its associated properties and their values.", - "id": "FreebaseTopic", - "properties": { - "id": { - "$ref": "FreebaseId", - "description": "The id (mid and human-readable id) of the topic. The id will always be present and will contain a mid value for topics in the topic sstable." - }, - "propertyValue": { - "description": "The property-value bindings associated with the topic. Note that in the case where a property is relevant to a topic based on its type, but no values of that property are present for the topic, the PropertyValue will simply not appear, rather than being present with a null value, or empty repeated value list.", - "items": { - "$ref": "FreebasePropertyValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "FreebaseValue": { - "description": "Values are effectively a union of several possible Knowledge Graph types: simple primitive datatypes such as booleans, integers and floats, references to other Knowledge Graph topics (by id), or \"compound values\" which are expressed as embedded topics with associated properties and values. Values occur in indexed order (if any).", - "id": "FreebaseValue", - "properties": { - "boolValue": { - "description": "Present when value is bool.", - "type": "boolean" - }, - "citation": { - "$ref": "FreebaseCitation", - "deprecated": true, - "description": "Citation data for this value. See: http://go/kg-clap" - }, - "compoundValue": { - "$ref": "FreebaseTopic", - "description": "Compound values are those that contain either a number of simple valued facets (such as a latitude/longitude pair), or \"mediator\" topics representing multi-dimensional relationships between topics. In both cases we represent them here with an embedded topic, although the topic's identity is somewhat secondary to the property/value pairs it contains. (The identity is still made available so that it can be used to perform updates to that mediator on the Knowledge Graph.)" - }, - "deletionProvenance": { - "description": "Deletion provenance for this value.", - "items": { - "$ref": "StorageGraphBfgTripleProvenance" - }, - "type": "array" - }, - "displayLang": { - "description": "The lang of the display_value field.", - "type": "string" - }, - "displayValue": { - "description": "The display value of this value. This is a i18n-aware formatted value if present.", - "type": "string" - }, - "expectedProto": { - "description": "An optional name for a proto field.", - "type": "string" - }, - "floatValue": { - "description": "Present when value is float.", - "format": "double", - "type": "number" - }, - "idValue": { - "$ref": "FreebaseId", - "description": "Present when value is an id." - }, - "index": { - "deprecated": true, - "description": "Index of the value relative to the containing property (if any). Knowledge Graph supports a loose notion of indexing: some non-unique properties may have indices, while others may not. Furthermore, for a single property, some values may have indices (such as the top 5 actors in a film), while others may not (the film's supporting cast). Un-indexed values will appear at the end of the repeated value list. This field contains the index value only when is present in the Knowledge Graph.", - "format": "uint64", - "type": "string" - }, - "intValue": { - "description": "Present when value is int.", - "format": "int64", - "type": "string" - }, - "lang": { - "description": "Whenever the value is text with TYPE_TEXT, the lang field is populated with the III LanguageCode associated with the string_value field.", - "type": "string" - }, - "latLongValue": { - "$ref": "FreebaseLatLong", - "deprecated": true - }, - "measurementValue": { - "$ref": "FreebaseMeasurement", - "deprecated": true - }, - "nestedStruct": { - "$ref": "FreebaseNestedStruct", - "description": "Populated if this value holds NestedStruct. 'type' field needs to be set to TYPE_NESTED_STRUCT." - }, - "provenance": { - "description": "Provenance for this value.", - "items": { - "$ref": "StorageGraphBfgTripleProvenance" - }, - "type": "array" - }, - "rawValue": { - "description": "Similar to string_value/etc but contains raw bytes.", - "format": "byte", - "type": "string" - }, - "stringValue": { - "description": "Present when value is text, enum,", - "type": "string" - }, - "subgraphId": { - "deprecated": true, - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "timestamp": { - "deprecated": true, - "description": "The ISO-8601 timestamp corresponding to when this value was created (when it was written to the Knowledge Graph). Deprecated in favor of timestamp_usec.", - "type": "string" - }, - "timestampUsec": { - "description": "The microsecond timestamp corresponding to when this value was created.", - "format": "int64", - "type": "string" - }, - "type": { - "enum": [ - "TYPE_NULL", - "TYPE_ID", - "TYPE_TEXT", - "TYPE_ENUM", - "TYPE_KEY", - "TYPE_URI", - "TYPE_DATETIME", - "TYPE_BOOL", - "TYPE_INT", - "TYPE_FLOAT", - "TYPE_COMPOUND", - "TYPE_PROTO", - "TYPE_EXTENSION", - "TYPE_NESTED_STRUCT", - "TYPE_SEMANTIC_REFERENCE", - "TYPE_LAT_LONG", - "TYPE_MEASUREMENT", - "TYPE_HAS_VALUE", - "TYPE_HAS_NO_VALUE" - ], - "enumDescriptions": [ - "No fields are supplied.", - "id_value contains an Id of a referenced topic.", - "For text, string_value contains an UTF-8 string,", - "string_value contains an enum key string.", - "string_value contains a namespace key string.", - "string_value contains a URI string.", - "string_value contains a (possibly truncated)", - "bool_value contains a bool.", - "int_value contains an int. Uint64 are supported", - "float_value contains a float.", - "compound_value contains property/value pairs.", - "raw_value contains a raw proto.", - "This proto has extensions set.", - "nested_struct field is populated.", - "string_value contains a Meaning Schema(go/life-of-a-meaning-schema) type name which needs to be a valid ValueType or SemanticType. This is currently used by semantic type based answer value formatting(go/semantic-type-format) before Search Response Meaning(go/srm-design) is ready for use", - "lat_long_value contains a geopoint.", - "measurement_value contains a measurement.", - "No longer used; pending downstream code cleanup.", - "No longer used; pending downstream code cleanup." - ], - "type": "string" - } - }, - "type": "object" - }, - "GDocumentBase": { - "description": "Next id: 127", - "id": "GDocumentBase", - "properties": { - "ContentExpiryTime": { - "description": "unix secs from epoch", - "format": "int32", - "type": "integer" - }, - "DisplayUrl": { - "description": "Sometimes the URL displayed in search results should be different from what gets indexed (e.g. in enterprise, content management systems). If this value is not set, we default to the regular URL.", - "type": "string" - }, - "DocId": { - "description": "64-bit docid of the document (usually fingerprint of URL, but not always). WARNING: This does NOT uniquely identify a document ANYMORE. For a unique identifier across all documents in production please refer to the field 'id().key()' listed above.", - "format": "uint64", - "type": "string" - }, - "ExternalFeedMetadata": { - "type": "string" - }, - "ExternalHttpMetadata": { - "description": "Enterprise-specific external metadata. See http://engdoc/eng/designdocs/enterprise/enterprise_indexing_metadata.html", - "type": "string" - }, - "FilterForSafeSearch": { - "deprecated": true, - "description": "Deprecated, do not use, this field is not populated since 2012.", - "format": "int32", - "type": "integer" - }, - "IPAddr": { - "description": "IP addr in binary (allows for IPv6)", - "format": "byte", - "type": "string" - }, - "NoArchiveReason": { - "format": "int32", - "type": "integer" - }, - "NoFollowReason": { - "format": "int32", - "type": "integer" - }, - "NoImageIndexReason": { - "format": "int32", - "type": "integer" - }, - "NoImageframeOverlayReason": { - "format": "int32", - "type": "integer" - }, - "NoIndexReason": { - "description": "When these reasons are set to a non zero value, the document should not be indexed, or show a snippet, or show a cache, etc. These reasons are bit maps of indexing.converter.RobotsInfo.RobotedReasons enum values reflecting the places where the restriction was found: //depot/google3/indexing/converter/proto/converter.proto", - "format": "int32", - "type": "integer" - }, - "NoPreviewReason": { - "format": "int32", - "type": "integer" - }, - "NoSnippetReason": { - "format": "int32", - "type": "integer" - }, - "NoTranslateReason": { - "format": "int32", - "type": "integer" - }, - "Pagerank": { - "deprecated": true, - "description": "This field is long-deprecated in favour of Pagerank_NS, it is no longer maintained and can break at any moment.", - "format": "int32", - "type": "integer" - }, - "PagerankNS": { - "description": "Pagerank-NearestSeeds is a pagerank score for the doc, calculated using NearestSeeds method. This is the production PageRank value teams should use.", - "format": "int32", - "type": "integer" - }, - "Repid": { - "description": " is the webmirror representative id of the canonical url. Urls with the same repid are considered as dups in webmirror. WARNING: use this field with caution! The webmirror duprules change frequently, so this value only reflects the duprules at the time when the canonical's docjoin is built.", - "format": "byte", - "type": "string" - }, - "ScienceMetadata": { - "$ref": "ScienceCitation", - "description": "Citation data for science articles." - }, - "URL": { - "description": "WARNING: the URL does NOT uniquely identify a document ANYMORE. For a unique identifier across all documents in production please refer to the field 'id().key()' listed above. Reason: foo.bar:/http and foo.bar:/http:SMARTPHONE share the same URL, but the body of the two documents might differ because of different crawl-context (desktop vs. smartphone in this example).", - "type": "string" - }, - "URLAfterRedirects": { - "type": "string" - }, - "URLEncoding": { - "description": "See webutil/urlencoding", - "format": "int32", - "type": "integer" - }, - "content": { - "$ref": "GDocumentBaseContent" - }, - "directory": { - "items": { - "$ref": "GDocumentBaseDirectory" - }, - "type": "array" - }, - "ecnFp": { - "description": "96-bit fingerprint of the canonical url's webmirror equivalence class name as of when this cdoc was exported.", - "format": "byte", - "type": "string" - }, - "id": { - "$ref": "IndexingCrawlerIdServingDocumentIdentifier", - "description": "The primary identifier of a production document is the document key given in the ServingDocumentIdentifier, which is the same as the row-key in Alexandria, and represents a URL and its crawling context. In your production code, please always assume that the document key is the only way to uniquely identify a document. ## Recommended way of reading: const string\u0026 doc_key = cdoc.doc().id().key(); ## CHECK(!doc_key.empty()); More background information can be found in google3/indexing/crawler_id/servingdocumentidentifier.proto The ServingDocumentIdentifier uniquely identifies a document in serving and also distinguishes between experimental vs. production documents. The SDI is also used as an input for the union/muppet key generation in serving." - }, - "localsearchDocInfo": { - "$ref": "LocalsearchDocInfo", - "description": "Localsearch-specific data." - }, - "oceanDocInfo": { - "$ref": "OceanDocInfo", - "description": "Ocean-specific data." - }, - "originalcontent": { - "$ref": "GDocumentBaseOriginalContent" - }, - "userAgentName": { - "description": "The user agent name used to crawl the URL. See //crawler/engine/webmirror_user_agents.h for the list of user-agents (e.g. crawler::WebmirrorUserAgents::kGoogleBot). NOTE: This field is copied from the first WEBMIRROR FetchReplyClientInfo in trawler_fetch_info column. We leave this field unpopulated if no WEBMIRROR FecthReplyClientInfo is found. As the submission of cl/51488336, Alexandria starts to populate this field. However, docjoins from freshdocs (or any other source), won't have this field populated, because we believe no one needs to read this field from freshdocs docjoins.", - "type": "string" - } - }, - "type": "object" - }, - "GDocumentBaseContent": { - "description": "Main content section", - "id": "GDocumentBaseContent", - "properties": { - "AuthMethod": { - "format": "int32", - "type": "integer" - }, - "ContentLength": { - "description": "The actual length of the content: If Representation is compressed, this equals to Content.UncompressedLength; otherwise it is the length of the representation string.", - "format": "int32", - "type": "integer" - }, - "ContentType": { - "description": "See enum ContentType in //depot/google3/webutil/http/content-type.proto.", - "format": "int32", - "type": "integer" - }, - "CrawlTime": { - "description": "Seconds since Unix epoch.", - "format": "int64", - "type": "string" - }, - "Encoding": { - "description": "See //depot/google3/i18n/encodings/public/encodings.h Encoding of representation", - "format": "int32", - "type": "integer" - }, - "HasHttpHeader": { - "description": "Set to false if Representation does not contain HTTP headers.", - "type": "boolean" - }, - "Language": { - "description": "A Language enum value. See: go/language-enum Default is english", - "format": "int32", - "type": "integer" - }, - "OriginalEncoding": { - "description": "If OriginalEncoding is present, the body part of the Representation was converted to UTF-8, Encoding was set to UTF8, and OriginalEncoding was set to the original encoding before conversion. However, the HTTP headers part of the content might not be valid UTF-8. -1=an invalid value", - "format": "int32", - "type": "integer" - }, - "Representation": { - "description": "Possibly compressed for old documents. It is not compressed for docjoins produced by Raffia after ~2012.", - "format": "byte", - "type": "string" - }, - "UncompressedLength": { - "description": "Historically present if Representation is compressed.", - "format": "int32", - "type": "integer" - }, - "VisualType": { - "description": "Whether the content was visual right-to-left, and if so, what type of visual document it is. Must be one of the values in enum VisualType from google3/repository/rtl/visualtype.h Default is NOT_VISUAL_DOCUMENT. See http://wiki/Main/RtlLanguages for background.", - "format": "int32", - "type": "integer" - }, - "crawledFileSize": { - "description": "Crawled file size of the original document.", - "format": "int32", - "type": "integer" - }, - "encodedGeometryAnnotations": { - "description": "GeometryAnnotations, encoded with GeometryUtil::DeltaEncode() to reduce disk space usage. Use GeometryUtil::DeltaDecode() to decode this field.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "GDocumentBaseDirectory": { - "description": "The Directory proto group holds snippet and title metadata which is made available to the snippet code. The proto group was originally created for metadata coming from the Google Web Directory (gwd) project. It has since come to be used to hold metadata from gwd and other sources. ", - "id": "GDocumentBaseDirectory", - "properties": { - "Category": { - "description": "encoded in UTF8", - "type": "string" - }, - "Description": { - "description": "encoded in UTF8", - "type": "string" - }, - "DescriptionScore": { - "deprecated": true, - "format": "float", - "type": "number" - }, - "Identifier": { - "description": "\"gwd\", etc.", - "type": "string" - }, - "Language": { - "description": "go/language-enum", - "format": "int32", - "type": "integer" - }, - "Title": { - "description": "encoded in UTF8", - "type": "string" - }, - "TitleScore": { - "deprecated": true, - "description": "Deprecated; do not use. There is no code populating these fields as of Oct 2017.", - "format": "float", - "type": "number" - }, - "URL": { - "type": "string" - } - }, - "type": "object" - }, - "GDocumentBaseOriginalContent": { - "description": "The original, unconverted document, typically PDF or Word. Copied from OriginalDoc field of doclogs. Unlike \"Content\", this does not contain any HTTP headers. The content may be compressed using the same method as \"Content\". In practice it is only compressed in the Teragoogle index. It is never compressed in docjoins because those are compressed at the sstable level. In doclogs content will only be compressed if the Trawler fetchreply is also compressed--which is currently never and unlikely to change for performance reasons.", - "id": "GDocumentBaseOriginalContent", - "properties": { - "Representation": { - "type": "string" - }, - "UncompressedLength": { - "description": "present iff rep is compressed", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GenericSnippetResponse": { - "description": "The generic version of a snippet response", - "id": "GenericSnippetResponse", - "properties": { - "debugInfo": { - "description": "Per-doc debug information.", - "items": { - "type": "string" - }, - "type": "array" - }, - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Servlet-specific response info." - }, - "rankingSnippet": { - "description": "The experimental ranking snippet field. This will be populated only when `fastwa_want_ranking_snippet` is set in the request.", - "type": "string" - }, - "snippet": { - "description": "Lines of the snippet HTML. Typically gws concatenates these and lets the browser wrap. The values include trailing spaces, so inserting additional spaces is not necessary. However, for very old browsers, gws may insert break tags after each snippet line. This field is confusing and poorly named; \"snippet_line\" would be better. In particular, note that this does not return multiple snippets for a result. Nor are these fields the individual tidbits of the snippet.", - "items": { - "type": "string" - }, - "type": "array" - }, - "title": { - "description": "The title HTML. It may contain tags to denote query term matches. It may be already truncated and \"...\" is put instead (note that truncation does not always happen at the very end of the title text). However the existence of \"...\" does not guarantee that the snippet generation algorithm truncated it; e.g. webmasters themselves can write \"...\".", - "type": "string" - }, - "wwwSnippetResponse": { - "$ref": "WWWSnippetResponse", - "description": "Snippet-specific members (tag ids 16+, must be optional!) Example: optional NewContentResponse new_response;" - } - }, - "type": "object" - }, - "GeoOndemandAssistantSupportedActions": { - "description": "Actions supported by Madden for a local entity.", - "id": "GeoOndemandAssistantSupportedActions", - "properties": { - "allowsGuestCheckout": { - "description": "Whether this local entity allows guest checkout for reservations.", - "type": "boolean" - }, - "isAsynchronousRestaurantReservation": { - "description": "Whether or not this local entity supports asynchronous restaurant reservations, through the above restaurant_reservation_url.", - "type": "boolean" - }, - "restaurantReservationUrl": { - "description": "URL for the Madden restaurant reservation flow, e.g. for display in a WebView. Not populated if restaurant reservations are not supported for the local entity.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreAccessPointProto": { - "description": "This class holds information about a single access point. An access point establishes a relationship between a feature (like a POI or building) and some other feature. For example, consider a TYPE_LOCALITY feature like Seattle. An access point might be the TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport feature defines the access point to gain airplane-based access to Seattle. A feature like Seattle will typically have multiple access points. You can get to Seattle using airplanes, various forms of public transit, or by driving a car. Thus Seattle would have multiple access points. You may be able to get to Seattle by flying into SeaTac, or you might be able to fly into Boeing Field, or Paine Field in Everett. You could drive in from the North/South using I-5, or you could drive in from the East using I-90. Many access points are from the road network. Thus the access point for some building at 123 Main Street would likely be a segment that defines the 100-200 block of \"Main Street\". A feature at the corner of \"Hollywood\" and \"Vine\" streets might have access points from both named streets. Access points are an optional field. Data editors may ignore them when creating features or editing other fields. In these cases, other quality teams will synthesize and update them. Several fields are also optional, as they are derivable from other fields. Access points to non-TYPE_SEGMENT features should always have the following fields set: - feature_type - feature_id - point Location and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT features must have all the following BASIC fields: - feature_type (of the segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) - point_off_segment (or point; see \"fuzzy point\" note below) - unsuitable_travel_mode (may be empty) - level (indoor access points only) The following are DERIVABLE fields, which should only be added if the supplier is confident about their accuracy: - feature_id - point_on_segment - segment_position Editing clients are encouraged to set all fields, but they may set only the BASIC fields, in which case quality teams may use the BASIC fields to snap to an appropriate segment and derive the remaining fields. Example: The segment is split, so that the portion that the access point is on has a new feature ID. Quality teams notice that the point_on_segment is no longer on the segment with feature_id, finds the new nearest segment based on feature_type and existing point_on_segment, and re-derives a new feature_id, point_on_segment, and segment_position, keeping other fields consistent. Fuzzy point special case If the editor does not have side-of-road information for access points or is otherwise unsure of the precise placement of the access point, it may supply the point field (and not point_off_segment) as basic data instead, in which case quality teams may generate the point_off_segment. Identity Access points are considered semantically equivalent if they have the same geometry, including derived fields, and the same references to other features (feature_id, level_feature_id). For the exact definition, see cs/symbol:geostore::AreAccessPointsEquivalent. Field definitions", - "id": "GeostoreAccessPointProto", - "properties": { - "canEnter": { - "description": "RESERVED", - "type": "boolean" - }, - "canExit": { - "description": "RESERVED", - "type": "boolean" - }, - "featureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "The ID of the feature that defines the access point. The bounding box of the feature is expanded to include the bounding box of the feature with the access point in accordance with the standard practice for bucketing map/reduce operations. See the wiki page at http://wiki/Main/OysterBucketingMapReduce for more information. For access points to TYPE_SEGMENT features, this may be re-derived if necessary by looking up the nearest segment to existing geometry." - }, - "featureType": { - "description": "The type of the feature. Required, to allow handling the access point differently based on feature type. For access points to non-TYPE_SEGMENT features, this cached type also makes things easier for clients that aren't running a bucketing map-reduce. For access points to TYPE_SEGMENT features, this is used to find to find the nearest segment of the given type.", - "format": "int32", - "type": "integer" - }, - "levelFeatureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "For indoor access points, this should be set to the level that the access point is on. The feature_id should point to the indoor segment, but when it is missing or invalid, and we need to derive it from geometry, only segments on this level will be considered. For non-indoor access points, level should remain unset, and when we derive feature_id from geometry, only segments not on any level (non-indoor segments) will be considered. The bounding box of the level feature is expanded to include the bounding box of the feature with the access point in accordance with the standard practice for bucketing map/reduce operations. See the wiki page at http://wiki/Main/OysterBucketingMapReduce for more information. (Though in general the feature should reside on the level already anyway..)" - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this access point." - }, - "point": { - "$ref": "GeostorePointProto", - "description": "For access points to non-TYPE_SEGMENT features, the location of the access point. For access points to TYPE_SEGMENT features, this can be supplied as a fuzzy access point that is not guaranteed to be on the correct side of road. It should not be used by end clients in case of TYPE_SEGMENT access points." - }, - "pointOffSegment": { - "$ref": "GeostorePointProto", - "description": "If the access point is defined by a TYPE_SEGMENT feature, this is the location of the access point displaced slightly to the correct side of the segment. This offset is in a direction perpendicular to the direction of travel along the segment. The actual offset distance is unspecified. It would typically be relatively small (approximately 1 meter). You can subtract the \"off segment\" point from the \"on segment\" point to get a vector of unknown length pointing from \"on segment\" point to the \"off segment\" point. You can then scale that vector to whatever length you want. Note that extending this displacement vector a large distance (10s of meters) may result in a new point that is in the middle of some other feature (park, street, intersection). This is the preferred basic geometry field for incoming data from editing clients and importers, if side-of-road is well-established." - }, - "pointOnSegment": { - "$ref": "GeostorePointProto", - "description": "If the access point is defined by a TYPE_SEGMENT feature, this is the point on the centerline of the segment that is closest to the actual access point. May be re-derived if necessary to maintain precise placement on segment." - }, - "priority": { - "description": "LINT.ThenChange(//depot/google3/geostore/cleanup/callbacks/\\ ID_DUPLICATE_ACCESS_POINT.cc)", - "enum": [ - "TYPE_PRIMARY", - "TYPE_SECONDARY" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "segmentPosition": { - "description": "If the access point is defined by a TYPE_SEGMENT feature, this is the location of the access point expressed as a fractional distance along the segment. The value runs from 0 to 1 inclusive. May be re-derived if necessary to maintain precise placement on segment.", - "format": "float", - "type": "number" - }, - "unsuitableTravelMode": { - "description": "This list represents the travel modes for which this access-point should be avoided. If this list is empty, the access-point is suitable for any travel mode. If all access points are unsuitable for the current travel mode, client should revert to other heuristics (e.g. feature center). This is only used for access points to TYPE_SEGMENT features; access points to non-TYPE_SEGMENT features, e.g. TYPE_ESTABLISHMENT_POI features with gcid:transit_station GConcepts are just identified by feature_type and feature_id.", - "items": { - "enum": [ - "TRAVEL_MODE_MOTOR_VEHICLE", - "TRAVEL_MODE_AUTO", - "TRAVEL_MODE_TWO_WHEELER", - "TRAVEL_MODE_BICYCLE", - "TRAVEL_MODE_PEDESTRIAN", - "TRAVEL_MODE_PUBLIC_TRANSIT" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreAddressComponentProto": { - "description": "This class represents a parsed field within an address. NOTE: if you add a field to this proto, please update the AreAddressComponentsEquivalent() function in google3/geostore/base/internal/addresscomponent.cc", - "id": "GeostoreAddressComponentProto", - "properties": { - "featureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "The id of the corresponding Feature, if such a feature is defined. As discussed above for feature_type, components of TYPE_FEATURE or TYPE_LANDMARK may have a corresponding feature id." - }, - "featureType": { - "description": "For components of TYPE_FEATURE or TYPE_LANDMARK, this is the feature type (TYPE_COUNTRY, TYPE_LOCALITY, TYPE_ESTABLISHMENT_POI etc.). Note that some features may not actually exist in the geostore (e.g. a village that we've never heard of), in which case the feature_id will be missing but the feature_type is still specified. Please refer to IsValidAddressComponentFeatureType() in google3/geostore/base/public/addresscomponent.h for the definitive list of feature types allowed for the type (either TYPE_FEATURE or TYPE_LANDMARK) of components.", - "format": "int32", - "type": "integer" - }, - "index": { - "description": "The order of this address component relative to the ones that share the same feature_type in the AddressProto. For now, the primary use of this index field is to handle ordering issue of multiple occurrences of AddressComponentProto with feature_type of TYPE_ROUTE (and subtypes), or TYPE_POLITICAL, where the order of the address components matters as there are dependences. 0 is the smallest valid index value, representing the most specific address component. Index value of 1 represents a relatively less specific address component of the same feature_type on which the 0-indexed address component depends.", - "format": "int32", - "type": "integer" - }, - "parsedName": { - "description": "The parsed_name field contains one or more names of an address component. Its actual contents depends on where in the Geo/Google stack you are reading a feature: 1. When an address is initially parsed via a feed or other raw input and structured as an AddressProto, parsed_name should contain the set of names that corresponds to the (possibly normalized) raw text from the raw input. 2. In MapFacts, the address component may be linked to an actual feature via feature_id. Any address formatting directly from MapFacts should follow links to retrieve names when possible. The parsed_name contents may be formatted directly if the address component is unlinked following the same rules as selecting and formatting the name of a feature. The cached parsed_name is regularly refreshed from the linked feature with the minimal set of names for address components (usually just a single, preferred name, in the local language, plus a Latin-script name: go/story-of-ac-names). 3. In serving systems, the names of linked features may be denormalized into the parsed_name field to facilitate quicker address formatting or for simple data filtering (e.g. finding all geocodes in California by name). If reading a feature from such a system, the parsed_name field could contain multiple names in multiple languages that reflect a cached copy of the names associated with the linked features. Formatting of such names should follow the same rules as selecting and formatting the name of a feature itself.", - "items": { - "$ref": "GeostoreNameProto" - }, - "type": "array" - }, - "range": { - "$ref": "GeostoreAddressRangeProto", - "description": "Any numerical address component may optionally be specified as a range. For example if a component of TYPE_STREET_NUMBER has the optional \"range\" attribute, then it represents a range of addresses rather than a single address (see AddressRangeProto for details)." - }, - "temporaryData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place for clients to attach arbitrary data to an address component. Never set in MapFacts." - }, - "textAffix": { - "description": "Additional text to append before and/or after the parsed_name, when the address is formatted. Multiple instance should represent translations. Currently, this is only permitted on TYPE_LANDMARK components, and only one instance is permitted.", - "items": { - "$ref": "GeostoreTextAffixProto" - }, - "type": "array" - }, - "type": { - "description": "Every address component has a type. Most address components correspond to one of the feature types defined in FeatureProto, so rather than defining a separate category system here, instead we mark them as TYPE_FEATURE and store the FeatureProto type in the feature_type() field. This is how we handle countries, cities, streets, etc. However, there are a few types of address components that do not have a corresponding feature type (e.g. PO boxes). These components have their type defined here. An address component of TYPE_STREET_NUMBER may correspond to a physical entity that defines a street number, such as a geocoded address or a land parcel. In this case, the address component may have a link to the corresponding feature. A good reference for what types of address components are possible is the xAL standard, which is a published XML schema: http://www.oasis-open.org/committees/ciq/download.shtml. This standard is the basis of the PostalAddress protocol message.", - "enum": [ - "TYPE_FEATURE", - "TYPE_POSTAL_CODE_SUFFIX", - "TYPE_POST_BOX", - "TYPE_STREET_NUMBER", - "TYPE_FLOOR", - "TYPE_ROOM", - "TYPE_HOUSE_ID", - "TYPE_DISTANCE_MARKER", - "TYPE_LANDMARK", - "TYPE_PLUS_CODE" - ], - "enumDescriptions": [ - "", - "Address contains a suffix that refines the postal code in this address (e.g. the '+4' portion of a US '5+4' zip code). Postal code suffixes do not point to features.", - "", - "", - "DEPRECATED, use TYPE_FEATURE/TYPE_LEVEL", - "DEPRECATED, use TYPE_FEATURE/TYPE_COMPOUND_SECTION", - "A building number unique relative to some political feature.", - "A component corresponding to a marker for the approximate distance of the address along the route. Distance markers do not point to features and must have a single name that corresponds to the distance measured along the route in the standard units of the locale in which the address is contained (units themselves omitted from the name). The name must be a canonical floating point number in the feature's locale. E.g. in the US, the name representing 1000.5 must be '1,000.5'. Trailing zeros after the decimal and superfluous zeros preceding the number are forbidden.", - "A component representing a reference to some nearby landmark, to aid navigation. Landmark components are distinguished by the fact that they have additional text to relate the feature with this address, for example \"near\" or \"opposite\". This text is stored in the affix field. Landmark components may point to features, but are not required to.", - "Plus codes (go/pluscodes) are short, user readable encodings of latitude and longitude, that are intended as a substitute for street addresses where these do not exist or are not commonly used. Used when the physical address of the feature contains a local plus code, e.g.'PXX7+RW' in 'PXX7+RW Damaturu, Nigeria'." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreAddressLinesProto": { - "description": "Represents the unparsed portion of an address with an associated language.", - "id": "GeostoreAddressLinesProto", - "properties": { - "language": { - "description": "The external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.md", - "type": "string" - }, - "line": { - "description": "These lines are in display order.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreAddressProto": { - "description": "This class represents an address, partial address, or address range. It is intended to be attached to features to identify their address(es). Some important points about addresses: - The addresses in the Geo Schema do *not* include a component for the name of the feature, i.e. they are not self-referential. For example, the name of a feature might be \"Zack's Pizza\" and its address would be \"123 Main Street\". Similarly, streets, cities, and counties do not include themselves as part of their address. The address of \"Seattle\" is \"King County, Washington, USA\". If want to construct an address that *does* include the feature name, you can simply prepend it to the other address components. - Lakes, mountains, and other natural features do not normally have addresses. Countries also do not have addresses because they are at the top of the political hierarchy. - Address components in the Geo Schema are listed in a particular order, independent of the conventions used by the country in which they occur. The basic order is \"smallest to largest\" starting with street numbers and routes, then political features, and ending with postal features. The exact rules are defined by the implementation of the AddressComponentOrdering::IsLessThan() function. - Some types of address components may occur more than once in an address. For example, a UK address with a \"dependent thoroughfare\" would have two components of TYPE_ROUTE (i.e. street names). These are listed in the order they are normally written.", - "id": "GeostoreAddressProto", - "properties": { - "addressLines": { - "description": "The unparsed portion (lines) of the address. An address can have multiple unparsed portions. Multiple unparsed portions sharing the same language should be modeled as one address_lines instance having multiple lines. Historically, we also supported unparsed portions in different languages, but we no longer do. Consequently, only one value is allowed for this field despite the fact that it is repeated. See go/address-lines-multi-language for information about why we made this change. If any components are filled in, this is supplemental to (i.e. disjoint from) them. Furthermore, this must be the most specific portion of the address (except for the portion, if any, stored in the name field of feature.proto). Unparsed lines are always formatted together in a block. Other address components are never formatted between the address lines. This doesn't imply that the address lines are always either the first or the last part of the formatted output.", - "items": { - "$ref": "GeostoreAddressLinesProto" - }, - "type": "array" - }, - "component": { - "description": "A list of parsed address components, e.g. the street, city, etc. An address range is one type of component.", - "items": { - "$ref": "GeostoreAddressComponentProto" - }, - "type": "array" - }, - "crossStreet": { - "deprecated": true, - "description": "** DEPRECATED ** This field is now deprecated (see b/33268032). If you want to store cross street information as part of an address, use the address_lines field.", - "items": { - "$ref": "GeostoreAddressComponentProto" - }, - "type": "array" - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this address." - }, - "partialDenormalization": { - "$ref": "GeostoreAddressProto", - "description": "reserved" - }, - "templateId": { - "description": "The opaque ID of the address template that contains rules for structuring this address. The id of the address template can be retrieved using google3/geostore/address_templates/public/address_templates.h", - "type": "string" - }, - "temporaryData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place for clients to attach arbitrary data to an address. Never set in MapFacts." - } - }, - "type": "object" - }, - "GeostoreAddressRangeProto": { - "description": "This class represents a range of numbers in an address. It is an optional additional field in the 'AddressComponentProto' message. This structure can be used to model both single addresses and address ranges. There are two primary use-cases for address ranges: definitions and references. Ranges are being defined when they are present on the addresses of segment features. Ranges are being referenced when they are present on non-segment features. NOTE: If you add fields in this proto, consider updating the AreAddressRangesEquivalent() function in google3/geostore/base/internal/addressrange.cc", - "id": "GeostoreAddressRangeProto", - "properties": { - "number": { - "description": "Two or more address numbers. Each number represents an address that was mentioned by the data provider.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "parameter": { - "description": "For address range definitions: Two or more interpolation parameter values. The length of this array must match the length of the number array, and each parameter number specifies the position of the corresponding address number. Each value is an interpolation between 0.0 and 1.0 inclusive. The value is proportional to the distance traveled along the segment's polyline starting at its origin. The parameters must be provided in increasing order and the values in the number array must be in strictly increasing or decreasing order. We make an exception for singleton addresses, which are represented as two copies of a (number, parameter) pair, for backwards compatibility. For address range references: This array must be empty.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "prefix": { - "description": "If specified, the prefix or suffix is applied to all numbers in the range. For example, this can be used to indicate that addresses B1 through B99 are on one side of the street, while A1 through A99 are on the other side of the street.", - "type": "string" - }, - "sameParity": { - "description": "If 'same_parity' is true, then all 'number' values must have the same parity (even or odd), and this address range only includes addresses whose parity is the same as the given 'number' values.", - "type": "boolean" - }, - "suffix": { - "type": "string" - }, - "temporaryData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place for clients to attach arbitrary data to an address range. Never set in MapFacts. Here are some examples: Example #1: Single non-numeric address (e.g., \"Twelve\") At the moment this can only be represented as a street number (with the value in the parsed_name field of the AddressComponentProto). We have future plans to make other changes so we can handle this case. Example #2: Single semi-numeric address (e.g., \"12bis\") The number array contains two copies of the single numeric value (12). The prefix is empty and the suffix contains \"bis\". The parameter array has two identical values specifying the position of the single address. Example #3: Simple address range (e.g., \"100 to 198, even numbers only\") The number array contains the two values \"100\" and \"198\". The prefix and suffix strings are empty in this example. The parameter array has two values, one for each number. The same_parity flag is set in this example." - } - }, - "type": "object" - }, - "GeostoreAnchoredGeometryProto": { - "description": "A feature’s geometry that is populated from the 3D Geometry Store. Please see go/a3d-and-mapfacts for design details.", - "id": "GeostoreAnchoredGeometryProto", - "properties": { - "geometryId": { - "description": "The ID to be used to fetch the feature’s geometry from the 3D Geometry Store.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreAppliedSpeedLimitProto": { - "description": "A container for speed limits that allows tagging with a correctness trust level.", - "id": "GeostoreAppliedSpeedLimitProto", - "properties": { - "speedLimit": { - "$ref": "GeostoreSpeedLimitProto", - "description": "The actual speed limit value." - }, - "trustLevel": { - "description": "The level of trust we have in this speed limit value.", - "enum": [ - "SPEED_LIMIT_TRUST_LEVEL_UNKNOWN", - "LOW_QUALITY", - "HIGH_QUALITY", - "EXACT" - ], - "enumDescriptions": [ - "Default proto value, this value will never be set in MapFacts.", - "This speed limit is set, but may be completely wrong and potential users should consult external quality metrics before deciding whether to use it.", - "We have high confidence that this is the correct speed limit, and that it's good enough to be shown to users. However, we are not completely confident the value is correct.", - "We are certain that this is the correct speed limit." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreAttachmentsAttachmentProto": { - "description": "An AttachmentProto contains structured data of a client-specified type. An attachment is uniquely identified by the combination of its attachment_id and client_name_space fields. ", - "id": "GeostoreAttachmentsAttachmentProto", - "properties": { - "attachmentId": { - "description": "attachment_id distinguishes messages of the same type_id associated with the same feature. It can not be set to 0x0.", - "format": "uint64", - "type": "string" - }, - "clientNameSpace": { - "description": "This field specifies a namespace identifier that can be used to track the sources of attachments in a human friendly format. Name spaces must be at most 64 characters long and must be composed entirely of alphanumeric characters, hyphens, and underscores. No other characters are allowed.", - "type": "string" - }, - "comment": { - "deprecated": true, - "description": "comment is a human-readable string that is logged whenever this attachment is processed by the framework.", - "type": "string" - }, - "messages": { - "$ref": "Proto2BridgeMessageSet", - "description": "messages contains the structured data for this attachment. It should contain a single message with a type ID matching the value of the type_id field below." - }, - "typeId": { - "description": "type_id determines the type of the actual attachment that should be set in the messages MessageSet. It can not be set to 0x0.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreAttributeIdProto": { - "description": "Used to represent the unique id of an attribute.", - "id": "GeostoreAttributeIdProto", - "properties": { - "id": { - "description": "The id of the attribute. Stored as a stripped format of the gcid (e.g. \"foo\" instead of \"gcid:att_foo\").", - "type": "string" - }, - "providerId": { - "description": "Set because it's required, but not really meaningful in geostore (always set to \"Geo\").", - "type": "string" - }, - "type": { - "enum": [ - "ITEMCLASS", - "ATTRIBUTE", - "VALUESPACE", - "DATASTORE" - ], - "enumDescriptions": [ - "deprecated", - "", - "deprecated", - "deprecated" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreAttributeProto": { - "description": "Protocol buffer for attaching attributes and values to instances. This is for assigning a particular attribute and value to a repository item, not for metadata. For protocol buffers that represents metadata about attributes and values, see CanonicalAttribute in itemclass.proto and ValueSpace in valuespace.proto.", - "id": "GeostoreAttributeProto", - "properties": { - "applicationData": { - "$ref": "Proto2BridgeMessageSet", - "deprecated": true - }, - "attributeDisplay": { - "deprecated": true, - "items": { - "$ref": "GeostoreAttributeValueDisplayProto" - }, - "type": "array" - }, - "booleanValue": { - "type": "boolean" - }, - "canonicalAttributeId": { - "$ref": "GeostoreAttributeIdProto", - "description": "The canonical attribute for this attribute instance." - }, - "doubleValue": { - "format": "double", - "type": "number" - }, - "enumIdValue": { - "description": "For those attribute ids that expect their values to be taken from an enumeration-style set of values, that value's gcid should be stored here, e.g. \"gcid:attval_yes\".", - "type": "string" - }, - "floatValue": { - "format": "float", - "type": "number" - }, - "int64Value": { - "format": "int64", - "type": "string" - }, - "integerValue": { - "format": "int32", - "type": "integer" - }, - "itemClassId": { - "$ref": "GeostoreAttributeIdProto", - "deprecated": true - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this attribute" - }, - "protoValue": { - "$ref": "Proto2BridgeMessageSet", - "deprecated": true, - "description": "Fully qualified package name because genprotohdf uses genproto for this proto2 syntax: https://wiki.corp.google.com/twiki/bin/view/Main/Proto2WithGenproto" - }, - "stringValue": { - "description": "The attribute value falls into one of these fields, based on value_type:", - "type": "string" - }, - "uint32Value": { - "format": "uint32", - "type": "integer" - }, - "valueDisplay": { - "deprecated": true, - "description": "Used to store language-specific names of this attribute's value (e.g. a translation into another language).", - "items": { - "$ref": "GeostoreAttributeValueDisplayProto" - }, - "type": "array" - }, - "valueSpaceId": { - "$ref": "GeostoreAttributeIdProto", - "deprecated": true - }, - "valueType": { - "enum": [ - "NONE", - "STRING", - "INTEGER", - "DOUBLE", - "BOOLEAN", - "PROTO_VALUE", - "INT64", - "FLOAT", - "DISPLAY_ONLY", - "UINT32", - "ENUM_ID" - ], - "enumDeprecated": [ - true, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "The value comes from an enumerated attribute valuespace." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreAttributeValueDisplayProto": { - "description": "Used to help display language-specific names of attributes.", - "id": "GeostoreAttributeValueDisplayProto", - "properties": { - "language": { - "type": "string" - }, - "synonym": { - "type": "string" - } - }, - "type": "object" - }, - "GeostoreBarrierLogicalMaterialProto": { - "id": "GeostoreBarrierLogicalMaterialProto", - "properties": { - "material": { - "items": { - "enum": [ - "UNKNOWN_LOGICAL_MATERIAL", - "CONCRETE", - "METAL", - "PLASTIC", - "STONE", - "TIMBER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreBestLocaleProto": { - "description": "A BestLocaleProto holds information about the best-match locale for a feature. Clients may use this information to determine the appropriate local name of a feature.", - "id": "GeostoreBestLocaleProto", - "properties": { - "locale": { - "$ref": "GeostoreFeatureIdProto", - "description": "The ID of the best-match TYPE_LOCALE feature for this feature." - }, - "localizationPolicyId": { - "description": "The ID of the localization policy to apply when selecting a name for a feature. This field should always be set. If feature_id is also defined, this field should have the same localization policy ID as the referenced locale feature. Localization policy IDs are arbitrary identifiers (up to some number of bytes; see geostore/base/public/constants.h) that uniquely distinguish a set of language-selection rules.", - "type": "string" - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this best locale." - } - }, - "type": "object" - }, - "GeostoreBizBuilderReferenceProto": { - "description": "The reference to a BizBuilder listing. For details on BizBuilder see http://g3doc/commerce/bizbuilder/backend/g3doc/index.md", - "id": "GeostoreBizBuilderReferenceProto", - "properties": { - "id": { - "description": "Listing id. Used in queries to BizBuilder backend for listing access.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreBorderProto": { - "description": "A border represents a line of division between two features of the same type (i.e. United States and Mexico, but not California and Mexico). Borders are only used for features that tile an area. For example, country features have borders with one another because they tile an area of land. Country features do not have borders with province features because those two types of features may intersect with each other. The geometry of a border will often be similar (or derived from) the geometry of the two features that it separates. However, it is useful to have borders represented by stand-alone features for map-styling purposes. Ideally, the geometry in a border feature would be exactly the same as the common edges of the polygonal geometry of the two features. This may not always be true in practice. At some point in the future we would like to build a network of borders for features that are supposed to tile with each other. The network would be composed of different border types meeting at endpoint intersections. In the process of building this network, we would perform small geometry corrections to ensure that the borders align properly at all zoom levels. Border features are intended primarily for map drawing, and they would rarely be useful for geocoding. One exception would be for famous borders like the \"Mason Dixon Line\" or the \"Berlin Wall.\" The standard feature properties have the following interpretations: name - Borders rarely have names unless they notable in their own right (e.g. \"Mason Dixon Line\", \"Berlin Wall\"). point - A border should not have point geometry. polyline - A border should have a single polyline that represents the division between the two features. polygon - A border should not have polygon geometry.", - "id": "GeostoreBorderProto", - "properties": { - "featureIdLeft": { - "$ref": "GeostoreFeatureIdProto", - "description": "The ids of the area features to the left and right of the border, relative to the start and end of this borders' polyline geometry. These features should have the same type as the \"type\" attribute above. These ids are not required because the corresponding features may be nonexistent or difficult to obtain." - }, - "featureIdRight": { - "$ref": "GeostoreFeatureIdProto" - }, - "logicalBorder": { - "description": "The logical borders which this border is a part of.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "overrideStatus": { - "description": "List of border status overrides. Due to legal reasons, we may be required to display some borders differently on some domains for instance.", - "items": { - "$ref": "GeostoreOverrideBorderStatusProto" - }, - "type": "array" - }, - "status": { - "description": "The border status identifies the legal status of the border line.", - "enum": [ - "STATUS_NORMAL", - "STATUS_DISPUTED", - "STATUS_UNSURVEYED", - "STATUS_INTERNATIONAL_WATER", - "STATUS_NEVER_DISPLAY", - "STATUS_TREATY", - "STATUS_PROVISIONAL", - "STATUS_NO_LABEL" - ], - "enumDescriptions": [ - "Most border lines have this status, which typically means both parties agree on the location of the line. These might be called \"de jure\" borders.", - "This status is used when the two parties disagree on the location of the line. There can be multiple border lines in a given disputed area. One might be the line proposed by country \"A\" and another the line proposed by country \"B\". A third line might mark the de facto line of control. Other border lines might indicate historical borders, e.g., \"1949 Armistice Line\".", - "This is used for one section of border between Argentina and Chile. Both parties agree that a border line exists somewhere on the glacier, but the exact location has not been determined.", - "This is a border line between a country and international water.", - "This status is only used for the borders that should never display to users. Typically it is for the borders that we don't want to represent but that we would still like to use to model country boundaries, e.g. Hong Kong and Macau.", - "This is used for borders that refer to well-defined boundaries which have been established by a specific treaty, agreement, armistice or other such agreement between two or more parties, yet the position and/or status is not considered to be legal and final (e.g., the final demarcation of the exact position has not occurred or the final political status is not resolved).", - "This is used for borders for which a formal agreement has not been established between the parties involved, yet the existing line acts as a de facto functional border without existence of any dispute.", - "This is used for borders which should not have country labels to either side, but should otherwise be styled the same as a border with STATUS_NORMAL. This is typically for borders which are not themselves disputed but still form part of the boundary around a disputed area that is not otherwise modeled or labeled as a country, or as an override where we are obligated to remove labels for region specific versions of Maps." - ], - "type": "string" - }, - "type": { - "description": "The type of the features this border separates. Should always be a subtype of TYPE_POLITICAL. NOTE: as of December 2019, we currently require this to be equal to TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1. In the future, we may support TYPE_BORDER for lower types of political features.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostoreBoundingMarkerProto": { - "description": "NOTE: BoundingMarkerProto could be compared against one another by canonicalizing them via GetCanonicalBoundingMarker() in google3/geostore/base/internal/lane.cc. Any fields that don't contribute to the definition of a bounding marker in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalBoundingMarker(). LINT.IfChange", - "id": "GeostoreBoundingMarkerProto", - "properties": { - "boundingMarker": { - "$ref": "GeostoreFeatureIdProto", - "description": "References to any gcid:physical_lane_marker features that bound this lane or lane connection." - }, - "boundingMarkerToken": { - "description": "A token that can be used to identify the version of the data about this bounding marker.", - "type": "string" - }, - "flowlineAdjacencyBeginFraction": { - "description": "Which part of the flowline does this association refer to? These should be between 0 and 1. These are optionally set, but can be approximated geometrically if they aren’t set. NOTE: These refer to the geometry of this feature.", - "format": "double", - "type": "number" - }, - "flowlineAdjacencyEndFraction": { - "format": "double", - "type": "number" - }, - "markerAdjacencyBeginFraction": { - "description": "Which part of the marker track does this association refer to? These should be between 0 and 1. These are optionally set, but can be approximated geometrically if they aren’t set. NOTE: These refer to the geometry of the marker feature.", - "format": "double", - "type": "number" - }, - "markerAdjacencyEndFraction": { - "format": "double", - "type": "number" - }, - "side": { - "description": "Which side of the flowline does the marker occur on.", - "enum": [ - "UNKNOWN", - "LEFT", - "RIGHT" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreBuildingProto": { - "description": "This protocol buffer holds the building-specific attributes for features of type TYPE_COMPOUND_BUILDING.", - "id": "GeostoreBuildingProto", - "properties": { - "baseHeightMetersAgl": { - "description": "The height of the base of this building, in meters above ground-level, if known.", - "format": "float", - "type": "number" - }, - "defaultDisplayLevel": { - "$ref": "GeostoreFeatureIdProto", - "description": "The level in this building that should get displayed by default. If present, the default display level must be one of this building's levels that are listed in the level[] field, and if a level is set as a default level of one building, all buildings sharing the level should have that same level as their default level. If not present, clients should not display any level by default for that building." - }, - "floors": { - "description": "The number of floors above the base of the building, if known. For example a regular 1-story building would set this to \"1\". Use a value of GeostoreConstants::kDefaultHeightPerFloor when converting \"floors\" to \"height_meters\".", - "format": "int32", - "type": "integer" - }, - "floorsMetadata": { - "$ref": "GeostoreFieldMetadataProto" - }, - "heightMeters": { - "description": "The height of the building above its base, in meters, if known.", - "format": "float", - "type": "number" - }, - "heightMetersMetadata": { - "$ref": "GeostoreFieldMetadataProto" - }, - "level": { - "description": "The levels in this building, in no particular order. These levels refer back to the building via another strong reference (the LevelProto.building field).", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "structure": { - "description": "\"Structure\" denotes a physical architecture of the building that is readily visible. This attribute is useful in that rarer structures can make good landmarks.", - "enum": [ - "STRUCTURE_ANY", - "STRUCTURE_TOWER", - "STRUCTURE_DOME", - "STRUCTURE_CASTLE", - "STRUCTURE_SHRINE", - "STRUCTURE_TEMPLE", - "STRUCTURE_TANK" - ], - "enumDescriptions": [ - "ABSTRACT", - "The root of all structure categories. Not a meaningful value and should never be set on any feature.", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreBusinessChainProto": { - "description": "This holds data specific to business chain features.", - "id": "GeostoreBusinessChainProto", - "properties": { - "canonicalGconcepts": { - "description": "Canonical GConcepts describe the ideal state of the GConcepts of this business chain's members.", - "items": { - "$ref": "GeostoreCanonicalGConceptProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreBusinessHoursProto": { - "description": "A BusinessHoursProto stores a weekly schedule of opening hours for a business (represented as a BusinessHours message) together with other closely related information that is Geo-specific.", - "id": "GeostoreBusinessHoursProto", - "properties": { - "data": { - "$ref": "BusinessHours", - "description": "The actual hours represented by this BusinessHoursProto." - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for these hours." - } - }, - "type": "object" - }, - "GeostoreCallToActionProto": { - "description": "Message containing calls to action specified by the business owner.", - "id": "GeostoreCallToActionProto", - "properties": { - "ctaType": { - "description": "Required.", - "enum": [ - "CTA_TYPE_UNSPECIFIED", - "CTA_TYPE_BOOK", - "CTA_TYPE_BUY", - "CTA_TYPE_ORDER_ONLINE", - "CTA_TYPE_LEARN_MORE", - "CTA_TYPE_SIGN_UP", - "CTA_TYPE_GET_OFFER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "url": { - "$ref": "GeostoreUrlProto" - } - }, - "type": "object" - }, - "GeostoreCanonicalGConceptProto": { - "description": "This proto represents a canonical gconcept of a business chain's members.", - "id": "GeostoreCanonicalGConceptProto", - "properties": { - "gconcept": { - "$ref": "GeostoreGConceptInstanceProto" - }, - "isRequired": { - "description": "Whether the gconcept must be on a member. This must be true for a primary gconcept.", - "type": "boolean" - } - }, - "type": "object" - }, - "GeostoreCellCoveringProto": { - "description": "This protocol buffer holds S2 cell covering for the feature. See util/geometry/s2cell_union.h for more information on S2 cells. See geostore/base/public/cellcovering.h for utility functions.", - "id": "GeostoreCellCoveringProto", - "properties": { - "cellId": { - "description": "Array of S2 cell ids that represent the covering. There is no preset limit on how many cells can be used.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreCityJsonProto": { - "description": "CityJsonProto is a custom proto representation of the portion of the CityJSON spec (https://www.cityjson.org/) relevant to internal projects. See go/cityjsonproto-design for more information about the modeling and design decisions implemented here. LINT.IfChange", - "id": "GeostoreCityJsonProto", - "properties": { - "appearance": { - "$ref": "GeostoreCityJsonProtoAppearance", - "description": "Additional information that can be used to describe the appearance of CityObjects in this CityJsonProto." - }, - "cityObjects": { - "description": "City objects associated with this CityJsonProto.", - "items": { - "$ref": "GeostoreCityJsonProtoCityObject" - }, - "type": "array" - }, - "flattenedVertices": { - "description": "Vertices as local coordinates represented as a flattened list: [x1,y1,z1,x2,y2,z2,x3,y3,z3]. Vertices are relative to a local coordinate system and rounded to their nearest integer value. See `transform` for how vertices can be transformed from a local coordinate system into an Earth-centered, Earth-fixed coordinate system. Vertices are flattened for space efficiency, memory locality, and processing performance. To access the x,y,z coordinates of vertex N, read the values at indices 3N, 3N+1, and 3N+2.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "transform": { - "$ref": "GeostoreCityJsonProtoTransform", - "description": "Spec for converting vertices from a local coordinate system in arbitrary units to ECEF coordinates in meters (https://en.wikipedia.org/wiki/Earth-centered,_Earth-fixed_coordinate_system)." - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoAppearance": { - "description": "Contains additional ways to describe the appearance of a CityObject, e.g. definitions of materials and textures that can apply to geometry surfaces.", - "id": "GeostoreCityJsonProtoAppearance", - "properties": { - "materials": { - "description": "Predefined materials that may be referenced from geometric primitives.", - "items": { - "$ref": "GeostoreCityJsonProtoAppearanceMaterial" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoAppearanceMaterial": { - "description": "Representation of a single material that can describe a geometry surface. See technical definitions of these fields via the description and link at https://www.cityjson.org/specs/2.0.0/#material-object.", - "id": "GeostoreCityJsonProtoAppearanceMaterial", - "properties": { - "diffuseColor": { - "$ref": "GeostoreCityJsonProtoAppearanceMaterialRgbColor", - "description": "The color that this material shows under pure white light when incoming light is reflected in all directions equally." - }, - "isSmooth": { - "description": "Whether this material has an even, regular surface or consistency.", - "type": "boolean" - }, - "name": { - "description": "The name of this material.", - "type": "string" - }, - "shininess": { - "description": "The degree to which this material reflects light; value is [0,1].", - "format": "float", - "type": "number" - }, - "transparency": { - "description": "The degree to which this material allows light through; value is [0,1], with 1.0 being completely transparent.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoAppearanceMaterialRgbColor": { - "description": "RGB 0-1, where the range of each value is [0,1] instead of [0,255]. Values may be linear RGB or sRGB; RGB values are frequently stored as sRGB (https://stackoverflow.com/a/12894053 explains the difference).", - "id": "GeostoreCityJsonProtoAppearanceMaterialRgbColor", - "properties": { - "blue": { - "format": "float", - "type": "number" - }, - "green": { - "format": "float", - "type": "number" - }, - "red": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoCityObject": { - "description": "Representation of an object with geometry.", - "id": "GeostoreCityJsonProtoCityObject", - "properties": { - "geometries": { - "description": "Geometries associated with this object.", - "items": { - "$ref": "GeostoreCityJsonProtoCityObjectGeometry" - }, - "type": "array" - }, - "id": { - "description": "The ID of this CityObject, which must be unique within this CityJsonProto. The ID does not have a meaning outside this CityJsonProto.", - "type": "string" - }, - "type": { - "description": "Type of object represented, e.g. building.", - "enum": [ - "TYPE_UNSPECIFIED", - "BUILDING", - "OTHER_CONSTRUCTION" - ], - "enumDescriptions": [ - "Should never be set in prod. If set locally and converted to CityJSON, the CityJSON will be invalid.", - "Building.", - "Unspecified other structure, e.g. storefront." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoCityObjectGeometry": { - "description": "Representation of geometry including geometric primitives which are used as building blocks to construct geometries of varying complexity. Geometries vary both in type and in level-of-detail, enabling representation of any shape at any level of granularity. All geometries are ultimately composed of `MultiPoint`s, which reference the actual vertices. Only linear and planar shapes are allowed, no curves or parametric surfaces.", - "id": "GeostoreCityJsonProtoCityObjectGeometry", - "properties": { - "lod": { - "description": "Level-of-detail (LoD) indicates how intricate the geometric representation is. May be a single digit per CityGML standards or X.Y per TU Delft (visual depiction at https://3d.bk.tudelft.nl/lod/). `CityObject`s may have multiple geometries with the same LoD.", - "type": "string" - }, - "multipoint": { - "$ref": "GeostoreCityJsonProtoCityObjectGeometryMultiPoint", - "description": "For geometries consisting of a single point, line, or loop." - }, - "multisurface": { - "$ref": "GeostoreCityJsonProtoCityObjectGeometryMultiSurface", - "description": "For geometries consisting of a collection of surfaces." - }, - "semantics": { - "description": "Predefined semantics that may be referenced from geometric primitives.", - "items": { - "$ref": "GeostoreCityJsonProtoCityObjectGeometrySemantic" - }, - "type": "array" - }, - "solid": { - "$ref": "GeostoreCityJsonProtoCityObjectGeometrySolid", - "description": "For geometries consisting of a watertight 3D shape." - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoCityObjectGeometryMaterialSpec": { - "description": "Used to reference a predefined material from a geometric primitive.", - "id": "GeostoreCityJsonProtoCityObjectGeometryMaterialSpec", - "properties": { - "materialsIndex": { - "description": "Index into CityJsonProto.appearance.materials.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoCityObjectGeometryMultiPoint": { - "description": "A single line, loop, or set of points.", - "id": "GeostoreCityJsonProtoCityObjectGeometryMultiPoint", - "properties": { - "xIndices": { - "description": "A collection of references to vertices in `CityJsonProto.flattened_vertices`. `CityJsonProto.flattened_vertices` is a flattened list of vertex coordinates. A value in `x_indices` should be the index of the x-coordinate of the desired vertex V; the full coordinates of vertex V can then be found at indices [V,V+1,V+2]. For example, an `x_indices` containing 3, 0, and 12 references three vertices, whose complete x,y,z coordinates can respectively be found at `CityJsonProto.flattened_vertices` indices [3,4,5], [0,1,2], and [12,13,14].", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoCityObjectGeometryMultiSurface": { - "description": "A collection of arbitrary surfaces that have no prescribed topological relationship.", - "id": "GeostoreCityJsonProtoCityObjectGeometryMultiSurface", - "properties": { - "surfaces": { - "description": "All surfaces are standalone entities with no relationship to each other.", - "items": { - "$ref": "GeostoreCityJsonProtoCityObjectGeometrySurface" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoCityObjectGeometrySemantic": { - "description": "Representation of semantic information that can be used for reasoning about geometric primitives.", - "id": "GeostoreCityJsonProtoCityObjectGeometrySemantic", - "properties": { - "type": { - "description": "The type of semantic entity this geometric primitive is.", - "enum": [ - "TYPE_UNSPECIFIED", - "WINDOW", - "DOOR" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoCityObjectGeometrySolid": { - "description": "A 3D shape, composed of a watertight exterior shell with optional interior watertight shells.", - "id": "GeostoreCityJsonProtoCityObjectGeometrySolid", - "properties": { - "shells": { - "description": "The first shell is exterior; any additional are interior.", - "items": { - "$ref": "GeostoreCityJsonProtoCityObjectGeometryMultiSurface" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoCityObjectGeometrySurface": { - "description": "A polygonal surface, composed of a closed exterior loop with optional closed interior loops.", - "id": "GeostoreCityJsonProtoCityObjectGeometrySurface", - "properties": { - "loops": { - "description": "The first loop is exterior; any additional are interior.", - "items": { - "$ref": "GeostoreCityJsonProtoCityObjectGeometryMultiPoint" - }, - "type": "array" - }, - "materialSpecs": { - "description": "The materials this surface is made of. May be left blank if materials are unspecified for this surface. IMPORTANT: This field must not contain more than one MaterialSpec unless CityJSON's material \"theme\" is incorporated into CityJsonProto (see discussion in go/cityjson-for-hand-modeled-landmarks).", - "items": { - "$ref": "GeostoreCityJsonProtoCityObjectGeometryMaterialSpec" - }, - "type": "array" - }, - "semanticsIndex": { - "description": "The semantics of this surface (e.g. what part of a building it is) represented as an index into the containing Geometry's `semantics` field. May be left blank if semantics are unspecified for this surface.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoTransform": { - "description": "Information for transforming a point from an \"old\" to \"new\" coordinate frame. Applied as follows: vertex_new = scale * vertex_old + translate", - "id": "GeostoreCityJsonProtoTransform", - "properties": { - "scale": { - "description": "Relative scale of the vertices in the new coordinate system relative to the old coordinate system. Applies to all three x,y,z coordinates.", - "format": "double", - "type": "number" - }, - "translate": { - "$ref": "GeostoreCityJsonProtoTransformTranslate", - "description": "Offset of each vertex in the new coordinate system relative to the old coordinate system." - } - }, - "type": "object" - }, - "GeostoreCityJsonProtoTransformTranslate": { - "description": "How the object will be moved along the x, y, and z axes, respectively.", - "id": "GeostoreCityJsonProtoTransformTranslate", - "properties": { - "x": { - "format": "double", - "type": "number" - }, - "y": { - "format": "double", - "type": "number" - }, - "z": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "GeostoreComposableItemProto": { - "description": "Generic item proto. This is intended to have only certain aspects filled (e.g. photo only, name + price). Valid combinations of properties are enforced by linters.", - "id": "GeostoreComposableItemProto", - "properties": { - "callToAction": { - "$ref": "GeostoreCallToActionProto", - "description": "Call to action for the individual product." - }, - "jobMetadata": { - "$ref": "GeostoreJobMetadata" - }, - "media": { - "description": "Any photos describing this item.", - "items": { - "$ref": "GeostoreMediaItemProto" - }, - "type": "array" - }, - "nameInfo": { - "description": "The repeated name_info field is for price list sections listed in multiple languages. At least one name_info containing id must be specified. There should be at most one name_info for any given language. When representing a job item, there should be exactly one name_info specified.", - "items": { - "$ref": "GeostorePriceListNameInfoProto" - }, - "type": "array" - }, - "offered": { - "description": "Represents if an item is offered at a business. For TYPE_JOB, this represents if this job is offered by the corresponding business", - "enum": [ - "OFFERED_UNSPECIFIED", - "OFFERED", - "OFFERED_NOT", - "OFFERED_ON_WEBSITE" - ], - "enumDescriptions": [ - "Merchant says nothing", - "Merchant explicitly says this is offered", - "Merchant explicitly says this is NOT offered", - "Merchant mentioned this job on their websites" - ], - "type": "string" - }, - "price": { - "$ref": "GeostorePriceRangeProto", - "description": "Price of the item. There should be at most one price for any given currency." - }, - "priceFormat": { - "description": "Represents which price format is being used by this item, which determines the usage/meaning of the “price” field above. Optional – the default value is legal and safe (represents no price if the “price” field is unset).", - "enum": [ - "PRICE_FORMAT_DEFAULT", - "PRICE_FORMAT_VARIES" - ], - "enumDescriptions": [ - "Default price format which uses the PriceRangeProto (set or unset) in the \"price\" field above to represent a price interval, or lack thereof.", - "Value for a price which explicitly varies, i.e. it should show as “Price may vary\" or similar. If this is the price_format, contents of the \"price\" field will be ignored." - ], - "type": "string" - }, - "rankingHint": { - "description": "Numerical score which can be provided by data sources to indicate preferred item ordering. This is purely a hint – we are not required to followed it if we have a different order we think is better. Higher scores represent items that should be shown more prominently/earlier. Optional.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GeostoreCountComparisonProto": { - "description": "A count value tagged with a comparison operator. This can be used for axle count, trailer count, etc.", - "id": "GeostoreCountComparisonProto", - "properties": { - "comparisonOperator": { - "enum": [ - "UNSPECIFIED", - "EQUAL", - "LESS_THAN", - "LESS_THAN_OR_EQUAL", - "GREATER_THAN", - "GREATER_THAN_OR_EQUAL" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "count": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostoreCrossingStripePatternProto": { - "description": "Possible patterns of a crossing stripe (any element that denotes a point on a segment or lane at which the vehicle must stop or yield). These include crosswalks, stop, and yield lines.", - "id": "GeostoreCrossingStripePatternProto", - "properties": { - "borderLine": { - "$ref": "GeostorePhysicalLineProto" - }, - "borderPattern": { - "enum": [ - "UNKNOWN_BORDER_PATTERN", - "NO_BORDER_PATTERN", - "SOLID", - "DASHED" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "color": { - "description": "Colors found on this crossing.", - "items": { - "$ref": "GeostorePaintedElementLogicalColorProto" - }, - "type": "array" - }, - "stripePattern": { - "enum": [ - "UNKNOWN_STRIPE_PATTERN", - "NO_STRIPE_PATTERN", - "LONGITUDINAL_STRIPE", - "DIAGONAL_STRIPE", - "LATERAL_STRIPE", - "SINGLE_CROSSING_LINE", - "DOUBLE_CROSSING_LINE", - "TRIANGLE_CROSSING_LINE_POINTING_LEFT", - "TRIANGLE_CROSSING_LINE_POINTING_RIGHT", - "STRUCTURED_CROSSING_LINE" - ], - "enumDescriptions": [ - "", - "For crosswalk No crossing stripes. Usually comes with the bordered crosswalk.", - "", - "", - "", - "A crossing line consisting of a single stripe e.g. a stop line.", - "A crossing line consisting of a double stripe.", - "A crossing line made of repeating triangles e.g. a California yield line. The teeth are always facing the left of the crossing line.", - "A crossing line made of repeating triangles e.g. a California yield line. The teeth are always facing the right of the crossing line.", - "The crossing line has a more complex structure than just a single conceptual stripe or row of symbols." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreCurvatureProto": { - "id": "GeostoreCurvatureProto", - "properties": { - "pointCurvature": { - "description": "Curvature values at points along the flowline. A linear interpolation between two successive points will yield the curvature value at intermediate points.", - "items": { - "$ref": "GeostorePointCurvatureProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreCurveConnectionProto": { - "description": "Protocol buffer describing a curve that connects two externally specified endpoints.", - "id": "GeostoreCurveConnectionProto", - "properties": { - "bezierParams": { - "$ref": "GeostoreCurveConnectionProtoBezierParams" - }, - "circleParams": { - "$ref": "GeostoreCurveConnectionProtoCircleParams" - }, - "type": { - "enum": [ - "UNSPECIFIED", - "BEZIER", - "CIRCLE", - "STRAIGHT_EDGE" - ], - "enumDescriptions": [ - "The connection is unspecified. Rendering code will rely on heuristics to choose one.", - "Bezier curve interpolates the two endpoints.", - "Endpoints are connected via a circle arc.", - "Endpoints are connected by a straight edge." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreCurveConnectionProtoBezierParams": { - "id": "GeostoreCurveConnectionProtoBezierParams", - "properties": { - "controlPoint": { - "description": "Internal Bezier handles. One can be used for a quadratic curve, two for cubic Beziers.", - "items": { - "$ref": "GeostoreCurveConnectionProtoBezierParamsControlPoint" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreCurveConnectionProtoBezierParamsControlPoint": { - "id": "GeostoreCurveConnectionProtoBezierParamsControlPoint", - "properties": { - "angleDegrees": { - "description": "We use this parameterization to make curves change predictable when endpoints move. Each point P is defined in terms of the straight edge [S, E] between the start point of the curve S and its end point E. *P / / / S *------------* E Counter-clockwise angle between vector SE and vector SP.", - "format": "double", - "type": "number" - }, - "distanceMultiplier": { - "description": "Distance(S, P) in units of Distance(S, E).", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "GeostoreCurveConnectionProtoCircleParams": { - "id": "GeostoreCurveConnectionProtoCircleParams", - "properties": { - "radius": { - "description": "Arc radius. Must be greater than half-distance between two endpoints.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "GeostoreDataSourceProto": { - "description": "Every data source used to construct a data repository has an associated feature that provides more information about it. The standard feature properties have the following interpretations: bound - The bounds must includes all features that refer to this data source, so that bucketing MapReduce passes work correctly. name - The provider name associated with this data source. It is expected to remain constant from release to release, and between datasets. address - should be empty. point, polyline, polygon - should be empty. source_info - should not be set. child - should be empty.", - "id": "GeostoreDataSourceProto", - "properties": { - "attributionUrl": { - "description": "This is the URL of a website representing this DataSource as a whole. If this DataSource feature is specific to a particular dataset or product, the page may contain information relevant to that dataset or product or may be the main page of the organization.", - "items": { - "$ref": "GeostoreUrlProto" - }, - "type": "array" - }, - "copyrightOwner": { - "description": "A UTF8 string that will be inserted in copyright messages to refer to this copyright owner, e.g. \"Tele Atlas\".", - "type": "string" - }, - "copyrightYear": { - "description": "The copyright year of this data (which may be different than the year of the release date), e.g. 2005.", - "format": "int32", - "type": "integer" - }, - "description": { - "description": "A free-form description of this data source. Ideally the description should include: - Where the data was obtained (URL, company name, individual, etc). - Where to find detailed documentation. - A brief summary of the licensing terms. - As much internal and external contact information as possible (e.g. who to ask about licensing questions, interpreting the data, updating the data, fixing bugs in the importer, etc).", - "type": "string" - }, - "importerBuildInfo": { - "description": "The build information of the importer binary used to generate this data source.", - "type": "string" - }, - "importerBuildTarget": { - "description": "The build target of the importer binary used to generate this data source.", - "type": "string" - }, - "importerClientInfo": { - "description": "The Perforce client information of the importer binary used to generate this data source.", - "type": "string" - }, - "importerMpmVersion": { - "description": "If the importer was built as an MPM, the version number can be stored in this field. As with build_info, this can be useful when tracking down issues that may be due to the use of a particular binary.", - "type": "string" - }, - "importerTimestamp": { - "description": "The timestamp of the importer binary used to generate this data source.", - "type": "string" - }, - "provider": { - "description": "The provider type of this data source.", - "enum": [ - "PROVIDER_ANY", - "PROVIDER_UNKNOWN", - "PROVIDER_NAVTEQ", - "PROVIDER_TELE_ATLAS", - "PROVIDER_TELE_ATLAS_MULTINET", - "PROVIDER_TELE_ATLAS_CODEPOINT", - "PROVIDER_TELE_ATLAS_GEOPOST", - "PROVIDER_TELE_ATLAS_DATAGEO", - "PROVIDER_TELE_ATLAS_ADDRESS_POINTS", - "PROVIDER_TELCONTAR", - "PROVIDER_EUROPA", - "PROVIDER_ROYAL_MAIL", - "PROVIDER_GOOGLE", - "PROVIDER_GOOGLE_HAND_EDIT", - "PROVIDER_GOOGLE_BORDERS", - "PROVIDER_GOOGLE_SUBRANGE", - "PROVIDER_GOOGLE_GT_FUSION", - "PROVIDER_GOOGLE_ZAGAT_CMS", - "PROVIDER_GOOGLE_PLACE_NAVBOOST", - "PROVIDER_GOOGLE_FOOTPRINT", - "PROVIDER_GOOGLE_PRODUCT_TERMS", - "PROVIDER_GOOGLE_POINTCARDS", - "PROVIDER_GOOGLE_BUSINESS_CHAINS", - "PROVIDER_GOOGLE_LOCAL_SUMMARIZATION", - "PROVIDER_GOOGLE_PRONUNCIATIONS", - "PROVIDER_GOOGLE_DUMPLING", - "PROVIDER_GOOGLE_DISTILLERY", - "PROVIDER_GOOGLE_LOCAL_ATTRIBUTE_SUMMARIZATION", - "PROVIDER_GOOGLE_RELATION_MINER", - "PROVIDER_GOOGLE_MAPSPAM", - "PROVIDER_GOOGLE_ROSE", - "PROVIDER_GOOGLE_LOCAL_PLACE_RATINGS", - "PROVIDER_GOOGLE_WIPEOUT", - "PROVIDER_GOOGLE_KNOWLEDGE_GRAPH", - "PROVIDER_GOOGLE_BEEGEES", - "PROVIDER_GOOGLE_REVIEW_SUMMARIZATION", - "PROVIDER_GOOGLE_OFFLINE_NON_CORE_ATTRIBUTE_SUMMARIZATION", - "PROVIDER_GOOGLE_GEO_WORLDMAPS", - "PROVIDER_GOOGLE_GEO_MODERATION", - "PROVIDER_GOOGLE_OYSTER_AUTO_EDITS", - "PROVIDER_GOOGLE_LOCAL_ALCHEMY", - "PROVIDER_GOOGLE_KEROUAC", - "PROVIDER_GOOGLE_MOBRANK", - "PROVIDER_GOOGLE_RAPTURE", - "PROVIDER_GOOGLE_CULTURAL_INSTITUTE", - "PROVIDER_GOOGLE_GEOCODES_FROM_LOCAL_FEEDS", - "PROVIDER_GOOGLE_ATTRIBUTES_FROM_CRAWLED_CHAINS", - "PROVIDER_GOOGLE_TACTILE_MAPS", - "PROVIDER_GOOGLE_MAPS_FOR_MOBILE", - "PROVIDER_GOOGLE_GEO_REALTIME", - "PROVIDER_GOOGLE_PROMINENT_PLACES", - "PROVIDER_GOOGLE_PLACE_ACTIONS", - "PROVIDER_GOOGLE_GT_AUTO_EDITS", - "PROVIDER_GOOGLE_WAZE", - "PROVIDER_GOOGLE_ONTHEGO", - "PROVIDER_GOOGLE_GT_IMPORT", - "PROVIDER_GOOGLE_STRUCTURED_DATA", - "PROVIDER_GOOGLE_HELICOPTER", - "PROVIDER_GOOGLE_ROLLBACK", - "PROVIDER_GOOGLE_RIGHTS_REPAIR", - "PROVIDER_GOOGLE_PERFUME", - "PROVIDER_GOOGLE_MAPS_TRANSLATION", - "PROVIDER_GOOGLE_CALL_ME_MAYBE", - "PROVIDER_GOOGLE_LOCAL_UNIVERSAL", - "PROVIDER_GOOGLE_CROUPIER", - "PROVIDER_GOOGLE_SKYSMART", - "PROVIDER_GOOGLE_RIDDLER", - "PROVIDER_GOOGLE_ROADCLOSURES", - "PROVIDER_GOOGLE_SPORE", - "PROVIDER_GOOGLE_LOCALIZATION", - "PROVIDER_GOOGLE_CATTERMS", - "PROVIDER_GOOGLE_GT_FIELD_OPS", - "PROVIDER_GOOGLE_MATCHMAKER", - "PROVIDER_GOOGLE_ARBITRATION", - "PROVIDER_GOOGLE_BIZBUILDER_OPS", - "PROVIDER_GOOGLE_LOCAL_INVENTORY_ADS", - "PROVIDER_GOOGLE_GT_DRAFTY", - "PROVIDER_GOOGLE_HOTELADS_OPS", - "PROVIDER_GOOGLE_MARKERS", - "PROVIDER_GOOGLE_STATE_MACHINE", - "PROVIDER_GOOGLE_ATTRIBUTES_INFERENCE", - "PROVIDER_GOOGLE_BIKESHARE", - "PROVIDER_GOOGLE_GHOSTWRITER", - "PROVIDER_GOOGLE_EDIT_PLATFORM", - "PROVIDER_GOOGLE_BLUE_GINGER", - "PROVIDER_GOOGLE_GEO_TIGER", - "PROVIDER_GOOGLE_HYADES", - "PROVIDER_GOOGLE_WEBQUARRY", - "PROVIDER_GOOGLE_GEO_MADDEN", - "PROVIDER_GOOGLE_ANDROID_PAY", - "PROVIDER_GOOGLE_OPENING_HOURS_TEAM", - "PROVIDER_GOOGLE_LOCAL_DISCOVERY", - "PROVIDER_GOOGLE_LOCAL_HEALTH", - "PROVIDER_GOOGLE_UGC_MAPS", - "PROVIDER_GOOGLE_FIBER", - "PROVIDER_GOOGLE_REVGEO", - "PROVIDER_GOOGLE_HOTELADS_PARTNER_FRONT_END", - "PROVIDER_GOOGLE_GEO_UGC_TASKS", - "PROVIDER_GOOGLE_GEOCODING", - "PROVIDER_GOOGLE_SPYGLASS", - "PROVIDER_GOOGLE_PLUS_CODES_AS_ADDRESSES", - "PROVIDER_GOOGLE_GEO_CHANGES", - "PROVIDER_GOOGLE_HUME", - "PROVIDER_GOOGLE_MEGAMIND", - "PROVIDER_GOOGLE_GT_ROADSYNTH", - "PROVIDER_GOOGLE_FIREBOLT", - "PROVIDER_GOOGLE_LOCAL_PLACE_OFFERINGS", - "PROVIDER_GOOGLE_UGC_SERVICES", - "PROVIDER_GOOGLE_GEOALIGN", - "PROVIDER_GOOGLE_GT_COMPOUNDS", - "PROVIDER_GOOGLE_FOOD_ORDERING", - "PROVIDER_GOOGLE_HOTEL_KNOWLEDGE_OPS", - "PROVIDER_GOOGLE_URAW", - "PROVIDER_GOOGLE_FLYEYE", - "PROVIDER_GOOGLE_YOUKE", - "PROVIDER_GOOGLE_GT_ZEPHYR", - "PROVIDER_GOOGLE_USER_SAFETY", - "PROVIDER_GOOGLE_ADDRESS_MAKER", - "PROVIDER_GOOGLE_UGC_PHOTOS", - "PROVIDER_GOOGLE_GT_WINDCHIME", - "PROVIDER_GOOGLE_SNAG_FIXER", - "PROVIDER_GOOGLE_GEO_DEALS", - "PROVIDER_GOOGLE_LOCAL_PLACE_TOPICS", - "PROVIDER_GOOGLE_PROPERTY_INSIGHTS", - "PROVIDER_GOOGLE_GEO_CONSUMER_MERCHANT_EXPERIMENTS", - "PROVIDER_GOOGLE_GEO_PORTKEY", - "PROVIDER_GOOGLE_ROAD_MAPPER", - "PROVIDER_GOOGLE_LOCATION_PLATFORM", - "PROVIDER_GOOGLE_POSTTRIP", - "PROVIDER_GOOGLE_TRAVEL_DESTINATION", - "PROVIDER_GOOGLE_GEO_DATA_UPLOAD", - "PROVIDER_GOOGLE_BIZBUILDER_CLEANUP", - "PROVIDER_GOOGLE_USER", - "PROVIDER_GOOGLE_STATION", - "PROVIDER_GOOGLE_GEO_FOOD", - "PROVIDER_GOOGLE_GEO_AR", - "PROVIDER_GOOGLE_GEO_TEMPORAL", - "PROVIDER_GOOGLE_SERVICES_MARKETPLACE", - "PROVIDER_GOOGLE_IMT_CLEANUP", - "PROVIDER_GOOGLE_GEO_FOOD_MENU", - "PROVIDER_GOOGLE_CARENAV", - "PROVIDER_GOOGLE_DRIVING_FEEDS", - "PROVIDER_GOOGLE_DRIVING_UGC", - "PROVIDER_GOOGLE_POLAR", - "PROVIDER_GOOGLE_TRIWILD", - "PROVIDER_GOOGLE_CROWD_COMPUTE_OPS", - "PROVIDER_GOOGLE_SA_FROM_WEB", - "PROVIDER_GOOGLE_POI_ALIGNMENT", - "PROVIDER_GOOGLE_SA_FROM_HULK", - "PROVIDER_GOOGLE_SERVICES_INTERACTIONS", - "PROVIDER_GOOGLE_ROADS_UGC_EDITOR", - "PROVIDER_GOOGLE_SA_FROM_NG_INFERENCE", - "PROVIDER_GOOGLE_GEO_DRIVING_VIZ", - "PROVIDER_GOOGLE_GEO_TASKING", - "PROVIDER_GOOGLE_CROWDTASK_DATACOMPUTE", - "PROVIDER_GOOGLE_CROWDTASK_TASKADS", - "PROVIDER_GOOGLE_CROWDTASK_TASKMATE", - "PROVIDER_GOOGLE_CROWDTASK_FURBALL", - "PROVIDER_GOOGLE_CROWDTASK_ADAP", - "PROVIDER_GOOGLE_GPAY", - "PROVIDER_GOOGLE_GEO_UGC_TRUSTED_USERS", - "PROVIDER_GOOGLE_THIRD_PARTY_DATA_PRODUCTION", - "PROVIDER_GOOGLE_GEOTRACKER", - "PROVIDER_GOOGLE_LOCAL_LANDMARK_INFERENCE", - "PROVIDER_GOOGLE_GEO_CLOSED_LOOP", - "PROVIDER_GOOGLE_SA_FROM_MERCHANT_POSTS", - "PROVIDER_GOOGLE_CORE_DATA_RIGHTS", - "PROVIDER_GOOGLE_SA_FROM_USER_REVIEWS", - "PROVIDER_GOOGLE_GEO_CONTENT_FIXER", - "PROVIDER_GOOGLE_POLYGON_REFINEMENT", - "PROVIDER_GOOGLE_HANASU", - "PROVIDER_GOOGLE_FULLRIGHTS_GEO_DATA_UPLOAD", - "PROVIDER_GOOGLE_FULLRIGHTS_3P_OUTREACH_UPLOAD", - "PROVIDER_GOOGLE_ATTRIBUTION_3P_OUTREACH_UPLOAD", - "PROVIDER_GOOGLE_SA_FROM_FOOD_MENUS", - "PROVIDER_GOOGLE_GT_CONSISTENCY_EDITS", - "PROVIDER_GOOGLE_SA_QUALITY", - "PROVIDER_GOOGLE_GDCE_CLEANUP", - "PROVIDER_GOOGLE_UGC_QUALITY_CHAINS", - "PROVIDER_GOOGLE_ATTRIBUTES_DISCOVERY", - "PROVIDER_GOOGLE_GEO_LDE", - "PROVIDER_GOOGLE_GEO_SIGNAL_TRACKING", - "PROVIDER_GOOGLE_UGC_AGGREGATION", - "PROVIDER_GOOGLE_3D_BASEMAP", - "PROVIDER_GOOGLE_MAPFACTS_PRIVACY", - "PROVIDER_GOOGLE_GT_ALF", - "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE", - "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS", - "PROVIDER_GOOGLE_GT_LANE_AUTOMATION", - "PROVIDER_GOOGLE_GEO_NG_LOCAL", - "PROVIDER_GOOGLE_MAPFACTS_CLEANUP", - "PROVIDER_GOOGLE_THIRD_PARTY_UGC", - "PROVIDER_GOOGLE_GEO_ISSUE_ADMIN", - "PROVIDER_GOOGLE_VACATION_RENTAL_PARTNERS", - "PROVIDER_GOOGLE_FEED_PROCESSOR_ROAD_INCIDENTS", - "PROVIDER_GOOGLE_DYNAMIC_BASEMAP", - "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS_EMEA", - "PROVIDER_GOOGLE_LOCALSEARCH", - "PROVIDER_GOOGLE_TRANSIT", - "PROVIDER_GOOGLE_GEOWIKI", - "PROVIDER_GOOGLE_CHINA_LOCAL_TEAM", - "PROVIDER_GOOGLE_SYNTHESIZED", - "PROVIDER_GOOGLE_INTERNAL_TEST", - "PROVIDER_GOOGLE_DISPUTED_AREAS", - "PROVIDER_GOOGLE_3DWAREHOUSE", - "PROVIDER_GOOGLE_GROUNDS_BUILDER", - "PROVIDER_GOOGLE_SESAME", - "PROVIDER_GOOGLE_GT", - "PROVIDER_GOOGLE_GT_BASEMAP_UPLOAD", - "PROVIDER_GOOGLE_ADSDB", - "PROVIDER_GOOGLE_MACHINE_TRANSLITERATION", - "PROVIDER_GOOGLE_TRAVELSEARCH", - "PROVIDER_GOOGLE_PANORAMIO", - "PROVIDER_GOOGLE_YOUTUBE", - "PROVIDER_GOOGLE_OLD", - "PROVIDER_GOOGLE_STREETVIEW", - "PROVIDER_GOOGLE_STREETVIEW_BIZVIEW", - "PROVIDER_GOOGLE_ZIPIT", - "PROVIDER_GOOGLE_OYSTER_CONNECT_ROUTES", - "PROVIDER_GOOGLE_GOLDEN", - "PROVIDER_GOOGLE_INNERSPACE", - "PROVIDER_GOOGLE_MAPSEARCH", - "PROVIDER_GOOGLE_CATEGORIES_TEAM", - "PROVIDER_GOOGLE_CROWDSENSUS", - "PROVIDER_GOOGLE_LOCAL_ALGORITHMIC_IDENTITY", - "PROVIDER_GOOGLE_FREEBASE", - "PROVIDER_GOOGLE_HOTELADS", - "PROVIDER_GOOGLE_AUTHORITY_PAGES", - "PROVIDER_GOOGLE_PLACES_API", - "PROVIDER_GOOGLE_NAMEHEATMAP", - "PROVIDER_GOOGLE_MAPMAKER", - "PROVIDER_GOOGLE_MAPMAKER_MOBILE", - "PROVIDER_GOOGLE_MAPMAKER_PANCAKE", - "PROVIDER_GOOGLE_MAPMAKER_V2", - "PROVIDER_GOOGLE_LOCAL_CLUSTERING_OPERATOR_OVERRIDE", - "PROVIDER_GOOGLE_SERVED_ON_MAPMAKER", - "PROVIDER_GOOGLE_GT_LOCAL", - "PROVIDER_GOOGLE_GT_LOCAL_WITH_RIGHTS", - "PROVIDER_GOOGLE_LOGS_RANKING_SIGNALS", - "PROVIDER_GOOGLE_ENTITY_NAVBOOST", - "PROVIDER_GOOGLE_RELATED_PLACES", - "PROVIDER_GOOGLE_KNOWN_FOR_TERMS", - "PROVIDER_GOOGLE_SYNTHETIC_AREAS", - "PROVIDER_GOOGLE_AUTHORITY_PAGE_PHOTOS", - "PROVIDER_GOOGLE_CROSS_STREETS", - "PROVIDER_GOOGLE_CORRIDORS", - "PROVIDER_GOOGLE_BICYCLE_RENTAL", - "PROVIDER_GOOGLE_CONCRETE_URLS", - "PROVIDER_GOOGLE_LEANBACK", - "PROVIDER_GOOGLE_LOCKED_LISTINGS", - "PROVIDER_GOOGLE_MONITORING", - "PROVIDER_GOOGLE_SPROUT", - "PROVIDER_GOOGLE_LOCAL_SEARCH_QUALITY", - "PROVIDER_GOOGLE_GOBY", - "PROVIDER_GOOGLE_PROBLEM_REPORT", - "PROVIDER_GOOGLE_CANDID", - "PROVIDER_GOOGLE_BIZBUILDER", - "PROVIDER_AUTOMOTIVE_NAVIGATION_DATA", - "PROVIDER_MAPDATA_SCIENCES", - "PROVIDER_MAPONICS", - "PROVIDER_SKI_RESORTS", - "PROVIDER_ZENRIN", - "PROVIDER_SANBORN", - "PROVIDER_URBAN_MAPPING", - "PROVIDER_US_GOVERNMENT", - "PROVIDER_US_CENSUS", - "PROVIDER_US_POSTAL_SERVICE", - "PROVIDER_US_GEOLOGICAL_SURVEY", - "PROVIDER_US_GNIS", - "PROVIDER_US_LANDSAT", - "PROVIDER_US_NATIONAL_GEOSPATIAL_INTELLIGENCE_AGENCY", - "PROVIDER_US_NGA_GNS", - "PROVIDER_US_SSIBL", - "PROVIDER_US_BUREAU_OF_TRANSPORTATION_STATISTICS", - "PROVIDER_US_NATIONAL_OCEANIC_AND_ATMOSPHERIC_ADMINISTRATION", - "PROVIDER_US_POLAR_GEOSPATIAL_CENTER", - "PROVIDER_US_DEPARTMENT_OF_AGRICULTURE", - "PROVIDER_US_NPI_REGISTRY", - "PROVIDER_US_BUREAU_OF_INDIAN_AFFAIRS", - "PROVIDER_DMTI_SPATIAL", - "PROVIDER_INTERNATIONAL_HYDROGRAPHIC_ORGANIZATION", - "PROVIDER_MAPLINK", - "PROVIDER_KINGWAY", - "PROVIDER_GEOCENTRE", - "PROVIDER_CN_NATIONAL_FOUNDAMENTAL_GIS", - "PROVIDER_CN_MAPABC", - "PROVIDER_SMITHSONIAN_INSTITUTE", - "PROVIDER_TRACKS_FOR_AFRICA", - "PROVIDER_PPWK", - "PROVIDER_LEADDOG", - "PROVIDER_CENTRE_DONNEES_ASTRONOMIQUES_STRASBOURG", - "PROVIDER_GISRAEL", - "PROVIDER_BASARSOFT", - "PROVIDER_MAPINFO", - "PROVIDER_MAPIT", - "PROVIDER_GEOBASE", - "PROVIDER_ORION", - "PROVIDER_CENTRAL_EUROPEAN_DATA_AGENCY", - "PROVIDER_ANASAT", - "PROVIDER_MINED_POSTCODES", - "PROVIDER_DMAPAS", - "PROVIDER_COMMON_LOCALE_DATA_REPOSITORY", - "PROVIDER_CH_SBB", - "PROVIDER_SKENERGY", - "PROVIDER_GBRMPA", - "PROVIDER_KOREA_POST", - "PROVIDER_CN_AUTONAVI", - "PROVIDER_MINED_POI", - "PROVIDER_ML_INFOMAP", - "PROVIDER_SNOOPER", - "PROVIDER_GEOSISTEMAS", - "PROVIDER_AFRIGIS", - "PROVIDER_TRANSNAVICOM", - "PROVIDER_EASYCONNECT", - "PROVIDER_LANTMATERIET", - "PROVIDER_LOGICA", - "PROVIDER_MAPKING", - "PROVIDER_DIANPING", - "PROVIDER_GEONAV", - "PROVIDER_HEIBONSHA", - "PROVIDER_DEUTSCHE_TELEKOM", - "PROVIDER_LINGUISTIC_DATA_CONSORTIUM", - "PROVIDER_ACXIOM", - "PROVIDER_DUN_AND_BRADSTREET", - "PROVIDER_FEDERAL_AVIATION_ADMINISTRATION", - "PROVIDER_INFOUSA", - "PROVIDER_INFOUSA_NIXIE", - "PROVIDER_THOMSON_LOCAL", - "PROVIDER_TELEFONICA_PUBLICIDAD_E_INFORMACION", - "PROVIDER_WIKIPEDIA", - "PROVIDER_INFOBEL", - "PROVIDER_MX_GOVERNMENT", - "PROVIDER_MX_NATIONAL_INSTITUTE_STATISTICS_GEOGRAPHY", - "PROVIDER_MX_SERVICIO_POSTAL_MEXICANO", - "PROVIDER_TELEGATE", - "PROVIDER_TELELISTAS", - "PROVIDER_MAPCITY", - "PROVIDER_EXPLAINER_DC", - "PROVIDER_DAIKEI", - "PROVIDER_NL_CHAMBER_OF_COMMERCE", - "PROVIDER_KOREA_INFO_SERVICE", - "PROVIDER_WIKITRAVEL", - "PROVIDER_FLICKR", - "PROVIDER_DIANCO", - "PROVIDER_VOLT_DELTA", - "PROVIDER_SG_GOVERNMENT", - "PROVIDER_SG_LAND_TRANSPORT_AUTHORITY", - "PROVIDER_MAPBAR", - "PROVIDER_LONGTU", - "PROVIDER_SA_GOVERNMENT", - "PROVIDER_SA_SAUDI_POST", - "PROVIDER_PEAKLIST", - "PROVIDER_LOCAL_BUSINESS_CENTER", - "PROVIDER_LOCAL_FEED_XML", - "PROVIDER_WEB", - "PROVIDER_RAILS_TO_TRAILS", - "PROVIDER_INDIACOM", - "PROVIDER_INFOMEDIA", - "PROVIDER_PICASA", - "PROVIDER_AT_GOVERNMENT", - "PROVIDER_AT_BUNDESAMT_FUR_EICH_UND_VERMESSUNGSWESEN", - "PROVIDER_AT_NATIONAL_TOURIST_OFFICE", - "PROVIDER_AT_AUSTRIA_POST", - "PROVIDER_NO_GOVERNMENT", - "PROVIDER_NO_NORSK_EIENDOMSINFORMASJON", - "PROVIDER_NO_POSTEN_NORGE_AS", - "PROVIDER_CH_GOVERNMENT", - "PROVIDER_CH_SWISS_POST", - "PROVIDER_CH_SWISSTOPO", - "PROVIDER_CH_SWISS_NATIONAL_PARK", - "PROVIDER_NAVIT", - "PROVIDER_GEOSEARCH", - "PROVIDER_DE_GOVERNMENT", - "PROVIDER_BUNDESAMT_KARTOGRAPHIE_UND_GEODASIE", - "PROVIDER_BUNDESNETZAGENTUR", - "PROVIDER_SCHOBER_GROUP", - "PROVIDER_MIREO", - "PROVIDER_PUBLIC_MUNICIPALITY", - "PROVIDER_US_PUBLIC_MUNICIPALITY", - "PROVIDER_US_PUBLIC_MUNICIPALITY_WEBSTER_TEXAS", - "PROVIDER_US_PUBLIC_MUNICIPALITY_AMHERST_MASSACHUSETTS", - "PROVIDER_US_PUBLIC_MUNICIPALITY_BLOOMINGTON_INDIANA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_PASADENA_CALIFORNIA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_CHULA_VISTA_CALIFORNIA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_TEMPE_ARIZONA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_COLUMBUS_OHIO", - "PROVIDER_US_PUBLIC_MUNICIPALITY_PORTAGE_MICHIGAN", - "PROVIDER_US_PUBLIC_MUNICIPALITY_GEORGETOWN_KENTUCKY", - "PROVIDER_US_PUBLIC_MUNICIPALITY_GREENVILLE_SOUTH_CAROLINA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_NASHVILLE_TENNESSEE", - "PROVIDER_US_PUBLIC_MUNICIPALITY_WASHINGTON_DISTRICT_OF_COLUMBIA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_BOULDER_COLORADO", - "PROVIDER_NZ_PUBLIC_MUNICIPALITY", - "PROVIDER_NZ_PUBLIC_MUNICIPALITY_ENVIRONMENT_BAY", - "PROVIDER_PL_PUBLIC_MUNICIPALITY", - "PROVIDER_PL_PUBLIC_MUNICIPALITY_BIELSKO_BIALA", - "PROVIDER_DE_PUBLIC_MUNICIPALITY", - "PROVIDER_DE_PUBLIC_MUNICIPALITY_FRANKFURT", - "PROVIDER_DE_PUBLIC_MUNICIPALITY_HAMBURG", - "PROVIDER_DE_PUBLIC_MUNICIPALITY_KARLSRUHE", - "PROVIDER_PT_PUBLIC_MUNICIPALITY", - "PROVIDER_PT_PUBLIC_MUNICIPALITY_SANTA_CRUZ", - "PROVIDER_AT_PUBLIC_MUNICIPALITY", - "PROVIDER_AT_PUBLIC_MUNICIPALITY_KLAGENFURT", - "PROVIDER_AT_PUBLIC_MUNICIPALITY_LINZ", - "PROVIDER_ES_PUBLIC_MUNICIPALITY", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_AZKOITIA", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_BEASAIN", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_GIRONA", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_SAN_SEBASTIAN", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_CATALUNYA", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_HONDARRIBIA", - "PROVIDER_AU_PUBLIC_MUNICIPALITY", - "PROVIDER_AU_PUBLIC_MUNICIPALITY_LAUNCESTON_TASMANIA", - "PROVIDER_IS_PUBLIC_MUNICIPALITY", - "PROVIDER_IS_PUBLIC_MUNICIPALITY_REYKJAVIK", - "PROVIDER_NL_PUBLIC_MUNICIPALITY", - "PROVIDER_NL_PUBLIC_MUNICIPALITY_AMELSTEVEEN", - "PROVIDER_BE_PUBLIC_MUNICIPALITY", - "PROVIDER_BE_PUBLIC_MUNICIPALITY_ANTWERPEN", - "PROVIDER_CA_PUBLIC_MUNICIPALITY", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_FREDERICTON_NEW_BRUNSWICK", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_KAMLOOPS_BRITISH_COLUMBIA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_NANAIMO_BRITISH_COLUMBIA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_BANFF_ALBERTA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_CALGARY_ALBERTA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_TORONTO_ONTARIO", - "PROVIDER_SE_PUBLIC_MUNICIPALITY", - "PROVIDER_SE_PUBLIC_MUNICIPALITY_UMEA", - "PROVIDER_UA_PUBLIC_MUNICIPALITY", - "PROVIDER_UA_PUBLIC_MUNICIPALITY_KHARKIV", - "PROVIDER_OTHER_PUBLIC_MUNICIPALITY", - "PROVIDER_OTHER_PUBLIC_MUNICIPALITY_AQUA_CALIENTE_CAHUILLA_INDIANS", - "PROVIDER_FR_PUBLIC_MUNICIPALITY", - "PROVIDER_FR_PUBLIC_MUNICIPALITY_PONT_AUDEMER", - "PROVIDER_FR_PUBLIC_MUNICIPALITY_BORDEAUX", - "PROVIDER_SG_PUBLIC_MUNICIPALITY", - "PROVIDER_BR_PUBLIC_MUNICIPALITY", - "PROVIDER_BR_PUBLIC_MUNICIPALITY_RIO_DE_JANEIRO", - "PROVIDER_MAPCUBE", - "PROVIDER_3D_REALITYMAPS", - "PROVIDER_DEUTSCHES_ZENTRUM_FUR_LUFT_UND_RAUMFAHRT", - "PROVIDER_3D_CITIES_SOCIEDADE_ANONIMA", - "PROVIDER_DISNEY", - "PROVIDER_CYBERCITY", - "PROVIDER_PRECISION_LIGHTWORKS_MODELWORKS", - "PROVIDER_VIRTUAL_HUNGARY_LIMITED", - "PROVIDER_VIRTUEL_CITY", - "PROVIDER_SCREAMPOINT_INTERNATIONAL", - "PROVIDER_AGENTSCHAP_VOOR_GEOGRAFISCHE_INFORMATIE_VLAANDEREN", - "PROVIDER_FR_GOVERNMENT", - "PROVIDER_FR_INSTITUT_GEOGRAPHIQUE_NATIONAL", - "PROVIDER_FR_CADASTRE", - "PROVIDER_DIADIEM", - "PROVIDER_THE_WEATHER_CHANNEL", - "PROVIDER_COWI", - "PROVIDER_FALKPLAN_ANDES", - "PROVIDER_NL_GOVERNMENT", - "PROVIDER_NL_KADASTER", - "PROVIDER_NL_BOARD_OF_TOURISM_AND_CONVENTIONS", - "PROVIDER_DIGITAL_MAP_PRODUCTS", - "PROVIDER_SILICE_DIGITAL", - "PROVIDER_TYDAC", - "PROVIDER_ALBRECHT_GOLF", - "PROVIDER_HEALTH_CH", - "PROVIDER_VISITDENMARK", - "PROVIDER_FLYHERE", - "PROVIDER_DIGITAL_DATA_SERVICES", - "PROVIDER_MECOMO", - "PROVIDER_ZA_GOVERNMENT", - "PROVIDER_ZA_RURAL_DEVELOPMENT_LAND_REFORM", - "PROVIDER_SENSIS", - "PROVIDER_JJCONNECT", - "PROVIDER_OPPLYSNINGEN", - "PROVIDER_TELLUS", - "PROVIDER_IQONIA", - "PROVIDER_BE_GOVERNMENT", - "PROVIDER_BE_NATIONAAL_GEOGRAFISCH_INSTITUUT", - "PROVIDER_BE_BRUSSELS_MOBILITY", - "PROVIDER_YELLOWMAP_AG", - "PROVIDER_STIFTUNG_GESUNDHEIT", - "PROVIDER_GIATA", - "PROVIDER_SANPARKS", - "PROVIDER_CENTRE_DINFORMATIQUE_POUR_LA_REGION_BRUXELLOISE", - "PROVIDER_INFOPORTUGAL", - "PROVIDER_NEGOCIOS_DE_TELECOMUNICACOES_E_SISTEMAS_DE_INFORMACAO", - "PROVIDER_COLLINS_BARTHOLOMEW", - "PROVIDER_PROTECT_PLANET_OCEAN", - "PROVIDER_KARTTAKESKUS", - "PROVIDER_FI_GOVERNMENT", - "PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION", - "PROVIDER_FI_NATIONAL_LAND_SURVEY", - "PROVIDER_FI_STATISTICS_FINLAND", - "PROVIDER_GB_GOVERNMENT", - "PROVIDER_GB_ORDNANCE_SURVEY", - "PROVIDER_NATURAL_ENGLAND", - "PROVIDER_WELSH_GOVERNMENT", - "PROVIDER_GB_OFFICE_FOR_NATIONAL_STATISTICS", - "PROVIDER_EPSILON", - "PROVIDER_PARTNER_FRONT_END", - "PROVIDER_CARTESIA", - "PROVIDER_SE_GOVERNMENT", - "PROVIDER_SE_TRAFIKVERKET", - "PROVIDER_SE_NATURVARDSVERKET", - "PROVIDER_IE_GOVERNMENT", - "PROVIDER_IE_ORDNANCE_SURVEY_IRELAND", - "PROVIDER_LU_GOVERNMENT", - "PROVIDER_LU_P_AND_T_LUXEMBOURG", - "PROVIDER_LU_ADMINISTRATION_DU_CADASTRE_ET_DE_LA_TOPOGRAPHIE", - "PROVIDER_LU_NATIONAL_TOURIST_OFFICE", - "PROVIDER_MAPFLOW", - "PROVIDER_TKARTOR", - "PROVIDER_JUMPSTART", - "PROVIDER_EPTISA", - "PROVIDER_MC_GOVERNMENT", - "PROVIDER_MC_PRINCIPAUTE_DE_MONACO", - "PROVIDER_MONOLIT", - "PROVIDER_ENVIRONMENTAL_SYSTEMS_RESEARCH_INSTITUTE", - "PROVIDER_MODIS", - "PROVIDER_GEOX", - "PROVIDER_GEODIRECTORY", - "PROVIDER_GEOPLAN", - "PROVIDER_INFODIREKT", - "PROVIDER_GEOGLOBAL", - "PROVIDER_DEUTSCHE_POST", - "PROVIDER_TRACASA", - "PROVIDER_CORREOS", - "PROVIDER_ES_GOVERNMENT", - "PROVIDER_ES_CENTRO_NACIONAL_DE_INFORMACION_GEOGRAFICA", - "PROVIDER_EDIMAP", - "PROVIDER_VERIZON", - "PROVIDER_NATIONAL_GEOGRAPHIC_MAPS", - "PROVIDER_PROMAPS", - "PROVIDER_CONSODATA", - "PROVIDER_DE_AGOSTINI", - "PROVIDER_FEDERPARCHI", - "PROVIDER_NAVIGO", - "PROVIDER_ITALIAMAPPE", - "PROVIDER_CZECOT", - "PROVIDER_NATURAL_EARTH", - "PROVIDER_REGIO", - "PROVIDER_SHIPWRECK_CENTRAL", - "PROVIDER_RUTGERS_STATE_UNIVERSITY", - "PROVIDER_TWINICE", - "PROVIDER_NORTHERN_IRELAND_TOURIST_BOARD", - "PROVIDER_INFOGROUP", - "PROVIDER_TNET", - "PROVIDER_CTT_CORREIOS_DE_PORTUGAL", - "PROVIDER_EUROPARC", - "PROVIDER_IUPPITER", - "PROVIDER_MICHAEL_BAUER_INTERNATIONAL", - "PROVIDER_LEPTON", - "PROVIDER_MAPPOINT", - "PROVIDER_GEODATA", - "PROVIDER_RU_GOVERNMENT", - "PROVIDER_RU_FNS_KLADR", - "PROVIDER_BR_GOVERNMENT", - "PROVIDER_BR_INSTITUTO_BRASILEIRO_DO_MEIO_AMBIENTE_E_DOS_RECURSOS_NATURAIS_RENOVAVEIS", - "PROVIDER_BR_MINISTERIO_DO_MEIO_AMBIENTE", - "PROVIDER_BR_AGENCIA_NACIONAL_DE_AGUAS", - "PROVIDER_BR_INSTITUTO_BRASILEIRO_DE_GEOGRAFIA_E_ESTATISTICA", - "PROVIDER_BR_FUNDACAO_NACIONAL_DO_INDIO", - "PROVIDER_BR_DEPARTAMENTO_NACIONAL_DE_INFRAESTRUTURA_DE_TRANSPORTES", - "PROVIDER_AZAVEA", - "PROVIDER_NORTHSTAR", - "PROVIDER_COMMEDI", - "PROVIDER_NEXUS_GEOGRAFICS", - "PROVIDER_INFOERA", - "PROVIDER_AD_GOVERNMENT", - "PROVIDER_AD_AREA_DE_CARTOGRAFIA", - "PROVIDER_MAXXIMA", - "PROVIDER_SI_GOVERNMENT", - "PROVIDER_SI_AGENCY_FOR_ENVIRONMENT", - "PROVIDER_TRANSPORT_HI_TECH_CONSULTANTS", - "PROVIDER_L1_TECHNOLOGIES", - "PROVIDER_TELEMEDIA", - "PROVIDER_CDCOM_PROGOROD", - "PROVIDER_MIT_CITYGUIDE", - "PROVIDER_SUNCART", - "PROVIDER_MICROMAPPER", - "PROVIDER_RICHI", - "PROVIDER_FORUM44", - "PROVIDER_SEAT", - "PROVIDER_VALASSIS", - "PROVIDER_NAVICOM", - "PROVIDER_COLTRACK", - "PROVIDER_PSMA_AUSTRALIA", - "PROVIDER_PT_DUTA_ASTAKONA_GIRINDA", - "PROVIDER_CA_GOVERNMENT", - "PROVIDER_STATISTICS_CANADA", - "PROVIDER_TOCTOC", - "PROVIDER_RMSI", - "PROVIDER_TRUE_TECHNOLOGY", - "PROVIDER_INCREMENT_P_CORPORATION", - "PROVIDER_GOJAVAS", - "PROVIDER_GEOINFORMATION_GROUP", - "PROVIDER_CYBERSOFT", - "PROVIDER_TSENTR_EFFEKTIVNYKH_TEKHNOLOGIY", - "PROVIDER_EE_GOVERNMENT", - "PROVIDER_EE_MAA_AMET", - "PROVIDER_GASBUDDY", - "PROVIDER_DK_GOVERNMENT", - "PROVIDER_DK_GEODATASTYRELSEN", - "PROVIDER_MURCIA_REGION_GOVERNMENT", - "PROVIDER_CORREIOS", - "PROVIDER_WEST_WORLD_MEDIA", - "PROVIDER_INTERNATIONAL_MAPPING_ASSOCIATION", - "PROVIDER_MEDICARE", - "PROVIDER_POLARIS", - "PROVIDER_TW_GOVERNMENT", - "PROVIDER_TW_MINISTRY_OF_THE_INTERIOR_SURVEYING_AND_MAPPING_CENTER", - "PROVIDER_NORDECA", - "PROVIDER_AFRIMAPPING", - "PROVIDER_OVERDRIVE", - "PROVIDER_PROVIDER_NETWORK_DIRECTORIES", - "PROVIDER_BR_MINISTERIO_DA_SAUDE", - "PROVIDER_DIGITAL_EGYPT", - "PROVIDER_INRIX", - "PROVIDER_ARPINDO", - "PROVIDER_IT_GOVERNMENT", - "PROVIDER_ISTITUTO_GEOGRAFICO_MILITARE", - "PROVIDER_EAST_END_GROUP", - "PROVIDER_INGEOLAN", - "PROVIDER_SEMACONNECT", - "PROVIDER_BLINK", - "PROVIDER_EVGO", - "PROVIDER_CHARGEPOINT", - "PROVIDER_TPL_TRAKKER", - "PROVIDER_OI", - "PROVIDER_MAPARADAR", - "PROVIDER_SINGAPORE_POST", - "PROVIDER_CHARGEMASTER", - "PROVIDER_TESLA", - "PROVIDER_VISICOM", - "PROVIDER_GEOLYSIS", - "PROVIDER_ZEPHEIRA", - "PROVIDER_HUBJECT", - "PROVIDER_PODPOINT", - "PROVIDER_CHARGEFOX", - "PROVIDER_KR_GOVERNMENT", - "PROVIDER_KR_MOLIT", - "PROVIDER_KR_MINISTRY_OF_THE_INTERIOR_AND_SAFETY", - "PROVIDER_CRITCHLOW", - "PROVIDER_EIFRIG", - "PROVIDER_GIREVE", - "PROVIDER_CN_NAVINFO", - "PROVIDER_JAPAN_CHARGE_NETWORK", - "PROVIDER_NOBIL", - "PROVIDER_INDIA_BANKS", - "PROVIDER_INDONESIA_ELECTION_KPU", - "PROVIDER_CAREERS360", - "PROVIDER_SOURCE_LONDON", - "PROVIDER_EVBOX", - "PROVIDER_JP_GOVERNMENT", - "PROVIDER_JP_MINISTRY_OF_THE_ENVIRONMENT", - "PROVIDER_YUMYUM", - "PROVIDER_HWW_AUSTRALIA", - "PROVIDER_CINERGY", - "PROVIDER_MTIME", - "PROVIDER_KULTUNAUT", - "PROVIDER_BLITZ", - "PROVIDER_PIA", - "PROVIDER_INTERPARK", - "PROVIDER_CINEMA_ONLINE", - "PROVIDER_BELBIOS", - "PROVIDER_MOVIESEER", - "PROVIDER_SODAMEDYA", - "PROVIDER_ATMOVIES", - "PROVIDER_HOTELBEDS", - "PROVIDER_VERICRED", - "PROVIDER_CIRRANTIC", - "PROVIDER_GOGO_LABS", - "PROVIDER_ELECTRIFY_AMERICA", - "PROVIDER_CMS_MPPUF", - "PROVIDER_DIGIROAD", - "PROVIDER_KONTEX_GEOMATICS", - "PROVIDER_NZ_GOVERNMENT", - "PROVIDER_NZ_LINZ", - "PROVIDER_NZ_DOC", - "PROVIDER_FASTNED", - "PROVIDER_DESTINY_CS", - "PROVIDER_IONITY", - "PROVIDER_EV_CONNECT", - "PROVIDER_PANPAGES", - "PROVIDER_ETECNIC", - "PROVIDER_VOLTA", - "PROVIDER_NISSAN_MEXICO", - "PROVIDER_BMW_GROUP_LATIN_AMERICA", - "PROVIDER_FEDERAL_ELECTRICITY_COMMISSION_MEXICO", - "PROVIDER_VOLVO_CARS_BRASIL", - "PROVIDER_CHARGE_AND_PARKING", - "PROVIDER_DEDUCE_TECHNOLOGIES", - "PROVIDER_SK_TELECOM", - "PROVIDER_ECO_MOVEMENT", - "PROVIDER_GOOGLE_GMS", - "PROVIDER_EASYWAY", - "PROVIDER_PHYSICIAN_COMPARE", - "PROVIDER_HOSPITAL_COMPARE", - "PROVIDER_ENDOLLA_BARCELONA", - "PROVIDER_BE_CHARGE", - "PROVIDER_ONE_NETWORK", - "PROVIDER_CARENAV_DUPLEX", - "PROVIDER_CARENAV_POI", - "PROVIDER_IN_GOVERNMENT", - "PROVIDER_SURVEY_OF_INDIA", - "PROVIDER_E_ON", - "PROVIDER_ELECTRIFY_CANADA", - "PROVIDER_GRIDCARS", - "PROVIDER_DRIVECO", - "PROVIDER_GREEN_ACTION_STUDIOS", - "PROVIDER_GREEN_ACTION_STUDIO", - "PROVIDER_EVINY", - "PROVIDER_MASTERCARD", - "PROVIDER_VATTENFALL", - "PROVIDER_VIETGIS", - "PROVIDER_UNITE", - "PROVIDER_NEOGY", - "PROVIDER_AMPUP", - "PROVIDER_LOOP", - "PROVIDER_ZEST", - "PROVIDER_EZVOLT", - "PROVIDER_JOLT", - "PROVIDER_CHARGESMITH", - "PROVIDER_PLUGO", - "PROVIDER_ELECTRIC_ERA", - "PROVIDER_FLO", - "PROVIDER_DIGITAL_CHARGING_SOLUTIONS", - "PROVIDER_ELECTRIC_PE" - ], - "enumDeprecated": [ - false, - false, - true, - false, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - true, - false, - true, - false, - true, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - true, - true, - false, - false, - false, - false, - false, - true, - true, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - true, - true, - false, - true, - false, - true, - true, - false, - true, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - false, - false, - false, - true, - false, - true, - false, - true, - true, - true, - false, - true, - true, - true, - false, - false, - true, - true, - true, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - true, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "ABSTRACT The root of all provider types. This should never be present on an actual feature, but can be useful when calling InCategory.", - "not actually a legal value, used as sentinel", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "All new \"Google\" provider entries must be full ints. The next available ID is: 0x111730C2", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "This is an internal *only* provider meant for sending wipeout requests to mapfacts.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Never rely on source infos with this provider to identify whether or not a feature is a Prominent Place! Instead, use the proper API, localsearch_clustering::QualityTierHelper::IsProminentPlace().", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Shopping Attributes Discovery", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "UMBRELLA", - "", - "The next new \"Google\" provider entries should be placed above.", - "UMBRELLA", - "", - "", - "", - "This is a testing provider for teams that wish to integrate with components of the Geo Data Infrastructure that require a valid provider. No production data should ever be sent using this provider.", - "", - "UMBRELLA", - "", - "", - "", - "UMBRELLA", - "0x1117F must not be used, since its range extends the PROVIDER_GOOGLE hierarchy.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Deprecated in favor of PROVIDER_GOOGLE_STRUCTURED_DATA (for attributes) and PROVIDER_GOOGLE_GEO_TIGER (for categories).", - "", - "0x1117FF should not be used, since its range further extends the PROVIDER_GOOGLE hierarchy. aka Local AI.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "No data is obtained from this provider. It is only used to identify features that must be served on MapMaker.", - "", - "", - "", - "", - "", - "", - "0x1117FFF should not be used, since its range further extends the PROVIDER_GOOGLE hierarchy. Synthetically generated areas (sublocalities/neighborhoods/ postal codes/etc) based on dropped terms from approximate geocoding. More info on go/syntheticareas.", - "", - "", - "", - "Similar to Google Transit, a provider that aggregates positions of bicycle rental points that we have agreements with to show on maps", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "This range has been depleted. For new Ids see PROVIDER_GOOGLE_SUBRANGE above.", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "Small Scale International Boundary Lines", - "", - "NOAA", - "PGC", - "USDA", - "National Provider Identifier Registry", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "old name for PROVIDER_NAVIGO", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "See b/33687395", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "ABSTRACT", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "IBAMA", - "MMA", - "ANA", - "IBGE", - "FUNAI", - "DNIT", - "", - "", - "", - "", - "", - "ABSTRACT", - "Department of Cartography", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "0x12 and 0x120 are not to be used. OOO CET", - "ABSTRACT", - "Estonian Land Board", - "", - "ABSTRACT", - "Danish Geodata Agency", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "Ministry of land, infrastructure and transport, 국토교통부, Guktogyotongbu", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Use PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION.", - "", - "ABSTRACT", - "Land Information New Zealand", - "NZ Department of Conservation", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Note: Next available value is 0x1275." - ], - "type": "string" - }, - "rawMetadata": { - "description": "For every key that is used in raw_data from this source, there must be a corresponding entry in raw_metadata that describes this key.", - "items": { - "$ref": "GeostoreRawMetadataProto" - }, - "type": "array" - }, - "release": { - "description": "A release string that doesn't have to be a date. This is provided so that we can preserve provider release strings that aren't based on dates. If you don't set it, the release_date will get formatted into this field for debugging purposes.", - "type": "string" - }, - "releaseDate": { - "$ref": "GeostoreDateTimeProto", - "description": "The release date of this data." - }, - "sourceDataset": { - "description": "A data provider defined string describing the source dataset from which the features of this data source were generated. For example, the MultiNet \"fra\" dataset produces features for both France and Monaco.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreDateTimeProto": { - "description": "WARNING: Outside of FeatureProto, please avoid in favor of a standard civil time type. Direct usage is error-prone due to the conflation of physical time and civil time (go/httat). In a protocol buffer, please use google.type.Date, with an additional google.type.TimeOfDay for precision finer-grained than a day. (For google.type.DateTime, go/prototime#types cites go/httat#zoned_datetime as a caveat). In a programming language, see go/time-devguide/languages. Additionally in C++, google3/geostore/base/public/datetime.h has conversion functions between DateTimeProto and Abseil's civil time types.", - "id": "GeostoreDateTimeProto", - "properties": { - "precision": { - "description": "This attribute describes the precision of the date and time. It would be unusual for a data provider to provide a precision along with their date. It is more likely that the precision of a date will be inferred from the date format. For example \"19th century\" is likely to be correct to the century, while \"1800\" is probably correct to the year. The precision should be semantically interpreted as a cast, so a DateTimeProto object with a seconds value corresponding to 2018-03-28 18:40:00 UTC and a precision of MONTH should be interpreted as \"March 2018\". The enums above are only some of the possible precision levels for dates and times. Clients may wish to add more precision enums in the future. However, these enums must be ordered by decreasing duration. Clients should be able to write date formatting code that looks like this: if (datetime.precision() \u003c= DateTimeProto::PRECISION_CENTURY) { date = FormatCenturyDate(proto.seconds()); } else if (proto.precision() \u003c= case DateTimeProto::PRECISION_DECADE) { date = FormatDecadeDate(proto.seconds()); } else { ... } See geostore/base/public/datetime.h for date formatting utility functions.", - "enum": [ - "PRECISION_CENTURY", - "PRECISION_DECADE", - "PRECISION_YEAR", - "PRECISION_MONTH", - "PRECISION_DAY", - "PRECISION_HOUR", - "PRECISION_MINUTE", - "PRECISION_SECOND" - ], - "enumDescriptions": [ - "The enum values here should be ordered from low precision to high precision.", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "seconds": { - "description": "Number of seconds since (or before) the UNIX epoch (January 1, 1970). This is also the standard epoch for Java and Python time representations. If it is important for this time be displayed correctly for different time zones, convert the time to Coordinated Universal Time (UTC).", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "GeostoreDimensionComparisonProto": { - "description": "A dimension value tagged with a comparison operator. This can be used for height, width, or length.", - "id": "GeostoreDimensionComparisonProto", - "properties": { - "comparisonOperator": { - "enum": [ - "UNSPECIFIED", - "EQUAL", - "LESS_THAN", - "LESS_THAN_OR_EQUAL", - "GREATER_THAN", - "GREATER_THAN_OR_EQUAL" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "dimensionWithUnit": { - "$ref": "GeostoreDimensionProto" - } - }, - "type": "object" - }, - "GeostoreDimensionProto": { - "description": "A dimension with a numerical value and unit. This can be a height, width, or length.", - "id": "GeostoreDimensionProto", - "properties": { - "dimension": { - "format": "float", - "type": "number" - }, - "unit": { - "enum": [ - "UNIT_UNKNOWN", - "METERS", - "FEET" - ], - "enumDescriptions": [ - "Default proto value, this value will never be set in MapFacts.", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreDisplayDataProto": { - "description": "This holds data specific to rendering a POI on a map. It's derived from data already in MapFacts, e.g. containing features and the feature's point field. If empty, this proto should be ignored for rendering. See go/maps-render-alignment for motivation and more details.", - "id": "GeostoreDisplayDataProto", - "properties": { - "displayLocation": { - "$ref": "GeostorePointProto", - "description": "The location where this feature should be rendered." - } - }, - "type": "object" - }, - "GeostoreDisputedAreaProto": { - "description": "This protocol buffer is used to store information about disputed areas. E.g., the political power that administers a disputed area or the countries that claim it. It should only be used for features of TYPE_DISPUTED_AREA.", - "id": "GeostoreDisputedAreaProto", - "properties": { - "administeredBy": { - "description": "If present this feature is administered by the power present in the field. In most cases this will be a two letter ISO-3166 region code, but may be a descriptive string if no region code is available.", - "type": "string" - }, - "claimant": { - "description": "Feature IDs (usually a country feature ID) of all parties who claim this feature. No claimants means the claim by the country that contains it (based on country polygon) is not disputed.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreDoodleProto": { - "description": "This protocol buffer holds the doodle-specific attributes for features of type TYPE_DOODLE.", - "id": "GeostoreDoodleProto", - "properties": { - "type": { - "description": "The type of this feature -- see comments above.", - "enum": [ - "TYPE_ANY", - "TYPE_USER_DEFINED_LABEL", - "TYPE_POINT_ANNOTATION", - "TYPE_LINE_ANNOTATION", - "TYPE_AREA_ANNOTATION" - ], - "enumDescriptions": [ - "ABSTRACT", - "A label that a cartographer has manually placed on the map. These may be read in from configuration files in a renderer and drawn on the map in the appropriate location.", - "Point, line, and area annotations. There used to be a more detailed list of doodle types here, but the doodles encoded with them turned out to have a fair bit of tricky datasource-specific baggage. Rather than list provider-specific types here, they've been pulled out and are now private to the importer and the renderer. The point/line/area distinction however has proven to be useful for configuration and filtering, and remains.", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreDurationBasedRateProto": { - "description": "A single cost which will apply based on the duration of utilization. The cost may apply once, or repeatedly on some interval, to account for the total utilization. If the duration expressed by range_start_seconds and range_end_seconds do not cover the entire duration of the utilization (i.e. from 0 to some time greater than the total utilization time), this must be combined with other DurationBasedRateProtos such that the entire duration of the utilization is accounted for. See go/rate-schema for more details.", - "id": "GeostoreDurationBasedRateProto", - "properties": { - "isFree": { - "description": "If true, represents that the rate is free; i.e. the price is 0 in any currency. If this is true, price must be empty.", - "type": "boolean" - }, - "periodicitySeconds": { - "description": "The billable unit of the rate; i.e. after having utilized the service for exactly periodicity_seconds, the total cost should increase by ‘price’. For example, if the rate expresses a price per hour, then periodicity_seconds should be set to 3600. If this is unset, then the rate does not vary based on duration, and price represents a flat cost. May only be set if price is nonempty.", - "format": "int32", - "type": "integer" - }, - "price": { - "description": "The total price, in each applicable currency, of utilizing the service for periodicity_seconds, or for the entire duration expressed by range_start_seconds and range_end_seconds if periodicity_seconds is 0. Each entry should have an ID of /measurement_unit/money_value and consist of two properties: one with an ID of /measurement_unit/money_value/amount and a float value with the amount, and another with the ID /measurement_unit/money_value/currency and an ID value with the MID of the proper currency. May only be set if is_free is false.", - "items": { - "$ref": "FreebaseTopic" - }, - "type": "array" - }, - "rangeEndSeconds": { - "description": "Upper bound for durations to match, exclusive. Unset implies indefinite.", - "format": "int32", - "type": "integer" - }, - "rangeStartSeconds": { - "description": "Lower bound for durations to match, inclusive. Required; a value of 0 expresses that the price applies from the start of the utilization period.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostoreElevationModelProto": { - "description": "Represents raster digital elevation model data.", - "id": "GeostoreElevationModelProto", - "properties": { - "blendOrder": { - "description": "Defines the relative order in which terrain data should be rendered. Features with higher blend_order should be blended on top of features with lower blend_order. NOTE: this is backwards from the way BlendRank works in Magrathean.", - "format": "int32", - "type": "integer" - }, - "dataLevel": { - "description": "The zoom level at which this data is defined. Level 0 is world level data, and each increase in zoom level corresponds to a factor of 2 increase in scale.", - "format": "int32", - "type": "integer" - }, - "dataMaxlevel": { - "description": "The maximum (finest) level at which this terrain data has sufficient resolution to be displayed.", - "format": "int32", - "type": "integer" - }, - "elevationData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place to store an elevation data protocol buffer. Currently, this must be a keyhole::AssetTileCompressed (see google3/keyhole/common/proto/magrathean.protodevel)." - }, - "fullChildDataAvailable": { - "description": "If true, all of the data contained in this feature is available at the next highest (more detailed) level. If this is true, partial_child_data_available should also be true.", - "type": "boolean" - }, - "partialChildDataAvailable": { - "description": "If true, at least part of the data contained in this feature is available at the next highest (more detailed) level.", - "type": "boolean" - } - }, - "type": "object" - }, - "GeostoreElevationProto": { - "description": "This protocol buffer holds elevation and related data.", - "id": "GeostoreElevationProto", - "properties": { - "averageElevationMeters": { - "description": "The average elevation of the feature in meters above the local mean sea level.", - "format": "double", - "type": "number" - }, - "peak": { - "$ref": "GeostorePeakProto", - "description": "Additional details for TYPE_PEAK and TYPE_VOLCANO features." - } - }, - "type": "object" - }, - "GeostoreEntranceProto": { - "description": "This protocol buffer holds entrance-specific attributes for features of type TYPE_ENTRANCE.", - "id": "GeostoreEntranceProto", - "properties": { - "allowance": { - "enum": [ - "ENTER_AND_EXIT", - "ENTER_ONLY", - "EXIT_ONLY" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "canEnter": { - "deprecated": true, - "description": "DEPRECATED. Please use enter_or_exit instead.", - "type": "boolean" - }, - "canExit": { - "deprecated": true, - "description": "Whether the target can be entered through this entrance. Whether the target can be exited through this entrance.", - "type": "boolean" - } - }, - "type": "object" - }, - "GeostoreEntranceReferenceProto": { - "description": "Models a relationship between a feature and its entrance or exit.", - "id": "GeostoreEntranceReferenceProto", - "properties": { - "featureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "Feature ID of the related entrance. References should refer to TYPE_ENTRANCE or TYPE_COMPOUND features that are entrances or exits of the referencing feature." - } - }, - "type": "object" - }, - "GeostoreEstablishmentProto": { - "description": "This protocol buffer holds establishment-specific attributes for features of type TYPE_ESTABLISHMENT.", - "id": "GeostoreEstablishmentProto", - "properties": { - "bizbuilderReference": { - "$ref": "GeostoreBizBuilderReferenceProto", - "description": "Reference to BizBuilder data for this establishment. The bizbuilder_reference field indicates that a feature is claimed in CBDB (with the canonical state in MapFacts). The bizbuilder_reference is different from the social_reference's claimed_gaia_id because some BizBuilder clients will not have +Pages. All claimed businesses should have a bizbuilder_reference." - }, - "hours": { - "$ref": "GeostoreTimeScheduleProto", - "description": "Regular opening hours for the establishment (weekly schedule)." - }, - "openingHours": { - "$ref": "GeostoreOpeningHoursProto", - "description": "Opening hours for this establishment, including regular weekly hours and exceptional hours (e.g. on holidays). NOTE: in practice, only the exceptional hours are filled in this message. A schema migration for regular weekly hours was planned back in 2015 (see b/23105782) but was not completed and is (as of May 2018) not prioritized. Clients should continue getting regular opening hours from the `hours` field above. In openinghours.h there is a utility function `GetOpeningHoursFromFeature` that merges `EstablishmentProto.hours` into this proto." - }, - "priceInfo": { - "$ref": "GeostorePriceInfoProto", - "description": "Pricing for products and services offered. Example: menus for restaurants." - }, - "serviceArea": { - "$ref": "GeostoreServiceAreaProto" - }, - "telephone": { - "description": "Telephone number and related information.", - "items": { - "$ref": "GeostoreTelephoneProto" - }, - "type": "array" - }, - "type": { - "deprecated": true, - "description": "** DEPRECATED ** This is deprecated in favor of the top-level (in FeatureProto) set of GConcepts. The type of establishment -- see comments above.", - "enum": [ - "TYPE_ANY", - "TYPE_UNDEFINED", - "TYPE_DEPRECATED_AVIATION", - "TYPE_BUSINESS", - "TYPE_TRAVEL_SERVICE", - "TYPE_LODGING", - "TYPE_HOTEL", - "TYPE_RESORT", - "TYPE_MOTEL", - "TYPE_HOSTEL", - "TYPE_GUESTHOUSE", - "TYPE_VACATION_RENTAL", - "TYPE_GAS_STATION", - "TYPE_REST_AREA", - "TYPE_CASH_MACHINE", - "TYPE_CAR_RENTAL", - "TYPE_CAR_REPAIR", - "TYPE_TAXI_STAND", - "TYPE_TRAVEL_AGENT", - "TYPE_BICYCLE_RENTAL_POINT", - "TYPE_ELECTRIC_VEHICLE_CHARGING_STATION", - "TYPE_SHOPPING", - "TYPE_GROCERY", - "TYPE_ANTIQUES", - "TYPE_APPAREL", - "TYPE_GIFTS", - "TYPE_JEWELRY", - "TYPE_SPORTING_GOODS", - "TYPE_VEHICLE", - "TYPE_SHOPPING_CENTER", - "TYPE_SUPERMARKET", - "TYPE_FAIRGROUNDS", - "TYPE_MARKET", - "TYPE_PRODUCE_MARKET", - "TYPE_FARMERS_MARKET", - "TYPE_LIQUOR_STORE", - "TYPE_SOUVENIR_SHOP", - "TYPE_INDUSTRIAL", - "TYPE_CONSTRUCTION", - "TYPE_BUILDING_MATERIAL", - "TYPE_SECURITY_PRODUCTS", - "TYPE_MECHANICAL", - "TYPE_TEXTILE", - "TYPE_CHEMICAL", - "TYPE_METAL", - "TYPE_TRANSPORTATION", - "TYPE_FREIGHT", - "TYPE_AVIATION", - "TYPE_COURIER", - "TYPE_MOVING", - "TYPE_PACKAGING", - "TYPE_RAIL", - "TYPE_PUBLIC_TRANSIT", - "TYPE_WAREHOUSE", - "TYPE_DEFENSE", - "TYPE_AGRICULTURE", - "TYPE_PLANTATION", - "TYPE_PLANT_NURSERY", - "TYPE_DESIGN", - "TYPE_UTILITIES", - "TYPE_POWER_PLANT", - "TYPE_SEWAGE_TREATMENT_PLANT", - "TYPE_WATER_TREATMENT_PLANT", - "TYPE_SUBSTATION", - "TYPE_MANUFACTURING", - "TYPE_BIOTECH", - "TYPE_MATERIALS", - "TYPE_MINING", - "TYPE_QUARRY", - "TYPE_TANNERY", - "TYPE_OIL_REFINERY", - "TYPE_ADVERTISING_MARKETING", - "TYPE_LEGAL", - "TYPE_FAMILY_LAW", - "TYPE_IP_LAW", - "TYPE_LABOR_LAW", - "TYPE_PERSONAL_INJURY_LAW", - "TYPE_CRIMINAL_LAW", - "TYPE_PERSONAL_FINANCE", - "TYPE_LIFE_INSURANCE", - "TYPE_LENDING", - "TYPE_ACCOUNTING", - "TYPE_INVESTING", - "TYPE_BANKING", - "TYPE_HEALTH", - "TYPE_HEALTH_EQUIPMENT", - "TYPE_NURSING", - "TYPE_HEALTH_INSURANCE", - "TYPE_HEALTH_FACILITY", - "TYPE_DIAGNOSTIC_CENTER", - "TYPE_HEALTH_RESOURCES", - "TYPE_NUTRITION", - "TYPE_VISION", - "TYPE_COUNSELING", - "TYPE_MASSAGE", - "TYPE_BLOOD_BANK", - "TYPE_HEARING", - "TYPE_HOME_GARDEN", - "TYPE_INTERIOR_DECOR", - "TYPE_DOMESTIC_SERVICES", - "TYPE_APPLIANCES", - "TYPE_PEST_CONTROL", - "TYPE_GARDENING", - "TYPE_ELECTRONICS", - "TYPE_COMPUTER", - "TYPE_COMPUTER_HARDWARE", - "TYPE_COMPUTER_SECURITY", - "TYPE_COMPUTER_SOFTWARE", - "TYPE_COMPUTER_SUPPORT", - "TYPE_AUDIO_DEVICES", - "TYPE_VIDEO_DEVICES", - "TYPE_REAL_ESTATE", - "TYPE_OFFICE_SERVICES", - "TYPE_ENTERTAINMENT", - "TYPE_GAMES", - "TYPE_CASINO", - "TYPE_LOTTO", - "TYPE_VIDEO", - "TYPE_CLUBS", - "TYPE_DISCOTHEQUE", - "TYPE_ANIMATION", - "TYPE_MODELING", - "TYPE_HUMOR", - "TYPE_MOVIES", - "TYPE_MOVIE_RENTAL", - "TYPE_MOVIE_THEATER", - "TYPE_MUSIC", - "TYPE_RADIO", - "TYPE_TV", - "TYPE_BAR", - "TYPE_PRINT_MEDIA", - "TYPE_ADULT", - "TYPE_SEXUAL_SERVICES", - "TYPE_ANIMALS", - "TYPE_PETS", - "TYPE_FISHERY", - "TYPE_ARTS", - "TYPE_BOOKS", - "TYPE_PERFORMING_ARTS", - "TYPE_GALLERY", - "TYPE_AUTOMOTIVE", - "TYPE_PARTS", - "TYPE_AUTO_FINANCE", - "TYPE_AUTO_INSURANCE", - "TYPE_RV", - "TYPE_MOTORCYCLES", - "TYPE_CARS", - "TYPE_TRUCKS_SUVS", - "TYPE_LICENSING", - "TYPE_MAINTENANCE", - "TYPE_PERSONAL_CARE", - "TYPE_BODY_ART", - "TYPE_COSMETICS", - "TYPE_FITNESS", - "TYPE_YOGA_CENTER", - "TYPE_GYM", - "TYPE_HAIR_CARE", - "TYPE_SPA", - "TYPE_BEAUTY_SALON", - "TYPE_CORPORATE_EVENTS", - "TYPE_HUMAN_RESOURCES", - "TYPE_FOOD_AND_DRINK", - "TYPE_BEVERAGE", - "TYPE_RECIPES", - "TYPE_COOKWARE", - "TYPE_CULINARY", - "TYPE_RETAIL", - "TYPE_RESTAURANT", - "TYPE_COFFEE", - "TYPE_BAKERY", - "TYPE_FOOD_CENTER", - "TYPE_TEA", - "TYPE_CAFE", - "TYPE_WINERY", - "TYPE_BREWERY", - "TYPE_FAST_FOOD", - "TYPE_FOOD_DELIVERY", - "TYPE_INTERNET", - "TYPE_WEB_DESIGN", - "TYPE_WEB_HOSTING", - "TYPE_WEB_SERVICES", - "TYPE_LIFESTYLE", - "TYPE_PHOTO_VIDEO", - "TYPE_ACTIVITIES", - "TYPE_BOATING", - "TYPE_CYCLING", - "TYPE_EQUESTRIAN", - "TYPE_FISHING", - "TYPE_HIKING", - "TYPE_HUNTING", - "TYPE_SWIMMING", - "TYPE_GOLF", - "TYPE_GOLF_COURSE", - "TYPE_BASEBALL", - "TYPE_BASKETBALL", - "TYPE_HOCKEY", - "TYPE_MOTOR_SPORTS", - "TYPE_WINTER_SPORTS", - "TYPE_FOOTBALL", - "TYPE_SOCCER", - "TYPE_ICE_SKATING", - "TYPE_BOXING", - "TYPE_CRICKET", - "TYPE_ROWING", - "TYPE_RUGBY", - "TYPE_RACQUET_SPORTS", - "TYPE_ROCK_CLIMBING", - "TYPE_REFERENCES", - "TYPE_MAPS", - "TYPE_TIME", - "TYPE_SCIENTIFIC_EQUIPMENT", - "TYPE_TELECOMMUNICATIONS", - "TYPE_EVENT_VENUE", - "TYPE_BANQUET_HALL", - "TYPE_CONFERENCE_HALL", - "TYPE_WEDDING_HALL", - "TYPE_EXHIBITION_HALL", - "TYPE_COMMUNITY_CENTER", - "TYPE_AUDITORIUM", - "TYPE_FUNCTION_HALL", - "TYPE_CONCERT_HALL", - "TYPE_AMPHITHEATER", - "TYPE_LAUNDRY", - "TYPE_LAUNDROMAT", - "TYPE_DRY_CLEANER", - "TYPE_MORTUARY", - "TYPE_REPAIR_AND_MAINTENANCE", - "TYPE_GOVERNMENT", - "TYPE_BORDER_CROSSING", - "TYPE_CITY_HALL", - "TYPE_COURTHOUSE", - "TYPE_EMBASSY", - "TYPE_LIBRARY", - "TYPE_PRISON", - "TYPE_TAX_OFFICE", - "TYPE_PROSECUTORS_OFFICE", - "TYPE_CONGRESS", - "TYPE_TOWN_COUNCIL", - "TYPE_CAPITOL_BUILDING", - "TYPE_VOTING_FACILITY", - "TYPE_CHECKPOINT", - "TYPE_SCHOOL", - "TYPE_UNIVERSITY", - "TYPE_ORPHANAGE", - "TYPE_KINDERGARTEN", - "TYPE_DAYCARE", - "TYPE_ACADEMY", - "TYPE_TRADE_SCHOOL", - "TYPE_SKILL_INSTRUCTION", - "TYPE_EMERGENCY", - "TYPE_HOSPITAL", - "TYPE_PHARMACY", - "TYPE_POLICE", - "TYPE_FIRE", - "TYPE_DOCTOR", - "TYPE_DENTIST", - "TYPE_VETERINARIAN", - "TYPE_FIRST_AID", - "TYPE_CIVIL_DEFENSE", - "TYPE_TOURIST_DESTINATION", - "TYPE_ECO_TOURIST_DESTINATION", - "TYPE_BIRD_WATCHING", - "TYPE_NATURE_RESERVE", - "TYPE_MUSEUM", - "TYPE_VISITOR_CENTER", - "TYPE_OBSERVATION_DECK", - "TYPE_OBSERVATORY", - "TYPE_SCENIC_POINT", - "TYPE_ZOO", - "TYPE_AQUARIUM", - "TYPE_AMUSEMENT_PARK", - "TYPE_MONUMENT", - "TYPE_PALACE", - "TYPE_FORT", - "TYPE_TOWER", - "TYPE_LIGHTHOUSE", - "TYPE_TEMPLE", - "TYPE_CHURCH", - "TYPE_GURUDWARA", - "TYPE_HINDU_TEMPLE", - "TYPE_MOSQUE", - "TYPE_SYNAGOGUE", - "TYPE_BUDDHIST_TEMPLE", - "TYPE_JAIN_TEMPLE", - "TYPE_BAHAI_TEMPLE", - "TYPE_SHINTO_TEMPLE", - "TYPE_MORMON_TEMPLE", - "TYPE_SPORTS_COMPLEX", - "TYPE_STADIUM", - "TYPE_BOWLING", - "TYPE_BADMINTON", - "TYPE_TENNIS", - "TYPE_TABLE_TENNIS", - "TYPE_PARK", - "TYPE_LOCAL_PARK", - "TYPE_NATIONAL_PARK", - "TYPE_US_NATIONAL_PARK", - "TYPE_US_NATIONAL_MONUMENT", - "TYPE_NATIONAL_FOREST", - "TYPE_NATIONAL_GRASSLAND", - "TYPE_NATIONAL_PRESERVE", - "TYPE_NATIONAL_RECREATION_AREA", - "TYPE_NATIONAL_MONUMENT", - "TYPE_NATIONAL_HISTORIC_AREA", - "TYPE_NATIONAL_SCENIC_AREA", - "TYPE_NATIONAL_SCENIC_ROADWAY_AREA", - "TYPE_NATIONAL_SCENIC_RIVER_AREA", - "TYPE_PROVINCIAL_PARK", - "TYPE_PROVINCIAL_FOREST", - "TYPE_CAMPGROUNDS", - "TYPE_WILDERNESS_AREA", - "TYPE_WILDLIFE_AREA", - "TYPE_BOTANICAL_GARDEN", - "TYPE_GARDEN", - "TYPE_ARBORETUM", - "TYPE_MARINE_PROTECTED_AREA", - "TYPE_AIRPORT", - "TYPE_TARMAC", - "TYPE_HELIPORT", - "TYPE_SEAPLANE_BASE", - "TYPE_MILITARY_AIRBASE", - "TYPE_CEMETERY", - "TYPE_MILITARY", - "TYPE_ENCLOSED_TRAFFIC_AREA", - "TYPE_PARKING", - "TYPE_OFF_ROAD_AREA", - "TYPE_POST_OFFICE", - "TYPE_HOUSING_DEVELOPMENT", - "TYPE_BRIDGE", - "TYPE_ARCHAEOLOGICAL", - "TYPE_HISTORICAL", - "TYPE_RUINS", - "TYPE_TUNNEL", - "TYPE_RESIDENTIAL_DWELLING", - "TYPE_DETACHED_DWELLING", - "TYPE_ATTACHED_DWELLING", - "TYPE_APARTMENT", - "TYPE_GATED_COMMUNITY", - "TYPE_RETIREMENT_HOME", - "TYPE_TOLL_BOOTH", - "TYPE_CULTURAL", - "TYPE_CULTURAL_CENTER", - "TYPE_OVERPASS", - "TYPE_REST_ROOM", - "TYPE_PUBLIC_PHONE", - "TYPE_PHONE_BOOTH", - "TYPE_MANNED_PCO", - "TYPE_RESEARCH_INSTITUTE", - "TYPE_NON_GOVERNMENTAL_ORGANIZATION", - "TYPE_OFFICE_PARK", - "TYPE_MEDITATION_CENTER", - "TYPE_RELIGIOUS", - "TYPE_MONASTERY", - "TYPE_ASHRAM", - "TYPE_PAGODA", - "TYPE_MISSION", - "TYPE_PILGRIM_DESTINATION", - "TYPE_SOCIAL_SERVICE", - "TYPE_RANGER_STATION", - "TYPE_TRANSIT_STATION", - "TYPE_BUS_STATION", - "TYPE_TRAMWAY_STATION", - "TYPE_TRAIN_STATION", - "TYPE_SUBWAY_STATION", - "TYPE_FERRY_TERMINAL", - "TYPE_CABLE_CAR_STATION", - "TYPE_GONDOLA_LIFT_STATION", - "TYPE_FUNICULAR_STATION", - "TYPE_HORSE_CARRIAGE_STATION", - "TYPE_MONORAIL_STATION", - "TYPE_SEAPORT", - "TYPE_NATURAL_FEATURE", - "TYPE_ELEVATED", - "TYPE_PEAK" - ], - "enumDescriptions": [ - "ABSTRACT", - "Can be used for features where no establishment information is available. For example, if an importer generates a TYPE_ESTABLISHMENT_BUILDING feature, but source data does not have any information on the actual purpose of the building, the importer should use TYPE_UNDEFINED for establishment type.", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Note: 0xF213F is reserved to extend TYPE_INDUSTRIAL", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "0xF6F is reserved and any new types should start with 0xF6F1", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "State parks, county parks, city parks, wilderness areas. This also includes underwater preserves, wild and scenic rivers, etc. Should we have things like baseball diamonds?", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Wildlife management area. This includes preservation areas for fish, game, and birds.", - "", - "", - "", - "", - "", - "An airport is a location where aircraft such as fixed-wing aircraft, helicopters, and blimps takeoff and land. NOTE: TYPE_TARMAC establishment type has been deprecated in favor of TYPE_TARMAC feature type. Once all data is modeled using the new feature type, the entry below should be removed.", - "DEPRECATED", - "A heliport is a small airport suitable only for use by helicopters.", - "A seaplane base is a special airport suitable for seaplanes.", - "An airbase (sometimes referred to correctly as an airfield, military airport, or Royal Air Force Station or Air Force Station) is a military airfield that provides basing and support of military aircraft.", - "", - "", - "The term \"enclosed traffic area\" is used extensively in Europe. It generally refers to a parking lot or other similar area through which traffic passes but are not generally considered to be a road. Another example is a piazza in an Italian town.", - "Establishment TYPE_PARKING is used for parking lots or garages. The actual feature type can be TYPE_ESTABLISHMENT_GROUNDS or TYPE_ESTABLISHMENT_BUILDING to distinguish between those.", - "", - "", - "In some country (like China), there will have a small area of housing development. Normally covers one or more city blocks.", - "In the Australian data we get bridges as POIs effectively. We'd like to include them so we can mapsearch for \"Sydney Harbour Bridge\" and others. Many other data sets have bridges modeled directly as segments, and so don't require this.", - "", - "In some countries historical objects are well known and important.", - "", - "Feature must be TYPE_ESTABLISHMENT_GROUNDS.", - "These types, when used with appropriate feature type (TYPE_ESTABLISHMENT_BUILDING, TYPE_ESTABLISHMENT_GROUNDS) can refer to a single building or a residential area (respectively).", - "", - "", - "All multi-unit housing such as duplex, condominium, apartment belongs to this.", - "", - "", - "In Korea most toll booths have their own names, and are often used as reference points. If an importer generates TYPE_TOLL_BOOTH establishment features with exact positions and names, then mapsearch will index them. Also this can be used to render them.", - "", - "", - "An overpass, or flyover is a structure that passes over another road or railway.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Hierarchy of transit station types. See go/transit-schema for more details.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreExceptionalHoursProto": { - "description": "An ExceptionalHoursProto holds information about exceptional (non-regular) hours for a business, such as holiday hours.", - "id": "GeostoreExceptionalHoursProto", - "properties": { - "hours": { - "$ref": "GeostoreBusinessHoursProto", - "description": "The weekly schedule to be applied for the dates that fall within the range. The schedule may contain hours only for days of the week that occur during the date range specified in the range field." - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this exception." - }, - "range": { - "$ref": "GeostoreTimeIntervalProto", - "description": "The dates for which this exception applies, expressed as a half open interval. For example, an exception that applies for the entire month of December 2015 should have a range December 1, 2015 to January 1, 2016. Any regular hours that start on days in this range are ignored and replaced by the exceptional hours for that day. The TimeIntervalProto for the range must be a fully specified, non-empty, and non-inverted range of dates. Concretely, the requirements are: * the range must be a TYPE_RANGE interval * the interval may not be inverted * the endpoints of the interval must specify a year, month, and day * the day_type of each endpoint must be type DAY_OF_MONTH * the endpoints may not specify hour, minute, second, week, or week_type * the begin endpoint must predate the end endpoint" - } - }, - "type": "object" - }, - "GeostoreExistenceProto": { - "id": "GeostoreExistenceProto", - "properties": { - "closeReason": { - "description": "Structured reason for the permanent closure (if any).", - "enum": [ - "CLOSED", - "MOVED", - "REBRANDED" - ], - "enumDescriptions": [ - "The establishment is permanently closed.", - "The establishment moved to another location. There may be a new feature representing the \"same\" establishment at its new location and if so, this feature should have a RELATION_BUSINESS_MOVED relation to that other feature.", - "The establishment was rebranded. There may be a new feature representing the \"same\" establishment with its new branding and if so, this feature should have a RELATION_BUSINESS_REBRANDED relation to that other feature. WARNING: New edits no longer use REBRANDED or RELATION_BUSINESS_REBRANDED. For more context, see go/geo-schema-reference:operational-lifecycle#rebranded-schema-status." - ], - "type": "string" - }, - "closed": { - "description": "Indicates whether the place is closed (permanently or temporarily), i.e., not operational in the present, but was in the past. WARNING: New code should prefer go/geo-schema-reference:operational-status.", - "type": "boolean" - }, - "endAsOfDate": { - "$ref": "GeostoreDateTimeProto", - "description": "The earliest known date of this feature's \"end\" (e.g. an establishment's permanent closure), if the actual date is unknown; i.e. the best known upper bound of the day end_date would represent. end_as_of_date must be in local (civil) time and of PRECISION_DAY. WARNING: Not necessarily consistent yet with `closed` or the ClosureAttachmentProto. If you believe you need to use this field directly, please go/contact-geo-schema. " - }, - "endDate": { - "$ref": "GeostoreDateTimeProto" - }, - "featureBirthTimestampSeconds": { - "deprecated": true, - "description": "** DEPRECATED ** This field is now deprecated (see b/22878252). Please use the Geo Schema GetFeatureBirthTimestamp() API to extract the birth timestamp of a feature. The timestamp in seconds since the UNIX epoch (January 1, 1970) when this feature becomes live in the Geo repository. This was the birth date of the place's representation in Google whereas start_date is the birth date of the place's operations in the physical world.", - "format": "int64", - "type": "string" - }, - "removed": { - "description": "Indicates whether the feature is marked as removed in the Geo repository. Removed features are still present in the Geo repository but are considered to be in an inactive state (not valid for lint purposes, not retrievable except explicitly by feature ID, etc.). NOTE: If you have access to a complete FeatureProto, do NOT read this bit directly to find out whether a feature is removed. Instead, rely on the IsFeatureRemoved() API, available in C++ (geostore/base/public/feature.h) and Java (geostore/base/Feature.java).", - "type": "boolean" - }, - "removedReason": { - "description": "Structured reason why the feature is marked as removed. Relevant only when removed == true.", - "enum": [ - "UNKNOWN", - "BOGUS", - "PRIVATE", - "PRIVATE_MUST_PURGE", - "SPAM", - "UNSUPPORTED", - "PENDING", - "DUPLICATE", - "OLD_SCHEMA", - "REPLACED", - "ROLLED_BACK" - ], - "enumDescriptions": [ - "Reason unknown or not captured by one of the other values.", - "Bogus data - doesn't represent a real world geographic place or is just largely bad/incorrect data.", - "Considered \"private\" data. We do not want to display this data to users, but we allow it to remain in MapFacts indefinitely.", - "Considered \"private\" data, which has been or will soon be fully removed from MapFacts and related systems (other than feature id and existence metadata).", - "Bad data that was intentionally/maliciously contributed.", - "Not enough data to support the existence of the feature. Different from the BOGUS case in that there is no positive evidence that place is/was incorrect. NOTE: This removal reason can only be set/unset by PROVIDER_GOOGLE_LOCAL_ALCHEMY and PROVIDER_GOOGLE_OYSTER_AUTO_EDITS.", - "Indicates that the existence of the place is yet to be justified.", - "Place has been identified as duplicate of and merged to another place. NOTE: This removal reason cannot be set for TYPE_SEGMENT. NOTE: If you have access to a complete FeatureProto, do NOT read this bit directly to find out whether a feature is a duplicate. Instead, rely on the IsDuplicateFeature() API, available in C++ (geostore/base/public/feature.h) and Java (geostore/base/Feature.java).", - "The feature uses an old version of the Geo Schema (e.g. it has a deprecated feature type).", - "Feature has been replaced by one or more other features. E.g. a segment got split and is now replaced by 2 segments. This is different than DUPLICATE because the feature is not a duplicate (in the identity sense) of the feature(s) that replace it. NOTE: this removal reason is currently allowed to be set only on TYPE_SEGMENT features.", - "The edit that created the feature has been rolled back." - ], - "type": "string" - }, - "startDate": { - "$ref": "GeostoreDateTimeProto", - "description": "(Initial) start and (permanent) end dates of operations, such that start_date is the first day operational and end_date is the first day when operations have permanently ended. The only allowed precisions are PRECISION_DAY, PRECISION_MONTH, PRECISION_YEAR. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: The start_date and end_date are stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature." - } - }, - "type": "object" - }, - "GeostoreFeatureFieldMetadataProto": { - "description": "Provenance information for sub-fields of this feature - go/subfield-provenance.", - "id": "GeostoreFeatureFieldMetadataProto", - "properties": { - "fieldProvenance": { - "items": { - "$ref": "GeostoreFeatureFieldMetadataProtoFieldProvenance" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreFeatureFieldMetadataProtoFieldProvenance": { - "id": "GeostoreFeatureFieldMetadataProtoFieldProvenance", - "properties": { - "fieldPath": { - "description": "Represents all fields for which this SourceInfo is valid. NOTE: Field paths are rooted at FeatureProto level.", - "items": { - "$ref": "GeostoreStableFieldPathProto" - }, - "type": "array" - }, - "provenance": { - "$ref": "GeostoreProvenanceProto" - } - }, - "type": "object" - }, - "GeostoreFeatureHistoryMetadataProto": { - "description": "Metadata related to the history of a given feature in the Geo repository.", - "id": "GeostoreFeatureHistoryMetadataProto", - "properties": { - "featureBirthTimestampUs": { - "description": "The timestamp (in microseconds since the UNIX epoch) when this feature first went live in the Geo repository. Note that this has no relation to the birth data of that geographical entity in the real world.", - "format": "int64", - "type": "string" - }, - "lastModificationTimestampUs": { - "description": "The timestamp (in microseconds since the UNIX epoch) of the last modification to the feature. Note this includes attachment modifications. The feature's initial creation is also considered as a modification. This is useful for those that consume features via both listening to notifications and reading from repository snapshots. This timestamp can be used to decide whether a feature in the snapshot was already seen in a more recent state through the notifications.", - "format": "int64", - "type": "string" - }, - "removalTimestampUs": { - "description": "The timestamp (in microseconds since the UNIX epoch) of the deletion time of the feature. If the feature is currently removed, this field gets populated with the timestamp the feature first became removed after being live (or being removed from beginning). This field won't be set if the feature is live.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreFeatureIdForwardingsProto": { - "description": "Feature ID forwardings. There are many different types of ID forwardings, some of which are attached to live features, others to removed features. This information is available in multiple forms (with different completeness guarantees): (1) in RPC responses to read requests to the live Geo repository; (2) on disk, as part of the metadata section of features found in the (inactive) features snapshots; (3) on disk, as part of a separate feature_id_forwardings side table.", - "id": "GeostoreFeatureIdForwardingsProto", - "properties": { - "duplicateOf": { - "$ref": "GeostoreFeatureIdProto", - "description": "If the feature has been marked as a DUPLICATE of another feature, this is the feature ID of that other feature. Note that the other feature may itself be removed. This field is always set." - }, - "forwardedId": { - "$ref": "GeostoreFeatureIdProto", - "description": "The feature ID of the forwarded feature. This field is only set in case (3)." - }, - "inactiveDuplicate": { - "description": "If other features have been marked as DUPLICATE of this feature, this is the set of all such feature IDs. All feature IDs in this set should be for removed (aka inactive) features. Note that in the context of historical read requests against MapFacts (when ReadRequest.version_selection.timestamp is set), this field won't be set.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "replacedBy": { - "$ref": "GeostoreFeatureIdListProto", - "deprecated": true, - "description": "DEPRECATED - Use feature.metadata.feature_replacement_info instead. This field was never populated." - }, - "transitivelyDuplicateOf": { - "$ref": "GeostoreFeatureIdProto", - "description": "If the feature has been transitively marked as a DUPLICATE of another feature (via a chain of size \u003e= 1), this is the feature ID of that other feature which is the end of the chain. The field is always set even if the chain is of size 1. Note that the other feature may itself be removed. This field is only set in case (3)." - } - }, - "type": "object" - }, - "GeostoreFeatureIdListProto": { - "description": "A simple list of feature IDs.", - "id": "GeostoreFeatureIdListProto", - "properties": { - "id": { - "description": "The list of feature IDs. While the exact semantics of these IDs are usage-dependent, the list should never be empty or contain duplicates.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreFeatureIdProto": { - "description": "A globally unique identifier associated with each feature. We use 128-bit identifiers so that we have lots of bits available to distinguish between features. The feature id currently consists of a 64-bit \"cell id\" that **sometimes** corresponds to the approximate centroid of the feature, plus a 64-bit fingerprint of other identifying information. See more on each respective field in its comments. Feature ids are first assigned when the data is created in MapFacts. After initial creation of the feature, they are immutable. This means that the only properties that you should rely on are that they are unique, and that cell_ids often - but not always - preserve spatial locality. The degree of locality varies as the feature undergoes geometry changes, and should not in general be considered a firm guarantee of the location of any particular feature. In fact, some locationless features have randomized cell IDs! Consumers of FeatureProtos from Mapfacts are guaranteed that fprints in the id field of features will be globally unique. Using the fprint allows consumers who don't need the spatial benefit of cell ids to uniquely identify features in a 64-bit address space. This property is not guaranteed for other sources of FeatureProtos.", - "id": "GeostoreFeatureIdProto", - "properties": { - "cellId": { - "description": "The S2CellId corresponding to the approximate location of this feature as of when it was first created. This can be of variable accuracy, ranging from the exact centroid of the feature at creation, a very large S2 Cell, or even being completely randomized for locationless features. Cell ids have the nice property that they follow a space-filling curve over the surface of the earth. (See s2cellid.h for details.) WARNING: Clients should only use cell IDs to perform spatial locality optimizations. There is no strict guarantee that the cell ID of a feature is related to the current geometry of the feature in any way.", - "format": "uint64", - "type": "string" - }, - "fprint": { - "description": "A 64-bit fingerprint used to identify features. Most clients should rely on MapFacts or OneRing to choose fingerprints. If creating new fprints, the strategy should be chosen so that the chance of collision is remote or non-existent, and the distribution should be reasonably uniform. For example, if the source data assigns unique ids to features, then a fingerprint of the provider name, version, and source id is sufficient.", - "format": "uint64", - "type": "string" - }, - "temporaryData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place for clients to attach arbitrary data to a feature ID. Never set in MapFacts." - } - }, - "type": "object" - }, - "GeostoreFeatureMetadataProto": { - "description": "General metadata related to a given feature in the Geo repository.", - "id": "GeostoreFeatureMetadataProto", - "properties": { - "bulkUpdatable": { - "description": "This field indicates whether the feature is subject to bulk updates. Caution must be exercised while editing such features since the changes made by the edits will be overwritten by the bulk update (if the feature is bulk updated). See go/mapfacts-abu for more information.", - "enum": [ - "NOT_BULK_UPDATABLE", - "BULK_UPDATABLE" - ], - "enumDescriptions": [ - "The feature will not be bulk updated.", - "The feature has been bulk updated, and may be bulk updated again in the future. Note that this refers specifically to the atomic bulk-upload process, not methods of applying large sets of (independent) edits (e.g. with BEST)." - ], - "type": "string" - }, - "coreVersionToken": { - "description": "core_version_token is an opaque token representing the version of the core fields of the feature. This field is not updated when attachments are changed.", - "format": "byte", - "type": "string" - }, - "featureReplacementInfo": { - "$ref": "GeostoreFeatureReplacementInfoProto", - "description": "Metadata for tracking when a feature is derived from or replaced by another feature or set of features." - }, - "fieldMetadata": { - "$ref": "GeostoreFeatureFieldMetadataProto", - "description": "Metadata about certain repeated fields and their subfields, for which field type is not granular enough." - }, - "forwardings": { - "$ref": "GeostoreFeatureIdForwardingsProto", - "description": "Feature ID forwardings, if applicable." - }, - "history": { - "$ref": "GeostoreFeatureHistoryMetadataProto", - "description": "Metadata related to the history." - }, - "versionToken": { - "description": "version_token is an opaque token representing the version of this feature. It can be used as a concurrency token when sending edits.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreFeaturePropertyIdProto": { - "description": "Message to represent a \"feature property\" as an abstract construct. Most feature properties are mapped one to one with the EditProto field types. However in some cases the EditProto field type granularity is too coarse to support use-cases that rely on feature properties (such as per-value rights tracking). When that is the case, the feature property is augmented with a secondary field.", - "id": "GeostoreFeaturePropertyIdProto", - "properties": { - "attachmentTypeId": { - "description": "Required when field_type == ATTACHMENT.", - "format": "uint64", - "type": "string" - }, - "attributeId": { - "description": "Required when field_type == FEATURE_ATTRIBUTE.", - "type": "string" - }, - "fieldType": { - "enum": [ - "NONE", - "ACCESS_POINT", - "ADDRESS", - "ANCHORED_GEOMETRY_GEOMETRY_ID", - "ASSOCIATED_EV_CHARGING_STATION", - "ATTACHMENT", - "BIZBUILDER_REFERENCE", - "BORDER_FEATURE_ID_LEFT", - "BORDER_FEATURE_ID_RIGHT", - "BORDER_OVERRIDE_STATUS", - "BORDER_STATUS", - "BORDER_TYPE", - "BORDER_LOGICAL_BORDER", - "BOUND", - "BUILDING_BASE_HEIGHT_METERS_AGL", - "BUILDING_DEFAULT_DISPLAY_LEVEL", - "BUILDING_FLOORS", - "BUILDING_HEIGHT_METERS", - "BUILDING_LEVEL", - "BUILDING_STRUCTURE", - "BUSINESS_CHAIN_CANONICAL_GCONCEPT", - "BUSINESS_HOURS", - "DATA_SOURCE", - "DETAILED_3D_MODEL", - "DISPLAY_DATA", - "DISPUTED_AREA_ADMINISTERED_BY", - "DISPUTED_AREA_CLAIMANT", - "ENTRANCE_ALLOWANCE", - "ESTABLISHMENT_OPENING_HOURS_EXCEPTION", - "ESTABLISHMENT_OPENING_HOURS_REGULAR_HOURS", - "ESTABLISHMENT_PRICE_INFO", - "ESTABLISHMENT_SERVICE_AREA_SERVED_FEATURE", - "EXISTENCE_STATUS", - "FEATURE_AVERAGE_ELEVATION", - "FEATURE_BEST_LOCALE", - "FEATURE_CELL_COVERING", - "FEATURE_CENTER", - "FEATURE_CHILD", - "FEATURE_EXEMPT_REGULATED_AREA", - "FEATURE_INTERIOR_CELL_COVERING", - "FEATURE_NAME", - "FEATURE_PARENT", - "FEATURE_POSE", - "FEATURE_PREFERRED_VIEWPORT", - "FEATURE_TRACK", - "FEATURE_TYPE", - "FEATURE_WEBSITE", - "FIELD_RIGHTS", - "FUTURE_GEOMETRY", - "FUTURE_GEOMETRY_FOR", - "GCONCEPT", - "GEOMETRY_3D", - "GEOMETRY_PRECISION_METERS", - "GEOPOLITICAL_CONVEYS_ATTRIBUTION_TO", - "GEOPOLITICAL_REGION_SPECIFIC_NAME", - "GEOPOLITICAL_REGIONAL_POLYGON_ADJUSTMENT", - "GEOPOLITICAL_REGIONAL_POLYGON_COMPOSING_CLAIMS", - "GEOPOLITICAL_GEOMETRY_REST_OF_WORLD_POLYGON", - "GEOPOLITICAL_GEOMETRY_SELF_POLYGON", - "INFERRED_GEOMETRY_GEOMETRY_COMPOSITION", - "INFERRED_GEOMETRY_DEFINES_GEOMETRY_FOR", - "INTERSECTION", - "INTERSECTION_GROUP", - "INTERSECTION_GROUP_CHILD_GROUP", - "INTERSECTION_GROUP_GROUP_TYPE", - "INTERSECTION_GROUP_PARENT_GROUP", - "INTERSECTION_IN_GROUP", - "INTERSECTION_TOLL_CLUSTER", - "IN_SEGMENT", - "KNOWLEDGE_GRAPH_PROPERTY", - "LABEL_BACKGROUND_COLOR", - "LABEL_TEXT_COLOR", - "LANE_MARKER_BARRIER_MATERIALS", - "LANE_MARKER_CROSSING_PATTERN", - "LANE_MARKER_LINEAR_PATTERN", - "LEVEL_BUILDING", - "LEVEL_NUMBER", - "LOCALE_LANGUAGE", - "LOCALE_LOCALIZATION_POLICY_ID", - "LOGICAL_BORDER_BORDER_SEGMENT", - "LOGICAL_BORDER_STATUS", - "OPERATIONS_TEMPORARY_CLOSURE", - "PARKING_ALLOWANCE", - "PARKING_AVAILABLE", - "PARKING_OPENING_HOURS_EXCEPTION", - "PARKING_OPENING_HOURS_REGULAR_HOURS", - "PARKING_PROVIDER_FEATURE", - "PARKING_RESTRICTION", - "PEAK_PROMINENCE", - "PHONE_NUMBER", - "POINT", - "POLITICAL_CLAIM", - "POLYGON", - "POLYGON_FOR_DISPLAY", - "POLYLINE", - "RANK", - "RANK_SIGNAL", - "REGULATED_AREA_RESTRICTION", - "RELATED_BORDER", - "RELATED_ENTRANCE", - "RELATED_FEATURE", - "RELATED_TERMINAL_POINT", - "RELATED_TIMEZONE", - "RESTRICTION_GROUP_SEGMENT", - "ROAD_MONITOR_MONITORED_ROAD", - "ROUTE_CHILD_TYPE", - "SCHOOL_DISTRICT_TYPE", - "SEGMENT_ADVISORY_MAXIMUM_SPEED", - "SEGMENT_AVERAGE_SPEED", - "SEGMENT_BARRIER", - "SEGMENT_BICYCLE_FACILITY", - "SEGMENT_BICYCLE_SAFETY", - "SEGMENT_CONDITION", - "SEGMENT_CONSTRUCTION_BEGIN_DATE", - "SEGMENT_CONSTRUCTION_END_DATE", - "SEGMENT_CONSTRUCTION_STATUS", - "SEGMENT_COVERED", - "SEGMENT_DISTANCE_TO_EDGE", - "SEGMENT_EDGE_FOLLOWS_SEGMENT_BEGIN_FRACTION", - "SEGMENT_EDGE_FOLLOWS_SEGMENT_END_FRACTION", - "SEGMENT_ELEVATION", - "SEGMENT_ENDPOINT", - "SEGMENT_GRADE_LEVEL_LIST", - "SEGMENT_INTERNAL_DISALLOWED_CONNECTIONS", - "SEGMENT_INTERNAL_DISALLOWED_PRIMARY_CONNECTION", - "SEGMENT_INTERNAL_TRAVEL_ALLOWANCE", - "SEGMENT_INTERPOLATION_OFFSET_METERS", - "SEGMENT_IS_MAX_PERMITTED_SPEED_DERIVED", - "SEGMENT_LANE", - "SEGMENT_LEGAL_MAXIMUM_SPEED", - "SEGMENT_LEGAL_MINIMUM_SPEED", - "SEGMENT_MAX_SPEED", - "SEGMENT_ON_RIGHT", - "SEGMENT_PATH", - "SEGMENT_PEDESTRIAN_CROSSING", - "SEGMENT_PEDESTRIAN_FACILITY", - "SEGMENT_PEDESTRIAN_GRADE", - "SEGMENT_PRIORITY", - "SEGMENT_RAMP_MAX_CONNECTED_PRIORITY", - "SEGMENT_RESTRICTION", - "SEGMENT_ROAD_CAMERA", - "SEGMENT_ROAD_SIGN", - "SEGMENT_ROUTE", - "SEGMENT_ROUTE_ASSOCIATION", - "SEGMENT_SEPARATED_ROADWAYS", - "SEGMENT_SLOPE", - "SEGMENT_SURFACE", - "SEGMENT_SWEEP", - "SEGMENT_TOLL_ROAD", - "SEGMENT_USAGE", - "SEGMENT_VISIBLE_LANDMARK", - "SIGN_COMPONENT", - "SOCIAL_REFERENCE_CLAIMED_GAIA_ID", - "SOURCE_INFO", - "STATUS_CLOSED", - "STATUS_CLOSE_REASON", - "STATUS_END_AS_OF_DATE", - "STATUS_END_DATE", - "STATUS_REMOVED", - "STATUS_REMOVED_REASON", - "STATUS_START_DATE", - "STOREFRONT_GEOMETRY", - "STOREFRONT_GEOMETRY_MODEL", - "SYNTHETIC_GEOMETRY", - "THREE_DIMENSIONAL_MODEL", - "TOLL_CLUSTER_INTERSECTION", - "TOLL_PATH_TOLL_CLUSTER_SEQUENCE", - "TRANSIT_LINE_AGENCY", - "TRANSIT_LINE_STATION", - "TRANSIT_LINE_VARIANT_LINE_CONCEPT", - "TRANSIT_LINE_VARIANT_STOP", - "TRANSIT_LINE_VEHICLE_TYPE", - "TRANSIT_STATION_AGENCY_ASSOCIATION", - "VERTICAL_ORDERING_LEVEL", - "VISUALIZATION_AREA", - "WATER_REMOVED_POLYGON", - "DEPRECATED_DO_NOT_USE_EMAIL_ADDRESS", - "DEPRECATED_DO_NOT_USE_RANK_GEOMETRY", - "DEPRECATED_DO_NOT_USE_SEGMENT_INFO", - "DEPRECATED_DO_NOT_USE_SEGMENT_LANE_LIST", - "DEPRECATED_DO_NOT_USE_SEGMENT_WRONG_WAY", - "DEPRECATED_DO_NOT_USE_WEBSITE", - "FEATURE_ATTRIBUTE", - "SOCIAL_REFERENCE", - "CATEGORY", - "DEPRECATED_DO_NOT_USE_CAPITAL", - "DEPRECATED_DO_NOT_USE_DESCRIPTION", - "DEPRECATED_DO_NOT_USE_DISTINCT", - "DEPRECATED_DO_NOT_USE_DUPLICATE", - "EDIT_PRECEDENCE", - "DEPRECATED_DO_NOT_USE_EDIT_PRECEDENCE", - "DEPRECATED_DO_NOT_USE_ENTRANCE_TARGET", - "DEPRECATED_DO_NOT_USE_ESTABLISHMENT_PLACE_ACTION_PAGE", - "DEPRECATED_DO_NOT_USE_ESTABLISHMENT_TYPE", - "DEPRECATED_DO_NOT_USE_EVENT", - "DEPRECATED_DO_NOT_USE_GEOMETRIC_ACCURACY", - "DEPRECATED_DO_NOT_USE_HIGHEST_GRADE", - "DEPRECATED_DO_NOT_USE_ID_TO_OVERRIDE", - "DEPRECATED_DO_NOT_USE_ISSUE_HISTORY", - "DEPRECATED_DO_NOT_USE_ISSUE_METADATA", - "DEPRECATED_DO_NOT_USE_KNOWLEDGE_GRAPH_ID", - "DEPRECATED_DO_NOT_USE_LOWEST_GRADE", - "DEPRECATED_DO_NOT_USE_PAYMENT_TYPES", - "DEPRECATED_DO_NOT_USE_PHOTO", - "DEPRECATED_DO_NOT_USE_PHOTO_URL", - "DEPRECATED_DO_NOT_USE_PLACE_CLOSED", - "DEPRECATED_DO_NOT_USE_POPULATION", - "DEPRECATED_DO_NOT_USE_RANK_USER", - "DEPRECATED_DO_NOT_USE_REMOVE_DUPLICATE", - "DEPRECATED_DO_NOT_USE_REMOVE_PLACE", - "DEPRECATED_DO_NOT_USE_SCHOOL_TYPE", - "DEPRECATED_DO_NOT_USE_SEGMENT_ELEVATION_BEGIN", - "DEPRECATED_DO_NOT_USE_SEGMENT_ELEVATION_END", - "DEPRECATED_DO_NOT_USE_SEGMENT_ELEVATION_MIDDLE", - "DEPRECATED_DO_NOT_USE_SYLLABUS", - "DEPRECATED_DO_NOT_USE_TRACK_CLASS", - "DEPRECATED_DO_NOT_USE_VIEWCODE_INFO", - "DEPRECATED_DO_NOT_USE_WORKAREA", - "DEPRECATED_DO_NOT_USE_INFERRED_GEOMETRY_INCLUDES_GEOMETRY_OF", - "DEPRECATED_DO_NOT_USE_INFERRED_GEOMETRY_EXCLUDES_GEOMETRY_OF", - "DEPRECATED_DO_NOT_USE_TRANSIT_STATION_AGENCY" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "kgPropertyId": { - "description": "Required when field_type == KNOWLEDGE_GRAPH_PROPERTY.", - "type": "string" - }, - "nameLanguage": { - "description": "RESERVED", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreFeatureProto": { - "description": "Every entry in the GeoStore database is called a \"feature\". A feature is represented as a discriminated union of all the different feature types, where the actual feature type is specified by the \"type\" field. There are also various fields that are meaningful for most or all feature types, such as bounding regions and names. Every feature has a globally unique id that can be used to refer to it from other features.", - "id": "GeostoreFeatureProto", - "properties": { - "accessPoint": { - "description": "Optional access point information. Access points hold detailed information about routing endpoints. For example, the main Google office is at \"1600 Amphitheatre Parkway\". The feature representing that office has a polygon, a center, and an address with components for the street number, route, locality, etc. The access point information, on the other hand, identifies the specific segment, the latitude/longitude of the driveway, and so forth.", - "items": { - "$ref": "GeostoreAccessPointProto" - }, - "type": "array" - }, - "address": { - "description": "Address for this feature. A Geo Schema address is designed to model a mailing address, so only features that have mailing addresses in the real world may have addresses. Each feature should have only one address. If you want to describe the geographic location of a feature which does not have a mailing address with respect to other well-known features, some other schema constructs should be used. Note that the field is defined as repeated though features that use this field with its intended semantics are constrained to have a single address even if they may have multiple mailing addresses in the real world. The “single address” rule is enforced by lint. Current exceptions to the single address rule and mailing address rule are described in the g3doc. Bear note that the schema team is actively working on eliminating these exceptions. http://go/geo-addresses Note the following conventions: - Addresses follow the postal hierarchy, not the political hierarchy. Addresses may have components that refer to political entities when those entities also appear in the postal hierarchy. - As stated previously, but it bears repeating, addresses on features are mailing addresses. In many cases the physical address and the mailing address are the same but the address stored on a feature represents the mailing address of the feature. An example of a non-physical mailing address would be a PO Box. - These addresses are commonly defined and verifiable by a governmental authority (e.g. the United States Postal Service in the United States, Royal Mail in the United Kingdom, Correios in Brazil, etc.) and should follow conventions and rules defined by those authorities.", - "items": { - "$ref": "GeostoreAddressProto" - }, - "type": "array" - }, - "anchoredGeometry": { - "$ref": "GeostoreAnchoredGeometryProto", - "description": "Represents information about the feature’s anchored geometry." - }, - "associatedEvChargingStation": { - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "attachment": { - "description": "The collection of attachments for this feature. Documentation: http://go/geo-attachments", - "items": { - "$ref": "GeostoreAttachmentsAttachmentProto" - }, - "type": "array" - }, - "attribute": { - "deprecated": true, - "description": "** DEPRECATED ** A list of attributes that describe defined aspects of this feature. An attribute must be a concrete, high quality, and editable piece of information about a feature, and must be used on some general consumer facing Google property. The data types used for attributes must be primitive types or reusable in a generic manner.", - "items": { - "$ref": "GeostoreAttributeProto" - }, - "type": "array" - }, - "bestLocale": { - "$ref": "GeostoreBestLocaleProto", - "description": "Describes the best-match locale for this feature." - }, - "border": { - "$ref": "GeostoreBorderProto" - }, - "bound": { - "$ref": "GeostoreRectProto", - "description": "A latitude-longitude rectangle used by bucketing MapReduces. See the documentation on bucketing MapReduce for details. This field can be a source of confusion. Because it is called \"bound\", it is often assumed that it is a tight bound on the geometry but it can be (and often is) much larger. If a tight bound is needed then use the standard GetFeatureGeometryBound() function instead. To be more explicit, if you are using this field for *anything* else than a bucketing MapReduce, you are doing the wrong thing. Not all features are required to have bounding boxes. See geostore::IsBoundRequiredForFeatureType() for the list of feature types required to have a bounding box. This bound field will be updated when a feature changes in MapFacts to include its geometry. Also, a GeoSchema pipeline, go/geo-schema-pipelines-docs#expand-bounds runs periodically to update the field for strong references from other features. Therefore, most editors don't need to edit this field explicitly. See go/geo-changes:no-edit-for-feature-bound for the details." - }, - "building": { - "$ref": "GeostoreBuildingProto" - }, - "businessChain": { - "$ref": "GeostoreBusinessChainProto", - "description": "Data specific to business chain features, e.g., Canonical GConcepts." - }, - "center": { - "$ref": "GeostorePointProto", - "description": "The conceptual center of the feature, used for routing. For cities, this would be the center of the downtown, or maybe the location of city hall. For states and countries it might be the capital city. Most feature types will not have a conceptual center - by default, routing will use the centroid of the feature's geometry. If you need a feature center point consider using GetFeatureGeometryCenter() function from geostore/base/public/feature.h rather than reading from this field directly." - }, - "child": { - "description": "Features can define themselves as a collection of other features. For example, a route is a collection of road segments, and a feature for the \"Great Lakes\" could be defined as lakes Superior, Michigan, Huron, Erie, and Ontario. It is not recommended to design a multi level tree using the child field to build up a feature because it requires fetching many features to see the details of the feature. In practice this is used to model archipelago, route, transit (agencies, lines, trips, departures), and river features. The geometry of a feature is implicitly defined by its children, so if a feature has children then it should not have any points, polylines, or polygons. In general, this field should not be used to represent political or postal hierarchies. For example, a county would not list its cities as children, because the county is not defined in terms of its cities (it also contains unincorporated areas, etc.).", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "covering": { - "$ref": "GeostoreCellCoveringProto", - "description": "S2 cell coverings for this feature. See util/geometry/s2cell_union.h for more information about S2 cells. Coverings are useful for quick containment or intersection tests. S2 covering that consists of cells that intersect with the feature." - }, - "dataSource": { - "$ref": "GeostoreDataSourceProto" - }, - "detailed3dModel": { - "$ref": "GeostoreGeometryStoreReferenceProto", - "description": "Geometry Store ID and materialized geometry representing the feature's physical presence in the world. Like geometry_3d above, but with additional semantic or renderable details, e.g. labeled surfaces (\"door\", \"window\"), material specifications, etc. IMPORTANT: Clients may not write to this field directly; see go/geometry-store-reading-and-writing#writing-to-geometry-store." - }, - "displayData": { - "$ref": "GeostoreDisplayDataProto", - "description": "Data used to render this feature on a map." - }, - "disputedArea": { - "$ref": "GeostoreDisputedAreaProto", - "description": "Represents information about disputed areas. Only TYPE_DISPUTED_AREA features should have the field set." - }, - "doodle": { - "$ref": "GeostoreDoodleProto", - "deprecated": true, - "description": "** DEPRECATED **" - }, - "elevation": { - "$ref": "GeostoreElevationProto" - }, - "elevationModel": { - "$ref": "GeostoreElevationModelProto", - "description": "Captures elevation data used on TYPE_DIGITAL_ELEVATION_MODEL features." - }, - "entrance": { - "$ref": "GeostoreEntranceProto" - }, - "establishment": { - "$ref": "GeostoreEstablishmentProto", - "description": "Also allowed on TYPE_BUSINESS_CHAIN and TYPE_TRANSIT_AGENCY features, to model the feature's phone number(s). Other fields within EstablishmentProto are not permitted on non-TYPE_ESTABLISHMENT features." - }, - "exemptRegulatedArea": { - "description": "A list of feature ids of polygon based restrictions that do not apply to this feature. This may only include features of TYPE_REGULATED_AREA that also have a feature.regulated_area.restriction field defined. Setting this field opts the feature out of all restrictions set on that regulated area.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "futureGeometry": { - "$ref": "GeostoreFeatureIdProto", - "description": "Specifies the TYPE_FUTURE_GEOMETRY whose geometry will replace this feature's geometry. If this field is populated, the referenced future geometry must have a future_geometry_for referencing this feature." - }, - "futureGeometryFor": { - "$ref": "GeostoreFeatureIdProto", - "description": "Specifies the feature that this feature's geometry will replace. If this field is populated, the referenced feature must have a future_geometry reference back to this feature. This field is only allowed (and required) for TYPE_FUTURE_GEOMETRY features." - }, - "geometry3d": { - "$ref": "GeostoreGeometryStoreReferenceProto", - "description": "Geometry Store ID and materialized geometry representing the feature's physical shape in the world. IMPORTANT: Clients may not write to this field directly; see go/geometry-store-reading-and-writing#writing-to-geometry-store." - }, - "geometryPrecisionMeters": { - "description": "If set, the feature's actual location can be assumed to be somewhere within a circle of this radius, centered on the feature's location. More information on this field at go/gpm-definition-update. NOTE: Only applicable to features with 'point' geometry. Please contact geo-schema-team@ if you have non-point use cases for which this field would be useful.", - "format": "double", - "type": "number" - }, - "geopolitical": { - "$ref": "GeostoreGeopoliticalProto" - }, - "geopoliticalGeometry": { - "$ref": "GeostoreGeopoliticalGeometryProto", - "description": "Geopolitical (unsimplified) polygons for a feature for different geopolitical use cases." - }, - "htmlText": { - "deprecated": true, - "description": "** DEPRECATED ** Features can have zero or more HTML texts associated with them. These might be HTML balloons used by Google Earth, for example.", - "items": { - "$ref": "GeostoreHtmlTextProto" - }, - "type": "array" - }, - "id": { - "$ref": "GeostoreFeatureIdProto", - "description": "The globally unique id for this feature." - }, - "inferredGeometry": { - "$ref": "GeostoreInferredGeometryProto" - }, - "interiorCovering": { - "$ref": "GeostoreCellCoveringProto", - "description": "S2 interior covering that consists of cells completely enclosed within the feature's geometry (for features with polygonal geometry)." - }, - "internal": { - "$ref": "GeostoreInternalFeatureProto", - "description": "Data for this feature that is less about the feature and more about other data in the feature. For example, it might be data about the rights we have to other data in this FeatureProto, or MapFacts-internal shape IDs for this feature's polygons." - }, - "intersection": { - "$ref": "GeostoreIntersectionProto" - }, - "intersectionGroup": { - "$ref": "GeostoreIntersectionGroupProto" - }, - "kgProperty": { - "description": "Properties that apply to this feature whose schema is defined in the Knowledge Graph schema (see https://hume.google.com/graph/schema). Not all properties that exist in the KG schema can be asserted via this mechanism. The set of properties that are allowed to be set on a feature depends on the feature's GConcepts (and feature type). For instance, only gcid:country features may have the /geo/type/country/president property (made up example, since that property doesn't actually exist in the KG schema). GConcept hierarchy is taken into account for deciding the set of allowed properties. Additionally, the specific properties allowed are further constrained by the list specified at go/kg-property-allowlist. NOTE: not all types of properties are allowed to appear in the Geo Schema. For now, we limit ourselves to properties whose value type is TYPE_BOOL, TYPE_COMPOUND, TYPE_DATETIME, TYPE_FLOAT, TYPE_ID, TYPE_INT, TYPE_NESTED_STRUCT, TYPE_TEXT, or TYPE_URI. NOTE(b/35039936): We are in the process of changing how a KG property with multiple values is stored in this field. Currently, such a KG property is stored in a single instance of the kg_property field. However, we will be changing this so that each value will be stored in its own instance of kg_property. Any client that wants to read from this field should be prepared to read data represented in either format. See b/35039936 or the announcement at http://g/geo-schema-announce/7IXR3Fex8to/7yFyT5UoAwAJ for an example and more details. The mechanism to assert that a KG property has no value is via the property_value_status field below. freebase.PropertyValue.value_status is not allowed be set here for consistency reason.", - "items": { - "$ref": "FreebasePropertyValue" - }, - "type": "array" - }, - "knowledgeGraphReference": { - "$ref": "GeostoreKnowledgeGraphReferenceProto", - "description": "RESERVED" - }, - "laneMarker": { - "$ref": "GeostoreLaneMarkerProto" - }, - "level": { - "$ref": "GeostoreLevelProto", - "description": "Represents information about TYPE_LEVEL features." - }, - "locale": { - "$ref": "GeostoreLocaleProto" - }, - "logicalBorder": { - "$ref": "GeostoreLogicalBorderProto" - }, - "metadata": { - "$ref": "GeostoreFeatureMetadataProto", - "description": "Metadata about this particular feature. Metadata is managed internally by the Geo Data Infrastructure and in general should not be set by clients. Features that don't ultimately come from the Geo repository (MapFacts) won't have any metadata set." - }, - "name": { - "description": "The name(s) of this feature. A feature may have different names in different languages, colloquial or \"vanity\" names, etc.", - "items": { - "$ref": "GeostoreNameProto" - }, - "type": "array" - }, - "operations": { - "$ref": "GeostoreOperationsProto", - "description": "Information about this feature's operations, e.g. when this feature is temporarily closed. NOTE: for legacy reasons, some closure-specifc information (e.g. permanent closure reason) lives in ExistenceProto instead. In the future, such information should move here in OperationsProto." - }, - "originalId": { - "$ref": "GeostoreFeatureIdProto", - "description": "This field is used internally by the pipeline for id stability. It should not be set by individual importers, nor should it be read by consumer clients. In particular, this field will not be present in features read or snapshotted from the Mapfacts Repository." - }, - "parent": { - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "parking": { - "$ref": "GeostoreParkingProto", - "description": "Describes parking details for the feature." - }, - "point": { - "description": "Defines the geometry of the feature. The geometry may be specified as an arbitrary union of points, poses, polylines, tracks, and polygons. Points, poses, polylines, and tracks are assumed to represent regions of unspecified size or width rather than regions of zero area. Most features should have some sort of geometry. Geometry may be synthesized if none is available (e.g., polygons for postal codes). The synthetic_geometry flag should be set in that case. Point is currently enforced as a non-repeating field for all feature types, though it is defined as repeating in case future modeling requires multiple points. The number of allowed polylines, tracks, or polygons vary based on feature type. A feature can have at most one pose (it is an optional field).", - "items": { - "$ref": "GeostorePointProto" - }, - "type": "array" - }, - "political": { - "$ref": "GeostorePoliticalProto" - }, - "polygon": { - "items": { - "$ref": "GeostorePolygonProto" - }, - "type": "array" - }, - "polygonForDisplay": { - "$ref": "GeostorePolygonProto", - "description": "Provide version of the geometry suitable for display. This has been subject to water removal and (possibly) moderate simplification." - }, - "polyline": { - "items": { - "$ref": "GeostorePolyLineProto" - }, - "type": "array" - }, - "pose": { - "$ref": "GeostorePoseProto", - "description": "Defines the geometry of a feature as a 6D pose, including lat, lng, altitude, roll, pitch, and yaw along the WGS-84 ellipsoid. Only the lat and lng are strictly required." - }, - "preferredViewport": { - "$ref": "GeostoreRectProto", - "description": "The preferred viewport for this feature. If present, this latitude-longitude rectangle holds the preferred viewport for the feature. For example, it might hold the bounds of the \"central\" portion of a large city. There are no aspect ratio requirements. This is an optional field: if no viewport is supplied, interested clients can use heuristics to determine a viewport. Calling the standard GetFeatureGeometryBound() function would be a good way to start but note that it can return an empty bounding box (e.g., if the feature has no geometry). The preferred viewport is not necessarily fully contained by the above bounding box." - }, - "propertyValueStatus": { - "description": "The value status of properties on this feature. For example, this specifies whether the feature is known to have no name (this is the value status of the 'FEATURE_NAME' property). Only property IDs which have no specific value are allowed to have a value status. Note: not all field types will be supported, please contact geo schema team if you want to enable this field for a field type that is not currently supported.", - "items": { - "$ref": "GeostorePropertyValueStatusProto" - }, - "type": "array" - }, - "rank": { - "description": "WARNING: Please do NOT introduce new uses of this field; treat it as if it were deprecated. For appropriate ranking contacts, see g3doc/company/teams/gdeng/geo-schema-reference/home/feature-properties/rank.md. A floating-point number between 0.0 and 1.0 indicating how \"important\" we think this feature is. This can be used to decide which features to render on maps, and how to rank results when the user does a search. The rank can depend on any number of factors such as the number of references to this feature in web pages, geographic size, population, number of referring geographic entities, \"priority\" information encoded in the source data, etc.", - "format": "float", - "type": "number" - }, - "rankDetails": { - "$ref": "GeostoreRankDetailsProto", - "description": "The rank field is computed as a weighted sum of several signals. This field contains a protocol buffer whose fields give those signals and their weights. Clients should try very hard not to depend on these individual signals and use the single rank field instead. At some point in the future, this field will not be exposed anymore." - }, - "rawGconceptInstanceContainer": { - "$ref": "GeostoreOntologyRawGConceptInstanceContainerProto", - "description": "Geo Ontology GConcept Instances - Design doc linked off http://go/geo-ontology - In order to shield clients from changes in GConcept representation we provide an accessor library: geostore/base/public/gconcept_instance.h" - }, - "regulatedArea": { - "$ref": "GeostoreRegulatedAreaProto" - }, - "relatedBorder": { - "description": "For TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1 features, this field defines the associated TYPE_BORDERs which reference this feature. The linked TYPE_BORDERs must have the feature.border set, pointing to this feature. TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1 features must have this field set for each TYPE_BORDER referencing them.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "relatedEntrance": { - "description": "Logical relationship to other features that are entrances or exits to this feature.", - "items": { - "$ref": "GeostoreEntranceReferenceProto" - }, - "type": "array" - }, - "relatedFeature": { - "description": "Geographic or logical relationships to other features. Importers don't need to fill a geographic relationship in - it is handled by related feature processing by a standalone pipeline. Adding \"contained by\" country relations is however encouraged (and required for TYPE_ROUTE features). WARNING: Updates to this field handled by standalone pipelines are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.", - "items": { - "$ref": "GeostoreRelationProto" - }, - "type": "array" - }, - "relatedTerminalPoint": { - "description": "Terminal points associated with this feature. For instance, an airport terminal may have specifically designated pickup and drop-off points.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "relatedTimezone": { - "description": "Contains time zones known to be associated with a feature. Most features are associated with the single time zone that contains them. However, some larger features (countries, continents, etc.) are associated with all of the time zones they contain. Most features can have any number of related time zones, but TYPE_SEGMENT and TYPE_ESTABLISHMENT_POI features can have at most 1.", - "items": { - "$ref": "GeostoreTimezoneProto" - }, - "type": "array" - }, - "restrictionGroup": { - "$ref": "GeostoreRestrictionGroupProto" - }, - "roadMonitor": { - "$ref": "GeostoreRoadMonitorProto" - }, - "route": { - "$ref": "GeostoreRouteProto", - "description": "Additional details on the feature types below can be found in the individual protocol buffer definitions. These extensions capture data that is specific to a set of feature types and which makes no sense for other feature types." - }, - "schoolDistrict": { - "$ref": "GeostoreSchoolDistrictProto" - }, - "segment": { - "$ref": "GeostoreSegmentProto" - }, - "segmentPath": { - "$ref": "GeostoreSegmentPathProto" - }, - "sign": { - "$ref": "GeostoreRoadSignProto" - }, - "skiBoundary": { - "$ref": "GeostoreSkiBoundaryProto" - }, - "skiLift": { - "$ref": "GeostoreSkiLiftProto" - }, - "skiTrail": { - "$ref": "GeostoreSkiTrailProto" - }, - "socialReference": { - "$ref": "GeostoreSocialReferenceProto", - "description": "All establishments must have a social reference. WARNING: Aside from creating new establishments, please do NOT introduce new uses; treat social references as if they were deprecated. For alternatives and more, see g3doc/company/teams/gdeng/geo-schema-reference/home/feature-types/establishments/social-reference.md." - }, - "sourceInfo": { - "description": "A list of the data sources that were used to construct this feature, together with optional \"raw data\" in the provider's format. Raw data should not be used by production clients but may be useful for exploring data that is not currently converted to a canonical form.", - "items": { - "$ref": "GeostoreSourceInfoProto" - }, - "type": "array" - }, - "status": { - "$ref": "GeostoreExistenceProto", - "description": "All features can have \"existence\" information associated with them." - }, - "storefrontGeometry": { - "description": "Represents information about the store front geometry. Only TYPE_ESTABLISHMENT_POI should have this field set.", - "items": { - "$ref": "GeostoreAnchoredGeometryProto" - }, - "type": "array" - }, - "storefrontGeometryModel": { - "$ref": "GeostoreGeometryStoreReferenceProto", - "description": "Geometry Store ID and materialized geometry for a POI feature's storefront(s). IMPORTANT: Clients may not write to this field directly; see go/geometry-store-reading-and-writing#writing-to-geometry-store." - }, - "syntheticGeometry": { - "description": "We prefer features that have geometry over those that do not. In some cases we synthesize geometry (e.g., polygons for postal codes). This flag is set to indicate features that have such synthetic geometry.", - "type": "boolean" - }, - "temporaryData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place for clients to attach arbitrary data to a feature. Never set in MapFacts." - }, - "threeDimModel": { - "$ref": "GeostoreThreeDimensionalModelProto", - "description": "Captures full model representing the feature's 3D geometry. Should only be found on TYPE_COMPOUND_BUILDING features for now, but not part of the BuildingProto extension for possible future extensions." - }, - "tollCluster": { - "$ref": "GeostoreTollClusterProto", - "description": "Represents information about TYPE_TOLL_CLUSTER features." - }, - "tollPath": { - "$ref": "GeostoreTollPathProto", - "description": "Represents information about /geo/type/toll_path features." - }, - "track": { - "description": "Defines the geometry of a feature as a sequence of 6D poses, including lat, lng, altitude, roll, pitch, and yaw. Only lat and lng are typically required. Each track has an index so that they can be viewed in a stable order.", - "items": { - "$ref": "GeostoreTrackProto" - }, - "type": "array" - }, - "transitLine": { - "$ref": "GeostoreTransitLineProto" - }, - "transitLineVariant": { - "$ref": "GeostoreTransitLineVariantProto", - "description": "RESERVED" - }, - "transitStation": { - "$ref": "GeostoreTransitStationProto" - }, - "type": { - "description": "The type of this feature -- see comments above.", - "enum": [ - "TYPE_ANY", - "TYPE_TRANSPORTATION", - "TYPE_ROUTE", - "TYPE_DEPRECATED_HIGHWAY_DO_NOT_USE", - "TYPE_HIGHWAY", - "TYPE_HIGHWAY_1", - "TYPE_HIGHWAY_2", - "TYPE_HIGHWAY_3", - "TYPE_HIGHWAY_4", - "TYPE_HIGHWAY_5", - "TYPE_HIGHWAY_6", - "TYPE_HIGHWAY_7", - "TYPE_HIGHWAY_8", - "TYPE_HIGHWAY_9", - "TYPE_BICYCLE_ROUTE", - "TYPE_TRAIL", - "TYPE_SEGMENT", - "TYPE_ROAD", - "TYPE_RAILWAY", - "TYPE_STANDARD_TRACK", - "TYPE_JR_TRACK", - "TYPE_NARROW_TRACK", - "TYPE_MONORAIL_TRACK", - "TYPE_SUBWAY_TRACK", - "TYPE_LIGHT_RAIL_TRACK", - "TYPE_BROAD_TRACK", - "TYPE_HIGH_SPEED_RAIL", - "TYPE_TROLLEY_TRACK", - "TYPE_FERRY", - "TYPE_FERRY_BOAT", - "TYPE_FERRY_TRAIN", - "TYPE_VIRTUAL_SEGMENT", - "TYPE_INTERSECTION", - "TYPE_TRANSIT", - "TYPE_TRANSIT_STATION", - "TYPE_BUS_STATION", - "TYPE_TRAMWAY_STATION", - "TYPE_TRAIN_STATION", - "TYPE_SUBWAY_STATION", - "TYPE_FERRY_TERMINAL", - "TYPE_AIRPORT", - "TYPE_AIRPORT_CIVIL", - "TYPE_AIRPORT_MILITARY", - "TYPE_AIRPORT_MIXED", - "TYPE_HELIPORT", - "TYPE_SEAPLANE_BASE", - "TYPE_AIRSTRIP", - "TYPE_CABLE_CAR_STATION", - "TYPE_GONDOLA_LIFT_STATION", - "TYPE_FUNICULAR_STATION", - "TYPE_SPECIAL_STATION", - "TYPE_HORSE_CARRIAGE_STATION", - "TYPE_MONORAIL_STATION", - "TYPE_SEAPORT", - "TYPE_TRANSIT_STOP", - "TYPE_TRANSIT_TRIP", - "TYPE_TRANSIT_DEPARTURE", - "TYPE_TRANSIT_LEG", - "TYPE_TRANSIT_LINE", - "TYPE_TRANSIT_AGENCY_DEPRECATED_VALUE", - "TYPE_TRANSIT_TRANSFER", - "TYPE_SEGMENT_PATH", - "TYPE_ROAD_SIGN", - "TYPE_INTERSECTION_GROUP", - "TYPE_PATHWAY", - "TYPE_RESTRICTION_GROUP", - "TYPE_TOLL_CLUSTER", - "TYPE_POLITICAL", - "TYPE_COUNTRY", - "TYPE_ADMINISTRATIVE_AREA", - "TYPE_ADMINISTRATIVE_AREA1", - "TYPE_US_STATE", - "TYPE_GB_COUNTRY", - "TYPE_JP_TODOUFUKEN", - "TYPE_ADMINISTRATIVE_AREA2", - "TYPE_GB_FORMER_POSTAL_COUNTY", - "TYPE_GB_TRADITIONAL_COUNTY", - "TYPE_ADMINISTRATIVE_AREA3", - "TYPE_ADMINISTRATIVE_AREA4", - "TYPE_ADMINISTRATIVE_AREA5", - "TYPE_ADMINISTRATIVE_AREA6", - "TYPE_ADMINISTRATIVE_AREA7", - "TYPE_ADMINISTRATIVE_AREA8", - "TYPE_ADMINISTRATIVE_AREA9", - "TYPE_COLLOQUIAL_AREA", - "TYPE_RESERVATION", - "TYPE_LOCALITY", - "TYPE_GB_POST_TOWN", - "TYPE_JP_GUN", - "TYPE_JP_SHIKUCHOUSON", - "TYPE_JP_SUB_SHIKUCHOUSON", - "TYPE_COLLOQUIAL_CITY", - "TYPE_SUBLOCALITY", - "TYPE_US_BOROUGH", - "TYPE_GB_DEPENDENT_LOCALITY", - "TYPE_JP_OOAZA", - "TYPE_JP_KOAZA", - "TYPE_JP_GAIKU", - "TYPE_GB_DOUBLE_DEPENDENT_LOCALITY", - "TYPE_JP_CHIBAN", - "TYPE_JP_EDABAN", - "TYPE_SUBLOCALITY1", - "TYPE_SUBLOCALITY2", - "TYPE_SUBLOCALITY3", - "TYPE_SUBLOCALITY4", - "TYPE_SUBLOCALITY5", - "TYPE_NEIGHBORHOOD", - "TYPE_CONSTITUENCY", - "TYPE_DESIGNATED_MARKET_AREA", - "TYPE_SCHOOL_DISTRICT", - "TYPE_LAND_PARCEL", - "TYPE_DISPUTED_AREA", - "TYPE_POLICE_JURISDICTION", - "TYPE_STATISTICAL_AREA", - "TYPE_CONSTITUENCY_FUTURE", - "TYPE_PARK", - "TYPE_GOLF_COURSE", - "TYPE_LOCAL_PARK", - "TYPE_NATIONAL_PARK", - "TYPE_US_NATIONAL_PARK", - "TYPE_US_NATIONAL_MONUMENT", - "TYPE_NATIONAL_FOREST", - "TYPE_PROVINCIAL_PARK", - "TYPE_PROVINCIAL_FOREST", - "TYPE_CAMPGROUNDS", - "TYPE_HIKING_AREA", - "TYPE_BUSINESS", - "TYPE_GOVERNMENT", - "TYPE_BORDER_CROSSING", - "TYPE_CITY_HALL", - "TYPE_COURTHOUSE", - "TYPE_EMBASSY", - "TYPE_LIBRARY", - "TYPE_SCHOOL", - "TYPE_UNIVERSITY", - "TYPE_EMERGENCY", - "TYPE_HOSPITAL", - "TYPE_PHARMACY", - "TYPE_POLICE", - "TYPE_FIRE", - "TYPE_DOCTOR", - "TYPE_DENTIST", - "TYPE_VETERINARIAN", - "TYPE_TRAVEL_SERVICE", - "TYPE_LODGING", - "TYPE_RESTAURANT", - "TYPE_GAS_STATION", - "TYPE_PARKING", - "TYPE_POST_OFFICE", - "TYPE_REST_AREA", - "TYPE_CASH_MACHINE", - "TYPE_CAR_RENTAL", - "TYPE_CAR_REPAIR", - "TYPE_SHOPPING", - "TYPE_GROCERY", - "TYPE_TOURIST_DESTINATION", - "TYPE_ECO_TOURIST_DESTINATION", - "TYPE_BIRD_WATCHING", - "TYPE_FISHING", - "TYPE_HUNTING", - "TYPE_NATURE_RESERVE", - "TYPE_TEMPLE", - "TYPE_CHURCH", - "TYPE_GURUDWARA", - "TYPE_HINDU_TEMPLE", - "TYPE_MOSQUE", - "TYPE_SYNAGOGUE", - "TYPE_STADIUM", - "TYPE_BAR", - "TYPE_MOVIE_RENTAL", - "TYPE_COFFEE", - "TYPE_GOLF", - "TYPE_BANK", - "TYPE_DOODLE", - "TYPE_GROUNDS", - "TYPE_AIRPORT_GROUNDS", - "TYPE_BUILDING_GROUNDS", - "TYPE_CEMETERY", - "TYPE_HOSPITAL_GROUNDS", - "TYPE_INDUSTRIAL", - "TYPE_MILITARY", - "TYPE_SHOPPING_CENTER", - "TYPE_SPORTS_COMPLEX", - "TYPE_UNIVERSITY_GROUNDS", - "TYPE_DEPRECATED_TARMAC", - "TYPE_ENCLOSED_TRAFFIC_AREA", - "TYPE_PARKING_LOT", - "TYPE_PARKING_GARAGE", - "TYPE_OFF_ROAD_AREA", - "TYPE_BORDER", - "TYPE_BUILDING", - "TYPE_GEOCODED_ADDRESS", - "TYPE_NATURAL_FEATURE", - "TYPE_TERRAIN", - "TYPE_SAND", - "TYPE_BEACH", - "TYPE_DUNE", - "TYPE_ROCKY", - "TYPE_ICE", - "TYPE_GLACIER", - "TYPE_BUILT_UP_AREA", - "TYPE_VEGETATION", - "TYPE_SHRUBBERY", - "TYPE_WOODS", - "TYPE_AGRICULTURAL", - "TYPE_GRASSLAND", - "TYPE_TUNDRA", - "TYPE_DESERT", - "TYPE_SALT_FLAT", - "TYPE_WATER", - "TYPE_OCEAN", - "TYPE_BAY", - "TYPE_BIGHT", - "TYPE_LAGOON", - "TYPE_SEA", - "TYPE_STRAIT", - "TYPE_INLET", - "TYPE_FJORD", - "TYPE_LAKE", - "TYPE_SEASONAL_LAKE", - "TYPE_RESERVOIR", - "TYPE_POND", - "TYPE_RIVER", - "TYPE_RAPIDS", - "TYPE_DISTRIBUTARY", - "TYPE_CONFLUENCE", - "TYPE_WATERFALL", - "TYPE_SPRING", - "TYPE_GEYSER", - "TYPE_HOT_SPRING", - "TYPE_SEASONAL_RIVER", - "TYPE_WADI", - "TYPE_ESTUARY", - "TYPE_WETLAND", - "TYPE_WATER_NAVIGATION", - "TYPE_FORD", - "TYPE_CANAL", - "TYPE_HARBOR", - "TYPE_CHANNEL", - "TYPE_REEF", - "TYPE_REEF_FLAT", - "TYPE_REEF_GROWTH", - "TYPE_REEF_EXTENT", - "TYPE_REEF_ROCK_SUBMERGED", - "TYPE_IRRIGATION", - "TYPE_DAM", - "TYPE_DRINKING_WATER", - "TYPE_CURRENT", - "TYPE_WATERING_HOLE", - "TYPE_TECTONIC", - "TYPE_WATERING_HOLE_DEPRECATED", - "TYPE_VOLCANO", - "TYPE_LAVA_FIELD", - "TYPE_FISSURE", - "TYPE_FAULT", - "TYPE_LAND_MASS", - "TYPE_CONTINENT", - "TYPE_ISLAND", - "TYPE_ATOLL", - "TYPE_OCEAN_ROCK_EXPOSED", - "TYPE_CAY", - "TYPE_PENINSULA", - "TYPE_ISTHMUS", - "TYPE_ELEVATED", - "TYPE_PEAK", - "TYPE_NUNATAK", - "TYPE_SPUR", - "TYPE_PASS", - "TYPE_PLATEAU", - "TYPE_RIDGE", - "TYPE_RAVINE", - "TYPE_CRATER", - "TYPE_KARST", - "TYPE_CLIFF", - "TYPE_VISTA", - "TYPE_DIGITAL_ELEVATION_MODEL", - "TYPE_UPLAND", - "TYPE_TERRACE", - "TYPE_SLOPE", - "TYPE_CONTOUR_LINE", - "TYPE_PAN", - "TYPE_UNSTABLE_HILLSIDE", - "TYPE_MOUNTAIN_RANGE", - "TYPE_UNDERSEA", - "TYPE_SUBMARINE_SEAMOUNT", - "TYPE_SUBMARINE_RIDGE", - "TYPE_SUBMARINE_GAP", - "TYPE_SUBMARINE_PLATEAU", - "TYPE_SUBMARINE_DEEP", - "TYPE_SUBMARINE_VALLEY", - "TYPE_SUBMARINE_BASIN", - "TYPE_SUBMARINE_SLOPE", - "TYPE_SUBMARINE_CLIFF", - "TYPE_SUBMARINE_PLAIN", - "TYPE_SUBMARINE_FRACTURE_ZONE", - "TYPE_CAVE", - "TYPE_ROCK", - "TYPE_ARCHIPELAGO", - "TYPE_POSTAL", - "TYPE_POSTAL_CODE", - "TYPE_POSTAL_CODE_PREFIX", - "TYPE_PREMISE", - "TYPE_SUB_PREMISE", - "TYPE_SUITE", - "TYPE_POST_TOWN", - "TYPE_POSTAL_ROUND", - "TYPE_META_FEATURE", - "TYPE_DATA_SOURCE", - "TYPE_LOCALE", - "TYPE_TIMEZONE", - "TYPE_BUSINESS_CHAIN", - "TYPE_PHONE_NUMBER_PREFIX", - "TYPE_PHONE_NUMBER_AREA_CODE", - "TYPE_BUSINESS_CORRIDOR", - "TYPE_ADDRESS_TEMPLATE", - "TYPE_TRANSIT_AGENCY", - "TYPE_FUTURE_GEOMETRY", - "TYPE_EVENT", - "TYPE_EARTHQUAKE", - "TYPE_HURRICANE", - "TYPE_WEATHER_CONDITION", - "TYPE_TRANSIENT", - "TYPE_ENTRANCE", - "TYPE_CARTOGRAPHIC", - "TYPE_HIGH_TENSION", - "TYPE_SKI_TRAIL", - "TYPE_SKI_LIFT", - "TYPE_SKI_BOUNDARY", - "TYPE_WATERSHED_BOUNDARY", - "TYPE_TARMAC", - "TYPE_WALL", - "TYPE_PICNIC_AREA", - "TYPE_PLAY_GROUND", - "TYPE_TRAIL_HEAD", - "TYPE_GOLF_TEEING_GROUND", - "TYPE_GOLF_PUTTING_GREEN", - "TYPE_GOLF_ROUGH", - "TYPE_GOLF_SAND_BUNKER", - "TYPE_GOLF_FAIRWAY", - "TYPE_GOLF_HOLE", - "TYPE_DEPRECATED_GOLF_SHOP", - "TYPE_CAMPING_SITE", - "TYPE_DESIGNATED_BARBECUE_PIT", - "TYPE_DESIGNATED_COOKING_AREA", - "TYPE_CAMPFIRE_PIT", - "TYPE_WATER_FOUNTAIN", - "TYPE_LITTER_RECEPTACLE", - "TYPE_LOCKER_AREA", - "TYPE_ANIMAL_ENCLOSURE", - "TYPE_CARTOGRAPHIC_LINE", - "TYPE_ESTABLISHMENT", - "TYPE_ESTABLISHMENT_GROUNDS", - "TYPE_ESTABLISHMENT_BUILDING", - "TYPE_ESTABLISHMENT_POI", - "TYPE_ESTABLISHMENT_SERVICE", - "TYPE_CELESTIAL", - "TYPE_ROAD_MONITOR", - "TYPE_PUBLIC_SPACES_AND_MONUMENTS", - "TYPE_STATUE", - "TYPE_TOWN_SQUARE", - "TYPE_LEVEL", - "TYPE_COMPOUND", - "TYPE_COMPOUND_GROUNDS", - "TYPE_COMPOUND_BUILDING", - "TYPE_COMPOUND_SECTION", - "TYPE_TERMINAL_POINT", - "TYPE_REGULATED_AREA", - "TYPE_LOGICAL_BORDER", - "TYPE_GCONCEPT_ONLY", - "TYPE_DO_NOT_USE_RESERVED_TO_CATCH_GENERATED_FILES", - "TYPE_UNKNOWN" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - false, - true, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - true, - true, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ], - "enumDescriptions": [ - "ABSTRACT", - "ABSTRACT", - "A route is any section of road (or rails, etc.) that has a name. This includes city streets as well as highways. Road segments can belong to multiple routes (e.g. El Camino, CA-82).", - "DEPRECATED", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "A designated bicycle route, whose segments may consist of any combination of bicycle paths, bicycle lanes, or city streets.", - "A designated trail, which may consist of paved walkways, dirt paths, fire road, streets or highways, etc.", - "ABSTRACT", - "", - "Railroads use several different incompatible track types.", - "", - "", - "", - "", - "", - "", - "", - "", - "Tracks for streetcars, cable-cars, etc. Ferries are services that are part of the road network but are not roads. They typically involve fares and scheduled departure times.", - "ABSTRACT", - "The vast majority of ferries are ferry boats.", - "Also called a \"car transport\", a ferry train is a rail service that carries passengers and their vehicles across undrivable terrain. The Channel Tunnel (\"Chunnel\") is the most famous example, but they are also common in the Alps where they connect neighboring valleys otherwise separated by impassable mountains.", - "Any plausible 1-dimensional path through a 2+ dimensional space, for the purposes of making graph-search-based routing possible. Such segments can be used to model paths through parking lots, squares, floors of buildings and other areas.", - "An intersection consists of a collection of segments that terminate at the same location. This is topological definition: it may not match what a typical user would think of as an \"intersection\". See TYPE_INTERSECTION_GROUP, below, for more information. Each segment terminating at an intersection has an \"endpoint type\" that specifies how that segment is terminated: stop sign, yield sign, three-way light, etc.", - "ABSTRACT", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "A transit line is a collection of transit legs, associated with some invariant properties of the trips that run over the legs. See also transitline.proto", - "TYPE_TRANSIT_AGENCY was moved to 0xC91. This deprecated enum value still exists for debugging purposes only.", - "DEPRECATED", - "ABSTRACT", - "Road sign features have names, point geometry, etc. They also have segment_path data (see below) which lists the segments that refer to the sign. See segment.proto for the reference from the segment to the road sign.", - "Our TYPE_INTERSECTION feature, above, models the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an \"intersection\". Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. This TYPE_INTERSECTION_GROUP is used to model the user's concept of a complex intersection.", - "RESERVED", - "A restriction group describes a set of segment restrictions that belong together and have a name or an associated event. See also restriction_group.proto", - "DEPRECATED", - "ABSTRACT", - "", - "ABSTRACT", - "", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "e.g. Silicon Valley", - "A reservation is a region collectively held or governed by indigenous people and officially recognized by the country’s government at the federal or state level. A reservation may be fully contained within an administrative feature or partially contained within two or more. These regions are referred to by different categorical names depending on country and even by state, including but not limited to: “Indian Reservations”, “Indian Reserves”, “Land Claim Settlement Lands”, “Indian Lands”, “Treaty Lands”, “Indigenous Territories”, etc. A reservation is not a historic indigenous territory boundary or a region which has applied for land rights but has not yet received official recognition.", - "", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "An entity widely considered to be a city, that may itself be made up of smaller political entities, some of which are cities/towns/villages themselves. For example, the colloquial view of Sydney, Australia actually comprises many smaller cities, but is regarded as a city itself. This type is not suitable for modeling official metro-/micropolitan or other statistical areas.", - "ABSTRACT", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "Designated Market Areas (or DMAs) are used by marketing and ratings companies (such as the Nielsen Media Research company) to describe geographical regions (such as the greater New York metropolitan area) that are covered by a set of television stations. (See http://www.schooldata.com/pdfs/DMA.pdf) In the United States, DMAs should have a DMA numeric ID name, tagged with the FLAG_DESIGNATED_MARKET_AREA_ID flag.", - "", - "", - "Eventually we'll have more data for disputed areas (e.g., who makes claims on the area, who has de facto control, etc.). For the moment, we just define a type so we can simply mark areas as disputed.", - "Boundaries representing the jurisdiction of a particular police station.", - "An area used for aggregating statistical data, eg, a census region. Note that TYPE_STATISTICAL_AREA has a third nibble so we can add an abstract parent above it later if need be at 0x2E1 (and rename TYPE_STATISTICAL_AREA as TYPE_STATISTICAL_AREA1).", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "A line representing the boundary between two features. See border.proto for details.", - "DEPRECATED", - "An association of a point with an address, with no other information.", - "ABSTRACT", - "Expanses of land that share common surface attributes. These areas would look more or less uniform from a high altitude.", - "", - "", - "", - "", - "", - "", - "Terrain that looks populated.", - "Terrain that is covered in vegetation.", - "", - "", - "", - "", - "", - "", - "A flat expanse of salt left by the evaporation of a body of salt water.", - "Features can be TYPE_WATER if we don't have enough information to properly type the body of water. TYPE_WATER is also used as the type for child features that compose a TYPE_RIVER feature.", - "One of the large salt-water bodies that covers most of the globe.", - "An ocean subdivision formed by a coastal indentation. Includes coves and gulfs.", - "An open body of water formed by a slight coastal indentation.", - "", - "An ocean subdivision more or less confined by land and islands.", - "A long narrow ocean subdivision. Includes sounds.", - "", - "", - "An inland body of standing water.", - "A lake that dries up part of the year.", - "An artificial body of water, possibly created by a dam, often used for irrigation or house use.", - "", - "An inland body of moving water, or parts associated with it in which there is little or no current (backwater).", - "", - "A branch which flows away from the main river. Includes deltas.", - "A place where two or more rivers join.", - "", - "A place where ground water flows naturally out of the ground.", - "", - "", - "A river that dries up part of the year.", - "A dry riverbed that occasionally receives flashfloods.", - "A place at the end of a river where fresh and salt water mix. Includes tidal creeks and limans.", - "Land that is usually flooded. Includes bogs, marshes, flats, moors, and swamps.", - "", - "A shallow place where water may be waded through.", - "A narrow passage used by boats. Normally artificial.", - "A deep place near a shore where ships commonly drop anchor.", - "A deep part in a body of water that is suitable for navigation. Includes narrows.", - "Rocks, coral, sandbars, or other features beneath the surface of the water that pose a hazard to passing ships. Includes shoals.", - "A relatively shallow zone of the back reef located closest to the shore, that may be exposed at low tide.", - "A small section of rocks, coral, sandbars, or other features beneath the surface of the water that forms part of a reef.", - "The full extent of the reef complex.", - "A submerged rock in the water.", - "Man-made (and sometimes natural) channels used to move water. This type was used for both dam structures and water that is hold back by dams. We should use TYPE_COMPOUND_BUILDING for dam structures and TYPE_RESERVOIR for water.", - "DEPRECATED", - "", - "Includes overfalls.", - "A natural depression filled with water where animals come to drink.", - "This type is incorrectly under TYPE_TECTONIC instead of TYPE_WATER. This was a mistake and is now fixed. See TYPE_WATERING_HOLE for the replacement.", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "", - "An exposed rock in the water.", - "A small, low-elevation, sandy island formed on the surface of coral reefs", - "A stretch of land projecting into water. Includes capes and spits.", - "A strip of land connecting two larger land masses, such as continents.", - "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.", - "Elevations that have a distinctive peak.", - "A peak or ridge of a mountain that extends through a glacier.", - "A subsidiary peak of a mountain.", - "A route over an otherwise difficult to traverse feature. Includes saddle.", - "Elevations that are flat on top. Includes mesas and buttes.", - "A ridge is a geographical feature consisting of a chain of mountains or hills that form a continuous elevated crest with a single ridgeline for some distance.", - "Steep declines usually carved by erosion. Includes valleys, canyons, ditches, and gorges.", - "Depressions causes by impact, explosion, and sometimes sink-holes.", - "Topography formed on limestone and gypsum by dissolution with sinkholes, caves, etc.", - "A vertical or nearly vertical slope. Includes escarpments.", - "An elevated place that is notable for having a good view. Raster digital elevation data. This is not a type to be used by providers or consumed by clients.", - "RESERVED", - "Land along streams higher than the alluvial plain or stream terrace.", - "", - "Land not so steep as a cliff, but changing elevation. Includes slides.", - "All the points on the polygon are at the same elevation.", - "A near-level shallow, natural depression or basin, usually containing an intermittent lake, pond, or pool.", - "", - "A series of mountains or hills ranged in a line and connected by high ground. Mountain ranges usually consist of many smaller ridges. For example, the Himalayas, the Andes. the Alps, etc.", - "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.", - "includes peaks, ranges, and spurs", - "", - "includes saddles", - "", - "", - "includes trenches and troughs", - "", - "", - "", - "", - "", - "Don't use 0xA7. Use 8 bits for additional types under TYPE_NATURAL_FEATURE, so we don't run out of space. The following are miscellaneous natural features that don't fit any of the categories above.", - "", - "A feature representing a group or chain of islands. ", - "ABSTRACT", - "This is the type for postal codes which are complete and independent enough that there should be a feature for them (e.g. US 5-digit ZIP codes). For even more detailed suffixes that further subdivide a postal code (such as the +4 component in US ZIP codes), store the information in a TYPE_POSTAL_CODE_SUFFIX address component. When a range or set of postal codes share the same geographical area, e.g. because a precise subdivision does not exist or this subdivision is unknown, this type is used for each individual postal code.", - "A prefix portion of a postal code which does not meet the requirements for TYPE_POSTAL_CODE, but which is useful to search for, for example UK outcodes.", - "DEPRECATED", - "DEPRECATED This is deprecated and we want to use TYPE_COMPOUND_SECTION instead.", - "DEPRECATED", - "The term \"post town\" is used for a locality-like-entity that is only used for postal addresses.", - "DEPRECATED", - "ABSTRACT", - "Every data source used in constructing a data repository has a corresponding feature that provides more information about that data source. The extra information is stored in the optional data_source field below.", - "A locale feature provides region specific conventions such as preferred language and formatting details for time, date, and currency values. Locales aren't necessary defined by physical geographic features, so they are classified as meta-features.", - "A timezone feature is used to specify the region covering an international timezone. When a point is covered by multiple timezone features, the most specific one can be used to compute the local time at this point. Most specific implies a much smaller region or the one that is closer to the center. A feature's timezone can be specified in the repeated related_timezone field.", - "A business chain feature is used to represent a chain, e.g. Starbucks, McDonald's, etc. Other features representing specific stores/franchises of this chain may refer to one such feature via RELATION_MEMBER_OF_CHAIN. This is not strictly reserved to commercial chains but can also be used to model organizations such as the Red Cross or the United Nations.", - "A phone number prefix feature is used to specify the region where phone numbers (typically fixed-line numbers) must begin with a certain prefix. Any phone number prefix down to any level of granularity could be represented by this type.", - "A phone number area code is a prefix which also coincides with the area code, or national destination code, of a particular region.", - "A Business Corridor is a dense cluster of semantically similar establishments. TYPE_BUSINESS_CORRIDOR features are distinguished from TYPE_COLLOQUIAL_AREA features because the corridors are not under the political hierarchy, are allowed to be nameless, and may not correspond to well-known real world locations. For more details, see go/geo-corridors-schema.", - "An address template feature provides region-specific conventions for structuring addresses. These features aren't necessarily defined by physical geographic features, so they are classified as meta-features.", - "A transit agency operates a number of lines, typically all in the same city, region or country. See also transitagency.proto", - "A feature whose geometry is planned to replace the geometry on another feature.", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "RESERVED", - "A portal of entry or exit to another feature. Examples: - Subway station entrance. - Parking lot entrance.", - "Cartographic features are used to capture real-world objects for which there is no current desire to model any specific attributes. These are only useful to make the map tiles look pretty.", - "DEPRECATED", - "Also see skitrail.proto", - "Also see skilift.proto", - "Also see skiboundary.proto", - "", - "Starting with TYPE_TARMAC, we use longer IDs, so that we can expand the number of feature types under TYPE_CARTOGRAPHIC.", - "Use TYPE_COMPOUND_GROUND and appropriate gcids for the next two.", - "DEPRECATED", - "DEPRECATED", - "", - "Sub-types within a golf course.", - "", - "", - "", - "", - "Use TYPE_ESTABLISHMENT_POI and gcid:golf_shop for golf shops instead.", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "Subtype within a zoo - a cage or fenced-off or otherwise delineated area containing animals.", - "A line for a cartographic detail. For example the international date line. Such features should have polyline geometry.", - "ABSTRACT This type is being replaced by TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2", - "DEPRECATED This type has been replaced by TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds", - "DEPRECATED", - "An establishment that has a physical location. Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", - "NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", - "The root of types of features that are in the sky, rather than on the earth. There will eventually be a hierarchy of types here.", - "Features responsible for monitoring traffic on roads (usually for speed). Includes cameras at particular points as well as monitors that cover larger spans. Features of this type should have a corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera or gcid:speed_camera_zone). This type was originally named as TYPE_ROAD_CAMERA.", - "ABSTRACT", - "Note that this type does not distinguish the nature of the statue (religious, historical, memorial, tourist, ...).", - "Open space used for events, gathering, or as market-place.", - "A feature used to represent a logical level, e.g. floor.", - "ABSTRACT", - "e.g. campus, compound, parcel.", - "e.g. single family dwelling, office building.", - "e.g. suite, room, hallway, cubicle.", - "A terminal point represents a good location for a user to meet a taxi, ridesharing vehicle, or general driver.", - "An area controlled in some way by an authoritative source, such as a government-designated COVID containment zone or an area under government sanctions. Features of this type should have one or more gcids corresponding to their specific regulation, and client handling of these features may vary based on the type of regulation.", - "A grouping of TYPE_BORDER features (\"border segments\"), which together represent a border between two features of the same type.", - "A generic feature type for any geo-type that cannot be modeled under existing feature types. No new feature type should be created within feature proto after this type.", - "DEPRECATED", - "A feature of completely unknown type. This should only be used when absolutely necessary. One example in which this type is useful is in the Chinese importer, which must heuristically segment addresses into components - it often does not know what types to make those components. Please note that the Oyster address formatter does not currently support address components of TYPE_UNKNOWN well." - ], - "type": "string" - }, - "verticalOrdering": { - "$ref": "GeostoreVerticalOrderingProto", - "description": "Represents vertical ordering for this feature relative to other geometrically-overlaping features. See go/aboutgrades for more information about distinction among different levels." - }, - "visualizationArea": { - "$ref": "GeostoreGeometryStoreReferenceProto", - "description": "Geometry Store ID and materialized geometry representing a bounding box of the feature's geometry (or the building/grounds a POI occupies) for stylized rendering, UX experiences, etc. IMPORTANT: Clients may not write to this field directly; see go/geometry-store-reading-and-writing#writing-to-geometry-store." - }, - "waterRemovedPolygon": { - "$ref": "GeostorePolygonProto", - "description": "A version of the geometry which has water removed but is not simplified (thus having equal or more vertices than polygon_for_display)." - }, - "website": { - "description": "The official website of this feature. Stored as a repeated field to allow for multilingual official websites (see comments in url.proto).", - "items": { - "$ref": "GeostoreUrlProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreFeatureReplacementInfoProto": { - "description": "Metadata to track feature derivations and replacements. This is used to track feature provenance (particularly for road segments).", - "id": "GeostoreFeatureReplacementInfoProto", - "properties": { - "derivedFrom": { - "description": "This feature was created to replace other features that are referenced by this field.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "replacedBy": { - "description": "This feature was replaced by other features that are referenced by this this field.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreFieldMetadataProto": { - "description": "Internal field metadata. This part is not exposed to downstream consumers of the repository (read-only clients) but is available to upstream providers to the repository (read-write clients).", - "id": "GeostoreFieldMetadataProto", - "properties": { - "internal": { - "$ref": "GeostoreInternalFieldMetadataProto" - } - }, - "type": "object" - }, - "GeostoreFieldWithRightsProto": { - "description": "Proto used to represent rights for a feature property id. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.", - "id": "GeostoreFieldWithRightsProto", - "properties": { - "attributeId": { - "deprecated": true, - "description": "**DEPRECATED** Never set. ", - "type": "string" - }, - "featurePropertyId": { - "$ref": "GeostoreFeaturePropertyIdProto", - "description": "The feature property id for which this entry tracks rights." - }, - "fieldType": { - "description": "**DEPRECATED** The field type for which this entry tracks rights. There may be multiple entries for the same field type - prefer feature_property_id to uniquely identify a particular entry. ", - "format": "int32", - "type": "integer" - }, - "minRightsLevel": { - "description": "The minimum rights level among all current values for this feature property id.", - "enum": [ - "UNKNOWN_RIGHTS", - "GT_RIGHTS", - "FULL_RIGHTS" - ], - "enumDescriptions": [ - "Indicates that the rights level is unknown. This should always be the default value of any RightsLevel field in any proto.", - "GT-rights or GT-level rights is a level of data ownership that Google has retained as defined by the Ground Truth project. GT rights include but may not be limited to: - Data may be used perpetually in any Google product or service - No requirement for any on-screen attribution requirements (although we may have softer attribution requirements, like display on a legal notices page) - No display, distribution, or storage restrictions - other than that the content may not be redistributed on a standalone basis, independent of a Google product or service.", - "Full rights refers to data for which Google has no usage restrictions. We can do whatever we want with it." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreFlowLineProto": { - "description": "Wrapper to hold data related to a lane’s track, extendable for future data.", - "id": "GeostoreFlowLineProto", - "properties": { - "curvature": { - "$ref": "GeostoreCurvatureProto", - "description": "RESERVED" - }, - "track": { - "$ref": "GeostoreTrackProto" - } - }, - "type": "object" - }, - "GeostoreFoodMenuItemOptionProto": { - "description": "Example: the choice of chicken, beef, or tofu for the Thai Basil dish. Each option would have its own name, price, allergen info, etc. Note: This proto stores both food and service items despite the name.", - "id": "GeostoreFoodMenuItemOptionProto", - "properties": { - "allergenAbsent": { - "items": { - "enum": [ - "ALLERGEN_DAIRY", - "ALLERGEN_EGG", - "ALLERGEN_FISH", - "ALLERGEN_PEANUT", - "ALLERGEN_SHELLFISH", - "ALLERGEN_SOY", - "ALLERGEN_TREE_NUT", - "ALLERGEN_WHEAT" - ], - "enumDescriptions": [ - "A list of types of allergens for food and drinks.", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "allergenPresent": { - "items": { - "enum": [ - "ALLERGEN_DAIRY", - "ALLERGEN_EGG", - "ALLERGEN_FISH", - "ALLERGEN_PEANUT", - "ALLERGEN_SHELLFISH", - "ALLERGEN_SOY", - "ALLERGEN_TREE_NUT", - "ALLERGEN_WHEAT" - ], - "enumDescriptions": [ - "A list of types of allergens for food and drinks.", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "calories": { - "format": "int32", - "type": "integer" - }, - "ingredients": { - "description": "Ingredients of the food dish option.", - "items": { - "$ref": "GeostoreFoodMenuItemOptionProtoIngredient" - }, - "type": "array" - }, - "media": { - "description": "Photos of the food dish option.", - "items": { - "$ref": "GeostoreMediaItemProto" - }, - "type": "array" - }, - "nameInfo": { - "description": "The repeated name_info field here is for item options with names or descriptions listed in multiple languages. When an item option has no names or descriptions, the size of the repeated field name_info may be 0. For example, when a food menu item does not have multiple options, the item option proto is used only to specify price and nutritional information, so it will not have a name_info field. There should be at most one name_info for any given language.", - "items": { - "$ref": "GeostorePriceListNameInfoProto" - }, - "type": "array" - }, - "nutritionFacts": { - "$ref": "GeostorePriceInfoFoodNutritionFacts", - "description": "Nutrition facts of the food dish option. Note that it also includes calories information with a finer defined unit information." - }, - "portionSize": { - "$ref": "GeostoreFoodMenuItemOptionProtoPortionSize", - "description": "Size of the order, represented in units of items. (e.g. 4 \"skewers”, 6 \"pieces”)" - }, - "preparationMethods": { - "description": "Methods on how the food dish option is prepared.", - "items": { - "enum": [ - "METHOD_UNDEFINED", - "BAKED", - "BOILED", - "BLANCHED", - "BRAISED", - "CODDLED", - "PRESSURE_COOKED", - "SIMMERED", - "STEAMED", - "STEEPED", - "GRILLED", - "FRIED", - "PAN_FRIED", - "STIR_FRIED", - "SAUTEED", - "ROASTED", - "BARBECUED", - "SEARED", - "SMOKED", - "FERMENTED", - "MARINATED", - "PICKLED", - "BASTED", - "KNEADED", - "OTHER_METHOD" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "price": { - "$ref": "GeostorePriceRangeProto", - "description": "We use PriceRangeProto here but we expect the lower_price and upper_price to be both set to equal numbers because an option should have a single price. This field is not required because food item prices may be variable depending on season." - }, - "restriction": { - "items": { - "enum": [ - "DIET_HALAL", - "DIET_KOSHER", - "DIET_ORGANIC", - "DIET_VEGAN", - "DIET_VEGETARIAN" - ], - "enumDescriptions": [ - "A list of types of restrictions adhered to during food preparation.", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "servesNumPeople": { - "description": "Number of people can be served by this food dish option.", - "format": "int32", - "type": "integer" - }, - "spiciness": { - "enum": [ - "SPICINESS_NONE", - "SPICINESS_MILD", - "SPICINESS_MEDIUM", - "SPICINESS_HOT" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreFoodMenuItemOptionProtoIngredient": { - "description": "This message denotes an ingredient information of a food dish.", - "id": "GeostoreFoodMenuItemOptionProtoIngredient", - "properties": { - "nameInfo": { - "description": "The repeated name_info field is for the ingredient in multiple languages.", - "items": { - "$ref": "GeostorePriceListNameInfoProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreFoodMenuItemOptionProtoPortionSize": { - "description": "This message denotes the serving portion size of a food dish.", - "id": "GeostoreFoodMenuItemOptionProtoPortionSize", - "properties": { - "quantity": { - "description": "Required.", - "format": "int32", - "type": "integer" - }, - "unit": { - "description": "Required. The repeated name_info field is for the unit in multiple languages.", - "items": { - "$ref": "GeostorePriceListNameInfoProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreFoodMenuItemProto": { - "description": "A food menu item must have a name although it can have multiple names in different languages. Example: Thai Basil. Price for this item is specified in the item_option field. Since the price of an item may be unknown, e.g. seasonal price, there is nothing that requires an item_option to be present in the FoodMenuItemProto.", - "id": "GeostoreFoodMenuItemProto", - "properties": { - "itemOption": { - "items": { - "$ref": "GeostoreFoodMenuItemOptionProto" - }, - "type": "array" - }, - "nameInfo": { - "description": "The repeated name_info field is for items listed in multiple languages.", - "items": { - "$ref": "GeostorePriceListNameInfoProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreGConceptInstanceProto": { - "description": "A GConceptInstanceProto contains a GConceptID (which is the unique identifier of a GConcept, a category in the Geo Ontology).", - "id": "GeostoreGConceptInstanceProto", - "properties": { - "gconceptId": { - "description": "The unique identifier of a GConcept (e.g. \"gcid:railway\").", - "type": "string" - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this GConcept." - }, - "prominence": { - "description": "The relative prominence of this category to this feature according to the data provider, as one of the values from the enum above. Prominence is a measure of how well the given GConcept describes the feature. An example is a gas station with convenience store and ATM. All three GConcepts are very relevant, but the gas_station GConcept is the most prominent. If the prominence of this GConcept is unknown, this field should not be set.", - "enum": [ - "NON_PRIMARY", - "PRIMARY" - ], - "enumDescriptions": [ - "not a prominent GConcept", - "the most prominent GConcept" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreGeometryComposition": { - "description": "Encapsulates all the features which, together, define the geometry of a feature. This happens by: 1. taking the union of all polygons of features referenced in includes_geometry_of 2. subtracting the polygons of all the features referenced in excludes_geometry_of", - "id": "GeostoreGeometryComposition", - "properties": { - "excludesGeometryOf": { - "description": "Features whose geometry to exclude while composing the geometry of this feature.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "includesGeometryOf": { - "description": "Features whose geometry to include while composing the geometry of this feature.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreGeometryStoreReferenceProto": { - "description": "A Geometry Store ID and, in some contexts, geometry materialized from the record associated with that ID.", - "id": "GeostoreGeometryStoreReferenceProto", - "properties": { - "footprint": { - "description": "Geometry (in STGeography format) materialized from the footprint field of the Geometry Store record associated with the geometry_id referenced above.", - "format": "byte", - "type": "string" - }, - "geometry": { - "$ref": "GeostoreCityJsonProto", - "description": "Geometry materialized from the full_fidelity_proto field of the Geometry Store record associated with the geometry_id referenced above." - }, - "geometryId": { - "description": "The ID of a record in the Geometry Store.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreGeopoliticalGeometryProto": { - "description": "Geopolitical (unsimplified) polygons for a feature for different geopolitical use cases. See go/unsimplified-poly.", - "id": "GeostoreGeopoliticalGeometryProto", - "properties": { - "restOfWorldPolygon": { - "$ref": "GeostorePolygonProto", - "description": "The unsimplified, water-subtracted polygon representing the feature's geometry as viewed by the rest of the world, which may differ from its default polygon, for example by excluding certain regions." - }, - "selfPolygon": { - "$ref": "GeostorePolygonProto", - "description": "The unsimplified, water-subtracted polygon representing the feature's geometry as viewed by the country that administers it, which may differ from its default polygon, for example by including disputed areas." - } - }, - "type": "object" - }, - "GeostoreGeopoliticalProto": { - "description": "This protocol buffer is used to store geopolitical information about the feature that override the base state of the feature. For example, the name of the feature from different regions' POV. This protocol buffer can be used on any feature involved in a geopolitical situation and is not limited to TYPE_POLITICAL features.", - "id": "GeostoreGeopoliticalProto", - "properties": { - "conveysAttributionTo": { - "description": "If present, some aspect of this feature (usually name or geometry) can signify ownership of the area by the region specified. The string, if present, will be a region code. E.g., suppose a TYPE_POSTAL_CODE feature has a Russian format in Crimea (which is disputed by Ukraine), then this field would be set to \"RU\".", - "type": "string" - }, - "regionSpecificName": { - "description": "Any specific handling of this feature's name from different regions' POVs. This field can only contain up to one name per region/language combination (each of which would be a separate RegionSpecificNameProto).", - "items": { - "$ref": "GeostoreRegionSpecificNameProto" - }, - "type": "array" - }, - "regionalPolygonAdjustment": { - "description": "Adjustments to the base polygon of this feature to construct a region-specific view. In general, this field is edited only by go/mf-triggers based on the data written to regional_polygon_composing_claims. This field should only be directly edited if there are region-specific adjustments that cannot be represented using the geometry of this feature's claims, but note that anything written to this field will be overwritten by go/mf-triggers if regional_polygon_composing_claims is ever edited. See go/geopolitical-geometry-schema for more information.", - "items": { - "$ref": "GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProto" - }, - "type": "array" - }, - "regionalPolygonComposingClaims": { - "description": "Feature's claim(s) which compose the region-specific polygon. This composition will be used by go/mf-triggers to compose the specified region's view of this feature's geometry. The difference between that polygon and this feature's base polygon will be stored in regional_polygon_adjustment below. Edits to this field will overwrite anything already stored in regional_polygon_adjustment. See go/geopolitical-geometry-schema for more information.", - "items": { - "$ref": "GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProto": { - "description": "Raw polygon adjustments to apply to this feature's base polygon to construct a specific region's view of this feature's polygon.", - "id": "GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProto", - "properties": { - "polygonToAdd": { - "$ref": "GeostorePolygonProto", - "description": "Polygon to add to the feature's base polygon to get the view for the given region. Applied after polygon_to_subtract, such that any region contained in both polygons WILL be part of the final result." - }, - "polygonToSubtract": { - "$ref": "GeostorePolygonProto", - "description": "Polygon to subtract from the feature's base polygon to get the view for the given region." - }, - "regionCode": { - "description": "Region code (or other identifier) for the region.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProto": { - "description": "The polygon composition recipe for a specific region's view of this feature's geometry, based on disputed area claims asserted by this country. Note that the included / excluded claims listed for a given region's view of this feature may not match up exactly with which claims the region recognizes / does not recognize for this feature. Claims may only be included or excluded for regions that themselves are a party to the dispute, i.e. a region's view of itself will include its own claims, and a region's view of another feature will exclude its own claims. See current Geopolitical policy at go/geopolitical-policy-primer.", - "id": "GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProto", - "properties": { - "regionCode": { - "description": "Region code (or other identifier) for the region.", - "type": "string" - }, - "regionExcludedClaims": { - "description": "TYPE_DISPUTED_AREAs claimed by this feature excluded from this region's view of the feature's geometry. (The TDAs must have polygonal geometry and be referenced in this feature's political.claim field.) The polygons of these claims will be subtracted to this feature's base polygon when this feature is viewed from the specified region.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "regionIncludedClaims": { - "description": "TYPE_DISPUTED_AREAs claimed by this feature and included in this region's view of the feature's geometry. (The TDAs must have polygonal geometry and be referenced in this feature's political.claim field.) The polygons of these claims will be added to this feature's base polygon when this feature is viewed from the specified region.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreGradeLevelProto": { - "description": "The grade level of a segment represents the relative altitude of the segment at a particular point along the segment. This level is in relation to other segments at the same point. For example, you might have a freeway at level = 0 and an overpass at level = 2. Vertical segments are represented by a polyline containing only 1 vertex and exactly two grade_level in segment.proto whose indices are 0. grade_level(0) represents the relative height at the start point of the segments, and grade_level(1) represents the one at the end point.", - "id": "GeostoreGradeLevelProto", - "properties": { - "index": { - "description": "The index of the point along the segment, where 0 is the starting point. This means that the index of a point along a segment and its sibling will be different.", - "format": "int32", - "type": "integer" - }, - "level": { - "description": "The grade level of the indexed point. The grade level can be thought of as a relative vertical ordering with respect to other segments at the same point, where larger/more positive numbers are \"higher\". Negative grade level values are allowed and are typically used for points below grade level (0 is a common choice to represent the level of points at the ground level). For vertical segments, the height, i.e. the vertical length, is represented by difference of levels in millimeters. For example, feature.segment().grade_level(0).level() == 0 and feature.segment().grade_level(1).level() == 5000, then the length of the vertical segment feature is 5000 millimeters (5 meters).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostoreHtmlTextProto": { - "description": "Represents HTML text associated with a feature.", - "id": "GeostoreHtmlTextProto", - "properties": { - "text": { - "description": "Zero or more texts of the specified type, in various languages. If this is a HTML_DESCRIPTION blob then these texts would hold the description in English, German, and so forth. The text is an HTML fragment, not a full page. The fragment should be suitable for including in a DIV. It must have balanced HTML tags. It may use HTML's \"class\" attributes to assign classes to HTML elements. This allows the HTML to be formatted by an (external) style sheet. The HTML should not have embedded style sheet definitions, nor should it have embedded JavaScript.", - "items": { - "$ref": "GeostoreLanguageTaggedTextProto" - }, - "type": "array" - }, - "type": { - "enum": [ - "HTML_DESCRIPTION" - ], - "enumDescriptions": [ - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreInferredGeometryProto": { - "description": "Inferred geometry defines the geometry of a feature as the union or exclusion of the geometry of other features. For instance, the geometry of a timezone can be specified as the union of all the countries it applies to. In this scenario, the timezone will can be considered a \"composite feature\", while the countries are its \"composing features\". A composite feature must have a bidirectional reference between itself and all its composing features. A composite feature refers to its composing features via `geometry_composition`, while the composing features must refer back to the composing feature via `defines_geometry_for`. See: go/inferred-geometry and go/geo-schema:composite-geometry-editor for more details.", - "id": "GeostoreInferredGeometryProto", - "properties": { - "definesGeometryFor": { - "description": "Features whose geometry depends on this feature's geometry.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "geometryComposition": { - "$ref": "GeostoreGeometryComposition", - "description": "Features whose geometry defines the geometry of this feature (i.e. \"composing features\")." - } - }, - "type": "object" - }, - "GeostoreInternalFeatureProto": { - "description": "InternalFeatureProto represents fields for data that are more about other data within the FeatureProto than about the feature itself. This could be data that's set by editors directly(ish) (e.g. trust or rights data), or data set internally by MapFacts based on other data (e.g. polygon shape IDs).", - "id": "GeostoreInternalFeatureProto", - "properties": { - "polygonShapeId": { - "description": "A unique identifier for this feature's polygon data which is being held externally in Shapestore (see go/shapestore).", - "type": "string" - }, - "restOfWorldPolygonShapeId": { - "description": "A unique identifier for this feature's rest-of-world view polygon data which is being held externally in Shapestore (see go/shapestore). This is part of the feature's geopolitical geometry.", - "type": "string" - }, - "rightsStatus": { - "$ref": "GeostoreRightsStatusProto", - "description": "Per-field rights for this feature. See http://g3doc/geostore/g3doc/developers-guide/inputs/rights-tracking for more information." - }, - "selfPolygonShapeId": { - "description": "A unique identifier for this feature's self view polygon data which is being held externally in Shapestore (see go/shapestore). This is part of the feature's geopolitical geometry.", - "type": "string" - }, - "trust": { - "$ref": "GeostoreTrustSignalsProto", - "description": "Trust signals/annotations for the feature. In an input feature, these signals are computed at the beginning of the pipeline and are immutable during the processing. In output features, this proto may define the rules/criteria that a newer edit should meet, in order to be applied." - }, - "waterRemovedPolygonShapeId": { - "description": "A unique identifier for this feature's water-removed polygon data which is being held externally in Shapestore (see go/shapestore).", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreInternalFieldMetadataProto": { - "id": "GeostoreInternalFieldMetadataProto", - "properties": { - "isAuto": { - "description": "Whether or not the piece of data has been generated automatically (i.e., by a bot/automated process based on heuristics/algorithms rather than coming as a fact set by some human user or data provider based on their knowledge). Note that this does NOT imply that the value was set as a result of a bot operation on the repository, since it is conceivable to use a bot/automated process simply as a way of convenience to ingest large amount of canonical/ground truth data.", - "type": "boolean" - }, - "sourceSummary": { - "$ref": "GeostoreInternalSourceSummaryProto", - "description": "Information about the source providing the piece of data this metadata is attached to." - } - }, - "type": "object" - }, - "GeostoreInternalSegmentProto": { - "description": "Internal-only proto used to express additional information about segments. This is intended for communicating extra information between editing clients and the repository, and should not be used by or visible to clients. WARNING - if you add new fields to InternalSegmentProto, make sure that geostore/tools/internal/mr-mergesegments_test.cc is aware of them.", - "id": "GeostoreInternalSegmentProto", - "properties": { - "disallowedConnections": { - "description": "A list of lane connections that are explicitly not allowed to be added. NOTE: This should never reference existing lane connections on this segment.", - "items": { - "$ref": "GeostoreInternalSegmentProtoLaneConnectionReference" - }, - "type": "array" - }, - "disallowedPrimaryConnection": { - "description": "A list of lane connections which cannot have the primary_connection bit set.", - "items": { - "$ref": "GeostoreInternalSegmentProtoLaneConnectionReference" - }, - "type": "array" - }, - "travelAllowance": { - "description": "The set of restrictions that apply to this segment; these are actually *POSITIVE* restrictions, i.e. they are known to be allowed.", - "items": { - "$ref": "GeostoreRestrictionProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreInternalSegmentProtoLaneConnectionReference": { - "description": "Specifies a single outgoing lane connection.", - "id": "GeostoreInternalSegmentProtoLaneConnectionReference", - "properties": { - "fromLaneNumber": { - "description": "The lane number on this segment.", - "format": "int32", - "type": "integer" - }, - "segment": { - "$ref": "GeostoreFeatureIdProto", - "description": "This reference to the other segment is weak, since strong would blow up bounds of all segments." - }, - "toLaneNumber": { - "description": "This is the lane number on the target segment.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostoreInternalSourceSummaryProto": { - "id": "GeostoreInternalSourceSummaryProto", - "properties": { - "dataset": { - "description": "Within the above provider, the dataset from which this piece of data was generated. For fields that are auto-generated the \"dataset\" is likely to be some algorithm's or program's name. Similar to SourceInfoProto.dataset but with the difference that it is required to always be set. Providers that don't have a concept of dataset may use \"default\".", - "type": "string" - }, - "provider": { - "description": "The data provider from which this piece of data was generated. Equivalent to SourceInfoProto.provider in the public schema.", - "enum": [ - "PROVIDER_ANY", - "PROVIDER_UNKNOWN", - "PROVIDER_NAVTEQ", - "PROVIDER_TELE_ATLAS", - "PROVIDER_TELE_ATLAS_MULTINET", - "PROVIDER_TELE_ATLAS_CODEPOINT", - "PROVIDER_TELE_ATLAS_GEOPOST", - "PROVIDER_TELE_ATLAS_DATAGEO", - "PROVIDER_TELE_ATLAS_ADDRESS_POINTS", - "PROVIDER_TELCONTAR", - "PROVIDER_EUROPA", - "PROVIDER_ROYAL_MAIL", - "PROVIDER_GOOGLE", - "PROVIDER_GOOGLE_HAND_EDIT", - "PROVIDER_GOOGLE_BORDERS", - "PROVIDER_GOOGLE_SUBRANGE", - "PROVIDER_GOOGLE_GT_FUSION", - "PROVIDER_GOOGLE_ZAGAT_CMS", - "PROVIDER_GOOGLE_PLACE_NAVBOOST", - "PROVIDER_GOOGLE_FOOTPRINT", - "PROVIDER_GOOGLE_PRODUCT_TERMS", - "PROVIDER_GOOGLE_POINTCARDS", - "PROVIDER_GOOGLE_BUSINESS_CHAINS", - "PROVIDER_GOOGLE_LOCAL_SUMMARIZATION", - "PROVIDER_GOOGLE_PRONUNCIATIONS", - "PROVIDER_GOOGLE_DUMPLING", - "PROVIDER_GOOGLE_DISTILLERY", - "PROVIDER_GOOGLE_LOCAL_ATTRIBUTE_SUMMARIZATION", - "PROVIDER_GOOGLE_RELATION_MINER", - "PROVIDER_GOOGLE_MAPSPAM", - "PROVIDER_GOOGLE_ROSE", - "PROVIDER_GOOGLE_LOCAL_PLACE_RATINGS", - "PROVIDER_GOOGLE_WIPEOUT", - "PROVIDER_GOOGLE_KNOWLEDGE_GRAPH", - "PROVIDER_GOOGLE_BEEGEES", - "PROVIDER_GOOGLE_REVIEW_SUMMARIZATION", - "PROVIDER_GOOGLE_OFFLINE_NON_CORE_ATTRIBUTE_SUMMARIZATION", - "PROVIDER_GOOGLE_GEO_WORLDMAPS", - "PROVIDER_GOOGLE_GEO_MODERATION", - "PROVIDER_GOOGLE_OYSTER_AUTO_EDITS", - "PROVIDER_GOOGLE_LOCAL_ALCHEMY", - "PROVIDER_GOOGLE_KEROUAC", - "PROVIDER_GOOGLE_MOBRANK", - "PROVIDER_GOOGLE_RAPTURE", - "PROVIDER_GOOGLE_CULTURAL_INSTITUTE", - "PROVIDER_GOOGLE_GEOCODES_FROM_LOCAL_FEEDS", - "PROVIDER_GOOGLE_ATTRIBUTES_FROM_CRAWLED_CHAINS", - "PROVIDER_GOOGLE_TACTILE_MAPS", - "PROVIDER_GOOGLE_MAPS_FOR_MOBILE", - "PROVIDER_GOOGLE_GEO_REALTIME", - "PROVIDER_GOOGLE_PROMINENT_PLACES", - "PROVIDER_GOOGLE_PLACE_ACTIONS", - "PROVIDER_GOOGLE_GT_AUTO_EDITS", - "PROVIDER_GOOGLE_WAZE", - "PROVIDER_GOOGLE_ONTHEGO", - "PROVIDER_GOOGLE_GT_IMPORT", - "PROVIDER_GOOGLE_STRUCTURED_DATA", - "PROVIDER_GOOGLE_HELICOPTER", - "PROVIDER_GOOGLE_ROLLBACK", - "PROVIDER_GOOGLE_RIGHTS_REPAIR", - "PROVIDER_GOOGLE_PERFUME", - "PROVIDER_GOOGLE_MAPS_TRANSLATION", - "PROVIDER_GOOGLE_CALL_ME_MAYBE", - "PROVIDER_GOOGLE_LOCAL_UNIVERSAL", - "PROVIDER_GOOGLE_CROUPIER", - "PROVIDER_GOOGLE_SKYSMART", - "PROVIDER_GOOGLE_RIDDLER", - "PROVIDER_GOOGLE_ROADCLOSURES", - "PROVIDER_GOOGLE_SPORE", - "PROVIDER_GOOGLE_LOCALIZATION", - "PROVIDER_GOOGLE_CATTERMS", - "PROVIDER_GOOGLE_GT_FIELD_OPS", - "PROVIDER_GOOGLE_MATCHMAKER", - "PROVIDER_GOOGLE_ARBITRATION", - "PROVIDER_GOOGLE_BIZBUILDER_OPS", - "PROVIDER_GOOGLE_LOCAL_INVENTORY_ADS", - "PROVIDER_GOOGLE_GT_DRAFTY", - "PROVIDER_GOOGLE_HOTELADS_OPS", - "PROVIDER_GOOGLE_MARKERS", - "PROVIDER_GOOGLE_STATE_MACHINE", - "PROVIDER_GOOGLE_ATTRIBUTES_INFERENCE", - "PROVIDER_GOOGLE_BIKESHARE", - "PROVIDER_GOOGLE_GHOSTWRITER", - "PROVIDER_GOOGLE_EDIT_PLATFORM", - "PROVIDER_GOOGLE_BLUE_GINGER", - "PROVIDER_GOOGLE_GEO_TIGER", - "PROVIDER_GOOGLE_HYADES", - "PROVIDER_GOOGLE_WEBQUARRY", - "PROVIDER_GOOGLE_GEO_MADDEN", - "PROVIDER_GOOGLE_ANDROID_PAY", - "PROVIDER_GOOGLE_OPENING_HOURS_TEAM", - "PROVIDER_GOOGLE_LOCAL_DISCOVERY", - "PROVIDER_GOOGLE_LOCAL_HEALTH", - "PROVIDER_GOOGLE_UGC_MAPS", - "PROVIDER_GOOGLE_FIBER", - "PROVIDER_GOOGLE_REVGEO", - "PROVIDER_GOOGLE_HOTELADS_PARTNER_FRONT_END", - "PROVIDER_GOOGLE_GEO_UGC_TASKS", - "PROVIDER_GOOGLE_GEOCODING", - "PROVIDER_GOOGLE_SPYGLASS", - "PROVIDER_GOOGLE_PLUS_CODES_AS_ADDRESSES", - "PROVIDER_GOOGLE_GEO_CHANGES", - "PROVIDER_GOOGLE_HUME", - "PROVIDER_GOOGLE_MEGAMIND", - "PROVIDER_GOOGLE_GT_ROADSYNTH", - "PROVIDER_GOOGLE_FIREBOLT", - "PROVIDER_GOOGLE_LOCAL_PLACE_OFFERINGS", - "PROVIDER_GOOGLE_UGC_SERVICES", - "PROVIDER_GOOGLE_GEOALIGN", - "PROVIDER_GOOGLE_GT_COMPOUNDS", - "PROVIDER_GOOGLE_FOOD_ORDERING", - "PROVIDER_GOOGLE_HOTEL_KNOWLEDGE_OPS", - "PROVIDER_GOOGLE_URAW", - "PROVIDER_GOOGLE_FLYEYE", - "PROVIDER_GOOGLE_YOUKE", - "PROVIDER_GOOGLE_GT_ZEPHYR", - "PROVIDER_GOOGLE_USER_SAFETY", - "PROVIDER_GOOGLE_ADDRESS_MAKER", - "PROVIDER_GOOGLE_UGC_PHOTOS", - "PROVIDER_GOOGLE_GT_WINDCHIME", - "PROVIDER_GOOGLE_SNAG_FIXER", - "PROVIDER_GOOGLE_GEO_DEALS", - "PROVIDER_GOOGLE_LOCAL_PLACE_TOPICS", - "PROVIDER_GOOGLE_PROPERTY_INSIGHTS", - "PROVIDER_GOOGLE_GEO_CONSUMER_MERCHANT_EXPERIMENTS", - "PROVIDER_GOOGLE_GEO_PORTKEY", - "PROVIDER_GOOGLE_ROAD_MAPPER", - "PROVIDER_GOOGLE_LOCATION_PLATFORM", - "PROVIDER_GOOGLE_POSTTRIP", - "PROVIDER_GOOGLE_TRAVEL_DESTINATION", - "PROVIDER_GOOGLE_GEO_DATA_UPLOAD", - "PROVIDER_GOOGLE_BIZBUILDER_CLEANUP", - "PROVIDER_GOOGLE_USER", - "PROVIDER_GOOGLE_STATION", - "PROVIDER_GOOGLE_GEO_FOOD", - "PROVIDER_GOOGLE_GEO_AR", - "PROVIDER_GOOGLE_GEO_TEMPORAL", - "PROVIDER_GOOGLE_SERVICES_MARKETPLACE", - "PROVIDER_GOOGLE_IMT_CLEANUP", - "PROVIDER_GOOGLE_GEO_FOOD_MENU", - "PROVIDER_GOOGLE_CARENAV", - "PROVIDER_GOOGLE_DRIVING_FEEDS", - "PROVIDER_GOOGLE_DRIVING_UGC", - "PROVIDER_GOOGLE_POLAR", - "PROVIDER_GOOGLE_TRIWILD", - "PROVIDER_GOOGLE_CROWD_COMPUTE_OPS", - "PROVIDER_GOOGLE_SA_FROM_WEB", - "PROVIDER_GOOGLE_POI_ALIGNMENT", - "PROVIDER_GOOGLE_SA_FROM_HULK", - "PROVIDER_GOOGLE_SERVICES_INTERACTIONS", - "PROVIDER_GOOGLE_ROADS_UGC_EDITOR", - "PROVIDER_GOOGLE_SA_FROM_NG_INFERENCE", - "PROVIDER_GOOGLE_GEO_DRIVING_VIZ", - "PROVIDER_GOOGLE_GEO_TASKING", - "PROVIDER_GOOGLE_CROWDTASK_DATACOMPUTE", - "PROVIDER_GOOGLE_CROWDTASK_TASKADS", - "PROVIDER_GOOGLE_CROWDTASK_TASKMATE", - "PROVIDER_GOOGLE_CROWDTASK_FURBALL", - "PROVIDER_GOOGLE_CROWDTASK_ADAP", - "PROVIDER_GOOGLE_GPAY", - "PROVIDER_GOOGLE_GEO_UGC_TRUSTED_USERS", - "PROVIDER_GOOGLE_THIRD_PARTY_DATA_PRODUCTION", - "PROVIDER_GOOGLE_GEOTRACKER", - "PROVIDER_GOOGLE_LOCAL_LANDMARK_INFERENCE", - "PROVIDER_GOOGLE_GEO_CLOSED_LOOP", - "PROVIDER_GOOGLE_SA_FROM_MERCHANT_POSTS", - "PROVIDER_GOOGLE_CORE_DATA_RIGHTS", - "PROVIDER_GOOGLE_SA_FROM_USER_REVIEWS", - "PROVIDER_GOOGLE_GEO_CONTENT_FIXER", - "PROVIDER_GOOGLE_POLYGON_REFINEMENT", - "PROVIDER_GOOGLE_HANASU", - "PROVIDER_GOOGLE_FULLRIGHTS_GEO_DATA_UPLOAD", - "PROVIDER_GOOGLE_FULLRIGHTS_3P_OUTREACH_UPLOAD", - "PROVIDER_GOOGLE_ATTRIBUTION_3P_OUTREACH_UPLOAD", - "PROVIDER_GOOGLE_SA_FROM_FOOD_MENUS", - "PROVIDER_GOOGLE_GT_CONSISTENCY_EDITS", - "PROVIDER_GOOGLE_SA_QUALITY", - "PROVIDER_GOOGLE_GDCE_CLEANUP", - "PROVIDER_GOOGLE_UGC_QUALITY_CHAINS", - "PROVIDER_GOOGLE_ATTRIBUTES_DISCOVERY", - "PROVIDER_GOOGLE_GEO_LDE", - "PROVIDER_GOOGLE_GEO_SIGNAL_TRACKING", - "PROVIDER_GOOGLE_UGC_AGGREGATION", - "PROVIDER_GOOGLE_3D_BASEMAP", - "PROVIDER_GOOGLE_MAPFACTS_PRIVACY", - "PROVIDER_GOOGLE_GT_ALF", - "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE", - "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS", - "PROVIDER_GOOGLE_GT_LANE_AUTOMATION", - "PROVIDER_GOOGLE_GEO_NG_LOCAL", - "PROVIDER_GOOGLE_MAPFACTS_CLEANUP", - "PROVIDER_GOOGLE_THIRD_PARTY_UGC", - "PROVIDER_GOOGLE_GEO_ISSUE_ADMIN", - "PROVIDER_GOOGLE_VACATION_RENTAL_PARTNERS", - "PROVIDER_GOOGLE_FEED_PROCESSOR_ROAD_INCIDENTS", - "PROVIDER_GOOGLE_DYNAMIC_BASEMAP", - "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS_EMEA", - "PROVIDER_GOOGLE_LOCALSEARCH", - "PROVIDER_GOOGLE_TRANSIT", - "PROVIDER_GOOGLE_GEOWIKI", - "PROVIDER_GOOGLE_CHINA_LOCAL_TEAM", - "PROVIDER_GOOGLE_SYNTHESIZED", - "PROVIDER_GOOGLE_INTERNAL_TEST", - "PROVIDER_GOOGLE_DISPUTED_AREAS", - "PROVIDER_GOOGLE_3DWAREHOUSE", - "PROVIDER_GOOGLE_GROUNDS_BUILDER", - "PROVIDER_GOOGLE_SESAME", - "PROVIDER_GOOGLE_GT", - "PROVIDER_GOOGLE_GT_BASEMAP_UPLOAD", - "PROVIDER_GOOGLE_ADSDB", - "PROVIDER_GOOGLE_MACHINE_TRANSLITERATION", - "PROVIDER_GOOGLE_TRAVELSEARCH", - "PROVIDER_GOOGLE_PANORAMIO", - "PROVIDER_GOOGLE_YOUTUBE", - "PROVIDER_GOOGLE_OLD", - "PROVIDER_GOOGLE_STREETVIEW", - "PROVIDER_GOOGLE_STREETVIEW_BIZVIEW", - "PROVIDER_GOOGLE_ZIPIT", - "PROVIDER_GOOGLE_OYSTER_CONNECT_ROUTES", - "PROVIDER_GOOGLE_GOLDEN", - "PROVIDER_GOOGLE_INNERSPACE", - "PROVIDER_GOOGLE_MAPSEARCH", - "PROVIDER_GOOGLE_CATEGORIES_TEAM", - "PROVIDER_GOOGLE_CROWDSENSUS", - "PROVIDER_GOOGLE_LOCAL_ALGORITHMIC_IDENTITY", - "PROVIDER_GOOGLE_FREEBASE", - "PROVIDER_GOOGLE_HOTELADS", - "PROVIDER_GOOGLE_AUTHORITY_PAGES", - "PROVIDER_GOOGLE_PLACES_API", - "PROVIDER_GOOGLE_NAMEHEATMAP", - "PROVIDER_GOOGLE_MAPMAKER", - "PROVIDER_GOOGLE_MAPMAKER_MOBILE", - "PROVIDER_GOOGLE_MAPMAKER_PANCAKE", - "PROVIDER_GOOGLE_MAPMAKER_V2", - "PROVIDER_GOOGLE_LOCAL_CLUSTERING_OPERATOR_OVERRIDE", - "PROVIDER_GOOGLE_SERVED_ON_MAPMAKER", - "PROVIDER_GOOGLE_GT_LOCAL", - "PROVIDER_GOOGLE_GT_LOCAL_WITH_RIGHTS", - "PROVIDER_GOOGLE_LOGS_RANKING_SIGNALS", - "PROVIDER_GOOGLE_ENTITY_NAVBOOST", - "PROVIDER_GOOGLE_RELATED_PLACES", - "PROVIDER_GOOGLE_KNOWN_FOR_TERMS", - "PROVIDER_GOOGLE_SYNTHETIC_AREAS", - "PROVIDER_GOOGLE_AUTHORITY_PAGE_PHOTOS", - "PROVIDER_GOOGLE_CROSS_STREETS", - "PROVIDER_GOOGLE_CORRIDORS", - "PROVIDER_GOOGLE_BICYCLE_RENTAL", - "PROVIDER_GOOGLE_CONCRETE_URLS", - "PROVIDER_GOOGLE_LEANBACK", - "PROVIDER_GOOGLE_LOCKED_LISTINGS", - "PROVIDER_GOOGLE_MONITORING", - "PROVIDER_GOOGLE_SPROUT", - "PROVIDER_GOOGLE_LOCAL_SEARCH_QUALITY", - "PROVIDER_GOOGLE_GOBY", - "PROVIDER_GOOGLE_PROBLEM_REPORT", - "PROVIDER_GOOGLE_CANDID", - "PROVIDER_GOOGLE_BIZBUILDER", - "PROVIDER_AUTOMOTIVE_NAVIGATION_DATA", - "PROVIDER_MAPDATA_SCIENCES", - "PROVIDER_MAPONICS", - "PROVIDER_SKI_RESORTS", - "PROVIDER_ZENRIN", - "PROVIDER_SANBORN", - "PROVIDER_URBAN_MAPPING", - "PROVIDER_US_GOVERNMENT", - "PROVIDER_US_CENSUS", - "PROVIDER_US_POSTAL_SERVICE", - "PROVIDER_US_GEOLOGICAL_SURVEY", - "PROVIDER_US_GNIS", - "PROVIDER_US_LANDSAT", - "PROVIDER_US_NATIONAL_GEOSPATIAL_INTELLIGENCE_AGENCY", - "PROVIDER_US_NGA_GNS", - "PROVIDER_US_SSIBL", - "PROVIDER_US_BUREAU_OF_TRANSPORTATION_STATISTICS", - "PROVIDER_US_NATIONAL_OCEANIC_AND_ATMOSPHERIC_ADMINISTRATION", - "PROVIDER_US_POLAR_GEOSPATIAL_CENTER", - "PROVIDER_US_DEPARTMENT_OF_AGRICULTURE", - "PROVIDER_US_NPI_REGISTRY", - "PROVIDER_US_BUREAU_OF_INDIAN_AFFAIRS", - "PROVIDER_DMTI_SPATIAL", - "PROVIDER_INTERNATIONAL_HYDROGRAPHIC_ORGANIZATION", - "PROVIDER_MAPLINK", - "PROVIDER_KINGWAY", - "PROVIDER_GEOCENTRE", - "PROVIDER_CN_NATIONAL_FOUNDAMENTAL_GIS", - "PROVIDER_CN_MAPABC", - "PROVIDER_SMITHSONIAN_INSTITUTE", - "PROVIDER_TRACKS_FOR_AFRICA", - "PROVIDER_PPWK", - "PROVIDER_LEADDOG", - "PROVIDER_CENTRE_DONNEES_ASTRONOMIQUES_STRASBOURG", - "PROVIDER_GISRAEL", - "PROVIDER_BASARSOFT", - "PROVIDER_MAPINFO", - "PROVIDER_MAPIT", - "PROVIDER_GEOBASE", - "PROVIDER_ORION", - "PROVIDER_CENTRAL_EUROPEAN_DATA_AGENCY", - "PROVIDER_ANASAT", - "PROVIDER_MINED_POSTCODES", - "PROVIDER_DMAPAS", - "PROVIDER_COMMON_LOCALE_DATA_REPOSITORY", - "PROVIDER_CH_SBB", - "PROVIDER_SKENERGY", - "PROVIDER_GBRMPA", - "PROVIDER_KOREA_POST", - "PROVIDER_CN_AUTONAVI", - "PROVIDER_MINED_POI", - "PROVIDER_ML_INFOMAP", - "PROVIDER_SNOOPER", - "PROVIDER_GEOSISTEMAS", - "PROVIDER_AFRIGIS", - "PROVIDER_TRANSNAVICOM", - "PROVIDER_EASYCONNECT", - "PROVIDER_LANTMATERIET", - "PROVIDER_LOGICA", - "PROVIDER_MAPKING", - "PROVIDER_DIANPING", - "PROVIDER_GEONAV", - "PROVIDER_HEIBONSHA", - "PROVIDER_DEUTSCHE_TELEKOM", - "PROVIDER_LINGUISTIC_DATA_CONSORTIUM", - "PROVIDER_ACXIOM", - "PROVIDER_DUN_AND_BRADSTREET", - "PROVIDER_FEDERAL_AVIATION_ADMINISTRATION", - "PROVIDER_INFOUSA", - "PROVIDER_INFOUSA_NIXIE", - "PROVIDER_THOMSON_LOCAL", - "PROVIDER_TELEFONICA_PUBLICIDAD_E_INFORMACION", - "PROVIDER_WIKIPEDIA", - "PROVIDER_INFOBEL", - "PROVIDER_MX_GOVERNMENT", - "PROVIDER_MX_NATIONAL_INSTITUTE_STATISTICS_GEOGRAPHY", - "PROVIDER_MX_SERVICIO_POSTAL_MEXICANO", - "PROVIDER_TELEGATE", - "PROVIDER_TELELISTAS", - "PROVIDER_MAPCITY", - "PROVIDER_EXPLAINER_DC", - "PROVIDER_DAIKEI", - "PROVIDER_NL_CHAMBER_OF_COMMERCE", - "PROVIDER_KOREA_INFO_SERVICE", - "PROVIDER_WIKITRAVEL", - "PROVIDER_FLICKR", - "PROVIDER_DIANCO", - "PROVIDER_VOLT_DELTA", - "PROVIDER_SG_GOVERNMENT", - "PROVIDER_SG_LAND_TRANSPORT_AUTHORITY", - "PROVIDER_MAPBAR", - "PROVIDER_LONGTU", - "PROVIDER_SA_GOVERNMENT", - "PROVIDER_SA_SAUDI_POST", - "PROVIDER_PEAKLIST", - "PROVIDER_LOCAL_BUSINESS_CENTER", - "PROVIDER_LOCAL_FEED_XML", - "PROVIDER_WEB", - "PROVIDER_RAILS_TO_TRAILS", - "PROVIDER_INDIACOM", - "PROVIDER_INFOMEDIA", - "PROVIDER_PICASA", - "PROVIDER_AT_GOVERNMENT", - "PROVIDER_AT_BUNDESAMT_FUR_EICH_UND_VERMESSUNGSWESEN", - "PROVIDER_AT_NATIONAL_TOURIST_OFFICE", - "PROVIDER_AT_AUSTRIA_POST", - "PROVIDER_NO_GOVERNMENT", - "PROVIDER_NO_NORSK_EIENDOMSINFORMASJON", - "PROVIDER_NO_POSTEN_NORGE_AS", - "PROVIDER_CH_GOVERNMENT", - "PROVIDER_CH_SWISS_POST", - "PROVIDER_CH_SWISSTOPO", - "PROVIDER_CH_SWISS_NATIONAL_PARK", - "PROVIDER_NAVIT", - "PROVIDER_GEOSEARCH", - "PROVIDER_DE_GOVERNMENT", - "PROVIDER_BUNDESAMT_KARTOGRAPHIE_UND_GEODASIE", - "PROVIDER_BUNDESNETZAGENTUR", - "PROVIDER_SCHOBER_GROUP", - "PROVIDER_MIREO", - "PROVIDER_PUBLIC_MUNICIPALITY", - "PROVIDER_US_PUBLIC_MUNICIPALITY", - "PROVIDER_US_PUBLIC_MUNICIPALITY_WEBSTER_TEXAS", - "PROVIDER_US_PUBLIC_MUNICIPALITY_AMHERST_MASSACHUSETTS", - "PROVIDER_US_PUBLIC_MUNICIPALITY_BLOOMINGTON_INDIANA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_PASADENA_CALIFORNIA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_CHULA_VISTA_CALIFORNIA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_TEMPE_ARIZONA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_COLUMBUS_OHIO", - "PROVIDER_US_PUBLIC_MUNICIPALITY_PORTAGE_MICHIGAN", - "PROVIDER_US_PUBLIC_MUNICIPALITY_GEORGETOWN_KENTUCKY", - "PROVIDER_US_PUBLIC_MUNICIPALITY_GREENVILLE_SOUTH_CAROLINA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_NASHVILLE_TENNESSEE", - "PROVIDER_US_PUBLIC_MUNICIPALITY_WASHINGTON_DISTRICT_OF_COLUMBIA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_BOULDER_COLORADO", - "PROVIDER_NZ_PUBLIC_MUNICIPALITY", - "PROVIDER_NZ_PUBLIC_MUNICIPALITY_ENVIRONMENT_BAY", - "PROVIDER_PL_PUBLIC_MUNICIPALITY", - "PROVIDER_PL_PUBLIC_MUNICIPALITY_BIELSKO_BIALA", - "PROVIDER_DE_PUBLIC_MUNICIPALITY", - "PROVIDER_DE_PUBLIC_MUNICIPALITY_FRANKFURT", - "PROVIDER_DE_PUBLIC_MUNICIPALITY_HAMBURG", - "PROVIDER_DE_PUBLIC_MUNICIPALITY_KARLSRUHE", - "PROVIDER_PT_PUBLIC_MUNICIPALITY", - "PROVIDER_PT_PUBLIC_MUNICIPALITY_SANTA_CRUZ", - "PROVIDER_AT_PUBLIC_MUNICIPALITY", - "PROVIDER_AT_PUBLIC_MUNICIPALITY_KLAGENFURT", - "PROVIDER_AT_PUBLIC_MUNICIPALITY_LINZ", - "PROVIDER_ES_PUBLIC_MUNICIPALITY", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_AZKOITIA", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_BEASAIN", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_GIRONA", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_SAN_SEBASTIAN", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_CATALUNYA", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_HONDARRIBIA", - "PROVIDER_AU_PUBLIC_MUNICIPALITY", - "PROVIDER_AU_PUBLIC_MUNICIPALITY_LAUNCESTON_TASMANIA", - "PROVIDER_IS_PUBLIC_MUNICIPALITY", - "PROVIDER_IS_PUBLIC_MUNICIPALITY_REYKJAVIK", - "PROVIDER_NL_PUBLIC_MUNICIPALITY", - "PROVIDER_NL_PUBLIC_MUNICIPALITY_AMELSTEVEEN", - "PROVIDER_BE_PUBLIC_MUNICIPALITY", - "PROVIDER_BE_PUBLIC_MUNICIPALITY_ANTWERPEN", - "PROVIDER_CA_PUBLIC_MUNICIPALITY", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_FREDERICTON_NEW_BRUNSWICK", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_KAMLOOPS_BRITISH_COLUMBIA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_NANAIMO_BRITISH_COLUMBIA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_BANFF_ALBERTA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_CALGARY_ALBERTA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_TORONTO_ONTARIO", - "PROVIDER_SE_PUBLIC_MUNICIPALITY", - "PROVIDER_SE_PUBLIC_MUNICIPALITY_UMEA", - "PROVIDER_UA_PUBLIC_MUNICIPALITY", - "PROVIDER_UA_PUBLIC_MUNICIPALITY_KHARKIV", - "PROVIDER_OTHER_PUBLIC_MUNICIPALITY", - "PROVIDER_OTHER_PUBLIC_MUNICIPALITY_AQUA_CALIENTE_CAHUILLA_INDIANS", - "PROVIDER_FR_PUBLIC_MUNICIPALITY", - "PROVIDER_FR_PUBLIC_MUNICIPALITY_PONT_AUDEMER", - "PROVIDER_FR_PUBLIC_MUNICIPALITY_BORDEAUX", - "PROVIDER_SG_PUBLIC_MUNICIPALITY", - "PROVIDER_BR_PUBLIC_MUNICIPALITY", - "PROVIDER_BR_PUBLIC_MUNICIPALITY_RIO_DE_JANEIRO", - "PROVIDER_MAPCUBE", - "PROVIDER_3D_REALITYMAPS", - "PROVIDER_DEUTSCHES_ZENTRUM_FUR_LUFT_UND_RAUMFAHRT", - "PROVIDER_3D_CITIES_SOCIEDADE_ANONIMA", - "PROVIDER_DISNEY", - "PROVIDER_CYBERCITY", - "PROVIDER_PRECISION_LIGHTWORKS_MODELWORKS", - "PROVIDER_VIRTUAL_HUNGARY_LIMITED", - "PROVIDER_VIRTUEL_CITY", - "PROVIDER_SCREAMPOINT_INTERNATIONAL", - "PROVIDER_AGENTSCHAP_VOOR_GEOGRAFISCHE_INFORMATIE_VLAANDEREN", - "PROVIDER_FR_GOVERNMENT", - "PROVIDER_FR_INSTITUT_GEOGRAPHIQUE_NATIONAL", - "PROVIDER_FR_CADASTRE", - "PROVIDER_DIADIEM", - "PROVIDER_THE_WEATHER_CHANNEL", - "PROVIDER_COWI", - "PROVIDER_FALKPLAN_ANDES", - "PROVIDER_NL_GOVERNMENT", - "PROVIDER_NL_KADASTER", - "PROVIDER_NL_BOARD_OF_TOURISM_AND_CONVENTIONS", - "PROVIDER_DIGITAL_MAP_PRODUCTS", - "PROVIDER_SILICE_DIGITAL", - "PROVIDER_TYDAC", - "PROVIDER_ALBRECHT_GOLF", - "PROVIDER_HEALTH_CH", - "PROVIDER_VISITDENMARK", - "PROVIDER_FLYHERE", - "PROVIDER_DIGITAL_DATA_SERVICES", - "PROVIDER_MECOMO", - "PROVIDER_ZA_GOVERNMENT", - "PROVIDER_ZA_RURAL_DEVELOPMENT_LAND_REFORM", - "PROVIDER_SENSIS", - "PROVIDER_JJCONNECT", - "PROVIDER_OPPLYSNINGEN", - "PROVIDER_TELLUS", - "PROVIDER_IQONIA", - "PROVIDER_BE_GOVERNMENT", - "PROVIDER_BE_NATIONAAL_GEOGRAFISCH_INSTITUUT", - "PROVIDER_BE_BRUSSELS_MOBILITY", - "PROVIDER_YELLOWMAP_AG", - "PROVIDER_STIFTUNG_GESUNDHEIT", - "PROVIDER_GIATA", - "PROVIDER_SANPARKS", - "PROVIDER_CENTRE_DINFORMATIQUE_POUR_LA_REGION_BRUXELLOISE", - "PROVIDER_INFOPORTUGAL", - "PROVIDER_NEGOCIOS_DE_TELECOMUNICACOES_E_SISTEMAS_DE_INFORMACAO", - "PROVIDER_COLLINS_BARTHOLOMEW", - "PROVIDER_PROTECT_PLANET_OCEAN", - "PROVIDER_KARTTAKESKUS", - "PROVIDER_FI_GOVERNMENT", - "PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION", - "PROVIDER_FI_NATIONAL_LAND_SURVEY", - "PROVIDER_FI_STATISTICS_FINLAND", - "PROVIDER_GB_GOVERNMENT", - "PROVIDER_GB_ORDNANCE_SURVEY", - "PROVIDER_NATURAL_ENGLAND", - "PROVIDER_WELSH_GOVERNMENT", - "PROVIDER_GB_OFFICE_FOR_NATIONAL_STATISTICS", - "PROVIDER_EPSILON", - "PROVIDER_PARTNER_FRONT_END", - "PROVIDER_CARTESIA", - "PROVIDER_SE_GOVERNMENT", - "PROVIDER_SE_TRAFIKVERKET", - "PROVIDER_SE_NATURVARDSVERKET", - "PROVIDER_IE_GOVERNMENT", - "PROVIDER_IE_ORDNANCE_SURVEY_IRELAND", - "PROVIDER_LU_GOVERNMENT", - "PROVIDER_LU_P_AND_T_LUXEMBOURG", - "PROVIDER_LU_ADMINISTRATION_DU_CADASTRE_ET_DE_LA_TOPOGRAPHIE", - "PROVIDER_LU_NATIONAL_TOURIST_OFFICE", - "PROVIDER_MAPFLOW", - "PROVIDER_TKARTOR", - "PROVIDER_JUMPSTART", - "PROVIDER_EPTISA", - "PROVIDER_MC_GOVERNMENT", - "PROVIDER_MC_PRINCIPAUTE_DE_MONACO", - "PROVIDER_MONOLIT", - "PROVIDER_ENVIRONMENTAL_SYSTEMS_RESEARCH_INSTITUTE", - "PROVIDER_MODIS", - "PROVIDER_GEOX", - "PROVIDER_GEODIRECTORY", - "PROVIDER_GEOPLAN", - "PROVIDER_INFODIREKT", - "PROVIDER_GEOGLOBAL", - "PROVIDER_DEUTSCHE_POST", - "PROVIDER_TRACASA", - "PROVIDER_CORREOS", - "PROVIDER_ES_GOVERNMENT", - "PROVIDER_ES_CENTRO_NACIONAL_DE_INFORMACION_GEOGRAFICA", - "PROVIDER_EDIMAP", - "PROVIDER_VERIZON", - "PROVIDER_NATIONAL_GEOGRAPHIC_MAPS", - "PROVIDER_PROMAPS", - "PROVIDER_CONSODATA", - "PROVIDER_DE_AGOSTINI", - "PROVIDER_FEDERPARCHI", - "PROVIDER_NAVIGO", - "PROVIDER_ITALIAMAPPE", - "PROVIDER_CZECOT", - "PROVIDER_NATURAL_EARTH", - "PROVIDER_REGIO", - "PROVIDER_SHIPWRECK_CENTRAL", - "PROVIDER_RUTGERS_STATE_UNIVERSITY", - "PROVIDER_TWINICE", - "PROVIDER_NORTHERN_IRELAND_TOURIST_BOARD", - "PROVIDER_INFOGROUP", - "PROVIDER_TNET", - "PROVIDER_CTT_CORREIOS_DE_PORTUGAL", - "PROVIDER_EUROPARC", - "PROVIDER_IUPPITER", - "PROVIDER_MICHAEL_BAUER_INTERNATIONAL", - "PROVIDER_LEPTON", - "PROVIDER_MAPPOINT", - "PROVIDER_GEODATA", - "PROVIDER_RU_GOVERNMENT", - "PROVIDER_RU_FNS_KLADR", - "PROVIDER_BR_GOVERNMENT", - "PROVIDER_BR_INSTITUTO_BRASILEIRO_DO_MEIO_AMBIENTE_E_DOS_RECURSOS_NATURAIS_RENOVAVEIS", - "PROVIDER_BR_MINISTERIO_DO_MEIO_AMBIENTE", - "PROVIDER_BR_AGENCIA_NACIONAL_DE_AGUAS", - "PROVIDER_BR_INSTITUTO_BRASILEIRO_DE_GEOGRAFIA_E_ESTATISTICA", - "PROVIDER_BR_FUNDACAO_NACIONAL_DO_INDIO", - "PROVIDER_BR_DEPARTAMENTO_NACIONAL_DE_INFRAESTRUTURA_DE_TRANSPORTES", - "PROVIDER_AZAVEA", - "PROVIDER_NORTHSTAR", - "PROVIDER_COMMEDI", - "PROVIDER_NEXUS_GEOGRAFICS", - "PROVIDER_INFOERA", - "PROVIDER_AD_GOVERNMENT", - "PROVIDER_AD_AREA_DE_CARTOGRAFIA", - "PROVIDER_MAXXIMA", - "PROVIDER_SI_GOVERNMENT", - "PROVIDER_SI_AGENCY_FOR_ENVIRONMENT", - "PROVIDER_TRANSPORT_HI_TECH_CONSULTANTS", - "PROVIDER_L1_TECHNOLOGIES", - "PROVIDER_TELEMEDIA", - "PROVIDER_CDCOM_PROGOROD", - "PROVIDER_MIT_CITYGUIDE", - "PROVIDER_SUNCART", - "PROVIDER_MICROMAPPER", - "PROVIDER_RICHI", - "PROVIDER_FORUM44", - "PROVIDER_SEAT", - "PROVIDER_VALASSIS", - "PROVIDER_NAVICOM", - "PROVIDER_COLTRACK", - "PROVIDER_PSMA_AUSTRALIA", - "PROVIDER_PT_DUTA_ASTAKONA_GIRINDA", - "PROVIDER_CA_GOVERNMENT", - "PROVIDER_STATISTICS_CANADA", - "PROVIDER_TOCTOC", - "PROVIDER_RMSI", - "PROVIDER_TRUE_TECHNOLOGY", - "PROVIDER_INCREMENT_P_CORPORATION", - "PROVIDER_GOJAVAS", - "PROVIDER_GEOINFORMATION_GROUP", - "PROVIDER_CYBERSOFT", - "PROVIDER_TSENTR_EFFEKTIVNYKH_TEKHNOLOGIY", - "PROVIDER_EE_GOVERNMENT", - "PROVIDER_EE_MAA_AMET", - "PROVIDER_GASBUDDY", - "PROVIDER_DK_GOVERNMENT", - "PROVIDER_DK_GEODATASTYRELSEN", - "PROVIDER_MURCIA_REGION_GOVERNMENT", - "PROVIDER_CORREIOS", - "PROVIDER_WEST_WORLD_MEDIA", - "PROVIDER_INTERNATIONAL_MAPPING_ASSOCIATION", - "PROVIDER_MEDICARE", - "PROVIDER_POLARIS", - "PROVIDER_TW_GOVERNMENT", - "PROVIDER_TW_MINISTRY_OF_THE_INTERIOR_SURVEYING_AND_MAPPING_CENTER", - "PROVIDER_NORDECA", - "PROVIDER_AFRIMAPPING", - "PROVIDER_OVERDRIVE", - "PROVIDER_PROVIDER_NETWORK_DIRECTORIES", - "PROVIDER_BR_MINISTERIO_DA_SAUDE", - "PROVIDER_DIGITAL_EGYPT", - "PROVIDER_INRIX", - "PROVIDER_ARPINDO", - "PROVIDER_IT_GOVERNMENT", - "PROVIDER_ISTITUTO_GEOGRAFICO_MILITARE", - "PROVIDER_EAST_END_GROUP", - "PROVIDER_INGEOLAN", - "PROVIDER_SEMACONNECT", - "PROVIDER_BLINK", - "PROVIDER_EVGO", - "PROVIDER_CHARGEPOINT", - "PROVIDER_TPL_TRAKKER", - "PROVIDER_OI", - "PROVIDER_MAPARADAR", - "PROVIDER_SINGAPORE_POST", - "PROVIDER_CHARGEMASTER", - "PROVIDER_TESLA", - "PROVIDER_VISICOM", - "PROVIDER_GEOLYSIS", - "PROVIDER_ZEPHEIRA", - "PROVIDER_HUBJECT", - "PROVIDER_PODPOINT", - "PROVIDER_CHARGEFOX", - "PROVIDER_KR_GOVERNMENT", - "PROVIDER_KR_MOLIT", - "PROVIDER_KR_MINISTRY_OF_THE_INTERIOR_AND_SAFETY", - "PROVIDER_CRITCHLOW", - "PROVIDER_EIFRIG", - "PROVIDER_GIREVE", - "PROVIDER_CN_NAVINFO", - "PROVIDER_JAPAN_CHARGE_NETWORK", - "PROVIDER_NOBIL", - "PROVIDER_INDIA_BANKS", - "PROVIDER_INDONESIA_ELECTION_KPU", - "PROVIDER_CAREERS360", - "PROVIDER_SOURCE_LONDON", - "PROVIDER_EVBOX", - "PROVIDER_JP_GOVERNMENT", - "PROVIDER_JP_MINISTRY_OF_THE_ENVIRONMENT", - "PROVIDER_YUMYUM", - "PROVIDER_HWW_AUSTRALIA", - "PROVIDER_CINERGY", - "PROVIDER_MTIME", - "PROVIDER_KULTUNAUT", - "PROVIDER_BLITZ", - "PROVIDER_PIA", - "PROVIDER_INTERPARK", - "PROVIDER_CINEMA_ONLINE", - "PROVIDER_BELBIOS", - "PROVIDER_MOVIESEER", - "PROVIDER_SODAMEDYA", - "PROVIDER_ATMOVIES", - "PROVIDER_HOTELBEDS", - "PROVIDER_VERICRED", - "PROVIDER_CIRRANTIC", - "PROVIDER_GOGO_LABS", - "PROVIDER_ELECTRIFY_AMERICA", - "PROVIDER_CMS_MPPUF", - "PROVIDER_DIGIROAD", - "PROVIDER_KONTEX_GEOMATICS", - "PROVIDER_NZ_GOVERNMENT", - "PROVIDER_NZ_LINZ", - "PROVIDER_NZ_DOC", - "PROVIDER_FASTNED", - "PROVIDER_DESTINY_CS", - "PROVIDER_IONITY", - "PROVIDER_EV_CONNECT", - "PROVIDER_PANPAGES", - "PROVIDER_ETECNIC", - "PROVIDER_VOLTA", - "PROVIDER_NISSAN_MEXICO", - "PROVIDER_BMW_GROUP_LATIN_AMERICA", - "PROVIDER_FEDERAL_ELECTRICITY_COMMISSION_MEXICO", - "PROVIDER_VOLVO_CARS_BRASIL", - "PROVIDER_CHARGE_AND_PARKING", - "PROVIDER_DEDUCE_TECHNOLOGIES", - "PROVIDER_SK_TELECOM", - "PROVIDER_ECO_MOVEMENT", - "PROVIDER_GOOGLE_GMS", - "PROVIDER_EASYWAY", - "PROVIDER_PHYSICIAN_COMPARE", - "PROVIDER_HOSPITAL_COMPARE", - "PROVIDER_ENDOLLA_BARCELONA", - "PROVIDER_BE_CHARGE", - "PROVIDER_ONE_NETWORK", - "PROVIDER_CARENAV_DUPLEX", - "PROVIDER_CARENAV_POI", - "PROVIDER_IN_GOVERNMENT", - "PROVIDER_SURVEY_OF_INDIA", - "PROVIDER_E_ON", - "PROVIDER_ELECTRIFY_CANADA", - "PROVIDER_GRIDCARS", - "PROVIDER_DRIVECO", - "PROVIDER_GREEN_ACTION_STUDIOS", - "PROVIDER_GREEN_ACTION_STUDIO", - "PROVIDER_EVINY", - "PROVIDER_MASTERCARD", - "PROVIDER_VATTENFALL", - "PROVIDER_VIETGIS", - "PROVIDER_UNITE", - "PROVIDER_NEOGY", - "PROVIDER_AMPUP", - "PROVIDER_LOOP", - "PROVIDER_ZEST", - "PROVIDER_EZVOLT", - "PROVIDER_JOLT", - "PROVIDER_CHARGESMITH", - "PROVIDER_PLUGO", - "PROVIDER_ELECTRIC_ERA", - "PROVIDER_FLO", - "PROVIDER_DIGITAL_CHARGING_SOLUTIONS", - "PROVIDER_ELECTRIC_PE" - ], - "enumDeprecated": [ - false, - false, - true, - false, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - true, - false, - true, - false, - true, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - true, - true, - false, - false, - false, - false, - false, - true, - true, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - true, - true, - false, - true, - false, - true, - true, - false, - true, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - false, - false, - false, - true, - false, - true, - false, - true, - true, - true, - false, - true, - true, - true, - false, - false, - true, - true, - true, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - true, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "ABSTRACT The root of all provider types. This should never be present on an actual feature, but can be useful when calling InCategory.", - "not actually a legal value, used as sentinel", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "All new \"Google\" provider entries must be full ints. The next available ID is: 0x111730C2", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "This is an internal *only* provider meant for sending wipeout requests to mapfacts.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Never rely on source infos with this provider to identify whether or not a feature is a Prominent Place! Instead, use the proper API, localsearch_clustering::QualityTierHelper::IsProminentPlace().", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Shopping Attributes Discovery", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "UMBRELLA", - "", - "The next new \"Google\" provider entries should be placed above.", - "UMBRELLA", - "", - "", - "", - "This is a testing provider for teams that wish to integrate with components of the Geo Data Infrastructure that require a valid provider. No production data should ever be sent using this provider.", - "", - "UMBRELLA", - "", - "", - "", - "UMBRELLA", - "0x1117F must not be used, since its range extends the PROVIDER_GOOGLE hierarchy.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Deprecated in favor of PROVIDER_GOOGLE_STRUCTURED_DATA (for attributes) and PROVIDER_GOOGLE_GEO_TIGER (for categories).", - "", - "0x1117FF should not be used, since its range further extends the PROVIDER_GOOGLE hierarchy. aka Local AI.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "No data is obtained from this provider. It is only used to identify features that must be served on MapMaker.", - "", - "", - "", - "", - "", - "", - "0x1117FFF should not be used, since its range further extends the PROVIDER_GOOGLE hierarchy. Synthetically generated areas (sublocalities/neighborhoods/ postal codes/etc) based on dropped terms from approximate geocoding. More info on go/syntheticareas.", - "", - "", - "", - "Similar to Google Transit, a provider that aggregates positions of bicycle rental points that we have agreements with to show on maps", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "This range has been depleted. For new Ids see PROVIDER_GOOGLE_SUBRANGE above.", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "Small Scale International Boundary Lines", - "", - "NOAA", - "PGC", - "USDA", - "National Provider Identifier Registry", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "old name for PROVIDER_NAVIGO", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "See b/33687395", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "ABSTRACT", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "IBAMA", - "MMA", - "ANA", - "IBGE", - "FUNAI", - "DNIT", - "", - "", - "", - "", - "", - "ABSTRACT", - "Department of Cartography", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "0x12 and 0x120 are not to be used. OOO CET", - "ABSTRACT", - "Estonian Land Board", - "", - "ABSTRACT", - "Danish Geodata Agency", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "Ministry of land, infrastructure and transport, 국토교통부, Guktogyotongbu", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Use PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION.", - "", - "ABSTRACT", - "Land Information New Zealand", - "NZ Department of Conservation", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Note: Next available value is 0x1275." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreIntersectionGroupProto": { - "description": "Our TYPE_INTERSECTION features model the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an \"intersection\". Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. The TYPE_INTERSECTION_GROUP is used to model the user's concept of a real-world intersection, which also includes turn lanes or a whole roundabout (a logical intersection). For the purposes of modeling turn restrictions and lane connections, a smaller grouping is needed to model the \"core\" part of the intersection where there are no lane markings. This is called a core or artifact group. An intersection group must contain at least two intersections or add some information (e.g. a name or a polygon) compared to the intersection itself, or else must not exist. The standard feature properties are interpreted as follows: name - Can be used to specify any \"special\" names associated with this intersection (e.g. Reads Corner intersection, PEI, Canada). Intersections that are named according to their cross streets do not need to specify this field, since this can be determined by looking at the routes associated with each segment. address - This should always be empty. point - Specifies the center of the intersection. This is basically the point where the intersection name should be rendered. Can be omitted in favor of a polygon. polyline - This should always be empty. polygon - Specifies the two-dimensional extent of the intersection. This may substitute to the point field, though having a center set is desirable in this case. child - This should always be empty.", - "id": "GeostoreIntersectionGroupProto", - "properties": { - "childGroup": { - "description": "All artifact intersection groups that are in this logical group.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "groupType": { - "enum": [ - "GROUP_ARTIFACT", - "GROUP_LOGICAL" - ], - "enumDescriptions": [ - "Groups intersections that bound segment artifacts of centerline digitization. These segment artifacts do not represent the geometry of actual vehicle travel through an intersection group. This grouping is typically in the core or shared area of an intersection where there are no lane markings (with the exception of raised reflective white dots demarkating multiple turn lanes through the real-world intersection). This is also the typical grouping used for modeling STYLE_IN_OUT turn restrictions.", - "Groups all intersections that form the logical connection of roads. Also known as a cross road intersection group. This group is usually larger than just the artifact grouping, since it includes external turn lanes and roundabout external bypasses." - ], - "type": "string" - }, - "intersection": { - "description": "The list of TYPE_INTERSECTION features that form this intersection group, but are NOT in any of this group's child groups. This could be an empty list, though that is sub-optimal. Even an empty list would allow the paint team to draw a label for a named intersection, but a non-empty list would, for example, enable PathFinder to generate better directions. Each of the TYPE_INTERSECTION feature referred here must refer back to this feature in its IntersectionProto.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "parentGroup": { - "$ref": "GeostoreFeatureIdProto", - "description": "Parent logical intersection group. An artifact group that does not have an associated parent logical group is assumed to be both an artifact and logical group." - } - }, - "type": "object" - }, - "GeostoreIntersectionProto": { - "description": "A TYPE_INTERSECTION feature represents a common endpoint of one or more segments in a transportation network at which the segments are connected. An intersection in the real world may be more complicated than that (e.g., comprise multiple segment endpoints or have extra attributes), which can be modeled with an additional TYPE_INTERSECTION_GROUP feature, if needed (see intersectiongroup.proto). The standard feature properties are interpreted as follows: name - This should always be empty. Intersections that have a \"special\" name (e.g. Reads Corner intersection, PEI, Canada) should point to a separate TYPE_INTERSECTION_GROUP feature that captures it. Intersections which are named according to their cross streets do not need this requirement, since their name can be determined by looking at the routes associated with each segment. address - This should always be empty. point - Specifies the center of the intersection. This should be the last vertex of all the segments which terminate at this intersection. polyline - This should always be empty. polygon - This should always be empty. child - This should always be empty.", - "id": "GeostoreIntersectionProto", - "properties": { - "intersectionGroup": { - "$ref": "GeostoreFeatureIdProto", - "description": "The artifact or logical intersection group to which this intersection belongs. If present, the intersection group must also refer back to the intersection. If an intersection is within both the artifact and logical group, then this reference should be to the artifact group." - }, - "outSegment": { - "description": "RESERVED", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "segment": { - "description": "The list of segments that terminate at this intersection, in any order. Note that all segments are directed towards the intersection, i.e. their endpoints indicate what sort of intersection this is. This should not be empty because an intersection with no associated segment is meaningless.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "tollCluster": { - "$ref": "GeostoreFeatureIdProto", - "description": "The toll cluster to which this intersection belongs. If present, the toll cluster must also refer back to the intersection. To set this field, the intersection must be a gcid:toll_intersection feature." - } - }, - "type": "object" - }, - "GeostoreJobMetadata": { - "id": "GeostoreJobMetadata", - "properties": { - "duration": { - "description": "Describes how much time the service is going to take, e.g. how long it takes to do a haircut. Value of seconds must be from +60 (1 min) to +31,536,000 (365 days) inclusive. Value of nanos must be zero.", - "format": "google-duration", - "type": "string" - }, - "jobRelatedCategories": { - "description": "Represents the name of a potential grouping of items. For TYPE_JOB, this is the category names of the categories that a user picked this job type from at the time of input.", - "items": { - "$ref": "GeostoreJobRelatedCategory" - }, - "type": "array" - }, - "jobTypeId": { - "description": "Unique identifier for a job. This is required for standard jobs and blank for free-form jobs. Job type ids are prefixed with \"job_type_id:\". Notice this is a unique string representation of a job across languages. E.g., “job_type_id:air_duct_repair”. The existence of a job_type_id means the job type is a standard one, and has a corresponding entry in the Standard Jobs Taxonomy.", - "type": "string" - }, - "jobTypeMid": { - "description": "Represents the MID corresponding to the job_category entity in the Knowledge Graph. For example, job_type_id=\"job_type_id:install_faucet\", job_type_mid=\"/g/11hzzxjv3f\". ", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreJobRelatedCategory": { - "description": "This is the category that a user picked this job type from at the time of input. The field serves two purposes: 1) The name is used in consumer surface similar to the heading name today (i.e., grouping jobs under the category. 2) The gcid is needed mainly for free-formed entries, for which GMB needs to map them to corresponding categories in the frontend, if applicable. Notice that the name and the id are both not expected to be in sync with gcid deprecation or location category change per product decision. In other words, they are not guaranteed to stay in sync, only guaranteed true at time of creation.", - "id": "GeostoreJobRelatedCategory", - "properties": { - "gcid": { - "type": "string" - }, - "language": { - "type": "string" - }, - "name": { - "description": "Category name in the primary language of the feature. Generally intended to be used as a fallback when we are unable to fetch the name in the user's language.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreKnowledgeGraphReferenceProto": { - "description": "The reference to an entity in the KnowledgeGraph. For details on the KnowledgeGraph see http://goto/kg.", - "id": "GeostoreKnowledgeGraphReferenceProto", - "properties": { - "id": { - "description": "KG Identifier (MID). For details, see http://go/ke-bg-knowledge-graph#mids.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreLandmarkReferenceProto": { - "description": "This protocol buffer represents the association between a segment and a landmark feature. Notes: - References to TYPE_SEGMENT features should always point to the even sibling. - Self-references are allowed but the referencing segment's sibling is required to have a self-reference as well (the above requirement to always reference the even sibling still applies).", - "id": "GeostoreLandmarkReferenceProto", - "properties": { - "featureType": { - "description": "The type of the landmark feature. Allowed types: - TYPE_CARTOGRAPHIC e.g. a putting green or water hazard - TYPE_COMPOUND e.g. - the Empire state building (TYPE_COMPOUND_BUILDING) - a park (TYPE_COMPOUND_GROUNDS) - a section of a retail store (TYPE_COMPOUND_SECTION) - TYPE_ESTABLISHMENT e.g. - the Eiffel Tower (TYPE_ESTABLISHMENT_BUILDING) - a sports field (TYPE_ESTABLISHMENT_GROUNDS) - Starbucks (TYPE_ESTABLISHMENT_POI) - TYPE_INTERSECTION_GROUP e.g. a major intersection - TYPE_NATURAL_FEATURE e.g. a river - TYPE_SEGMENT e.g. a bike trail or train tracks", - "format": "int32", - "type": "integer" - }, - "landmark": { - "$ref": "GeostoreFeatureIdProto", - "description": "The feature ID of the landmark feature." - }, - "travelMode": { - "description": "The mode(s) of travel for which this landmark is useful.", - "items": { - "enum": [ - "UNKNOWN", - "TRAVEL_MOTOR_VEHICLE", - "TRAVEL_AUTO", - "TRAVEL_TWO_WHEELER", - "TRAVEL_BICYCLE", - "TRAVEL_PEDESTRIAN" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreLaneMarkerProto": { - "description": "This proto contains attributes relevant to physical lane markers.", - "id": "GeostoreLaneMarkerProto", - "properties": { - "barrierMaterials": { - "$ref": "GeostoreBarrierLogicalMaterialProto", - "description": "If this is a physical barrier marker, represent materials found on the marker." - }, - "crossingPattern": { - "$ref": "GeostoreCrossingStripePatternProto", - "description": "Pattern border and color for crossing markers. These include crosswalks, stop, and yield lines." - }, - "linearPattern": { - "$ref": "GeostoreLinearStripePatternProto", - "description": "Stripe pattern, spacing, and color for longitudinal markers." - } - }, - "type": "object" - }, - "GeostoreLaneProto": { - "description": "Describes an individual road lane. Not only driving lanes, but also parking and biking lanes are covered by this. Note that we may eventually add curbs and walking to this schema. MOTIVATION/DESIGN DISCUSSION The intent of this schema is to model a schematic representation of the road for a bunch of use cases within GMM, navigation, map tiles. For rendering, we do not want to represent the geometry of each lane exactly, but do want to model types/width/gaps/lane markings so that a schematic rendering can be made. For navigation, we model lane connectivity and restrictions per lane, so that Pathfinder can potentially pick routes based on lanes, and definitely use the lanes to better describe the path to the driver. This schema is driven by the GT team, which is likely to be the only provider of this data. It is based on compromises that we are working out with other teams, based on what our operators can reasonably collect and what is useful. See docs here: https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US Note: Some lane information (width, surface type, etc) may duplicate or contradict information stored at the segment level.", - "id": "GeostoreLaneProto", - "properties": { - "boundingMarker": { - "description": "References to any gcid:physical_lane_marker features that bound this lane.", - "items": { - "$ref": "GeostoreBoundingMarkerProto" - }, - "type": "array" - }, - "conjoinedCategory": { - "description": "If the current lane is part of a merge/split area, indicates the type (split or merge) and whether the current lane is on the left or right or in the middle of the merge/split area, as seen in the direction of traffic. See go/lane-split-merge-schema", - "enum": [ - "CONJOINED_NONE", - "CONJOINED_SPLIT_LEFT", - "CONJOINED_SPLIT_MIDDLE", - "CONJOINED_SPLIT_RIGHT", - "CONJOINED_MERGE_LEFT", - "CONJOINED_MERGE_MIDDLE", - "CONJOINED_MERGE_RIGHT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "distanceToNextLane": { - "description": "Gap between this lane and the next in meters. This is relevant when the divider is physical, or a wide painted area. For regular painted single or double lines, there is no gap. This distance is duplicated between the innermost lanes for each side. Note that this is not used to describe smallish islands - this is only for long-running gaps. In particular, this models the median width, the gap between HOV lanes/regular lanes on freeways, and the road verge between a curb and sidewalk. Note on split roads: We can model any split road with a median as a single sibling pair with this distance set to the width of the median, or as two one-way sibling pairs.", - "format": "float", - "type": "number" - }, - "flow": { - "$ref": "GeostoreFlowLineProto", - "description": "The most logical path for the center of an object to travel along within the lane. Typically, this is the lane's center line, but doesn't have to be." - }, - "laneConnection": { - "description": "Connections to lanes of other segments at the end of this segment. These connections model the connectivity where you don't have to do a lane change maneuver. If any lane connection is present, assume that all others are forbidden. Also note that segment level restrictions do apply if present, and can disallow some turn even if the lanes are connected. For instance, this can happen with timed or vehicle type based restrictions on the segment. If lane connectivity implies a segment-level restriction (can't transition to some target segment), that restriction will also exist as a segment level restriction. In effect - PathFinder does not have to look at lane connectivity to figure out segment connectivity. Example: Typically, lanes are just connected to one other lane. Example: A splitting lane is connected to the two resulting lanes. Example: At an intersection, a lane is connected to crossing lanes according to how lanes are painted across the intersection. In the common case, the target segment will be connected to the same intersection as this segment. That will however NOT be true for complex intersections where there is an intersection group. The connections will be across the whole group, connecting to one of the outgoing segments from the group. This is analogous to how we do turn restrictions around intersection groups.", - "items": { - "$ref": "GeostoreLaneProtoLaneConnection" - }, - "type": "array" - }, - "laneDividerCrossing": { - "description": "clang-format on Whether the divider to the inside of this lane can be crossed. Note that we assume this is symmetric, and that this also describes whether someone in the next inside lane can cross to this one. The \"inside\" lane is the one with a lower lane_number. Note on lane markers: We do not model the painting, but only the resulting legality. There are many painted marker styles and colors that lead to the same legality. We expect Paint or Driveabout to render lanes stylized, with solid meaning \"can't cross\", and dashed meaning \"can cross\". Note on varying legality along segment: ALLOWED takes precedence - even if some small portion has a restriction (such as right before an intersection) , the lane change will be ALLOWED.", - "enum": [ - "CROSSING_ALLOWED", - "CROSSING_DISALLOWED", - "CROSSING_LEGALLY_DISALLOWED", - "CROSSING_PHYSICALLY_IMPOSSIBLE" - ], - "enumDescriptions": [ - "Cross at will.", - "", - "This is usually some painted barrier", - "This is either a patch of dirt, or some barrier" - ], - "type": "string" - }, - "laneFollowsSegmentBeginFraction": { - "description": "These indicate for what portion of the segment the lane's flowline exactly follows the segment, and the lane is of constant width. This will be set to not include the whole segment where there is a split/turn/merge at either end of the lane. The painting of the lane should completely synthesize the lane geometry outside of this portion, connecting it to neighboring lanes to make graphical nice.", - "format": "float", - "type": "number" - }, - "laneFollowsSegmentEndFraction": { - "format": "float", - "type": "number" - }, - "laneNumber": { - "description": "Lanes are numbered from inside of the road outward, i.e. the lane next to the center line is lane 0. The lanes then stack outwards, towards the side that one drives on this segment (right or left). NOTE: do NOT use the lane_number as index for lookup. Lane_number is not guaranteed to match the segment.lane repeated field index.", - "format": "int32", - "type": "integer" - }, - "laneToken": { - "description": "A token that can be used to identify the version of the data about this lane.", - "type": "string" - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this lane." - }, - "restriction": { - "description": "Restrictions that apply to this lane only. Examples include HOV lanes. If a lane restriction implies a segment-level restriction (can't route on the segment at all), that restriction will also exist as a segment level restriction. In effect - PathFinder does not have to look at lane restrictions to figure out segment restrictions.", - "items": { - "$ref": "GeostoreRestrictionProto" - }, - "type": "array" - }, - "shared": { - "description": "True if this lane is usable in both directions (left-turn lane, reversing lane, one-lane road, etc). To get the total number of lanes for a road, add up the lanes in each direction counting 0.5 for each shared lane.", - "type": "boolean" - }, - "stopLine": { - "description": "References to any gcid:physical_lane_marker features that intersect this lane, with the implication that a moving vehicle should stop there.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "surface": { - "description": "clang-format on LINT.ThenChange(//depot/google3/geostore/base/proto/segment.proto) Unlike the surface in SegmentProto, this field does not have a default value. This is because the lane-level surface overrides the segment-level surface. The lane's surface should be unset unless explicitly overriding the segment's surface.", - "enum": [ - "SURFACE_UNKNOWN", - "SURFACE_PAVED", - "SURFACE_ASPHALT", - "SURFACE_CONCRETE", - "SURFACE_CHIPSEAL", - "SURFACE_BRICK", - "SURFACE_SETT", - "SURFACE_COBBLESTONE", - "SURFACE_UNPAVED", - "SURFACE_GRAVEL", - "SURFACE_DIRT", - "SURFACE_SAND" - ], - "enumDescriptions": [ - "RESERVED", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": { - "description": "clang-format on", - "enum": [ - "TYPE_UNKNOWN", - "TYPE_NORMAL", - "TYPE_PASSING", - "TYPE_LEFT_TURN", - "TYPE_LEFT_TURN_OFF", - "TYPE_LEFT_TURN_ON_OFF", - "TYPE_RIGHT_TURN", - "TYPE_RIGHT_TURN_OFF", - "TYPE_RIGHT_TURN_ON_OFF", - "TYPE_BICYCLE", - "TYPE_PARKING", - "TYPE_PARKING_IMPLIED", - "TYPE_PARKING_MARKED", - "TYPE_EXIT_ENTRANCE", - "TYPE_EXIT_LANE", - "TYPE_ENTRANCE_LANE", - "TYPE_PEDESTRIAN", - "TYPE_SIDEWALK_SHOULDER", - "TYPE_VEHICLE_SHOULDER", - "TYPE_OFFSET" - ], - "enumDescriptions": [ - "", - "", - "These are usually shared lanes, usable for passing by either direction.", - "", - "Typical left turn at intersection.", - "Lane used both for cars turning left to a side street, and for cars from side streets turning left onto the larger road.", - "", - "Typical right turn at intersection.", - "Lane used both for cars turning right to a side street, and for cars from side streets turning right onto the larger road (in left-side driving countries).", - "", - "", - "This lane represents the common case of parking along the curb. It is generally not a drivable lane.", - "Parking with marked stalls.", - "Lanes that are temporary, for acceleration/deceleration, or that will split off.", - "A lane that is used for exiting the core road.", - "An acceleration/merging lane.", - "A bidirectional walking lane, such as a sidewalk. The walking lane is implied to be on the side of the road as specified by the segment's \"on_right\" flag. The pedestrian lane should therefore be on the outside of a road's traffic lanes. Presence of a pedestrian lane implies that we have a sidewalk or other facility away from the road surface where pedestrians walk. If a road does not have a pedestrian lane, this means there is no space or facility for pedestrians to walk, or that pedestrians walk on the wide shoulder. The pedestrian lane, width, and distance_to_next_lane controls where Pathfinder draws the pedestrian polyline. As described in go/hdwalking++, the polyline is computed as (pl = pedestrian lane, s = segment): offset = s.distance_to_edge + pl.distance_to_next_lane + pl.width / 2", - "A special shoulder lane present on narrow roads in Japan that may double as a sidewalk. This isn’t a subset of TYPE_PEDESTRIAN since it may have either uses and is not separated by a curb.", - "Represents a lane that is wide enough to park or drive slowly on and is physically accessible from the main roadway. This is part of road surface that’s not used for normal flow of traffic but can be used for emergency purposes, such as emergency stopping and parking or by emergency vehicles. These are often known as emergency use lanes. This should generally be either first or last lane on the road (not counting pedestrian lanes if present). NOTE: In may cases, this may be colloquially called a “shoulder”, but road shoulders may include other areas that are not readily accessible, especially at speed.", - "This represents an “offset” lane that doesn’t really carry useful semantics but can be used to fill in “gaps” between the sum total of lane widths and the road as represented by distance_to_edge." - ], - "type": "string" - }, - "width": { - "description": "Width of this lane in meters. In many cases, we will collect this data by dividing the total road width by the number of lanes. On accuracy: This is a rough average width along this segment. If and when we wanted to be more accurate, we'd extend this schema to have full polygons for segments/lanes rather than just this average width.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GeostoreLaneProtoLaneConnection": { - "id": "GeostoreLaneProtoLaneConnection", - "properties": { - "boundingMarker": { - "description": "References to any gcid:physical_lane_marker features that bound this lane connection.", - "items": { - "$ref": "GeostoreBoundingMarkerProto" - }, - "type": "array" - }, - "connectionToken": { - "description": "A token that can be used to identify the version of the data about this lane connection.", - "type": "string" - }, - "curve": { - "$ref": "GeostoreCurveConnectionProto", - "description": "Specifies how the flowline should be synthesized in this connection region. If unspecified, heuristics may be used to pick a sweep shape based on retraction values or neighboring curves." - }, - "flow": { - "$ref": "GeostoreFlowLineProto", - "description": "The most logical path for the center of an object to travel along within the lane connection. Typically, this is the lane connection's center line, but doesn't have to be." - }, - "laneNumber": { - "description": "This is the lane number on the target segment. This field is not set if the target segment doesn't have lanes, or we don't know the exact connectivity.", - "format": "int32", - "type": "integer" - }, - "primaryConnection": { - "description": "True if this connects to the unique, natural continuation of the current lane. At most one LaneConnection per lane can have this field set true. This attribute is of interest to ADAS providers as a hint to which lane a vehicle is likely to follow, in the absence of other information about the vehicle's planned path.", - "type": "boolean" - }, - "segment": { - "$ref": "GeostoreFeatureIdProto", - "description": "This reference to the other segment is weak, since strong would blow up bounds of all segments." - }, - "yieldToOtherConnections": { - "description": "The inverse of the primary connection bit that provides a hint that this connection is part of a merge and a vehicle following this connection should yield to vehicles following other incoming connections.", - "type": "boolean" - } - }, - "type": "object" - }, - "GeostoreLanguageTaggedTextProto": { - "description": "Represents a piece of text with an associated language.", - "id": "GeostoreLanguageTaggedTextProto", - "properties": { - "language": { - "description": "The external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.md", - "type": "string" - }, - "text": { - "description": "The text (UTF-8 encoding).", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreLevelProto": { - "description": "A feature used to represent a logical level, e.g. floor. A feature belonging to a given level should point to the level feature using relation RELATION_ON_LEVEL. The standard feature properties are interpreted as follows: name - Levels should have names according to the following: * Short, elevator-style names, such as \"L\" for \"Lobby\" and \"2\" for \"Second floor\", must be included and must be tagged with FLAG_ABBREVIATED. There must be an unambiguous \"best\" abbreviated name. * Longer names such as \"Ticketing\" or \"Upper Level\" may be present when the level has a specific name. * Non-abbreviated names should only be added if they are known to meaningfully expand upon the abbreviated name. For example, the long name \"Observation Deck 2\" for the abbreviated name \"OD2\" is a good additional name. In contrast, the name \"Level 2\" for the abbreviated name \"2\" is not desired. address - This should always be empty. point, polyline, polygon, center - These should never be set (since we are representing a logical entity). preferred_viewport - This should be the approximate extent of the level. child - This should always be empty.", - "id": "GeostoreLevelProto", - "properties": { - "building": { - "description": "The building(s) to which this level belongs. A level will typically belong to a single building, but it is valid for a single level to be shared by multiple buildings (for example, a large underground parking lot). These buildings refer back to the level via another strong reference (the BuildingProto.level field).", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "number": { - "description": "The elevation of this level relative to the ground level, in levels. 0 = ground floor (even in locales that call the ground floor \"1st floor\"); 0.5 = between ground and first floor, eg mezzanine; 1 = first floor (one level above ground floor); -3 = three levels below ground floor.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GeostoreLinearStripePatternProto": { - "id": "GeostoreLinearStripePatternProto", - "properties": { - "line": { - "description": "A linear marker may consist of one or more parallel physical lines. These are ordered left to right along the direction of the marker core polyline.", - "items": { - "$ref": "GeostorePhysicalLineProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreLocaleLanguageProto": { - "description": "This message describes the details of a single language within a locale.", - "id": "GeostoreLocaleLanguageProto", - "properties": { - "language": { - "description": "The language associated with this preference. The external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.md", - "type": "string" - }, - "official": { - "description": "Flag to indicate if the associated language is \"official\" within a locale.", - "type": "boolean" - }, - "preference": { - "description": "This value represents the preference of the associated language within a locale. It must be between 0.0 and 1.0.", - "format": "float", - "type": "number" - }, - "speakingPercent": { - "description": "Percentage of population that can speak the associated language within a locale. It must be between 0 and 100.", - "format": "float", - "type": "number" - }, - "writingPercent": { - "description": "Percentage of population that can write the associated language within a locale. It must be between 0 and 100.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GeostoreLocaleProto": { - "description": "A locale is a meta-feature that describes the geographic extent of localization preferences such as the local language, and formatting conventions for numbers, dates and monetary values. Multilingual areas may be contained by multiple locales. We try to model locales fine-grained enough for deciding which languages are typically used within a city. For example, while French is an official language for all of Switzerland, we would prefer to have Zurich contained by a separate (more fine-grained) Swiss-German locale indicating that German, not French, is the predominantly spoken language in this city. Note that language borders are frequently considered a political question and often don't have clearly defined extents. For example, California has a significant Spanish-speaking population, but Spanish is not an official language of California.", - "id": "GeostoreLocaleProto", - "properties": { - "language": { - "description": "This holds the list of languages spoken within a locale.", - "items": { - "$ref": "GeostoreLocaleLanguageProto" - }, - "type": "array" - }, - "localizationPolicyId": { - "description": "The ID of the localization policy (from googledata/geostore/localization/localization_policies.textpb) to apply to features that have this locale as their best match locale. Localization policy IDs are arbitrary identifiers that uniquely distinguish a set of language-selection rules.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreLogicalBorderProto": { - "description": "A logical border is a grouping of border features, which together model a divide between two regions. The borders within this grouping share common attributes, such as the regions they divide, and may represent a conceptual group of borders, of which may be wholly disputed, wholly undisputed, or a mixture of disputed and undisputed. Note that any borders within this group may be part of multiple logical borders. A logical border is required to have a name describing what the grouping represents (e.g. \"US - Mexico Border\", \"Kosovo - Serbia Border (Disputed)\").", - "id": "GeostoreLogicalBorderProto", - "properties": { - "borderSegment": { - "description": "All the border segments which make up this logical border. Border segments must be TYPE_BORDER features which have the same left/right features. This is a many-to-many bidirectional relationship, so any border segment within this list might be part of another logical border.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "status": { - "description": "The logical border status identifies its legal status. This is similar to the BorderStatus present within border segments, but applies to the group as a whole.", - "enum": [ - "STATUS_UNSPECIFIED", - "STATUS_NORMAL", - "STATUS_DISPUTED" - ], - "enumDescriptions": [ - "The logical border is neither entirely composed of either normal nor disputed border segments. There are no guarantees about the BorderStatus of its border segments.", - "This status should be used when both parties agree on the location of the border. These might be called \"de jure\" borders. Most borders will have this status. This status requires that all border segments that make up this logical border have normal border segments.", - "This status should be used when the two parties disagree on the location of the border. This status requires that all border segments are themselves disputed." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreMediaItemProto": { - "description": "Media item attached to an element of price list.", - "id": "GeostoreMediaItemProto", - "properties": { - "googleUrl": { - "description": "The FIFE url associated with the media. NOTE: This FIFE URL must be PII-free, see go/product-catalogue-photo-storage", - "type": "string" - }, - "mediaFormat": { - "enum": [ - "MEDIA_FORMAT_UNSPECIFIED", - "MEDIA_FORMAT_PHOTO" - ], - "enumDescriptions": [ - "Format unspecified.", - "Media item is a photo." - ], - "type": "string" - }, - "mediaKey": { - "description": "The mediaKey associated with the media. NOTE: This media key must be PII-free, see go/product-catalogue-photo-storage", - "type": "string" - }, - "mediaSize": { - "$ref": "GeostoreMediaItemProtoMediaSize" - } - }, - "type": "object" - }, - "GeostoreMediaItemProtoMediaSize": { - "description": "Width and height of the original photo in pixels.", - "id": "GeostoreMediaItemProtoMediaSize", - "properties": { - "originalHeightPx": { - "format": "int32", - "type": "integer" - }, - "originalWidthPx": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostoreNameProto": { - "description": "A name for a Feature (street name, point of interest, city, building, etc). We currently use NameProto for two essentially disjoint purposes: 1. Common names, which can be language-specific, or have other kinds of variations. 2. Opaque IDs, such as postal codes, which only have the `text` field set, and potentially some flags. This includes internal-only features like template ids. Each NameProto representing a common name corresponds to an assertion that a fluent speaker or writer of a language would recognize NameProto.text to name the given feature in that language. As such, NameProtos are stored in a repeated field, often having: 1. multiple names with the same text and varying languages, and 2. multiple names with the same language and varying texts.", - "id": "GeostoreNameProto", - "properties": { - "flag": { - "description": "clang-format on The set of flags that apply to this name.", - "items": { - "enum": [ - "FLAG_ANY", - "FLAG_IN_LOCAL_LANGUAGE", - "FLAG_PREFERRED", - "FLAG_OFFICIAL", - "FLAG_OBSCURE", - "FLAG_ON_SIGNS", - "FLAG_EXIT_NAME_NUMBER", - "FLAG_EXIT_NAME", - "FLAG_INTERCHANGE_NAME", - "FLAG_EXIT_NUMBER", - "FLAG_INTERCHANGE_NUMBER", - "FLAG_TRANSIT_HEADSIGN", - "FLAG_CONNECTS_DIRECTLY", - "FLAG_CONNECTS_INDIRECTLY", - "FLAG_INTERSECTION_NAME", - "FLAG_VANITY", - "FLAG_ROUTE_NUMBER", - "FLAG_COUNTRY_CODE_2", - "FLAG_ABBREVIATED", - "FLAG_ID", - "FLAG_DESIGNATED_MARKET_AREA_ID", - "FLAG_IATA_ID", - "FLAG_ICAO_ID", - "FLAG_ISO_3166_2", - "FLAG_COUNTRY_SPECIFIC_ID", - "FLAG_LANGUAGE_CODE", - "FLAG_TIMEZONE_ID", - "FLAG_PHONE_NUMBER_PREFIX", - "FLAG_PHONE_NUMBER_AREA_CODE", - "FLAG_TRANSLITERATED", - "FLAG_NOT_ON_SIGNS", - "FLAG_NOT_IN_LOCAL_LANGUAGE", - "FLAG_ROUNDABOUT_ROUTE", - "FLAG_NEVER_DISPLAY", - "FLAG_BICYCLE_ROUTE", - "FLAG_MACHINE_GENERATED", - "FLAG_SUSPICIOUS" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - true - ], - "enumDescriptions": [ - "ABSTRACT", - "This name is in one of the local languages. A local language is one readable by local people, where all language/script/region subtags in the language field are local. E.g. \"ru\" is local in Russia, but \"ru-Latn\" (transliterated in Latin script) is not local. This is the opposite of FLAG_NOT_IN_LOCAL_LANGUAGE. In general, a given name should have either FLAG_IN_LOCAL_LANGUAGE or FLAG_NOT_IN_LOCAL_LANGUAGE specified. Importers that are unsure should not set either flag. It doesn't make sense to set this flag unless you also specify a language. NOTE: unlike most other flags in this enumeration, this flag has to do with the language field, NOT to the text (and {raw,short}_text fields).", - "This is the most commonly recognized name for this feature (for a given language, when languages apply). This flag is not compatible with the following flags: - FLAG_NEVER_DISPLAY - FLAG_OBSCURE", - "This name is officially recognized by the government. This flag is not compatible with FLAG_SUSPICIOUS.", - "This name is not commonly known. This flag is used on names that are not commonly known, or not \"standard\", but which we wish to have so clients can search on them. An example would be \"Philly\" instead of \"Philadelphia\".", - "ABSTRACT", - "This name is an exit name/number found on signs.", - "This flag is used to differentiate exit names from exit numbers on signs that have both.", - "The highway sign is labeling a highway interchange instead of an exit. In several European countries interchanges are differentiated from highway exits.", - "This flag is used to differentiate exit numbers from exit names on signs that have both. This flag is not compatible with FLAG_ROUTE_NUMBER.", - "The highway sign is labeling a highway interchange the same manner as FLAG_INTERCHANGE_NAME.", - "The headsign of a transit vehicle, often the name of the destination.", - "The road sign target is directly connected (e.g., at end of ramp).", - "The road sign target is not directly connected (e.g., must travel some additional distance).", - "This name is an intersection name found on signs. Usually we can just use the name of a TYPE_INTERSECTION_GROUP feature. However, there are road signs on some intersections in Japan, especially in Hokkaido region where the intersection name is considered \"directional\" (i.e. an intersection could have multiple names depending on directions drivers or pedestrians approach from). Many people think of them as \"intersection names\", but that's not really what they are. We want to model them as road signs, because that's really what they are. This flag is supposed to be used by Pathfinder to generate the appropriate maneuver texts where such a named intersection is involved.", - "This is a vanity name (usually an alternate name for a section of road in honor of some person).", - "This name is a route number from an official numbering system for highways or similar routes (like bicycle routes). Street names (even numbered ones like in Manhattan) are excluded. The name (both text and short_text) should follow a strictly-defined format determined by the official numbering system. Route numbers may be assigned to segments on city streets as well as highways. (US-101 passing through San Francisco is an example that has both.) Historic route names that are no longer part of an official numbering system (like the former US-66) are not route numbers. This flag is not compatible with FLAG_EXIT_NUMBER.", - "This name is a two-letter ISO 3166-1 country code. It has code 0x81 instead of 0x8 for historical reasons (FLAG_COUNTRY_CODE and FLAG_COUNTRY_CODE_3 were removed in the belief that we only want one way to represent a country code in the Geo Schema).", - "An abbreviated version of the name, for example \"CA\" for California. This flag should be used for postal abbreviations that one would expect to see in an address. It should also be used for names where one of the component words is abbreviated (e.g. \"Mass.\" for Massachusetts, \"NWFP\" for the North-West Frontier Province in Pakistan, or \"L\" for the Lobby level in a building). Shortened forms of names (e.g. \"Kingston\" rather than \"Kingston-upon-Hull\") should be marked obscure rather than abbreviated. This flag should be used for names that are feature specific abbreviations. For shortened name versions based on regular, per-term transformations (ex: '1st Street' -\u003e '1st St'), use the short_text field instead.", - "ABSTRACT", - "This name is a Designated Market Area ID number (ex: 501)", - "This name is a three-letter IATA airport code (ex SFO, ZRH).", - "This name is a four-letter ICAO airport code (ex KSFO, LSZH).", - "This name is the ISO 3166-2 country subdivision code.", - "This name is the country specific ID. For example, China government specifies an admin code for each administrative area (province, city and district).", - "This name is an IETF BCP 47 language code, for example \"fr-CA\". Previously used for names of locales. See locale.proto for new way of defining this information.", - "This name is a timezone identifier in the Olson database, for example \"Europe/Zurich\". All timezones have an Olson identifier, understood by POSIX and Google's i18n/identifiers libraries. This flag applies only to features of TYPE_TIMEZONE type.", - "This name is the prefix for a phone number, starting with + and followed by a country code. This flag applies only to features of TYPE_PHONE_NUMBER_PREFIX type and at most one name should have this flag set.", - "This name is the commonly used name for the area code of a phone number, including the national prefix if applicable. This flag applies only to features of TYPE_PHONE_NUMBER_AREA_CODE type and at most one name should have this flag set.", - "The flag used to indicate the name was transliterated from some other character set. For example, this flag would be set on names transliterated from the Cyrillic or Greek alphabets to a Latin alphabet. The correct approach is to use the Google III language code to specify the appropriate language. For example, Greek transliterated into a Latin alphabet should have a language code of \"el-Latn\".", - "There are two kinds of street signs: \"location signs\" and \"guidance signs\". Location signs are the ones you see that tell you where you are. \"Ah, I'm on 85th Street and I'm crossing 6th Avenue.\" Guidance signs are the ones that give you hints about how to get where you want to go. \"Ah, I should go that way to get on I-5 to Seattle.\" This flag is talking about location signs. You'll find this flag on route names when then name is never posted on location signs. This flag is not compatible with flags in the FLAG_ON_SIGNS category.", - "This name is not in one of the local languages. A local language is one readable by local people, where all language/script/region subtags in the language field are local. E.g. \"ru\" is local in Russia, but \"ru-Latn\" (transliterated in Latin script) is not local. This is the opposite of FLAG_IN_LOCAL_LANGUAGE. In general, a given name should have either FLAG_IN_LOCAL_LANGUAGE or FLAG_NOT_IN_LOCAL_LANGUAGE specified. Importers that are unsure should not set either flag. It doesn't make sense to set this flag unless you also specify a language. NOTE: unlike most other flags in this enumeration, this flag has to do with the language field, NOT to the text (and {raw,short}_text fields).", - "This flag is set on routes attached to roundabout segments if and only if this name does not appear on any of the segments incident on the roundabout. This flag can be used by clients to determine which names on roundabouts are more useful than others when displaying to users.", - "Never display this name to a user. This flag is typically used for politically sensitive names such as \"Taiwan, Province of China\". Any feature which has a name with this flag should have another name without it so we have something to display to the user.", - "Routes with these names are common bicycle routes. This includes bicycle trails and routes along shared roadways to popular destinations for cyclists. Unnamed bicycle routes along named shared roadways should not have names of this type. This flag exists so that we can avoid showing bicycle route names in driving directions, while still showing them in bicycling directions.", - "This name is generated automatically by the transliteration pipeline based on an existing name in a different language. Contact Maps Translation team (go/maps-translation) for details.", - "This name may not be a correct name for a feature. It communicates to clients that the name may not be trustworthy. Examples are names of features that are too general (\"swimming pool\", \"hardware store\" etc) or those that incorrectly match names of prominent political features (businesses, transit stations etc named after sublocalities). This flag is not compatible with FLAG_OFFICIAL." - ], - "type": "string" - }, - "type": "array" - }, - "language": { - "description": "The external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. These strings should be treated as opaque blobs. You can use LanguageCodeConverter::FromOther to convert the string to a LanguageCode reference. You can then call methods on the LanguageCode class to extract language/script/region subtags (if any). See also http://g3doc/i18n/identifiers/g3doc/using-iii. We place extra restrictions on languages in addition to what the III library requires. See go/geo-schema-reference/feature-properties/languages. This field may be missing if the name does not have a concept of language but should be set if the language is unknown.", - "type": "string" - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this name. NOTE: there are multiple NameProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.name[]." - }, - "rawText": { - "deprecated": true, - "description": "** DEPRECATED ** The name text provided in the original source data (UTF-8 encoding). This is the text provided in the source data unmodified with the exception of being converted to UTF-8 and stripping extra leading, trailing and duplicate whitespaces (if necessary).", - "type": "string" - }, - "shortText": { - "description": "The short name text (UTF-8 encoding). Acronyms/abbreviations should be consistently used, for example \"NE 57th St\" rather than \"Northeast 57th Street\", \"N.E 57th St.\" or some other variant. This field should be populated with the chosen canonical version of the shortened name, based on per-term transformations. For feature specific abbreviations (such as 'CA' for 'California'), one should define a separate name with FLAG_ABBREVIATED set. For other variants of the shortened name that are not the canonical one, devise client based logic (ex: query rewriting rules).", - "type": "string" - }, - "temporaryData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place for clients to attach arbitrary data to a name. Never set in MapFacts." - }, - "text": { - "description": "The name text (UTF-8 encoding). Acronyms/abbreviations should be fully expanded, for example \"Northeast 57th Street\" rather than \"NE 57th St\". They can be shortened at display or geocode time. This decision prevents ambiguity over such issues as whether \"St\" represents \"Street\" or \"Saint\". However, it pushes language-specific knowledge into code. We will have libraries and data files to contract acronyms/abbreviations at run-time.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreOntologyRawGConceptInstanceContainerProto": { - "description": "The container for all GConceptInstances associated with a feature.", - "id": "GeostoreOntologyRawGConceptInstanceContainerProto", - "properties": { - "instance": { - "items": { - "$ref": "GeostoreOntologyRawGConceptInstanceProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreOntologyRawGConceptInstanceProto": { - "description": "A RawGConceptInstanceProto contains all data required by both internal and external clients. We store the 'public' data in a GConceptInstanceProto and the 'private' data inside of RawGConceptInstanceProto. NOTE: this doesn't really match the design we want anymore. Please talk to the Geo Schema team if you are planning to make use of the \"private\" fields below.", - "id": "GeostoreOntologyRawGConceptInstanceProto", - "properties": { - "instance": { - "$ref": "GeostoreGConceptInstanceProto", - "description": "This is the 'public' section of the GConceptInstance." - }, - "isAddedByEdit": { - "deprecated": true, - "description": "** DEPRECATED ** Was this GConcept explicitly added by an edit? Examples of gconcepts not added by edits include those inferred through geo ontology and those mapped from legacy category forms by the feature updater. Note that it is possible for both is_added_by_edit and is_inferred to be true - it means this gconcept is added by an edit and there is also another more fine-grained gconcept added by an edit.", - "type": "boolean" - }, - "isInferred": { - "description": "RESERVED", - "type": "boolean" - }, - "provider": { - "deprecated": true, - "description": "** DEPRECATED ** These two fields combined describe the source of a GConceptInstance. They are based on geostore/base/proto/datasourceprovider.proto. Their use has been deprecated. Use the FieldMetadataProto inside instance instead.", - "enum": [ - "PROVIDER_ANY", - "PROVIDER_UNKNOWN", - "PROVIDER_NAVTEQ", - "PROVIDER_TELE_ATLAS", - "PROVIDER_TELE_ATLAS_MULTINET", - "PROVIDER_TELE_ATLAS_CODEPOINT", - "PROVIDER_TELE_ATLAS_GEOPOST", - "PROVIDER_TELE_ATLAS_DATAGEO", - "PROVIDER_TELE_ATLAS_ADDRESS_POINTS", - "PROVIDER_TELCONTAR", - "PROVIDER_EUROPA", - "PROVIDER_ROYAL_MAIL", - "PROVIDER_GOOGLE", - "PROVIDER_GOOGLE_HAND_EDIT", - "PROVIDER_GOOGLE_BORDERS", - "PROVIDER_GOOGLE_SUBRANGE", - "PROVIDER_GOOGLE_GT_FUSION", - "PROVIDER_GOOGLE_ZAGAT_CMS", - "PROVIDER_GOOGLE_PLACE_NAVBOOST", - "PROVIDER_GOOGLE_FOOTPRINT", - "PROVIDER_GOOGLE_PRODUCT_TERMS", - "PROVIDER_GOOGLE_POINTCARDS", - "PROVIDER_GOOGLE_BUSINESS_CHAINS", - "PROVIDER_GOOGLE_LOCAL_SUMMARIZATION", - "PROVIDER_GOOGLE_PRONUNCIATIONS", - "PROVIDER_GOOGLE_DUMPLING", - "PROVIDER_GOOGLE_DISTILLERY", - "PROVIDER_GOOGLE_LOCAL_ATTRIBUTE_SUMMARIZATION", - "PROVIDER_GOOGLE_RELATION_MINER", - "PROVIDER_GOOGLE_MAPSPAM", - "PROVIDER_GOOGLE_ROSE", - "PROVIDER_GOOGLE_LOCAL_PLACE_RATINGS", - "PROVIDER_GOOGLE_WIPEOUT", - "PROVIDER_GOOGLE_KNOWLEDGE_GRAPH", - "PROVIDER_GOOGLE_BEEGEES", - "PROVIDER_GOOGLE_REVIEW_SUMMARIZATION", - "PROVIDER_GOOGLE_OFFLINE_NON_CORE_ATTRIBUTE_SUMMARIZATION", - "PROVIDER_GOOGLE_GEO_WORLDMAPS", - "PROVIDER_GOOGLE_GEO_MODERATION", - "PROVIDER_GOOGLE_OYSTER_AUTO_EDITS", - "PROVIDER_GOOGLE_LOCAL_ALCHEMY", - "PROVIDER_GOOGLE_KEROUAC", - "PROVIDER_GOOGLE_MOBRANK", - "PROVIDER_GOOGLE_RAPTURE", - "PROVIDER_GOOGLE_CULTURAL_INSTITUTE", - "PROVIDER_GOOGLE_GEOCODES_FROM_LOCAL_FEEDS", - "PROVIDER_GOOGLE_ATTRIBUTES_FROM_CRAWLED_CHAINS", - "PROVIDER_GOOGLE_TACTILE_MAPS", - "PROVIDER_GOOGLE_MAPS_FOR_MOBILE", - "PROVIDER_GOOGLE_GEO_REALTIME", - "PROVIDER_GOOGLE_PROMINENT_PLACES", - "PROVIDER_GOOGLE_PLACE_ACTIONS", - "PROVIDER_GOOGLE_GT_AUTO_EDITS", - "PROVIDER_GOOGLE_WAZE", - "PROVIDER_GOOGLE_ONTHEGO", - "PROVIDER_GOOGLE_GT_IMPORT", - "PROVIDER_GOOGLE_STRUCTURED_DATA", - "PROVIDER_GOOGLE_HELICOPTER", - "PROVIDER_GOOGLE_ROLLBACK", - "PROVIDER_GOOGLE_RIGHTS_REPAIR", - "PROVIDER_GOOGLE_PERFUME", - "PROVIDER_GOOGLE_MAPS_TRANSLATION", - "PROVIDER_GOOGLE_CALL_ME_MAYBE", - "PROVIDER_GOOGLE_LOCAL_UNIVERSAL", - "PROVIDER_GOOGLE_CROUPIER", - "PROVIDER_GOOGLE_SKYSMART", - "PROVIDER_GOOGLE_RIDDLER", - "PROVIDER_GOOGLE_ROADCLOSURES", - "PROVIDER_GOOGLE_SPORE", - "PROVIDER_GOOGLE_LOCALIZATION", - "PROVIDER_GOOGLE_CATTERMS", - "PROVIDER_GOOGLE_GT_FIELD_OPS", - "PROVIDER_GOOGLE_MATCHMAKER", - "PROVIDER_GOOGLE_ARBITRATION", - "PROVIDER_GOOGLE_BIZBUILDER_OPS", - "PROVIDER_GOOGLE_LOCAL_INVENTORY_ADS", - "PROVIDER_GOOGLE_GT_DRAFTY", - "PROVIDER_GOOGLE_HOTELADS_OPS", - "PROVIDER_GOOGLE_MARKERS", - "PROVIDER_GOOGLE_STATE_MACHINE", - "PROVIDER_GOOGLE_ATTRIBUTES_INFERENCE", - "PROVIDER_GOOGLE_BIKESHARE", - "PROVIDER_GOOGLE_GHOSTWRITER", - "PROVIDER_GOOGLE_EDIT_PLATFORM", - "PROVIDER_GOOGLE_BLUE_GINGER", - "PROVIDER_GOOGLE_GEO_TIGER", - "PROVIDER_GOOGLE_HYADES", - "PROVIDER_GOOGLE_WEBQUARRY", - "PROVIDER_GOOGLE_GEO_MADDEN", - "PROVIDER_GOOGLE_ANDROID_PAY", - "PROVIDER_GOOGLE_OPENING_HOURS_TEAM", - "PROVIDER_GOOGLE_LOCAL_DISCOVERY", - "PROVIDER_GOOGLE_LOCAL_HEALTH", - "PROVIDER_GOOGLE_UGC_MAPS", - "PROVIDER_GOOGLE_FIBER", - "PROVIDER_GOOGLE_REVGEO", - "PROVIDER_GOOGLE_HOTELADS_PARTNER_FRONT_END", - "PROVIDER_GOOGLE_GEO_UGC_TASKS", - "PROVIDER_GOOGLE_GEOCODING", - "PROVIDER_GOOGLE_SPYGLASS", - "PROVIDER_GOOGLE_PLUS_CODES_AS_ADDRESSES", - "PROVIDER_GOOGLE_GEO_CHANGES", - "PROVIDER_GOOGLE_HUME", - "PROVIDER_GOOGLE_MEGAMIND", - "PROVIDER_GOOGLE_GT_ROADSYNTH", - "PROVIDER_GOOGLE_FIREBOLT", - "PROVIDER_GOOGLE_LOCAL_PLACE_OFFERINGS", - "PROVIDER_GOOGLE_UGC_SERVICES", - "PROVIDER_GOOGLE_GEOALIGN", - "PROVIDER_GOOGLE_GT_COMPOUNDS", - "PROVIDER_GOOGLE_FOOD_ORDERING", - "PROVIDER_GOOGLE_HOTEL_KNOWLEDGE_OPS", - "PROVIDER_GOOGLE_URAW", - "PROVIDER_GOOGLE_FLYEYE", - "PROVIDER_GOOGLE_YOUKE", - "PROVIDER_GOOGLE_GT_ZEPHYR", - "PROVIDER_GOOGLE_USER_SAFETY", - "PROVIDER_GOOGLE_ADDRESS_MAKER", - "PROVIDER_GOOGLE_UGC_PHOTOS", - "PROVIDER_GOOGLE_GT_WINDCHIME", - "PROVIDER_GOOGLE_SNAG_FIXER", - "PROVIDER_GOOGLE_GEO_DEALS", - "PROVIDER_GOOGLE_LOCAL_PLACE_TOPICS", - "PROVIDER_GOOGLE_PROPERTY_INSIGHTS", - "PROVIDER_GOOGLE_GEO_CONSUMER_MERCHANT_EXPERIMENTS", - "PROVIDER_GOOGLE_GEO_PORTKEY", - "PROVIDER_GOOGLE_ROAD_MAPPER", - "PROVIDER_GOOGLE_LOCATION_PLATFORM", - "PROVIDER_GOOGLE_POSTTRIP", - "PROVIDER_GOOGLE_TRAVEL_DESTINATION", - "PROVIDER_GOOGLE_GEO_DATA_UPLOAD", - "PROVIDER_GOOGLE_BIZBUILDER_CLEANUP", - "PROVIDER_GOOGLE_USER", - "PROVIDER_GOOGLE_STATION", - "PROVIDER_GOOGLE_GEO_FOOD", - "PROVIDER_GOOGLE_GEO_AR", - "PROVIDER_GOOGLE_GEO_TEMPORAL", - "PROVIDER_GOOGLE_SERVICES_MARKETPLACE", - "PROVIDER_GOOGLE_IMT_CLEANUP", - "PROVIDER_GOOGLE_GEO_FOOD_MENU", - "PROVIDER_GOOGLE_CARENAV", - "PROVIDER_GOOGLE_DRIVING_FEEDS", - "PROVIDER_GOOGLE_DRIVING_UGC", - "PROVIDER_GOOGLE_POLAR", - "PROVIDER_GOOGLE_TRIWILD", - "PROVIDER_GOOGLE_CROWD_COMPUTE_OPS", - "PROVIDER_GOOGLE_SA_FROM_WEB", - "PROVIDER_GOOGLE_POI_ALIGNMENT", - "PROVIDER_GOOGLE_SA_FROM_HULK", - "PROVIDER_GOOGLE_SERVICES_INTERACTIONS", - "PROVIDER_GOOGLE_ROADS_UGC_EDITOR", - "PROVIDER_GOOGLE_SA_FROM_NG_INFERENCE", - "PROVIDER_GOOGLE_GEO_DRIVING_VIZ", - "PROVIDER_GOOGLE_GEO_TASKING", - "PROVIDER_GOOGLE_CROWDTASK_DATACOMPUTE", - "PROVIDER_GOOGLE_CROWDTASK_TASKADS", - "PROVIDER_GOOGLE_CROWDTASK_TASKMATE", - "PROVIDER_GOOGLE_CROWDTASK_FURBALL", - "PROVIDER_GOOGLE_CROWDTASK_ADAP", - "PROVIDER_GOOGLE_GPAY", - "PROVIDER_GOOGLE_GEO_UGC_TRUSTED_USERS", - "PROVIDER_GOOGLE_THIRD_PARTY_DATA_PRODUCTION", - "PROVIDER_GOOGLE_GEOTRACKER", - "PROVIDER_GOOGLE_LOCAL_LANDMARK_INFERENCE", - "PROVIDER_GOOGLE_GEO_CLOSED_LOOP", - "PROVIDER_GOOGLE_SA_FROM_MERCHANT_POSTS", - "PROVIDER_GOOGLE_CORE_DATA_RIGHTS", - "PROVIDER_GOOGLE_SA_FROM_USER_REVIEWS", - "PROVIDER_GOOGLE_GEO_CONTENT_FIXER", - "PROVIDER_GOOGLE_POLYGON_REFINEMENT", - "PROVIDER_GOOGLE_HANASU", - "PROVIDER_GOOGLE_FULLRIGHTS_GEO_DATA_UPLOAD", - "PROVIDER_GOOGLE_FULLRIGHTS_3P_OUTREACH_UPLOAD", - "PROVIDER_GOOGLE_ATTRIBUTION_3P_OUTREACH_UPLOAD", - "PROVIDER_GOOGLE_SA_FROM_FOOD_MENUS", - "PROVIDER_GOOGLE_GT_CONSISTENCY_EDITS", - "PROVIDER_GOOGLE_SA_QUALITY", - "PROVIDER_GOOGLE_GDCE_CLEANUP", - "PROVIDER_GOOGLE_UGC_QUALITY_CHAINS", - "PROVIDER_GOOGLE_ATTRIBUTES_DISCOVERY", - "PROVIDER_GOOGLE_GEO_LDE", - "PROVIDER_GOOGLE_GEO_SIGNAL_TRACKING", - "PROVIDER_GOOGLE_UGC_AGGREGATION", - "PROVIDER_GOOGLE_3D_BASEMAP", - "PROVIDER_GOOGLE_MAPFACTS_PRIVACY", - "PROVIDER_GOOGLE_GT_ALF", - "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE", - "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS", - "PROVIDER_GOOGLE_GT_LANE_AUTOMATION", - "PROVIDER_GOOGLE_GEO_NG_LOCAL", - "PROVIDER_GOOGLE_MAPFACTS_CLEANUP", - "PROVIDER_GOOGLE_THIRD_PARTY_UGC", - "PROVIDER_GOOGLE_GEO_ISSUE_ADMIN", - "PROVIDER_GOOGLE_VACATION_RENTAL_PARTNERS", - "PROVIDER_GOOGLE_FEED_PROCESSOR_ROAD_INCIDENTS", - "PROVIDER_GOOGLE_DYNAMIC_BASEMAP", - "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS_EMEA", - "PROVIDER_GOOGLE_LOCALSEARCH", - "PROVIDER_GOOGLE_TRANSIT", - "PROVIDER_GOOGLE_GEOWIKI", - "PROVIDER_GOOGLE_CHINA_LOCAL_TEAM", - "PROVIDER_GOOGLE_SYNTHESIZED", - "PROVIDER_GOOGLE_INTERNAL_TEST", - "PROVIDER_GOOGLE_DISPUTED_AREAS", - "PROVIDER_GOOGLE_3DWAREHOUSE", - "PROVIDER_GOOGLE_GROUNDS_BUILDER", - "PROVIDER_GOOGLE_SESAME", - "PROVIDER_GOOGLE_GT", - "PROVIDER_GOOGLE_GT_BASEMAP_UPLOAD", - "PROVIDER_GOOGLE_ADSDB", - "PROVIDER_GOOGLE_MACHINE_TRANSLITERATION", - "PROVIDER_GOOGLE_TRAVELSEARCH", - "PROVIDER_GOOGLE_PANORAMIO", - "PROVIDER_GOOGLE_YOUTUBE", - "PROVIDER_GOOGLE_OLD", - "PROVIDER_GOOGLE_STREETVIEW", - "PROVIDER_GOOGLE_STREETVIEW_BIZVIEW", - "PROVIDER_GOOGLE_ZIPIT", - "PROVIDER_GOOGLE_OYSTER_CONNECT_ROUTES", - "PROVIDER_GOOGLE_GOLDEN", - "PROVIDER_GOOGLE_INNERSPACE", - "PROVIDER_GOOGLE_MAPSEARCH", - "PROVIDER_GOOGLE_CATEGORIES_TEAM", - "PROVIDER_GOOGLE_CROWDSENSUS", - "PROVIDER_GOOGLE_LOCAL_ALGORITHMIC_IDENTITY", - "PROVIDER_GOOGLE_FREEBASE", - "PROVIDER_GOOGLE_HOTELADS", - "PROVIDER_GOOGLE_AUTHORITY_PAGES", - "PROVIDER_GOOGLE_PLACES_API", - "PROVIDER_GOOGLE_NAMEHEATMAP", - "PROVIDER_GOOGLE_MAPMAKER", - "PROVIDER_GOOGLE_MAPMAKER_MOBILE", - "PROVIDER_GOOGLE_MAPMAKER_PANCAKE", - "PROVIDER_GOOGLE_MAPMAKER_V2", - "PROVIDER_GOOGLE_LOCAL_CLUSTERING_OPERATOR_OVERRIDE", - "PROVIDER_GOOGLE_SERVED_ON_MAPMAKER", - "PROVIDER_GOOGLE_GT_LOCAL", - "PROVIDER_GOOGLE_GT_LOCAL_WITH_RIGHTS", - "PROVIDER_GOOGLE_LOGS_RANKING_SIGNALS", - "PROVIDER_GOOGLE_ENTITY_NAVBOOST", - "PROVIDER_GOOGLE_RELATED_PLACES", - "PROVIDER_GOOGLE_KNOWN_FOR_TERMS", - "PROVIDER_GOOGLE_SYNTHETIC_AREAS", - "PROVIDER_GOOGLE_AUTHORITY_PAGE_PHOTOS", - "PROVIDER_GOOGLE_CROSS_STREETS", - "PROVIDER_GOOGLE_CORRIDORS", - "PROVIDER_GOOGLE_BICYCLE_RENTAL", - "PROVIDER_GOOGLE_CONCRETE_URLS", - "PROVIDER_GOOGLE_LEANBACK", - "PROVIDER_GOOGLE_LOCKED_LISTINGS", - "PROVIDER_GOOGLE_MONITORING", - "PROVIDER_GOOGLE_SPROUT", - "PROVIDER_GOOGLE_LOCAL_SEARCH_QUALITY", - "PROVIDER_GOOGLE_GOBY", - "PROVIDER_GOOGLE_PROBLEM_REPORT", - "PROVIDER_GOOGLE_CANDID", - "PROVIDER_GOOGLE_BIZBUILDER", - "PROVIDER_AUTOMOTIVE_NAVIGATION_DATA", - "PROVIDER_MAPDATA_SCIENCES", - "PROVIDER_MAPONICS", - "PROVIDER_SKI_RESORTS", - "PROVIDER_ZENRIN", - "PROVIDER_SANBORN", - "PROVIDER_URBAN_MAPPING", - "PROVIDER_US_GOVERNMENT", - "PROVIDER_US_CENSUS", - "PROVIDER_US_POSTAL_SERVICE", - "PROVIDER_US_GEOLOGICAL_SURVEY", - "PROVIDER_US_GNIS", - "PROVIDER_US_LANDSAT", - "PROVIDER_US_NATIONAL_GEOSPATIAL_INTELLIGENCE_AGENCY", - "PROVIDER_US_NGA_GNS", - "PROVIDER_US_SSIBL", - "PROVIDER_US_BUREAU_OF_TRANSPORTATION_STATISTICS", - "PROVIDER_US_NATIONAL_OCEANIC_AND_ATMOSPHERIC_ADMINISTRATION", - "PROVIDER_US_POLAR_GEOSPATIAL_CENTER", - "PROVIDER_US_DEPARTMENT_OF_AGRICULTURE", - "PROVIDER_US_NPI_REGISTRY", - "PROVIDER_US_BUREAU_OF_INDIAN_AFFAIRS", - "PROVIDER_DMTI_SPATIAL", - "PROVIDER_INTERNATIONAL_HYDROGRAPHIC_ORGANIZATION", - "PROVIDER_MAPLINK", - "PROVIDER_KINGWAY", - "PROVIDER_GEOCENTRE", - "PROVIDER_CN_NATIONAL_FOUNDAMENTAL_GIS", - "PROVIDER_CN_MAPABC", - "PROVIDER_SMITHSONIAN_INSTITUTE", - "PROVIDER_TRACKS_FOR_AFRICA", - "PROVIDER_PPWK", - "PROVIDER_LEADDOG", - "PROVIDER_CENTRE_DONNEES_ASTRONOMIQUES_STRASBOURG", - "PROVIDER_GISRAEL", - "PROVIDER_BASARSOFT", - "PROVIDER_MAPINFO", - "PROVIDER_MAPIT", - "PROVIDER_GEOBASE", - "PROVIDER_ORION", - "PROVIDER_CENTRAL_EUROPEAN_DATA_AGENCY", - "PROVIDER_ANASAT", - "PROVIDER_MINED_POSTCODES", - "PROVIDER_DMAPAS", - "PROVIDER_COMMON_LOCALE_DATA_REPOSITORY", - "PROVIDER_CH_SBB", - "PROVIDER_SKENERGY", - "PROVIDER_GBRMPA", - "PROVIDER_KOREA_POST", - "PROVIDER_CN_AUTONAVI", - "PROVIDER_MINED_POI", - "PROVIDER_ML_INFOMAP", - "PROVIDER_SNOOPER", - "PROVIDER_GEOSISTEMAS", - "PROVIDER_AFRIGIS", - "PROVIDER_TRANSNAVICOM", - "PROVIDER_EASYCONNECT", - "PROVIDER_LANTMATERIET", - "PROVIDER_LOGICA", - "PROVIDER_MAPKING", - "PROVIDER_DIANPING", - "PROVIDER_GEONAV", - "PROVIDER_HEIBONSHA", - "PROVIDER_DEUTSCHE_TELEKOM", - "PROVIDER_LINGUISTIC_DATA_CONSORTIUM", - "PROVIDER_ACXIOM", - "PROVIDER_DUN_AND_BRADSTREET", - "PROVIDER_FEDERAL_AVIATION_ADMINISTRATION", - "PROVIDER_INFOUSA", - "PROVIDER_INFOUSA_NIXIE", - "PROVIDER_THOMSON_LOCAL", - "PROVIDER_TELEFONICA_PUBLICIDAD_E_INFORMACION", - "PROVIDER_WIKIPEDIA", - "PROVIDER_INFOBEL", - "PROVIDER_MX_GOVERNMENT", - "PROVIDER_MX_NATIONAL_INSTITUTE_STATISTICS_GEOGRAPHY", - "PROVIDER_MX_SERVICIO_POSTAL_MEXICANO", - "PROVIDER_TELEGATE", - "PROVIDER_TELELISTAS", - "PROVIDER_MAPCITY", - "PROVIDER_EXPLAINER_DC", - "PROVIDER_DAIKEI", - "PROVIDER_NL_CHAMBER_OF_COMMERCE", - "PROVIDER_KOREA_INFO_SERVICE", - "PROVIDER_WIKITRAVEL", - "PROVIDER_FLICKR", - "PROVIDER_DIANCO", - "PROVIDER_VOLT_DELTA", - "PROVIDER_SG_GOVERNMENT", - "PROVIDER_SG_LAND_TRANSPORT_AUTHORITY", - "PROVIDER_MAPBAR", - "PROVIDER_LONGTU", - "PROVIDER_SA_GOVERNMENT", - "PROVIDER_SA_SAUDI_POST", - "PROVIDER_PEAKLIST", - "PROVIDER_LOCAL_BUSINESS_CENTER", - "PROVIDER_LOCAL_FEED_XML", - "PROVIDER_WEB", - "PROVIDER_RAILS_TO_TRAILS", - "PROVIDER_INDIACOM", - "PROVIDER_INFOMEDIA", - "PROVIDER_PICASA", - "PROVIDER_AT_GOVERNMENT", - "PROVIDER_AT_BUNDESAMT_FUR_EICH_UND_VERMESSUNGSWESEN", - "PROVIDER_AT_NATIONAL_TOURIST_OFFICE", - "PROVIDER_AT_AUSTRIA_POST", - "PROVIDER_NO_GOVERNMENT", - "PROVIDER_NO_NORSK_EIENDOMSINFORMASJON", - "PROVIDER_NO_POSTEN_NORGE_AS", - "PROVIDER_CH_GOVERNMENT", - "PROVIDER_CH_SWISS_POST", - "PROVIDER_CH_SWISSTOPO", - "PROVIDER_CH_SWISS_NATIONAL_PARK", - "PROVIDER_NAVIT", - "PROVIDER_GEOSEARCH", - "PROVIDER_DE_GOVERNMENT", - "PROVIDER_BUNDESAMT_KARTOGRAPHIE_UND_GEODASIE", - "PROVIDER_BUNDESNETZAGENTUR", - "PROVIDER_SCHOBER_GROUP", - "PROVIDER_MIREO", - "PROVIDER_PUBLIC_MUNICIPALITY", - "PROVIDER_US_PUBLIC_MUNICIPALITY", - "PROVIDER_US_PUBLIC_MUNICIPALITY_WEBSTER_TEXAS", - "PROVIDER_US_PUBLIC_MUNICIPALITY_AMHERST_MASSACHUSETTS", - "PROVIDER_US_PUBLIC_MUNICIPALITY_BLOOMINGTON_INDIANA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_PASADENA_CALIFORNIA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_CHULA_VISTA_CALIFORNIA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_TEMPE_ARIZONA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_COLUMBUS_OHIO", - "PROVIDER_US_PUBLIC_MUNICIPALITY_PORTAGE_MICHIGAN", - "PROVIDER_US_PUBLIC_MUNICIPALITY_GEORGETOWN_KENTUCKY", - "PROVIDER_US_PUBLIC_MUNICIPALITY_GREENVILLE_SOUTH_CAROLINA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_NASHVILLE_TENNESSEE", - "PROVIDER_US_PUBLIC_MUNICIPALITY_WASHINGTON_DISTRICT_OF_COLUMBIA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_BOULDER_COLORADO", - "PROVIDER_NZ_PUBLIC_MUNICIPALITY", - "PROVIDER_NZ_PUBLIC_MUNICIPALITY_ENVIRONMENT_BAY", - "PROVIDER_PL_PUBLIC_MUNICIPALITY", - "PROVIDER_PL_PUBLIC_MUNICIPALITY_BIELSKO_BIALA", - "PROVIDER_DE_PUBLIC_MUNICIPALITY", - "PROVIDER_DE_PUBLIC_MUNICIPALITY_FRANKFURT", - "PROVIDER_DE_PUBLIC_MUNICIPALITY_HAMBURG", - "PROVIDER_DE_PUBLIC_MUNICIPALITY_KARLSRUHE", - "PROVIDER_PT_PUBLIC_MUNICIPALITY", - "PROVIDER_PT_PUBLIC_MUNICIPALITY_SANTA_CRUZ", - "PROVIDER_AT_PUBLIC_MUNICIPALITY", - "PROVIDER_AT_PUBLIC_MUNICIPALITY_KLAGENFURT", - "PROVIDER_AT_PUBLIC_MUNICIPALITY_LINZ", - "PROVIDER_ES_PUBLIC_MUNICIPALITY", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_AZKOITIA", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_BEASAIN", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_GIRONA", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_SAN_SEBASTIAN", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_CATALUNYA", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_HONDARRIBIA", - "PROVIDER_AU_PUBLIC_MUNICIPALITY", - "PROVIDER_AU_PUBLIC_MUNICIPALITY_LAUNCESTON_TASMANIA", - "PROVIDER_IS_PUBLIC_MUNICIPALITY", - "PROVIDER_IS_PUBLIC_MUNICIPALITY_REYKJAVIK", - "PROVIDER_NL_PUBLIC_MUNICIPALITY", - "PROVIDER_NL_PUBLIC_MUNICIPALITY_AMELSTEVEEN", - "PROVIDER_BE_PUBLIC_MUNICIPALITY", - "PROVIDER_BE_PUBLIC_MUNICIPALITY_ANTWERPEN", - "PROVIDER_CA_PUBLIC_MUNICIPALITY", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_FREDERICTON_NEW_BRUNSWICK", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_KAMLOOPS_BRITISH_COLUMBIA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_NANAIMO_BRITISH_COLUMBIA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_BANFF_ALBERTA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_CALGARY_ALBERTA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_TORONTO_ONTARIO", - "PROVIDER_SE_PUBLIC_MUNICIPALITY", - "PROVIDER_SE_PUBLIC_MUNICIPALITY_UMEA", - "PROVIDER_UA_PUBLIC_MUNICIPALITY", - "PROVIDER_UA_PUBLIC_MUNICIPALITY_KHARKIV", - "PROVIDER_OTHER_PUBLIC_MUNICIPALITY", - "PROVIDER_OTHER_PUBLIC_MUNICIPALITY_AQUA_CALIENTE_CAHUILLA_INDIANS", - "PROVIDER_FR_PUBLIC_MUNICIPALITY", - "PROVIDER_FR_PUBLIC_MUNICIPALITY_PONT_AUDEMER", - "PROVIDER_FR_PUBLIC_MUNICIPALITY_BORDEAUX", - "PROVIDER_SG_PUBLIC_MUNICIPALITY", - "PROVIDER_BR_PUBLIC_MUNICIPALITY", - "PROVIDER_BR_PUBLIC_MUNICIPALITY_RIO_DE_JANEIRO", - "PROVIDER_MAPCUBE", - "PROVIDER_3D_REALITYMAPS", - "PROVIDER_DEUTSCHES_ZENTRUM_FUR_LUFT_UND_RAUMFAHRT", - "PROVIDER_3D_CITIES_SOCIEDADE_ANONIMA", - "PROVIDER_DISNEY", - "PROVIDER_CYBERCITY", - "PROVIDER_PRECISION_LIGHTWORKS_MODELWORKS", - "PROVIDER_VIRTUAL_HUNGARY_LIMITED", - "PROVIDER_VIRTUEL_CITY", - "PROVIDER_SCREAMPOINT_INTERNATIONAL", - "PROVIDER_AGENTSCHAP_VOOR_GEOGRAFISCHE_INFORMATIE_VLAANDEREN", - "PROVIDER_FR_GOVERNMENT", - "PROVIDER_FR_INSTITUT_GEOGRAPHIQUE_NATIONAL", - "PROVIDER_FR_CADASTRE", - "PROVIDER_DIADIEM", - "PROVIDER_THE_WEATHER_CHANNEL", - "PROVIDER_COWI", - "PROVIDER_FALKPLAN_ANDES", - "PROVIDER_NL_GOVERNMENT", - "PROVIDER_NL_KADASTER", - "PROVIDER_NL_BOARD_OF_TOURISM_AND_CONVENTIONS", - "PROVIDER_DIGITAL_MAP_PRODUCTS", - "PROVIDER_SILICE_DIGITAL", - "PROVIDER_TYDAC", - "PROVIDER_ALBRECHT_GOLF", - "PROVIDER_HEALTH_CH", - "PROVIDER_VISITDENMARK", - "PROVIDER_FLYHERE", - "PROVIDER_DIGITAL_DATA_SERVICES", - "PROVIDER_MECOMO", - "PROVIDER_ZA_GOVERNMENT", - "PROVIDER_ZA_RURAL_DEVELOPMENT_LAND_REFORM", - "PROVIDER_SENSIS", - "PROVIDER_JJCONNECT", - "PROVIDER_OPPLYSNINGEN", - "PROVIDER_TELLUS", - "PROVIDER_IQONIA", - "PROVIDER_BE_GOVERNMENT", - "PROVIDER_BE_NATIONAAL_GEOGRAFISCH_INSTITUUT", - "PROVIDER_BE_BRUSSELS_MOBILITY", - "PROVIDER_YELLOWMAP_AG", - "PROVIDER_STIFTUNG_GESUNDHEIT", - "PROVIDER_GIATA", - "PROVIDER_SANPARKS", - "PROVIDER_CENTRE_DINFORMATIQUE_POUR_LA_REGION_BRUXELLOISE", - "PROVIDER_INFOPORTUGAL", - "PROVIDER_NEGOCIOS_DE_TELECOMUNICACOES_E_SISTEMAS_DE_INFORMACAO", - "PROVIDER_COLLINS_BARTHOLOMEW", - "PROVIDER_PROTECT_PLANET_OCEAN", - "PROVIDER_KARTTAKESKUS", - "PROVIDER_FI_GOVERNMENT", - "PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION", - "PROVIDER_FI_NATIONAL_LAND_SURVEY", - "PROVIDER_FI_STATISTICS_FINLAND", - "PROVIDER_GB_GOVERNMENT", - "PROVIDER_GB_ORDNANCE_SURVEY", - "PROVIDER_NATURAL_ENGLAND", - "PROVIDER_WELSH_GOVERNMENT", - "PROVIDER_GB_OFFICE_FOR_NATIONAL_STATISTICS", - "PROVIDER_EPSILON", - "PROVIDER_PARTNER_FRONT_END", - "PROVIDER_CARTESIA", - "PROVIDER_SE_GOVERNMENT", - "PROVIDER_SE_TRAFIKVERKET", - "PROVIDER_SE_NATURVARDSVERKET", - "PROVIDER_IE_GOVERNMENT", - "PROVIDER_IE_ORDNANCE_SURVEY_IRELAND", - "PROVIDER_LU_GOVERNMENT", - "PROVIDER_LU_P_AND_T_LUXEMBOURG", - "PROVIDER_LU_ADMINISTRATION_DU_CADASTRE_ET_DE_LA_TOPOGRAPHIE", - "PROVIDER_LU_NATIONAL_TOURIST_OFFICE", - "PROVIDER_MAPFLOW", - "PROVIDER_TKARTOR", - "PROVIDER_JUMPSTART", - "PROVIDER_EPTISA", - "PROVIDER_MC_GOVERNMENT", - "PROVIDER_MC_PRINCIPAUTE_DE_MONACO", - "PROVIDER_MONOLIT", - "PROVIDER_ENVIRONMENTAL_SYSTEMS_RESEARCH_INSTITUTE", - "PROVIDER_MODIS", - "PROVIDER_GEOX", - "PROVIDER_GEODIRECTORY", - "PROVIDER_GEOPLAN", - "PROVIDER_INFODIREKT", - "PROVIDER_GEOGLOBAL", - "PROVIDER_DEUTSCHE_POST", - "PROVIDER_TRACASA", - "PROVIDER_CORREOS", - "PROVIDER_ES_GOVERNMENT", - "PROVIDER_ES_CENTRO_NACIONAL_DE_INFORMACION_GEOGRAFICA", - "PROVIDER_EDIMAP", - "PROVIDER_VERIZON", - "PROVIDER_NATIONAL_GEOGRAPHIC_MAPS", - "PROVIDER_PROMAPS", - "PROVIDER_CONSODATA", - "PROVIDER_DE_AGOSTINI", - "PROVIDER_FEDERPARCHI", - "PROVIDER_NAVIGO", - "PROVIDER_ITALIAMAPPE", - "PROVIDER_CZECOT", - "PROVIDER_NATURAL_EARTH", - "PROVIDER_REGIO", - "PROVIDER_SHIPWRECK_CENTRAL", - "PROVIDER_RUTGERS_STATE_UNIVERSITY", - "PROVIDER_TWINICE", - "PROVIDER_NORTHERN_IRELAND_TOURIST_BOARD", - "PROVIDER_INFOGROUP", - "PROVIDER_TNET", - "PROVIDER_CTT_CORREIOS_DE_PORTUGAL", - "PROVIDER_EUROPARC", - "PROVIDER_IUPPITER", - "PROVIDER_MICHAEL_BAUER_INTERNATIONAL", - "PROVIDER_LEPTON", - "PROVIDER_MAPPOINT", - "PROVIDER_GEODATA", - "PROVIDER_RU_GOVERNMENT", - "PROVIDER_RU_FNS_KLADR", - "PROVIDER_BR_GOVERNMENT", - "PROVIDER_BR_INSTITUTO_BRASILEIRO_DO_MEIO_AMBIENTE_E_DOS_RECURSOS_NATURAIS_RENOVAVEIS", - "PROVIDER_BR_MINISTERIO_DO_MEIO_AMBIENTE", - "PROVIDER_BR_AGENCIA_NACIONAL_DE_AGUAS", - "PROVIDER_BR_INSTITUTO_BRASILEIRO_DE_GEOGRAFIA_E_ESTATISTICA", - "PROVIDER_BR_FUNDACAO_NACIONAL_DO_INDIO", - "PROVIDER_BR_DEPARTAMENTO_NACIONAL_DE_INFRAESTRUTURA_DE_TRANSPORTES", - "PROVIDER_AZAVEA", - "PROVIDER_NORTHSTAR", - "PROVIDER_COMMEDI", - "PROVIDER_NEXUS_GEOGRAFICS", - "PROVIDER_INFOERA", - "PROVIDER_AD_GOVERNMENT", - "PROVIDER_AD_AREA_DE_CARTOGRAFIA", - "PROVIDER_MAXXIMA", - "PROVIDER_SI_GOVERNMENT", - "PROVIDER_SI_AGENCY_FOR_ENVIRONMENT", - "PROVIDER_TRANSPORT_HI_TECH_CONSULTANTS", - "PROVIDER_L1_TECHNOLOGIES", - "PROVIDER_TELEMEDIA", - "PROVIDER_CDCOM_PROGOROD", - "PROVIDER_MIT_CITYGUIDE", - "PROVIDER_SUNCART", - "PROVIDER_MICROMAPPER", - "PROVIDER_RICHI", - "PROVIDER_FORUM44", - "PROVIDER_SEAT", - "PROVIDER_VALASSIS", - "PROVIDER_NAVICOM", - "PROVIDER_COLTRACK", - "PROVIDER_PSMA_AUSTRALIA", - "PROVIDER_PT_DUTA_ASTAKONA_GIRINDA", - "PROVIDER_CA_GOVERNMENT", - "PROVIDER_STATISTICS_CANADA", - "PROVIDER_TOCTOC", - "PROVIDER_RMSI", - "PROVIDER_TRUE_TECHNOLOGY", - "PROVIDER_INCREMENT_P_CORPORATION", - "PROVIDER_GOJAVAS", - "PROVIDER_GEOINFORMATION_GROUP", - "PROVIDER_CYBERSOFT", - "PROVIDER_TSENTR_EFFEKTIVNYKH_TEKHNOLOGIY", - "PROVIDER_EE_GOVERNMENT", - "PROVIDER_EE_MAA_AMET", - "PROVIDER_GASBUDDY", - "PROVIDER_DK_GOVERNMENT", - "PROVIDER_DK_GEODATASTYRELSEN", - "PROVIDER_MURCIA_REGION_GOVERNMENT", - "PROVIDER_CORREIOS", - "PROVIDER_WEST_WORLD_MEDIA", - "PROVIDER_INTERNATIONAL_MAPPING_ASSOCIATION", - "PROVIDER_MEDICARE", - "PROVIDER_POLARIS", - "PROVIDER_TW_GOVERNMENT", - "PROVIDER_TW_MINISTRY_OF_THE_INTERIOR_SURVEYING_AND_MAPPING_CENTER", - "PROVIDER_NORDECA", - "PROVIDER_AFRIMAPPING", - "PROVIDER_OVERDRIVE", - "PROVIDER_PROVIDER_NETWORK_DIRECTORIES", - "PROVIDER_BR_MINISTERIO_DA_SAUDE", - "PROVIDER_DIGITAL_EGYPT", - "PROVIDER_INRIX", - "PROVIDER_ARPINDO", - "PROVIDER_IT_GOVERNMENT", - "PROVIDER_ISTITUTO_GEOGRAFICO_MILITARE", - "PROVIDER_EAST_END_GROUP", - "PROVIDER_INGEOLAN", - "PROVIDER_SEMACONNECT", - "PROVIDER_BLINK", - "PROVIDER_EVGO", - "PROVIDER_CHARGEPOINT", - "PROVIDER_TPL_TRAKKER", - "PROVIDER_OI", - "PROVIDER_MAPARADAR", - "PROVIDER_SINGAPORE_POST", - "PROVIDER_CHARGEMASTER", - "PROVIDER_TESLA", - "PROVIDER_VISICOM", - "PROVIDER_GEOLYSIS", - "PROVIDER_ZEPHEIRA", - "PROVIDER_HUBJECT", - "PROVIDER_PODPOINT", - "PROVIDER_CHARGEFOX", - "PROVIDER_KR_GOVERNMENT", - "PROVIDER_KR_MOLIT", - "PROVIDER_KR_MINISTRY_OF_THE_INTERIOR_AND_SAFETY", - "PROVIDER_CRITCHLOW", - "PROVIDER_EIFRIG", - "PROVIDER_GIREVE", - "PROVIDER_CN_NAVINFO", - "PROVIDER_JAPAN_CHARGE_NETWORK", - "PROVIDER_NOBIL", - "PROVIDER_INDIA_BANKS", - "PROVIDER_INDONESIA_ELECTION_KPU", - "PROVIDER_CAREERS360", - "PROVIDER_SOURCE_LONDON", - "PROVIDER_EVBOX", - "PROVIDER_JP_GOVERNMENT", - "PROVIDER_JP_MINISTRY_OF_THE_ENVIRONMENT", - "PROVIDER_YUMYUM", - "PROVIDER_HWW_AUSTRALIA", - "PROVIDER_CINERGY", - "PROVIDER_MTIME", - "PROVIDER_KULTUNAUT", - "PROVIDER_BLITZ", - "PROVIDER_PIA", - "PROVIDER_INTERPARK", - "PROVIDER_CINEMA_ONLINE", - "PROVIDER_BELBIOS", - "PROVIDER_MOVIESEER", - "PROVIDER_SODAMEDYA", - "PROVIDER_ATMOVIES", - "PROVIDER_HOTELBEDS", - "PROVIDER_VERICRED", - "PROVIDER_CIRRANTIC", - "PROVIDER_GOGO_LABS", - "PROVIDER_ELECTRIFY_AMERICA", - "PROVIDER_CMS_MPPUF", - "PROVIDER_DIGIROAD", - "PROVIDER_KONTEX_GEOMATICS", - "PROVIDER_NZ_GOVERNMENT", - "PROVIDER_NZ_LINZ", - "PROVIDER_NZ_DOC", - "PROVIDER_FASTNED", - "PROVIDER_DESTINY_CS", - "PROVIDER_IONITY", - "PROVIDER_EV_CONNECT", - "PROVIDER_PANPAGES", - "PROVIDER_ETECNIC", - "PROVIDER_VOLTA", - "PROVIDER_NISSAN_MEXICO", - "PROVIDER_BMW_GROUP_LATIN_AMERICA", - "PROVIDER_FEDERAL_ELECTRICITY_COMMISSION_MEXICO", - "PROVIDER_VOLVO_CARS_BRASIL", - "PROVIDER_CHARGE_AND_PARKING", - "PROVIDER_DEDUCE_TECHNOLOGIES", - "PROVIDER_SK_TELECOM", - "PROVIDER_ECO_MOVEMENT", - "PROVIDER_GOOGLE_GMS", - "PROVIDER_EASYWAY", - "PROVIDER_PHYSICIAN_COMPARE", - "PROVIDER_HOSPITAL_COMPARE", - "PROVIDER_ENDOLLA_BARCELONA", - "PROVIDER_BE_CHARGE", - "PROVIDER_ONE_NETWORK", - "PROVIDER_CARENAV_DUPLEX", - "PROVIDER_CARENAV_POI", - "PROVIDER_IN_GOVERNMENT", - "PROVIDER_SURVEY_OF_INDIA", - "PROVIDER_E_ON", - "PROVIDER_ELECTRIFY_CANADA", - "PROVIDER_GRIDCARS", - "PROVIDER_DRIVECO", - "PROVIDER_GREEN_ACTION_STUDIOS", - "PROVIDER_GREEN_ACTION_STUDIO", - "PROVIDER_EVINY", - "PROVIDER_MASTERCARD", - "PROVIDER_VATTENFALL", - "PROVIDER_VIETGIS", - "PROVIDER_UNITE", - "PROVIDER_NEOGY", - "PROVIDER_AMPUP", - "PROVIDER_LOOP", - "PROVIDER_ZEST", - "PROVIDER_EZVOLT", - "PROVIDER_JOLT", - "PROVIDER_CHARGESMITH", - "PROVIDER_PLUGO", - "PROVIDER_ELECTRIC_ERA", - "PROVIDER_FLO", - "PROVIDER_DIGITAL_CHARGING_SOLUTIONS", - "PROVIDER_ELECTRIC_PE" - ], - "enumDeprecated": [ - false, - false, - true, - false, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - true, - false, - true, - false, - true, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - true, - true, - false, - false, - false, - false, - false, - true, - true, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - true, - true, - false, - true, - false, - true, - true, - false, - true, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - false, - false, - false, - true, - false, - true, - false, - true, - true, - true, - false, - true, - true, - true, - false, - false, - true, - true, - true, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - true, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "ABSTRACT The root of all provider types. This should never be present on an actual feature, but can be useful when calling InCategory.", - "not actually a legal value, used as sentinel", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "All new \"Google\" provider entries must be full ints. The next available ID is: 0x111730C2", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "This is an internal *only* provider meant for sending wipeout requests to mapfacts.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Never rely on source infos with this provider to identify whether or not a feature is a Prominent Place! Instead, use the proper API, localsearch_clustering::QualityTierHelper::IsProminentPlace().", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Shopping Attributes Discovery", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "UMBRELLA", - "", - "The next new \"Google\" provider entries should be placed above.", - "UMBRELLA", - "", - "", - "", - "This is a testing provider for teams that wish to integrate with components of the Geo Data Infrastructure that require a valid provider. No production data should ever be sent using this provider.", - "", - "UMBRELLA", - "", - "", - "", - "UMBRELLA", - "0x1117F must not be used, since its range extends the PROVIDER_GOOGLE hierarchy.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Deprecated in favor of PROVIDER_GOOGLE_STRUCTURED_DATA (for attributes) and PROVIDER_GOOGLE_GEO_TIGER (for categories).", - "", - "0x1117FF should not be used, since its range further extends the PROVIDER_GOOGLE hierarchy. aka Local AI.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "No data is obtained from this provider. It is only used to identify features that must be served on MapMaker.", - "", - "", - "", - "", - "", - "", - "0x1117FFF should not be used, since its range further extends the PROVIDER_GOOGLE hierarchy. Synthetically generated areas (sublocalities/neighborhoods/ postal codes/etc) based on dropped terms from approximate geocoding. More info on go/syntheticareas.", - "", - "", - "", - "Similar to Google Transit, a provider that aggregates positions of bicycle rental points that we have agreements with to show on maps", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "This range has been depleted. For new Ids see PROVIDER_GOOGLE_SUBRANGE above.", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "Small Scale International Boundary Lines", - "", - "NOAA", - "PGC", - "USDA", - "National Provider Identifier Registry", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "old name for PROVIDER_NAVIGO", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "See b/33687395", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "ABSTRACT", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "IBAMA", - "MMA", - "ANA", - "IBGE", - "FUNAI", - "DNIT", - "", - "", - "", - "", - "", - "ABSTRACT", - "Department of Cartography", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "0x12 and 0x120 are not to be used. OOO CET", - "ABSTRACT", - "Estonian Land Board", - "", - "ABSTRACT", - "Danish Geodata Agency", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "Ministry of land, infrastructure and transport, 국토교통부, Guktogyotongbu", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Use PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION.", - "", - "ABSTRACT", - "Land Information New Zealand", - "NZ Department of Conservation", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Note: Next available value is 0x1275." - ], - "type": "string" - }, - "sourceDataset": { - "deprecated": true, - "type": "string" - } - }, - "type": "object" - }, - "GeostoreOpeningHoursProto": { - "description": "Message to represent opening hours including regular weekly hours and a set of exceptions.", - "id": "GeostoreOpeningHoursProto", - "properties": { - "exception": { - "description": "Date delimited exceptions to the typical recurring opening hours. May only be present if regular weekly hours are also specified.", - "items": { - "$ref": "GeostoreExceptionalHoursProto" - }, - "type": "array" - }, - "regularHours": { - "$ref": "GeostoreBusinessHoursProto", - "description": "Typical recurring opening hours, expressed as a weekly schedule. NOTE: this field was introduced to have a more client-friendly format for representing weekly hours but, as of November 2018, it's not used for the main opening hours of TYPE_ESTABLISHMENT features (instead, the data is stored in the `EstablishmentProto.hours` field, see b/23105782 tracking the possible schema migration). It is however used in other contexts where `OpeningHoursProto` appears in the Geo Schema. In openinghours.h there is a utility function `GetOpeningHoursFromFeature` that merges `EstablishmentProto.hours` into this proto." - } - }, - "type": "object" - }, - "GeostoreOperationsProto": { - "description": "Information about a feature's operations, e.g. when the feature is temporarily closed.", - "id": "GeostoreOperationsProto", - "properties": { - "temporaryClosure": { - "description": "Records temporary status changes of the feature, such as remodel, vacation, etc.: the feature is temporarily (but not permanently) unavailable. See go/geo-schema-reference:operational-lifecycle#temporary-closure for guidance on interpreting this data and constraints on writing it. NOTE: Order of the TemporaryClosureProtos is *not* guaranteed to be chronological.", - "items": { - "$ref": "GeostoreTemporaryClosureProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreOverrideBorderStatusProto": { - "description": "This message captures a border status override. For instance, if the TYPE_BORDER feature between China and Hong Kong must be hidden on ditu.google.cn (the Chinese domain for Google Maps) but may be displayed on other domains, we will have a country override border status for \"CN\" set to STATUS_NEVER_DISPLAY. At least one override restriction must be defined. Currently the only supported restriction is by country code.", - "id": "GeostoreOverrideBorderStatusProto", - "properties": { - "countryCode": { - "description": "The two-letter ISO 3166-1 country code corresponding to the domain this status override applies to, when rendering the border polyline.", - "type": "string" - }, - "status": { - "description": "The override status, from the BorderStatus enumeration. The value here must be different from the main status (otherwise there's no point in providing the override).", - "enum": [ - "STATUS_NORMAL", - "STATUS_DISPUTED", - "STATUS_UNSURVEYED", - "STATUS_INTERNATIONAL_WATER", - "STATUS_NEVER_DISPLAY", - "STATUS_TREATY", - "STATUS_PROVISIONAL", - "STATUS_NO_LABEL" - ], - "enumDescriptions": [ - "Most border lines have this status, which typically means both parties agree on the location of the line. These might be called \"de jure\" borders.", - "This status is used when the two parties disagree on the location of the line. There can be multiple border lines in a given disputed area. One might be the line proposed by country \"A\" and another the line proposed by country \"B\". A third line might mark the de facto line of control. Other border lines might indicate historical borders, e.g., \"1949 Armistice Line\".", - "This is used for one section of border between Argentina and Chile. Both parties agree that a border line exists somewhere on the glacier, but the exact location has not been determined.", - "This is a border line between a country and international water.", - "This status is only used for the borders that should never display to users. Typically it is for the borders that we don't want to represent but that we would still like to use to model country boundaries, e.g. Hong Kong and Macau.", - "This is used for borders that refer to well-defined boundaries which have been established by a specific treaty, agreement, armistice or other such agreement between two or more parties, yet the position and/or status is not considered to be legal and final (e.g., the final demarcation of the exact position has not occurred or the final political status is not resolved).", - "This is used for borders for which a formal agreement has not been established between the parties involved, yet the existing line acts as a de facto functional border without existence of any dispute.", - "This is used for borders which should not have country labels to either side, but should otherwise be styled the same as a border with STATUS_NORMAL. This is typically for borders which are not themselves disputed but still form part of the boundary around a disputed area that is not otherwise modeled or labeled as a country, or as an override where we are obligated to remove labels for region specific versions of Maps." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostorePaintedElementLogicalColorProto": { - "description": "Painted element logical color. Most legal definitions only specify a color category (like \"yellow\") and don't specify an exact hue, rather stating that the colors must be distinguishable from each other. We refer to this as the \"logical\" color.", - "id": "GeostorePaintedElementLogicalColorProto", - "properties": { - "color": { - "enum": [ - "UNKNOWN_LOGICAL_COLOR", - "WHITE", - "YELLOW", - "RED", - "GREEN", - "BLUE", - "BLACK", - "GREY", - "ORANGE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreParkingAllowanceProto": { - "description": "Describes the parking allowances for a feature, or the situations and requirements under which one may be permitted to park, such as certain vehicle types, valet parking, and permit parking. Also describes the cost of parking, which may vary based on the time and duration parked. Includes vehicle type, any other conditions for eligibility, and the cost of parking, which may vary based on the time and duration parked. If is_discount is set to true on a given allowance, that allowance represents a discount that can be applied to lower the cost of non-discount allowances specified on feature via parking_provider_feature. In this way, allowances can be 'layered,' i.e. appended, onto each other when denormalizing references via parking_provider_feature.", - "id": "GeostoreParkingAllowanceProto", - "properties": { - "allowanceType": { - "description": "The type of parking for this allowance. Allowance details only apply to the type of parking specified.", - "enum": [ - "STANDARD", - "VALET", - "PERMIT", - "PICKUP_GOODS", - "PICKUP_PASSENGERS" - ], - "enumDescriptions": [ - "Standard parking without qualifications. This is a long-term allowance.", - "This is a long-term allowance that only applies for valet parking.", - "The is a long-term allowance that applies to permit-holders. See permit_type for details.", - "This is a short-term allowance that only applies to picking up goods.", - "This is a short-term allowance that only applies to picking up passengers." - ], - "type": "string" - }, - "isDiscount": { - "description": "If true, this allowance represents a discount rather than an individual rate; any rate values specified in this allowance describe a discount to be applied to the non-discount allowances in the ParkingProto.", - "type": "boolean" - }, - "minPurchaseForValidation": { - "description": "If this rate requires validation, this expresses the minimum purchase required for validation in each applicable currency. Should have an ID of /measurement_unit/money_value and consist of two properties: one with an ID of /measurement_unit/money_value/amount and a float value with the amount, and another with the ID /measurement_unit/money_value/currency and an ID value with the MID of the proper currency (from the /finance/currency type). A value of 0 suggests that no purchase is required. If empty, this suggests that no validation is required for this rate.", - "items": { - "$ref": "FreebaseTopic" - }, - "type": "array" - }, - "permitType": { - "description": "Any additional details about the permit type; e.g. “Zone A”. In any local languages. Should only be set if allowance_type is PERMIT.", - "items": { - "$ref": "GeostoreLanguageTaggedTextProto" - }, - "type": "array" - }, - "serviceType": { - "description": "The types of services that this parking allowance applies to. For instance, some cities have streets that only allow traditional taxis to pick up passengers.", - "items": { - "enum": [ - "SERVICE_ALL", - "SERVICE_GENERAL_DRIVER", - "SERVICE_RIDESHARE", - "SERVICE_TAXI", - "SERVICE_COMMERCIAL" - ], - "enumDescriptions": [ - "Signifies that this restriction is always applicable, regardless of the service type.", - "Signifies that this restriction is applicable to a general driver.", - "Signifies that this restriction is applicable to a ridesharing driver.", - "Signifies that this restriction is applicable to a traditional taxi driver.", - "Signifies that this restriction is applicable to a commercial vehicle. This generally applies to vehicles used for carrying goods or fare-paying passengers. However, the exact definition of a commercial vehicle can vary by locality." - ], - "type": "string" - }, - "type": "array" - }, - "timeBasedRate": { - "description": "Describes the rate structures. Each TimeBasedRateProto defines a rate which may apply based on a particular arrival, departure or utilization time; for example, one rate might apply if arriving before 9am, and another might apply regardless of arrival or departure time.", - "items": { - "$ref": "GeostoreTimeBasedRateProto" - }, - "type": "array" - }, - "vehicleType": { - "description": "Restrictions on which vehicle type(s) the allowance applies to. By default, the allowance applies to any vehicle types.", - "enum": [ - "ANY", - "CAR", - "MOTORCYCLE", - "TRUCK" - ], - "enumDescriptions": [ - "", - "", - "", - "Note: The exact definition of a truck varies by city, but it usually refers to vehicles with three or more axles. This value does not necessarily apply to all commercial vehicles or vehicles colloquially referred to as trucks (eg. pickup trucks)." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreParkingProto": { - "description": "Used to describe the parking facilities provided by or available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a ParkingProto (with parking_provider_feature unset) that describes the parking facilities provided by that feature. Features of TYPE_COMPOUND or TYPE_ESTABLISHMENT_POI can have a ParkingProto (with parking_provider_feature set) to indicate that the feature has dedicated parking and provide details about it, and defer some details of the parking facilities to the referent feature(s). ParkingProto is maintained by the Harbor Pilot team (go/harbor-pilot). Detailed modeling information is described at go/parking-schema.", - "id": "GeostoreParkingProto", - "properties": { - "allowance": { - "description": "Describes the parking allowances for the feature, which are the situations and requirements under which one is permitted to park at the feature’s parking facilities, or discounts that a user may be eligible for.", - "items": { - "$ref": "GeostoreParkingAllowanceProto" - }, - "type": "array" - }, - "openingHours": { - "$ref": "GeostoreOpeningHoursProto", - "description": "Hours in which the parking facility is open; that is, permits both arrivals and departures of the facility. Should only be set on compounds (i.e. parking lots or garages); roads are considered to always be “open,” though parking at certain times may be prohibited via restrictions. If unset on a compound, this suggests we don’t know the opening hours, or they are the same as the hours of the entity for which this feature offers parking facilities." - }, - "parkingAvailable": { - "description": "Indicates whether long-term parking is available at the feature; if true, long-term parking is available at the feature and parking allowances may be present on this feature, or parking_provider_feature may indicate deferred parking feature(s). If false, this is an explicit statement that there is no long-term parking associated with this feature. If unset, we don't know whether there is long-term parking associated with this feature. If false or unset, only additional restrictions or short-term allowances will be populated.", - "type": "boolean" - }, - "parkingProviderFeature": { - "description": "If empty, indicates that the feature containing this ParkingProto provides parking facilities, which are described by this proto. If nonempty, indicates that the feature with this ParkingProto does not contain parking facilities itself, but visitors of this feature may use the parking available to the referent feature(s). The referent feature(s) may themselves contain parking facilities or defer to other features. A ParkingProto may defer parking details to another feature, but still include its own data. This suggests that a visitor of the referrer feature is eligible for different rates or discounts. The data in these fields applies transitively, and any fields in a referrer may be applied to the referent (for a visitor of the referrer).", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "restriction": { - "description": "Describes any parking restrictions that apply to this feature. Should only be set on road segments for which parking is explicitly prohibited for some or all times; for roads which do not prohibit parking and for all other facilities, the ability to park should be expressed using allowances. In the instance that both a restriction and an allowance applies at a given time, restrictions always have precedence over the same parking allowances. However, explicit short-term allowances (PICKUP_GOODS, PICKUP_PASSENGERS) take precedence over general NO_PARKING, NO_STANDING, or NO_STOPPING restrictions.", - "items": { - "$ref": "GeostoreParkingRestrictionProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreParkingRestrictionProto": { - "description": "Expresses a parking restriction on a road; i.e. times at which parking on the road is prohibited.", - "id": "GeostoreParkingRestrictionProto", - "properties": { - "restrictedHours": { - "$ref": "GeostoreTimeScheduleProto", - "description": "Times at which parking is prohibited." - }, - "restrictionType": { - "description": "clang-format on The type of restriction that applies at this time.", - "enum": [ - "RESTRICTION_UNKNOWN", - "RESTRICTION_PARKING", - "RESTRICTION_STANDING", - "RESTRICTION_STOPPING", - "RESTRICTION_PICKUP_GOODS", - "RESTRICTION_PICKUP_PASSENGERS" - ], - "enumDescriptions": [ - "Default value. Should never be set in practice.", - "Parking is not allowed. This is a long-term restriction.", - "No standing is allowed. This means a vehicle cannot wait or stop to load/unload packages. A vehicle may stop to drop-off passengers or to pick up passengers already waiting at the location. This is a short-term restriction.", - "A vehicle may not stop at this location at any time. This is a short-term restriction.", - "A vehicle may not stop here to pick up goods. This is a short-term restriction.", - "A vehicle may not stop here to pick up passengers. This is a short-term restriction." - ], - "type": "string" - }, - "serviceType": { - "description": "The types of services that this parking restriction applies to. We expect most parking restrictions to apply to all services, but some airports have specific rideshare parking or taxi parking zones.", - "items": { - "enum": [ - "SERVICE_ALL", - "SERVICE_GENERAL_DRIVER", - "SERVICE_RIDESHARE", - "SERVICE_TAXI", - "SERVICE_COMMERCIAL" - ], - "enumDescriptions": [ - "Signifies that this restriction is always applicable, regardless of the service type.", - "Signifies that this restriction is applicable to a general driver.", - "Signifies that this restriction is applicable to a ridesharing driver.", - "Signifies that this restriction is applicable to a traditional taxi driver.", - "Signifies that this restriction is applicable to a commercial vehicle. This generally applies to vehicles used for carrying goods or fare-paying passengers. However, the exact definition of a commercial vehicle can vary by locality." - ], - "type": "string" - }, - "type": "array" - }, - "vehicleType": { - "description": "The types of vehicles that this parking restriction applies to. For instance, some streets may allow motorcycles to park but not automobiles or trucks.", - "items": { - "enum": [ - "ANY", - "CAR", - "MOTORCYCLE", - "TRUCK" - ], - "enumDescriptions": [ - "", - "", - "", - "Note: The exact definition of a truck varies by city, but it usually refers to vehicles with three or more axles. This value does not necessarily apply to all commercial vehicles or vehicles colloquially referred to as trucks (eg. pickup trucks)." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostorePeakProto": { - "description": "This protocol buffer holds related data for features of type TYPE_PEAK and TYPE_VOLCANO.", - "id": "GeostorePeakProto", - "properties": { - "prominenceMeters": { - "description": "Topographic prominence in meters: the height of the peak’s summit above the lowest contour line encircling it and no higher summit.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "GeostorePedestrianCrossingProto": { - "description": "A crossing describes a path from the end point of a segment to the start point of its sibling. Each individual crossing should uniquely represent a physically distinct crossing in the real world. Pedestrian crossings are bidirectional. This proto represents \"simple\" crossings. More complicated crossings (such as the diagonal crosswalk at Shibuya Station in Tokyo) will be represented using a separate pedestrian network. Example 1: Standard four way crossing. Assume each road (A/B/C) has a crosswalk (denoted by a '-') right before intersection X. Assume crossing at D is prohibited (denoted by a '%'). Assume \"prime\" roads (A',B',...) are OUT segments relative to X. A\\\\A' B//B' \\\\ // \\\\ // - - X - % // \\\\ // \\\\ C'//C D'\\\\D * A CROSSABLE PedestrianCrossing should be added to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. Example 2: Simple intersection with one crossing. Assume intersection X was added to accommodate the crosswalk (through X, denoted by '-'). Assume \"prime\" roads (A',B',...) are OUT segments relative to X. A\\\\A' \\\\ \\\\ -X- \\\\ \\\\ B'\\\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, but not both because each real-world crossing should be represented exactly once. Duplicative crossings may be arbitrarily removed.", - "id": "GeostorePedestrianCrossingProto", - "properties": { - "angleDegrees": { - "description": "This value specifies the angle of the crosswalk. Zero degrees represents a crosswalk perpendicular to the direction of travel, towards the right side of the segment. The crosswalk angle, winds clockwise. Range [-90, 90]. The following crosswalk would have a 15 degree angle: / / \u003c--/-------------------------------- / /", - "format": "double", - "type": "number" - }, - "crossAnywhere": { - "description": "This value enables crossing anywhere (not just at the segment’s endpoint), typically used on long, low-traffic residential streets. This attribute is only respected for trivial segment -\u003e sibling routes. All other routes can cross at a MapFacts intersection.", - "type": "boolean" - }, - "crossingType": { - "description": "Crossing type is used as a restriction and can also be used for rendering.", - "enum": [ - "UNKNOWN", - "CROSSABLE", - "UNMARKED_CROSSING", - "MARKED_CROSSING", - "UNCROSSABLE" - ], - "enumDescriptions": [ - "RESERVED", - "", - "", - "", - "" - ], - "type": "string" - }, - "offset": { - "description": "The crossing offset defines a fraction between the distance from the segment endpoint to the centerline of the crosswalk and the length of the segment. For example, the segment length is 20 meters and the distance from segment end to center of crosswalk is 2 meters, the value of offset will be 0.1.", - "format": "float", - "type": "number" - }, - "restriction": { - "description": "Restrictions for this crossing (such as constructions on the crosswalk). They must not have subpath or travel_mode.", - "items": { - "$ref": "GeostoreRestrictionProto" - }, - "type": "array" - }, - "width": { - "description": "This value defines the full width of the crossing in the direction perpendicular to the direction which pedestrians walk on the crossing (in meters). The crossing is allowed to \"spill\" into the next segment (0.5 * width can be greater than the offset). Cannot be a negative value.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GeostorePhysicalLineProto": { - "description": "Describes a single physical marker line. NOTE: PhysicalLineProto could be compared against one another by canonicalizing them via GetCanonicalPhysicalLine() in google3/geostore/base/internal/lane_marker.cc. Any fields that don't contribute to the definition of a physical line in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalPhysicalLine(). LINT.IfChange", - "id": "GeostorePhysicalLineProto", - "properties": { - "dashLengthMeters": { - "description": "Applicable for DASHED and DOTTED_DASHED lines.", - "format": "float", - "type": "number" - }, - "gapColor": { - "$ref": "GeostorePaintedElementLogicalColorProto", - "description": "This should be rarely needed, but can represent patterns of alternating colors." - }, - "gapLengthMeters": { - "description": "Applicable for DASHED, DOTTED, and DOTTED_DASHED lines.", - "format": "float", - "type": "number" - }, - "material": { - "items": { - "enum": [ - "UNKNOWN_STRIPE_MATERIAL", - "PAINT_STRIPE", - "ROUND_DOT", - "SQUARE_DOT" - ], - "enumDescriptions": [ - "", - "Solid paint stripe.", - "Round dot, typically nonreflective.", - "Square dot, typically reflective." - ], - "type": "string" - }, - "type": "array" - }, - "paintColor": { - "$ref": "GeostorePaintedElementLogicalColorProto", - "description": "Color for the painted elements. Applicable to all types." - }, - "pattern": { - "enum": [ - "UNKNOWN_DASH_PATTERN", - "SOLID", - "DASHED", - "DOTTED", - "DOTTED_DASHED" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "physicalLineToken": { - "description": "A token that can be used to identify the version of the data about this marker line.", - "type": "string" - } - }, - "type": "object" - }, - "GeostorePointCurvatureProto": { - "id": "GeostorePointCurvatureProto", - "properties": { - "curvatureStatus": { - "enum": [ - "CURVATURE_UNSPECIFIED", - "CURVATURE_UNKNOWN" - ], - "enumDescriptions": [ - "", - "A curvature value can be explicitly set as UNKNOWN when we do not have enough information to make a determination." - ], - "type": "string" - }, - "radiansPerMeter": { - "description": "Curvature in radians per meter. Negative is a curve to the left and positive is a curve to the right.", - "format": "float", - "type": "number" - }, - "startPointFraction": { - "description": "How far along the line this curvature value starts to apply, in the format of decimal between 0 and 1.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GeostorePointProto": { - "id": "GeostorePointProto", - "properties": { - "latE7": { - "format": "uint32", - "type": "integer" - }, - "lngE7": { - "format": "uint32", - "type": "integer" - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "NOTE: If removing metadata, remove 'option objc_class_prefix = \"GS\";' together. See cl/189921100. Field-level metadata for this point. NOTE: there are multiple PointProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.point[] and FeatureProto.center." - }, - "temporaryData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place for clients to attach arbitrary data to a point. Never set in MapFacts." - } - }, - "type": "object" - }, - "GeostorePointWithHeightProto": { - "description": "PointWithHeightProto encodes lat/lng through PointProto and contains altitude information.", - "id": "GeostorePointWithHeightProto", - "properties": { - "altitudeMeters": { - "description": "Altitude of this point is assumed to be relative to the ground level.", - "format": "float", - "type": "number" - }, - "point": { - "$ref": "GeostorePointProto" - } - }, - "type": "object" - }, - "GeostorePoliticalProto": { - "description": "This protocol buffer is included from feature.proto as an optional message. Political features represent the different ways that people are divided into geographical regions. This protocol buffer is applicable only to TYPE_POLITICAL features and is used to store political information from the feature's point of view.", - "id": "GeostorePoliticalProto", - "properties": { - "capital": { - "$ref": "GeostoreFeatureIdProto", - "deprecated": true, - "description": "Many political regions have a conceptual center (capitals of a country or a top-level division are examples). If set, the target feature must be a TYPE_LOCALITY feature." - }, - "claim": { - "description": "Feature IDs of the features claimed by this feature's government that are not necessarily included in the feature's geometry.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "grossDomesticProductUsdMillions": { - "deprecated": true, - "description": "The Gross Domestic Product of the political region measured in millions of current United States dollars. It must not be negative.", - "format": "double", - "type": "number" - }, - "literacyPercent": { - "deprecated": true, - "description": "Percentage of population that are literate within a political region. It must be between 0 and 100.", - "format": "float", - "type": "number" - }, - "population": { - "deprecated": true, - "description": "The number of people in this political region. This field is intended to store accurate population, not an estimation such as representative value for population range. It must not be negative.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "GeostorePolyLineProto": { - "id": "GeostorePolyLineProto", - "properties": { - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this polyline. NOTE: there are multiple PolyLineProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.polyline[]." - }, - "temporaryData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place for clients to attach arbitrary data to a polyline. Never set in MapFacts." - }, - "vertex": { - "description": "A sequence of vertices connected by geodesics (the equivalent of straight lines on the sphere). Adjacent vertices are connected by the shorter of the two geodesics that connect them, i.e. all edges are 180 degrees or less. Note that the edge definition becomes numerically unstable as the arc length approaches 180 degrees. Polylines are generally expected to be non-self-intersecting, but any such restriction is imposed by the user of the polyline rather than the polyline itself.", - "items": { - "$ref": "GeostorePointProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostorePolygonProto": { - "description": "A general non-self-intersecting spherical polygon, consisting of one or more loops defining multiple disconnected regions possibly with holes. All loops should be oriented CCW around the region they define. This applies to the exterior loop(s) as well as any holes. Within MapFacts (and underlying infrastructure) the data fields may be replaced by a single shape_id stored in internal_feature. Any such PolygonProtos shouldn't be expected to work with public functions in //geostore/base/public/polygon.h.", - "id": "GeostorePolygonProto", - "properties": { - "baseMeters": { - "description": "The polygon loops above are basically flat: each point has a latitude and a longitude but no altitude. We don't want to build real 3D models here, but we do want to be able to generate 2.5D models. A 2.5D model is built by translating the flat polygon upward some distance (base) then extruding it upward some additional distance (height). The elevation of the bottom of the extruded polygon (above ground level).", - "format": "float", - "type": "number" - }, - "cellId": { - "deprecated": true, - "description": "** DEPRECATED ** This is part of a splitting strategy for large polygons, which was never fully launched and we decided not to pursue. For features with very complex polygonal geometry, we break up the polygon into pieces that align with S2 cells at various levels. We do this for performance reasons as some geometry operations have quadratic complexity with regards to the total number of vertices. In these cases, we store the S2 cell ID corresponding to the piece of the overall polygon that is described by this specific PolygonProto message. Each polygon piece is expected to be fully contained by the S2 cell corresponding to this cell ID. However, note that the S2 cell ID is not required to correspond to the smallest S2 cell that fully contains the polygon (and often won't be). In addition, polygon pieces are required to not have any overlap (which translates to having entirely disjoint S2 cell IDs, i.e. one can not be parent (or grand parent, etc.) of another).", - "format": "uint64", - "type": "string" - }, - "encoded": { - "description": "Encoding of the polygon using S2Polygon::Encode()'s compressed representation.", - "format": "byte", - "type": "string" - }, - "heightMeters": { - "description": "The distance from the bottom of the extruded polygon to the top.", - "format": "float", - "type": "number" - }, - "loop": { - "deprecated": true, - "description": "** DEPRECATED ** We have switched to using exclusively the encoded form in the wire format to and from MapFacts, so this field should never be populated there. See go/encoded-polygons for more info. \"Classic\" polygon representation, defined by one or more loops. The last vertex of each polyline is implicitly connected to the first vertex. All loops should be specified in CCW order.", - "items": { - "$ref": "GeostorePolyLineProto" - }, - "type": "array" - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this polygon." - }, - "temporaryData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place for clients to attach arbitrary data to a polygon. Never set in MapFacts." - }, - "unsuitableForDisplay": { - "description": "Some polygons are known to be rough proxies for a feature's \"real\" polygonal representation. Such polygons are generally unsuitable for display. Rendering clients should not show these in most cases. Polygons unsuitable for display do have other uses, such as user location or containment analysis, or as an input to learning algorithms. This is an orthogonal concept to FeatureProto.synthetic_geometry, which only pertains to the method by which a polygon was created, rather than its fidelity to ground truth. For features that have multiple polygons, this bit should be consistently set to the same value on all polygons.", - "type": "boolean" - } - }, - "type": "object" - }, - "GeostorePoseProto": { - "description": "A pose is an object's position in space, as well as its orientation. All fields except lat and lng are optional. All fields are in the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right hand thumb points along a vector, curled fingers indicate positive rotation direction). An un-rotated pose would be pointing due North, along the surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, roll. Note that the rotation axes are rotated along with the model for each rotation step. WARNING: This proto is not meant to be used directly. Please use the provided libraries: //geostore/base/public/pose.h //java/com/google/geostore/base/Pose.java", - "id": "GeostorePoseProto", - "properties": { - "altitude": { - "description": "The height of the pose. A positive height is above the WGS-84 ellipsoid in meters; negative is below.", - "format": "double", - "type": "number" - }, - "index": { - "description": "The index of the PoseProto in a list of PoseProtos.", - "format": "int32", - "type": "integer" - }, - "lat": { - "description": "The latitude of the pose in degrees [-90, 90].", - "format": "double", - "type": "number" - }, - "lng": { - "description": "The longitude of the pose in degrees (-180,180].", - "format": "double", - "type": "number" - }, - "pitch": { - "description": "The rotation around the longitude line East tangent in degrees [-90, 90].", - "format": "double", - "type": "number" - }, - "roll": { - "description": "The rotation around the latitude line North tangent in degrees (-180, 180].", - "format": "double", - "type": "number" - }, - "yaw": { - "description": "The rotation around the Up vector, from North, in degrees (-180, 180].", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "GeostorePriceInfoFoodNutritionFacts": { - "description": "This message represents nutrition facts for a food dish.", - "id": "GeostorePriceInfoFoodNutritionFacts", - "properties": { - "calories": { - "$ref": "GeostorePriceInfoFoodNutritionFactsCaloriesFact" - }, - "cholesterol": { - "$ref": "GeostorePriceInfoFoodNutritionFactsNutritionFact", - "description": "Cholesterol information for a given food dish." - }, - "protein": { - "$ref": "GeostorePriceInfoFoodNutritionFactsNutritionFact", - "description": "Protein information for a given food dish." - }, - "sodium": { - "$ref": "GeostorePriceInfoFoodNutritionFactsNutritionFact", - "description": "Sodium information for a given food dish." - }, - "totalCarbohydrate": { - "$ref": "GeostorePriceInfoFoodNutritionFactsNutritionFact", - "description": "Carbohydrate information for a given food dish." - }, - "totalFat": { - "$ref": "GeostorePriceInfoFoodNutritionFactsNutritionFact", - "description": "Fat information for a given food dish." - } - }, - "type": "object" - }, - "GeostorePriceInfoFoodNutritionFactsCaloriesFact": { - "description": "This message denotes calories information with an upper bound and lower bound range.", - "id": "GeostorePriceInfoFoodNutritionFactsCaloriesFact", - "properties": { - "lowerAmount": { - "format": "int32", - "type": "integer" - }, - "unit": { - "description": "Unit of the given calories information.", - "enum": [ - "UNDEFINED_ENERGY_UNIT", - "CALORIE", - "JOULE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "upperAmount": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostorePriceInfoFoodNutritionFactsNutritionFact": { - "description": "This message denotes nutrition information with an upper bound and lower bound range and can be represented by mass unit.", - "id": "GeostorePriceInfoFoodNutritionFactsNutritionFact", - "properties": { - "lowerAmount": { - "format": "double", - "type": "number" - }, - "unit": { - "description": "Unit of the given nutrition information.", - "enum": [ - "UNDEFINED_MASS_UNIT", - "GRAM", - "MILLIGRAM" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "upperAmount": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "GeostorePriceInfoProto": { - "id": "GeostorePriceInfoProto", - "properties": { - "priceList": { - "description": "The actual food menus. This is a repeated field because a restaurant may offer multiple menus, e.g. for different language or for different available time, such as holidays vs non-holidays.", - "items": { - "$ref": "GeostorePriceListProto" - }, - "type": "array" - }, - "priceListUrl": { - "description": "All URLs that give price list information for this establishment. For food menus, this would represent menu_urls. Note that this field is a repeated list of UrlListProtos. Each UrlListProto instance in the list is intended to hold lists of URLs that are translations of the same URL.", - "items": { - "$ref": "GeostoreUrlListProto" - }, - "type": "array" - }, - "status": { - "$ref": "GeostorePriceInfoStatus", - "description": "Message containing metadata about the verified status of the PriceInfo. Only verified listings should be displayed." - } - }, - "type": "object" - }, - "GeostorePriceInfoStatus": { - "description": "Providers of PriceInfo (e.g. SinglePlatform, YEXT) send verified and unverified listings. PriceInfoStatus is used to encapsulate this information.", - "id": "GeostorePriceInfoStatus", - "properties": { - "isVerified": { - "type": "boolean" - } - }, - "type": "object" - }, - "GeostorePriceListNameInfoProto": { - "description": "A PriceListNameInfoProto is used by PriceListProto and fields and messages contained in it for storing names, descriptions, languages, and IDs. The name field and the description field must be in the same language, as specified by the language field. None of the fields in this proto is required, although it is not expected to have the language field set unless there is a name or description. When the language field is not set, it is understood to be the preferred language of the locale where the establishment is located. An empty string for any of the fields is not allowed (as enforced by lints).", - "id": "GeostorePriceListNameInfoProto", - "properties": { - "description": { - "type": "string" - }, - "id": { - "description": "IDs are intended to be unique identifiers of PriceInfoLists, Sections, and Menu items. This is enforced by the ID_DUPLICATE_PRICE_LIST_ID lint.", - "type": "string" - }, - "language": { - "description": "The external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See go/geo-schema-reference/feature-properties/languages.", - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "GeostorePriceListProto": { - "description": "A PriceListProto can be used to represent any type of price lists, one of which is a menu of food and drinks. It contains names and descriptions, together with its source URL list if it is extracted or attributed to that URL. The names and descriptions are represented using repeated PriceListNameInfo fields to allow versions in different languages. A PriceListProto may contain multiple sections; in the context of a food menu, this would be multiple menu sections, e.g. for breakfast, lunch, dinner, prix fixe, or dinner for two, etc. At least one menu section must be present. Each section contains a number of items; for food menus, it may be FoodMenuItems defined below. At least one item must be present in each section.", - "id": "GeostorePriceListProto", - "properties": { - "aggregatorId": { - "description": "For third party lists, represents the ID of the aggregator which provided this data. Optional.", - "format": "uint64", - "type": "string" - }, - "availableTime": { - "$ref": "GeostoreTimeScheduleProto", - "description": "The time period when this price list is available. Establishments are not required to give available_time for any given price list, however, when this field is not set, the price list is understood as available any time the establishment is open." - }, - "cuisines": { - "description": "Cuisine information if the location the price lists attached to is an eligible feature for a food menu price list. Cuisine information should also only show up in a food price list.", - "items": { - "enum": [ - "CUISINE_UNDEFINED", - "FAST_FOOD", - "AMERICAN", - "JAPANESE", - "BREAK_FAST", - "PIZZA", - "HAMBURGER", - "ITALIAN", - "SEAFOOD", - "FAMILY", - "MEXICAN", - "CHINESE", - "VEGETARIAN", - "SUSHI", - "CHICKEN", - "INDIAN", - "ASIAN", - "MEDITERRANEAN", - "FRENCH", - "BRUNCH", - "KOREAN", - "THAI", - "SPANISH", - "VIETNAMESE", - "LATIN_AMERICAN", - "INDONESIAN", - "GREEK", - "GERMAN", - "TURKISH", - "BRAZILIAN", - "PAKISTANI", - "OTHER_CUISINE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "nameInfo": { - "description": "The repeated name_info field is for price lists listed in multiple languages. When a price list has no names or descriptions, the size of the repeated field name_info may be 0. There should be at most one name_info for any given language.", - "items": { - "$ref": "GeostorePriceListNameInfoProto" - }, - "type": "array" - }, - "section": { - "description": "Each price list may have multiple sections. Note that these sections within the same price list should most times contain only the same type of items for sale, e.g. all sections should usually contain only food items if the enclosing price list is representing food menu. However, sometimes such a requirement may be wrong, for example, McDonald's may sell burgers as well as toys, and the toys may be in its own section. Thus we don't enforce any requirement that all sections contain only the same type of items.", - "items": { - "$ref": "GeostorePriceListSectionProto" - }, - "type": "array" - }, - "sourceUrl": { - "$ref": "GeostoreUrlListProto", - "description": "Where this price list comes from. If set, this must also be a member of the price_list_url field, and represents translations of a single URL." - } - }, - "type": "object" - }, - "GeostorePriceListSectionProto": { - "description": "A PriceListSectionProto is used to store a section of a PriceListProto. For example, for a PriceListProto representing a food menu, a PriceListSectionProto represents a menu section. Each PriceListSectionProto contains a repeated list of items for sale; these items can be products or services. Right now every section should contain items of one type.", - "id": "GeostorePriceListSectionProto", - "properties": { - "callToAction": { - "$ref": "GeostoreCallToActionProto", - "description": "Call to action for the section." - }, - "foodItem": { - "description": "To store food and drink items when the containing PriceListSectionProto is a food menu section.", - "items": { - "$ref": "GeostoreFoodMenuItemProto" - }, - "type": "array" - }, - "item": { - "description": "To store any items when the containing PriceListSectionProto is not food / legacy services.", - "items": { - "$ref": "GeostoreComposableItemProto" - }, - "type": "array" - }, - "itemType": { - "description": "This has to have at most one value.", - "items": { - "enum": [ - "TYPE_ANY", - "TYPE_FOOD", - "TYPE_SERVICE", - "TYPE_PRODUCT", - "TYPE_JOB", - "TYPE_3P_JOB" - ], - "enumDescriptions": [ - "Abstract type, and the root of all types. Not a meaningful type and likewise should never be present in a geostore repository.", - "For food and drink items, stored in FoodMenuItemProto.", - "For service items (stored in FoodMenuItemProto). TYPE_SERVICE is being deprecated. Please use TYPE_JOB for the new services See b/147253790 for more information. data.", - "For product items (stored in ComposableItemProto).", - "For \"1P\" jobs data (stored in ComposableItemProto), summarized from a variety of sources such as GMB/NMX, web crawling, and Structured Reviews.", - "For third party jobs data sourced from 3P partner feeds, which need to remain separate from the TYPE_JOB list." - ], - "type": "string" - }, - "type": "array" - }, - "language": { - "description": "The external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See go/geo-schema-reference/feature-properties/languages. When set, represents the language of the section and its items. Any section and item level name infos must match this language. Optional.", - "type": "string" - }, - "media": { - "description": "One or more media items (photos, videos, etc.) describing this section / category.", - "items": { - "$ref": "GeostoreMediaItemProto" - }, - "type": "array" - }, - "nameInfo": { - "description": "The repeated name_info field is for price list sections listed in multiple languages. When a price list section has no names or descriptions, the size of the repeated field name_info may be 0. There should be at most one name_info for any given language.", - "items": { - "$ref": "GeostorePriceListNameInfoProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostorePriceRangeProto": { - "description": "This message represents a price range of an attribute. The meaning of the price bounds is domain specific. But mainly they are soft bounds for a normal usage. E.g. \"restaurant prices\" are subject to an higher level of \"soft\" bounds than \"museum admission price\"", - "id": "GeostorePriceRangeProto", - "properties": { - "currency": { - "description": "Currency code for the price range: a valid currency code from i18n/identifiers/currencycode.h. Lower and upper price are both assumed to use the same currency.", - "type": "string" - }, - "lowerPrice": { - "description": "This message allows unbounded price ranges. e.g. Lower_price is undefined. At least one of the two prices must be set for the price range to be meaningful.", - "format": "double", - "type": "number" - }, - "units": { - "description": "clang-format on", - "enum": [ - "ANY_UNITS", - "PER_USE", - "PER_PHONE_CALL", - "PER_RIDE", - "PER_TIME_UNIT", - "PER_SECOND", - "PER_MINUTE", - "PER_HOUR", - "PER_DAY", - "PER_NIGHT", - "PER_WEEK", - "PER_MONTH", - "PER_YEAR", - "PER_VOLUME_UNIT", - "PER_LITER", - "PER_GLASS", - "PER_BOTTLE", - "PER_POT", - "PER_LENGTH_UNIT", - "PER_CENTIMETER", - "PER_METER", - "PER_KILOMETER", - "PER_MASS_UNIT", - "PER_GRAM", - "PER_KILOGRAM", - "PER_OUNCE", - "PER_POUND" - ], - "enumDescriptions": [ - "ABSTRACT The root of the hierarchy. It's an abstract value and shouldn't be present in the repository.", - "", - "", - "e.g. for the price of a ferry or aeroplane flight.", - "", - "", - "", - "", - "", - "e.g. for the price of a hotel room.", - "", - "", - "", - "", - "e.g. for the price of petrol.", - "The following units (PER_GLASS, PER_BOTTLE, and PER_POT) are intended to represent price units for restaurant menus and do not specify how much volume the unit contains. e.g. for wine sold by glass.", - "e.g. for wine sold by bottle.", - "e.g. for tea sold by pot", - "", - "", - "", - "e.g. for the price of a taxi.", - "To simplify the categories for units, we put both mass and weight units under PER_MASS_UNIT, as a lot of times they are used interchangeably in real life anyway.", - "", - "", - "", - "" - ], - "type": "string" - }, - "upperPrice": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "GeostorePropertyValueStatusProto": { - "description": "PropertyValueStatusProto specifies what we know about a field corresponding to FeaturePropertyId's value in the absence of any specific value. For now, it just indicates when we know that there is no value. Eventually it might also indicate that we know it has value, just not what it is, etc.", - "id": "GeostorePropertyValueStatusProto", - "properties": { - "propertyId": { - "$ref": "GeostoreFeaturePropertyIdProto", - "description": "The property ID whose value status is defined by this proto." - }, - "valueStatus": { - "description": "`value_status` specifies whether the feature has a value for the property. This should always be set to something other than the default value (`PROPERTY_VALUE_STATUS_UNSPECIFIED`).", - "enum": [ - "PROPERTY_VALUE_STATUS_UNSPECIFIED", - "HAS_NO_VALUE", - "HAS_UNKNOWN_VALUE" - ], - "enumDescriptions": [ - "The default value means the property's value status is encoded in the property itself: if the property has a value, it has a value. If it doesn't, it may or may not have a value. It is OK to interpret that as having no value. Note that in `PropertyValueStatusProto`, this value is not allowed. We include it and define it to match the default behavior so that it can be used in other protos.", - "`HAS_NO_VALUE` means that we know that the property has no value.", - "'HAS_UNKNOWN_VALUE' means that we know that the property has a value but that we don't know what that value is." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreProvenanceProto": { - "description": "This is a minimal version of SourceInfoProto.", - "id": "GeostoreProvenanceProto", - "properties": { - "dataset": { - "description": "The dataset from which this the referenced data was created. The content of this string will be determined by the data provider, and may encode extra information, such as data confidence.", - "type": "string" - }, - "provider": { - "description": "The data provider from which the referenced data was generated.", - "enum": [ - "PROVIDER_ANY", - "PROVIDER_UNKNOWN", - "PROVIDER_NAVTEQ", - "PROVIDER_TELE_ATLAS", - "PROVIDER_TELE_ATLAS_MULTINET", - "PROVIDER_TELE_ATLAS_CODEPOINT", - "PROVIDER_TELE_ATLAS_GEOPOST", - "PROVIDER_TELE_ATLAS_DATAGEO", - "PROVIDER_TELE_ATLAS_ADDRESS_POINTS", - "PROVIDER_TELCONTAR", - "PROVIDER_EUROPA", - "PROVIDER_ROYAL_MAIL", - "PROVIDER_GOOGLE", - "PROVIDER_GOOGLE_HAND_EDIT", - "PROVIDER_GOOGLE_BORDERS", - "PROVIDER_GOOGLE_SUBRANGE", - "PROVIDER_GOOGLE_GT_FUSION", - "PROVIDER_GOOGLE_ZAGAT_CMS", - "PROVIDER_GOOGLE_PLACE_NAVBOOST", - "PROVIDER_GOOGLE_FOOTPRINT", - "PROVIDER_GOOGLE_PRODUCT_TERMS", - "PROVIDER_GOOGLE_POINTCARDS", - "PROVIDER_GOOGLE_BUSINESS_CHAINS", - "PROVIDER_GOOGLE_LOCAL_SUMMARIZATION", - "PROVIDER_GOOGLE_PRONUNCIATIONS", - "PROVIDER_GOOGLE_DUMPLING", - "PROVIDER_GOOGLE_DISTILLERY", - "PROVIDER_GOOGLE_LOCAL_ATTRIBUTE_SUMMARIZATION", - "PROVIDER_GOOGLE_RELATION_MINER", - "PROVIDER_GOOGLE_MAPSPAM", - "PROVIDER_GOOGLE_ROSE", - "PROVIDER_GOOGLE_LOCAL_PLACE_RATINGS", - "PROVIDER_GOOGLE_WIPEOUT", - "PROVIDER_GOOGLE_KNOWLEDGE_GRAPH", - "PROVIDER_GOOGLE_BEEGEES", - "PROVIDER_GOOGLE_REVIEW_SUMMARIZATION", - "PROVIDER_GOOGLE_OFFLINE_NON_CORE_ATTRIBUTE_SUMMARIZATION", - "PROVIDER_GOOGLE_GEO_WORLDMAPS", - "PROVIDER_GOOGLE_GEO_MODERATION", - "PROVIDER_GOOGLE_OYSTER_AUTO_EDITS", - "PROVIDER_GOOGLE_LOCAL_ALCHEMY", - "PROVIDER_GOOGLE_KEROUAC", - "PROVIDER_GOOGLE_MOBRANK", - "PROVIDER_GOOGLE_RAPTURE", - "PROVIDER_GOOGLE_CULTURAL_INSTITUTE", - "PROVIDER_GOOGLE_GEOCODES_FROM_LOCAL_FEEDS", - "PROVIDER_GOOGLE_ATTRIBUTES_FROM_CRAWLED_CHAINS", - "PROVIDER_GOOGLE_TACTILE_MAPS", - "PROVIDER_GOOGLE_MAPS_FOR_MOBILE", - "PROVIDER_GOOGLE_GEO_REALTIME", - "PROVIDER_GOOGLE_PROMINENT_PLACES", - "PROVIDER_GOOGLE_PLACE_ACTIONS", - "PROVIDER_GOOGLE_GT_AUTO_EDITS", - "PROVIDER_GOOGLE_WAZE", - "PROVIDER_GOOGLE_ONTHEGO", - "PROVIDER_GOOGLE_GT_IMPORT", - "PROVIDER_GOOGLE_STRUCTURED_DATA", - "PROVIDER_GOOGLE_HELICOPTER", - "PROVIDER_GOOGLE_ROLLBACK", - "PROVIDER_GOOGLE_RIGHTS_REPAIR", - "PROVIDER_GOOGLE_PERFUME", - "PROVIDER_GOOGLE_MAPS_TRANSLATION", - "PROVIDER_GOOGLE_CALL_ME_MAYBE", - "PROVIDER_GOOGLE_LOCAL_UNIVERSAL", - "PROVIDER_GOOGLE_CROUPIER", - "PROVIDER_GOOGLE_SKYSMART", - "PROVIDER_GOOGLE_RIDDLER", - "PROVIDER_GOOGLE_ROADCLOSURES", - "PROVIDER_GOOGLE_SPORE", - "PROVIDER_GOOGLE_LOCALIZATION", - "PROVIDER_GOOGLE_CATTERMS", - "PROVIDER_GOOGLE_GT_FIELD_OPS", - "PROVIDER_GOOGLE_MATCHMAKER", - "PROVIDER_GOOGLE_ARBITRATION", - "PROVIDER_GOOGLE_BIZBUILDER_OPS", - "PROVIDER_GOOGLE_LOCAL_INVENTORY_ADS", - "PROVIDER_GOOGLE_GT_DRAFTY", - "PROVIDER_GOOGLE_HOTELADS_OPS", - "PROVIDER_GOOGLE_MARKERS", - "PROVIDER_GOOGLE_STATE_MACHINE", - "PROVIDER_GOOGLE_ATTRIBUTES_INFERENCE", - "PROVIDER_GOOGLE_BIKESHARE", - "PROVIDER_GOOGLE_GHOSTWRITER", - "PROVIDER_GOOGLE_EDIT_PLATFORM", - "PROVIDER_GOOGLE_BLUE_GINGER", - "PROVIDER_GOOGLE_GEO_TIGER", - "PROVIDER_GOOGLE_HYADES", - "PROVIDER_GOOGLE_WEBQUARRY", - "PROVIDER_GOOGLE_GEO_MADDEN", - "PROVIDER_GOOGLE_ANDROID_PAY", - "PROVIDER_GOOGLE_OPENING_HOURS_TEAM", - "PROVIDER_GOOGLE_LOCAL_DISCOVERY", - "PROVIDER_GOOGLE_LOCAL_HEALTH", - "PROVIDER_GOOGLE_UGC_MAPS", - "PROVIDER_GOOGLE_FIBER", - "PROVIDER_GOOGLE_REVGEO", - "PROVIDER_GOOGLE_HOTELADS_PARTNER_FRONT_END", - "PROVIDER_GOOGLE_GEO_UGC_TASKS", - "PROVIDER_GOOGLE_GEOCODING", - "PROVIDER_GOOGLE_SPYGLASS", - "PROVIDER_GOOGLE_PLUS_CODES_AS_ADDRESSES", - "PROVIDER_GOOGLE_GEO_CHANGES", - "PROVIDER_GOOGLE_HUME", - "PROVIDER_GOOGLE_MEGAMIND", - "PROVIDER_GOOGLE_GT_ROADSYNTH", - "PROVIDER_GOOGLE_FIREBOLT", - "PROVIDER_GOOGLE_LOCAL_PLACE_OFFERINGS", - "PROVIDER_GOOGLE_UGC_SERVICES", - "PROVIDER_GOOGLE_GEOALIGN", - "PROVIDER_GOOGLE_GT_COMPOUNDS", - "PROVIDER_GOOGLE_FOOD_ORDERING", - "PROVIDER_GOOGLE_HOTEL_KNOWLEDGE_OPS", - "PROVIDER_GOOGLE_URAW", - "PROVIDER_GOOGLE_FLYEYE", - "PROVIDER_GOOGLE_YOUKE", - "PROVIDER_GOOGLE_GT_ZEPHYR", - "PROVIDER_GOOGLE_USER_SAFETY", - "PROVIDER_GOOGLE_ADDRESS_MAKER", - "PROVIDER_GOOGLE_UGC_PHOTOS", - "PROVIDER_GOOGLE_GT_WINDCHIME", - "PROVIDER_GOOGLE_SNAG_FIXER", - "PROVIDER_GOOGLE_GEO_DEALS", - "PROVIDER_GOOGLE_LOCAL_PLACE_TOPICS", - "PROVIDER_GOOGLE_PROPERTY_INSIGHTS", - "PROVIDER_GOOGLE_GEO_CONSUMER_MERCHANT_EXPERIMENTS", - "PROVIDER_GOOGLE_GEO_PORTKEY", - "PROVIDER_GOOGLE_ROAD_MAPPER", - "PROVIDER_GOOGLE_LOCATION_PLATFORM", - "PROVIDER_GOOGLE_POSTTRIP", - "PROVIDER_GOOGLE_TRAVEL_DESTINATION", - "PROVIDER_GOOGLE_GEO_DATA_UPLOAD", - "PROVIDER_GOOGLE_BIZBUILDER_CLEANUP", - "PROVIDER_GOOGLE_USER", - "PROVIDER_GOOGLE_STATION", - "PROVIDER_GOOGLE_GEO_FOOD", - "PROVIDER_GOOGLE_GEO_AR", - "PROVIDER_GOOGLE_GEO_TEMPORAL", - "PROVIDER_GOOGLE_SERVICES_MARKETPLACE", - "PROVIDER_GOOGLE_IMT_CLEANUP", - "PROVIDER_GOOGLE_GEO_FOOD_MENU", - "PROVIDER_GOOGLE_CARENAV", - "PROVIDER_GOOGLE_DRIVING_FEEDS", - "PROVIDER_GOOGLE_DRIVING_UGC", - "PROVIDER_GOOGLE_POLAR", - "PROVIDER_GOOGLE_TRIWILD", - "PROVIDER_GOOGLE_CROWD_COMPUTE_OPS", - "PROVIDER_GOOGLE_SA_FROM_WEB", - "PROVIDER_GOOGLE_POI_ALIGNMENT", - "PROVIDER_GOOGLE_SA_FROM_HULK", - "PROVIDER_GOOGLE_SERVICES_INTERACTIONS", - "PROVIDER_GOOGLE_ROADS_UGC_EDITOR", - "PROVIDER_GOOGLE_SA_FROM_NG_INFERENCE", - "PROVIDER_GOOGLE_GEO_DRIVING_VIZ", - "PROVIDER_GOOGLE_GEO_TASKING", - "PROVIDER_GOOGLE_CROWDTASK_DATACOMPUTE", - "PROVIDER_GOOGLE_CROWDTASK_TASKADS", - "PROVIDER_GOOGLE_CROWDTASK_TASKMATE", - "PROVIDER_GOOGLE_CROWDTASK_FURBALL", - "PROVIDER_GOOGLE_CROWDTASK_ADAP", - "PROVIDER_GOOGLE_GPAY", - "PROVIDER_GOOGLE_GEO_UGC_TRUSTED_USERS", - "PROVIDER_GOOGLE_THIRD_PARTY_DATA_PRODUCTION", - "PROVIDER_GOOGLE_GEOTRACKER", - "PROVIDER_GOOGLE_LOCAL_LANDMARK_INFERENCE", - "PROVIDER_GOOGLE_GEO_CLOSED_LOOP", - "PROVIDER_GOOGLE_SA_FROM_MERCHANT_POSTS", - "PROVIDER_GOOGLE_CORE_DATA_RIGHTS", - "PROVIDER_GOOGLE_SA_FROM_USER_REVIEWS", - "PROVIDER_GOOGLE_GEO_CONTENT_FIXER", - "PROVIDER_GOOGLE_POLYGON_REFINEMENT", - "PROVIDER_GOOGLE_HANASU", - "PROVIDER_GOOGLE_FULLRIGHTS_GEO_DATA_UPLOAD", - "PROVIDER_GOOGLE_FULLRIGHTS_3P_OUTREACH_UPLOAD", - "PROVIDER_GOOGLE_ATTRIBUTION_3P_OUTREACH_UPLOAD", - "PROVIDER_GOOGLE_SA_FROM_FOOD_MENUS", - "PROVIDER_GOOGLE_GT_CONSISTENCY_EDITS", - "PROVIDER_GOOGLE_SA_QUALITY", - "PROVIDER_GOOGLE_GDCE_CLEANUP", - "PROVIDER_GOOGLE_UGC_QUALITY_CHAINS", - "PROVIDER_GOOGLE_ATTRIBUTES_DISCOVERY", - "PROVIDER_GOOGLE_GEO_LDE", - "PROVIDER_GOOGLE_GEO_SIGNAL_TRACKING", - "PROVIDER_GOOGLE_UGC_AGGREGATION", - "PROVIDER_GOOGLE_3D_BASEMAP", - "PROVIDER_GOOGLE_MAPFACTS_PRIVACY", - "PROVIDER_GOOGLE_GT_ALF", - "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE", - "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS", - "PROVIDER_GOOGLE_GT_LANE_AUTOMATION", - "PROVIDER_GOOGLE_GEO_NG_LOCAL", - "PROVIDER_GOOGLE_MAPFACTS_CLEANUP", - "PROVIDER_GOOGLE_THIRD_PARTY_UGC", - "PROVIDER_GOOGLE_GEO_ISSUE_ADMIN", - "PROVIDER_GOOGLE_VACATION_RENTAL_PARTNERS", - "PROVIDER_GOOGLE_FEED_PROCESSOR_ROAD_INCIDENTS", - "PROVIDER_GOOGLE_DYNAMIC_BASEMAP", - "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS_EMEA", - "PROVIDER_GOOGLE_LOCALSEARCH", - "PROVIDER_GOOGLE_TRANSIT", - "PROVIDER_GOOGLE_GEOWIKI", - "PROVIDER_GOOGLE_CHINA_LOCAL_TEAM", - "PROVIDER_GOOGLE_SYNTHESIZED", - "PROVIDER_GOOGLE_INTERNAL_TEST", - "PROVIDER_GOOGLE_DISPUTED_AREAS", - "PROVIDER_GOOGLE_3DWAREHOUSE", - "PROVIDER_GOOGLE_GROUNDS_BUILDER", - "PROVIDER_GOOGLE_SESAME", - "PROVIDER_GOOGLE_GT", - "PROVIDER_GOOGLE_GT_BASEMAP_UPLOAD", - "PROVIDER_GOOGLE_ADSDB", - "PROVIDER_GOOGLE_MACHINE_TRANSLITERATION", - "PROVIDER_GOOGLE_TRAVELSEARCH", - "PROVIDER_GOOGLE_PANORAMIO", - "PROVIDER_GOOGLE_YOUTUBE", - "PROVIDER_GOOGLE_OLD", - "PROVIDER_GOOGLE_STREETVIEW", - "PROVIDER_GOOGLE_STREETVIEW_BIZVIEW", - "PROVIDER_GOOGLE_ZIPIT", - "PROVIDER_GOOGLE_OYSTER_CONNECT_ROUTES", - "PROVIDER_GOOGLE_GOLDEN", - "PROVIDER_GOOGLE_INNERSPACE", - "PROVIDER_GOOGLE_MAPSEARCH", - "PROVIDER_GOOGLE_CATEGORIES_TEAM", - "PROVIDER_GOOGLE_CROWDSENSUS", - "PROVIDER_GOOGLE_LOCAL_ALGORITHMIC_IDENTITY", - "PROVIDER_GOOGLE_FREEBASE", - "PROVIDER_GOOGLE_HOTELADS", - "PROVIDER_GOOGLE_AUTHORITY_PAGES", - "PROVIDER_GOOGLE_PLACES_API", - "PROVIDER_GOOGLE_NAMEHEATMAP", - "PROVIDER_GOOGLE_MAPMAKER", - "PROVIDER_GOOGLE_MAPMAKER_MOBILE", - "PROVIDER_GOOGLE_MAPMAKER_PANCAKE", - "PROVIDER_GOOGLE_MAPMAKER_V2", - "PROVIDER_GOOGLE_LOCAL_CLUSTERING_OPERATOR_OVERRIDE", - "PROVIDER_GOOGLE_SERVED_ON_MAPMAKER", - "PROVIDER_GOOGLE_GT_LOCAL", - "PROVIDER_GOOGLE_GT_LOCAL_WITH_RIGHTS", - "PROVIDER_GOOGLE_LOGS_RANKING_SIGNALS", - "PROVIDER_GOOGLE_ENTITY_NAVBOOST", - "PROVIDER_GOOGLE_RELATED_PLACES", - "PROVIDER_GOOGLE_KNOWN_FOR_TERMS", - "PROVIDER_GOOGLE_SYNTHETIC_AREAS", - "PROVIDER_GOOGLE_AUTHORITY_PAGE_PHOTOS", - "PROVIDER_GOOGLE_CROSS_STREETS", - "PROVIDER_GOOGLE_CORRIDORS", - "PROVIDER_GOOGLE_BICYCLE_RENTAL", - "PROVIDER_GOOGLE_CONCRETE_URLS", - "PROVIDER_GOOGLE_LEANBACK", - "PROVIDER_GOOGLE_LOCKED_LISTINGS", - "PROVIDER_GOOGLE_MONITORING", - "PROVIDER_GOOGLE_SPROUT", - "PROVIDER_GOOGLE_LOCAL_SEARCH_QUALITY", - "PROVIDER_GOOGLE_GOBY", - "PROVIDER_GOOGLE_PROBLEM_REPORT", - "PROVIDER_GOOGLE_CANDID", - "PROVIDER_GOOGLE_BIZBUILDER", - "PROVIDER_AUTOMOTIVE_NAVIGATION_DATA", - "PROVIDER_MAPDATA_SCIENCES", - "PROVIDER_MAPONICS", - "PROVIDER_SKI_RESORTS", - "PROVIDER_ZENRIN", - "PROVIDER_SANBORN", - "PROVIDER_URBAN_MAPPING", - "PROVIDER_US_GOVERNMENT", - "PROVIDER_US_CENSUS", - "PROVIDER_US_POSTAL_SERVICE", - "PROVIDER_US_GEOLOGICAL_SURVEY", - "PROVIDER_US_GNIS", - "PROVIDER_US_LANDSAT", - "PROVIDER_US_NATIONAL_GEOSPATIAL_INTELLIGENCE_AGENCY", - "PROVIDER_US_NGA_GNS", - "PROVIDER_US_SSIBL", - "PROVIDER_US_BUREAU_OF_TRANSPORTATION_STATISTICS", - "PROVIDER_US_NATIONAL_OCEANIC_AND_ATMOSPHERIC_ADMINISTRATION", - "PROVIDER_US_POLAR_GEOSPATIAL_CENTER", - "PROVIDER_US_DEPARTMENT_OF_AGRICULTURE", - "PROVIDER_US_NPI_REGISTRY", - "PROVIDER_US_BUREAU_OF_INDIAN_AFFAIRS", - "PROVIDER_DMTI_SPATIAL", - "PROVIDER_INTERNATIONAL_HYDROGRAPHIC_ORGANIZATION", - "PROVIDER_MAPLINK", - "PROVIDER_KINGWAY", - "PROVIDER_GEOCENTRE", - "PROVIDER_CN_NATIONAL_FOUNDAMENTAL_GIS", - "PROVIDER_CN_MAPABC", - "PROVIDER_SMITHSONIAN_INSTITUTE", - "PROVIDER_TRACKS_FOR_AFRICA", - "PROVIDER_PPWK", - "PROVIDER_LEADDOG", - "PROVIDER_CENTRE_DONNEES_ASTRONOMIQUES_STRASBOURG", - "PROVIDER_GISRAEL", - "PROVIDER_BASARSOFT", - "PROVIDER_MAPINFO", - "PROVIDER_MAPIT", - "PROVIDER_GEOBASE", - "PROVIDER_ORION", - "PROVIDER_CENTRAL_EUROPEAN_DATA_AGENCY", - "PROVIDER_ANASAT", - "PROVIDER_MINED_POSTCODES", - "PROVIDER_DMAPAS", - "PROVIDER_COMMON_LOCALE_DATA_REPOSITORY", - "PROVIDER_CH_SBB", - "PROVIDER_SKENERGY", - "PROVIDER_GBRMPA", - "PROVIDER_KOREA_POST", - "PROVIDER_CN_AUTONAVI", - "PROVIDER_MINED_POI", - "PROVIDER_ML_INFOMAP", - "PROVIDER_SNOOPER", - "PROVIDER_GEOSISTEMAS", - "PROVIDER_AFRIGIS", - "PROVIDER_TRANSNAVICOM", - "PROVIDER_EASYCONNECT", - "PROVIDER_LANTMATERIET", - "PROVIDER_LOGICA", - "PROVIDER_MAPKING", - "PROVIDER_DIANPING", - "PROVIDER_GEONAV", - "PROVIDER_HEIBONSHA", - "PROVIDER_DEUTSCHE_TELEKOM", - "PROVIDER_LINGUISTIC_DATA_CONSORTIUM", - "PROVIDER_ACXIOM", - "PROVIDER_DUN_AND_BRADSTREET", - "PROVIDER_FEDERAL_AVIATION_ADMINISTRATION", - "PROVIDER_INFOUSA", - "PROVIDER_INFOUSA_NIXIE", - "PROVIDER_THOMSON_LOCAL", - "PROVIDER_TELEFONICA_PUBLICIDAD_E_INFORMACION", - "PROVIDER_WIKIPEDIA", - "PROVIDER_INFOBEL", - "PROVIDER_MX_GOVERNMENT", - "PROVIDER_MX_NATIONAL_INSTITUTE_STATISTICS_GEOGRAPHY", - "PROVIDER_MX_SERVICIO_POSTAL_MEXICANO", - "PROVIDER_TELEGATE", - "PROVIDER_TELELISTAS", - "PROVIDER_MAPCITY", - "PROVIDER_EXPLAINER_DC", - "PROVIDER_DAIKEI", - "PROVIDER_NL_CHAMBER_OF_COMMERCE", - "PROVIDER_KOREA_INFO_SERVICE", - "PROVIDER_WIKITRAVEL", - "PROVIDER_FLICKR", - "PROVIDER_DIANCO", - "PROVIDER_VOLT_DELTA", - "PROVIDER_SG_GOVERNMENT", - "PROVIDER_SG_LAND_TRANSPORT_AUTHORITY", - "PROVIDER_MAPBAR", - "PROVIDER_LONGTU", - "PROVIDER_SA_GOVERNMENT", - "PROVIDER_SA_SAUDI_POST", - "PROVIDER_PEAKLIST", - "PROVIDER_LOCAL_BUSINESS_CENTER", - "PROVIDER_LOCAL_FEED_XML", - "PROVIDER_WEB", - "PROVIDER_RAILS_TO_TRAILS", - "PROVIDER_INDIACOM", - "PROVIDER_INFOMEDIA", - "PROVIDER_PICASA", - "PROVIDER_AT_GOVERNMENT", - "PROVIDER_AT_BUNDESAMT_FUR_EICH_UND_VERMESSUNGSWESEN", - "PROVIDER_AT_NATIONAL_TOURIST_OFFICE", - "PROVIDER_AT_AUSTRIA_POST", - "PROVIDER_NO_GOVERNMENT", - "PROVIDER_NO_NORSK_EIENDOMSINFORMASJON", - "PROVIDER_NO_POSTEN_NORGE_AS", - "PROVIDER_CH_GOVERNMENT", - "PROVIDER_CH_SWISS_POST", - "PROVIDER_CH_SWISSTOPO", - "PROVIDER_CH_SWISS_NATIONAL_PARK", - "PROVIDER_NAVIT", - "PROVIDER_GEOSEARCH", - "PROVIDER_DE_GOVERNMENT", - "PROVIDER_BUNDESAMT_KARTOGRAPHIE_UND_GEODASIE", - "PROVIDER_BUNDESNETZAGENTUR", - "PROVIDER_SCHOBER_GROUP", - "PROVIDER_MIREO", - "PROVIDER_PUBLIC_MUNICIPALITY", - "PROVIDER_US_PUBLIC_MUNICIPALITY", - "PROVIDER_US_PUBLIC_MUNICIPALITY_WEBSTER_TEXAS", - "PROVIDER_US_PUBLIC_MUNICIPALITY_AMHERST_MASSACHUSETTS", - "PROVIDER_US_PUBLIC_MUNICIPALITY_BLOOMINGTON_INDIANA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_PASADENA_CALIFORNIA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_CHULA_VISTA_CALIFORNIA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_TEMPE_ARIZONA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_COLUMBUS_OHIO", - "PROVIDER_US_PUBLIC_MUNICIPALITY_PORTAGE_MICHIGAN", - "PROVIDER_US_PUBLIC_MUNICIPALITY_GEORGETOWN_KENTUCKY", - "PROVIDER_US_PUBLIC_MUNICIPALITY_GREENVILLE_SOUTH_CAROLINA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_NASHVILLE_TENNESSEE", - "PROVIDER_US_PUBLIC_MUNICIPALITY_WASHINGTON_DISTRICT_OF_COLUMBIA", - "PROVIDER_US_PUBLIC_MUNICIPALITY_BOULDER_COLORADO", - "PROVIDER_NZ_PUBLIC_MUNICIPALITY", - "PROVIDER_NZ_PUBLIC_MUNICIPALITY_ENVIRONMENT_BAY", - "PROVIDER_PL_PUBLIC_MUNICIPALITY", - "PROVIDER_PL_PUBLIC_MUNICIPALITY_BIELSKO_BIALA", - "PROVIDER_DE_PUBLIC_MUNICIPALITY", - "PROVIDER_DE_PUBLIC_MUNICIPALITY_FRANKFURT", - "PROVIDER_DE_PUBLIC_MUNICIPALITY_HAMBURG", - "PROVIDER_DE_PUBLIC_MUNICIPALITY_KARLSRUHE", - "PROVIDER_PT_PUBLIC_MUNICIPALITY", - "PROVIDER_PT_PUBLIC_MUNICIPALITY_SANTA_CRUZ", - "PROVIDER_AT_PUBLIC_MUNICIPALITY", - "PROVIDER_AT_PUBLIC_MUNICIPALITY_KLAGENFURT", - "PROVIDER_AT_PUBLIC_MUNICIPALITY_LINZ", - "PROVIDER_ES_PUBLIC_MUNICIPALITY", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_AZKOITIA", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_BEASAIN", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_GIRONA", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_SAN_SEBASTIAN", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_CATALUNYA", - "PROVIDER_ES_PUBLIC_MUNICIPALITY_HONDARRIBIA", - "PROVIDER_AU_PUBLIC_MUNICIPALITY", - "PROVIDER_AU_PUBLIC_MUNICIPALITY_LAUNCESTON_TASMANIA", - "PROVIDER_IS_PUBLIC_MUNICIPALITY", - "PROVIDER_IS_PUBLIC_MUNICIPALITY_REYKJAVIK", - "PROVIDER_NL_PUBLIC_MUNICIPALITY", - "PROVIDER_NL_PUBLIC_MUNICIPALITY_AMELSTEVEEN", - "PROVIDER_BE_PUBLIC_MUNICIPALITY", - "PROVIDER_BE_PUBLIC_MUNICIPALITY_ANTWERPEN", - "PROVIDER_CA_PUBLIC_MUNICIPALITY", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_FREDERICTON_NEW_BRUNSWICK", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_KAMLOOPS_BRITISH_COLUMBIA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_NANAIMO_BRITISH_COLUMBIA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_BANFF_ALBERTA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_CALGARY_ALBERTA", - "PROVIDER_CA_PUBLIC_MUNICIPALITY_TORONTO_ONTARIO", - "PROVIDER_SE_PUBLIC_MUNICIPALITY", - "PROVIDER_SE_PUBLIC_MUNICIPALITY_UMEA", - "PROVIDER_UA_PUBLIC_MUNICIPALITY", - "PROVIDER_UA_PUBLIC_MUNICIPALITY_KHARKIV", - "PROVIDER_OTHER_PUBLIC_MUNICIPALITY", - "PROVIDER_OTHER_PUBLIC_MUNICIPALITY_AQUA_CALIENTE_CAHUILLA_INDIANS", - "PROVIDER_FR_PUBLIC_MUNICIPALITY", - "PROVIDER_FR_PUBLIC_MUNICIPALITY_PONT_AUDEMER", - "PROVIDER_FR_PUBLIC_MUNICIPALITY_BORDEAUX", - "PROVIDER_SG_PUBLIC_MUNICIPALITY", - "PROVIDER_BR_PUBLIC_MUNICIPALITY", - "PROVIDER_BR_PUBLIC_MUNICIPALITY_RIO_DE_JANEIRO", - "PROVIDER_MAPCUBE", - "PROVIDER_3D_REALITYMAPS", - "PROVIDER_DEUTSCHES_ZENTRUM_FUR_LUFT_UND_RAUMFAHRT", - "PROVIDER_3D_CITIES_SOCIEDADE_ANONIMA", - "PROVIDER_DISNEY", - "PROVIDER_CYBERCITY", - "PROVIDER_PRECISION_LIGHTWORKS_MODELWORKS", - "PROVIDER_VIRTUAL_HUNGARY_LIMITED", - "PROVIDER_VIRTUEL_CITY", - "PROVIDER_SCREAMPOINT_INTERNATIONAL", - "PROVIDER_AGENTSCHAP_VOOR_GEOGRAFISCHE_INFORMATIE_VLAANDEREN", - "PROVIDER_FR_GOVERNMENT", - "PROVIDER_FR_INSTITUT_GEOGRAPHIQUE_NATIONAL", - "PROVIDER_FR_CADASTRE", - "PROVIDER_DIADIEM", - "PROVIDER_THE_WEATHER_CHANNEL", - "PROVIDER_COWI", - "PROVIDER_FALKPLAN_ANDES", - "PROVIDER_NL_GOVERNMENT", - "PROVIDER_NL_KADASTER", - "PROVIDER_NL_BOARD_OF_TOURISM_AND_CONVENTIONS", - "PROVIDER_DIGITAL_MAP_PRODUCTS", - "PROVIDER_SILICE_DIGITAL", - "PROVIDER_TYDAC", - "PROVIDER_ALBRECHT_GOLF", - "PROVIDER_HEALTH_CH", - "PROVIDER_VISITDENMARK", - "PROVIDER_FLYHERE", - "PROVIDER_DIGITAL_DATA_SERVICES", - "PROVIDER_MECOMO", - "PROVIDER_ZA_GOVERNMENT", - "PROVIDER_ZA_RURAL_DEVELOPMENT_LAND_REFORM", - "PROVIDER_SENSIS", - "PROVIDER_JJCONNECT", - "PROVIDER_OPPLYSNINGEN", - "PROVIDER_TELLUS", - "PROVIDER_IQONIA", - "PROVIDER_BE_GOVERNMENT", - "PROVIDER_BE_NATIONAAL_GEOGRAFISCH_INSTITUUT", - "PROVIDER_BE_BRUSSELS_MOBILITY", - "PROVIDER_YELLOWMAP_AG", - "PROVIDER_STIFTUNG_GESUNDHEIT", - "PROVIDER_GIATA", - "PROVIDER_SANPARKS", - "PROVIDER_CENTRE_DINFORMATIQUE_POUR_LA_REGION_BRUXELLOISE", - "PROVIDER_INFOPORTUGAL", - "PROVIDER_NEGOCIOS_DE_TELECOMUNICACOES_E_SISTEMAS_DE_INFORMACAO", - "PROVIDER_COLLINS_BARTHOLOMEW", - "PROVIDER_PROTECT_PLANET_OCEAN", - "PROVIDER_KARTTAKESKUS", - "PROVIDER_FI_GOVERNMENT", - "PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION", - "PROVIDER_FI_NATIONAL_LAND_SURVEY", - "PROVIDER_FI_STATISTICS_FINLAND", - "PROVIDER_GB_GOVERNMENT", - "PROVIDER_GB_ORDNANCE_SURVEY", - "PROVIDER_NATURAL_ENGLAND", - "PROVIDER_WELSH_GOVERNMENT", - "PROVIDER_GB_OFFICE_FOR_NATIONAL_STATISTICS", - "PROVIDER_EPSILON", - "PROVIDER_PARTNER_FRONT_END", - "PROVIDER_CARTESIA", - "PROVIDER_SE_GOVERNMENT", - "PROVIDER_SE_TRAFIKVERKET", - "PROVIDER_SE_NATURVARDSVERKET", - "PROVIDER_IE_GOVERNMENT", - "PROVIDER_IE_ORDNANCE_SURVEY_IRELAND", - "PROVIDER_LU_GOVERNMENT", - "PROVIDER_LU_P_AND_T_LUXEMBOURG", - "PROVIDER_LU_ADMINISTRATION_DU_CADASTRE_ET_DE_LA_TOPOGRAPHIE", - "PROVIDER_LU_NATIONAL_TOURIST_OFFICE", - "PROVIDER_MAPFLOW", - "PROVIDER_TKARTOR", - "PROVIDER_JUMPSTART", - "PROVIDER_EPTISA", - "PROVIDER_MC_GOVERNMENT", - "PROVIDER_MC_PRINCIPAUTE_DE_MONACO", - "PROVIDER_MONOLIT", - "PROVIDER_ENVIRONMENTAL_SYSTEMS_RESEARCH_INSTITUTE", - "PROVIDER_MODIS", - "PROVIDER_GEOX", - "PROVIDER_GEODIRECTORY", - "PROVIDER_GEOPLAN", - "PROVIDER_INFODIREKT", - "PROVIDER_GEOGLOBAL", - "PROVIDER_DEUTSCHE_POST", - "PROVIDER_TRACASA", - "PROVIDER_CORREOS", - "PROVIDER_ES_GOVERNMENT", - "PROVIDER_ES_CENTRO_NACIONAL_DE_INFORMACION_GEOGRAFICA", - "PROVIDER_EDIMAP", - "PROVIDER_VERIZON", - "PROVIDER_NATIONAL_GEOGRAPHIC_MAPS", - "PROVIDER_PROMAPS", - "PROVIDER_CONSODATA", - "PROVIDER_DE_AGOSTINI", - "PROVIDER_FEDERPARCHI", - "PROVIDER_NAVIGO", - "PROVIDER_ITALIAMAPPE", - "PROVIDER_CZECOT", - "PROVIDER_NATURAL_EARTH", - "PROVIDER_REGIO", - "PROVIDER_SHIPWRECK_CENTRAL", - "PROVIDER_RUTGERS_STATE_UNIVERSITY", - "PROVIDER_TWINICE", - "PROVIDER_NORTHERN_IRELAND_TOURIST_BOARD", - "PROVIDER_INFOGROUP", - "PROVIDER_TNET", - "PROVIDER_CTT_CORREIOS_DE_PORTUGAL", - "PROVIDER_EUROPARC", - "PROVIDER_IUPPITER", - "PROVIDER_MICHAEL_BAUER_INTERNATIONAL", - "PROVIDER_LEPTON", - "PROVIDER_MAPPOINT", - "PROVIDER_GEODATA", - "PROVIDER_RU_GOVERNMENT", - "PROVIDER_RU_FNS_KLADR", - "PROVIDER_BR_GOVERNMENT", - "PROVIDER_BR_INSTITUTO_BRASILEIRO_DO_MEIO_AMBIENTE_E_DOS_RECURSOS_NATURAIS_RENOVAVEIS", - "PROVIDER_BR_MINISTERIO_DO_MEIO_AMBIENTE", - "PROVIDER_BR_AGENCIA_NACIONAL_DE_AGUAS", - "PROVIDER_BR_INSTITUTO_BRASILEIRO_DE_GEOGRAFIA_E_ESTATISTICA", - "PROVIDER_BR_FUNDACAO_NACIONAL_DO_INDIO", - "PROVIDER_BR_DEPARTAMENTO_NACIONAL_DE_INFRAESTRUTURA_DE_TRANSPORTES", - "PROVIDER_AZAVEA", - "PROVIDER_NORTHSTAR", - "PROVIDER_COMMEDI", - "PROVIDER_NEXUS_GEOGRAFICS", - "PROVIDER_INFOERA", - "PROVIDER_AD_GOVERNMENT", - "PROVIDER_AD_AREA_DE_CARTOGRAFIA", - "PROVIDER_MAXXIMA", - "PROVIDER_SI_GOVERNMENT", - "PROVIDER_SI_AGENCY_FOR_ENVIRONMENT", - "PROVIDER_TRANSPORT_HI_TECH_CONSULTANTS", - "PROVIDER_L1_TECHNOLOGIES", - "PROVIDER_TELEMEDIA", - "PROVIDER_CDCOM_PROGOROD", - "PROVIDER_MIT_CITYGUIDE", - "PROVIDER_SUNCART", - "PROVIDER_MICROMAPPER", - "PROVIDER_RICHI", - "PROVIDER_FORUM44", - "PROVIDER_SEAT", - "PROVIDER_VALASSIS", - "PROVIDER_NAVICOM", - "PROVIDER_COLTRACK", - "PROVIDER_PSMA_AUSTRALIA", - "PROVIDER_PT_DUTA_ASTAKONA_GIRINDA", - "PROVIDER_CA_GOVERNMENT", - "PROVIDER_STATISTICS_CANADA", - "PROVIDER_TOCTOC", - "PROVIDER_RMSI", - "PROVIDER_TRUE_TECHNOLOGY", - "PROVIDER_INCREMENT_P_CORPORATION", - "PROVIDER_GOJAVAS", - "PROVIDER_GEOINFORMATION_GROUP", - "PROVIDER_CYBERSOFT", - "PROVIDER_TSENTR_EFFEKTIVNYKH_TEKHNOLOGIY", - "PROVIDER_EE_GOVERNMENT", - "PROVIDER_EE_MAA_AMET", - "PROVIDER_GASBUDDY", - "PROVIDER_DK_GOVERNMENT", - "PROVIDER_DK_GEODATASTYRELSEN", - "PROVIDER_MURCIA_REGION_GOVERNMENT", - "PROVIDER_CORREIOS", - "PROVIDER_WEST_WORLD_MEDIA", - "PROVIDER_INTERNATIONAL_MAPPING_ASSOCIATION", - "PROVIDER_MEDICARE", - "PROVIDER_POLARIS", - "PROVIDER_TW_GOVERNMENT", - "PROVIDER_TW_MINISTRY_OF_THE_INTERIOR_SURVEYING_AND_MAPPING_CENTER", - "PROVIDER_NORDECA", - "PROVIDER_AFRIMAPPING", - "PROVIDER_OVERDRIVE", - "PROVIDER_PROVIDER_NETWORK_DIRECTORIES", - "PROVIDER_BR_MINISTERIO_DA_SAUDE", - "PROVIDER_DIGITAL_EGYPT", - "PROVIDER_INRIX", - "PROVIDER_ARPINDO", - "PROVIDER_IT_GOVERNMENT", - "PROVIDER_ISTITUTO_GEOGRAFICO_MILITARE", - "PROVIDER_EAST_END_GROUP", - "PROVIDER_INGEOLAN", - "PROVIDER_SEMACONNECT", - "PROVIDER_BLINK", - "PROVIDER_EVGO", - "PROVIDER_CHARGEPOINT", - "PROVIDER_TPL_TRAKKER", - "PROVIDER_OI", - "PROVIDER_MAPARADAR", - "PROVIDER_SINGAPORE_POST", - "PROVIDER_CHARGEMASTER", - "PROVIDER_TESLA", - "PROVIDER_VISICOM", - "PROVIDER_GEOLYSIS", - "PROVIDER_ZEPHEIRA", - "PROVIDER_HUBJECT", - "PROVIDER_PODPOINT", - "PROVIDER_CHARGEFOX", - "PROVIDER_KR_GOVERNMENT", - "PROVIDER_KR_MOLIT", - "PROVIDER_KR_MINISTRY_OF_THE_INTERIOR_AND_SAFETY", - "PROVIDER_CRITCHLOW", - "PROVIDER_EIFRIG", - "PROVIDER_GIREVE", - "PROVIDER_CN_NAVINFO", - "PROVIDER_JAPAN_CHARGE_NETWORK", - "PROVIDER_NOBIL", - "PROVIDER_INDIA_BANKS", - "PROVIDER_INDONESIA_ELECTION_KPU", - "PROVIDER_CAREERS360", - "PROVIDER_SOURCE_LONDON", - "PROVIDER_EVBOX", - "PROVIDER_JP_GOVERNMENT", - "PROVIDER_JP_MINISTRY_OF_THE_ENVIRONMENT", - "PROVIDER_YUMYUM", - "PROVIDER_HWW_AUSTRALIA", - "PROVIDER_CINERGY", - "PROVIDER_MTIME", - "PROVIDER_KULTUNAUT", - "PROVIDER_BLITZ", - "PROVIDER_PIA", - "PROVIDER_INTERPARK", - "PROVIDER_CINEMA_ONLINE", - "PROVIDER_BELBIOS", - "PROVIDER_MOVIESEER", - "PROVIDER_SODAMEDYA", - "PROVIDER_ATMOVIES", - "PROVIDER_HOTELBEDS", - "PROVIDER_VERICRED", - "PROVIDER_CIRRANTIC", - "PROVIDER_GOGO_LABS", - "PROVIDER_ELECTRIFY_AMERICA", - "PROVIDER_CMS_MPPUF", - "PROVIDER_DIGIROAD", - "PROVIDER_KONTEX_GEOMATICS", - "PROVIDER_NZ_GOVERNMENT", - "PROVIDER_NZ_LINZ", - "PROVIDER_NZ_DOC", - "PROVIDER_FASTNED", - "PROVIDER_DESTINY_CS", - "PROVIDER_IONITY", - "PROVIDER_EV_CONNECT", - "PROVIDER_PANPAGES", - "PROVIDER_ETECNIC", - "PROVIDER_VOLTA", - "PROVIDER_NISSAN_MEXICO", - "PROVIDER_BMW_GROUP_LATIN_AMERICA", - "PROVIDER_FEDERAL_ELECTRICITY_COMMISSION_MEXICO", - "PROVIDER_VOLVO_CARS_BRASIL", - "PROVIDER_CHARGE_AND_PARKING", - "PROVIDER_DEDUCE_TECHNOLOGIES", - "PROVIDER_SK_TELECOM", - "PROVIDER_ECO_MOVEMENT", - "PROVIDER_GOOGLE_GMS", - "PROVIDER_EASYWAY", - "PROVIDER_PHYSICIAN_COMPARE", - "PROVIDER_HOSPITAL_COMPARE", - "PROVIDER_ENDOLLA_BARCELONA", - "PROVIDER_BE_CHARGE", - "PROVIDER_ONE_NETWORK", - "PROVIDER_CARENAV_DUPLEX", - "PROVIDER_CARENAV_POI", - "PROVIDER_IN_GOVERNMENT", - "PROVIDER_SURVEY_OF_INDIA", - "PROVIDER_E_ON", - "PROVIDER_ELECTRIFY_CANADA", - "PROVIDER_GRIDCARS", - "PROVIDER_DRIVECO", - "PROVIDER_GREEN_ACTION_STUDIOS", - "PROVIDER_GREEN_ACTION_STUDIO", - "PROVIDER_EVINY", - "PROVIDER_MASTERCARD", - "PROVIDER_VATTENFALL", - "PROVIDER_VIETGIS", - "PROVIDER_UNITE", - "PROVIDER_NEOGY", - "PROVIDER_AMPUP", - "PROVIDER_LOOP", - "PROVIDER_ZEST", - "PROVIDER_EZVOLT", - "PROVIDER_JOLT", - "PROVIDER_CHARGESMITH", - "PROVIDER_PLUGO", - "PROVIDER_ELECTRIC_ERA", - "PROVIDER_FLO", - "PROVIDER_DIGITAL_CHARGING_SOLUTIONS", - "PROVIDER_ELECTRIC_PE" - ], - "enumDeprecated": [ - false, - false, - true, - false, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - true, - false, - true, - false, - true, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - true, - true, - false, - false, - false, - false, - false, - true, - true, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - true, - true, - false, - true, - false, - true, - true, - false, - true, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - false, - false, - false, - true, - false, - true, - false, - true, - true, - true, - false, - true, - true, - true, - false, - false, - true, - true, - true, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - true, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "ABSTRACT The root of all provider types. This should never be present on an actual feature, but can be useful when calling InCategory.", - "not actually a legal value, used as sentinel", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "All new \"Google\" provider entries must be full ints. The next available ID is: 0x111730C2", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "This is an internal *only* provider meant for sending wipeout requests to mapfacts.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Never rely on source infos with this provider to identify whether or not a feature is a Prominent Place! Instead, use the proper API, localsearch_clustering::QualityTierHelper::IsProminentPlace().", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Shopping Attributes Discovery", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "UMBRELLA", - "", - "The next new \"Google\" provider entries should be placed above.", - "UMBRELLA", - "", - "", - "", - "This is a testing provider for teams that wish to integrate with components of the Geo Data Infrastructure that require a valid provider. No production data should ever be sent using this provider.", - "", - "UMBRELLA", - "", - "", - "", - "UMBRELLA", - "0x1117F must not be used, since its range extends the PROVIDER_GOOGLE hierarchy.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Deprecated in favor of PROVIDER_GOOGLE_STRUCTURED_DATA (for attributes) and PROVIDER_GOOGLE_GEO_TIGER (for categories).", - "", - "0x1117FF should not be used, since its range further extends the PROVIDER_GOOGLE hierarchy. aka Local AI.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "No data is obtained from this provider. It is only used to identify features that must be served on MapMaker.", - "", - "", - "", - "", - "", - "", - "0x1117FFF should not be used, since its range further extends the PROVIDER_GOOGLE hierarchy. Synthetically generated areas (sublocalities/neighborhoods/ postal codes/etc) based on dropped terms from approximate geocoding. More info on go/syntheticareas.", - "", - "", - "", - "Similar to Google Transit, a provider that aggregates positions of bicycle rental points that we have agreements with to show on maps", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "This range has been depleted. For new Ids see PROVIDER_GOOGLE_SUBRANGE above.", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "Small Scale International Boundary Lines", - "", - "NOAA", - "PGC", - "USDA", - "National Provider Identifier Registry", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "old name for PROVIDER_NAVIGO", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "See b/33687395", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "UMBRELLA", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "ABSTRACT", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "ABSTRACT", - "IBAMA", - "MMA", - "ANA", - "IBGE", - "FUNAI", - "DNIT", - "", - "", - "", - "", - "", - "ABSTRACT", - "Department of Cartography", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "0x12 and 0x120 are not to be used. OOO CET", - "ABSTRACT", - "Estonian Land Board", - "", - "ABSTRACT", - "Danish Geodata Agency", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "Ministry of land, infrastructure and transport, 국토교통부, Guktogyotongbu", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Use PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION.", - "", - "ABSTRACT", - "Land Information New Zealand", - "NZ Department of Conservation", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "UMBRELLA", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Note: Next available value is 0x1275." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreRankDetailsProto": { - "description": "This message is embedded within a FeatureProto. It has rank calculation details such as available rank signals and rank signal mixer used to compute final rank. For more details, see the Oyster Rank wiki page: http://wiki.corp.google.com/twiki/bin/view/Main/OysterRank", - "id": "GeostoreRankDetailsProto", - "properties": { - "signal": { - "description": "A list of signals. Each one is extracted separately by a SignalExtractor.", - "items": { - "$ref": "GeostoreRankSignalProto" - }, - "type": "array" - }, - "signalMixerType": { - "description": "The signal mixer that was used to calculate the rank.", - "enum": [ - "MIXER_INVALID", - "MIXER_MISSING", - "MIXER_ADDRESS_AREA", - "MIXER_ROUTE_SEGMENT_INTERSECTION", - "MIXER_POLITICAL_EUROPA", - "MIXER_POLITICAL_AREA", - "MIXER_POLITICAL", - "MIXER_COUNTRY_EUROPA", - "MIXER_COUNTRY_AREA", - "MIXER_COUNTRY", - "MIXER_LOCALITY", - "MIXER_LOCALITY_GEOWIKI", - "MIXER_LOCALITY_EUROPA", - "MIXER_LOCALITY_AREA", - "MIXER_RIVER", - "MIXER_LENGTH_WEBSCORE", - "MIXER_SKENERGY", - "MIXER_GEOCENTRE_GEOCODED_ADDRESS", - "MIXER_PLACERANK", - "MIXER_TRANSIT", - "MIXER_LOCALITY_EUROPA_AREA", - "MIXER_WEBSCORE", - "MIXER_LOCALITY_MAPDATA_SCIENCES", - "MIXER_SUBLOCALITY_MAPDATA_SCIENCES", - "MIXER_PEAK", - "MIXER_BUILDING", - "MIXER_RESERVATION", - "MIXER_AIRPORT", - "MIXER_AREA", - "MIXER_MANAGER", - "MIXER_TEST_1", - "MIXER_TEST_2", - "MIXER_TEST_3", - "MIXER_TEST_4", - "MIXER_TEST_5" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "DEPRECATED", - "", - "", - "DEPRECATED", - "", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "These should never be present on a feature.", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreRankSignalProto": { - "description": "This message is embedded in the RankDetailsProto (below). It represents one rank signal, which is a floating point value estimating the Oyster Rank of the feature.", - "id": "GeostoreRankSignalProto", - "properties": { - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this signal." - }, - "rank": { - "description": "A value in the range [0, 1] estimating Oyster Rank according to this signal. Non-provider specific signals (e.g. SIGNAL_POPULATION) are interpreted by some common code in the ranking pipeline. Because of that, data providers should leave this field empty when setting such signals (so that the rank assignment can be uniform across all features regardless of contributing data providers). On the other hand, provider-specific signals (e.g. SIGNAL_ZENRIN_CITY_CATEGORY) are required to specify the rank field (it is not optional for them). That is because no code other than that of the provider itself will be able to fill in a meaningful value later on. We don't want clients to be reading from the raw_scalar / raw_string fields to interpret the data.", - "format": "float", - "type": "number" - }, - "rawScalar": { - "description": "The raw scalar value that was used to compute 'rank' above. The meaning of this attribute changes depending on the signal type.", - "format": "float", - "type": "number" - }, - "rawString": { - "description": "The raw string value that was used to compute 'rank' above. The meaning of this attribute changes depending on the signal type.", - "type": "string" - }, - "type": { - "enum": [ - "SIGNAL_UNKNOWN", - "SIGNAL_LENGTH", - "SIGNAL_AREA", - "SIGNAL_ADDRESS", - "SIGNAL_LISTING", - "SIGNAL_ROAD_PRIORITY", - "SIGNAL_POI_COUNT", - "SIGNAL_WEBSCORE", - "SIGNAL_PATHRADIUS_LENGTH_METERS", - "SIGNAL_PATHRADIUS_LENGTH_SEGMENTS", - "SIGNAL_PATHRADIUS_POPULARITY", - "SIGNAL_PEAK_ELEVATION_PROMINENCE", - "SIGNAL_ROAD_SEGMENT_COUNT", - "SIGNAL_POI_SCORE", - "SIGNAL_ATTRACTIONS_SCORE", - "SIGNAL_HAND_RANKED_LOCALITY_PROMINENCE", - "SIGNAL_POPULATION", - "SIGNAL_GDP", - "SIGNAL_EUROPA_CLASS", - "SIGNAL_RMF_SOURCE_RANK", - "SIGNAL_MDS_SOURCE_RANK", - "SIGNAL_MULTINET_SOURCE_RANK", - "SIGNAL_LOCALXML_MANUAL_RANK", - "SIGNAL_TRANSIT_LINE", - "SIGNAL_TRANSIT_TRAIN_DEPARTURE_COUNT", - "SIGNAL_TRANSIT_METRO_DEPARTURE_COUNT", - "SIGNAL_TRANSIT_BUS_DEPARTURE_COUNT", - "SIGNAL_TRANSIT_OTHER_DEPARTURE_COUNT", - "SIGNAL_TRANSIT_TRAIN_LINE_COUNT", - "SIGNAL_TRANSIT_METRO_LINE_COUNT", - "SIGNAL_TRANSIT_BUS_LINE_COUNT", - "SIGNAL_TRANSIT_OTHER_LINE_COUNT", - "SIGNAL_TRANSIT_STATION_LOCAL_RANK", - "SIGNAL_TRANSIT_STATION_GLOBAL_RANK", - "SIGNAL_ORION_LEVEL", - "SIGNAL_GEOCENTRE_ADDRESS_RANK", - "SIGNAL_GOOGLE_3DWAREHOUSE_RANK", - "SIGNAL_SKENERGY_CATEGORY", - "SIGNAL_GOOGLE_GEOWIKI_USER_RANK", - "SIGNAL_WIKIPEDIA_ARTICLES", - "SIGNAL_WIKIPEDIA_ARTICLES_IN_OFFICIAL_LANGUAGE", - "SIGNAL_KML_PLACEMARKS", - "SIGNAL_KML_SOURCES", - "SIGNAL_PANORAMIO_USERS", - "SIGNAL_GOOGLE_MAPSHOP_USERS", - "SIGNAL_GOOGLE_LOCALSEARCH_DIRECTORY_INFOS", - "SIGNAL_GOOGLE_MAPS_NAVBOOST_CLICKS", - "SIGNAL_GOOGLE_MAPS_NAVBOOST_CLICKTHROUGH_RATE", - "SIGNAL_GOOGLE_RBL_CLICKS", - "SIGNAL_GOOGLE_RBL_CLICK_FRACTION", - "SIGNAL_GOOGLE_AUTHORITYPAGE_PAGERANK", - "SIGNAL_GOOGLE_AUTHORITYPAGE_PAGERANK_CONFIDENCE", - "SIGNAL_GOOGLE_REVIEWS", - "SIGNAL_GOOGLE_WEB_QUERYVOL", - "SIGNAL_GOOGLE_WEBPAGE_REFERENCE_DOMAINS", - "SIGNAL_GOOGLE_LISTING_IMPRESSIONS", - "SIGNAL_GOOGLE_INFOWINDOW_VIEWS", - "SIGNAL_GOOGLE_DIRECTION_REQUESTS", - "SIGNAL_GOOGLE_HOMEPAGE_CLICKS", - "SIGNAL_GOOGLE_CHAIN_STORES", - "SIGNAL_FLICKR_USERS", - "SIGNAL_GOOGLE_LEANBACK_TOURS", - "SIGNAL_GOOGLE_LOCALSEARCH_PLACERANK", - "SIGNAL_WIKIPEDIA_WIKI_SCORE", - "SIGNAL_ZENRIN_CITY_CATEGORY", - "SIGNAL_ZENRIN_BUILDING_CLASS", - "SIGNAL_ZENRIN_PEAK_CLASS", - "SIGNAL_PLACE_INSIGHTS_LANDMARK", - "SIGNAL_PLACE_INSIGHTS_POPULARITY", - "SIGNAL_PLACE_INSIGHTS_PROMINENCE", - "SIGNAL_PLACE_INSIGHTS_APPROACHABILITY", - "SIGNAL_PLACE_INSIGHTS_TOTAL_ROAD_SEGMENT_USAGE" - ], - "enumDeprecated": [ - false, - false, - false, - true, - true, - false, - true, - false, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - true, - false, - true, - false, - false, - true, - false, - true, - true, - true, - false, - false, - true, - false, - false, - false, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - true, - true, - true, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "This is reserved as a sentinel value. It should never be used. An unknown signal.", - "Magnitude for one-dimensional features like segments.", - "Magnitude for features with polygonal geometry. Derived from the number of other features that use this feature as an address component.", - "DEPRECATED Derived from the number of local business listings that, once reverse-geocoded, have this feature as an address component.", - "DEPRECATED", - "This signal will be set on all routes and is derived by the value of the priority of all segments composing the route. It is a \"derived\" signal instead of a canonical one because it is not only about inheriting some child segment's priority. We actually take into consideration the priorities of all children segments to come up with a raw value for this signal. Derived from the number of POI that use this feature as an address component.", - "DEPRECATED", - "This signal derived from the number of documents in DocJoin, which contains keywords of the source feature. For each raw feature, we extract keywords from the feature's name and address. We search the keywords in DocJoin (now only 4B) to get the number of webpages which contains all the keywords of the feature, eg, for Quanjude in Beijing which is a famous restaurant in China, we consider Beijing and Quanjude as its keywords, the page containing both Beijing and Quanjude will be counted in. The number will be mapped by logarithm function into [0, 1]. This signal is based on a simple assumption: the more the name appears in webpage, the more famous it is. These signals are calculated by the Path Radius algorithm, using Pathfinder to figure out in how big a neighborhood this segment is used as a thoroughfare. The popularity is simply the fraction of all paths that use this segment.", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "Signal based on elevation and prominence values of peaks.", - "Signal based on the number of road segments referring a feature. The number could be obtained by either looking RELATION_CONTAINED_BY relation or counting children of the feature.", - "Signal based on placerank values of establishments that use this feature as an address or located within it (as determined by relations).", - "Signal based on placerank values of (tourist) attraction establishments that are related to this feature through containment.", - "Signal indicating a city of particular prominence independent of its other attributes. Currently only implemented for Japanese localities, primarily based on official government city statuses.", - "", - "", - "NOTE(jdkim): All rank signals below are provider specific ones, so we use this enum value to identify the enum range for provider specific signals.", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "", - "Score of a particular station in relation to the stations near it. E.g., when displaying list of nearby stations we could prioritize the higher ranked ones.", - "Score of a particular station in relation to all the stations globally. This is valuable for data cleanups, modeling, and proactive checks that could be targeted at the \"Top Stations\" to ensure high impact.", - "", - "DEPRECATED", - "DEPRECATED", - "Rank derived from feature popularity asserted by users. Higher rank values are almost always moderated to verify accuracy, hence reliable.", - "DEPRECATED", - "These are primarily used for computing Placerank, which is now signal 3200.", - "DEPRECATED", - "", - "", - "DEPRECATED", - "", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "", - "DEPRECATED", - "", - "", - "", - "DEPRECATED", - "", - "", - "", - "", - "", - "DEPRECATED", - "", - "", - "Signal based on WIKI_SCORE, which is brought by DataSourceProvider::PROVIDER_WIKIPEDIA.", - "DEPRECATED Signal for buildings in Japan. This signal is a scale of the map this building label should be rendered.", - "DEPRECATED Signal for peaks in Japan. This signal is a scale of the map this peak label should be rendered.", - "DEPRECATED", - "Place Insights landmarkiness fundamental aspect. This score combines the popularity and prominence aspects below with the Kerouac tourist score. Details: go/plank-landmark", - "Place Insights popularity fundamental aspect. This score combines physical visits (Hulk) and direction searches. Details: go/plank-popularity", - "Place Insights prominence fundamental aspect. This score is based on WebRef and the number of photos of a place. Details: go/plank-prominence DEPRECATED: No longer populated, because the data sources were deprecated. Not yet marked as deprecated because some features might still contain the data.", - "Place Insights approachability fundamental aspect. This score indicates whether users can interact with a place without appointment. It is computed from the GCIDs of the place. Details: go/plank-approachability", - "Number of times a user drives the entire length of the segment according to snapped GLS tracks. This is obtained by aggregating the snapped GLS data generated by the traffic team. Design document: go/aggregated-road-traffic-mapfacts" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreRawDataProto": { - "description": "A RawDataProto is a key-value pair that represents arbitrary source data from a particular provider. Raw data can be attached to features using their source_info field.", - "id": "GeostoreRawDataProto", - "properties": { - "key": { - "description": "The key associated with this data item. For source data in shape file format, this will typically be a column name. Keys need to be unique with respect to a particular data source (see DataSourceProto), but they do not need to be globally unique. You can look up the documentation for a key (e.g. a longer label and description) by following the source_id link of the parent SourceInfoProto, which takes you to a TYPE_DATA_SOURCE feature, and then looking up the corresponding RawMetadataProto object for this key in that feature's optional data_source field.", - "type": "string" - }, - "valueString": { - "description": "All data items are represented as strings, the logic being that it is easy to convert other data types to strings, and there is no need to access this data efficiently.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreRawMetadataProto": { - "id": "GeostoreRawMetadataProto", - "properties": { - "conflationMethod": { - "description": "Method to use when conflating together RawDataProto values at the same key NB: If you add a new ConflationMethod, then you must add the corresponding logic to MergeRawData to conflate the RawDataProto values using this method.", - "enum": [ - "CONFLATION_PICK_FIRST_VALUE", - "CONFLATION_UNION_CSV", - "CONFLATION_SUM" - ], - "enumDescriptions": [ - "Simply picks first value from the set of values to be conflated together. If target feature already has a value, then that is the value kept.", - "Parses all values as a comma-separated lists and takes the union of all elements from all lists (e.g. no duplicates) to create a new comma- separated list.", - "Parses all values as int32s and outputs their sum as the final value." - ], - "type": "string" - }, - "description": { - "description": "Self-contained documentation about what this field represents and how its values are encoded.", - "type": "string" - }, - "key": { - "description": "The key being described.", - "type": "string" - }, - "label": { - "description": "A longer, human-readable name associated with this key. The label might be used in a data explorer tool, for example.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreRectProto": { - "description": "A latitude-longitude rectangle, represented as two diagonally opposite points \"lo\" and \"hi\". The rectangle is considered to be a closed region, i.e. it includes its boundary. The latitude bounds must be in the range -90 to 90 degrees inclusive, and the longitude bounds must be in the range -180 to 180 degrees inclusive. Various cases include: - If lo == hi, the rectangle consists of a single point. - If lo.longitude \u003e hi.longitude, the longitude range is \"inverted\" (the rectangle crosses the 180 degree longitude line). - If lo.longitude == -180 degrees and hi.longitude = 180 degrees, the rectangle includes all longitudes. - If lo.longitude = 180 degrees and hi.longitude = -180 degrees, the longitude range is empty. - If lo.latitude \u003e hi.latitude, the latitude range is empty.", - "id": "GeostoreRectProto", - "properties": { - "hi": { - "$ref": "GeostorePointProto" - }, - "lo": { - "$ref": "GeostorePointProto" - } - }, - "type": "object" - }, - "GeostoreRegionSpecificNameProto": { - "description": "This protocol buffer supports a name per region per language, allowing it to represent the name of a given feature in different regions and languages. For example, the Persian Gulf has different English names in UAE versus Lebanon; each would need to be represented as distinct RegionSpecificNameProtos.", - "id": "GeostoreRegionSpecificNameProto", - "properties": { - "displayableAsAlternativeName": { - "description": "If true, this region specific name should be appended, in parentheses, to the appropriate name from FeatureProto.name, for the default rest of world behavior.", - "type": "boolean" - }, - "name": { - "$ref": "GeostoreNameProto", - "description": "Name to be used for this feature in a specific region and language." - }, - "regionCode": { - "description": "Region code (or other identifier) for the region.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreRegulatedAreaProto": { - "description": "A collection of information that applies to a polygonal area.", - "id": "GeostoreRegulatedAreaProto", - "properties": { - "restriction": { - "description": "The set of restrictions that apply to a zone. These restrictions may limit the routability of every segment contained within the defined feature.polygon. Repeated restrictions are treated collectively as an OR meaning that segments in the zone are only routable if none of the restrictions apply. If any segments within the defined polygon should not have these restrictions applied, they must list this regulated area's feature id in their feature.exempt_regulated_area field.", - "items": { - "$ref": "GeostoreRestrictionProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreRelationProto": { - "description": "This message is embedded within a FeatureProto, and represents a geographic or logical relationship of that feature to some other feature. Note that some relation types are there purely for the purpose of grouping together other relation types. They are noted as ABSTRACT in comments. Other relation types are no longer supported / in use. They are noted as DEPRECATED in comments (and marked with the standard deprecated option, too). Other relation types are reserved for future use or just not intended for use at all, for various internal reasons. They are noted as RESERVED in comments. WARNING: Updates to this proto within a FeatureProto's related_feature field handled by standalone pipelines and are NOT atomic with regard to updates to the features being referenced; we do not guarantee that a given MapFacts snapshot will be consistent between this field and the related features.", - "id": "GeostoreRelationProto", - "properties": { - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this relation." - }, - "otherFeatureCountryCode": { - "description": "If and only if the other feature is of TYPE_COUNTRY, the 2-letter country code. This is the FLAG_COUNTRY_CODE_2 name of the country component.", - "type": "string" - }, - "otherFeatureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "The feature ID of the feature to which we're relating. WARNING: the related feature does not necessarily have a bound that encloses this feature, so in a bucketing MapReduce, you may not be able to follow all relationships. Relations that use strong references are annotated above but you can also refer to IsRelationStrong() in geostore/base/public/relation.h." - }, - "otherFeatureName": { - "description": "RESERVED", - "items": { - "$ref": "GeostoreNameProto" - }, - "type": "array" - }, - "otherFeatureTerritorialAdministrator": { - "description": "If and only if the other feature is of TYPE_DISPUTED_AREA, the territorial administrator found in its GeopoliticalAttachmentProto.administered_by field, if any. Since this string is copied exactly, it may be a 2-letter country code or another type of descriptive string.", - "type": "string" - }, - "otherFeatureType": { - "description": "The type of the feature to which we're relating.", - "format": "int32", - "type": "integer" - }, - "overlapFraction": { - "deprecated": true, - "description": "** DEPRECATED ** If relation is exactly RELATION_OVERLAPS but not any of its subcategories, overlap_fraction contains an estimate of the fraction of the geometry of this feature that intersects with the other feature, ranging from 0.0 to 1.0. Note that this is a rough estimate based on cell coverings, and may not be very accurate. In particular, values of 0.0 and 1.0 are possible, even though in principle they should not be.", - "format": "float", - "type": "number" - }, - "relation": { - "description": "The relationship of the feature that contains this RelationProto to the feature other_feature_id. Note the relation_is_reversed field below. Some relations imply weak references, other strong ones. Strong references are annotated above but you can also refer to IsRelationStrong() in geostore/base/public/relation.h.", - "enum": [ - "RELATION_OVERLAPS", - "RELATION_CONTAINED_BY", - "RELATION_EQUAL_TO", - "RELATION_POLITICAL_DEPRECATED", - "RELATION_CAPITAL_OF", - "RELATION_DISAMBIGUATED_BY", - "RELATION_NEIGHBOR_OF", - "RELATION_OPPOSITE_TO", - "RELATION_NEXT_TO", - "RELATION_RIGHT_OF", - "RELATION_LEFT_OF", - "RELATION_BEHIND", - "RELATION_IN_FRONT_OF", - "RELATION_SAME_BUILDING", - "RELATION_ABOVE", - "RELATION_BELOW", - "RELATION_NEAR", - "RELATION_ORGANIZATIONALLY_PART_OF", - "RELATION_DEPARTMENT_OF", - "RELATION_WORKS_AT", - "RELATION_INDEPENDENT_ESTABLISHMENT_IN", - "RELATION_ON_LEVEL", - "RELATION_OCCUPIES", - "RELATION_BUSINESS_LIFE_CYCLE", - "RELATION_BUSINESS_MOVED", - "RELATION_BUSINESS_REBRANDED", - "RELATION_MEMBER_OF_CHAIN", - "RELATION_AUTHORIZED_DEALER_FOR_CHAIN", - "RELATION_SUBSIDIARY_OF", - "RELATION_PRIMARILY_OCCUPIED_BY", - "RELATION_VARIATION", - "RELATION_HAS_VARIANT", - "RELATION_VARIANT_OF", - "RELATION_VARIANT_SIBLING", - "RELATION_CLIENT_DEFINED" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - false - ], - "enumDescriptions": [ - "In the real world, this feature's geographic extent intersects the other feature's, but does not contain it. Note that the presence or absence of a relation may contradict the actual geometry in the FeatureProto. In these cases, the client should assume that the geometry of the feature is imprecise. Certain pairs of features are considered disjoint even if the geometries overlap. Allowed source types: - TYPE_ANY (but with geometry or children) Allowed destination types: - TYPE_ANY (but with polygonal geometry)", - "In the real world, the geographical extent of the feature is contained by that of the other feature. Note that this relation implies overlap. As with overlap, the frame-of-reference is the real world, not necessarily the (imprecise) geometry in the FeatureProtos. There may be other semantic rules that govern the assignment of this relation. Two features cannot contain each other - instead they will have a RELATION_EQUAL_TO relation (see below). strong reference", - "In the real world, this feature's geographic extent is exactly equal to the other feature's geographic extent. Note that this relation implies containment and overlap.", - "DEPRECATED", - "This feature is the capital of the other feature. Allowed source types: - TYPE_POLITICAL Allowed destination types: - TYPE_POLITICAL (of higher political level) strong reference", - "ABSTRACT, RESERVED", - "RESERVED", - "RESERVED", - "RESERVED", - "RESERVED", - "RESERVED", - "RESERVED", - "RESERVED", - "RESERVED", - "RESERVED", - "RESERVED", - "RESERVED", - "ABSTRACT", - "Used primarily to list co-existing departments of businesses such as universities, hospitals, department stores, etc. This is set from feature A to feature B when A is physically located within the boundaries of the compound feature occupied by B, AND A is a subsidiary or department of B (i.e. both have the same management/ownership). e.g. department -\u003e hospital, department -\u003e university Allowed source types: - TYPE_ESTABLISHMENT_POI Allowed destination types: - TYPE_ESTABLISHMENT_POI", - "Used to relate an individual practitioner (doctor, lawyer, etc.) with the business they work at (hospital, law firm, etc.) Allowed source types: - TYPE_ESTABLISHMENT_POI - TYPE_ESTABLISHMENT_SERVICE Allowed destination types: - TYPE_ESTABLISHMENT_POI", - "Used primarily for the \"mall directory\" use-case, this is set from feature A to feature B when A is physically located within the boundaries of the compound feature occupied by B AND A as an entity is independent of B, i.e. A and B have different management/ownership. e.g. store -\u003e mall Allowed source types: - TYPE_ESTABLISHMENT_POI Allowed destination types: - TYPE_ESTABLISHMENT_POI", - "The feature that represents the level/floor the feature exists on. Allowed source types: - TYPE_CARTOGRAPHIC (at most 1 such relation) - TYPE_COMPOUND_SECTION (at most 1 such relation) - TYPE_ENTRANCE (at most 1 such relation) - TYPE_ESTABLISHMENT_POI - TYPE_INTERSECTION (at most 1 such relation) - TYPE_SEGMENT (at most 2 such relations) - TYPE_TERMINAL_POINT (at most 1 such relations) Allowed destination types: - TYPE_LEVEL strong reference", - "This feature physically occupies the other feature. Allowed source types: - TYPE_ESTABLISHMENT_POI Allowed destination types: - TYPE_COMPOUND Consumers should use the geometry of the target feature instead of the geometry of this feature. strong reference", - "ABSTRACT", - "e.g. “espn zone\" moved from Times Square to Boston. The feature representing the business at the old location, or with the old service area, will refer to the one representing the business at the new location, or with the new service area, with this relation type. If a feature has this relation, its existence should show that the feature has closed and the close reason should be set to MOVED. Allowed source types: - TYPE_ESTABLISHMENT Allowed destination types: - TYPE_ESTABLISHMENT", - "e.g. \"Holiday Inn\" rebranded to \"Double Tree\". The feature representing \"Holiday Inn\" will refer to the feature representing \"Double Tree\" with this relation type. If a feature has this relation, its existence should show that the feature has closed and the close reason should be set to REBRANDED. Allowed source types: - TYPE_ESTABLISHMENT Allowed destination types: - TYPE_ESTABLISHMENT", - "Used by specific chain stores/franchises to refer to their parent chain. e.g. an individual Walmart store is a member of the \"Walmart\" chain. Transit stations can be members of multiple chains (transit agencies). All other establishments can have at most one explicit RELATION_MEMBER_OF_CHAIN relation. Subtypes may have different requirements. TYPE_TRANSIT_AGENCY is a temporarily allowed destination type while we migrate transit stations \u003c-\u003e transit agencies to a new representation (b/197741661) Allowed source types: - TYPE_ESTABLISHMENT Allowed destination types: - TYPE_BUSINESS_CHAIN - TYPE_TRANSIT_AGENCY strong reference", - "Indicates that a feature sells merchandise for a given brand chain (e.g. Honda vehicles). Source currently restricted to features with gcid:car_dealer. strong reference", - "Used by specific sub chain to refer to their parent chain. e.g. \"Walmart Pharmacy\" chain is a member of the \"Walmart\" chain. Currently this is only used by transit agencies. Talk to chains-eng team before using this relation type on other chains. A business chain can have at most one such relation. Allowed source types: - TYPE_BUSINESS_CHAIN - TYPE_TRANSIT_AGENCY Allowed destination types: - TYPE_BUSINESS_CHAIN - TYPE_TRANSIT_AGENCY strong reference", - "Indicates which logical entity is the main occupant of a compound. A compound can have at most one such relation, and the target feature for that relation must refer back to the compound via a RELATION_OCCUPIES relation. Allowed source types: - TYPE_COMPOUND Allowed destination types: - TYPE_ESTABLISHMENT_POI strong reference", - "ABSTRACT, DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "RESERVED" - ], - "type": "string" - }, - "relationIsReversed": { - "description": "RESERVED", - "type": "boolean" - }, - "temporaryData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place for clients to attach arbitrary data to a relation. Never set in MapFacts." - } - }, - "type": "object" - }, - "GeostoreRestrictionGroupProto": { - "description": "A restriction group represents common properties of a set of restrictions on segments that are associated with the same underlying cause across a geographic region. Every segment referenced by this restriction group should have at least one restriction that refers backs to this restriction group. The standard feature properties have the following interpretations: name - A name that represents the name for this restriction group. kg_property - A reference back to a KG event in case this restriction group belongs to an event in KG. /geo/type/restriction_group/associated_event contains a mid to the associated event.", - "id": "GeostoreRestrictionGroupProto", - "properties": { - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this restriction group." - }, - "segment": { - "description": "FeatureId of all segments that have a RestrictionProto referring back to this RestrictionGroup.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreRestrictionProto": { - "description": "A restriction is an expression that limits when an action can be taken. Each restriction has a set of conditions. If all of the conditions are true, then the restriction applies and the action cannot be taken. For example, the restriction \"no turns 3-5pm except buses\" would have two conditions: \"time is 3-5pm\" and \"vehicle is not a bus\". If both of these conditions apply, the restriction is true, and the turn is prohibited. Multiple restrictions may apply to the same action. Clients handle this by always declaring RestrictionProto as a \"repeated\" element. The semantics of having multiple restrictions are that if any restriction applies, then the action cannot be taken. In other words, restrictions are OR-ed together. Putting all of this together, a set of RestrictionProtos can be interpreted as a bool expression in disjunctive normal form: (A and B) or (D and E and F) or (G and H) The action is prohibited if this expression is true. Note that a restriction with no conditions is always true, i.e. its action is always prohibited. NOTE: RestrictionProtos are often compared against one another (e.g. to check for duplicate/redundant restrictions) by canonicalizing them via GetCanonicalRestriction() in google3/geostore/base/internal/restriction.cc. Any fields that don't contribute to the definition of a restriction in the real world should be bundled with the annotative fields near the bottom and excluded in GetCanonicalRestriction(). LINT.IfChange", - "id": "GeostoreRestrictionProto", - "properties": { - "autonomousDrivingProducts": { - "description": "The restriction only applies in these specific autonomous driving product scenarios. NOTE: This should only be set on restrictions with TRAVEL_AUTONOMOUS_VEHICLE travel mode.", - "items": { - "enum": [ - "UNKNOWN", - "HD_L4", - "HD_L2", - "ADAS", - "AUTO_DRIVING_EXPERIENCE" - ], - "enumDescriptions": [ - "Indicates that specific product requirements are unknown. It is best to assume that this applies to all autonomous driving scenarios.", - "HD Maps Level 4 product.", - "HD Maps Level 2 product.", - "General advanced driver assist scenario.", - "Geo Auto Driving Experience products (go/dx)." - ], - "type": "string" - }, - "type": "array" - }, - "intersectionGroup": { - "$ref": "GeostoreFeatureIdProto", - "description": "Actually *required* if style=STYLE_IN_OUT, otherwise forbidden. Typically the intersection group type is artifact, but either artifact or logical groups can be used for STYLE_IN_OUT restrictions." - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this restriction." - }, - "restrictionGroup": { - "$ref": "GeostoreFeatureIdProto", - "description": "Restriction group this restriction belongs to." - }, - "restrictionToken": { - "description": "A token that can be used to identify the version of the data about this restriction.", - "type": "string" - }, - "schedule": { - "$ref": "GeostoreTimeScheduleProto", - "description": "When specified, restriction applies only at particular times (operating hours or times of the year: reversing lanes, seasonal roads, no left turns from 3-5pm Mon-Fri except holidays). Otherwise, restriction is in effect at all times." - }, - "scope": { - "description": "The scope that the restriction applies to. - SCOPE_DIRECTION means the segment/sibling pair is restricted in the direction of the segment that contains this RestrictionProto. For segment/sibling pairs with pedestrian facilities (and thus side-of-road routing) the RestrictionProto restricts both facilities in the direction of the segment (assuming that the restriction applies to travel mode TRAVEL_PEDESTRIAN). - SCOPE_SIDE means the RestrictionProto applies only to the side of road that the containing segment represents. That sibling's pedestrian facility is restricted in both directions. Schema constraints: - SCOPE_SIDE must be set if and only if travel_mode == [TRAVEL_PEDESTRIAN] and the segment containing the restriction has the pedestrian_facility field set and is not set to PEDESTRIAN_FACILITY_UNKNOWN. Such restrictions must have no subpath. - All other restrictions must have this field set to SCOPE_DIRECTION (whether explicitly or implicitly). This distinction is necessary for cases such as pedestrian facility on one-way segment/sibling roads. NOTE: This field only makes sense in the context of segment restrictions, not lane restrictions.", - "enum": [ - "SCOPE_DIRECTION", - "SCOPE_SIDE" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "style": { - "description": "Restriction Style defines the semantics of the subpath field, as defined above in the documentation of subpath.", - "enum": [ - "STYLE_CONTIGUOUS", - "STYLE_SINGLE", - "STYLE_TURN", - "STYLE_IN_OUT" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "subpath": { - "description": "\"subpath\" specifies the GeoStore segments that this restriction applies to, according to the restriction_style field below. Segments that are referenced by this subpath field also refer to this feature back via the same subpath field. For all styles of restriction, all segments in the subpath must have identical copies of the restriction. In other words, restrictions are duplicated along every segment in the subpath. Note that subpaths of length 1 do not have any purpose and are disallowed. Note that it is possible to represent restrictions either using STYLE_CONTIGUOUS, or depending on the length of the subpath, one of the more specific STYLE_SINGLE, STYLE_TURN, or STYLE_IN_OUT. New code should use the more specific alternatives if possible, as they support instant updates. For restriction_style == STYLE_CONTIGUOUS (the default): \"subpath\" can either be empty, for a single-segment restriction, or it specifies exactly the sequence of segments which this restriction applies to. The subpath may be used to specify a turn restriction (a subpath of length 2) or to prohibit more complex maneuvers. For example, when merging onto a road from the right-hand side it may not be possible to make an immediate left turn due to insufficient time to cross the intervening lanes or the presence of a physical barrier. This would be indicated by a subpath restriction of length 3 or more. For restriction_style == STYLE_SINGLE: The subpath field of the Restriction must be empty. The restriction applies only to the segment it is attached to. There must not be an intersection group specified. For restriction_style == STYLE_TURN: The subpath field of the Restriction must contain exactly two segments. The first is called the \"in_segment\", the second is the \"out_segment\". They must be contiguous, i.e. the end intersection of the in_segment is the start intersection of the out_segment. The restriction applies only to a direct maneuver from the in_segment to the out_segment. Other paths from the in_segment to the out_segment are not restricted. There must not be an intersection group specified. For restriction_style == STYLE_IN_OUT: The subpath field of the Restriction must contain exactly two segments. The first is called the \"in_segment\", the second is the \"out_segment\". Note that the two segments define paths, but may not actually be one. The end intersection of the in_segment must be in an intersection group which also contains the start intersection of the out_segment. The in- and out-segments are not required to be adjacent, but may be. Either way, the restriction applies to any path from the in_segment to the out_segment through the intersection group, not just direct turns. The intersection_group must be specified. Note that clients which read restrictions and need to know which paths are restricted by a given IN_OUT restriction must expand the IN_OUT restriction by finding all paths through the intersection group from the in_segment to the out_segment.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "temporaryData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place for clients to attach arbitrary data to a restriction. Never set in MapFacts." - }, - "travelMode": { - "description": "Restriction applies only to the given travel modes. This field should always be set, but may be missing in old data. WARNING: Restrictions with no travel modes are DEPRECATED. Historically, no travel modes has meant \"all travel modes\", except they didn't really even mean that, because Pathfinder would use a complex set of heuristics to interpret the \"correct\" travel modes. Pathfinder currently (last updated August 2013) has heuristics to cope with incomplete data that reduce or extend application of the specified restrictions to pedestrians or bicycles. We are actively working to remove these heuristics and replace them with explicit, correct travel modes in the data. See b/8746491.", - "items": { - "enum": [ - "TRAVEL_ANY", - "TRAVEL_MOTOR_VEHICLE", - "TRAVEL_AUTO", - "TRAVEL_CARPOOL", - "TRAVEL_MOTORCYCLE", - "TRAVEL_BUS", - "TRAVEL_TRUCK", - "TRAVEL_DELIVERY", - "TRAVEL_TAXI", - "TRAVEL_EMERGENCY", - "TRAVEL_THROUGH_TRAFFIC", - "TRAVEL_AUTONOMOUS_VEHICLE", - "TRAVEL_PEDESTRIAN", - "TRAVEL_BICYCLE" - ], - "enumDescriptions": [ - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "type": { - "description": "LINT.ThenChange(//depot/google3/google/geo/entities/v1/fields/segment.proto) clang-format on The type of restriction. This is not a condition, but rather tells you what kind of restriction it is. This field should always be set.", - "enum": [ - "RESTRICTION_TRAVEL_RESTRICTED", - "RESTRICTION_ILLEGAL", - "RESTRICTION_PHYSICAL", - "RESTRICTION_LOGICAL", - "RESTRICTION_GATE", - "RESTRICTION_CONSTRUCTION", - "RESTRICTION_SEASONAL_CLOSURE", - "RESTRICTION_PRIVATE", - "RESTRICTION_WRONG_WAY", - "RESTRICTION_TERMINAL", - "RESTRICTION_PAYMENT_REQUIRED", - "RESTRICTION_TOLL_BOOTH", - "RESTRICTION_USAGE_FEE_REQUIRED", - "RESTRICTION_ENTRANCE_FEE_REQUIRED", - "RESTRICTION_VIGNETTE_REQUIRED", - "RESTRICTION_ADVISORY", - "RESTRICTION_HIGH_CRIME", - "RESTRICTION_POLITICALLY_SENSITIVE", - "RESTRICTION_DISTURBED_BY_MAINTENANCE", - "RESTRICTION_CHECKPOINT", - "RESTRICTION_REGION_SPECIFIC" - ], - "enumDescriptions": [ - "Travel or maneuver is prohibited or extremely limited. This type's value may be used for restrictions which do not fall into a more specific subcategory, but the effect is that travel or maneuver is prohibited.", - "Travel or maneuver is prohibited due to traffic regulations. Includes restrictions due to explicit road markings. E.g., U-turns prohibited in marked intersections. NOTE: In the event that a restriction by regulations is enforced by a physical barrier, use RESTRICTION_PHYSICAL instead.", - "A permanent physical barrier prevents maneuver. This restriction type may not be used for restrictions with empty subpaths.", - "Maneuver is prohibited based on logical inference from other restrictions on segments or lanes. This restriction type may not be used for restrictions with empty subpaths. DEPRECATED", - "A gate or other moveable barrier prevents direct access. NOTE: Travel may still be allowed in certain circumstances. Use RESTRICTION_PRIVATE in lieu of RESTRICTION_GATE for segments that may still be routed on in certain circumstances. DEPRECATED", - "Road is closed due to road maintenance (e.g. repaving, adding more lanes) and cannot be used for routing.", - "Travel is prohibited for the duration of some season. E.g., due to ice/snow in the winter.", - "Road has signage discouraging or prohibiting use by the general public. E.g., roads with signs that say \"Private\", or \"No trespassing.\" NOTE: Use this type if travel is still be allowed in certain circumstances (e.g., legitimate visits to a place reachable by restricted roads only). Use RESTRICTION_ILLEGAL if travel is forbidden under all circumstances. This restriction type may not be used for restrictions with non-empty subpaths.", - "Travel over this segment is prohibited because of signage indicating one-way directionality in the opposite direction. This restriction type may not be used for restrictions with non-empty subpaths. Travel over this segment should be avoided at all costs unless the destination is on the segment. This restriction type may be used only for restrictions of STYLE_SINGLE.", - "RESERVED", - "", - "This restriction type may be used only for restrictions of STYLE_TURN, or STYLE_CONTIGUOUS with a subpath of length 2. The intersection at which the turn is restricted is the place of the toll booth.", - "Traveling on the associated subpath requires a fee to be paid.", - "Similar to RESTRICTION_USAGE_FEE_REQUIRED but instead of a fee for the usage, the fee is required for entering a special area (e.g. an amusement park). Also in contrast to RESTRICTION_USAGE_FEE_REQUIRED this restriction is supposed to be applied only to the segments that enter into the isolated restricted area from the outer world. Therefore there are two important points to consider when modeling data this way: 1) Every path that (exactly once) enters the restricted area should have exactly one such restriction (it does not matter whether it is a segment or subpath restriction). 2) All entrances have to be modeled consistently. It is recommended that the restriction is consistently applied to paths entering the area and not applied to paths leaving the area. NOTE: The above points are important because an additive penalty is applied for each individual restriction that appear on a path.", - "Similar to RESTRICTION_USAGE_FEE_REQUIRED but models a specific type of road tax called a 'vignette', used in certain European countries. Traveling on the associated subpath requires the driver or vehicle to have paid the road tax, documented by receipt of a physical or electronic vignette.", - "Restrictions in the RESTRICTION_ADVISORY category refer to paths where travel is permitted, but may not be prudent or is cumbersome. Since this is often a matter of opinion, clients may choose not to make use of this information or not display it directly to the user.", - "", - "", - "Segments with RESTRICTION_DISTURBED_BY_MAINTENANCE indicate that the road undergoes maintenance, however (unlike RESTRICTION_CONSTRUCTION) the segment will be used for routing.", - "An inland location where travelling is expected to be interrupted by authorities to inspect passengers and/or goods. This restriction type may only be used for restrictions with style STYLE_SINGLE.", - "Restrictions with the RESTRICTION_REGION_SPECIFIC category signify restrictions that are unique to a particular region, cannot currently be modeled through RestrictionProto, and/or have semantics that differ if in a particular region (such as car emission restrictions). These restrictions are specified on their restriction group, a traffic zone. Evaluating applicability of these restrictions requires an additional library located in the geostore/base/internal/specialized_restriction/ directory. That library controls the application of the restriction and will generally disregard data on this RestrictionProto. For example, go/cabrio-restriction-schema specifies that this proto should set TRAVEL_MOTOR_VEHICLE because other values have no effect; likewise, TimeScheduleProto has no effect. In truth this restriction's only job is to carry a restriction_group reference." - ], - "type": "string" - }, - "vehicleAttributeFilter": { - "$ref": "GeostoreVehicleAttributeFilterProto", - "description": "The restriction only applies to vehicles that meet all of the attributes defined here. If this is empty, it does not affect the scope of the restriction." - } - }, - "type": "object" - }, - "GeostoreRightsStatusProto": { - "description": "Proto used to represent rights for FeatureProto. See go/geo-rights for more details. NOTE: Use google3/geostore/provenance/public/rights.h or google3/java/com/google/geostore/provenance/rights/Rights.java instead of accessing this proto directly.", - "id": "GeostoreRightsStatusProto", - "properties": { - "fieldWithRights": { - "items": { - "$ref": "GeostoreFieldWithRightsProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreRoadConditionalProto": { - "description": "A RoadConditionalProto defines conditions that affect when the road traversal information is applicable.", - "id": "GeostoreRoadConditionalProto", - "properties": { - "timeSchedule": { - "$ref": "GeostoreTimeScheduleProto", - "description": "Specifies what times the information is applicable. This can be specific times (3-5 PM) or days of the week (Mon - Fri), as well as more general times like school hours, dusk to dawn, etc. If no value is set, the restriction is applicable at all times." - }, - "vehicleAttribute": { - "$ref": "GeostoreVehicleAttributeFilterProto", - "description": "Additional attributes that apply to the applied vehicle types." - }, - "vehicleType": { - "description": "Restrictions applying to specific types of vehicles.", - "items": { - "enum": [ - "UNKNOWN", - "ANY", - "CAR", - "MOTORCYCLE", - "TRUCK", - "BUS" - ], - "enumDescriptions": [ - "Default proto value, this value will never be set in MapFacts.", - "", - "", - "", - "Note: The exact definition of a truck varies by city, but it usually refers to vehicles with three or more axles. This value does not necessarily apply to all commercial vehicles or vehicles colloquially referred to as trucks (eg. pickup trucks).", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreRoadMonitorProto": { - "description": "A road monitor is a device that observes traffic for road violations like speeding or running a red light. These are modeled within MapFacts so that navigation services can warn users when they drive along road segments that are monitored.", - "id": "GeostoreRoadMonitorProto", - "properties": { - "monitoredRoad": { - "description": "The TYPE_ROAD segment features that this road monitor may observe.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreRoadSignComponentProto": { - "description": "Below is some horrible ASCII art and a description of the components of a road sign. +-------------------+ | A11 E50 Paris | | Chartres | +-------------------+ This sign would be composed of four components (all of them text components, the only option we support for now). The three in the first row would all have a \"major_position\" of zero. Their \"minor_position\" values would be zero for \"A11\", one for \"E50\", and two for \"Paris\". The component in the second row would have \"major_position\" value of one. This message provides the details of a single component of a road sign. A component defines its position within a sign, its type, and its content.", - "id": "GeostoreRoadSignComponentProto", - "properties": { - "featureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "The id of the feature referred to by this component, typically the route or locality feature this sign points towards. In the ASCII art example above, this field would contain the id for the routes A11 and E50 and the localities Chartres and Paris in the corresponding component." - }, - "featureType": { - "description": "The type of the feature referred to by this component. If feature_id is specified type of that feature should be the same as this field.", - "format": "int32", - "type": "integer" - }, - "majorPosition": { - "description": "This is the \"major\" position of this component within the set of components that make up a sign. This number can be thought of as the \"row\" of the sign on which the component appears, but no guarantees are made that there is a one-to-one mapping between \"major_position\" and the rows of information on the actual sign being modeled. A \"major_position\" value of zero would indicate that the component is near the top of the sign.", - "format": "int32", - "type": "integer" - }, - "minorPosition": { - "description": "This is the position of a component within the components of a sign that share a common \"major_position\". It can be though of as the \"column\" of the component, but like \"major_position\", no guarantees are made regarding its mapping to reality. For data sources that don't provide enough information to determine a component's major and minor positions, major position should be populated and minor position should not be present. A \"minor_position\" value of zero would indicate that the component is near the \"beginning\" of the sign. In countries where signs are read from left to right, \"minor_position\" zero would be near the left side of the sign.", - "format": "int32", - "type": "integer" - }, - "routeDirection": { - "description": "The direction of traffic for the referenced TYPE_ROUTE feature.", - "enum": [ - "DIRECTION_NONE", - "DIRECTION_NORTH", - "DIRECTION_EAST", - "DIRECTION_SOUTH", - "DIRECTION_WEST", - "DIRECTION_NORTHEAST", - "DIRECTION_NORTHWEST", - "DIRECTION_SOUTHEAST", - "DIRECTION_SOUTHWEST", - "DIRECTION_INNER", - "DIRECTION_OUTER" - ], - "enumDescriptions": [ - "DIRECTION_NONE value is reserved and only present there to avoid using a meaningful entry as the default value. RESERVED", - "", - "", - "", - "", - "", - "", - "", - "", - "Inner/Outer loop. Short names are not supported. The actual direction depends on the local driving rule (right-handed vs. left-handed). TODO(b/291302506) If you need an explicit loop direction or a road sign uses clockwise/counterclockwise, don't use INNER/OUTER but consider adding DIRECTION_CLOCKWISE and DIRECTION_COUNTERCLOCKWISE instead.", - "" - ], - "type": "string" - }, - "semanticType": { - "description": "The semantic type of sign.", - "enum": [ - "ROAD_SIGN_SEMANTIC_TYPE_UNSPECIFIED", - "PRIORITY", - "PRIORITY_STOP", - "PRIORITY_STOP_AHEAD", - "PRIORITY_YIELD", - "PRIORITY_YIELD_AHEAD", - "SPEED_LIMIT", - "SPEED_LIMIT_START", - "SPEED_LIMIT_START_MAX", - "SPEED_LIMIT_START_MIN", - "SPEED_LIMIT_START_SCHOOL", - "SPEED_LIMIT_START_ZONE", - "SPEED_LIMIT_START_ADVISORY", - "SPEED_LIMIT_START_AHEAD", - "SPEED_LIMIT_END", - "SPEED_LIMIT_END_MAX", - "SPEED_LIMIT_END_MIN", - "SPEED_LIMIT_END_SCHOOL", - "SPEED_LIMIT_END_ZONE", - "RESTRICTION", - "RESTRICTION_TURN", - "RESTRICTION_TURN_NO_RIGHT", - "RESTRICTION_TURN_NO_LEFT", - "RESTRICTION_TURN_NO_U", - "RESTRICTION_TURN_NO_THRU", - "RESTRICTION_MOVEMENT", - "RESTRICTION_MOVEMENT_PASSING", - "RESTRICTION_ACCESS", - "RESTRICTION_ACCESS_NO_ENTRY", - "WARNING", - "WARNING_CROSSING", - "WARNING_CROSSING_CHILDREN", - "WARNING_CROSSING_PEDESTRIAN", - "WARNING_CROSSING_RAILROAD", - "WARNING_CROSSING_SCHOOL", - "WARNING_ROAD_WORK", - "INFO", - "INFO_BOUNDARY", - "INFO_BOUNDARY_BUILT_UP_AREA", - "INFO_BOUNDARY_BUILT_UP_AREA_START", - "INFO_BOUNDARY_BUILT_UP_AREA_END", - "INFO_BOUNDARY_RESIDENTIAL", - "INFO_BOUNDARY_RESIDENTIAL_START", - "INFO_BOUNDARY_RESIDENTIAL_END", - "INFO_TRANSIT", - "AUXILIARY", - "AUXILIARY_ANIMAL", - "AUXILIARY_DIRECTION", - "AUXILIARY_DISTANCE", - "AUXILIARY_TIME", - "AUXILIARY_WEATHER", - "AUXILIARY_WEIGHT", - "AUXILIARY_VEHICLE" - ], - "enumDescriptions": [ - "clang-format off Default value.", - "Signs to control outbound traffic by yielding to other roads or stopping.", - "", - "", - "", - "", - "Speed limit signs indicating start and end of min, max, advisory speed.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Restriction signs to control traffic, turns, and other traffic related activities such as parking.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Various non-regulatory warning signs, usually used to slow traffic down for road work and other conditions like curved roads or crossings. Does not include speed limit related signs, which have their own category.", - "", - "", - "", - "", - "", - "", - "Signs providing information about the area, nearby POIs, or other items of interest to readers.", - "", - "Signs placed when entering/exiting built-up areas to inform people. Definition of build-up area can differ regionally, captured by TYPE_BUILT_UP_AREA features in MapFacts (go/buas for more details).", - "", - "", - "Signs placed entering/exiting dense residential neighborhoods where pedestrians and children might be present on or near the road often.", - "", - "", - "Transit signs that help users enter or navigate to transit locations inside buildings and potentially out on the roads too. These signs are more common inside transit stations, airports, and other complex multitenant buildings.", - "Auxiliary signs that might not mean much by themselves, but they provide context combined with other signs. They can be text or symbolic addendums. For example, a sign can have time info e.g. (9AM-5PM), meaning that the sign is only applicable in the aforementioned time window.", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "text": { - "$ref": "GeostoreNameProto", - "description": "If this sign component is of type \"TYPE_TEXT\", this field contains the text of the component. A NameProto is used to allow language and flags to be associated with the text." - } - }, - "type": "object" - }, - "GeostoreRoadSignProto": { - "description": "A RoadSignProto holds the details of a road sign. Currently this is simply a list of the items that appear on the sign and their relative position.", - "id": "GeostoreRoadSignProto", - "properties": { - "component": { - "description": "The list of components for a single road sign. A sign may be composed of multiple components, each with its own position and content.", - "items": { - "$ref": "GeostoreRoadSignComponentProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreRouteAssociationProto": { - "description": "This protocol buffer holds metadata about the association between a segment and a route.", - "id": "GeostoreRouteAssociationProto", - "properties": { - "displayPreference": { - "description": "clang-format on", - "enum": [ - "DISPLAY_PREFERRED", - "DISPLAY_BEST", - "DISPLAY_OK", - "DISPLAY_HIDE" - ], - "enumDescriptions": [ - "These routes should be displayed along this segment.", - "Among the preferred routes, this is the best one to display. There can be at most one of these per segment.", - "These are also valid route names to display, but clients should choose PREFERRED routes if available.", - "These routes should not be displayed." - ], - "type": "string" - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for the route association." - }, - "route": { - "$ref": "GeostoreFeatureIdProto", - "description": "Identifies the route feature to which this metadata applies. This is one of the routes the segment refers to via the SegmentProto.route field." - }, - "routeDirection": { - "description": "The direction of the TYPE_ROUTE feature in this route association. A small number of countries (mostly just the United States, Mexico, and Canada) use directional routes. For example, in the United States highway US-1 is referred to as US-1 North or US-1 South on the sides where flow of traffic moves in those directions.", - "enum": [ - "DIRECTION_NONE", - "DIRECTION_NORTH", - "DIRECTION_EAST", - "DIRECTION_SOUTH", - "DIRECTION_WEST", - "DIRECTION_NORTHEAST", - "DIRECTION_NORTHWEST", - "DIRECTION_SOUTHEAST", - "DIRECTION_SOUTHWEST", - "DIRECTION_INNER", - "DIRECTION_OUTER" - ], - "enumDescriptions": [ - "DIRECTION_NONE value is reserved and only present there to avoid using a meaningful entry as the default value. RESERVED", - "", - "", - "", - "", - "", - "", - "", - "", - "Inner/Outer loop. Short names are not supported. The actual direction depends on the local driving rule (right-handed vs. left-handed). TODO(b/291302506) If you need an explicit loop direction or a road sign uses clockwise/counterclockwise, don't use INNER/OUTER but consider adding DIRECTION_CLOCKWISE and DIRECTION_COUNTERCLOCKWISE instead.", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreRouteProto": { - "description": "A route is a collection of segments that forms a logical group - usually a named road or highway. Segments can belong to more than one route, and the segments of one route may be a subset of the segments of another route (e.g. I-5 N is a subset of I-5). Segments in the collection that define the route do not need to constitute a single uninterrupted line, there can be disconnects. The standard feature properties are interpreted as follows: name - Routes should have one or more names. (While unnamed roads certainly exist in the real world, we choose not to create route features for such roads. Instead, the unnamed segments are merely not part of any route.) address - This should always be empty. type - Specifies a particular route subtype, see feature.proto. point - This should always be empty. polyline - This should always be empty. polygon - This should always be empty. child - The pairs of segments that belong to this route (a given route should always reference segments in both travel directions).", - "id": "GeostoreRouteProto", - "properties": { - "childType": { - "description": "The feature type of the route children. Should be set if and only if all children are of the same feature type.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostoreSchoolDistrictProto": { - "description": "This protocol buffer holds school district specific attributes for features of TYPE_SCHOOL_DISTRICT.", - "id": "GeostoreSchoolDistrictProto", - "properties": { - "type": { - "enum": [ - "TYPE_UNIFIED", - "TYPE_ELEMENTARY", - "TYPE_SECONDARY" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreSegmentPathProto": { - "description": "A segment path describes a path through a short set of segments. The segment path can be used for any purpose. At the moment, only TYPE_ROAD_SIGN features can have associated segment paths: The segment path lists the segments that refer to the sign. These are the segments for which the sign is applicable. The sign's physical location is independent of the segments in the path.", - "id": "GeostoreSegmentPathProto", - "properties": { - "subpath": { - "description": "Specifies a sequence of feature ids of GeoStore segments. The feature ids are ordered. The path \"AB\" is not the same as the path \"BA\". The segments along the path are assumed to be connected via the appropriate intersections. The segment features that are referenced by this subpath refer to this feature back via the road_sign field in segment proto extension.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreSegmentProto": { - "description": "--------------------------------------------------------------------------- WARNING - if you add new fields to SegmentProto (or to other protos used by SegmentProto), you need to: - ensure that the ShortSegmentsMerger class (in geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the new fields will be discarded randomly. - consider whether they should be cleared in the ClearFeature() function (in maps/render/process-high-priority-roads.cc) if they are irrelevant for rendering high priority roads at far-out zoom levels. - update the test cases that ensure these two packages know all the SegmentProto fields in both mr-mergesegments_test.cc and maps/render/process-high-priority-roads_test.cc or you will break the VersaTile build. ---------------------------------------------------------------------------", - "id": "GeostoreSegmentProto", - "properties": { - "advisoryMaximumSpeed": { - "items": { - "$ref": "GeostoreAppliedSpeedLimitProto" - }, - "type": "array" - }, - "altitude": { - "description": "RESERVED", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "avgSpeedKph": { - "description": "The average speed that should be expected along this route under normal conditions, in kilometers per hour. (Hopefully we'll replace this with something a lot more sophisticated.)", - "format": "float", - "type": "number" - }, - "avgSpeedKphMetadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for the average speed." - }, - "barrier": { - "description": "clang-format on", - "enum": [ - "BARRIER_NONE", - "BARRIER_PRESENT", - "BARRIER_LEGAL", - "BARRIER_PHYSICAL" - ], - "enumDescriptions": [ - "Some barrier which prevents turns in the middle of a segment, but the details are not known (or the tester doesn't care to distinguish between legal and physical barriers).", - "", - "An example of this in the United States would be a pair of double-yellow lines. This pattern indicates that all turns are legally prohibited.", - "A concrete strip, island, planter, or other physical barrier. This category is also used when we model the roadways are separated." - ], - "type": "string" - }, - "barrierMetadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for the barrier." - }, - "bicycleFacility": { - "description": "clang-format on", - "enum": [ - "BICYCLE_FACILITY_SEPARATE_TRAIL", - "BICYCLE_FACILITY_PEDESTRIAN_PATH", - "BICYCLE_FACILITY_BIKE_FRIENDLY_PEDESTRIAN_PATH", - "BICYCLE_FACILITY_SHARED_ROAD", - "BICYCLE_FACILITY_BIKE_LANE", - "BICYCLE_FACILITY_BIKE_LANE_WITH_PEDESTRIAN_PATH", - "BICYCLE_FACILITY_WIDE_SHOULDER", - "BICYCLE_FACILITY_SHARROW", - "BICYCLE_FACILITY_SHARED_ROAD_WITH_PEDESTRIAN_PATH" - ], - "enumDescriptions": [ - "This segment has a detached trail or path running alongside it, suitable for the use of cyclists. When a segment has this attribute, there should never be a distinct segment for the trail, because the road and trail are part of the same logical segment. In other words, the trail is modeled by this attribute on its associated road, rather than by a separate segment.", - "This segment has a sidewalk or other pedestrian pathway that permits bicycles.", - "This segment has a bike-friendly (e.g., wide) sidewalk or other pedestrian pathway.", - "This segment allows bicycles to share the road with motor vehicles. It may or may not provide special accommodation for cyclists.", - "This segment has a striped bicycle lane.", - "This segment has a striped bicycle lane, and also has a sidewalk or other pedestrian pathway that permits bicycles.", - "This segment has a wide shoulder or curb lane.", - "This segment has pavement markings to make motorists aware of bicycles in a shared lane.", - "This segment allows bicycles to share the road with motor vehicles, and also has a sidewalk or other pedestrian pathway that permits bicycles." - ], - "type": "string" - }, - "bicycleSafety": { - "enum": [ - "BICYCLE_SAFETY_RECOMMENDED", - "BICYCLE_SAFETY_NEUTRAL", - "BICYCLE_SAFETY_CAUTION" - ], - "enumDescriptions": [ - "This segment is explicitly recommended as suitable for biking, for instance by a sign, by a city bike map, or by a user.", - "This segment is similarly suitable for biking as nearby segments with the same 'bicycle_facility'.", - "Cyclists should use extra caution on these segments, as they may be inferior in suitability for biking." - ], - "type": "string" - }, - "condition": { - "enum": [ - "CONDITION_GOOD", - "CONDITION_POOR" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "conditionMetadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for the condition." - }, - "constructionBeginDate": { - "$ref": "GeostoreDateTimeProto", - "description": "If known, the date that construction is scheduled to begin." - }, - "constructionEndDate": { - "$ref": "GeostoreDateTimeProto", - "description": "If known, the date that construction is scheduled to end." - }, - "constructionStatus": { - "enum": [ - "CONSTRUCTION_PLANNED", - "CONSTRUCTION_STARTED", - "CONSTRUCTION_COMPLETE", - "CONSTRUCTION_CLOSED_FOR_MAINTENANCE", - "CONSTRUCTION_DISTURBED_BY_MAINTENANCE" - ], - "enumDeprecated": [ - false, - false, - false, - true, - true - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "constructionStatusMetadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for the construction status." - }, - "covered": { - "description": "Whether the segment is covered by a roof etc. If this field is missing, the status is unknown.", - "type": "boolean" - }, - "distanceToEdge": { - "description": "Average distance between the segment's polyline and edge of the road on this side in meters. It need not be equal to the sum of width of all lanes in this direction. This width includes on-street bicycle lanes but excludes off-street lanes such as sidewalks. The edge of the road is the rightmost edge for segments in right side driving countries and leftmost edge for left side driving countries. Width of the road is sum of this and sibling's distance_to_edge.", - "format": "float", - "type": "number" - }, - "distanceToEdgeMetadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for distance_to_edge." - }, - "edgeFollowsSegmentBeginFraction": { - "description": "These indicate for what portion of the segment does the outer curb of the segment follow the segment polyline - i.e., where do the sweep curves connect along the outer curb. If unspecified, may be assumed to be equal to lane retraction, preferring outermost lane.", - "format": "float", - "type": "number" - }, - "edgeFollowsSegmentEndFraction": { - "format": "float", - "type": "number" - }, - "elevation": { - "description": "clang-format on", - "enum": [ - "ELEVATION_NORMAL", - "ELEVATION_BRIDGE", - "ELEVATION_TUNNEL", - "ELEVATION_SKYWAY", - "ELEVATION_STAIRWAY", - "ELEVATION_ESCALATOR", - "ELEVATION_ELEVATOR", - "ELEVATION_SLOPEWAY", - "ELEVATION_MOVING_WALKWAY" - ], - "enumDescriptions": [ - "", - "", - "", - "A skyway is a road that is raised on supports for an extended length.", - "Sample path description: \"Go up/down the stairs.\" PedestrianGradeCategory provides information about \"up/down\".", - "Sample path description: \"Go up/down the escalator.\" PedestrianGradeCategory provides information about \"up/down\".", - "Sample path description: \"Take the elevator up/down to the xth floor.\" PedestrianGradeCategory provides information about \"up/down\".", - "Sample path description: \"Ascend/descend the slope\" PedestrianGradeCategory provides information about \"ascend/descend\".", - "Sample path description: \"Get on the moving walkway.\"" - ], - "type": "string" - }, - "elevationMetadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for the elevation." - }, - "endpoint": { - "description": "clang-format on", - "enum": [ - "ENDPOINT_UNKNOWN", - "ENDPOINT_UNRESTRICTED", - "ENDPOINT_UNCONTROLLED", - "ENDPOINT_STOP_SIGN", - "ENDPOINT_ALL_WAY_STOP", - "ENDPOINT_TRAFFIC_LIGHT", - "ENDPOINT_THREE_WAY", - "ENDPOINT_FLASHING_RED", - "ENDPOINT_FLASHING_YELLOW", - "ENDPOINT_YIELD", - "ENDPOINT_MERGE", - "ENDPOINT_ROUNDABOUT", - "ENDPOINT_RAILROAD_CROSSING", - "ENDPOINT_NO_EXIT", - "ENDPOINT_WRONG_WAY", - "ENDPOINT_TOLL_BOOTH" - ], - "enumDescriptions": [ - "", - "This category is used in cases where traffic on this segment always has the right-of-way (e.g. passing a side street, fork in road).", - "", - "", - "", - "", - "Three-way in this direction", - "Flashing red light (stop)", - "Flashing yellow light (yield)", - "Traffic on this segment has to give way to oncoming traffic, but does not necessarily have to come to a full stop. This category is used where there exists a physical yield sign and/or road painting (triangles), but also where circumstances and applicable local traffic laws require traffic on such segment to give way (e.g. coming from a dirt road onto a paved road).", - "", - "This segment leads to a roundabout entrance. Note this category is not used for segments themselves inside a roundabout. See USAGE_ROUNDABOUT for these.", - "", - "This category denotes a dead-end. Useful to explicitly exclude connections to other data-sets, for example at country borders and building entrances in countries where the indoor and outdoor routing networks are provided by different providers.", - "DEPRECATED Use RESTRICTION_WRONG_WAY", - "This segment directly ends at a toll booth. The intersection capturing these segments represents the location of the toll booth. If it has a name, this is captured in the TYPE_INTERSECTION_GROUP that contains the intersection." - ], - "type": "string" - }, - "endpointMetadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for the endpoint." - }, - "gradeLevel": { - "description": "Detailed information about grade levels along the segment. If a GradeLevelProto is not present for any point (index) along the segment, the default grade level is zero. In between two points (indexes), the grade level of the segment is taken to be the max of the grade levels on either side of it. See gradelevel.proto for semantics of repeated indexes.", - "items": { - "$ref": "GeostoreGradeLevelProto" - }, - "type": "array" - }, - "internal": { - "$ref": "GeostoreInternalSegmentProto", - "description": "Internal-only data." - }, - "interpolationOffsetMeters": { - "description": "If specified, the perpendicular offset in meters from a road segment to an interpolated address along that road segment. See go/synthetic-address-positions.", - "format": "float", - "type": "number" - }, - "intersection": { - "$ref": "GeostoreFeatureIdProto", - "description": "The intersection feature corresponding to the destination of this segment. Intersections are used to represent the connectivity between segments. Each intersection stores the segment ids of all the incoming and outgoing segments that meet at that intersection. Turns can be made from this segment to any of the outgoing segments of its intersection, unless there is a restriction that explicitly disallows the turn (see below). Every segment has an intersection object, even if there are no other segments to connect to (i.e., a cul-de-sac or dead end)." - }, - "isMaxPermittedSpeedDerived": { - "description": "Specifies whether the max_permitted_speed_kph was derived from a heuristic as opposed to coming from an authoritative source.", - "type": "boolean" - }, - "lane": { - "description": "Detailed information about each lane in this direction, if available. Lanes are numbered from inside of the road outward, i.e. the lane next to the center line has lane_number 0. Note that lanes that are valid for travel in both directions appear in both segments of a segment pair (left turn lanes, one-lane roads, some passing lanes, reversing lanes). Some lanes may not be usable by cars, such as bike lanes. Also, some lanes may not exist along the entire segment, e.g. left- or right-turn lanes that appear just before the intersection.", - "items": { - "$ref": "GeostoreLaneProto" - }, - "type": "array" - }, - "legalMaximumSpeed": { - "description": "The legal maximum, legal minimum, and advisory (recommended but non-legally binding) maximum speed limits that are permitted on this segment. These should be the segment's legal limits; however, note that it may contain estimated values based on country-wide defaults and other heuristics (see 'AppliedSpeedLimitProto.trust_level'). Before exposing these fields to users as the legal speed limit please consult with Google lawyers.", - "items": { - "$ref": "GeostoreAppliedSpeedLimitProto" - }, - "type": "array" - }, - "legalMinimumSpeed": { - "description": "LINT.ThenChange(//depot/google3/geostore/base/internal/segment.cc:has_speed_limit)", - "items": { - "$ref": "GeostoreAppliedSpeedLimitProto" - }, - "type": "array" - }, - "maxPermittedSpeedKph": { - "description": "LINT.IfChange(speed_limits) The maximum speed that is permitted on this segment, in kilometers per hour. This should be the segment's legal speed limit; however, note that it may contain estimated values based on country-wide defaults and other heuristics (see 'is_max_permitted_speed_derived' below). Before exposing this field to users as the legal speed limit please consult with Google lawyers. ", - "format": "float", - "type": "number" - }, - "maxPermittedSpeedKphMetadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for the maximum permitted speed." - }, - "onRight": { - "description": "Specifies whether this segment carries right-hand traffic (cars keep to the right side of the road) instead of left-hand traffic (cars keep to the left side). This is true for US roads and false for UK roads, for example. See go/wikip/Left-_and_right-hand_traffic.", - "type": "boolean" - }, - "pedestrianCrossing": { - "$ref": "GeostorePedestrianCrossingProto", - "description": "Defines the pedestrian crossing(s) between the end point of this segment and the start point of this segment's sibling." - }, - "pedestrianFacility": { - "description": "clang-format on", - "enum": [ - "PEDESTRIAN_FACILITY_UNKNOWN", - "PEDESTRIAN_FACILITY_NONE", - "PEDESTRIAN_FACILITY_PRESENT", - "PEDESTRIAN_FACILITY_SIDEWALK", - "PEDESTRIAN_FACILITY_WIDE_SHOULDER" - ], - "enumDeprecated": [ - false, - false, - false, - true, - true - ], - "enumDescriptions": [ - "No data about pedestrian facility is available.", - "No special pedestrian facilities are available on this segment.", - "The segment has some kind of pedestrian facility, like a sidewalk or wide shoulder, that separates pedestrians from motor vehicle traffic.", - "Deprecated. Sidewalks are represented via a TYPE_PEDESTRIAN lane.", - "Deprecated. Wide shoulder is implied when segment.pedestrian_facility = PEDESTRIAN_FACILITY_PRESENT and segment.lane does not include a TYPE_PEDESTRIAN lane." - ], - "type": "string" - }, - "pedestrianGrade": { - "enum": [ - "PEDESTRIAN_GRADE_FLAT", - "PEDESTRIAN_GRADE_UP", - "PEDESTRIAN_GRADE_DOWN" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "priority": { - "description": "LINT.ThenChange(//depot/google3/maps/pathfinder/pgraph/pgraph-segment-categories.cc)", - "enum": [ - "PRIORITY_UNKNOWN", - "PRIORITY_NON_TRAFFIC", - "PRIORITY_TERMINAL", - "PRIORITY_LOCAL", - "PRIORITY_MINOR_ARTERIAL", - "PRIORITY_MAJOR_ARTERIAL", - "PRIORITY_SECONDARY_ROAD", - "PRIORITY_PRIMARY_HIGHWAY", - "PRIORITY_LIMITED_ACCESS", - "PRIORITY_CONTROLLED_ACCESS" - ], - "enumDescriptions": [ - "The priority of the segment is unknown. This is not actually allowed to be set in MapFacts, but best-practice is to have a default 0 value for enums.", - "A non-traffic segment is not intended for normal vehicles, e.g. a pedestrian mall. 0x10", - "A terminal road is not intended to carry through traffic, e.g. a narrow residential street or an access road to a point of interest. 0x20", - "A small city street, typically for travel in a residential neighborhood, or a small rural road. This is the lowest priority suitable for through traffic. 0x30", - "A moderate-capacity \"collector\" that funnels traffic from local roads towards arterial roads or business areas. 0x40", - "A high-capacity road that carries large volumes of traffic between different neighborhoods or towns. 0x50", - "Roads that act as conduits a) between primary highways (and above), or b) from major/minor arterial roads to primary highways (and above). They may be state highways, for example. 0x60", - "These highways are major preferred roads that connect between regions, but that do not have significant access restrictions. Most crossings are level grade (traffic light, stop sign) and there may be driveways and local roads that connect directly to the highway. NOTE: Where a dense network of limited/controlled access roads carries most of the traffic between regions, this priority may be infrequent. 0x70", - "Limited access highways have some access restrictions, but are not fully access controlled. Typically driveways and local roads connect to a separate \"frontage road\" that is connected to the highway via spaced traffic lights, interchanges, or stop signs. Limited access roads are sometimes called expressways. 0x80", - "Controlled access highways have grade-separated crossings and are accessed exclusively by ramps. They are usually called \"freeways\" or \"motorways\". 0x90" - ], - "type": "string" - }, - "priorityMetadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for the priority." - }, - "ramp": { - "$ref": "GeostoreSegmentProtoRampProto", - "description": "May only be set when the segment's usage is `USAGE_RAMP`." - }, - "restriction": { - "description": "The set of restrictions that apply to this segment. Restrictions may make a single segment, turn, or more complex maneuver along a set of segments unroutable for the specified travel modes, or may only add penalties or warnings, depending on the restriction type. Turn restrictions are one example of a restriction. By default, turns are allowed onto all outgoing segments from this segment's intersection (including the sibling of this segment, i.e. U-turns are allowed by default). If any of these turns are disallowed they will be listed as \"subpath restrictions\". A subpath restriction disallows travel on given sequence of segments. In the case of a disallowed turn, the subpath simply consists of the source and destination feature ids. There may also be restrictions that apply to all travel on this segment (e.g. chains required, or closed in winter), or restrictions that just apply to certain lanes (e.g. high occupancy vehicle lanes).", - "items": { - "$ref": "GeostoreRestrictionProto" - }, - "type": "array" - }, - "roadMonitor": { - "description": "The road monitors that monitor this segment for traffic violations.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "roadSign": { - "description": "The road sign(s) which this segment refers to. These are features of TYPE_ROAD_SIGN that are applicable to this segment. For example, a sign that says \"TO KIRKLAND\" might apply to several segments on a freeway off-ramp (until the end of the ramp). Note that this field makes it easy to find the signs for a given road segment. The feature for the sign lists the segments that refer to it.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "route": { - "description": "The route(s) to which this segment belongs.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "routeAssociation": { - "description": "Holds metadata about the associations between this segment and the route features listed in the route field. This metadata need not be present; the only consistency requirement is that every feature ID that appears inside 'route_association' must also appear in the repeated 'route' field. If a route does not appear in route_association, consumers should assume that it has a default initialized RouteAssociationProto.", - "items": { - "$ref": "GeostoreRouteAssociationProto" - }, - "type": "array" - }, - "separatedRoadways": { - "description": "Indicates whether the segment's opposing lanes of traffic are separated from this segment, and hence have been represented in a separate feature. This means that there are two pairs of siblings instead of one.", - "type": "boolean" - }, - "sibling": { - "$ref": "GeostoreFeatureIdProto", - "description": "The other segment of this segment pair (see above). The segment that is referenced by the sibling field refers to this feature back via the same sibling field. Both segment and sibling should have the same properties such as geometry, country code, elevation, level relation, priority etc. Since routes are required to have segment and sibling at the same time, the set of routes on a segment is same to that of the sibling." - }, - "slope": { - "description": "Each slope instance is tied to a point along the segment polyline (unrelated to the vertices in the segment's polyline) and represents the slope of the segment between that point and the point tied to the next slope istance, or the end of the segment if it's the last slope instance. A segment should have at least one slope.", - "items": { - "$ref": "GeostoreSlopeProto" - }, - "type": "array" - }, - "surface": { - "description": "clang-format on LINT.ThenChange(//depot/google3/geostore/base/proto/lane.proto) Specific lanes may override this segment-level surface type.", - "enum": [ - "SURFACE_UNKNOWN", - "SURFACE_PAVED", - "SURFACE_ASPHALT", - "SURFACE_CONCRETE", - "SURFACE_CHIPSEAL", - "SURFACE_BRICK", - "SURFACE_SETT", - "SURFACE_COBBLESTONE", - "SURFACE_UNPAVED", - "SURFACE_GRAVEL", - "SURFACE_DIRT", - "SURFACE_SAND" - ], - "enumDescriptions": [ - "RESERVED", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "surfaceMetadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for the surface." - }, - "sweep": { - "description": "The geometric sweeps between this segment and nearby segments, used for real road width rendering. A sweep describes the surface that connects to segments.", - "items": { - "$ref": "GeostoreSweepProto" - }, - "type": "array" - }, - "tollRoad": { - "description": "If this segment is part of a toll road. It would be nice to have data about the toll cost, locations of toll booths, and so forth. Sadly, we don't have this data at this time.", - "type": "boolean" - }, - "usage": { - "description": "clang-format on LINT.ThenChange(//depot/google3/maps/pathfinder/pgraph/pgraph-segment-categories.cc)", - "enum": [ - "USAGE_ANY", - "USAGE_RAMP", - "USAGE_ON_RAMP", - "USAGE_OFF_RAMP", - "USAGE_ON_OFF_RAMP", - "USAGE_INTERCHANGE", - "USAGE_SPECIAL_TRAFFIC_FIGURE", - "USAGE_ROUNDABOUT", - "USAGE_ROUNDABOUT_BYPASS", - "USAGE_ROUNDABOUT_INTERNAL_BYPASS", - "USAGE_ROUNDABOUT_EXTERNAL_BYPASS", - "USAGE_ENCLOSED_TRAFFIC_AREA", - "USAGE_PEDESTRIAN_MALL", - "USAGE_MAJOR_PEDESTRIAN_MALL", - "USAGE_MINOR_PEDESTRIAN_MALL", - "USAGE_WALKWAY", - "USAGE_TRAIL", - "USAGE_STATION_PATH", - "USAGE_ACCESS_PATH", - "USAGE_CROSSING", - "USAGE_MARKED_CROSSING", - "USAGE_UNMARKED_CROSSING", - "USAGE_OVERPASS", - "USAGE_UNDERPASS", - "USAGE_HALLWAY", - "USAGE_TURN_SEGMENT", - "USAGE_INDOOR_CONNECTION_PATH" - ], - "enumDescriptions": [ - "Not a true usage category--this value was added just to ease the transition from proto1 to proto2.", - "Ramps are connecting segments to or between limited access roads. They are often called \"slip roads\" in Europe.", - "", - "", - "", - "", - "This road segment is part of a special traffic figure, which is like a roundabout or traffic circle, but doesn't meet all of the requirements of USAGE_ROUNDABOUT. It has a round shape but, e.g., there may be higher priority roads within the interior of the figure (also known as a hamburger roundabout), or the figure doesn't complete an entire circuit.", - "This road segment forms part of a roundabout or traffic circle (these terms don't have the exact same meaning, but the schema doesn't distinguish and captures both). Roundabouts complete one entire circuit, and are one-way through their entire circuit. Sample wording in directions: \"At the roundabout, take the 2nd exit\", or \"Go through 1 roundabout\".", - "This road segment is part of a bypass associated with, but not part of, a roundabout or traffic circle, that shortcuts the outer ring.", - "This road segment is part of a special traffic figure that allows traffic to go straight through the roundabout without entering the circle part of the roundabout. Divides the roundabout into two halves.", - "Shortcut from the entrance of a roundabout to the same destination as the first exit from the roundabout relative to that entrance.", - "A parking lot or parking structure, possibly with multiple entrances that can be significant for routing.", - "A stretch of road closed to normal traffic (trams, buses, delivery vehicles may be allowed).", - "", - "", - "\"Non-traffic\" segments that are roughly associated with the road network but that are being modeled separately from the road network, e.g., a sidewalk or wide shoulder. In contrast, walkways modeled using segments that are part of the road network should be marked with pedestrian and bicycle facilities. NOTE: Separately modeled walkways are unusual and have issues; consult with oyster-team before using this in new data.", - "A non-road segment that can be described as a major path or a trail. A trail is often part of a dedicated network of named biking or walking trails, is not particularly short, and typically has scenic value or facilitates crossing rough terrain. USAGE_TRAIL implies that PRIORITY_NON_TRAFFIC must be set, but compared to a segment with no usage at all, is suitable for extra emphasis by clients as a more desirable segment to travel on. Minor paths, such as pedestrian shortcuts, walkways through building complexes, and short walkways through a city park should be modeled as PRIORITY_NON_TRAFFIC with no usage. Sample path description: \"Take the trail.\"", - "Segment between toll gate and station center which represents logical location trains stop at. The segment's AddressComponent should have a route name which includes appropriate station name whenever possible. This segment should usually be restricted by RESTRICTION_USAGE_FEE_REQUIRED in order to penalize walking directions that just go through this segment. Sample path description: \"Get in Shibuya station, and take the path to the platform.\" NOTE: This attribute is unusual; it should not be set in new data.", - "Alley in park, backyard of communal facilities such as museum, or kind of private properties open to public. The segment's AddressComponent should have a route name which includes the property's name whenever possible. This is different from trails as the purpose of the access path is more specific than trails. Sample path description: \"Go through the access path to the National Museum.\" NOTE: This attribute is unusual and not clearly defined; it should not be set in new data.", - "A segment that connects separately modeled walkways (or other non-traffic segments) across a road. NOTE: USAGE_CROSSING segments make sense only where pedestrian segments are modeled separately. They cannot be used in the common case of sidewalks modeled as pedestrian facilities on road. Using a USAGE_CROSSING segment without connection to other non-traffic segments only to mark the location of a crossing is wrong.", - "Crossing with mark. We assume zebra marking for now. Sample path description: \"Take the crosswalk.\"", - "Crossing with no mark Sample path description: \"Cross the road.\"", - "This is different from ELEVATION_SKYWAY as this implies \"non-traffic\". Sample path description: \"Take the pedestrian overpass.\"", - "Underground crossing paths and implies \"non-traffic\". Sample path description: \"Take the pedestrian underpass.\"", - "Sample path description: \"Go through the hallway.\" NOTE: This attribute is unusual and not clearly defined; it should not be set in new data.", - "Turn segments are connecting segments between lower priority roads that bypass the direct intersection of the roads. They are the preferred route, or perhaps the only valid route, for turns between the roads. For example, in the US this would be a segment that would allow a vehicle to take a free right-turn without having to go through the intersection. Similarly in the UK, this would be a segment that allows a free left-turn. Also, the small segment next to the island of a channelized turn lane would fall under this category.", - "Usage to explicitly indicate that the segment connects walking networks on indoor levels in different buildings." - ], - "type": "string" - }, - "visibleLandmark": { - "description": "A collection of landmarks that are visible when traveling along this segment and useful for wayfinding to users following routes using this segment. The landmark need not be on the segment. Each segment in a pair of siblings specifies its landmarks independently. A landmark applicable to both appears in both.", - "items": { - "$ref": "GeostoreLandmarkReferenceProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreSegmentProtoRampProto": { - "description": "Encapsulates ramp-specific properties.", - "id": "GeostoreSegmentProtoRampProto", - "properties": { - "maxConnectedPriority": { - "description": "The highest priority of any TYPE_ROAD endpoint segment which is transitively connected to this ramp via other ramp segments. For instance, if we have two roads connected through a series of ramps (omitting intersections): Road(P=96)-\u003e Ramp 1 -\u003e Ramp 2 -\u003e Ramp 3 -\u003e Road(P=122) -\u003e Road(P=144) The `max_connected_priority` of all three intermediary ramps is 122. It's not 144, since Road(P=144) is connected through another road, not a ramp. This differs from the usual `SegmentProto.priority` field, which contains the lowest priority across any connected road segment.", - "enum": [ - "PRIORITY_UNKNOWN", - "PRIORITY_NON_TRAFFIC", - "PRIORITY_TERMINAL", - "PRIORITY_LOCAL", - "PRIORITY_MINOR_ARTERIAL", - "PRIORITY_MAJOR_ARTERIAL", - "PRIORITY_SECONDARY_ROAD", - "PRIORITY_PRIMARY_HIGHWAY", - "PRIORITY_LIMITED_ACCESS", - "PRIORITY_CONTROLLED_ACCESS" - ], - "enumDescriptions": [ - "The priority of the segment is unknown. This is not actually allowed to be set in MapFacts, but best-practice is to have a default 0 value for enums.", - "A non-traffic segment is not intended for normal vehicles, e.g. a pedestrian mall. 0x10", - "A terminal road is not intended to carry through traffic, e.g. a narrow residential street or an access road to a point of interest. 0x20", - "A small city street, typically for travel in a residential neighborhood, or a small rural road. This is the lowest priority suitable for through traffic. 0x30", - "A moderate-capacity \"collector\" that funnels traffic from local roads towards arterial roads or business areas. 0x40", - "A high-capacity road that carries large volumes of traffic between different neighborhoods or towns. 0x50", - "Roads that act as conduits a) between primary highways (and above), or b) from major/minor arterial roads to primary highways (and above). They may be state highways, for example. 0x60", - "These highways are major preferred roads that connect between regions, but that do not have significant access restrictions. Most crossings are level grade (traffic light, stop sign) and there may be driveways and local roads that connect directly to the highway. NOTE: Where a dense network of limited/controlled access roads carries most of the traffic between regions, this priority may be infrequent. 0x70", - "Limited access highways have some access restrictions, but are not fully access controlled. Typically driveways and local roads connect to a separate \"frontage road\" that is connected to the highway via spaced traffic lights, interchanges, or stop signs. Limited access roads are sometimes called expressways. 0x80", - "Controlled access highways have grade-separated crossings and are accessed exclusively by ramps. They are usually called \"freeways\" or \"motorways\". 0x90" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreServiceAreaProto": { - "description": "This proto represents the geographic area served by an establishment. WARNING: This proto is not meant to be used directly. Please use the provided libraries. http://google3/geostore/base/public/service_area.h http://google3/java/com/google/geostore/base/ServiceArea.java", - "id": "GeostoreServiceAreaProto", - "properties": { - "servedFeature": { - "description": "The features that make up the service area for this establishment. These features are subject to the following constraints applied by editing middleware (notably, not strictly enforced by lints in storage): 1. The following feature types (and their subtypes) may be used: + TYPE_ISLAND + TYPE_POLITICAL, except the following prohibited subtypes: - TYPE_CONSTITUENCY - TYPE_LAND_PARCEL + TYPE_POSTAL 2. There is a maximum limit (currently 20) to the number of areas which may be provided. This is due to serving efficiency limitations. 3. There are no additional geometry requirements for these features beyond the requirements based on the feature types above. In practice this means that these features will either have polygonal or point-based geometries. 4. These referenced features are generally required to have names, though this is not strictly enforced.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreServicedStopProto": { - "description": "Defines an ordered reference to a line variant’s stop.", - "id": "GeostoreServicedStopProto", - "properties": { - "id": { - "$ref": "GeostoreFeatureIdProto", - "description": "Reference to a Transit POI feature (gcid:transit_station) or platform compound section (gcid:railway_platform) serviced by the line variant." - }, - "index": { - "description": "An index representing the order in which the above station is serviced by the line variant.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostoreSkiBoundaryProto": { - "description": "This protocol buffer holds attributes for features of TYPE_SKI_BOUNDARY.", - "id": "GeostoreSkiBoundaryProto", - "properties": { - "type": { - "enum": [ - "TYPE_ANY", - "TYPE_DANGER", - "TYPE_SKI_AREA", - "TYPE_SLOW_ZONE" - ], - "enumDescriptions": [ - "ABSTRACT", - "The boundary line for a danger area. This is used to mark lines that should not be crossed for reasons of safety.", - "The boundary line for a ski area. This is generally used to specify the line at which the ski resort ends, rather than a line enclosing a single ski run.", - "An area signposted for slow skiing only." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreSkiLiftProto": { - "description": "This protocol buffer holds attributes for features of TYPE_SKI_LIFT.", - "id": "GeostoreSkiLiftProto", - "properties": { - "type": { - "description": "clang-format on", - "enum": [ - "TYPE_ANY", - "TYPE_SURFACE", - "TYPE_T_BAR", - "TYPE_J_BAR", - "TYPE_ROPE_TOW", - "TYPE_POMA", - "TYPE_CARPET", - "TYPE_FUNICULAR", - "TYPE_GONDOLA", - "TYPE_CHAIR", - "TYPE_AERIAL", - "TYPE_TRAM" - ], - "enumDescriptions": [ - "ABSTRACT", - "Surface lifts are those that pull or carry a skier along the ground; rope tows are a common example.", - "", - "", - "", - "", - "", - "", - "An aerial lift, such as a gondola or funitel, that moves enclosed cars along a continuously circulating set of cables.", - "An open-air chair lift.", - "Aerial lifts are those that run along cables suspended above the ground", - "An aerial tram system that shuttles back and forth along a fixed set of cables." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreSkiTrailProto": { - "description": "This protocol buffer holds attributes for features of TYPE_SKI_TRAIL.", - "id": "GeostoreSkiTrailProto", - "properties": { - "difficulty": { - "enum": [ - "DIFFICULTY_EASIEST", - "DIFFICULTY_EASY", - "DIFFICULTY_INTERMEDIATE", - "DIFFICULTY_ADVANCED_INTERMEDIATE", - "DIFFICULTY_DIFFICULT", - "DIFFICULTY_ADVANCED_DIFFICULT" - ], - "enumDescriptions": [ - "The easiest ski trail. In the US, this would be marked with double-green circles.", - "A novice ski trail. In the US, this would be marked with a single green circle.", - "An intermediate-level ski trail. In the US, this would be marked with a single blue square.", - "An advanced-intermediate level ski trail. In the US, this would be marked with double-blue squares.", - "A difficult-level ski trail. In the US, this would be marked with a single black diamond.", - "An advanced-difficult level ski trail. In the US, this would be marked with double-black diamonds." - ], - "type": "string" - }, - "type": { - "enum": [ - "TYPE_ANY", - "TYPE_GLADE", - "TYPE_TRAIL_TERRAIN", - "TYPE_TRAIL", - "TYPE_RACE_COURSE", - "TYPE_BOWL" - ], - "enumDescriptions": [ - "ABSTRACT", - "Glade trails are ski paths that traverse wooded areas; they may be well-defined or not, and groomed or ungroomed. Ideally, they should be rendered differently on map tiles to distinguish them from standard ski trails.", - "A terrain-park area, usually containing special features such as jumps or half-pipes.", - "A regular ski-trail.", - "A trail specifically used for ski races.", - "Bowls are large open areas, usually steep and often rocky, that are open for skiing but don't have defined trails. They are frequented mostly by expert skiers." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreSlopeProto": { - "id": "GeostoreSlopeProto", - "properties": { - "slopeValue": { - "description": "Slope value as elevation change divided by horizontal distance, in the format of decimal, e.g., ‘0.1234’ means a 12.34% slope. If a slope_value is unset, it indicates we don’t have enough information to compute slope at this location.", - "format": "float", - "type": "number" - }, - "startPointFraction": { - "description": "Indicates how far along the segment this slope value starts to apply, in the format of decimal between 0 and 1.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GeostoreSocialReferenceProto": { - "description": "MapFacts GAIA ID assigned to this feature. These values are virtual GAIA IDs from MapFacts, and as such are not stored in Focus.", - "id": "GeostoreSocialReferenceProto", - "properties": { - "baseGaiaId": { - "description": "WARNING: Please do NOT introduce new uses; treat this field as if it were deprecated. ", - "format": "int64", - "type": "string" - }, - "claimedGaiaId": { - "description": "GAIA ID used when a business has been claimed. This value is a robot GAIA ID. Robots are a special type of GAIA account used to denote identity for a user or a group of users, but are not logged-in directly by a user.", - "format": "int64", - "type": "string" - }, - "gaiaIdForDisplay": { - "description": "WARNING: Please do NOT introduce new uses; treat this field as if it were deprecated. ", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreSourceInfoProto": { - "description": "Source infos are the canonical way to establish data provenance. They can currently be set on features, edits, and issues. Every feature has a repeated list of SourceInfoProto messages to describe the source data that was used in building this feature. The data includes a feature id that points to additional data about the data source (version, copyright notice, etc), and optional \"raw data\" that is taken directly from the provider's format and has not been converted to a canonical form.", - "id": "GeostoreSourceInfoProto", - "properties": { - "attributionUrl": { - "description": "This is the URL of a page representing all the data from this source in this feature. It may have be the ultimate source of the data (in case of scraping) or merely the same data styled according the provider's taste. There is a similar field in DataSourceProto which is NOT cached in this field, since it has a different meaning.", - "items": { - "$ref": "GeostoreUrlProto" - }, - "type": "array" - }, - "collectionDate": { - "$ref": "GeostoreDateTimeProto", - "description": "The time that this particular piece of data was collected. If different attributes were collected on different dates, this is the date of the most recent edit." - }, - "cookie": { - "description": "A source info may have a magic cookie whose content and semantics are defined by the specific import process or third-party feed. For feeds that are processed by Distillery, the cookie, when set, should contain the unique identifier for the feature as provided by the feed.", - "type": "string" - }, - "dataset": { - "description": "The dataset from which this SourceInfoProto was created. The content of this string will be determined by the data provider (e.g. for MultiNet data, \"fra\" would indicate the dataset for France). This field is unnecessary for providers that deliver a single dataset per release (e.g. Basarsoft).", - "type": "string" - }, - "gaiaId": { - "deprecated": true, - "description": "The Gaia ID of the user who provided us with this data. This field should never be set on source infos present on features, but may be set on source infos present on edits. DEPRECATED: Most clients should use the \"user\" field instead where Gaia IDs are encrypted.", - "format": "int64", - "type": "string" - }, - "impersonationUser": { - "$ref": "GeostoreUserProto", - "description": "Information about an internal user or system that is operating on behalf of `user` by way of impersonation." - }, - "layer": { - "description": "The name of the layer from which this SourceInfoProto was created.", - "type": "string" - }, - "ogrFid": { - "description": "The OGR feature identifier from which this SourceInfoProto was created. This is an internal OGR record identifier and has nothing to do with any of the feature's fields or the FeatureIdProto for the FeatureProto containing this SourceInfoProto. This field is present only for debugging purposes and possible use in the match pattern of a FeatureChangeProto designed to fix bad source data very early in the importing process.", - "format": "int64", - "type": "string" - }, - "provider": { - "description": "The data provider from which this source info was generated. The value must be equal to the one on the TYPE_DATA_SOURCE feature referenced by this source info via the source_id reference (see above). ", - "format": "int32", - "type": "integer" - }, - "rawData": { - "description": "A source info may optionally have a set of key-value pairs that provide \"raw data\" specific to that source. The types of raw data available will vary from one provider to another and should not be used in production code. Instead, new fields and/or protocol buffers should be defined to represent this information in a canonical form, and the relevant importers should be modified to populate these new fields.", - "items": { - "$ref": "GeostoreRawDataProto" - }, - "type": "array" - }, - "release": { - "description": "The data release from which this SourceInfoProto was created. The format for this string is provider-dependent (e.g. a MultiNet release would look like \"2008.01\").", - "type": "string" - }, - "sourceId": { - "$ref": "GeostoreFeatureIdProto", - "description": "A source info may have a corresponding TYPE_DATA_SOURCE feature that describes it (provider, copyright information, date of release, etc). In the context of edits and issues, this field should not be set." - }, - "temporaryData": { - "$ref": "Proto2BridgeMessageSet", - "description": "A place for clients to attach arbitrary data to a source info. Never set in MapFacts." - }, - "user": { - "$ref": "GeostoreUserProto", - "description": "RESERVED" - } - }, - "type": "object" - }, - "GeostoreSourceTrustProto": { - "description": "Trust related information about the input source (feed or user) to help feature summarization. Typically, the values in this proto are either based on source's previous observations (e.g., a blocked LBC user or a trusted feed) or their status (Google hired operator or admin user). The proto can later contain a more granular trust score or correctness probabilities. A higher enum value indicates a more trusted source. Leaving room in the value space for adding more granular enums, if they become necessary later.", - "id": "GeostoreSourceTrustProto", - "properties": { - "level": { - "description": "The level of trust for the source of the observation.", - "enum": [ - "UNKNOWN", - "BLOCKED", - "NOT_TRUSTED", - "YP_FEEDS", - "TRUSTED", - "SUPER_TRUSTED" - ], - "enumDescriptions": [ - "Value not set", - "Should not be used (e.g. known spammer, 404 url)", - "Edits from external users.", - "Trusted feeds like IUSA etc. (See note below).", - "Internal operators, approved edits.", - "Internal admin operators" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreSpeedLimitProto": { - "description": "A speed limit, containing both the limit and the conditions in which it applies.", - "id": "GeostoreSpeedLimitProto", - "properties": { - "category": { - "description": "The type of speed limit.", - "enum": [ - "SPEED_LIMIT_CATEGORY_UNKNOWN", - "NONE", - "SCHOOL", - "CONSTRUCTION" - ], - "enumDescriptions": [ - "Default proto value, this value will never be set in MapFacts.", - "Speed limits that apply outside of any particular category (contrast to the following categories.)", - "Speed limits that apply in a school zone.", - "Speed limits that apply in a construction zone." - ], - "type": "string" - }, - "condition": { - "description": "The conditions under which this speed limit is applicable. If multiple conditions are set, at least one of them must be true.", - "items": { - "$ref": "GeostoreRoadConditionalProto" - }, - "type": "array" - }, - "sourceType": { - "description": "The source of the speed limit.", - "enum": [ - "SPEED_LIMIT_SOURCE_TYPE_UNKNOWN", - "EXPLICIT", - "IMPLICIT" - ], - "enumDescriptions": [ - "Speed limit source is unknown for various reasons. Default value.", - "The speed limit was derived from an explicit observation (such as a speed limit sign).", - "The speed limit was derived implicitly by some policy or regulation (i.e. statuatory speed limit). An implicit speed limit value that is curated from statutory speed limit." - ], - "type": "string" - }, - "speedWithUnit": { - "$ref": "GeostoreSpeedProto", - "description": "A constant speed limit." - }, - "unlimitedSpeed": { - "$ref": "GeostoreUnlimitedSpeedProto", - "description": "A speed limit with no limit value. When there is no speed limit in place." - }, - "variableSpeed": { - "$ref": "GeostoreVariableSpeedProto", - "description": "A dynamic speed limit that can vary within a range of values based on road conditions." - } - }, - "type": "object" - }, - "GeostoreSpeedProto": { - "description": "A speed value and unit.", - "id": "GeostoreSpeedProto", - "properties": { - "speed": { - "description": "All speed values are stored in kilometers per hour.", - "format": "float", - "type": "number" - }, - "unit": { - "description": "Mapfacts only allows unit to be KILOMETERS_PER_HOUR.", - "enum": [ - "UNIT_UNKNOWN", - "MILES_PER_HOUR", - "KILOMETERS_PER_HOUR" - ], - "enumDescriptions": [ - "Default proto value, this value will never be set in MapFacts.", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreStableFieldPathProto": { - "description": "Represents a way to traverse nested fields by referencing their token fields. Everything starts relative to a known root message, specified externally. E.g., suppose we have a feature proto that has a lane with token 0x123 which in turn has a lane connection with token 0x456 for which we want to assert something about flowline altitudes. The field path in that case will look like: field_path: { field_num: 31 # segment } field_path: { field_num: 6 # lane version_token: \"0x123\" } field_path: { field_num: 8 # lane_connection version_token: \"0x456\" } field_path: { field_num: 3 # flow } field_path: { field_num: 1 # track } field_path: { # Note: pose is repeated. By not specifying a token we refer to all poses # in a track. field_num: 2 # pose } field_path: { field_num: 4 # altitude } This path could also be represented succinctly in a more human-friendly form as something like: segment.lane[@0x123].lane_connection[@0x456].flow.track.pose[*].altitude", - "id": "GeostoreStableFieldPathProto", - "properties": { - "fieldPath": { - "description": "A sequence of field selectors to be traversed starting from the root message.", - "items": { - "$ref": "GeostoreStableFieldPathProtoStableFieldSelector" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreStableFieldPathProtoStableFieldSelector": { - "id": "GeostoreStableFieldPathProtoStableFieldSelector", - "properties": { - "fieldNum": { - "description": "Field number to select.", - "format": "int32", - "type": "integer" - }, - "versionToken": { - "description": "Select repeated field entry by its version token. If this is used, then the message referenced by field_num must have a token field annotated with the (version_token) field option. Must be omitted for leaf non-repeated fields. If unset for a repeated field, we consider this selector to apply equally to all descendants.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreSweepProto": { - "description": "This protocol buffer represents the 2D polygon connecting two segments at an intersection. Collectively, sweep polygons represent intersections for real road width rendering. Notes: - Sweeps represent geometry between the *end* of one segment and the *end* of the other segment (modulo retraction values). - Sweeps are strongly referenced, meaning geometry is stored on both segments involved in the sweep. For example, in the diagram below, the sweep between A and B would be stored on both segment A and segment B. | B | v --A--\u003e - Sweeps are not strictly stored on adjacent segments. Disconnected segments (e.g., segments separated by an intersection group) may also contain sweeps.", - "id": "GeostoreSweepProto", - "properties": { - "otherSegmentFeatureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "The segment feature connected to this segment via the sweep geometry." - }, - "polygon": { - "$ref": "GeostorePolygonProto", - "description": "Polygonal geometry representing the area between this segment and the other segment." - }, - "sweepCurve": { - "$ref": "GeostoreCurveConnectionProto", - "description": "Describes parameters for generating the edge of this sweep that starts at edge_follows_segment_end_fraction. The other side of the sweep should be described on the sweep present on the sibling pair." - }, - "sweepToken": { - "description": "A token that can be used to identify the version of the data about this sweep.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreTelephoneProto": { - "description": "This protocol buffer is used to represent telephone numbers and related information.", - "id": "GeostoreTelephoneProto", - "properties": { - "callRate": { - "description": "RESERVED", - "items": { - "$ref": "GeostorePriceRangeProto" - }, - "type": "array" - }, - "contactCategory": { - "description": "Disambiguates between the types of information or service a caller might seek when contacting this phone number.", - "enum": [ - "CONTACT_CATEGORY_UNSPECIFIED", - "CUSTOMER_SERVICE", - "RESERVATIONS", - "SALES" - ], - "enumDescriptions": [ - "", - "Provides service to customers before, during, or after a purchase. /m/03w5xm", - "Allows customers to reserve a seat, ticket, room, etc. /m/0n9nm2h", - "Provides information about a purchase of a product or service. /m/014dgf" - ], - "type": "string" - }, - "flag": { - "items": { - "enum": [ - "FLAG_NO_COLD_CALLS", - "FLAG_PREFERRED" - ], - "enumDescriptions": [ - "DEPRECATED", - "This number is (one of) the preferred numbers to call. It should be displayed before other numbers in maps/placepage, for example. For each language served, there shall be at most 1 preferred phone (i.e., if there are two preferred phones, then the intersection between the \"language\" array should be empty). Note that the presence of a \"preferred\" phone doesn't state that we have no confidence on the other numbers of this establishment. The preference is based on the fact that this number is the primary customer service number, reservation hot line, etc." - ], - "type": "string" - }, - "type": "array" - }, - "isSharedNumber": { - "description": "True if this phone number is not unique to this establishment and might be shared with other features. In case an establishment shares a phone number with a business chain of which it is a member, and the number canonically belongs to that chain, it should be marked as shared for the establishment but not shared for the chain.", - "type": "boolean" - }, - "label": { - "description": "RESERVED", - "items": { - "$ref": "GeostoreNameProto" - }, - "type": "array" - }, - "language": { - "description": "RESERVED", - "items": { - "type": "string" - }, - "type": "array" - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this telephone number." - }, - "number": { - "$ref": "TelephoneNumber", - "deprecated": true, - "description": "** DEPRECATED ** This is deprecated in favor of phone_number below. An internationalized representation of a phone number. See //location/country/telephonenumber.proto" - }, - "phoneNumber": { - "$ref": "I18nPhonenumbersPhoneNumber", - "description": "An internationalized representation of a phone number. See //java/com/google/i18n/phonenumbers/phonenumber.proto" - }, - "serviceLocationFeature": { - "description": "The features from which this phone number can be called from. For instance, if a phone number can only be called from Europe, this field will contain a reference to the TYPE_CONTINENT feature of Europe. This field is analogous to http://kg/schema/common/phone_number/service_location. The only valid destination feature types are TYPE_CONTINENT and TYPE_POLITICAL. If empty, this phone number can be called from anywhere in Earth (this is the case for the majority of phones).", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "type": { - "enum": [ - "VOICE", - "FAX", - "TDD", - "DATA", - "MOBILE", - "MESSAGING" - ], - "enumDeprecated": [ - false, - false, - false, - true, - true, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "The MESSAGING type should not be used in FeatureProto, but will be used in the context of KG /common/phone_number/type.", - "RESERVED" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreTemporaryClosureProto": { - "description": "This protocol buffer stores information related to temporary closure of a feature. The only allowed precisions for a date is PRECISION_DAY. DateTimeProto.seconds should have the lowest legal value for the desired date/time and precision. E.g. for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. NOTE: Each date is stored in UTC but should be interpreted as being in the local timezone. So clients should convert the DateTimeProto to local (civil) time using UTC+0, and then treat the result as local to the feature.", - "id": "GeostoreTemporaryClosureProto", - "properties": { - "endAsOfDate": { - "$ref": "GeostoreDateTimeProto", - "description": "The latest when this closure may end, if the exact date is unknown. If set, the feature is operational again no later than this date." - }, - "endDate": { - "$ref": "GeostoreDateTimeProto", - "description": "RESERVED" - }, - "startAsOfDate": { - "$ref": "GeostoreDateTimeProto", - "description": "The latest when this closure may start, if the exact date is unknown. If set, the feature is temporarily closed starting no later than this date." - }, - "startDate": { - "$ref": "GeostoreDateTimeProto", - "description": "RESERVED" - } - }, - "type": "object" - }, - "GeostoreTextAffixProto": { - "description": "Represents text (with an associated language) that is affixed to the beginning and/or end of a primary text.", - "id": "GeostoreTextAffixProto", - "properties": { - "language": { - "description": "The external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. These strings should be treated as opaque blobs. You can use LanguageCodeConverter::FromOther to convert the string to a LanguageCode reference. You can then call methods on the LanguageCode class to extract language/script/region subtags (if any). See also http://g3doc/i18n/identifiers/g3doc/using-iii. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.md", - "type": "string" - }, - "prefix": { - "description": "Text to prepend to the primary text, including any necessary trailing whitespace. At least one of prefix or suffix is required.", - "type": "string" - }, - "suffix": { - "description": "Text to append to the end of the primary text, including any necessary leading whitespace. At least one of prefix or suffix is required.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreThreeDimensionalModelProto": { - "id": "GeostoreThreeDimensionalModelProto", - "properties": { - "pointIndices": { - "description": "Triangle vertex indices, each triple defines a triangle.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "points": { - "description": "We store a triangular mesh in indexed format. Points array.", - "items": { - "$ref": "GeostorePointWithHeightProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreTimeBasedRateProto": { - "description": "A rate which applies based on the precise times of utilization. Defines a rate, as well as restrictions on the start and end times which must be satisfied in order to be eligible for the rate. See go/rate-schema for more details.", - "id": "GeostoreTimeBasedRateProto", - "properties": { - "durationBasedRate": { - "description": "The rates for this rule. Each duration_based_rate defines the costs associated with a particular duration of a stay. There must be at least one rate with range_start_seconds set to 0 and there cannot be gaps between durations (i.e. there should be no interval uncovered between 0 and the largest range_end_seconds of any duration-based rate).", - "items": { - "$ref": "GeostoreDurationBasedRateProto" - }, - "type": "array" - }, - "taxIncluded": { - "description": "If true, tax is included in the prices in this rate. If false, additional taxes may apply.", - "type": "boolean" - }, - "validEndWithin": { - "$ref": "GeostoreTimeScheduleProto" - }, - "validStartWithin": { - "$ref": "GeostoreTimeScheduleProto", - "description": "Time period during which utilization of this rate must start in order to be eligible for the rate. If not set, there is no restriction on the time when the utilization starts." - } - }, - "type": "object" - }, - "GeostoreTimeComponentProto": { - "id": "GeostoreTimeComponentProto", - "properties": { - "componentType": { - "enum": [ - "COMPONENT_TYPE_POSITIVE", - "COMPONENT_TYPE_MISSING_DATA" - ], - "enumDescriptions": [ - "Indicates that this time component is set with regards to what the component is trying to model. For instance, if this time component models opening hours for a business then COMPONENT_TYPE_POSITIVE means open and if it models a road restriction COMPONENT_TYPE_POSITIVE means the road is closed.", - "Indicates that data for this time component is absent and that making assumptions about data over the time period this component represents may be unsafe. For instance, if this time component models opening hours for a business then COMPONENT_TYPE_MISSING_DATA can be used to explicitly record that we are missing data (eg. Sunday is not listed in the hours). NOTE: Not all uses of this proto support the COMPONENT_TYPE_MISSING_DATA component_type." - ], - "type": "string" - }, - "interval": { - "description": "The time component is the intersection of these intervals", - "items": { - "$ref": "GeostoreTimeIntervalProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreTimeEndpointProto": { - "description": "Not all combinations of optional fields in TimeEndpointProto are allowed. The granularity of time is a path along the directed graph with these edges: second -\u003e minute minute -\u003e hour hour -\u003e day of week hour -\u003e day of month hour -\u003e day of year day of week -\u003e week of month day of week -\u003e week of year day of month -\u003e month day of year -\u003e year week of month -\u003e month week of year -\u003e year month -\u003e year A TimeEndpointProto may not specify two fields that are unordered with respect to each other (\"day of year\" and \"day of week\", for instance). The absence of fields larger than any specified field indicates repetition (e.g. no year indicates that the interval occurs every year). The absence of units that are \"smaller\" than the largest specified unit indicates a default lowest value (no hour means midnight (0)). When intersecting time intervals, \"smaller\" units repeat within the \"larger\" unit as many times as necessary. For example, the intersection of the interval from hour 0 to hour 24 with the interval from second 0 to second 1 is equivalent to the union of the set of intervals which represents the first second of every minute of every hour of every day. ----------------------------------------------------------------------------- WARNING - if you add new fields to TimeEndpointProto you need to: - ensure AreTimeEndpointsEquivalent considers the new fields (and update the corresponding tests) -----------------------------------------------------------------------------", - "id": "GeostoreTimeEndpointProto", - "properties": { - "day": { - "description": "Valid ranges are 0-7, 1-31, and 1-366 (see day_type below)", - "format": "int32", - "type": "integer" - }, - "dayType": { - "enum": [ - "DAY_OF_WEEK", - "DAY_OF_MONTH", - "DAY_OF_YEAR" - ], - "enumDescriptions": [ - "Valid day range 0-7. (see enum DayOfWeek)", - "Valid day range 1-31, must be valid day in month", - "Eg day = 31 is not valid if month = September Valid day range 1-366" - ], - "type": "string" - }, - "hour": { - "description": "Valid range is 0-24. Because it could be unclear what wrapping hours mean in relation to days, 24 is used to denote midnight at the end of a day.", - "format": "int32", - "type": "integer" - }, - "minute": { - "description": "Valid range is 0-59, except when a repetitive minute interval ends at the end of an hour, in which case 60 is a legal end value.", - "format": "int32", - "type": "integer" - }, - "month": { - "enum": [ - "JANUARY", - "FEBRUARY", - "MARCH", - "APRIL", - "MAY", - "JUNE", - "JULY", - "AUGUST", - "SEPTEMBER", - "OCTOBER", - "NOVEMBER", - "DECEMBER", - "NEXT_JANUARY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "The following value is used to define the end of a recurring interval that ends at the end of the year. It can be used without a day to represent the end of an interval with month resolution (e.g. November through December) or with a day of month of 1 to represent the end of an interval with day resolution (e.g. November 15th through December 31th). This is similar to using hour 24 to represent the end of a recurring interval with hour resolution that ends at midnight. Also see http://g/pathfinder-team/NFS3S4L2lhs/tdMSGr0H9r4J for a real example." - ], - "type": "string" - }, - "second": { - "description": "Valid range is 0-59, except when a repetitive second interval ends at the end of a minute, in which case 60 is a legal end value.", - "format": "int32", - "type": "integer" - }, - "week": { - "description": "Valid ranges are 0-5 and 1-53 (depending on the value of week_type, see below).", - "format": "int32", - "type": "integer" - }, - "weekType": { - "enum": [ - "WEEK_OF_MONTH", - "WEEK_OF_YEAR" - ], - "enumDescriptions": [ - "Valid week range 0-5.", - "Note: Weeks of this type are numbered such that week 0 begins on the 1st of the month and extends for 7 days. This has the consequence that week 4 never has a full 7 days. For example, for a month with 31 days, dates 1-7 are in week 0, 8-14 in week 1, 15-21 in week 2, 22-28 in week 3, and 29-31 in week 4. Week 5 is considered the first week of next month, and much like using `24` for the hour field or `NEXT_JANUARY` for the month field, is meant only to denote that an interval includes week 4. Valid week range 1-53." - ], - "type": "string" - }, - "year": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostoreTimeIntervalProto": { - "id": "GeostoreTimeIntervalProto", - "properties": { - "begin": { - "$ref": "GeostoreTimeEndpointProto", - "description": "Begin and end are used to specify a range of times: [begin, end). If one is present, the other must be present as well. Additionally, both must have matching time granularities - all fields specified in the begin TimeEndpointProto must be present in the end TimeEndpointProto and vice-versa. Hours are not allowed to wrap (begin.hour() \u003c= end.hour())." - }, - "end": { - "$ref": "GeostoreTimeEndpointProto" - }, - "inverted": { - "description": "If true, then this interval actually encodes the complement of the specified occasion or range. For example, the following TimeIntervalProto encodes all times other than the month of May. TimeIntervalProto[ type = TYPE_RANGE inverted = true begin = TimeEndpointProto[ month = MAY ] end = TimeEndpointProto[ month = JUNE ] ]", - "type": "boolean" - }, - "occasion": { - "description": "clang-format on", - "enum": [ - "OCCASION_SEASON", - "OCCASION_SEASON_WINTER", - "OCCASION_SEASON_SUMMER", - "OCCASION_DAYS", - "OCCASION_DAYS_SCHOOL", - "OCCASION_DAYS_HOLIDAY", - "OCCASION_DAYS_PRE_HOLIDAY", - "OCCASION_HOURS", - "OCCASION_HOURS_PEAK", - "OCCASION_HOURS_SCHOOL", - "OCCASION_HOURS_MARKET", - "OCCASION_HOURS_BUSINESS", - "OCCASION_HOURS_DUSK_TO_DAWN", - "OCCASION_HOURS_HIGH_TIDE", - "OCCASION_CONDITIONS", - "OCCASION_CONDITIONS_HIGH_WATER", - "OCCASION_CONDITIONS_ADVERSE", - "OCCASION_CONDITIONS_ADVERSE_RAIN", - "OCCASION_CONDITIONS_ADVERSE_WET", - "OCCASION_CONDITIONS_ADVERSE_FOG", - "OCCASION_CONDITIONS_WINTERY", - "OCCASION_CONDITIONS_WINTERY_AVALANCHE", - "OCCASION_CONDITIONS_WINTERY_SNOW", - "OCCASION_CONDITIONS_WINTERY_ICE", - "OCCASION_CONDITIONS_EVENT", - "OCCASION_CONDITIONS_POLLUTION", - "OCCASION_CONDITIONS_LOW_WATER", - "OCCASION_UNDEFINED", - "OCCASION_UNDEFINED_REGULAR", - "OCCASION_UNDEFINED_SELDOM" - ], - "enumDescriptions": [ - "NavTeq just uses \"seasonal closure = yes\".", - "", - "\"Ski season\" appears in Tele Atlas once. Use OCCASION_SEASON_WINTER instead.", - "", - "", - "", - "", - "", - "", - "OCCASION_HOURS_OFF_PEAK doesn't exist because it's the inverse of OCCASION_HOURS_PEAK.", - "", - "Business hours appears only three times.", - "", - "OCCASION_HOURS_DAWN_TO_DUSK doesn't exist because it's the inverse of OCCASION_HOURS_DUSK_TO_DAWN.", - "", - "", - "Adverse conditions include rain, storms, and fog.", - "", - "", - "", - "Wintery conditions include snow and ice.", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": { - "enum": [ - "TYPE_OCCASION", - "TYPE_RANGE" - ], - "enumDescriptions": [ - "Indicates a fuzzy interval using one of the occasion constants.", - "Indicates a range of times between two endpoints, as specified in TimeEndpointProto. The endpoint is NOT inclusive." - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreTimeScheduleProto": { - "id": "GeostoreTimeScheduleProto", - "properties": { - "component": { - "description": "The schedule is the union of these components.", - "items": { - "$ref": "GeostoreTimeComponentProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreTimezoneProto": { - "description": "A TimezoneProto holds information about a feature's related time zone.", - "id": "GeostoreTimezoneProto", - "properties": { - "id": { - "description": "i18n recognized time zone identifier. For the full list of identifiers, see google3/i18n/identifiers/data/timezones.txt.", - "type": "string" - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this relation." - } - }, - "type": "object" - }, - "GeostoreTollClusterProto": { - "description": "A collection of information that applies to a toll cluster.", - "id": "GeostoreTollClusterProto", - "properties": { - "intersection": { - "description": "The list of gcid:toll_intersection features that this toll cluster. A toll cluster can consist of either a single or a group of intersection points called toll intersections at the end of various road segments in MapFacts that represent one or more lanes passing through a toll fixture that all go to the same routing destination. This relationship is reciprocal, as a toll intersection also stores a reference to the toll cluster it belongs to. A toll cluster must have a reference to one or more toll interections (i.e. toll_cluster.intersection should always be populated).", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreTollPathProto": { - "description": "A TollPathProto describes the sequential travel across one or more /geo/type/toll_cluster features. Traveling across a toll path may entail paying a fee, buying a toll pass, etc (although we don't model this in FeatureProto). To travel across a toll path, one must travel between toll clusters in the exact order specified. See go/geo-schema:toll-paths for more information.", - "id": "GeostoreTollPathProto", - "properties": { - "tollClusterSequence": { - "$ref": "GeostoreTollPathProtoTollClusterSequence", - "description": "Details the /geo/type/toll_cluster features which constitute this toll path." - } - }, - "type": "object" - }, - "GeostoreTollPathProtoIndexedTollCluster": { - "description": "A /geo/type/toll_cluster and its position along a toll path.", - "id": "GeostoreTollPathProtoIndexedTollCluster", - "properties": { - "cluster": { - "$ref": "GeostoreFeatureIdProto", - "description": "The /geo/type/toll_cluster feature at this position." - }, - "index": { - "description": "The position along the path where this cluster appears.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GeostoreTollPathProtoTollClusterSequence": { - "description": "The set of toll clusters in a toll path, along with their position in the path.", - "id": "GeostoreTollPathProtoTollClusterSequence", - "properties": { - "indexedTollClusters": { - "description": "There must be at least one toll cluster in a toll path, and there may not be duplicates. For ordering, one should rely on `IndexedTollClusterProto.index`, rather than the repeated field ordering (elements may be shuffled). This is a unidirectional reference - toll clusters do not reference the toll paths they're a part of. The toll clusters themselves may be part of multiple toll paths.", - "items": { - "$ref": "GeostoreTollPathProtoIndexedTollCluster" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreTrackProto": { - "id": "GeostoreTrackProto", - "properties": { - "index": { - "description": "The index of this TrackProto in a list of TrackProtos.", - "format": "int32", - "type": "integer" - }, - "pose": { - "description": "The instantaneous pose of points along this track. The fields set inside each pose must be set consistently along the track.", - "items": { - "$ref": "GeostorePoseProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreTransitLineProto": { - "description": "A transit line is a named set of transit trips that are advertised to passengers under a common name, and a number of attributes that are true for all those trips. There is no requirement for each trip to travel through the same list of stops or use the same legs, so a line can contain trips in opposite directions or with variations in the sequence of stops. See go/oysterpedia for an overview of the transit feature types. The standard feature properties are interpreted as follows: name - The names of this line, including both long and short names, if available. Short names like \"10\" or \"Blue\" should carry the FLAG_ABBREVIATED, long names like \"Dublin/Pleasanton line\" should not. The preferred name (one per language) for displaying the line on its own (e.g., as a search result for the line) should carry the FLAG_PREFERRED. website - The official web page describing this line. Repeated if multilingual. Line features have no geometry (neither points nor polylines nor polygons). Within Transit Oyster, geometry can be found in legs. Additional data only in Transit Oyster: child - The legs of this line, in no particular order. source_info - Specifies the GTFS routes that match this feature. Each is given as a PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and cookie is the route_id.", - "id": "GeostoreTransitLineProto", - "properties": { - "agency": { - "description": "The transit agencies responsible for operating this line. All lines should have at least one agency, and most will have exactly one. The following cases are reasons for multiple agencies: - Code share: Two or more agencies share trips - Alternations: Each trip is run by one of multiple agencies - Additional: All trips run by one agency, but a second one sells tickets In all cases the order has no meaning. Clarification comes from the trips.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "labelBackgroundColor": { - "description": "The background color of labels for that transit line. The encoding is like in HTML or CSS, eg. 0x11ff00 means a bit of red, full green, no blue, in sRGB color space. The most significant byte must be zero, i.e. no transparency.", - "format": "uint32", - "type": "integer" - }, - "labelTextColor": { - "description": "The text color of labels for that transit line. Encoding like label_background_color.", - "format": "uint32", - "type": "integer" - }, - "stations": { - "description": "The transit stations (establishment POIs with gcid:transit_station) which this transit line can go through, in no particular order. Usage note: The source of truth are the transit leg features in Transit Oyster. In MapFacts, that information is cached in two locations: in this field, and in transit station attachments on POIs. Do not assume these locations are always up to date and/or synchronized with each other.", - "items": { - "$ref": "GeostoreFeatureIdProto" - }, - "type": "array" - }, - "vehicleType": { - "description": "The type of vehicle that applies to all trips that use this line.", - "enum": [ - "VEHICLE_TYPE_ANY", - "VEHICLE_TYPE_RAIL", - "VEHICLE_TYPE_METRO_RAIL", - "VEHICLE_TYPE_SUBWAY", - "VEHICLE_TYPE_TRAM", - "VEHICLE_TYPE_MONORAIL", - "VEHICLE_TYPE_HEAVY_RAIL", - "VEHICLE_TYPE_COMMUTER_TRAIN", - "VEHICLE_TYPE_HIGH_SPEED_TRAIN", - "VEHICLE_TYPE_LONG_DISTANCE_TRAIN", - "VEHICLE_TYPE_BUS", - "VEHICLE_TYPE_INTERCITY_BUS", - "VEHICLE_TYPE_TROLLEYBUS", - "VEHICLE_TYPE_SHARE_TAXI", - "VEHICLE_TYPE_FERRY", - "VEHICLE_TYPE_CABLE_CAR", - "VEHICLE_TYPE_GONDOLA_LIFT", - "VEHICLE_TYPE_FUNICULAR", - "VEHICLE_TYPE_SPECIAL", - "VEHICLE_TYPE_HORSE_CARRIAGE", - "VEHICLE_TYPE_AIRPLANE" - ], - "enumDescriptions": [ - "ABSTRACT", - "ABSTRACT Metropolitan railway transport, mostly for local transit.", - "ABSTRACT", - "Subways run mainly or completely underground.", - "Trams run mainly or completely along streets.", - "Monorails run on track consisting of a single rail, e.g. suspended monorail.", - "Heavy rail is rail transit that consists of larger vehicles, typically to transport more people across longer distances.", - "Commuter trains connect the city with the suburbs. They tend to stop often and run short distances.", - "High speed trains operate at much higher speed than normal trains. They can also run long distances. Typically with speeds upwards of 200 km/h. Examples are TGV, ICE, Shinkansen.", - "Long distance trains connect multiple cities/regions of a country or even multiple countries. They run faster, but not high-speed. Typically speeds under 200 km/h.", - "Buses cover mass transit over roads.", - "A bus that connects cities to each other.", - "A bus powered by electricity obtained from overhead wires by means of a pole.", - "Share taxi is sort of bus transport with ability to drop off and pick up passengers anywhere on it route. Generally share taxi uses minibus vehicles.", - "Ferries are a means of transit over water, often operated on regular, frequent, return services.", - "Cable cars are a form of transit used in the mountains.", - "An aerial lift (colloquially called \"gondola lift\") is a means of cable transport in which cabins, cars, gondolas or open chairs are hauled above the ground by means of one or more cables. Examples: gondola lift, aerial tramway. Funicular is a cable railway in which a pair of tram-like vehicles use each other as counter balance to ascend and descend.", - "", - "Used for easter eggs.", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GeostoreTransitLineVariantProto": { - "description": "A line variant is a specific instantiation of a line concept, denoted by the ordered set of stops and collection of segments that it traverses. Line variants are modeled as TYPE_ROUTE features with gcid:transit_line_variant. This proto stores line-variant-specific information that is not generally applicable to all routes. Schema Design Doc: go/transit-line-concepts-and-variants", - "id": "GeostoreTransitLineVariantProto", - "properties": { - "lineConcept": { - "$ref": "GeostoreFeatureIdProto", - "description": "Reference to the line variant’s line concept." - }, - "stops": { - "description": "Ordered list of stations or platforms serviced by this line variant. The order is captured by the ServicedStopProto.index field.", - "items": { - "$ref": "GeostoreServicedStopProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreTransitStationProto": { - "description": "Encapsulates information related to an individual transit station.", - "id": "GeostoreTransitStationProto", - "properties": { - "agencyAssociations": { - "description": "All the transit agencies which service this station. A station can be serviced by multiple stations. There may only be one agency association per transit agency. See go/transit-agency-relation-migration for more details.", - "items": { - "$ref": "GeostoreTransitStationProtoTransitAgencyAssociationProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreTransitStationProtoTransitAgencyAssociationProto": { - "description": "The association between this station and the agency which services this station.", - "id": "GeostoreTransitStationProtoTransitAgencyAssociationProto", - "properties": { - "agency": { - "$ref": "GeostoreFeatureIdProto", - "description": "The transit agency which services this station." - }, - "stationCode": { - "description": "A station code uniquely identifies a transit station within the transit agency's network.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreTrustSignalsProto": { - "id": "GeostoreTrustSignalsProto", - "properties": { - "sourceTrust": { - "$ref": "GeostoreSourceTrustProto", - "description": "Trust signals for the source of a given observation, typically based on historical evidences or status (like internal Google operator)." - } - }, - "type": "object" - }, - "GeostoreUnlimitedSpeedProto": { - "description": "A speed limit without a limit value. Used to indicate the absence of a speed limit.", - "id": "GeostoreUnlimitedSpeedProto", - "properties": {}, - "type": "object" - }, - "GeostoreUrlListProto": { - "description": "Hold a list of URLs, usually to contain translations of a single URL.", - "id": "GeostoreUrlListProto", - "properties": { - "url": { - "items": { - "$ref": "GeostoreUrlProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreUrlProto": { - "description": "A web location for a Feature. URLs should always be stored in repeated fields because some objects (eg. transit schedules in Brussels) have different URLs for different languages.", - "id": "GeostoreUrlProto", - "properties": { - "language": { - "description": "The external form of a Google International Identifiers Initiative (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for details. We place extra restrictions on languages in addition to what the III library requires. See http://go/geo-schema-reference/feature-properties/languages.md This field represents the language of the content of the web site. It may be missing if the web site is language-independent or if the language is unknown.", - "type": "string" - }, - "metadata": { - "$ref": "GeostoreFieldMetadataProto", - "description": "Field-level metadata for this URL. NOTE: there are multiple UrlProto fields in the Geo Schema. Metadata here is only expected to be present on FeatureProto.website[]." - }, - "pagerank": { - "deprecated": true, - "description": "** DEPRECATED ** The pagerank of this URL. Valid values [0, 65535] See http://wiki/Main/NearestSeeds for more information.", - "format": "int32", - "type": "integer" - }, - "url": { - "description": "The URL.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreUserProto": { - "description": "UserProto identifies a (human) user of Geo Data. Its primary use is in describing the source of pieces of data (e.g. edits). It could be a simple identifier, but isn't so that we can store it in the clear while still preventing correlation between a user's contribution.", - "id": "GeostoreUserProto", - "properties": { - "encryptedGaiaId": { - "description": "The user Gaia ID in encrypted form. Wipeout ids take value of \"\" in bytes.", - "format": "byte", - "type": "string" - }, - "encryptionKeyName": { - "description": "Required. The name of the key used to encrypt the Gaia ID.", - "type": "string" - }, - "keystoreConfigId": { - "description": "Required (valid default provided). The config ID of the owner of the above encryption_key_name. This field must be set if the encryption key name is *not* \"mapfacts_gaia_id_encryption_key\".", - "format": "int32", - "type": "integer" - }, - "username": { - "description": "If possible, writers should set this to a full user email, including the domain. Readers should not assume that this is a well-formed email address. This field may only be set by Atlas, Pushpin and OneRing because they are internal tools which have a PWG exception to store textual usernames in the clear.", - "type": "string" - } - }, - "type": "object" - }, - "GeostoreVariableSpeedProto": { - "description": "A speed limit whose value can change based on road, traffic, and weather conditions.", - "id": "GeostoreVariableSpeedProto", - "properties": {}, - "type": "object" - }, - "GeostoreVehicleAttributeFilterProto": { - "description": "A set of vehicle attribute conditionals (ex: weight \u003e= 20T \u0026\u0026 num_trailers = 2) used to define a slice of all possible vehicles. This can be useful for filtering one or more vehicles by a predicate.", - "id": "GeostoreVehicleAttributeFilterProto", - "properties": { - "axleCount": { - "description": "A repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: \"count \u003c 4\" AND \"count \u003e= 2\" means \"2 \u003c= count \u003c 4\").", - "items": { - "$ref": "GeostoreCountComparisonProto" - }, - "type": "array" - }, - "hasTrailer": { - "description": "Whether the applied vehicle types have a trailer attached to them.", - "type": "boolean" - }, - "hazardousGoods": { - "description": "List of prohibited hazardous goods for a vehicle to carry. A repeated value here is treated as an OR operation, meaning that they may not carry ANY of the goods listed.", - "items": { - "enum": [ - "HAZARDOUS_GOODS_TYPE_UNSPECIFIED", - "EXPLOSIVES", - "GASES", - "FLAMMABLE", - "COMBUSTIBLE", - "ORGANIC", - "POISON", - "RADIOACTIVE", - "CORROSIVE", - "ASPIRATION_HAZARD", - "ENVIRONMENTAL_HAZARD", - "OTHER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "numTrailers": { - "description": "A repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: \"count \u003c= 4\" AND \"count \u003e 2\" means \"2 \u003c count \u003c= 4\").", - "items": { - "$ref": "GeostoreCountComparisonProto" - }, - "type": "array" - }, - "trailerLength": { - "description": "A repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: \"length \u003c= 53ft\" AND \"length \u003e 48ft\" means \"48ft \u003c length \u003c= 53ft\").", - "items": { - "$ref": "GeostoreDimensionComparisonProto" - }, - "type": "array" - }, - "vehicleHeight": { - "description": "A repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: \"height \u003e 3m\" AND \"height \u003c= 5m\" means \"3m \u003c height \u003c= 5m\").", - "items": { - "$ref": "GeostoreDimensionComparisonProto" - }, - "type": "array" - }, - "vehicleLength": { - "description": "A repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: \"length \u003c= 40m\" AND \"length \u003e 35m\" means \"35m \u003c length \u003c= 40m\").", - "items": { - "$ref": "GeostoreDimensionComparisonProto" - }, - "type": "array" - }, - "vehicleWeight": { - "description": "A repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: \"weight \u003c 8T\" AND \"weight \u003e= 3T\" means \"3T \u003c= weight \u003c 8T\").", - "items": { - "$ref": "GeostoreWeightComparisonProto" - }, - "type": "array" - }, - "vehicleWidth": { - "description": "A repeated value here is treated as an AND operation. This allows for ranges to be represented by two values (ex: \"width \u003c 4m\" AND \"width \u003e= 2m\" means \"2m \u003c= width \u003c 4m\").", - "items": { - "$ref": "GeostoreDimensionComparisonProto" - }, - "type": "array" - } - }, - "type": "object" - }, - "GeostoreVerticalOrderingProto": { - "description": "A proto representing a vertical ordering of a feature. NOTE: This shouldn’t be used if a more specific field can be used instead. E.g., for TYPE_SEGMENT features grade_level field should be preferred. For indoor features RELATION_ON_LEVEL should be preferred. See go/aboutgrades for comparison of various types of levels available.", - "id": "GeostoreVerticalOrderingProto", - "properties": { - "level": { - "description": "The level represents the relative vertical ordering of a feature among all overlapping features. For example, we may have features along freeway surface have level = 0, and features on an overpass have level = 1. NOTE: It’s assumed that all features have level 0 by default, so that it’s not necessary for all overlapping features to have this set.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GeostoreWeightComparisonProto": { - "description": "A weight value tagged with a comparison operator.", - "id": "GeostoreWeightComparisonProto", - "properties": { - "comparison": { - "enum": [ - "COMPARISONOPERATOR_UNKNOWN", - "LESS_THAN", - "GREATER_THAN" - ], - "enumDescriptions": [ - "Default proto value, this value will never be set in Mapfacts.", - "", - "" - ], - "type": "string" - }, - "comparisonOperator": { - "enum": [ - "UNSPECIFIED", - "EQUAL", - "LESS_THAN", - "LESS_THAN_OR_EQUAL", - "GREATER_THAN", - "GREATER_THAN_OR_EQUAL" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "weightWithUnit": { - "$ref": "GeostoreWeightProto" - } - }, - "type": "object" - }, - "GeostoreWeightProto": { - "description": "A weight with a numerical value and unit.", - "id": "GeostoreWeightProto", - "properties": { - "unit": { - "enum": [ - "UNIT_UNKNOWN", - "METRIC_TON", - "LONG_TON", - "SHORT_TON", - "POUND", - "KILOGRAM" - ], - "enumDescriptions": [ - "Default proto value, this value will never be set in Mapfacts.", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "weight": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GoodocAnchorLabel": { - "description": "An anchor label can be attached to any element to give it a reference address. LogicalEntity links (see goodoc-semantics.proto) may use anchor labels to point to goodoc elements (they may also use indices to locate the element, but the indices could become invalid if the goodocs are allowed to mutate). Multiple elements may have the same anchor.", - "id": "GoodocAnchorLabel", - "properties": { - "Anchor": { - "description": "There is a generic method for composing such strings. Please take a look at GoodocUtils::GenerateUniqueAnchorName(...) in ocr/goodoc/goodoc-utils.h.", - "type": "string" - }, - "anchorScope": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocBoundingBox": { - "description": "Bounding box for page structural elements: pictures, paragraphs, characters, etc.", - "id": "GoodocBoundingBox", - "properties": { - "Height": { - "format": "int32", - "type": "integer" - }, - "Label": { - "description": "Optional magic label, so objects can be sorted on bounding box dimensions easily", - "format": "int32", - "type": "integer" - }, - "Left": { - "description": "BoundingBox coordinates and sizes are expressed in pixels", - "format": "int32", - "type": "integer" - }, - "Top": { - "format": "int32", - "type": "integer" - }, - "Width": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocBoxPartitions": { - "description": "A way to specify a simple partitioning of a BoundingBox into a sequence of sub-boxes. +----------------------------------------------------+ | | | | | | | span(0) | (1) | (2) | (3) | (4) | | | | | | | +----------------------------------------------------+ This representation can, for example, be used to store coarse Symbol boundaries within a Word (see Word.CompactSymbolBoxes below) instead of per-Symbol BoundingBoxes, for saving space.", - "id": "GoodocBoxPartitions", - "properties": { - "direction": { - "format": "int32", - "type": "integer" - }, - "span": { - "description": "\"span\" is width or height, determined by \"direction\". If there are k partitions, then there are k - 1 \"span\" values, one for each except the last symbol (which is redundant).", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoodocBreakLabel": { - "description": "Break label", - "id": "GoodocBreakLabel", - "properties": { - "BreakLabelType": { - "format": "int32", - "type": "integer" - }, - "isPrefix": { - "description": "True if break prepends the element", - "type": "boolean" - } - }, - "type": "object" - }, - "GoodocCharLabel": { - "description": "Font label", - "id": "GoodocCharLabel", - "properties": { - "BaseLine": { - "description": "The shift of a character from the base line of the string in pixels", - "format": "int32", - "type": "integer" - }, - "CharacterHeight": { - "description": "Height of small characters in pixels on the source image", - "format": "int32", - "type": "integer" - }, - "Color": { - "description": "The foreground color of the symbol; the default color is 0 (black)", - "format": "int32", - "type": "integer" - }, - "Confidence": { - "description": "Symbol recognition confidence from OCR. Range depends upon OCR Engine.", - "format": "int32", - "type": "integer" - }, - "FontId": { - "description": "The font ID refers to the fonts table in the document header", - "format": "int32", - "type": "integer" - }, - "FontSize": { - "description": "Size in points (JFYI: point is 1/72\"). This is rounded to the nearest whole number.", - "format": "int32", - "type": "integer" - }, - "FontSizeFloat": { - "description": "Size in points represented as float.", - "format": "float", - "type": "number" - }, - "FontType": { - "format": "int32", - "type": "integer" - }, - "HasUncertainHeight": { - "description": "If CharacterHeight is defined uncertainly", - "type": "boolean" - }, - "HorizontalScale": { - "description": "The horizontal scaling for a character, in percents. The default value for this property is 100, which corresponds to no scaling.", - "format": "int32", - "type": "integer" - }, - "IsBold": { - "type": "boolean" - }, - "IsItalic": { - "type": "boolean" - }, - "IsSmallCaps": { - "type": "boolean" - }, - "IsStrikeout": { - "type": "boolean" - }, - "IsSubscript": { - "type": "boolean" - }, - "IsSuperscript": { - "type": "boolean" - }, - "IsSuspicious": { - "description": "If OCR Engine marked the character as \"suspicious\" (this character is likely to be recognized incorrectly).", - "type": "boolean" - }, - "IsUnderlined": { - "type": "boolean" - }, - "NotOcrablePerQA": { - "description": "True if a QA operator has marked this as not OCRable. This is used for complex equations, scripts that the operator can't type, or handwriting.", - "type": "boolean" - }, - "Penalty": { - "description": "Symbol-level penalty from the garbage text detector. Lower is better; range = [0,100].", - "format": "int32", - "type": "integer" - }, - "SerifProbability": { - "description": "The probability that a character is written with a Serif font", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocDocument": { - "description": "Top-level representation of OCRed document", - "id": "GoodocDocument", - "properties": { - "EditingHistory": { - "description": "Debug info, recording the history of any editing done through the interface in goodoc-editing.h. The strings look like \"MoveParagraph(page_index = 0, source_block_index = 3, ...);", - "items": { - "type": "string" - }, - "type": "array" - }, - "LogicalEntity": { - "description": "Logical entities are stored as blobs. Depending on the kind of thing this is a goodoc of, a separate .proto file is expected to define the logical entity structure. Hence we can still parse this as a goodoc for people who dont care about this, and people who care about this can parse it specifically. ocr/goodoc/logical-entity-utils.h has methods to read and write these. See Goodoc++ doc", - "items": { - "format": "byte", - "type": "string" - }, - "type": "array" - }, - "LogicalEntityMessageName": { - "description": "The names of the proto messages serialized in LogicalEntity, one for each LogicalEntity. The repetitions should number 0 to leave this unspecified, or they should equal the number of LogicalEntity strings.", - "items": { - "type": "string" - }, - "type": "array" - }, - "SubDocuments": { - "description": "For multi-goodoc documents", - "items": { - "$ref": "GoodocDocument" - }, - "type": "array" - }, - "header": { - "$ref": "GoodocDocumentHeader" - }, - "page": { - "items": { - "$ref": "GoodocDocumentPage" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoodocDocumentHeader": { - "id": "GoodocDocumentHeader", - "properties": { - "OcrEngineId": { - "type": "string" - }, - "OcrEngineVersion": { - "type": "string" - }, - "font": { - "items": { - "$ref": "GoodocDocumentHeaderFont" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoodocDocumentHeaderFont": { - "id": "GoodocDocumentHeaderFont", - "properties": { - "FontId": { - "format": "int32", - "type": "integer" - }, - "FontName": { - "type": "string" - } - }, - "type": "object" - }, - "GoodocDocumentPage": { - "id": "GoodocDocumentPage", - "properties": { - "GarbageDetectorChangeList": { - "description": "If the garbage text detector was run, the changelist that the binary was sync'ed to (or -1 if unknown), and whether the settings had their production values (or false if unknown).", - "format": "int32", - "type": "integer" - }, - "GarbageDetectorWasProduction": { - "type": "boolean" - }, - "Height": { - "description": "Height in pixels", - "format": "int32", - "type": "integer" - }, - "HorizontalDpi": { - "description": "Horizontal resolution in DPI.", - "format": "int32", - "type": "integer" - }, - "Label": { - "$ref": "GoodocLabel" - }, - "PornScore": { - "description": "Score of porn classifier from analyzing images on page. Note: This should be named porn_score, but we use PornScore as the name in order to be consistent with the rest of this proto.", - "format": "double", - "type": "number" - }, - "TextConfidence": { - "description": "Page text recognition confidence. Range depends on the algorithm but should be consistent in a given volume. 0 is bad, 100 is good.", - "format": "int32", - "type": "integer" - }, - "VerticalDpi": { - "description": "Vertical resolution in DPI.", - "format": "int32", - "type": "integer" - }, - "Width": { - "description": "Width in pixels", - "format": "int32", - "type": "integer" - }, - "block": { - "items": { - "$ref": "GoodocDocumentPageBlock" - }, - "type": "array" - }, - "mergedpageinfo": { - "items": { - "$ref": "GoodocDocumentPageMergedPageInfo" - }, - "type": "array" - }, - "postOcrConfidence": { - "description": "Whether page-level text confidences and other summary data were computed by PostOcrUtils instead of the now-obsolete GarbageTextDetector", - "type": "boolean" - }, - "stats": { - "$ref": "GoodocSummaryStats", - "description": "Page level stats (font size, line spacing, etc.)" - } - }, - "type": "object" - }, - "GoodocDocumentPageBlock": { - "id": "GoodocDocumentPageBlock", - "properties": { - "BlockType": { - "format": "int32", - "type": "integer" - }, - "Box": { - "$ref": "GoodocBoundingBox" - }, - "Label": { - "$ref": "GoodocLabel" - }, - "OrientationLabel": { - "$ref": "GoodocOrientationLabel", - "description": "Which way is upright for this block, and what is the reading order (applicable if there is text here)." - }, - "Paragraph": { - "items": { - "$ref": "GoodocParagraph" - }, - "type": "array" - }, - "RotatedBox": { - "$ref": "GoodocRotatedBoundingBox", - "description": "If RotatedBox is set, Box must be set as well. See RotatedBoundingBox." - }, - "TextConfidence": { - "description": "Block text recognition confidence. Range depends on the algorithm but should be consistent in a given volume. 0 is bad, 100 is good.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocDocumentPageMergedPageInfo": { - "description": "If we have merged text from another goodoc into this one (for example, from a PDF text layer goodoc into an OCR'd goodoc), we record some source goodoc info here.", - "id": "GoodocDocumentPageMergedPageInfo", - "properties": { - "OcrEngineId": { - "type": "string" - }, - "OcrEngineVersion": { - "type": "string" - } - }, - "type": "object" - }, - "GoodocFontSizeStats": { - "description": "Statistics about a particular font size (from CharLabel.FontSize) aggregated over a range of symbols", - "id": "GoodocFontSizeStats", - "properties": { - "fontId": { - "description": "CharLabel.FontId and FontSize", - "format": "int32", - "type": "integer" - }, - "fontSize": { - "format": "int32", - "type": "integer" - }, - "medianHeight": { - "description": "The measurements are in pixels", - "format": "int32", - "type": "integer" - }, - "medianLineHeight": { - "description": "top to bottom", - "format": "int32", - "type": "integer" - }, - "medianLineSpace": { - "description": "bottom to next top in para", - "format": "int32", - "type": "integer" - }, - "medianLineSpan": { - "description": "top to next top in para", - "format": "int32", - "type": "integer" - }, - "medianWidth": { - "format": "int32", - "type": "integer" - }, - "numLineSpaces": { - "description": "Lines (out of num_lines) that have a successor line within their para", - "format": "int32", - "type": "integer" - }, - "numLines": { - "description": "Line stats for this font. \"top\" corresponds to the highest ascender and \"bottom\" to the lowest descender. num_lines = # lines with \u003e 50% symbols having this font", - "format": "int32", - "type": "integer" - }, - "numSymbols": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocLabel": { - "description": "Label aggregates all kinds of optional characteristics of page elements.", - "id": "GoodocLabel", - "properties": { - "AnchorLabel": { - "description": "AnchorLabel identifies a link target.", - "items": { - "$ref": "GoodocAnchorLabel" - }, - "type": "array" - }, - "BreakLabel": { - "$ref": "GoodocBreakLabel" - }, - "CharLabel": { - "$ref": "GoodocCharLabel", - "description": "CharLabel is specifically intended for symbols" - }, - "LanguageLabel": { - "description": "Languages used in the element (page, block, paragraph or word). Ordered by dominant-language first. Note: content scanjobs processed by the garbage_text_detector before CL 9223538 (Dec. 2008) have LanguageLabels in arbitrary order (within Page and Block elements) -- the confidence value should be inspected to find the dominant language guess for these, rather than just taking the first.", - "items": { - "$ref": "GoodocLanguageLabel" - }, - "type": "array" - }, - "SemanticLabel": { - "$ref": "GoodocSemanticLabel", - "description": "SemanticLabel is defined in goodoc-semantics.proto, it allows rich annotation of content, identifying the nature of page elements." - } - }, - "type": "object" - }, - "GoodocLanguageCombinationLanguage": { - "description": "Weighted language", - "id": "GoodocLanguageCombinationLanguage", - "properties": { - "bcp47Tag": { - "description": "Bcp47 language code. Note, this is not the same as OceanCode used by goodoc::Document.", - "type": "string" - }, - "weight": { - "description": "Weight of language. This specifies how likely it is to see the language in the input text. The values don't have to add up to 1.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GoodocLanguageLabel": { - "description": "Language label", - "id": "GoodocLanguageLabel", - "properties": { - "ClosestLanguageId": { - "description": "Closest id from i18n/languages/proto/languages.proto; caveat: may not accurately capture the language. GoodocLanguageCodeToLanguage() declared in ocr/goodoc/goodoc-utils.h may be used to convert a Language enum (i18n/languages/proto/languages.proto) to a string suitable for this field.", - "format": "int32", - "type": "integer" - }, - "Confidence": { - "description": "Confidence level on that language, between 0 and 100", - "format": "int32", - "type": "integer" - }, - "LanguageCode": { - "description": "Old (Ocean) Language Code Usage: The language code is inferred during the running of the Garbage Text Detector and gets set at the paragraph, block and page level. Language code is a string of 3 or more characters. The first 3 letters specify the language, according to ISO 639. Optionally, the 3-letter code can be extended with an underscore and a language variant specifier. Specifiers exist for regional variants or for different forms of language spelling. The regional variants are specified as 2-letter country code, according to ISO 3166. Some examples: Standard \"por\" - Portuguese, standard \"rus\" - Russian, standard Regional variants: \"por_br\" - Portuguese, Brazilian \"eng_us\" - English, United States Variants of spelling: \"rus_old\" - Russian, old spelling \"chi_tra\" - Chinese, traditional \"ger_new\" - German, new spelling LanguageToGoodocLanguageCode() declared in ocr/goodoc/goodoc-utils.h may be used to convert a Language enum (i18n/languages/proto/languages.proto) to a string suitable for this field. New Language Code Usage: Most of the usages described above were standardized in BCP 47, and these codes are the new stanadard to be used in this field. To load either new or old language codes to form LanguageCode objects, use the function FromOceanCode() in ocr/quality/lang_util.h Note that the function ocr::FromOceanCode is capable of transforming either version of the LanguageCode to a C++ i18n_identifiers::LanguageCode.", - "type": "string" - } - }, - "type": "object" - }, - "GoodocLogicalEntity": { - "description": "A logical entity in the abstract is just a group of links to the goodoc. Depending on the kind of item, a separate proto file should extend this to define the logical structure for that kind. For example. newspapers.proto defines the logical entity for newspapers. LogicalEntity is also used within some SemanticLabels, for example, for a table-of-contents link.", - "id": "GoodocLogicalEntity", - "properties": { - "Metadata": { - "type": "string" - }, - "link": { - "items": { - "$ref": "GoodocLogicalEntityLink" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoodocLogicalEntityLink": { - "description": "NOTE(gponcin) 2008/11 This is repeated for articles where we may have multiple links in one entity. From Vivek (Atlantis): \"The block segmenter outputs a list of headlines on a page as a single logical entity that we attach to the logicalentity(1) for the goodoc.\"", - "id": "GoodocLogicalEntityLink", - "properties": { - "Anchor": { - "description": "The preferred way to link to an element is to create an AnchorLabel in the target element and name it here. Multiple elements may contain the same Anchor string.", - "type": "string" - }, - "BlockId": { - "format": "int32", - "type": "integer" - }, - "DocId": { - "description": "Links may also specifically locate the target element with the following indices. Note that during the course of layout analysis, goodoc elements may move around, so such hard links should be created only very late (or not at all -- Anchors would be more reliable target addresses).", - "format": "int32", - "type": "integer" - }, - "PageId": { - "format": "int32", - "type": "integer" - }, - "ParagraphId": { - "format": "int32", - "type": "integer" - }, - "RouteId": { - "format": "int32", - "type": "integer" - }, - "SymbolId": { - "format": "int32", - "type": "integer" - }, - "Url": { - "description": "If not defined, link points to the current doc", - "type": "string" - }, - "WordId": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocOrdinal": { - "description": "An Ordinal message represents a single ordinal component of a page number. It encodes the printed or inferred numbering style (Roman, ASCII, etc.) and the ordinal value of the component. An optional set of variable is defined in order to express a sectioned ordinal. A sectioned ordinal may appear in certain page numbering styles, for example \"12-1\" where \"12\" identifies a chapter and \"1\" identifies the page within it. This case will be encoded with value 1 and section_value 12 both of type ASCII.", - "id": "GoodocOrdinal", - "properties": { - "implicit": { - "enum": [ - "UNKNOWN_IMPLICIT", - "IMPLICIT", - "EXPLICIT" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "sectionStringValue": { - "type": "string" - }, - "sectionValue": { - "format": "int32", - "type": "integer" - }, - "sectionValueType": { - "description": "The following vars describe the section component of an ordinal (if exists). They are used to express situation where a page number has a section component, usually denoating the chapter number. For example pages 5-14, 5-15 will both have the common section 5. (If exists). The semantcis of the section variables correspond to that of the primary part of the ordinal. (Described above).", - "enum": [ - "UNKNOWN_VALUE_TYPE", - "LEGACY_PRE_VALUE", - "ROMAN", - "ASCII", - "ALPHA", - "LEGACY_POST_VALUE", - "UNDEFINED_VALUE_TYPE", - "CHINESE", - "JAPANESE", - "KOREAN", - "ARABIC_ARABIC" - ], - "enumDescriptions": [ - "", - "Not to be used", - "Roman numeral", - "ASCII numeral (i.e. 1,2,3)", - "Alphabetic, as in the first part of \"A-11\".", - "Not to be used", - "", - "", - "", - "", - "Arabic numeral as used in Arabic. (Not to be confused with the ASCII numeral a.k.a Arabic numberal.)" - ], - "type": "string" - }, - "stringValue": { - "description": "The string page value.", - "type": "string" - }, - "value": { - "description": "The numeric page value.", - "format": "int32", - "type": "integer" - }, - "valueDelta": { - "description": "The delta in which the value increases between pages.", - "enum": [ - "DELTA_HALF", - "DELTA_ONE", - "DELTA_TWO" - ], - "enumDescriptions": [ - "appears in typewritten documents", - "the usual numbering scenario", - "appears in documents with two ordinals per page" - ], - "type": "string" - }, - "valueType": { - "description": "A value type from the Type enum above.", - "enum": [ - "UNKNOWN_VALUE_TYPE", - "LEGACY_PRE_VALUE", - "ROMAN", - "ASCII", - "ALPHA", - "LEGACY_POST_VALUE", - "UNDEFINED_VALUE_TYPE", - "CHINESE", - "JAPANESE", - "KOREAN", - "ARABIC_ARABIC" - ], - "enumDescriptions": [ - "", - "Not to be used", - "Roman numeral", - "ASCII numeral (i.e. 1,2,3)", - "Alphabetic, as in the first part of \"A-11\".", - "Not to be used", - "", - "", - "", - "", - "Arabic numeral as used in Arabic. (Not to be confused with the ASCII numeral a.k.a Arabic numberal.)" - ], - "type": "string" - } - }, - "type": "object" - }, - "GoodocOrientationLabel": { - "description": "OrientationLabel groups the details about orientation and reading order.", - "id": "GoodocOrientationLabel", - "properties": { - "deskewAngle": { - "description": "After rotating so that the text orientation is upright, how many radians does one have to rotate the block anti-clockwise for it to be level? We guarantee: -Pi/4 \u003c= deskew_angle \u003c= Pi/4", - "format": "float", - "type": "number" - }, - "mirrored": { - "description": "Whether a text line is mirrored (e.g. reflected in a shiny surface or seen through the opposite side of a storefront window). The intent is that this is a quality of the text line image. It needs to be reflected according to a vertical axis along the direction of upright characters to make it readable. This does not affect the shape of the bounding box. A mirrored line with top to bottom writing remains top to bottom. A mirrored horizontal line will flip left to right. However any child entities (symbols) will remain in the same order, and the writing direction imposed by the language (ltr or rtl) will remain the same.", - "type": "boolean" - }, - "orientation": { - "enum": [ - "ORIENTATION_PAGE_UP", - "ORIENTATION_PAGE_RIGHT", - "ORIENTATION_PAGE_DOWN", - "ORIENTATION_PAGE_LEFT" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "textlineOrder": { - "enum": [ - "TEXTLINE_ORDER_LEFT_TO_RIGHT", - "TEXTLINE_ORDER_RIGHT_TO_LEFT", - "TEXTLINE_ORDER_TOP_TO_BOTTOM" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "writingDirection": { - "enum": [ - "WRITING_DIRECTION_LEFT_TO_RIGHT", - "WRITING_DIRECTION_RIGHT_TO_LEFT", - "WRITING_DIRECTION_TOP_TO_BOTTOM" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GoodocOverrides": { - "description": "This message specifies structure \"overrides\" to apply: it can be used to force certain kinds of GoodocToHTML renderings of elements.", - "id": "GoodocOverrides", - "properties": { - "blockImagination": { - "description": "For text blocks only: do not allow this block to be turned into an image when rendering, even if your algorithms want to do so:", - "enum": [ - "LEAVE_ALONE", - "FORCE_TRUE", - "FORCE_FALSE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "doNotExpandGraphicBox": { - "description": "For graphic blocks, we often expand the block a bit for rendering, to compensate for bad image segmentation. do_not_expand_graphic_box forces this behavior to be turned off.", - "type": "boolean" - }, - "fullPageAsImage": { - "description": "For Pages only: explicitly specify whether or not this page should be rendered fully as an image", - "enum": [ - "LEAVE_ALONE", - "FORCE_TRUE", - "FORCE_FALSE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "fullPageLineated": { - "description": "For Pages only: explicitly specify whether or not all text on this page should be treated as \"LINEATED\"", - "enum": [ - "LEAVE_ALONE", - "FORCE_TRUE", - "FORCE_FALSE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "fullPageSkipped": { - "description": "For Pages only: explicitly specify whether or not this page should be skipped.", - "enum": [ - "LEAVE_ALONE", - "FORCE_TRUE", - "FORCE_FALSE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "needNotSuppressPhoto": { - "description": "This GRAPHIC block's image can be shown even when GoodocToHTMLOptions.suppress_photos_with_this is specified.", - "type": "boolean" - }, - "pageBreakBefore": { - "description": "For blocks: explicitly specify whether or not this block should get a page-break before it.", - "enum": [ - "LEAVE_ALONE", - "FORCE_TRUE", - "FORCE_FALSE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "style": { - "items": { - "$ref": "GoodocOverridesStyle" - }, - "type": "array" - }, - "wordHtml": { - "description": "For Words only: replace the rendered HTML by this:", - "type": "string" - } - }, - "type": "object" - }, - "GoodocOverridesStyle": { - "description": "Extra css styles to apply", - "id": "GoodocOverridesStyle", - "properties": { - "name": { - "description": "css attribute name: \"margin-left\", for eg.", - "type": "string" - }, - "value": { - "description": "css attribute vale: \"1em\", for eg.", - "type": "string" - } - }, - "type": "object" - }, - "GoodocParagraph": { - "description": "Represents a paragraph of text in OCRed content.", - "id": "GoodocParagraph", - "properties": { - "Box": { - "$ref": "GoodocBoundingBox" - }, - "FirstLineIndent": { - "format": "int32", - "type": "integer" - }, - "Label": { - "$ref": "GoodocLabel" - }, - "LeftIndent": { - "format": "int32", - "type": "integer" - }, - "LineSpacing": { - "format": "int32", - "type": "integer" - }, - "OrientationLabel": { - "$ref": "GoodocOrientationLabel", - "description": "Which way is upright for this paragraph and what is the dominant reading order?" - }, - "RightIndent": { - "format": "int32", - "type": "integer" - }, - "RotatedBox": { - "$ref": "GoodocRotatedBoundingBox", - "description": "If RotatedBox is set, Box must be set as well. See RotatedBoundingBox." - }, - "SpaceAfter": { - "format": "int32", - "type": "integer" - }, - "SpaceBefore": { - "format": "int32", - "type": "integer" - }, - "SubsumedParagraphProperties": { - "description": "If we merge any paragraphs into this one (through the MergeParagraphWithNext() interface in goodoc-editing.h), then we append the properties of the merged paragraph here, for debugging and to avoid losing any info. Note that the SubsumedParagraphProperties Paragraphs do not contain Routes.", - "items": { - "$ref": "GoodocParagraph" - }, - "type": "array" - }, - "TextConfidence": { - "description": "Paragraph text recognition confidence. Range depends on the algorithm but should be consistent in a given volume. 0 is bad, 100 is good.", - "format": "int32", - "type": "integer" - }, - "Width": { - "format": "int32", - "type": "integer" - }, - "alignment": { - "format": "int32", - "type": "integer" - }, - "droppedcap": { - "$ref": "GoodocParagraphDroppedCap" - }, - "route": { - "items": { - "$ref": "GoodocParagraphRoute" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoodocParagraphDroppedCap": { - "description": "Information about the paragraph's dropped capital letter", - "id": "GoodocParagraphDroppedCap", - "properties": { - "Box": { - "$ref": "GoodocBoundingBox" - }, - "LettersCount": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocParagraphRoute": { - "id": "GoodocParagraphRoute", - "properties": { - "EndPoint": { - "$ref": "GoodocRoutePoint", - "description": "Route end point" - }, - "StartPoint": { - "$ref": "GoodocRoutePoint", - "description": "Route start point" - }, - "Weight": { - "description": "Route weight, i.e. route", - "format": "int32", - "type": "integer" - }, - "Word": { - "description": "The array of words on this route", - "items": { - "$ref": "GoodocWord" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoodocRotatedBoundingBox": { - "description": "Similar to goodoc.BoundingBox, but containing an angle of rotation, thus able to represent non-axis-aligned boxes. RotatedBoundingBox can be used in combination with BoundingBox to better represent non-axis-aligned page structural elements. In such case, two bounding boxes can be used per element. A RotatedBoundingBox that is rotated to tightly encompass the element; embedded (as tightly as possible) inside an axis-aligned BoundingBox. Note that there is some amount of ambiguity regarding what angle and vertex to use. Consider a square with axis-aligned diagonals: B / \\ A C \\ / D This can either be represented as a -45 degree rotation around A, a 45 degree rotation around B, a 135 degree rotation around C, or a -135 degree rotation around D. Which one you use depends on your use case, but one recommendation is to use the vertex that would be top left if the reader was reading it in the 'natural' orientation.", - "id": "GoodocRotatedBoundingBox", - "properties": { - "Angle": { - "description": "Angle of rotation of the original non-rotated box around the top left corner of the original non-rotated box, in clockwise degrees from the horizontal.", - "format": "float", - "type": "number" - }, - "Height": { - "format": "int32", - "type": "integer" - }, - "Left": { - "description": "Coordinates and sizes are expressed in pixels, where the top-left pixel is (0, 0). The coordinates refer to the corner of the top-left vertex of the unrotated version of the box.", - "format": "int32", - "type": "integer" - }, - "Top": { - "format": "int32", - "type": "integer" - }, - "Width": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocRoutePoint": { - "id": "GoodocRoutePoint", - "properties": { - "RouteIndex": { - "description": "The sequential route number, starts at 0", - "format": "int32", - "type": "integer" - }, - "WordIndex": { - "description": "The sequential word number, starts at 0", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocSemanticLabel": { - "description": "Label identifying a logical part of the page content. This applies mostly at Block level or Paragraph level (but can apply to Words or to arbitrary spans if needed).", - "id": "GoodocSemanticLabel", - "properties": { - "AlternateText": { - "description": "Alternate text for a sequence of the Goodoc, just for the element containing this label, or for a sequence starting from this element to the EndOfSpanningLabel. Typically this is inserted by automatic or manual OCR correction. We use text instead of editing the Goodoc directly since we dont usually have accurate symbol level bboxes for the alternate text. Also the original values from OCR are preserved. It is upto the application to do anything more intelligent like mapping words and finding potential symbol/word bboxes.", - "type": "string" - }, - "Attribute": { - "description": "Page elements can be given Attributes refining meaning/role. We keep this flexible by using strings instead of pre-determined enum values. But it is useful to list all such Attributes in use in ocr/goodoc/goodoc-semantics-attributes.h", - "items": { - "type": "string" - }, - "type": "array" - }, - "ChapterStart": { - "description": "Blocks that are at the beginning of chapters have this set:", - "type": "boolean" - }, - "CleanupAnnotation": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "ContinuesFromPreviousPage": { - "type": "boolean" - }, - "ContinuesFromPreviousPageHyphenated": { - "description": "When ContinuesFromPreviousPage=true, this bit can be set to note that the word fragment on the previous page ends in a hyphen.", - "type": "boolean" - }, - "ContinuesOnNextPage": { - "description": "Paragraphs that span across pages can be identified with the following flags. Note that flows just connect Blocks across pages. These continuation flags imply something more specific -- the case of a single logical paragraph split over pages. Only the last Paragraph in the last Block within a given FlowThread() on a page can have ContinuesOnNextPage set. Similarly, only the first Paragraph in the first Block with a given FlowThread() on a page may have ContinuesFromPreviousPage set.", - "type": "boolean" - }, - "EndOfSpanningLabel": { - "$ref": "GoodocLogicalEntity", - "description": "Normally, a SemanticLabel applies exactly to the goodoc element that it is contained in (usually Block or Paragraph, sometimes Word). Occasionally, we need a SemanticLabel to span across the boundary or end before the boundary. For example, a URL may just be a few words within a Paragraph. In such cases, the SemanticLabel is added to the first element of the span and contains this LogicalEntity pointing to the last element of the span:" - }, - "ExperimentalData": { - "$ref": "Proto2BridgeMessageSet", - "description": "Message set for experimental algorithm data. Use case: We keep a set of features that was computed for the unsupervised caption extraction and store it here. Agora question producer will consume this message set to be embedded in a question. The experimental feature set can then be used later to pair up with ground truth labels for designing a supervised algorithm. Currently holding: o ocean/analysis/content/caption_data.proto's TextualElement" - }, - "Flow": { - "description": "Flow identifies a single sequential unit of text (or other content). It is only set on Blocks -- a flow identifies a sequence of Blocks. The default, main flow is just the empty string. The \"FlowThread\" of a block is the flow (if non-empty), suffixed with the block appearance. This is computed by GoodocUtils::FlowThread(). Paragraphs may be split over blocks in the same FlowThread, across pages. The following table shows how FlowThread gets computed: ## Flow Appearance FlowThread (empty) UNSPECIFIED \"UNSPECIFIED\" foo BODY \"foo:BODY\" Please use lower-case strings for flows (such as article-33-box). One useful way to think of flows is this: A logical unit of interest in a a Document (for example, an article) would be identified by a starting block, an ending block, and a list of flows of interest within the [start, end) span. message Article { (page#, block#): article_start; (page#, block#): article_end; repeated string flows; } The reading order of blocks, paragraphs/etc within this article would be the same order as present in the goodoc itself. Some applications (such as rendering) may want to process the article by running over all the flows together, others (such as indexing) may want to deal with the FlowThreads one after the other.", - "type": "string" - }, - "ModificationRecord": { - "description": "This field can be used to record the steps by which AlternateText for a sequence of the Goodoc is generated.", - "type": "string" - }, - "PageNumberOrdinal": { - "$ref": "GoodocOrdinal", - "description": "If Appearence is PAGE_NUMBER:" - }, - "appearance": { - "format": "int32", - "type": "integer" - }, - "columndetails": { - "$ref": "GoodocSemanticLabelColumnDetails" - }, - "contentlink": { - "$ref": "GoodocSemanticLabelContentLink" - }, - "editcorrectioncandidate": { - "items": { - "$ref": "GoodocSemanticLabelEditCorrectionCandidate" - }, - "type": "array" - }, - "overrides": { - "$ref": "GoodocOverrides", - "description": "Structure overrides: typically manual corrections to goodoc renderings." - }, - "snippetfilter": { - "items": { - "$ref": "GoodocSemanticLabelSnippetFilter" - }, - "type": "array" - }, - "tablecelldetails": { - "$ref": "GoodocSemanticLabelTableCellDetails" - }, - "tabledetails": { - "$ref": "GoodocSemanticLabelTableDetails" - } - }, - "type": "object" - }, - "GoodocSemanticLabelColumnDetails": { - "description": "If Appearance is COLUMN:", - "id": "GoodocSemanticLabelColumnDetails", - "properties": { - "Column": { - "format": "int32", - "type": "integer" - }, - "Columns": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocSemanticLabelContentLink": { - "description": "If the label is for something that links to another piece of content (in this volume, outside, a url, a citation, etc.).", - "id": "GoodocSemanticLabelContentLink", - "properties": { - "UrlTarget": { - "description": "For URL labels, we note the url here directly (it's also available by grabbing all text symbols within the labeled span). SCHOLARLY_CITATION labels or even CAPTION labels may occasionally contain URLs.", - "type": "string" - }, - "citationtarget": { - "$ref": "GoodocSemanticLabelContentLinkCitationTarget" - }, - "involumetarget": { - "$ref": "GoodocSemanticLabelContentLinkInVolumeTarget" - } - }, - "type": "object" - }, - "GoodocSemanticLabelContentLinkCitationTarget": { - "description": "For SCHOLARLY_CITATION labels:", - "id": "GoodocSemanticLabelContentLinkCitationTarget", - "properties": { - "Authors": { - "description": "separated by semicolons", - "type": "string" - }, - "BibKey": { - "type": "string" - }, - "Confidence": { - "format": "double", - "type": "number" - }, - "Title": { - "type": "string" - }, - "Year": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocSemanticLabelContentLinkInVolumeTarget": { - "description": "For CAPTION or FOOTNOTE_POINTER or TOC_ENTRY or INDEX_ENTRY or CONTINUATION labels:", - "id": "GoodocSemanticLabelContentLinkInVolumeTarget", - "properties": { - "Confidence": { - "format": "double", - "type": "number" - }, - "LogicalEntity": { - "$ref": "GoodocLogicalEntity", - "description": "The CAPTION label typically targets the previous or the next Block. The FOOTNOTE_POINTER label typically targets a paragraph in a FOOTNOTE Block. TOC_ENTRY and INDEX_ENTRY labels are links that point to a different page within the volume. CONTINUATION labels also are links that point to a different page within the volume, or maybe even a particular block or paragraph." - } - }, - "type": "object" - }, - "GoodocSemanticLabelEditCorrectionCandidate": { - "description": "If there is more than one edit correction candidate, store all the candidates here. This helps a manual correction utility fire the right kind of question with the relevant options.", - "id": "GoodocSemanticLabelEditCorrectionCandidate", - "properties": { - "EditedWord": { - "type": "string" - }, - "Probability": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "GoodocSemanticLabelSnippetFilter": { - "description": "Recording the output of the snippet filter. We run through a series of snippet filters and store all the conditions that this article passed. A condition is denoted by the \"badword_fraction_allowed\" in a running window of size - \"window_size\". If ARTICLE_SNIPPET_NOT_CLEAN annotation is set, this group has 0 items. It can be a part of article logicalentity, but keeping it here for consistency and coherence as SemanticLabel holds all other article metadata.", - "id": "GoodocSemanticLabelSnippetFilter", - "properties": { - "badwordFraction": { - "format": "double", - "type": "number" - }, - "windowSize": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocSemanticLabelTableCellDetails": { - "description": "If Appearance is TABLE_CELL:", - "id": "GoodocSemanticLabelTableCellDetails", - "properties": { - "Column": { - "format": "int32", - "type": "integer" - }, - "ColumnSpan": { - "format": "int32", - "type": "integer" - }, - "Row": { - "description": "Row and Column are 0-based", - "format": "int32", - "type": "integer" - }, - "RowSpan": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocSemanticLabelTableDetails": { - "description": "If Appearance is TABLE:", - "id": "GoodocSemanticLabelTableDetails", - "properties": { - "Columns": { - "format": "int32", - "type": "integer" - }, - "Rows": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocSummaryStats": { - "description": "Goodoc stats for a range of elements, such as one page or a whole book. These stats can be computed using the SummaryStatsCollector class. Some range stats are pre-computed and stored in goodocs/volumes (eg., Page.stats below, and Ocean's CA_VolumeResult.goodoc_stats).", - "id": "GoodocSummaryStats", - "properties": { - "estimatedFontSizes": { - "description": "This flag is set if the histogram above has been derived by estimating font sizes from CharLabel.CharacterHeight; that happens if the FontSize field is constant, as has happened with Abbyy 9.", - "type": "boolean" - }, - "fontSizeHistogram": { - "description": "Symbol counts (and other attributes) for each distinct CharLabel.FontId and FontSize; histogram is in decreasing order of symbol count", - "items": { - "$ref": "GoodocFontSizeStats" - }, - "type": "array" - }, - "meanSymbolsPerBlock": { - "format": "int32", - "type": "integer" - }, - "meanSymbolsPerLine": { - "format": "int32", - "type": "integer" - }, - "meanSymbolsPerParagraph": { - "format": "int32", - "type": "integer" - }, - "meanSymbolsPerWord": { - "format": "int32", - "type": "integer" - }, - "meanWordsPerBlock": { - "format": "int32", - "type": "integer" - }, - "meanWordsPerLine": { - "format": "int32", - "type": "integer" - }, - "meanWordsPerParagraph": { - "format": "int32", - "type": "integer" - }, - "medianBlockSpace": { - "description": "bottom to next top in flow on page", - "format": "int32", - "type": "integer" - }, - "medianEvenPrintedBox": { - "$ref": "GoodocBoundingBox", - "description": "0,2,4.." - }, - "medianFullEvenPrintedBox": { - "$ref": "GoodocBoundingBox" - }, - "medianFullOddPrintedBox": { - "$ref": "GoodocBoundingBox" - }, - "medianFullPrintedBox": { - "$ref": "GoodocBoundingBox", - "description": "Each median_full*_printed_box includes page header/footer but still excludes all graphic blocks" - }, - "medianHeight": { - "format": "int32", - "type": "integer" - }, - "medianHorizontalDpi": { - "format": "int32", - "type": "integer" - }, - "medianLineHeight": { - "description": "top to bottom", - "format": "int32", - "type": "integer" - }, - "medianLineSpace": { - "description": "bottom to next top in para", - "format": "int32", - "type": "integer" - }, - "medianLineSpan": { - "description": "top to next top in para", - "format": "int32", - "type": "integer" - }, - "medianOddPrintedBox": { - "$ref": "GoodocBoundingBox", - "description": "1,3,5.." - }, - "medianParagraphIndent": { - "description": "leading space on first line", - "format": "int32", - "type": "integer" - }, - "medianParagraphSpace": { - "description": "bottom to next top in block", - "format": "int32", - "type": "integer" - }, - "medianPrintedBox": { - "$ref": "GoodocBoundingBox", - "description": "Each median*_printed_box excludes page header/footer and all graphic blocks" - }, - "medianSymbolsPerBlock": { - "format": "int32", - "type": "integer" - }, - "medianSymbolsPerLine": { - "format": "int32", - "type": "integer" - }, - "medianSymbolsPerParagraph": { - "format": "int32", - "type": "integer" - }, - "medianSymbolsPerWord": { - "format": "int32", - "type": "integer" - }, - "medianVerticalDpi": { - "format": "int32", - "type": "integer" - }, - "medianWidth": { - "format": "int32", - "type": "integer" - }, - "medianWordsPerBlock": { - "format": "int32", - "type": "integer" - }, - "medianWordsPerLine": { - "format": "int32", - "type": "integer" - }, - "medianWordsPerParagraph": { - "format": "int32", - "type": "integer" - }, - "numBlockSpaces": { - "description": "blocks that have a successor block within their flow on their page", - "format": "int32", - "type": "integer" - }, - "numBlocks": { - "description": "------ Block stats Median symbols and words omit junk, header and footer blocks; they are intended to be a measure of the typical \"content\" block. There can still be substantial differences between means and medians; however, block values will generally exceed paragraph values (not the case when headers and footers are included).", - "format": "int32", - "type": "integer" - }, - "numLineSpaces": { - "description": "Lines (out of num_lines) that have a successor line within their para", - "format": "int32", - "type": "integer" - }, - "numLines": { - "description": "------ Line stats \"top\" corresponds to the highest ascender and \"bottom\" to the lowest descender.", - "format": "int32", - "type": "integer" - }, - "numNonGraphicBlocks": { - "format": "int32", - "type": "integer" - }, - "numPages": { - "description": "------ Page stats.", - "format": "int32", - "type": "integer" - }, - "numParagraphSpaces": { - "description": "paras that have a successor para within their block", - "format": "int32", - "type": "integer" - }, - "numParagraphs": { - "description": "------ Paragraph stats Median symbols and words omit junk, header and footer blocks; they are intended to be a measure of the typical \"content\" paragraph. There can still be substantial differences between means and medians, particularly if a table is present (every cell is a paragraph).", - "format": "int32", - "type": "integer" - }, - "numSymbols": { - "description": "------ Symbol stats", - "format": "int32", - "type": "integer" - }, - "numWords": { - "description": "------ Word stats", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocSymbol": { - "description": "A single symbol representation", - "id": "GoodocSymbol", - "properties": { - "Box": { - "$ref": "GoodocBoundingBox" - }, - "Code": { - "description": "The unicode character code in UTF-32", - "format": "int32", - "type": "integer" - }, - "Label": { - "$ref": "GoodocLabel" - }, - "RotatedBox": { - "$ref": "GoodocRotatedBoundingBox", - "description": "If RotatedBox is set, Box must be set as well. See RotatedBoundingBox." - }, - "symbolvariant": { - "items": { - "$ref": "GoodocSymbolSymbolVariant" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoodocSymbolSymbolVariant": { - "id": "GoodocSymbolSymbolVariant", - "properties": { - "Code": { - "format": "int32", - "type": "integer" - }, - "Confidence": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoodocWord": { - "description": "A word representation", - "id": "GoodocWord", - "properties": { - "Baseline": { - "description": "The baseline's y-axis offset from the bottom of the word's bounding box, given in pixels. (A value of 2, for instance, indicates the baseline is 2px above the bottom of the box.)", - "format": "int32", - "type": "integer" - }, - "Box": { - "$ref": "GoodocBoundingBox" - }, - "Capline": { - "description": "The capline is the y-axis offset from the top of the word bounding box. A positive value n indicates that capline is n-pixels above the top of this word.", - "format": "int32", - "type": "integer" - }, - "CompactSymbolBoxes": { - "$ref": "GoodocBoxPartitions", - "description": "For space efficiency, we sometimes skip the detailed per-symbol bounding boxes in Symbol.Box, and use this coarser representation instead, where we just store Symbol boundaries within the Word box. Most client code should not have to worry directly about this, it should be handled in the deepest layers of writing/reading goodocs (for example, see Compress() and Uncompress() in ocean/goodoc/goovols-bigtable-volume.h). Note(viresh): I experimented with this compression, and here are some numbers for reference. If the zlib-compressed page goodoc string size was 100 to start with, then this compaction makes it 65. As a possible future relaxation to consider: if we add in, for each symbol, a \"top\" and \"bottom\" box offset then the size would be 75 (that's with \"repeated int32 top/bottom_offset\" fields inside BoxPartitions, instead of inside each symbol)." - }, - "Confidence": { - "description": "Word recognition confidence. Range depends upon OCR Engine.", - "format": "int32", - "type": "integer" - }, - "IsFromDictionary": { - "description": "word. The meaning and range depends on the OCR engine or subsequent processing. Specifies whether the word was found", - "type": "boolean" - }, - "IsIdentifier": { - "description": "a number True if word represents", - "type": "boolean" - }, - "IsLastInSentence": { - "description": "True if the word is the last word in any sub-paragraph unit that functions at the same level of granularity as a sentence. Examples: \"She hit the ball.\" (regular sentence) \"Dewey defeats Truman\" (heading) \"The more, the merrier.\" (no verb) Note: not currently used. Code to set this was introduced in CL 7038338 and removed in OCL=10678722.", - "type": "boolean" - }, - "IsNumeric": { - "description": "in the dictionary True if the word represents", - "type": "boolean" - }, - "Label": { - "$ref": "GoodocLabel" - }, - "Penalty": { - "description": "Penalty for discordance of characters in a", - "format": "int32", - "type": "integer" - }, - "RotatedBox": { - "$ref": "GoodocRotatedBoundingBox", - "description": "If RotatedBox is set, Box must be set as well. See RotatedBoundingBox." - }, - "Symbol": { - "description": "Word characters, the text may", - "items": { - "$ref": "GoodocSymbol" - }, - "type": "array" - }, - "alternates": { - "$ref": "GoodocWordAlternates" - }, - "text": { - "description": "As a shortcut, the content API provides the text of words instead of individual symbols (NOTE: this is experimental). This is UTF8. And the main font for the word is stored in Label.CharLabel.", - "type": "string" - }, - "writingDirection": { - "description": "Writing direction for this word.", - "enum": [ - "WRITING_DIRECTION_LEFT_TO_RIGHT", - "WRITING_DIRECTION_RIGHT_TO_LEFT", - "WRITING_DIRECTION_TOP_TO_BOTTOM" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "GoodocWordAlternates": { - "description": "Alternate OCR words for Ptolemy OCR Correction. This is the output of the Ptolemy error estimator. See http://go/Ptolemy.", - "id": "GoodocWordAlternates", - "properties": { - "ErrorProbability": { - "description": "The probability that the main OCR engine (Abbyy) string is incorrect; range is 0 (definitely correct) to 100 (definitely incorrect).", - "format": "int32", - "type": "integer" - }, - "alternate": { - "items": { - "$ref": "GoodocWordAlternatesAlternate" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoodocWordAlternatesAlternate": { - "description": "An alternate word provided by another OCR engine, used for OCR Correction. This iteration only supports simple substitution errors (exhanging one word for another), but with minor modifications (e.g. adding a word count for each alternate), it could support repairing word segmentation and text detection errors.", - "id": "GoodocWordAlternatesAlternate", - "properties": { - "OcrEngineId": { - "description": "See Document.Header", - "type": "string" - }, - "OcrEngineVersion": { - "description": "See Document.Header", - "type": "string" - }, - "Word": { - "$ref": "GoodocWord", - "description": "In order to compile, this recursive message needs to be optional, even though it's within an optional group." - } - }, - "type": "object" - }, - "GoogleApiServiceconsumermanagementV1BillingConfig": { - "description": "Describes the billing configuration for a new tenant project.", - "id": "GoogleApiServiceconsumermanagementV1BillingConfig", - "properties": { - "billingAccount": { - "description": "Name of the billing account. For example `billingAccounts/012345-567890-ABCDEF`.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleApiServiceconsumermanagementV1PolicyBinding": { - "description": "Translates to IAM Policy bindings (without auditing at this level)", - "id": "GoogleApiServiceconsumermanagementV1PolicyBinding", - "properties": { - "members": { - "description": "Uses the same format as in IAM policy. `member` must include both a prefix and ID. For example, `user:{emailId}`, `serviceAccount:{emailId}`, `group:{emailId}`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "role": { - "description": "Role. (https://cloud.google.com/iam/docs/understanding-roles) For example, `roles/viewer`, `roles/editor`, or `roles/owner`.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAssistantAccessoryV1AudioOutConfig": { - "description": "Specifies the desired format for the server to use when it returns `audio_out` messages.", - "id": "GoogleAssistantAccessoryV1AudioOutConfig", - "properties": { - "audioMode": { - "description": "Current audio mode on the device while issuing the query.", - "enum": [ - "AUDIO_MODE_UNSPECIFIED", - "MUTED", - "SILENT", - "PLAYING" - ], - "enumDescriptions": [ - "No audio mode specified. The Assistant may respond as if in `AUDIO_SILENT` mode.", - "Device's audio mute mode has been activated by user. The Assistant will typically not return an audio response.", - "No audio is currently playing, and device's audio mute mode has NOT been activated by user. The Assistant will typically return an audio response.", - "Audio is currently playing, such as a video or music. The Assistant will typically not return an audio response, but may for certain queries that are inherently audio (such as \"what sound does a cow make?\" or \"how do you say 'something' in Korean\". This mode should also typically be used when the screen is on and a screen-reader is activated for accessibility, as the screen-reader will read the contents of the visual response and manage navigation." - ], - "type": "string" - }, - "audioRoutingMode": { - "description": "Current audio routing on the device while issuing the query.", - "enum": [ - "AUDIO_ROUTING_MODE_UNSPECIFIED", - "BLUETOOTH_HEADPHONES" - ], - "enumDescriptions": [ - "No audio routing mode specified.", - "Audio routes to headphones connected over BLUETOOTH." - ], - "type": "string" - }, - "encoding": { - "description": "*Required* The encoding of audio data to be returned in all `audio_out` messages.", - "enum": [ - "ENCODING_UNSPECIFIED", - "LINEAR16", - "MP3", - "OGG_OPUS", - "MULAW", - "OPUS_CONTAINERLESS" - ], - "enumDescriptions": [ - "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.", - "Uncompressed 16-bit signed little-endian samples (Linear PCM).", - "MP3 audio encoding. The sample rate is encoded in the payload.", - "Opus-encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android and in some browsers (such as Chrome). The quality of the encoding is considerably higher than MP3 while using the same bitrate. The sample rate is encoded in the payload.", - "Mulaw encoded 8-bit samples, typically used only by telephony. `sample_rate_hertz` must be 8000.", - "Opus encoded audio without a container." - ], - "type": "string" - }, - "preferredBitrateBps": { - "description": "*Optional* Specifies preferred encoding bitrate (bits-per-second). Currently this is only implemented for OGG_OPUS for bitrates of 12000, 16000, 24000, 32000. If not specified, OGG_OPUS defaults to 32000.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleAssistantAccessoryV1DeviceConfig": { - "description": "*Required* Fields that identify the device to the Assistant. See also: * [Register a Device - REST API](https: //developers.google.com/assistant/sdk/re // ference/device-registration/register-device-manual) * [Device Model and Instance Schemas](https: //developers.google.com/assistant/sdk/re // ference/device-registration/model-and-instance-schemas) * [Device Proto](https: //developers.google.com/assistant/sdk/re // ference/rpc/google.assistant.devices.v1#device)", - "id": "GoogleAssistantAccessoryV1DeviceConfig", - "properties": { - "deviceModelCapabilitiesOverride": { - "$ref": "GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverride", - "description": "Device model capabilities from client to override capabilities in the primary device model." - }, - "heterodyneToken": { - "description": "*Optional* An encrypted heterodyne_experiment_token containing the list of experiment_ids (go/ph-server-tokens).", - "type": "string" - }, - "surfaceIdentity": { - "$ref": "GoogleAssistantEmbeddedV1SurfaceIdentity", - "description": "*Required* Identifier for the device which sent the request." - } - }, - "type": "object" - }, - "GoogleAssistantAccessoryV1DeviceState": { - "description": "Information about the state of the device. This contains any state that Assistant may need to know about in order to fulfill requests, for example which timers and alarms are set. Next ID: 13", - "id": "GoogleAssistantAccessoryV1DeviceState", - "properties": { - "alarmState": { - "$ref": "GoogleAssistantEmbeddedV1Alarms", - "description": "*Optional* Information about on-device alarms. For devices that support alarms, all on-device alarms must be sent up with the DeviceState in order for Assistant Server to be able to perform operations on them." - }, - "contextParams": { - "description": "Other context params to be sent to Assistant. This is a assistant.embedded.v1.ContextParams message in serialized binary proto format.", - "format": "byte", - "type": "string" - }, - "deviceTime": { - "description": "A timestamp of the current device time when the request was made. This field is required if your device supports alarms or timers. This ensures that requests are fulfilled relative to the current device time and regardless of any clock skew between the client and the server.", - "format": "google-datetime", - "type": "string" - }, - "deviceTimeZone": { - "$ref": "GoogleTypeTimeZone", - "description": "The time zone where the device is currently located. This helps the Assistant answer time-related queries relative to the device's time zone. Generally speaking, mobile devices that support alarms or timers should supply device_time_zone. This field is required if your device supports alarms or timers and the device's location cannot reliably be determined. (See the comment above google.assistant.embedded.v1.DeviceLocation for a description of how the device's location is determined.) If the time zone cannot be determined, some queries for creating or modifying timers or alarms may fail with a generic error such as, \"Sorry, I don't know how to help with that.\"" - }, - "doNotDisturb": { - "description": "Indicate whether do not disturb mode is turned on.", - "type": "boolean" - }, - "fitnessActivitiesState": { - "$ref": "GoogleAssistantEmbeddedV1FitnessActivities", - "description": "Information about on-device fitness activities. For devices that support fitness activities, all on-device fitness activities must be sent up with the DeviceState in order for Assistant Server to be able to perform operations on them." - }, - "installedApps": { - "$ref": "GoogleAssistantAccessoryV1DeviceStateInstalledAppsState", - "description": "Information about apps currently installed on device." - }, - "installedAppsZlib": { - "description": "This contains a zlib-compressed binary-encoded `InstalledAppsState` proto message.", - "format": "byte", - "type": "string" - }, - "timerState": { - "$ref": "GoogleAssistantEmbeddedV1Timers", - "description": "*Optional* Information about on-device timers. For devices that support timers, all on-device timers must be sent up with the DeviceState in order for Assistant Server to be able to perform operations on them." - }, - "unavailableSettings": { - "description": "This indicates which specific settings are currently unavailable for modification, despite being listed as a supported setting. Assistant can use this field to trigger unavailability messages, rather than claiming that a setting is entirely unsupported on device.", - "items": { - "enum": [ - "UNSPECIFIED", - "ABOUT_ME", - "ACCESSIBILITY", - "ACTIVE_EDGE", - "ACTIVE_EDGE_SENSITIVITY", - "ADAPTIVE_BATTERY", - "ADAPTIVE_BRIGHTNESS", - "ADAPTIVE_CHARGING", - "ADAPTIVE_CONNECTIVITY", - "ADAPTIVE_SOUND", - "ADD_ACCOUNT", - "ADD_BLUETOOTH_DEVICE", - "ADD_DEVICE", - "ADD_FINGERPRINT", - "ADS_TRACKING", - "AIRPLANE_MODE", - "ALARM_VOLUME", - "ALARM_SOUND", - "ALLOW_MULTIPLE_USERS", - "AMBIENT_DISPLAY_ALWAYS_ON", - "AMBIENT_DISPLAY_NEW_NOTIFICATION", - "ANDROID_AUTO", - "ANDROID_VERSION", - "APP_BATTERY_USAGE", - "APP_DATA_USAGE", - "APP_DETAILS", - "APP_SHORTCUT", - "APPS_NOTIFICATIONS", - "APPS_STORAGE", - "ASSISTANT_ACCOUNT", - "ASSISTANT_FACE_MATCH", - "ASSISTANT_LANGUAGE", - "ASSISTANT_VOICE_MATCH", - "AUTO_ROTATE", - "AUTO_ROTATE_FACE_DETECTION", - "BACKUP", - "BATTERY_HEALTH", - "BATTERY_LEVEL", - "BATTERY_LOW", - "BATTERY_PERCENTAGE", - "BATTERY_PRESENT", - "BATTERY_SAVER", - "BATTERY_SAVER_SCHEDULE", - "BATTERY_SHARE", - "BATTERY_USAGE", - "BIOMETRIC", - "BLUETOOTH", - "BLUETOOTH_NAME", - "BLUETOOTH_ADDRESS", - "BLUETOOTH_SETTINGS", - "BRIGHTNESS_LEVEL", - "BUBBLES", - "CALL_VOLUME", - "CAMERA_DOUBLE_TWIST", - "CAST", - "CAR_CRASH_DETECTION", - "COLOR_INVERSION", - "COLOR_CORRECTION", - "CONVERSATIONS", - "CHARGING_SOUNDS_AND_VIBRATION", - "CHARGING_STATE", - "CONNECTED_DEVICES", - "CONTACTLESS_PAYMENTS", - "DATA_ROAMING", - "DATA_SAVER", - "DATA_USAGE", - "DATA_LIMIT", - "DATA_LIMIT_LEVEL", - "DATA_WARNING", - "DATA_WARNING_LEVEL", - "DEFAULT_ALARM_SOUND", - "DEFAULT_NOTIFICATION_SOUND", - "DEFAULT_APPS", - "DEVELOPER_OPTIONS", - "DEVICE_ASSISTANT_APP", - "DEVICE_NAME", - "DISPLAY_OVER_OTHER_APPS", - "DISPLAY_SIZE", - "DO_NOT_DISTURB", - "DO_NOT_DISTURB_MESSAGES", - "DO_NOT_DISTURB_CALLS", - "DO_NOT_DISTURB_ALARMS", - "DO_NOT_DISTURB_SCHEDULES", - "DOUBLE_TAP_CHECK_PHONE", - "DRIVING_MODE", - "EARTHQUAKE_ALERTS", - "EMERGENCY", - "EMERGENCY_ALERTS", - "EMERGENCY_CONTACTS", - "EMERGENCY_INFORMATION", - "ETHERNET_TETHERING", - "EXTRA_DIM", - "EXTREME_BATTERY_SAVER", - "FACTORY_RESET", - "FIND_MY_DEVICE", - "FLASHLIGHT", - "FOCUS_MODE", - "FONT_SIZE", - "FREE_UP_SPACE", - "FINGERPRINT_MANAGER", - "GESTURES", - "HAPTIC_FEEDBACK_VIBRATION", - "HARD_KEYBOARD", - "HEADS_UP", - "HIGH_REFRESH_RATE", - "HOT_SPOT", - "HOTSPOT_TETHERING", - "HOT_WORD", - "HUB_MODE", - "IP_ADDRESS", - "IMPROVE_LOCATION_ACCURACY", - "JUMP_TO_CAMERA", - "KEYBOARD_SHORTCUTS", - "LIFT_CHECK_PHONE", - "LIVE_TRANSLATE", - "LOCATION", - "LOCATION_HISTORY", - "LOCATION_BLUETOOTH_SCANNING", - "LOCATION_WIFI_SCANNING", - "LOCK_SCREEN", - "LOCK_SCREEN_DEVICE_CONTROLS", - "LOCK_SCREEN_WALLET", - "MAC_ADDRESS", - "MAGNIFICATION", - "MAGNIFY_BUTTON", - "MAGNIFY_TRIPLE_TAP", - "MANIFY_BUTTON", - "MANIFY_TRIPLE_TAP", - "MEDIA", - "MEDIA_VOLUME", - "MICROPHONE_ACCESS", - "MOBILE", - "MOBILE_DATA", - "MUSIC", - "MUTE_MODE", - "NETWORK", - "NETWORK_RESET", - "NFC", - "NIGHT_LIGHT_INTENSITY", - "NIGHT_LIGHT_SWITCH", - "NIGHT_MODE", - "NOTIFICATION_BADGE", - "NOTIFICATION_SOUND", - "NOTIFICATION_ON_SCREEN", - "NOTIFICATION_HISTORY", - "NOTIFY_FOR_PUBLIC_NETWORKS", - "ONEHANDED_MODE", - "OS_VERSION", - "PASSWORD", - "PERMISSION_MANAGER", - "PERMISSION_USAGE", - "PERSONALIZATION", - "PRINTING", - "PHONE_NUMBER", - "PICTURE_IN_PICTURE", - "POINTER_SPEED", - "POWER_MENU", - "REMINDERS", - "REQUIRE_DEVICE_UNLOCK_FOR_NFC", - "RINGTONE", - "RING_VOLUME", - "NEARBY_DEVICES_SCANNING", - "NEARBY_SHARE", - "SCREEN_LOCKING_SOUND", - "SCREEN_MAGNIFICATION", - "SCREEN_TIMEOUT", - "SCREEN_LOCK", - "SCREEN_SAVER", - "SELECT_TO_SPEAK", - "SET_TIME_AUTOMATICALLY", - "SET_TIME_ZONE_AUTOMATICALLY", - "SETTINGS", - "SIM", - "SIM_MANAGER", - "SPEECH_RATE", - "STORAGE_USAGE", - "SWIPE_FOR_NOTIFICATION", - "SWITCH_ACCESS", - "SYSTEM_UPDATE", - "SYSTEM_UPDATES", - "SYSTEM_NAVIGATION", - "SYSTEM_NAVIGATION_GESTURES", - "SYSTEM_NAVIGATION_BUTTONS", - "TALKBACK_PASSWORDS", - "TEXT_TO_SPEECH", - "TIME_ZONE", - "UNUSED_APPS", - "USB", - "USB_TETHERING", - "VERBOSE_TTS", - "VIBRATE", - "VIBRATION", - "VIBRATION_MODE", - "VOICE", - "VOLUME_LEVEL", - "WAKE_SCREEN_FOR_NOTIFICATIONS", - "WALLPAPERS", - "WEBVIEW", - "WIFI", - "WIFI_ADD_NETWORK", - "WIFI_ADD_NETWORK_QR_CODE", - "WIFI_CALLING", - "WIFI_HOTSPOT", - "ACCESSIBILITY_SELECT_TO_SPEAK", - "CRISIS_ALERTS", - "REGULATORY_LABELS", - "SEND_FEEDBACK", - "OS_BUILD_NUMBER", - "ACCESSIBILITY_SHORTCUTS", - "ACCESSIBILITY_MENU", - "ACCESSIBILITY_SOUND_AMPLIFIER", - "ACCESSIBILITY_LIVE_TRANSCRIBE", - "ACCESSIBILITY_SOUND_NOTIFICATIONS", - "ACCESSIBILITY_TALKBACK", - "ACCESSIBILITY_TIMEOUT", - "CAMERA_SETTINGS", - "BATTERY_SAVER_TOGGLE", - "COVID_NOTIFICATIONS", - "APP_LOCATION", - "LOCATION_SERVICES", - "PRIVATE_DNS", - "UNRESTRICTED_DATA", - "PREFERRED_NETWORK", - "NETWORK_PREFERENCES", - "PASSWORDS_AND_ACCOUNTS", - "PRIVACY_DASHBOARD", - "MORE_SECURITY", - "APP_PINNING", - "CONFIRM_SIM_DELETION", - "ENCRYPT_PHONE", - "FACE_UNLOCK", - "INSTALL_UNKNOWN_APPS", - "NOW_PLAYING", - "STAY_AWAKE", - "ASSISTANT_VOICE", - "RESET_BLUETOOTH_WIFI", - "DEFAULT_PHONE_APP", - "GOOGLE_ACCOUNT", - "ACCESSIBILITY_CAPTION_SIZE_AND_STYLE", - "ACCESSIBILITY_CAPTION_STYLE", - "ACCESSIBILITY_CAPTION_TEXT", - "ACCESSIBILITY_CAPTION_PREFERENCES", - "ACCESSIBILITY_COLOR_AND_MOTION", - "ACCESSIBILITY_BOLD_TEXT", - "LIVE_CAPTION", - "POWER_BUTTON_ENDS_CALL", - "TOUCH_AND_HOLD_DELAY", - "ACCESSIBILITY_VOICE_ACCESS", - "SMS_PERMISSIONS", - "SPECIAL_APP_ACCESS", - "DARK_THEME_SCHEDULE", - "LOCK_SCREEN_TEXT", - "NIGHT_LIGHT_SCHEDULE", - "AUTOFILL", - "USAGE_AND_DIAGNOSTICS", - "SENSITIVE_NOTIFICATIONS", - "ENCRYPTION_AND_CREDENTIALS", - "SPACIAL_AUDIO", - "RESET_OPTIONS", - "QUICK_TAP", - "TIPS_AND_SUPPORT", - "SCREEN_ATTENTION", - "BLUETOOTH_TETHERING", - "ALL_APPS", - "EXTEND_UNLOCK", - "CLEAR_CALLING", - "GOOGLE_SETTINGS", - "APP_LANGUAGES", - "SIM_STATUS", - "MICROPHONE_PERMISSIONS", - "GOOGLE_PLAY_UPDATE", - "ADD_GOOGLE_ACCOUNT", - "ASSISTANT_SPOKEN_NOTIFICATIONS", - "ABOUT_PHONE", - "ACCOUNTS", - "APPLICATION", - "ASSISTANT", - "AUDIO", - "BATTERY", - "BELL_SCHEDULE", - "CONTINUED_CONVERSATION", - "DATE_TIME", - "DARK_THEME", - "DEVICE_INFO", - "DICTIONARY", - "DIGITAL_WELLBEING", - "DISPLAY", - "LANGUAGE", - "NIGHT_LIGHT", - "NOTIFICATION", - "NOTIFICATION_VOLUME", - "PHONE_RINGTONE", - "PRIVACY", - "ROAMING", - "ROUTINES", - "SEARCH", - "SECURITY", - "SOUND", - "SPELL_CHECKER", - "SYSTEM", - "STORAGE", - "VPN", - "AUTOCLICK", - "CARET_HIGHLIGHT", - "CHROMEVOX", - "CURSOR_HIGHLIGHT", - "DOCKED_MAGNIFIER", - "FOCUS_HIGHLIGHT", - "FULLSCREEN_MAGNIFIER", - "HIGH_CONTRAST_MODE", - "LARGE_CURSOR", - "MONO_AUDIO", - "STICKY_KEYS", - "TAP_DRAGGING", - "VIRTUAL_KEYBOARD", - "WEARABLE_AMBIENT", - "WEARABLE_NOISE_CANCELLATION", - "WEARABLE_TOUCH_CONTROLS", - "RAISE_TO_TALK", - "BEDTIME_MODE", - "THEATER_MODE", - "TOUCH_LOCK", - "PRESS_AND_HOLD", - "WATCH_FACE", - "NOTIFICATION_ANNOUNCEMENT" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Pair a bluetooth device.", - "Link a device to Assistant/Google Home.", - "", - "", - "", - "", - "Deprecated, use DEFAULT_ALARM_SOUND instead.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Denotes if the battery health is normal / reduced / unknown.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Bluetooth on/off toggle", - "", - "", - "Bluetooth preferences page", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Cellular carrier (non-wifi) data usage statistics \u0026 settings for the device.", - "Toggle to enable data use limit", - "The mobile data use after which mobile data is automatically disabled.", - "Toggle to enable data use warning", - "The mobile data use after which a warning is shown to the user.", - "", - "", - "", - "", - "Device's voice assistant app selection.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Special mode for using device hands-free while driving.", - "", - "Main emergency settings", - "", - "", - "", - "", - "Makes screen extra dark.", - "", - "", - "", - "", - "", - "", - "", - "", - "A page for device gestures", - "Slider that controls touch feedback vibration", - "", - "", - "", - "Toggle for internet sharing via WiFi.", - "Common settings page for internet sharing via various means.", - "", - "See go/hubmodesettings-PRD.", - "Show my IP address", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Settings page for what is visible on the lock screen.", - "", - "", - "Show my MAC address", - "", - "", - "", - "", - "", - "", - "", - "Microphone Access is a toggleable setting that controls if Microphone usage is allowed at the system level or not. It is not the per-App Microphone permission page. https://screenshot.googleplex.com/4hrskftPSur7hHh", - "Wireless internet settings, including WiFi, Cellular, etc.", - "Setting to enable/disable cellular data connection being used on the device. https://screenshot.googleplex.com/jMSRtW3Aq4o", - "", - "", - "", - "Restarts the device network stack, no settings are deleted.", - "", - "", - "", - "", - "", - "Deprecated, use DEFAULT_NOTIFICATION_SOUND instead.", - "", - "", - "", - "", - "", - "Password manager", - "Shows permissions and allows add/remove allowed apps.", - "Shows usage of each permission by app.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Settings page for screen locking security methods.", - "", - "", - "", - "", - "", - "Currently active/primary SIM.", - "", - "", - "", - "", - "", - "Deprecated, use SYSTEM_UPDATES instead.", - "", - "Settings page for configuring how navigation between apps is done. Specifically android has choice between Buttons of Gestures mode.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Deprecated, use VIBRATION instead.", - "Vibration master toggle - controls all vibration functions. Corresponds to \"Vibration \u0026 haptics\" toggle in the Android settings app.", - "Controls whether the ringer mode will be silent or will vibrate. Details in https://developer.android.com/reference/android/media/AudioManager#RINGER_MODE_VIBRATE Different from VIBRATION from above.", - "deprecated, use ASSISTANT_VOICE", - "", - "", - "", - "", - "", - "", - "", - "", - "Duplicate, use HOT_SPOT instead", - "Accessibility \u003e Select to Speak", - "Safety \u003e Crisis alerts", - "Settings \u003e About phone \u003e Regulatory labels", - "Settings \u003e About phone \u003e Send feedback about this device", - "", - "", - "", - "Settings \u003e Accessibility \u003e Hearing \u003e Sound Amplifier", - "", - "", - "Settings \u003e Accessibility \u003e TalkBack", - "Settings \u003e Accessibility \u003e Time to take action (Accessibility timeout)", - "", - "", - "Settings \u003e Google \u003e COVID-19 Exposure Notifications", - "", - "", - "", - "Settings \u003e Network \u0026 Internet \u003e Data Saver \u003e Unrestricted data", - "", - "", - "", - "", - "", - "", - "", - "Settings \u003e Security \u003e Encrypt phone", - "", - "", - "", - "", - "", - "", - "", - "", - "Settings \u003e Accessibility \u003e Caption preferences \u003e Caption size and style", - "Settings \u003e Accessibility \u003e Caption preferences \u003e Caption size and style \u003e Caption Style", - "Settings \u003e Accessibility \u003e Caption preferences \u003e Caption size and style \u003e Text size", - "Settings \u003e Accessibility \u003e Caption preferences", - "Settings \u003e Accessibility \u003e Color and motion", - "Settings \u003e Accessibility \u003e Display size and text \u003e Bold text", - "", - "Settings \u003e Accessibility \u003e Power button ends call", - "", - "", - "", - "Settings \u003e Apps \u0026 notifications \u003e Advanced \u003e Special app access", - "", - "Settings \u003e Display \u003e Lock screen \u003e Add text on lock screen", - "", - "", - "", - "", - "Settings \u003e Security \u003e Advanced settings \u003e Encryption \u0026 credentials", - "Settings \u003e Sound \u0026 vibration \u003e Spatial Audio", - "Settings \u003e System \u003e Advanced \u003e Reset options", - "Settings \u003e System \u003e Gestures \u003e Quick tap", - "Settings \u003e Tips \u0026 support", - "Display \u003e Screen timeout \u003e Screen attention", - "", - "", - "", - "", - "", - "", - "", - "Permission Manager \u003e Microphone", - "", - "", - "Settings for assistant to announce messages/notifications", - "Begin of NGA proto consistence", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Duplicate, use NIGHT_MODE instead", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "End of NGA proto consistence", - "Chrome OS specific accessibility settings", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "End of Chrome OS specific accessibility settings", - "Wearable device settings", - "", - "", - "", - "", - "", - "", - "", - "Settings \u003e Display \u003e Change watch face End of Wearable device settings", - "Assistant Spoken Notification Setting" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleAssistantAccessoryV1DeviceStateInstalledAppsState": { - "description": "State of the apps currently installed on the device.", - "id": "GoogleAssistantAccessoryV1DeviceStateInstalledAppsState", - "properties": { - "apps": { - "description": "List of apps currently installed on the device.", - "items": { - "$ref": "AssistantApiCoreTypesProvider" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleAssistantAccessoryV1ResponseConfig": { - "description": "Configuration for the response. Next Id: 11", - "id": "GoogleAssistantAccessoryV1ResponseConfig", - "properties": { - "audioOutConfig": { - "$ref": "GoogleAssistantAccessoryV1AudioOutConfig", - "description": "Specifies the current audio mode on the device." - }, - "deviceConfig": { - "$ref": "GoogleAssistantAccessoryV1DeviceConfig", - "description": "Configuration related to a specific device." - }, - "deviceInteraction": { - "description": "The client interaction to be sent to Assistant. This is a assistant.embedded.v1.DeviceInteraction message in serialized binary proto format.", - "format": "byte", - "type": "string" - }, - "deviceState": { - "$ref": "GoogleAssistantAccessoryV1DeviceState", - "description": "Device state to pass to the Assistant server to use in calculating the response." - }, - "initialAudioBytes": { - "description": "Specifies the initial bytes of TTS audio to send.", - "format": "int32", - "type": "integer" - }, - "isNewConversation": { - "description": "If true, the server will treat the request as a new conversation and not use state from the prior request. Set this field to true when the conversation should be restarted, such as after a device reboot, or after a significant lapse of time since the prior query.", - "type": "boolean" - }, - "outputSampleRateHz": { - "description": "Specifies the desired audio sample rate of the output TTS stream in Hz.", - "format": "int32", - "type": "integer" - }, - "responseType": { - "description": "Specifies the requested response type.", - "enum": [ - "RESPONSE_TYPE_UNSPECIFIED", - "TEXT", - "TRANSCRIPTION" - ], - "enumDescriptions": [ - "No response type specified. This is invalid and the host will send a state update indicating an error.", - "Requests an Assistant text response.", - "Requests a voice transcription only." - ], - "type": "string" - }, - "screenOutConfig": { - "$ref": "GoogleAssistantAccessoryV1ScreenOutConfig", - "description": "Specifies the desired format to use when server returns a visual screen response." - } - }, - "type": "object" - }, - "GoogleAssistantAccessoryV1ScreenOutConfig": { - "description": "Specifies the desired format for the server to use when it returns `screen_out` response.", - "id": "GoogleAssistantAccessoryV1ScreenOutConfig", - "properties": { - "dimensions": { - "$ref": "GoogleAssistantAccessoryV1ScreenOutConfigDimensions", - "description": "Device dimensions." - }, - "fontScaleFactor": { - "description": "The scale factor used to convert Scalable Pixel (SP) units to Density-independent Pixel (DP) units (DP = SP * scale factor). Fonts are measured in units of SP, and on some platforms such as Android the SP to DP scale factor can be affected by the font size a user selects in accessibility settings.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GoogleAssistantAccessoryV1ScreenOutConfigDimensions": { - "description": "This contains physical and logical characteristics about the device (e.g. screen size and DPI, etc).", - "id": "GoogleAssistantAccessoryV1ScreenOutConfigDimensions", - "properties": { - "screenDpi": { - "description": "Dots (pixels) per inch of the screen.", - "format": "float", - "type": "number" - }, - "screenHeightPx": { - "description": "Height of the device's screen in pixels. If 0 or not specified, it's assumed to be the same as screen_width_px. For a square or round screen, it's recommended to leave this field empty as a bandwidth optimization.", - "format": "int32", - "type": "integer" - }, - "screenShape": { - "description": "The shape of the device's screen", - "enum": [ - "SCREEN_SHAPE_UNSPECIFIED", - "SCREEN_SHAPE_OVAL", - "SCREEN_SHAPE_RECT" - ], - "enumDescriptions": [ - "Screen shape is undefined.", - "A round screen (typically found on most Wear devices).", - "Rectangular screens." - ], - "type": "string" - }, - "screenWidthPx": { - "description": "Width of the device's screen in pixels.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleAssistantEmbeddedV1Alarm": { - "description": "Alarms are clocks that ring at a specified time on one or more days. The client schedules a time to ring based on the date/time pattern. When it rings, it may be rescheduled off the original time by snoozing or it may be replaced by the next occurrence.", - "id": "GoogleAssistantEmbeddedV1Alarm", - "properties": { - "alarmId": { - "description": "A string key used as an identifier to this alarm. This key needs to be unique amongst all alarms on the device. The client can choose a mechanism of its choice to ensure this. If the server suggests an alarm_id, the client can either use the suggestion or create a new unique alarm_id of its choosing.", - "type": "string" - }, - "alarmSource": { - "description": "The entity that created this alarm. Note this may be different from the device that reported this alarm. In particular, this field is meant for remote alarms which have been synced to the current device by the Clock app. Synced alarms exist in each device's Clock app and can be managed by either device; this field indicates their origin.", - "enum": [ - "ALARM_SOURCE_UNSPECIFIED", - "PHONE", - "WATCH" - ], - "enumDescriptions": [ - "Alarm source unknown or not specified.", - "A smartphone device.", - "A smartwatch device." - ], - "type": "string" - }, - "datePattern": { - "$ref": "GoogleTypeDate", - "description": "For single alarms: the one date the alarm should next be scheduled for." - }, - "label": { - "description": "A user-provided name for this alarm.", - "type": "string" - }, - "recurrencePattern": { - "$ref": "GoogleAssistantEmbeddedV1AlarmRecurrence", - "description": "For recurring alarms: a description of the dates when the alarm should recur." - }, - "scheduledTime": { - "description": "When SCHEDULED or SNOOZED, the absolute time the alarm will fire next. When SNOOZED, this time includes the additional time added by snoozing the alarm. When FIRING, the absolute time the alarm had been scheduled to fire. When DISABLED, this field is undefined and should be ignored.", - "format": "google-datetime", - "type": "string" - }, - "status": { - "description": "Describes the part of the lifecycle that an alarm is in.", - "enum": [ - "ALARM_STATUS_UNSPECIFIED", - "SCHEDULED", - "FIRING", - "SNOOZED", - "DISABLED" - ], - "enumDescriptions": [ - "", - "The alarm is scheduled to fire at some point in the future.", - "The alarm is currently firing.", - "Like SCHEDULED; the alarm has been snoozed after firing.", - "Alarm is disabled, i.e., it won't ring. Scheduled time is undefined for disabled alarms and should be ignored." - ], - "type": "string" - }, - "timePattern": { - "$ref": "GoogleTypeTimeOfDay", - "description": "The time of day the alarm should be scheduled for. This value does not change when an alarm enters the SNOOZED state; instead the scheduled_time field should be adjusted to the new alarm time." - } - }, - "type": "object" - }, - "GoogleAssistantEmbeddedV1AlarmRecurrence": { - "description": "A description of the dates when an alarm should recur.", - "id": "GoogleAssistantEmbeddedV1AlarmRecurrence", - "properties": { - "dayOfWeek": { - "description": "Specifies a weekly or daily recurrence. Constraint: The date falls on one of these days of the week, in 0...6 (Sunday...Saturday). Should not be empty.", - "items": { - "enum": [ - "DAY_OF_WEEK_UNSPECIFIED", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ], - "enumDescriptions": [ - "The day of the week is unspecified.", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleAssistantEmbeddedV1Alarms": { - "description": "Contains information about on-device alarms for devices that support alarms.", - "id": "GoogleAssistantEmbeddedV1Alarms", - "properties": { - "alarms": { - "description": "Information about all on-device alarms.", - "items": { - "$ref": "GoogleAssistantEmbeddedV1Alarm" - }, - "type": "array" - }, - "snoozeDuration": { - "description": "The amount of time for which alarms should be snoozed. If not specified, the productivity vertical applies a default snooze duration, which may be seen here: http://google3/assistant/verticals/productivity/utils/alarm_utils.cc;l=2734;rcl=415933085", - "format": "google-duration", - "type": "string" - }, - "stateFetchError": { - "description": "Indicates if an error occurred while fetching alarm state. If this value is missing, it can be assumed that the state fetch was successful.", - "enum": [ - "STATE_FETCH_ERROR_UNSPECIFIED", - "STATE_FETCH_ERROR_TIMEOUT", - "STATE_FETCH_ERROR_UNSUPPORTED" - ], - "enumDescriptions": [ - "Equivalent to no errors from fetching state (i.e. success).", - "The time taken to fetch state exceeded the allowed maximum time.", - "State fetch is not supported in Stateless Timer/Alarm Integration. This is expected for Stateless Integration." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverride": { - "description": "Device model capabilities override from client.", - "id": "GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverride", - "properties": { - "deviceModelCapabilities": { - "description": "Device model capabilities from client.", - "format": "byte", - "type": "string" - }, - "updateMask": { - "description": "If present, overrides only fields specified in the mask. When doing so, selected message and repeated fields will be replaced rather than merged. Performs a regular proto MergeFrom if no mask is specified.", - "format": "google-fieldmask", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAssistantEmbeddedV1FitnessActivities": { - "description": "Contains information about on-device fitness activities for devices that support fitness.", - "id": "GoogleAssistantEmbeddedV1FitnessActivities", - "properties": { - "fitnessActivities": { - "description": "Information about all on-device activities.", - "items": { - "$ref": "GoogleAssistantEmbeddedV1FitnessActivity" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleAssistantEmbeddedV1FitnessActivity": { - "description": "Describes a particular fitness activity, its current state, and other data fields associated with that activity (e.g. elapsed time). LINT.IfChange", - "id": "GoogleAssistantEmbeddedV1FitnessActivity", - "properties": { - "activityId": { - "description": "Required A string key used as an identifier for this activity. This key needs to be unique amongst all activities on the device. The client can choose a mechanism of its choice to ensure this. If the server suggests an activity_id, the client can either use the suggestion or create a new unique activity_id of its choosing.", - "type": "string" - }, - "mostRecentStartTime": { - "deprecated": true, - "description": "DEPRECATED: The most recent time this activity was switched to the ACTIVE state.", - "format": "google-datetime", - "type": "string" - }, - "previouslyAccumulatedDuration": { - "deprecated": true, - "description": "DEPRECATED: The total amount of time this activity has spent in the ACTIVE state until the most recent start time. The total time spent active may be computed by summing (now - most_recent_start_time) with previously_accumulated_duration.", - "format": "google-duration", - "type": "string" - }, - "state": { - "description": "The current state of this activity.", - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "PAUSED" - ], - "enumDescriptions": [ - "The state is either unknown or unspecified.", - "Indicates that this activity is currently in progress.", - "Indicates that this activity has been paused (and may be resumed later). Activities in this state should not continue to increment 'elapsed_time' until moved back into the ACTIVE state." - ], - "type": "string" - }, - "type": { - "description": "The type of activity being done.", - "enum": [ - "TYPE_UNSPECIFIED", - "WALK", - "RUN", - "ELLIPTICAL", - "SWIM", - "WEIGHTS", - "TREADMILL", - "BIKE", - "YOGA", - "WORKOUT", - "BOOT_CAMP", - "CIRCUIT_TRAINING", - "GOLF", - "HIKING", - "INTERVAL_TRAINING", - "KICKBOXING", - "MARTIAL_ARTS", - "PILATES", - "SPINNING", - "STAIR_CLIMBING", - "TENNIS", - "AEROBICS", - "CORE_TRAINING", - "DANCING", - "HIGH_INTENSITY_INTERVAL_TRAINING", - "KAYAKING", - "ROWING", - "SKIING", - "STANDUP_PADDLEBOARDING", - "STRENGTH_TRAINING", - "SNOWBOARDING" - ], - "enumDescriptions": [ - "The type is unknown.", - "Represents a walking activity type.", - "Represents a running activity type.", - "Represents an elliptical activity type.", - "Represents a swimming activity type.", - "Represents a weightlifting activity type.", - "Represents a treadmill activity type (e.g. walking/running on a treadmill).", - "Represents a cycling activity type.", - "Represents a yoga activity type.", - "Represents a generic workout activity.", - "Represents a bootcamp activity type.", - "Represents a circuit training activity type.", - "Represents a golf activity type.", - "Represents a hiking activity type.", - "Represents an interval training activity type.", - "Represents a kickboxing activity type.", - "Represents a martial arts activity type.", - "Represents a pilates activity type.", - "Represents a spinning(indoor cycling, stationary biking) activity type.", - "Represents a stair climbing activity type.", - "Represents a tennis activity type.", - "Represents an aerobics activity type.", - "Represents a core training activity type.", - "Represents a dancing activity type.", - "Represents a HIIT activity type.", - "Represents a kayaking activity type.", - "Represents a rowing activity type.", - "Represents a skiing activity type.", - "Represents a standup paddleboading(SUP) activity type.", - "Represents a strength training activity type.", - "Represents a snowboarding activity type." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleAssistantEmbeddedV1SurfaceIdentity": { - "description": "Contains fields to identify the device which sent the request.", - "id": "GoogleAssistantEmbeddedV1SurfaceIdentity", - "properties": { - "surfaceType": { - "description": "Surface type that the device identifies as.", - "enum": [ - "UNKNOWN_TYPE", - "ACCL", - "AGSA", - "ANDROID", - "ANDROID_AUTO", - "ANDROID_LITE", - "ANDROID_PHONE", - "ANDROID_SCREENLESS", - "ANDROID_SMART_DISPLAY", - "ANDROID_TABLET", - "ANDROID_THINGS", - "ANDROID_THINGS_CUBE", - "ANDROID_THINGS_JASPER", - "ANDROID_TV", - "ANDROID_WEAR", - "ASSISTANT_KIT", - "ASSISTANT_SDK", - "AUTO", - "CAST_OS", - "CHROME_OS", - "CHROMECAST_MANHATTAN", - "CLOUD_DEVICE", - "CROS", - "FITBIT_OS_WATCH", - "FITBIT_OS_WATCH_ANDROID", - "FITBIT_OS_WATCH_IOS", - "GOOGLE_HOME", - "HEADPHONE", - "HEADPHONE_ANDROID", - "HEADPHONE_ANDROID_SCREENLESS", - "HEADPHONE_IOS", - "IOPA", - "IOS", - "IOS_SCREENLESS", - "IPAD", - "IPHONE", - "KAI_OS", - "KAI_OS_AMA", - "LIBASSISTANT", - "MATTER", - "PHONE", - "PIXEL", - "PIXEL5", - "PIXEL6", - "PIXEL7", - "PIXEL8", - "PIXEL_BUDS", - "PIXEL_BUDS_SCREENLESS", - "PIXEL_TABLET", - "PIXEL_TABLET_HUB_MODE", - "PIXEL_TABLET_PERSONAL_MODE", - "PIXEL_WATCH", - "SCREENLESS", - "SMART_DISPLAY", - "SPEAKER", - "TABLET", - "TELEPHONE", - "THING", - "WATCH", - "WEAR_OS", - "WEAR_OS_WATCH" - ], - "enumDescriptions": [ - "Unknown surface type.", - "Android conversation client library (go/accl) is an Android library which implements the Conversation Protocol that allows a surface to have conversations with the Assistant server. OWNERS: surfaces-infra-core@", - "Android Google Search App (go/agsa). OWNERS: surfaces-infra-core@", - "Android. OWNERS: surfaces-infra-core@", - "Assistant on Android Auto (go/ast-auto). OWNERS: opa-android-leads@", - "Assistant on Android Go (not part of AGSA). OWNERS: assistantgo-eng@", - "Assistant on Android phones accessed through the Google App (velvet). This surface is formerly known as OPA_AGSA. OWNERS: opa-android-leads@", - "Assistant on Nexus with screen off/locked. Use go/bisto device to trigger. OWNERS: opa-android-leads@", - "Assistant on Titan hub mode (go/titan-hubmode-surface). This is OPA Android first party Smart Display devices. The UI experience is built on Opal (Gallium and Flutter) and native Android. OWNERS: opa-android-leads@", - "Assistant on Android tablet. OWNERS: opa-android-leads@", - "Android Things (go/things). OWNERS: surfaces-infra-core@", - "Lenovo Smart Clock v1, a stationary smart display device with a 4-inch screen, targeted for bedroom/bedside use cases like alarm, sleep tracking. Based on Android Things. See go/cube-home. OWNERS: cube-eng@", - "Former codename for 3P 8-inch and 10-inch Smart Displays from Lenovo, JBL and LG, targeted for use in the kitchen. Based on Android Things. See go/jasper-home. OWNERS: jasper-eng@", - "The Android platform that powers smart televisions, set-top-boxes, and over-the-top devices. See go/atv-eng and go/opa-tv. OWNERS: opa-tv-eng@", - "Legacy Wear OS Assistant. OWNERS: wear-assistant-eng@", - "AssistantKit (go/assistantkit) is a collection of iOS libraries allowing first party apps to integrate Google Assistant features. OWNERS: assistantkit-eng@", - "Standalone gRPC based client. See go/easi. OWNERS: assistant-sdk-service-eng@", - "Automobile. OWNERS: surfaces-infra-core@", - "Cast OS (go/opal-castos-docs#what-is-castos). OWNERS: surfaces-infra-core@", - "Chrome OS (go/chromsos) OWNERS: surfaces-infra-core@", - "For chromecast with assistant + screen, e.g. Newman. OWNERS: cast-eng-platform@", - "Virtual device for event-based triggering, e.g. executing time scheduled routines: go/scheduled-routines. OWNERS: surfaces-infra-core@", - "Assistant on native Chrome OS (go/croissant). OWNERS: croissant@", - "Assistant on Fitbit OS Watch. OWNERS: assistant-wearable-team@", - "Assistant on Fitbit Watch paired with AGSA. OWNERS: assistant-wearable-team@", - "Assistant on Fitbit Watch paired with iOPA. OWNERS: assistant-wearable-team@", - "Google home speaker, i.e., Chirp devices. See go/assistant-speakers. OWNERS: assistant-speaker-leads@", - "Headphone. OWNERS: surfaces-infra-core@", - "Assistant on headphones with APA. OWNERS: assistant-wearable-team@", - "Assistant on headphones with AGSA-C. OWNERS: assistant-wearable-team@", - "Assistant on headphones paired with iOPA. OWNERS: assistant-wearable-team@", - "Assistant on iOS devices (go/opa-ios). OWNERS: opa-ios-eng@", - "iOS. OWNERS: surfaces-infra-core@", - "Assistant on iOS with screen off/locked. Use go/bisto device to trigger. OWNERS: bisto-team@", - "iPad devices. OWNERS: surfaces-infra-core@", - "iPhone devices. OWNERS: surfaces-infra-core@", - "Kai OS (go/kaios). OWNERS: surfaces-infra-core@", - "Assistant on KaiOS (go/kaiosama). OWNERS: assistant-kaios-eng@", - "LibAssistant (go/libassistant) C++ SDK that powers Assistant experience on both 1P devices like Google Home and 3P devices like Sonos. OWNERS: libassistant-core@", - "Matter based clients. go/matter-prod. OWNERS: assistant-media@", - "A phone. OWNERS: surfaces-infra-core@", - "Pixel devices. OWNERS: surfaces-infra-core@", - "Pixel 5. OWNERS: surfaces-infra-core@", - "Pixel 6. OWNERS: surfaces-infra-core@", - "Pixel 7. OWNERS: surfaces-infra-core@", - "Pixel 8. OWNERS: surfaces-infra-core@", - "Assistant on Pixel Buds with APA. OWNERS: assistant-wearable-team@", - "Assistant on Pixel Buds with AGSA-C. OWNERS: assistant-wearable-team@", - "Assistant on Pixel Tablet/Tangor (a.k.a, TK). OWNERS: assistant-display-eng@", - "Assistant on Tangor running in Hub mode. OWNERS: assistant-display-eng@", - "Assistant on Tangor running in Personal mode. OWNERS: assistant-display-eng@", - "Assistant on Pixel Watch (a.k.a., Rohan). OWNERS: assistant-wearable-team@", - "Devices with screen off or locked (go/bisto). OWNERS: surfaces-infra-core@", - "Smart surface, such as Titan. OWNERS: surfaces-infra-core@", - "A speaker. OWNERS: surfaces-infra-core@", - "A tablet. OWNERS: surfaces-infra-core@", - "Assistant on a phone call (go/telephone). OWNERS: telephone-assistant-eng@", - "IoT device. OWNERS: surfaces-infra-core@", - "Watch. OWNERS: surfaces-infra-core@", - "Wear OS. OWNERS: surfaces-infra-core@", - "Assistant on Wear OS Watch (a.k.a., Edoras). OWNERS: assistant-wearable-team@" - ], - "type": "string" - }, - "userAgentSuffix": { - "description": "* Fully formed user agent suffix string.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAssistantEmbeddedV1Timer": { - "description": "Conceptually, timers are clocks that count down from an initial duration and ring when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.", - "id": "GoogleAssistantEmbeddedV1Timer", - "properties": { - "expireTime": { - "description": "The time the timer is scheduled to expire. google.protobuf.Timestamp is a Unix epoch time with a granularity of 1 nanosecond.", - "format": "google-datetime", - "type": "string" - }, - "label": { - "description": "A user-provided name for this timer.", - "type": "string" - }, - "originalDuration": { - "description": "The duration of the timer when it was started. For the ADD_TIME action, this field contains the amount of time to add to the timer with the given timer_id.", - "format": "google-duration", - "type": "string" - }, - "remainingDuration": { - "description": "The remaining duration for the timer.", - "format": "google-duration", - "type": "string" - }, - "status": { - "description": "Describes the part of the lifecycle a timer is in.", - "enum": [ - "TIMER_STATUS_UNSPECIFIED", - "RUNNING", - "PAUSED", - "FIRING" - ], - "enumDescriptions": [ - "", - "The timer is currently counting down.", - "The timer is currently paused.", - "The timer has expired and is ringing." - ], - "type": "string" - }, - "timerId": { - "description": "A string key used as an identifier to this timer. This key needs to be unique amongst all timers on the device. The client can choose a mechanism of its choice to ensure this. If the server suggests a timer_id, the client can either use the suggestion or create a new unique timer_id of its choosing.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleAssistantEmbeddedV1Timers": { - "description": "Contains information about on-device timers for devices that support timers.", - "id": "GoogleAssistantEmbeddedV1Timers", - "properties": { - "stateFetchError": { - "description": "Indicates if an error occurred while fetching timer state. If this value is missing, it can be assumed that the state fetch was successful.", - "enum": [ - "STATE_FETCH_ERROR_UNSPECIFIED", - "STATE_FETCH_ERROR_TIMEOUT", - "STATE_FETCH_ERROR_UNSUPPORTED" - ], - "enumDescriptions": [ - "Equivalent to no errors from fetching state (i.e. success).", - "The time taken to fetch state exceeded the allowed maximum time.", - "State fetch is not supported in Stateless Timer/Alarm Integration. This is expected for Stateless Integration." - ], - "type": "string" - }, - "timers": { - "description": "Information about all on-device timers.", - "items": { - "$ref": "GoogleAssistantEmbeddedV1Timer" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1AccessControlAction": { - "description": "Represents the action responsible for access control list management operations.", - "id": "GoogleCloudContentwarehouseV1AccessControlAction", - "properties": { - "operationType": { - "description": "Identifies the type of operation.", - "enum": [ - "UNKNOWN", - "ADD_POLICY_BINDING", - "REMOVE_POLICY_BINDING", - "REPLACE_POLICY_BINDING" - ], - "enumDescriptions": [ - "The unknown operation type.", - "Adds newly given policy bindings in the existing bindings list.", - "Removes newly given policy bindings from the existing bindings list.", - "Replaces existing policy bindings with the given policy binding list" - ], - "type": "string" - }, - "policy": { - "$ref": "GoogleIamV1Policy", - "description": "Represents the new policy from which bindings are added, removed or replaced based on the type of the operation. the policy is limited to a few 10s of KB." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1Action": { - "description": "Represents the action triggered by Rule Engine when the rule is true.", - "id": "GoogleCloudContentwarehouseV1Action", - "properties": { - "accessControl": { - "$ref": "GoogleCloudContentwarehouseV1AccessControlAction", - "description": "Action triggering access control operations." - }, - "actionId": { - "description": "ID of the action. Managed internally.", - "type": "string" - }, - "addToFolder": { - "$ref": "GoogleCloudContentwarehouseV1AddToFolderAction", - "description": "Action triggering create document link operation." - }, - "dataUpdate": { - "$ref": "GoogleCloudContentwarehouseV1DataUpdateAction", - "description": "Action triggering data update operations." - }, - "dataValidation": { - "$ref": "GoogleCloudContentwarehouseV1DataValidationAction", - "description": "Action triggering data validation operations." - }, - "deleteDocumentAction": { - "$ref": "GoogleCloudContentwarehouseV1DeleteDocumentAction", - "description": "Action deleting the document." - }, - "publishToPubSub": { - "$ref": "GoogleCloudContentwarehouseV1PublishAction", - "description": "Action publish to Pub/Sub operation." - }, - "removeFromFolderAction": { - "$ref": "GoogleCloudContentwarehouseV1RemoveFromFolderAction", - "description": "Action removing a document from a folder." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ActionExecutorOutput": { - "description": "Represents the output of the Action Executor.", - "id": "GoogleCloudContentwarehouseV1ActionExecutorOutput", - "properties": { - "ruleActionsPairs": { - "description": "List of rule and corresponding actions result.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1RuleActionsPair" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ActionOutput": { - "description": "Represents the result of executing an action.", - "id": "GoogleCloudContentwarehouseV1ActionOutput", - "properties": { - "actionId": { - "description": "ID of the action.", - "type": "string" - }, - "actionState": { - "description": "State of an action.", - "enum": [ - "UNKNOWN", - "ACTION_SUCCEEDED", - "ACTION_FAILED", - "ACTION_TIMED_OUT", - "ACTION_PENDING" - ], - "enumDescriptions": [ - "The unknown state.", - "State indicating action executed successfully.", - "State indicating action failed.", - "State indicating action timed out.", - "State indicating action is pending." - ], - "type": "string" - }, - "outputMessage": { - "description": "Action execution output message.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1AddToFolderAction": { - "description": "Represents the action responsible for adding document under a folder.", - "id": "GoogleCloudContentwarehouseV1AddToFolderAction", - "properties": { - "folders": { - "description": "Names of the folder under which new document is to be added. Format: projects/{project_number}/locations/{location}/documents/{document_id}.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1CloudAIDocumentOption": { - "description": "Request Option for processing Cloud AI Document in CW Document.", - "id": "GoogleCloudContentwarehouseV1CloudAIDocumentOption", - "properties": { - "customizedEntitiesPropertiesConversions": { - "additionalProperties": { - "type": "string" - }, - "description": "If set, only selected entities will be converted to properties.", - "type": "object" - }, - "enableEntitiesConversions": { - "description": "Whether to convert all the entities to properties.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1CreateDocumentLinkRequest": { - "description": "Request message for DocumentLinkService.CreateDocumentLink.", - "id": "GoogleCloudContentwarehouseV1CreateDocumentLinkRequest", - "properties": { - "documentLink": { - "$ref": "GoogleCloudContentwarehouseV1DocumentLink", - "description": "Required. Document links associated with the source documents (source_document_id)." - }, - "requestMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", - "description": "The meta information collected about the document creator, used to enforce access control for the service." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1CreateDocumentMetadata": { - "description": "Metadata object for CreateDocument request (currently empty).", - "id": "GoogleCloudContentwarehouseV1CreateDocumentMetadata", - "properties": {}, - "type": "object" - }, - "GoogleCloudContentwarehouseV1CreateDocumentRequest": { - "description": "Request message for DocumentService.CreateDocument.", - "id": "GoogleCloudContentwarehouseV1CreateDocumentRequest", - "properties": { - "cloudAiDocumentOption": { - "$ref": "GoogleCloudContentwarehouseV1CloudAIDocumentOption", - "description": "Request Option for processing Cloud AI Document in Document Warehouse. This field offers limited support for mapping entities from Cloud AI Document to Warehouse Document. Please consult with product team before using this field and other available options." - }, - "createMask": { - "description": "Field mask for creating Document fields. If mask path is empty, it means all fields are masked. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask.", - "format": "google-fieldmask", - "type": "string" - }, - "document": { - "$ref": "GoogleCloudContentwarehouseV1Document", - "description": "Required. The document to create." - }, - "policy": { - "$ref": "GoogleIamV1Policy", - "description": "Default document policy during creation. This refers to an Identity and Access (IAM) policy, which specifies access controls for the Document. Conditions defined in the policy will be ignored." - }, - "requestMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", - "description": "The meta information collected about the end user, used to enforce access control for the service." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1CreateDocumentResponse": { - "description": "Response message for DocumentService.CreateDocument.", - "id": "GoogleCloudContentwarehouseV1CreateDocumentResponse", - "properties": { - "document": { - "$ref": "GoogleCloudContentwarehouseV1Document", - "description": "Document created after executing create request." - }, - "longRunningOperations": { - "description": "post-processing LROs", - "items": { - "$ref": "GoogleLongrunningOperation" - }, - "type": "array" - }, - "metadata": { - "$ref": "GoogleCloudContentwarehouseV1ResponseMetadata", - "description": "Additional information for the API invocation, such as the request tracking id." - }, - "ruleEngineOutput": { - "$ref": "GoogleCloudContentwarehouseV1RuleEngineOutput", - "description": "Output from Rule Engine recording the rule evaluator and action executor's output. Refer format in: google/cloud/contentwarehouse/v1/rule_engine.proto" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1CustomWeightsMetadata": { - "description": "To support the custom weighting across document schemas.", - "id": "GoogleCloudContentwarehouseV1CustomWeightsMetadata", - "properties": { - "weightedSchemaProperties": { - "description": "List of schema and property name. Allows a maximum of 10 schemas to be specified for relevance boosting.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1WeightedSchemaProperty" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1DataUpdateAction": { - "description": "Represents the action responsible for properties update operations.", - "id": "GoogleCloudContentwarehouseV1DataUpdateAction", - "properties": { - "entries": { - "additionalProperties": { - "type": "string" - }, - "description": "Map of (K, V) -\u003e (valid name of the field, new value of the field) E.g., (\"age\", \"60\") entry triggers update of field age with a value of 60. If the field is not present then new entry is added. During update action execution, value strings will be casted to appropriate types.", - "type": "object" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1DataValidationAction": { - "description": "Represents the action responsible for data validation operations.", - "id": "GoogleCloudContentwarehouseV1DataValidationAction", - "properties": { - "conditions": { - "additionalProperties": { - "type": "string" - }, - "description": "Map of (K, V) -\u003e (field, string condition to be evaluated on the field) E.g., (\"age\", \"age \u003e 18 \u0026\u0026 age \u003c 60\") entry triggers validation of field age with the given condition. Map entries will be ANDed during validation.", - "type": "object" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1DateTimeArray": { - "description": "DateTime values.", - "id": "GoogleCloudContentwarehouseV1DateTimeArray", - "properties": { - "values": { - "description": "List of datetime values. Both OffsetDateTime and ZonedDateTime are supported.", - "items": { - "$ref": "GoogleTypeDateTime" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1DateTimeTypeOptions": { - "description": "Configurations for a date time property.", - "id": "GoogleCloudContentwarehouseV1DateTimeTypeOptions", - "properties": {}, - "type": "object" - }, - "GoogleCloudContentwarehouseV1DeleteDocumentAction": { - "description": "Represents the action responsible for deleting the document.", - "id": "GoogleCloudContentwarehouseV1DeleteDocumentAction", - "properties": { - "enableHardDelete": { - "description": "Boolean field to select between hard vs soft delete options. Set 'true' for 'hard delete' and 'false' for 'soft delete'.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest": { - "description": "Request message for DocumentLinkService.DeleteDocumentLink.", - "id": "GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest", - "properties": { - "requestMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", - "description": "The meta information collected about the document creator, used to enforce access control for the service." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1DeleteDocumentRequest": { - "description": "Request message for DocumentService.DeleteDocument.", - "id": "GoogleCloudContentwarehouseV1DeleteDocumentRequest", - "properties": { - "requestMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", - "description": "The meta information collected about the end user, used to enforce access control for the service." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1Document": { - "description": "Defines the structure for content warehouse document proto.", - "id": "GoogleCloudContentwarehouseV1Document", - "properties": { - "cloudAiDocument": { - "$ref": "GoogleCloudDocumentaiV1Document", - "description": "Document AI format to save the structured content, including OCR." - }, - "contentCategory": { - "description": "Indicates the category (image, audio, video etc.) of the original content.", - "enum": [ - "CONTENT_CATEGORY_UNSPECIFIED", - "CONTENT_CATEGORY_IMAGE", - "CONTENT_CATEGORY_AUDIO", - "CONTENT_CATEGORY_VIDEO" - ], - "enumDescriptions": [ - "No category is specified.", - "Content is of image type.", - "Content is of audio type.", - "Content is of video type." - ], - "type": "string" - }, - "createTime": { - "description": "Output only. The time when the document is created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "creator": { - "description": "The user who creates the document.", - "type": "string" - }, - "displayName": { - "description": "Required. Display name of the document given by the user. This name will be displayed in the UI. Customer can populate this field with the name of the document. This differs from the 'title' field as 'title' is optional and stores the top heading in the document.", - "type": "string" - }, - "displayUri": { - "description": "Uri to display the document, for example, in the UI.", - "type": "string" - }, - "dispositionTime": { - "description": "Output only. If linked to a Collection with RetentionPolicy, the date when the document becomes mutable.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "documentSchemaName": { - "description": "The Document schema name. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.", - "type": "string" - }, - "inlineRawDocument": { - "description": "Raw document content.", - "format": "byte", - "type": "string" - }, - "legalHold": { - "description": "Output only. Indicates if the document has a legal hold on it.", - "readOnly": true, - "type": "boolean" - }, - "name": { - "description": "The resource name of the document. Format: projects/{project_number}/locations/{location}/documents/{document_id}. The name is ignored when creating a document.", - "type": "string" - }, - "plainText": { - "description": "Other document format, such as PPTX, XLXS", - "type": "string" - }, - "properties": { - "description": "List of values that are user supplied metadata.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1Property" - }, - "type": "array" - }, - "rawDocumentFileType": { - "description": "This is used when DocAI was not used to load the document and parsing/ extracting is needed for the inline_raw_document. For example, if inline_raw_document is the byte representation of a PDF file, then this should be set to: RAW_DOCUMENT_FILE_TYPE_PDF.", - "enum": [ - "RAW_DOCUMENT_FILE_TYPE_UNSPECIFIED", - "RAW_DOCUMENT_FILE_TYPE_PDF", - "RAW_DOCUMENT_FILE_TYPE_DOCX", - "RAW_DOCUMENT_FILE_TYPE_XLSX", - "RAW_DOCUMENT_FILE_TYPE_PPTX", - "RAW_DOCUMENT_FILE_TYPE_TEXT", - "RAW_DOCUMENT_FILE_TYPE_TIFF" - ], - "enumDescriptions": [ - "No raw document specified or it is non-parsable", - "Adobe PDF format", - "Microsoft Word format", - "Microsoft Excel format", - "Microsoft Powerpoint format", - "UTF-8 encoded text format", - "TIFF or TIF image file format" - ], - "type": "string" - }, - "rawDocumentPath": { - "description": "Raw document file in Cloud Storage path.", - "type": "string" - }, - "referenceId": { - "description": "The reference ID set by customers. Must be unique per project and location.", - "type": "string" - }, - "textExtractionDisabled": { - "deprecated": true, - "description": "If true, text extraction will not be performed.", - "type": "boolean" - }, - "textExtractionEnabled": { - "description": "If true, text extraction will be performed.", - "type": "boolean" - }, - "title": { - "description": "Title that describes the document. This can be the top heading or text that describes the document.", - "type": "string" - }, - "updateTime": { - "description": "Output only. The time when the document is last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "updater": { - "description": "The user who lastly updates the document.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1DocumentLink": { - "description": "A document-link between source and target document.", - "id": "GoogleCloudContentwarehouseV1DocumentLink", - "properties": { - "createTime": { - "description": "Output only. The time when the documentLink is created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Description of this document-link.", - "type": "string" - }, - "name": { - "description": "Name of this document-link. It is required that the parent derived form the name to be consistent with the source document reference. Otherwise an exception will be thrown. Format: projects/{project_number}/locations/{location}/documents/{source_document_id}/documentLinks/{document_link_id}.", - "type": "string" - }, - "sourceDocumentReference": { - "$ref": "GoogleCloudContentwarehouseV1DocumentReference", - "description": "Document references of the source document." - }, - "state": { - "description": "The state of the documentlink. If target node has been deleted, the link is marked as invalid. Removing a source node will result in removal of all associated links.", - "enum": [ - "STATE_UNSPECIFIED", - "ACTIVE", - "SOFT_DELETED" - ], - "enumDescriptions": [ - "Unknown state of documentlink.", - "The documentlink has both source and target documents detected.", - "Target document is deleted, and mark the documentlink as soft-deleted." - ], - "type": "string" - }, - "targetDocumentReference": { - "$ref": "GoogleCloudContentwarehouseV1DocumentReference", - "description": "Document references of the target document." - }, - "updateTime": { - "description": "Output only. The time when the documentLink is last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1DocumentQuery": { - "id": "GoogleCloudContentwarehouseV1DocumentQuery", - "properties": { - "customPropertyFilter": { - "deprecated": true, - "description": "This filter specifies a structured syntax to match against the [PropertyDefinition].is_filterable marked as `true`. The syntax for this expression is a subset of SQL syntax. Supported operators are: `=`, `!=`, `\u003c`, `\u003c=`, `\u003e`, and `\u003e=` where the left of the operator is a property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Supported functions are `LOWER([property_name])` to perform a case insensitive match and `EMPTY([property_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR NOT D) AND E\"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be \u003c 6000 bytes in length. Sample Query: `(LOWER(driving_license)=\"class \\\"a\\\"\" OR EMPTY(driving_license)) AND driving_years \u003e 10`", - "type": "string" - }, - "customWeightsMetadata": { - "$ref": "GoogleCloudContentwarehouseV1CustomWeightsMetadata", - "description": "To support the custom weighting across document schemas, customers need to provide the properties to be used to boost the ranking in the search request. For a search query with CustomWeightsMetadata specified, only the RetrievalImportance for the properties in the CustomWeightsMetadata will be honored." - }, - "documentCreatorFilter": { - "description": "The exact creator(s) of the documents to search against. If a value isn't specified, documents within the search results are associated with any creator. If multiple values are specified, documents within the search results may be associated with any of the specified creators.", - "items": { - "type": "string" - }, - "type": "array" - }, - "documentNameFilter": { - "description": "Search the documents in the list. Format: projects/{project_number}/locations/{location}/documents/{document_id}.", - "items": { - "type": "string" - }, - "type": "array" - }, - "documentSchemaNames": { - "description": "This filter specifies the exact document schema Document.document_schema_name of the documents to search against. If a value isn't specified, documents within the search results are associated with any schema. If multiple values are specified, documents within the search results may be associated with any of the specified schemas. At most 20 document schema names are allowed.", - "items": { - "type": "string" - }, - "type": "array" - }, - "fileTypeFilter": { - "$ref": "GoogleCloudContentwarehouseV1FileTypeFilter", - "description": "This filter specifies the types of files to return: ALL, FOLDER, or FILE. If FOLDER or FILE is specified, then only either folders or files will be returned, respectively. If ALL is specified, both folders and files will be returned. If no value is specified, ALL files will be returned." - }, - "folderNameFilter": { - "description": "Search all the documents under this specified folder. Format: projects/{project_number}/locations/{location}/documents/{document_id}.", - "type": "string" - }, - "isNlQuery": { - "description": "Experimental, do not use. If the query is a natural language question. False by default. If true, then the question-answering feature will be used instead of search, and `result_count` in SearchDocumentsRequest must be set. In addition, all other input fields related to search (pagination, histograms, etc.) will be ignored.", - "type": "boolean" - }, - "propertyFilter": { - "description": "This filter specifies a structured syntax to match against the PropertyDefinition.is_filterable marked as `true`. The relationship between the PropertyFilters is OR.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1PropertyFilter" - }, - "type": "array" - }, - "query": { - "description": "The query string that matches against the full text of the document and the searchable properties. The query partially supports [Google AIP style syntax](https://google.aip.dev/160). Specifically, the query supports literals, logical operators, negation operators, comparison operators, and functions. Literals: A bare literal value (examples: \"42\", \"Hugo\") is a value to be matched against. It searches over the full text of the document and the searchable properties. Logical operators: \"AND\", \"and\", \"OR\", and \"or\" are binary logical operators (example: \"engineer OR developer\"). Negation operators: \"NOT\" and \"!\" are negation operators (example: \"NOT software\"). Comparison operators: support the binary comparison operators =, !=, \u003c, \u003e, \u003c= and \u003e= for string, numeric, enum, boolean. Also support like operator `~~` for string. It provides semantic search functionality by parsing, stemming and doing synonyms expansion against the input query. To specify a property in the query, the left hand side expression in the comparison must be the property ID including the parent. The right hand side must be literals. For example: \"\\\"projects/123/locations/us\\\".property_a \u003c 1\" matches results whose \"property_a\" is less than 1 in project 123 and us location. The literals and comparison expression can be connected in a single query (example: \"software engineer \\\"projects/123/locations/us\\\".salary \u003e 100\"). Functions: supported functions are `LOWER([property_name])` to perform a case insensitive match and `EMPTY([property_name])` to filter on the existence of a key. Support nested expressions connected using parenthesis and logical operators. The default logical operators is `AND` if there is no operators between expressions. The query can be used with other filters e.g. `time_filters` and `folder_name_filter`. They are connected with `AND` operator under the hood. The maximum number of allowed characters is 255.", - "type": "string" - }, - "queryContext": { - "description": "For custom synonyms. Customers provide the synonyms based on context. One customer can provide multiple set of synonyms based on different context. The search query will be expanded based on the custom synonyms of the query context set. By default, no custom synonyms wll be applied if no query context is provided. It is not supported for CMEK compliant deployment.", - "items": { - "type": "string" - }, - "type": "array" - }, - "timeFilters": { - "description": "Documents created/updated within a range specified by this filter are searched against.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1TimeFilter" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1DocumentReference": { - "description": "References to the documents.", - "id": "GoogleCloudContentwarehouseV1DocumentReference", - "properties": { - "createTime": { - "description": "Output only. The time when the document is created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "deleteTime": { - "description": "Output only. The time when the document is deleted.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "displayName": { - "description": "display_name of the referenced document; this name does not need to be consistent to the display_name in the Document proto, depending on the ACL constraint.", - "type": "string" - }, - "documentIsFolder": { - "description": "The document type of the document being referenced.", - "type": "boolean" - }, - "documentIsLegalHoldFolder": { - "description": "Document is a folder with legal hold.", - "type": "boolean" - }, - "documentIsRetentionFolder": { - "description": "Document is a folder with retention policy.", - "type": "boolean" - }, - "documentName": { - "description": "Required. Name of the referenced document.", - "type": "string" - }, - "snippet": { - "description": "Stores the subset of the referenced document's content. This is useful to allow user peek the information of the referenced document.", - "type": "string" - }, - "updateTime": { - "description": "Output only. The time when the document is last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1DocumentSchema": { - "description": "A document schema used to define document structure.", - "id": "GoogleCloudContentwarehouseV1DocumentSchema", - "properties": { - "createTime": { - "description": "Output only. The time when the document schema is created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Schema description.", - "type": "string" - }, - "displayName": { - "description": "Required. Name of the schema given by the user. Must be unique per project.", - "type": "string" - }, - "documentIsFolder": { - "description": "Document Type, true refers the document is a folder, otherwise it is a typical document.", - "type": "boolean" - }, - "name": { - "description": "The resource name of the document schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}. The name is ignored when creating a document schema.", - "type": "string" - }, - "propertyDefinitions": { - "description": "Document details.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1PropertyDefinition" - }, - "type": "array" - }, - "updateTime": { - "description": "Output only. The time when the document schema is last updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1EnumArray": { - "description": "Enum values.", - "id": "GoogleCloudContentwarehouseV1EnumArray", - "properties": { - "values": { - "description": "List of enum values.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1EnumTypeOptions": { - "description": "Configurations for an enum/categorical property.", - "id": "GoogleCloudContentwarehouseV1EnumTypeOptions", - "properties": { - "possibleValues": { - "description": "Required. List of possible enum values.", - "items": { - "type": "string" - }, - "type": "array" - }, - "validationCheckDisabled": { - "description": "Make sure the Enum property value provided in the document is in the possile value list during document creation. The validation check runs by default.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1EnumValue": { - "description": "Represents the string value of the enum field.", - "id": "GoogleCloudContentwarehouseV1EnumValue", - "properties": { - "value": { - "description": "String value of the enum field. This must match defined set of enums in document schema using EnumTypeOptions.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ExportToCdwPipeline": { - "description": "The configuration of exporting documents from the Document Warehouse to CDW pipeline.", - "id": "GoogleCloudContentwarehouseV1ExportToCdwPipeline", - "properties": { - "docAiDataset": { - "description": "Optional. The CDW dataset resource name. This field is optional. If not set, the documents will be exported to Cloud Storage only. Format: projects/{project}/locations/{location}/processors/{processor}/dataset", - "type": "string" - }, - "documents": { - "description": "The list of all the resource names of the documents to be processed. Format: projects/{project_number}/locations/{location}/documents/{document_id}.", - "items": { - "type": "string" - }, - "type": "array" - }, - "exportFolderPath": { - "description": "The Cloud Storage folder path used to store the exported documents before being sent to CDW. Format: `gs:///`.", - "type": "string" - }, - "trainingSplitRatio": { - "description": "Ratio of training dataset split. When importing into Document AI Workbench, documents will be automatically split into training and test split category with the specified ratio. This field is required if doc_ai_dataset is set.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1FetchAclRequest": { - "description": "Request message for DocumentService.FetchAcl", - "id": "GoogleCloudContentwarehouseV1FetchAclRequest", - "properties": { - "projectOwner": { - "description": "For Get Project ACL only. Authorization check for end user will be ignored when project_owner=true.", - "type": "boolean" - }, - "requestMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", - "description": "The meta information collected about the end user, used to enforce access control for the service." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1FetchAclResponse": { - "description": "Response message for DocumentService.FetchAcl.", - "id": "GoogleCloudContentwarehouseV1FetchAclResponse", - "properties": { - "metadata": { - "$ref": "GoogleCloudContentwarehouseV1ResponseMetadata", - "description": "Additional information for the API invocation, such as the request tracking id." - }, - "policy": { - "$ref": "GoogleIamV1Policy", - "description": "The IAM policy." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1FileTypeFilter": { - "description": "Filter for the specific types of documents returned.", - "id": "GoogleCloudContentwarehouseV1FileTypeFilter", - "properties": { - "fileType": { - "description": "The type of files to return.", - "enum": [ - "FILE_TYPE_UNSPECIFIED", - "ALL", - "FOLDER", - "DOCUMENT", - "ROOT_FOLDER" - ], - "enumDescriptions": [ - "Default document type. If set, disables the filter.", - "Returns all document types, including folders.", - "Returns only folders.", - "Returns only non-folder documents.", - "Returns only root folders" - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1FloatArray": { - "description": "Float values.", - "id": "GoogleCloudContentwarehouseV1FloatArray", - "properties": { - "values": { - "description": "List of float values.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1FloatTypeOptions": { - "description": "Configurations for a float property.", - "id": "GoogleCloudContentwarehouseV1FloatTypeOptions", - "properties": {}, - "type": "object" - }, - "GoogleCloudContentwarehouseV1GcsIngestPipeline": { - "description": "The configuration of the Cloud Storage Ingestion pipeline.", - "id": "GoogleCloudContentwarehouseV1GcsIngestPipeline", - "properties": { - "inputPath": { - "description": "The input Cloud Storage folder. All files under this folder will be imported to Document Warehouse. Format: `gs:///`.", - "type": "string" - }, - "pipelineConfig": { - "$ref": "GoogleCloudContentwarehouseV1IngestPipelineConfig", - "description": "Optional. The config for the Cloud Storage Ingestion pipeline. It provides additional customization options to run the pipeline and can be skipped if it is not applicable." - }, - "processorType": { - "description": "The Doc AI processor type name. Only used when the format of ingested files is Doc AI Document proto format.", - "type": "string" - }, - "schemaName": { - "description": "The Document Warehouse schema resource name. All documents processed by this pipeline will use this schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.", - "type": "string" - }, - "skipIngestedDocuments": { - "description": "The flag whether to skip ingested documents. If it is set to true, documents in Cloud Storage contains key \"status\" with value \"status=ingested\" in custom metadata will be skipped to ingest.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline": { - "description": "The configuration of the Cloud Storage Ingestion with DocAI Processors pipeline.", - "id": "GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline", - "properties": { - "extractProcessorInfos": { - "description": "The extract processors information. One matched extract processor will be used to process documents based on the classify processor result. If no classify processor is specified, the first extract processor will be used.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1ProcessorInfo" - }, - "type": "array" - }, - "inputPath": { - "description": "The input Cloud Storage folder. All files under this folder will be imported to Document Warehouse. Format: `gs:///`.", - "type": "string" - }, - "pipelineConfig": { - "$ref": "GoogleCloudContentwarehouseV1IngestPipelineConfig", - "description": "Optional. The config for the Cloud Storage Ingestion with DocAI Processors pipeline. It provides additional customization options to run the pipeline and can be skipped if it is not applicable." - }, - "processorResultsFolderPath": { - "description": "The Cloud Storage folder path used to store the raw results from processors. Format: `gs:///`.", - "type": "string" - }, - "skipIngestedDocuments": { - "description": "The flag whether to skip ingested documents. If it is set to true, documents in Cloud Storage contains key \"status\" with value \"status=ingested\" in custom metadata will be skipped to ingest.", - "type": "boolean" - }, - "splitClassifyProcessorInfo": { - "$ref": "GoogleCloudContentwarehouseV1ProcessorInfo", - "description": "The split and classify processor information. The split and classify result will be used to find a matched extract processor." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1GetDocumentRequest": { - "description": "Request message for DocumentService.GetDocument.", - "id": "GoogleCloudContentwarehouseV1GetDocumentRequest", - "properties": { - "requestMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", - "description": "The meta information collected about the end user, used to enforce access control for the service." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1HistogramQuery": { - "description": "The histogram request.", - "id": "GoogleCloudContentwarehouseV1HistogramQuery", - "properties": { - "filters": { - "$ref": "GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter", - "description": "Optional. Filter the result of histogram query by the property names. It only works with histogram query count('FilterableProperties'). It is an optional. It will perform histogram on all the property names for all the document schemas. Setting this field will have a better performance." - }, - "histogramQuery": { - "description": "An expression specifies a histogram request against matching documents for searches. See SearchDocumentsRequest.histogram_queries for details about syntax.", - "type": "string" - }, - "requirePreciseResultSize": { - "description": "Controls if the histogram query requires the return of a precise count. Enable this flag may adversely impact performance. Defaults to true.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter": { - "id": "GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter", - "properties": { - "documentSchemas": { - "description": "This filter specifies the exact document schema(s) Document.document_schema_name to run histogram query against. It is optional. It will perform histogram for property names for all the document schemas if it is not set. At most 10 document schema names are allowed. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.", - "items": { - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "description": "It is optional. It will perform histogram for all the property names if it is not set. The properties need to be defined with the is_filterable flag set to true and the name of the property should be in the format: \"schemaId.propertyName\". The property needs to be defined in the schema. Example: the schema id is abc. Then the name of property for property MORTGAGE_TYPE will be \"abc.MORTGAGE_TYPE\".", - "items": { - "type": "string" - }, - "type": "array" - }, - "yAxis": { - "description": "By default, the y_axis is HISTOGRAM_YAXIS_DOCUMENT if this field is not set.", - "enum": [ - "HISTOGRAM_YAXIS_DOCUMENT", - "HISTOGRAM_YAXIS_PROPERTY" - ], - "enumDescriptions": [ - "Count the documents per property name.", - "Count the properties per property name." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1HistogramQueryResult": { - "description": "Histogram result that matches HistogramQuery specified in searches.", - "id": "GoogleCloudContentwarehouseV1HistogramQueryResult", - "properties": { - "histogram": { - "additionalProperties": { - "format": "int64", - "type": "string" - }, - "description": "A map from the values of the facet associated with distinct values to the number of matching entries with corresponding value. The key format is: * (for string histogram) string values stored in the field.", - "type": "object" - }, - "histogramQuery": { - "description": "Requested histogram expression.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1IngestPipelineConfig": { - "description": "The ingestion pipeline config.", - "id": "GoogleCloudContentwarehouseV1IngestPipelineConfig", - "properties": { - "cloudFunction": { - "description": "The Cloud Function resource name. The Cloud Function needs to live inside consumer project and is accessible to Document AI Warehouse P4SA. Only Cloud Functions V2 is supported. Cloud function execution should complete within 5 minutes or this file ingestion may fail due to timeout. Format: `https://{region}-{project_id}.cloudfunctions.net/{cloud_function}` The following keys are available the request json payload. * display_name * properties * plain_text * reference_id * document_schema_name * raw_document_path * raw_document_file_type The following keys from the cloud function json response payload will be ingested to the Document AI Warehouse as part of Document proto content and/or related information. The original values will be overridden if any key is present in the response. * display_name * properties * plain_text * document_acl_policy * folder", - "type": "string" - }, - "documentAclPolicy": { - "$ref": "GoogleIamV1Policy", - "description": "The document level acl policy config. This refers to an Identity and Access (IAM) policy, which specifies access controls for all documents ingested by the pipeline. The role and members under the policy needs to be specified. The following roles are supported for document level acl control: * roles/contentwarehouse.documentAdmin * roles/contentwarehouse.documentEditor * roles/contentwarehouse.documentViewer The following members are supported for document level acl control: * user:user-email@example.com * group:group-email@example.com Note that for documents searched with LLM, only single level user or group acl check is supported." - }, - "enableDocumentTextExtraction": { - "description": "The document text extraction enabled flag. If the flag is set to true, DWH will perform text extraction on the raw document.", - "type": "boolean" - }, - "folder": { - "description": "Optional. The name of the folder to which all ingested documents will be linked during ingestion process. Format is `projects/{project}/locations/{location}/documents/{folder_id}`", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1InitializeProjectRequest": { - "description": "Request message for projectService.InitializeProject", - "id": "GoogleCloudContentwarehouseV1InitializeProjectRequest", - "properties": { - "accessControlMode": { - "description": "Required. The access control mode for accessing the customer data", - "enum": [ - "ACL_MODE_UNKNOWN", - "ACL_MODE_UNIVERSAL_ACCESS", - "ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_BYOID", - "ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_GCI" - ], - "enumDescriptions": [ - "This value is required by protobuf best practices", - "Universal Access: No document level access control.", - "Document level access control with customer own Identity Service.", - "Document level access control using Google Cloud Identity." - ], - "type": "string" - }, - "databaseType": { - "description": "Required. The type of database used to store customer data", - "enum": [ - "DB_UNKNOWN", - "DB_INFRA_SPANNER", - "DB_CLOUD_SQL_POSTGRES" - ], - "enumDeprecated": [ - false, - false, - true - ], - "enumDescriptions": [ - "This value is required by protobuf best practices", - "Internal Spanner", - "Cloud Sql with a Postgres Sql instance" - ], - "type": "string" - }, - "documentCreatorDefaultRole": { - "description": "Optional. The default role for the person who create a document.", - "enum": [ - "DOCUMENT_CREATOR_DEFAULT_ROLE_UNSPECIFIED", - "DOCUMENT_ADMIN", - "DOCUMENT_EDITOR", - "DOCUMENT_VIEWER" - ], - "enumDescriptions": [ - "Unspecified, will be default to document admin role.", - "Document Admin, same as contentwarehouse.googleapis.com/documentAdmin.", - "Document Editor, same as contentwarehouse.googleapis.com/documentEditor.", - "Document Viewer, same as contentwarehouse.googleapis.com/documentViewer." - ], - "type": "string" - }, - "enableCalUserEmailLogging": { - "description": "Optional. Whether to enable CAL user email logging.", - "type": "boolean" - }, - "kmsKey": { - "description": "Optional. The KMS key used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the kms_key is left empty, no encryption will be enforced.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1InitializeProjectResponse": { - "description": "Response message for projectService.InitializeProject", - "id": "GoogleCloudContentwarehouseV1InitializeProjectResponse", - "properties": { - "message": { - "description": "The message of the project initialization process.", - "type": "string" - }, - "state": { - "description": "The state of the project initialization process.", - "enum": [ - "STATE_UNSPECIFIED", - "SUCCEEDED", - "FAILED", - "CANCELLED", - "RUNNING" - ], - "enumDescriptions": [ - "Clients should never see this.", - "Finished project initialization without error.", - "Finished project initialization with an error.", - "Client canceled the LRO.", - "Ask the customer to check the operation for results." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1IntegerArray": { - "description": "Integer values.", - "id": "GoogleCloudContentwarehouseV1IntegerArray", - "properties": { - "values": { - "description": "List of integer values.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1IntegerTypeOptions": { - "description": "Configurations for an integer property.", - "id": "GoogleCloudContentwarehouseV1IntegerTypeOptions", - "properties": {}, - "type": "object" - }, - "GoogleCloudContentwarehouseV1InvalidRule": { - "description": "A triggered rule that failed the validation check(s) after parsing.", - "id": "GoogleCloudContentwarehouseV1InvalidRule", - "properties": { - "error": { - "description": "Validation error on a parsed expression.", - "type": "string" - }, - "rule": { - "$ref": "GoogleCloudContentwarehouseV1Rule", - "description": "Triggered rule." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ListDocumentSchemasResponse": { - "description": "Response message for DocumentSchemaService.ListDocumentSchemas.", - "id": "GoogleCloudContentwarehouseV1ListDocumentSchemasResponse", - "properties": { - "documentSchemas": { - "description": "The document schemas from the specified parent.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1DocumentSchema" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ListLinkedSourcesRequest": { - "description": "Response message for DocumentLinkService.ListLinkedSources.", - "id": "GoogleCloudContentwarehouseV1ListLinkedSourcesRequest", - "properties": { - "pageSize": { - "description": "The maximum number of document-links to return. The service may return fewer than this value. If unspecified, at most 50 document-links will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", - "format": "int32", - "type": "integer" - }, - "pageToken": { - "description": "A page token, received from a previous `ListLinkedSources` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListLinkedSources` must match the call that provided the page token.", - "type": "string" - }, - "requestMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", - "description": "The meta information collected about the document creator, used to enforce access control for the service." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ListLinkedSourcesResponse": { - "description": "Response message for DocumentLinkService.ListLinkedSources.", - "id": "GoogleCloudContentwarehouseV1ListLinkedSourcesResponse", - "properties": { - "documentLinks": { - "description": "Source document-links.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1DocumentLink" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ListLinkedTargetsRequest": { - "description": "Request message for DocumentLinkService.ListLinkedTargets.", - "id": "GoogleCloudContentwarehouseV1ListLinkedTargetsRequest", - "properties": { - "requestMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", - "description": "The meta information collected about the document creator, used to enforce access control for the service." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ListLinkedTargetsResponse": { - "description": "Response message for DocumentLinkService.ListLinkedTargets.", - "id": "GoogleCloudContentwarehouseV1ListLinkedTargetsResponse", - "properties": { - "documentLinks": { - "description": "Target document-links.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1DocumentLink" - }, - "type": "array" - }, - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ListRuleSetsResponse": { - "description": "Response message for RuleSetService.ListRuleSets.", - "id": "GoogleCloudContentwarehouseV1ListRuleSetsResponse", - "properties": { - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", - "type": "string" - }, - "ruleSets": { - "description": "The rule sets from the specified parent.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1RuleSet" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ListSynonymSetsResponse": { - "description": "Response message for SynonymSetService.ListSynonymSets.", - "id": "GoogleCloudContentwarehouseV1ListSynonymSetsResponse", - "properties": { - "nextPageToken": { - "description": "A page token, received from a previous `ListSynonymSets` call. Provide this to retrieve the subsequent page.", - "type": "string" - }, - "synonymSets": { - "description": "The synonymSets from the specified parent.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1SynonymSet" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1LockDocumentRequest": { - "description": "Request message for DocumentService.LockDocument.", - "id": "GoogleCloudContentwarehouseV1LockDocumentRequest", - "properties": { - "collectionId": { - "description": "The collection the document connects to.", - "type": "string" - }, - "lockingUser": { - "$ref": "GoogleCloudContentwarehouseV1UserInfo", - "description": "The user information who locks the document." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1MapProperty": { - "description": "Map property value. Represents a structured entries of key value pairs, consisting of field names which map to dynamically typed values.", - "id": "GoogleCloudContentwarehouseV1MapProperty", - "properties": { - "fields": { - "additionalProperties": { - "$ref": "GoogleCloudContentwarehouseV1Value" - }, - "description": "Unordered map of dynamically typed values.", - "type": "object" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1MapTypeOptions": { - "description": "Configurations for a Map property.", - "id": "GoogleCloudContentwarehouseV1MapTypeOptions", - "properties": {}, - "type": "object" - }, - "GoogleCloudContentwarehouseV1MergeFieldsOptions": { - "description": "Options for merging updated fields.", - "id": "GoogleCloudContentwarehouseV1MergeFieldsOptions", - "properties": { - "replaceMessageFields": { - "description": "When merging message fields, the default behavior is to merge the content of two message fields together. If you instead want to use the field from the source message to replace the corresponding field in the destination message, set this flag to true. When this flag is set, specified submessage fields that are missing in source will be cleared in destination.", - "type": "boolean" - }, - "replaceRepeatedFields": { - "description": "When merging repeated fields, the default behavior is to append entries from the source repeated field to the destination repeated field. If you instead want to keep only the entries from the source repeated field, set this flag to true. If you want to replace a repeated field within a message field on the destination message, you must set both replace_repeated_fields and replace_message_fields to true, otherwise the repeated fields will be appended.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline": { - "description": "The configuration of processing documents in Document Warehouse with DocAi processors pipeline.", - "id": "GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline", - "properties": { - "documents": { - "description": "The list of all the resource names of the documents to be processed. Format: projects/{project_number}/locations/{location}/documents/{document_id}.", - "items": { - "type": "string" - }, - "type": "array" - }, - "exportFolderPath": { - "description": "The Cloud Storage folder path used to store the exported documents before being sent to CDW. Format: `gs:///`.", - "type": "string" - }, - "processorInfo": { - "$ref": "GoogleCloudContentwarehouseV1ProcessorInfo", - "description": "The CDW processor information." - }, - "processorResultsFolderPath": { - "description": "The Cloud Storage folder path used to store the raw results from processors. Format: `gs:///`.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ProcessorInfo": { - "description": "The DocAI processor information.", - "id": "GoogleCloudContentwarehouseV1ProcessorInfo", - "properties": { - "documentType": { - "description": "The processor will process the documents with this document type.", - "type": "string" - }, - "processorName": { - "description": "The processor resource name. Format is `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", - "type": "string" - }, - "schemaName": { - "description": "The Document schema resource name. All documents processed by this processor will use this schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ProjectStatus": { - "description": "Status of a project, including the project state, dbType, aclMode and etc.", - "id": "GoogleCloudContentwarehouseV1ProjectStatus", - "properties": { - "accessControlMode": { - "description": "Access control mode.", - "enum": [ - "ACL_MODE_UNKNOWN", - "ACL_MODE_UNIVERSAL_ACCESS", - "ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_BYOID", - "ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_GCI" - ], - "enumDescriptions": [ - "This value is required by protobuf best practices", - "Universal Access: No document level access control.", - "Document level access control with customer own Identity Service.", - "Document level access control using Google Cloud Identity." - ], - "type": "string" - }, - "databaseType": { - "description": "Database type.", - "enum": [ - "DB_UNKNOWN", - "DB_INFRA_SPANNER", - "DB_CLOUD_SQL_POSTGRES" - ], - "enumDeprecated": [ - false, - false, - true - ], - "enumDescriptions": [ - "This value is required by protobuf best practices", - "Internal Spanner", - "Cloud Sql with a Postgres Sql instance" - ], - "type": "string" - }, - "documentCreatorDefaultRole": { - "description": "The default role for the person who create a document.", - "type": "string" - }, - "location": { - "description": "The location of the queried project.", - "type": "string" - }, - "qaEnabled": { - "description": "If the qa is enabled on this project.", - "type": "boolean" - }, - "state": { - "description": "State of the project.", - "enum": [ - "PROJECT_STATE_UNSPECIFIED", - "PROJECT_STATE_PENDING", - "PROJECT_STATE_COMPLETED", - "PROJECT_STATE_FAILED", - "PROJECT_STATE_DELETING", - "PROJECT_STATE_DELETING_FAILED", - "PROJECT_STATE_DELETED", - "PROJECT_STATE_NOT_FOUND" - ], - "enumDescriptions": [ - "Default status, required by protobuf best practices.", - "The project is in the middle of a provision process.", - "All dependencies have been provisioned.", - "A provision process was previously initiated, but failed.", - "The project is in the middle of a deletion process.", - "A deleting process was initiated, but failed.", - "The project is deleted.", - "The project is not found." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1Property": { - "description": "Property of a document.", - "id": "GoogleCloudContentwarehouseV1Property", - "properties": { - "dateTimeValues": { - "$ref": "GoogleCloudContentwarehouseV1DateTimeArray", - "description": "Date time property values. It is not supported by CMEK compliant deployment." - }, - "enumValues": { - "$ref": "GoogleCloudContentwarehouseV1EnumArray", - "description": "Enum property values." - }, - "floatValues": { - "$ref": "GoogleCloudContentwarehouseV1FloatArray", - "description": "Float property values." - }, - "integerValues": { - "$ref": "GoogleCloudContentwarehouseV1IntegerArray", - "description": "Integer property values." - }, - "mapProperty": { - "$ref": "GoogleCloudContentwarehouseV1MapProperty", - "description": "Map property values." - }, - "name": { - "description": "Required. Must match the name of a PropertyDefinition in the DocumentSchema.", - "type": "string" - }, - "propertyValues": { - "$ref": "GoogleCloudContentwarehouseV1PropertyArray", - "description": "Nested structured data property values." - }, - "textValues": { - "$ref": "GoogleCloudContentwarehouseV1TextArray", - "description": "String/text property values." - }, - "timestampValues": { - "$ref": "GoogleCloudContentwarehouseV1TimestampArray", - "description": "Timestamp property values. It is not supported by CMEK compliant deployment." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1PropertyArray": { - "description": "Property values.", - "id": "GoogleCloudContentwarehouseV1PropertyArray", - "properties": { - "properties": { - "description": "List of property values.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1Property" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1PropertyDefinition": { - "description": "Defines the metadata for a schema property.", - "id": "GoogleCloudContentwarehouseV1PropertyDefinition", - "properties": { - "dateTimeTypeOptions": { - "$ref": "GoogleCloudContentwarehouseV1DateTimeTypeOptions", - "description": "Date time property. It is not supported by CMEK compliant deployment." - }, - "displayName": { - "description": "The display-name for the property, used for front-end.", - "type": "string" - }, - "enumTypeOptions": { - "$ref": "GoogleCloudContentwarehouseV1EnumTypeOptions", - "description": "Enum/categorical property." - }, - "floatTypeOptions": { - "$ref": "GoogleCloudContentwarehouseV1FloatTypeOptions", - "description": "Float property." - }, - "integerTypeOptions": { - "$ref": "GoogleCloudContentwarehouseV1IntegerTypeOptions", - "description": "Integer property." - }, - "isFilterable": { - "description": "Whether the property can be filtered. If this is a sub-property, all the parent properties must be marked filterable.", - "type": "boolean" - }, - "isMetadata": { - "description": "Whether the property is user supplied metadata. This out-of-the box placeholder setting can be used to tag derived properties. Its value and interpretation logic should be implemented by API user.", - "type": "boolean" - }, - "isRepeatable": { - "description": "Whether the property can have multiple values.", - "type": "boolean" - }, - "isRequired": { - "description": "Whether the property is mandatory. Default is 'false', i.e. populating property value can be skipped. If 'true' then user must populate the value for this property.", - "type": "boolean" - }, - "isSearchable": { - "description": "Indicates that the property should be included in a global search.", - "type": "boolean" - }, - "mapTypeOptions": { - "$ref": "GoogleCloudContentwarehouseV1MapTypeOptions", - "description": "Map property." - }, - "name": { - "description": "Required. The name of the metadata property. Must be unique within a document schema and is case insensitive. Names must be non-blank, start with a letter, and can contain alphanumeric characters and: /, :, -, _, and .", - "type": "string" - }, - "propertyTypeOptions": { - "$ref": "GoogleCloudContentwarehouseV1PropertyTypeOptions", - "description": "Nested structured data property." - }, - "retrievalImportance": { - "description": "The retrieval importance of the property during search.", - "enum": [ - "RETRIEVAL_IMPORTANCE_UNSPECIFIED", - "HIGHEST", - "HIGHER", - "HIGH", - "MEDIUM", - "LOW", - "LOWEST" - ], - "enumDescriptions": [ - "No importance specified. Default medium importance.", - "Highest importance.", - "Higher importance.", - "High importance.", - "Medium importance.", - "Low importance (negative).", - "Lowest importance (negative)." - ], - "type": "string" - }, - "schemaSources": { - "description": "The mapping information between this property to another schema source.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource" - }, - "type": "array" - }, - "textTypeOptions": { - "$ref": "GoogleCloudContentwarehouseV1TextTypeOptions", - "description": "Text/string property." - }, - "timestampTypeOptions": { - "$ref": "GoogleCloudContentwarehouseV1TimestampTypeOptions", - "description": "Timestamp property. It is not supported by CMEK compliant deployment." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource": { - "description": "The schema source information.", - "id": "GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource", - "properties": { - "name": { - "description": "The schema name in the source.", - "type": "string" - }, - "processorType": { - "description": "The Doc AI processor type name.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1PropertyFilter": { - "id": "GoogleCloudContentwarehouseV1PropertyFilter", - "properties": { - "condition": { - "description": "The filter condition. The syntax for this expression is a subset of SQL syntax. Supported operators are: `=`, `!=`, `\u003c`, `\u003c=`, `\u003e`, `\u003e=`, and `~~` where the left of the operator is a property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. `~~` is the LIKE operator. The right of the operator must be a string. The only supported property data type for LIKE is text_values. It provides semantic search functionality by parsing, stemming and doing synonyms expansion against the input query. It matches if the property contains semantic similar content to the query. It is not regex matching or wildcard matching. For example, \"property.company ~~ \\\"google\\\"\" will match records whose property `property.compnay` have values like \"Google Inc.\", \"Google LLC\" or \"Google Company\". Supported functions are `LOWER([property_name])` to perform a case insensitive match and `EMPTY([property_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR NOT D) AND E\"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be \u003c 6000 bytes in length. Only properties that are marked filterable are allowed (PropertyDefinition.is_filterable). Property names do not need to be prefixed by the document schema id (as is the case with histograms), however property names will need to be prefixed by its parent hierarchy, if any. For example: top_property_name.sub_property_name. Sample Query: `(LOWER(driving_license)=\"class \\\"a\\\"\" OR EMPTY(driving_license)) AND driving_years \u003e 10` CMEK compliant deployment only supports: * Operators: `=`, `\u003c`, `\u003c=`, `\u003e`, and `\u003e=`. * Boolean expressions: AND and OR.", - "type": "string" - }, - "documentSchemaName": { - "description": "The Document schema name Document.document_schema_name. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1PropertyTypeOptions": { - "description": "Configurations for a nested structured data property.", - "id": "GoogleCloudContentwarehouseV1PropertyTypeOptions", - "properties": { - "propertyDefinitions": { - "description": "Required. List of property definitions.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1PropertyDefinition" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1PublishAction": { - "description": "Represents the action responsible for publishing messages to a Pub/Sub topic.", - "id": "GoogleCloudContentwarehouseV1PublishAction", - "properties": { - "messages": { - "description": "Messages to be published.", - "items": { - "type": "string" - }, - "type": "array" - }, - "topicId": { - "description": "The topic id in the Pub/Sub service for which messages will be published to.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1QAResult": { - "description": "Additional result info for the question-answering feature.", - "id": "GoogleCloudContentwarehouseV1QAResult", - "properties": { - "confidenceScore": { - "description": "The calibrated confidence score for this document, in the range [0., 1.]. This represents the confidence level for whether the returned document and snippet answers the user's query.", - "format": "float", - "type": "number" - }, - "highlights": { - "description": "Highlighted sections in the snippet.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1QAResultHighlight" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1QAResultHighlight": { - "description": "A text span in the search text snippet that represents a highlighted section (answer context, highly relevant sentence, etc.).", - "id": "GoogleCloudContentwarehouseV1QAResultHighlight", - "properties": { - "endIndex": { - "description": "End index of the highlight, exclusive.", - "format": "int32", - "type": "integer" - }, - "startIndex": { - "description": "Start index of the highlight.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1RemoveFromFolderAction": { - "description": "Represents the action responsible for remove a document from a specific folder.", - "id": "GoogleCloudContentwarehouseV1RemoveFromFolderAction", - "properties": { - "condition": { - "description": "Condition of the action to be executed.", - "type": "string" - }, - "folder": { - "description": "Name of the folder under which new document is to be added. Format: projects/{project_number}/locations/{location}/documents/{document_id}.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1RequestMetadata": { - "description": "Meta information is used to improve the performance of the service.", - "id": "GoogleCloudContentwarehouseV1RequestMetadata", - "properties": { - "userInfo": { - "$ref": "GoogleCloudContentwarehouseV1UserInfo", - "description": "Provides user unique identification and groups information." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1ResponseMetadata": { - "description": "Additional information returned to client, such as debugging information.", - "id": "GoogleCloudContentwarehouseV1ResponseMetadata", - "properties": { - "requestId": { - "description": "A unique id associated with this call. This id is logged for tracking purpose.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1Rule": { - "description": "Represents the rule for a content warehouse trigger.", - "id": "GoogleCloudContentwarehouseV1Rule", - "properties": { - "actions": { - "description": "List of actions that are executed when the rule is satisfied.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1Action" - }, - "type": "array" - }, - "condition": { - "description": "Represents the conditional expression to be evaluated. Expression should evaluate to a boolean result. When the condition is true actions are executed. Example: user_role = \"hsbc_role_1\" AND doc.salary \u003e 20000", - "type": "string" - }, - "description": { - "description": "Short description of the rule and its context.", - "type": "string" - }, - "ruleId": { - "description": "ID of the rule. It has to be unique across all the examples. This is managed internally.", - "type": "string" - }, - "triggerType": { - "description": "Identifies the trigger type for running the policy.", - "enum": [ - "UNKNOWN", - "ON_CREATE", - "ON_UPDATE", - "ON_CREATE_LINK", - "ON_DELETE_LINK" - ], - "enumDescriptions": [ - "Trigger for unknown action.", - "Trigger for create document action.", - "Trigger for update document action.", - "Trigger for create link action.", - "Trigger for delete link action." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1RuleActionsPair": { - "description": "Represents a rule and outputs of associated actions.", - "id": "GoogleCloudContentwarehouseV1RuleActionsPair", - "properties": { - "actionOutputs": { - "description": "Outputs of executing the actions associated with the above rule.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1ActionOutput" - }, - "type": "array" - }, - "rule": { - "$ref": "GoogleCloudContentwarehouseV1Rule", - "description": "Represents the rule." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1RuleEngineOutput": { - "description": "Records the output of Rule Engine including rule evaluation and actions result.", - "id": "GoogleCloudContentwarehouseV1RuleEngineOutput", - "properties": { - "actionExecutorOutput": { - "$ref": "GoogleCloudContentwarehouseV1ActionExecutorOutput", - "description": "Output from Action Executor containing rule and corresponding actions execution result." - }, - "documentName": { - "description": "Name of the document against which the rules and actions were evaluated.", - "type": "string" - }, - "ruleEvaluatorOutput": { - "$ref": "GoogleCloudContentwarehouseV1RuleEvaluatorOutput", - "description": "Output from Rule Evaluator containing matched, unmatched and invalid rules." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1RuleEvaluatorOutput": { - "description": "Represents the output of the Rule Evaluator.", - "id": "GoogleCloudContentwarehouseV1RuleEvaluatorOutput", - "properties": { - "invalidRules": { - "description": "A subset of triggered rules that failed the validation check(s) after parsing.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1InvalidRule" - }, - "type": "array" - }, - "matchedRules": { - "description": "A subset of triggered rules that are evaluated true for a given request.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1Rule" - }, - "type": "array" - }, - "triggeredRules": { - "description": "List of rules fetched from database for the given request trigger type.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1Rule" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1RuleSet": { - "description": "Represents a set of rules from a single customer.", - "id": "GoogleCloudContentwarehouseV1RuleSet", - "properties": { - "description": { - "description": "Short description of the rule-set.", - "type": "string" - }, - "name": { - "description": "The resource name of the rule set. Managed internally. Format: projects/{project_number}/locations/{location}/ruleSet/{rule_set_id}. The name is ignored when creating a rule set.", - "type": "string" - }, - "rules": { - "description": "List of rules given by the customer.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1Rule" - }, - "type": "array" - }, - "source": { - "description": "Source of the rules i.e., customer name.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1RunPipelineMetadata": { - "description": "Metadata message of RunPipeline method.", - "id": "GoogleCloudContentwarehouseV1RunPipelineMetadata", - "properties": { - "exportToCdwPipelineMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata", - "description": "The pipeline metadata for Export-to-CDW pipeline." - }, - "failedFileCount": { - "description": "Number of files that have failed at some point in the pipeline.", - "format": "int32", - "type": "integer" - }, - "gcsIngestPipelineMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata", - "description": "The pipeline metadata for GcsIngest pipeline." - }, - "individualDocumentStatuses": { - "description": "The list of response details of each document.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus" - }, - "type": "array" - }, - "processWithDocAiPipelineMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata", - "description": "The pipeline metadata for Process-with-DocAi pipeline." - }, - "totalFileCount": { - "description": "Number of files that were processed by the pipeline.", - "format": "int32", - "type": "integer" - }, - "userInfo": { - "$ref": "GoogleCloudContentwarehouseV1UserInfo", - "description": "User unique identification and groups information." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata": { - "description": "The metadata message for Export-to-CDW pipeline.", - "id": "GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata", - "properties": { - "docAiDataset": { - "description": "The output CDW dataset resource name.", - "type": "string" - }, - "documents": { - "description": "The input list of all the resource names of the documents to be exported.", - "items": { - "type": "string" - }, - "type": "array" - }, - "outputPath": { - "description": "The output Cloud Storage folder in this pipeline.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata": { - "description": "The metadata message for GcsIngest pipeline.", - "id": "GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata", - "properties": { - "inputPath": { - "description": "The input Cloud Storage folder in this pipeline. Format: `gs:///`.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus": { - "description": "The status of processing a document.", - "id": "GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus", - "properties": { - "documentId": { - "description": "Document identifier of an existing document.", - "type": "string" - }, - "status": { - "$ref": "GoogleRpcStatus", - "description": "The status processing the document." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata": { - "description": "The metadata message for Process-with-DocAi pipeline.", - "id": "GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata", - "properties": { - "documents": { - "description": "The input list of all the resource names of the documents to be processed.", - "items": { - "type": "string" - }, - "type": "array" - }, - "processorInfo": { - "$ref": "GoogleCloudContentwarehouseV1ProcessorInfo", - "description": "The DocAI processor to process the documents with." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1RunPipelineRequest": { - "description": "Request message for DocumentService.RunPipeline.", - "id": "GoogleCloudContentwarehouseV1RunPipelineRequest", - "properties": { - "exportCdwPipeline": { - "$ref": "GoogleCloudContentwarehouseV1ExportToCdwPipeline", - "description": "Export docuemnts from Document Warehouse to CDW for training purpose." - }, - "gcsIngestPipeline": { - "$ref": "GoogleCloudContentwarehouseV1GcsIngestPipeline", - "description": "Cloud Storage ingestion pipeline." - }, - "gcsIngestWithDocAiProcessorsPipeline": { - "$ref": "GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline", - "description": "Use DocAI processors to process documents in Cloud Storage and ingest them to Document Warehouse." - }, - "processWithDocAiPipeline": { - "$ref": "GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline", - "description": "Use a DocAI processor to process documents in Document Warehouse, and re-ingest the updated results into Document Warehouse." - }, - "requestMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", - "description": "The meta information collected about the end user, used to enforce access control for the service." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1SearchDocumentsRequest": { - "description": "Request message for DocumentService.SearchDocuments.", - "id": "GoogleCloudContentwarehouseV1SearchDocumentsRequest", - "properties": { - "documentQuery": { - "$ref": "GoogleCloudContentwarehouseV1DocumentQuery", - "description": "Query used to search against documents (keyword, filters, etc.)." - }, - "histogramQueries": { - "description": "An expression specifying a histogram request against matching documents. Expression syntax is an aggregation function call with histogram facets and other options. The following aggregation functions are supported: * `count(string_histogram_facet)`: Count the number of matching entities for each distinct attribute value. Data types: * Histogram facet (aka filterable properties): Facet names with format \u003cschema id\u003e.\u003cfacet\u003e. Facets will have the format of: `a-zA-Z`. If the facet is a child facet, then the parent hierarchy needs to be specified separated by dots in the prefix after the schema id. Thus, the format for a multi- level facet is: \u003cschema id\u003e.\u003cparent facet name\u003e. \u003cchild facet name\u003e. Example: schema123.root_parent_facet.middle_facet.child_facet * DocumentSchemaId: (with no schema id prefix) to get histograms for each document type (returns the schema id path, e.g. projects/12345/locations/us-west/documentSchemas/abc123). Example expression: * Document type counts: count('DocumentSchemaId') * For schema id, abc123, get the counts for MORTGAGE_TYPE: count('abc123.MORTGAGE_TYPE')", - "items": { - "$ref": "GoogleCloudContentwarehouseV1HistogramQuery" - }, - "type": "array" - }, - "offset": { - "description": "An integer that specifies the current offset (that is, starting result location, amongst the documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. The maximum allowed value is 5000. Otherwise an error is thrown. For example, 0 means to return results starting from the first matching document, and 10 means to return from the 11th document. This can be used for pagination, (for example, pageSize = 10 and offset = 10 means to return from the second page).", - "format": "int32", - "type": "integer" - }, - "orderBy": { - "description": "The criteria determining how search results are sorted. For non-empty query, default is `\"relevance desc\"`. For empty query, default is `\"upload_date desc\"`. Supported options are: * `\"relevance desc\"`: By relevance descending, as determined by the API algorithms. * `\"upload_date desc\"`: By upload date descending. * `\"upload_date\"`: By upload date ascending. * `\"update_date desc\"`: By last updated date descending. * `\"update_date\"`: By last updated date ascending. * `\"retrieval_importance desc\"`: By retrieval importance of properties descending. This feature is still under development, please do not use unless otherwise instructed to do so.", - "type": "string" - }, - "pageSize": { - "description": "A limit on the number of documents returned in the search results. Increasing this value above the default value of 10 can increase search response time. The value can be between 1 and 100.", - "format": "int32", - "type": "integer" - }, - "pageToken": { - "description": "The token specifying the current offset within search results. See SearchDocumentsResponse.next_page_token for an explanation of how to obtain the next set of query results.", - "type": "string" - }, - "qaSizeLimit": { - "description": "Experimental, do not use. The limit on the number of documents returned for the question-answering feature. To enable the question-answering feature, set [DocumentQuery].is_nl_query to true.", - "format": "int32", - "type": "integer" - }, - "requestMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", - "description": "The meta information collected about the end user, used to enforce access control and improve the search quality of the service." - }, - "requireTotalSize": { - "description": "Controls if the search document request requires the return of a total size of matched documents. See SearchDocumentsResponse.total_size. Enabling this flag may adversely impact performance. Hint: If this is used with pagination, set this flag on the initial query but set this to false on subsequent page calls (keep the total count locally). Defaults to false.", - "type": "boolean" - }, - "totalResultSize": { - "description": "Controls if the search document request requires the return of a total size of matched documents. See SearchDocumentsResponse.total_size.", - "enum": [ - "TOTAL_RESULT_SIZE_UNSPECIFIED", - "ESTIMATED_SIZE", - "ACTUAL_SIZE" - ], - "enumDescriptions": [ - "Total number calculation will be skipped.", - "Estimate total number. The total result size will be accurated up to 10,000. This option will add cost and latency to your request.", - "It may adversely impact performance. The limit is 1000,000." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1SearchDocumentsResponse": { - "description": "Response message for DocumentService.SearchDocuments.", - "id": "GoogleCloudContentwarehouseV1SearchDocumentsResponse", - "properties": { - "histogramQueryResults": { - "description": "The histogram results that match with the specified SearchDocumentsRequest.histogram_queries.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1HistogramQueryResult" - }, - "type": "array" - }, - "matchingDocuments": { - "description": "The document entities that match the specified SearchDocumentsRequest.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument" - }, - "type": "array" - }, - "metadata": { - "$ref": "GoogleCloudContentwarehouseV1ResponseMetadata", - "description": "Additional information for the API invocation, such as the request tracking id." - }, - "nextPageToken": { - "description": "The token that specifies the starting position of the next page of results. This field is empty if there are no more results.", - "type": "string" - }, - "questionAnswer": { - "description": "Experimental. Question answer from the query against the document.", - "type": "string" - }, - "totalSize": { - "description": "The total number of matched documents which is available only if the client set SearchDocumentsRequest.require_total_size to `true` or set SearchDocumentsRequest.total_result_size to `ESTIMATED_SIZE` or `ACTUAL_SIZE`. Otherwise, the value will be `-1`. Typically a UI would handle this condition by displaying \"of many\", for example: \"Displaying 10 of many\".", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument": { - "description": "Document entry with metadata inside SearchDocumentsResponse", - "id": "GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument", - "properties": { - "document": { - "$ref": "GoogleCloudContentwarehouseV1Document", - "description": "Document that matches the specified SearchDocumentsRequest. This document only contains indexed metadata information." - }, - "matchedTokenPageIndices": { - "description": "Return the 1-based page indices where those pages have one or more matched tokens.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "qaResult": { - "$ref": "GoogleCloudContentwarehouseV1QAResult", - "description": "Experimental. Additional result info if the question-answering feature is enabled." - }, - "searchTextSnippet": { - "description": "Contains snippets of text from the document full raw text that most closely match a search query's keywords, if available. All HTML tags in the original fields are stripped when returned in this field, and matching query keywords are enclosed in HTML bold tags. If the question-answering feature is enabled, this field will instead contain a snippet that answers the user's natural-language query. No HTML bold tags will be present, and highlights in the answer snippet can be found in QAResult.highlights.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1SetAclRequest": { - "description": "Request message for DocumentService.SetAcl.", - "id": "GoogleCloudContentwarehouseV1SetAclRequest", - "properties": { - "policy": { - "$ref": "GoogleIamV1Policy", - "description": "Required. REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. This refers to an Identity and Access (IAM) policy, which specifies access controls for the Document. You can set ACL with condition for projects only. Supported operators are: `=`, `!=`, `\u003c`, `\u003c=`, `\u003e`, and `\u003e=` where the left of the operator is `DocumentSchemaId` or property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Boolean expressions (AND/OR) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR D) AND E\"), a maximum of 10 comparisons are allowed in the expression. The expression must be \u003c 6000 bytes in length. Sample condition: `\"DocumentSchemaId = \\\"some schema id\\\" OR SchemaId.floatPropertyName \u003e= 10\"`" - }, - "projectOwner": { - "description": "For Set Project ACL only. Authorization check for end user will be ignored when project_owner=true.", - "type": "boolean" - }, - "requestMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", - "description": "The meta information collected about the end user, used to enforce access control for the service." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1SetAclResponse": { - "description": "Response message for DocumentService.SetAcl.", - "id": "GoogleCloudContentwarehouseV1SetAclResponse", - "properties": { - "metadata": { - "$ref": "GoogleCloudContentwarehouseV1ResponseMetadata", - "description": "Additional information for the API invocation, such as the request tracking id." - }, - "policy": { - "$ref": "GoogleIamV1Policy", - "description": "The policy will be attached to a resource (e.g. projecct, document)." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1SynonymSet": { - "description": "Represents a list of synonyms for a given context. For example a context \"sales\" could contain: Synonym 1: sale, invoice, bill, order Synonym 2: money, credit, finance, payment Synonym 3: shipping, freight, transport Each SynonymSets should be disjoint", - "id": "GoogleCloudContentwarehouseV1SynonymSet", - "properties": { - "context": { - "description": "This is a freeform field. Example contexts can be \"sales,\" \"engineering,\" \"real estate,\" \"accounting,\" etc. The context can be supplied during search requests.", - "type": "string" - }, - "name": { - "description": "The resource name of the SynonymSet This is mandatory for google.api.resource. Format: projects/{project_number}/locations/{location}/synonymSets/{context}.", - "type": "string" - }, - "synonyms": { - "description": "List of Synonyms for the context.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1SynonymSetSynonym" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1SynonymSetSynonym": { - "description": "Represents a list of words given by the customer All these words are synonyms of each other.", - "id": "GoogleCloudContentwarehouseV1SynonymSetSynonym", - "properties": { - "words": { - "description": "For example: sale, invoice, bill, order", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1TextArray": { - "description": "String/text values.", - "id": "GoogleCloudContentwarehouseV1TextArray", - "properties": { - "values": { - "description": "List of text values.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1TextTypeOptions": { - "description": "Configurations for a text property.", - "id": "GoogleCloudContentwarehouseV1TextTypeOptions", - "properties": {}, - "type": "object" - }, - "GoogleCloudContentwarehouseV1TimeFilter": { - "description": "Filter on create timestamp or update timestamp of documents.", - "id": "GoogleCloudContentwarehouseV1TimeFilter", - "properties": { - "timeField": { - "description": "Specifies which time field to filter documents on. Defaults to TimeField.UPLOAD_TIME.", - "enum": [ - "TIME_FIELD_UNSPECIFIED", - "CREATE_TIME", - "UPDATE_TIME", - "DISPOSITION_TIME" - ], - "enumDescriptions": [ - "Default value.", - "Earliest document create time.", - "Latest document update time.", - "Time when document becomes mutable again." - ], - "type": "string" - }, - "timeRange": { - "$ref": "GoogleTypeInterval" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1TimestampArray": { - "description": "Timestamp values.", - "id": "GoogleCloudContentwarehouseV1TimestampArray", - "properties": { - "values": { - "description": "List of timestamp values.", - "items": { - "$ref": "GoogleCloudContentwarehouseV1TimestampValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1TimestampTypeOptions": { - "description": "Configurations for a timestamp property.", - "id": "GoogleCloudContentwarehouseV1TimestampTypeOptions", - "properties": {}, - "type": "object" - }, - "GoogleCloudContentwarehouseV1TimestampValue": { - "description": "Timestamp value type.", - "id": "GoogleCloudContentwarehouseV1TimestampValue", - "properties": { - "textValue": { - "description": "The string must represent a valid instant in UTC and is parsed using java.time.format.DateTimeFormatter.ISO_INSTANT. e.g. \"2013-09-29T18:46:19Z\"", - "type": "string" - }, - "timestampValue": { - "description": "Timestamp value", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1UpdateDocumentMetadata": { - "description": "Metadata object for UpdateDocument request (currently empty).", - "id": "GoogleCloudContentwarehouseV1UpdateDocumentMetadata", - "properties": {}, - "type": "object" - }, - "GoogleCloudContentwarehouseV1UpdateDocumentRequest": { - "description": "Request message for DocumentService.UpdateDocument.", - "id": "GoogleCloudContentwarehouseV1UpdateDocumentRequest", - "properties": { - "cloudAiDocumentOption": { - "$ref": "GoogleCloudContentwarehouseV1CloudAIDocumentOption", - "description": "Request Option for processing Cloud AI Document in Document Warehouse. This field offers limited support for mapping entities from Cloud AI Document to Warehouse Document. Please consult with product team before using this field and other available options." - }, - "document": { - "$ref": "GoogleCloudContentwarehouseV1Document", - "description": "Required. The document to update." - }, - "requestMetadata": { - "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", - "description": "The meta information collected about the end user, used to enforce access control for the service." - }, - "updateOptions": { - "$ref": "GoogleCloudContentwarehouseV1UpdateOptions", - "description": "Options for the update operation." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1UpdateDocumentResponse": { - "description": "Response message for DocumentService.UpdateDocument.", - "id": "GoogleCloudContentwarehouseV1UpdateDocumentResponse", - "properties": { - "document": { - "$ref": "GoogleCloudContentwarehouseV1Document", - "description": "Updated document after executing update request." - }, - "metadata": { - "$ref": "GoogleCloudContentwarehouseV1ResponseMetadata", - "description": "Additional information for the API invocation, such as the request tracking id." - }, - "ruleEngineOutput": { - "$ref": "GoogleCloudContentwarehouseV1RuleEngineOutput", - "description": "Output from Rule Engine recording the rule evaluator and action executor's output. Refer format in: google/cloud/contentwarehouse/v1/rule_engine.proto" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest": { - "description": "Request message for DocumentSchemaService.UpdateDocumentSchema.", - "id": "GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest", - "properties": { - "documentSchema": { - "$ref": "GoogleCloudContentwarehouseV1DocumentSchema", - "description": "Required. The document schema to update with." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1UpdateOptions": { - "description": "Options for Update operations.", - "id": "GoogleCloudContentwarehouseV1UpdateOptions", - "properties": { - "mergeFieldsOptions": { - "$ref": "GoogleCloudContentwarehouseV1MergeFieldsOptions", - "description": "Options for merging." - }, - "updateMask": { - "description": "Field mask for merging Document fields. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", - "format": "google-fieldmask", - "type": "string" - }, - "updateType": { - "description": "Type for update.", - "enum": [ - "UPDATE_TYPE_UNSPECIFIED", - "UPDATE_TYPE_REPLACE", - "UPDATE_TYPE_MERGE", - "UPDATE_TYPE_INSERT_PROPERTIES_BY_NAMES", - "UPDATE_TYPE_REPLACE_PROPERTIES_BY_NAMES", - "UPDATE_TYPE_DELETE_PROPERTIES_BY_NAMES", - "UPDATE_TYPE_MERGE_AND_REPLACE_OR_INSERT_PROPERTIES_BY_NAMES" - ], - "enumDescriptions": [ - "Defaults to full replace behavior, ie. FULL_REPLACE.", - "Fully replace all the fields (including previously linked raw document). Any field masks will be ignored.", - "Merge the fields into the existing entities.", - "Inserts the properties by names.", - "Replace the properties by names.", - "Delete the properties by names.", - "For each of the property, replaces the property if the it exists, otherwise inserts a new property. And for the rest of the fields, merge them based on update mask and merge fields options." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1UpdateRuleSetRequest": { - "description": "Request message for RuleSetService.UpdateRuleSet.", - "id": "GoogleCloudContentwarehouseV1UpdateRuleSetRequest", - "properties": { - "ruleSet": { - "$ref": "GoogleCloudContentwarehouseV1RuleSet", - "description": "Required. The rule set to update." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1UserInfo": { - "description": "The user information.", - "id": "GoogleCloudContentwarehouseV1UserInfo", - "properties": { - "groupIds": { - "description": "The unique group identifications which the user is belong to. The format is \"group:yyyy@example.com\";", - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "description": "A unique user identification string, as determined by the client. The maximum number of allowed characters is 255. Allowed characters include numbers 0 to 9, uppercase and lowercase letters, and restricted special symbols (:, @, +, -, _, ~) The format is \"user:xxxx@example.com\";", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1Value": { - "description": "`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.", - "id": "GoogleCloudContentwarehouseV1Value", - "properties": { - "booleanValue": { - "description": "Represents a boolean value.", - "type": "boolean" - }, - "datetimeValue": { - "$ref": "GoogleTypeDateTime", - "description": "Represents a datetime value." - }, - "enumValue": { - "$ref": "GoogleCloudContentwarehouseV1EnumValue", - "description": "Represents an enum value." - }, - "floatValue": { - "description": "Represents a float value.", - "format": "float", - "type": "number" - }, - "intValue": { - "description": "Represents a integer value.", - "format": "int32", - "type": "integer" - }, - "stringValue": { - "description": "Represents a string value.", - "type": "string" - }, - "timestampValue": { - "$ref": "GoogleCloudContentwarehouseV1TimestampValue", - "description": "Represents a timestamp value." - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1WeightedSchemaProperty": { - "description": "Specifies the schema property name.", - "id": "GoogleCloudContentwarehouseV1WeightedSchemaProperty", - "properties": { - "documentSchemaName": { - "description": "The document schema name.", - "type": "string" - }, - "propertyNames": { - "description": "The property definition names in the schema.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1beta1CreateDocumentMetadata": { - "description": "Metadata object for CreateDocument request (currently empty).", - "id": "GoogleCloudContentwarehouseV1beta1CreateDocumentMetadata", - "properties": {}, - "type": "object" - }, - "GoogleCloudContentwarehouseV1beta1InitializeProjectResponse": { - "description": "Response message for projectService.InitializeProject", - "id": "GoogleCloudContentwarehouseV1beta1InitializeProjectResponse", - "properties": { - "message": { - "description": "The message of the project initialization process.", - "type": "string" - }, - "state": { - "description": "The state of the project initialization process.", - "enum": [ - "STATE_UNSPECIFIED", - "SUCCEEDED", - "FAILED", - "CANCELLED", - "RUNNING" - ], - "enumDescriptions": [ - "Clients should never see this.", - "Finished project initialization without error.", - "Finished project initialization with an error.", - "Client canceled the LRO.", - "Ask the customer to check the operation for results." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContentwarehouseV1beta1UpdateDocumentMetadata": { - "description": "Metadata object for UpdateDocument request (currently empty).", - "id": "GoogleCloudContentwarehouseV1beta1UpdateDocumentMetadata", - "properties": {}, - "type": "object" - }, - "GoogleCloudDocumentaiV1Barcode": { - "description": "Encodes the detailed information of a barcode.", - "id": "GoogleCloudDocumentaiV1Barcode", - "properties": { - "format": { - "description": "Format of a barcode. The supported formats are: - `CODE_128`: Code 128 type. - `CODE_39`: Code 39 type. - `CODE_93`: Code 93 type. - `CODABAR`: Codabar type. - `DATA_MATRIX`: 2D Data Matrix type. - `ITF`: ITF type. - `EAN_13`: EAN-13 type. - `EAN_8`: EAN-8 type. - `QR_CODE`: 2D QR code type. - `UPC_A`: UPC-A type. - `UPC_E`: UPC-E type. - `PDF417`: PDF417 type. - `AZTEC`: 2D Aztec code type. - `DATABAR`: GS1 DataBar code type.", - "type": "string" - }, - "rawValue": { - "description": "Raw value encoded in the barcode. For example: `'MEBKM:TITLE:Google;URL:https://www.google.com;;'`.", - "type": "string" - }, - "valueFormat": { - "description": "Value format describes the format of the value that a barcode encodes. The supported formats are: - `CONTACT_INFO`: Contact information. - `EMAIL`: Email address. - `ISBN`: ISBN identifier. - `PHONE`: Phone number. - `PRODUCT`: Product. - `SMS`: SMS message. - `TEXT`: Text string. - `URL`: URL address. - `WIFI`: Wifi information. - `GEO`: Geo-localization. - `CALENDAR_EVENT`: Calendar event. - `DRIVER_LICENSE`: Driver's license.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1BoundingPoly": { - "description": "A bounding polygon for the detected image annotation.", - "id": "GoogleCloudDocumentaiV1BoundingPoly", - "properties": { - "normalizedVertices": { - "description": "The bounding polygon normalized vertices.", - "items": { - "$ref": "GoogleCloudDocumentaiV1NormalizedVertex" - }, - "type": "array" - }, - "vertices": { - "description": "The bounding polygon vertices.", - "items": { - "$ref": "GoogleCloudDocumentaiV1Vertex" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1Document": { - "description": "Document represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.", - "id": "GoogleCloudDocumentaiV1Document", - "properties": { - "content": { - "description": "Optional. Inline document content, represented as a stream of bytes. Note: As with all `bytes` fields, protobuffers use a pure binary representation, whereas JSON representations use base64.", - "format": "byte", - "type": "string" - }, - "entities": { - "description": "A list of entities detected on Document.text. For document shards, entities in this list may cross shard boundaries.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentEntity" - }, - "type": "array" - }, - "entityRelations": { - "description": "Placeholder. Relationship among Document.entities.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentEntityRelation" - }, - "type": "array" - }, - "error": { - "$ref": "GoogleRpcStatus", - "description": "Any error that occurred while processing this document." - }, - "mimeType": { - "description": "An IANA published [media type (MIME type)](https://www.iana.org/assignments/media-types/media-types.xhtml).", - "type": "string" - }, - "pages": { - "description": "Visual page layout for the Document.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPage" - }, - "type": "array" - }, - "revisions": { - "description": "Placeholder. Revision history of this document.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentRevision" - }, - "type": "array" - }, - "shardInfo": { - "$ref": "GoogleCloudDocumentaiV1DocumentShardInfo", - "description": "Information about the sharding if this document is sharded part of a larger document. If the document is not sharded, this message is not specified." - }, - "text": { - "description": "Optional. UTF-8 encoded text in reading order from the document.", - "type": "string" - }, - "textChanges": { - "description": "Placeholder. A list of text corrections made to Document.text. This is usually used for annotating corrections to OCR mistakes. Text changes for a given revision may not overlap with each other.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentTextChange" - }, - "type": "array" - }, - "textStyles": { - "deprecated": true, - "description": "Styles for the Document.text.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentStyle" - }, - "type": "array" - }, - "uri": { - "description": "Optional. Currently supports Google Cloud Storage URI of the form `gs://bucket_name/object_name`. Object versioning is not supported. For more information, refer to [Google Cloud Storage Request URIs](https://cloud.google.com/storage/docs/reference-uris).", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentEntity": { - "description": "An entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.", - "id": "GoogleCloudDocumentaiV1DocumentEntity", - "properties": { - "confidence": { - "description": "Optional. Confidence of detected Schema entity. Range `[0, 1]`.", - "format": "float", - "type": "number" - }, - "id": { - "description": "Optional. Canonical id. This will be a unique value in the entity list for this document.", - "type": "string" - }, - "mentionId": { - "description": "Optional. Deprecated. Use `id` field instead.", - "type": "string" - }, - "mentionText": { - "description": "Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`.", - "type": "string" - }, - "normalizedValue": { - "$ref": "GoogleCloudDocumentaiV1DocumentEntityNormalizedValue", - "description": "Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types." - }, - "pageAnchor": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageAnchor", - "description": "Optional. Represents the provenance of this entity wrt. the location on the page where it was found." - }, - "properties": { - "description": "Optional. Entities can be nested to form a hierarchical data structure representing the content in the document.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentEntity" - }, - "type": "array" - }, - "provenance": { - "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", - "description": "Optional. The history of this annotation." - }, - "redacted": { - "description": "Optional. Whether the entity will be redacted for de-identification purposes.", - "type": "boolean" - }, - "textAnchor": { - "$ref": "GoogleCloudDocumentaiV1DocumentTextAnchor", - "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." - }, - "type": { - "description": "Required. Entity type from a schema e.g. `Address`.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentEntityNormalizedValue": { - "description": "Parsed and normalized entity value.", - "id": "GoogleCloudDocumentaiV1DocumentEntityNormalizedValue", - "properties": { - "addressValue": { - "$ref": "GoogleTypePostalAddress", - "description": "Postal address. See also: https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.proto" - }, - "booleanValue": { - "description": "Boolean value. Can be used for entities with binary values, or for checkboxes.", - "type": "boolean" - }, - "dateValue": { - "$ref": "GoogleTypeDate", - "description": "Date value. Includes year, month, day. See also: https://github.com/googleapis/googleapis/blob/master/google/type/date.proto" - }, - "datetimeValue": { - "$ref": "GoogleTypeDateTime", - "description": "DateTime value. Includes date, time, and timezone. See also: https://github.com/googleapis/googleapis/blob/master/google/type/datetime.proto" - }, - "floatValue": { - "description": "Float value.", - "format": "float", - "type": "number" - }, - "integerValue": { - "description": "Integer value.", - "format": "int32", - "type": "integer" - }, - "moneyValue": { - "$ref": "GoogleTypeMoney", - "description": "Money value. See also: https://github.com/googleapis/googleapis/blob/master/google/type/money.proto" - }, - "text": { - "description": "Optional. An optional field to store a normalized string. For some entity types, one of respective `structured_value` fields may also be populated. Also not all the types of `structured_value` will be normalized. For example, some processors may not generate `float` or `integer` normalized text by default. Below are sample formats mapped to structured values. - Money/Currency type (`money_value`) is in the ISO 4217 text format. - Date type (`date_value`) is in the ISO 8601 text format. - Datetime type (`datetime_value`) is in the ISO 8601 text format.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentEntityRelation": { - "description": "Relationship between Entities.", - "id": "GoogleCloudDocumentaiV1DocumentEntityRelation", - "properties": { - "objectId": { - "description": "Object entity id.", - "type": "string" - }, - "relation": { - "description": "Relationship description.", - "type": "string" - }, - "subjectId": { - "description": "Subject entity id.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPage": { - "description": "A page in a Document.", - "id": "GoogleCloudDocumentaiV1DocumentPage", - "properties": { - "blocks": { - "description": "A list of visually detected text blocks on the page. A block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageBlock" - }, - "type": "array" - }, - "detectedBarcodes": { - "description": "A list of detected barcodes.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedBarcode" - }, - "type": "array" - }, - "detectedLanguages": { - "description": "A list of detected languages together with confidence.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" - }, - "type": "array" - }, - "dimension": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDimension", - "description": "Physical dimension of the page." - }, - "formFields": { - "description": "A list of visually detected form fields on the page.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageFormField" - }, - "type": "array" - }, - "image": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageImage", - "description": "Rendered image for this page. This image is preprocessed to remove any skew, rotation, and distortions such that the annotation bounding boxes can be upright and axis-aligned." - }, - "imageQualityScores": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageImageQualityScores", - "description": "Image quality scores." - }, - "layout": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for the page." - }, - "lines": { - "description": "A list of visually detected text lines on the page. A collection of tokens that a human would perceive as a line.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLine" - }, - "type": "array" - }, - "pageNumber": { - "description": "1-based index for current Page in a parent Document. Useful when a page is taken out of a Document for individual processing.", - "format": "int32", - "type": "integer" - }, - "paragraphs": { - "description": "A list of visually detected text paragraphs on the page. A collection of lines that a human would perceive as a paragraph.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageParagraph" - }, - "type": "array" - }, - "provenance": { - "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", - "deprecated": true, - "description": "The history of this page." - }, - "symbols": { - "description": "A list of visually detected symbols on the page.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageSymbol" - }, - "type": "array" - }, - "tables": { - "description": "A list of visually detected tables on the page.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageTable" - }, - "type": "array" - }, - "tokens": { - "description": "A list of visually detected tokens on the page.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageToken" - }, - "type": "array" - }, - "transforms": { - "description": "Transformation matrices that were applied to the original document image to produce Page.image.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageMatrix" - }, - "type": "array" - }, - "visualElements": { - "description": "A list of detected non-text visual elements e.g. checkbox, signature etc. on the page.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageVisualElement" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageAnchor": { - "description": "Referencing the visual context of the entity in the Document.pages. Page anchors can be cross-page, consist of multiple bounding polygons and optionally reference specific layout element types.", - "id": "GoogleCloudDocumentaiV1DocumentPageAnchor", - "properties": { - "pageRefs": { - "description": "One or more references to visual page elements", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageAnchorPageRef" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageAnchorPageRef": { - "description": "Represents a weak reference to a page element within a document.", - "id": "GoogleCloudDocumentaiV1DocumentPageAnchorPageRef", - "properties": { - "boundingPoly": { - "$ref": "GoogleCloudDocumentaiV1BoundingPoly", - "description": "Optional. Identifies the bounding polygon of a layout element on the page. If `layout_type` is set, the bounding polygon must be exactly the same to the layout element it's referring to." - }, - "confidence": { - "description": "Optional. Confidence of detected page element, if applicable. Range `[0, 1]`.", - "format": "float", - "type": "number" - }, - "layoutId": { - "deprecated": true, - "description": "Optional. Deprecated. Use PageRef.bounding_poly instead.", - "type": "string" - }, - "layoutType": { - "description": "Optional. The type of the layout element that is being referenced if any.", - "enum": [ - "LAYOUT_TYPE_UNSPECIFIED", - "BLOCK", - "PARAGRAPH", - "LINE", - "TOKEN", - "VISUAL_ELEMENT", - "TABLE", - "FORM_FIELD" - ], - "enumDescriptions": [ - "Layout Unspecified.", - "References a Page.blocks element.", - "References a Page.paragraphs element.", - "References a Page.lines element.", - "References a Page.tokens element.", - "References a Page.visual_elements element.", - "Refrrences a Page.tables element.", - "References a Page.form_fields element." - ], - "type": "string" - }, - "page": { - "description": "Required. Index into the Document.pages element, for example using `Document.pages` to locate the related page element. This field is skipped when its value is the default `0`. See https://developers.google.com/protocol-buffers/docs/proto3#json.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageBlock": { - "description": "A block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.", - "id": "GoogleCloudDocumentaiV1DocumentPageBlock", - "properties": { - "detectedLanguages": { - "description": "A list of detected languages together with confidence.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" - }, - "type": "array" - }, - "layout": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for Block." - }, - "provenance": { - "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", - "deprecated": true, - "description": "The history of this annotation." - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageDetectedBarcode": { - "description": "A detected barcode.", - "id": "GoogleCloudDocumentaiV1DocumentPageDetectedBarcode", - "properties": { - "barcode": { - "$ref": "GoogleCloudDocumentaiV1Barcode", - "description": "Detailed barcode information of the DetectedBarcode." - }, - "layout": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for DetectedBarcode." - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage": { - "description": "Detected language for a structural component.", - "id": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage", - "properties": { - "confidence": { - "description": "Confidence of detected language. Range `[0, 1]`.", - "format": "float", - "type": "number" - }, - "languageCode": { - "description": "The [BCP-47 language code](https://www.unicode.org/reports/tr35/#Unicode_locale_identifier), such as `en-US` or `sr-Latn`.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageDimension": { - "description": "Dimension for the page.", - "id": "GoogleCloudDocumentaiV1DocumentPageDimension", - "properties": { - "height": { - "description": "Page height.", - "format": "float", - "type": "number" - }, - "unit": { - "description": "Dimension unit.", - "type": "string" - }, - "width": { - "description": "Page width.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageFormField": { - "description": "A form field detected on the page.", - "id": "GoogleCloudDocumentaiV1DocumentPageFormField", - "properties": { - "correctedKeyText": { - "description": "Created for Labeling UI to export key text. If corrections were made to the text identified by the `field_name.text_anchor`, this field will contain the correction.", - "type": "string" - }, - "correctedValueText": { - "description": "Created for Labeling UI to export value text. If corrections were made to the text identified by the `field_value.text_anchor`, this field will contain the correction.", - "type": "string" - }, - "fieldName": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc." - }, - "fieldValue": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for the FormField value." - }, - "nameDetectedLanguages": { - "description": "A list of detected languages for name together with confidence.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" - }, - "type": "array" - }, - "provenance": { - "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", - "description": "The history of this annotation." - }, - "valueDetectedLanguages": { - "description": "A list of detected languages for value together with confidence.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" - }, - "type": "array" - }, - "valueType": { - "description": "If the value is non-textual, this field represents the type. Current valid values are: - blank (this indicates the `field_value` is normal text) - `unfilled_checkbox` - `filled_checkbox`", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageImage": { - "description": "Rendered image contents for this page.", - "id": "GoogleCloudDocumentaiV1DocumentPageImage", - "properties": { - "content": { - "description": "Raw byte content of the image.", - "format": "byte", - "type": "string" - }, - "height": { - "description": "Height of the image in pixels.", - "format": "int32", - "type": "integer" - }, - "mimeType": { - "description": "Encoding [media type (MIME type)](https://www.iana.org/assignments/media-types/media-types.xhtml) for the image.", - "type": "string" - }, - "width": { - "description": "Width of the image in pixels.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageImageQualityScores": { - "description": "Image quality scores for the page image.", - "id": "GoogleCloudDocumentaiV1DocumentPageImageQualityScores", - "properties": { - "detectedDefects": { - "description": "A list of detected defects.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect" - }, - "type": "array" - }, - "qualityScore": { - "description": "The overall quality score. Range `[0, 1]` where `1` is perfect quality.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect": { - "description": "Image Quality Defects", - "id": "GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect", - "properties": { - "confidence": { - "description": "Confidence of detected defect. Range `[0, 1]` where `1` indicates strong confidence that the defect exists.", - "format": "float", - "type": "number" - }, - "type": { - "description": "Name of the defect type. Supported values are: - `quality/defect_blurry` - `quality/defect_noisy` - `quality/defect_dark` - `quality/defect_faint` - `quality/defect_text_too_small` - `quality/defect_document_cutoff` - `quality/defect_text_cutoff` - `quality/defect_glare`", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageLayout": { - "description": "Visual element describing a layout unit on a page.", - "id": "GoogleCloudDocumentaiV1DocumentPageLayout", - "properties": { - "boundingPoly": { - "$ref": "GoogleCloudDocumentaiV1BoundingPoly", - "description": "The bounding polygon for the Layout." - }, - "confidence": { - "description": "Confidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.", - "format": "float", - "type": "number" - }, - "orientation": { - "description": "Detected orientation for the Layout.", - "enum": [ - "ORIENTATION_UNSPECIFIED", - "PAGE_UP", - "PAGE_RIGHT", - "PAGE_DOWN", - "PAGE_LEFT" - ], - "enumDescriptions": [ - "Unspecified orientation.", - "Orientation is aligned with page up.", - "Orientation is aligned with page right. Turn the head 90 degrees clockwise from upright to read.", - "Orientation is aligned with page down. Turn the head 180 degrees from upright to read.", - "Orientation is aligned with page left. Turn the head 90 degrees counterclockwise from upright to read." - ], - "type": "string" - }, - "textAnchor": { - "$ref": "GoogleCloudDocumentaiV1DocumentTextAnchor", - "description": "Text anchor indexing into the Document.text." - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageLine": { - "description": "A collection of tokens that a human would perceive as a line. Does not cross column boundaries, can be horizontal, vertical, etc.", - "id": "GoogleCloudDocumentaiV1DocumentPageLine", - "properties": { - "detectedLanguages": { - "description": "A list of detected languages together with confidence.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" - }, - "type": "array" - }, - "layout": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for Line." - }, - "provenance": { - "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", - "deprecated": true, - "description": "The history of this annotation." - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageMatrix": { - "description": "Representation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.", - "id": "GoogleCloudDocumentaiV1DocumentPageMatrix", - "properties": { - "cols": { - "description": "Number of columns in the matrix.", - "format": "int32", - "type": "integer" - }, - "data": { - "description": "The matrix data.", - "format": "byte", - "type": "string" - }, - "rows": { - "description": "Number of rows in the matrix.", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "This encodes information about what data type the matrix uses. For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list of OpenCV primitive data types, please refer to https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageParagraph": { - "description": "A collection of lines that a human would perceive as a paragraph.", - "id": "GoogleCloudDocumentaiV1DocumentPageParagraph", - "properties": { - "detectedLanguages": { - "description": "A list of detected languages together with confidence.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" - }, - "type": "array" - }, - "layout": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for Paragraph." - }, - "provenance": { - "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", - "deprecated": true, - "description": "The history of this annotation." - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageSymbol": { - "description": "A detected symbol.", - "id": "GoogleCloudDocumentaiV1DocumentPageSymbol", - "properties": { - "detectedLanguages": { - "description": "A list of detected languages together with confidence.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" - }, - "type": "array" - }, - "layout": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for Symbol." - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageTable": { - "description": "A table representation similar to HTML table structure.", - "id": "GoogleCloudDocumentaiV1DocumentPageTable", - "properties": { - "bodyRows": { - "description": "Body rows of the table.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageTableTableRow" - }, - "type": "array" - }, - "detectedLanguages": { - "description": "A list of detected languages together with confidence.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" - }, - "type": "array" - }, - "headerRows": { - "description": "Header rows of the table.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageTableTableRow" - }, - "type": "array" - }, - "layout": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for Table." - }, - "provenance": { - "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", - "deprecated": true, - "description": "The history of this table." - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageTableTableCell": { - "description": "A cell representation inside the table.", - "id": "GoogleCloudDocumentaiV1DocumentPageTableTableCell", - "properties": { - "colSpan": { - "description": "How many columns this cell spans.", - "format": "int32", - "type": "integer" - }, - "detectedLanguages": { - "description": "A list of detected languages together with confidence.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" - }, - "type": "array" - }, - "layout": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for TableCell." - }, - "rowSpan": { - "description": "How many rows this cell spans.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageTableTableRow": { - "description": "A row of table cells.", - "id": "GoogleCloudDocumentaiV1DocumentPageTableTableRow", - "properties": { - "cells": { - "description": "Cells that make up this row.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageTableTableCell" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageToken": { - "description": "A detected token.", - "id": "GoogleCloudDocumentaiV1DocumentPageToken", - "properties": { - "detectedBreak": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak", - "description": "Detected break at the end of a Token." - }, - "detectedLanguages": { - "description": "A list of detected languages together with confidence.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" - }, - "type": "array" - }, - "layout": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for Token." - }, - "provenance": { - "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", - "deprecated": true, - "description": "The history of this annotation." - }, - "styleInfo": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo", - "description": "Text style attributes." - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak": { - "description": "Detected break at the end of a Token.", - "id": "GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak", - "properties": { - "type": { - "description": "Detected break type.", - "enum": [ - "TYPE_UNSPECIFIED", - "SPACE", - "WIDE_SPACE", - "HYPHEN" - ], - "enumDescriptions": [ - "Unspecified break type.", - "A single whitespace.", - "A wider whitespace.", - "A hyphen that indicates that a token has been split across lines." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo": { - "description": "Font and other text style attributes.", - "id": "GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo", - "properties": { - "backgroundColor": { - "$ref": "GoogleTypeColor", - "description": "Color of the background." - }, - "bold": { - "description": "Whether the text is bold (equivalent to font_weight is at least `700`).", - "type": "boolean" - }, - "fontSize": { - "description": "Font size in points (`1` point is `¹⁄₇₂` inches).", - "format": "int32", - "type": "integer" - }, - "fontType": { - "description": "Name or style of the font.", - "type": "string" - }, - "fontWeight": { - "description": "TrueType weight on a scale `100` (thin) to `1000` (ultra-heavy). Normal is `400`, bold is `700`.", - "format": "int32", - "type": "integer" - }, - "handwritten": { - "description": "Whether the text is handwritten.", - "type": "boolean" - }, - "italic": { - "description": "Whether the text is italic.", - "type": "boolean" - }, - "letterSpacing": { - "description": "Letter spacing in points.", - "format": "double", - "type": "number" - }, - "pixelFontSize": { - "description": "Font size in pixels, equal to _unrounded font_size_ * _resolution_ ÷ `72.0`.", - "format": "double", - "type": "number" - }, - "smallcaps": { - "description": "Whether the text is in small caps. This feature is not supported yet.", - "type": "boolean" - }, - "strikeout": { - "description": "Whether the text is strikethrough. This feature is not supported yet.", - "type": "boolean" - }, - "subscript": { - "description": "Whether the text is a subscript. This feature is not supported yet.", - "type": "boolean" - }, - "superscript": { - "description": "Whether the text is a superscript. This feature is not supported yet.", - "type": "boolean" - }, - "textColor": { - "$ref": "GoogleTypeColor", - "description": "Color of the text." - }, - "underlined": { - "description": "Whether the text is underlined.", - "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentPageVisualElement": { - "description": "Detected non-text visual elements e.g. checkbox, signature etc. on the page.", - "id": "GoogleCloudDocumentaiV1DocumentPageVisualElement", - "properties": { - "detectedLanguages": { - "description": "A list of detected languages together with confidence.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" - }, - "type": "array" - }, - "layout": { - "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", - "description": "Layout for VisualElement." - }, - "type": { - "description": "Type of the VisualElement.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentProvenance": { - "description": "Structure to identify provenance relationships between annotations in different revisions.", - "id": "GoogleCloudDocumentaiV1DocumentProvenance", - "properties": { - "id": { - "deprecated": true, - "description": "The Id of this operation. Needs to be unique within the scope of the revision.", - "format": "int32", - "type": "integer" - }, - "parents": { - "description": "References to the original elements that are replaced.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentProvenanceParent" - }, - "type": "array" - }, - "revision": { - "deprecated": true, - "description": "The index of the revision that produced this element.", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "The type of provenance operation.", - "enum": [ - "OPERATION_TYPE_UNSPECIFIED", - "ADD", - "REMOVE", - "UPDATE", - "REPLACE", - "EVAL_REQUESTED", - "EVAL_APPROVED", - "EVAL_SKIPPED" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true, - true, - true - ], - "enumDescriptions": [ - "Operation type unspecified. If no operation is specified a provenance entry is simply used to match against a `parent`.", - "Add an element.", - "Remove an element identified by `parent`.", - "Updates any fields within the given provenance scope of the message. It overwrites the fields rather than replacing them. Use this when you want to update a field value of an entity without also updating all the child properties.", - "Currently unused. Replace an element identified by `parent`.", - "Deprecated. Request human review for the element identified by `parent`.", - "Deprecated. Element is reviewed and approved at human review, confidence will be set to 1.0.", - "Deprecated. Element is skipped in the validation process." - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentProvenanceParent": { - "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.", - "id": "GoogleCloudDocumentaiV1DocumentProvenanceParent", - "properties": { - "id": { - "deprecated": true, - "description": "The id of the parent provenance.", - "format": "int32", - "type": "integer" - }, - "index": { - "description": "The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) in the parent revision.", - "format": "int32", - "type": "integer" - }, - "revision": { - "description": "The index of the index into current revision's parent_ids list.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentRevision": { - "description": "Contains past or forward revisions of this document.", - "id": "GoogleCloudDocumentaiV1DocumentRevision", - "properties": { - "agent": { - "description": "If the change was made by a person specify the name or id of that person.", - "type": "string" - }, - "createTime": { - "description": "The time that the revision was created, internally generated by doc proto storage at the time of create.", - "format": "google-datetime", - "type": "string" - }, - "humanReview": { - "$ref": "GoogleCloudDocumentaiV1DocumentRevisionHumanReview", - "description": "Human Review information of this revision." - }, - "id": { - "description": "Id of the revision, internally generated by doc proto storage. Unique within the context of the document.", - "type": "string" - }, - "parent": { - "deprecated": true, - "description": "The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "parentIds": { - "description": "The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.", - "items": { - "type": "string" - }, - "type": "array" - }, - "processor": { - "description": "If the annotation was made by processor identify the processor by its resource name.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentRevisionHumanReview": { - "description": "Human Review information of the document.", - "id": "GoogleCloudDocumentaiV1DocumentRevisionHumanReview", - "properties": { - "state": { - "description": "Human review state. e.g. `requested`, `succeeded`, `rejected`.", - "type": "string" - }, - "stateMessage": { - "description": "A message providing more details about the current state of processing. For example, the rejection reason when the state is `rejected`.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentShardInfo": { - "description": "For a large document, sharding may be performed to produce several document shards. Each document shard contains this field to detail which shard it is.", - "id": "GoogleCloudDocumentaiV1DocumentShardInfo", - "properties": { - "shardCount": { - "description": "Total number of shards.", - "format": "int64", - "type": "string" - }, - "shardIndex": { - "description": "The 0-based index of this shard.", - "format": "int64", - "type": "string" - }, - "textOffset": { - "description": "The index of the first character in Document.text in the overall document global text.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentStyle": { - "description": "Annotation for common text style attributes. This adheres to CSS conventions as much as possible.", - "id": "GoogleCloudDocumentaiV1DocumentStyle", - "properties": { - "backgroundColor": { - "$ref": "GoogleTypeColor", - "description": "Text background color." - }, - "color": { - "$ref": "GoogleTypeColor", - "description": "Text color." - }, - "fontFamily": { - "description": "Font family such as `Arial`, `Times New Roman`. https://www.w3schools.com/cssref/pr_font_font-family.asp", - "type": "string" - }, - "fontSize": { - "$ref": "GoogleCloudDocumentaiV1DocumentStyleFontSize", - "description": "Font size." - }, - "fontWeight": { - "description": "[Font weight](https://www.w3schools.com/cssref/pr_font_weight.asp). Possible values are `normal`, `bold`, `bolder`, and `lighter`.", - "type": "string" - }, - "textAnchor": { - "$ref": "GoogleCloudDocumentaiV1DocumentTextAnchor", - "description": "Text anchor indexing into the Document.text." - }, - "textDecoration": { - "description": "[Text decoration](https://www.w3schools.com/cssref/pr_text_text-decoration.asp). Follows CSS standard. ", - "type": "string" - }, - "textStyle": { - "description": "[Text style](https://www.w3schools.com/cssref/pr_font_font-style.asp). Possible values are `normal`, `italic`, and `oblique`.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentStyleFontSize": { - "description": "Font size with unit.", - "id": "GoogleCloudDocumentaiV1DocumentStyleFontSize", - "properties": { - "size": { - "description": "Font size for the text.", - "format": "float", - "type": "number" - }, - "unit": { - "description": "Unit for the font size. Follows CSS naming (such as `in`, `px`, and `pt`).", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentTextAnchor": { - "description": "Text reference indexing into the Document.text.", - "id": "GoogleCloudDocumentaiV1DocumentTextAnchor", - "properties": { - "content": { - "description": "Contains the content of the text span so that users do not have to look it up in the text_segments. It is always populated for formFields.", - "type": "string" - }, - "textSegments": { - "description": "The text segments from the Document.text.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment": { - "description": "A text segment in the Document.text. The indices may be out of bounds which indicate that the text extends into another document shard for large sharded documents. See ShardInfo.text_offset", - "id": "GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment", - "properties": { - "endIndex": { - "description": "TextSegment half open end UTF-8 char index in the Document.text.", - "format": "int64", - "type": "string" - }, - "startIndex": { - "description": "TextSegment start UTF-8 char index in the Document.text.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1DocumentTextChange": { - "description": "This message is used for text changes aka. OCR corrections.", - "id": "GoogleCloudDocumentaiV1DocumentTextChange", - "properties": { - "changedText": { - "description": "The text that replaces the text identified in the `text_anchor`.", - "type": "string" - }, - "provenance": { - "deprecated": true, - "description": "The history of this annotation.", - "items": { - "$ref": "GoogleCloudDocumentaiV1DocumentProvenance" - }, - "type": "array" - }, - "textAnchor": { - "$ref": "GoogleCloudDocumentaiV1DocumentTextAnchor", - "description": "Provenance of the correction. Text anchor indexing into the Document.text. There can only be a single `TextAnchor.text_segments` element. If the start and end index of the text segment are the same, the text change is inserted before that index." - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1NormalizedVertex": { - "description": "A vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.", - "id": "GoogleCloudDocumentaiV1NormalizedVertex", - "properties": { - "x": { - "description": "X coordinate.", - "format": "float", - "type": "number" - }, - "y": { - "description": "Y coordinate (starts from the top of the image).", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GoogleCloudDocumentaiV1Vertex": { - "description": "A vertex represents a 2D point in the image. NOTE: the vertex coordinates are in the same scale as the original image.", - "id": "GoogleCloudDocumentaiV1Vertex", - "properties": { - "x": { - "description": "X coordinate.", - "format": "int32", - "type": "integer" - }, - "y": { - "description": "Y coordinate (starts from the top of the image).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleIamV1AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", - "id": "GoogleIamV1AuditConfig", - "properties": { - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.", - "items": { - "$ref": "GoogleIamV1AuditLogConfig" - }, - "type": "array" - }, - "service": { - "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleIamV1AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", - "id": "GoogleIamV1AuditLogConfig", - "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", - "items": { - "type": "string" - }, - "type": "array" - }, - "logType": { - "description": "The log type that this config enables.", - "enum": [ - "LOG_TYPE_UNSPECIFIED", - "ADMIN_READ", - "DATA_WRITE", - "DATA_READ" - ], - "enumDescriptions": [ - "Default case. Should never be this.", - "Admin reads. Example: CloudIAM getIamPolicy", - "Data writes. Example: CloudSQL Users create", - "Data reads. Example: CloudSQL Users list" - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleIamV1Binding": { - "description": "Associates `members`, or principals, with a `role`.", - "id": "GoogleIamV1Binding", - "properties": { - "condition": { - "$ref": "GoogleTypeExpr", - "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." - }, - "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "role": { - "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", - "type": "string" - } - }, - "type": "object" - }, - "GoogleIamV1Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", - "id": "GoogleIamV1Policy", - "properties": { - "auditConfigs": { - "description": "Specifies cloud audit logging configuration for this policy.", - "items": { - "$ref": "GoogleIamV1AuditConfig" - }, - "type": "array" - }, - "bindings": { - "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", - "items": { - "$ref": "GoogleIamV1Binding" - }, - "type": "array" - }, - "etag": { - "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", - "format": "byte", - "type": "string" - }, - "version": { - "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaAvailabilityPeriod": { - "description": "Represents the information about user's working hours during one day. Note that a period on Monday from 18:00 - 00:00 is represented as a triplet (1, 1080, 1440).", - "id": "GoogleInternalAppsWaldoV1alphaAvailabilityPeriod", - "properties": { - "dayOfWeek": { - "description": "Day of week, 0 for Sunday, 1 for Monday, ...", - "format": "int32", - "type": "integer" - }, - "periodEndMinutes": { - "description": "Period end, in minutes from the start of the day, exclusive.", - "format": "int32", - "type": "integer" - }, - "periodStartMinutes": { - "description": "Period start, in minutes from the start of the day, inclusive.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaCalendarBusy": { - "description": "The status indicating the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb).", - "id": "GoogleInternalAppsWaldoV1alphaCalendarBusy", - "properties": { - "committedUntil": { - "description": "The time when the user will either stop being committed or change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice \u003c Xh). Note that the goal of this field is to provide information to help users decide how to communicate with a user (see also http://shortn/_wXYXtZScgh).", - "format": "google-datetime", - "type": "string" - }, - "eventSummary": { - "description": "The summary of the corresponding event in Calendar.", - "type": "string" - }, - "nextAvailable": { - "description": "The next time when the user will be available, i.e., when their status will be neither InMeeting, CalendarBusy, DoNotDisturb, OutsideWorkingHours, nor OutOfOffice.", - "format": "google-datetime", - "type": "string" - }, - "occupiedUntil": { - "description": "The time when the user will stop being occupied, i.e., when their status will be neither inMeeting, Busy nor DoNotDisturb.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaCustomLocation": { - "description": "Custom location specified by the user.", - "id": "GoogleInternalAppsWaldoV1alphaCustomLocation", - "properties": { - "geoCoordinates": { - "$ref": "GoogleTypeLatLng", - "description": "Geographic location as geo coordinates." - }, - "label": { - "description": "The custom location label as a string entered manually by the user.", - "type": "string" - }, - "location": { - "description": "Geographic location as free-form text.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaDoNotDisturb": { - "description": "The status indicating the user should not be disturbed.", - "id": "GoogleInternalAppsWaldoV1alphaDoNotDisturb", - "properties": { - "committedUntil": { - "description": "The time when the user will either stop being committed or change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice \u003c Xh). Note that the goal of this field is to provide information to help users decide how to communicate with a user (see also http://shortn/_wXYXtZScgh).", - "format": "google-datetime", - "type": "string" - }, - "nextAvailable": { - "description": "The next time when the user will be available, i.e., when their status will be neither InMeeting, CalendarBusy, DoNotDisturb, OutsideWorkingHours, nor OutOfOffice.", - "format": "google-datetime", - "type": "string" - }, - "occupiedUntil": { - "description": "The time when the user will stop being occupied, i.e., when their status will be neither inMeeting, Busy nor DoNotDisturb.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaHomeLocation": { - "description": "Home location.", - "id": "GoogleInternalAppsWaldoV1alphaHomeLocation", - "properties": {}, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaInMeeting": { - "description": "The status indicating the user is in a meeting.", - "id": "GoogleInternalAppsWaldoV1alphaInMeeting", - "properties": { - "committedUntil": { - "description": "The time when the user will either stop being committed or change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice \u003c Xh). Note that the goal of this field is to provide information to help users decide how to communicate with a user (see also http://shortn/_wXYXtZScgh).", - "format": "google-datetime", - "type": "string" - }, - "eventSummary": { - "description": "The summary of the corresponding event in Calendar.", - "type": "string" - }, - "inMeetingsUntil": { - "description": "The time when the user will stop being in a meeting.", - "format": "google-datetime", - "type": "string" - }, - "nextAvailable": { - "description": "The next time when the user will be available, i.e., when their status will be neither InMeeting, CalendarBusy, DoNotDisturb, OutsideWorkingHours, nor OutOfOffice.", - "format": "google-datetime", - "type": "string" - }, - "occupiedUntil": { - "description": "The time when the user will stop being occupied, i.e., when their status will be neither InMeeting, Busy nor DoNotDisturb.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaInactive": { - "description": "The status indicating that no other status applies.", - "id": "GoogleInternalAppsWaldoV1alphaInactive", - "properties": {}, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaLocalTimeContext": { - "description": "Context which helps to determine the user's local time.", - "id": "GoogleInternalAppsWaldoV1alphaLocalTimeContext", - "properties": { - "timeZone": { - "description": "The current time zone of the user. Represented as a valid time zone ID from Olson database, like \"Europe/Zurich\" (see http://google3/i18n/identifiers/data/timezones.txt).", - "type": "string" - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaOfficeLocation": { - "description": "Office location.", - "id": "GoogleInternalAppsWaldoV1alphaOfficeLocation", - "properties": { - "experimentalBuildingId": { - "description": "Experimental. Can change or disappear without warning or notice. References a building from http://google3/ccc/hosted/api/rosy/resources/calendar/building.proto For example \"US-NYC-9TH\".", - "type": "string" - }, - "experimentalDeskId": { - "description": "Experimental. Can change or disappear without warning or notice. The desk id. For example \"11E358K\".", - "type": "string" - }, - "experimentalFloorId": { - "description": "Experimental. Can change or disappear without warning or notice. The floor id. For example \"11\".", - "type": "string" - }, - "label": { - "description": "The display label of this office location. For example a building name.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaOutOfOffice": { - "description": "The status indicating the user is out of office.", - "id": "GoogleInternalAppsWaldoV1alphaOutOfOffice", - "properties": { - "comeBackTime": { - "description": "The closest time when the user will be available after this OOO block. This might be different from the end of the OOO block in Calendar, since the OOO block might end on Friday evening, and then the user is outside working hours.", - "format": "google-datetime", - "type": "string" - }, - "committedUntil": { - "description": "The time when the user will either stop being committed or change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice \u003c Xh). Note that the goal of this field is to provide information to help users decide how to communicate with a user (see also http://shortn/_wXYXtZScgh). Note that if this OOO block is large (\u003e=Xh), committed_until is not set.", - "format": "google-datetime", - "type": "string" - }, - "eventSummary": { - "description": "The summary of the corresponding OOO block in Calendar. This is entered by the user, so we return it \"as is\" - no i18n.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaOutsideWorkingHours": { - "description": "The status indicating the user doesn't work at this time.", - "id": "GoogleInternalAppsWaldoV1alphaOutsideWorkingHours", - "properties": { - "comeBackTime": { - "description": "The closest time when the user will be available after this block. This might be different from the start of the working hours in Calendar, because the given OutsideWorkingHours interval might be followed by OOO.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaTimeRange": { - "description": "A time range, which includes the start and excludes the end.", - "id": "GoogleInternalAppsWaldoV1alphaTimeRange", - "properties": { - "endTime": { - "description": "End point of the range, exclusive.", - "format": "google-datetime", - "type": "string" - }, - "startTime": { - "description": "Starting point of the range, inclusive.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContext": { - "id": "GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContext", - "properties": { - "nextCommitmentStatus": { - "$ref": "GoogleInternalAppsWaldoV1alphaUserStatus", - "description": "The status of the commitment above." - }, - "nextCommitmentTime": { - "description": "The most relevant upcoming commitment (InMeeting, DoNotDisturb, CalendarBusy or OutOfOffice). This context is set only if there is an upcoming commitment to show, and only on non commitments. Priority is given to the next closest commitment if its start is close enough to this event, otherwise the next large OOO if there is one.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaUpcomingOooContext": { - "description": "The context indicating the user's upcoming Out of Office event.", - "id": "GoogleInternalAppsWaldoV1alphaUpcomingOooContext", - "properties": { - "timeRange": { - "$ref": "GoogleInternalAppsWaldoV1alphaTimeRange", - "description": "The future period of absence. The start of this timerange is the start of the future Out of Office event. The end of this timerange represents the come back time of the user from that future OOO event. Note that the come back time might be different (greater) than the end of the corresponding future OOO event due to other non-working user status intervals that it may be followed by." - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaUserAvailabilities": { - "description": "The current and future availabilities of a user. The response contains a timeline, which starts before or at the request time, and the timeline is split into a set of disjoint intervals (without gaps), where the first range always contains the request time. Each range represents what should be displayed in the UI during this time range. The time range might be different from the actual time range of the underlying status. For example, if the user is OOO from 09:00 to 10:00, and a request is made at 8:00, the response might contain two intervals: [08:00, 09:00) - \"User is INACTIVE, but leaving the office soon\" [09:00, 10:00) - \"User is OOO till 10:00\" For intervals that don't have a clear availability signal coming from Calendar (e.g. OOO), we return INACTIVE. For more details, please see https://docs.google.com/presentation/d/1ADCTxGawjF9UqMnfuVrVNxGvdyjeiV8h4D7p0a9zYgw/edit#slide=id.g3e2824ac6c_12_94 The service returns availabilities for some short period of time - likely one day, but the client should stick to the \"next_poll_time\" to decide when to query the server again at the latest. Below there is an example response from the server. Let's assume the client calls the service at 17:59:45. The client receives the message and, assuming its current time is between [17:59:45, 18:00:00), it displays \"inactive\". When the current time becomes 18:00:00 it displays \"outside working hours\". At 18:00:40 the client issues another rpc which will return the availabilities for the next minute. The original response looks like availabilities { time_range { start_time: 17:59:45 end_time: 18:00:00 } status { inactive {} } } availabilities { time_range { start_time: 18:00:00 end_time: 18:00:45 } status { outside_working_hours { } } } next_poll_time: 18:00:40", - "id": "GoogleInternalAppsWaldoV1alphaUserAvailabilities", - "properties": { - "availabilities": { - "description": "A list of user availabilities having contiguous time ranges which are ordered chronologically. The first one starts at the time of the request or before, and is guaranteed to contain the request time. That means the first element always indicates the current status of a user. A client that wants to display a user's availability in real time should display the availability whose time range contains the current time.", - "items": { - "$ref": "GoogleInternalAppsWaldoV1alphaUserAvailability" - }, - "type": "array" - }, - "nextPollTime": { - "description": "The time at which the client should issue the next availability query for this user. This field should only be used to control the polling frequency. This time is always before the end of the time range of the last availability so that the client always knows the current availability.", - "format": "google-datetime", - "type": "string" - }, - "workingHours": { - "$ref": "GoogleInternalAppsWaldoV1alphaWorkingHours", - "description": "Information about the user's working hours. This will only be set in case working hours are enabled in their calendar settings." - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaUserAvailability": { - "description": "A single availability range. The displayed status should be the same during the entire time range.", - "id": "GoogleInternalAppsWaldoV1alphaUserAvailability", - "properties": { - "contexts": { - "$ref": "GoogleInternalAppsWaldoV1alphaUserContext", - "description": "The contexts contain additional information about the current user's availability or its upcoming changes. The client doesn't need to extract certain bits to visualize the status or apply custom logic based on the content of this field: the status field should contain everything needed for the correct visualization." - }, - "status": { - "$ref": "GoogleInternalAppsWaldoV1alphaUserStatus", - "description": "The user status during the time range." - }, - "timeRange": { - "$ref": "GoogleInternalAppsWaldoV1alphaTimeRange", - "description": "The time range when this availability should be displayed." - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaUserContext": { - "description": "Additional context about the user's current and/or future availability to give a better understanding of the status (\"Working from Zurich\").", - "id": "GoogleInternalAppsWaldoV1alphaUserContext", - "properties": { - "localTime": { - "$ref": "GoogleInternalAppsWaldoV1alphaLocalTimeContext", - "description": "Helps to determine the user's local time by providing their current time zone." - }, - "upcomingCommitmentContext": { - "$ref": "GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContext", - "description": "Information about upcoming events." - }, - "upcomingOoo": { - "$ref": "GoogleInternalAppsWaldoV1alphaUpcomingOooContext", - "description": "Set if user has upcoming OOO." - }, - "workingElsewhere": { - "$ref": "GoogleInternalAppsWaldoV1alphaWorkingElsewhereContext", - "description": "Set if the user has a working location. Not just elsewhere (legacy name)." - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaUserLocation": { - "description": "Location of the user, which might be \"home\", for example, or an office building, as well as a custom location specified by the user.", - "id": "GoogleInternalAppsWaldoV1alphaUserLocation", - "properties": { - "customLocation": { - "$ref": "GoogleInternalAppsWaldoV1alphaCustomLocation", - "description": "Indicates the user is working from some other location." - }, - "homeLocation": { - "$ref": "GoogleInternalAppsWaldoV1alphaHomeLocation", - "description": "Indicates the user is working from home." - }, - "officeLocation": { - "$ref": "GoogleInternalAppsWaldoV1alphaOfficeLocation", - "description": "Indicates the user is working from the office." - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaUserStatus": { - "description": "The actual status of the user. The message contains everything needed for visualisation of this status.", - "id": "GoogleInternalAppsWaldoV1alphaUserStatus", - "properties": { - "calendarBusy": { - "$ref": "GoogleInternalAppsWaldoV1alphaCalendarBusy", - "description": "Set if the user is temporarily busy and there is not a more specific status derived from calendar that applies (e.g., InMeeting or DoNotDisturb)." - }, - "doNotDisturb": { - "$ref": "GoogleInternalAppsWaldoV1alphaDoNotDisturb", - "description": "Set if the user is in a Focus Time block. Note that this is different than Chat's Do not disturb status, but they may coincide, see: go/focus-time-dnd." - }, - "inMeeting": { - "$ref": "GoogleInternalAppsWaldoV1alphaInMeeting", - "description": "Set if the user is in a meeting." - }, - "inactive": { - "$ref": "GoogleInternalAppsWaldoV1alphaInactive", - "description": "Set if no other statuses apply." - }, - "outOfOffice": { - "$ref": "GoogleInternalAppsWaldoV1alphaOutOfOffice", - "description": "Set if the user is out of office." - }, - "outsideWorkingHours": { - "$ref": "GoogleInternalAppsWaldoV1alphaOutsideWorkingHours", - "description": "Set if the user doesn't work at this time." - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaWorkingElsewhereContext": { - "description": "The context providing the User Location (not just Elsewhere). This is a legacy name from when it was only set for users working remotely, now it is also set when the user is working from the office.", - "id": "GoogleInternalAppsWaldoV1alphaWorkingElsewhereContext", - "properties": { - "location": { - "$ref": "GoogleInternalAppsWaldoV1alphaUserLocation", - "description": "The new location of the user. Might represent home, office, or a custom address on the map." - } - }, - "type": "object" - }, - "GoogleInternalAppsWaldoV1alphaWorkingHours": { - "description": "Information about the user's working hours.", - "id": "GoogleInternalAppsWaldoV1alphaWorkingHours", - "properties": { - "availableTime": { - "description": "A list of availability periods representing the user's working hours as configured in calendar.", - "items": { - "$ref": "GoogleInternalAppsWaldoV1alphaAvailabilityPeriod" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleInternalCommunicationsInstantmessagingV1Id": { - "description": "Id for message recipients, e.g. users, groups etc.", - "id": "GoogleInternalCommunicationsInstantmessagingV1Id", - "properties": { - "app": { - "description": "app is the tachyon client application that generated or is to receive a message.", - "type": "string" - }, - "countryCode": { - "deprecated": true, - "description": "country_code is the E164_COUNTRY_CODE format country code for this id, used as a hint for its region. E.g, \"+1\" will be used for North America, \"+86\" will be used for China, etc. Should be filled only for RCS group id.", - "type": "string" - }, - "id": { - "description": "id is a unique (for this type and app) identifier of a message source or recipient.", - "type": "string" - }, - "locationHint": { - "$ref": "GoogleInternalCommunicationsInstantmessagingV1LocationHint", - "description": "location_hint is used as a hint for the user's region." - }, - "routingInfoToken": { - "description": "Raw byte array containing encoded routing information. Clients of Tachyon are expected to include the most recent routing_info_cookie that they have received from the server in the requests that they make. Its format is purposely opaque so that clients do not need to concern themselves with the content of this field. This field is expected to be used primarily by Tachygram clients for go/tachygram-groups to simplify the API contract for group operations while reducing the need for unnecessary lookups.", - "format": "byte", - "type": "string" - }, - "type": { - "description": "type defines what the id field contains, e.g. phone number, Fi-number, Gaia ID etc.", - "enum": [ - "UNSET", - "PHONE_NUMBER", - "GROUP_ID", - "FIREBALL_BOT", - "CALL_CONTROLLER", - "SUGGESTER", - "FI_ID", - "SYSTEM", - "DUO_BOT", - "MATCHBOX_ID", - "RCS_BOT", - "WIREBALL", - "SERVICE_ACCOUNT", - "DEVICE_ID", - "FOREIGN_RCS_GROUP", - "DITTO", - "EMAIL", - "GAIA_ID", - "LIGHTER_ID", - "OPAQUE_ID", - "SERVER", - "SHORT_CODE", - "CLOUDCAST_PLAYER_ID", - "CHROMOTING_ID", - "UNNORMALIZABLE_PHONE_NUMBER", - "NOT_KNOWN", - "ANDROID_ID", - "NEARBY_ID", - "WAZE_ID", - "GUEST", - "MESSAGES_DATA_DONATION", - "DUO_CLIP_ID", - "ACCOUNT_ID", - "CARRIER_ID", - "EXTERNAL_PARTNER_ID", - "UNAUTHENTICATED_USER_ID", - "SUPPORT_CASES_ID", - "FITBIT_P11_ID", - "SHORT_PHONE_NUMBER", - "USER_HANDLE", - "PENPAL_CONVERSATION_ID" - ], - "enumDescriptions": [ - "", - "E.164 format.", - "", - "Handled by Extractor", - "Handled by Call Controller Message Receiver.", - "", - "IDs of this type will be verified using a Fi service.", - "Used for any system-generated, internal and external", - "messages. ex: Duo's invite reward. Bots for Duo", - "Used by Matchbox for 1P/3P App Preview Messaging.", - "RCS BOT for sending message to Platinum", - "Web Client for Fireball", - "Service account, currently only used for Duo API.", - "Device ID used by Matchstick anonymous registrations.", - "Rcs group hosted by another RCS cloud.", - "Android messages desktop: go/android-messages-desktop.", - "Email address.", - "Only used by servers.", - "Used by Lighter platform: go/lighter-backend-api.", - "Used when client want's to obfuscate the id of the", - "entity. Not usable by server for routing. Used for server delivery. go/tachyon_server_delivery", - "Phone short code.", - "Used by cloudcast (yeti). 64 bit integer.", - "go/yeti-player-ids Chrome Remote Desktop (go/chromoting).", - "Unnormalizable phone number", - "client does not know the id type.", - "android id", - "Used by Nearby devices. go/tachyon-express-nearby.", - "Used by Waze. go/waze-tachyon.", - "Used by Duo currently.", - "Used by Android Messages for data donation.", - "Used as the Id Type of Clips From Duo clips. See http://go/clips-from-duo", - "used by Takeout/LIS: see go/tachyon-legal-takeout.", - "used by RCS NNI Notification", - "used by RCS NNI Notification", - "used by GMM for anonymous registration", - "used by Support Cases for Realtime Media WebRtc", - "signaling. go/cases-media-channel-dd. used by Fitbit Project 11 for messaging.", - "Short phone number: go/shortnumbers", - "Used to reference internal and users in other domains,", - "including for DMA interop Used for 1:1 conversations in Gemini Mode" - ], - "type": "string" - } - }, - "type": "object" - }, - "GoogleInternalCommunicationsInstantmessagingV1LocationHint": { - "description": "LocationHint is used to specify a location as well as format.", - "id": "GoogleInternalCommunicationsInstantmessagingV1LocationHint", - "properties": { - "format": { - "description": "the format of location.", - "enum": [ - "UNKNOWN", - "E164_CALLING", - "ISO_3166_1_ALPHA_2" - ], - "enumDescriptions": [ - "", - "E164 country codes: https://en.wikipedia.org/wiki/List_of_country_calling_codes e.g. +1 for USA", - "ISO 3166-1 alpha-2 country codes: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2" - ], - "type": "string" - }, - "location": { - "description": "Location is the location, provided in the format specified by format.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleLongrunningOperation": { - "description": "This resource represents a long-running operation that is the result of a network API call.", - "id": "GoogleLongrunningOperation", - "properties": { - "done": { - "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", - "type": "boolean" - }, - "error": { - "$ref": "GoogleRpcStatus", - "description": "The error result of the operation in case of failure or cancellation." - }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", - "type": "object" - }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", - "type": "string" - }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", - "type": "object" - } - }, - "type": "object" - }, - "GoogleProtobufEmpty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", - "id": "GoogleProtobufEmpty", - "properties": {}, - "type": "object" - }, - "GoogleRpcStatus": { - "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", - "id": "GoogleRpcStatus", - "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" - }, - "details": { - "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleTypeColor": { - "description": "Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:\u0026red green:\u0026green blue:\u0026blue alpha:\u0026alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha \u003c= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red \u003c\u003c 16) | (green \u003c\u003c 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i \u003c missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", - "id": "GoogleTypeColor", - "properties": { - "alpha": { - "description": "The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).", - "format": "float", - "type": "number" - }, - "blue": { - "description": "The amount of blue in the color as a value in the interval [0, 1].", - "format": "float", - "type": "number" - }, - "green": { - "description": "The amount of green in the color as a value in the interval [0, 1].", - "format": "float", - "type": "number" - }, - "red": { - "description": "The amount of red in the color as a value in the interval [0, 1].", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GoogleTypeDate": { - "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", - "id": "GoogleTypeDate", - "properties": { - "day": { - "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", - "format": "int32", - "type": "integer" - }, - "month": { - "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", - "format": "int32", - "type": "integer" - }, - "year": { - "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleTypeDateTime": { - "description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", - "id": "GoogleTypeDateTime", - "properties": { - "day": { - "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", - "format": "int32", - "type": "integer" - }, - "hours": { - "description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", - "format": "int32", - "type": "integer" - }, - "minutes": { - "description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", - "format": "int32", - "type": "integer" - }, - "month": { - "description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", - "format": "int32", - "type": "integer" - }, - "nanos": { - "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", - "format": "int32", - "type": "integer" - }, - "seconds": { - "description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", - "format": "int32", - "type": "integer" - }, - "timeZone": { - "$ref": "GoogleTypeTimeZone", - "description": "Time zone." - }, - "utcOffset": { - "description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.", - "format": "google-duration", - "type": "string" - }, - "year": { - "description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleTypeExpr": { - "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", - "id": "GoogleTypeExpr", - "properties": { - "description": { - "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" - }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", - "type": "string" - }, - "title": { - "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleTypeInterval": { - "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", - "id": "GoogleTypeInterval", - "properties": { - "endTime": { - "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", - "format": "google-datetime", - "type": "string" - }, - "startTime": { - "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleTypeLatLng": { - "description": "An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.", - "id": "GoogleTypeLatLng", - "properties": { - "latitude": { - "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", - "format": "double", - "type": "number" - }, - "longitude": { - "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "GoogleTypeMoney": { - "description": "Represents an amount of money with its currency type.", - "id": "GoogleTypeMoney", - "properties": { - "currencyCode": { - "description": "The three-letter currency code defined in ISO 4217.", - "type": "string" - }, - "nanos": { - "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", - "format": "int32", - "type": "integer" - }, - "units": { - "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "GoogleTypePostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", - "id": "GoogleTypePostalAddress", - "properties": { - "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", - "items": { - "type": "string" - }, - "type": "array" - }, - "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", - "type": "string" - }, - "languageCode": { - "description": "Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: \"zh-Hant\", \"ja\", \"ja-Latn\", \"en\".", - "type": "string" - }, - "locality": { - "description": "Optional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use address_lines.", - "type": "string" - }, - "organization": { - "description": "Optional. The name of the organization at the address.", - "type": "string" - }, - "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", - "type": "string" - }, - "recipients": { - "description": "Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain \"care of\" information.", - "items": { - "type": "string" - }, - "type": "array" - }, - "regionCode": { - "description": "Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", - "type": "string" - }, - "revision": { - "description": "The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.", - "format": "int32", - "type": "integer" - }, - "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", - "type": "string" - }, - "sublocality": { - "description": "Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleTypeTimeOfDay": { - "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", - "id": "GoogleTypeTimeOfDay", - "properties": { - "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", - "format": "int32", - "type": "integer" - }, - "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", - "format": "int32", - "type": "integer" - }, - "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", - "format": "int32", - "type": "integer" - }, - "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleTypeTimeZone": { - "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", - "id": "GoogleTypeTimeZone", - "properties": { - "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", - "type": "string" - }, - "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", - "type": "string" - } - }, - "type": "object" - }, - "GroupsPerDocData": { - "id": "GroupsPerDocData", - "properties": { - "AuthorId": { - "format": "uint64", - "type": "string" - }, - "GroupGaiaId": { - "format": "uint64", - "type": "string" - }, - "GroupId": { - "description": "Legacy group mysql id.", - "format": "uint64", - "type": "string" - }, - "ThreadId": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "HomeGraphCommonRoute": { - "id": "HomeGraphCommonRoute", - "properties": { - "agentDeviceId": { - "description": "The device ID defined by the agent.", - "type": "string" - }, - "agentId": { - "description": "The agent's ID. Generally it is the agent's Google cloud project id.", - "type": "string" - }, - "chipEndpoint": { - "description": "chip endpoint index (if the target is CHIP). Set packed = true to handle error caused by b/32953375 when exporting this data. Note that we should never change this to non-repeated: a packed field will not work properly if you change the field to non-repeated later.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "targetType": { - "description": "Execution routing target.", - "enum": [ - "UNSPECIFIED", - "PARTNER_CLOUD", - "LOCAL", - "CHIP" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "HomeGraphCommonRoutingTable": { - "description": "Defines execution routing information for Traits, which will be used to be mapped for each Trait as following: map traits_to_routing_table_map = X; We'll use this for CHIP first. And expect to migrate the existing routing logic to this gradually.", - "id": "HomeGraphCommonRoutingTable", - "properties": { - "supportedRoutes": { - "description": "List of supported execution route.", - "items": { - "$ref": "HomeGraphCommonRoute" - }, - "type": "array" - } - }, - "type": "object" - }, - "HomeGraphCommonTraitRoutingHints": { - "description": "LINT.IfChange go/shed-per-trait-routing. Making it object to allow for extendible design, where we can add attributes in future.", - "id": "HomeGraphCommonTraitRoutingHints", - "properties": { - "cloudFulfillmentOnly": { - "description": "Set to true for a non-local trait.", - "type": "boolean" - }, - "trait": { - "description": "Trait name, e.g., \"action.devices.traits.MediaInitiation\". See [device traits](https://developers.home.google.com/cloud-to-cloud/traits). See java/com/google/home/graph/common/devices/config/protoconf.pi for the exhaustive list of trait-strings.", - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoAnonTimingStatPair": { - "description": "TimingStatPair message stores a timing period name and a time value. This is intentionally vague for doing fine level timing of rendering as what we measure is likely to change as we iterate. The intention is also that these values will just be dumped to varzs for evaluation purposed and not used programmatically.", - "id": "HtmlrenderWebkitHeadlessProtoAnonTimingStatPair", - "properties": { - "name": { - "type": "string" - }, - "timeS": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoBox": { - "description": "A simple 2D box represented by an (x, y) coordinate, a width, and a height. Coordinates are in pixels.", - "id": "HtmlrenderWebkitHeadlessProtoBox", - "properties": { - "height": { - "format": "int32", - "type": "integer" - }, - "width": { - "format": "int32", - "type": "integer" - }, - "x": { - "description": "on horizontal axis", - "format": "int32", - "type": "integer" - }, - "y": { - "description": "on vertical axis", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoChromiumTrace": { - "description": "A message to describe the trace events returned by Chromium.", - "id": "HtmlrenderWebkitHeadlessProtoChromiumTrace", - "properties": { - "chromiumTrace": { - "description": "Populated if Chromium traces are requested in JSON format.", - "type": "string" - }, - "chromiumTraceProto": { - "description": "Populated if Chromium traces are requested in PROTO format.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoConsoleLogEntry": { - "description": "ConsoleLogEntry message stores messages logged by the renderer to the console. Typically error messages related to JS execution, parsing, any CSS errors, etc are logged by the renderer to the console. Next id: 7.", - "id": "HtmlrenderWebkitHeadlessProtoConsoleLogEntry", - "properties": { - "lineNumber": { - "description": "Line number of the document which caused an error.", - "format": "int32", - "type": "integer" - }, - "message": { - "description": "Message which indicates the nature of the error. e.g. parse error, reference error (happens when javascript functions or variables are not resolvable) etc.", - "type": "string" - }, - "messageLevel": { - "description": "message level", - "enum": [ - "TIP_MESSAGE_LEVEL", - "DEBUG_MESSAGE_LEVEL", - "LOG_MESSAGE_LEVEL", - "INFO_MESSAGE_LEVEL", - "WARNING_MESSAGE_LEVEL", - "ERROR_MESSAGE_LEVEL" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "sourceUrl": { - "description": "The url of the document which has the error.", - "type": "string" - }, - "stackTrace": { - "description": "Stack trace which functions were called when generating the console log. The first frame is the innermost one.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoScriptStackFrame" - }, - "type": "array" - }, - "timestamp": { - "description": "Wall time (s) when the log entry was recorded", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoCookie": { - "id": "HtmlrenderWebkitHeadlessProtoCookie", - "properties": { - "domain": { - "type": "string" - }, - "expiration": { - "format": "double", - "type": "number" - }, - "httpOnly": { - "type": "boolean" - }, - "name": { - "format": "byte", - "type": "string" - }, - "path": { - "type": "string" - }, - "sameSite": { - "enum": [ - "SAME_SITE_UNSPECIFIED", - "SAME_SITE_LAX", - "SAME_SITE_STRICT", - "SAME_SITE_NONE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "secure": { - "type": "boolean" - }, - "value": { - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoDOMStorageItem": { - "id": "HtmlrenderWebkitHeadlessProtoDOMStorageItem", - "properties": { - "key": { - "type": "string" - }, - "securityOrigin": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoDOMTreeNode": { - "description": "DOMTreeNode Defines a DOM Node. An instance can contain references to one or more children (of type DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates rendering information (if applicable) in the form of references to one or more RenderTreeNodes. Next tag available: 16", - "id": "HtmlrenderWebkitHeadlessProtoDOMTreeNode", - "properties": { - "attribute": { - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoDOMTreeNodeAttribute" - }, - "type": "array" - }, - "childDomTreeNodeIndex": { - "description": "An index per child. Indexes can be used to fetch the DOMTreeNodes from the list maintained by the Document.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "currentSourceUrl": { - "description": "For elements, the actual url that was used to fetch the image. Note that this field is set only if it is different from the 'src' attribute value.", - "type": "string" - }, - "document": { - "$ref": "HtmlrenderWebkitHeadlessProtoDocument", - "description": "If the node represents an iframe or a frame then document will be set." - }, - "htmlTagType": { - "description": "Identifies the HTML tag type (IMG, P, DIV, etc). Applicable only for DOM nodes that are representative of html elements. For a list of possible types refer HtmlTagEnum defined in webutil/html/htmltagenum.h.", - "format": "int32", - "type": "integer" - }, - "isClickable": { - "description": "Whether this DOM node responds to mouse clicks. This includes e.g. nodes that have had click event listeners attached via JavaScript as well as e.g. anchor tags that naturally navigate when clicked.", - "type": "boolean" - }, - "name": { - "description": "Name of the node (document, text, comment, div, etc).", - "type": "string" - }, - "originUrl": { - "description": "URL of the script, if any, which created or populated this node.", - "type": "string" - }, - "referencedResourceIndex": { - "description": "List of referenced resource indexes for any resources that this DOM tree node references.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "renderTreeNodeIndex": { - "description": "RenderTreeNode can be looked up from the list of RenderTreeNodes stored in the Document using render_tree_node_index. RenderTreeNode gives rendering information (bounding box, style that was applied, etc). Note: 1. If a DOMTreeNode does not have a RenderTreeNode then it is safe to assume that the DOMTreeNode has no effect on the rendering. DOMTreeNodes for a , ", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "type": { - "enum": [ - "ELEMENT_NODE", - "ATTRIBUTE_NODE", - "TEXT_NODE", - "CDATA_SECTION_NODE", - "ENTITY_REFERENCE_NODE", - "ENTITY_NODE", - "PROCESSING_INSTRUCTION_NODE", - "COMMENT_NODE", - "DOCUMENT_NODE", - "DOCUMENT_TYPE_NODE", - "DOCUMENT_FRAGMENT_NODE", - "NOTATION_NODE", - "XPATH_NAMESPACE_NODE", - "SHADOW_ROOT_NODE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "value": { - "description": "The node value is applicable for TEXT_NODEs, DOCUMENT_TYPE_NODEs, COMMENT_NODEs, and user input elements such as , and \u003coption\u003e. For DOCUMENT_TYPE_NODEs, the value contains the publicId and SystemId. For input elements, the value reflects the current value in the element at the time the snapshot was taken.", - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoDOMTreeNodeAttribute": { - "description": "Zero or more attributes for the node.", - "id": "HtmlrenderWebkitHeadlessProtoDOMTreeNodeAttribute", - "properties": { - "htmlAttributeType": { - "description": "Identifies the HTML attribute type (src, width, height, etc). For a list of possible types refer HtmlAttributeEnum defined in webutil/html/htmlattrenum.h.", - "format": "int32", - "type": "integer" - }, - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoDocument": { - "description": "Next available tag: 24", - "id": "HtmlrenderWebkitHeadlessProtoDocument", - "properties": { - "baseUri": { - "description": "Document's base uri.", - "type": "string" - }, - "charset": { - "description": "Document's charset.", - "type": "string" - }, - "contentHeight": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "contentLanguage": { - "description": "Document's language.", - "type": "string" - }, - "contentWidth": { - "deprecated": true, - "description": "These fields contain the actual width and height of the document content, which may exceed the size of the rendering viewport. *DEPRECATED* Use rendered_content_area instead. These two fields always assume the content area begins at viewport coordinates (0,0).", - "format": "int32", - "type": "integer" - }, - "domTreeNode": { - "description": "A flat list of all the DOMTreeNodes in the DOM. A flat list is preferred to a tree to avoid recursion and potential stack overflows. Note that the first node in this list will always be the root node.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoDOMTreeNode" - }, - "type": "array" - }, - "frameId": { - "deprecated": true, - "description": "A unique identifier for the frame (browser window of iframe) this document is loaded in. This identifier matches the identifiers used in the timeline data to identify frames and therefore only set if the record_timeline field of the RenderRequest message was set to true. frame_id is not supported on Chromium.", - "type": "string" - }, - "frameName": { - "description": "The name of the frame (browser window of iframe) this document is loaded in. May not be set if the frame name was empty.", - "type": "string" - }, - "javascriptTimeOfDay": { - "description": "-------------------------------------------------------------------------- Input context. These fields are copied from RenderRequest so that Document can be a self contained protobuf. We would've liked to place them in a ## nested InputContext message but it's too late now. ## Time specified to RenderRequest.JavaScriptOptions.time_of_day, if any. ## End of input context. Output-only fields below.", - "format": "double", - "type": "number" - }, - "redirectHop": { - "deprecated": true, - "description": "The chain of redirects (and redirect methods) used to get to the final resource for this Document. Deprecated: Use the redirect events in the render_event field instead.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoRedirectHop" - }, - "type": "array" - }, - "referencedResource": { - "description": "Contains a list of Resources which the renderer requested -- both those that were found and those that were not. Resources are returned in the order that they were requested.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoReferencedResource" - }, - "type": "array" - }, - "renderEvent": { - "description": "Different types of events which happened during rendering. All events for this document's frame are included, so for example if a confirmation dialog is created before a client redirect to this document the ConfirmationDialogEvent will still be included even though the dialog was created by a different document. See render_event.proto for the types of events which are recorded. Note that this is present regardless of whether record_timeline was set in the RenderRequest.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoRenderEvent" - }, - "type": "array" - }, - "renderStyle": { - "description": "See htmlrender_webkit_headless_utils::SerializeRenderStyle() if a serialized css string is wanted.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoStyle" - }, - "type": "array" - }, - "renderTreeNode": { - "description": "A flat list of all the RenderTreeNodes from the render tree. A flat list is preferred to a tree to avoid recursion and potential stack overflows. Note that the first node in this list will always be the RenderTreeNode for the #document node (aka root).", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoRenderTreeNode" - }, - "type": "array" - }, - "renderTreeQualityScore": { - "deprecated": true, - "description": "DEPRECATED - This field to be removed mid-2011. If you need this, use the library directly: //google3/htmlrender/webkit_headless/snapshot_quality Indicates how good or bad the rendering is from the perspective of the render tree. This is different from snapshot_quality_score in that the quality analysis examines everything that can be rendered, not just the portion within the document's viewport. It also ignores missing resouces with fixed width/height specified in the tag. A score of 1 (100%) implies the entire document can be rendered at the best quality and a score of 0 implies the entire document is unusable.", - "format": "double", - "type": "number" - }, - "renderedContentArea": { - "$ref": "HtmlrenderWebkitHeadlessProtoBox", - "description": "The bounding box which represents the whole area of rendered content, which may exceed the size of the rendering viewport. It doesn't include the body's margin." - }, - "scrollX": { - "description": "Scroll offset of this document within the frame. Note that if expand_frame_to_content_height or expand_frame_to_content_width is true, this field reflects the final scroll offset after frame expansion.", - "format": "int32", - "type": "integer" - }, - "scrollY": { - "format": "int32", - "type": "integer" - }, - "snapshotQualityScore": { - "deprecated": true, - "description": "DEPRECATED - This field to be removed mid-2011. If you need this, use the library directly: //google3/htmlrender/webkit_headless/snapshot_quality Indicates how good or bad the rendered snapshot is within the rendered content area within the document's viewport. A score of 1 (100%) implies the snapshot is of best quality and a score of 0 implies the snapshot is unusable.", - "format": "double", - "type": "number" - }, - "title": { - "description": "Document's title.", - "type": "string" - }, - "uri": { - "description": "Document uri is the URL that this document was fetched from. The displayed URL and base URL may be different. If this document was not fetched from any URL (e.g. iframe with no src, populated by script) uri will be \"about:blank\".", - "type": "string" - }, - "viewport": { - "$ref": "HtmlrenderWebkitHeadlessProtoBox", - "description": "The page's layout size." - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoFrameResizeEvent": { - "description": "Event for frame resize. Currently we only record resize events caused by automatic frame expansion.", - "id": "HtmlrenderWebkitHeadlessProtoFrameResizeEvent", - "properties": { - "resizeType": { - "enum": [ - "UNKNOWN", - "AUTOMATIC_FRAME_EXPANSION_TO_CONTENT_WIDTH", - "AUTOMATIC_FRAME_EXPANSION_TO_CONTENT_HEIGHT" - ], - "enumDescriptions": [ - "", - "This event is caused by expand_frame_to_content_width.", - "This event is caused by expand_frame_to_content_height." - ], - "type": "string" - }, - "visibleRectAfterResize": { - "$ref": "HtmlrenderWebkitHeadlessProtoBox" - }, - "visibleRectBeforeResize": { - "$ref": "HtmlrenderWebkitHeadlessProtoBox" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoImage": { - "id": "HtmlrenderWebkitHeadlessProtoImage", - "properties": { - "data": { - "description": "The binary image data, stored in a format decided by the application and a particular RenderService implementation.", - "format": "byte", - "type": "string" - }, - "height": { - "format": "int32", - "type": "integer" - }, - "pageNumber": { - "description": "The page number if this is an image of a page from a print-mode rendering.", - "format": "int32", - "type": "integer" - }, - "viewport": { - "$ref": "HtmlrenderWebkitHeadlessProtoBox", - "description": "The viewport from which this image was generated. This is relative to the upper left of the page's document." - }, - "width": { - "description": "The width and height of the image stored in the data field.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoInitialLoadEvent": { - "description": "Event for the initial load of a frame, including main frame and subframes.", - "id": "HtmlrenderWebkitHeadlessProtoInitialLoadEvent", - "properties": { - "url": { - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoModalDialogEvent": { - "description": "Event for a modal dialog created by one of window.confirm(), window.prompt(), or window.alert().", - "id": "HtmlrenderWebkitHeadlessProtoModalDialogEvent", - "properties": { - "confirmed": { - "description": "Whether a confirm() or prompt() dialog was confirmed. Will not be present for an alert() dialog.", - "type": "boolean" - }, - "message": { - "type": "string" - }, - "result": { - "description": "For a prompt() dialog, the result of the prompt. Will not be present for other types of dialogs. If confirmed == false and the prompt had a default value, result will contain the default value.", - "type": "string" - }, - "type": { - "enum": [ - "CONFIRM", - "PROMPT", - "ALERT" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoOffset": { - "id": "HtmlrenderWebkitHeadlessProtoOffset", - "properties": { - "unit": { - "enum": [ - "PIXELS", - "PERCENT" - ], - "enumDescriptions": [ - "", - "There are other possible Units, add them if needed." - ], - "type": "string" - }, - "value": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoPartialRender": { - "description": "PartialRenders can be created using the extension API to store the document state and/or create an image at points before the final render.", - "id": "HtmlrenderWebkitHeadlessProtoPartialRender", - "properties": { - "cookie": { - "description": "Cookies at the time of snapshot creation.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoCookie" - }, - "type": "array" - }, - "currentClientUrl": { - "description": "Current url as would appear in the web browser's address bar at the time of snapshot creation.", - "type": "string" - }, - "document": { - "$ref": "HtmlrenderWebkitHeadlessProtoDocument", - "description": "Snapshot of the document DOM + Render trees, if requested" - }, - "id": { - "description": "ID set by the render extension", - "type": "string" - }, - "image": { - "$ref": "HtmlrenderWebkitHeadlessProtoImage", - "description": "Image of the render, if requested" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoPdf": { - "id": "HtmlrenderWebkitHeadlessProtoPdf", - "properties": { - "data": { - "description": "The binary PDF data.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoRectangle": { - "id": "HtmlrenderWebkitHeadlessProtoRectangle", - "properties": { - "bottom": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset" - }, - "left": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset" - }, - "right": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset" - }, - "top": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset", - "description": "A missing value for any field in this message means 'auto'." - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoRedirectEvent": { - "description": "A redirect event represents a change in the resource URL for a document. This includes HTTP redirects, as well things which trigger client navigations such as script changing window.location, tags, HTTP Refresh headers, etc.", - "id": "HtmlrenderWebkitHeadlessProtoRedirectEvent", - "properties": { - "httpMethod": { - "description": "The HTTP method of the request for the redirect target.", - "enum": [ - "OTHER_HTTP_METHOD", - "GET", - "POST" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "httpStatusCode": { - "description": "For HTTP redirects, the HTTP status code returned in the initial HTTP response.", - "format": "int32", - "type": "integer" - }, - "refreshType": { - "enum": [ - "HTTP_REFRESH", - "META_HTTP_EQUIV_REFRESH" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "targetContentDownloaded": { - "description": "True if the redirect led to a download instead of loading a new page. Note that such redirects can appear anywhere in the list of redirect events.", - "type": "boolean" - }, - "targetUrl": { - "type": "string" - }, - "type": { - "enum": [ - "UNKNOWN_REDIRECT_TYPE", - "HTTP", - "SCRIPT", - "REFRESH" - ], - "enumDescriptions": [ - "If you see this in a RenderEvent produced by the render server it is a bug.", - "Redirection by HTTP status code only. Refresh headers are classified as REFRESH. In this case http_method and http_stauts_code will be set.", - "Actions taken by script that redirect the page. Examples include setting window.location, setting src on a frame, calling window.open(), etc.", - "Redirect by an HTTP Refresh header or tag with http-equiv=\"refresh\". For this case refresh_type will be set indicating the type of refresh." - ], - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoRedirectHop": { - "id": "HtmlrenderWebkitHeadlessProtoRedirectHop", - "properties": { - "type": { - "enum": [ - "SERVER", - "CLIENT" - ], - "enumDescriptions": [ - "e.g. HTTP 301/302", - "e.g. meta refresh, JavaScript" - ], - "type": "string" - }, - "url": { - "description": "The redirect target url.", - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoReferencedResource": { - "description": "ReferencedResource contains an entry per url referenced by the browser while rendering a document. Next tag available: 20", - "id": "HtmlrenderWebkitHeadlessProtoReferencedResource", - "properties": { - "canceled": { - "description": "True if this fetch was canceled due to render server policy. e.g. the page exceeded the fetch budget or an extension canceled the fetch.", - "type": "boolean" - }, - "contentType": { - "description": "Content type of this resource (webutil/http/content-type.h). The content type is from guess based on the file extension, any mime type in http headers at the beginning of the content, any content-disposition http header, and the content body itself. Note: the content type defined in webutil/http/content-type.proto is incomplete. If you are interested in missing types, please update the enum and the logic of content type detection.", - "format": "int32", - "type": "integer" - }, - "domTreeNodeIndex": { - "description": "DOMTreeNode index which has the url as one of its attributes specified using either src, href or background attributes. src attribute applies to img, script, frame and iframe nodes, href applies to link nodes and background applies to body node. It is possible for a url to be referenced by multiple DOM nodes. For e.g. an tag with the same src attribute can occur in multiple places within a document. It is possible for a url to not have any DOM node reference. For example, redirects don't have DOM tree nodes.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "failedHttpAccessControlCheck": { - "deprecated": true, - "description": "True when a HTTP request succeeded but the resource was not made accessible to script due to a HTTP Access Control (CORS) failure. This field is not implemented on Chromium.", - "type": "boolean" - }, - "fetchSourceInfo": { - "description": "Where this resource comes from.", - "items": { - "$ref": "WirelessTranscoderFetchFetchSourceInfo" - }, - "type": "array" - }, - "fetchStatus": { - "description": "The FetchStatus returned by the fetcher. Values are taken from wireless_transcoder_fetch.FetchConstants.FetchStatus in fetch_service.proto. The default value is SUCCESS(0).", - "enum": [ - "SUCCESS", - "TIMEOUT", - "CONNECTION_ERROR", - "IO_ERROR", - "RPC_ERROR", - "INTERRUPTED", - "UNSUPPORTED_PROTOCOL", - "MALFORMED_URL", - "TOO_MANY_REDIRECTS", - "MALFORMED_RESPONSE", - "NOT_PERMITTED", - "CERTIFICATE_ERROR", - "INVALID_REQUEST", - "BUSY", - "INVALID_CUSTOM_PARAMS", - "NOT_HANDLED" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Use by a FetchService implementation to indicate that it is full and that the client should try another task.", - "Indicates invalid trawler params were sent by the client.", - "Indicates that the fetcher doesn't handle this request." - ], - "type": "string" - }, - "httpHeader": { - "description": "HTTP headers from the fetcher.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoReferencedResourceHttpHeader" - }, - "type": "array" - }, - "httpResponseCode": { - "description": "HTTP response code if we had tried to fetch the url. Absence of this field indicates either we have not tried to fetch the url or the fetcher never got back to us with any response.", - "format": "int32", - "type": "integer" - }, - "metadata": { - "items": { - "$ref": "WirelessTranscoderFetchFetchMetadata" - }, - "type": "array" - }, - "postData": { - "description": "The post_data field is only valid when the HTTP request method is POST.", - "format": "byte", - "type": "string" - }, - "redirectTarget": { - "description": "If the http_response_code is a HTTP redirect, the redirect target will be stored here.", - "type": "string" - }, - "referencedResourceContentIndex": { - "description": "Indicates which referenced_resource_content (in RenderResponse) this RefencedResource points to. This field will be set only when there is referenced_resource_content for this RefencedResource in RenderResponse.", - "format": "int32", - "type": "integer" - }, - "requestHeader": { - "description": "Only necessary headers are recorded. See google3/htmlrender/webkit_headless/resource_key.cc", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoReferencedResourceHttpHeader" - }, - "type": "array" - }, - "requestMethod": { - "description": "The HTTP request method (GET, HEAD, POST, etc) used for this request. Values are taken from the HTTPHeaders::Protocol enum in webutil/http/httputils.h. HTTPHeaders::PROTO_GET", - "format": "int32", - "type": "integer" - }, - "styleIndex": { - "description": "style index which has the url specified using either the background-image property or the list-style-image property.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "synchronouslyFetched": { - "deprecated": true, - "description": "Whether it is synchronously fetched.", - "type": "boolean" - }, - "timing": { - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoReferencedResourceFetchTiming" - }, - "type": "array" - }, - "url": { - "description": "Does not have a #fragment.", - "type": "string" - }, - "webkitMetadata": { - "$ref": "HtmlrenderWebkitHeadlessProtoWebKitFetchMetadata", - "description": "Additional information webkit about this resource. e.g. intended usage" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoReferencedResourceFetchTiming": { - "description": "Timing data produced by the fetcher.", - "id": "HtmlrenderWebkitHeadlessProtoReferencedResourceFetchTiming", - "properties": { - "finishMsec": { - "format": "int64", - "type": "string" - }, - "name": { - "description": "A string identifying the fetcher that added this timing information.", - "type": "string" - }, - "startMsec": { - "description": "UNIX epoch timestamps in milliseconds.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoReferencedResourceHttpHeader": { - "description": "HTTP Headers included with the resource request.", - "id": "HtmlrenderWebkitHeadlessProtoReferencedResourceHttpHeader", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoRenderEvent": { - "id": "HtmlrenderWebkitHeadlessProtoRenderEvent", - "properties": { - "frameResize": { - "$ref": "HtmlrenderWebkitHeadlessProtoFrameResizeEvent" - }, - "initialLoad": { - "$ref": "HtmlrenderWebkitHeadlessProtoInitialLoadEvent" - }, - "modalDialog": { - "$ref": "HtmlrenderWebkitHeadlessProtoModalDialogEvent" - }, - "redirect": { - "$ref": "HtmlrenderWebkitHeadlessProtoRedirectEvent" - }, - "scriptOriginUrl": { - "description": "The URL of the script which caused this event, if any. Analogous to origin_url in DOMTreeNode.", - "type": "string" - }, - "virtualTimeOffset": { - "description": "Virtual time of the event, as an offset from the beginning of the render in seconds.", - "format": "double", - "type": "number" - }, - "windowOpen": { - "$ref": "HtmlrenderWebkitHeadlessProtoWindowOpenEvent" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoRenderExtensionResult": { - "description": "Results returned by a render server extension. Next id: 3", - "id": "HtmlrenderWebkitHeadlessProtoRenderExtensionResult", - "properties": { - "consoleLogEntry": { - "description": "Log messages and errors generated by extension script.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoConsoleLogEntry" - }, - "type": "array" - }, - "result": { - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoRenderResponse": { - "description": "See go/wrs-render-quality for how to evaluate the results. Next id: 24", - "id": "HtmlrenderWebkitHeadlessProtoRenderResponse", - "properties": { - "chromiumTrace": { - "$ref": "HtmlrenderWebkitHeadlessProtoChromiumTrace", - "description": "Contains chromium trace generated during page rendering. This is present if a chromium_trace_config was provided in the request." - }, - "cookie": { - "description": "Contents of the browser's cookie jar. (if cookies_enabled was set to true in the RenderRequest).", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoCookie" - }, - "type": "array" - }, - "document": { - "$ref": "HtmlrenderWebkitHeadlessProtoDocument", - "description": "Contains the DOM tree, render tree and more. For details consult document.proto." - }, - "exceptionDetail": { - "description": "Provides extra debugging details when certain exception bits are set.", - "type": "string" - }, - "exceptions": { - "description": "Exceptions (possibly serious conditions) that occurred during this rendering. 0 means none. Bitfield encoding. See the RenderingException enum above for an explanation.", - "format": "int64", - "type": "string" - }, - "extensionResult": { - "$ref": "HtmlrenderWebkitHeadlessProtoRenderExtensionResult", - "description": "Render extension results (if `devtools_script` was provided with the request.)" - }, - "finalClientUrl": { - "description": "This field contains the final url as would appear in the web browser's address bar. Note that JavaScript can modify the contents of the location bar so this URL may not appear on the list of referenced resources. If we fail to follow a redirect this field will contain the URL that we failed to redirect to, not the last one we successfully loaded.", - "type": "string" - }, - "image": { - "description": "Contains the viewport images rendered by webkit (if generate_image was set to true in the RenderRequest). Will also contain the print-mode images (if generate_print_mode_images was set to true).", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoImage" - }, - "type": "array" - }, - "localStorage": { - "description": "Contents of the browser's local storage.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoDOMStorageItem" - }, - "type": "array" - }, - "partialRender": { - "description": "Partial render snapshots (if requested by a render extension)", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoPartialRender" - }, - "type": "array" - }, - "pdf": { - "$ref": "HtmlrenderWebkitHeadlessProtoPdf", - "description": "Contains the PDF document (if generate_pdf was set to true in the RenderRequest)" - }, - "referencedResourceContent": { - "description": "Contents for all the urls fetched by the render server. This field is present only if generate_referenced_resource_content was set to true in the RenderRequest.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoResource" - }, - "type": "array" - }, - "renderStats": { - "$ref": "HtmlrenderWebkitHeadlessProtoRenderStats", - "description": "Time to render the url, total size of a document, number of referenced images, etc will be part of RenderStats." - }, - "sessionStorage": { - "description": "Contents of the browser's session storage.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoDOMStorageItem" - }, - "type": "array" - }, - "title": { - "description": "Contains the page title produced by webkit, in the UTF-8 encoding.", - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoRenderStats": { - "description": "Next id: 20.", - "id": "HtmlrenderWebkitHeadlessProtoRenderStats", - "properties": { - "anonRenderFineTimingStats": { - "description": "Deliberately non-named fine timing stats. These are all related to each other and unrelated to other timing stats in this message.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoAnonTimingStatPair" - }, - "type": "array" - }, - "consoleLogEntry": { - "description": "Any messages logged by the renderer to the console. Note that we capture a subset of the messages logged by the renderer here to avoid explosion.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoConsoleLogEntry" - }, - "type": "array" - }, - "counter": { - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoRenderStatsCounter" - }, - "type": "array" - }, - "documentBuildTimeMsec": { - "description": "Time to build document and render tree response data.", - "format": "int32", - "type": "integer" - }, - "droppedLogEntryCount": { - "description": "Number of dropped log messages. Since we capture only a subset of the messages in console_log_entry this field is included just so that the consumers can get an idea of how many actual attempts were made by the renderer.", - "format": "int32", - "type": "integer" - }, - "fetchDeadlineMsec": { - "description": "Time allowed to use for fetching in milliseconds: fetch_deadline - render_start_time. go/render-timeline#render-timeline", - "format": "int32", - "type": "integer" - }, - "imageEncodingTimeMsec": { - "description": "Image encoding (e.g. raw -\u003e PNG) time.", - "format": "int32", - "type": "integer" - }, - "imageScalingTimeMsec": { - "description": "Image scaling time.", - "format": "int32", - "type": "integer" - }, - "javascriptDeadlineMsec": { - "description": "Time allowed to use for javascript in milliseconds: javascript_deadline - render_start_time. go/render-timeline#render-timeline", - "format": "int32", - "type": "integer" - }, - "layoutTimeMsec": { - "description": "Time from starting render to document finished loading. This includes all fetches, parsing, decoding, running JavaScript, etc.", - "format": "int32", - "type": "integer" - }, - "paintTimeMsec": { - "description": "Time required to paint a document into our buffer.", - "format": "int32", - "type": "integer" - }, - "renderCostMgcu": { - "description": "Total cost this render spent running and RPC cost in milliGCUs.", - "format": "int32", - "type": "integer" - }, - "renderDeadlineMsec": { - "description": "Time allowed to use for rendering in milliseconds: render_deadline - render_start_time. go/render-timeline#render-timeline", - "format": "int32", - "type": "integer" - }, - "renderEngine": { - "description": "Render engine used to render this document.", - "enum": [ - "UNKNOWN", - "BLINK_HEADLESS", - "CHROME_HEADLESS", - "UNKNOWN_DUE_TO_RPC_FAILURE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "renderRunningTimeMsec": { - "description": "Total CPU time this render spent running in milliseconds.", - "format": "int32", - "type": "integer" - }, - "renderServerBaselineCl": { - "description": "The CL from which the render engine was built.", - "format": "int64", - "type": "string" - }, - "renderTimeMsec": { - "description": "Total wall time taken to render a document in milliseconds.", - "format": "int32", - "type": "integer" - }, - "sandboxRenderTimeMsec": { - "description": "Total time spent in the sandbox in milliseconds. This time includes all phases measured individually below.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoRenderStatsCounter": { - "description": "Render event counters.", - "id": "HtmlrenderWebkitHeadlessProtoRenderStatsCounter", - "properties": { - "count": { - "format": "int64", - "type": "string" - }, - "name": { - "description": "By convention, counters may contain a \".\" which we use to separate a metric name from a counter name in streamz.", - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoRenderTreeNode": { - "id": "HtmlrenderWebkitHeadlessProtoRenderTreeNode", - "properties": { - "box": { - "$ref": "HtmlrenderWebkitHeadlessProtoBox", - "description": "Box is set for render blocks ( , , etc). Box for any RenderTreeNode can be found either in the RenderTreeNode itself or by traversing up the ancestors until a RenderTreeNode with a Box is found." - }, - "childRenderTreeNodeIndex": { - "deprecated": true, - "description": "child_render_tree_node_index is an index into the list of RenderTreeNodes stored in the Document. *** WARNING ***: Don't use this field. Applications should not rely on the structure of the render tree. This is an internal browser implementation detail and it changes from time to time. Generally, applications should obtain rendering information by starting with the relevant DOMTreeNode and following pointers from there to the relevant RenderTreeNodes.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "domTreeNodeIndex": { - "description": "Index of the DOMTreeNode for which this RenderTreeNode is applicable. This index can be used to lookup a DOMTreeNode from list of DOMTreeNodes stored in the Document.", - "format": "int32", - "type": "integer" - }, - "inlineTextBox": { - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoRenderTreeNodeInlineTextBox" - }, - "type": "array" - }, - "renderedText": { - "description": "The actual text that was rendered. This is applicable only for text nodes.", - "type": "string" - }, - "styleIndex": { - "description": "Style index is set for rendered nodes (text nodes, image nodes, widgets, etc). The style_index can be used to lookup the style from the list of styles stored in the Document.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoRenderTreeNodeInlineTextBox": { - "description": "For text nodes, individual lines of text. This repeats rendered_text with more specific bounding boxes.", - "id": "HtmlrenderWebkitHeadlessProtoRenderTreeNodeInlineTextBox", - "properties": { - "box": { - "$ref": "HtmlrenderWebkitHeadlessProtoBox" - }, - "renderedText": { - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoResource": { - "description": "Next id: 9.", - "id": "HtmlrenderWebkitHeadlessProtoResource", - "properties": { - "content": { - "description": "content contains a complete HTTP response message including the HTTP status line, headers and body. For example: HTTP/1.1 200 OK\\r\\n Content-Type: text/html\\r\\n \\r\\n ... content ... For inputs (RenderRequest.resource): Any HTTP content encoding (e.g. gzip) and transfer encoding (e.g. chunked) MUST be decoded. HTTP content and transfer encoding headers will be ignored if present. For outputs (RenderResponse.referenced_resource_content): The body will be decoded (no content or transfer encoding) however any content or transfer encoding headers present in the original fetch response will be passed through. Decoding this field requires a correct text encoding. The charset field of Document proto can be a good guess but is not guaranteed to be correct.", - "format": "byte", - "type": "string" - }, - "fetchSourceInfo": { - "description": "Where this resource comes from.", - "items": { - "$ref": "WirelessTranscoderFetchFetchSourceInfo" - }, - "type": "array" - }, - "finalContentUrl": { - "description": "The url that contributes the final content. Only existed when metadata contains FetchReplyData.", - "type": "string" - }, - "metadata": { - "items": { - "$ref": "WirelessTranscoderFetchFetchMetadata" - }, - "type": "array" - }, - "method": { - "description": "The HTTP request method (GET, HEAD, POST, etc) used for this request. Values are taken from the HTTPHeaders::Protocol enum in webutil/http/httputils.h. If it's not set, we will infer GET or POST based on the presence of post_data.", - "format": "int32", - "type": "integer" - }, - "postData": { - "format": "byte", - "type": "string" - }, - "requestHeader": { - "description": "Only necessary headers are included in the resource key by default. See google3/htmlrender/webkit_headless/resource_key.cc", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoResourceHttpHeader" - }, - "type": "array" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoResourceHttpHeader": { - "id": "HtmlrenderWebkitHeadlessProtoResourceHttpHeader", - "properties": { - "name": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoScriptStackFrame": { - "description": "Describes a script stack frame.", - "id": "HtmlrenderWebkitHeadlessProtoScriptStackFrame", - "properties": { - "columnNumber": { - "description": "The current column number for the stack frame.", - "format": "int32", - "type": "integer" - }, - "functionName": { - "description": "The function name of the stack frame.", - "type": "string" - }, - "lineNumber": { - "description": "The current line number for the stack frame.", - "format": "int32", - "type": "integer" - }, - "url": { - "description": "The URL of the script being executed.", - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoStyle": { - "description": "Next id: 54 Font and text decorations:", - "id": "HtmlrenderWebkitHeadlessProtoStyle", - "properties": { - "backgroundAttachment": { - "enum": [ - "SCROLL", - "FIXED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "backgroundColorArgb": { - "description": "Background color encoded as ARGB", - "format": "uint32", - "type": "integer" - }, - "backgroundGradientColorStopArgb": { - "items": { - "format": "uint32", - "type": "integer" - }, - "type": "array" - }, - "backgroundGradientRepeat": { - "type": "boolean" - }, - "backgroundGradientType": { - "enum": [ - "LINEAR", - "RADIAL" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "backgroundImageRepeat": { - "enum": [ - "NO_REPEAT", - "REPEAT", - "REPEAT_X", - "REPEAT_Y" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "backgroundImageUrl": { - "description": "The url of the background image in the first layer.", - "type": "string" - }, - "backgroundImageXPos": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset", - "description": "Background image position (x, y)." - }, - "backgroundImageYPos": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset" - }, - "backgroundSize": { - "enum": [ - "CONTAIN", - "COVER", - "SIZE_LENGTH", - "SIZE_NONE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "backgroundSizeHeight": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset" - }, - "backgroundSizeWidth": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset", - "description": "Only present (but may be missing) if background_size == SIZE_LENGTH." - }, - "borderColorArgbBottom": { - "format": "uint32", - "type": "integer" - }, - "borderColorArgbLeft": { - "format": "uint32", - "type": "integer" - }, - "borderColorArgbRight": { - "format": "uint32", - "type": "integer" - }, - "borderColorArgbTop": { - "format": "uint32", - "type": "integer" - }, - "borderPixelWidthBottom": { - "format": "uint32", - "type": "integer" - }, - "borderPixelWidthLeft": { - "format": "uint32", - "type": "integer" - }, - "borderPixelWidthRight": { - "format": "uint32", - "type": "integer" - }, - "borderPixelWidthTop": { - "format": "uint32", - "type": "integer" - }, - "borderStyleBottom": { - "enum": [ - "BNONE", - "BHIDDEN", - "INSET", - "GROOVE", - "RIDGE", - "OUTSET", - "DOTTED", - "DASHED", - "SOLID", - "DOUBLE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "borderStyleLeft": { - "enum": [ - "BNONE", - "BHIDDEN", - "INSET", - "GROOVE", - "RIDGE", - "OUTSET", - "DOTTED", - "DASHED", - "SOLID", - "DOUBLE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "borderStyleRight": { - "enum": [ - "BNONE", - "BHIDDEN", - "INSET", - "GROOVE", - "RIDGE", - "OUTSET", - "DOTTED", - "DASHED", - "SOLID", - "DOUBLE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "borderStyleTop": { - "enum": [ - "BNONE", - "BHIDDEN", - "INSET", - "GROOVE", - "RIDGE", - "OUTSET", - "DOTTED", - "DASHED", - "SOLID", - "DOUBLE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "clip": { - "$ref": "HtmlrenderWebkitHeadlessProtoRectangle", - "description": "Default value for clip is \"auto\", which is represented here as !has_clip()." - }, - "direction": { - "enum": [ - "LTR", - "RTL" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "display": { - "enum": [ - "BLOCK", - "INLINE", - "INLINE_BLOCK" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "fontFamily": { - "description": "`font_family` is the `font-family` computed style, not necessarily the actual font. https://developer.mozilla.org/en-US/docs/Web/CSS/font-family. Note that it may contain multiple font families, not just one.", - "type": "string" - }, - "fontSize": { - "format": "int32", - "type": "integer" - }, - "fontStyle": { - "enum": [ - "FONT_NORMAL", - "FONT_ITALIC" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "fontWeight": { - "format": "int32", - "type": "integer" - }, - "foregroundColorArgb": { - "description": "Foreground color encoded as ARGB", - "format": "uint32", - "type": "integer" - }, - "hasBackground": { - "description": "Starting from Chromium, has_background is set when there is a non-empty specification for background_image, whether it be a url, gradient or other cases, such as cross-fade. Besides setting this field, We additionally parse url and gradient cases and populate some of the following background fields.", - "type": "boolean" - }, - "listStyleImageUrl": { - "type": "string" - }, - "listStyleType": { - "enum": [ - "DEFAULT_DISC", - "CIRCLE", - "SQUARE", - "DECIMAL_LIST_STYLE", - "DECIMAL_LEADING_ZERO", - "ARABIC_INDIC", - "BINARY_LIST_STYLE", - "BENGALI", - "CAMBODIAN", - "KHMER", - "DEVANAGARI", - "GUJARATI", - "GURMUKHI", - "KANNADA", - "LOWER_HEXADECIMAL", - "LAO", - "MALAYALAM", - "MONGOLIAN", - "MYANMAR", - "OCTAL", - "ORIYA", - "PERSIAN", - "URDU", - "TELUGU", - "TIBETAN", - "THAI", - "UPPER_HEXADECIMAL", - "LOWER_ROMAN", - "UPPER_ROMAN", - "LOWER_GREEK", - "LOWER_ALPHA", - "LOWER_LATIN", - "UPPER_ALPHA", - "UPPER_LATIN", - "AFAR", - "ETHIOPIC_HALEHAME_AA_ET", - "ETHIOPIC_HALEHAME_AA_ER", - "AMHARIC", - "ETHIOPIC_HALEHAME_AM_ET", - "AMHARIC_ABEGEDE", - "ETHIOPIC_ABEGEDE_AM_ET", - "CJK_EARTHLY_BRANCH", - "CJK_HEAVENLY_STEM", - "ETHIOPIC", - "ETHIOPIC_HALEHAME_GEZ", - "ETHIOPIC_ABEGEDE", - "ETHIOPIC_ABEGEDE_GEZ", - "HANGUL_CONSONANT", - "HANGUL", - "LOWER_NORWEGIAN", - "OROMO", - "ETHIOPIC_HALEHAME_OM_ET", - "SIDAMA", - "ETHIOPIC_HALEHAME_SID_ET", - "SOMALI", - "ETHIOPIC_HALEHAME_SO_ET", - "TIGRE", - "ETHIOPIC_HALEHAME_TIG", - "TIGRINYA_ER", - "ETHIOPIC_HALEHAME_TI_ER", - "TIGRINYA_ER_ABEGEDE", - "ETHIOPIC_ABEGEDE_TI_ER", - "TIGRINYA_ET", - "ETHIOPIC_HALEHAME_TI_ET", - "TIGRINYA_ET_ABEGEDE", - "ETHIOPIC_ABEGEDE_TI_ET", - "UPPER_GREEK", - "UPPER_NORWEGIAN", - "ASTERISKS", - "FOOTNOTES", - "HEBREW", - "ARMENIAN", - "LOWER_ARMENIAN", - "UPPER_ARMENIAN", - "GEORGIAN", - "CJK_IDEOGRAPHIC", - "HIRAGANA", - "KATAKANA", - "HIRAGANA_IROHA", - "KATAKANA_IROHA", - "NONE_LIST_STYLE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "marginBottom": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset" - }, - "marginLeft": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset" - }, - "marginRight": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset" - }, - "marginTop": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset", - "description": "Margin" - }, - "opacity": { - "format": "float", - "type": "number" - }, - "overflowX": { - "enum": [ - "OVISIBLE", - "OHIDDEN", - "OSCROLL", - "OAUTO", - "OOVERLAY", - "OMARQUEE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "overflowY": { - "enum": [ - "OVISIBLE", - "OHIDDEN", - "OSCROLL", - "OAUTO", - "OOVERLAY", - "OMARQUEE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "paddingBottom": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset" - }, - "paddingLeft": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset" - }, - "paddingRight": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset" - }, - "paddingTop": { - "$ref": "HtmlrenderWebkitHeadlessProtoOffset", - "description": "Padding" - }, - "position": { - "enum": [ - "POSITION_STATIC", - "POSITION_RELATIVE", - "POSITION_ABSOLUTE", - "POSITION_FIXED" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "referencedResourceIndex": { - "description": "List of referenced resource indexes for any resources that this style references. (e.g. background images.) (see document.proto)", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "textAlign": { - "enum": [ - "DEFAULT_TASTART", - "LEFT", - "RIGHT", - "CENTER", - "JUSTIFY", - "WEBKIT_LEFT", - "WEBKIT_RIGHT", - "WEBKIT_CENTER", - "TAEND" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "textDecoration": { - "enum": [ - "NONE", - "UNDERLINED", - "LINE_THROUGH" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "textShadowColorArgb": { - "format": "uint32", - "type": "integer" - }, - "visibility": { - "enum": [ - "VISIBLE", - "HIDDEN", - "COLLAPSE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "zIndex": { - "description": "Default value for z-index is \"auto\" which means \"inherit from parent\".", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoWebKitFetchMetadata": { - "description": "WebkKitFetchMetadata holds additional webkit-specific information for a single resource fetch.", - "id": "HtmlrenderWebkitHeadlessProtoWebKitFetchMetadata", - "properties": { - "devtoolsFrameId": { - "description": "Chromium DevTools frame ID of the frame that initiated this fetch. Only populated in the streaming render service with FETCH_MODE_CLIENT.", - "type": "string" - }, - "targetType": { - "enum": [ - "TARGET_UNSPECIFIED", - "TARGET_MAIN_FRAME", - "TARGET_SUBFRAME", - "TARGET_SUBRESOURCE", - "TARGET_STYLE_SHEET", - "TARGET_SCRIPT", - "TARGET_FONT", - "TARGET_IMAGE", - "TARGET_OBJECT", - "TARGET_MEDIA", - "TARGET_WORKER", - "TARGET_SHARED_WORKER", - "TARGET_PREFETCH", - "TARGET_FAVICON", - "TARGET_XHR", - "TARGET_TEXT_TRACK", - "TARGET_BEACON", - "TARGET_FILE", - "TARGET_MANIFEST", - "TARGET_PING", - "TARGET_RAW", - "TARGET_EVENT_SOURCE" - ], - "enumDescriptions": [ - "", - "", - "", - "Shouldn't really ever see this one.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "HtmlrenderWebkitHeadlessProtoWindowOpenEvent": { - "description": "Corresponds to a call to window.open(). Note that a WindowOpenEvent will be present whether or not the call was successful.", - "id": "HtmlrenderWebkitHeadlessProtoWindowOpenEvent", - "properties": { - "allowed": { - "description": "Whether or not the window was allowed to be opened by the popup blocker. Unless user events are created with a render extension this should be false.", - "type": "boolean" - }, - "url": { - "description": "The URL for the new window. Note that this is the URL after it has been processed by WebKit, so, for example, relative links passed to window.create() will have been made absolute.", - "type": "string" - }, - "windowFeatures": { - "description": "Window features passed to window.open().", - "type": "string" - }, - "windowName": { - "description": "Window name passed to window.open(). If no name is provided this defaults to \"_blank\".", - "type": "string" - } - }, - "type": "object" - }, - "I18nPhonenumbersPhoneNumber": { - "description": "The PhoneNumber object that is used by all LibPhoneNumber API's to fully represent a phone number.", - "id": "I18nPhonenumbersPhoneNumber", - "properties": { - "countryCode": { - "description": "The country calling code for this number, as defined by the International Telecommunication Union (ITU). For example, this would be 1 for NANPA countries, and 33 for France.", - "format": "int32", - "type": "integer" - }, - "countryCodeSource": { - "description": "The source from which the country_code is derived.", - "enum": [ - "UNSPECIFIED", - "FROM_NUMBER_WITH_PLUS_SIGN", - "FROM_NUMBER_WITH_IDD", - "FROM_NUMBER_WITHOUT_PLUS_SIGN", - "FROM_DEFAULT_COUNTRY" - ], - "enumDescriptions": [ - "Default value returned if this is not set, because the phone number was created using parse, not parseAndKeepRawInput. hasCountryCodeSource will return false if this is the case.", - "The country_code is derived based on a phone number with a leading \"+\", e.g. the French number \"+33 1 42 68 53 00\".", - "The country_code is derived based on a phone number with a leading IDD, e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.", - "The country_code is derived based on a phone number without a leading \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is supplied as France.", - "The country_code is derived NOT based on the phone number itself, but from the defaultCountry parameter provided in the parsing function by the clients. This happens mostly for numbers written in the national format (without country code). For example, this would be set when parsing the French number \"01 42 68 53 00\", when defaultCountry is supplied as France." - ], - "type": "string" - }, - "extension": { - "description": "Extension is not standardized in ITU recommendations, except for being defined as a series of numbers with a maximum length of 40 digits. It is defined as a string here to accommodate for the possible use of a leading zero in the extension (organizations have complete freedom to do so, as there is no standard defined). Other than digits, some other dialling characters such as \",\" (indicating a wait) may be stored here.", - "type": "string" - }, - "italianLeadingZero": { - "description": "In some countries, the national (significant) number starts with one or more \"0\"s without this being a national prefix or trunk code of some kind. For example, the leading zero in the national (significant) number of an Italian phone number indicates the number is a fixed-line number. There have been plans to migrate fixed-line numbers to start with the digit two since December 2000, but it has not happened yet. See http://en.wikipedia.org/wiki/%2B39 for more details. These fields can be safely ignored (there is no need to set them) for most countries. Some limited number of countries behave like Italy - for these cases, if the leading zero(s) of a number would be retained even when dialling internationally, set this flag to true, and also set the number of leading zeros. Clients who use the parsing or conversion functionality of the i18n phone number libraries (go/phonenumbers) will have these fields set if necessary automatically.", - "type": "boolean" - }, - "nationalNumber": { - "description": "The National (significant) Number, as defined in International Telecommunication Union (ITU) Recommendation E.164, without any leading zero. The leading-zero is stored separately if required, since this is an uint64 and hence cannot store such information. Do not use this field directly: if you want the national significant number, call the getNationalSignificantNumber method of PhoneNumberUtil. For countries which have the concept of an \"area code\" or \"national destination code\", this is included in the National (significant) Number. Although the ITU says the maximum length should be 15, we have found longer numbers in some countries e.g. Germany. Note that the National (significant) Number does not contain the National (trunk) prefix. Obviously, as a uint64, it will never contain any formatting (hyphens, spaces, parentheses), nor any alphanumeric spellings.", - "format": "uint64", - "type": "string" - }, - "numberOfLeadingZeros": { - "description": "Full description of this field in the comment for italian_leading_zero since this field will only be set when italian_leading_zero is true.", - "format": "int32", - "type": "integer" - }, - "preferredDomesticCarrierCode": { - "description": "The carrier selection code that is preferred when calling this phone number domestically. This also includes codes that need to be dialed in some countries when calling from landlines to mobiles or vice versa. For example, in Columbia, a \"3\" needs to be dialed before the phone number itself when calling from a mobile phone to a domestic landline phone and vice versa. Note this is the \"preferred\" code, which means other codes may work as well.", - "type": "string" - }, - "rawInput": { - "description": "This field is used to store the raw input string containing phone numbers before it was canonicalized by the library. For example, it could be used to store alphanumerical numbers such as \"1-800-GOOG-411\".", - "type": "string" - } - }, - "type": "object" - }, - "ImageBaseThumbnailMetadata": { - "description": "Next ID: 16", - "id": "ImageBaseThumbnailMetadata", - "properties": { - "byteSize": { - "description": "the size of the stored thumbnail", - "format": "int32", - "type": "integer" - }, - "crops": { - "$ref": "ContentAwareCropsIndexing", - "description": "SmartCrop crop-hints By default, this field is not populated." - }, - "deepCrop": { - "$ref": "DeepCropIndexing", - "description": "DeepCrop crop-hints. Usage in thumbnails could be deprecated in favor or deep_crop_pixels (below). By default, this field is not populated." - }, - "deepCropPixels": { - "$ref": "DeepCropPixels", - "description": "DeepCrop signal in pixels, equivalent to deep_crop (above) but with pixels instead of percentages. By default, this field is not populated." - }, - "docid": { - "description": "the Amarna docid of the thumbnail", - "format": "uint64", - "type": "string" - }, - "encryptedDocid": { - "description": "encrypted version of docid", - "type": "string" - }, - "expirationTimestampMicros": { - "description": "expiration timestamp of thumbnail", - "format": "int64", - "type": "string" - }, - "fprint": { - "description": "the fprint of the thumbnail", - "format": "uint64", - "type": "string" - }, - "height": { - "description": "the height of the stored thumbnail", - "format": "int32", - "type": "integer" - }, - "mimeType": { - "description": "The mime_type of the thumbnail (\"image/jpeg\", \"image/png\", etc.).", - "type": "string" - }, - "originalHeight": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "originalWidth": { - "deprecated": true, - "description": "Not populated by Amarna/image pipelines, ever. This was apparently introduced by a customer that wished to extend ThumbnailMetadata with this custom data.", - "format": "int32", - "type": "integer" - }, - "type": { - "enum": [ - "THUMBNAIL_TYPE_DEFAULT", - "THUMBNAIL_TYPE_AREA_50K", - "THUMBNAIL_TYPE_400", - "THUMBNAIL_TYPE_800", - "THUMBNAIL_TYPE_ORIGINAL", - "THUMBNAIL_TYPE_ORIGINAL_HQ", - "THUMBNAIL_TYPE_FAVICON_16", - "THUMBNAIL_TYPE_FAVICON_28", - "THUMBNAIL_TYPE_FAVICON_32", - "THUMBNAIL_TYPE_FAVICON_64", - "THUMBNAIL_TYPE_FAVICON_ORIGINAL", - "THUMBNAIL_TYPE_FAVICON_16_DARK", - "THUMBNAIL_TYPE_FAVICON_28_DARK", - "THUMBNAIL_TYPE_FAVICON_32_DARK", - "THUMBNAIL_TYPE_FAVICON_64_DARK", - "THUMBNAIL_TYPE_FAVICON_ORIGINAL_DARK", - "THUMBNAIL_TYPE_1080", - "THUMBNAIL_TYPE_1600_HQ", - "THUMBNAIL_TYPE_AREA_300K", - "THUMBNAIL_TYPE_AREA_50K_ALPHA", - "THUMBNAIL_TYPE_AREA_50K_SYNTHETIC_ALPHA", - "THUMBNAIL_TYPE_AREA_2M", - "THUMBNAIL_TYPE_AREA_2M_METADATA", - "THUMBNAIL_TYPE_800_ALPHA_WHITE", - "THUMBNAIL_TYPE_ORIGINAL_ALPHA_WHITE", - "THUMBNAIL_TYPE_ANIMATED_H144", - "THUMBNAIL_TYPE_ORIGINAL_HQ_LICENSED", - "THUMBNAIL_TYPE_TENOR_250K_GIF", - "THUMBNAIL_TYPE_TENOR_100K_OPTIMIZED_GIF", - "THUMBNAIL_TYPE_TENOR_30K_OPTIMIZED_THUMBNAIL_GIF", - "THUMBNAIL_TYPE_TENOR_45K_OPTIMIZED_90P_GIF", - "THUMBNAIL_TYPE_TENOR_50K_OPTIMIZED_100P_GIF", - "THUMBNAIL_TYPE_TENOR_100K_OPTIMIZED_200P_GIF", - "THUMBNAIL_TYPE_TENOR_50K_OPTIMIZED_100W_GIF", - "THUMBNAIL_TYPE_TENOR_100K_OPTIMIZED_200W_GIF", - "THUMBNAIL_TYPE_TENOR_45K_PREVIEW_GIF", - "THUMBNAIL_TYPE_TENOR_250K_MEDIUM_GIF", - "THUMBNAIL_TYPE_AREA_2M_WEBP", - "THUMBNAIL_TYPE_AREA_2M_WEBP_METADATA", - "THUMBNAIL_TYPE_AREA_2M_AVIF", - "THUMBNAIL_TYPE_AREA_2M_AVIF_METADATA", - "THUMBNAIL_TYPE_AREA_50K_WEBP", - "THUMBNAIL_TYPE_AREA_50K_AVIF", - "THUMBNAIL_TYPE_ORIGINAL_HQ_KG" - ], - "enumDescriptions": [ - "DEPRECATED - use THUMBNAIL_TYPE_AREA_50K if possible. The default thumbnail type is deprecated and no longer served by SFFE. For legacy users (e.g. imagesearch heirloom UI) you must request a downsized THUMBNAIL_TYPE_AREA_50K thumbnail.", - "This is the most common thumbnail type, used in image search results. It is defined to have 50625 pixels (= 225 x 225).", - "This refers to a thumbnail that fits in a 400x400 box.", - "This refers to a thumbnail that fits in a 800x800 box.", - "This refers to re-encoding original image to JPEG at the same size (up to 10000x10000). Output quality may be lower.", - "Re-encode image at the same size as original (up to 10000x10000) but with high-quality (q=90). This was introduced by TYPHOON client and is expected only for very few images in our table (under 10k). If you plan to use this contact amarna-dev@ and/or crt@", - "These refer to favicon thumbnails of 16x16, 32x32 or 64x64. If the original image is an ico file containing multiple embedded images including 16x16, 32x32 or 64x64, these thumbnails are derived from the embedded image of the corresponding size. (If no such embedded image is found, prefer the closest size that's larger. If still no such size exists, prefer largest.) If no such size exists, these thumbnails are rescaled to an image whose maximum dimension is 16, 28, 32 or 64.", - "", - "", - "", - "This type of favicon will preserve the size of the original image.", - "These refer to favicon thumbnails for dark mode. This triggers dark mode on the SVG decoding (and otherwise, the same as the above favicon types)", - "", - "", - "", - "", - "This refers to a thumbnail that fits in a 1080x1080 box.", - "This refers to a thumbnail that fits in a 1600x1600 box and is encoded with high-quality (q=90). Contact amarna-dev@/crt@/bingwang@ for using it.", - "This uses the same MaxAreaSizer as THUMBNAIL_TYPE_AREA_50K. The exact area is defined to be 307200 (= 640 x 480).", - "This is like THUMBNAIL_TYPE_AREA_50K, but with an alpha channel.", - "DEPRECATED - Please do not introduce new requests for this type. It will be eliminated soon. Until then, it will behave like the AREA_50K_ALPHA type -- use that instead.", - "This refers to a thumbnail with at most 2073600 pixels (=1920*1080). The image will be scaled down to 2M while preserving the aspect ratio if it's too large. If the thumbnail is in JPEG format, it is encoded with quality = 85. Besides, it supports alpha channel by default and does not convert lossless formats to JPEG.", - "Similar to THUMBNAIL_TYPE_AREA_2M, but with the source image metadata propagated.", - "In alpha-white thumbs, colors are remapped in RGBA to be more transparent the closer they are to white. This is for use with white-background images, so that the perceived background color can be darkened by rendering over gray. See go/alpha-white-thumbs for details and limitations. Sizing matches non-ALPHA_WHITE equivalents.", - "", - "Height-scaled animated thumb types, encoded as H264 previews. Suffix gives height, e.g. _H144 indicates height 144. Width is a scaled multiple-of-8 value so the thumb has approximately the same aspect ratio as the original. For more info, see http://go/animated-thumbs.", - "New thumbnail type for licensed contents. From a thumbnail generation perspective this behaves similarly to THUMBNAIL_TYPE_ORIGINAL_HQ, but it exists as a separate thumbnail type to enable takedowns requested by owner. WARNING: This type is primarily used by go/licensed-media-service and is subject to policy changes. Please contact g/license-media-service-team before using.", - "Tenor gifs go/tenor-integration-binary-serving-discussion", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Similar to THUMBNAIL_TYPE_AREA_2M but pre-transcoded to WebP and AVIF format, as those two format can be slow to transcode in serving time. Currently only generated for AMP images. These two thumbnails are static images despite that their formats support animation.", - "Similar to THUMBNAIL_TYPE_AREA_2M_WEBP, but with the source image metadata propagated.", - "AVIF is not yet a supported input for SCS serving time thumbnailing, trying to do so will give errors.", - "Similar to THUMBNAIL_TYPE_AREA_2M_AVIF, but with the source image metadata propagated.", - "WebP format. Currently only generated for navboost images.", - "AVIF format. Currently only generated for navboost images.", - "WARNING: This type is dedicated to KG_IMAGE client. http://b/234653726" - ], - "type": "string" - }, - "width": { - "description": "the width of the stored thumbnail", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ImageBaseVideoPreviewMetadata": { - "description": "This message is used internally in Amarna and is also used to store information in the VideoWebAttachment portion of the websearch index. Only the following fields will be used in the index: VideoPreviewType type int32 width int32 height byte byte_size If more fields are added, please update this list.", - "id": "ImageBaseVideoPreviewMetadata", - "properties": { - "byteSize": { - "description": "Size of the stored preview.", - "format": "int32", - "type": "integer" - }, - "docid": { - "description": "64 bit docid of the original video.", - "format": "uint64", - "type": "string" - }, - "duration": { - "description": "TODO (yzliu): consider using duration_ms as field name since it is number of milliseconds. Duration of the preview in ms.", - "format": "int32", - "type": "integer" - }, - "expirationTimestampMicros": { - "description": "Expiration timestamp of preview in microseconds since epoch.", - "format": "int64", - "type": "string" - }, - "fprint": { - "description": "LINT.ThenChange(//depot/google3/video/crawl/indexing/signal_combiner.cc:video_preview) Fingerprint of the preview.", - "format": "uint64", - "type": "string" - }, - "height": { - "description": "Height of the stored preview.", - "format": "int32", - "type": "integer" - }, - "mimeType": { - "description": "Mime type of the preview (\"video/mp4\").", - "type": "string" - }, - "state": { - "description": "Indicates the state in Venom for this preview type.", - "enum": [ - "STATE_UNKNOWN", - "STATE_DONE", - "STATE_NOT_APPLICABLE", - "STATE_MISSING", - "STATE_DELETED", - "STATE_DIRTY", - "STATE_OBSOLETE", - "STATE_PENDING_PUBLICATION", - "STATE_FAILED" - ], - "enumDescriptions": [ - "", - "Final states i.e., states in which we would stay unless the client revises ## the expectations. As far as the relevant service is concerned, the asset has been fully produced.", - "As far as the service is concerned, the asset should not be produced (say, HD for a SD input)", - "STATE_MISSING indicates the asset needs to be created. It is a transient state from STATE_DIRTY. It is also the final state if the asset failed to be created within its allowed number of retries.", - "The asset has been removed. This is the final state for assets that were previously OBSOLETE, or for goals of UNWANTED.", - "Purely transient states, that will be reconciled to a final state at some point. NOTE: In edge case scenarios, e.g., a video is out of Venom-level retries, has invalid content, etc these \"transient\" states might not ## transition to one of the \"final\" states listed above. The client is not happy with the state of an asset, and wants to get it regenerated. If the processing run(s) triggered by setting the state to STATE_DIRTY did not succeed, the asset will remain in STATE_DIRTY.", - "The asset has been produced in the past, but is not needed anymore. We'll try to delete it shortly.", - "The asset is ready to be published but is waiting for other assets in its group. This state is between MISSING/DIRTY and DONE.", - "RESERVED. This state is deprecated." - ], - "type": "string" - }, - "timestamp": { - "description": "Timestamp of start of preview in ms.", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "LINT.IfChange", - "enum": [ - "VPREVIEW_TYPE_8K", - "VPREVIEW_TYPE_30K", - "VPREVIEW_TYPE_90K", - "VPREVIEW_TYPE_300K_24FPS", - "VPREVIEW_TYPE_VERTICAL_30K", - "VPREVIEW_TYPE_VERTICAL_90K", - "VPREVIEW_TYPE_540K_ORIGINAL_HQ_LICENSED", - "VPREVIEW_TYPE_90K_SPORT_HIGHLIGHT", - "VPREVIEW_TYPE_VIDEO_ANSWER_300K_15SEC", - "VPREVIEW_TYPE_VIDEO_ANSWER_300K_6SEC", - "VPREVIEW_TYPE_ORIGINAL_RESOLUTION_6SEC", - "VPREVIEW_TENOR_250K_PREVIEW", - "VPREVIEW_TENOR_100K_OPTIMIZED_PREVIEW", - "VPREVIEW_TENOR_30K_OPTIMIZED_THUMBNAIL_PREVIEW", - "VPREVIEW_TENOR_45K_OPTIMIZED_90P_PREVIEW", - "VPREVIEW_TENOR_50K_OPTIMIZED_100P_PREVIEW", - "VPREVIEW_TENOR_100K_OPTIMIZED_200P_PREVIEW", - "VPREVIEW_TENOR_50K_OPTIMIZED_100W_PREVIEW", - "VPREVIEW_TENOR_100K_OPTIMIZED_200W_PREVIEW", - "VPREVIEW_TENOR_250K_MEDIUM_PREVIEW", - "VPREVIEW_TENOR_250K_TINY_VIDEO_PREVIEW", - "VPREVIEW_TENOR_250K_NANO_VIDEO_PREVIEW", - "VPREVIEW_TENOR_100K_PREVIEW_MP4", - "VPREVIEW_TENOR_250K_MP4", - "VPREVIEW_TENOR_250K_MP4_AV", - "VPREVIEW_TENOR_160K_TINY_MP4", - "VPREVIEW_TENOR_75K_NANO_MP4", - "VPREVIEW_TENOR_50K_FIXED_100P_MP4", - "VPREVIEW_TENOR_100K_FIXED_200P_MP4", - "VPREVIEW_TENOR_50K_FIXED_100W_MP4", - "VPREVIEW_TENOR_100K_FIXED_200W_MP4" - ], - "enumDescriptions": [ - "This corresponds to 128x72, 10fps.", - "This corresponds to 256x144, 10fps.", - "This corresponds to 384x216, 10fps.", - "This corresponds to 640x360, 24fps.", - "This corresponds to 144x256, 10fps.", - "This corresponds to 216x384, 10fps.", - "This corresponds to 854x480, 24fps. This preview type is used for LMS videos only.", - "This corresponds to 384x216, 10fps previews created with a Sport Highlight specific model.", - "Video Answer previews (640x360, 10fps). See go/vsva-le1-doc and go/vsva-serving-design for the details. previews up to 15 seconds", - "previews up to 6 seconds", - "6s video preview which will keep the resolution and aspect ratio of original video. original resolution and up to 6s", - "LINT.IfChange Tenor VPREIVEW is added by cl/237845543 (billzeng) This corresponds to 498*498, max 18fps. Preview for Tenor only.", - "This corresponds to 220*498, max 18fps. Preview for Tenor only.", - "This corresponds to 498*60, max 18fps. Preview for Tenor only.", - "This corresponds to 498*90, max 18fps. Preview for Tenor only.", - "This corresponds to 498*100, max 18fps. Preview for Tenor only.", - "This corresponds to 498*200, max 18fps. Preview for Tenor only.", - "This corresponds to 100*498, max 18fps. Preview for Tenor only.", - "This corresponds to 200*498, max 18fps. Preview for Tenor only.", - "This corresponds to 498*498, max 18fps. Preview for Tenor only.", - "This corresponds to 498*498, max 18fps. Preview for Tenor only.", - "This corresponds to 498*498, max 18fps. Preview for Tenor only.", - "This corresponds to 498*200, max 10fps. Preview for Tenor only.", - "This corresponds to 498*498 max 10fps. Preview for Tenor only.", - "This corresponds to 498*498, max 10fps. Preview for Tenor only.", - "This corresponds to 320*498, max 10fps. Preview for Tenor only.", - "This corresponds to 150*498, max 10fps. Preview for Tenor only.", - "This corresponds to 498*100, max 10fps. Preview for Tenor only.", - "This corresponds to 498*200, max 10fps. Preview for Tenor only.", - "This corresponds to 100*498, max 10fps. Preview for Tenor only.", - "This corresponds to 200*498, max 10fps. Preview for Tenor only. LINT.ThenChange( //depot/google3/image/tenor/eleven/util/format_helpers.cc, //depot/google3/image/tenor/eleven/util/format_helpers_test.cc, )" - ], - "type": "string" - }, - "videoSegmentEndUs": { - "description": "The end timestamp of the video segment in microseconds that this preview is generated from. Used for segmented video previews.", - "format": "int64", - "type": "string" - }, - "videoSegmentStartUs": { - "description": "The start timestamp of the video segment in microseconds that this preview is generated from. Used for segmented video previews.", - "format": "int64", - "type": "string" - }, - "width": { - "description": "Width of the stored preview.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ImageContentFlowProtoProd": { - "description": "The subset of FlowProto that we want to go into production AND be stored in ContentSignals.", - "id": "ImageContentFlowProtoProd", - "properties": { - "starburst": { - "description": "Repeated so that multiple versions can exist in prod simultaneously.", - "items": { - "$ref": "ImageContentStarburstVersionGroup" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageContentQueryBoost": { - "description": "Image content based multipliers. Current usage is in the pamir_section.", - "id": "ImageContentQueryBoost", - "properties": { - "queryboost": { - "items": { - "$ref": "ImageContentQueryBoostQueryBoost" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageContentQueryBoostQueryBoost": { - "id": "ImageContentQueryBoostQueryBoost", - "properties": { - "boost": { - "description": "Score multiplier (fully normalized 1 is nop).", - "format": "float", - "type": "number" - }, - "query": { - "description": "Canonicalized query string.", - "type": "string" - } - }, - "type": "object" - }, - "ImageContentStarburstVersionGroup": { - "id": "ImageContentStarburstVersionGroup", - "properties": { - "descriptorFloat": { - "description": "Raw dense float feature vector.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "descriptorFloatBeforeProjection": { - "description": "Raw dense float feature vector prior to embedding. Only for Starburst V6.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "descriptorShort": { - "description": "Short descriptor for image content features, e.g. compressed bytes. This is the compressed version of descriptor_float below. It can be can be decompressed to descriptor_float with a tiny bit of compression error (in most cases it should be totally fine).", - "format": "byte", - "type": "string" - }, - "enumVersion": { - "enum": [ - "UNKNOWN_VERSION", - "STARBURST_V1", - "STARBURST_V2", - "STARBURST_V3", - "STARBURST_V4", - "STARBURST_VISUAL_V4", - "STARBURST_VISUAL_V5", - "STARBURST_V5", - "STARBURST_V5_5", - "STARBURST_V6", - "STARBURST_EXP" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "minorVersion": { - "enum": [ - "UNKNOWN_MINOR_VERSION", - "V3_ORIGINAL", - "V3_ENET_EMULATED", - "V3_FNET_EMULATED", - "V3_STARBURST_LITE", - "V4_ORIGINAL", - "V4_STRETCH_RESIZE", - "V4_EMULATED_FROM_V6", - "VISUAL_V4_ORIGINAL", - "VISUAL_V5_ORIGINAL", - "V5_ORIGINAL", - "V5_5_ORIGINAL", - "V6_ORIGINAL", - "V6_EMULATED_FROM_V4", - "V6_EMULATED_FROM_V4_V3", - "EXP_ORIGINAL" - ], - "enumDescriptions": [ - "", - "Minor versions for Starburst V3, used to distinguish the original and different emulated versions. See go/starburst-v3-emulation for detail.", - "", - "", - "", - "Minor versions for Starburst V4.", - "V4 with stretch resize, instead of cropping. See b/154565902.", - "Minor version for Starburst V4 backward emulated from V6.", - "Minor versions for Starburst Visual V4.", - "Minor versions for Starburst Visual V5.", - "Minor version for Starburst V5.", - "Minor version for Starburst V5.5.", - "Minor version for Starburst V6.", - "Minor version for Starburst V6 forward emulated from V4, using version 2 of the emulator.", - "Minor version for Starburst V6 forward emulated from V4, using version 3 of the emulator.", - "Minor version for Starburst Experimental." - ], - "type": "string" - }, - "starburstTokens": { - "description": "Starburst tokens.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "starburstTokensDistances": { - "description": "Squared distance of the current embedding to each cluster center. Elements are aligned with starburst_tokens.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "version": { - "deprecated": true, - "description": "The following integers are currently used: Starburst V1: 1 Starburst V2: 2 Starburst V3: 3 Starburst V4: 4 Starburst Visual V4: 1004 This field is deprecated. Please try to use the 'enum_version' in future.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ImageData": { - "description": "This defines the per-doc data which is extracted from thumbnails and propagated over to indexing. It contains all information that can be used for restricts. Next tag id: 135", - "id": "ImageData", - "properties": { - "adaboostImageFeaturePorn": { - "deprecated": true, - "description": "Warning: adaboost_image_feature_porn* and imageFeaturePorn fields are DEPRECATED in favor of brain_porn_scores. Please do not use them. Contact safesearch@ for transition advice.", - "format": "float", - "type": "number" - }, - "adaboostImageFeaturePornMinorVersion": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "adaboostImageFeaturePornVersion": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "animatedImageData": { - "$ref": "ImageRepositoryAnimatedImagePerdocData", - "description": "Present for animated images only: additional animatated image perdoc data." - }, - "brainPornScores": { - "$ref": "ImageSafesearchContentBrainPornAnnotation", - "description": "A [0..1] SafeSearch scores based on image pixels, using Google Brain: porn, csai, violence, medical, and spoof. For porn only, if available prefer final_porn_score as it should be more precise than brain_porn_scores.porn_score." - }, - "brainPornScoresVersion": { - "description": "A string that indicates the version of SafeSearch classifier used to compute brain_porn_scores.", - "type": "string" - }, - "canonicalDocid": { - "description": "This is the image docid used in image search. For ImageData protos coming from Alexandria/Freshdocs, this is a 'required' field that MUST be populated.", - "format": "uint64", - "type": "string" - }, - "clickMagnetScore": { - "description": "A score in (0, 1] to indicate how likely this image is considered as a click magnet based on clicks received from bad queries.", - "format": "float", - "type": "number" - }, - "clipartDetectorScore": { - "description": "Image content based classifier scores.", - "format": "float", - "type": "number" - }, - "clipartDetectorVersion": { - "format": "int32", - "type": "integer" - }, - "clusterId": { - "description": "Superlabels generated cluster id. This field is going to be deprecated, please use `superlabels_v2_cluster_id` instead.", - "format": "byte", - "type": "string" - }, - "codomainStrength": { - "description": "Like is_visible, this is a property of the (web-doc, img_url) pair not just the image. A high codomain_strength indicates high confidence based on collected stats that the image is hosted on a companion domain. If not enough stats are available for codomain strength, this field may be absent in ImageData, and hence the CompositeDoc. Do not place negative values here. Permitted values range between 0 and image_quality_codomain::kMaxCodomainStrength defined in //image/quality/codomain/codomain-stats-utils.h.", - "format": "int32", - "type": "integer" - }, - "colorScore": { - "description": "Colorness scores for the image. Each score represents the amount of a particular color in the image. At the current time, there are 12 colors, so there should always be 0 or 12 values in this array. The 12 colors are black, blue, brown, gray, green, orange, pink, purple, red, teal, white, yellow. The convention is that the scores are stored in alphabetical order, so the first score is black, and the last score is yellow.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "colorScoreVersion": { - "format": "int32", - "type": "integer" - }, - "coloredPixelsFrac": { - "description": "Fraction of the image that contains pixels over a certain saturation threshold: can be used to determine if the image is grayscale or not.", - "format": "float", - "type": "number" - }, - "contentFirstCrawlTime": { - "description": "Earliest known crawl time among all neardups of this image (go/imagecontentage).", - "format": "int32", - "type": "integer" - }, - "corpusSelectionInfo": { - "description": "Corpus scoring info for images indexed through Amarna.", - "items": { - "$ref": "CorpusSelectionInfo" - }, - "type": "array" - }, - "crops": { - "$ref": "ContentAwareCropsIndexing", - "description": "The content-aware cropping information." - }, - "deepCrop": { - "$ref": "DeepCropIndexing", - "description": "DeepCrop based cropping information. See go/creatism/deepcrop for details." - }, - "deepImageEngagingness": { - "$ref": "ImageRepositoryDeepImageEngagingnessOutput", - "description": "Productionized Deep Image Engagingness score." - }, - "deepTags": { - "$ref": "CommerceDatastoreImageDeepTags", - "description": "VSS generated deep tags for shopping images." - }, - "docid": { - "deprecated": true, - "description": "fingerprint(non-canonicalized absolute image url) This is *not* the image docid. Use canonical_docid instead. For ImageData protos coming from Alexandria/Freshdocs, this is a 'required' field that MUST be populated. But once again, this is very likely NOT something you need. Use canonical_docid instead.", - "format": "uint64", - "type": "string" - }, - "embeddedMetadata": { - "$ref": "ImageExifImageEmbeddedMetadata", - "description": "the EXIF/IPTC metadata" - }, - "expirationTimestamp": { - "description": "The thumbnail is guaranteed to be kept in the serving system until the expiration timestamp has passed, in microseconds.", - "format": "int64", - "type": "string" - }, - "extendedExif": { - "$ref": "PhotosImageMetadata", - "description": "The EXIF generated by photos backend team's (more specifically FIFE's) thumbnailer library. This exif model is more comprehensive since a dedicated team is constantly improving it and adding new fields over time. This is currently populated by moonshine for selected corpora." - }, - "featuredImageProp": { - "$ref": "ImageMonetizationFeaturedImageProperties", - "description": "Properties used in featured imagesearch project. inspiration_score indicates how well an image is related to products, or how inspirational it is." - }, - "fileFormat": { - "description": "True file format (not extension).", - "enum": [ - "FF_INVALID", - "FF_JPG", - "FF_GIF", - "FF_PNG", - "FF_BMP", - "FF_SVG", - "FF_WEBP", - "FF_ICO", - "FF_CRAW", - "FF_HEIF" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "finalPornScore": { - "description": "A [0..1] porn score based on some image-level features (like content score, referrer statistics, navboost queries, etc.). See class RiflePornScorer for more details.", - "format": "float", - "type": "number" - }, - "finalPornScoreVersion": { - "description": "A string that indicates the version of SafeSearch classifier used to compute final_porn_score.", - "type": "string" - }, - "firstCrawlTime": { - "description": "Earliest known timestamp about this image. Today, this is the timestamp when the content key was generated for this image. The time is in seconds.", - "format": "int32", - "type": "integer" - }, - "firstTimeSeenOnDocSec": { - "description": "The first time this image URL was seen on the containing web page. Only set during web indexing.", - "format": "int32", - "type": "integer" - }, - "flags": { - "description": "Use image_perdoc.h to read/write 'flags'.", - "format": "int32", - "type": "integer" - }, - "flowOutput": { - "$ref": "ImageContentFlowProtoProd", - "description": "The output of various features generated by the Flow framework, most importantly data from Starburst (go/starburst). Do NOT interact with the internals of this proto since they may change over time. Instead, use the existing interfaces that consume FlowProtoProd's directly, e.g., image/mustang/content/image_content_distance.h For more info, please contact image-content-core@." - }, - "generatedImageLikelihoodSignal": { - "$ref": "ImageRepositoryGeneratedImageLikelihoodSignal", - "description": "The signal about the likelihood of whether the image is generated by Google." - }, - "h2c": { - "format": "float", - "type": "number" - }, - "h2i": { - "description": "'Hovers to Impressions' and 'Hovers to Clicks' ratios for an image. These are considered Search CPS Personal Data due to concerns that they may be used to reidentify or confirm the presence of specific singleton (unique) queries.", - "format": "float", - "type": "number" - }, - "hateLogoDetection": { - "$ref": "ImageUnderstandingIndexingAnnotationGroup", - "description": "Hate logo detections from the VSS logo_recognition module." - }, - "height": { - "description": "Height", - "format": "int32", - "type": "integer" - }, - "imageContentQueryBoost": { - "$ref": "ImageContentQueryBoost", - "description": "Image Content Scored per query boosts. Currently this is filled by the pamir algorithm and populates the pamir_section." - }, - "imageExactBoost": { - "$ref": "ImageExactBoost", - "description": "A set of query fingerprints and confidence scores. There queries are supposed to be relevant to the image with high confidence." - }, - "imageLicenseInfo": { - "$ref": "ImageSearchImageLicenseInfo", - "description": "Indicates license info of this image, which will tell image search users how to use this image legally." - }, - "imageQualityClickSignals": { - "$ref": "ImageQualityNavboostImageQualityClickSignals", - "description": "Click signals for measuring image quality (e.g., usefulness, presentation, appealingness, and engagingness). Click signals are considered Search CPS Personal Data." - }, - "imageRegions": { - "$ref": "ImageRegionsImageRegions", - "description": "Regions detected within the image (go/images-region-search-edd). Regions contain bounding boxes circumscribing objects of interest in the image, along with object labels. Regions may overlap." - }, - "imagerank": { - "format": "int32", - "type": "integer" - }, - "indexedVerticals": { - "description": "Vertical indexing information for the document and associated image outlinks.", - "items": { - "$ref": "ImageDataVerticalIndexingInfoImage" - }, - "type": "array" - }, - "isIipInScope": { - "description": "IIP in scope signal (go/iip). Set to true if the image is annotated with any iip_in_scope entities (go/iukp-trust-v2).", - "type": "boolean" - }, - "isIndexedByImagesearch": { - "description": "If this image was not selected for indexing by imagesearch, these fields say so and explain why.", - "type": "boolean" - }, - "isMultiframe": { - "description": "True if the original image contains multiple frames (e.g., for animated or stereoscopic images).", - "type": "boolean" - }, - "isUnwantedContent": { - "description": "Field to indicate the image is unwanted for search index. The data is propagated from amarna to alexandria to be annotated in the cdoc. Refer to image/repository/proto/unwanted_content.proto for more info.", - "type": "boolean" - }, - "isVisible": { - "description": "True if the image is inlined on the page (typicially via ) or false if the image is linked to (via an href).", - "type": "boolean" - }, - "largestFaceFrac": { - "description": "Fraction of image covered by the largest face (should match largestFaceFraction, but without scaling). In perdocs, is set only if numberFaces \u003e 0.", - "format": "float", - "type": "number" - }, - "largestFaceFraction": { - "deprecated": true, - "description": "Fraction of image covered by the largest face, scaled by 1000. Warning: Is DEPRECATED in favor of largest_face_frac. Do not use.", - "format": "int32", - "type": "integer" - }, - "lastCrawlTime": { - "description": "Most recent timestamp in seconds when this URL was crawled.", - "format": "int32", - "type": "integer" - }, - "licensedWebImagesOptInState": { - "description": "Indicates the web-master opt-in state of this image, and will be used for Google products to decide usage rights like showing large previews.", - "enum": [ - "IMAGES_OPTIN_NONE", - "IMAGES_OPTIN_FULL", - "PAGE_SNIPPET_CONTROL_SIZE_NONE", - "PAGE_SNIPPET_CONTROL_SIZE_STANDARD", - "PAGE_SNIPPET_CONTROL_SIZE_LARGE", - "IMAGE_TAG_SNIPPET_CONTROL_SIZE_NONE", - "IMAGE_TAG_SNIPPET_CONTROL_SIZE_STANDARD", - "IMAGE_TAG_SNIPPET_CONTROL_SIZE_LARGE" - ], - "enumDescriptions": [ - "DEFAULT", - "", - "Followings are extracted from page snippet restriction. Publisher explicitly requires a no-image treatment.", - "Translates to 50k pixels.", - "Translates to 300k pixels.", - "Followings are extracted from per image tag snippet restriction. Publisher explicitly requires a no-image treatment.", - "Translates to 50k pixels.", - "Translates to 300k pixels." - ], - "type": "string" - }, - "lineartDetectorScore": { - "format": "float", - "type": "number" - }, - "lineartDetectorVersion": { - "format": "int32", - "type": "integer" - }, - "linkinfoType": { - "description": "Bitmask of LinkInfo enum in google3/indexing/converter/outlinks/linkinfo.h.", - "format": "uint64", - "type": "string" - }, - "multibangKgEntities": { - "$ref": "ImageDataMultibangEntities" - }, - "nearDupFeatures": { - "format": "byte", - "type": "string" - }, - "nearDupFeaturesSmall": { - "items": { - "format": "byte", - "type": "string" - }, - "type": "array" - }, - "nearDupFeaturesSmallVersion": { - "description": "The following fields contain information about a smaller and less powerful version of the hash, needed for neardup retrieval. A compressed and an encoded version of the small hash are stored below. The smaller hash may have a few variants to increase recall. NOTE: This hash is generated by V2 hash computation. A compressed version of the small hash. Currently, a 4-byte fingerprint.", - "format": "int32", - "type": "integer" - }, - "nearDupFeaturesVersion": { - "description": "Image content derived data used for finding image near dups. NOTE: This hash is generated by V1 hash computation.", - "format": "int32", - "type": "integer" - }, - "nimaAva": { - "$ref": "ImageRepositoryNimaOutput", - "description": "Productionized Nima AVA score. Both this field and nima_vq were added on the top of nima_ava_score and nima_vq_score because the signals are already integrated with Batch Amarna in image/repository/schema/global_output_tags.h using NimaOutput." - }, - "nimaVq": { - "$ref": "ImageRepositoryNimaOutput", - "description": "Productionized Nima VQ score." - }, - "noIndexReason": { - "items": { - "enum": [ - "NO_INDEX_IMAGE_URL_NOT_SELECTED", - "NO_INDEX_REFERRER_URL_NOT_SELECTED", - "NO_INDEX_X_RAW_IMAGE", - "NO_INDEX_FAVICON", - "NO_INDEX_DETECTED_VIA_CONTENT", - "NO_INDEX_EXTERNAL_VIDEO_THUMBNAIL", - "NO_INDEX_ONSITE_ANCHOR", - "NO_INDEX_RSS_FEED", - "NO_INDEX_REJECTED_BY_IMAGE_SELECTION", - "NO_INDEX_EXPIRED_THUMBNAIL", - "NO_INDEX_REJECTED_BY_IMAGE_SELECTION_V1", - "NO_INDEX_REJECTED_BY_PYTHIA", - "NO_INDEX_EMPTY_THUMBNAIL" - ], - "enumDescriptions": [ - "", - "", - "This enum is set during the transition period for enabling raw image support in image search where we can use the indexing pipeline but UI for presentation is unavailable.", - "This enum is set if the image was extracted as a favicon on the page, and was not gathered from the page for any other reason.", - "This enum is set if the image was detected via its content and was not gathered from the page for any other reason. That is it was added to the image_links_from_content column in the document table.", - "This enum is set if the image is an external video thumbnail from an off-page source such as image anchors.", - "This enum is set if the image is from an on-page anchor.", - "This enum is set if the image is detected from an rss feed.", - "This enum is set if the image was normally selected by imagesearch for indexing, but didn't meet the quality threshold for Image Selection.", - "This enum is set if the image has expired thumbnails or no expiration timestamp is specified.", - "This enum is set if the image was normally selected by imagesearch for indexing, but didn't meet the quality threshold for heuristic image selection (a legacy system, ariane/171870).", - "This enum is set if the image was normally selected by imagesearch for indexing, but didn't meet the quality threshold for image Selection v2 (aka Pythia). See go/image-selection for details.", - "This enum is set if the image has no thumbnails fields found." - ], - "type": "string" - }, - "type": "array" - }, - "numberFaces": { - "description": "Number of faces detected in the image", - "format": "int32", - "type": "integer" - }, - "ocrGoodoc": { - "$ref": "GoodocDocument", - "description": "Pruned OCR Goodoc see vss_aksara_ocr_util.h for the fields copied." - }, - "ocrTaser": { - "$ref": "GoodocDocument", - "description": "Ocr detected by ocr_taser module." - }, - "ocrTextboxes": { - "description": "Text lines detected by OCR engine.", - "items": { - "$ref": "OcrPhotoTextBox" - }, - "type": "array" - }, - "onPageAlternateUrl": { - "description": "For an image not explicitly visible on this page, the following url is the one which most closely matches it.", - "type": "string" - }, - "orbitIntents": { - "$ref": "QualityOrbitOrbitImageIntents", - "description": "Orbit intents. More details on go/orbit-in-image-indexing." - }, - "packedFullFaceInfo": { - "$ref": "FaceIndexing", - "description": "Encodes face number and largest face frac into a small package for storage in mustang. This is calculated directly from FaceDetectionResult." - }, - "personAttributes": { - "$ref": "LensDiscoveryStylePersonAttributes", - "description": "Contains person attributes from the LookNet-Person model and the Style AI Iconic Person Scorer for the most iconic person in a style image." - }, - "personDetectionSignals": { - "$ref": "LensDiscoveryStylePersonDetectionSignals", - "description": "Contains person detection result." - }, - "photoDetectorScore": { - "format": "float", - "type": "number" - }, - "photoDetectorVersion": { - "format": "int32", - "type": "integer" - }, - "pornFlagData": { - "$ref": "PornFlagData", - "description": "Used by the segindexer for combined www+image indices." - }, - "precomputedRestricts": { - "$ref": "PrecomputedRestricts", - "description": "Restricts computed before building a Mustang index." - }, - "rankInNeardupCluster": { - "description": "Rank in near-dup cluster (go/image-rank-in-neardup-cluster). The rank is 1-indexed: rank 1 is the best.", - "format": "int32", - "type": "integer" - }, - "restrictStrings": { - "description": "A string representation of all the restricts associated with this image.", - "items": { - "type": "string" - }, - "type": "array" - }, - "robotedAgents": { - "description": "CSV list of user agents for which this image should be considered roboted. Note: All images are crawled using googlebot-images, this exists for clients that require additional restrictions beyond googlebot-images such as news.", - "type": "string" - }, - "shoppingProductInformation": { - "$ref": "ImageRepositoryShoppingProductInformation", - "description": "The Shoppable Images product information to be annotated in the Cdoc. All fields will be populated except the product location bounding box." - }, - "size": { - "description": "Size in bytes of original (non-thumbnail)", - "format": "int32", - "type": "integer" - }, - "smearedTopWebLandingPageDocids": { - "deprecated": true, - "description": "Web docids that correspond to high ranked smeared landing pages for this image. Used for conditional retrieval of actionable landing pages for image search.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "smearedTopWebLandingPages": { - "items": { - "$ref": "SmearedWebLandingPageEntry" - }, - "type": "array" - }, - "styleAestheticsScore": { - "$ref": "LensDiscoveryStyleAestheticsScoreSignals", - "description": "Aesthetics score of a style image." - }, - "styleImageType": { - "$ref": "LensDiscoveryStyleStyleImageTypeSignals", - "description": "Prediction of a style image type: Stage, Stock, Street or Outfits." - }, - "superlabelsV2ClusterId": { - "description": "Superlabels V2 generated cluster id.", - "format": "byte", - "type": "string" - }, - "testingScore": { - "description": "This field is for testing purposes, more information in go/media-dirt-2022.", - "format": "int32", - "type": "integer" - }, - "thumbHeight": { - "format": "int32", - "type": "integer" - }, - "thumbSize": { - "format": "int32", - "type": "integer" - }, - "thumbWidth": { - "description": "Thumbnail width.", - "format": "int32", - "type": "integer" - }, - "thumbnail": { - "items": { - "$ref": "ImageDataThumbnail" - }, - "type": "array" - }, - "unavailableAfterSecs": { - "description": "Time in seconds since epoch after which this image should be considered unavailable.", - "format": "int64", - "type": "string" - }, - "url": { - "description": "Canonicalized absolute image url.", - "type": "string" - }, - "whiteBackgroundScore": { - "format": "float", - "type": "number" - }, - "whiteBackgroundScoreVersion": { - "description": "Image is likely an object on a white background (value on [0,1]).", - "format": "int32", - "type": "integer" - }, - "width": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ImageDataMultibangEntities": { - "description": "Multibang kg entities.", - "id": "ImageDataMultibangEntities", - "properties": { - "entity": { - "items": { - "$ref": "ImageDataMultibangEntitiesMultibangEntity" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageDataMultibangEntitiesMultibangEntity": { - "id": "ImageDataMultibangEntitiesMultibangEntity", - "properties": { - "entityId": { - "description": "Entity ID.", - "type": "string" - }, - "score": { - "description": "Multibang score.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ImageDataThumbnail": { - "id": "ImageDataThumbnail", - "properties": { - "expirationTimestampMicros": { - "description": "The thumbnail is guaranteed to be kept in the serving system until the expiration timestamp has passed, in microseconds.", - "format": "int64", - "type": "string" - }, - "height": { - "format": "int32", - "type": "integer" - }, - "mimeType": { - "type": "string" - }, - "size": { - "format": "int32", - "type": "integer" - }, - "type": { - "enum": [ - "THUMBNAIL_TYPE_DEFAULT", - "THUMBNAIL_TYPE_AREA_50K", - "THUMBNAIL_TYPE_400", - "THUMBNAIL_TYPE_800", - "THUMBNAIL_TYPE_ORIGINAL", - "THUMBNAIL_TYPE_ORIGINAL_HQ", - "THUMBNAIL_TYPE_FAVICON_16", - "THUMBNAIL_TYPE_FAVICON_28", - "THUMBNAIL_TYPE_FAVICON_32", - "THUMBNAIL_TYPE_FAVICON_64", - "THUMBNAIL_TYPE_FAVICON_ORIGINAL", - "THUMBNAIL_TYPE_FAVICON_16_DARK", - "THUMBNAIL_TYPE_FAVICON_28_DARK", - "THUMBNAIL_TYPE_FAVICON_32_DARK", - "THUMBNAIL_TYPE_FAVICON_64_DARK", - "THUMBNAIL_TYPE_FAVICON_ORIGINAL_DARK", - "THUMBNAIL_TYPE_1080", - "THUMBNAIL_TYPE_1600_HQ", - "THUMBNAIL_TYPE_AREA_300K", - "THUMBNAIL_TYPE_AREA_50K_ALPHA", - "THUMBNAIL_TYPE_AREA_50K_SYNTHETIC_ALPHA", - "THUMBNAIL_TYPE_AREA_2M", - "THUMBNAIL_TYPE_AREA_2M_METADATA", - "THUMBNAIL_TYPE_800_ALPHA_WHITE", - "THUMBNAIL_TYPE_ORIGINAL_ALPHA_WHITE", - "THUMBNAIL_TYPE_ANIMATED_H144", - "THUMBNAIL_TYPE_ORIGINAL_HQ_LICENSED", - "THUMBNAIL_TYPE_TENOR_250K_GIF", - "THUMBNAIL_TYPE_TENOR_100K_OPTIMIZED_GIF", - "THUMBNAIL_TYPE_TENOR_30K_OPTIMIZED_THUMBNAIL_GIF", - "THUMBNAIL_TYPE_TENOR_45K_OPTIMIZED_90P_GIF", - "THUMBNAIL_TYPE_TENOR_50K_OPTIMIZED_100P_GIF", - "THUMBNAIL_TYPE_TENOR_100K_OPTIMIZED_200P_GIF", - "THUMBNAIL_TYPE_TENOR_50K_OPTIMIZED_100W_GIF", - "THUMBNAIL_TYPE_TENOR_100K_OPTIMIZED_200W_GIF", - "THUMBNAIL_TYPE_TENOR_45K_PREVIEW_GIF", - "THUMBNAIL_TYPE_TENOR_250K_MEDIUM_GIF", - "THUMBNAIL_TYPE_AREA_2M_WEBP", - "THUMBNAIL_TYPE_AREA_2M_WEBP_METADATA", - "THUMBNAIL_TYPE_AREA_2M_AVIF", - "THUMBNAIL_TYPE_AREA_2M_AVIF_METADATA", - "THUMBNAIL_TYPE_AREA_50K_WEBP", - "THUMBNAIL_TYPE_AREA_50K_AVIF", - "THUMBNAIL_TYPE_ORIGINAL_HQ_KG" - ], - "enumDescriptions": [ - "DEPRECATED - use THUMBNAIL_TYPE_AREA_50K if possible. The default thumbnail type is deprecated and no longer served by SFFE. For legacy users (e.g. imagesearch heirloom UI) you must request a downsized THUMBNAIL_TYPE_AREA_50K thumbnail.", - "This is the most common thumbnail type, used in image search results. It is defined to have 50625 pixels (= 225 x 225).", - "This refers to a thumbnail that fits in a 400x400 box.", - "This refers to a thumbnail that fits in a 800x800 box.", - "This refers to re-encoding original image to JPEG at the same size (up to 10000x10000). Output quality may be lower.", - "Re-encode image at the same size as original (up to 10000x10000) but with high-quality (q=90). This was introduced by TYPHOON client and is expected only for very few images in our table (under 10k). If you plan to use this contact amarna-dev@ and/or crt@", - "These refer to favicon thumbnails of 16x16, 32x32 or 64x64. If the original image is an ico file containing multiple embedded images including 16x16, 32x32 or 64x64, these thumbnails are derived from the embedded image of the corresponding size. (If no such embedded image is found, prefer the closest size that's larger. If still no such size exists, prefer largest.) If no such size exists, these thumbnails are rescaled to an image whose maximum dimension is 16, 28, 32 or 64.", - "", - "", - "", - "This type of favicon will preserve the size of the original image.", - "These refer to favicon thumbnails for dark mode. This triggers dark mode on the SVG decoding (and otherwise, the same as the above favicon types)", - "", - "", - "", - "", - "This refers to a thumbnail that fits in a 1080x1080 box.", - "This refers to a thumbnail that fits in a 1600x1600 box and is encoded with high-quality (q=90). Contact amarna-dev@/crt@/bingwang@ for using it.", - "This uses the same MaxAreaSizer as THUMBNAIL_TYPE_AREA_50K. The exact area is defined to be 307200 (= 640 x 480).", - "This is like THUMBNAIL_TYPE_AREA_50K, but with an alpha channel.", - "DEPRECATED - Please do not introduce new requests for this type. It will be eliminated soon. Until then, it will behave like the AREA_50K_ALPHA type -- use that instead.", - "This refers to a thumbnail with at most 2073600 pixels (=1920*1080). The image will be scaled down to 2M while preserving the aspect ratio if it's too large. If the thumbnail is in JPEG format, it is encoded with quality = 85. Besides, it supports alpha channel by default and does not convert lossless formats to JPEG.", - "Similar to THUMBNAIL_TYPE_AREA_2M, but with the source image metadata propagated.", - "In alpha-white thumbs, colors are remapped in RGBA to be more transparent the closer they are to white. This is for use with white-background images, so that the perceived background color can be darkened by rendering over gray. See go/alpha-white-thumbs for details and limitations. Sizing matches non-ALPHA_WHITE equivalents.", - "", - "Height-scaled animated thumb types, encoded as H264 previews. Suffix gives height, e.g. _H144 indicates height 144. Width is a scaled multiple-of-8 value so the thumb has approximately the same aspect ratio as the original. For more info, see http://go/animated-thumbs.", - "New thumbnail type for licensed contents. From a thumbnail generation perspective this behaves similarly to THUMBNAIL_TYPE_ORIGINAL_HQ, but it exists as a separate thumbnail type to enable takedowns requested by owner. WARNING: This type is primarily used by go/licensed-media-service and is subject to policy changes. Please contact g/license-media-service-team before using.", - "Tenor gifs go/tenor-integration-binary-serving-discussion", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Similar to THUMBNAIL_TYPE_AREA_2M but pre-transcoded to WebP and AVIF format, as those two format can be slow to transcode in serving time. Currently only generated for AMP images. These two thumbnails are static images despite that their formats support animation.", - "Similar to THUMBNAIL_TYPE_AREA_2M_WEBP, but with the source image metadata propagated.", - "AVIF is not yet a supported input for SCS serving time thumbnailing, trying to do so will give errors.", - "Similar to THUMBNAIL_TYPE_AREA_2M_AVIF, but with the source image metadata propagated.", - "WebP format. Currently only generated for navboost images.", - "AVIF format. Currently only generated for navboost images.", - "WARNING: This type is dedicated to KG_IMAGE client. http://b/234653726" - ], - "type": "string" - }, - "width": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ImageDataVerticalIndexingInfoImage": { - "description": "Proto to store vertical indexing information for the document and associated image outlinks. The image content can be indexed to multiple verticals, including imagesearch. It can also be indexed only in verticals, not in imagesearch.", - "id": "ImageDataVerticalIndexingInfoImage", - "properties": { - "name": { - "description": "List the string representation of the vertical that this image is indexed into.", - "type": "string" - } - }, - "type": "object" - }, - "ImageExactBoost": { - "id": "ImageExactBoost", - "properties": { - "navquery": { - "items": { - "$ref": "ImageExactBoostNavQuery" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageExactBoostNavQuery": { - "description": "Navboost query data.", - "id": "ImageExactBoostNavQuery", - "properties": { - "confidence": { - "description": "Associated confidence scores for the image for the query.", - "format": "int32", - "type": "integer" - }, - "imageClickRank": { - "description": "Click-based rank of the image for this query.", - "format": "int32", - "type": "integer" - }, - "navFp": { - "description": "Query fingerprint.", - "format": "uint64", - "type": "string" - }, - "navQuery": { - "description": "The normalized raw query text.", - "type": "string" - }, - "referrerDocid": { - "description": "List of all referrers, sorted by their rank (stored in Moosedog).", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "referrerRank": { - "description": "Rank of the current web doc referrer (stored in docjoins).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ImageExifIPTCMetadata": { - "description": "This proto holds IPTC metadata. http://www.iptc.org/cms/site/index.html?channel=CH0099 Proto field name is same with IPTC property name except which is clearly stated. Next Id: 64", - "id": "ImageExifIPTCMetadata", - "properties": { - "acquireLicensePage": { - "description": "Page URL about how to acquire this licensable image.", - "type": "string" - }, - "artwork": { - "items": { - "$ref": "ImageExifIPTCMetadataArtwork" - }, - "type": "array" - }, - "contactinfo": { - "$ref": "ImageExifIPTCMetadataContactInfo" - }, - "copyrightNotice": { - "type": "string" - }, - "creator": { - "description": "IPTC authorship \u0026 copyright related fields.", - "items": { - "type": "string" - }, - "type": "array" - }, - "creditLine": { - "type": "string" - }, - "dateCreated": { - "description": "Time (in seconds)", - "format": "int64", - "type": "string" - }, - "dateExpired": { - "format": "int64", - "type": "string" - }, - "dateReleased": { - "format": "int64", - "type": "string" - }, - "description": { - "type": "string" - }, - "digitalSourceType": { - "description": "See go/gi-annotations-indexing for more information.", - "enum": [ - "DST_NOT_RECORDED", - "DST_TRAINED_ALGORITHMIC_MEDIA", - "DST_COMPOSITE_SYNTHETIC", - "DST_ALGORITHMIC_MEDIA", - "DST_COMPOSITE_WITH_TRAINED_ALGORITHMIC_MEDIA" - ], - "enumDescriptions": [ - "", - "https://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia", - "https://cv.iptc.org/newscodes/digitalsourcetype/compositeSynthetic", - "https://cv.iptc.org/newscodes/digitalsourcetype/algorithmicMedia", - "https://cv.iptc.org/newscodes/digitalsourcetype/compositeWithTrainedAlgorithmicMedia" - ], - "type": "string" - }, - "event": { - "type": "string" - }, - "headline": { - "type": "string" - }, - "imageSupplier": { - "description": "PLUS field, not used.", - "type": "string" - }, - "instructions": { - "type": "string" - }, - "keywords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "licenseUrl": { - "description": "License URL about how to distribute the image.", - "type": "string" - }, - "location": { - "$ref": "ImageExifIPTCMetadataLocation" - }, - "locationCreated": { - "$ref": "ImageExifIPTCMetadataLocationInfo", - "description": "Location of the camera" - }, - "locationShown": { - "description": "Location shown on the image", - "items": { - "$ref": "ImageExifIPTCMetadataLocationInfo" - }, - "type": "array" - }, - "modelReleaseStatus": { - "enum": [ - "MR_UNKNOWN", - "MR_NONE", - "MR_NOT_APPLICABLE", - "MR_UNLIMITED", - "MR_LIMITED_OR_INCOMPLETE" - ], - "enumDescriptions": [ - "", - "http://ns.useplus.org/ldf/vocab/MR-NON", - "http://ns.useplus.org/ldf/vocab/MR-NAP", - "http://ns.useplus.org/ldf/vocab/MR-UMR", - "http://ns.useplus.org/ldf/vocab/MR-LMR" - ], - "type": "string" - }, - "propertyReleaseStatus": { - "enum": [ - "PR_UNKNOWN", - "PR_NONE", - "PR_NOT_APPLICABLE", - "PR_UNLIMITED", - "PR_LIMITED_OR_INCOMPLETE" - ], - "enumDescriptions": [ - "", - "http://ns.useplus.org/ldf/vocab/PR-NON", - "http://ns.useplus.org/ldf/vocab/PR-NAP", - "http://ns.useplus.org/ldf/vocab/PR-UPR", - "http://ns.useplus.org/ldf/vocab/PR-LPR" - ], - "type": "string" - }, - "rightsUsageTerms": { - "type": "string" - }, - "source": { - "type": "string" - }, - "supplementalCategories": { - "items": { - "type": "string" - }, - "type": "array" - }, - "title": { - "description": "IPTC description related fields.", - "type": "string" - } - }, - "type": "object" - }, - "ImageExifIPTCMetadataArtwork": { - "description": "Artwork or Object in the Image Details", - "id": "ImageExifIPTCMetadataArtwork", - "properties": { - "title": { - "description": "Other fields omitted.", - "type": "string" - } - }, - "type": "object" - }, - "ImageExifIPTCMetadataContactInfo": { - "id": "ImageExifIPTCMetadataContactInfo", - "properties": { - "address": { - "type": "string" - }, - "city": { - "type": "string" - }, - "country": { - "type": "string" - }, - "email": { - "type": "string" - }, - "phone": { - "type": "string" - }, - "postalCode": { - "type": "string" - }, - "state": { - "type": "string" - }, - "webUrl": { - "type": "string" - } - }, - "type": "object" - }, - "ImageExifIPTCMetadataLocation": { - "description": "Location of the camera @deprecated: Use location_created instead.", - "id": "ImageExifIPTCMetadataLocation", - "properties": { - "city": { - "type": "string" - }, - "country": { - "type": "string" - }, - "countryCode": { - "type": "string" - }, - "state": { - "type": "string" - }, - "subLocation": { - "type": "string" - }, - "worldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "ImageExifIPTCMetadataLocationInfo": { - "id": "ImageExifIPTCMetadataLocationInfo", - "properties": { - "city": { - "type": "string" - }, - "country": { - "type": "string" - }, - "countryCode": { - "type": "string" - }, - "state": { - "type": "string" - }, - "subLocation": { - "type": "string" - }, - "worldRegion": { - "type": "string" - } - }, - "type": "object" - }, - "ImageExifImageEmbeddedMetadata": { - "description": "This class holds the EXIf/IPTC meta data Next Id: 104", - "id": "ImageExifImageEmbeddedMetadata", - "properties": { - "altitude": { - "format": "double", - "type": "number" - }, - "aperture": { - "format": "float", - "type": "number" - }, - "author": { - "description": "Text fields EXIF_TAG_ARTIST", - "type": "string" - }, - "author2": { - "description": "EXIF_TAG_XP_AUTHOR", - "type": "string" - }, - "brightness": { - "format": "float", - "type": "number" - }, - "cameraMaker": { - "description": "Device - Camera raw text without normalization", - "type": "string" - }, - "cameraModel": { - "description": "raw text without normalization", - "type": "string" - }, - "cameraSerialNumber": { - "description": "This is the extracted serial number from EXIF (the source depends on camera, most of the cameras store it in makers note tag).", - "type": "string" - }, - "captureTime": { - "description": "Capturing settings in time_t", - "format": "int64", - "type": "string" - }, - "colorSpace": { - "format": "int32", - "type": "integer" - }, - "comments": { - "description": "EXIF_TAG_USER_COMMENT", - "type": "string" - }, - "comments2": { - "description": "EXIF_TAG_XP_COMMENT", - "type": "string" - }, - "continousDriveMode": { - "type": "boolean" - }, - "copyright": { - "description": "EXIF_TAG_COPYRIGHT", - "type": "string" - }, - "deprecatedCity": { - "description": "Location from IPTC @deprecated: Use iptc.location instead.", - "type": "string" - }, - "deprecatedCountry": { - "type": "string" - }, - "deprecatedState": { - "type": "string" - }, - "description": { - "description": "EXIF_TAG_IMAGE_DESCRIPTION", - "type": "string" - }, - "destBearing": { - "format": "double", - "type": "number" - }, - "destBearingRef": { - "description": "Bearing and distance to destination point.", - "format": "double", - "type": "number" - }, - "destDistance": { - "format": "double", - "type": "number" - }, - "destLatitude": { - "description": "GPS location of destination point.", - "format": "double", - "type": "number" - }, - "destLongitude": { - "format": "double", - "type": "number" - }, - "digitalZoomRatio": { - "format": "float", - "type": "number" - }, - "exposureBias": { - "format": "float", - "type": "number" - }, - "exposureProgram": { - "description": "1-8, see EXIF definition", - "format": "int32", - "type": "integer" - }, - "exposureTime": { - "format": "float", - "type": "number" - }, - "flashUsed": { - "type": "boolean" - }, - "focalLength": { - "format": "float", - "type": "number" - }, - "focalLength35mm": { - "description": "convert to match 35mm film camera", - "format": "float", - "type": "number" - }, - "focalPlaneResUnit": { - "format": "int32", - "type": "integer" - }, - "focalPlaneXres": { - "format": "float", - "type": "number" - }, - "focusMode": { - "enum": [ - "MANUAL_FOCUS", - "AF_ONE_SHOT", - "AF_CONTINUOUS", - "AF_AUTO", - "OTHER_FOCUS" - ], - "enumDescriptions": [ - "", - "", - "", - "auto switch between AF_ONE_SHOT and AF_CONTINUOUS", - "" - ], - "type": "string" - }, - "gpsDop": { - "description": "Dilution of precision. HDOP/PDOP depends on measure mode. Find out more at http://en.wikipedia.org/wiki/Dilution_of_precision_(GPS)", - "format": "double", - "type": "number" - }, - "gpsMeasureMode": { - "enum": [ - "MEASURE_MODE_2D", - "MEASURE_MODE_3D" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "gpsStatus": { - "enum": [ - "GPS_STATUS_ACTIVE", - "GPS_STATUS_VOID" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "hPositioningError": { - "description": "in meters", - "format": "double", - "type": "number" - }, - "imageHeight": { - "format": "int32", - "type": "integer" - }, - "imageWidth": { - "format": "int32", - "type": "integer" - }, - "imgDirection": { - "description": "GPS Heading 0.00 to 359.99 degrees", - "format": "double", - "type": "number" - }, - "imgDirectionRef": { - "enum": [ - "DirectionRef_True", - "DirectionRef_Magnetic" - ], - "enumDescriptions": [ - "Indicates the reference for giving the direction of the image when it is captured.", - "" - ], - "type": "string" - }, - "iptc": { - "$ref": "ImageExifIPTCMetadata" - }, - "iso": { - "format": "int32", - "type": "integer" - }, - "keywords": { - "description": "EXIF_TAG_XP_KEYWORDS", - "type": "string" - }, - "latitude": { - "description": "GPS location +/- 90 inclusive", - "format": "double", - "type": "number" - }, - "lensId": { - "description": "Device - Lens We use this extended id to identify a lens uniquely. Canon: \"%d %d %d\"=.. Nikon: \"%.2X %.2X %.2X %.2X %.2X %.2X %.2X %.2X\" Don't change the format of the internal lens id because we use them to look up the lens names.", - "type": "string" - }, - "lensMaker": { - "type": "string" - }, - "lightSource": { - "format": "int32", - "type": "integer" - }, - "longFocal": { - "format": "int32", - "type": "integer" - }, - "longitude": { - "description": "+/- 180 inclusive", - "format": "double", - "type": "number" - }, - "maxApertureAtLongFocal": { - "format": "float", - "type": "number" - }, - "maxApertureAtShortFocal": { - "format": "float", - "type": "number" - }, - "meteringMode": { - "description": "1-6, see EXIF definition", - "format": "int32", - "type": "integer" - }, - "modificationTime": { - "description": "in time_t", - "format": "int64", - "type": "string" - }, - "orientation": { - "enum": [ - "ORIENTATION_0_DEG", - "ORIENTATION_MIRROR_0_DEG", - "ORIENTATION_180_DEG", - "ORIENTATION_MIRROR_180_DEG", - "ORIENTATION_MIRROR_270_DEG", - "ORIENTATION_90_DEG", - "ORIENTATION_MIRROR_90_DEG", - "ORIENTATION_270_DEG" - ], - "enumDescriptions": [ - "All rotations are clockwise. Rotations expressed are those required to place the image in the desired orientation. Note that the enum values here are not arbitrary; they are defined in the exif standard. Normal.", - "Mirror horizontally.", - "Rotate 180 degrees.", - "Mirror horizontally then rotate 180", - "(the same as mirror vertically). Mirror horizontally then rotate 270.", - "Rotate 90 degrees.", - "Mirror horizontally then rotate 90.", - "Rotate 270 degrees." - ], - "type": "string" - }, - "shortFocal": { - "format": "int32", - "type": "integer" - }, - "software": { - "description": "EXIF_TAG_SOFTWARE", - "type": "string" - }, - "subject": { - "description": "EXIF_TAG_XP_SUBJECT", - "type": "string" - }, - "subjectDistance": { - "format": "float", - "type": "number" - }, - "subjectLocationX": { - "format": "int32", - "type": "integer" - }, - "subjectLocationY": { - "format": "int32", - "type": "integer" - }, - "title": { - "description": "EXIF_TAG_XP_TITLE", - "type": "string" - }, - "xResolution": { - "description": "pixels per inch", - "format": "float", - "type": "number" - }, - "yResolution": { - "description": "pixels per inch", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ImageMonetizationFeaturedImageProperties": { - "id": "ImageMonetizationFeaturedImageProperties", - "properties": { - "inspirationScore": { - "description": "How an image is inspirational, [0, 1].", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ImageMoosedogCrawlState": { - "id": "ImageMoosedogCrawlState", - "properties": { - "code": { - "enum": [ - "VALID_IMAGE", - "INVALID_FETCH_REPLY", - "XROBOTED", - "URL_NOT_CRAWLED", - "PARSE_ERROR", - "INVALID_IMAGE", - "IMS_CRAWL_NOT_MODIFIED", - "EXPIRED_DISCOVERY_CRAWL", - "EXPIRED_FEED_CRAWL", - "EXPIRED_PRIORITY_FEED_CRAWL", - "INVALID_URL", - "VALID_VIDEO", - "VALID_SWF", - "VALID_SILVERLIGHT", - "INVALID_VIDEO", - "TRUNCATED_CONTENTS", - "FAST_CRAWL_LOCK_ACQUIRE_FAILED", - "FAST_CRAWL_TTL_EXPIRED" - ], - "enumDescriptions": [ - "", - "The crawl resulted in an invalid fetch reply. This means that fetchreply did not contain the url or the original crawl date inside it.", - "The url was xroboted.", - "Look at url not_crawled_reason for specific errors.", - "The url was successfully crawled but contained no valid image or video content.", - "The url was successfully crawled but was in a format not currently supported.", - "This was a referesh crawl and there was no modification that needs to be processesed.", - "This is a discovery url that webmirror discarded. Such urls need not be imported.", - "This is a feed url and webmirror expired it.", - "This is a feed url in one of the priority feeds and webmirror expired it.", - "The passed URL was not valid and could not be crawled.", - "This is a valid video, SWF, or Silverlight object.", - "", - "", - "This is an invalid video.", - "This is a large image or video, and only part of it has been fetched.", - "Temporary status for fast crawl failures.", - "" - ], - "type": "string" - }, - "detailedReason": { - "description": "Each of the above not_crawled_reason will have a set of detailed reason defined in crawler/trawler/trawler_enums.proto.", - "format": "int32", - "type": "integer" - }, - "internalStatus": { - "$ref": "UtilStatusProto", - "description": "The status returned when RPCs are used to internally fetch the image (eg. from FIFE)." - }, - "isTerminal": { - "description": "Specifies if the current crawl state is terminal.", - "type": "boolean" - }, - "noIndexAfterTimestamp": { - "description": "Time in seconds since epoch after which this image should be considered unavailable.", - "format": "int64", - "type": "string" - }, - "notCrawledReason": { - "enum": [ - "URL_CRAWLED", - "URL_ERROR", - "URL_ROBOTED", - "URL_UNREACHABLE", - "URL_TIMEOUT", - "URL_REJECTED", - "URL_NOT_FOLLOWED", - "NUM_STATE_TYPES" - ], - "enumDescriptions": [ - "", - "Error fetching; most commonly 404;", - "but many other possible reasons. Roboted out.", - "Fetch error; 5xx; truncated response; etc.", - "Timeout while fetching.", - "Internally Rejected (by fetcher/fetchproxy)", - "based on capacity or permissions. Redirects/retries-related: we crawled something", - "*** don't forget to update." - ], - "type": "string" - }, - "overrodeTerminalState": { - "description": "When true, it means that a non-terminal state has overwrote a terminal one.", - "type": "boolean" - }, - "repid": { - "description": "The repid for the urls. This repid is the id given to the dupe cluster this url belongs to.", - "format": "byte", - "type": "string" - }, - "robotedAgents": { - "description": "A comma separated list of user agents for which this image should be considered roboted. All images are crawled using googlebot-images and this exists here purely for informative reasons.", - "type": "string" - }, - "url": { - "description": "The url at which we crawled this content. With us starting to use repids the crawl table key no longer is suggestive of the url. In addition this is used in Amarna to detect race conditions between a reference changing its crawl directive and the original crawl job finishing.", - "type": "string" - }, - "urlDeleted": { - "description": "Set to true if the url is taken down by clients. This indicates that this crawl state is used to fast remove the crawl result of the url instead of waiting for Multiverse crawl results. For more information, please refer to go/amarna-url-deletion.", - "type": "boolean" - } - }, - "type": "object" - }, - "ImageMustangImageLinkSelectionInfo": { - "description": "For detailed info, please see go/naive-image-selection", - "id": "ImageMustangImageLinkSelectionInfo", - "properties": { - "webRelevanceScore": { - "description": "score calculated in image selection phase, higher imagelink_selection_score more relevant the link is related to the web page", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "ImageMustangShoppingOffer": { - "description": "A proto buffer to organize shopping offer info from Inventory \u0026 Policy Service.", - "id": "ImageMustangShoppingOffer", - "properties": { - "inferredImageTypes": { - "items": { - "enum": [ - "UNKNOWN", - "MERCHANT_IMAGE", - "ML_INFERRED_IMAGE", - "NEARDUP_INFERRED_IMAGE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "ipsOfferId": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "ImagePerDocData": { - "id": "ImagePerDocData", - "properties": { - "DEPRECATEDEntropyColor": { - "description": "entropy and color values for thumbnail (4 bytes consisting of R, G, B and entropy values)", - "format": "uint32", - "type": "integer" - }, - "filename": { - "description": "about 10 bytes", - "type": "string" - }, - "flags": { - "description": "image_perdoc.h", - "format": "int32", - "type": "integer" - }, - "height": { - "format": "int32", - "type": "integer" - }, - "width": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ImagePornDebugInfo": { - "description": "Used to store debug information of the overall classifier.", - "id": "ImagePornDebugInfo", - "properties": { - "info": { - "type": "string" - } - }, - "type": "object" - }, - "ImageQualityNavboostImageQualityClickSignals": { - "description": "Next ID: 3", - "id": "ImageQualityNavboostImageQualityClickSignals", - "properties": { - "clicks": { - "format": "float", - "type": "number" - }, - "gveClicks": { - "description": "Good clicks that are defined using GVE (go/gve-history).", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ImageQualitySensitiveMediaOrPeopleEntities": { - "description": "Goldmine annotation in the CDoc to store the hrid of the 5 entities with higher topicality in the document. Used by the Skin Tone Twiddler to determine if the result set shows mostly one specific KG entity. go/result-set-signal", - "id": "ImageQualitySensitiveMediaOrPeopleEntities", - "properties": { - "mediaEntitiesId": { - "description": "Similar to above, but for media entities (movie name, fictional character, musical band)", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "peopleEntitiesId": { - "description": "hrid of the 5 people entities with higher topicality in the document", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageRegionsImageRegion": { - "description": "A single region within an image. NEXT_ID: 11", - "id": "ImageRegionsImageRegion", - "properties": { - "boundingBox": { - "$ref": "PhotosVisionGroundtruthdbNormalizedBoundingBox", - "description": "The bounding box of the region." - }, - "boundingBoxScore": { - "description": "The confidence score associated with the bounding box.", - "format": "float", - "type": "number" - }, - "id": { - "description": "A unique identifier for the region within the image. The id is unique only among other regions in the image.", - "type": "string" - }, - "isProduct": { - "description": "Set true if the region represents a product, i.e., if any of its labels are on a product labels whitelist. See ImageRegionsConfig for details on the product whitelist.", - "type": "boolean" - }, - "knnScore": { - "description": "The score for this region based on how visually similar its neighbors are.", - "format": "double", - "type": "number" - }, - "labelGroup": { - "$ref": "ImageUnderstandingIndexingLabelGroup", - "description": "The label group corresponding to the first LabelParams listed in ImageRegionsConfig." - }, - "labelVersion": { - "description": "The version string of the labels with which the region was processed.", - "type": "string" - }, - "primaryLabel": { - "$ref": "ImageUnderstandingIndexingLabel", - "description": "The primary label associated with the region. Specifically, the highest-scored whitelisted label associated with the region. See ImageRegionsConfig for details on the whitelist." - }, - "renderType": { - "enum": [ - "UNSET", - "DONT_RENDER", - "RENDER_ONLY_BOUNDING_BOX", - "RENDER_BOUNDING_BOX_AND_PRIMARY_LABEL" - ], - "enumDescriptions": [ - "", - "Do not render this region.", - "Render only the bounding box but not the primary label.", - "Render both the bounding box and the primary label." - ], - "type": "string" - }, - "starburstV4": { - "$ref": "ImageUnderstandingIndexingFeature", - "description": "The starburst v4 features and tokens for the region." - } - }, - "type": "object" - }, - "ImageRegionsImageRegions": { - "description": "An image with regions within it. NEXT_ID: 11", - "id": "ImageRegionsImageRegions", - "properties": { - "finalPornScore": { - "description": "The final_porn_score for the image.", - "format": "float", - "type": "number" - }, - "finalViolenceScore": { - "description": "The final_violence_score for the image.", - "format": "float", - "type": "number" - }, - "flowOutput": { - "$ref": "ImageContentFlowProtoProd", - "description": "The output of various features generated by the Flow framework, most importantly data from Starburst (go/starburst)." - }, - "has300kThumb": { - "description": "True if the image has a 300k thumb.", - "type": "boolean" - }, - "hasNavboost": { - "description": "True if the image has navboost.", - "type": "boolean" - }, - "isIuInappropriate": { - "description": "True if the image is iu-inappropriate.", - "type": "boolean" - }, - "pedoScore": { - "description": "The pedo_score of the image.", - "format": "float", - "type": "number" - }, - "precomputedRestricts": { - "$ref": "PrecomputedRestricts", - "description": "The precomputed restricts for the image." - }, - "racyScore": { - "description": "The racy_score of the image.", - "format": "float", - "type": "number" - }, - "region": { - "description": "The list of regions.", - "items": { - "$ref": "ImageRegionsImageRegion" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageRepositoryAmarnaCloudSpeechSignals": { - "description": "Next Tag: 10", - "id": "ImageRepositoryAmarnaCloudSpeechSignals", - "properties": { - "duplicateOfYtS3Asr": { - "description": "If this field is set to true, it means that Youtube already processed the ASR from S3 for the langID. Please find the ASR result from transcript_asr in google3/image/repository/proto/video_search.proto instead.", - "type": "boolean" - }, - "langWithoutLocale": { - "deprecated": true, - "description": "DEPRECATED: Please switch to `langid_input`. The language id input for creating this ASR without regional info. Same format as in go/ytlangid. This field is populated in Kronos Amarna Cloud Speech operator and passed to Amarna, but it is cleared before stored in Amarna's metadata table.", - "type": "string" - }, - "langidInput": { - "$ref": "ImageRepositoryLanguageIdentificationResult", - "description": "The language identification input used to generate this ASR. This field is populated in Kronos Amarna Cloud Speech operator and passed to Amarna, but cleared before stored in Amarna's metadata table." - }, - "modelIdentifier": { - "type": "string" - }, - "results": { - "description": "Raw results from Cloud Speech API", - "items": { - "$ref": "ImageRepositorySpeechRecognitionResult" - }, - "type": "array" - }, - "s3RecognizerMetadataResponse": { - "$ref": "ImageRepositoryS3RecognizerMetadataResponse", - "description": "The metadata about the S3 recognizer used." - }, - "transcriptAsr": { - "$ref": "PseudoVideoData", - "description": "This field contains full (stitched) transcription, word-level time offset , and word-level byte offset. The value of this field is derived from the SpeechRecognitionResult field above." - } - }, - "type": "object" - }, - "ImageRepositoryAmarnaSignalsBlob": { - "id": "ImageRepositoryAmarnaSignalsBlob", - "properties": { - "frameFeatures": { - "$ref": "DrishtiFeatureSetDataSequence" - } - }, - "type": "object" - }, - "ImageRepositoryAmarnaSignalsBlobInfo": { - "id": "ImageRepositoryAmarnaSignalsBlobInfo", - "properties": { - "signalsBlobId": { - "description": "Blob id for AmarnaSignalsBlob (see `Blob proto` section of go/revisit-frame-level-signals-amarna).", - "type": "string" - }, - "signalsBlobUpdateTimestamp": { - "description": "Additional timestamp field for when the blob is written/updated, serving as the dirty field to help checksum-based update push (see `Dirty field` section in go/revisit-frame-level-signals-amarna).", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryAmarnaStatus": { - "description": "This message stores the status and reason why Amarna was unable to provide perdoc information for an image.", - "id": "ImageRepositoryAmarnaStatus", - "properties": { - "reason": { - "enum": [ - "NOT_REJECTED", - "INVALID_MEDIA", - "TERMINAL_CRAWL_ERROR", - "LOW_PRIORITY_REFERRER", - "REMOVED_BY_CLIENT_REQUEST", - "XROBOTED", - "CONTENT_PROCESSING_ERROR", - "MISSING_DOCID", - "ROBOTED", - "UNWANTED_CONTENT", - "NOT_A_VIDEO", - "INDEXING_DELAY" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true - ], - "enumDescriptions": [ - "The default reason for rejection.", - "The url was crawled successfully, but the content is not an image / video that Amarna can currently parse and index.", - "There was a permanent error crawling this url, other than xrobots.", - "The media item has too many urls associated with it and the priority of this media url is not high enough to be associated with the media item. As Amarna processes other requests it may force a previously associated url to be no longer associated with the item. In this case Amarna will send a message with this status asking the client to remove this url.", - "The url was removed by the client's request.", - "We successfully issued a crawl request to the host, and got roboted out.", - "Contents were crawled successfully, the content type is something Amarna is supposed to handle, processing was attempted, but media annotators failed to generate data for this content.", - "Fairly specific amarna internal consistency error: we last received a an expired feed crawl from this url, but never received the bytes and could not compute a docid..", - "Crawl was disallowed by robots.txt.", - "Deprecated. Don't reuse.", - "", - "" - ], - "type": "string" - }, - "status": { - "enum": [ - "READY", - "REJECTED", - "NOT_READY", - "DEPRECATED_3" - ], - "enumDescriptions": [ - "For media_type == IMAGE: The url was crawled successfully, and the content is of correct media type. Amarna has registered the interest of the corpus and has associated this url with the media item. A receipt of a message with this status will imply to the client that Amarna is ready to serve this media externally. This is the only case when docid will be set. For media_type == VIDEO: This status will be used in all cases except deletions, so Alexandria will always link the contained VideoProperties to the associated web CompositeDocs. This is necessary because the final video indexing decisions are made in Doc-Properties, where the only inputs are the CompositeDocs. For media_type == FAVICON: The url was crawled successfully, and the content is of correct media type. Amarna has registered the interest of the corpus and has associated this url with the media item. A receipt of a message with this status will imply to the client that Amarna is ready to serve this media externally. This is the only case when docid will be set.", - "For media_type == IMAGE: Corpus on receipt of this status should assume that Amarna has initiated a removal of this url and should prepare to delete it. For media_type == VIDEO: This status will be used for deletions, which occur when there are no longer any web pages associated with a video url. By using the REJECTED status, we instruct Alexandria to remove the VideoProperties from the video table. For media_type == FAVICON: Corpus on receipt of this status should assume that Amarna has initiated a removal of this url and should prepare to delete it.", - "For media_type == IMAGE: Media is not ready to be served yet. Amarna is still trying to crawl it. This will be sent only in the immediate mode API or when a MediaUpdate is requested via MediaUpdateRequest. For media_type == VIDEO: Not applicable. For media_type == FAVICON: Media is not ready to be served yet. Amarna is still trying to crawl it or generate thumbnails for it.", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryAnimatedImagePerdocData": { - "description": "Additional animated image data stored in perdoc (ImageData); will only be stored for animated images.", - "id": "ImageRepositoryAnimatedImagePerdocData", - "properties": { - "aggregatedPornScores": { - "$ref": "ImageSafesearchContentBrainPornAnnotation", - "description": "Aggregated porn scores for animated images. Aggregated using max sampling rate / max duration. Note the plan is to fold these scores into existing summarized scores, for cases where these scores are available. See tracking bug b/63580795." - }, - "durationMs": { - "description": "Total duration of animation, in ms.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ImageRepositoryApiItagSpecificMetadata": { - "description": "The metadata returned with each transcode. Next available field: 9", - "id": "ImageRepositoryApiItagSpecificMetadata", - "properties": { - "expirationTimestampSec": { - "description": "Timestamp (measured in seconds since epoch) after which Amarna will delete the serving transcode.", - "format": "int64", - "type": "string" - }, - "genus": { - "description": "The Venom Genus that this transcode was produced for.", - "enum": [ - "GENUS_UNKNOWN", - "GENUS_YT_HIGH_VALUE_CONTENT", - "GENUS_YT_USER_GENERATED_CONTENT", - "GENUS_GMAIL", - "GENUS_KIDS_HUB", - "GENUS_YOUTUBE_DIRECTOR", - "GENUS_DCLK_VIDEO_ADS", - "GENUS_DAI_PODCAST", - "GENUS_TESTING", - "GENUS_YT_UNPLUGGED_SVOD", - "GENUS_YT_UNPLUGGED_DVR", - "GENUS_HVC_INGESTION", - "GENUS_DRIVE", - "GENUS_YT_LIGHTWEIGHT_VIDEO", - "GENUS_ASK_QNA", - "GENUS_LOCAL_VIDEO", - "GENUS_PLAY_AUDIOBOOKS", - "GENUS_HANGOUTS_CHAT", - "GENUS_VIDEO_INTEREST_FEED", - "GENUS_YT_MUSIC", - "GENUS_RECORDER", - "GENUS_YT_ORIGINAL_CONTENT", - "GENUS_STAMP", - "GENUS_BULLETIN_AUDIO", - "GENUS_CRAWL", - "GENUS_PHOTOS", - "GENUS_MATERIAL_GALLERY", - "GENUS_YT_REFERENCE", - "GENUS_LENSLETS_VIDEOS", - "GENUS_BLOGGER", - "GENUS_PODCASTS", - "GENUS_OCEAN", - "GENUS_LMS", - "GENUS_WEB_VIDEO_ADS", - "GENUS_STUDIO", - "GENUS_YT_TDSD_REFERENCE", - "GENUS_WEB_STORY", - "GENUS_NEST_CAMERA_CLOUD", - "GENUS_AREA120_BLUEBIRD", - "GENUS_ARTS_AND_CULTURE", - "GENUS_DEMO", - "GENUS_KARTO", - "GENUS_CONTRIB_SERVICE_SHARED", - "GENUS_CONTRIB_SERVICE_GEO_UGC", - "GENUS_CONTRIB_SERVICE_BARD_STORAGE", - "GENUS_CONTRIB_SERVICE_FLYBY", - "GENUS_CONTRIB_SERVICE_SHOPSTREAM", - "GENUS_SEARCH_SPORTS", - "GENUS_BUSINESSMESSAGING", - "GENUS_AERIAL_VIEW", - "GENUS_DOCS_FLIX_RENDER", - "GENUS_SHOPPING", - "GENUS_YT_GATV", - "GENUS_YT_AUDIO_COMMENT_VIDEOS" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "Genus for Ad Manager Video Ads (formerly Doubleclick video ads).", - "Genus for DAI podcasts, part of Ad Manager Video Ads.", - "", - "Genera for Unplugged videos. GENUS_YT_UNPLUGGED_SVOD is for Unplugged SVOD contents. GENUS_YT_UNPLUGGED_DVR is for Unplugged DVR contents. Videos created with this genus will be stored in Blobstore (to make per-user clone), and will be removed after a certain period. Besides, we prefer no reruns for such videos.", - "", - "", - "", - "Also known as Stories, or Reels.", - "", - "Genus for local imagery aka Photo/Video On Maps, stored on Google Photos. Contact: local-imagery-team@.", - "", - "Genus for Hangouts Chat (Dynamite).", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Genus for 'A-' References; audio or video references that are not playable on YouTube, and only used as references for ContentID claiming.", - "", - "", - "Genus for Google Podcasts \u0026 Audio News.", - "Genus for Ocean / Play Books.", - "Genus for Licensed Media Service videos.", - "Genus for Web Video Ads.", - "Genus for RichMedia Studio.", - "Genus for TDSD references. These are not playable on YouTube, and are only used for generating ContentID fingerprints.", - "Genus for Kahani Web Stories.", - "Genus for Nest Camera Cloud.", - "Genus for Area120 Bluebird", - "Genus for Google Arts \u0026 Culture.", - "Genus for new Video Processing clients to do initial prototyping before they decide to formally onboard. go/venom-clients#demo-tier", - "Genus for Karto videos.", - "Shared genus for ContribService UGC videos for small clients requesting the same set of common signals. Large ContribService Video clients should have their own genera. go/user-owned-video-content-processing", - "Genus for GEO UGC videos processed by ContribService. go/venom-lite-for-geo-photo-videos", - "Genus for BARD UGC videos processed by ContribService. go/venom-for-bard-ugc-videos", - "Genus for FlyBy (Local Top Ads) videos processed by ContribService. go/venom-for-flyby-videos.", - "Genus for Shopstream videos processed by ContribService. go/venom-for-shopstream-videos.", - "Genus for Search Sports vertical videos", - "Genus for Business Messaging videos", - "Genus for Geo Aerial View", - "Genus for Flix Render (Docs)", - "Genus for CDS videos processed through Amarna.", - "Genus for Generative AI Art Track Videos (go/gatvs).", - "Genus for Audio Comment videos. END: Client genera -- Do NOT edit this comment go/vp-ide-reference#codegen-comments" - ], - "type": "string" - }, - "state": { - "description": "Indicates the state in Venom for this transcode type.", - "enum": [ - "STATE_UNKNOWN", - "STATE_DONE", - "STATE_NOT_APPLICABLE", - "STATE_MISSING", - "STATE_DELETED", - "STATE_DIRTY", - "STATE_OBSOLETE", - "STATE_PENDING_PUBLICATION", - "STATE_FAILED" - ], - "enumDescriptions": [ - "", - "Final states i.e., states in which we would stay unless the client revises ## the expectations. As far as the relevant service is concerned, the asset has been fully produced.", - "As far as the service is concerned, the asset should not be produced (say, HD for a SD input)", - "STATE_MISSING indicates the asset needs to be created. It is a transient state from STATE_DIRTY. It is also the final state if the asset failed to be created within its allowed number of retries.", - "The asset has been removed. This is the final state for assets that were previously OBSOLETE, or for goals of UNWANTED.", - "Purely transient states, that will be reconciled to a final state at some point. NOTE: In edge case scenarios, e.g., a video is out of Venom-level retries, has invalid content, etc these \"transient\" states might not ## transition to one of the \"final\" states listed above. The client is not happy with the state of an asset, and wants to get it regenerated. If the processing run(s) triggered by setting the state to STATE_DIRTY did not succeed, the asset will remain in STATE_DIRTY.", - "The asset has been produced in the past, but is not needed anymore. We'll try to delete it shortly.", - "The asset is ready to be published but is waiting for other assets in its group. This state is between MISSING/DIRTY and DONE.", - "RESERVED. This state is deprecated." - ], - "type": "string" - }, - "transcodeItag": { - "description": "transcode type which are available for the video.", - "format": "int32", - "type": "integer" - }, - "videoId": { - "$ref": "VideoAssetsVenomVideoId", - "description": "The Venom ID that this transcode was produced for." - }, - "xtagsList": { - "$ref": "ImageRepositoryApiXtagList", - "description": "Indicates xtags if present. Xtag makes the different transcode. For transcode \"MP4_AVCBASE640_AAC/af=sq\" (itag 18 with xtag), \"af=sq\" is the xtag part. This is a different transcode than \"MP4_AVCBASE640_AAC\" (itag 18)." - } - }, - "type": "object" - }, - "ImageRepositoryApiXtag": { - "id": "ImageRepositoryApiXtag", - "properties": { - "name": { - "description": "Names are all stored case-sensitive, and no case-folding is done for comparisons.", - "type": "string" - }, - "value": { - "description": "The value associated with this Xtag. Values are all stored case-sensitive, and no case-folding is done for comparisons.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryApiXtagList": { - "description": "XtagList -- a collection of Xtag instances with unique names. This would be associated with one specific piece of content.", - "id": "ImageRepositoryApiXtagList", - "properties": { - "xtags": { - "items": { - "$ref": "ImageRepositoryApiXtag" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageRepositoryContentBasedVideoMetadata": { - "description": "Next Tag: 52", - "id": "ImageRepositoryContentBasedVideoMetadata", - "properties": { - "amarnaDocid": { - "description": "A hash of the video bytes used as a key to Amarna's video_metadata table.", - "type": "string" - }, - "aresClassificationRequestTimestamp": { - "description": "Timestamp of the last successful Ares classification request.", - "format": "google-datetime", - "type": "string" - }, - "audioOnly": { - "description": "Both audio- and audio-video-files are treated as videos during indexing (whether they share a container format, like .mp4, or not, like .mp3). This bool indicates that there's no video track, just an audio track.", - "type": "boolean" - }, - "cloudSpeechSignals": { - "$ref": "ImageRepositoryAmarnaCloudSpeechSignals", - "deprecated": true, - "description": "Transcript generated from Cloud Speech API" - }, - "featureSetData": { - "$ref": "DrishtiFeatureSetData", - "description": "Video Understanding Golden features. (go/amarna-video-signals#golden-signals) Note: Golden6 features (names matching \"video_*\") are DEPRECATED. Please migrate to Golden7 (\"VideoFeatures.*\"). For more context, see go/golden7/migrating-from-golden6 and go/amarna-golden-feature-tracker. Signals popluated in Raffia cdoc.doc_videos are configured in cs/symbol:AMARNA_EXPORTED_GOLDEN7_FEATURES." - }, - "frameLevelStarburstEmbeddings": { - "$ref": "ImageRepositoryFrameLevelStarburstEmbeddings", - "description": "Frame-level Starburst embeddings. They are IE only signals for short videos initially and will be supported for all videos later. (go/frame-level-sbv5-on-ie)" - }, - "golden7SoapboxSummary": { - "$ref": "DrishtiFeatureSetData", - "description": "Golden7 video-level people features. (go/ypf-video-features)" - }, - "golden7SoapboxTracksBlobInfo": { - "$ref": "ImageRepositoryAmarnaSignalsBlobInfo", - "description": "Information on frame-level people feature blob. (go/vpf-frame-features)" - }, - "inlinePlayback": { - "$ref": "VideoCrawlVideoInlinePlaybackMetadata", - "description": "Metadata related to Inline playback on the Interest Feed. This field is filled by Hamilton." - }, - "languageIdentification": { - "$ref": "VideoTimedtextS4ALIResults" - }, - "legosAnnotationData": { - "$ref": "VideoLegosLegosAnnotationsSets", - "deprecated": true, - "description": "Legos results" - }, - "lmsPreviewFramePerdocs": { - "$ref": "ImageRepositoryFramePerdocs", - "description": "LMS preview frame perdocs. Timestamps of the frame perdocs are from the original video, not from the preview." - }, - "loudnessData": { - "$ref": "VideoStorageLoudnessData", - "description": "When Transcode itag 140 is requested, MediaAnalyzer (as the part of Viper graph) generates audio info including loudness_data, which is then published to Streamer. For Audio news client, we extract this loudness data from Streamer to this field." - }, - "mediaInfo": { - "$ref": "VideoMediaInfo", - "description": "Information about the media file, such as duration, resolution, and detail about each audio/video stream. Note that it contains no PII." - }, - "multiThumbnailsFramePerdocs": { - "$ref": "ImageRepositoryFramePerdocs", - "description": "multi_thumbnails_frame_perdocs contains perdocs(go/vss-signals#perdoc) for all frame thumbnails generated by multiple frames per minutes. See more details in go/multiple-thumbnails-per-minutes." - }, - "representativeFrameData": { - "$ref": "ImageData" - }, - "s3Asr": { - "$ref": "ImageRepositoryAmarnaCloudSpeechSignals", - "description": "Trnascript generated through AMARNA_CLOUD_SPEECH asset in Venom. Note that AMARNA_CLOUD_SPEECH uses S3 as the speech engine backend, similar to YT caption's SPEECH_RECOGNIZER asset. However, they may use different S3 models." - }, - "s3LanguageIdentification": { - "$ref": "ImageRepositoryS3LangIdSignals" - }, - "safesearchVideoContentSignals": { - "$ref": "SafesearchVideoContentSignals", - "description": "Contains SafeSearch video classification outputs which are vertical_name/float pairs." - }, - "searchDocid": { - "description": "64 bit docid used for retrieving video previews.", - "format": "uint64", - "type": "string" - }, - "signalsBlob": { - "$ref": "ImageRepositoryAmarnaSignalsBlob", - "description": "Amarna signals blob that contains large-size signals like VCA frame-level signals." - }, - "signalsBlobInfo": { - "$ref": "ImageRepositoryAmarnaSignalsBlobInfo", - "description": "Information for the amarna signals blob." - }, - "speechProperties": { - "$ref": "IndexingSpeechSpeechPropertiesProto" - }, - "thumbnailQualityScore": { - "$ref": "VideoThumbnailsThumbnailScore", - "description": "Thumbnail quality score predict how visual pleasing a thumbnail is, based on the model trained with deep neural networks.(go/thumb_features_dd) Note the signal currently only available for Youtube videos." - }, - "thumbnailerData": { - "$ref": "VideoPipelineViperThumbnailerColumnData" - }, - "transcodeMetadata": { - "description": "Metadata about each transcode requested.", - "items": { - "$ref": "ImageRepositoryApiItagSpecificMetadata" - }, - "type": "array" - }, - "transcriptAsr": { - "$ref": "PseudoVideoData", - "description": "Speech related metadata The transcript_asr field is generated from the YT caption's SPEECH_RECOGNIZER asset. We strongly recommend to use s3_asr instead of transcript_asr as of 2024. Media Solutions team owns s3_asr and provides more flexibility with ASR features for our client needs, whereas the underlying engine of the transcript_asr field is owned by Youtube, and we do not have control over." - }, - "truncationInfo": { - "$ref": "ImageRepositoryFileTruncationInfo", - "description": "Data about whether or not the video was truncated." - }, - "unwantedContent": { - "$ref": "ImageRepositoryUnwantedContent", - "description": "If set, video has been deleted using the deletion service (MediaDeletionService)." - }, - "venomId": { - "deprecated": true, - "description": "The video id in the venom pipeline for STAMP purposes. DEPRECATED: Use transcode_metadata or venom_processing_info instead, which includes the ID and contains information for all clients.", - "type": "string" - }, - "venomProcessingInfo": { - "$ref": "ImageRepositoryVenomProcessingInfo", - "description": "Information about the video's status in Venom, including IDs and processing times." - }, - "videoAnchorSet": { - "$ref": "VideoContentSearchVideoAnchorSets", - "description": "Video anchor sets hold set of anchors with multiple anchor types and sequence of VideoAnchor which contains metadata about the anchor, such as thumbnail, perdoc data." - }, - "videoDurationSec": { - "description": "Set from the video header if truncated, or is the verified length if completely crawled.", - "format": "double", - "type": "number" - }, - "videoPornScore": { - "description": "The video porn confidence score extracted from Whisper featureSet: \"video_labels:whisper_v3\", with CR2 label: \"/cr2/1\".", - "format": "float", - "type": "number" - }, - "videoPornScoreV4": { - "description": "The video porn confidence score extracted from WhisperV4 featureSet: \"VideoFeatures.whisper_v4_labels\", with CR2 label: \"/tns/porn\".", - "format": "float", - "type": "number" - }, - "videoPreviewBytes": { - "description": "video_preview_bytes is only exported as virtual dataset by IE VideoUnderstanding and should not be persisted. It will be used by downstream IE functions to push for serving.", - "items": { - "$ref": "ImageRepositoryVideoPreviewsVideoPreview" - }, - "type": "array" - }, - "videoPreviews": { - "description": "video_previews contain the preview metadata but no bytes. It exits for IE and non-IE cases.", - "items": { - "$ref": "ImageBaseVideoPreviewMetadata" - }, - "type": "array" - }, - "videoStreamInfo": { - "$ref": "VideoPipelineViperVSIColumnData", - "deprecated": true, - "description": "Deprecated, please use media_info." - }, - "videoTranscriptAnnotations": { - "$ref": "QualityWebanswersVideoTranscriptAnnotations", - "description": "VideoTranscriptAnnotations holds sentence segmented text and timing information to be used for VideoAnswers (go/video-answers). Note that only punctuated_transcript, timing_info, and lang field are filled, and other fields will be filled in the later stage." - }, - "youtubeProcessingFilter": { - "$ref": "ImageRepositoryYoutubeProcessingFilter", - "description": "Contains lists of reasons why YT videos were filtered from specific processing." - } - }, - "type": "object" - }, - "ImageRepositoryCrawlStatusInfo": { - "description": "Fields for crawl-status-related debugging information.", - "id": "ImageRepositoryCrawlStatusInfo", - "properties": { - "code": { - "enum": [ - "VALID_IMAGE", - "INVALID_FETCH_REPLY", - "XROBOTED", - "URL_NOT_CRAWLED", - "PARSE_ERROR", - "INVALID_IMAGE", - "IMS_CRAWL_NOT_MODIFIED", - "EXPIRED_DISCOVERY_CRAWL", - "EXPIRED_FEED_CRAWL", - "EXPIRED_PRIORITY_FEED_CRAWL", - "INVALID_URL", - "VALID_VIDEO", - "VALID_SWF", - "VALID_SILVERLIGHT", - "INVALID_VIDEO", - "TRUNCATED_CONTENTS", - "FAST_CRAWL_LOCK_ACQUIRE_FAILED", - "FAST_CRAWL_TTL_EXPIRED" - ], - "enumDescriptions": [ - "", - "The crawl resulted in an invalid fetch reply. This means that fetchreply did not contain the url or the original crawl date inside it.", - "The url was xroboted.", - "Look at url not_crawled_reason for specific errors.", - "The url was successfully crawled but contained no valid image or video content.", - "The url was successfully crawled but was in a format not currently supported.", - "This was a referesh crawl and there was no modification that needs to be processesed.", - "This is a discovery url that webmirror discarded. Such urls need not be imported.", - "This is a feed url and webmirror expired it.", - "This is a feed url in one of the priority feeds and webmirror expired it.", - "The passed URL was not valid and could not be crawled.", - "This is a valid video, SWF, or Silverlight object.", - "", - "", - "This is an invalid video.", - "This is a large image or video, and only part of it has been fetched.", - "Temporary status for fast crawl failures.", - "" - ], - "type": "string" - }, - "notCrawledReason": { - "enum": [ - "URL_CRAWLED", - "URL_ERROR", - "URL_ROBOTED", - "URL_UNREACHABLE", - "URL_TIMEOUT", - "URL_REJECTED", - "URL_NOT_FOLLOWED", - "NUM_STATE_TYPES" - ], - "enumDescriptions": [ - "", - "Error fetching; most commonly 404;", - "but many other possible reasons. Roboted out.", - "Fetch error; 5xx; truncated response; etc.", - "Timeout while fetching.", - "Internally Rejected (by fetcher/fetchproxy)", - "based on capacity or permissions. Redirects/retries-related: we crawled something", - "*** don't forget to update." - ], - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryDeepImageEngagingnessOutput": { - "id": "ImageRepositoryDeepImageEngagingnessOutput", - "properties": { - "score": { - "description": "DeepImageEngagingness score.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ImageRepositoryFileTruncationInfo": { - "description": "Describes our knowledge about whether a stored file is truncated with respect to its original file online.", - "id": "ImageRepositoryFileTruncationInfo", - "properties": { - "originalFileSizeLowerBoundBytes": { - "description": "A lower bound on the original file's size.", - "format": "int64", - "type": "string" - }, - "truncationState": { - "description": "Indicates whether the stored file is equal to the original file (COMPLETE), is only a prefix (TRUNCATED), or that we don't know (UNKNOWN, the default).", - "enum": [ - "UNKNOWN", - "COMPLETE", - "TRUNCATED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryFrameIdentifier": { - "description": "Identifier for frames associated with a video.", - "id": "ImageRepositoryFrameIdentifier", - "properties": { - "multiThumbnailVariant": { - "$ref": "ImageRepositoryFrameIdentifierMultiThumbnailVariant" - }, - "previewFrameZeroVariant": { - "$ref": "ImageRepositoryFrameIdentifierPreviewFrameZeroVariant" - }, - "thumbnailVariant": { - "$ref": "ImageRepositoryFrameIdentifierThumbnailVariant" - }, - "timestampMs": { - "description": "Offset of the frame from the beginning of the video (in milliseconds).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ImageRepositoryFrameIdentifierMultiThumbnailVariant": { - "description": "This variant defines the frame to be used as multiple thumbnails per miuntes.", - "id": "ImageRepositoryFrameIdentifierMultiThumbnailVariant", - "properties": {}, - "type": "object" - }, - "ImageRepositoryFrameIdentifierPreviewFrameZeroVariant": { - "description": "This variant defines the frame to be the first frame of the video's generated preview.", - "id": "ImageRepositoryFrameIdentifierPreviewFrameZeroVariant", - "properties": { - "previewLength": { - "enum": [ - "UNSPECIFIED", - "THREE_SECONDS", - "SIX_SECONDS" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "xtagList": { - "$ref": "ImageRepositoryApiXtagList", - "description": "All xtags used in the generation of the preview. The same frame generated from the same preview with different xtags will likely have different bytes (such as, for example, resulting from a different aspect ratio)." - } - }, - "type": "object" - }, - "ImageRepositoryFrameIdentifierThumbnailVariant": { - "description": "This variant defines the frame to be a thumbnail of the video.", - "id": "ImageRepositoryFrameIdentifierThumbnailVariant", - "properties": {}, - "type": "object" - }, - "ImageRepositoryFrameLevelStarburstEmbeddings": { - "description": "Each supported Starburst embedding version will have a pair of AmarnaSignalsBlobInfo and SUPFrameLevelEmbeddings. Blob info has the blob id of the corresponding embeddings and a blob write timestamp. SUPFrameLevelEmbeddings are the actual frame-level embeddings at 1 FPS. MMS callers have 3 options to fetch frame-level Starburst embeddings: 1. OPTION_NONE (default): Don't fetch frame-level Starburst embeddings. 2. OPTION_BLOB_DATA: Fetch the actual Starburst embeddings in SUPFrameLevelEmbeddings. 3. OPTION_CLONED_BLOB_ID: Clone the starburst embeddings into the target Blobstore directory. Then, fetch the cloned blob id of Starburst embeddings in AmarnaSignalsBlobInfo.", - "id": "ImageRepositoryFrameLevelStarburstEmbeddings", - "properties": { - "starburstV5Embeddings": { - "$ref": "ImageRepositorySUPFrameLevelEmbeddings", - "description": "Frame-level Starburst V5 embeddings computed by SUP. See https://data.corp.google.com/su_catalog/signal/starburst:v5." - }, - "starburstV5EmbeddingsBlobInfo": { - "$ref": "ImageRepositoryAmarnaSignalsBlobInfo", - "description": "Frame-level Starburst V5 embeddings blob id." - } - }, - "type": "object" - }, - "ImageRepositoryFramePerdoc": { - "description": "Only one of timestamp_msec or frame_identifier should be set. timestamp_msec is the old identifier for frames, and is still used on thumbnail frames. frame_identifier should be used on other kinds of frames (e.g. preview frame zero).", - "id": "ImageRepositoryFramePerdoc", - "properties": { - "errorStatus": { - "$ref": "UtilStatusProto", - "description": "Error, if any, while generating the frame perdoc. It is mutually exclusive to the perdoc, only set when perdoc is missing." - }, - "frameIdentifier": { - "$ref": "ImageRepositoryFrameIdentifier" - }, - "perdoc": { - "$ref": "ImageData" - }, - "timestampMsec": { - "deprecated": true, - "description": "Timestamp (in msec) of the frame from the original video DEPRECATED: Use the timestamp_ms field in frame_identifier instead.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ImageRepositoryFramePerdocs": { - "description": "This proto stores perdocs extracted from video frames.", - "id": "ImageRepositoryFramePerdocs", - "properties": { - "framePerdoc": { - "items": { - "$ref": "ImageRepositoryFramePerdoc" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageRepositoryGeneratedImageLikelihoodSignal": { - "id": "ImageRepositoryGeneratedImageLikelihoodSignal", - "properties": { - "fingerprintNearestNeighborDecision": { - "description": "Decision according to the given fingerprint nearest neighbor score.", - "enum": [ - "UNKNOWN_DECISION", - "ACCEPT", - "FALLBACK_ACCEPT", - "ABSTAIN", - "REJECT", - "FALLBACK_REJECT" - ], - "enumDescriptions": [ - "", - "This image is confidently identified as generated by Google.", - "Unsure if the watermark is present, but the nearest neighbor search indicates the image is generated by Google confidently.", - "It is uncertain whether this image is generated by Google.", - "Both watermark and nearest neighbor search are confident that the given image is not generated by Google.", - "Unsure whether the watermark is not detected and the nearest neighbor search indicates confidently that the image is not generated by Google." - ], - "type": "string" - }, - "provenanceClassifierDecision": { - "description": "OVERALL DECISION Decision according to the given watermark logits and fingerprint nearest neighbor score.", - "enum": [ - "UNKNOWN_DECISION", - "ACCEPT", - "FALLBACK_ACCEPT", - "ABSTAIN", - "REJECT", - "FALLBACK_REJECT" - ], - "enumDescriptions": [ - "", - "This image is confidently identified as generated by Google.", - "Unsure if the watermark is present, but the nearest neighbor search indicates the image is generated by Google confidently.", - "It is uncertain whether this image is generated by Google.", - "Both watermark and nearest neighbor search are confident that the given image is not generated by Google.", - "Unsure whether the watermark is not detected and the nearest neighbor search indicates confidently that the image is not generated by Google." - ], - "type": "string" - }, - "watermarkDecision": { - "description": "INDIVIDUAL DECISION Decision according to the given watermark logits.", - "enum": [ - "UNKNOWN_DECISION", - "ACCEPT", - "FALLBACK_ACCEPT", - "ABSTAIN", - "REJECT", - "FALLBACK_REJECT" - ], - "enumDescriptions": [ - "", - "This image is confidently identified as generated by Google.", - "Unsure if the watermark is present, but the nearest neighbor search indicates the image is generated by Google confidently.", - "It is uncertain whether this image is generated by Google.", - "Both watermark and nearest neighbor search are confident that the given image is not generated by Google.", - "Unsure whether the watermark is not detected and the nearest neighbor search indicates confidently that the image is not generated by Google." - ], - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryLanguageIdentificationResult": { - "id": "ImageRepositoryLanguageIdentificationResult", - "properties": { - "localeStripped": { - "description": "Whether the locale got stripped from the original result before further processing.", - "type": "boolean" - }, - "s3TopLocale": { - "description": "From cs/symbol:speech.s3.LanguageIdentificationResult owned by go/s3.", - "type": "string" - }, - "ytCapsAudioLanguage": { - "description": "From cs/symbol:video_platform.operation.AudioLanguage owned gy go/ytcaps.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryNimaOutput": { - "id": "ImageRepositoryNimaOutput", - "properties": { - "score": { - "description": "NIMA score.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ImageRepositoryS3LangIdDebuggingInfo": { - "description": "For debugging only.", - "id": "ImageRepositoryS3LangIdDebuggingInfo", - "properties": { - "audioInputCap": { - "description": "Audio input processing cap.", - "format": "google-duration", - "type": "string" - }, - "failedSegments": { - "description": "Number of failed segments. Successful segments are stored in `langid_signals_for_segment`.", - "format": "int32", - "type": "integer" - }, - "processedSegments": { - "description": "Number of processed segments.", - "format": "int32", - "type": "integer" - }, - "segmentDuration": { - "description": "Duration of each segment (except for the last one if capped).", - "format": "google-duration", - "type": "string" - }, - "segmentStride": { - "description": "If \u003e1, every N segment is processed.", - "format": "int32", - "type": "integer" - }, - "waveHeader": { - "$ref": "SpeechWaveHeader", - "description": "Wave header of the audio input." - } - }, - "type": "object" - }, - "ImageRepositoryS3LangIdSignals": { - "description": "Next Tag: 10", - "id": "ImageRepositoryS3LangIdSignals", - "properties": { - "containsSpeech": { - "description": "Whether this audio chunk has speech or not.", - "type": "boolean" - }, - "debuggingInfo": { - "$ref": "ImageRepositoryS3LangIdDebuggingInfo" - }, - "endSec": { - "format": "int64", - "type": "string" - }, - "langidResult": { - "$ref": "SpeechS3LanguageIdentificationResult", - "description": "S3 langID result. We keep langid_result even if contains_speech = false." - }, - "languageIdentification": { - "$ref": "VideoTimedtextS4ALIResults", - "description": "Converted version of the langid_result field, so that we have the YT compatible version of the langID result." - }, - "modelVersion": { - "description": "The version of the model used for S3 LangID service.", - "type": "string" - }, - "speechFrameCount": { - "format": "int32", - "type": "integer" - }, - "startSec": { - "description": "The audio chunk which corresponds to this langID result expressed as a start_sec and end_sec.", - "format": "int64", - "type": "string" - }, - "totalFrameCount": { - "description": "Count the number of total frames in the audio chunk as well as the number of speech frames.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ImageRepositoryS3RecognizerMetadataResponse": { - "description": "This proto is trimmed down from RecognizerMetadataResponse in google3/speech/service/s3/services/recognizer/recognizer.proto", - "id": "ImageRepositoryS3RecognizerMetadataResponse", - "properties": { - "mode": { - "type": "string" - }, - "modelInfoLabel": { - "type": "string" - }, - "serviceName": { - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositorySUPFrameLevelEmbedding": { - "id": "ImageRepositorySUPFrameLevelEmbedding", - "properties": { - "embedding": { - "$ref": "ReneEmbedding", - "description": "Embedding of the frame." - }, - "timeOffset": { - "description": "Time offset of the frame.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositorySUPFrameLevelEmbeddings": { - "id": "ImageRepositorySUPFrameLevelEmbeddings", - "properties": { - "embeddings": { - "description": "All the frame-level embeddings of the video.", - "items": { - "$ref": "ImageRepositorySUPFrameLevelEmbedding" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageRepositoryShoppingProductInformation": { - "description": "A message containing embedding information and localization scores using the VSS product recognition module.", - "id": "ImageRepositoryShoppingProductInformation", - "properties": { - "productSets": { - "description": "Information about versioned product sets found. There will be at most two versions present. The results from the current version of the models used in VSS and the results from the previous version of the models used. Note that not all products may have two version since the model might detect the product in one version and not the other.", - "items": { - "$ref": "ImageRepositoryShoppingProductInformationVersionedProductInformationSet" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageRepositoryShoppingProductInformationBoundingBox": { - "description": "Contains the coordinates of the normalized bounding box.", - "id": "ImageRepositoryShoppingProductInformationBoundingBox", - "properties": { - "h": { - "description": "The vertical height of the bounding box (ymax - ymin + 1), normalized by image height with range [0,1].", - "format": "float", - "type": "number" - }, - "w": { - "description": "The horizontal width of the bound box (xmax - xmin + 1), normalized by image width with range [0,1].", - "format": "float", - "type": "number" - }, - "x": { - "description": "The x coordinate (xmin), normalized by image width with range [0,1).", - "format": "float", - "type": "number" - }, - "y": { - "description": "The y coordinate (ymin), normalized by image height with range [0,1).", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ImageRepositoryShoppingProductInformationEntity": { - "description": "The recognized entity.", - "id": "ImageRepositoryShoppingProductInformationEntity", - "properties": { - "id": { - "type": "string" - }, - "score": { - "description": "The normalized recognition score between 0 and 1.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ImageRepositoryShoppingProductInformationProductInformation": { - "description": "Information about a single product. For ProductNet models, each product has one label with a detection score. The label is mapped to one or multiple category ids. For PRIMI generic feature models, each product can have multiple entities, and each entity has a score. The category_id and detection_score fields are not populated for PRIMI generic feature models.", - "id": "ImageRepositoryShoppingProductInformationProductInformation", - "properties": { - "categoryId": { - "description": "The possible Merlot ids for the item. There may be more than one if the product detector result corresponds to a collection of merlot ids, which can't be easily grouped up to a common ancestor, for which the detector would still make sense for all the children. E.g. a detected \"chair\" can be either an indoor chair or an outdoor one, however in Merlot the common ancestor of the two is furniture.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "clusterIds": { - "description": "The k-d tree clusters for retrieval. Will be deprecated, use the token_groups instead. To add tokens/cluster_ids from new tokenization model in the future, add it to the token_groups.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "detectionScore": { - "description": "The localization detection score.", - "format": "float", - "type": "number" - }, - "embedding": { - "description": "The serialized embedding values.", - "format": "byte", - "type": "string" - }, - "entities": { - "description": "The recognized entities and scores.", - "items": { - "$ref": "ImageRepositoryShoppingProductInformationEntity" - }, - "type": "array" - }, - "featureType": { - "description": "Feature type (different detectors and embedders) requested.", - "type": "string" - }, - "productLocation": { - "$ref": "ImageRepositoryShoppingProductInformationBoundingBox", - "description": "The bounding box." - }, - "tokenGroups": { - "items": { - "$ref": "ImageRepositoryShoppingProductInformationProductInformationTokenGroup" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageRepositoryShoppingProductInformationProductInformationTokenGroup": { - "description": "The tokens for retrieval.", - "id": "ImageRepositoryShoppingProductInformationProductInformationTokenGroup", - "properties": { - "model": { - "enum": [ - "UNKNOWN", - "KMEANS", - "KMEANSV2", - "KMEANSV3" - ], - "enumDescriptions": [ - "", - "Apparel, homegoods, and PGF V1 tokens.", - "Apparel V2, homegoods V2 (box) and PGF V2 tokens.", - "PGF V3 tokens." - ], - "type": "string" - }, - "tokens": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageRepositoryShoppingProductInformationVersionedProductInformationSet": { - "description": "Store ProductInformation for a given version of the models used in VSS.", - "id": "ImageRepositoryShoppingProductInformationVersionedProductInformationSet", - "properties": { - "modelType": { - "description": "The type of the model.", - "enum": [ - "MODEL_TYPE_UNKNOWN", - "MODEL_TYPE_PRODUCTNET", - "MODEL_TYPE_PRIMI_GENERIC" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "products": { - "description": "List of ProductInformation for this version.", - "items": { - "$ref": "ImageRepositoryShoppingProductInformationProductInformation" - }, - "type": "array" - }, - "version": { - "description": "The version of the models used in VSS. Newer version will have a higher version number.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ImageRepositorySpeechRecognitionAlternative": { - "description": "Alternative hypotheses (a.k.a. n-best list).", - "id": "ImageRepositorySpeechRecognitionAlternative", - "properties": { - "confidence": { - "description": "The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative of a non-streaming result or, of a streaming result where `is_final=true`. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.", - "format": "float", - "type": "number" - }, - "transcript": { - "description": "Transcript text representing the words that the user spoke.", - "type": "string" - }, - "words": { - "description": "A list of word-specific information for each recognized word. Note: When `enable_speaker_diarization` is true, you will see all the words from the beginning of the audio.", - "items": { - "$ref": "ImageRepositoryWordInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageRepositorySpeechRecognitionResult": { - "description": "A speech recognition result corresponding to a portion of the audio. This field is copied from cloud/speech/v1p1beta1/cloud_speech.proto. Amarna needs to have a standalone version as v1p1beta1/cloud_speech.proto is in the for of versioned proto and it breaks other prod code depending on Amarna's video schema.", - "id": "ImageRepositorySpeechRecognitionResult", - "properties": { - "alternatives": { - "description": "May contain one or more recognition hypotheses (up to the maximum specified in `max_alternatives`). These alternatives are ordered in terms of accuracy, with the top (first) alternative being the most probable, as ranked by the recognizer.", - "items": { - "$ref": "ImageRepositorySpeechRecognitionAlternative" - }, - "type": "array" - }, - "channelTag": { - "description": "For multi-channel audio, this is the channel number corresponding to the recognized result for the audio from that channel. For audio_channel_count = N, its output values can range from '1' to 'N'.", - "format": "int32", - "type": "integer" - }, - "languageCode": { - "description": "The [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag of the language in this result. This language code was detected to have the most likelihood of being spoken in the audio.", - "type": "string" - }, - "resultEndTime": { - "description": "Time offset of the end of this result relative to the beginning of the audio. This field is internal-only and is used to order results based on their timestamps.", - "format": "google-duration", - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryUnwantedContent": { - "description": "To indicate whether the image or video is to be deleted from the repository due to legal reasons or hidden from search results.", - "id": "ImageRepositoryUnwantedContent", - "properties": { - "deletionReason": { - "enum": [ - "OTHER", - "CP" - ], - "enumDescriptions": [ - "", - "abusive images involving children." - ], - "type": "string" - }, - "hideReason": { - "enum": [ - "UNKNOWN", - "NCEI" - ], - "enumDescriptions": [ - "", - "NCEI stands for 'non-consensual explicit imagery', aka 'revenge porn'. However in this case the name is misleading as it actually only applies for videos." - ], - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryVenomProcessingInfo": { - "id": "ImageRepositoryVenomProcessingInfo", - "properties": { - "venomStatus": { - "description": "Contains one status for each Genus that this video belongs to in Venom. For example, a video that is both 1) Found on the web, and 2) Opted-in by an Interest Feed partner would have two entries, one for GENUS_CRAWL and one for GENUS_VIDEO_INTEREST_FEED", - "items": { - "$ref": "ImageRepositoryVenomStatus" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageRepositoryVenomStatus": { - "id": "ImageRepositoryVenomStatus", - "properties": { - "acl": { - "$ref": "VideoAssetsVenomACL", - "description": "Venom ACL of the video. Used to check if other systems, such as Ares, are able to process the video." - }, - "deletionTimestampUsec": { - "format": "int64", - "type": "string" - }, - "genus": { - "description": "The Genus (Venom's client ID) that this media belongs to.", - "enum": [ - "GENUS_UNKNOWN", - "GENUS_YT_HIGH_VALUE_CONTENT", - "GENUS_YT_USER_GENERATED_CONTENT", - "GENUS_GMAIL", - "GENUS_KIDS_HUB", - "GENUS_YOUTUBE_DIRECTOR", - "GENUS_DCLK_VIDEO_ADS", - "GENUS_DAI_PODCAST", - "GENUS_TESTING", - "GENUS_YT_UNPLUGGED_SVOD", - "GENUS_YT_UNPLUGGED_DVR", - "GENUS_HVC_INGESTION", - "GENUS_DRIVE", - "GENUS_YT_LIGHTWEIGHT_VIDEO", - "GENUS_ASK_QNA", - "GENUS_LOCAL_VIDEO", - "GENUS_PLAY_AUDIOBOOKS", - "GENUS_HANGOUTS_CHAT", - "GENUS_VIDEO_INTEREST_FEED", - "GENUS_YT_MUSIC", - "GENUS_RECORDER", - "GENUS_YT_ORIGINAL_CONTENT", - "GENUS_STAMP", - "GENUS_BULLETIN_AUDIO", - "GENUS_CRAWL", - "GENUS_PHOTOS", - "GENUS_MATERIAL_GALLERY", - "GENUS_YT_REFERENCE", - "GENUS_LENSLETS_VIDEOS", - "GENUS_BLOGGER", - "GENUS_PODCASTS", - "GENUS_OCEAN", - "GENUS_LMS", - "GENUS_WEB_VIDEO_ADS", - "GENUS_STUDIO", - "GENUS_YT_TDSD_REFERENCE", - "GENUS_WEB_STORY", - "GENUS_NEST_CAMERA_CLOUD", - "GENUS_AREA120_BLUEBIRD", - "GENUS_ARTS_AND_CULTURE", - "GENUS_DEMO", - "GENUS_KARTO", - "GENUS_CONTRIB_SERVICE_SHARED", - "GENUS_CONTRIB_SERVICE_GEO_UGC", - "GENUS_CONTRIB_SERVICE_BARD_STORAGE", - "GENUS_CONTRIB_SERVICE_FLYBY", - "GENUS_CONTRIB_SERVICE_SHOPSTREAM", - "GENUS_SEARCH_SPORTS", - "GENUS_BUSINESSMESSAGING", - "GENUS_AERIAL_VIEW", - "GENUS_DOCS_FLIX_RENDER", - "GENUS_SHOPPING", - "GENUS_YT_GATV", - "GENUS_YT_AUDIO_COMMENT_VIDEOS" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "Genus for Ad Manager Video Ads (formerly Doubleclick video ads).", - "Genus for DAI podcasts, part of Ad Manager Video Ads.", - "", - "Genera for Unplugged videos. GENUS_YT_UNPLUGGED_SVOD is for Unplugged SVOD contents. GENUS_YT_UNPLUGGED_DVR is for Unplugged DVR contents. Videos created with this genus will be stored in Blobstore (to make per-user clone), and will be removed after a certain period. Besides, we prefer no reruns for such videos.", - "", - "", - "", - "Also known as Stories, or Reels.", - "", - "Genus for local imagery aka Photo/Video On Maps, stored on Google Photos. Contact: local-imagery-team@.", - "", - "Genus for Hangouts Chat (Dynamite).", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Genus for 'A-' References; audio or video references that are not playable on YouTube, and only used as references for ContentID claiming.", - "", - "", - "Genus for Google Podcasts \u0026 Audio News.", - "Genus for Ocean / Play Books.", - "Genus for Licensed Media Service videos.", - "Genus for Web Video Ads.", - "Genus for RichMedia Studio.", - "Genus for TDSD references. These are not playable on YouTube, and are only used for generating ContentID fingerprints.", - "Genus for Kahani Web Stories.", - "Genus for Nest Camera Cloud.", - "Genus for Area120 Bluebird", - "Genus for Google Arts \u0026 Culture.", - "Genus for new Video Processing clients to do initial prototyping before they decide to formally onboard. go/venom-clients#demo-tier", - "Genus for Karto videos.", - "Shared genus for ContribService UGC videos for small clients requesting the same set of common signals. Large ContribService Video clients should have their own genera. go/user-owned-video-content-processing", - "Genus for GEO UGC videos processed by ContribService. go/venom-lite-for-geo-photo-videos", - "Genus for BARD UGC videos processed by ContribService. go/venom-for-bard-ugc-videos", - "Genus for FlyBy (Local Top Ads) videos processed by ContribService. go/venom-for-flyby-videos.", - "Genus for Shopstream videos processed by ContribService. go/venom-for-shopstream-videos.", - "Genus for Search Sports vertical videos", - "Genus for Business Messaging videos", - "Genus for Geo Aerial View", - "Genus for Flix Render (Docs)", - "Genus for CDS videos processed through Amarna.", - "Genus for Generative AI Art Track Videos (go/gatvs).", - "Genus for Audio Comment videos. END: Client genera -- Do NOT edit this comment go/vp-ide-reference#codegen-comments" - ], - "type": "string" - }, - "insertionResponseTimestampUsec": { - "description": "Time that VideoNotification result was received from Venom.", - "format": "int64", - "type": "string" - }, - "insertionTimestampUsec": { - "format": "int64", - "type": "string" - }, - "lastInsertionAttemptsNum": { - "description": "Record the attempts num of previous insertion. It's only updated when either the insertion succeeds or fails with reason INSERTION_ATTEMPTS_EXCEEDED, but it's always set so that we can easily construct venom_id with this attempts num for future insertions.", - "format": "int32", - "type": "integer" - }, - "reason": { - "enum": [ - "NONE", - "INVALID", - "WRONG_CRITERIA", - "DISABLED", - "FAILED_INSERTION", - "INSERTION_SKIPPED", - "FAILED_DELETION", - "INCOMPLETE_DOWNLOAD", - "FILTERED", - "NOT_FOUND", - "INSERTION_ATTEMPTS_EXCEEDED", - "ASSET_ALREADY_EXISTS" - ], - "enumDescriptions": [ - "", - "Missing/bad video data.", - "Video doesn't meet criteria for the producer.", - "Met all criteria, but unsent due to flags.", - "RPC failed.", - "Venom insertion skipped because the video has", - "been uploaded successfully to Venom in previous insertion. This is only set when VenomState is INSERTED. RPC failed.", - "Not inserted due to truncated download.", - "Filtered from Venom based on metadata.", - "The video is not found, only applies to YouTube videos.", - "Out of insertion attempts.", - "The assets already exist in Venom." - ], - "type": "string" - }, - "settings": { - "description": "The Settings that were used to customize the Venom request for this media.", - "items": { - "$ref": "VideoAssetsVenomSettings" - }, - "type": "array" - }, - "state": { - "enum": [ - "UNKNOWN_STATE", - "INSERTED", - "RESPONDED", - "NOT_INSERTED", - "DELETED", - "NOT_DELETED" - ], - "enumDescriptions": [ - "", - "Video sent to Venom.", - "Amarna has received a pubsub from Venom.", - "Amarna chose not to send the video to Venom.", - "Video has been deleted.", - "Video should've been deleted, but wasn't." - ], - "type": "string" - }, - "transition": { - "$ref": "VideoAssetsVenomTransition", - "description": "Transition contains the Objective and Outcome of the latest Venom run." - }, - "venomId": { - "$ref": "VideoAssetsVenomVideoId", - "description": "The media's unique identifier within Venom." - }, - "venomMutationGeneration": { - "description": "The generation number returned by Venom.", - "format": "int64", - "type": "string" - }, - "videoVenomSetting": { - "description": "This field is not persisted anywhere. It is only used in deletion service for converying the VideoVenomSetting when deleting Venom data.", - "enum": [ - "VIDEO_VENOM_SETTING_COMMON", - "VIDEO_VENOM_SETTING_VINEYARD" - ], - "enumDescriptions": [ - "This corresponds to [trustme.crawl] is {CLIENT_OTHER}.", - "This corresponds to [trustme.crawl] is {CLIENT_OTHER, CLIENT_VINEYARD}. LINT.ThenChange( //depot/google3/image/repository/shared/util/video_util.cc, )" - ], - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryVideoIndexingInfo": { - "id": "ImageRepositoryVideoIndexingInfo", - "properties": { - "notIndexedVideoLink": { - "items": { - "$ref": "ImageRepositoryVideoLinkIndexingInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageRepositoryVideoLinkIndexingInfo": { - "id": "ImageRepositoryVideoLinkIndexingInfo", - "properties": { - "crawlStatusInfo": { - "$ref": "ImageRepositoryCrawlStatusInfo", - "description": "Fields for crawl-status-related debugging information." - }, - "url": { - "description": "The video URL.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryVideoPreviewsDebuggingInfo": { - "id": "ImageRepositoryVideoPreviewsDebuggingInfo", - "properties": { - "lastAmarnaProcessingTime": { - "description": "Last Amarna processing timestamp.", - "format": "google-datetime", - "type": "string" - }, - "processingEngine": { - "description": "The underlying processing engine, like 'viper' or 'kronos'.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryVideoPreviewsVideoPreview": { - "id": "ImageRepositoryVideoPreviewsVideoPreview", - "properties": { - "content": { - "description": "The actual video preview bytes generated for the video.", - "format": "byte", - "type": "string" - }, - "debuggingInfo": { - "$ref": "ImageRepositoryVideoPreviewsDebuggingInfo", - "description": "Used for debugging only." - }, - "metadata": { - "$ref": "ImageBaseVideoPreviewMetadata", - "description": "The metadata associated with the preview (i.e. the type: 8k, 90k, etc.)" - }, - "previewFrameZero": { - "$ref": "DrishtiVesperVideoThumbnail", - "description": "0th frame image of the preview. This frame has the same resolution as the associated preview video bytes, as it is taken directly from the preview bytes in Venom/Viper processing. Right now, we only populate preview_frame_zero only for the VPREVIEW_TYPE_540K_ORIGINAL_HQ_LICENSED preview type. Note that preview_frame_zero.thumbnails(0).timestamp_ms() is the timestamp from the full video, not from the preview." - } - }, - "type": "object" - }, - "ImageRepositoryVideoProperties": { - "id": "ImageRepositoryVideoProperties", - "properties": { - "audioOnly": { - "description": "Both audio- and audio-video-files are treated as videos during indexing (whether they share a container format, like .mp4, or not, like .mp3). This bool indicates that there's no video track, just an audio track.", - "type": "boolean" - }, - "contentBasedMetadata": { - "$ref": "ImageRepositoryContentBasedVideoMetadata", - "description": "Information derived from fetched video bytes." - }, - "crawlState": { - "$ref": "ImageMoosedogCrawlState", - "description": "The raw crawl state." - }, - "firstCrawlTimestampSec": { - "description": "Timestamp of the first time that the video was successfully crawled.", - "format": "int64", - "type": "string" - }, - "firstProcessingTimestampSec": { - "description": "Timestamp when this video's videoProperties is populated for the first time, measured in seconds since epoch.", - "format": "int64", - "type": "string" - }, - "indexedVerticals": { - "description": "Proto to store vertical indexing information for the document. The video can be indexed to multiple verticals, including video search. It can also be indexed only in verticals, not in video search.", - "items": { - "$ref": "ImageRepositoryVideoPropertiesVerticalIndexingInfoVideo" - }, - "type": "array" - }, - "inlinePlayback": { - "$ref": "VideoCrawlVideoInlinePlaybackMetadata", - "deprecated": true, - "description": "DEPRECATED: please use content_based_metadata.inline_playback. Metadata related to Inline playback on the Interest Feed" - }, - "lastCrawlRequestTimestampSec": { - "description": "Timestamp when this video's last crawling is requested, measured in seconds since epoch.", - "format": "int64", - "type": "string" - }, - "lastProcessingTimestampSec": { - "description": "Last timestamp when this video's videoProperties is populated, measured in seconds since epoch.", - "format": "int64", - "type": "string" - }, - "url": { - "description": "This is the video url taken from the key of the Amarna references table row corresponding to this message.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryVideoPropertiesVerticalIndexingInfoVideo": { - "description": "Proto to store vertical indexing information for the document and associated video outlinks. The video content can be indexed to multiple verticals, including videosearch. It can also be indexed only in verticals, not in videosearch.", - "id": "ImageRepositoryVideoPropertiesVerticalIndexingInfoVideo", - "properties": { - "name": { - "description": "List the string representation of the vertical that this image is indexed into.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryWordInfo": { - "description": "Word-specific information for recognized words.", - "id": "ImageRepositoryWordInfo", - "properties": { - "confidence": { - "description": "The confidence estimate between 0.0 and 1.0. A higher number indicates an estimated greater likelihood that the recognized words are correct. This field is set only for the top alternative of a non-streaming result or, of a streaming result where `is_final=true`. This field is not guaranteed to be accurate and users should not rely on it to be always provided. The default of 0.0 is a sentinel value indicating `confidence` was not set.", - "format": "float", - "type": "number" - }, - "endTime": { - "description": "Time offset relative to the beginning of the audio, and corresponding to the end of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.", - "format": "google-duration", - "type": "string" - }, - "speakerTag": { - "description": "A distinct integer value is assigned for every speaker within the audio. This field specifies which one of those speakers was detected to have spoken this word. Value ranges from '1' to diarization_speaker_count. speaker_tag is set if enable_speaker_diarization = 'true' and only in the top alternative.", - "format": "int32", - "type": "integer" - }, - "startTime": { - "description": "Time offset relative to the beginning of the audio, and corresponding to the start of the spoken word. This field is only set if `enable_word_time_offsets=true` and only in the top hypothesis. This is an experimental feature and the accuracy of the time offset can vary.", - "format": "google-duration", - "type": "string" - }, - "word": { - "description": "The word corresponding to this set of information.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRepositoryYoutubeProcessingFilter": { - "description": "Next available tag: 13", - "id": "ImageRepositoryYoutubeProcessingFilter", - "properties": { - "previewsFilteredReason": { - "items": { - "enum": [ - "UNKNOWN", - "CONTENT_CLAIMS", - "MATURE_CONTENT", - "INVALID_VIDEO_DATA", - "NO_VSI", - "SHORT_DURATION", - "NO_DURATION", - "EMPTY_DATA", - "DELETED", - "OFFICIAL_MUSIC_VIDEO", - "PREMIUM_CONTENT", - "ART_TRACK", - "PHARMA_CHANNEL" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "This is set for livestreams, which have a duration of 0.", - "", - "", - "Set if video has ut_video_policy FLAG_OFFICIAL_MUSIC_VIDEO.", - "Set if video has ut_video_policy FLAG_PREMIUM_CONTENT.", - "Set if video has ut_video_policy FLAG_ART_TRACK.", - "Set if the video has a pharma channel ID." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageSafesearchContentBrainPornAnnotation": { - "description": "Don't change the field names. The names are used as sparse feature labels in client projects.", - "id": "ImageSafesearchContentBrainPornAnnotation", - "properties": { - "childScore": { - "description": "The probability that the youngest person in the image is a child.", - "format": "float", - "type": "number" - }, - "csaiScore": { - "description": "This score correlates with potential child abuse. Google confidential!", - "format": "double", - "type": "number" - }, - "csamA1Score": { - "description": "Experimental score. Do not use. Google confidential!", - "format": "float", - "type": "number" - }, - "csamAgeIndeterminateScore": { - "description": "Experimental score. Do not use. Google confidential!", - "format": "float", - "type": "number" - }, - "iuInappropriateScore": { - "description": "This field contains the probability that an image is inappropriate for Images Universal, according to this policy: go/iupolicy.", - "format": "float", - "type": "number" - }, - "medicalScore": { - "format": "float", - "type": "number" - }, - "pedoScore": { - "format": "float", - "type": "number" - }, - "pornScore": { - "format": "double", - "type": "number" - }, - "racyScore": { - "description": "This score is related to an image being sexually suggestive.", - "format": "float", - "type": "number" - }, - "semanticSexualizationScore": { - "description": "This score is related to racy/sexual images where scores have semantic meaning from 0 to 1.", - "format": "float", - "type": "number" - }, - "spoofScore": { - "format": "float", - "type": "number" - }, - "version": { - "type": "string" - }, - "violenceScore": { - "format": "float", - "type": "number" - }, - "ytPornScore": { - "deprecated": true, - "description": "Deprecated, use porn_score instead. The most recent model version does not produce this anymore.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ImageSafesearchContentOCRAnnotation": { - "description": "A protocol buffer to store the OCR annotation. Next available tag id: 10.", - "id": "ImageSafesearchContentOCRAnnotation", - "properties": { - "ocrAnnotationVersion": { - "description": "A string that indicates the version of SafeSearch OCR annotation.", - "type": "string" - }, - "ocrProminenceScore": { - "description": "The score produced by Aksara geometry and spoof score. Describes the 'visibility' or 'importance' of the text on the image [0, 1]", - "format": "float", - "type": "number" - }, - "pornScore": { - "description": "Image OCR racyness/pornyness, computed by porn query classifier.", - "format": "float", - "type": "number" - }, - "prominentOffensiveScore": { - "description": "Same as offensive_score, but weighted by prominence.", - "format": "float", - "type": "number" - }, - "prominentVulgarScore": { - "description": "Same as vulgar_score, but weighted by prominence.", - "format": "float", - "type": "number" - }, - "qbstOffensiveScore": { - "description": "The score produced by offensive salient terms model.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ImageSafesearchContentOffensiveSymbolDetection": { - "id": "ImageSafesearchContentOffensiveSymbolDetection", - "properties": { - "matches": { - "items": { - "$ref": "ImageSafesearchContentOffensiveSymbolMatch" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageSafesearchContentOffensiveSymbolMatch": { - "description": "Each entry corresponds to an image containing an offensive symbol.", - "id": "ImageSafesearchContentOffensiveSymbolMatch", - "properties": { - "score": { - "description": "Confidence score of the match. The higher, the more likely to match the symbol.", - "format": "float", - "type": "number" - }, - "type": { - "enum": [ - "INVALID", - "SWASTIKA_WHITE_ON_BLACK", - "SWASTIKA_BLACK_ON_WHITE", - "SWASTIKA_BLACK_ON_WHITE_ROTATED", - "NAZI_YELLOW_BADGE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "ImageSearchImageIndexingInfo": { - "id": "ImageSearchImageIndexingInfo", - "properties": { - "imageLinkSelectionInfo": { - "description": "Image Selection Info", - "items": { - "$ref": "ImageSearchImageSelectionInfo" - }, - "type": "array" - }, - "rejectedNotIndexedImageLink": { - "description": "URLs and Amarna status of images on the page for which image data is not yet available and weren't selected for indexing in image search. Used by consumers of docjoins that need a complete view of image urls on the page (i.e. Digdug).", - "items": { - "$ref": "ImageSearchUnindexedImageLink" - }, - "type": "array" - }, - "selectedNotIndexedImageLink": { - "description": "URLs and Amarna status of images on the page for which image data is not yet available and were otherwise selected for indexing in image search. Used by consumers of docjoins that need a complete view of selected image urls on the page (i.e. Hearse, the index selection testbed).", - "items": { - "$ref": "ImageSearchUnindexedImageLink" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageSearchImageLicenseInfo": { - "description": "The image license info for licensable images(go/Licensable-Images-PRD) This proto in design doc: go/licensable-images-edd", - "id": "ImageSearchImageLicenseInfo", - "properties": { - "acquireLicensePage": { - "description": "Records web page url about how to use the licensed image.", - "type": "string" - }, - "copyrightNotice": { - "description": "Provides copyright info.", - "type": "string" - }, - "copyrightNoticeSourceType": { - "description": "Source type for copyright_notice field.", - "enum": [ - "UNKNOWN_SOURCE", - "SCHEMA_ORG_MARKUP", - "IPTC_METADATA" - ], - "enumDescriptions": [ - "DEFAULT", - "", - "" - ], - "type": "string" - }, - "creator": { - "description": "creator, authors.", - "items": { - "type": "string" - }, - "type": "array" - }, - "creatorSourceType": { - "description": "Source type for creator field.", - "enum": [ - "UNKNOWN_SOURCE", - "SCHEMA_ORG_MARKUP", - "IPTC_METADATA" - ], - "enumDescriptions": [ - "DEFAULT", - "", - "" - ], - "type": "string" - }, - "creditText": { - "description": "Text for crediting persons or organizations.", - "type": "string" - }, - "creditTextSourceType": { - "description": "Source type for credit_text field.", - "enum": [ - "UNKNOWN_SOURCE", - "SCHEMA_ORG_MARKUP", - "IPTC_METADATA" - ], - "enumDescriptions": [ - "DEFAULT", - "", - "" - ], - "type": "string" - }, - "isRetiredCcUrl": { - "description": "Whether this license url is in retired license list, which is from: https://creativecommons.org/retiredlicenses/", - "type": "boolean" - }, - "licenseType": { - "enum": [ - "NO_LICENSE", - "CREATIVE_COMMONS_LICENSE", - "NON_CREATIVE_COMMONS_LICENSE" - ], - "enumDescriptions": [ - "", - "The license URL is formatted as creativecommons.org/... Creative Commons (CC) license is free for content creators to use when making their work available to the public.", - "The provider posts a non-Creative-Commons link with information on how to licence that image." - ], - "type": "string" - }, - "licenseUrl": { - "description": "Records license URL.", - "type": "string" - }, - "safesearchFlags": { - "description": "A bitwise-OR of SafeSearch filtering flags. If present, the flags will be a bitwise-AND between this value and all the classifier_porn::query::Vertical enums. If the value is -1, it indicates there is some error with SafeSearch classifier. The default value 0 means no filtering flags are set.", - "format": "int32", - "type": "integer" - }, - "sourceType": { - "enum": [ - "UNKNOWN_SOURCE", - "SCHEMA_ORG_MARKUP", - "IPTC_METADATA" - ], - "enumDescriptions": [ - "DEFAULT", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "ImageSearchImageSelectionInfo": { - "id": "ImageSearchImageSelectionInfo", - "properties": { - "imageLinkSelectionInfo": { - "$ref": "ImageMustangImageLinkSelectionInfo", - "description": "Image Selection Info." - }, - "url": { - "description": "The image URL.", - "type": "string" - } - }, - "type": "object" - }, - "ImageSearchUnindexedImageLink": { - "id": "ImageSearchUnindexedImageLink", - "properties": { - "amarnaStatus": { - "$ref": "ImageRepositoryAmarnaStatus", - "description": "Insight on why we do not have data for this imagelink." - }, - "crawlStatusInfo": { - "$ref": "ImageRepositoryCrawlStatusInfo", - "description": "Fields for crawl-status-related debugging information." - }, - "url": { - "description": "The image URL.", - "type": "string" - } - }, - "type": "object" - }, - "ImageUnderstandingIndexingAnnotation": { - "description": "Annotation packs various recognition, detection, embedding, and parsing results. One Annotation per bounding box detection.", - "id": "ImageUnderstandingIndexingAnnotation", - "properties": { - "feature": { - "description": "Multiple feature embeddings for this bounding box.", - "items": { - "$ref": "ImageUnderstandingIndexingFeature" - }, - "type": "array" - }, - "labelGroup": { - "description": "Multiple label annotations for this bounding box.", - "items": { - "$ref": "ImageUnderstandingIndexingLabelGroup" - }, - "type": "array" - }, - "roi": { - "$ref": "ImageUnderstandingIndexingImageRegion", - "description": "Detected bounding box. Leave it not set for whole image annotation." - } - }, - "type": "object" - }, - "ImageUnderstandingIndexingAnnotationGroup": { - "id": "ImageUnderstandingIndexingAnnotationGroup", - "properties": { - "annotation": { - "items": { - "$ref": "ImageUnderstandingIndexingAnnotation" - }, - "type": "array" - } - }, - "type": "object" - }, - "ImageUnderstandingIndexingFeature": { - "description": "Image feature embedding proto. It supports various embedding formats: raw bytes, floating point values, and tokens.", - "id": "ImageUnderstandingIndexingFeature", - "properties": { - "bytesValue": { - "description": "Multiple fields can be set. For example for Starburst V3, they can be used to store compressed byte, raw float feature, and tokens, respectively.", - "format": "byte", - "type": "string" - }, - "floatValue": { - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "imageTemplate": { - "$ref": "PhotosVisionObjectrecImageTemplate", - "description": "Local features." - }, - "int32Value": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "version": { - "type": "string" - } - }, - "type": "object" - }, - "ImageUnderstandingIndexingImageRegion": { - "description": "Image region produced by a detector.", - "id": "ImageUnderstandingIndexingImageRegion", - "properties": { - "box": { - "$ref": "PhotosVisionGroundtruthdbNormalizedBoundingBox", - "description": "Bounding box normalized to [0,1] scale independent on the image size. For example if the original image has the size 1600x1200, the rectangle [200, 200, 800, 600] from the image would have a normalized bounding box [1/8, 1/6, 1/2, 1/2]." - }, - "score": { - "description": "Box confidence score. This is used to store the confidence of the box proposal, not the score associated with any specific labels. The box proposal confidence score is a float number per region between [0, 1] indicating how likely a box contains an \"object\".", - "format": "float", - "type": "number" - }, - "version": { - "type": "string" - } - }, - "type": "object" - }, - "ImageUnderstandingIndexingLabel": { - "description": "A single label with score and meta data.", - "id": "ImageUnderstandingIndexingLabel", - "properties": { - "canonicalText": { - "description": "Human readable text.", - "type": "string" - }, - "entityId": { - "description": "KG entity id.", - "type": "string" - }, - "metaData": { - "description": "Meta data for topicality, visible labels, attribute, etc.", - "items": { - "$ref": "ImageUnderstandingIndexingMetaData" - }, - "type": "array" - }, - "score": { - "description": "Confidence score.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ImageUnderstandingIndexingLabelGroup": { - "description": "LabelGroup is a set of labels produced by a single model, or by multiple models that share the same versioning. It can be used to store results from ICA, box classifier, visible labels, noun+attribute, and so on.", - "id": "ImageUnderstandingIndexingLabelGroup", - "properties": { - "label": { - "items": { - "$ref": "ImageUnderstandingIndexingLabel" - }, - "type": "array" - }, - "version": { - "type": "string" - } - }, - "type": "object" - }, - "ImageUnderstandingIndexingMetaData": { - "description": "Meta data useful to annotation Label and Feature with extra information.", - "id": "ImageUnderstandingIndexingMetaData", - "properties": { - "floatValue": { - "format": "float", - "type": "number" - }, - "name": { - "type": "string" - }, - "stringValue": { - "type": "string" - } - }, - "type": "object" - }, - "IndexingBadSSLCertificate": { - "description": "This protobuffer stores bad SSL certificate information for a canonical URL, and meant to be included in DocJoins and push to serving time.", - "id": "IndexingBadSSLCertificate", - "properties": { - "badSslCertificate": { - "$ref": "TrawlerSSLCertificateInfo" - }, - "urlWithBadSslCertificate": { - "description": "The URL where the bad SSL certificate really comes from. Present iff it is different from the source URL, i.e. a redirect target of the source URL).", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "IndexingConverterLocalizedAlternateName": { - "id": "IndexingConverterLocalizedAlternateName", - "properties": { - "annotationSource": { - "enum": [ - "HTTP", - "HTML", - "SITEMAP" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "deviceMatchInfo": { - "description": "Device match info calculated only by URL pattern.", - "enum": [ - "UNKNOWN", - "WWW_TO_WWW", - "WWW_TO_M", - "M_TO_M", - "M_TO_WWW" - ], - "enumDescriptions": [ - "", - "Both canonical and localized url are www version.", - "Canonical is www version but localized url is m version.", - "Both canonical and localized url are m version.", - "Canonical is m version but localized url is www version." - ], - "type": "string" - }, - "ecnFp": { - "description": "Fp96 of webmirror ECN as of the last time the canonical was processed.", - "format": "byte", - "type": "string" - }, - "feedUrl": { - "description": "Populated if annotation_source is SITEMAP.", - "type": "string" - }, - "language": { - "type": "string" - }, - "parsedLanguage": { - "description": "Parsed language and region code from language field.", - "enum": [ - "ENGLISH", - "DANISH", - "DUTCH", - "FINNISH", - "FRENCH", - "GERMAN", - "HEBREW", - "ITALIAN", - "JAPANESE", - "KOREAN", - "NORWEGIAN", - "POLISH", - "PORTUGUESE", - "RUSSIAN", - "SPANISH", - "SWEDISH", - "CHINESE", - "CZECH", - "GREEK", - "ICELANDIC", - "LATVIAN", - "LITHUANIAN", - "ROMANIAN", - "HUNGARIAN", - "ESTONIAN", - "TG_UNKNOWN_LANGUAGE", - "UNKNOWN_LANGUAGE", - "BULGARIAN", - "CROATIAN", - "SERBIAN", - "IRISH", - "GALICIAN", - "TAGALOG", - "TURKISH", - "UKRAINIAN", - "HINDI", - "MACEDONIAN", - "BENGALI", - "INDONESIAN", - "LATIN", - "MALAY", - "MALAYALAM", - "WELSH", - "NEPALI", - "TELUGU", - "ALBANIAN", - "TAMIL", - "BELARUSIAN", - "JAVANESE", - "OCCITAN", - "URDU", - "BIHARI", - "GUJARATI", - "THAI", - "ARABIC", - "CATALAN", - "ESPERANTO", - "BASQUE", - "INTERLINGUA", - "KANNADA", - "PUNJABI", - "SCOTS_GAELIC", - "SWAHILI", - "SLOVENIAN", - "MARATHI", - "MALTESE", - "VIETNAMESE", - "FRISIAN", - "SLOVAK", - "CHINESE_T", - "FAROESE", - "SUNDANESE", - "UZBEK", - "AMHARIC", - "AZERBAIJANI", - "GEORGIAN", - "TIGRINYA", - "PERSIAN", - "BOSNIAN", - "SINHALESE", - "NORWEGIAN_N", - "PORTUGUESE_P", - "PORTUGUESE_B", - "XHOSA", - "ZULU", - "GUARANI", - "SESOTHO", - "TURKMEN", - "KYRGYZ", - "BRETON", - "TWI", - "YIDDISH", - "SERBO_CROATIAN", - "SOMALI", - "UIGHUR", - "KURDISH", - "MONGOLIAN", - "ARMENIAN", - "LAOTHIAN", - "SINDHI", - "RHAETO_ROMANCE", - "AFRIKAANS", - "LUXEMBOURGISH", - "BURMESE", - "KHMER", - "TIBETAN", - "DHIVEHI", - "CHEROKEE", - "SYRIAC", - "LIMBU", - "ORIYA", - "ASSAMESE", - "CORSICAN", - "INTERLINGUE", - "KAZAKH", - "LINGALA", - "MOLDAVIAN", - "PASHTO", - "QUECHUA", - "SHONA", - "TAJIK", - "TATAR", - "TONGA", - "YORUBA", - "CREOLES_AND_PIDGINS_ENGLISH_BASED", - "CREOLES_AND_PIDGINS_FRENCH_BASED", - "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", - "CREOLES_AND_PIDGINS_OTHER", - "MAORI", - "WOLOF", - "ABKHAZIAN", - "AFAR", - "AYMARA", - "BASHKIR", - "BISLAMA", - "DZONGKHA", - "FIJIAN", - "GREENLANDIC", - "HAUSA", - "HAITIAN_CREOLE", - "INUPIAK", - "INUKTITUT", - "KASHMIRI", - "KINYARWANDA", - "MALAGASY", - "NAURU", - "OROMO", - "RUNDI", - "SAMOAN", - "SANGO", - "SANSKRIT", - "SISWANT", - "TSONGA", - "TSWANA", - "VOLAPUK", - "ZHUANG", - "KHASI", - "SCOTS", - "GANDA", - "MANX", - "MONTENEGRIN", - "AKAN", - "IGBO", - "MAURITIAN_CREOLE", - "HAWAIIAN", - "CEBUANO", - "EWE", - "GA", - "HMONG", - "KRIO", - "LOZI", - "LUBA_LULUA", - "LUO_KENYA_AND_TANZANIA", - "NEWARI", - "NYANJA", - "OSSETIAN", - "PAMPANGA", - "PEDI", - "RAJASTHANI", - "SESELWA_CREOLE_FRENCH", - "TUMBUKA", - "VENDA", - "WARAY_PHILIPPINES", - "NUM_LANGUAGES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Norwegian\" = \"no\" normally implies Bokmål (\"nb\"). See also NORWEGIAN_N. Consider using IsNorwegianLanguage().", - "", - "WARNING: \"Portuguese\" in the enum Language implies the Iberian variant, while Google and industry standard practice is for \"pt\" to imply Brazilian, for the much larger population. The old LanguageCode() function returns \"pt\" for legacy reasons. The III LanguageEnumLanguageCodeConverter converts it to \"pt-PT\" to preserve the semantics. Converting between this legacy enum and industry-standard language tags cannot preserve the distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage().", - "", - "", - "", - "\"Chinese\" normally implies simplified Han characters (\"zh-Hans\"). See also CHINESE_T. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage().", - "", - "", - "", - "", - "", - "", - "Serbian is commonly written in two scripts. The default is Cyrillic (\"sr\" = \"sr-Cyrl\"). It is also often written with Latin letters (\"sr-Latn\"). This enum does not convey that distinction.", - "", - "", - "TAGALOG is used to mean both Tagalog (tl) and Filipino (fil). These are nearly the same; Filipino is the official language, and \"fil\" is normally used for UI settings etc. The old LanguageCode() function returns \"tl\".", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Bihari\" is not a language: There are several different languages spoken in and around the Indian state of Bihar. This is like saying \"Swiss\" to mean German+French+Italian+Romansh.", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Chinese written in traditional Han characters (\"zh-Hant\"). See also CHINESE. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "UI only. LangId language: CROATIAN (28)", - "", - "Norwegian Nynorsk (\"nn\"). See also NORWEGIAN. Consider using IsNorwegianLanguage(). UI only. LangId language: NORWEGIAN (10)", - "Portuguese in Portugal (\"pt-PT\"). See the WARNING at PORTUGUESE. Avoid a distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "Portuguese in Brazil (\"pt-BR\"). Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "", - "UI only.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "", - "This has been documented as \"Kurmanji (kmr) + Sorani (ckb) + Kurdish (ku)\". There are several kinds of Kurdish languages. \"ku\" normally implies Northern Kurdish = Kurmanji (kmr) which is normally written in Latin letters. \"ckb\" is Central Kurdish (largely in Iraq) which is normally written in Arabic letters (thus right-to-left).", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "sometimes spelled Divehi; lang of Maldives", - "", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "\"Moldavian\" is the same language as Romanian. In language tags, \"ro-MD\" can be used but is not normally necessary. Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage(). UI only. LangId language: ROMANIAN (22)", - "", - "", - "UI only.", - "", - "", - "", - "", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only. More commonly called Luganda.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "Translate only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "Translate only.", - "Translate only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "Always keep this at the end. It is not a" - ], - "type": "string" - }, - "parsedRegion": { - "format": "int32", - "type": "integer" - }, - "url": { - "format": "byte", - "type": "string" - }, - "urlEncoding": { - "description": "see webutil/urlencoding", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingConverterRawRedirectInfo": { - "description": "The proto to be stored in raw_redirect_info column of document table.", - "id": "IndexingConverterRawRedirectInfo", - "properties": { - "rawFinalTargetFromRendering": { - "description": "Final redirect target found from rendering. It is the same as the last element of raw_redirect_chain_from_rendering. It is used as an input source for the indexable fragment detection pipeline and also downstream phases.", - "type": "string" - }, - "rawFinalTargetFromTrawler": { - "description": "This is with-fragment version of redirect_with_contents. This field is populated only if there was a fragment. This field is used by indexing::mobile::GetRedirectTarget() defined in indexing/mobile/internal/smartphone-util.cc, which extracts the redirect target for smartphone optimized pages. The extracted target in turn is served in search results for smartphone users. We need with-fragment version because with-fragment url can return different content than fragment-stripped url. For example, http://www.example.com/m#article=11 and http://www.example.com/m can return different content. These cases are most typical for Ajaxy sites. This fragment does not have to be indexable.", - "type": "string" - }, - "rawRedirectChainFromRendering": { - "$ref": "IndexingConverterRedirectChain", - "description": "Redirect chain generated from redirect events in rendering. At the beginning of it, there could be some redirects from trawler (i.e. could be partial or entire trawler redirect chain), other redirects have their RedirectParams::is_redirect_from_rendering fields set to true. Redirects here have no RedirectChain::Hop::raw_target fields populated, and targets stored in RedirectChain::Hop::target fields are likely cleaned while keeping fragments (also sometimes they could be uncleaned ones because of cleaning failures), fragments could be indexable or non-indexable." - }, - "renderingRedirectLimit": { - "description": "This is used to describe how many redirect hops from Webkit were kept in the raw_redirect_chain_from_rendering. If it is -1, it means it kept all the hops from Webkit in redirect chain.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingConverterRedirectChain": { - "description": "Redirect_chain is present for redirects, and absent for the final target. It contains the chain from the current hop's target to the final target.", - "id": "IndexingConverterRedirectChain", - "properties": { - "hop": { - "items": { - "$ref": "IndexingConverterRedirectChainHop" - }, - "type": "array" - } - }, - "type": "object" - }, - "IndexingConverterRedirectChainHop": { - "description": "NOLINT", - "id": "IndexingConverterRedirectChainHop", - "properties": { - "params": { - "$ref": "IndexingConverterRedirectParams" - }, - "rawTarget": { - "description": "Redirect target with fragment. This field is populated only if there was a fragment.", - "type": "string" - }, - "target": { - "description": "Redirect target URL and params of the current hop in the redirect chain.", - "type": "string" - } - }, - "type": "object" - }, - "IndexingConverterRedirectParams": { - "description": "If we detect any server or content based redirect, we will store the characteristics in this message.", - "id": "IndexingConverterRedirectParams", - "properties": { - "delay": { - "description": "The time difference between page loading and redirect occurrence. When missing, it means the redirect happens immediately (i.e. delay = 0). In seconds.", - "format": "int32", - "type": "integer" - }, - "frameTargetDeniesFraming": { - "description": "Populated for SINGLE_FRAME and SINGLE_IFRAME redirects only and indicates that the target url requested not to be framed, by virtue of using the \"X-Frame-Options\" HTTP header.", - "type": "boolean" - }, - "isDownload": { - "description": "Indicates corresponding redirect is a download. This field is only set when rendering redirect chain is used. This field represents the value of corresponding \"RedirectEvent.target_content_downloaded\" field.", - "type": "boolean" - }, - "isRenderingRedirect": { - "description": "Indicates corresponding redirect is from rendering if set to true.", - "type": "boolean" - }, - "metaRedirectFromTrawler": { - "description": "If set, it means that the redirect of type META was detected by Trawler (as opposed to the content processor.) Only makes sense when type is META.", - "type": "boolean" - }, - "type": { - "enum": [ - "PERMANENT", - "TEMPORARY", - "WIKIPEDIA_DEPRECATED", - "JAVASCRIPT", - "META", - "SINGLE_FRAME", - "CRYPTO301", - "LINK_REL_CANONICAL", - "SINGLE_IFRAME", - "WEBKIT", - "META_FRAGMENT", - "SINGLE_CHOICE_300", - "SINGLE_PAGE", - "DATAFILE", - "HTTP_REFRESH", - "HTTP_POST", - "HTML5_HISTORY_API", - "AJAX_CRAWLING" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Deprecated.", - "", - "", - "", - "", - "Like META, but extracted from HTTP headers.", - "Usually caused by JavaScript. The HTTP method", - "of the target URL is POST. The URL in address bar is modified without", - "reloading (usually by Javascript). Similar with DATAFILE. Only used for dup" - ], - "type": "string" - } - }, - "type": "object" - }, - "IndexingConverterRichContentData": { - "description": "Contains information about 3 versions of the content of a document: 1. Original: the crawled content (possibly patched in ConversionFilters). 2. Processed: the final version of the content indexed in Web search. 3. Intermediate (no longer generated): intermediate version between the original and the processed content. All 3 versions of the content consist of HTTP headers (in unknown encoding) concatenated with the document body (in interchange valid UTF-8 encoding).", - "id": "IndexingConverterRichContentData", - "properties": { - "range": { - "items": { - "$ref": "IndexingConverterRichContentDataRange" - }, - "type": "array" - } - }, - "type": "object" - }, - "IndexingConverterRichContentDataRange": { - "description": "Stores an ordered list of ranges of content from the original, processed, and intermediate content, such that: 1. The original content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE. 2. The processed content can be reconstructed from the ranges of type ORIGINAL_AND_PROCESSED and PROCESSED_ONLY. 3. The intermediate content (if present) can be reconstructed from the ranges of type ORIGINAL_AND_INTERMEDIATE and INTERMEDIATE_ONLY.", - "id": "IndexingConverterRichContentDataRange", - "properties": { - "rangeType": { - "enum": [ - "ORIGINAL_AND_PROCESSED", - "ORIGINAL_ONLY", - "PROCESSED_ONLY", - "ORIGINAL_AND_INTERMEDIATE", - "INTERMEDIATE_ONLY" - ], - "enumDescriptions": [ - "no longer generated", - "", - "", - "no longer generated", - "no longer generated" - ], - "type": "string" - }, - "size": { - "description": "Range size when uncompressed, in bytes.", - "format": "int32", - "type": "integer" - }, - "sourceType": { - "description": "The source of this range of content. Present iff 'type' is PROCESSED_ONLY or INTERMEDIATE_ONLY. Note: 'source_type' is not present for ORIGINAL_AND_PROCESSED, ORIGINAL_ONLY, and ORIGINAL_AND_INTERMEDIATE because for those range types the source of their content is the original crawled content.", - "enum": [ - "SEPARATOR", - "FRAME", - "DOMTRACKER_JAVASCRIPT", - "FLASH", - "IFRAME", - "WEBKIT_PHRASES_DEPRECATED", - "WEBKIT_CONTENT_REPLACEMENT" - ], - "enumDescriptions": [ - "No longer generated. It was used for whitespace and tags (e.g. ) added to separate other ranges.", - "No longer generated. It was used for content inserted from a frame.", - "No longer generated. It was used for content generated by DomTracker JavaScript execution.", - "No longer generated. It was used for content generated by executing flash animations.", - "No longer generated. It was used for content inserted from an iframe.", - "No longer generated. It was used for text content inserted from WebKit rendering.", - "Used for content from WebKit rendering replacing all the crawled content." - ], - "type": "string" - }, - "sourceUrl": { - "description": "The source URL of this range of content. Present iff 'source_type' is present and 'source_type' is FRAME or FLASH or IFRAME.", - "type": "string" - }, - "text": { - "description": "The content of the range, compressed with 'text_compression_method'. Present iff 'type' is ORIGINAL_ONLY or ORIGINAL_AND_INTERMEDIATE or INTERMEDIATE_ONLY. Useful to reconstruct the original content or the intermediate content. Note: 'text' is not present for ORIGINAL_AND_PROCESSED and PROCESSED_ONLY because the processed content is already stored separately (in the contents column, and in CompositeDoc.doc.Content.Representation).", - "format": "byte", - "type": "string" - }, - "textCompressionMethod": { - "description": "Method used to compress the 'text' field. May be present only when the 'text' is present.", - "enum": [ - "TEXT_COMPRESSION_NONE", - "TEXT_COMPRESSION_BMDIFF" - ], - "enumDescriptions": [ - "The text is not compressed.", - "The text is BMDiff encoded using the processed content as dictionary." - ], - "type": "string" - } - }, - "type": "object" - }, - "IndexingConverterRobotsInfo": { - "description": "Robots Info encapsulates all robots.txt or related information that we know about the Document collected from multiple sources such as HTTP headers, meta robots tags etc.", - "id": "IndexingConverterRobotsInfo", - "properties": { - "contentExpiry": { - "description": "time in unix time format after which this content should not be shown in the results. This in inferred from the X-Robots-Tag HTTP header with unavailable_after: Do not use this field directly. There is a column called content_expiration in Alexandria that includes this and other signals.", - "format": "int32", - "type": "integer" - }, - "convertToRobotedReason": { - "enum": [ - "BLOCKING_HOST", - "EMPTY_PAGE", - "MOBILE_IP_RESTRICTED", - "CLOAKING_4XX", - "UNSUPPORTED_PROTOCOL" - ], - "enumDescriptions": [ - "", - "", - "Mobile crawler failed to crawl the webpage, but its crawl status was changed to ROBOTED because it is in mobile whitelist.", - "URL cloaking googlebot with 4xx response.", - "URL redirects to unsupported protocol in trawler, but the protocol is actually visitable on device." - ], - "type": "string" - }, - "disallowedReason": { - "format": "int32", - "type": "integer" - }, - "indexifembeddedReason": { - "description": "IMPORTANT: if you add a new field here, update the MergeRobotsInfo() function to merge the new field.", - "format": "int32", - "type": "integer" - }, - "maxImagePreview": { - "description": "Max image preview restriction applied to this data. A value of THUMBNAIL_UNSPECIFIED can be treated as though there is no restriction.", - "enum": [ - "THUMBNAIL_UNSPECIFIED", - "NONE", - "STANDARD", - "LARGE" - ], - "enumDescriptions": [ - "Not specified, no preview policy-related restrictions apply (but other restrictions like Fair Use still do).", - "Publisher explicitly requires a no-image treatment.", - "Translates to 50k pixels.", - "Translates to 300k pixels." - ], - "type": "string" - }, - "maxSnippetLength": { - "description": "Max snippet preview restriction applied to this data. If this field is zero, it indicates that no snippet data can be displayed, therefore this field should be checked using has_max_snippet_length to determine if it was set.", - "format": "int64", - "type": "string" - }, - "noarchiveReason": { - "format": "int32", - "type": "integer" - }, - "nofollowReason": { - "format": "int32", - "type": "integer" - }, - "noimageframeoverlayReason": { - "format": "int32", - "type": "integer" - }, - "noimageindexReason": { - "format": "int32", - "type": "integer" - }, - "noindexReason": { - "description": "Bit map of RobotedReasons values. When set to a non-zero value, the document should not be indexed or archived etc. based on the name of the tag.", - "format": "int32", - "type": "integer" - }, - "nopreviewReason": { - "format": "int32", - "type": "integer" - }, - "nosnippetReason": { - "format": "int32", - "type": "integer" - }, - "notranslateReason": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingConverterShingleFingerprint": { - "description": "Used for storing fingerprints, along with meta-data that expresses how the fingerprint was computed. The metadata can be anything that fits in an uint64.", - "id": "IndexingConverterShingleFingerprint", - "properties": { - "metadata": { - "format": "uint64", - "type": "string" - }, - "value": { - "description": "Repeated to allow for fingerprints larger than 64-bits.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "IndexingCrawlerIdServingDocumentIdentifier": { - "id": "IndexingCrawlerIdServingDocumentIdentifier", - "properties": { - "doubleIndexingExperimentId": { - "description": "Only for double indexing experiments. This field is set for duplicated documents so that docjoin users will not see duplicated docs.", - "type": "string" - }, - "dupExperimentId": { - "description": "Only for Experimental clusters, not relevant for production serving data: Index-Dups can run experiments in Quality Clusters where different versions of the same document (e.g. with different signals) are serving in parallel. They are uniquely identified by the dup-experiment-IDs. This is for experimental clusters only. In prod-versions the member will not be set.", - "type": "string" - }, - "key": { - "description": "The primary identifier of a production document is the document key, which is the same as the row-key in Alexandria, and represents a URL and its crawling context. The document key is the unique identifier for each document, but multiple document keys can cover the same URL (e.g. crawled with different device types). In your production code, please always assume that the document key is the only way to uniquely identify a document. Link for more background information: http://go/url The document key is populated for all docs in indexing since 2014-03. ## Recommended way of reading: const string\u0026 doc_key = cdoc.doc().id().key(); ## CHECK(!doc_key.empty()); Note: For older DocJoins (e.g. historical DocJoins), the field is not populated. In those scenarios it is recommended to use the function 'GetDocumentKeyFromCompositeDoc' in '//indexing/crawler_id/utils/compositedoc/compositedoc_util.h' instead.", - "type": "string" - } - }, - "type": "object" - }, - "IndexingDocjoinerAnchorPhraseSpamInfo": { - "description": "Following signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.", - "id": "IndexingDocjoinerAnchorPhraseSpamInfo", - "properties": { - "phraseAnchorSpamCount": { - "description": "How many spam phrases found in the anchors among unique domains.", - "format": "float", - "type": "number" - }, - "phraseAnchorSpamDays": { - "description": "Over how many days 80% of these phrases were discovered.", - "format": "float", - "type": "number" - }, - "phraseAnchorSpamDemoted": { - "description": "Total number of demoted anchors.", - "format": "uint32", - "type": "integer" - }, - "phraseAnchorSpamEnd": { - "description": "Time when anchor spam spike ended with padding.", - "format": "uint32", - "type": "integer" - }, - "phraseAnchorSpamFraq": { - "description": "Spam phrases fraction of all anchors of the document.", - "format": "float", - "type": "number" - }, - "phraseAnchorSpamPenalty": { - "description": "Combined penalty for anchor demotion.", - "format": "float", - "type": "number" - }, - "phraseAnchorSpamProcessed": { - "description": "Total number of observed anchors.", - "format": "uint32", - "type": "integer" - }, - "phraseAnchorSpamRate": { - "description": "Average daily rate of spam anchor discovery.", - "format": "float", - "type": "number" - }, - "phraseAnchorSpamStart": { - "description": "Time when anchor spam spike started with padding.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingDocjoinerAnchorSpamInfo": { - "description": "Following structure summarizes output of AnchorSpamPenalizer. Spammy anchors are tagged with LINK_SPAM_PHRASE_PENALIZER and demoted to SPAM locality in anchor-localizer.cc", - "id": "IndexingDocjoinerAnchorSpamInfo", - "properties": { - "anchorEnd": { - "description": "End date of the last anchor of the document.", - "format": "uint32", - "type": "integer" - }, - "anchorFraq": { - "description": "Ratio of spam demoted period to all anchor period.", - "format": "float", - "type": "number" - }, - "anchorStart": { - "description": "Start date of the first anchor of the document.", - "format": "uint32", - "type": "integer" - }, - "demoted": { - "description": "Following field record details of anchor demotion in action. How many anchors were demoted.", - "format": "uint32", - "type": "integer" - }, - "demotedAll": { - "description": "Demoted all anchors in the period or only anchors classified as spam.", - "type": "boolean" - }, - "demotedEnd": { - "description": "End date of the demotion period.", - "format": "uint32", - "type": "integer" - }, - "demotedStart": { - "description": "Start date of the demotion period.", - "format": "uint32", - "type": "integer" - }, - "phraseCount": { - "description": "Following fields record signals used in anchor spam classification. How many spam phrases found in the anchors among unique domains.", - "format": "float", - "type": "number" - }, - "phraseDays": { - "description": "Over how many days 80% of these phrases were discovered.", - "format": "float", - "type": "number" - }, - "phraseFraq": { - "description": "Spam phrases fraction of all anchors of the document.", - "format": "float", - "type": "number" - }, - "phraseRate": { - "description": "Average daily rate of spam anchor discovery.", - "format": "float", - "type": "number" - }, - "processed": { - "description": "Total number of processed anchors.", - "format": "uint32", - "type": "integer" - }, - "sampled": { - "description": "True if anchors were sampled during observation phrase.", - "type": "boolean" - }, - "sources": { - "description": "Detailed information about trusted sources and match computation. Populated only when --anchorspam_penalizer_debug=true.", - "items": { - "$ref": "IndexingDocjoinerAnchorTrustedInfo" - }, - "type": "array" - }, - "spamDebugInfo": { - "description": "Additional debug information about computation of spam probability.", - "type": "string" - }, - "spamPenalty": { - "description": "Combined penalty for anchor demotion.", - "format": "float", - "type": "number" - }, - "spamProbability": { - "description": "Predicted probability of spam.", - "format": "float", - "type": "number" - }, - "trustedDemoted": { - "description": "Number of trusted anchors used in computation of spam probability.", - "format": "uint32", - "type": "integer" - }, - "trustedExamples": { - "description": "Examples of trusted sources.", - "type": "string" - }, - "trustedMatching": { - "description": "Number of trusted anchors with anchor text matching spam terms.", - "format": "uint32", - "type": "integer" - }, - "trustedTarget": { - "description": "Following fields record details about trusted anchors True if is this URL is on trusted source.", - "type": "boolean" - }, - "trustedTotal": { - "description": "Total number of trusted sources for this URL.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingDocjoinerAnchorStatistics": { - "description": "Statistics of the anchors in a docjoin. Next available tag ID: 63.", - "id": "IndexingDocjoinerAnchorStatistics", - "properties": { - "anchorCount": { - "format": "int32", - "type": "integer" - }, - "anchorPhraseCount": { - "description": "The number of unique anchor phrases. Capped by the constant kMaxAnchorPhraseCountInStats (=5000) defined in indexing/docjoiner/anchors/anchor-manager.cc.", - "format": "int32", - "type": "integer" - }, - "anchorSpamInfo": { - "$ref": "IndexingDocjoinerAnchorSpamInfo", - "description": "This structure contains signals and penalties of AnchorSpamPenalizer. It replaces phrase_anchor_spam_info above, that is deprecated." - }, - "anchorsWithDedupedImprovanchors": { - "description": "The number of anchors for which some ImprovAnchors phrases have been removed due to duplication within source org.", - "format": "int32", - "type": "integer" - }, - "badbacklinksPenalized": { - "description": "Whether this doc is penalized by BadBackLinks, in which case we should not use improvanchor score in mustang ascorer.", - "type": "boolean" - }, - "baseAnchorCount": { - "format": "int32", - "type": "integer" - }, - "baseOffdomainAnchorCount": { - "format": "int32", - "type": "integer" - }, - "droppedHomepageAnchorCount": { - "format": "int32", - "type": "integer" - }, - "droppedLocalAnchorCount": { - "format": "int32", - "type": "integer" - }, - "droppedNonLocalAnchorCount": { - "format": "int32", - "type": "integer" - }, - "droppedRedundantAnchorCount": { - "description": "Sum of anchors_dropped in the repeated group RedundantAnchorInfo, but can go higher if the latter reaches the cap of kMaxRecordsToKeep. (indexing/docjoiner/anchors/anchor-loader.cc), currently 10,000", - "format": "int32", - "type": "integer" - }, - "fakeAnchorCount": { - "format": "int32", - "type": "integer" - }, - "forwardedAnchorCount": { - "format": "int32", - "type": "integer" - }, - "forwardedOffdomainAnchorCount": { - "format": "int32", - "type": "integer" - }, - "globalAnchorDelta": { - "description": "Metric of number of changed global anchors computed as, size(union(previous, new) - intersection(previous, new)).", - "format": "int32", - "type": "integer" - }, - "linkBeforeSitechangeTaggedAnchors": { - "format": "int32", - "type": "integer" - }, - "localAnchorCount": { - "format": "int32", - "type": "integer" - }, - "lowCorpusAnchorCount": { - "format": "int32", - "type": "integer" - }, - "lowCorpusOffdomainAnchorCount": { - "format": "int32", - "type": "integer" - }, - "mediumCorpusAnchorCount": { - "format": "int32", - "type": "integer" - }, - "mediumCorpusOffdomainAnchorCount": { - "format": "int32", - "type": "integer" - }, - "minDomainHomePageLocalOutdegree": { - "description": "Minimum local outdegree of all anchor sources that are domain home pages as well as on the same domain as the current target URL.", - "format": "int32", - "type": "integer" - }, - "minHostHomePageLocalOutdegree": { - "description": "Minimum local outdegree of all anchor sources that are host home pages as well as on the same host as the current target URL.", - "format": "int32", - "type": "integer" - }, - "nonLocalAnchorCount": { - "format": "int32", - "type": "integer" - }, - "offdomainAnchorCount": { - "format": "int32", - "type": "integer" - }, - "ondomainAnchorCount": { - "format": "int32", - "type": "integer" - }, - "onsiteAnchorCount": { - "format": "int32", - "type": "integer" - }, - "pageFromExpiredTaggedAnchors": { - "description": "Set in SignalPenalizer::FillInAnchorStatistics.", - "format": "int32", - "type": "integer" - }, - "pageMismatchTaggedAnchors": { - "format": "int32", - "type": "integer" - }, - "penguinEarlyAnchorProtected": { - "description": "Doc is protected by goodness of early anchors.", - "type": "boolean" - }, - "penguinLastUpdate": { - "description": "BEGIN: Penguin related fields. Timestamp when penguin scores were last updated. Measured in days since Jan. 1st 1995.", - "format": "int32", - "type": "integer" - }, - "penguinPenalty": { - "description": "Page-level penguin penalty (0 = good, 1 = bad).", - "format": "float", - "type": "number" - }, - "penguinTooManySources": { - "description": "Doc not scored because it has too many anchor sources. END: Penguin related fields.", - "type": "boolean" - }, - "perdupstats": { - "items": { - "$ref": "IndexingDocjoinerAnchorStatisticsPerDupStats" - }, - "type": "array" - }, - "phraseAnchorSpamInfo": { - "$ref": "IndexingDocjoinerAnchorPhraseSpamInfo", - "description": "Following signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE." - }, - "redundantAnchorForPhraseCapCount": { - "description": "Total anchor dropped due to exceed per domain phrase cap. Equals to sum of anchors_dropped in the repeated group RedundantAnchorInfoForPhraseCap, but can go higher if the latter reaches the cap of kMaxDomainsToKeepForPhraseCap (indexing/docjoiner/anchors/anchor-loader.h), currently 1000.", - "format": "int32", - "type": "integer" - }, - "redundantanchorinfo": { - "items": { - "$ref": "IndexingDocjoinerAnchorStatisticsRedundantAnchorInfo" - }, - "type": "array" - }, - "redundantanchorinfoforphrasecap": { - "items": { - "$ref": "IndexingDocjoinerAnchorStatisticsRedundantAnchorInfoForPhraseCap" - }, - "type": "array" - }, - "scannedAnchorCount": { - "description": "The total number of anchors being scanned from storage.", - "format": "int32", - "type": "integer" - }, - "skippedAccumulate": { - "description": "A count of the number of times anchor accumulation has been skipped for this document. Note: Only used when canonical.", - "format": "int32", - "type": "integer" - }, - "skippedOrReusedReason": { - "description": "Reason to skip accumulate, when skipped, or Reason for reprocessing when not skipped.", - "type": "string" - }, - "spamLog10Odds": { - "description": "The log base 10 odds that this set of anchors exhibits spammy behavior. Computed in the AnchorLocalizer.", - "format": "float", - "type": "number" - }, - "timestamp": { - "description": "Walltime of when anchors were accumulated last.", - "format": "int32", - "type": "integer" - }, - "topPrOffdomainAnchorCount": { - "format": "int32", - "type": "integer" - }, - "topPrOndomainAnchorCount": { - "format": "int32", - "type": "integer" - }, - "topPrOnsiteAnchorCount": { - "description": "According to anchor quality bucket, anchor with pagrank \u003e 51000 is the best anchor. anchors with pagerank \u003c 47000 are all same.", - "format": "int32", - "type": "integer" - }, - "totalDomainPhrasePairsAboveLimit": { - "description": "The following should be equal to the size of the following repeated group, except that it can go higher than 10,000.", - "format": "int32", - "type": "integer" - }, - "totalDomainPhrasePairsSeenApprox": { - "description": "Number of domain/phrase pairs in total -- i.e. how many anchors we would have if the domain/phrase cutoff was set to 1 instead of 200. This is \"approx\" for large anchor clusters because there can be double counting when the LRU cache forgets about rare domain/phrase pairs.", - "format": "int32", - "type": "integer" - }, - "totalDomainsAbovePhraseCap": { - "description": "Number of domains above per domain phrase cap. We see too many phrases in the domains.", - "format": "int32", - "type": "integer" - }, - "totalDomainsSeen": { - "description": "Number of domains seen in total.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingDocjoinerAnchorStatisticsPerDupStats": { - "description": "------------------------------------------------------------------------- The total number of anchors collected per dupforwarding (including the canonical itself). Includes additional data about redundant and offdomain counts and the last timestamp it was collected from.", - "id": "IndexingDocjoinerAnchorStatisticsPerDupStats", - "properties": { - "anchorCount": { - "description": "Count of anchors kept from forwarding.", - "format": "int32", - "type": "integer" - }, - "collectType": { - "description": "This is EcnCollectType in anchor-ecn-matcher.h for the latest ECN of this dup: - kCollectNormal = 0, // Normal collection. - kCollectUnforwarded = 1, // Forwarding leader docid match only. - kCollectWhitelisted = 2, // Collected anchors matching whitelist. - kCollectNone = 4 // Skipped ECN anchor cluster.", - "format": "int32", - "type": "integer" - }, - "dupUrl": { - "description": "If missing, the same as the canonical.", - "type": "string" - }, - "offdomainAnchorCount": { - "description": "Count of offdomain anchors.", - "format": "int32", - "type": "integer" - }, - "redundantAnchorCount": { - "description": "Count of redundant anchors.", - "format": "int32", - "type": "integer" - }, - "scannedAnchorCount": { - "description": "The number of anchors being scanned from storage per dupforwarding.", - "format": "int32", - "type": "integer" - }, - "timestamp": { - "description": "Walltime when this was scanned last.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingDocjoinerAnchorStatisticsRedundantAnchorInfo": { - "description": "------------------------------------------------------------------------- The total number of redundant anchors dropped per (domain, text). If we receive a large number of anchors from a particular domain, then we'll throw out all but 200 of them from that domain. The data is sorted by the (domain, text) pairs. This is capped at 10,000 entries (if less, it will have the same number of elements as the above_limit count).", - "id": "IndexingDocjoinerAnchorStatisticsRedundantAnchorInfo", - "properties": { - "anchorsDropped": { - "format": "int64", - "type": "string" - }, - "domain": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "IndexingDocjoinerAnchorStatisticsRedundantAnchorInfoForPhraseCap": { - "id": "IndexingDocjoinerAnchorStatisticsRedundantAnchorInfoForPhraseCap", - "properties": { - "anchorsDropped": { - "format": "int32", - "type": "integer" - }, - "domain": { - "type": "string" - } - }, - "type": "object" - }, - "IndexingDocjoinerAnchorTrustedInfo": { - "description": "This message summarized anchors of one trusted site.", - "id": "IndexingDocjoinerAnchorTrustedInfo", - "properties": { - "matchedScore": { - "description": "Difference in KL-divergence from spam and non-spam anchors. Value \u003e0 indicate that anchor text from this trusted source is similar to anchors classified as spam which means that spammy anchors are legitimate.", - "format": "float", - "type": "number" - }, - "matchedScoreInfo": { - "description": "Detailed debug information about computation of trusted anchors match. Populated only when --anchorspam_penalizer_debug=true", - "items": { - "type": "string" - }, - "type": "array" - }, - "phrasesScore": { - "description": "Count of anchors classified as spam using anchor text.", - "format": "float", - "type": "number" - }, - "site": { - "description": "Site name from anchor.source().site().", - "type": "string" - }, - "text": { - "description": "Tokenized text of all anchors from the site.", - "items": { - "type": "string" - }, - "type": "array" - }, - "trustedScore": { - "description": "Fraction of pages with newsy anchors on the site, \u003e0 for trusted sites.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "IndexingDocjoinerCDocBuildInfo": { - "description": "Holds extra info except annotations and raw cdoc for buildint the final cdoc.", - "id": "IndexingDocjoinerCDocBuildInfo", - "properties": { - "extraMessage": { - "$ref": "Proto2BridgeMessageSet" - } - }, - "type": "object" - }, - "IndexingDocjoinerDataVersion": { - "description": "DataVersion tracks the version of data in CompositeDoc. The notion of \"data\" here is loose and people can define the name of their own. For example, a signal generated by Index Signals or an annotation generated by Goldmine (and other components) can all be considered as data here. Each field in this proto represents the human readable version string and the timestamp of one particular data. We choose to explicitly list out all of the data here for better understanding about which data are tracked. NOTE that human_readable_version is not intended for comparison, use timestamp_micros. In addition, we have an annotation about the field paths of each data. With proto reflection (using google3/net/proto2/util/public/field_path.h), downstream systems can take advantage of this annotation to automatically handle newly introduced data without modifying their code. Please also see the comment of FieldProjector above. There are also some fields in DataInfo that annotate who generates the data, the Index Signals or Goldmine annotator name for the fields already onboarded or being onboarded to FDP. Fields without annotation of signal_names or goldmine_annotator_names are not onboarded. Next ID: 710", - "id": "IndexingDocjoinerDataVersion", - "properties": { - "acceleratedShoppingSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "adsAdsaiMagicApfelApfelRegionFinderAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "adsAdsaiMagicMagicPageTypeAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "adsShoppingWebpxRawShoppingAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "amphtmlSignedExchangeErrorDetails": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "amphtmlSignedExchangeValidationPayload": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "analyticsSiteidAnalyticsPropertyAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "analyticsSiteidAnalyticsRenderedOutput": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "authenticSiteRankData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "babelEncoderBabelEncodings": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "badurlsBadurlsForceSelectionSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "boilerplateAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "boilerplateVisibleBytesEstimates": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "chromeCounts": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "commerceDataqualityOrganicCrawledSellerData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "commerceDataqualityOrganicShoppingAnnotationSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "commerceDataqualityOrganicShoppingSiteQuality": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "commonsenseQueriosityGoldmineQnaAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "commonsenseScoredCompoundReferenceAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "commonsenseStoneSoupProtoRaffiaInstructionsSeq": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "contraContentReviewAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "contraCuratedContent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "countryCountryAttachment": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "crawzallSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "creator": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "creatorjoinsEmbeddedUgcAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "datacommonsDatacommonsTriplesSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "dateAnnotationTags": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "dateAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "dateRangeAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "dateTimeAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "discoverSource": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "discussion": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "documentIntent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "dotsGaramondSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "dotsNewsstandSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "emailAddressAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "extractedBookInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "fastDataPropagationTestSignalContent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "fatcatCompactDocClassification": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "fatcatSiteVerticalsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "firstseen": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "fontsAnalysisAnnotatorFontsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "forumRankingForumPostsSafeSearchAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "foundationSplinterSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "freshboxFreshboxArticleAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "geoCarsVehicleDetailsPageAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "geoPointAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "geoPointResolution": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "geostoreAddressProto": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "i2eV2ImageEntitiesInfos": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageContentAnnotationLabels": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageContentColorSearchColorDetectionResults": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageDataList": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageExtraImageExtraTerms": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageMonetizationFeaturedDocumentProperties": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageMustangFaviconInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageMustangWebsearchImageSnippetResponse": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageQualityLabelmakerDocMediaLabels": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageQualityLandingPageProtoLandingPageSalientTextSet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageQualityLayoutDocument": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageQualityRichdataProtoImageAnchor": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageQualityRichdataProtoRichdata": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageQualitySalientTermsImageQuerySmearingList": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageQualitySalientTermsImageSalientTermSetMap": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageQualitySensitiveFaceSkinToneSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageQualitySensitiveMediaOrPeopleEntities": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageRepositoryGeolocation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageRepositoryPicasaGeoData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageSearchRejectedImageInfoList": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageStockStockImageAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageembed": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "imageembedDomainNorm": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsAnnotationMeta": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsAppMarketAppMarketAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsAppsCacheColonAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsAppsDocRestrictionsDocPreviewRestrictionsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsAutomobileVinAnnotatorAutomobileVinAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsCanonicalUrl": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsCleanTextProto": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsCollectionsDocCollections": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsCommentBlockGroups": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsDatasetModelAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsDatesDateTimes": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsDocImportance": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsDocRestrictionsInDocRestrictionsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsEntityPage": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsFeedbackSet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsIBertEmbeddingAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsImageRepositoryImageLicenseInfoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsPcuAmpError": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsPcuSignedExchangeInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsPersonPersonAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsSduPageTypeAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsSocialLinksSocialLinksAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsSubscribewithgoogleSwgAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsTwitterEmbeddedTweetsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsTypedNumberTypedNumberAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsWaPassagesQueryToPassageAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAnnotationsWaPassagesTrimmedQueryToPassageAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAppsAffiliatedInstantAppInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingAppsMergedAppInfoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingBadpagesBadPageParseResult": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingBadpagesCollapserInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingBadpagesIndexSelectionRemoval": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingBadpagesLoginPageResult": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingBadpagesUnifiedModelFeatures": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingBeringPublisherOnPageAdsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingCenterpieceCenterPieceAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingCenterpieceCenterpieceChecksums": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingCenterpieceCenterpieceUnifiedAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingCenterpieceComponentLearningSource": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingCenterpieceSectionTitleAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingConverterContentGenerationInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingConverterContentParserResults": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingConverterFileMetaInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingConverterLinkRelOutlinks": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingConverterMetaDetectorsResultsProto": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingConverterPdfFileMetaInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingConverterPdfPageAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingCustomCorpusCdmAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingDeepwebStoreListAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingDocjoinerServingTimeClusterIds": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingDocjoinerWikiInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingDocskeletonRepeatedPatternRepeatedPatternAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingDupsLocalizedLocalizedCluster": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingDupsNearDupsResult": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingFreshSchedulerFreshSchedulerDoubleInstantExtension": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingFreshSchedulerOutlinkDiscoveryHistoricalHubsSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingImagesRelatedImageSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingInstantActiveClusterScorerSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingInstantBaseReindexWhitelistData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingInstantClusterScorerArticle": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingInstantClusterScorerSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingInstantHistoricalContentSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingInstantNewsHighlyCitedDocumentSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingInstantNewsImagesInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingInstantSignalSourceTagsExtension": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingLatticeLatticeAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMetricsUrlIndexingProps": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMlDomNodeSegments": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMlEntityInfoboxes": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMlPageStructure": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMlSemanticArticle": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMlShoppingUniverseAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMlVerticalVerticalClassificationResult": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMlVerticalVerticalClassificationV2": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMobileClientDependentInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMobileInterstitialsProtoDesktopInterstitials": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMobileObelixInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMobileSmartphoneContentAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMobileSmartphonePatternClassification": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingMobileSpeedPageSpeedFieldData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingPlusonePlusOneSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingPlusoneSocialScoreSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingRaffiaDataRecoveryInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingRaffiaIndexingIntermediate": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingRaffiaMediaProcessingMetadata": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingRaffiaOverlayCDocAttachment": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSelectionAcquisitionMetadataAttachment": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSelectionDoubleIndexingExtension": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSelectionFastServingPush": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSelectionFreshdocsPassthroughExtension": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSelectionImageImageSelectionAttachment": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSelectionIndexCompositionExperimentExtension": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSelectionLanguageExtension": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSelectionPriorScorerParameterSet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSelectionProcessingPriorityExtension": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSelectionProtoBasePromotionInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSelectionTensorFlowExtension": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingServiceFirsttimesCrawlFirsttimesSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSignalAggregatorUrlPatternSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSignalsAccumulatedOnlineSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSignalsImpressionsPerDayContainer": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSocialCountsSocialWidgetsIndicator": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSpeechGoldminePodcastAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingSpeechSpeechPagePropertiesProto": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingThirdpartyThirdPartyInputs": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingUgcPageParamInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingUnionKeyData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingUrlPatternUrlTreeUrlPatternAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingVideosVideoAnchorSourceInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingVideosVideoPlaylistAnchorSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "indexingWebChannelsWebChannelAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "infoextractionPinpointPinpointAnnotationSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "infoextractionPinpointPinpointSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "instantChromeViews": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "instantNavboost": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeGraphAcquisitionFeedsQuotesQuotesAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsDocumentSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsFactEvaluationSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsHtmlTableSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsKatsSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsLocalizedFact": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsObjectAnnotationsSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsProductCompositionSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsServingData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsShoppingSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsStructuredSnippetsSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsUdrExtraFactData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsUdrExtraFactMentionData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsUniversalFactMetadata": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsUniversalFactScores": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsUniversalTableSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningFactsWebKvSiteGroupSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningShoppingBrowseonomyData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMiningShoppingTwdModelVersions": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumConsumerNewsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuAccusatoryTitleAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuAmusingAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuBaseCuriosityAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuBaseCuriosityV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuBaseCuriosityV3Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuBeginnerAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuBeginnerTitleAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuBoringAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuBoringVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuBoringVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuBroadTitleAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuBroadlyConsumableAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuClickbaitPlusAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuClickbaitPlusCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCommercialNewsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCommercialVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCommercialVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCommercialVideoV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCommercialVideoV2CandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuComplexAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCoolProjectVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCoolProjectVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCoolProjectVideoV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCoolProjectVideoV2CandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCreativeVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCreativeVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCuteShortVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuCuteShortVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDepressingTitleAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDietaryAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDisasterAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDisasterV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDiscriminatoryAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDisgustingAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDisgustingV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDismissRatioUserBehaviorAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDistanceSensitiveAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDiyProjectVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDiyProjectVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDqsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDramaticTitleAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuDryFactsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEasyReadAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEducationalVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEducationalVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEngagingVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEngagingVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEngagingVideoV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEngagingVideoV2CandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEngagingVideoV3Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEngagingVideoV3CandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEngagingnessAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEngagingnessLeAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEngagingnessMmAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEnjoyableMutedVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEnjoyableMutedVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEntertainingVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuEntertainingVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuFactualAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuFlavorAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuFlavorMmAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuFlavorMmCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuFlavorMmV2CandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuFunFactsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuFunVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuFunVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuFunnyShortVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuFunnyShortVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuGameplayVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuGameplayVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuGoodCommercialAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuGossipNewsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuHeartRatioUserBehaviorAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuHowToVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuHowToVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuInspiredQueryRateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuInspiringAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuInspiringTitleAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuInspiringUserBehaviorAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuInspiringV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuIntelligentAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuInterviewVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuInterviewVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuLectureVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuLectureVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuLifehackVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuLifehackVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuLifestyleAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuListicleTitleAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuMayhemNewsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuMediaVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuMediaVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuNegativeToneAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuNewsVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuNewsVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuNewsyTitleAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuOpinionPiecesAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuPersonalNarrativeAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuPracticalAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuPracticalVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuPracticalVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuPredictedTrafficRatioAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuProductReviewVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuProductReviewVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuProfanityAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuProfanityV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuRacyAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuRacyV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuRealLifeTipsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuRemoteRelevanceAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuReviewsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuSensationalClickbaitAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuSensationalClickbaitV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuSensationalClickbaitV3Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuSexualUserBehaviorAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuShareRatioUserBehaviorAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo", - "description": "END DATA FIELDS" - }, - "knowledgeMumDcuStalenessAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuStoryAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuStorytellingVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuStorytellingVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuThoughtProvokingAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuThoughtProvokingV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuTimeSensitiveAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuTimelessAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuTimelessVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuTimelessVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuTrailerVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuTrailerVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuUsefulUserBehaviorAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuUsefulVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuUsefulVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuVideoFlavorAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuViolenceAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuViolenceV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuViolentOrDisgustingUserBehaviorAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuVisuallyEngagingAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuVisuallyEngagingV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuVlogVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuVlogVideoCandidateAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuWellWrittenAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuWithholdingInfoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuWithholdingInfoV2Annotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumDcuWorthyHeadlineNewsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumStoryTeaserAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumStorytimeStampEngagementAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeMumStorytimeStampQualityAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeTablesTableInternalData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeTablesUniversalTableAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeTasksUniversalTaskAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "knowledgeTpfHowtodoHowtoVideoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "langIdLangReasonerDocumentLanguages": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "lensVsaiDatasets": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "localsearchAuthoritySiteAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "localyp": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "mapsSyntheticsGeoDocFetchKey": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "measurementAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "metawebExtractionDocumentEvidence": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "modernFormatContent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "multiverseHubSpokesSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "navBoostDocument": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "navboost": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo", - "description": "BEGIN DATA FIELDS" - }, - "newsAnnotationsContentAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsCorpusDifferentiatedContentAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsCorpusHubPageAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsCorpusLeafPageAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsCorpusNewsAggregateSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsCorpusNewsCorpusAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsCorpusNewsCorpusRootAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsCorpusNewsCorpusStatusAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsCorpusNewsinessAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsCorpusPositionRankAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsCrawlFilterNewsLinkCrawlSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsExtractionNewsPbeAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsNarIndexingMetadata": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsNarRow": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsNarRowContainer": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsNearDupsInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsNewromanIndexingNewRomanSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsNewsArticleChecksum": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsNewsClassifications": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsNewsContentSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsNewsForEducationReadingStatistics": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsVideosNewsAnchorSourceInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "newsVideosNewsVideoAnnotationSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "nlpAtcClaraAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "nlpSaftDocument": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "nlpSaftNlxDocAnnotatorMigration": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "nlpSaftRodinClassification": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "nlpSentimentSentimentAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "nlxDocAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "noindexedImageDataList": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "nsrFdpData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo", - "description": "Must be used together with quality_nsr_nsr_data" - }, - "numberAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanLibrarianBookMetadata": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanLibrarianPopulatorData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanLibrarianPopulatorPageData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataAllItemSpecificBibdatas": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataAvailabilityInfoComponent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataAvailabilitySnapshot": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataAvailabilitySnapshotHolder": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataBibkeyComponent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataClusterHorizontalReference": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataClusterRecord": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataClusterVolumes": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataClusteringSeriesSeriesInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataClusteringTomeHorizontalLinkDescriptor": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataContributorLinks": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataItemSpecificBibdataComponent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataKgTopicLinks": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataLanguageInfoComponent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataMaterialInfoComponent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataParsedAccessTerms": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataParsedSuDoc": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataPatentPublicationDetails": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataPhysicalMeasurementsComponent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataPublicDomainInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataPublicationDetailsComponent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataRightsComponent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataSeriesInfoComponent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataTomeDetailsComponent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataTomeMembersComponent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanMetadataTomePriceInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanReviewsForWork": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "oceanRightsOptOutRequest": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "officialPagesQuerySet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "orbitIntents": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "perDocLangidData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "personalizationGameWebeventsConsolidatedEvents": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "personalizationGameWebeventsEvent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "personalizationGameWebeventsEvents": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "photosGeoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "predictedAuthenticity": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "priceAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityAnchorsOutdegreeOutdegreeInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityAnimaLivewebLivewebAttachment": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityAnimaRoutinesRoutinesPropertiesProto": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityAuthorityTopicEmbeddings": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityAuthorshipAuthorAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityBreadcrumbsBreadcrumbAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityCalypsoAppsLink": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityChardDocument": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityChardPredictedQueryFringeScore": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityChardPredictedXlq": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityChardPredictedXlqSevereHoax": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityContraSelectedAttributions": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityCopiaFireflySiteInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityDiscoverUgcScatScatEmbeddingAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityDniNewsstandPcu": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityDniPcuAuxiliaryData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityDniPcuMetaAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityDniPcuParsedData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityDniPcuRawData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityExploreQueryableFeedEcsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityExploreQueryableFeedHashtagAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityExploreQueryableFeedHashtagListAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityExploreQueryableFeedTopicFeedScoringSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityFlavorsFlavorSet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityForumrankingUgcPageQualityDocumentAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityFreshnessAbacusInstantNavBoostDocumentAnon": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityFreshnessAbacusInstantNegativeClicksInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityFringeFringeQueryPrior": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityGeoBrainlocGoldmineBrainlocAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityGeoLoglocGoldmineDocumentLocationAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityHistoricalContentAge": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityHorizonProtoHorizonEmbeddings": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityHorizonRecordInfoAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityImprovDocToQueries": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityImprovImprovAnchors": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityLisztomaniaDocument": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityModernProtoUcpDocInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityModernProtoUcpServingData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNaturalPearlsNaturalPearlsDocumentAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNavboostCrapsCrapsData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNavboostCrapsCrapsPatternSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNegativeClicksNegativeClicksInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNlqStructuredSearchAnnotationAnalysisAutomaticExtractionAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNlqStructuredSearchListingPagesListingPageAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNsrDokiAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNsrNsrData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNsrNsrSitechunksAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNsrPairwiseqPairwiseQData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNsrPqData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNsrSiteAuthority": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityNsrUvSitechunksAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityOrbitAsteroidBeltIntermediateDocumentIntentScores": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPagemasterPagemasterAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPanopticIndexingDiscoverCorpusAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPanopticIndexingDiscoverDocumentSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPanopticIndexingPanopticAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPanopticStorytimeAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPanopticStorytimeScoringSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPanopticVoiceUgcAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPeoplesearchNamedetectorNameOccurrenceAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPeoplesearchNamedetectorNavboostNameAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPopfeedsChromeBackgroundAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPopfeedsHubDataAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPopfeedsTopicStatsTopicScoreAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPopfeedsUrlPredictionAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPopfeedsUrlSourceAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPricedetectorKefirPriceAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityPricedetectorProductBlockAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityProseJsonLdAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityProseThumbnailSelection": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityQ2QualityBoost": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityQ2SiteQualityFeatures": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityRealtimeBoostRealtimeBoostEvent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityRealtimeBoostRealtimeBoostResponse": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityRealtimeBoostSeismographEventAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityRealtimeRealtimeResultInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityRealtimeRtFactAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityResultFilteringIndexingClusterAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityRichsnippetsAppsProtosApplicationInformationAttachment": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityRodinRodinSiteSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySalientCountriesSalientCountrySet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySalientStructuresSalientStructureSet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySalientStuffSalientStuffSet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySalientTermsQuerySmearingModel": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySalientTermsSalientTermSet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySearchoversiteAnnotatorStructuredResultsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySherlockKnexAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityShoppingDtcDomainsSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityShoppingProductReview": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityShoppingProductReviewPage": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityShoppingShoppingProductReviewAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySimilarpagesRelatedInfoSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySitemapDocument": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySitemapThirdPartyCarouselsItemLists": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySixfaceSixfaceUrlData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySnippetsHiddenTextHiddenSpanAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySnippetsListSnippetsAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySnippetsMetadescriptionDuplicateMetaSiteSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySnippetsSnippetSpansInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySosGoldmineSosAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualitySummarySummary": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityTangramInformationTypes": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityTimebasedTimeSensitivityTimeSensitivityAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityTitlesAlternativeTitlesInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityTitlesSitelinksTargetTitleInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityTwiddlerDomainClassification": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityViewsAnswersAnswerAnnotationInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityVisualwebVisualWebAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityVisualwebVisualWebModelsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityWebanswersAltTitleSaftDoc": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityWebanswersTranscriptAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityWebfeederDocEmbedding": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "qualityWebshineDocResources": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "rankBoostDocAttachment": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "rankembed": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "relativeDateAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsAddressAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsAmenitiesAmenitiesAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsCrawzallAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsDiscussionThreadDiscussionViewProto": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsLicensedResources": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsListFilterAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsListSummaryAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsMicrodataMicrodataAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsMicroformatsHproduct": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsMicroformatsMicroformatAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsPhoneTypePhoneTypeAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsRdfaRdfaAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsRodinArticleAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsSectionHeadingAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsSnippetSegmentSnippetSegmentAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsSporeAuthoritySignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsSporeDeeplinkAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsSporeExtractorTopicAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsSporeExtractorTripleAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsSporeSporeEtlAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsSporeSporeEtlInputAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsStorehoursStoreHoursAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsVerseAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryAnnotationsWebanswersContextItemAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryProtiumEncyclojoinsEncycloJoin": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryProtiumGoldmineTriplificationResult": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryProtiumGoldmineTypeAssertionOutput": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryProtiumWebkvWebKv": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryProtiumWikiaWikiaInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryUpdaterIndexSelectionAttachment": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefAuthorExtractionAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefEntityJoin": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefExperimentalWebrefEntitiesAttachment": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefGraphMention": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefJuggernautIndices": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefPageClassificationAnchorSignalsSet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefPageClassificationSignalsSet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefPiannoDocumentIntent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefPiannoDocumentIntents": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefPiannoTvSeasonEpisode": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefPreprocessingReferencePageCandidateList": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefReconcileResponse": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefRefconJugglerReferencePageMappings": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefReferencePagesClassifierScoredPage": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefSalientEntitySet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefUndermergedEntities": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefUniversalEmbeddingRetrievalDebug": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefWebitIntermediaryMids": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefWebitScopeFprint": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefWebitScopeSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefWebitTripleSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefWebrefEntities": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebrefWebrefStatus": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebtablesDataTableAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebtablesDataTableMidAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWebtablesTranslationMessage": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWikipediaAliasList": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWikipediaAnnotatorWikipediaPageComponentAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWikipediaSentenceCompressionAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWikipediaWikiJoin": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWikipediaWikiMapperTripleSet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWikipediaWikibaseEntity": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWikipediaWikidataOrgTripleSet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "repositoryWikipediaWikitrustWikiTrustInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "researchCoauthorOpinionAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "researchStructuredDataInadvertentAnchorScoreAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "researchStructuredDataKnowledgeExplorationAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "researchStructuredDataNewsEmbeddingAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "richsnippetsDataObject": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "richsnippetsFeedPageMap": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "richsnippetsPageMap": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "richsnippetsPageMapAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "richsnippetsSchemaThing": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "robotsPolicy": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "rosettaLanguage": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "safesearchPageClassifierOutput": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "safesearchSafeSearchInternalPageSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "scienceIndexSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "searchEngagementHighlightSharedHighlightSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "searcharSearchArPipelineSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "shoppingQualityShoppingSiteClassifier": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "shoppingQualityShoppingSiteClassifierShopfab": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "shoppingWebentityShoppingAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "sitemapsSitemapsSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "smearingSmearedTerms": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "socialPersonalizationKnexAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamBrainSpamBrainData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamBrainSpamBrainPageClassifierAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamContentAnchorDist": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamContentAuthenticAuthenticTextAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamContentImageMapPb": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamContentSiteAgeStats": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamCookbookCookbookAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamCookbookCookbookSitechunkAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamFatpingIndexFeed": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamGodclusterAffIdAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamGodclusterServerHeaderAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamGooglebombsGooglebombsAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamHackedSitesDocSpamInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamHackedSitesGpgbGpgbNgramStats": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamHackedSitesWordFrequencies": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamJsJsInfo": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamScamScamness": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamScamUnauthoritativeSite": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spamTokensSpamTokensAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "spambrainDomainSitechunkData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "tableTalkStrideOfferPagePriceAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "tasksTabaTabaDocSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "telephoneNumberAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "timeAnnotationTags": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "timeAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "timeRangeAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "travelAssistantTravelDocClassification": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "trawlerEffectiveRobotsContent": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "ucpSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "udrConverterDocumentShoppingData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "udrConverterOffer": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "udrConverterProductBlockData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "udrProtoDetailedEntityScores": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "udrProtoOverlay": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "udrProtoWebrefMention": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "universalFacts": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "unwantedImageDataList": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "uriAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "utilStatusProto": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "verticalsDiscussionDiscussionAnnotationTag": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "videoCrawlAutomatedAudioExtractionSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "videoCrawlAutomatedExtractionSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "videoCrawlDomainVideoClickData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "videoCrawlVideoClickData": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "videoCrawlVideoSalientTermSet": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "videoCrawlVideoScoringSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "videoCrawlWatchPagePatternClassification": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "videoCrawlYoutubeEmbedSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "videoScoringSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "videoShoppingVideoShoppingAnnotation": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "videoWebGallery": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "videoYoutubeLiveCardioCardioStats": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "volt": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "watchpageLanguageWatchPageLanguageResult": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "websitetoolsFeedsAnnotationsFeedContentAnnotations": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "websitetoolsFeedsLinkedFeedLinkedFeed": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "websitetoolsFeedsPodcastPodcastSignals": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "websitetoolsFeedsSporeFeedsSporeTriples": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "whatshappStrideExtractions": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "youtubeAlexandriaYoutubeBody": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - }, - "youtubeAlexandriaYoutubeSignal": { - "$ref": "IndexingDocjoinerDataVersionVersionInfo" - } - }, - "type": "object" - }, - "IndexingDocjoinerDataVersionVersionInfo": { - "id": "IndexingDocjoinerDataVersionVersionInfo", - "properties": { - "considerationTimestampMicros": { - "description": "Sometimes, a piece of data may not exist for a document (and we don't want to delete it), so timestamp_micros won't exist. However, consideration_timestamp_micros will be set to indicate we tried to update that piece of data for tracking purposes.", - "format": "int64", - "type": "string" - }, - "humanReadableVersion": { - "type": "string" - }, - "timestampMicros": { - "description": "The timestamp when a piece of data is updated (or deleted if the data doesn't exist in the update).", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "IndexingDocjoinerServingTimeClusterId": { - "description": "The serving cluster id metadata. Why we cluster the documents. The default value is UNKNOWN. Serving-Side Clustering is used for pages which represent the same content but are not identical (e.g. translated pages, or paginated content). Those documents are not dup-clustered in Alexandria so that all documents (and their tokens) are available to search queries. However, those documents are assigned the same Serving-Time-Cluster-ID (on the same reasontype), which during serving guarantees that only one of them is shown to the user.", - "id": "IndexingDocjoinerServingTimeClusterId", - "properties": { - "clusterId": { - "description": "The unique id to distinguish members in cluster. It could be generated in different ways according to reason, e.g. LINK_REL_NEXT_PREVIOUS: it is the fingerprint of the URL of index 0; PAGE_PARAMETER_INFO: it is the fingerprint of pagination pattern (pagination_pattern_fp field in PageParamInfo message).", - "format": "uint64", - "type": "string" - }, - "indexForDebugging": { - "description": "The member index of this document in cluster. Starts from \"0\". Note that indices of pages in a cluster may not be consistent with each other, because we may update them at different points in time. Currently only used for debugging.", - "format": "int32", - "type": "integer" - }, - "reason": { - "description": "The reason why this document is clustered into this cluster.", - "enum": [ - "UNKNOWN", - "LINK_REL_NEXT_PREVIOUS", - "PAGE_PARAMETER_INFO", - "DEPRECATED_DO_NOT_USE_LANGUAGE_REGION_VARIATION", - "SITE_DUP", - "FLIPPED_CANONICAL", - "MOBILE_REDIRECTION_DUP", - "BROKEN_REL_CANONICAL", - "ROBOTED_SAME_HOST", - "DEPRECATED_DO_NOT_USE_SAME_PRE_RENDER_CHECKSUM" - ], - "enumDescriptions": [ - "", - "The documents are clustered together by link rel=next/previous elements.", - "The documents are clustered together by page parameter information.", - "Language/Region variation. No longer used as serving-time-cluster-IDs, handled via it's own fields and twiddler.", - "The documents are clustered together if they belong to sites which are suspected to be identical.", - "The documents are canonicals chosen from the same dup cluster, but at slightly different points in time. This could be because they're serving from different tiers, e.g., daily vs. base, or different segments in teragoogle; or it could simply be a result of non-atomic updates to librarian. While Alexandria guarantees that there will only ever be one canonical, it is possible for an old and a new canonical to be serving at the same time. In such a case, they should share this ID.", - "The documents are clustered together if they are redirected to the same URL on smartphone. This type is only used for smartphone traffic.", - "The documents are connected by a rel=canonical link that has been found invalid by mr-bad-rel-canonicals.", - "The documents that are roboted and belong to the same host and have the same suffix are clustered together. See http://sites/index-dups/clustering/roboted for details.", - "The documents that have same pre-rendering checksum 96bit are clustered together. This is used as a safe guard for the launch of replacing pre-render checksum 96bit with rendered checksum 96bit." - ], - "type": "string" - } - }, - "type": "object" - }, - "IndexingDocjoinerServingTimeClusterIds": { - "description": "This message contains a set of cluster ids used to de-dup at serving time. A document could be clustered into different clusters according to different properties.", - "id": "IndexingDocjoinerServingTimeClusterIds", - "properties": { - "clusterId": { - "description": "The exact cluster metadata for each individual cluster if any.", - "items": { - "$ref": "IndexingDocjoinerServingTimeClusterId" - }, - "type": "array" - } - }, - "type": "object" - }, - "IndexingDupsComputedLocalizedAlternateNamesLocaleEntry": { - "id": "IndexingDupsComputedLocalizedAlternateNamesLocaleEntry", - "properties": { - "clusterId": { - "description": "Cluster-ID of that locale entry. Not Populated if the message is part of a Cluster-Proto (e.g. when loaded as a signal). The data is being populated when the proto is used outside of the cluster context. For instance, when being used as a dups-computed-localized-alternate-name.", - "format": "uint64", - "type": "string" - }, - "deviceMatchInfo": { - "description": "Device match info calculated only by URL pattern.", - "enum": [ - "UNKNOWN", - "WWW_TO_WWW", - "WWW_TO_M", - "M_TO_M", - "M_TO_WWW" - ], - "enumDescriptions": [ - "", - "Both canonical and localized url are www version.", - "Canonical is www version but localized url is m version.", - "Both canonical and localized url are m version.", - "Canonical is m version but localized url is www version." - ], - "type": "string" - }, - "language": { - "description": "Language/Region code. E.g. \"en-US\" or \"de\". Allowed values are language-region codes based on the W3C recommendation http://www.w3.org/TR/html401/struct/dirlang.html#langcodes", - "type": "string" - }, - "url": { - "description": "The alternate url representing the content for a specific language and region (or language only).", - "type": "string" - }, - "urlEncoding": { - "description": "see webutil/urlencoding", - "format": "int32", - "type": "integer" - }, - "urlRegionCode": { - "description": "The region code that was extracted from the URL, either by the TLD or via a pattern (like 'en-ca' as a path element).. Always filled in if known, unlike the sometimes left out region part of the language field. Unknown Region Code", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingDupsLocalizedLocalizedCluster": { - "id": "IndexingDupsLocalizedLocalizedCluster", - "properties": { - "boostSourceBlocker": { - "description": "Defined as a source-blocker, a result which can be a boost target but should itself not be boosted (e.g. roboted documents). For more details on source and target blocking, please read through the code for quality/twiddler/impls/PROTECTED/local_result_twiddler_v2.cc", - "type": "boolean" - }, - "cluster": { - "items": { - "$ref": "IndexingDupsLocalizedLocalizedClusterCluster" - }, - "type": "array" - }, - "deprecatedHreflangInfo": { - "$ref": "IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfo", - "description": "Since July 2014 those two fiels are no longer populated, the data is stored in the TargetLinkSets instead. The deprecated fields contain values only for docs which have not been processed since July 2014." - }, - "deprecatedOutlinksInfo": { - "$ref": "IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfo" - }, - "documentLanguage": { - "description": "The language of this document (as detected by on-page language detection, not influenced by external anchor signals or other indirect conclusions).", - "enum": [ - "ENGLISH", - "DANISH", - "DUTCH", - "FINNISH", - "FRENCH", - "GERMAN", - "HEBREW", - "ITALIAN", - "JAPANESE", - "KOREAN", - "NORWEGIAN", - "POLISH", - "PORTUGUESE", - "RUSSIAN", - "SPANISH", - "SWEDISH", - "CHINESE", - "CZECH", - "GREEK", - "ICELANDIC", - "LATVIAN", - "LITHUANIAN", - "ROMANIAN", - "HUNGARIAN", - "ESTONIAN", - "TG_UNKNOWN_LANGUAGE", - "UNKNOWN_LANGUAGE", - "BULGARIAN", - "CROATIAN", - "SERBIAN", - "IRISH", - "GALICIAN", - "TAGALOG", - "TURKISH", - "UKRAINIAN", - "HINDI", - "MACEDONIAN", - "BENGALI", - "INDONESIAN", - "LATIN", - "MALAY", - "MALAYALAM", - "WELSH", - "NEPALI", - "TELUGU", - "ALBANIAN", - "TAMIL", - "BELARUSIAN", - "JAVANESE", - "OCCITAN", - "URDU", - "BIHARI", - "GUJARATI", - "THAI", - "ARABIC", - "CATALAN", - "ESPERANTO", - "BASQUE", - "INTERLINGUA", - "KANNADA", - "PUNJABI", - "SCOTS_GAELIC", - "SWAHILI", - "SLOVENIAN", - "MARATHI", - "MALTESE", - "VIETNAMESE", - "FRISIAN", - "SLOVAK", - "CHINESE_T", - "FAROESE", - "SUNDANESE", - "UZBEK", - "AMHARIC", - "AZERBAIJANI", - "GEORGIAN", - "TIGRINYA", - "PERSIAN", - "BOSNIAN", - "SINHALESE", - "NORWEGIAN_N", - "PORTUGUESE_P", - "PORTUGUESE_B", - "XHOSA", - "ZULU", - "GUARANI", - "SESOTHO", - "TURKMEN", - "KYRGYZ", - "BRETON", - "TWI", - "YIDDISH", - "SERBO_CROATIAN", - "SOMALI", - "UIGHUR", - "KURDISH", - "MONGOLIAN", - "ARMENIAN", - "LAOTHIAN", - "SINDHI", - "RHAETO_ROMANCE", - "AFRIKAANS", - "LUXEMBOURGISH", - "BURMESE", - "KHMER", - "TIBETAN", - "DHIVEHI", - "CHEROKEE", - "SYRIAC", - "LIMBU", - "ORIYA", - "ASSAMESE", - "CORSICAN", - "INTERLINGUE", - "KAZAKH", - "LINGALA", - "MOLDAVIAN", - "PASHTO", - "QUECHUA", - "SHONA", - "TAJIK", - "TATAR", - "TONGA", - "YORUBA", - "CREOLES_AND_PIDGINS_ENGLISH_BASED", - "CREOLES_AND_PIDGINS_FRENCH_BASED", - "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", - "CREOLES_AND_PIDGINS_OTHER", - "MAORI", - "WOLOF", - "ABKHAZIAN", - "AFAR", - "AYMARA", - "BASHKIR", - "BISLAMA", - "DZONGKHA", - "FIJIAN", - "GREENLANDIC", - "HAUSA", - "HAITIAN_CREOLE", - "INUPIAK", - "INUKTITUT", - "KASHMIRI", - "KINYARWANDA", - "MALAGASY", - "NAURU", - "OROMO", - "RUNDI", - "SAMOAN", - "SANGO", - "SANSKRIT", - "SISWANT", - "TSONGA", - "TSWANA", - "VOLAPUK", - "ZHUANG", - "KHASI", - "SCOTS", - "GANDA", - "MANX", - "MONTENEGRIN", - "AKAN", - "IGBO", - "MAURITIAN_CREOLE", - "HAWAIIAN", - "CEBUANO", - "EWE", - "GA", - "HMONG", - "KRIO", - "LOZI", - "LUBA_LULUA", - "LUO_KENYA_AND_TANZANIA", - "NEWARI", - "NYANJA", - "OSSETIAN", - "PAMPANGA", - "PEDI", - "RAJASTHANI", - "SESELWA_CREOLE_FRENCH", - "TUMBUKA", - "VENDA", - "WARAY_PHILIPPINES", - "NUM_LANGUAGES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Norwegian\" = \"no\" normally implies Bokmål (\"nb\"). See also NORWEGIAN_N. Consider using IsNorwegianLanguage().", - "", - "WARNING: \"Portuguese\" in the enum Language implies the Iberian variant, while Google and industry standard practice is for \"pt\" to imply Brazilian, for the much larger population. The old LanguageCode() function returns \"pt\" for legacy reasons. The III LanguageEnumLanguageCodeConverter converts it to \"pt-PT\" to preserve the semantics. Converting between this legacy enum and industry-standard language tags cannot preserve the distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage().", - "", - "", - "", - "\"Chinese\" normally implies simplified Han characters (\"zh-Hans\"). See also CHINESE_T. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage().", - "", - "", - "", - "", - "", - "", - "Serbian is commonly written in two scripts. The default is Cyrillic (\"sr\" = \"sr-Cyrl\"). It is also often written with Latin letters (\"sr-Latn\"). This enum does not convey that distinction.", - "", - "", - "TAGALOG is used to mean both Tagalog (tl) and Filipino (fil). These are nearly the same; Filipino is the official language, and \"fil\" is normally used for UI settings etc. The old LanguageCode() function returns \"tl\".", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Bihari\" is not a language: There are several different languages spoken in and around the Indian state of Bihar. This is like saying \"Swiss\" to mean German+French+Italian+Romansh.", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Chinese written in traditional Han characters (\"zh-Hant\"). See also CHINESE. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "UI only. LangId language: CROATIAN (28)", - "", - "Norwegian Nynorsk (\"nn\"). See also NORWEGIAN. Consider using IsNorwegianLanguage(). UI only. LangId language: NORWEGIAN (10)", - "Portuguese in Portugal (\"pt-PT\"). See the WARNING at PORTUGUESE. Avoid a distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "Portuguese in Brazil (\"pt-BR\"). Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "", - "UI only.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "", - "This has been documented as \"Kurmanji (kmr) + Sorani (ckb) + Kurdish (ku)\". There are several kinds of Kurdish languages. \"ku\" normally implies Northern Kurdish = Kurmanji (kmr) which is normally written in Latin letters. \"ckb\" is Central Kurdish (largely in Iraq) which is normally written in Arabic letters (thus right-to-left).", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "sometimes spelled Divehi; lang of Maldives", - "", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "\"Moldavian\" is the same language as Romanian. In language tags, \"ro-MD\" can be used but is not normally necessary. Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage(). UI only. LangId language: ROMANIAN (22)", - "", - "", - "UI only.", - "", - "", - "", - "", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only. More commonly called Luganda.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "Translate only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "Translate only.", - "Translate only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "Always keep this at the end. It is not a" - ], - "type": "string" - }, - "hreflangTargetLink": { - "$ref": "IndexingDupsLocalizedLocalizedClusterTargetLinkSets" - }, - "inbodyTargetLink": { - "$ref": "IndexingDupsLocalizedLocalizedClusterTargetLinkSets" - }, - "outlinksTargetLink": { - "$ref": "IndexingDupsLocalizedLocalizedClusterTargetLinkSets" - }, - "sitedupRuleId": { - "description": "The list of Sitedup rule IDs for this specific URL. The value is only populated if the URL has at least one localized cluster fulfilling the following conditions: - spans more than one host - does not have filtering enabled due to other input (e.g. due to being a hreflang cluster).", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "warningMessage": { - "description": "A warning indicator that a problem has occurred, e.g. cross-domain links being filtered early. The warning is just presented for debugging purposes.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "IndexingDupsLocalizedLocalizedClusterCluster": { - "id": "IndexingDupsLocalizedLocalizedClusterCluster", - "properties": { - "clusterId": { - "description": "The cluster id, a unique int64 id for the cluster.", - "format": "uint64", - "type": "string" - }, - "clusterType": { - "enum": [ - "UNDEFINED_CLUSTER_TYPE", - "COMPUTED_ORGMAP", - "COMPUTED_URL_PATTERN", - "HREFLANG_ANNOTATION", - "HREFLANG_ANNOTATION_OPTIMISTIC_GUESS", - "HREFLANG_ANNOTATION_FROM_BODY", - "PAGE_OUTLINKS", - "NOT_USED_4", - "NOT_USED_6", - "NOT_USED_8", - "NOT_USED_9" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "deprecatedDebugInfo": { - "deprecated": true, - "description": "Debug Info being attached to each cluster, to understand how it was created. That info is stored in Alexandria, but not available during serving.", - "items": { - "type": "string" - }, - "type": "array" - }, - "filteringEnabled": { - "description": "Indicates that filtering can be applied on the category (if many results of one cluster show up on the SERP, only one should be kept).", - "type": "boolean" - }, - "language": { - "description": "The language as represented by the URL, e.g. 'use this document on the cluster for German queries'.", - "enum": [ - "ENGLISH", - "DANISH", - "DUTCH", - "FINNISH", - "FRENCH", - "GERMAN", - "HEBREW", - "ITALIAN", - "JAPANESE", - "KOREAN", - "NORWEGIAN", - "POLISH", - "PORTUGUESE", - "RUSSIAN", - "SPANISH", - "SWEDISH", - "CHINESE", - "CZECH", - "GREEK", - "ICELANDIC", - "LATVIAN", - "LITHUANIAN", - "ROMANIAN", - "HUNGARIAN", - "ESTONIAN", - "TG_UNKNOWN_LANGUAGE", - "UNKNOWN_LANGUAGE", - "BULGARIAN", - "CROATIAN", - "SERBIAN", - "IRISH", - "GALICIAN", - "TAGALOG", - "TURKISH", - "UKRAINIAN", - "HINDI", - "MACEDONIAN", - "BENGALI", - "INDONESIAN", - "LATIN", - "MALAY", - "MALAYALAM", - "WELSH", - "NEPALI", - "TELUGU", - "ALBANIAN", - "TAMIL", - "BELARUSIAN", - "JAVANESE", - "OCCITAN", - "URDU", - "BIHARI", - "GUJARATI", - "THAI", - "ARABIC", - "CATALAN", - "ESPERANTO", - "BASQUE", - "INTERLINGUA", - "KANNADA", - "PUNJABI", - "SCOTS_GAELIC", - "SWAHILI", - "SLOVENIAN", - "MARATHI", - "MALTESE", - "VIETNAMESE", - "FRISIAN", - "SLOVAK", - "CHINESE_T", - "FAROESE", - "SUNDANESE", - "UZBEK", - "AMHARIC", - "AZERBAIJANI", - "GEORGIAN", - "TIGRINYA", - "PERSIAN", - "BOSNIAN", - "SINHALESE", - "NORWEGIAN_N", - "PORTUGUESE_P", - "PORTUGUESE_B", - "XHOSA", - "ZULU", - "GUARANI", - "SESOTHO", - "TURKMEN", - "KYRGYZ", - "BRETON", - "TWI", - "YIDDISH", - "SERBO_CROATIAN", - "SOMALI", - "UIGHUR", - "KURDISH", - "MONGOLIAN", - "ARMENIAN", - "LAOTHIAN", - "SINDHI", - "RHAETO_ROMANCE", - "AFRIKAANS", - "LUXEMBOURGISH", - "BURMESE", - "KHMER", - "TIBETAN", - "DHIVEHI", - "CHEROKEE", - "SYRIAC", - "LIMBU", - "ORIYA", - "ASSAMESE", - "CORSICAN", - "INTERLINGUE", - "KAZAKH", - "LINGALA", - "MOLDAVIAN", - "PASHTO", - "QUECHUA", - "SHONA", - "TAJIK", - "TATAR", - "TONGA", - "YORUBA", - "CREOLES_AND_PIDGINS_ENGLISH_BASED", - "CREOLES_AND_PIDGINS_FRENCH_BASED", - "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", - "CREOLES_AND_PIDGINS_OTHER", - "MAORI", - "WOLOF", - "ABKHAZIAN", - "AFAR", - "AYMARA", - "BASHKIR", - "BISLAMA", - "DZONGKHA", - "FIJIAN", - "GREENLANDIC", - "HAUSA", - "HAITIAN_CREOLE", - "INUPIAK", - "INUKTITUT", - "KASHMIRI", - "KINYARWANDA", - "MALAGASY", - "NAURU", - "OROMO", - "RUNDI", - "SAMOAN", - "SANGO", - "SANSKRIT", - "SISWANT", - "TSONGA", - "TSWANA", - "VOLAPUK", - "ZHUANG", - "KHASI", - "SCOTS", - "GANDA", - "MANX", - "MONTENEGRIN", - "AKAN", - "IGBO", - "MAURITIAN_CREOLE", - "HAWAIIAN", - "CEBUANO", - "EWE", - "GA", - "HMONG", - "KRIO", - "LOZI", - "LUBA_LULUA", - "LUO_KENYA_AND_TANZANIA", - "NEWARI", - "NYANJA", - "OSSETIAN", - "PAMPANGA", - "PEDI", - "RAJASTHANI", - "SESELWA_CREOLE_FRENCH", - "TUMBUKA", - "VENDA", - "WARAY_PHILIPPINES", - "NUM_LANGUAGES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Norwegian\" = \"no\" normally implies Bokmål (\"nb\"). See also NORWEGIAN_N. Consider using IsNorwegianLanguage().", - "", - "WARNING: \"Portuguese\" in the enum Language implies the Iberian variant, while Google and industry standard practice is for \"pt\" to imply Brazilian, for the much larger population. The old LanguageCode() function returns \"pt\" for legacy reasons. The III LanguageEnumLanguageCodeConverter converts it to \"pt-PT\" to preserve the semantics. Converting between this legacy enum and industry-standard language tags cannot preserve the distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage().", - "", - "", - "", - "\"Chinese\" normally implies simplified Han characters (\"zh-Hans\"). See also CHINESE_T. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage().", - "", - "", - "", - "", - "", - "", - "Serbian is commonly written in two scripts. The default is Cyrillic (\"sr\" = \"sr-Cyrl\"). It is also often written with Latin letters (\"sr-Latn\"). This enum does not convey that distinction.", - "", - "", - "TAGALOG is used to mean both Tagalog (tl) and Filipino (fil). These are nearly the same; Filipino is the official language, and \"fil\" is normally used for UI settings etc. The old LanguageCode() function returns \"tl\".", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Bihari\" is not a language: There are several different languages spoken in and around the Indian state of Bihar. This is like saying \"Swiss\" to mean German+French+Italian+Romansh.", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Chinese written in traditional Han characters (\"zh-Hant\"). See also CHINESE. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "UI only. LangId language: CROATIAN (28)", - "", - "Norwegian Nynorsk (\"nn\"). See also NORWEGIAN. Consider using IsNorwegianLanguage(). UI only. LangId language: NORWEGIAN (10)", - "Portuguese in Portugal (\"pt-PT\"). See the WARNING at PORTUGUESE. Avoid a distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "Portuguese in Brazil (\"pt-BR\"). Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "", - "UI only.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "", - "This has been documented as \"Kurmanji (kmr) + Sorani (ckb) + Kurdish (ku)\". There are several kinds of Kurdish languages. \"ku\" normally implies Northern Kurdish = Kurmanji (kmr) which is normally written in Latin letters. \"ckb\" is Central Kurdish (largely in Iraq) which is normally written in Arabic letters (thus right-to-left).", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "sometimes spelled Divehi; lang of Maldives", - "", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "\"Moldavian\" is the same language as Romanian. In language tags, \"ro-MD\" can be used but is not normally necessary. Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage(). UI only. LangId language: ROMANIAN (22)", - "", - "", - "UI only.", - "", - "", - "", - "", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only. More commonly called Luganda.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "Translate only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "Translate only.", - "Translate only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "Always keep this at the end. It is not a" - ], - "type": "string" - }, - "regionCode": { - "description": "Same as language, except for the country. This is the Stable Region Code. This value may be UNKNOWN even though the URL region code is known, namely when the known region code was the main region for the language and for that language no other region is specified (e.g. de-DE being the only german variation). Unknown Region Code", - "format": "int32", - "type": "integer" - }, - "urlRegionCode": { - "description": "Similar to region_code, but always has the value filled in if known. Unknown Region Code", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfo": { - "description": "ClusterInfo no longer being populated (they are the 'old' version of storing meta-information only available in old not-reprocessed documents, all documents processed since July 2014 use the 'TargetLinkSet' instead.", - "id": "IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfo", - "properties": { - "fpOutlinks": { - "description": "A fingerprint of all outlink-URLs of this document that have been used as algorithmic input.", - "format": "uint64", - "type": "string" - }, - "lastModifiedInputTimestampMs": { - "description": "The last time the set of outgoing links of this document was modified. This is the input for our calculation.", - "format": "int64", - "type": "string" - }, - "lastProcessedOutputTimestampMs": { - "description": "The last time the cross-validation of the links was done. Between that last timestamp and now, only cached results have been used.", - "format": "int64", - "type": "string" - }, - "linkMember": { - "deprecated": true, - "description": "All verified members of the cluster (including recursive inclusions).", - "items": { - "$ref": "IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkMember" - }, - "type": "array" - }, - "unvalidatedOutlink": { - "deprecated": true, - "items": { - "$ref": "IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkData" - }, - "type": "array" - } - }, - "type": "object" - }, - "IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkData": { - "id": "IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkData", - "properties": { - "annotationSource": { - "enum": [ - "HTTP", - "HTML", - "SITEMAP" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "crawlTimestamp": { - "description": "If set, represents the crawl timestamp. If not set, there is no known crawl timestamp for that url.", - "format": "int32", - "type": "integer" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkMember": { - "id": "IndexingDupsLocalizedLocalizedClusterLinkBasedClusterInfoLinkMember", - "properties": { - "annotationSource": { - "enum": [ - "HTTP", - "HTML", - "SITEMAP" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "languageCode": { - "items": { - "type": "string" - }, - "type": "array" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "IndexingDupsLocalizedLocalizedClusterTargetLink": { - "description": "Message containing information about the localized URL linked to from this document in a localized-variation-context.", - "id": "IndexingDupsLocalizedLocalizedClusterTargetLink", - "properties": { - "linkData": { - "$ref": "IndexingDupsLocalizedLocalizedClusterTargetLinkLink" - }, - "metaData": { - "$ref": "IndexingDupsLocalizedLocalizedClusterTargetLinkMetadata" - }, - "targetDocData": { - "$ref": "IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocData" - }, - "validationStatus": { - "enum": [ - "VALIDATION_UNKNOWN", - "SELFLINK", - "NO_BACKLINK", - "HAS_BACKLINK", - "BLINDLY_TRUSTED", - "BLINDLY_TRUSTED_WITH_BACKLINK" - ], - "enumDescriptions": [ - "", - "Link is a self link to source URL.", - "Link doesn't have a backlink path to source URL.", - "Link has a backlink path to source URL.", - "Link is missing data or was crawled prior to source URL, so its blindly trusted with no verfication of a backlink.", - "The union of BLINDLY_TRUSTED and HAS_BACKLINK." - ], - "type": "string" - } - }, - "type": "object" - }, - "IndexingDupsLocalizedLocalizedClusterTargetLinkLink": { - "description": "Basic information about the link target, i.e. the URL or the language code it's believed to represent.", - "id": "IndexingDupsLocalizedLocalizedClusterTargetLinkLink", - "properties": { - "annotationSourceInfo": { - "items": { - "$ref": "IndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfo" - }, - "type": "array" - }, - "crossDomain": { - "description": "For a link A-\u003eB where B is represented by this proto, cross_domain := Host(A) != Host(B).", - "type": "boolean" - }, - "url": { - "description": "The URL the information in TargetLink refers to.", - "type": "string" - } - }, - "type": "object" - }, - "IndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfo": { - "description": "Message describing where was the link discovered and with what language annotation.", - "id": "IndexingDupsLocalizedLocalizedClusterTargetLinkLinkAnnotationSourceInfo", - "properties": { - "anchorText": { - "description": "Optional field for storing the anchor text the language code was extracted from. Applies to outlinks only.", - "type": "string" - }, - "annotationSource": { - "description": "Information about where the language code was extracted from.", - "enum": [ - "HTTP", - "HTML", - "SITEMAP" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "languageCode": { - "description": "Language code extracted from the URL (hreflang or outlink). One URL can represent multiple language codes, like e.g. de-at and de-ch", - "type": "string" - }, - "sourceFeedUrl": { - "description": "Optional field that stores the feed URL where a Sitemap annotation was discovered. Only populated if annotation_source is SITEMAP.", - "type": "string" - } - }, - "type": "object" - }, - "IndexingDupsLocalizedLocalizedClusterTargetLinkMetadata": { - "description": "Information derived from alexandria when processing the cross-link validation (e.g. when this was done the last time, or when we started to see the outlink for the first time).", - "id": "IndexingDupsLocalizedLocalizedClusterTargetLinkMetadata", - "properties": { - "firstSeenMs": { - "description": "When was the first time a link seen. Defaults to last crawled timestamp.", - "format": "int64", - "type": "string" - }, - "lastVerifiedMs": { - "description": "When was the last time a link validated. Validation is the process of (re)reading the relevant information for a linked document from its respective row in the document table. Data needed for understanding the correctness of the cluster is copied over to have it available locally.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "IndexingDupsLocalizedLocalizedClusterTargetLinkSets": { - "id": "IndexingDupsLocalizedLocalizedClusterTargetLinkSets", - "properties": { - "directTargetLink": { - "description": "Direct links are the simplest scenarios where A simply links to B.", - "items": { - "$ref": "IndexingDupsLocalizedLocalizedClusterTargetLink" - }, - "type": "array" - }, - "indirectTargetLink": { - "description": "Repeated field for URLs that are not directly linking to the document TargetLink refers to. We can encounter the following scenario: A -\u003e Links to B -\u003e links to C (i.e. without (A) linking to (C)). In the context of B, indirect_inclusion would include the link to 'C' but not the link back to 'A'.", - "items": { - "$ref": "IndexingDupsLocalizedLocalizedClusterTargetLink" - }, - "type": "array" - } - }, - "type": "object" - }, - "IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocData": { - "description": "Information about the URLs being validated.", - "id": "IndexingDupsLocalizedLocalizedClusterTargetLinkTargetDocData", - "properties": { - "contentLanguage": { - "description": "The detected on-page content language of the document.", - "enum": [ - "ENGLISH", - "DANISH", - "DUTCH", - "FINNISH", - "FRENCH", - "GERMAN", - "HEBREW", - "ITALIAN", - "JAPANESE", - "KOREAN", - "NORWEGIAN", - "POLISH", - "PORTUGUESE", - "RUSSIAN", - "SPANISH", - "SWEDISH", - "CHINESE", - "CZECH", - "GREEK", - "ICELANDIC", - "LATVIAN", - "LITHUANIAN", - "ROMANIAN", - "HUNGARIAN", - "ESTONIAN", - "TG_UNKNOWN_LANGUAGE", - "UNKNOWN_LANGUAGE", - "BULGARIAN", - "CROATIAN", - "SERBIAN", - "IRISH", - "GALICIAN", - "TAGALOG", - "TURKISH", - "UKRAINIAN", - "HINDI", - "MACEDONIAN", - "BENGALI", - "INDONESIAN", - "LATIN", - "MALAY", - "MALAYALAM", - "WELSH", - "NEPALI", - "TELUGU", - "ALBANIAN", - "TAMIL", - "BELARUSIAN", - "JAVANESE", - "OCCITAN", - "URDU", - "BIHARI", - "GUJARATI", - "THAI", - "ARABIC", - "CATALAN", - "ESPERANTO", - "BASQUE", - "INTERLINGUA", - "KANNADA", - "PUNJABI", - "SCOTS_GAELIC", - "SWAHILI", - "SLOVENIAN", - "MARATHI", - "MALTESE", - "VIETNAMESE", - "FRISIAN", - "SLOVAK", - "CHINESE_T", - "FAROESE", - "SUNDANESE", - "UZBEK", - "AMHARIC", - "AZERBAIJANI", - "GEORGIAN", - "TIGRINYA", - "PERSIAN", - "BOSNIAN", - "SINHALESE", - "NORWEGIAN_N", - "PORTUGUESE_P", - "PORTUGUESE_B", - "XHOSA", - "ZULU", - "GUARANI", - "SESOTHO", - "TURKMEN", - "KYRGYZ", - "BRETON", - "TWI", - "YIDDISH", - "SERBO_CROATIAN", - "SOMALI", - "UIGHUR", - "KURDISH", - "MONGOLIAN", - "ARMENIAN", - "LAOTHIAN", - "SINDHI", - "RHAETO_ROMANCE", - "AFRIKAANS", - "LUXEMBOURGISH", - "BURMESE", - "KHMER", - "TIBETAN", - "DHIVEHI", - "CHEROKEE", - "SYRIAC", - "LIMBU", - "ORIYA", - "ASSAMESE", - "CORSICAN", - "INTERLINGUE", - "KAZAKH", - "LINGALA", - "MOLDAVIAN", - "PASHTO", - "QUECHUA", - "SHONA", - "TAJIK", - "TATAR", - "TONGA", - "YORUBA", - "CREOLES_AND_PIDGINS_ENGLISH_BASED", - "CREOLES_AND_PIDGINS_FRENCH_BASED", - "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", - "CREOLES_AND_PIDGINS_OTHER", - "MAORI", - "WOLOF", - "ABKHAZIAN", - "AFAR", - "AYMARA", - "BASHKIR", - "BISLAMA", - "DZONGKHA", - "FIJIAN", - "GREENLANDIC", - "HAUSA", - "HAITIAN_CREOLE", - "INUPIAK", - "INUKTITUT", - "KASHMIRI", - "KINYARWANDA", - "MALAGASY", - "NAURU", - "OROMO", - "RUNDI", - "SAMOAN", - "SANGO", - "SANSKRIT", - "SISWANT", - "TSONGA", - "TSWANA", - "VOLAPUK", - "ZHUANG", - "KHASI", - "SCOTS", - "GANDA", - "MANX", - "MONTENEGRIN", - "AKAN", - "IGBO", - "MAURITIAN_CREOLE", - "HAWAIIAN", - "CEBUANO", - "EWE", - "GA", - "HMONG", - "KRIO", - "LOZI", - "LUBA_LULUA", - "LUO_KENYA_AND_TANZANIA", - "NEWARI", - "NYANJA", - "OSSETIAN", - "PAMPANGA", - "PEDI", - "RAJASTHANI", - "SESELWA_CREOLE_FRENCH", - "TUMBUKA", - "VENDA", - "WARAY_PHILIPPINES", - "NUM_LANGUAGES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Norwegian\" = \"no\" normally implies Bokmål (\"nb\"). See also NORWEGIAN_N. Consider using IsNorwegianLanguage().", - "", - "WARNING: \"Portuguese\" in the enum Language implies the Iberian variant, while Google and industry standard practice is for \"pt\" to imply Brazilian, for the much larger population. The old LanguageCode() function returns \"pt\" for legacy reasons. The III LanguageEnumLanguageCodeConverter converts it to \"pt-PT\" to preserve the semantics. Converting between this legacy enum and industry-standard language tags cannot preserve the distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage().", - "", - "", - "", - "\"Chinese\" normally implies simplified Han characters (\"zh-Hans\"). See also CHINESE_T. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage().", - "", - "", - "", - "", - "", - "", - "Serbian is commonly written in two scripts. The default is Cyrillic (\"sr\" = \"sr-Cyrl\"). It is also often written with Latin letters (\"sr-Latn\"). This enum does not convey that distinction.", - "", - "", - "TAGALOG is used to mean both Tagalog (tl) and Filipino (fil). These are nearly the same; Filipino is the official language, and \"fil\" is normally used for UI settings etc. The old LanguageCode() function returns \"tl\".", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Bihari\" is not a language: There are several different languages spoken in and around the Indian state of Bihar. This is like saying \"Swiss\" to mean German+French+Italian+Romansh.", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Chinese written in traditional Han characters (\"zh-Hant\"). See also CHINESE. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "UI only. LangId language: CROATIAN (28)", - "", - "Norwegian Nynorsk (\"nn\"). See also NORWEGIAN. Consider using IsNorwegianLanguage(). UI only. LangId language: NORWEGIAN (10)", - "Portuguese in Portugal (\"pt-PT\"). See the WARNING at PORTUGUESE. Avoid a distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "Portuguese in Brazil (\"pt-BR\"). Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "", - "UI only.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "", - "This has been documented as \"Kurmanji (kmr) + Sorani (ckb) + Kurdish (ku)\". There are several kinds of Kurdish languages. \"ku\" normally implies Northern Kurdish = Kurmanji (kmr) which is normally written in Latin letters. \"ckb\" is Central Kurdish (largely in Iraq) which is normally written in Arabic letters (thus right-to-left).", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "sometimes spelled Divehi; lang of Maldives", - "", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "\"Moldavian\" is the same language as Romanian. In language tags, \"ro-MD\" can be used but is not normally necessary. Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage(). UI only. LangId language: ROMANIAN (22)", - "", - "", - "UI only.", - "", - "", - "", - "", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only. More commonly called Luganda.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "Translate only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "Translate only.", - "Translate only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "Always keep this at the end. It is not a" - ], - "type": "string" - }, - "crawlStatus": { - "enum": [ - "UNKNOWN", - "CONTENT", - "ROBOTED", - "ERROR" - ], - "enumDescriptions": [ - "Default state.", - "Crawled successfully with contents.", - "Roboted from accessing the page.", - "Fatal server-side error, e.g. 404." - ], - "type": "string" - }, - "crawlTimestampSeconds": { - "description": "The timestamp of the last crawl attempt from crawl_timestamp column.", - "format": "int32", - "type": "integer" - }, - "isCanonical": { - "description": "Whether the URL being validated is canonical at the time of processing.", - "type": "boolean" - }, - "outgoingLinkData": { - "description": "Repeated field for data about the outgoing hreflang links that appear in the document that the currently processed URL refers to.", - "items": { - "$ref": "IndexingDupsLocalizedLocalizedClusterTargetLinkLink" - }, - "type": "array" - } - }, - "type": "object" - }, - "IndexingEmbeddedContentEmbeddedContentInfo": { - "description": "This protobuf is used (1) To pass data between EmbeddedExporter and the publisher, and (2) As a member of CompositeDoc, to stick embedded content output into the docjoins. Next tag available: 21", - "id": "IndexingEmbeddedContentEmbeddedContentInfo", - "properties": { - "compressedDocumentTrees": { - "description": "The document's DOM and render tree produced by WebKit as a side effect of rendering the page. It might be compressed or not. Thus, use indexing::embedded_content::UncompressWebkitDocument to decode it.", - "format": "byte", - "type": "string" - }, - "convertedContents": { - "deprecated": true, - "description": "The converted contents, as produced by the same DocumentUpdater transaction that generated the render tree. Useful whenever one of our users wants to experiment with deriving an annotation from the render tree.", - "type": "string" - }, - "embeddedLinksInfo": { - "$ref": "IndexingEmbeddedContentEmbeddedLinksInfo", - "description": "Information about all external resources needed to render this page, a.k.a. embedded links. This includes .css files, images embedded in a page, external javascripts, iframes etc." - }, - "headlessResponse": { - "$ref": "HtmlrenderWebkitHeadlessProtoRenderResponse", - "description": "The headless response for rendering the document." - }, - "isAlternateSnapshot": { - "description": "Indicate if the snapshot is generated from alternate snapshot. If true, the snapshot will be exported even if the snapshot quality score is low.", - "type": "boolean" - }, - "originalEncoding": { - "description": "The original encoding of the content crawled from trawler. It's the value of enum i18n::encodings::encoding. We put a int32 here instead of encoding proto to maintain the compatibility of \"py_api_version = 1\"", - "format": "int32", - "type": "integer" - }, - "rawRedirectInfo": { - "$ref": "IndexingConverterRawRedirectInfo", - "deprecated": true, - "description": "*** DEPRECATED *** This field is only populated in fresh_doc which is shutting down." - }, - "referencedResource": { - "description": "Information about all external resources used to render this page, a.k.a. embedded links. This includes .css files, images embedded in a page, external javascripts, iframes etc.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoReferencedResource" - }, - "type": "array" - }, - "renderedSnapshot": { - "$ref": "HtmlrenderWebkitHeadlessProtoImage", - "description": "Only exist in dry run mode." - }, - "renderedSnapshotImage": { - "description": "Snapshot image of a rendered html document (possibly encoded as png, jpeg, or webp).", - "type": "string" - }, - "renderedSnapshotMetadata": { - "$ref": "SnapshotSnapshotMetadata", - "description": "A collection of values which are needed by the users of the Kodachrome bigtable." - }, - "renderedSnapshotQualityScore": { - "description": "The quality of the image, 0.0 is the worst, 1.0 is the best. If all dependencies are successfully crawled, the quality should be 1.0. If one or more of the dependencies are unknown, the quality will be lower.", - "format": "double", - "type": "number" - }, - "renderingOutputMetadata": { - "$ref": "IndexingEmbeddedContentRenderingOutputMetadata" - }, - "richcontentData": { - "$ref": "IndexingConverterRichContentData", - "description": "The rich content data to recover the original contents from the converted_contents. Useful for offline content analysis." - } - }, - "type": "object" - }, - "IndexingEmbeddedContentEmbeddedLinksInfo": { - "id": "IndexingEmbeddedContentEmbeddedLinksInfo", - "properties": { - "embedderInfo": { - "$ref": "IndexingEmbeddedContentEmbedderInfo", - "description": "This field is optional only because we're adding it late and want to support records written before that. For newly produced records, this field should always be set." - }, - "link": { - "items": { - "$ref": "IndexingEmbeddedContentLinkInfo" - }, - "type": "array" - }, - "pageSizeInfo": { - "$ref": "IndexingEmbeddedContentPageSizeInfo", - "description": "Page download size." - }, - "sumHttpResponseLength": { - "description": "This field is the sum of http_response_length for the embedder and all embedded resources. This is expected to be set only in the docjoins, not in the pinax tables or the exported bigtable.", - "format": "int32", - "type": "integer" - }, - "uncrawledLinkUrl": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "IndexingEmbeddedContentEmbedderInfo": { - "id": "IndexingEmbeddedContentEmbedderInfo", - "properties": { - "importanceAsEmbedder": { - "format": "int32", - "type": "integer" - }, - "linkInfo": { - "$ref": "IndexingEmbeddedContentLinkInfo" - } - }, - "type": "object" - }, - "IndexingEmbeddedContentFetchHostCount": { - "description": "Log how many urls finally goes to trawler on a host in rendering.", - "id": "IndexingEmbeddedContentFetchHostCount", - "properties": { - "counter": { - "items": { - "$ref": "IndexingEmbeddedContentFetchHostCountCounter" - }, - "type": "array" - }, - "host": { - "type": "string" - }, - "num": { - "deprecated": true, - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingEmbeddedContentFetchHostCountCounter": { - "id": "IndexingEmbeddedContentFetchHostCountCounter", - "properties": { - "name": { - "type": "string" - }, - "num": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingEmbeddedContentFetchUrlResponseMetadata": { - "description": "Capsulate all metadata annotated from fetch server. This message will typically go through: - EmbeddedContentFetcher, or - EmbeddedLinkGetter-\u003e DenormalizedContent -\u003e ContentStore. And finally deposit in referenced_resources and link_info.", - "id": "IndexingEmbeddedContentFetchUrlResponseMetadata", - "properties": { - "adsResourceType": { - "enum": [ - "ADS_TYPE_UNKNOWN", - "ADS_TYPE_NON_ADS", - "ADS_TYPE_PATTERN", - "ADS_TYPE_CENTERPIECE_ADS_MATCHER" - ], - "enumDescriptions": [ - "", - "Not ads.", - "Ads by pattern.", - "Ads by centerpiece ads matcher." - ], - "type": "string" - }, - "crawlStatus": { - "description": "The field always exists, and has four options: UNKNOWN, CONTENT, ROBOTED and ERROR, which are defined in indexing.converter.CrawlStatus.", - "format": "int32", - "type": "integer" - }, - "criticalResourceType": { - "enum": [ - "UNKNOWN", - "NON_CRITICAL", - "CONTENT_BASED", - "GEOMETRY_LAYOUT_BASED", - "THREE_WAY", - "MANUAL", - "TARGET_MAIN_FRAME", - "ROBOTED" - ], - "enumDescriptions": [ - "", - "Not critical.", - "Critical in terms of content.", - "Critical in terms of geometry layout.", - "Generated by three-way rendering.", - "Manually marked.", - "", - "Roboted critical resources." - ], - "type": "string" - }, - "fetchWithSmartphoneUa": { - "description": "True if the response is fetched with SMARTPHONE user agent.", - "type": "boolean" - }, - "isAdsResource": { - "deprecated": true, - "type": "boolean" - }, - "isCriticalResource": { - "deprecated": true, - "type": "boolean" - }, - "isTrivialResource": { - "type": "boolean" - }, - "numTrawlerFetches": { - "description": "Number of trawler fetches while fetching this URL. In most cases, this number will be 0 or 1.", - "format": "int32", - "type": "integer" - }, - "rewriteMethod": { - "description": "Used for logging purposes only here.", - "type": "string" - }, - "robotsInfo": { - "$ref": "IndexingConverterRobotsInfo", - "description": "Note that this robots_info should only be used for noindex_reason and will only be present for TARGET_MAIN_FRAME / TARGET_SUBFRAME fetches." - } - }, - "type": "object" - }, - "IndexingEmbeddedContentLinkInfo": { - "description": "Information about one embedded link. Next tag: 18", - "id": "IndexingEmbeddedContentLinkInfo", - "properties": { - "contentLength": { - "description": "Size of the HTTP body (payload of the HTTP response, excluding headers), pre-decompression. Equal to the value of the Content-Length header if any. NOTE: if this proto is converted to from ReferencedResource, we have to use the size of the full HTTP response (i.e. http_response_length) as an approximation, as we could not get the size of HTTP headers.", - "format": "int32", - "type": "integer" - }, - "contentType": { - "format": "int32", - "type": "integer" - }, - "crawlDuration": { - "description": "Time spent downloading this resource, in milliseconds. Not a timestamp!", - "format": "int32", - "type": "integer" - }, - "crawlStatus": { - "description": "Enum values for crawl_status are defined in indexing/converter/proto/converter.proto", - "format": "int32", - "type": "integer" - }, - "crawlTimestamp": { - "format": "int32", - "type": "integer" - }, - "deprecatedRedirect": { - "deprecated": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "fetchSourceInfo": { - "description": "Where this resource comes from.", - "items": { - "$ref": "WirelessTranscoderFetchFetchSourceInfo" - }, - "type": "array" - }, - "fetchStatus": { - "$ref": "TrawlerFetchStatus", - "description": "Fetch status from trawler." - }, - "fetchUrlResponseMetadata": { - "$ref": "IndexingEmbeddedContentFetchUrlResponseMetadata", - "description": "Populated from embedded-content fetch server." - }, - "frd": { - "$ref": "TrawlerFetchReplyData", - "description": "FetchReplyData from trawler." - }, - "httpResponseLength": { - "description": "Size of the full HTTP response (headers and body pre-decompression). Semantically equal to content_length plus size of the HTTP headers.", - "format": "int32", - "type": "integer" - }, - "isCacheable": { - "type": "boolean" - }, - "isRobotedContentFromFastnet": { - "deprecated": true, - "type": "boolean" - }, - "uncompressedContentLength": { - "description": "Size of the HTTP body (payload of the HTTP response, excluding headers), post-decompression. Equal to content_length if the body was not compressed to begin with. NOTE: if this proto is converted to from ReferencedResource, we have to use the size of the full HTTP response as an approximation, as we could not get the size of HTTP headers.", - "format": "int32", - "type": "integer" - }, - "url": { - "format": "byte", - "type": "string" - }, - "webkitFetchMetadata": { - "$ref": "HtmlrenderWebkitHeadlessProtoWebKitFetchMetadata" - } - }, - "type": "object" - }, - "IndexingEmbeddedContentOutputGenerationTimestamps": { - "description": "For each of the output fields generated by the embedded content system, the Unix timestamp of when it was most recently generated. Used for controlling the frequency of generation (and thus exporting) of the fields which are expensive to generate and/or the consumers of which are not able to handle the high load of daily/hourly updates. If a timestamp corresponding to an output field is missing, it means the last attempt to generate this field failed (which could be mean that the document was not important enough for this field to be generated, or that we hit a bug in WebKit). In case we choose not to regenerate the field (because the latest generation timestamp is too fresh) the corresponding timestamp doesn't change. Next tag available: 8", - "id": "IndexingEmbeddedContentOutputGenerationTimestamps", - "properties": { - "documentData": { - "format": "int32", - "type": "integer" - }, - "renderedSnapshot": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingEmbeddedContentPageSizeInfo": { - "description": "Page download size information.", - "id": "IndexingEmbeddedContentPageSizeInfo", - "properties": { - "numImages": { - "description": "Images are also resources. num_images \u003c= num_resources.", - "format": "int32", - "type": "integer" - }, - "numImagesWithContent": { - "description": "Number of images whose crawl status is CONTENT.", - "format": "int32", - "type": "integer" - }, - "numResources": { - "description": "Numbers below don't include embedder.", - "format": "int32", - "type": "integer" - }, - "numResourcesWithContent": { - "description": "Number of resources whose crawl status is CONTENT.", - "format": "int32", - "type": "integer" - }, - "sumHttpResponseLength": { - "description": "Sum of embedder and all referenced resources.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingEmbeddedContentRenderCacheStats": { - "description": "Fields used to track cache use in the rendering microservice. Next tag available: 6", - "id": "IndexingEmbeddedContentRenderCacheStats", - "properties": { - "cacheExpireTimestampUsec": { - "description": "When the rendered content would expire from the cache in microseconds.", - "format": "int64", - "type": "string" - }, - "crawledSimhashDistance": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "lastRenderedTimestampUsec": { - "description": "The last time the document was rendered, in microseconds. Does not update in case of cache use.", - "format": "int64", - "type": "string" - }, - "renderCache": { - "enum": [ - "UNKNOWN_CACHE", - "CACHE_MISS", - "CACHE_SKIPPED", - "ARECA_CACHE", - "CRAWLED_SIMHASH_CACHE" - ], - "enumDescriptions": [ - "", - "We didn't find this document in any cache.", - "We found this document in the cache and decided not to use the cached version.", - "", - "" - ], - "type": "string" - }, - "renderedSimhashDistance": { - "deprecated": true, - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "IndexingEmbeddedContentRenderRequestConfigConfigParams": { - "id": "IndexingEmbeddedContentRenderRequestConfigConfigParams", - "properties": { - "virtualTime": { - "deprecated": true, - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "IndexingEmbeddedContentRenderingFetchStats": { - "description": "Fetch stats during rendering.", - "id": "IndexingEmbeddedContentRenderingFetchStats", - "properties": { - "fetchHostCount": { - "description": "A host-\u003ecount mapping to log how many embedded_links in each host finally goes to trawler during rendering.", - "items": { - "$ref": "IndexingEmbeddedContentFetchHostCount" - }, - "type": "array" - } - }, - "type": "object" - }, - "IndexingEmbeddedContentRenderingOutputMetadata": { - "description": "Small values from rendering output. It's stored as a column in alexandria document table. Next tag available: 30", - "id": "IndexingEmbeddedContentRenderingOutputMetadata", - "properties": { - "configParams": { - "$ref": "IndexingEmbeddedContentRenderRequestConfigConfigParams", - "deprecated": true - }, - "exceptions": { - "description": "The exceptions observed during the rendering. In bit-field encoding of enum values of RenderResponse.RenderingException.", - "format": "int64", - "type": "string" - }, - "experimentalRenderTimeMsec": { - "description": "Total GCU time for rendering the document in millisecond. This data is from render_stats.render_cost_mgcu in RenderResponse proto. Note that this is *experimental* field. Please check with rendering-infra@ if you want to use.", - "format": "int32", - "type": "integer" - }, - "generationTimestamps": { - "$ref": "IndexingEmbeddedContentOutputGenerationTimestamps" - }, - "importance": { - "description": "The importance value of the rendered document.", - "format": "int32", - "type": "integer" - }, - "lastNewContentProbingTimestamp": { - "description": "The timestamp of last new content probing.", - "format": "int32", - "type": "integer" - }, - "newTokensPercentageAfterRendering": { - "description": "Percentage of new tokens in the rendered the document content.", - "format": "double", - "type": "number" - }, - "numNewTokensFoundInRendering": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "refresh": { - "deprecated": true, - "type": "boolean" - }, - "renderCacheStats": { - "$ref": "IndexingEmbeddedContentRenderCacheStats", - "description": "A collection of fields to track stats on cache use in the Rendering microservice." - }, - "renderEngine": { - "enum": [ - "UNKNOWN", - "BLINK_HEADLESS", - "CHROME_HEADLESS" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "renderEvent": { - "description": "Different types of events which happened during rendering.", - "items": { - "$ref": "HtmlrenderWebkitHeadlessProtoRenderEvent" - }, - "type": "array" - }, - "renderServerCl": { - "description": "The CL from which the render engine was built.", - "format": "int64", - "type": "string" - }, - "renderTreeQualityScore": { - "format": "double", - "type": "number" - }, - "renderedSnapshotSignature": { - "description": "Short signature (usually less than 1 KB) which captures a perceptual hash on the rendered image. This is used to determine whether successive renderings should be output. See the library in googlen/snapshot/shared/similarity.* for more info about how this value is interpreted and used.", - "format": "byte", - "type": "string" - }, - "renderedTimeUsec": { - "description": "Current time in microseconds the document is going through rendering system. This field is set regardless of whether the document is being rendered or if we are skipping rendering by using a cache.", - "format": "int64", - "type": "string" - }, - "renderingFetchStats": { - "$ref": "IndexingEmbeddedContentRenderingFetchStats" - }, - "selectionResult": { - "$ref": "IndexingEmbeddedContentSelectionResult", - "description": "The corpus selection result. Can be used for offline analysis." - }, - "snapshotQualityScore": { - "description": "These scores are copied from htmlrender_webkit_headless_proto.Document.", - "format": "double", - "type": "number" - }, - "withMissingResources": { - "description": "True if there were any missing resources during the rendering.", - "type": "boolean" - } - }, - "type": "object" - }, - "IndexingEmbeddedContentSelectionResult": { - "description": "Output that indicates a url should be in our corpus.", - "id": "IndexingEmbeddedContentSelectionResult", - "properties": { - "renderEffort": { - "enum": [ - "RENDER_NONE", - "RENDER_SKIP", - "RENDER_TRIVIAL", - "RENDER_LIGHT", - "RENDER_CONTROL", - "RENDER_FULL", - "RENDER_FORCE", - "RENDER_REJECT" - ], - "enumDescriptions": [ - "The enum value is also used as decision priority, so we assign sparse values here for possible future effort.", - "Skip rendering by keeping the old data. DEPRECATED", - "Render with minimum resources, i.e., turn on readonly fetch, turn off js and turn off snapshot.", - "Light weight rendering does not generate snapshot.", - "Light weight rendering but we will try our best during rendering and fetching.", - "Render with standard features: fetching all embedded links, turn on javascript, generate snapshot.", - "Always render. DEPRECATED", - "The url can not be rendered, i.e. pdf." - ], - "type": "string" - }, - "selectorId": { - "description": "Indicate which selector has made the decision.", - "enum": [ - "NO_SELECTOR", - "INELIGIBLE", - "NO_INDEX", - "IMPORTANCE", - "HOME_PAGE", - "LIGHT_WEIGHT", - "SMARTPHONE", - "VIDEO_SIGNAL", - "VIDEO_CLASSIFER", - "PINPOINT_SIGNAL", - "CENTER_PIECE_SIGNAL", - "INDEXABLE_FRAGMENT", - "ESCAPED_FRAGMENT", - "FRAGMENT_REDIRECT", - "META_REFRESH_REDIRECT", - "FORCE", - "FORCE_BY_TIMESTAMP", - "INTEREST", - "IMPORTANCE_PROTECTED", - "NOT_SUPPORTED_CRAWLER_ID", - "BLACK_LIST", - "NEWS_ONLY", - "SAMPLER", - "CONTENT_REPLACEMENT_WHITELIST", - "SMART", - "SMART_RANDOM", - "SMARTPHONE_SMART", - "SMARTPHONE_REJECT", - "SMART_GROUND_TRUTH", - "APP", - "CONTROL_GROUP", - "NAVBOOST_COUNT", - "DEFAULT_LIGHT", - "NEWS" - ], - "enumDescriptions": [ - "", - "REJECT", - "REJECT", - "LIGHT SKIP", - "LIGHT", - "LIGHT DEPRECATED", - "LIGHT REJECT DEPRECATED", - "LIGHT SKIP", - "LIGHT SKIP", - "LIGHT", - "LIGHT", - "LIGHT", - "LIGHT", - "LIGHT", - "LIGHT", - "FORCE_FULL DEPRECATED", - "FORCE_FULL DEPRECATED", - "FULL (dry run)", - "LIGHT DEPRECATED", - "REJECT", - "REJECT", - "REJECT - added for Freshdocs", - "REJECT - added for Freshdocs", - "LIGHT (for temporary experiment) DEPRECATED", - "LIGHT TRIVIAL", - "LIGHT", - "LIGHT TRIVIAL DEPRECATED", - "REJECT", - "LIGHT", - "LIGHT", - "CONTROL", - "LIGHT", - "LIGHT", - "FULL" - ], - "type": "string" - } - }, - "type": "object" - }, - "IndexingMlVerticalVerticalItem": { - "id": "IndexingMlVerticalVerticalItem", - "properties": { - "id": { - "description": "Unique ID.", - "format": "int32", - "type": "integer" - }, - "name": { - "description": "The description name.", - "type": "string" - }, - "petacatId": { - "description": "The corresponding Petacat ID.", - "format": "int32", - "type": "integer" - }, - "probability": { - "description": "The probability of the vertical, whose value is in [0.0, 1.0].", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "IndexingMobileInterstitialsProtoDesktopInterstitials": { - "description": "Desktop interstitials signal. The message contains both fields for site-level signal lookup in Index Signals (go/index-signals) and fields for final attachment in DocJoin.", - "id": "IndexingMobileInterstitialsProtoDesktopInterstitials", - "properties": { - "details": { - "items": { - "$ref": "IndexingMobileInterstitialsProtoDesktopInterstitialsDetails" - }, - "type": "array" - }, - "pipelineEpoch": { - "description": "Epoch of the interstitial offline pipeline generating this signal.", - "type": "string" - }, - "pipelinePattern": { - "description": "If present, pipeline_pattern identifies the cluster of URLs for which the signal value was smeared.", - "type": "string" - }, - "urlTree": { - "$ref": "IndexingUrlPatternUrlTreeUrlTree", - "description": "URL tree of interstitial patterns belong to the host, to be used as site-level signal in Index Signals. A pattern may contain a payload InterstitialPatternPayload, which will indicate the violated interstitial types of this pattern." - }, - "violatesDesktopInterstitialPolicy": { - "description": "Overall policy violation status. If this is true, at least one of the InterstitialSignal below indicates a violation.", - "type": "boolean" - } - }, - "type": "object" - }, - "IndexingMobileInterstitialsProtoDesktopInterstitialsDetails": { - "description": "An optional message that may contain details of the signals computation.", - "id": "IndexingMobileInterstitialsProtoDesktopInterstitialsDetails", - "properties": { - "basicInfo": { - "$ref": "IndexingMobileInterstitialsProtoInterstitialBasicInfo" - }, - "isSmearedSignal": { - "description": "Indicates whether the signal value is \"smeared\", e.g. extrapolated from other URLs.", - "type": "boolean" - } - }, - "type": "object" - }, - "IndexingMobileInterstitialsProtoInterstitialBasicInfo": { - "description": "Basic interstitial info, shared by all layout types. This message can be used to quickly iterate through detected interstitials, if layout type specific details are not required. Note: this message stores info for one primary interstitial as detected by a particular layout codepath. Some codepaths, e.g. overlay interstitial detection, may find multiple interstitial candidates; such details can be found in codepath-specific messages below.", - "id": "IndexingMobileInterstitialsProtoInterstitialBasicInfo", - "properties": { - "absoluteBox": { - "$ref": "HtmlrenderWebkitHeadlessProtoBox", - "description": "Stores the geometry of detected interstitial in absolute page pixels." - }, - "contentType": { - "enum": [ - "UNSPECIFIED", - "GENERIC", - "APP_INSTALL_PROMO", - "COOKIE", - "ADULT_CONTENT", - "LOGIN", - "HEALTH_CARE_PROFESSIONAL", - "WHITELISTED", - "ADS", - "SUBSCRIPTION" - ], - "enumDescriptions": [ - "", - "Interstitial content analysis was run, but failed to determine a particular content type.", - "Interstitial content appears to promote a mobile app install.", - "Interstitial content appears to be in response to legal obligation to warn users about usage of cookies on the web page.", - "Interstitial content appears to be in response to legal obligation to warn users about adult content on the web page.", - "Interstitial content appears to be asking users to login. Also the page seems to have private content that is not publicly viewable.", - "Interstitial content appears to be asking users whether they are health care professionals.", - "A special type indicating whitelisted content that never violates interstitial policy.", - "Interstitial content appears to be ads.", - "Interstitial content appears to be asking users to subscribe to newsletter." - ], - "type": "string" - }, - "detectionMode": { - "enum": [ - "NORMAL", - "DELAYED", - "AFTER_SCROLL" - ], - "enumDescriptions": [ - "Normal rendering. Default value. For this detection uses the default value of the rendering completion delay FLAGS_webkit_completion_virtual_delay (currently 5 seconds) to detect the overlay interstitials, i.e. the page is analyzed as it appears at 5 seconds after rendering start time.", - "Delayed rendering. For this detection mode, the web page is allowed to run for an extended duration, and then analysed. This detects a common type of overlay interstitials that appear after a longer timeout.", - "After scroll rendering. For this detection mode, the web page is allowed to run for an initial duration, then a user scroll action is emulated, before analysing the page contents. This detects a common type of overlay interstitials that appear after a user scroll action." - ], - "type": "string" - }, - "layoutType": { - "enum": [ - "INTERSTITIAL_LAYOUT_TYPE_UNSPECIFIED", - "OVERLAY", - "SCROLLABLE", - "STANDALONE", - "DENSITY" - ], - "enumDescriptions": [ - "", - "Overlay layout type includes interstitials implemented as popups, typically using CSS z-index to hover above main content and occlude it.", - "Scrollable layout type includes large inline interstitials that are typically inserted before the main content starts, and require the user to scroll past them.", - "Standalone layout type includes interstitials that appear as a separate page, and typically redirect the browser to main content after a delay or a user action.", - "Could be any type of layout. Usually it means it's an interstitial not for its layout but for its content." - ], - "type": "string" - } - }, - "type": "object" - }, - "IndexingMobileVoltCoreWebVitals": { - "description": "Core Web Vitals (https://web.dev/vitals/) carried in VoltSignal: the field data metrics extracted from UKM aggregated 75-percentile data.", - "id": "IndexingMobileVoltCoreWebVitals", - "properties": { - "cls": { - "description": "Cumulative Layout Shift.", - "format": "int64", - "type": "string" - }, - "fid": { - "description": "First Input Delay.", - "format": "int64", - "type": "string" - }, - "inp": { - "format": "int64", - "type": "string" - }, - "lcp": { - "description": "Largest Contentful Paint.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "IndexingMobileVoltVoltPerDocData": { - "description": "The protocol buffer stored in the legacyperdocdata muppet attachment for VOLT (go/volt). The data is used for ranking changes. Only CWV signals and secure signal are stored. MobileFriendliness is stored separately in the legacyperdocdata. Safe browsing and BAS/AER conditions are not used for ranking.", - "id": "IndexingMobileVoltVoltPerDocData", - "properties": { - "desktopCwv": { - "$ref": "IndexingMobileVoltCoreWebVitals", - "deprecated": true, - "description": "Desktop Core Wev Vital metrics. NOTE(yunchengz): This field will not be populated in Muppet." - }, - "desktopDisplayUrlIsHttps": { - "type": "boolean" - }, - "displayUrlIsHttps": { - "type": "boolean" - }, - "mobileCwv": { - "$ref": "IndexingMobileVoltCoreWebVitals", - "deprecated": true, - "description": "Mobile Core Web Vital metrics. NOTE(yunchengz): This field will not be populated in Muppet." - } - }, - "type": "object" - }, - "IndexingPrivacyAccessAccessRequirements": { - "id": "IndexingPrivacyAccessAccessRequirements", - "properties": { - "restrictionCategories": { - "items": { - "enum": [ - "UNSPECIFIED", - "CHILD_SAFETY_CONTENT", - "GOOGLE_EXTENDED_OPTOUT" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "IndexingSignalAggregatorAdaptiveIntervalData": { - "description": "State data for AdaptiveFrequencyEstimator", - "id": "IndexingSignalAggregatorAdaptiveIntervalData", - "properties": { - "clicksGoodInterval": { - "format": "double", - "type": "number" - }, - "clicksGoodPriorWeight": { - "format": "double", - "type": "number" - }, - "clicksTotalInterval": { - "format": "double", - "type": "number" - }, - "clicksTotalPriorWeight": { - "format": "double", - "type": "number" - }, - "ctrwiInterval": { - "format": "double", - "type": "number" - }, - "ctrwiPriorWeight": { - "format": "double", - "type": "number" - }, - "dwellsInterval": { - "format": "double", - "type": "number" - }, - "dwellsPriorWeight": { - "format": "double", - "type": "number" - }, - "luDwellsInterval": { - "format": "double", - "type": "number" - }, - "luDwellsPriorWeight": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "IndexingSignalAggregatorAgeWeightedCoverageData": { - "description": "Accumulated coverage data for an url using a constant half-life time. Next tag: 28", - "id": "IndexingSignalAggregatorAgeWeightedCoverageData", - "properties": { - "averageChanceTime": { - "description": "Weighted averged timestamps of the decayed chances.", - "format": "double", - "type": "number" - }, - "chances": { - "description": "Numbers below are all total in the decayed manner. To get rate of impression/clicks, divide by chances.", - "format": "double", - "type": "number" - }, - "clicksBad": { - "format": "double", - "type": "number" - }, - "clicksGood": { - "format": "double", - "type": "number" - }, - "clicksImage": { - "format": "double", - "type": "number" - }, - "clicksTotal": { - "format": "double", - "type": "number" - }, - "clicksUnclassified": { - "format": "double", - "type": "number" - }, - "coverageTimestamp": { - "description": "Epoch seconds at which this weighted coverage data was calculated.", - "format": "int64", - "type": "string" - }, - "ctrWeightedImpressions": { - "format": "double", - "type": "number" - }, - "dwells": { - "description": "Dwells from KnowledgePanel and WebAnswers.", - "format": "double", - "type": "number" - }, - "firstBaseCoverageTimestamp": { - "description": "Epoch seconds at which this url first gets coverage in BASE.", - "format": "int64", - "type": "string" - }, - "firstCoveragePagerankNs": { - "description": "The pagerank when the url was serving for the first time.", - "format": "int32", - "type": "integer" - }, - "firstCoverageTimestamp": { - "description": "Epoch seconds at which this url first gets coverage data.", - "format": "int64", - "type": "string" - }, - "firstseen": { - "format": "int64", - "type": "string" - }, - "impressions": { - "format": "double", - "type": "number" - }, - "intervalData": { - "$ref": "IndexingSignalAggregatorAdaptiveIntervalData", - "description": "Interval Data to track the average time between clicks_total, clicks_good, and ctr_weighted_impression." - }, - "language": { - "format": "int32", - "type": "integer" - }, - "lastDwellDateInDays": { - "description": "Indicates the date when this document received the last KnowledgePanel or WebAnswer dwell. Note: The date is identified in terms of number of days since Epoch.", - "format": "int32", - "type": "integer" - }, - "lastGoodClickDateInDays": { - "description": "Indicates the date when this document received the last good click. Note: The date is identified in terms of number of days since Epoch.", - "format": "int32", - "type": "integer" - }, - "lastImpressionDateInDays": { - "description": "Indicates the date when this document received the last impression. Note: The date is identified in terms of number of days since Epoch.", - "format": "int32", - "type": "integer" - }, - "lastLuDwellDateInDays": { - "description": "Indicates the date when this document received the last LocalUniversal dwell. Note: The date is identified in terms of number of days since Epoch.", - "format": "int32", - "type": "integer" - }, - "lastPseudoImpressionsDateInDays": { - "description": "Indicates the date when this document received the last pseudo-impression. I.e., when it was retrieved as a result but GWS would not show it because of the document's age in the index. Note: The date is identified in terms of number of days since Epoch.", - "format": "int32", - "type": "integer" - }, - "luDwells": { - "description": "Dwells from LocalUniversal.", - "format": "double", - "type": "number" - }, - "repid": { - "description": "Repid in Alexandria pipeline.", - "format": "byte", - "type": "string" - }, - "totalChances": { - "description": "Total number of chances on this urls (not decayed).", - "format": "int64", - "type": "string" - }, - "url": { - "type": "string" - }, - "urlfp": { - "description": "Temporary variable, only used during mapreduce.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "IndexingSignalAggregatorAggregatedScore": { - "description": "Aggregated signal used by NumericSignalAggregator. Next field id: 25", - "id": "IndexingSignalAggregatorAggregatedScore", - "properties": { - "deviation": { - "description": "A number reflecting the deviation of Url scores.", - "format": "double", - "type": "number" - }, - "m2": { - "deprecated": true, - "description": "State variables for West \u0026 Chan variance algorithm used to be stored here directly. Now they are stored inside RunningMeanAndVarianceInternalState.", - "format": "double", - "type": "number" - }, - "maxScoreUrl": { - "$ref": "IndexingSignalAggregatorUrlScore", - "description": "Input UrlScore with max score." - }, - "mean": { - "deprecated": true, - "format": "double", - "type": "number" - }, - "meanScore": { - "description": "Overall stats that are only available in final aggregation results. The aggregated score.", - "format": "double", - "type": "number" - }, - "minScoreUrl": { - "$ref": "IndexingSignalAggregatorUrlScore", - "description": "Input UrlScore with min score." - }, - "numImportantUrls": { - "format": "int64", - "type": "string" - }, - "numUrlsMatched": { - "description": "Final Stats that are also available in intermediate output. Number of Urls matching the class.", - "format": "int64", - "type": "string" - }, - "numUrlsWithSignal": { - "description": "Not every matching url has a signal.", - "format": "int64", - "type": "string" - }, - "patternLayer": { - "description": "Experimental layer of the corresponding pattern.", - "enum": [ - "PRODUCTION", - "EXPERIMENTAL_LAYER_A", - "EXPERIMENTAL_LAYER_B", - "NEXT_LAYER" - ], - "enumDescriptions": [ - "", - "", - "", - "Reserved for the next layer." - ], - "type": "string" - }, - "patternsUsedInMediation": { - "description": "Optionally populated in mediators. A list of patterns that actually contributed to the final mediated signal.", - "items": { - "type": "string" - }, - "type": "array" - }, - "percentile": { - "description": "Score percentile of matching urls. If present, it has N entries for buckets of roughly equal number of urls. N is specified the aggregation. The value is the min score in that bucket.", - "items": { - "format": "double", - "type": "number" - }, - "type": "array" - }, - "runningMeanAndVarianceInternalState": { - "$ref": "IndexingSignalAggregatorRunningMeanAndVarianceInternalState" - }, - "samples": { - "description": "Random samples.", - "items": { - "$ref": "IndexingSignalAggregatorUrlScore" - }, - "type": "array" - }, - "scores": { - "description": "for calculating percentile", - "items": { - "format": "double", - "type": "number" - }, - "type": "array" - }, - "signalId": { - "description": "For debugging purposes, this is an id of the signal associated with this AggregatedScore. For pattern score, this may be the length of the pattern.", - "format": "int32", - "type": "integer" - }, - "singleUrlScore": { - "$ref": "IndexingSignalAggregatorUrlScore", - "description": "If this field presents, it is for a single url. No other field should appear." - }, - "totalScore": { - "description": "summation varaible used to get mean", - "format": "double", - "type": "number" - }, - "totalScoreLow": { - "description": "low-order part of total_score", - "format": "double", - "type": "number" - }, - "totalScoreSqr": { - "description": "summation variable for calculating deviation note, these are now only used for legacy and debugging purposes", - "format": "double", - "type": "number" - }, - "totalScoreSqrLow": { - "description": "low order part of total_score_sq", - "format": "double", - "type": "number" - }, - "totalWeight": { - "deprecated": true, - "description": "for calculating weighted mean/dev", - "format": "double", - "type": "number" - }, - "totalWeightLow": { - "deprecated": true, - "description": "low order part of total_weight", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "IndexingSignalAggregatorRunningMeanAndVarianceInternalState": { - "description": "Internal state of the West \u0026 Chan running variance algorithm. Fields of this proto should not be accessed directly; instead, please use RunningMeanAndVarianceUtil. The fields of this message only have meaning in the context of the West \u0026 Chan algorithm, which is documented (or Wikipedia-linked) in the doc comments of RunningMeanAndVarianceUtil. We do however give some explanation of the meanings of these fields in the context of the algorithm (i.e. if you have the Wikipedia page open and are ready to do some math). Also see the file doc of RunningMeanAndVarianceUtil for a specification and more info about the algorithm. Notation: The data set is X = {(x_1, w_1), ..., (x_n, w_n)}. It consists of n weighted data points. The ith data point has value x_i and weight w_i. REQUIRES: x_i is finite for each i. w_i is finite for each i. w_i \u003e= 0 for each i.", - "id": "IndexingSignalAggregatorRunningMeanAndVarianceInternalState", - "properties": { - "m2": { - "description": "The variable which in the Wikipedia page is referred to as M_2: m2 = w_1 * (x_1 - mean)^2 + ... + w_n * (x_n - mean)^2. The algorithm implemented in RunningMeanAndVarianceUtil provides a way to update m2 in a numerically stable way when the data set grows. If total_weight = 0, then m2 is meaningless, and its value is unspecified, except that it must be finite and \u003e= 0.", - "format": "double", - "type": "number" - }, - "mean": { - "description": "Mean of the data set, mean = (w_1 * x_1 + ... + w_n * x_n) / total_weight. The algorithm implemented in RunningMeanAndVarianceUtil provides a way to update this mean in a numerically stable way when the data set grows. If total_weight = 0, then mean is meaningless, and its value is unspecified, except that it must be finite.", - "format": "double", - "type": "number" - }, - "totalWeight": { - "description": "Total weight of the data set, total_weight = w_1 + ... + w_n.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "IndexingSignalAggregatorSccData": { - "id": "IndexingSignalAggregatorSccData", - "properties": { - "parentPattern": { - "$ref": "IndexingSignalAggregatorSccSignal" - }, - "pattern": { - "$ref": "IndexingSignalAggregatorSccSignal", - "description": "The most immediate pattern data." - } - }, - "type": "object" - }, - "IndexingSignalAggregatorSccSignal": { - "id": "IndexingSignalAggregatorSccSignal", - "properties": { - "clicksBad": { - "format": "double", - "type": "number" - }, - "clicksImage": { - "format": "double", - "type": "number" - }, - "clicksTotal": { - "format": "double", - "type": "number" - }, - "debugInfo": { - "description": "For debugging purpose only.", - "items": { - "type": "string" - }, - "type": "array" - }, - "numImageUrls": { - "description": "This represents the number of urls with image clicks. A url can have both image and non-image clicks, in which case we set num_image_urls to be the ratio of image_clicks vs total clicks. For example, if a url has 10 total clicks and 7 image clicks, num_image_urls will be set to 0.7.", - "format": "double", - "type": "number" - }, - "numUrls": { - "format": "int64", - "type": "string" - }, - "pattern": { - "description": "For debugging purpose only.", - "type": "string" - } - }, - "type": "object" - }, - "IndexingSignalAggregatorUrlPatternSignals": { - "description": "Contains only the signals necessary to perform per-URL click prediction. Used by Index Selection for scoring. NEXT ID TO USE: 7", - "id": "IndexingSignalAggregatorUrlPatternSignals", - "properties": { - "coverage": { - "$ref": "IndexingSignalAggregatorAgeWeightedCoverageData" - }, - "pagerankScore": { - "$ref": "IndexingSignalAggregatorAggregatedScore" - }, - "patternScore": { - "$ref": "IndexingSignalAggregatorAggregatedScore" - }, - "priorSignal": { - "items": { - "$ref": "IndexingSignalAggregatorUrlPatternSignalsPriorSignal" - }, - "type": "array" - }, - "regexpPatternScore": { - "$ref": "IndexingSignalAggregatorAggregatedScore" - }, - "sccData": { - "$ref": "IndexingSignalAggregatorSccData" - } - }, - "type": "object" - }, - "IndexingSignalAggregatorUrlPatternSignalsPriorSignal": { - "description": "This message provides a container for any signal used in scoring, and allows UrlPatternSignals to extend beyond (regexp_)pattern_score and pagerank_score.", - "id": "IndexingSignalAggregatorUrlPatternSignalsPriorSignal", - "properties": { - "aggregatedScore": { - "$ref": "IndexingSignalAggregatorAggregatedScore" - }, - "priorSignalId": { - "enum": [ - "PRIOR_SIGNAL_PAGERANK", - "PRIOR_SIGNAL_PATTERN", - "PRIOR_SIGNAL_REGEXP_PATTERN", - "PRIOR_SIGNAL_CLICKRANK", - "PRIOR_SIGNAL_LENGTH", - "PRIOR_SIGNAL_SIBYL", - "PRIOR_SIGNAL_TENSORFLOW" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "IndexingSignalAggregatorUrlScore": { - "description": "Representation of numeric signal of a url.", - "id": "IndexingSignalAggregatorUrlScore", - "properties": { - "dsacNumWeeklyPerfRecords": { - "description": "The number of weekly performance records if the UrlScore is extracted from the DSAC data. It should be used in case a URL is no longer served. As of 2014-10-14, this field is for the evaluation purpose only.", - "format": "int32", - "type": "integer" - }, - "eligibleExperimentalLayer": { - "description": "If this field is set, it indicates the url is eligible to be aggregated to one of the experimental layers.", - "enum": [ - "PRODUCTION", - "EXPERIMENTAL_LAYER_A", - "EXPERIMENTAL_LAYER_B", - "NEXT_LAYER" - ], - "enumDescriptions": [ - "", - "", - "", - "Reserved for the next layer." - ], - "type": "string" - }, - "firstServedTimestamp": { - "description": "The timestamp of the first time this document is served anywhere.", - "format": "int64", - "type": "string" - }, - "isImportant": { - "description": "Whether this url has important signal. Used for keeping patterns that match too few URLs but some of them have good clicks.", - "type": "boolean" - }, - "score": { - "description": "score might be missing if the url does not have signal.", - "format": "double", - "type": "number" - }, - "url": { - "description": "url might be missing if we can get it from sstable key.", - "type": "string" - }, - "weight": { - "description": "weight for this url.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "IndexingSpeechSpeechPropertiesProto": { - "description": "The information about spoken content that's based on purely the media resource contents (and not the embedding page or context, etc).", - "id": "IndexingSpeechSpeechPropertiesProto", - "properties": { - "audioDuration": { - "description": "Duration of audio in processed fragment (including non-speech), in seconds.", - "format": "int32", - "type": "integer" - }, - "audioOnly": { - "description": "If true, the media file is audio-only. If false, also has video track(s).", - "type": "boolean" - }, - "estimatedAudioDuration": { - "description": "Estimated duration of audio in the whole file (including non-speech), in seconds. If this is greater than 0, then it will either be equal to audio_duration (when truncated_file is false), or to the length of the content (audio or video) according to the file header (when truncated_file is true).", - "format": "int32", - "type": "integer" - }, - "estimatedAudioDurationConfidence": { - "description": "Our confidence in the duration estimate, on a scale from 0 (not confident) to 1 (very confident). An estimate should have a confidence of at least 0.5 if it is to be shown to users.", - "format": "float", - "type": "number" - }, - "languageCode": { - "description": "The spoken language, see i18n/identifiers/languagecode.h and go/gl2014. This may or may not match the language of the written page. (Examples: \"en\", \"sv\", \"zh-CN\").", - "type": "string" - }, - "numWords": { - "description": "Total number of recognized words in processed fragment.", - "format": "int32", - "type": "integer" - }, - "recognizerAccuracy": { - "description": "Measure of the estimated output accuracy from the speech recognition code, from 0 to 1. Based on word-level confidence and possibly other factors.", - "format": "float", - "type": "number" - }, - "speechDuration": { - "description": "Duration of speech in processed fragment, in seconds.", - "format": "int32", - "type": "integer" - }, - "truncatedFile": { - "description": "If true, we may have processed a truncated file (most likely due to a size-cutoff when crawling). As a result, the audio duration is a lower bound and the other fields reflect only the processed prefix of the file.", - "type": "boolean" - } - }, - "type": "object" - }, - "IndexingUrlPatternUrlTreeBigTreeBranch": { - "description": "Representing a dominating branch of the URL tree.", - "id": "IndexingUrlPatternUrlTreeBigTreeBranch", - "properties": { - "features": { - "$ref": "IndexingUrlPatternUrlTreeUrlFeatures" - }, - "patternId": { - "description": "The fingerprint of the features string.", - "format": "uint64", - "type": "string" - }, - "payload": { - "$ref": "Proto2BridgeMessageSet" - } - }, - "type": "object" - }, - "IndexingUrlPatternUrlTreeUrlFeature": { - "id": "IndexingUrlPatternUrlTreeUrlFeature", - "properties": { - "fingerprint": { - "format": "uint64", - "type": "string" - }, - "fingerprintWithGroupInType": { - "description": "If consider position when calculating fingerprint of url feature.", - "type": "boolean" - }, - "groupInType": { - "description": "Used together w/ type field to group features, for finding features with too many possible values.", - "type": "string" - }, - "type": { - "enum": [ - "HOST_SEGMENT", - "PATH_SEGMENT", - "DOCUMENT_NAME_SEGMENT", - "QUERY_NAME", - "QUERY_VALUE", - "HOST_SEGMENT_COUNT", - "PATH_SEGMENT_COUNT", - "QUERY_COUNT", - "GMAIL_SUBJECT", - "GMAIL_BODY_TEXT", - "GMAIL_BODY_TREE", - "PROTOCOL", - "PACKAGE_ID", - "SCHEME", - "AUTHORITY", - "APP_URI_PATH_SEGMENT", - "APP_URI_PATH_SEGMENT_COUNT", - "APP_URI_DOCUMENT_NAME_SEGMENT", - "APP_URI_QUERY_NAME", - "APP_URI_QUERY_VALUE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "app uri: :////", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "IndexingUrlPatternUrlTreeUrlFeatures": { - "id": "IndexingUrlPatternUrlTreeUrlFeatures", - "properties": { - "feature": { - "items": { - "$ref": "IndexingUrlPatternUrlTreeUrlFeature" - }, - "type": "array" - } - }, - "type": "object" - }, - "IndexingUrlPatternUrlTreeUrlTree": { - "id": "IndexingUrlPatternUrlTreeUrlTree", - "properties": { - "bigBranch": { - "description": "Keeping information for dominating branches separately, to prevent docs on smaller branches from being dropping during sampling.", - "items": { - "$ref": "IndexingUrlPatternUrlTreeBigTreeBranch" - }, - "type": "array" - }, - "debugInfo": { - "$ref": "IndexingUrlPatternUrlTreeUrlTreeDebugInfo" - }, - "key": { - "$ref": "IndexingUrlPatternUrlTreeUrlTreeKey" - }, - "node": { - "description": "node(0) is root.", - "items": { - "$ref": "IndexingUrlPatternUrlTreeUrlTreeNode" - }, - "type": "array" - }, - "retrievalTimestamp": { - "description": "Used in url pattern matcher for cache invalidation.", - "format": "uint32", - "type": "integer" - }, - "site": { - "deprecated": true, - "description": "The key for this UrlTree, also will be the key in sstable. The old format is site, while the new format will be UrlTreeKey. Only one field can be set in the same time for site and key.", - "type": "string" - }, - "timestamp": { - "description": "The time when this UrlTree is built, encoded as seconds past the epoch (Jan 1, 1970).", - "format": "int32", - "type": "integer" - }, - "treeInfo": { - "$ref": "Proto2BridgeMessageSet", - "description": "Any additional information." - } - }, - "type": "object" - }, - "IndexingUrlPatternUrlTreeUrlTreeDebugInfo": { - "id": "IndexingUrlPatternUrlTreeUrlTreeDebugInfo", - "properties": { - "innerSimilarity": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "IndexingUrlPatternUrlTreeUrlTreeKey": { - "description": "A UID of URL Tree. There is a hash function and a equality function for UrlTreeKey in //indexing/url_pattern/url_tree/util/url-tree-key-util.h. When adding or deprecating a field in this proto, please also update the hash function and the equality function. LINT.IfChange", - "id": "IndexingUrlPatternUrlTreeUrlTreeKey", - "properties": { - "crawlerId": { - "enum": [ - "UNKNOWN", - "DESKTOP", - "SMARTPHONE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "domain": { - "type": "string" - }, - "hostname": { - "type": "string" - } - }, - "type": "object" - }, - "IndexingUrlPatternUrlTreeUrlTreeNode": { - "id": "IndexingUrlPatternUrlTreeUrlTreeNode", - "properties": { - "indexOfSubTreeWithSplittingFeature": { - "format": "int32", - "type": "integer" - }, - "indexOfSubTreeWithoutSplittingFeature": { - "format": "int32", - "type": "integer" - }, - "parent": { - "format": "int32", - "type": "integer" - }, - "pathFromRoot": { - "description": "The path from root to current node. This is only used for debugging.", - "type": "string" - }, - "patternId": { - "description": "This is only used in leaf nodes which represents a url pattern. It is the fingerprint of the splitting url features from root to the leaf.", - "format": "uint64", - "type": "string" - }, - "payload": { - "$ref": "Proto2BridgeMessageSet" - }, - "splittingFeature": { - "$ref": "IndexingUrlPatternUrlTreeUrlFeature" - }, - "splittingFeatureScore": { - "description": "The information gain of content features when selecting this splitting feature to split the node.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "IndexingVideosAsrTranscriptRepairAnnotation": { - "description": "This proto captures the output of analyses that ran on Automatic Speech Recogntion produced by the recognizer.", - "id": "IndexingVideosAsrTranscriptRepairAnnotation", - "properties": { - "gibberishResult": { - "enum": [ - "UNDEFINED_GIBBERISH_RESULT", - "NOT_GIBBERISH", - "IS_GIBBERISH", - "GIBBERISH_UNSUPPORTED_LANGUAGE", - "GIBBERISH_DECLINED", - "GIBBERISH_DETECTION_FAILED" - ], - "enumDescriptions": [ - "The status of this document is unknown.", - "", - "The transcript is gibberish and should not be used.", - "Gibberish detection was not run because the language is not supported. Consider this not gibberish.", - "Gibberish detection declined to run for an unspecified reason. Consider this not gibberish.", - "Gibberish detection ran, but failed. Consider this not gibberish." - ], - "type": "string" - }, - "numGibberishSegments": { - "description": "The number of the above segments that were classified as gibberish.", - "format": "int32", - "type": "integer" - }, - "numSegmentsClassified": { - "description": "The number of ASR segments that were sent for classification.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "KaltixPerDocData": { - "id": "KaltixPerDocData", - "properties": { - "KaltixRank": { - "description": "approx. 2 bytes for top 1B", - "format": "int32", - "type": "integer" - }, - "LocalKaltixRank": { - "description": "empty for now", - "format": "int32", - "type": "integer" - }, - "SiteKaltixRank": { - "description": "empty for now", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "KeGovernanceTypedRegions": { - "description": "Wrapper message containing list of regions and their corresponding type of region signal to use in data governance.", - "id": "KeGovernanceTypedRegions", - "properties": { - "regionType": { - "description": "The particular type of region should be explicitly set to disambiguate.", - "enum": [ - "UNKNOWN", - "FRONTEND_REGION_CODE", - "TRUSTED_LOCATION_VIEW_REGION_CODE" - ], - "enumDescriptions": [ - "", - "Region code as seen by search frontend (FrontendRequest::region_code). This is based on the user's physical location, and can be overridden by both the region picker in search settings and the gl url param. Among Oolong location views, this corresponds to the unique jurisdiction view, i.e. JurisdictionLocationView::createUnique if the LocationContext is fetched by GWS.", - "This represents a trusted location that is hard to spoof and can be used for legal purposes such as applying restrictions based on the user's \"physical\" location. Among Oolong's location views, this corresponds to TrustedLocationView." - ], - "type": "string" - }, - "regions": { - "description": "Values are go/iii RegionCode in capital case. It is a good practice to keep elements in this list unique, although not enforced. In case of duplicated entries, they'll be treated as if there were only one entry of the same value.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersAnyType": { - "description": "Accepts any non-empty value. This is meant for special cases allowing any value or any composition to be valid in a slot. If you are thinking of using this, please contact mrf-team@.", - "id": "KnowledgeAnswersAnyType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersAttributeType": { - "description": "An attribute type configures a value whose type is intended to be a attribute defined in the schema.", - "id": "KnowledgeAnswersAttributeType", - "properties": { - "attribute": { - "description": "Use in parsing: the value filled with must be in the list of this. If no attribute ids are specified, this value can be filled with any attribute.", - "items": { - "type": "string" - }, - "type": "array" - }, - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "pivotEntitySlot": { - "description": "If exist, the attribute will be applied on the given pivot slot. This helps type checking when qrewrite constructs function calls with an attribute-typed slot.", - "type": "string" - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersBooleanType": { - "description": "A BooleanType configures a yes/no value.", - "id": "KnowledgeAnswersBooleanType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersCollectionType": { - "description": "A CollectionType configures a value whose type is intended to be a collection.", - "id": "KnowledgeAnswersCollectionType", - "properties": { - "collection": { - "description": "The collection this value is filled with must be one of these collections (denoted by a /collection/* id). If no collections are specified, this value can be filled with any collection.", - "items": { - "type": "string" - }, - "type": "array" - }, - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersCompoundType": { - "description": "A CompoundType configures a value composed of multiple answer values.", - "id": "KnowledgeAnswersCompoundType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersContainerType": { - "id": "KnowledgeAnswersContainerType", - "properties": { - "slotNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersDateType": { - "description": "A DateType configures a value whose type is intended to be a date. LINT.IfChange Next id: 17", - "id": "KnowledgeAnswersDateType", - "properties": { - "allowAllRangeResolutions": { - "description": "If true, will allow all resolutions that are ranges.", - "type": "boolean" - }, - "allowAllResolutions": { - "description": "If true, overrides all other options in this message and allows any kind of DateTime annotation.", - "type": "boolean" - }, - "allowAllResolutionsExceptHolidays": { - "description": "If true, will allow all resolutions except holidays.", - "type": "boolean" - }, - "allowAllResolutionsWithout4digit24hrTime": { - "description": "If true, will allow resolutions that aren't contiguous sequences of 4 digits annotated as 24-hr times. These are often mis-interpreted years or postcodes.", - "type": "boolean" - }, - "allowAllResolutionsWithoutTime": { - "description": "If true, will allow resolutions without an explicit hour. Symbolic ranges such as [this evening] are not considered as explicit hour, but the range [1-3pm] is considered as explicit.", - "type": "boolean" - }, - "allowDayResolution": { - "description": "If true, will parse a mention to DateTime of resolution day. This allows parsing strings like \"August 30th\", \"2012-12-25\";", - "type": "boolean" - }, - "allowDayResolutionExceptHolidaysOrOrdinal": { - "description": "If true, will allow day resolutions except holidays or ordinal numbers, such as \"today\", \"December 13\", but \"Christmas\", \"first\" are not allowed.", - "type": "boolean" - }, - "allowHourResolution": { - "description": "If true, will allow resolutions with an explicit hour such as \"8am\", \"5pm\".", - "type": "boolean" - }, - "allowMonthResolution": { - "description": "If true, will parse a mention to DateTime of resolution month. This allows parsing strings like \"this August\", \"2012-12\";", - "type": "boolean" - }, - "allowNowResolution": { - "description": "If true, will allow \"now\" resolutions, but not any other time", - "type": "boolean" - }, - "allowSymbolicTime": { - "description": "If true, will allow symbolic time resolutions such as \"tonight\".", - "type": "boolean" - }, - "allowTimeResolutionsWithoutExplicitTimezone": { - "description": "If true, will allow time resolutions without an explicit timezone.", - "type": "boolean" - }, - "allowYearResolution": { - "description": "If true, will parse a mention to DateTime of resolution year. This allows parsing strings like \"Next year \", \"2010\";", - "type": "boolean" - }, - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - }, - "subType": { - "enum": [ - "DATE_TIME_DEFAULT", - "DATE_ONLY", - "DATE_WITH_DAY_OF_WEEK", - "DATE_YEAR_ONLY", - "DATE_MONTH_ONLY" - ], - "enumDescriptions": [ - "By default, formats as precise as possible based on the answer's datetime value. E.g., [oscar award date] -\u003e March 27,2022 at 5:00 PM PDT", - "Only keeps the date even if answer value has the time. E.g., [Top gun release date] -\u003e May 27, 2022", - "Only keeps the date and add the day of the week. E.g., [presidential election vote date] -\u003e Tuesday, November 8, 2022", - "Only keeps the year even if answer value has the full date or time. E.g., [bond movies] -\u003e 1962", - "Only keeps the month even if answer value has the full date or time. E.g., [Obama birth Month] -\u003e August" - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersDependencyType": { - "id": "KnowledgeAnswersDependencyType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "containerType": { - "$ref": "KnowledgeAnswersContainerType" - }, - "intersectType": { - "$ref": "KnowledgeAnswersIntersectType" - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - }, - "sameType": { - "$ref": "KnowledgeAnswersSameType" - }, - "unionType": { - "$ref": "KnowledgeAnswersUnionType" - } - }, - "type": "object" - }, - "KnowledgeAnswersDialogReferentialResolution": { - "description": "How a piece of data was resolved through external data (either elsewhere in the query, or from a previous query). Examples: [obama and his age] -\u003e \"his\" is resolved from the Obama entity obama -\u003e \"he\" is resolved from the Obama entity starbucks -\u003e Q2 is resolved from the list of shops", - "id": "KnowledgeAnswersDialogReferentialResolution", - "properties": { - "refersToFullMrf": { - "description": "True iff this ReferentialResolution is part of an intent and refers to the full MRF subtree (rather than just the intent).", - "type": "boolean" - }, - "resolutionType": { - "enum": [ - "NONE", - "SAFT_PRONOUN", - "NOUN_PHRASE", - "LOCAL_SEMANTIC_FUNCTION_MERGE", - "CONTEXTUAL_SUBGRAMMAR_ANNOTATION", - "RIPPLES_LIST_SELECTION" - ], - "enumDescriptions": [ - "No referential resolution.", - "A referential pronoun like \"she\" was used to resolve a matching entity.", - "A phrase like \"this man\" or \"that movie\" was used to resolve a matching entity.", - "Legacy Local SemanticFn logic was used to combine the previous interpretation with the current one.", - "The Location subgrammar produced an annotation from an AttentionalEntity.", - "Ripples performed a list selection when the user issues a query like \"the third one\"." - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersDurationType": { - "description": "A DurationType configures a value whose type is a duration.", - "id": "KnowledgeAnswersDurationType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "rangeConstraint": { - "$ref": "KnowledgeAnswersRangeConstraint", - "description": "Range constraint limits the set of durations accepted. The values of the range are in milliseconds. Currently, this constraint is only enforced in Loose Parser." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersEntityType": { - "description": "An EntityType configures a value whose type is intended to be an entity. Entities may be specified using either the collection(s) to which they belong, or explicitly via a list of KG-ids. Both collections and ids can be specified, in which case the type will be the union of the id(s) and all mids within the collection(s). Next available tag: 10", - "id": "KnowledgeAnswersEntityType", - "properties": { - "collection": { - "description": "This field specifies that containing entity must be: - in *any* 'collection' if 'in_all_collections' is false (default) - in *every* 'collection' if 'in_all_collections' is true. The collection field contains strings of the form '/collection/'. If no collections are specified, this value can be filled with any entity. A collection specified as an empty string has a special meaning for Aqua induction, which is that the type includes all entities.", - "items": { - "type": "string" - }, - "type": "array" - }, - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "excludedCollection": { - "description": "The entity that this value is filled with must not be any of these collections (denoted by a /collection/* id). This restriction does not affect parsing; it is used only to filter attributes in the extraction flow.", - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "description": "The entity that this value is filled with must be one of the following explicitly specified KG-ids.", - "items": { - "type": "string" - }, - "type": "array" - }, - "identifier": { - "description": "The entity that this value is filled with must be of the explicit type and/or contain the explicitly specified id. This field can not be used for kg mids, which should directly use the id field above.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryIdentifier" - }, - "type": "array" - }, - "inAllCollections": { - "type": "boolean" - }, - "includeGeolocationData": { - "description": "If this is set to true for a slot and the entity is a location, the latitude and longitude will be available in variables $SlotName_Latitude and $SlotName_Longitude, respectively. The latitude and longitude data comes from KG.", - "type": "boolean" - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersFacetParsing": { - "description": "Construct for how to construe a facet when parse from neural or lexical models. Unlike regular intent annotations, facets are post-hoc grounded to indicated spoans, so they also need to provide their input and output slot independently.", - "id": "KnowledgeAnswersFacetParsing", - "properties": { - "facetName": { - "description": "Optional, as this can take the name of the slot/schema its associated with or it might need to map onto something different.", - "type": "string" - }, - "inputSlotName": { - "description": "Required, the slot into which we put any ungrounded string or mid", - "type": "string" - }, - "outputSlotName": { - "description": "Optional, if absent output_type will be used for typing, or this is a MRF operator", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentModifiers": { - "description": "Modifiers decorate a Meaning Expression (i.e. intent FunctionCall) with signals that depend on the source language's grammar and syntax. See go/intent-modifiers for details. NOTE: Modifiers don't necessarily impact go/intent-resolution semantics. LINT.IfChange", - "id": "KnowledgeAnswersIntentModifiers", - "properties": { - "alternateLanguage": { - "description": "Language of all of the non-annotation tokens of the query interpretation, if it is different than |language|. This can happen with English smearing, e.g. [height rousseau] will trigger as \"fr\" when issued in fr/FR, but really the language is \"en\". This can also happen when we have extra information about the language model, e.g. language=\"zh\", alternate_language=\"zh-Hant\".", - "type": "string" - }, - "definiteness": { - "enum": [ - "UNKNOWN_DEFINITENESS", - "DEFINITE", - "INDEFINITE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "language": { - "description": "Language of parsed query.", - "type": "string" - }, - "mood": { - "deprecated": true, - "description": "Since there's only IMPERATIVE, consider using Marker.command instead.", - "enum": [ - "UNKNOWN_MOOD", - "IMPERATIVE" - ], - "enumDescriptions": [ - "", - "E.g. [turn on the light] Other possible values: Interrogative, Subjunctive, ..." - ], - "type": "string" - }, - "plurality": { - "enum": [ - "UNKNOWN_PLURALITY", - "SINGULAR", - "PLURAL" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "polarQuestion": { - "description": "Whether or not the question is a polar (yes/no) question.", - "type": "boolean" - }, - "sentiment": { - "$ref": "SentimentSentiment", - "description": "Sentiment analysis attached to an intent implies the sentiment user expressed behind that query. This is generated by the Empathetic Servlet in the QRewrite." - }, - "tense": { - "enum": [ - "UNKNOWN_TENSE", - "PRESENT", - "FUTURE", - "PAST" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryAnnotationLayerSignals": { - "description": "Signals coming from the Annotation Layer of TUIG. See more details at http://go/unified-intent-generation-apis.", - "id": "KnowledgeAnswersIntentQueryAnnotationLayerSignals", - "properties": { - "customVehicleActionArgumentAnnotatorSignals": { - "$ref": "KnowledgeAnswersIntentQueryCustomVehicleActionArgumentAnnotatorSignals" - }, - "freetextAnnotationSignals": { - "$ref": "KnowledgeAnswersIntentQueryFreetextAnnotationSignals" - }, - "nimbleAnnotationSignals": { - "$ref": "KnowledgeAnswersIntentQueryNimbleAnnotationSignals" - }, - "ntprAnnotationSignals": { - "$ref": "KnowledgeAnswersIntentQueryNTPRAnnotationSignals" - }, - "qrefAnnotationSignals": { - "$ref": "KnowledgeAnswersIntentQueryQrefAnnotationSignals" - }, - "semanticAnnotationSignals": { - "$ref": "KnowledgeAnswersIntentQuerySemanticAnnotationSignals" - }, - "teleportArgumentAnnotatorSignals": { - "$ref": "KnowledgeAnswersIntentQueryTeleportArgumentAnnotatorSignals" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgPath": { - "id": "KnowledgeAnswersIntentQueryArgPath", - "properties": { - "components": { - "items": { - "$ref": "KnowledgeAnswersIntentQueryArgPathComponent" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgPathComponent": { - "description": "LINT.IfChange(ArgPath) Given a FunctionCall and an Argument somewhere in it, an ArgPath is a list of name-index pairs that uniquely determines the path down to that Argument. For each pair, the |index|, starting from zero, distinguishes between \"sibling\" (i.e. belonging to the same sub-FunctionCall) Arguments with the same name. For example, given the following FunctionCall: A(X=D(W=5), Z=B(Z=6), Z=C(Y=7)) The path to the Z=6 argument is {{\"Z\", 0}, {\"Z\", 0}} It's the first of two Z \"siblings\" under A, then the only Z under B. The path to the Y=7 argument is {{\"Z\", 1}, {\"Y\", 0}} It's the second of two Z \"siblings\" under A, then the only Y under C. The path to the Z=B(...) argument is {{\"Z\", 0}} It's the first of two Z \"siblings\" under A.", - "id": "KnowledgeAnswersIntentQueryArgPathComponent", - "properties": { - "argName": { - "type": "string" - }, - "index": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgument": { - "description": "A message representing the function argument. Next ID: 9 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChange", - "id": "KnowledgeAnswersIntentQueryArgument", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "This field is used inside Aqua and outside Aqua for identifying the token indices and/or byte offsets of this argument" - }, - "heuristicEvalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Eval_data was not derived at parsing time (i.e. is not expected to be produced by the IG), but heuristically determined by matching the ArgumentValue to an annotation/query fragment." - }, - "key": { - "$ref": "KnowledgeAnswersMeaningSchemaSlotKey", - "description": "Slot schema key for this Argument. Note: This is still under development and not available for general use. Contact meaning-platform-eng@ for questions. Note: Currently MeaningSchemaSlotKey proto has both mid and unique_id. In future, only mid will be present in it. We are in the process of moving \"unique_id\" out of it. See (b/168907943). Note: The logged version of intent_query will only have \"mid\" populated in it to save space and avoid data duplication." - }, - "modifiers": { - "$ref": "KnowledgeAnswersIntentModifiers", - "description": "A flattened representation of all intent modifiers that apply to this argument." - }, - "name": { - "description": "Name of this argument. If this Argument is part of a FunctionCall, it must have a name or it is not well-formed. If this Argument is from an Annotator, the name field should be empty.", - "type": "string" - }, - "signals": { - "$ref": "KnowledgeAnswersIntentQueryArgumentSignals", - "description": "Signals associated with this argument." - }, - "value": { - "$ref": "KnowledgeAnswersIntentQueryArgumentValue", - "description": "The value of this argument." - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenance": { - "description": "NextId: 11", - "id": "KnowledgeAnswersIntentQueryArgumentProvenance", - "properties": { - "anaphor": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenanceQueryAnaphor", - "description": "If populated, the current query contains an anaphor that refers to the value. For example: U: Weather in Paris. [Weather(location=paris)] G: 65 degrees and sunny. U: How many people live there? [Population(city=paris)] The \"there\" in the current query would have the \"anaphor\" field set. NOTE: after a string rewrite this field will not be populated anymore if the rewrite replaced the anaphor with the corresponding value. For example, if we rewrite [How many people there] to [How many people in Paris], the CurrentQuerySignals for \"paris\" will not contain an \"anaphor\" message anymore in the following turns. It will only contain an eval_data for the span that corresponds to \"paris\" in the query." - }, - "attentionalEntity": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenanceAttentionalEntity" - }, - "currentQuery": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenanceCurrentQuery", - "description": "NOTE: PreviousQuery is used for values that originate directly from QRef entities annotated in the user query. AttentionalEntity is used for values that come from the system (entities published by a dialog). These values could also originate from an entity annotated by QRef in the query, but this is not necessarily the case. SearchAnswerValue is used for values that come from the system as part of the answer of the user query. For example: U: Wife of Barack Obama G: Barack Obama's wife is Michelle Obama Here \"Barack Obama\" can have an ArgumentProvenance of PreviousQuery, or AttentionalEntity if a dialog publishes that entity and the interpretation pulls the value from it. \"Michelle Obama\" can have an ArgumentProvenance of SearchAnswerValue, or AttentionalEntity if the dialog publishes that entity and the interpretation pulls the value it." - }, - "injectedContextualSchema": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenanceInjectedContextualSchema" - }, - "previousQuery": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenancePreviousQuery" - }, - "previousResponseMeaning": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenancePreviousResponseMeaning" - }, - "previousTaskState": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskState" - }, - "searchAnswerValue": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValue" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenanceAttentionalEntity": { - "description": "The value is carried over from an attentional entity. For example, in a dialog about a movie that publishes an attentional entity for /m/matrix: U: What is the cast. [Cast(location=/m/matrix)] G: The cast includes Keanu Reeves and others. U: Great, buy some tickets. [BuyTickets(movie=/m/matrix)] On the second user query, the \"movie\" argument would have a provenance of ATTENTIONAL_ENTITY.", - "id": "KnowledgeAnswersIntentQueryArgumentProvenanceAttentionalEntity", - "properties": { - "attentionalEntityKey": { - "description": "This key can be used to recover the attentional entity from the corresponding attentional_entities::EntityCache.", - "format": "uint64", - "type": "string" - }, - "mentionProperties": { - "$ref": "AttentionalEntitiesMentionProperties", - "description": "Source information from the AttentionalEntityReader." - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenanceCurrentQuery": { - "description": "NOTE: These comments should stay in sync with the comments in logs/proto/knowledge/interpretation/intent_query.proto LINT.IfChange The argument comes from the current query. For example: U: Book a hotel in Paris. [BookHotel(location=/m/paris)] The \"location\" argument would have a provenance of CURRENT_QUERY.", - "id": "KnowledgeAnswersIntentQueryArgumentProvenanceCurrentQuery", - "properties": { - "evalData": { - "description": "The span(s) in the query where the value comes from. Note that if the argument is split across the current and previous query, this message should *NOT* be populated. Please use PreviousQuery below, populating it's eval-data fields accordingly.", - "items": { - "$ref": "NlpSemanticParsingAnnotationEvalData" - }, - "type": "array" - }, - "neuralLocationAnnotator": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenanceNeuralLocationAnnotator" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenanceInjectedContextualSchema": { - "description": "The value is carried from injected contextual schema. Such schemas can be injected by go/qu-biasing-config for particular clients when their biasing configs are triggered for their traffic Config: (if QRewrite source == CARS_IMMERSIVE then inject LocalCarListings and Cars) Context: (QRewrite source == CARS_IMMERSIVE) U: Red [LocalCarListings(Cars() \u0026 RelatedTo(/m/red))] In this case, both LocalCarListings and Cars are spanless injected contextual schemas.", - "id": "KnowledgeAnswersIntentQueryArgumentProvenanceInjectedContextualSchema", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenanceNeuralLocationAnnotator": { - "description": "The value is used for CurrentQuery.annotator and PreviousQuery.annotator to indicate what annotator annotated the argument", - "id": "KnowledgeAnswersIntentQueryArgumentProvenanceNeuralLocationAnnotator", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenancePreviousQuery": { - "description": "The value is carried over from either the previous winning IntentQuery or an entity annotated by QRef in a previous query. For example: U: How old is Obama. [Age(person=/m/obama)] G: Barack Obama is 56 years old. U: Who is his wife. [Spouse(person=/m/obama)] The \"person\" argument would have a provenance of PREVIOUS_QUERY. However, if a dialog publishes an attentional entity for \"Obama\", the \"person\" argument can have a provenance of ATTENTIONAL_ENTITY instead. This includes arguments with provenance that spans both the current and previous query.", - "id": "KnowledgeAnswersIntentQueryArgumentProvenancePreviousQuery", - "properties": { - "currentQueryEvalData": { - "description": "The span(s) in the current query where the value comes from. This is used when the argument spans both the current and previous query. Eg jfk death -\u003e [death, when] spans both queries.", - "items": { - "$ref": "NlpSemanticParsingAnnotationEvalData" - }, - "type": "array" - }, - "evalData": { - "description": "The span(s) in the query where the value comes from.", - "items": { - "$ref": "NlpSemanticParsingAnnotationEvalData" - }, - "type": "array" - }, - "eventId": { - "$ref": "EventIdMessage", - "description": "The event ID of the query where this value was pulled from." - }, - "neuralLocationAnnotator": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenanceNeuralLocationAnnotator" - }, - "role": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryRole" - }, - "source": { - "enum": [ - "UNKNOWN", - "QUERY_STRING", - "INTERPRETATION", - "QUERY_JOIN", - "PROMPT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryRole": { - "description": "The role that this data played in the previous query.", - "id": "KnowledgeAnswersIntentQueryArgumentProvenancePreviousQueryRole", - "properties": { - "intentId": { - "type": "string" - }, - "slotName": { - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenancePreviousResponseMeaning": { - "id": "KnowledgeAnswersIntentQueryArgumentProvenancePreviousResponseMeaning", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskState": { - "description": "Value is derived from previous task state (go/taskstates).", - "id": "KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskState", - "properties": { - "argumentName": { - "description": "Argument names in the DialogIntentState that the argument corresponds to. This is repeated so it can handle complex argument update paths. (ordered from outermost argument to innermost argument)", - "items": { - "type": "string" - }, - "type": "array" - }, - "currentQueryEvalData": { - "description": "The span(s) in the current query (if any) used to resolve the previous query's DIS. Example: U: Barack Obama G: Do you want his age or his height? U: The first one. G: Age(/m/obama) In this example, the intent is derived from the previous query's DIS, but also needs to be resolved in the current query since the user was presented with multiple options.", - "items": { - "$ref": "NlpSemanticParsingAnnotationEvalData" - }, - "type": "array" - }, - "dialogIntentStateId": { - "description": "The id of the specific DialogIntentState instance that the argument corresponds to.", - "type": "string" - }, - "intentName": { - "description": "Intent name of the DialogIntentState that the argument corresponds to.", - "type": "string" - }, - "listCandidate": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateListCandidate" - }, - "previousFunctionCall": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStatePreviousFunctionCall" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateListCandidate": { - "description": "The value is carried over from a field_candidate in a DialogIntentState. For example: U: Send a message to John. G: Which John do you want to message? U: John A. [ListPresentationIntent(contact_disambiguation.person=0)] On the second user query, the \"contact_disambiguation.person\" argument would have a provenance of PREVIOUS_TASK_STATE_LIST_CANDIDATE.", - "id": "KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStateListCandidate", - "properties": { - "candidateIndex": { - "description": "The presented_index of the field_candidate in the DialogIntentState field_signals that the argument corresponds to.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStatePreviousFunctionCall": { - "description": "The value was carried over from the previous function call. For example: U: Create an alarm titled \"Wake\". [CreateAlarm(title=Wake)] G: Sure, at what time? U: 5 am. [CreateAlarm(title=Wake,time=5am)] On the second user query, the \"title\" argument would have a provenance of PREVIOUS_TASK_STATE.", - "id": "KnowledgeAnswersIntentQueryArgumentProvenancePreviousTaskStatePreviousFunctionCall", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenanceQueryAnaphor": { - "description": "Signals about an anaphor in the query: for example an occurrence of the pronoun \"it\".", - "id": "KnowledgeAnswersIntentQueryArgumentProvenanceQueryAnaphor", - "properties": { - "evalData": { - "description": "If populated, the spans in the current query where this value was annotated. This is a repeated field because some values can be annotated from a set of discontiguous spans (e.g. some intent phrases), but in most cases this field will contain only one item or it will be empty (for values inferred from context without the use of anaphora).", - "items": { - "$ref": "NlpSemanticParsingAnnotationEvalData" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValue": { - "description": "The value was carried over from a SearchAnswerValue triggered by a previous query (go/search-answer-values). For example: U: Movies with Tom Cruise. [Movies(actor=/m/tom_cruise)] G: Tom Cruise's movies include Top Gun, The Mummy, and 52 others. U: Reviews for the second one. [Reviews(movie=/m/the_mummy)] The \"movie\" argument in the last query would have a provenance of SEARCH_ANSWER_VALUE.", - "id": "KnowledgeAnswersIntentQueryArgumentProvenanceSearchAnswerValue", - "properties": { - "eventId": { - "$ref": "EventIdMessage", - "description": "This identifies the SearchAnswerValues where this value was pulled from." - }, - "metadataValueIndex": { - "description": "Each SearchAnswerValue can have a primary value and a list of metadata values. If this index is set, this value was pulled from the metadata value at this index, otherwise it was pulled from the primary value.", - "format": "int32", - "type": "integer" - }, - "text": { - "description": "The display text of this answer value. It's taken from the search answer value display text if present, or the canonical name if it's an entity.", - "type": "string" - }, - "valueIndex": { - "description": "The index of the SearchAnswerValue where this value was pulled from.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentSignals": { - "description": "A message representing the signals associated with an argument. NEXT ID TO USE: 67 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the \"ThenChange\", fields under Argument.signals in the serving proto are stored directly under Argument on the logging side. For example, see http://google3/nlp/semantic_parsing/data_management/logs/web_logs/semantic_logging_converters/semantic_logging_request_argument_converter.cc?l=58\u0026rcl=322925428. LINT.IfChange", - "id": "KnowledgeAnswersIntentQueryArgumentSignals", - "properties": { - "addedByCloseAnswers": { - "description": "Whether this argument was added by CloseAnswers in Postref. This bit is used to mark the corresponding interpretation/intent query as such by setting is_close_interpretation bit.", - "type": "boolean" - }, - "allowedFuzzyMatch": { - "description": "For this argument, backend performed fuzzy match.", - "type": "boolean" - }, - "annotatedRelationship": { - "description": "Relationships between entities", - "items": { - "$ref": "LogsSemanticInterpretationIntentQueryWebrefEntityRelationship" - }, - "type": "array" - }, - "annotationLayerSignals": { - "$ref": "KnowledgeAnswersIntentQueryAnnotationLayerSignals", - "description": "Signals to facilitate orchestration of TUIG annotations." - }, - "chainId": { - "description": "One or more ChainIds from a ChainAnnotation whose \"organization_mid\" matches the MID. As of 2021-01 multiple chain_ids may be specified if the organization for MID controls multiple chains. See go/chains-lckp-robust-triggering for motivation.", - "items": { - "$ref": "LocalsearchChainId" - }, - "type": "array" - }, - "clusterInfo": { - "$ref": "QualityViewsExtractionClusterInfo", - "description": "If the literal.obj_type of the argument value is ID (Entity), this stores cluster scoring information for that entity, if the entity belongs to a cluster." - }, - "collectionMembership": { - "description": "If the literal.obj_type of the argument value is ID (Entity), this represents the collection that the entity in this argument is a member of.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryCollectionMembership" - }, - "type": "array" - }, - "contextResolution": { - "description": "How this argument was resolved through context from a previous query. Examples: obama -\u003e \"he\" is resolved from the Obama entity starbucks -\u003e Q2 is resolved from the list of shops (Attentional Entities)", - "enum": [ - "NONE", - "SAFT_PRONOUN", - "NOUN_PHRASE", - "LOCAL_SEMANTIC_FUNCTION_MERGE", - "CONTEXTUAL_SUBGRAMMAR_ANNOTATION" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "copleySourceTypeList": { - "$ref": "CopleySourceTypeList", - "description": "Contains the source and type information related to a personal entity, for example if it is a hotel or a restaurant (type) and if it comes from Gmail, Calendar, etc. (source)." - }, - "deprecatedFreebaseType": { - "deprecated": true, - "description": "If the literal.obj_type of the argument value is ID (Entity), this represents freebase types of the entity in this argument.", - "items": { - "type": "string" - }, - "type": "array" - }, - "deprecatedSupportingMid": { - "deprecated": true, - "description": "A list of mids that \"support\" this argument in voting, i.e., results that support these mids will be treated as if they support the argument. This field has been deprecated in favor of related_entity. b/27363861", - "items": { - "type": "string" - }, - "type": "array" - }, - "entityCardSignals": { - "$ref": "KnowledgeAnswersIntentQueryEntityCardSignals", - "description": "Signals about the entity card entity for this argument." - }, - "entityNumber": { - "description": "Signals about what other entities this entity implies / is implied by. This is useful for grounding. Example: b/138388207: suppressing song intents if the artist entity doesn't link to the song title. This value specifies the order of annotations in a QRef annotation chain so they can refer to each other.", - "format": "int32", - "type": "integer" - }, - "entityRelationship": { - "description": "Signals about what other entities this entity implies / is implied by. This is useful for grounding. Example: b/138388207: suppressing song intents if the artist entity doesn't link to the song title.", - "items": { - "$ref": "NlpSemanticParsingQRefAnnotationEntityRelationship" - }, - "type": "array" - }, - "expressionStatus": { - "$ref": "NlpSemanticParsingExpressionStatus", - "description": "Status indicating whether the user has completely expressed the semantics of the argument." - }, - "facet": { - "$ref": "KnowledgeAnswersFacetParsing", - "description": "If this slot was transformed from or could be transformed to a facet on a categorical, that information is stored here." - }, - "fromManualSymbolAnnotation": { - "deprecated": true, - "description": "Whether the argument entity comes from a manual graphic symbol annotation. This is later used as a heuristic for poor web result quality.", - "type": "boolean" - }, - "fromSymbolAnnotation": { - "description": "Whether the argument entity comes from a graphic symbol annotation. This is later used as a heuristic for poor web result quality.", - "type": "boolean" - }, - "gaiaId": { - "description": "The gaia id for the entity (person or plus page).", - "format": "uint64", - "type": "string" - }, - "groundingSignals": { - "$ref": "KnowledgeAnswersIntentQueryGroundingSignals" - }, - "isAUngroundedTypeOf": { - "description": "If the argument is entity, the ungrounded type the entity is. For example, the entity argument is /m/0p83l (Jasmine), the value of this field should be \"Plant\" if it is present.", - "type": "string" - }, - "isDefaultValue": { - "description": "If true, the value of the argument is populated with the default value specified by the system if the value can't be inferred from the input query. In IntentConfig case, the default value is specified by using IntentConfig.slot.default_value.", - "type": "boolean" - }, - "isEnum": { - "description": "Set when the argument has an enum value - a normalized_string_type from the intent catalog.", - "type": "boolean" - }, - "isEvalDataHeuristic": { - "description": "Set when the eval_data was not derived at parsing time, but heuristically determined by matching the ArgumentValue to an annotation/query fragment.", - "type": "boolean" - }, - "isGenieAnnotation": { - "description": "Whether this annotation was propagated as part of a Genie rewrite (go/genie-aqua).", - "type": "boolean" - }, - "isIntentgenAnnotation": { - "description": "Whether this argument was annotated by Intentgen QUIK model (go/intentgen-quik)", - "type": "boolean" - }, - "isNimbleAnnotation": { - "description": "Whether this argument was annotated by nimble (go/nimble-annotator)", - "type": "boolean" - }, - "location": { - "$ref": "GeostorePointProto", - "description": "Entity location information (latitude/longitude) from freebase." - }, - "locationClassificationScore": { - "description": "Confidence score of this argument being a location.", - "format": "double", - "type": "number" - }, - "locationMarkersSignals": { - "$ref": "KnowledgeAnswersIntentQueryLocationMarkersSignals", - "description": "The usual semantic role associated with the signal from lightweight tokens attached to this argument span." - }, - "locationType": { - "description": "The type category for the location stored in this Argument, if it exists.", - "enum": [ - "TYPE_ANY", - "TYPE_TRANSPORTATION", - "TYPE_ROUTE", - "TYPE_DEPRECATED_HIGHWAY_DO_NOT_USE", - "TYPE_HIGHWAY", - "TYPE_HIGHWAY_1", - "TYPE_HIGHWAY_2", - "TYPE_HIGHWAY_3", - "TYPE_HIGHWAY_4", - "TYPE_HIGHWAY_5", - "TYPE_HIGHWAY_6", - "TYPE_HIGHWAY_7", - "TYPE_HIGHWAY_8", - "TYPE_HIGHWAY_9", - "TYPE_BICYCLE_ROUTE", - "TYPE_TRAIL", - "TYPE_SEGMENT", - "TYPE_ROAD", - "TYPE_RAILWAY", - "TYPE_STANDARD_TRACK", - "TYPE_JR_TRACK", - "TYPE_NARROW_TRACK", - "TYPE_MONORAIL_TRACK", - "TYPE_SUBWAY_TRACK", - "TYPE_LIGHT_RAIL_TRACK", - "TYPE_BROAD_TRACK", - "TYPE_HIGH_SPEED_RAIL", - "TYPE_TROLLEY_TRACK", - "TYPE_FERRY", - "TYPE_FERRY_BOAT", - "TYPE_FERRY_TRAIN", - "TYPE_VIRTUAL_SEGMENT", - "TYPE_INTERSECTION", - "TYPE_TRANSIT", - "TYPE_TRANSIT_STATION", - "TYPE_BUS_STATION", - "TYPE_TRAMWAY_STATION", - "TYPE_TRAIN_STATION", - "TYPE_SUBWAY_STATION", - "TYPE_FERRY_TERMINAL", - "TYPE_AIRPORT", - "TYPE_AIRPORT_CIVIL", - "TYPE_AIRPORT_MILITARY", - "TYPE_AIRPORT_MIXED", - "TYPE_HELIPORT", - "TYPE_SEAPLANE_BASE", - "TYPE_AIRSTRIP", - "TYPE_CABLE_CAR_STATION", - "TYPE_GONDOLA_LIFT_STATION", - "TYPE_FUNICULAR_STATION", - "TYPE_SPECIAL_STATION", - "TYPE_HORSE_CARRIAGE_STATION", - "TYPE_MONORAIL_STATION", - "TYPE_SEAPORT", - "TYPE_TRANSIT_STOP", - "TYPE_TRANSIT_TRIP", - "TYPE_TRANSIT_DEPARTURE", - "TYPE_TRANSIT_LEG", - "TYPE_TRANSIT_LINE", - "TYPE_TRANSIT_AGENCY_DEPRECATED_VALUE", - "TYPE_TRANSIT_TRANSFER", - "TYPE_SEGMENT_PATH", - "TYPE_ROAD_SIGN", - "TYPE_INTERSECTION_GROUP", - "TYPE_PATHWAY", - "TYPE_RESTRICTION_GROUP", - "TYPE_TOLL_CLUSTER", - "TYPE_POLITICAL", - "TYPE_COUNTRY", - "TYPE_ADMINISTRATIVE_AREA", - "TYPE_ADMINISTRATIVE_AREA1", - "TYPE_US_STATE", - "TYPE_GB_COUNTRY", - "TYPE_JP_TODOUFUKEN", - "TYPE_ADMINISTRATIVE_AREA2", - "TYPE_GB_FORMER_POSTAL_COUNTY", - "TYPE_GB_TRADITIONAL_COUNTY", - "TYPE_ADMINISTRATIVE_AREA3", - "TYPE_ADMINISTRATIVE_AREA4", - "TYPE_ADMINISTRATIVE_AREA5", - "TYPE_ADMINISTRATIVE_AREA6", - "TYPE_ADMINISTRATIVE_AREA7", - "TYPE_ADMINISTRATIVE_AREA8", - "TYPE_ADMINISTRATIVE_AREA9", - "TYPE_COLLOQUIAL_AREA", - "TYPE_RESERVATION", - "TYPE_LOCALITY", - "TYPE_GB_POST_TOWN", - "TYPE_JP_GUN", - "TYPE_JP_SHIKUCHOUSON", - "TYPE_JP_SUB_SHIKUCHOUSON", - "TYPE_COLLOQUIAL_CITY", - "TYPE_SUBLOCALITY", - "TYPE_US_BOROUGH", - "TYPE_GB_DEPENDENT_LOCALITY", - "TYPE_JP_OOAZA", - "TYPE_JP_KOAZA", - "TYPE_JP_GAIKU", - "TYPE_GB_DOUBLE_DEPENDENT_LOCALITY", - "TYPE_JP_CHIBAN", - "TYPE_JP_EDABAN", - "TYPE_SUBLOCALITY1", - "TYPE_SUBLOCALITY2", - "TYPE_SUBLOCALITY3", - "TYPE_SUBLOCALITY4", - "TYPE_SUBLOCALITY5", - "TYPE_NEIGHBORHOOD", - "TYPE_CONSTITUENCY", - "TYPE_DESIGNATED_MARKET_AREA", - "TYPE_SCHOOL_DISTRICT", - "TYPE_LAND_PARCEL", - "TYPE_DISPUTED_AREA", - "TYPE_POLICE_JURISDICTION", - "TYPE_STATISTICAL_AREA", - "TYPE_CONSTITUENCY_FUTURE", - "TYPE_PARK", - "TYPE_GOLF_COURSE", - "TYPE_LOCAL_PARK", - "TYPE_NATIONAL_PARK", - "TYPE_US_NATIONAL_PARK", - "TYPE_US_NATIONAL_MONUMENT", - "TYPE_NATIONAL_FOREST", - "TYPE_PROVINCIAL_PARK", - "TYPE_PROVINCIAL_FOREST", - "TYPE_CAMPGROUNDS", - "TYPE_HIKING_AREA", - "TYPE_BUSINESS", - "TYPE_GOVERNMENT", - "TYPE_BORDER_CROSSING", - "TYPE_CITY_HALL", - "TYPE_COURTHOUSE", - "TYPE_EMBASSY", - "TYPE_LIBRARY", - "TYPE_SCHOOL", - "TYPE_UNIVERSITY", - "TYPE_EMERGENCY", - "TYPE_HOSPITAL", - "TYPE_PHARMACY", - "TYPE_POLICE", - "TYPE_FIRE", - "TYPE_DOCTOR", - "TYPE_DENTIST", - "TYPE_VETERINARIAN", - "TYPE_TRAVEL_SERVICE", - "TYPE_LODGING", - "TYPE_RESTAURANT", - "TYPE_GAS_STATION", - "TYPE_PARKING", - "TYPE_POST_OFFICE", - "TYPE_REST_AREA", - "TYPE_CASH_MACHINE", - "TYPE_CAR_RENTAL", - "TYPE_CAR_REPAIR", - "TYPE_SHOPPING", - "TYPE_GROCERY", - "TYPE_TOURIST_DESTINATION", - "TYPE_ECO_TOURIST_DESTINATION", - "TYPE_BIRD_WATCHING", - "TYPE_FISHING", - "TYPE_HUNTING", - "TYPE_NATURE_RESERVE", - "TYPE_TEMPLE", - "TYPE_CHURCH", - "TYPE_GURUDWARA", - "TYPE_HINDU_TEMPLE", - "TYPE_MOSQUE", - "TYPE_SYNAGOGUE", - "TYPE_STADIUM", - "TYPE_BAR", - "TYPE_MOVIE_RENTAL", - "TYPE_COFFEE", - "TYPE_GOLF", - "TYPE_BANK", - "TYPE_DOODLE", - "TYPE_GROUNDS", - "TYPE_AIRPORT_GROUNDS", - "TYPE_BUILDING_GROUNDS", - "TYPE_CEMETERY", - "TYPE_HOSPITAL_GROUNDS", - "TYPE_INDUSTRIAL", - "TYPE_MILITARY", - "TYPE_SHOPPING_CENTER", - "TYPE_SPORTS_COMPLEX", - "TYPE_UNIVERSITY_GROUNDS", - "TYPE_DEPRECATED_TARMAC", - "TYPE_ENCLOSED_TRAFFIC_AREA", - "TYPE_PARKING_LOT", - "TYPE_PARKING_GARAGE", - "TYPE_OFF_ROAD_AREA", - "TYPE_BORDER", - "TYPE_BUILDING", - "TYPE_GEOCODED_ADDRESS", - "TYPE_NATURAL_FEATURE", - "TYPE_TERRAIN", - "TYPE_SAND", - "TYPE_BEACH", - "TYPE_DUNE", - "TYPE_ROCKY", - "TYPE_ICE", - "TYPE_GLACIER", - "TYPE_BUILT_UP_AREA", - "TYPE_VEGETATION", - "TYPE_SHRUBBERY", - "TYPE_WOODS", - "TYPE_AGRICULTURAL", - "TYPE_GRASSLAND", - "TYPE_TUNDRA", - "TYPE_DESERT", - "TYPE_SALT_FLAT", - "TYPE_WATER", - "TYPE_OCEAN", - "TYPE_BAY", - "TYPE_BIGHT", - "TYPE_LAGOON", - "TYPE_SEA", - "TYPE_STRAIT", - "TYPE_INLET", - "TYPE_FJORD", - "TYPE_LAKE", - "TYPE_SEASONAL_LAKE", - "TYPE_RESERVOIR", - "TYPE_POND", - "TYPE_RIVER", - "TYPE_RAPIDS", - "TYPE_DISTRIBUTARY", - "TYPE_CONFLUENCE", - "TYPE_WATERFALL", - "TYPE_SPRING", - "TYPE_GEYSER", - "TYPE_HOT_SPRING", - "TYPE_SEASONAL_RIVER", - "TYPE_WADI", - "TYPE_ESTUARY", - "TYPE_WETLAND", - "TYPE_WATER_NAVIGATION", - "TYPE_FORD", - "TYPE_CANAL", - "TYPE_HARBOR", - "TYPE_CHANNEL", - "TYPE_REEF", - "TYPE_REEF_FLAT", - "TYPE_REEF_GROWTH", - "TYPE_REEF_EXTENT", - "TYPE_REEF_ROCK_SUBMERGED", - "TYPE_IRRIGATION", - "TYPE_DAM", - "TYPE_DRINKING_WATER", - "TYPE_CURRENT", - "TYPE_WATERING_HOLE", - "TYPE_TECTONIC", - "TYPE_WATERING_HOLE_DEPRECATED", - "TYPE_VOLCANO", - "TYPE_LAVA_FIELD", - "TYPE_FISSURE", - "TYPE_FAULT", - "TYPE_LAND_MASS", - "TYPE_CONTINENT", - "TYPE_ISLAND", - "TYPE_ATOLL", - "TYPE_OCEAN_ROCK_EXPOSED", - "TYPE_CAY", - "TYPE_PENINSULA", - "TYPE_ISTHMUS", - "TYPE_ELEVATED", - "TYPE_PEAK", - "TYPE_NUNATAK", - "TYPE_SPUR", - "TYPE_PASS", - "TYPE_PLATEAU", - "TYPE_RIDGE", - "TYPE_RAVINE", - "TYPE_CRATER", - "TYPE_KARST", - "TYPE_CLIFF", - "TYPE_VISTA", - "TYPE_DIGITAL_ELEVATION_MODEL", - "TYPE_UPLAND", - "TYPE_TERRACE", - "TYPE_SLOPE", - "TYPE_CONTOUR_LINE", - "TYPE_PAN", - "TYPE_UNSTABLE_HILLSIDE", - "TYPE_MOUNTAIN_RANGE", - "TYPE_UNDERSEA", - "TYPE_SUBMARINE_SEAMOUNT", - "TYPE_SUBMARINE_RIDGE", - "TYPE_SUBMARINE_GAP", - "TYPE_SUBMARINE_PLATEAU", - "TYPE_SUBMARINE_DEEP", - "TYPE_SUBMARINE_VALLEY", - "TYPE_SUBMARINE_BASIN", - "TYPE_SUBMARINE_SLOPE", - "TYPE_SUBMARINE_CLIFF", - "TYPE_SUBMARINE_PLAIN", - "TYPE_SUBMARINE_FRACTURE_ZONE", - "TYPE_CAVE", - "TYPE_ROCK", - "TYPE_ARCHIPELAGO", - "TYPE_POSTAL", - "TYPE_POSTAL_CODE", - "TYPE_POSTAL_CODE_PREFIX", - "TYPE_PREMISE", - "TYPE_SUB_PREMISE", - "TYPE_SUITE", - "TYPE_POST_TOWN", - "TYPE_POSTAL_ROUND", - "TYPE_META_FEATURE", - "TYPE_DATA_SOURCE", - "TYPE_LOCALE", - "TYPE_TIMEZONE", - "TYPE_BUSINESS_CHAIN", - "TYPE_PHONE_NUMBER_PREFIX", - "TYPE_PHONE_NUMBER_AREA_CODE", - "TYPE_BUSINESS_CORRIDOR", - "TYPE_ADDRESS_TEMPLATE", - "TYPE_TRANSIT_AGENCY", - "TYPE_FUTURE_GEOMETRY", - "TYPE_EVENT", - "TYPE_EARTHQUAKE", - "TYPE_HURRICANE", - "TYPE_WEATHER_CONDITION", - "TYPE_TRANSIENT", - "TYPE_ENTRANCE", - "TYPE_CARTOGRAPHIC", - "TYPE_HIGH_TENSION", - "TYPE_SKI_TRAIL", - "TYPE_SKI_LIFT", - "TYPE_SKI_BOUNDARY", - "TYPE_WATERSHED_BOUNDARY", - "TYPE_TARMAC", - "TYPE_WALL", - "TYPE_PICNIC_AREA", - "TYPE_PLAY_GROUND", - "TYPE_TRAIL_HEAD", - "TYPE_GOLF_TEEING_GROUND", - "TYPE_GOLF_PUTTING_GREEN", - "TYPE_GOLF_ROUGH", - "TYPE_GOLF_SAND_BUNKER", - "TYPE_GOLF_FAIRWAY", - "TYPE_GOLF_HOLE", - "TYPE_DEPRECATED_GOLF_SHOP", - "TYPE_CAMPING_SITE", - "TYPE_DESIGNATED_BARBECUE_PIT", - "TYPE_DESIGNATED_COOKING_AREA", - "TYPE_CAMPFIRE_PIT", - "TYPE_WATER_FOUNTAIN", - "TYPE_LITTER_RECEPTACLE", - "TYPE_LOCKER_AREA", - "TYPE_ANIMAL_ENCLOSURE", - "TYPE_CARTOGRAPHIC_LINE", - "TYPE_ESTABLISHMENT", - "TYPE_ESTABLISHMENT_GROUNDS", - "TYPE_ESTABLISHMENT_BUILDING", - "TYPE_ESTABLISHMENT_POI", - "TYPE_ESTABLISHMENT_SERVICE", - "TYPE_CELESTIAL", - "TYPE_ROAD_MONITOR", - "TYPE_PUBLIC_SPACES_AND_MONUMENTS", - "TYPE_STATUE", - "TYPE_TOWN_SQUARE", - "TYPE_LEVEL", - "TYPE_COMPOUND", - "TYPE_COMPOUND_GROUNDS", - "TYPE_COMPOUND_BUILDING", - "TYPE_COMPOUND_SECTION", - "TYPE_TERMINAL_POINT", - "TYPE_REGULATED_AREA", - "TYPE_LOGICAL_BORDER", - "TYPE_GCONCEPT_ONLY", - "TYPE_DO_NOT_USE_RESERVED_TO_CATCH_GENERATED_FILES", - "TYPE_UNKNOWN" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - false, - true, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - true, - true, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ], - "enumDescriptions": [ - "ABSTRACT", - "ABSTRACT", - "A route is any section of road (or rails, etc.) that has a name. This includes city streets as well as highways. Road segments can belong to multiple routes (e.g. El Camino, CA-82).", - "DEPRECATED", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "A designated bicycle route, whose segments may consist of any combination of bicycle paths, bicycle lanes, or city streets.", - "A designated trail, which may consist of paved walkways, dirt paths, fire road, streets or highways, etc.", - "ABSTRACT", - "", - "Railroads use several different incompatible track types.", - "", - "", - "", - "", - "", - "", - "", - "", - "Tracks for streetcars, cable-cars, etc. Ferries are services that are part of the road network but are not roads. They typically involve fares and scheduled departure times.", - "ABSTRACT", - "The vast majority of ferries are ferry boats.", - "Also called a \"car transport\", a ferry train is a rail service that carries passengers and their vehicles across undrivable terrain. The Channel Tunnel (\"Chunnel\") is the most famous example, but they are also common in the Alps where they connect neighboring valleys otherwise separated by impassable mountains.", - "Any plausible 1-dimensional path through a 2+ dimensional space, for the purposes of making graph-search-based routing possible. Such segments can be used to model paths through parking lots, squares, floors of buildings and other areas.", - "An intersection consists of a collection of segments that terminate at the same location. This is topological definition: it may not match what a typical user would think of as an \"intersection\". See TYPE_INTERSECTION_GROUP, below, for more information. Each segment terminating at an intersection has an \"endpoint type\" that specifies how that segment is terminated: stop sign, yield sign, three-way light, etc.", - "ABSTRACT", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "A transit line is a collection of transit legs, associated with some invariant properties of the trips that run over the legs. See also transitline.proto", - "TYPE_TRANSIT_AGENCY was moved to 0xC91. This deprecated enum value still exists for debugging purposes only.", - "DEPRECATED", - "ABSTRACT", - "Road sign features have names, point geometry, etc. They also have segment_path data (see below) which lists the segments that refer to the sign. See segment.proto for the reference from the segment to the road sign.", - "Our TYPE_INTERSECTION feature, above, models the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an \"intersection\". Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. This TYPE_INTERSECTION_GROUP is used to model the user's concept of a complex intersection.", - "RESERVED", - "A restriction group describes a set of segment restrictions that belong together and have a name or an associated event. See also restriction_group.proto", - "DEPRECATED", - "ABSTRACT", - "", - "ABSTRACT", - "", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "e.g. Silicon Valley", - "A reservation is a region collectively held or governed by indigenous people and officially recognized by the country’s government at the federal or state level. A reservation may be fully contained within an administrative feature or partially contained within two or more. These regions are referred to by different categorical names depending on country and even by state, including but not limited to: “Indian Reservations”, “Indian Reserves”, “Land Claim Settlement Lands”, “Indian Lands”, “Treaty Lands”, “Indigenous Territories”, etc. A reservation is not a historic indigenous territory boundary or a region which has applied for land rights but has not yet received official recognition.", - "", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "An entity widely considered to be a city, that may itself be made up of smaller political entities, some of which are cities/towns/villages themselves. For example, the colloquial view of Sydney, Australia actually comprises many smaller cities, but is regarded as a city itself. This type is not suitable for modeling official metro-/micropolitan or other statistical areas.", - "ABSTRACT", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "Designated Market Areas (or DMAs) are used by marketing and ratings companies (such as the Nielsen Media Research company) to describe geographical regions (such as the greater New York metropolitan area) that are covered by a set of television stations. (See http://www.schooldata.com/pdfs/DMA.pdf) In the United States, DMAs should have a DMA numeric ID name, tagged with the FLAG_DESIGNATED_MARKET_AREA_ID flag.", - "", - "", - "Eventually we'll have more data for disputed areas (e.g., who makes claims on the area, who has de facto control, etc.). For the moment, we just define a type so we can simply mark areas as disputed.", - "Boundaries representing the jurisdiction of a particular police station.", - "An area used for aggregating statistical data, eg, a census region. Note that TYPE_STATISTICAL_AREA has a third nibble so we can add an abstract parent above it later if need be at 0x2E1 (and rename TYPE_STATISTICAL_AREA as TYPE_STATISTICAL_AREA1).", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "A line representing the boundary between two features. See border.proto for details.", - "DEPRECATED", - "An association of a point with an address, with no other information.", - "ABSTRACT", - "Expanses of land that share common surface attributes. These areas would look more or less uniform from a high altitude.", - "", - "", - "", - "", - "", - "", - "Terrain that looks populated.", - "Terrain that is covered in vegetation.", - "", - "", - "", - "", - "", - "", - "A flat expanse of salt left by the evaporation of a body of salt water.", - "Features can be TYPE_WATER if we don't have enough information to properly type the body of water. TYPE_WATER is also used as the type for child features that compose a TYPE_RIVER feature.", - "One of the large salt-water bodies that covers most of the globe.", - "An ocean subdivision formed by a coastal indentation. Includes coves and gulfs.", - "An open body of water formed by a slight coastal indentation.", - "", - "An ocean subdivision more or less confined by land and islands.", - "A long narrow ocean subdivision. Includes sounds.", - "", - "", - "An inland body of standing water.", - "A lake that dries up part of the year.", - "An artificial body of water, possibly created by a dam, often used for irrigation or house use.", - "", - "An inland body of moving water, or parts associated with it in which there is little or no current (backwater).", - "", - "A branch which flows away from the main river. Includes deltas.", - "A place where two or more rivers join.", - "", - "A place where ground water flows naturally out of the ground.", - "", - "", - "A river that dries up part of the year.", - "A dry riverbed that occasionally receives flashfloods.", - "A place at the end of a river where fresh and salt water mix. Includes tidal creeks and limans.", - "Land that is usually flooded. Includes bogs, marshes, flats, moors, and swamps.", - "", - "A shallow place where water may be waded through.", - "A narrow passage used by boats. Normally artificial.", - "A deep place near a shore where ships commonly drop anchor.", - "A deep part in a body of water that is suitable for navigation. Includes narrows.", - "Rocks, coral, sandbars, or other features beneath the surface of the water that pose a hazard to passing ships. Includes shoals.", - "A relatively shallow zone of the back reef located closest to the shore, that may be exposed at low tide.", - "A small section of rocks, coral, sandbars, or other features beneath the surface of the water that forms part of a reef.", - "The full extent of the reef complex.", - "A submerged rock in the water.", - "Man-made (and sometimes natural) channels used to move water. This type was used for both dam structures and water that is hold back by dams. We should use TYPE_COMPOUND_BUILDING for dam structures and TYPE_RESERVOIR for water.", - "DEPRECATED", - "", - "Includes overfalls.", - "A natural depression filled with water where animals come to drink.", - "This type is incorrectly under TYPE_TECTONIC instead of TYPE_WATER. This was a mistake and is now fixed. See TYPE_WATERING_HOLE for the replacement.", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "", - "An exposed rock in the water.", - "A small, low-elevation, sandy island formed on the surface of coral reefs", - "A stretch of land projecting into water. Includes capes and spits.", - "A strip of land connecting two larger land masses, such as continents.", - "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.", - "Elevations that have a distinctive peak.", - "A peak or ridge of a mountain that extends through a glacier.", - "A subsidiary peak of a mountain.", - "A route over an otherwise difficult to traverse feature. Includes saddle.", - "Elevations that are flat on top. Includes mesas and buttes.", - "A ridge is a geographical feature consisting of a chain of mountains or hills that form a continuous elevated crest with a single ridgeline for some distance.", - "Steep declines usually carved by erosion. Includes valleys, canyons, ditches, and gorges.", - "Depressions causes by impact, explosion, and sometimes sink-holes.", - "Topography formed on limestone and gypsum by dissolution with sinkholes, caves, etc.", - "A vertical or nearly vertical slope. Includes escarpments.", - "An elevated place that is notable for having a good view. Raster digital elevation data. This is not a type to be used by providers or consumed by clients.", - "RESERVED", - "Land along streams higher than the alluvial plain or stream terrace.", - "", - "Land not so steep as a cliff, but changing elevation. Includes slides.", - "All the points on the polygon are at the same elevation.", - "A near-level shallow, natural depression or basin, usually containing an intermittent lake, pond, or pool.", - "", - "A series of mountains or hills ranged in a line and connected by high ground. Mountain ranges usually consist of many smaller ridges. For example, the Himalayas, the Andes. the Alps, etc.", - "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.", - "includes peaks, ranges, and spurs", - "", - "includes saddles", - "", - "", - "includes trenches and troughs", - "", - "", - "", - "", - "", - "Don't use 0xA7. Use 8 bits for additional types under TYPE_NATURAL_FEATURE, so we don't run out of space. The following are miscellaneous natural features that don't fit any of the categories above.", - "", - "A feature representing a group or chain of islands. ", - "ABSTRACT", - "This is the type for postal codes which are complete and independent enough that there should be a feature for them (e.g. US 5-digit ZIP codes). For even more detailed suffixes that further subdivide a postal code (such as the +4 component in US ZIP codes), store the information in a TYPE_POSTAL_CODE_SUFFIX address component. When a range or set of postal codes share the same geographical area, e.g. because a precise subdivision does not exist or this subdivision is unknown, this type is used for each individual postal code.", - "A prefix portion of a postal code which does not meet the requirements for TYPE_POSTAL_CODE, but which is useful to search for, for example UK outcodes.", - "DEPRECATED", - "DEPRECATED This is deprecated and we want to use TYPE_COMPOUND_SECTION instead.", - "DEPRECATED", - "The term \"post town\" is used for a locality-like-entity that is only used for postal addresses.", - "DEPRECATED", - "ABSTRACT", - "Every data source used in constructing a data repository has a corresponding feature that provides more information about that data source. The extra information is stored in the optional data_source field below.", - "A locale feature provides region specific conventions such as preferred language and formatting details for time, date, and currency values. Locales aren't necessary defined by physical geographic features, so they are classified as meta-features.", - "A timezone feature is used to specify the region covering an international timezone. When a point is covered by multiple timezone features, the most specific one can be used to compute the local time at this point. Most specific implies a much smaller region or the one that is closer to the center. A feature's timezone can be specified in the repeated related_timezone field.", - "A business chain feature is used to represent a chain, e.g. Starbucks, McDonald's, etc. Other features representing specific stores/franchises of this chain may refer to one such feature via RELATION_MEMBER_OF_CHAIN. This is not strictly reserved to commercial chains but can also be used to model organizations such as the Red Cross or the United Nations.", - "A phone number prefix feature is used to specify the region where phone numbers (typically fixed-line numbers) must begin with a certain prefix. Any phone number prefix down to any level of granularity could be represented by this type.", - "A phone number area code is a prefix which also coincides with the area code, or national destination code, of a particular region.", - "A Business Corridor is a dense cluster of semantically similar establishments. TYPE_BUSINESS_CORRIDOR features are distinguished from TYPE_COLLOQUIAL_AREA features because the corridors are not under the political hierarchy, are allowed to be nameless, and may not correspond to well-known real world locations. For more details, see go/geo-corridors-schema.", - "An address template feature provides region-specific conventions for structuring addresses. These features aren't necessarily defined by physical geographic features, so they are classified as meta-features.", - "A transit agency operates a number of lines, typically all in the same city, region or country. See also transitagency.proto", - "A feature whose geometry is planned to replace the geometry on another feature.", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "RESERVED", - "A portal of entry or exit to another feature. Examples: - Subway station entrance. - Parking lot entrance.", - "Cartographic features are used to capture real-world objects for which there is no current desire to model any specific attributes. These are only useful to make the map tiles look pretty.", - "DEPRECATED", - "Also see skitrail.proto", - "Also see skilift.proto", - "Also see skiboundary.proto", - "", - "Starting with TYPE_TARMAC, we use longer IDs, so that we can expand the number of feature types under TYPE_CARTOGRAPHIC.", - "Use TYPE_COMPOUND_GROUND and appropriate gcids for the next two.", - "DEPRECATED", - "DEPRECATED", - "", - "Sub-types within a golf course.", - "", - "", - "", - "", - "Use TYPE_ESTABLISHMENT_POI and gcid:golf_shop for golf shops instead.", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "Subtype within a zoo - a cage or fenced-off or otherwise delineated area containing animals.", - "A line for a cartographic detail. For example the international date line. Such features should have polyline geometry.", - "ABSTRACT This type is being replaced by TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2", - "DEPRECATED This type has been replaced by TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds", - "DEPRECATED", - "An establishment that has a physical location. Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", - "NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", - "The root of types of features that are in the sky, rather than on the earth. There will eventually be a hierarchy of types here.", - "Features responsible for monitoring traffic on roads (usually for speed). Includes cameras at particular points as well as monitors that cover larger spans. Features of this type should have a corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera or gcid:speed_camera_zone). This type was originally named as TYPE_ROAD_CAMERA.", - "ABSTRACT", - "Note that this type does not distinguish the nature of the statue (religious, historical, memorial, tourist, ...).", - "Open space used for events, gathering, or as market-place.", - "A feature used to represent a logical level, e.g. floor.", - "ABSTRACT", - "e.g. campus, compound, parcel.", - "e.g. single family dwelling, office building.", - "e.g. suite, room, hallway, cubicle.", - "A terminal point represents a good location for a user to meet a taxi, ridesharing vehicle, or general driver.", - "An area controlled in some way by an authoritative source, such as a government-designated COVID containment zone or an area under government sanctions. Features of this type should have one or more gcids corresponding to their specific regulation, and client handling of these features may vary based on the type of regulation.", - "A grouping of TYPE_BORDER features (\"border segments\"), which together represent a border between two features of the same type.", - "A generic feature type for any geo-type that cannot be modeled under existing feature types. No new feature type should be created within feature proto after this type.", - "DEPRECATED", - "A feature of completely unknown type. This should only be used when absolutely necessary. One example in which this type is useful is in the Chinese importer, which must heuristically segment addresses into components - it often does not know what types to make those components. Please note that the Oyster address formatter does not currently support address components of TYPE_UNKNOWN well." - ], - "type": "string" - }, - "mediaEntitySignals": { - "$ref": "KnowledgeAnswersIntentQueryMediaEntitySignals", - "description": "Signals about the media entity for this argument." - }, - "mergedImpliedEntity": { - "description": "List of QRef implied entities merged into this entity during parsing. Clients should not rely on the order, as it is derivation-dependent.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryImpliedEntity" - }, - "type": "array" - }, - "midEquivalentToCollection": { - "description": "For collection arguments, it is useful to save what was the original mid that qref annotated. For example, if the collection is /collection/films, we'll have the mid for /en/film here (/m/02vxn).", - "type": "string" - }, - "multipleHorizontalListSelectionMatches": { - "description": "Whether there were multiple equally good matches from horizontal_list_selection.", - "type": "boolean" - }, - "muninSignals": { - "$ref": "KnowledgeAnswersIntentQueryMuninSignals", - "description": "Signals derived from Munin Function call annotations." - }, - "onDeviceAnnotationSignals": { - "$ref": "KnowledgeAnswersIntentQueryOnDeviceAnnotationSignals", - "description": "Additional signals for on-device annotations." - }, - "oysterId": { - "$ref": "GeostoreFeatureIdProto", - "description": "The oyster feature id. NOTE: As of Mar 2017, the cell ID field of the feature ID might not be set. See http://b/35447230#comment10" - }, - "parsedDueToExperiment": { - "description": "Experiment ID for experiments that were used to parse this FunctionCall. Empty indicates no experiments used.", - "items": { - "type": "string" - }, - "type": "array" - }, - "personalEntity": { - "description": "Personal entities are compound entities made up of entities and their attributes, where the entities can be compound too. E.g., \"my father's mother\" can have a summary node annotation of \"Mother(Father(Myself))\"", - "items": { - "$ref": "KnowledgeAnswersIntentQueryPersonalEntity" - }, - "type": "array" - }, - "personalQrefReferenceScore": { - "description": "The confidence (in [0, 1]) that the annotation is a reference that implies another entity (e.g., \"my hotel\" in \"navigate to my hotel\" is a reference to an explicit hotel from the user's hotel reservations).", - "format": "float", - "type": "number" - }, - "personalQrefResolutionScore": { - "description": "The confidence (in [0, 1]) that the annotation was created on an implicit mention (e.g., \"my hotel\") as opposed to an explicit mention (e.g., \"the westin copley square\").", - "format": "float", - "type": "number" - }, - "provenance": { - "description": "Information about where the value of this argument came from. For example, it could have been explicitly provided in the query, pulled in from the previous state, or pulled from attentional entities.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenance" - }, - "type": "array" - }, - "qrefConfidenceScore": { - "description": "The QRef confidence score for an entity argument.", - "format": "float", - "type": "number" - }, - "qrefInterpretationIndex": { - "description": "The index of the QueryJoin interpretation from which this annotation is taken. We copy over the value given by nlp.semantic_parsing.annotators.QrefAnnotator. The value will be \"-1\" if the annotation is coming from low confidence Qref annotations. NOTE - this is generated from as QRef's interetation_number.", - "format": "int32", - "type": "integer" - }, - "rawQueryText": { - "description": "A copy of the span of canonical (raw) parser input text corresponding to this annotation.", - "type": "string" - }, - "relatedEntity": { - "description": "List of entities that are semantically related to the argument as well as details of the relationship.", - "items": { - "$ref": "NlpSemanticParsingRelatedEntity" - }, - "type": "array" - }, - "relatednessSignals": { - "$ref": "KnowledgeAnswersIntentQueryRelatednessSignals", - "description": "Relatedness Matrix signals about this argument, e.g., query_popularity." - }, - "resolvedFromContext": { - "deprecated": true, - "description": "Whether this argument was resolved through context from a previous query. Examples: obama -\u003e \"he\" is resolved from the Obama entity starbucks -\u003e Q2 is resolved from the list of shops", - "type": "boolean" - }, - "resolvedFromPronoun": { - "deprecated": true, - "description": "Whether this argument was resolved from a pronoun mention in the query. Eg: [how old was obama when *he* became president]", - "type": "boolean" - }, - "responseMeaningSignals": { - "$ref": "KnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignals" - }, - "resultSupport": { - "description": "The list of result supports for this Argument.", - "items": { - "$ref": "UniversalsearchNewPackerKnowledgeResultSupport" - }, - "type": "array" - }, - "saftSignals": { - "$ref": "KnowledgeAnswersIntentQuerySaftSignals", - "description": "Signals derived from SAFT." - }, - "shoppingIds": { - "$ref": "KnowledgeAnswersIntentQueryShoppingIds", - "description": "Equivalent shopping ids for the argument." - }, - "source": { - "description": "What added this argument.", - "enum": [ - "ARGUMENT_SOURCE_UNSPECIFIED", - "ARGUMENT_SOURCE_ASSISTANT_GROUNDING_BOX" - ], - "enumDescriptions": [ - "", - "go/assistant-grounding. See details on when this happens at go/grounding-operation-configs#default-value" - ], - "type": "string" - }, - "supportTransferRules": { - "description": "go/stbr supportthis is an", - "items": { - "$ref": "LogsSemanticInterpretationIntentQuerySupportTransferRule" - }, - "type": "array" - }, - "supportTransferSignals": { - "$ref": "KnowledgeAnswersIntentQuerySupportTransferSignals", - "deprecated": true, - "description": "Support Transfer signals for this entity." - }, - "ungroundedValueType": { - "$ref": "KnowledgeAnswersValueType", - "description": "Type of ungrounded argument. It is exclusively used when simple_value.ungrounded_value is populated." - }, - "valueSource": { - "description": "What added the argument value.", - "enum": [ - "ARGUMENT_VALUE_SOURCE_UNSPECIFIED", - "ARGUMENT_VALUE_SOURCE_ASSISTANT_GROUNDING_BOX" - ], - "enumDescriptions": [ - "", - "go/assistant-grounding. See details on when this happens at go/grounding-operation-configs#default-value" - ], - "type": "string" - }, - "webrefEntitiesIndex": { - "description": "Webref entity index for this argument, necessary for interpreting the relationship structure, and the list to index into. Specifically we need this to understand qref implications since they edges are represented with entity indexes.", - "format": "uint32", - "type": "integer" - }, - "webrefListSource": { - "description": "This represents which list entities index refers to.", - "enum": [ - "UNSET", - "INTERPRETATION_LIST", - "ANNOTATION_LIST", - "CANDIDATE_LIST" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryArgumentValue": { - "description": "A message representing the value of an argument. All types in the \"value\" oneof should have a corresponding field in the ValueType or OpaqueType protos defined in knowledge/answers/config/value.proto. This is specified by annotating each ArgumentValue type with options of the form (value_type_name) = A unit test ensure that this field is set and is valid for all types in ArgumentValue. A small number of special cases (such as funcall and simple_value) are allowed to omit the annotation. See intent_query_proto_test.cc for details. Note: If you are trying to add a new OpaqueType, stop; OpaqueType is deprecated, refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. Next Id: 42", - "id": "KnowledgeAnswersIntentQueryArgumentValue", - "properties": { - "aogSlot": { - "$ref": "NlpSemanticParsingProtoActionsOnGoogleAogSlot", - "description": "Custom type used by actions-on-google in-dialog queries. See go/3p-custom-intents-wrt-meaning-catalog" - }, - "appAnnotation": { - "$ref": "NlpSemanticParsingAppAnnotation", - "description": "Device actions custom types." - }, - "audio": { - "$ref": "NlpSemanticParsingModelsMediaAudio" - }, - "calendarEvent": { - "$ref": "AssistantApiCoreTypesCalendarEvent", - "description": "Calendar custom types. Details in go/cal-ref." - }, - "calendarEventWrapper": { - "$ref": "AssistantApiCoreTypesCalendarEventWrapper", - "description": "Details in go/multi-account-event-representation." - }, - "calendarReference": { - "$ref": "QualityQrewriteCalendarReference" - }, - "complexQueriesRewrite": { - "$ref": "QualityGenieComplexQueriesComplexQueriesOutputRewrite", - "description": "Custom type used by Complex Queries. This is populated based on the output of the RPC to the Complex Queries Boq node." - }, - "componentReference": { - "$ref": "RepositoryWebrefComponentReference", - "description": "Component reference between WebrefEntity and Mention. This should only ever be set in argument values in WebrefEntities (e.g. in a QueryJoin). The processing expectation is that the value including the component reference is discarded altogether and replaced by reference target. Use QueryJoinToMeaningStructConverter to perform the replacement. An example value parallel to this reference may exist, but it's meant purely for human consumption and should not be used." - }, - "coreference": { - "$ref": "KnowledgeAnswersIntentQueryCoreference", - "description": "A value that is a coreference or variable binding to some other part of the tree. See go/mrf-variables." - }, - "dateTime": { - "$ref": "NlpSemanticParsingDatetimeDateTime", - "description": "*** Opaque types that are likely to become fully supported: *** Represents: date and time expressions. Annotated by: datetime subgrammar." - }, - "device": { - "$ref": "NlpSemanticParsingModelsMediaCastDeviceAnnotation", - "description": "Media custom types. For example use, see go/valyrian-media-dd." - }, - "deviceId": { - "$ref": "AssistantApiCoreTypesDeviceId", - "description": "DeviceId custom types. Details in go/reply-broadcast" - }, - "deviceUserIdentity": { - "$ref": "AssistantApiCoreTypesDeviceUserIdentity", - "description": "DeviceUserIdentity custom types. Details in go/reply-broadcast" - }, - "duration": { - "$ref": "NlpSemanticParsingDatetimeDuration", - "description": "Represents: duration expressions (e.g. 5 minutes). Annotated by: datetime subgrammar." - }, - "funcall": { - "$ref": "KnowledgeAnswersIntentQueryFunctionCall", - "description": "*** Fully supported types *** An argument can also be a function call." - }, - "homeAutomationDevice": { - "$ref": "AssistantVerticalsHomeautomationProtoHomeAutomationDevice", - "description": "HomeAutomation custom types. Details in go/smarthome_with_monastery." - }, - "location": { - "$ref": "NlpSemanticParsingLocalLocation", - "description": "Represents: location expressions. Annotated by: location subgrammar." - }, - "media": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotation" - }, - "messageNotification": { - "$ref": "AssistantApiCoreTypesMessageNotification", - "description": "Custom type used by tap-to-read for embedding a MessageNotification message in a GetMessageContent intent." - }, - "money": { - "$ref": "NlpSemanticParsingModelsMoneyMoney", - "description": "Represents: money expressions (e.g. 25$). Annotated by: number subgrammar." - }, - "narrativeNewsProvider": { - "$ref": "NlpSemanticParsingModelsNarrativeNewsNewsProvider", - "description": "Custom type used by NarrativeNews. This is populated by the narrative news provider annotator, and it differs semantically from a mid for a news brand in that it doesn't refer to the field of widely known news brands but rather but to the specific audio news RSS feeds that the narrative news feature serves. (There is of course substantial overlap between those two concepts)" - }, - "number": { - "$ref": "NlpSemanticParsingNumberNumber", - "description": "Represents: number expressions. Annotated by: number subgrammar." - }, - "onDevice": { - "$ref": "NlpSemanticParsingModelsOnDevice", - "description": "OnDevice custom types. Device on which an intent should be fulfilled. Differs semantically from device fields used by Media and HomeAutomation: this is annotated by the on_device subgrammar, and will not output any metadata beyond what the subgrammar outputs. See go/on_device_induction_quality." - }, - "person": { - "$ref": "NlpSemanticParsingModelsPersonPerson", - "description": "Represents: structured person names, including common names and personal contacts. Annotated by: go/person-subgrammar." - }, - "personalIntelligenceEntity": { - "$ref": "NlpSemanticParsingPersonalIntelligenceEntity", - "description": "Entity parsed from manual grammar interpretation in the Personal Intelligence domain." - }, - "productivityListItem": { - "$ref": "AssistantProductivityListItem" - }, - "recurrence": { - "$ref": "NlpSemanticParsingModelsRecurrence", - "description": "Represents: intervals of recurrence for repeated tasks. See go/recurrence-subgrammar Annotated by: recurrence subgrammar." - }, - "reminder": { - "$ref": "QualityActionsReminder" - }, - "scalarValue": { - "$ref": "KnowledgeAnswersIntentQueryScalarValue", - "description": "A scalar value with optional unit; used ONLY for resolved values after grounding." - }, - "sensitiveValue": { - "$ref": "KnowledgeAnswersIntentQuerySensitiveArgumentValueGuard", - "description": "Sensitive value, see go/sensitive-intents and go/a4w-multi-turn-dialog" - }, - "sensitivity": { - "description": "Argument level query sensitivities. 1) Statically defined Sensitivity is copied from IntentSlot at serving time so it can be propagated along with FunctionCall to places where the Intent Catalog is not available. See go/sensitive-intents for details. 2) For the same reason, contextual sensitivites (eg., from AttentionalEntity mentions) are populated here too. See go/tagging-sensitive-ae for details.", - "items": { - "$ref": "KnowledgeAnswersSensitivitySensitivity" - }, - "type": "array" - }, - "shoppingMerchant": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantMerchant" - }, - "shoppingOffer": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantOffer", - "description": "Shopping custom types. See go/sopa-attentional." - }, - "shoppingProduct": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantProduct" - }, - "shoppingProductExpression": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantProductExpression" - }, - "shoppingStore": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantStore" - }, - "simpleValue": { - "$ref": "KnowledgeAnswersIntentQuerySimpleValue", - "description": "When literal is a datetime, it's really just an ISO 8601 datetime string. This case will eventually be replaced with the date_time field, which is more expressive and can also represent recurrences, ranges, etc. Likewise, simple_value will replace the other types of simple values that literal is currently being used to represent." - }, - "timer": { - "$ref": "QualityActionsTimer", - "description": "Productivity custom types. Team: go/productivity-assistance." - }, - "timezone": { - "$ref": "NlpSemanticParsingDatetimeTimeZone", - "description": "Represents: timezone expressions (e.g. Eastern Daylight Time). Annotated by: datetime subgrammar." - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryAttributeSignal": { - "description": "Contains an attribute id and it's completion score.", - "id": "KnowledgeAnswersIntentQueryAttributeSignal", - "properties": { - "attributeId": { - "type": "string" - }, - "score": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryCollectionMembership": { - "description": "A message representing the collection membership of an entity.", - "id": "KnowledgeAnswersIntentQueryCollectionMembership", - "properties": { - "collectionId": { - "description": "Human readable id of the collection.", - "type": "string" - }, - "collectionMid": { - "description": "Identifier of the collection, usually a MID (/m/xyz or /g/zyw).", - "type": "string" - }, - "collectionScore": { - "description": "The collection score for a entity.", - "format": "float", - "type": "number" - }, - "score": { - "description": "Different types of scores for the collection. Each score type has at most one score.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryCollectionScore" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryCollectionScore": { - "id": "KnowledgeAnswersIntentQueryCollectionScore", - "properties": { - "scoreType": { - "enum": [ - "UNKNOWN", - "GENERAL" - ], - "enumDescriptions": [ - "", - "The collection score is for general use. It is not context based." - ], - "type": "string" - }, - "scoreValue": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryConceptInfo": { - "description": "Concept provides meaning semantics captured in a continuous space, as opposed to MRF. go/concepts-roofshot.", - "id": "KnowledgeAnswersIntentQueryConceptInfo", - "properties": { - "id": { - "$ref": "ConceptsConceptId" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryConceptSignals": { - "description": "Signal data for associated Concepts (go/concept-roofshot).", - "id": "KnowledgeAnswersIntentQueryConceptSignals", - "properties": { - "dataEpochId": { - "description": "Concepts data epoch used to annotate the queries.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryCoreference": { - "description": "A message representing a coreferenced value defined elsewhere in the meaning struct.", - "id": "KnowledgeAnswersIntentQueryCoreference", - "properties": { - "argPath": { - "$ref": "KnowledgeAnswersIntentQueryArgPath", - "description": "A coreference is represented by an argument path starting from the root of the whole tree to the referenced value." - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryCustomVehicleActionArgumentAnnotatorSignals": { - "description": "Signals associated with CustomVehicleActionArgumentAnnotator annotations.", - "id": "KnowledgeAnswersIntentQueryCustomVehicleActionArgumentAnnotatorSignals", - "properties": { - "additionalAnnotationData": { - "additionalProperties": { - "type": "string" - }, - "description": "Stores any additional data which is required only at the intent fulfilment phase.", - "type": "object" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryEntityCardSignals": { - "description": "Signals about the entity card entity.", - "id": "KnowledgeAnswersIntentQueryEntityCardSignals", - "properties": { - "parentCollectionId": { - "description": "Selected collection for the main entity card fulfillment. It is the first enabled collection for the entity with the highest confidence score for the query based on qref signals.", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryFreetextAnnotationSignals": { - "description": "Signals associated with FreetextAnnotator annotations. Empty. The signal being present is enough for the conformance checking library to be able to check.", - "id": "KnowledgeAnswersIntentQueryFreetextAnnotationSignals", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersIntentQueryFunctionCall": { - "description": "A message representing the function call of an answers intent query. Next ID: 21 Important: If you add new fields that do not reflect signals data, but actual semantics of the FunctionCall, please also update CreateFuncallCopyWithoutSignals and CreateFuncallCopyWithArgumentSignals in function_call_utils. LINT.IfChange", - "id": "KnowledgeAnswersIntentQueryFunctionCall", - "properties": { - "argument": { - "description": "A list of arguments of this function call.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryArgument" - }, - "type": "array" - }, - "catalogVersion": { - "description": "The corresponding meaning catalog version that was used to generate this FunctionCall.", - "format": "int64", - "type": "string" - }, - "conceptInfo": { - "$ref": "KnowledgeAnswersIntentQueryConceptInfo", - "description": "Information about the corresponding Concept for this MRF Expression. For more details see go/concepts-roofshot." - }, - "contextualSensitivity": { - "description": "Contextual Sensitivity (go/contextual-sensitivity) metadata indicating that a policy- or privacy- sensitive conversation context (previous queries, rewritten user queries, and previous system responses, like attentional entities) is used to generate this FunctionCall. This needs propagation (1) from Interp to DialogIntentState (DIS) (see b/148479837) and (2) from QRewrite/QUS down to Assistant Server's memory finalizer. One can use knowledge/answers/sensitivity/sensitivity_reader.h to parse this proto. NOTE(b/149091449): This is part of the migration of contextual sensitivity protos from Interp sensitivity extension. (nlp::semantic_parsing::sensitivity) to this proto field. See the bug to track the migration progress and for more details.", - "items": { - "$ref": "KnowledgeAnswersSensitivitySensitivity" - }, - "type": "array" - }, - "enabledRemodelings": { - "$ref": "NlpMeaningMeaningRemodelingControl", - "description": "Contains data about which remodelings are being used for this funcall. For more information see go/meaning-remodeling-framework." - }, - "ignoredTokens": { - "description": "A list of token lists that were ignored during parsing because they are known context phrases for this interpretation. For example, for query [tell me how tall height of Obama really], assuming \"tell me\", \"tall\", \"of\", \"really\" are explained and thus ignored, with corresponding prior 0.9, 0.8, 0.7, 0.6, following ignored tokens will be populated: { ignored_tokens { token { ngram: \"tell me\", prior: 0.9} score: 0.9 } ignored_tokens { token { ngram: \"tall\", prior: 0.8} token { ngram: \"of\", prior: 0.7} score: 0.56 // currently score = prior1 * prior2 * ... * prior N } ignored_tokens { token { ngram: \"really\", prior: 0.6} score: 0.6 } } These tokens can serve two purpose: 1) debug info to show why an interpretation is generated; 2) carry the signals for downstream usage. Note: This field is under active development, and significant changes could happen. Please contact porky-pig@ if you want to use it.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryTokens" - }, - "type": "array" - }, - "key": { - "$ref": "KnowledgeAnswersMeaningSchemaKey", - "description": "The primary key for this FunctionCall. Note: This is still under development and not available for general use. Contact meaning-platform-eng@ for questions." - }, - "marker": { - "$ref": "KnowledgeAnswersMarker", - "description": "The marker specifies the purpose of this meaning struct / function call: Is it asking a question, and if yes, for which slot(s)? Is it a command, statement, etc? This corresponds to a (very coarse) notion of dialog acts. In the absence of this field, it will be inferred using the following algorithm (subject to marker applicability rules specified in marker.proto, see also go/requested-slots): 1) Use the underlying Meaning Schema's default marker, if applicable. 2) Assume that the Meaning Struct is polar or a statement. The presence of a marker will affect the value type of this function call." - }, - "modifiers": { - "$ref": "KnowledgeAnswersIntentModifiers", - "description": "A flattened representation of all intent modifiers that apply to this function call." - }, - "name": { - "description": "Name of this function call. The name must be present. If it is omitted, the FunctionCall is not well-formed.", - "type": "string" - }, - "sensitivity": { - "$ref": "KnowledgeAnswersSensitivitySensitivity", - "description": "Intent level query sensitivity (go/sensitive-intents). This metadata comes directly from Intent Catalog, indicating a single-shot query sensitivity without putting context into considerations. Therefore, this requires a one-to-one match with each intent registered in Intent Catalog." - }, - "signals": { - "$ref": "KnowledgeAnswersIntentQueryFunctionCallSignals", - "description": "Signals at the function call level" - }, - "unexplainedTokens": { - "description": "A list of tokens that were ignored during parsing that cannot be explained by context phrases.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryTokens" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryFunctionCallSignals": { - "description": "Next ID: 39", - "id": "KnowledgeAnswersIntentQueryFunctionCallSignals", - "properties": { - "argumentComposingMid": { - "description": "The argument mid that was used to compose the entity for a concept interpretation, along with the intent_composing_mid (one of the intent's equivalent MIDs).", - "type": "string" - }, - "attributeSignals": { - "description": "The attributes from which this intent was generated during execution of AttributeSignalsProvider. |attribute_signals| is only populated for single entity funcalls.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryAttributeSignal" - }, - "type": "array" - }, - "conceptEntityMid": { - "description": "An entity that represents the concept of an entity-attribute intent by being composed of an intent equivalent MID and the argument MID.", - "type": "string" - }, - "conceptSignals": { - "$ref": "KnowledgeAnswersIntentQueryConceptSignals", - "description": "Information about the corresponding Concept attached to the FunctionCall. go/concept-roofshot." - }, - "confidenceLevel": { - "enum": [ - "UNKNOWN", - "LOW", - "MEDIUM", - "HIGH", - "ALWAYS_TRIGGER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "dedupedFuncalls": { - "description": "FunctionCall-s that this funcall was deduped against.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryFunctionCall" - }, - "type": "array" - }, - "expressionStatus": { - "$ref": "NlpSemanticParsingExpressionStatus", - "description": "Status indicating whether the user has completely expressed their intended semantics. (See go/streaming-nlu-fulfilment-protocol-v1 for more info. )" - }, - "freefolksTrigger": { - "enum": [ - "NONE_FREEFOLKS_TRIGGER", - "LOW_CONF_FREEFOLKS_TRIGGER", - "HIGH_CONF_FREEFOLKS_TRIGGER" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "groundingSignals": { - "$ref": "KnowledgeAnswersIntentQueryGroundingSignals", - "description": "Grounding signals for ranking/filtering, as well as whether to use Grounding Box and PGRP in AnswersRewriter. See comment on GroundingSignals for details." - }, - "highConfidence": { - "deprecated": true, - "description": "Used to indicate that an interpretation is high confidence and triggers different voting behavior. This bit should only be set for verticals. DEPRECATED. Use confidence_level instead.", - "type": "boolean" - }, - "intentAnnotationSources": { - "items": { - "enum": [ - "UNKNOWN_SOURCE", - "ORBIT", - "LEXICON" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "intentComposingMid": { - "description": "An intent_relevant_mid that was used to compose the entity for a concept interpretation, along with argument_composing_mid (the question's argument MID).", - "type": "string" - }, - "intentProvenance": { - "description": "Information about where the value of this intent came from. For example, it could have been explicitly provided in the query, pulled in from the previous dialog state, or pulled from previous queries.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryArgumentProvenance" - }, - "type": "array" - }, - "intentRelevantMid": { - "description": "KG mids of entities that represent this intent. These entities are seen as equivalent to the Intent definition, and are specified in the Intent Catalog as relevant_mid.", - "items": { - "type": "string" - }, - "type": "array" - }, - "isCloseInterpretation": { - "description": "Whether the interpretation was generated using similar queries in POSTREF. In case POSTREF_AQUA generated the same entity-attribute interpretation, this is still set to true.", - "type": "boolean" - }, - "isDisambiguationCardIntent": { - "description": "Denotes whether this is an intent being fulfilled from user tapping a disambiguation card. More info in go/cardea-deck.", - "type": "boolean" - }, - "isDisambiguationIntent": { - "description": "Denotes whether this is a sub-intent of an ambiguous SystemUncertain intent go/intent-disambiguation.", - "type": "boolean" - }, - "isNeuralCategoricalInterpretation": { - "description": "Whether the interpretation was generated from the neural categorical parser.", - "type": "boolean" - }, - "isRefinedMeaning": { - "description": "Whether the FunctionCall is created as a refined_meaning in resolution. Downstream code will look at this field to see if it needs to create a new refined QueryInterpretation.", - "type": "boolean" - }, - "isUiCompositionIntent": { - "description": "Denotes this is a sub-intent used for composing an Assistant UI response. The assistant dialog should output ui_composition_shelf in the SystemResponse if it can fulfill the intent. More info in go/davinci-design and go/davinci-di-fulfillment", - "type": "boolean" - }, - "localSignals": { - "$ref": "KnowledgeAnswersIntentQueryLocalSignals", - "description": "Information about Local results to be used in the Packer for Local Categorical derived intent deduplication and conformance." - }, - "osrpJourneyTag": { - "description": "A tag to annotate user's journey (e.g., JourneyFollowCampusUpdates). This will be used for Journey OSRP demo (go/josrp-sprint). !!NOTE!! This field is reserved for Journey OSRP demo, and will be deprecated shortly after its completion. DO NOT USE.", - "type": "string" - }, - "parsedDueToExperiment": { - "description": "Experiments that caused this FunctionCall to parse, without which this would not have parsed.", - "items": { - "type": "string" - }, - "type": "array" - }, - "parsingSignals": { - "$ref": "KnowledgeAnswersIntentQueryParsingSignals", - "description": "Parsing signals for ranking/filtering." - }, - "prefulfillmentRankingScore": { - "description": "Identifies a score, determined before fulfillment but after grounding. Written by the Prefulfillment Ranker, and used as a signal for ACE Ranking.", - "format": "float", - "type": "number" - }, - "prefulfillmentSignals": { - "$ref": "AssistantPrefulfillmentRankerPrefulfillmentSignals", - "description": "All the input signals to the Prefulfillment Ranker." - }, - "referentialResolution": { - "$ref": "KnowledgeAnswersDialogReferentialResolution", - "description": "Describes how this intent was resolved via external data (either elsewhere in the query, or in a previous query)." - }, - "refxSummaryNodeId": { - "description": "The id of the summary node if this funcall represents an mdvc interpretation", - "type": "string" - }, - "responseMeaningSignals": { - "$ref": "KnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignals", - "description": "Signal data from SRM generation. Solely used internally. See: go/srm-design." - }, - "resultSupport": { - "description": "The list of result supports for this FunctionCall.", - "items": { - "$ref": "UniversalsearchNewPackerKnowledgeResultSupport" - }, - "type": "array" - }, - "role": { - "enum": [ - "UNKNOWN_ROLE", - "QUERY_INTERPRETATION", - "DERIVED_INTENT" - ], - "enumDescriptions": [ - "", - "MRF expression is from a QI, and represents the user's primary intent.", - "MRF expression is a generated DI." - ], - "type": "string" - }, - "selectedByPrefulfillmentRanking": { - "description": "Identifies whether the Prefulfillment Ranker selected this intent for emission. This is needed temporarily while migrating intent emitters from ACE to QUS/PFR. See go/pfr-intent-emitter for more info", - "type": "boolean" - }, - "shoppingIds": { - "$ref": "KnowledgeAnswersIntentQueryShoppingIds", - "description": "Equivalent shopping ids for the function call." - }, - "signalsFallbackIntents": { - "description": "Additional intents to be used for intent scoring. This field must only be populated when we cannot find a single unified intent. For example, when we compute signals for a LocalEntities function call, this means we could not find a unified intent to capture all the local results. In this case, we add a fallback intent for each local result (e.g. GeoSchool, GeoRestaurant, and GeoBank if those are the results we show).", - "items": { - "$ref": "KnowledgeAnswersIntentQuerySignalComputationFallbackIntent" - }, - "type": "array" - }, - "usesPrefulfillmentRanker": { - "description": "Identifies whether this intent intends to be scored and pruned by the prefulfillment ranker after intent-generation.", - "type": "boolean" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryGroundingSignals": { - "description": "Grounding-related signals to be propagated down stream. Next ID: 14", - "id": "KnowledgeAnswersIntentQueryGroundingSignals", - "properties": { - "addedByGrounding": { - "deprecated": true, - "type": "boolean" - }, - "groundabilityScore": { - "description": "Score indicating how grounded the intent is, populated by the Grounding Box, used by the pre-fulfillment ranker, see http://go/prefulfillment-ranker.", - "format": "double", - "type": "number" - }, - "numConstraints": { - "description": "Sum of the number of constraints used by the Grounding Box to ground each variable.", - "format": "double", - "type": "number" - }, - "numConstraintsSatisfied": { - "description": "Sum of the number of constraints satisfied for each variable. Depending on the match score for a constraint, this number can be fractional and is in the range [0, num_constraints].", - "format": "double", - "type": "number" - }, - "numGroundableArgs": { - "description": "Number of groundable arguments in the parsed intent.", - "format": "double", - "type": "number" - }, - "numGroundedArgs": { - "description": "Number of arguments that got actually grounded.", - "format": "double", - "type": "number" - }, - "numVariables": { - "description": "Number of arguments, possibly nested, that the Grounding Box tried to ground.", - "format": "double", - "type": "number" - }, - "numVariablesGrounded": { - "description": "Number of arguments, possibly nested, that the Grounding Box was able to ground. This includes ambiguously grounded arguments.", - "format": "double", - "type": "number" - }, - "pgrpOutputFormat": { - "description": "PGRP outputs PROD_INTENT_FACTORY intent format by default. See go/intent-conversion-locations-in-sage. Experimental flags can change or make PGRP output additional intents formatted for PORTMON_FULFILLMENT (e.g. with RDs). This is used by the PortMon/ARM dark launch (go/arm-dark-launch-infra). Longer term, this will be replaced by DGS system-internal transformations (go/if-dgs).", - "enum": [ - "INTENT_FORMAT_UNSPECIFIED", - "PROD_INTENT_FACTORY", - "PORTMON_FULFILLMENT" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "provenance": { - "enum": [ - "UNKNOWN_PROVENANCE", - "FIELD_CANDIDATE" - ], - "enumDescriptions": [ - "", - "Was a candidate earlier presented." - ], - "type": "string" - }, - "sentiment": { - "enum": [ - "UNKNOWN_SENTIMENT", - "REJECT" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "usesGroundingBox": { - "description": "If true, then GroundingBox and PGRP are used in AnswersRewriter to process the intent. Other post-processing steps, including IGDP, are adjusted accordingly. Note this will be removed once GroundingBox is fully launched and all prod traffic goes through it. Before that happens, each IG that needs to go through GB and PGRP (post GB ranking pruning) will need to explicitly set this field to true. See http://go/gb-impl and http://go/gb-post-ranker-pruner for details.", - "type": "boolean" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryIdentifier": { - "description": "Identifiers are references to a specific entity of a specified type, such as a TIMER_ID XXX. For more backround and uses see go/grounding-common-ids.", - "id": "KnowledgeAnswersIntentQueryIdentifier", - "properties": { - "id": { - "type": "string" - }, - "idType": { - "enum": [ - "UNKNOWN_ID_TYPE", - "ALARM", - "CALENDAR", - "CALENDAR_EVENT", - "KG", - "LIST", - "LIST_ITEM", - "NOTE", - "PROVIDER", - "STOPWATCH", - "TIMER", - "DEVICE", - "DEVICE_SETTING", - "ROOM", - "STRUCTURE", - "ZONE", - "TRAIT_ATTRIBUTE_VALUE", - "TRAIT_SEMANTIC_VALUE", - "REMINDER", - "RECIPE", - "PERSON", - "COMM_ENDPOINT", - "CALL_LOG", - "NEWS", - "MEDIA", - "CONCEPT", - "RELATION", - "ATTENTIONAL_ENTITY", - "AUDIO_MESSAGE_METADATA_ID", - "BROADCAST", - "MESSAGE_CONTENT", - "INLINE_INVENTORY", - "MEDIA_PLAYBACK", - "CONCEPT_ID" - ], - "enumDescriptions": [ - "", - "", - "", - "Calendar Event Id, see go/acal-portable-id.", - "", - "", - "", - "", - "", - "", - "", - "An go/identifier-for-generalized-device generalized device ID", - "An identifier type for device settings. Its value is a stringified nlp_semantic_parsing.models.device.DeviceSetting enum plus optionally a field path that points to a specific part of the device setting. Examples: \"AIRPLANE_MODE\" (a device setting) \"BRIGHTNESS_LEVEL\" (a device setting) \"AIRPLANE_MODE.status\" (the \"status\" field of AIRPLANE_MODE). \"BRIGHTNESS_LEVEL.level\" (the \"level\" field of BRIGHTNESS_LEVEL). While the device setting itself is represented by the DeviceSetting enum mentioned above, the names of fields depend on how the setting is modeled, and can vary from implementation to implementation.", - "An assistant.context.RoomId aka DeviceId.home_graph_device_id", - "An assistant.context.StructureId aka DeviceId.home_graph_device_id", - "An identifier for a zone. See: go/zone-gp and go/smarthome-zones", - "An identifier for Trait attribute value or Trait semantic value. Attribute values (\"eco mode\") reference discrete entities in Home Graph; for example, \"eco mode\" for a specific device is semantically meaningful only in the context of that device's mode attributes. Semantic values (\"1000 Kelvin\") are not tied to a reference in HomeGraph and may include units. See: go/trait-gp", - "", - "", - "", - "Comms specific id types. go/call-object-iff", - "", - "Redial/Callback specific id to identify call log entry.", - "", - "Media specific id types. go/media-gb-data", - "Concept and relation identifiers (go/discovered-not-designed)", - "", - "", - "A secondary speech id for Audio Message Metadata go/audio-message-gp.", - "Broadcast feature identifier go/routines-broadcast-device-gp", - "Message content identifier for send/reply message go/message-content-grounding", - "go/aigp", - "Playback identifier for a media session. go/app-playback-device-gp", - "Concept ID type. go/concept-mrf-integration" - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryImpliedEntity": { - "description": "Signals for $QRefImpliedEntities that are merged into entity arguments during parsing.", - "id": "KnowledgeAnswersIntentQueryImpliedEntity", - "properties": { - "annotatedSpan": { - "description": "A copy of the span of canonical (raw) parser input text corresponding to this annotation. Copied from QRefAnnotation.annotated_span.", - "type": "string" - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "This field is used inside Aqua for evaluation purposes." - }, - "isUngroundedValue": { - "description": "TODO (b/143536264): Create a new ImpliedTokens message and remove this. Whether the implied entity is ungrounded value, set to true when the entity doesn't have a KG mid.", - "type": "boolean" - }, - "mid": { - "description": "The KG mid of the implied entity.", - "type": "string" - }, - "qrefConfidenceScore": { - "description": "The QRef confidence (in [0, 1]) of the entity being correctly annotated.", - "format": "float", - "type": "number" - }, - "shoppingIds": { - "$ref": "KnowledgeAnswersIntentQueryShoppingIds", - "description": "All ShoppingIds for this implied entity that need to be copied to IntentQuery (FunctionCall) if this implied entity is used in intent generation. See go/iql-shopping-ids for details." - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryIndexingIQLAttachment": { - "description": "Mustang/Kgraph attachment to encode IQL expressions annotated by Webref, Pianno, and other applications. This is currently a prototype implementation. The attachment is not yet output in production. Please contact simonz@ for more info. The planned use-cases include: - Pianno page-level intents (go/pianno-design). - Compound entity representations (go/compounds-in-refx). See go/iql-in-wma for more details about IQL attachment and its encoding design. Next available tag: 5", - "id": "KnowledgeAnswersIntentQueryIndexingIQLAttachment", - "properties": { - "iqlEncodingVersion": { - "description": "The version of encoder for the IQL FunctionCalls. We bump up the version when, but not limited to, we change how an IQL is converted to a byte array, or the change of byte compression algorithm.", - "format": "uint32", - "type": "integer" - }, - "iqlFuncalls": { - "description": "A compressed byte array that represents IQL FunctionCalls. A list of IQL FunctionCalls are first encoded as a byte array. The byte array is then compressed. For more details on the encoding, see go/iql-in-wma.", - "format": "byte", - "type": "string" - }, - "piannoConfidenceScoreE2": { - "description": "The Pianno confidence scores of all intents of the IQL FunctionCalls. For space reasons this is stored as a [0, 100] integer that represents the confidence up to two decimal points (fixed point). Convert it to confidence_score using the following formula: float pianno_confidence_score = pianno_confidence_score_e2 / 100.0f It should have the same number of elements as the IQL expressions after decoding. For non-Pianno top level intents, this score is 0.", - "items": { - "format": "uint32", - "type": "integer" - }, - "type": "array" - }, - "piannoIqlBitmap": { - "description": "A bit map indicating if the intents in the IQL FunctionCalls are top level intents for Pianno (go/pianno). This is a repeated field. In the event of more than 32 intents, the first uint32/ represents the 1st to the 32nd intents, and the second uint32 represents/ the 33rd to the 64th intents, and so on. Within each uint32, the bits are in reversed order, i.e. the right-most bit of the first uint32 indicating if the first intent in IQL expressions is a top level intent for Pianno. The prevailing (unused) bits of the last uint32 are filled with 0s.", - "items": { - "format": "uint32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryLocalResultSignals": { - "description": "A message that stores signals relating to a Local result.", - "id": "KnowledgeAnswersIntentQueryLocalResultSignals", - "properties": { - "gcidIntent": { - "description": "Geo intents corresponding to the gcids obtained from the Local result.", - "items": { - "type": "string" - }, - "type": "array" - }, - "salientTermSet": { - "$ref": "QualitySalientTermsSalientTermSet", - "description": "Salient terms associated with this Local result based on the result gcids." - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryLocalSignals": { - "description": "A message that stores information about Local results to be used in the Packer for Local Categorical derived intent deduplication and conformance.", - "id": "KnowledgeAnswersIntentQueryLocalSignals", - "properties": { - "localResultSignals": { - "description": "Signals relating to each Local result.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryLocalResultSignals" - }, - "type": "array" - }, - "minSalientTermSimilarity": { - "description": "Minimum salient term similarity between Local results.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryLocationMarkersSignals": { - "description": "Signals from LightweightToken. The span for an argument may have been extended to include lightweight token markers such as FROM or TO. This signal provides the semantics for the range extension.", - "id": "KnowledgeAnswersIntentQueryLocationMarkersSignals", - "properties": { - "type": { - "description": "The type of the lightweight token match.", - "enum": [ - "UNKNOWN", - "SOURCE", - "GOAL" - ], - "enumDescriptions": [ - "", - "The semantic role of the linguist marker is that of \"source\" or \"origin,\" often indicated by the preposition \"from\" in the English language.", - "The semantic role of the linguist marker is that of \"goal\" or \"destination,\" often indicated by the preposition \"to\" in the English language." - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryMediaEntitySignals": { - "description": "Signals about the media entity.", - "id": "KnowledgeAnswersIntentQueryMediaEntitySignals", - "properties": { - "artistTitle": { - "description": "For songs, this is the name of the primary artist, i.e. \"Shallow\" would \"Lady Gaga\" set.", - "type": "string" - }, - "name": { - "description": "Name of the media entity, i.e. \"Lady Gaga\".", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryMuninSignals": { - "description": "Signals derived from Munin Function call annotations.", - "id": "KnowledgeAnswersIntentQueryMuninSignals", - "properties": { - "isIsolated": { - "description": "If the modifier is only a good soft modifier by itself, then we would trigger only if it's the only modifier", - "type": "boolean" - }, - "softModifierCollection": { - "description": "Signals for $ListQueryRuleWithSoftModifier. Collections allowed by the soft modifier.", - "items": { - "type": "string" - }, - "type": "array" - }, - "textIsGenerated": { - "description": "If true, the text for this argument did not come from the query, but was generated somehow else.", - "type": "boolean" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryNTPRAnnotationSignals": { - "description": "Signals associated with NTPRAnnotator annotations. Empty. The signal being present is enough for the conformance checking library to be able to check.", - "id": "KnowledgeAnswersIntentQueryNTPRAnnotationSignals", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersIntentQueryNimbleAnnotationSignals": { - "description": "Signals associated with NimbleAnnotator annotations.", - "id": "KnowledgeAnswersIntentQueryNimbleAnnotationSignals", - "properties": { - "annotationSource": { - "description": "Where the annotation has been read from.", - "enum": [ - "SSTABLE", - "LG", - "TS", - "PRIVATE_SSTABLE" - ], - "enumDescriptions": [ - "Annotation was obtained from SStable.", - "Annotation was obtained from Livegraph snapshot (see go/nimble-from-lg).", - "Annotation was obtained from Topic Server.", - "Annotation was obtained from Private SStable." - ], - "type": "string" - }, - "type": { - "description": "A client-controlled identifier that the client can use to distinguish between different sets of annotations.", - "type": "string" - }, - "version": { - "description": "Version identifier used to isolate different clients from each other. A client should intersect this list of versions with the ones the client is interested in, and use the annotation if the intersection is non-empty.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryOnDeviceAnnotationSignals": { - "description": "Signals coming from on-device annotators.", - "id": "KnowledgeAnswersIntentQueryOnDeviceAnnotationSignals", - "properties": { - "provenance": { - "description": "Provenance of the annotator. Equivalent to the `provenance` field in OnDeviceParserInput::AnnotationInfo. This is used to map from AnnotationInfo to nlp_sage.ScoredAnnotation, since nlp_sage.ScoredAnnotation doesn't have a native `provenance` field. Note in the (very) long term, we'd like to replace ScoredAnnotation with Argument altogether.", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryParsingSignals": { - "description": "Parsing-related signals. Only horizontal signals should appear directly as fields on this message. Each domain should create their own extension for anything that they need to propagate down stream from AQUA. Note that this proto is not the same as the Superroot proto ParsingSignals (http://google3/knowledge/proto/scoring-signals.proto), which is a Superroot-specific signal used in Scoring. Next ID: 7", - "id": "KnowledgeAnswersIntentQueryParsingSignals", - "properties": { - "calibratedParsingScore": { - "description": "A parsing score that is independently calibrated by each parser/IG, used by pre-fulfillment ranker, see http://go/prefulfillment-ranker.", - "format": "double", - "type": "number" - }, - "effectiveArgSpanLength": { - "description": "The total effective length of the spans for the arguments used to construct the parse. May include vertical specific adjustments. Eg: For the query [delete my 7 p.m. alarm called chicken] and intent Delete_alarm(alarm_object=RD(category=AlarmObject( label=\"chicken\", trigger_time_datetime=\u003c\u003c 7 PM \u003e\u003e))), the effective argument span is \"7 p.m.\" + \"chicken\" (total length of 13).", - "format": "float", - "type": "number" - }, - "inQueryMaxEffectiveArgSpanLength": { - "description": "This is a cross-intent feature which is calculated by iterating all intent candidates. This feature should be populated in post-IG stage (before GB).", - "format": "float", - "type": "number" - }, - "qrewriteCallPathInfoFingerprint": { - "description": "This proto holds the fingerprint of the call path info of QRewrite client (e.g. the QUS's phase like \"RBT\",\"QBT\"; the QUS's candidate type like \"Identity\"; and the ACE's candidate type like \"FuzzyMatcher\").", - "format": "uint64", - "type": "string" - }, - "source": { - "description": "The parser that calibrated the parsing score below.", - "enum": [ - "UNKNOWN_PARSING_SOURCE", - "SAGE", - "UNSTRUCTURED_INTENTS", - "NSP", - "AQUA", - "PHONE_GENIE" - ], - "enumDescriptions": [ - "", - "Score is calibrated by Sage IG.", - "The FunctionCall is produced by the Unstructured Intent IG. See go/unstructured-intents-ig.", - "The FunctionCall is produced by NSP in TUIG. This is consumed in QUS, to route behavior specific to NSP.", - "The FunctionCall is produced by Aqua.", - "The FunctionCall is produced by PhoneGenie in TUIG. See go/phone-genie-tuig" - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryPersonalEntity": { - "description": "A message encapsulating all \"/collection/personal_memory\" annotations from QRef annotator. These annotations are present in personal_summary_node_child proto field of input QRefAnnotation proto. NEXT ID TO USE: 5", - "id": "KnowledgeAnswersIntentQueryPersonalEntity", - "properties": { - "attributeId": { - "description": "Attribute ID of a personal_summary_node_child.", - "type": "string" - }, - "entityRelationship": { - "items": { - "$ref": "KnowledgeAnswersIntentQueryPersonalEntityEntityRelationship" - }, - "type": "array" - }, - "freebaseMid": { - "description": "The mid of the entity in freebase associated with this span.", - "type": "string" - }, - "personalEntityChild": { - "description": "Every PersonalEntity might itself rescursively contain related Personal Entities, e.g. for, \"my father's mother\" a parent Personal Entity for 'Mother()' contains a child Personal Entity of the form 'Mother(Myself)'.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryPersonalEntity" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryPersonalEntityEntityRelationship": { - "description": "The relationship information from QRef. Only included if the QRefAnnotator is initialised with include_annotated_relationships.", - "id": "KnowledgeAnswersIntentQueryPersonalEntityEntityRelationship", - "properties": { - "entityIndex": { - "description": "The index of the other entity in the relationship.", - "format": "int32", - "type": "integer" - }, - "linkPropertyName": { - "description": "Names of the relationship links.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryQrefAnnotationSignals": { - "description": "Signals associated with Qref annotations.", - "id": "KnowledgeAnswersIntentQueryQrefAnnotationSignals", - "properties": { - "score": { - "description": "Numeric value associated with each annotation within the Qref servlet output.", - "format": "double", - "type": "number" - }, - "trustedNameConfidence": { - "description": "Trusted name confidence signal https://g3doc.corp.google.com/repository/webref/preprocessing/names/tnc_classifier/README.md", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryRelatednessSignals": { - "description": "Relatedness Matrix signals for FunctionCall Arguments.", - "id": "KnowledgeAnswersIntentQueryRelatednessSignals", - "properties": { - "queryPopularity": { - "format": "float", - "type": "number" - }, - "youtubeViews": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryResponseMeaningSignalsAnswersHeaderSignals": { - "id": "KnowledgeAnswersIntentQueryResponseMeaningSignalsAnswersHeaderSignals", - "properties": { - "answersValueGender": { - "enum": [ - "UNKNOWN", - "FEMALE", - "MALE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "numAnswers": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignals": { - "description": "SRM signal data. Properties here should be nonsemantic. Semantic properties should be modeled directly in the SRM.", - "id": "KnowledgeAnswersIntentQueryResponseMeaningSignalsResponseMeaningSignals", - "properties": { - "answersHeaderSignals": { - "$ref": "KnowledgeAnswersIntentQueryResponseMeaningSignalsAnswersHeaderSignals", - "description": "Signals that are used to generate answers header." - }, - "propertyValue": { - "items": { - "$ref": "FreebasePropertyValue" - }, - "type": "array" - }, - "responseMeaningApplication": { - "description": "The intended application this response meaning is used for. It is intended for downstream dispatching.", - "enum": [ - "DEFAULT", - "HEADER", - "VOICE_ANSWERS", - "DISPLAY_ANSWERS" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQuerySaftSignals": { - "description": "Signals derived from overlapping saft annotations.", - "id": "KnowledgeAnswersIntentQuerySaftSignals", - "properties": { - "entityType": { - "enum": [ - "UNMARKED", - "PERSON", - "NOMINAL_PERSON", - "ORGANIZATION", - "LOCATION", - "OTHER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "isHeadOfIntent": { - "type": "boolean" - }, - "isVerb": { - "description": "Saft often marks verbs as head of intent and we may want to ignore those.", - "type": "boolean" - }, - "number": { - "enum": [ - "UNKNOWN", - "SINGULAR", - "PLURAL" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryScalarValue": { - "description": "A message representing a scalar numeric value with optional units", - "id": "KnowledgeAnswersIntentQueryScalarValue", - "properties": { - "doubleValue": { - "format": "double", - "type": "number" - }, - "unitType": { - "enum": [ - "UNKNOWN", - "PERCENTAGE" - ], - "enumDescriptions": [ - "Value has unknown units, which can be useful for ambiguity", - "Value is a percentage" - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQuerySemanticAnnotationSignals": { - "description": "Signals associated with nlp_ig::v1::SemanticAnnotator.", - "id": "KnowledgeAnswersIntentQuerySemanticAnnotationSignals", - "properties": { - "category": { - "description": "Name of the subgrammar category this annotation is associated with.", - "type": "string" - }, - "domain": { - "description": "Name of the subgrammar domain.", - "type": "string" - }, - "features": { - "deprecated": true, - "items": { - "$ref": "KnowledgeAnswersIntentQuerySemanticAnnotationSignalsFeature" - }, - "type": "array" - }, - "score": { - "description": "Numeric value associated with each subgrammar annotation. Used for in-domain ranking inside the Aqua Analyzer. This field is not guaranteed to be in any range. Furthermore, this field should never be compared for annotations with differing 'domain' value. The field is included here for making the Aqua Analyzer work with subgrammar annotations that have been generated in a different Aqua Analyzer (typically by TUIG SemanticAnnotationServlet). TL;DR: Consumers of this message are STRONGLY DISCOURAGED from using this field.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQuerySemanticAnnotationSignalsFeature": { - "description": "Aqua features exported from a subgrammar. Primarily added here for External Subgrammar Annotations to work. See go/esa-exported-features for details. NOTE: Feature names can change and the existence of any feature is not guaranteed. Get in touch with ig-eng@ before using these features.", - "id": "KnowledgeAnswersIntentQuerySemanticAnnotationSignalsFeature", - "properties": { - "name": { - "type": "string" - }, - "value": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQuerySensitiveArgumentValueGuard": { - "id": "KnowledgeAnswersIntentQuerySensitiveArgumentValueGuard", - "properties": { - "doNotUseDebugOnlyDecryptedValue": { - "$ref": "KnowledgeAnswersIntentQueryArgumentValue", - "description": "Decrypted and deserialized contents of |encrypted_value|. This field should never be populated in prod. This is only provided for easier human inspection when using dev builds (dev keys are public)." - }, - "encryptedValue": { - "description": "Encrypted protobuffer of type ArgumentValue.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryShoppingIds": { - "description": "Additional shopping identifiers related to an entity or IQL function call. This must be passed along to the shopping backend (go/o4) to aid in fulfillment. Because the shopping data models do not always line up 1-1 with KG entities and are not always reconciled with each other, the message may contain multiple ids. Next id: 8 LINT.IfChange", - "id": "KnowledgeAnswersIntentQueryShoppingIds", - "properties": { - "aspectClusterIds": { - "description": "A shopping aspect cluster id. These are attributes mined from mentions in web articles.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "brandEntityId": { - "description": "Brand entity id. Brands are fully reconciled with KG entities so there should never be ambiguity as to which brand applies (those would be separate MIDs). ", - "format": "uint64", - "type": "string" - }, - "bxCategoryIds": { - "description": "A category in the shopping browseonomy, a taxonomy of product types that can be found at go/bx. This field is expected to contain the deepest node in the browseonomy that the intent or argument pertains to, which may be an internal node. It does not contain the entire path of categories.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "measures": { - "items": { - "$ref": "KnowledgeAnswersIntentQueryShoppingIdsMeasureValue" - }, - "type": "array" - }, - "merchantIds": { - "description": "List of merchant customer account IDs associated with a merchant entity in KG. NOTE: Soon to be deprecated, see go/merchant_mids_in_indexer design", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "merchantSourceIds": { - "description": "A shopping merchant source id, i.e. the key used to identify Shopping Merchants as they are imported into KG. For reference, these IDs are populated in: * CommerceDB under BusinessIdentification.knowledge_graph.source_id * KG using the /shopping/merchant/id predicate", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "tagIds": { - "description": "Moka attributes of a product. This includes color tags but currently not brand. We allow the possibility for multiple tag ids, as multiple Moka tag ids may map to the same mid, and we may not be able to find a single matching Moka tag. Also, cross-category Moka colors intentionally map a single color mentioned in the query to an expansion of many tags representing points in LAB color space (although this representation is expected to change).", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryShoppingIdsMeasureValue": { - "description": "A measured value of a product (e.g. Hard drive size = 1 TB). The value is measured in the facet's base unit. This does not necessarily match the unit expressed by the user in the query. The exact unit is known to the O4 server and is used in fulfillment.", - "id": "KnowledgeAnswersIntentQueryShoppingIdsMeasureValue", - "properties": { - "facetId": { - "format": "int64", - "type": "string" - }, - "value": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQuerySignalComputationFallbackIntent": { - "description": "A message representing an intent to use for intent scoring if the root intent is invalid.", - "id": "KnowledgeAnswersIntentQuerySignalComputationFallbackIntent", - "properties": { - "intent": { - "description": "The intent name of the fallback intent.", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQuerySimpleValue": { - "description": "A message representing a simple literal value.", - "id": "KnowledgeAnswersIntentQuerySimpleValue", - "properties": { - "boolValue": { - "type": "boolean" - }, - "doubleValue": { - "format": "double", - "type": "number" - }, - "identifier": { - "$ref": "KnowledgeAnswersIntentQueryIdentifier" - }, - "intValue": { - "format": "int64", - "type": "string" - }, - "stringValue": { - "type": "string" - }, - "ungroundedValue": { - "description": "Ungrounded value contains the part of the query (or web snippet, etc.) that was not understood. For more information on this field, see the \"Ungrounded value\" item in the table of contents of go/iql-v1", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQuerySupportTransferSignals": { - "description": "Signals indicating whether this entity received or transferred support (and from which entities).", - "id": "KnowledgeAnswersIntentQuerySupportTransferSignals", - "properties": { - "supportTransferSource": { - "description": "Entities that transferred support to this entity (mids).", - "items": { - "type": "string" - }, - "type": "array" - }, - "supportTransferTarget": { - "description": "Entities that received support from this entity (mids).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryTeleportArgumentAnnotatorSignals": { - "description": "Signals associated with TeleportArgumentAnnotator annotations. Empty. The signal being present is enough for the conformance checking library to be able to check.", - "id": "KnowledgeAnswersIntentQueryTeleportArgumentAnnotatorSignals", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersIntentQueryToken": { - "description": "A token represents an ngram with relevant information about it. If the token is a context phrase, it will have a prior score associated with it. The prior is computed via knowledge/answers/query_generalization/ word_prior/word_prior_from_examples_lib.cc, and ranges between 0 and 1. Stopwords and intent tokens (primary and component) have a score of 1.0.", - "id": "KnowledgeAnswersIntentQueryToken", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "This field is used inside Aqua and outside Aqua for identifying the token indices and/or byte offsets of this Token." - }, - "ngram": { - "description": "|ngram| should be populated with a string from the raw query, not the normalized tokens. E.g. The ngram in the ignored token for the Height intent on the query [Height of barack obama], will be \"Height\". The ngram in the ignored token for the Videos intent on the query [vidéos] will be \"vidéos\".", - "type": "string" - }, - "parsedDueToExperiment": { - "description": "Experiments that caused this Token to parse, without which this would not have parsed.", - "items": { - "type": "string" - }, - "type": "array" - }, - "prior": { - "format": "float", - "type": "number" - }, - "provenance": { - "enum": [ - "UNKNOWN", - "INTENT_PRIMARY", - "INTENT_COMPONENT", - "STOPWORD", - "CONTEXT_INTENT", - "CONTEXT_ANSWER_TYPE", - "CONTEXT_ENTITY_TYPE", - "PUNCTUATION", - "LOCATION_ALIAS_ANNOTATION", - "OPTIONALIZED" - ], - "enumDescriptions": [ - "We don't know how this token was explained. This will be the provenance for unexplained tokens.", - "This is a PRIMARY or core token in the Intent Annotation. This is currently NOT USED by the LooseParser.", - "This token is a part of the Intent Annotation, one of the tokens that helped us identify the intent of the query and create a parse. eg. [wife] in [who is obama' wife]", - "This token was explained away as safe-to-ignore after the parse. eg. [is] in [who is obama's wife]", - "This token is a context phrase for the intent in the parse. eg. [who] in [who is obama's wife]", - "This token is a context phrase, and indicates how the context phrase was learned for the intent (by sharing context phrases between intents with the same answer type). This is currently NOT USED by the LooseParser.", - "This is currently NOT USED by the LooseParser.", - "This token is punctuation, and so is explained as safe-to-ignore.", - "This token's data was derived directly from an alias-type Location annotation. For example, the Location subgrammar generates an annotation with {type: ALIAS alias_location: HERE} for [where am i] (http://screen/BhuAnCgtujUG9Pu), so LooseParser may use this annotation's byte information in generating tokens downstream.", - "Term is not a hard coded stopword, but online scoring considered it not important for term explanation." - ], - "type": "string" - }, - "provenanceId": { - "description": "Unique identifiers for the provenance of this token, for example, NLP Repository Example IDs.", - "items": { - "type": "string" - }, - "type": "array" - }, - "provenanceLanguage": { - "type": "string" - }, - "synonyms": { - "items": { - "$ref": "KnowledgeAnswersIntentQueryTokenSynonym" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryTokenSynonym": { - "description": "A TokenSynonym contains information about synonyms of a Token's ngram. The synonyms were the ones used during parsing for token explanation in place of the original ngrams. Example 1: [present population of nyc] We can generate interpretation kc:/location/statistical_region:population by converting \"present\" to its synonym \"current\", which is a context phrase for the intent. The ngram for this token would be \"present\" and the string \"current\" would be stored in synonym_ngram. Example 2: [nys important cities] We can generate interpretation kc:/location/us_state:cities by converting \"important\" to its synonym \"major\" or its synonym \"biggest\", because both \"major cities\" and \"biggest cities\" are attribute phrases for the intent. In this case, the ngram in this Token is \"important cities\", and the token_synonyms (specifically, the synonym_ngram field) would store \"major cities\" and \"biggest cities\", since those are the actual synonym ngrams that match the attribute phrases. For context phrases, we generally should have only one matched_squery_synonyms, since we try to find the best synonyms to use using the context phrase score. However, for attribute phrase we don't really have enough info to determine which synonym is better if they both trigger the same intent, and hence we will propagate both synonyms.", - "id": "KnowledgeAnswersIntentQueryTokenSynonym", - "properties": { - "source": { - "enum": [ - "UNKNOWN", - "SQUERY" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "synonymNgram": { - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntentQueryTokens": { - "description": "Tokens includes a list of tokens, with an aggregated score of the priors of the tokens, if any.", - "id": "KnowledgeAnswersIntentQueryTokens", - "properties": { - "score": { - "description": "Score for this group of tokens is currently product of priors.", - "format": "float", - "type": "number" - }, - "token": { - "items": { - "$ref": "KnowledgeAnswersIntentQueryToken" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersIntersectType": { - "id": "KnowledgeAnswersIntersectType", - "properties": { - "slotNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersMarker": { - "description": "A Marker specifies a Meaning Expression's (i.e. intent FunctionCall) purpose. NOTE: Markers always impact go/intent-resolution semantics.", - "id": "KnowledgeAnswersMarker", - "properties": { - "command": { - "$ref": "KnowledgeAnswersMarkerCommand" - }, - "openQuestion": { - "$ref": "KnowledgeAnswersMarkerOpenQuestion" - }, - "polarQuestion": { - "$ref": "KnowledgeAnswersMarkerPolarQuestion" - }, - "stateOfAffairs": { - "$ref": "KnowledgeAnswersMarkerStateOfAffairs" - } - }, - "type": "object" - }, - "KnowledgeAnswersMarkerCommand": { - "description": "Indicates a command, instructing someone to do something which might be explicit (e.g. [call me]) or implicit (e.g. [can you call me]).", - "id": "KnowledgeAnswersMarkerCommand", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersMarkerOpenQuestion": { - "description": "Indicates a question, requesting the value of a specified slot. Not applicable if the requested slot simultaneously appears as an argument. See go/requested-slots for details. Next ID: 3", - "id": "KnowledgeAnswersMarkerOpenQuestion", - "properties": { - "slotKey": { - "$ref": "KnowledgeAnswersMeaningSchemaSlotKey", - "description": "Note: This is still under development and not available for general use. Contact meaning-platform-eng@ for questions." - }, - "slotName": { - "description": "One or multiple slots may be requested by the marker. See go/mrf-multiple-output-slots for details on requesting multiple output slots.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersMarkerPolarQuestion": { - "description": "Indicates a question, requesting the truth-value/actualness of a state of affairs denoted by the expression encompassed by the FunctionCall this appears on. Often this is a yes/no question, e.g. [was tom cruise in top gun] : ActedIn.polar(Movie=/m/top_gun, Actor=/m/tom_cruise) Not all polar questions will necessarily have a yes/no answer; the expected resolution of a polar question is a StateOfAffairs. e.g. [is chocolate good for you] : FoodItemAttribute.polar(/m/chocolate, /m/healthy) which may not have a simple yes/no answer. See go/mrf-polar-questions for details.", - "id": "KnowledgeAnswersMarkerPolarQuestion", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersMarkerStateOfAffairs": { - "description": "Indicates a reference to a particular state of affairs denoted by the expression encompassed by the FunctionCall this appears on. The state may be actual e.g. [new york is a city] : IsA.state(/m/new_york, /m/city) or not e.g. [1+1=3] : Addition.state(Sum=3, Addend=1, Addend=1) The state can also represent an proposition of an action, e.g. [cinar gave jason a cookie] : Give.state(Giver=cinar, Receiver=jason, Object=cookie) See go/mrf-polar-questions for details.", - "id": "KnowledgeAnswersMarkerStateOfAffairs", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersMeaningSchemaKey": { - "description": "The primary key for an intent. Next ID: 3", - "id": "KnowledgeAnswersMeaningSchemaKey", - "properties": { - "deprecatedVersion": { - "deprecated": true, - "description": "The version has been changed to be defined as a horizontal version on the entire meaning catalog instead of per-schema.", - "format": "int64", - "type": "string" - }, - "mid": { - "description": "The minted MID for an intent.", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersMeaningSchemaSlotKey": { - "description": "The primary key for a MeaningSchema slot. Next ID: 3 For //depot/google3/logs/proto/knowledge/interpretation/intent_query.proto in the \"ThenChange\", please update Argument.SlotKey. LINT.IfChange", - "id": "KnowledgeAnswersMeaningSchemaSlotKey", - "properties": { - "mid": { - "description": "The minted MID for the slot. This ID uniquely identifies the slot globally.", - "type": "string" - }, - "uniqueId": { - "description": "A stable unique ID for this intent minted from go/uniqueid. NOTE: This is considered a private field used only for internal Intent Catalog purposes (i.e. as a source ID for generating this intent's associated MID). Additionally, this field is only populated on the schema. TODO (b/168907943): Move \"unique_id\" out of MeaningSchemaSlotKey proto message. Note: Please do not use this field. It is going to be moved out of this proto message.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersMeasurementType": { - "description": "A MeasurementType configures a value that consists of a measurement. The expected value should have a number and a mid representing the unit. Note: this is currently only used for attribute answer value types. Configuration intent slot as measurement is yet to be supported (or instead we should universally use SemanticType).", - "id": "KnowledgeAnswersMeasurementType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersNormalizedStringType": { - "description": "A NormalizedStringType configures a value that is one of the listed normalized_values. An arbitrary mapping from input strings to normalized_values can be specified in the local intent config. Only alphabetical strings can be used as normalized_values. This type should NOT be used for: - Mids, ids, dates, or other structured data. Use an annotator instead, and address any quality issues at the annotator level. - Simplifying grammar rules. If you are not using the normalized_values in your question semantics, you should remove the slot. Use additional query_examples instead.", - "id": "KnowledgeAnswersNormalizedStringType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "normalizedValue": { - "items": { - "type": "string" - }, - "type": "array" - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersNumberType": { - "description": "A NumberType configures a value whose type is intended to be numeric.", - "id": "KnowledgeAnswersNumberType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "keepAsString": { - "description": "If true, the semantics of the NumberType argument are retained as a string, rather than being converted to a float-type object. This option is particularly useful in cases where leading 0s in the user input are meaningful, e.g. for zip codes or sports jersey numbers. For the user- specified value \"01\", for instance, the PathQuery semantics will be: def $Slot \"01\"", - "type": "boolean" - }, - "rangeConstraint": { - "$ref": "KnowledgeAnswersRangeConstraint", - "description": "Range constraint limits the set of numbers accepted by this type. The constraint applies to all subtypes. Currently, this constraint is only enforced in Loose Parser." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - }, - "subType": { - "description": "sub_type is a list of the NumberSubTypes which are accepted. If the list is empty, that means all numeric or ordinal values are accepted. If multiple values are specified, then this value accepts any of the sub_types in the list.", - "items": { - "enum": [ - "NONE", - "ORDINAL", - "NUMERIC", - "INTEGER", - "FLOAT", - "NUMBER_PROTO" - ], - "enumDescriptions": [ - "Matches either numeric or ordinal values.", - "Matches only ordinal numbers.", - "Matches only numeric values (e.g. \"1\", but not \"1st\" or \"first\"). This matches either integers or floating-point numbers.", - "This matches ONLY integers.", - "This matches ONLY floating-point numbers.", - "This matches ONLY nlp_semantic_parsing.number.Number proto." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersOpaqueAogType": { - "description": "Custom opaque type used by actions-on-google in-dialog queries. See go/3p-custom-intents-wrt-meaning-catalog", - "id": "KnowledgeAnswersOpaqueAogType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueAppAnnotationType": { - "id": "KnowledgeAnswersOpaqueAppAnnotationType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueAudioType": { - "id": "KnowledgeAnswersOpaqueAudioType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueCalendarEventType": { - "id": "KnowledgeAnswersOpaqueCalendarEventType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueCalendarEventWrapperType": { - "description": "Used for sensitive calendar events that require additional BUILD visibility protection. See go/multi-account-event-representation.", - "id": "KnowledgeAnswersOpaqueCalendarEventWrapperType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueCalendarReferenceType": { - "id": "KnowledgeAnswersOpaqueCalendarReferenceType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueComplexQueriesRewriteType": { - "id": "KnowledgeAnswersOpaqueComplexQueriesRewriteType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueComponentReferenceIndexType": { - "id": "KnowledgeAnswersOpaqueComponentReferenceIndexType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueDeviceIdType": { - "id": "KnowledgeAnswersOpaqueDeviceIdType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueDeviceType": { - "id": "KnowledgeAnswersOpaqueDeviceType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueDeviceUserIdentityType": { - "id": "KnowledgeAnswersOpaqueDeviceUserIdentityType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueHomeAutomationDeviceType": { - "id": "KnowledgeAnswersOpaqueHomeAutomationDeviceType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueLocationType": { - "id": "KnowledgeAnswersOpaqueLocationType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueMediaType": { - "id": "KnowledgeAnswersOpaqueMediaType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueMessageNotificationType": { - "id": "KnowledgeAnswersOpaqueMessageNotificationType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueMoneyType": { - "id": "KnowledgeAnswersOpaqueMoneyType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueNewsProviderType": { - "id": "KnowledgeAnswersOpaqueNewsProviderType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueOnDeviceType": { - "id": "KnowledgeAnswersOpaqueOnDeviceType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaquePersonType": { - "id": "KnowledgeAnswersOpaquePersonType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaquePersonalIntelligenceEntityType": { - "description": "Entity parsed from manual grammar interpretation in the Personal Intelligence domain.", - "id": "KnowledgeAnswersOpaquePersonalIntelligenceEntityType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueProductivityListItemType": { - "id": "KnowledgeAnswersOpaqueProductivityListItemType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueRecurrenceType": { - "id": "KnowledgeAnswersOpaqueRecurrenceType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueReminderType": { - "id": "KnowledgeAnswersOpaqueReminderType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueShoppingMerchantType": { - "id": "KnowledgeAnswersOpaqueShoppingMerchantType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueShoppingOfferType": { - "id": "KnowledgeAnswersOpaqueShoppingOfferType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueShoppingProductExpressionType": { - "id": "KnowledgeAnswersOpaqueShoppingProductExpressionType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueShoppingProductType": { - "id": "KnowledgeAnswersOpaqueShoppingProductType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueShoppingStoreType": { - "id": "KnowledgeAnswersOpaqueShoppingStoreType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueTimerType": { - "id": "KnowledgeAnswersOpaqueTimerType", - "properties": {}, - "type": "object" - }, - "KnowledgeAnswersOpaqueType": { - "description": "Note: OpaqueType is deprecated and addition of new fields is not allowed. Refer to go/opaque_type for details. If you think this is the only way to implement your feature, attend an office hours (go/meaning-help) and discuss with the MRF team. An OpaqueType configures a value whose type is only interpretable by _specific_ clients of the intent catalog. This means horizontal 'features' like pretty printing, correct logging, intent blacklisting and signal aggregation will not work for opaque value types. It has a field for each type in IntentQuery that is not covered by a non-opaque type (specifically: protocol messages). The fields are themselves messages declared in this file. The specific opaque value types must be empty messages. If you find a need to add any fields to these messages, make them non-opaque and implement all of the code to treat them as first class types. It is allowable for a value to have more than one of the opaque types. See http://go/opaque-type-for-value-type. LINT.IfChange Next Id: 32", - "id": "KnowledgeAnswersOpaqueType", - "properties": { - "aogType": { - "$ref": "KnowledgeAnswersOpaqueAogType" - }, - "appAnnotationType": { - "$ref": "KnowledgeAnswersOpaqueAppAnnotationType" - }, - "audioType": { - "$ref": "KnowledgeAnswersOpaqueAudioType" - }, - "calendarEventType": { - "$ref": "KnowledgeAnswersOpaqueCalendarEventType" - }, - "calendarEventWrapperType": { - "$ref": "KnowledgeAnswersOpaqueCalendarEventWrapperType" - }, - "calendarReferenceType": { - "$ref": "KnowledgeAnswersOpaqueCalendarReferenceType" - }, - "complexQueriesRewriteType": { - "$ref": "KnowledgeAnswersOpaqueComplexQueriesRewriteType" - }, - "componentReferenceType": { - "$ref": "KnowledgeAnswersOpaqueComponentReferenceIndexType" - }, - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "deviceIdType": { - "$ref": "KnowledgeAnswersOpaqueDeviceIdType" - }, - "deviceType": { - "$ref": "KnowledgeAnswersOpaqueDeviceType" - }, - "deviceUserIdentityType": { - "$ref": "KnowledgeAnswersOpaqueDeviceUserIdentityType" - }, - "homeAutomationDeviceType": { - "$ref": "KnowledgeAnswersOpaqueHomeAutomationDeviceType" - }, - "locationType": { - "$ref": "KnowledgeAnswersOpaqueLocationType" - }, - "mediaType": { - "$ref": "KnowledgeAnswersOpaqueMediaType" - }, - "messageNotificationType": { - "$ref": "KnowledgeAnswersOpaqueMessageNotificationType" - }, - "moneyType": { - "$ref": "KnowledgeAnswersOpaqueMoneyType" - }, - "narrativeNewsProviderType": { - "$ref": "KnowledgeAnswersOpaqueNewsProviderType" - }, - "onDeviceType": { - "$ref": "KnowledgeAnswersOpaqueOnDeviceType" - }, - "personType": { - "$ref": "KnowledgeAnswersOpaquePersonType" - }, - "personalIntelligenceEntityType": { - "$ref": "KnowledgeAnswersOpaquePersonalIntelligenceEntityType" - }, - "productivityListItemType": { - "$ref": "KnowledgeAnswersOpaqueProductivityListItemType" - }, - "recurrenceType": { - "$ref": "KnowledgeAnswersOpaqueRecurrenceType" - }, - "reminderType": { - "$ref": "KnowledgeAnswersOpaqueReminderType" - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - }, - "shoppingMerchantType": { - "$ref": "KnowledgeAnswersOpaqueShoppingMerchantType" - }, - "shoppingOfferType": { - "$ref": "KnowledgeAnswersOpaqueShoppingOfferType" - }, - "shoppingProductExpressionType": { - "$ref": "KnowledgeAnswersOpaqueShoppingProductExpressionType" - }, - "shoppingProductType": { - "$ref": "KnowledgeAnswersOpaqueShoppingProductType" - }, - "shoppingStoreType": { - "$ref": "KnowledgeAnswersOpaqueShoppingStoreType" - }, - "timerType": { - "$ref": "KnowledgeAnswersOpaqueTimerType" - } - }, - "type": "object" - }, - "KnowledgeAnswersPlexityRequirement": { - "description": "Plexity is a conceptual distinction between viewing something (a slot filler, for example) as a single individual, or as a complex concept consisting of multiple individuals or subparts. Note that plexity is not the same as (or correlated with) either grammatical number or with distributive and collective interpretations of the slot. The PlexityRequirement proto and Plexity enum are defined outside ValueType as we may move the plexity specification to a different place in the intent protos in future.", - "id": "KnowledgeAnswersPlexityRequirement", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - }, - "simplePlexity": { - "description": "Simple plexity: the slot's filler must allow the specified plexity value, for example it must contain multiple individuals if the plexity is MULTIPLEX.", - "enum": [ - "UNSPECIFIED_PLEXITY", - "UNIPLEX", - "MULTIPLEX", - "ANY_PLEXITY" - ], - "enumDescriptions": [ - "Plexity is unknown or unspecified.", - "Viewed as a single individual. Potential example: the output slot of Ordinal, i.e. the meaning of [the third spielberg movie].", - "Viewed as consisting of multiple individuals or subparts. Example: the Last.list slot \"game in NBA season\" in [last game in NBA season].", - "Either uniplex or multiplex. Example: the Buy.product slot for [buy] in [buy a book], [buy a book and a magazine], [buy everything grimm wrote]." - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersPolarQuestionType": { - "description": "A special type representing a polar question.", - "id": "KnowledgeAnswersPolarQuestionType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersRangeConstraint": { - "id": "KnowledgeAnswersRangeConstraint", - "properties": { - "max": { - "$ref": "KnowledgeAnswersRangeConstraintRangeEndpoint" - }, - "min": { - "$ref": "KnowledgeAnswersRangeConstraintRangeEndpoint" - } - }, - "type": "object" - }, - "KnowledgeAnswersRangeConstraintRangeEndpoint": { - "id": "KnowledgeAnswersRangeConstraintRangeEndpoint", - "properties": { - "isExclusive": { - "description": "If true, then this endpoint's value is not included in the range.", - "type": "boolean" - }, - "value": { - "description": "The value of this endpoint", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "KnowledgeAnswersSameType": { - "id": "KnowledgeAnswersSameType", - "properties": { - "slotName": { - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersSemanticType": { - "description": "A SemanticType configures a value determined by another source, in particular another intent or a semantic frame. See go/unifying-intents and go/framery.", - "id": "KnowledgeAnswersSemanticType", - "properties": { - "allowAll": { - "description": "If true, is compatible with a schema whose answer_type is any semantic_type including empty (since by default schemas return themselves as semantic_types (b/211438997). This is used primarily for slot composition. Example: for the slot name: Operand type { semantic_type { allow_all: true } entity_type {} } * An entity_type or a schema with answer_type 'entity_type' can fill Operand. * A schema with either (a) no answer_type or (b) answer_type with !semantic_type.names().empty() can fill Operand * A schema with answer_type 'date' CAN NOT fill Operand. Note that when there is an explicit answer_type, the 'self' semantic_type is not considered.", - "type": "boolean" - }, - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "includesContainingIntent": { - "description": "Determines whether or not the meaning schema that contains this semantic_type conforms to a function call with the name and arguments taken from the meaning schema. As it refers to the \"containing_intent\", this field should only be set in a semantic_type declared in an intent's type_members field. The behavior of this field is undefined in other cases, for example, declaring the type of an intent slot. On Assistant, we use meaning schemas for argument types to represent both function call values as well as a reusable tool to host other argument values (opaque types, normalized strings, subsets of entities) across intents. Teams need this information to run conformance checks and annotate new data. Example: If the intents below are in the intent catalog, then: - Intent(slot=\"some string\") is conformant, because Type has string_type{} in its type_members. - Intent(slot=Type()) is not conformant, because Type has set semantic_type.includes_containing_intent to false. - Intent(slot=SubType()) is conformant, because type_members is not inherited. { id: \"Intent\" slot: { name: \"slot\" type: { semantic_type { name: \"Type\" }} } } { id: \"Type\" type_members { string_type{} semantic_type { includes_containing_intent: false } } } { id: \"SubType\" parent { id: \"Type\" relationship_type: SUBTYPE } }", - "type": "boolean" - }, - "name": { - "description": "Names of valid sources of the semantics (for example: a frame or an intent).", - "items": { - "type": "string" - }, - "type": "array" - }, - "nameContracts": { - "description": "Like `name_remodelings`, but for ComponentSpecificContracts instead of remodelings.", - "items": { - "$ref": "NlpMeaningSemanticTypeNameComponentSpecificContracts" - }, - "type": "array" - }, - "nameRemodelings": { - "description": "Contains data about current schema remodelings at the SemanticType name level. The \"name\" field contains all possible semantic type names and \"semantic_type_name_remodelings\" acts as an overlay to determine which ones to surface based on which schema remodeling IDs are requested. For more information see go/meaning-remodeling-framework.", - "items": { - "$ref": "NlpMeaningSemanticTypeNameMeaningRemodelings" - }, - "type": "array" - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType lev©el. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersSensitivityArgumentEvalPolicy": { - "description": "Policy controlling argument level eval.", - "id": "KnowledgeAnswersSensitivityArgumentEvalPolicy", - "properties": { - "policyName": { - "description": "Optional cannery policy name. If it presents then Intent Scrubber will use the corresponding Cannery rule for argument scrubbing and redaction instead. It should only be used for existing complex argment value types such as HomeAutomationDevice.", - "type": "string" - }, - "redactQuerySpan": { - "description": "Redact corresponding span of the string query.", - "type": "boolean" - }, - "replacement": { - "description": "Customized replacement phrase, if missing ${ArgumentName}_REDACTED is used as default.", - "type": "string" - }, - "scrubArgumentValue": { - "description": "Scrub argument value and signals before saving to eval storage. If not set, 1) inherit the policy from the outer argument if there is one (for nested intents); 2) finally default to type based scrubbing: see go/argument-type-scrubbing.", - "type": "boolean" - } - }, - "type": "object" - }, - "KnowledgeAnswersSensitivityInstruction": { - "description": "Instructions (eg., logging, disambiguation, ads serving) of handling a sensitive intent and its data. LINT.IfChange NextId: 8", - "id": "KnowledgeAnswersSensitivityInstruction", - "properties": { - "argument": { - "$ref": "KnowledgeAnswersSensitivityInstructionArgument" - }, - "intent": { - "$ref": "KnowledgeAnswersSensitivityInstructionIntent" - }, - "legacyAssistantSensitivity": { - "$ref": "SearchPolicyRankableSensitivity", - "description": "This field is for backward compatibility." - }, - "multiAccountAllowed": { - "description": "Controls whether a top-level intent is multi-account approved. NLU will do go/cross-account-understanding only for intents with this bit on. Also, this bit should be propagated to user turn Attentionl Entities to extend protection of cross-account data to next turns. In principle fulfillment services (e.g., Monastery) should only dispatch such intents to multi-account approved fulfillers (schemas), at least when the user has a linked dasher account. The Assistant runtime policy engine should treat a query as dasher data if 1) this bit is true in the string redaction, and 2) the user has a linked dasher account, and apply a more restrictive rule for whitelisting, regardless of the actual account provenance in Sensitivity. Example: [User logged in to their personal gmail account.] Q1: \"Schedule a meeting tiltled okr review at 3pm\". Assistant: \"Should I scheduled it on your xyz@gmail.com account?\" Q2: \"No, add it to my xyz@bigcorp.com account.\" We don't know Q1 is dasher data until Q2. To prevent leaking of Q1 to non-dasher approved binaries, this bit should be used as a proactive measure. It might introduce some over-triggering (e.g., user says \"Yes\" in Q2), but is much better than blindly treating every query as dasher, not considering whether it actually triggers any multi-account capable intents or not (see b/164420114 for example).", - "type": "boolean" - }, - "previousQuery": { - "$ref": "KnowledgeAnswersSensitivityInstructionPreviousQuery" - } - }, - "type": "object" - }, - "KnowledgeAnswersSensitivityInstructionArgument": { - "description": "Slot/Argument level instructions.", - "id": "KnowledgeAnswersSensitivityInstructionArgument", - "properties": { - "eval": { - "$ref": "KnowledgeAnswersSensitivityArgumentEvalPolicy" - }, - "logging": { - "$ref": "KnowledgeAnswersSensitivityLoggingPolicy" - }, - "serving": { - "$ref": "KnowledgeAnswersSensitivityServingPolicy" - }, - "storage": { - "$ref": "KnowledgeAnswersSensitivityStoragePolicy" - } - }, - "type": "object" - }, - "KnowledgeAnswersSensitivityInstructionIntent": { - "description": "Intent level instructions apply to the entire intent and all its argument values.", - "id": "KnowledgeAnswersSensitivityInstructionIntent", - "properties": { - "eval": { - "$ref": "KnowledgeAnswersSensitivityIntentEvalPolicy" - }, - "footprints": { - "$ref": "KnowledgeAnswersSensitivityMyActivityPolicy" - }, - "logging": { - "$ref": "KnowledgeAnswersSensitivityLoggingPolicy" - }, - "serving": { - "$ref": "KnowledgeAnswersSensitivityServingPolicy" - }, - "storage": { - "$ref": "KnowledgeAnswersSensitivityStoragePolicy" - } - }, - "type": "object" - }, - "KnowledgeAnswersSensitivityInstructionPreviousQuery": { - "description": "Instructions for knowledge_context.PreviousQuery. See go/apps-userdata-guidelines.", - "id": "KnowledgeAnswersSensitivityInstructionPreviousQuery", - "properties": { - "logging": { - "$ref": "KnowledgeAnswersSensitivityLoggingPolicy" - }, - "serving": { - "$ref": "KnowledgeAnswersSensitivityServingPolicy" - }, - "storage": { - "$ref": "KnowledgeAnswersSensitivityStoragePolicy" - } - }, - "type": "object" - }, - "KnowledgeAnswersSensitivityIntentEvalPolicy": { - "description": "Policy controlling intent level eval.", - "id": "KnowledgeAnswersSensitivityIntentEvalPolicy", - "properties": { - "allArguments": { - "$ref": "KnowledgeAnswersSensitivityArgumentEvalPolicy", - "description": "Policy for all arguments, so no need to repeat on every argument." - }, - "enabled": { - "description": "Controls whether to enabled limited logging (rpc whitelisting + GWS log query redaction) if the intent wins post-fulfillment ranking.", - "type": "boolean" - }, - "nestedIntentOnly": { - "description": "The eval policy won't apply if the annotated intent is a root. This check is majorly to prevent calling IntentScrubber halfway from InterpretationScrubber via nested intents.", - "type": "boolean" - }, - "scrubEntireIntent": { - "description": "Scrub entire intent before saving to eval storage, leaving only intent name and sensitivity info.", - "type": "boolean" - } - }, - "type": "object" - }, - "KnowledgeAnswersSensitivityLoggingPolicy": { - "description": "Policies controlling the logging.", - "id": "KnowledgeAnswersSensitivityLoggingPolicy", - "properties": { - "scrubArgumentValue": { - "description": "The contents of the argument value should be scrubbed before being written to logs.", - "type": "boolean" - }, - "scrubContext": { - "description": "If this is set to true, this Sensitivity's presence will result in QRewrite to enable AS logging to scrub any discourse context.", - "type": "boolean" - } - }, - "type": "object" - }, - "KnowledgeAnswersSensitivityMyActivityPolicy": { - "description": "Policy controlling MyActivity.", - "id": "KnowledgeAnswersSensitivityMyActivityPolicy", - "properties": { - "myActivityRedactedAction": { - "enum": [ - "UNKNOWN_ACTION", - "REPLY_TO_BROADCAST", - "INITIATE_CALL", - "SEARCH_EMAIL", - "SEND_SMS", - "SEND_MESSAGE", - "SEND_EMAIL", - "SEND_CHAT_MESSAGE", - "VIEW_AGENDA", - "SHOW_CALENDAR_EVENT", - "ADD_CALENDAR_EVENT", - "DELETE_CALENDAR_EVENT", - "MODIFY_CALENDAR_EVENT", - "SEARCH_CALENDAR", - "SEARCH_TEXT_MESSAGE", - "REPLY_TO_MESSAGE", - "REPLY_TO_NOTIFICATION", - "READ_MESSAGE_NOTIFICATION", - "REPLY_TO_READ_MESSAGE_NOTIFICATION", - "SEARCH_GMAIL", - "YOUTUBE_KIDS", - "SEND_DIGITAL_OBJECT", - "SEND_FEEDBACK", - "SHARE_PHOTO", - "SHARE_VIDEO", - "SHARE_MUSIC", - "SHARE_SCREENSHOT", - "SHARE_WEBPAGE", - "REDIAL_CALL", - "RETURN_CALL", - "RETURN_MISSED_CALL", - "ROUTINE", - "ROUTINE_INVOCATION", - "DIAL_INTO_MEETING", - "SHARE_DIGITAL_OBJECT", - "COMPOSE_EMAIL", - "FIND_ON_APP_OR_BROWSER", - "KEYBOARD_DICTATION", - "SEARCH_GSUITE", - "JOIN_MEETING", - "CREATE_MEETING", - "CREATE_MEMORY", - "IN_CALL_PUNT", - "TELL_MY_FAMILY", - "ADD_REMINDER", - "SHOW_REMINDER", - "UPDATE_REMINDER", - "DELETE_REMINDER", - "SHOW_LIST", - "MODIFY_LIST", - "SHOW_NOTE", - "MODIFY_NOTE", - "READ_SLEEP", - "WRITE_SLEEP", - "READ_ACTIVITY", - "WRITE_ACTIVITY", - "READ_NUTRITION", - "WRITE_NUTRITION", - "READ_WELLNESS", - "WRITE_WELLNESS", - "MAKE_BROADCAST" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "myActivityRedactionKey": { - "deprecated": true, - "description": "This field will be translated by footprints and is used to describe the content that was redacted that will be displayed to the user in MyActivity.", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersSensitivitySensitivity": { - "description": "Canonical representation of query sensitivites. See go/sensitive-intents for more details.", - "id": "KnowledgeAnswersSensitivitySensitivity", - "properties": { - "accountProvenance": { - "description": "Used to annotate the provenace of cross-account personal data. See go/cross-account-understanding. Sensitivity could be annotated at query, intent, and argument levels. Query and intent could have data from multiple accounts, so this field is repeated. A sensitive knowledge_context.PreviousQuery might be dropped to prevent leaking cross-account data via Genie rewrite. For arguments, the best practice is to not blend multi-account data, and this field should be treated as singular to make ownership clear. When publishing attentional entities, contextual NLU might drop an argument that contains data from a different account for data protection. Mixing multi-account data in one argument will cause data from the primary account to be dropped altogether, which is an unnecessary quality loss.", - "items": { - "$ref": "QualityQrewriteAccountProvenance" - }, - "type": "array" - }, - "instruction": { - "$ref": "KnowledgeAnswersSensitivityInstruction", - "description": "Instruction of handling sensitive intent/argument data. Can be specified in Intent Catalog." - }, - "source": { - "description": "This should be systematically added without requiring the feature developers to add a source. This is for debug purpose as to whether the Sensitivity's trace/path included any of landmark code path helpful for tracing back the sensitivity sources. One should add a new source when one sees fits. It's chronological order as to which source is added first. One should not manually add a source. The same source can be repeated if the Sensitivity object went through the same code path twice.", - "items": { - "enum": [ - "UNKNOWN_SOURCE", - "INTENT_CATALOG", - "GENIE_REWRITER", - "FUNCTION_CALL_ARGUMENT_VALUE", - "ATTENTIONAL_ENTITY", - "PII_DETECTOR", - "DIALOG_STATE", - "ON_DEVICE", - "FUNCTION_CALL", - "END_OF_QREWRITE", - "SYSTEM_RESPONSE", - "DIALOG_INTENT_STATE", - "ANALYZER_POST_PROCESSOR", - "SAGE", - "ANNOTATION_ARGUMENT_VALUE", - "DIALOG_INTENT_STATE_INTENT", - "DIALOG_INTENT_STATE_INTENT_CONTEXTUAL", - "IGDP" - ], - "enumDescriptions": [ - "", - "This is reserved for Intent (FunctionCall.sensitivity) Sensitivity that comes from intent catalog's definition.See go/sensitive-intents.", - "Sensitivity of the current query can be pulled from sensitive context, such as a previous query and attentional entities, by Genie Rewriter. See go/sensitive-ae#heading=h.t81b1cz8i2l2.", - "Sensitivity of the current query can be due to intent_query's Argument.value.sensitivity proto field as opposed to the free-form legacy interp extension's free-form value. Argument.value.sensitivity May be set due to IntentCatalog definition or to inheritance from an attentional entity that replaced the argument's value. In that case, we shall see both sources present in the repeated field. Ex: source: INTENT_CATALOG source: ATTENTIONAL_ENTITY source: FUNCTION_CALL_ARGUMENT_VALUE", - "Sensitivity of the current query can be due to inheriting the sensitivity of either system-turn or user-turn attentional entity. User-turn AE sensitivity may come from intent catalog but becomes AE when AttentionalEntityReader converts the user-turn argument value as an AE. Ex: source: INTENT_CATALOG source: FUNCTION_CALL_ARGUMENT_VALUE source: ATTENTIONAL_ENTITY", - "Until its complete deprecation, the legacy SensitivityMode created by PiiDetector in QRewrite is wrapped around knowledge::answers::Sensitivity and is attached to Interpretation as a repeated extension.", - "Sensitivity can arise due to the current query being a follow-on query in a dialog.", - "This is set if a SensitivityMode is set on device (like Marble) and the server is converting it into a full Sensitivity proto. This includes only previous queries marked by the device.", - "Whether the sensitivity is read from FunctionCall.sensitivity", - "When Interp Sensitivity is finalized before outputing from QRewrite.", - "When Sensitivity is created or tagged based on the system response, such as components in the fulfillment stage.", - "When the sensitivity is copied to DialogIntentState.", - "When the sensitivity is propagated by AnalyzerResponseHackPostProcessor.", - "When the sensitivity is propagated by Sage.", - "When the sensitivity is from Annotation.argument.value.sensitivity.", - "When the sensitivity is from DialogIntentState.intent.sensitivity.", - "When the sensitivity is from DialogIntentState.intent.contextual_sensitivity.", - "When the sensitivity is propagated by IGDP via intent conversion." - ], - "type": "string" - }, - "type": "array" - }, - "type": { - "description": "Sensitivity type. See the enum definition below.", - "enum": [ - "UNKNOWN_TYPE", - "INTENT", - "CONTEXTUAL" - ], - "enumDescriptions": [ - "", - "go/sensitive-intents or cs/f:pii_detector.cc", - "go/contextual-sensitivity" - ], - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeAnswersSensitivityServingPolicy": { - "description": "Policies controlling RPC Whitelist at serving time.", - "id": "KnowledgeAnswersSensitivityServingPolicy", - "properties": { - "enableRpcWhitelist": { - "description": "If this is set to true, QRewrite will enable RPC Whitelist to be applied in Assistant Server and Genie Rewriter.", - "type": "boolean" - } - }, - "type": "object" - }, - "KnowledgeAnswersSensitivityStoragePolicy": { - "description": "Policies controlling the storage.", - "id": "KnowledgeAnswersSensitivityStoragePolicy", - "properties": { - "encryptArgumentValue": { - "description": "The contents of the argument value should be encrypted before being written to a persistent storage (even if the storage has short time-to-live). No-op when specified at intent level.", - "type": "boolean" - }, - "encryptFieldCandidateValueTerm": { - "description": "If true, triggers encryption of |value_term| [1] and move into |sensitive_value_term|. This is useful to support finer grain encryption controls for disambiguation, where the broader |encrypt_argument_value| is too restrictive. In particular, when we know that the values being disambiguated are non-sensitive (e.g. opaque event IDs), but the value_terms are sensitive (e.g. event titles), it can be helpful for debugging purposes to circulate the value unencrypted. This policy only has an effect when configured at argument-level. It has no effect in Intent or PreviousQuery stanzas. See go/delete-event-disambiguation-redaction-v2 for context and usage. [1]cs/s:quality.dialog_manager.IntentStateSignals.FieldCandidate.value_term", - "type": "boolean" - }, - "encryptQueryAnnotationData": { - "description": "If this is set true, we encrypt QueryAnnotationDataProto prior to writing it to Footprint ASSISTANT_EPHEMERAL corpus. This enables restricting ACL to the data.", - "type": "boolean" - }, - "scrubAuxiliaryFieldsInConversationSnapshot": { - "description": "If this is set to true, the following fields in ConversationSnapshot are scrubbed: * circulated_state.squery * spoken_query * All client_op arguments |from_assistant| interactions", - "type": "boolean" - } - }, - "type": "object" - }, - "KnowledgeAnswersStateOfAffairsType": { - "description": "A special type representing a StateOfAffairs. Currently (as of 2021Q2) this is duplicative with semantic_type { name: \"StateOfAffairs\" } but we (mrf-team) will encourage clients to migrate to this new type.", - "id": "KnowledgeAnswersStateOfAffairsType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersStringType": { - "description": "A StringType configures a value whose type is intended to be arbitrary text.", - "id": "KnowledgeAnswersStringType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - }, - "singleToken": { - "description": "If true, this value will match a single token. If false, this value will match any nonzero number of tokens.", - "type": "boolean" - } - }, - "type": "object" - }, - "KnowledgeAnswersTimeZoneType": { - "description": "A TimeZoneType configures a value whose type is a timezone.", - "id": "KnowledgeAnswersTimeZoneType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersTrackingNumberType": { - "description": "A TrackingNumberType configures a value whose type is a TrackingNumber.", - "id": "KnowledgeAnswersTrackingNumberType", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts", - "description": "Contains data about the contracts that this ValueType level is available for. For more information see go/contract-based-conformance." - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings", - "description": "Contains data about current schema remodelings at this ValueType level. For more information see go/meaning-remodeling-framework." - } - }, - "type": "object" - }, - "KnowledgeAnswersUnionType": { - "id": "KnowledgeAnswersUnionType", - "properties": { - "slotNames": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeAnswersValueType": { - "description": "Specifies the allowed type(s) that a value can have, e.g. for a Slot. For example, having both entity_type and string_type present in a ValueType field of a Slot means that the Slot can take _either_ an an EntityType _or_ StringType as a value, and nothing else. It may be helpful to think of this proto as being called something like AllAllowedValueTypes. To enforce a component-specific contract (go/contract-based-conformance) for allowed type(s), we add a repeated field view_specific_${x} for the type ${x}. For example, if we want a slot that can hold any type by default, but can only hold an integer when checking against the P2_LWA contract, then the following should be added to MeaningCatalog: slot { name: \"integer_only_slot\" type { // The default view has no sub_type or other options. number_type {} // The P2_LWA view specifies INTEGER sub_type. view_specific_number_types { sub_type: INTEGER component_specific_contracts: P2_LWA } } } See go/view-based-options-for-valuetype for more information. Next tag id: 26 LINT.IfChange", - "id": "KnowledgeAnswersValueType", - "properties": { - "anyType": { - "$ref": "KnowledgeAnswersAnyType", - "description": "This type is meant to accept \"any\" type and allow any and all composition. As such, it should not be used for any composition algorithms, e.g. in Loose Parser. See more detailed discussion at go/any-type-in-mrf. This type may appear on an answer_type, implying that the output of that Meaning Schema is allowed to nest in any other slot. However, support for this is NOT implemented in Loose Parser due to risk of overcomposition, but the MRF Conformance checker allows for this. If you are thinking of using this, please contact mrf-team@." - }, - "attributeType": { - "$ref": "KnowledgeAnswersAttributeType" - }, - "booleanType": { - "$ref": "KnowledgeAnswersBooleanType" - }, - "collectionType": { - "$ref": "KnowledgeAnswersCollectionType" - }, - "compoundType": { - "$ref": "KnowledgeAnswersCompoundType" - }, - "dateType": { - "$ref": "KnowledgeAnswersDateType" - }, - "dependencyType": { - "$ref": "KnowledgeAnswersDependencyType", - "description": "Used for configuring dynamic types to allow for type transparency. See: go/type-dependencies" - }, - "durationType": { - "$ref": "KnowledgeAnswersDurationType" - }, - "entityType": { - "$ref": "KnowledgeAnswersEntityType" - }, - "inputCompositionConfig": { - "description": "When specified on a slot's type, restricts composition based on the enum value. This does not mean anything when the value type is to be interpreted as an output_type.", - "enum": [ - "UNSPECIFIED_COMPOSITION", - "ALL_COMPOSITION", - "PRIMITIVES_ONLY_COMPOSITION", - "PRIMITIVES_AND_OPERATORS_OF_PRIMITIVES_COMPOSITION", - "PRIMITIVES_AND_SEMANTIC_TYPES_COMPOSITION" - ], - "enumDescriptions": [ - "An unspecified value is required by enum best practices. It will not be used anywhere as the default is ALL_COMPOSITION.", - "", - "", - "To handle cases where we have a Group of entities", - "Allows primitives only, or specific FunctionCalls with explicitly listed semantic_types." - ], - "type": "string" - }, - "measurementType": { - "$ref": "KnowledgeAnswersMeasurementType" - }, - "normalizedStringType": { - "$ref": "KnowledgeAnswersNormalizedStringType", - "description": "Note that normalized_string_type is NOT supported in the loose parser. A slot with this type will cause the intent to not be parsed." - }, - "numberType": { - "$ref": "KnowledgeAnswersNumberType" - }, - "opaqueType": { - "$ref": "KnowledgeAnswersOpaqueType" - }, - "plexityRequirement": { - "$ref": "KnowledgeAnswersPlexityRequirement" - }, - "polarQuestionType": { - "$ref": "KnowledgeAnswersPolarQuestionType" - }, - "semanticType": { - "$ref": "KnowledgeAnswersSemanticType" - }, - "stateOfAffairsType": { - "$ref": "KnowledgeAnswersStateOfAffairsType" - }, - "stringType": { - "$ref": "KnowledgeAnswersStringType" - }, - "timezoneType": { - "$ref": "KnowledgeAnswersTimeZoneType" - }, - "trackingNumberType": { - "$ref": "KnowledgeAnswersTrackingNumberType" - }, - "viewSpecificNumberTypes": { - "description": "LINT.IfChange Contract-specific typing (go/view-based-options-for-valuetype). NOTE: To facilitate writing macros for view-specific filtering, all view-specific fields should be named with the format \"view_specific_${singular_field}s\" -- e.g., for the singular field |number_type|, the view-specific repeated field is |view_specific_number_types|. LINT.ThenChange( //depot/google3/nlp/meaning/remodel/meaning_remodeling_utils.cc:ViewSpecificTypes, //depot/google3/nlp/meaning/analyzer/checks/component_specific_contracts_checks.cc:ViewSpecificTypes)", - "items": { - "$ref": "KnowledgeAnswersNumberType" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeGraphDateTimeProto": { - "id": "KnowledgeGraphDateTimeProto", - "properties": { - "days": { - "description": "A day of month, 1-31. If present, year and month must be present as well, and must form a valid date.", - "format": "int32", - "type": "integer" - }, - "hours": { - "description": "Hour of the day, 0-23", - "format": "int32", - "type": "integer" - }, - "microseconds": { - "description": "Microsecond, in the interval [0, 999999]. If present, seconds have to be present as well.", - "format": "int32", - "type": "integer" - }, - "minutes": { - "description": "Minute, 0-59. If present, hours have to be present as well.", - "format": "int32", - "type": "integer" - }, - "months": { - "description": "A month, 1-12. If present, year must be present as well.", - "format": "int32", - "type": "integer" - }, - "seconds": { - "description": "Second, in the interval [0, 60], where 60 is an exceptional value reserved for leap seconds. If present, minutes have to be present as well.", - "format": "int32", - "type": "integer" - }, - "tzOffset": { - "description": "Timezone offset in seconds (can be positive/negative). If present, hours have to be present as well If absent, we expect the time above to be in local time (a.k.a. civil time, go/httat#civil_time).", - "format": "int64", - "type": "string" - }, - "years": { - "description": "A year.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "KnowledgeGraphNestedStruct": { - "description": "A nested struct is a recursive tree structure for storing a set of triples. more info can be found at go/nested-struct-primer", - "id": "KnowledgeGraphNestedStruct", - "properties": { - "predicateObjs": { - "description": "predicate_objs.pred should be unique within the list.", - "items": { - "$ref": "KnowledgeGraphNestedStructPredicateObjs" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeGraphNestedStructPredicateObjs": { - "id": "KnowledgeGraphNestedStructPredicateObjs", - "properties": { - "objs": { - "items": { - "$ref": "KnowledgeGraphTripleObj" - }, - "type": "array" - }, - "pred": { - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeGraphQualifier": { - "description": "A qualifier represents an extra piece of context about an assertion/fact. See go/qualifiers-in-kg for more details.", - "id": "KnowledgeGraphQualifier", - "properties": { - "pred": { - "description": "The qualifier pred must be a qualifier property defined in KG schema as applying to the predicate of the triple this qualifier is attached to.", - "type": "string" - }, - "value": { - "$ref": "KnowledgeGraphTripleObj" - } - }, - "type": "object" - }, - "KnowledgeGraphQualifierSet": { - "description": "A QualifierSet represents a grouping of qualifiers that together with an SPO make up a logical assertion or fact. One triple can contain multiple qualifier sets and thus represent several different assertions about the same SPO.", - "id": "KnowledgeGraphQualifierSet", - "properties": { - "qualifiers": { - "items": { - "$ref": "KnowledgeGraphQualifier" - }, - "type": "array" - } - }, - "type": "object" - }, - "KnowledgeGraphTriple": { - "description": "A Triple is a representation of data with a Subject, a Predicate, and an Object, For example: (Triple, IS-A, \"data representation\"). Triples are a very good representation of data where the relationship between data points is significant, because the Object of a Triple can be the Subject of another Triple: (Triple, HAS-A, Subject) (Subject, IS-A, \"Term of a proposition\") The ease with which Triples can represent relationships makes them an excellent candidate for representing graphs. Next id: 21", - "id": "KnowledgeGraphTriple", - "properties": { - "isNegation": { - "description": "If is_negation is set to true then this triple is considered a statement that the fact is false. This allows for the storage of both what we know to be true and what we know to be false.", - "type": "boolean" - }, - "obj": { - "$ref": "KnowledgeGraphTripleObj", - "description": "obj is the value of a relationship." - }, - "pred": { - "description": "pred is an arbitrary node id representing the predicate (name) of a graph relationship.", - "type": "string" - }, - "provenance": { - "items": { - "$ref": "KnowledgeGraphTripleProvenance" - }, - "type": "array" - }, - "qualifierSets": { - "description": "WARNING: This is currently defined for experimentation purposes only. Please do not set. Data set in this field will not be published to any systems downstream of Livegraph. Together with the SPO of this triple, each qualifier set here represents a different logical assertion/fact.", - "items": { - "$ref": "KnowledgeGraphQualifierSet" - }, - "type": "array" - }, - "sub": { - "description": "sub is an arbitrary node id representing the source entity of a graph relationship.", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeGraphTripleObj": { - "id": "KnowledgeGraphTripleObj", - "properties": { - "boolValue": { - "type": "boolean" - }, - "datetimeValue": { - "$ref": "KnowledgeGraphDateTimeProto" - }, - "doubleValue": { - "format": "double", - "type": "number" - }, - "durationValue": { - "description": "seconds", - "format": "int64", - "type": "string" - }, - "idValue": { - "description": "An id representing an entity (mid or hrid)", - "type": "string" - }, - "int64Value": { - "format": "int64", - "type": "string" - }, - "locale": { - "description": "The language code for the object value. It must be a BCP 47-compliant language tag (b/10005172). See also go/kg-data-l10n.", - "type": "string" - }, - "nestedStructValue": { - "$ref": "KnowledgeGraphNestedStruct" - }, - "protoValue": { - "$ref": "KnowledgeGraphTripleObjProto" - }, - "s2cellId": { - "format": "uint64", - "type": "string" - }, - "stringValue": { - "description": "A UTF-8 string value to be used for the following expected schema types: - /type/rawstring - /type/text - /type/key", - "type": "string" - }, - "uint64Value": { - "format": "uint64", - "type": "string" - }, - "uriValue": { - "description": "A UTF-8 string value to be used for expected type /type/uri - b/68760994.", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeGraphTripleObjProto": { - "id": "KnowledgeGraphTripleObjProto", - "properties": { - "data": { - "description": "The encoded proto data.", - "format": "byte", - "type": "string" - }, - "descriptorFullName": { - "description": "The full name of the proto descriptor, such as 'music.AlbumSummary'.", - "type": "string" - } - }, - "type": "object" - }, - "KnowledgeGraphTripleProvenance": { - "description": "Message containing information about the source of this triple. See go/kg-provenance for an explanation of the fields.", - "id": "KnowledgeGraphTripleProvenance", - "properties": { - "accessRequired": { - "description": "Specifies the contract or legal visibility required to see the Triple. See go/kg-triple-level-access-controls for details and background. Note that we use an int32 here so that we won't lose values when decoding on a stale binary. The int32 references to the enum storage_graph_bfg.Triple.Provenance.AccessRequirement.", - "format": "int32", - "type": "integer" - }, - "creator": { - "description": "Historically, this field was used to encode the Freebase User ID, Google username, or Google MDB group that was responsible for the pipeline that is producing this data. However, there is currently no horizontal validation in place, and as of Q3 2018, this field is used essentially as a free-form string by multiple data providers. NOTE: Do not use this field in new pipelines without first consulting with the OWNERS of this proto. ", - "type": "string" - }, - "datasetMid": { - "description": "The dataset which asserted this data. Must be a valid mid. See go/kg-provenance", - "format": "uint64", - "type": "string" - }, - "isSupportingData": { - "description": "Indicates that the corresponding data is supporting evidence for reconciliation only, and is *not* an assertion that should be visible to other systems or to external users. Note that this also means that no provenances indicating supporting data will be visible in the composed graph. Please see go/supporting-kg-triples-design-doc for additional details and background.", - "type": "boolean" - }, - "lgMetadata": { - "$ref": "StorageGraphBfgLivegraphProvenanceMetadata", - "description": "Internal metadata used by Livegraph and possibly other horizontal KG infra systems. This is not part of the logical triple or its provenance, and contents may not be visible downstream of LG." - }, - "policyMetadata": { - "$ref": "StorageGraphBfgPolicyMetadata", - "description": "Metadata specifying data governance policies. This information will be processed and enforced in KE systems. For more context, see go/ke-triple-dg-policy-and-metadata. WARNING: This field is WIP and please do not populate it without consulting ke-data-governance@." - }, - "process": { - "description": "An identifier for the process that asserted this triple.", - "type": "string" - }, - "restrictions": { - "items": { - "enum": [ - "REQUIRES_CITATION", - "REQUIRES_PCOUNSEL_REVIEW", - "UNRESTRICTED_WITHIN_GOOGLE_NO_3P_USE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "sourceCategory": { - "description": "Used to measure impact of 3P contributions. See go/ke-metrics.", - "enum": [ - "THIRD_PARTY", - "CURATION", - "PARTNER_FEED", - "EXTRACTION" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "sourceDocId": { - "description": "The websearch doc_id of the source_url. Used in conjunction with source_category for measuring 3P contributions.", - "format": "int64", - "type": "string" - }, - "sourceUrl": { - "description": "If the triple was extracted from the web, the source URL where the assertion was found. Used for citation if needed (see restrictions field below).", - "type": "string" - }, - "spiiCertification": { - "$ref": "StorageGraphBfgSpiiCertification", - "description": "A fact about potentially sensitive personal info (http://what/SPII) can be \"certified\" iff it meets specific requirements. See go/kg-spii-certification for details." - } - }, - "type": "object" - }, - "KnowledgeVerticalsWeatherProtoUserSpecifiedLocation": { - "description": "A user specified location to trigger weather for a specific location. Also it can be generalized for other verticals.", - "id": "KnowledgeVerticalsWeatherProtoUserSpecifiedLocation", - "properties": { - "featureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "(Mandatory) Oyster ID." - }, - "latLng": { - "$ref": "GoogleTypeLatLng", - "description": "(Mandatory) Coordinates of the location for which weather is requested." - }, - "locationName": { - "description": "The name to display. If specified it will override the formatted address of \"feature_id\".", - "type": "string" - }, - "mid": { - "description": "MID corresponding to the location from feature_id.", - "type": "string" - }, - "timezone": { - "description": "The timezone to display the current conditions observation time. Optional and will override the timezone of \"feature_id\".", - "type": "string" - } - }, - "type": "object" - }, - "LegalCitation": { - "id": "LegalCitation", - "properties": { - "CountryCode": { - "description": "For Courts, the country the court is in. For Statues,? 3 leter country code ISO 3166 alpha2", - "type": "string" - }, - "ParseType": { - "format": "int32", - "type": "integer" - }, - "State": { - "description": "State or province of the court or statue (if applicable) What standard?", - "type": "string" - }, - "Type": { - "description": "DocType", - "format": "int32", - "type": "integer" - }, - "courtdocument": { - "$ref": "LegalCitationCourtDocument" - }, - "law": { - "$ref": "LegalCitationLaw" - } - }, - "type": "object" - }, - "LegalCitationCourtDocument": { - "description": "Information about a published version of the document. Not all references/documents will have this because some will be vendor and/or media neutral.", - "id": "LegalCitationCourtDocument", - "properties": { - "ArguedBefore": { - "description": "One entry per judge who listened to the case in this court", - "items": { - "$ref": "LegalPerson" - }, - "type": "array" - }, - "ArguedDate": { - "$ref": "LegalDate" - }, - "CertiorariCourtName": { - "description": "For an appeal, the name of the lower court that sent this up Abbreviation form? Verbose form?", - "type": "string" - }, - "CertiorariRelationship": { - "format": "int32", - "type": "integer" - }, - "CourtTerm": { - "description": "Usually the name of a month. Not sure really what it means.", - "type": "string" - }, - "DecidedDate": { - "$ref": "LegalDate", - "description": "Various dates related to the generation of document most of these are opinion-centric" - }, - "FiledDate": { - "$ref": "LegalDate" - }, - "MemoID": { - "description": "Not sure what this is. But I've seen it.", - "type": "string" - }, - "ModifiedDate": { - "$ref": "LegalDate" - }, - "Syllabus": { - "description": "A summary of the document or a syllabus for this document", - "type": "string" - }, - "court": { - "$ref": "LegalCitationCourtDocumentCourt" - }, - "opinioninfo": { - "items": { - "$ref": "LegalCitationCourtDocumentOpinionInfo" - }, - "type": "array" - }, - "perdocketinfo": { - "items": { - "$ref": "LegalCitationCourtDocumentPerDocketInfo" - }, - "type": "array" - }, - "pub": { - "items": { - "$ref": "LegalCitationCourtDocumentPub" - }, - "type": "array" - }, - "unknowndate": { - "items": { - "$ref": "LegalCitationCourtDocumentUnknownDate" - }, - "type": "array" - } - }, - "type": "object" - }, - "LegalCitationCourtDocumentCourt": { - "id": "LegalCitationCourtDocumentCourt", - "properties": { - "DisplayName": { - "description": "The name of the court to be displayed to users.", - "type": "string" - }, - "Level": { - "description": "Maybe be redundant with the Name. We can remove this later if we don't find it useful. Court Level", - "format": "int32", - "type": "integer" - }, - "Name": { - "description": "Court id for matching records; \"name\" is a historic misnomer.", - "type": "string" - }, - "OriginalName": { - "description": "The name of the court as taken directly from the source document", - "type": "string" - }, - "namecomponent": { - "items": { - "$ref": "LegalCitationCourtDocumentCourtNameComponent" - }, - "type": "array" - } - }, - "type": "object" - }, - "LegalCitationCourtDocumentCourtNameComponent": { - "description": "The name broken down into its various components, such as core court, state, and district", - "id": "LegalCitationCourtDocumentCourtNameComponent", - "properties": { - "Text": { - "type": "string" - }, - "Type": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "LegalCitationCourtDocumentOpinionInfo": { - "description": "A variety of opinions may be published as a single document. We have one OpinionInfo for each opinion About the \"CONCURRING\" opinion type: It means that a judge \"concurs\" to the conclusion (judegment) of the majority of the court, however, he may not agree with the argument in the primary opinion. If multiple judges \"concur\" or \"dissent\" the primary opinion, then one judge delivers their opinion, and other judges are said to \"join\" him.", - "id": "LegalCitationCourtDocumentOpinionInfo", - "properties": { - "Bench": { - "format": "int32", - "type": "integer" - }, - "DeliveredBy": { - "$ref": "LegalPerson", - "description": "if Type == PER_CURIAM, then DeliveredBy is unnecessary since it is delivered by the full court. Who delivered the opinion?" - }, - "JoinedBy": { - "$ref": "LegalPerson", - "description": "Who agrees with the opinion" - }, - "Type": { - "description": "OpinionType", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "LegalCitationCourtDocumentPerDocketInfo": { - "description": "Information associated with a docket. Note that multiple dockets can be combined and argued as one and produce a single opinion", - "id": "LegalCitationCourtDocumentPerDocketInfo", - "properties": { - "DocketID": { - "description": "An alpha-numeric (usually, mostly numeric) string used to identify the case by the court", - "type": "string" - }, - "Petitioner": { - "description": "Who is bringing the action? (X in X vs. Y)", - "items": { - "$ref": "LegalPerson" - }, - "type": "array" - }, - "PetitionerCounsel": { - "description": "Who represents the petitioner?", - "items": { - "$ref": "LegalPerson" - }, - "type": "array" - }, - "Respondent": { - "description": "Who is responding to the action? (Y in X vs. Y)", - "items": { - "$ref": "LegalPerson" - }, - "type": "array" - }, - "RespondentCounsel": { - "description": "Who represents the respondent?", - "items": { - "$ref": "LegalPerson" - }, - "type": "array" - }, - "Topic": { - "description": "The \"in re\" or \"matter of\" field.", - "type": "string" - } - }, - "type": "object" - }, - "LegalCitationCourtDocumentPub": { - "id": "LegalCitationCourtDocumentPub", - "properties": { - "Page": { - "description": "Page number", - "type": "string" - }, - "Paragraph": { - "description": "Paragraph number", - "type": "string" - }, - "Reporter": { - "description": "The publisher of the opinion. For example, 'U.S.' - United States Reports 'S. Ct.' - Supreme Court Reporter 'L. Ed. 2d' - Lawyers Edition Second Series", - "type": "string" - }, - "Volume": { - "description": "For documents published by a court reporter. Vendor/Media neutral citations will probably not have this.", - "format": "int32", - "type": "integer" - }, - "Year": { - "description": "This is the publication year. In many citations, there is one year listed and it is typically the year the opinion was handed down. For example: Roe v. Wade, 410 U.S. 113 (1973) Occasionally, the publication year of the reporter is included. This happens typically when the law reporter volume numbers are numbered within a calendar year. For example, Swiss Bank Corp. v. Air Canada, [1988] 1 F.C. 71. It some (most?) areas, publication date is denoted by [] while opinion date is denoted by ().", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "LegalCitationCourtDocumentUnknownDate": { - "description": "Dates that we didn't fully parse, so we don't know exactly what they are, but we are keeping in case it's all we have.", - "id": "LegalCitationCourtDocumentUnknownDate", - "properties": { - "Date": { - "$ref": "LegalDate" - }, - "Description": { - "type": "string" - } - }, - "type": "object" - }, - "LegalCitationLaw": { - "id": "LegalCitationLaw", - "properties": { - "RevisionDate": { - "$ref": "LegalDate" - }, - "Status": { - "description": "LawStatus", - "format": "int32", - "type": "integer" - }, - "Type": { - "description": "LawType", - "format": "int32", - "type": "integer" - }, - "collectionname": { - "$ref": "LegalCitationLawCollectionName" - }, - "level": { - "items": { - "$ref": "LegalCitationLawLevel" - }, - "type": "array" - } - }, - "type": "object" - }, - "LegalCitationLawCollectionName": { - "description": "this is used to store information about law collections Normalized is the normalized name for the law (e.g., USC for USCA and USCS) Source is the text that represents the law in the citation", - "id": "LegalCitationLawCollectionName", - "properties": { - "Normalized": { - "type": "string" - }, - "Source": { - "type": "string" - } - }, - "type": "object" - }, - "LegalCitationLawLevel": { - "description": "Law have tree-like sturcture (title, section, etc), but the levels and their names are not fixed. e.g., we could have: US Constitution -\u003e Article 3 -\u003e Section 4, OR, US Code -\u003e Title 12 -\u003e Chapter 6 -\u003e Sub-chapter I -\u003e Section 602, OR, US Code -\u003e Title 10 -\u003e Sub-title A -\u003e Part 2 -\u003e Chapter 32 -\u003e Section 523. We use a repeated group to represent this structure. NOTE: Always insert higher levels before lower levels,", - "id": "LegalCitationLawLevel", - "properties": { - "Depth": { - "description": "A counter that specifies the depth of the level in the parse", - "format": "int32", - "type": "integer" - }, - "LevelTypeNormalized": { - "description": "\"SECTION, TITLE, PART, etc.\"", - "type": "string" - }, - "LevelTypeSourceText": { - "description": "\"Section, Sect., §, etc\"", - "type": "string" - }, - "LevelTypeString": { - "description": "deprecated", - "type": "string" - }, - "Name": { - "description": "The name of the chapter/section/etc.", - "type": "string" - }, - "Type": { - "description": "deprecated", - "format": "int32", - "type": "integer" - }, - "Value": { - "description": "\"3\", \"42(a)\", etc", - "type": "string" - } - }, - "type": "object" - }, - "LegalDate": { - "id": "LegalDate", - "properties": { - "Day": { - "format": "int32", - "type": "integer" - }, - "Month": { - "format": "int32", - "type": "integer" - }, - "Year": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "LegalPerson": { - "id": "LegalPerson", - "properties": { - "Description": { - "type": "string" - }, - "LastName": { - "type": "string" - }, - "OtherNames": { - "type": "string" - } - }, - "type": "object" - }, - "LensDiscoveryStyleAestheticsScoreSignals": { - "description": "Aesthetics score of a style image. Check http://go/styleai-indexing-g3doc#aesthetic-model for more details about the Style AI Aesthetics Model.", - "id": "LensDiscoveryStyleAestheticsScoreSignals", - "properties": { - "discretizedAestheticsScore": { - "description": "Aesthetics score discretized into range [0, 100].", - "format": "int32", - "type": "integer" - }, - "version": { - "enum": [ - "VERSION_UNKNOWN", - "AESTHETICS_V1", - "AESTHETICS_V2" - ], - "enumDescriptions": [ - "", - "V1 model is deprecated.", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LensDiscoveryStyleBoundingBox": { - "description": "Bounding box with absolute integer coordinates.", - "id": "LensDiscoveryStyleBoundingBox", - "properties": { - "x1": { - "format": "int32", - "type": "integer" - }, - "x2": { - "format": "int32", - "type": "integer" - }, - "y1": { - "format": "int32", - "type": "integer" - }, - "y2": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "LensDiscoveryStylePersonAttributes": { - "description": "This message holds person attributes from the Person Interpreter model (go/person-interpreter) and the Style AI Iconic Person Scorer (go/styleai-indexing-g3doc#iconic-person-scorer) for the most iconic person in a style image. Discretization of float values is recommended by CDS for cheaper and more efficient storage. Next ID: 11", - "id": "LensDiscoveryStylePersonAttributes", - "properties": { - "discretizedFaceVisibilityScore": { - "description": "The visibility of the face of the most iconic person in the image discretized into range [0, 100].", - "format": "int32", - "type": "integer" - }, - "discretizedFemaleConfidence": { - "format": "int32", - "type": "integer" - }, - "discretizedMaleConfidence": { - "description": "Male and female confidence scores are discretized into the [0, 100] range.", - "format": "int32", - "type": "integer" - }, - "discretizedPredictedAge": { - "description": "Age prediction is rounded to the first decimal place and multiplied by 10 (e.g. 12.3 -\u003e 123). *** Not populated in Amarna for legal reasons. ***", - "format": "int32", - "type": "integer" - }, - "discretizedVisualSaliencyScore": { - "description": "The area ratio of the most iconic person to the whole image discretized into range [0, 100].", - "format": "int32", - "type": "integer" - }, - "personBoundingBox": { - "$ref": "LensDiscoveryStyleBoundingBox", - "description": "Bounding box of the most iconic person in the image." - }, - "personVisibilityScores": { - "$ref": "LensDiscoveryStylePersonAttributesPersonVisibilityScores" - }, - "predictedAgeBucket": { - "description": "Bucketed version of the predicted age.", - "enum": [ - "PERSON_AGE_UNKNOWN", - "PERSON_AGE_YOUNG_ADULT", - "PERSON_AGE_20_29", - "PERSON_AGE_30_49", - "PERSON_AGE_50_64", - "PERSON_AGE_65_74", - "PERSON_AGE_ABOVE_75" - ], - "enumDescriptions": [ - "", - "", - "Between 20 and 29 years old (inclusive).", - "Between 30 and 49 years old (inclusive).", - "Between 50 and 64 years old (inclusive).", - "Between 65 and 74 years old (inclusive).", - "" - ], - "type": "string" - }, - "version": { - "enum": [ - "VERSION_UNKNOWN", - "LOOKNET_PERSON_V2B", - "PERSON_INTERPRETATION_V1" - ], - "enumDescriptions": [ - "", - "LookNet-Person v2b uses Person Visibility v1 model's outputs for person visibility predictions.", - "Person Interpreter v1 (go/person-interpreter-v1) uses LookNet-Person v3 for person visibility predictions and replaces the dependence on three VSS modules: person_detection, person_pose and person_templates." - ], - "type": "string" - } - }, - "type": "object" - }, - "LensDiscoveryStylePersonAttributesPersonVisibilityScores": { - "id": "LensDiscoveryStylePersonAttributesPersonVisibilityScores", - "properties": { - "discretizedPersonVisibilityScore": { - "description": "A measure of the visibility of the most iconic person between [0, 100], derived by combining all label predictions by the Person Visibility model according to go/person-visibility-formula. Higher values indicate greater visibility while lower values indicate lesser visibility.", - "format": "int32", - "type": "integer" - }, - "personVisibilityPredictions": { - "description": "Repeated for # of PersonVisibility types.", - "items": { - "$ref": "LensDiscoveryStylePersonAttributesPersonVisibilityScoresPersonVisibilityPrediction" - }, - "type": "array" - } - }, - "type": "object" - }, - "LensDiscoveryStylePersonAttributesPersonVisibilityScoresPersonVisibilityPrediction": { - "id": "LensDiscoveryStylePersonAttributesPersonVisibilityScoresPersonVisibilityPrediction", - "properties": { - "discretizedIconicPersonVisibilityConfidence": { - "description": "Confidence score of the visibility type prediction discretized into range [0, 100].", - "format": "int32", - "type": "integer" - }, - "iconicPersonVisibilityType": { - "description": "Classification of how much of the body of the most iconic person in the image is visible.", - "enum": [ - "PERSON_VISIBILITY_UNKNOWN", - "PERSON_VISIBILITY_HEAD_AND_SHOULDERS_ONLY", - "PERSON_VISIBILITY_HALF_LENGTH", - "PERSON_VISIBILITY_THREE_QUARTER_LENGTH", - "PERSON_VISIBILITY_FULL_LENGTH" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LensDiscoveryStylePersonDetectionSignals": { - "description": "This message holds bounding boxes of detected people in the image. Next ID: 3", - "id": "LensDiscoveryStylePersonDetectionSignals", - "properties": { - "detectedPersons": { - "description": "Information of all detected people in the image, sorted by decreasing size of the bounding box. We store a maximum of 10 detected people.", - "items": { - "$ref": "LensDiscoveryStylePersonDetectionSignalsDetectedPerson" - }, - "type": "array" - }, - "version": { - "enum": [ - "VERSION_UNKNOWN", - "FASTER_RCNN", - "PERSON_INTERPRETATION_V1" - ], - "enumDescriptions": [ - "", - "Faster-RCNN model is used with the LookNet-Person v2b person attributes model.", - "Retrieved from person_interpretation module (go/person-interpreter-v1)." - ], - "type": "string" - } - }, - "type": "object" - }, - "LensDiscoveryStylePersonDetectionSignalsDetectedPerson": { - "description": "Holds information about a detected person in the image.", - "id": "LensDiscoveryStylePersonDetectionSignalsDetectedPerson", - "properties": { - "boundingBox": { - "$ref": "LensDiscoveryStyleBoundingBox", - "description": "Bounding box of the detected person." - } - }, - "type": "object" - }, - "LensDiscoveryStyleStyleImageTypeSignals": { - "description": "Prediction of a style image type: Stage, Stock, Street or Outfits. Check http://go/styleai-indexing-g3doc#style-image-type-classifier for more details about the Style AI Style Image Type Classifier.", - "id": "LensDiscoveryStyleStyleImageTypeSignals", - "properties": { - "styleImageTypePredictions": { - "description": "Repeated for # of StyleImageType types.", - "items": { - "$ref": "LensDiscoveryStyleStyleImageTypeSignalsStyleImageTypePrediction" - }, - "type": "array" - }, - "version": { - "enum": [ - "VERSION_UNKNOWN", - "STYLE_IMAGE_TYPE_V1" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LensDiscoveryStyleStyleImageTypeSignalsStyleImageTypePrediction": { - "id": "LensDiscoveryStyleStyleImageTypeSignalsStyleImageTypePrediction", - "properties": { - "discretizedStyleImageTypeConfidence": { - "description": "Style image type confidence discretized into range [0, 100].", - "format": "int32", - "type": "integer" - }, - "styleImageType": { - "description": "Predicted style image type.", - "enum": [ - "TYPE_UNKNOWN", - "TYPE_STAGE", - "TYPE_STOCK", - "TYPE_STREET", - "TYPE_OUTFITS" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "ListSnippetResponse": { - "description": "Data to generate the list snippets UI.", - "id": "ListSnippetResponse", - "properties": { - "header": { - "$ref": "ListSnippetResponseRow" - }, - "isTable": { - "description": "Should list be formatted as a table?", - "type": "boolean" - }, - "row": { - "items": { - "$ref": "ListSnippetResponseRow" - }, - "type": "array" - }, - "totalRows": { - "description": "The number of rows annotated in the doc, of which 'row' is a subset.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ListSnippetResponseRow": { - "id": "ListSnippetResponseRow", - "properties": { - "column": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "LocalWWWInfo": { - "description": "Next Id: 36", - "id": "LocalWWWInfo", - "properties": { - "address": { - "items": { - "$ref": "LocalWWWInfoAddress" - }, - "type": "array" - }, - "brickAndMortarStrength": { - "format": "double", - "type": "number" - }, - "cluster": { - "items": { - "$ref": "LocalWWWInfoCluster" - }, - "type": "array" - }, - "docid": { - "format": "uint64", - "type": "string" - }, - "geotopicality": { - "$ref": "RepositoryAnnotationsGeoTopicality", - "deprecated": true, - "description": "Information about geo locations, rather than individual businesses." - }, - "hours": { - "items": { - "$ref": "LocalWWWInfoOpeningHours" - }, - "type": "array" - }, - "isLargeChain": { - "description": "Does this LocalWWWInfo represent a widely-distributed chain?", - "type": "boolean" - }, - "isLargeLocalwwwinfo": { - "type": "boolean" - }, - "phone": { - "items": { - "$ref": "LocalWWWInfoPhone" - }, - "type": "array" - }, - "siteSiblings": { - "description": "These are per-document signals independent of any particular address.", - "format": "int32", - "type": "integer" - }, - "url": { - "description": "These are for convenience during intermediate data processing, and should be cleared before the data gets into doc-joins.", - "type": "string" - }, - "wrapptorItem": { - "items": { - "$ref": "LocalWWWInfoWrapptorItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "LocalWWWInfoAddress": { - "description": "These are the addresses, phone numbers, and opening hours related to this document, or the local businesses mentioned on this document. We currently populate these fields from web extractions, i.e, from the data present explicitly on the document, but in future, they can also be filled with data coming from the local index. We populate addresses and phone numbers only if there are \u003c= 4 addresses and phone numbers on the document, respectively. This is primarily for space reasons. ", - "id": "LocalWWWInfoAddress", - "properties": { - "addrFprint": { - "format": "uint64", - "type": "string" - }, - "address": { - "$ref": "GeostoreAddressProto" - }, - "latE7": { - "format": "uint32", - "type": "integer" - }, - "lngE7": { - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "LocalWWWInfoCluster": { - "id": "LocalWWWInfoCluster", - "properties": { - "addrFprint": { - "format": "uint64", - "type": "string" - }, - "annotationConfidence": { - "description": "Confidence score for business mention annotations which is copied from LocalEntityAnnotations::location_confidence.", - "format": "float", - "type": "number" - }, - "clusterdocid": { - "format": "uint64", - "type": "string" - }, - "clusterid": { - "type": "string" - }, - "confidence": { - "description": "Probability that this is the authority page of the business. Same as LocalListing.authority_page_probability, only set for pages with page_type_flags \u0026 AUTHORITY.", - "format": "float", - "type": "number" - }, - "featureType": { - "description": "Feature type for this listing, from LocalListing::info::related_feature. A geostore::FeatureProto::TypeCategory. Intended primarily to indicate POI-ness (i.e., TYPE_ESTABLISHMENT_POI).", - "format": "int32", - "type": "integer" - }, - "hours": { - "$ref": "GeostoreTimeScheduleProto", - "description": "Opening hours for the business, from Local attributes and/or extracted annotations." - }, - "hoursSource": { - "enum": [ - "LOCAL", - "EXTRACTED_ONPAGE" - ], - "enumDescriptions": [ - "Data comes from attributes in the Local index.", - "Data comes from annotations on this page." - ], - "type": "string" - }, - "includeInIndex": { - "type": "boolean" - }, - "isPlusbox": { - "description": "TODO(local-universal) Consider deleting is_plusbox once the new scheme that uses make_plusbox_visible rolled out.", - "type": "boolean" - }, - "latitudeE6": { - "format": "int32", - "type": "integer" - }, - "level": { - "description": "DEPRECATED / NO LONGER WRITTEN. URL path level from actual references to this webpage.", - "format": "int32", - "type": "integer" - }, - "longitudeE6": { - "format": "int32", - "type": "integer" - }, - "makePlusboxVisible": { - "description": "A hint for frontend to decide whether this plusbox should be visible or not.", - "type": "boolean" - }, - "menuUrl": { - "description": "Menu link for the business. Currently only comes from Local attributes.", - "items": { - "type": "string" - }, - "type": "array" - }, - "pageTypeFlags": { - "description": "Type of the web reference.", - "format": "int32", - "type": "integer" - }, - "phoneFprint": { - "format": "uint64", - "type": "string" - }, - "phoneNumber": { - "$ref": "TelephoneNumber" - }, - "postalAddress": { - "$ref": "PostalAddress" - }, - "relevance": { - "description": "DEPRECATED / NO LONGER WRITTEN. How relevant the webpage is to the business (clustering distance). Same as LocalListing::Reference.relevance. Typically only set for pages with (page_type_flags \u0026 WEB_EXTRACTION \u0026\u0026 !AUTHORITY).", - "format": "float", - "type": "number" - }, - "showInSnippets": { - "type": "boolean" - }, - "source": { - "items": { - "type": "string" - }, - "type": "array" - }, - "title": { - "type": "string" - } - }, - "type": "object" - }, - "LocalWWWInfoOpeningHours": { - "description": "Populated from StoreHoursAnnotations.", - "id": "LocalWWWInfoOpeningHours", - "properties": { - "hours": { - "$ref": "GeostoreTimeScheduleProto" - }, - "hoursFprint": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "LocalWWWInfoPhone": { - "id": "LocalWWWInfoPhone", - "properties": { - "phoneFprint": { - "format": "uint64", - "type": "string" - }, - "phoneNumber": { - "$ref": "TelephoneNumber" - } - }, - "type": "object" - }, - "LocalWWWInfoWrapptorItem": { - "description": "A single WrapptorItem, with a business name, an address and a phone number. We keep only the fingerprints of address and phone number. The full address and phone protos will be elsewhere within LocalWWWInfo.", - "id": "LocalWWWInfoWrapptorItem", - "properties": { - "addrFprint": { - "format": "uint64", - "type": "string" - }, - "bizName": { - "type": "string" - }, - "phoneFprint": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "LocalsearchChainId": { - "description": "An unique identification of a chain. The following are the possible chain id forms: 1) prominent_entity_id only: The entity uniquely represents a chain, which may have multiple sitechunks. 2) sitechunk only: The sitechunk uniquely represents a chain while the chain currently does not have an entity in KG. 3) prominent_entity_id + sitechunk: The chain could be represented by the entity, but not merged at last, and the sitechunks represents the chain better. 4) prominent_entity_id + category: There are multiple subchains for the prominent entity, and category is used to differentiate subchains. NOTE: the size and complexity of the ChainId proto has implications in the serving system and should be thoughtfully kept under control.", - "id": "LocalsearchChainId", - "properties": { - "category": { - "description": "The category associated with this chain, currently only used for subchains.", - "type": "string" - }, - "prominentEntityId": { - "description": "The Knowledge Graph (KG) entity of the chain, found and used in chain mining.", - "type": "string" - }, - "sitechunk": { - "description": "The website sitechunk/domain that is owned by the chain.", - "type": "string" - } - }, - "type": "object" - }, - "LocalsearchDocInfo": { - "description": "Next tag: 23", - "id": "LocalsearchDocInfo", - "properties": {}, - "type": "object" - }, - "LocalsearchProtoInternalFoodOrderingActionMetadata": { - "description": "* Proto representing the metadata associated with food ordering internal action. Next ID: 13", - "id": "LocalsearchProtoInternalFoodOrderingActionMetadata", - "properties": { - "actionType": { - "description": "The action type of this action metadata.", - "enum": [ - "UNKNOWN_ACTION_TYPE", - "E2E", - "TOA", - "AUTOBOT", - "PAS" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false - ], - "enumDescriptions": [ - "Unknown type.", - "Actions lead users to Food Ordering site (orderfood.google.com), powered by end to end partners that signed the full integration contact with Google. This is the default action type for most cases. go/fopa-order-button-placesheet", - "TOA actions lead users to TOA site (eg. https://ordering.app/cuba512/downtown/contact/). go/payfood-entrypoint-experiments", - "DEPRECATED(b/261496948): Autobot has been sunset. Autobot actions lead users to 3p site that support Autobot. go/fo-autobot-triggering", - "PAS actions lead users to Food Ordering site (orderfood.google.com), but powered by PAS partners. Note that if one restaurant is supported by both E2E and PAS partners, the action type should still be E2E. go/fo-pas-integration" - ], - "type": "string" - }, - "hasPrimarilyFoodIntent": { - "description": "If true, it indicates that the merchant has a primarily food intent. This field will only be set when enable_food_gcid_strict_check in FoodOrderingRestrictionProto is true, see go/togo-unified:overlapping-for-le. See go/togo-unified-gcid for how this is calculated.", - "type": "boolean" - }, - "isOutOfOperationalHours": { - "description": "If set, indicates that the food ordering service is out of operational hours. This could only be populated if the request explicitly asks for ignore_operational_hours in request (universalsearch/rpc/geo/food_ordering_restriction.proto). Design doc: go/fo-persistent-v1.", - "type": "boolean" - }, - "isWhitelistedExternalRestaurant": { - "description": "When true, indicates that this is a whitelisted restaurant from a first party (but non FO) partner, i.e. a merchant from the orderig app, who is Google owned first party food ordering platform. Design doc: go/onboard-mavn-to-fo. Tracking bug: b/150331855", - "type": "boolean" - }, - "nextOpeningTime": { - "description": "Next opening time when the food ordering service will be available. This is only present if the unavailability reason is OUT_OF_OPERATIONAL_HOURS.", - "format": "google-datetime", - "type": "string" - }, - "onlyOrderAheadServicesAvailable": { - "description": "Indicates whether only order ahead services are available. Order ahead services allow only to place order for future and ASAP order can not be placed via them.", - "type": "boolean" - }, - "serviceInfo": { - "description": "Aggregated service information by service type. Each service type would only have one ServiceInfo. Optional.", - "items": { - "$ref": "LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfo" - }, - "type": "array" - }, - "supportedServiceType": { - "description": "Food ordering service type.", - "enum": [ - "UNKNOWN_TYPE", - "DELIVERY", - "PICKUP", - "ANY_TYPE" - ], - "enumDescriptions": [ - "Default enum value should never be used explicitly as default value field gets cleared from the final response. This can be returned only when all the partners supporting the business are log only partners.", - "Delivery service type.", - "Pick up service type.", - "ANY_TYPE means that there is no restriction on the service type and both delivery/pickup are fine." - ], - "type": "string" - }, - "unavailabilityReason": { - "description": "Reason for unavailability of internal food ordering action. This is only present when FOPA is unavailable for a particular restaurant. When this is set, all other fields in this proto will not be populated. Note(fo-search): If there are log only partners and this particular restaurant is only supported because of log only partners, this field will not be set to NOT_INTEGRATED_WITH_FOPA.", - "enum": [ - "UNKNOWN_REASON", - "NOT_INTEGRATED_WITH_FOPA", - "OUT_OF_OPERATIONAL_HOURS", - "OUT_OF_SERVICE_AREA", - "PERMANENTLY_CLOSED", - "BLACKLISTED", - "TEMPORARILY_CLOSED" - ], - "enumDescriptions": [ - "Catch-all for unrecognized enum values. See go/protodosdonts.", - "Indicates the restaurant is not integrated with any partner.", - "Indicates that the food ordering service is considered as not available due to out of operational hours. This could only be populated if ignore_operational_hours is set to false in the request (universalsearch/rpc/geo/food_ordering_restriction.proto).", - "Unable to deliver to requested address due to border rules etc.", - "Indicates that the resutaurant is permanently closed.", - "Blacklist file: /googledata/superroot/food_ordering/fopa_blacklisted_chains.txt /googledata/superroot/food_ordering/fopa_blacklisted_restaurants.txt", - "Indicates that the resutaurant is temporarily closed." - ], - "type": "string" - } - }, - "type": "object" - }, - "LocalsearchProtoInternalFoodOrderingActionMetadataAvailablePartnerInfo": { - "description": "Includes all partners that are either open now or supporting order ahead.", - "id": "LocalsearchProtoInternalFoodOrderingActionMetadataAvailablePartnerInfo", - "properties": { - "availablePartnerId": { - "description": "Available partner's id.", - "format": "int64", - "type": "string" - }, - "logOnly": { - "description": "Indicates whether the partner is log only.", - "type": "boolean" - } - }, - "type": "object" - }, - "LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfo": { - "id": "LocalsearchProtoInternalFoodOrderingActionMetadataServiceInfo", - "properties": { - "availablePartnerInfo": { - "description": "Information about Food Ordering partner, which is used for whitelisting the partner in Food Ordering entry points such as Placesheet.", - "items": { - "$ref": "LocalsearchProtoInternalFoodOrderingActionMetadataAvailablePartnerInfo" - }, - "type": "array" - }, - "maxWaitTimeSec": { - "description": "Maximum max_wait_time in second.", - "format": "int64", - "type": "string" - }, - "minDeliveryFee": { - "$ref": "GoogleTypeMoney", - "description": "Only present for delivery case, service fee is not included." - }, - "minWaitTimeSec": { - "description": "Minimum min_wait_time in second.", - "format": "int64", - "type": "string" - }, - "serviceType": { - "description": "Food ordering service type. Please note that only ServiceType.PICKUP and ServiceType.DELIVERY are valid values for this field.", - "enum": [ - "UNKNOWN_TYPE", - "DELIVERY", - "PICKUP", - "ANY_TYPE" - ], - "enumDescriptions": [ - "Default enum value should never be used explicitly as default value field gets cleared from the final response. This can be returned only when all the partners supporting the business are log only partners.", - "Delivery service type.", - "Pick up service type.", - "ANY_TYPE means that there is no restriction on the service type and both delivery/pickup are fine." - ], - "type": "string" - } - }, - "type": "object" - }, - "LogsProtoIndexingCrawlerIdCrawlerIdProto": { - "description": "Proto-representation of the Crawler-ID in Web-Search (Alexandria-Scope). The string-representation (covered in //indexing/crawler_id/scope/alexandria/crawler_id.h) and the proto-representation are identical in meaning. For more information in regard to the crawler_id, please look at //depot/google3/indexing/crawler_id Used within the following components: - WebMirror: To understand the parsed crawler-ID and apply attributes within their own tables. - Serving : to identify the crawler-ID within the GenericSearchResponse, which implies being stored in the MDU and returned by ascorer to Superroot. - QSessions: To store the crawler-ID in all logged events for analysis. The default values represent the 'empty string' crawler-ID for the Alexandria-scope.", - "id": "LogsProtoIndexingCrawlerIdCrawlerIdProto", - "properties": { - "country": { - "description": "The country to crawl the country from, defaults to the default non-specified crawling node (which is interpreted by most web-servers as USA). When specified, the crawling will fetch the document from a node in that country instead.", - "enum": [ - "NO_COUNTRY", - "AUSTRALIA", - "CANADA", - "GREAT_BRITAIN", - "MEXICO", - "RUSSIA" - ], - "enumDescriptions": [ - "", - "The countries are sorted by alphabet for convenience.", - "", - "", - "", - "" - ], - "type": "string" - }, - "deviceType": { - "description": "The device type, which maps into the useragent to be set when initiating the fetch-request, e.g. desktop-googlebot vs. smartphone-googlebot.", - "enum": [ - "DESKTOP", - "SMARTPHONE", - "MOBILE", - "JPMOBILE", - "IMAGE", - "VIDEO", - "APP", - "ANDROID_APP", - "IOS_APP", - "PIDGIN" - ], - "enumDescriptions": [ - "", - "SMARTPHONE refers to the Android user agent as used for web browsing on Android. It is used in general to get the version of a webpage as returned to smartphones, being both Android or iOS.", - "MOBILE refers to old-styled mobile phones (WAP browsers). No longer used for new data.", - "JPMOBILE refers to old-styled mobile phones (CHTML, mainly in japan). No longer used for new data.", - "IMAGE/VIDEO are specific user-agents used for the image and video crawl on the web, variations of the GoogleBot, essentially.", - "", - "APP is for app-uris, which is using in Aquarius v1. go/aquarius-design", - "ANDROID_APP and IOS_APP are for universal links, which are using in Calypso / Aquarius universal pipeline. go/v4-indexing", - "", - "PIDGIN is for synthetic docs served using the Horizon pipeline. go/pidgin-design." - ], - "type": "string" - }, - "indexGrowthExptType": { - "description": "Specifies whether the document is a duplicated document from the index growth experiment, detailed at go/indexsize_exp, defaults to not in any experiment.", - "enum": [ - "INDEX_GROWTH_EXPERIMENT_TYPE_DEFAULT", - "INDEX_GROWTH_EXPERIMENT_TYPE_DUPLICATED" - ], - "enumDescriptions": [ - "", - "Denotes a document that is a duplicate." - ], - "type": "string" - }, - "language": { - "description": "The language being set by the crawler. Defaults to UNKNOWN_LANGUAGE which indicates to not apply an accept-language header on the FetchRequest. When a language is specified, on crawling this language is converted into an accept-language header (e.g. GERMAN -\u003e \"Accept-language: de\"). Script variations, e.g. ZH-HANS vs. ZH-HANT, are handled as different enum values (e.g. CHINESE vs. CHINESE_T).", - "enum": [ - "ENGLISH", - "DANISH", - "DUTCH", - "FINNISH", - "FRENCH", - "GERMAN", - "HEBREW", - "ITALIAN", - "JAPANESE", - "KOREAN", - "NORWEGIAN", - "POLISH", - "PORTUGUESE", - "RUSSIAN", - "SPANISH", - "SWEDISH", - "CHINESE", - "CZECH", - "GREEK", - "ICELANDIC", - "LATVIAN", - "LITHUANIAN", - "ROMANIAN", - "HUNGARIAN", - "ESTONIAN", - "TG_UNKNOWN_LANGUAGE", - "UNKNOWN_LANGUAGE", - "BULGARIAN", - "CROATIAN", - "SERBIAN", - "IRISH", - "GALICIAN", - "TAGALOG", - "TURKISH", - "UKRAINIAN", - "HINDI", - "MACEDONIAN", - "BENGALI", - "INDONESIAN", - "LATIN", - "MALAY", - "MALAYALAM", - "WELSH", - "NEPALI", - "TELUGU", - "ALBANIAN", - "TAMIL", - "BELARUSIAN", - "JAVANESE", - "OCCITAN", - "URDU", - "BIHARI", - "GUJARATI", - "THAI", - "ARABIC", - "CATALAN", - "ESPERANTO", - "BASQUE", - "INTERLINGUA", - "KANNADA", - "PUNJABI", - "SCOTS_GAELIC", - "SWAHILI", - "SLOVENIAN", - "MARATHI", - "MALTESE", - "VIETNAMESE", - "FRISIAN", - "SLOVAK", - "CHINESE_T", - "FAROESE", - "SUNDANESE", - "UZBEK", - "AMHARIC", - "AZERBAIJANI", - "GEORGIAN", - "TIGRINYA", - "PERSIAN", - "BOSNIAN", - "SINHALESE", - "NORWEGIAN_N", - "PORTUGUESE_P", - "PORTUGUESE_B", - "XHOSA", - "ZULU", - "GUARANI", - "SESOTHO", - "TURKMEN", - "KYRGYZ", - "BRETON", - "TWI", - "YIDDISH", - "SERBO_CROATIAN", - "SOMALI", - "UIGHUR", - "KURDISH", - "MONGOLIAN", - "ARMENIAN", - "LAOTHIAN", - "SINDHI", - "RHAETO_ROMANCE", - "AFRIKAANS", - "LUXEMBOURGISH", - "BURMESE", - "KHMER", - "TIBETAN", - "DHIVEHI", - "CHEROKEE", - "SYRIAC", - "LIMBU", - "ORIYA", - "ASSAMESE", - "CORSICAN", - "INTERLINGUE", - "KAZAKH", - "LINGALA", - "MOLDAVIAN", - "PASHTO", - "QUECHUA", - "SHONA", - "TAJIK", - "TATAR", - "TONGA", - "YORUBA", - "CREOLES_AND_PIDGINS_ENGLISH_BASED", - "CREOLES_AND_PIDGINS_FRENCH_BASED", - "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", - "CREOLES_AND_PIDGINS_OTHER", - "MAORI", - "WOLOF", - "ABKHAZIAN", - "AFAR", - "AYMARA", - "BASHKIR", - "BISLAMA", - "DZONGKHA", - "FIJIAN", - "GREENLANDIC", - "HAUSA", - "HAITIAN_CREOLE", - "INUPIAK", - "INUKTITUT", - "KASHMIRI", - "KINYARWANDA", - "MALAGASY", - "NAURU", - "OROMO", - "RUNDI", - "SAMOAN", - "SANGO", - "SANSKRIT", - "SISWANT", - "TSONGA", - "TSWANA", - "VOLAPUK", - "ZHUANG", - "KHASI", - "SCOTS", - "GANDA", - "MANX", - "MONTENEGRIN", - "AKAN", - "IGBO", - "MAURITIAN_CREOLE", - "HAWAIIAN", - "CEBUANO", - "EWE", - "GA", - "HMONG", - "KRIO", - "LOZI", - "LUBA_LULUA", - "LUO_KENYA_AND_TANZANIA", - "NEWARI", - "NYANJA", - "OSSETIAN", - "PAMPANGA", - "PEDI", - "RAJASTHANI", - "SESELWA_CREOLE_FRENCH", - "TUMBUKA", - "VENDA", - "WARAY_PHILIPPINES", - "NUM_LANGUAGES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Norwegian\" = \"no\" normally implies Bokmål (\"nb\"). See also NORWEGIAN_N. Consider using IsNorwegianLanguage().", - "", - "WARNING: \"Portuguese\" in the enum Language implies the Iberian variant, while Google and industry standard practice is for \"pt\" to imply Brazilian, for the much larger population. The old LanguageCode() function returns \"pt\" for legacy reasons. The III LanguageEnumLanguageCodeConverter converts it to \"pt-PT\" to preserve the semantics. Converting between this legacy enum and industry-standard language tags cannot preserve the distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage().", - "", - "", - "", - "\"Chinese\" normally implies simplified Han characters (\"zh-Hans\"). See also CHINESE_T. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage().", - "", - "", - "", - "", - "", - "", - "Serbian is commonly written in two scripts. The default is Cyrillic (\"sr\" = \"sr-Cyrl\"). It is also often written with Latin letters (\"sr-Latn\"). This enum does not convey that distinction.", - "", - "", - "TAGALOG is used to mean both Tagalog (tl) and Filipino (fil). These are nearly the same; Filipino is the official language, and \"fil\" is normally used for UI settings etc. The old LanguageCode() function returns \"tl\".", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Bihari\" is not a language: There are several different languages spoken in and around the Indian state of Bihar. This is like saying \"Swiss\" to mean German+French+Italian+Romansh.", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Chinese written in traditional Han characters (\"zh-Hant\"). See also CHINESE. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "UI only. LangId language: CROATIAN (28)", - "", - "Norwegian Nynorsk (\"nn\"). See also NORWEGIAN. Consider using IsNorwegianLanguage(). UI only. LangId language: NORWEGIAN (10)", - "Portuguese in Portugal (\"pt-PT\"). See the WARNING at PORTUGUESE. Avoid a distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "Portuguese in Brazil (\"pt-BR\"). Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "", - "UI only.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "", - "This has been documented as \"Kurmanji (kmr) + Sorani (ckb) + Kurdish (ku)\". There are several kinds of Kurdish languages. \"ku\" normally implies Northern Kurdish = Kurmanji (kmr) which is normally written in Latin letters. \"ckb\" is Central Kurdish (largely in Iraq) which is normally written in Arabic letters (thus right-to-left).", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "sometimes spelled Divehi; lang of Maldives", - "", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "\"Moldavian\" is the same language as Romanian. In language tags, \"ro-MD\" can be used but is not normally necessary. Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage(). UI only. LangId language: ROMANIAN (22)", - "", - "", - "UI only.", - "", - "", - "", - "", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only. More commonly called Luganda.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "Translate only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "Translate only.", - "Translate only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "Always keep this at the end. It is not a" - ], - "type": "string" - }, - "languageCode": { - "description": "Language-code used for identifying the locale of the document. 'language' and 'country' above are used for web-based documents, representing the detected language of the document and the country it was crawled from. The language code here, however, rather represents an artifical language_code applied to manually translated webpages (e.g. feeds), for instance for the pidgin-usecase. They are limited to the set of III-codes being supported by the client, yet are beyond the enum in 'language', e.g. to support variants of English across different countries.", - "enum": [ - "LANGCODE_UNKNOWN", - "LANGCODE_EN_US", - "LANGCODE_EN_AU", - "LANGCODE_EN_CA", - "LANGCODE_DE_DE", - "LANGCODE_FR_FR", - "LANGCODE_FR_CA" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LogsSemanticInterpretationIntentQueryEntityLinkMetadata": { - "description": "Logs version of the repository_webref.EntityLinkMetadata proto Used to represent QRef implications", - "id": "LogsSemanticInterpretationIntentQueryEntityLinkMetadata", - "properties": { - "aggregateFlags": { - "$ref": "LogsSemanticInterpretationIntentQueryLinkKindFlags" - }, - "kindInfo": { - "items": { - "$ref": "LogsSemanticInterpretationIntentQueryLinkKindInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "LogsSemanticInterpretationIntentQueryLinkKindFlags": { - "description": "Logs version of the repository_webref.LinkKindFlags proto Used to represent QRef implications Next available tag: 8", - "id": "LogsSemanticInterpretationIntentQueryLinkKindFlags", - "properties": { - "cluster": { - "enum": [ - "NO_CLUSTER", - "CLUSTER_CHILD_OF", - "CLUSTER_PARENT_OF" - ], - "enumDescriptions": [ - "", - "The main entity is a child of the linked entity.", - "The main entity is a parent of the linked entity." - ], - "type": "string" - }, - "geoContainment": { - "enum": [ - "NO_CONTAINMENT", - "CONTAINED_BY", - "CONTAINS", - "PARTIAL_OVERLAP", - "HAS_STREET_NUMBER", - "LOCATED_ON_STREET" - ], - "enumDescriptions": [ - "", - "The main entity is a geographically contained by", - "the linked entity. The main entity is a geographical container of", - "the linked entity. The main entity partially overlaps with the", - "linked entity. The main entity is a street and contains the", - "street number that is represented by the linked entity. The main entity is a street number and is" - ], - "type": "string" - }, - "implication": { - "enum": [ - "NO_IMPLICATION", - "IMPLIED_BY", - "IMPLIES", - "BIDIRECTIONAL_IMPLICATION", - "UNDERMERGED" - ], - "enumDescriptions": [ - "", - "The main entity is implied by the linked entity.", - "The main entity implies the linked entity.", - "Both entities imply each other.", - "Both entities are the same concept." - ], - "type": "string" - }, - "latentEntity": { - "enum": [ - "NO_LATENT_ENTITY", - "LATENT_ENTITY", - "MANIFEST_ENTITY", - "LATENT_ENTITY_V2", - "MANIFEST_ENTITY_V2" - ], - "enumDeprecated": [ - false, - true, - true, - false, - false - ], - "enumDescriptions": [ - "There is no latent entity relationship between the entities. Default value, should not be explicitly set.", - "The relationship points to a latent entity. For example, if \"Lionel Messi\" has latent entity \"FC Barcelona\", this should be populated on the relationship from Messi to Barcelona.", - "The reverse of LATENT_ENTITY, e.g. from \"FC Barcelona\" to \"Lionel Messi\".", - "Links pointing to latent entities according to the new hierarchy. See go/refx-latent-entities.", - "Links pointing to manifest entities according to the new hierarchy." - ], - "type": "string" - }, - "mdvc": { - "enum": [ - "NO_MDVC", - "MDVC_SPECIALIZATION_OF", - "MDVC_GENERALIZATION_OF", - "MDVC_DIMENSION_VALUE", - "MDVC_DIMENSION_VALUE_OF", - "MDVC_RESOLUTION", - "MDVC_EXPANDED_OUTPUT" - ], - "enumDescriptions": [ - "", - "(Transitive) descendant in MDVC hierarchy.", - "(Transitive) ancestor in MDVC hierarchy.", - "MDVC attribute.", - "MDVC attribute owner.", - "MDVC resolution.", - "MDVC_EXPANDED_OUTPUT is used to mark the link between annotated entities and the entities that were added by output expansion, e.g. from a car model to the latest model year." - ], - "type": "string" - }, - "property": { - "enum": [ - "NO_PROPERTY", - "EQUIVALENT_TOPIC", - "EQUIVALENT_PROPERTY" - ], - "enumDescriptions": [ - "There is no property relationship between the entities. Default value, should not be explicitly set.", - "The relationship points from a property to its equivalent topic. For example, from /people/person/parents to /m/Parent.", - "The relationship points from a topic to an equivalent property. For example, from /m/Parent to /people/person/parents." - ], - "type": "string" - }, - "resolution": { - "deprecated": true, - "description": "Has not been useful since at least 2015 (before this was logged).", - "enum": [ - "NO_RESOLUTION", - "MAY_BE_RESOLVED_FROM", - "MAY_RESOLVE_TO", - "RESOLVED_FROM", - "RESOLVES_TO" - ], - "enumDeprecated": [ - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LogsSemanticInterpretationIntentQueryLinkKindInfo": { - "description": "Logs version of the repository_webref.LinkKindInfo proto Used to represent QRef implications", - "id": "LogsSemanticInterpretationIntentQueryLinkKindInfo", - "properties": { - "flags": { - "$ref": "LogsSemanticInterpretationIntentQueryLinkKindFlags" - }, - "kcLinkName": { - "deprecated": true, - "description": "Not set for a while.", - "type": "string" - }, - "topicPropertyName": { - "type": "string" - } - }, - "type": "object" - }, - "LogsSemanticInterpretationIntentQuerySupportTransferRule": { - "description": "Logs version of the repository_webref.SupportTransferRule proto Non-logs version supports go/stbr", - "id": "LogsSemanticInterpretationIntentQuerySupportTransferRule", - "properties": { - "allowWildcardIntents": { - "type": "boolean" - }, - "domain": { - "type": "string" - }, - "isReverseLink": { - "type": "boolean" - }, - "mentionsOnly": { - "type": "boolean" - }, - "supportShare": { - "type": "boolean" - }, - "targetCollection": { - "type": "string" - }, - "userCountry": { - "type": "string" - }, - "userLanguage": { - "type": "string" - } - }, - "type": "object" - }, - "LogsSemanticInterpretationIntentQueryWebrefEntityRelationship": { - "description": "Logs version of the repository_webref.WebrefEntityRelationship proto Used to represent QRef implications", - "id": "LogsSemanticInterpretationIntentQueryWebrefEntityRelationship", - "properties": { - "entityIndex": { - "format": "int32", - "type": "integer" - }, - "linkMetadata": { - "$ref": "LogsSemanticInterpretationIntentQueryEntityLinkMetadata" - }, - "linkWeight": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "LongStructuredSnippet": { - "description": "An experimental long snippet. The protocol allows any permutation of headers and plain text paragraphs, but typical responses are just paragraphs or alternating headers and paragraphs.", - "id": "LongStructuredSnippet", - "properties": { - "entry": { - "items": { - "$ref": "LongStructuredSnippetEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "LongStructuredSnippetEntry": { - "id": "LongStructuredSnippetEntry", - "properties": { - "header": { - "description": "Is this a header or normal paragraph?", - "type": "boolean" - }, - "text": { - "description": "The text of the header or paragraph.", - "type": "string" - } - }, - "type": "object" - }, - "MajelContactInformationShortcutInformation": { - "description": "The information on whether the contact is related to an app shortcut. Next ID: 2", - "id": "MajelContactInformationShortcutInformation", - "properties": { - "shortcutContactType": { - "enum": [ - "UNSPECIFIED", - "NON_SHORTCUT", - "INDIVIDUAL", - "GROUP" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "MapsQualitySpecialWordsFlags": { - "description": "Flags that describe the information about a special word. If you add another flag please add it to the special words implemenation in google3/maps/quality/internal/special_words.cc. -- Next available id: 22 --", - "id": "MapsQualitySpecialWordsFlags", - "properties": { - "isAlleyAffix": { - "description": "An affix that indicates an alley. Alleys are unnamed, numbered routes that are always linked to a \"parent street\". As these parent streets can be named e.g. \"7th street\" and alleys might be referred to as \"7th alley\", we need to be able to distinguish those affixes. For more details about alleys see go/vn-alley-geocoding.", - "type": "boolean" - }, - "isCommonWord": { - "description": "Common words E.g.: center, park, etc.", - "type": "boolean" - }, - "isDeconstructible": { - "description": "Whether this special word is part of a name without a separator (like e.g. suffix \"strasse\" in Freigutstrasse).", - "type": "boolean" - }, - "isDirectionalModifier": { - "description": "Directional modifier. E.g.: north, south, etc.", - "type": "boolean" - }, - "isDistanceMarker": { - "description": "An affix that indicates distance marker on a route, e.g., 'km'.", - "type": "boolean" - }, - "isForbiddenWord": { - "description": "Whether geo paths are forbidden to contain this word.", - "type": "boolean" - }, - "isHouseIdIdentifier": { - "description": "A keyword for a house id.", - "type": "boolean" - }, - "isIntersectionConnector": { - "description": "Intersection. E.g.: and, at, corner.", - "type": "boolean" - }, - "isLandmarkIdentifier": { - "description": "An affix that indicates a landmark, e.g. \"opposite\", \"near\" etc.", - "type": "boolean" - }, - "isLanguageIndicator": { - "description": "Language indicator. E.g.: platz in German, straat in Dutch.", - "type": "boolean" - }, - "isNameSynonym": { - "description": "Whether this is a name synonym and should be allowed to be matched on when searching (that is, added to the retrieval query with the name/ prefix).", - "type": "boolean" - }, - "isNotForLegacyStreetNumberDetection": { - "description": "Terms which are not allowed to be used by the legacy street number detection.", - "type": "boolean" - }, - "isNotOptionalizable": { - "description": "Terms which are not allowed to be treated as optional.", - "type": "boolean" - }, - "isNumber": { - "description": "Numbers. E.g.: 1, one, 2, two.", - "type": "boolean" - }, - "isNumberSuffix": { - "description": "E.g. suffixes in French: bis, ter.", - "type": "boolean" - }, - "isOptional": { - "description": "Is this special word optional?", - "type": "boolean" - }, - "isOrdinalNumber": { - "description": "E.g.: 1st, first.", - "type": "boolean" - }, - "isPenalizedIfMissing": { - "description": "Optional terms that should not geocode by themselves.", - "type": "boolean" - }, - "isPersonalTitle": { - "description": "Personal titles (e.g. doctor, professor, general, etc.)", - "type": "boolean" - }, - "isStopWord": { - "description": "E.g.: the, in, near, where.", - "type": "boolean" - }, - "isStreetNumberIdentifier": { - "description": "A keyword that denotes a street number, e.g. \"number\", \"unit\" etc.", - "type": "boolean" - } - }, - "type": "object" - }, - "MapsQualitySpecialWordsProto": { - "description": "The goal of the special words are to: - Canonicalize the user query by rewriting abbreviations into the canonical version that is indexed. - Figure out at index time for each element which tokens are important. We use this to decide if an address component is matched or not. For instance in \"1600 Pennsylvania Ave NW\" since \"NW\" is recognised as a directional (and \"Ave\" is recognised as a street visible type), \"Pennsylvania\" becomes the name and you can't match this street by just specifying \"avenue\" or \"NW\". ", - "id": "MapsQualitySpecialWordsProto", - "properties": { - "alternate": { - "description": "Alternate versions of this canonical form. This is mainly abbreviations of the canonical form e.g. \"St\", \"NE\", etc. This should be present as it is used in the specified language with the correct capitalization, accents, etc. in UTF-8.", - "items": { - "type": "string" - }, - "type": "array" - }, - "canonical": { - "description": "Canonical versions: the version which is in oyster. This should be present as it is used in the specified language with the correct capitalization, accents, etc. in UTF-8. The canonical can be a single or a multi-token string. There can be several canonicals, e.g. \"center\" and \"centre\" in English.", - "items": { - "type": "string" - }, - "type": "array" - }, - "country": { - "description": "If empty, apply this rule to any country. Otherwise, a list of ISO 3166-1 alpha-2 (2-letter uppercase) country codes that this description applies to.", - "items": { - "type": "string" - }, - "type": "array" - }, - "flags": { - "$ref": "MapsQualitySpecialWordsFlags", - "description": "Boolean flags indicating what type of special word this is." - }, - "language": { - "description": "The III language code of the language that this description applies to. No language means that this applies worldwide. This could be useful for codes like country codes or airport codes or for displayed language neutral icons. A special word with a language code here also applies to the regional variants of that language (e.g. \"en\" applies to \"en-GB\" and \"en-US\" as well).", - "items": { - "type": "string" - }, - "type": "array" - }, - "position": { - "enum": [ - "AFFIX", - "PREFIX", - "SUFFIX" - ], - "enumDescriptions": [ - "", - "the special word comes before the name", - "the special word comes after the name" - ], - "type": "string" - }, - "visibleTypeId": { - "description": "visible_type_id from VisibleTypeProto for visible types converted to the special words. For original special words this field is empty.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "MediaIndexBoundingbox": { - "description": "Stores coordinates corresponding to the dimensions of the box surrounding the region of interest. Coordinates may be normalized or absolute depending on the implementation and signal corresponding to this field.", - "id": "MediaIndexBoundingbox", - "properties": { - "areaFraction": { - "description": "The area of the region as a fraction of the image. The value is in the range (0, 1).", - "format": "float", - "type": "number" - }, - "xmax": { - "format": "float", - "type": "number" - }, - "xmin": { - "format": "float", - "type": "number" - }, - "ymax": { - "format": "float", - "type": "number" - }, - "ymin": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "MediaIndexEntityField": { - "description": "Packages entity id and score together for a given source.", - "id": "MediaIndexEntityField", - "properties": { - "customSource": { - "description": "The custom source should only be a-z[0-9] dashes, underscores, and colons. Special characters should be avoided.", - "type": "string" - }, - "entityId": { - "type": "string" - }, - "quantizedScore": { - "format": "int64", - "type": "string" - }, - "source": { - "enum": [ - "UNKNOWN", - "ICA_LABELS", - "VISUAL_DICTIONARY", - "VISUAL_SEARCH_LANDMARK", - "WEBREF_ANNOTATIONS", - "KG_KP", - "SMEARED_VISUAL_DICTIONARY", - "SMEARED_VISUAL_SEARCH_LANDMARK", - "CURATED_SIGNAL", - "LAVD_BONES", - "ICA_H_TOPICALITY", - "WEBREF_CONFIDENCE", - "LAVD_TRAVEL_SNAPWIRE", - "LAVD_TRAVEL_500PX", - "LAVD_TRAVEL_ALAMY", - "LAVD_TRAVEL_EYEEM", - "LAVD_TRAVEL_SHUTTERSTOCK", - "LAVD_TRAVEL_GETTY", - "PROVIDED_PEOPLE", - "KG_AUTOMOTIVE", - "SMEARED_NAVBOOST", - "KIWI_ENTITY_VISUAL_SCORE", - "KIWI_ENTITY_RANK", - "KIWI_ENTITY_VISUAL_SCORE_EXP", - "KIWI_ENTITY_RANK_EXP", - "IGRAPH_PRESENT_LABELS", - "IGRAPH_TOPICAL_LABELS", - "IGRAPH_CONTEXTUAL_LABELS", - "IGRAPH_INTENT_LABELS" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "MediaIndexFrameIdentifier": { - "description": "Identifier for frames associated with a video.", - "id": "MediaIndexFrameIdentifier", - "properties": { - "previewFrameZeroVariant": { - "$ref": "MediaIndexFrameIdentifierPreviewFrameZeroVariant" - }, - "timestampMs": { - "description": "Offset of the frame from the beginning of the video (in milliseconds).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "MediaIndexFrameIdentifierPreviewFrameZeroVariant": { - "description": "This variant defines the frame to be the first frame of the video's generated preview.", - "id": "MediaIndexFrameIdentifierPreviewFrameZeroVariant", - "properties": { - "previewLength": { - "enum": [ - "UNSPECIFIED", - "THREE_SECONDS", - "SIX_SECONDS" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "xtagList": { - "$ref": "MediaIndexXtagList", - "description": "All xtags used in the generation of the preview. The same frame generated from the same preview with different xtags will likely have different bytes (such as, for example, resulting from a different aspect ratio)." - } - }, - "type": "object" - }, - "MediaIndexRegion": { - "description": "Metadata associated with a region in an image. NEXT_ID: 14", - "id": "MediaIndexRegion", - "properties": { - "boundingBox": { - "$ref": "MediaIndexBoundingbox", - "description": "The bounding box corresponding to the region." - }, - "entityFields": { - "description": "Detected Entities found within this region.", - "items": { - "$ref": "MediaIndexEntityField" - }, - "type": "array" - }, - "labels": { - "$ref": "MediaIndexSparseFloatVector", - "description": "The labels associated with the region encoded as a SparseFloatVector to facilitate dot product computation during sorting. The columns are the fingerprints of the labels and the values are the corresponding confidence scores. The vector is L2 normalized." - }, - "primiApparelFeaturesV2": { - "description": "PRIMI Apparel Features v2 embedding and tokens.", - "format": "byte", - "type": "string" - }, - "primiApparelTokensV2": { - "items": { - "format": "byte", - "type": "string" - }, - "type": "array" - }, - "primiGenericFeaturesV25": { - "description": "PRIMI Generic Features v2.5 embedding and tokens.", - "format": "byte", - "type": "string" - }, - "primiGenericTokensV25": { - "items": { - "format": "byte", - "type": "string" - }, - "type": "array" - }, - "starburstFeaturesV4": { - "description": "Starburst v4 embedding and tokens.", - "format": "byte", - "type": "string" - }, - "starburstFeaturesV5": { - "description": "Starburst v5 embedding and tokens.", - "format": "byte", - "type": "string" - }, - "starburstTokensV4": { - "items": { - "format": "byte", - "type": "string" - }, - "type": "array" - }, - "starburstTokensV5": { - "items": { - "format": "byte", - "type": "string" - }, - "type": "array" - }, - "starburstV4": { - "$ref": "ImageContentStarburstVersionGroup" - }, - "starburstV5": { - "$ref": "ImageContentStarburstVersionGroup" - } - }, - "type": "object" - }, - "MediaIndexSparseFloatVector": { - "id": "MediaIndexSparseFloatVector", - "properties": { - "columns": { - "description": "Parallel arrays of column / value. Exactly one of those columns vector should be set. Columns must be in monotonically increasing order.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "columnsInt16": { - "format": "byte", - "type": "string" - }, - "columnsInt32": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "columnsInt64": { - "description": "Columns are fixed integers, used for accelerated parse.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "columnsInt8": { - "format": "byte", - "type": "string" - }, - "values": { - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "MediaIndexVideoCentroid": { - "description": "Data about the behavior of the video across the pages it is embedded in.", - "id": "MediaIndexVideoCentroid", - "properties": { - "domainScores": { - "items": { - "$ref": "MediaIndexVideoCentroidDomainScore" - }, - "type": "array" - } - }, - "type": "object" - }, - "MediaIndexVideoCentroidDomainScore": { - "description": "See go/video-centroid-domain-score.", - "id": "MediaIndexVideoCentroidDomainScore", - "properties": { - "domain": { - "description": "The domain this score was generated for.", - "type": "string" - }, - "numDocs": { - "description": "Number of pages from the domain used to generate this DomainScore.", - "format": "int32", - "type": "integer" - }, - "score": { - "description": "In general, lower scores indicate the video is appearing on more diverse pages.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "MediaIndexVideoCoreSignals": { - "description": "Core signals for video content corpus which will be fetched for every query. If a signal is required only for a subset of search queries then it should be added as a separate field in the schema.", - "id": "MediaIndexVideoCoreSignals", - "properties": { - "centroid": { - "$ref": "MediaIndexVideoCentroid" - }, - "videoFrames": { - "items": { - "$ref": "MediaIndexVideoFrame" - }, - "type": "array" - } - }, - "type": "object" - }, - "MediaIndexVideoFrame": { - "description": "Data about a frame associated with the video.", - "id": "MediaIndexVideoFrame", - "properties": { - "docid": { - "description": "The canonical docid of the frame.", - "format": "uint64", - "type": "string" - }, - "frameIdentifier": { - "$ref": "MediaIndexFrameIdentifier" - }, - "regions": { - "description": "Metadata associated with regions within this frame.", - "items": { - "$ref": "MediaIndexRegion" - }, - "type": "array" - }, - "starburstFeaturesV4": { - "description": "Starburst v4 embedding and tokens.", - "type": "string" - }, - "starburstTokensV4": { - "description": "Note: due to the migration to Golden7-source Starburst v4 embedding, no starburst_tokens_v4 will be provided in video content corpus (go/video-content-corpus). But this field is kept in case other purposes may still use it in the proto.", - "items": { - "type": "string" - }, - "type": "array" - }, - "thumbnailType": { - "description": "Set of available thumbnail types for this frame. Should be valid image_base.ThumbnailType values (enumerated at http://google3/image/base/thumbnail-type.proto).", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "MediaIndexVideoFrames": { - "description": "Data about multiple video frames associated with the video.", - "id": "MediaIndexVideoFrames", - "properties": { - "videoFrames": { - "items": { - "$ref": "MediaIndexVideoFrame" - }, - "type": "array" - } - }, - "type": "object" - }, - "MediaIndexXtag": { - "id": "MediaIndexXtag", - "properties": { - "name": { - "description": "Names are all stored case-sensitive, and no case-folding is done for comparisons.", - "type": "string" - }, - "value": { - "description": "The value associated with this Xtag. Values are all stored case-sensitive, and no case-folding is done for comparisons.", - "type": "string" - } - }, - "type": "object" - }, - "MediaIndexXtagList": { - "description": "XtagList -- a collection of Xtag instances with unique names. This would be associated with one specific piece of content.", - "id": "MediaIndexXtagList", - "properties": { - "xtags": { - "items": { - "$ref": "MediaIndexXtag" - }, - "type": "array" - } - }, - "type": "object" - }, - "MobilePerDocData": { - "description": "Note: This message is also in the RTUpdate protocol buffer.", - "id": "MobilePerDocData", - "properties": { - "flags": { - "format": "int32", - "type": "integer" - }, - "mobileurl": { - "deprecated": true, - "description": "DEPRECATED: Url of the mobile version of the document. This is set during canonicalization if we do not know that the Web url also serves the mobile version.", - "type": "string" - }, - "transcodedPageScore": { - "deprecated": true, - "description": "DEPRECATED: The transcoded page quality repesented in 7-bits range from 0 to 127.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "MultiscaleFieldPresence": { - "description": "Defines the presence of a field. This can help distinguish between empty vs. not-present annotations.", - "id": "MultiscaleFieldPresence", - "properties": { - "present": { - "description": "Whether the field (data field or pointer) is defined.", - "type": "boolean" - }, - "wellDefined": { - "enum": [ - "WD_UNDEFINED", - "WD_WELL_DEFINED", - "WD_PARTIAL" - ], - "enumDescriptions": [ - "proto3 default value.", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "MultiscaleLayerPresence": { - "description": "Defines the presence of a layer (previously called \"scale\").", - "id": "MultiscaleLayerPresence", - "properties": { - "implicitLength": { - "description": "If the layer is not materialized but things point into it, this gives the effective length.", - "format": "int32", - "type": "integer" - }, - "present": { - "description": "Whether the layer is present.", - "type": "boolean" - } - }, - "type": "object" - }, - "MultiscalePointerIndex": { - "description": "Pointer to a single node in a target scale. `pointer.Index` fields should be annotated with a `(pointer.to)` annotation, indicating what scale they point at.", - "id": "MultiscalePointerIndex", - "properties": { - "index": { - "description": "The index of the node that this pointer points to.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "MultiscalePointerSpan": { - "description": "Pointer to a contiguous range of nodes in a target scale. `pointer.Span` fields should be annotated with a `(pointer.to)` annotation, indicating what scale they point at.", - "id": "MultiscalePointerSpan", - "properties": { - "limit": { - "description": "The exclusive end index for the span of nodes that this pointer points to -- i.e., one plus the index of the last node in the span. Must be greater than or equal to `start`. If equal to `start`, then the target span is empty.", - "format": "int32", - "type": "integer" - }, - "start": { - "description": "The inclusive start index for the span of nodes that this pointer points to -- i.e., the index of the first node in the span.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "MustangReposWwwSnippetsCandidateFeature": { - "description": "CandidateFeature contains a pair of feature name and score for a snippet candidate.", - "id": "MustangReposWwwSnippetsCandidateFeature", - "properties": { - "name": { - "description": "Name corresponds to the names in WebChooserScorer::FeatureNames.", - "type": "string" - }, - "score": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "MustangReposWwwSnippetsOrganicListSnippetResponse": { - "description": "Data to generate the list preview for organic list snippets.", - "id": "MustangReposWwwSnippetsOrganicListSnippetResponse", - "properties": { - "header": { - "description": "The texts of header and listing items.", - "type": "string" - }, - "headerTitleRedundancy": { - "description": "The ratio of header tokens covered by title.", - "format": "float", - "type": "number" - }, - "headerUsedInSnippet": { - "deprecated": true, - "description": "If the header being used in organic snippet.", - "type": "boolean" - }, - "items": { - "items": { - "type": "string" - }, - "type": "array" - }, - "originalTotalItems": { - "description": "The number of items in the original list.", - "format": "int32", - "type": "integer" - }, - "radishScore": { - "description": "The score of the radish signal.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "MustangReposWwwSnippetsSnippetCandidate": { - "description": "This message contains features for candidates at the chooser level. For each snippet candidate, we also log the final score as the last candidate feature.", - "id": "MustangReposWwwSnippetsSnippetCandidate", - "properties": { - "dataSourceType": { - "description": "data_source_type corresponds to the ChosenSnippet::SnippetType enum.", - "format": "int32", - "type": "integer" - }, - "features": { - "items": { - "$ref": "MustangReposWwwSnippetsCandidateFeature" - }, - "type": "array" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "MustangReposWwwSnippetsSnippetsRanklabFeatures": { - "description": "This is a protocol buffer to export into flatfiles in ranklab. All fields are converted into flatfiles with some specific prefix and a field name like 'snippet_features_snippet_data_source_type'.", - "id": "MustangReposWwwSnippetsSnippetsRanklabFeatures", - "properties": { - "browserWidth": { - "description": "Browser width.", - "format": "int32", - "type": "integer" - }, - "candidates": { - "description": "Features for snippets candidates, generated by both old and new scorer. Currently only features for chosen candidate is generated.", - "items": { - "$ref": "MustangReposWwwSnippetsSnippetCandidate" - }, - "type": "array" - }, - "displaySnippet": { - "$ref": "QualityPreviewRanklabSnippet", - "description": "Snippet features for the final chosen snippet. This field is firstly populated by Muppet, and then overwriten by Superroot if SnippetBrain is triggered." - }, - "documentLanguage": { - "description": "locale of the document.", - "type": "string" - }, - "originalQueryTermCoverages": { - "$ref": "QualityPreviewSnippetQueryTermCoverageFeatures", - "description": "Original query term coverage in titles and / or snippets." - }, - "queryLanguage": { - "description": "locale of the query,", - "type": "string" - }, - "snippetDataSourceType": { - "description": "Snippet data source.", - "format": "int32", - "type": "integer" - }, - "snippetQueryTermCoverage": { - "description": "Query term coverage in snippets.", - "format": "float", - "type": "number" - }, - "snippets": { - "description": "Snippet features for Muppet snippet candidates. In production, only the data for chosen snippet will be recorded.", - "items": { - "$ref": "QualityPreviewRanklabSnippet" - }, - "type": "array" - }, - "titleDataSourceType": { - "description": "Title data source.", - "format": "int32", - "type": "integer" - }, - "titleQueryTermCoverage": { - "description": "Query term coverage in titles.", - "format": "float", - "type": "number" - }, - "titleSnippetQueryTermCoverage": { - "description": "Query term coverage in titles and snippets.", - "format": "float", - "type": "number" - }, - "titles": { - "description": "Per-candidate title features for ranklab models, sorted from the best candidate to the worst candidate (i.e., the first element is the actually selected title).", - "items": { - "$ref": "QualityPreviewRanklabTitle" - }, - "type": "array" - } - }, - "type": "object" - }, - "MustangSnippetsRenderedToken": { - "description": "Tidbit token rendered in generating snippet/title.", - "id": "MustangSnippetsRenderedToken", - "properties": { - "bolded": { - "description": "Is the rendered token bolded (insided )", - "type": "boolean" - }, - "byteOffsetBegin": { - "description": "Byte offset range in the rendered text that corresponds to this token. [byte_offset_begin, byte_offset_end) inclusive", - "format": "int32", - "type": "integer" - }, - "byteOffsetEnd": { - "description": "exclusive", - "format": "int32", - "type": "integer" - }, - "section": { - "description": "Section and TokenPos of the token.", - "enum": [ - "UNKNOWN", - "BODY_WITH_SOFT_TOKEN", - "GWD", - "META" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "tokenPos": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "NSRVersionedItem": { - "description": "Message representing a versioned NSR score used for experimentation. This protobuf is copied from quality_nsr::NSRVersionedItem.", - "id": "NSRVersionedItem", - "properties": { - "value": { - "description": "The NSR value corresponding to this version.", - "format": "float", - "type": "number" - }, - "versionId": { - "description": "The version id.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NetFabricRpcVirtualNetworkId": { - "description": "Globally unique identifier for a virtual network.", - "id": "NetFabricRpcVirtualNetworkId", - "properties": { - "id": { - "description": "required", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpMeaningComponentSpecificContracts": { - "description": "A Component-Specific Contract is a proto message that can be placed on various elements of the MeaningCatalog (intent schemas, slots, types) that signals whether that element is part of the contract for a given component. go/contract-based-conformance", - "id": "NlpMeaningComponentSpecificContracts", - "properties": { - "componentSpecificContracts": { - "items": { - "enum": [ - "UNSPECIFIED", - "P2_LWA" - ], - "enumDescriptions": [ - "The unspecified contract is synonymous with LWA.", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpMeaningMeaningRemodeling": { - "id": "NlpMeaningMeaningRemodeling", - "properties": { - "deletion": { - "description": "This field can be set to true to indicate that the associated part of the schema is being deleted as part of the remodeling.", - "type": "boolean" - }, - "id": { - "description": "The remodeling ID. Each remodeling has a unique ID that is used to associate changes with that remodeling.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "NlpMeaningMeaningRemodelingControl": { - "description": "This is the FunctionCall counterpart to the \"MeaningRemodelings\" structure. When present, it is used for typechecking the FunctionCall against the schema with the remodelings enabled.", - "id": "NlpMeaningMeaningRemodelingControl", - "properties": { - "remodelingId": { - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpMeaningMeaningRemodelings": { - "description": "This proto will be added as a field to part of a schema to indicate it is being remodeled.", - "id": "NlpMeaningMeaningRemodelings", - "properties": { - "remodeling": { - "items": { - "$ref": "NlpMeaningMeaningRemodeling" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpMeaningSemanticTypeNameComponentSpecificContracts": { - "description": "Component-Specific Contract for SemanticTypes, which are atomic string values (and thus can't have a ComponentSpecificContracts message attached to them). go/contract-based-conformance", - "id": "NlpMeaningSemanticTypeNameComponentSpecificContracts", - "properties": { - "componentSpecificContracts": { - "$ref": "NlpMeaningComponentSpecificContracts" - }, - "name": { - "description": "Semantic type name.", - "type": "string" - } - }, - "type": "object" - }, - "NlpMeaningSemanticTypeNameMeaningRemodelings": { - "description": "Associates remodeling data with a semantic type name.", - "id": "NlpMeaningSemanticTypeNameMeaningRemodelings", - "properties": { - "name": { - "description": "Semantic type name.", - "type": "string" - }, - "remodelings": { - "$ref": "NlpMeaningMeaningRemodelings" - } - }, - "type": "object" - }, - "NlpSaftAnnotatedPhrase": { - "description": "Representation of a phrase in the document with a particular annotation. Provides the ability to annotate arbitrary spans in the document. This is intended for representing spans that SAFT does NOT consider to be mentions of entities within a SAFT document.", - "id": "NlpSaftAnnotatedPhrase", - "properties": { - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Annotation for this phrase." - }, - "phrase": { - "$ref": "NlpSaftPhrase", - "description": "Contains start and end pointers to the token array for this span." - } - }, - "type": "object" - }, - "NlpSaftConstituencyNode": { - "description": "Constituency parse tree node with tokens as the leaf nodes.", - "id": "NlpSaftConstituencyNode", - "properties": { - "child": { - "description": "An arbitrary number of children, ordered from left to right; empty for preterminals. Represented via indices into Document.constituency_node.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "label": { - "description": "The label of the current node.", - "type": "string" - }, - "phrase": { - "$ref": "NlpSaftPhrase", - "description": "A phrase that contains information about the span and the (optional) head token. For terminal nodes the head of the phrase holds the word." - } - }, - "type": "object" - }, - "NlpSaftDocument": { - "description": "A document contains the raw text contents of the document as well as an analysis. The document can be split into tokens which can contain information about POS tags and dependency relations. The document can also contain entities and mentions of these entities in the document. Next available id: 36", - "id": "NlpSaftDocument", - "properties": { - "annotatedPhrase": { - "description": "Annotated phrases in the document that are not semantically well-defined mentions of entities.", - "items": { - "$ref": "NlpSaftAnnotatedPhrase" - }, - "type": "array" - }, - "annotations": { - "$ref": "Proto2BridgeMessageSet", - "description": "Generic annotations." - }, - "author": { - "description": "Document author(s).", - "items": { - "type": "string" - }, - "type": "array" - }, - "bylineDate": { - "description": "Document's byline date, if available: this is the date that will be shown in the snippets in web search results. It is stored as the number of seconds since epoch. See segindexer/compositedoc.proto", - "format": "int64", - "type": "string" - }, - "constituencyNode": { - "description": "Constituency parse tree nodes for the sentences in this document.", - "items": { - "$ref": "NlpSaftConstituencyNode" - }, - "type": "array" - }, - "constituencyRoot": { - "description": "The root node of the constituency tree for each sentence. If non-empty, the list of roots will be aligned with the sentences in the document. Note that some sentences may not have been parsed for various reasons; these sentences will be annotated with placeholder \"stub parses\". For details, see //nlp/saft/components/constituents/util/stub-parse.h.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "contentFirstseen": { - "description": "Stores minimum of first time google successfully crawled a document, or indexed the document with contents (i.e, not roboted). It is stored as the number of seconds since epoch. See quality/historical/signals/firstseen/firstseen.proto", - "format": "int64", - "type": "string" - }, - "contentType": { - "description": "Optional document content_type (from webutil/http/content-type.proto). Used for setting the content_type when converting the SAFT Document to a CompositeDoc. Will be inferred if not given here.", - "format": "int32", - "type": "integer" - }, - "contentage": { - "description": "Age of the content of the document. For details, see: quality/historical/shingle/signals/contentage.proto The format has been translated to a canonical timestamp (seconds since epoch).", - "format": "int64", - "type": "string" - }, - "date": { - "description": "Document anchor date in YYYYMMDDhhmmss format.", - "type": "string" - }, - "docid": { - "description": "Identifier for document.", - "type": "string" - }, - "entity": { - "description": "Entities in the document.", - "items": { - "$ref": "NlpSaftEntity" - }, - "type": "array" - }, - "entityLabel": { - "deprecated": true, - "description": "Entity labels used in this document. This field is used to define labels for the Entity::entity_type_probability field, which contains corresponding probabilities. WARNING: This field is deprecated. go/saft-replace-deprecated-entity-type", - "items": { - "type": "string" - }, - "type": "array" - }, - "focusEntity": { - "description": "Focus entity. For lexicon articles, like Wikipedia pages, a document is often about a certain entity. This is the local entity id of the focus entity for the document.", - "format": "int32", - "type": "integer" - }, - "golden": { - "description": "Flag for indicating that the document is a gold-standard document. This can be used for putting additional weight on human-labeled documents in contrast to automatically labeled annotations.", - "type": "boolean" - }, - "httpHeaders": { - "description": "HTTP header for document. If the HTTP headers field is set it should be the complete header including the HTTP status line and the trailing cr/nl. HTTP headers are not required to be valid UTF-8. Per the HTTP/1.1 Syntax (RFC7230) standard, non-ASCII octets should be treated as opaque data.", - "format": "byte", - "type": "string" - }, - "hyperlink": { - "description": "The hyperlinks in the document. Multiple hyperlinks are sorted in left-to-right order.", - "items": { - "$ref": "NlpSaftHyperlink" - }, - "type": "array" - }, - "labeledSpans": { - "additionalProperties": { - "$ref": "NlpSaftLabeledSpans" - }, - "description": "Generic labeled spans (produced by the span labeling framework, go/saft-span-labeling). The map key identifies spans of the same type. By convention, it should be of the form \"team_name/span_type_name\".", - "type": "object" - }, - "language": { - "description": "Document language (default is English). This field's value maps cleanly to the i18n.languages.Language proto enum (i18n::languages::Language in C++).", - "format": "int32", - "type": "integer" - }, - "lastSignificantUpdate": { - "description": "Last significant update of the page content, in the same format as the contentage field, and also derived from ContentAge.last_significant_update in quality/historical/shingle/signals/contentage.proto.", - "format": "int64", - "type": "string" - }, - "measure": { - "description": "Measures in the documents. This covers both time expressions as well as physical quantities.", - "items": { - "$ref": "NlpSaftMeasure" - }, - "type": "array" - }, - "privacySensitive": { - "description": "True if this document contains privacy sensitive data. When the document is transferred in RPC calls the RPC should use SSL_PRIVACY_AND_INTEGRITY security level.", - "type": "boolean" - }, - "relation": { - "description": "Relations between entities in the document.", - "items": { - "$ref": "NlpSaftRelation" - }, - "type": "array" - }, - "rpcError": { - "description": "True if some RPC which touched this document had an error.", - "type": "boolean" - }, - "semanticNode": { - "description": "The semantic nodes for the document represent arbitrary types of higher-level abstractions beyond entity mention coreference and binary relations between entities. These may include: n-ary relations, semantic frames or events. The semantic nodes for a document are the nodes in a directed acyclic graph, with an adjacency list representation.", - "items": { - "$ref": "NlpSaftSemanticNode" - }, - "type": "array" - }, - "subsection": { - "description": "Sub-sections for document for dividing a document into volumes, parts, chapters, sections, etc.", - "items": { - "$ref": "NlpSaftDocument" - }, - "type": "array" - }, - "syntacticDate": { - "description": "Document's syntactic date (e.g. date explicitly mentioned in the URL of the document or in the document title). It is stored as the number of seconds since epoch. See quality/timebased/syntacticdate/proto/syntactic-date.proto", - "format": "int64", - "type": "string" - }, - "text": { - "description": "Raw text contents of document. (In docjoin attachments from the SAFT goldmine annotator this field will be empty.)", - "type": "string" - }, - "title": { - "description": "Optional document title.", - "type": "string" - }, - "token": { - "description": "Tokenization of the document.", - "items": { - "$ref": "NlpSaftToken" - }, - "type": "array" - }, - "topic": { - "items": { - "$ref": "NlpSaftDocumentTopic" - }, - "type": "array" - }, - "trace": { - "description": "Whether to enable component tracing during analysis of this document. See http://go/saft-tracing for details.", - "type": "boolean" - }, - "url": { - "description": "Source document URL.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSaftDocumentTopic": { - "description": "Document topic(s).", - "id": "NlpSaftDocumentTopic", - "properties": { - "name": { - "description": "Topic name or identifier.", - "type": "string" - }, - "score": { - "description": "Topic score.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "NlpSaftEntity": { - "description": "Named entities in the document.", - "id": "NlpSaftEntity", - "properties": { - "antecedent": { - "description": "Antecedent for entity. This is used to make coreference chains before the mentions in the document are grouped by entity.", - "format": "int32", - "type": "integer" - }, - "entityType": { - "deprecated": true, - "description": "Entity type (e.g. PER, ORG, LOC). WARNING: This field is deprecated. go/saft-replace-deprecated-entity-type", - "type": "string" - }, - "entityTypeProbability": { - "deprecated": true, - "description": "Probability distribution over entity types. These values correspond to Document.entity_label values: doc.entity[e].entity_type_probability[n] is the probability that the correct label for doc.entity[e] is doc.entity_label[n]. These probabilities sum to 1.0 (with possible rounding error). WARNING: This field is deprecated. go/saft-replace-deprecated-entity-type", - "items": { - "format": "double", - "type": "number" - }, - "type": "array" - }, - "gender": { - "description": "Gender for entity.", - "enum": [ - "MASCULINE", - "FEMININE", - "NEUTER", - "PLURAL" - ], - "enumDescriptions": [ - "", - "", - "", - "deprecated on 2014/7/7" - ], - "type": "string" - }, - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Application-specific information about this entity." - }, - "mention": { - "description": "Mentions of the entity in the document.", - "items": { - "$ref": "NlpSaftMention" - }, - "type": "array" - }, - "name": { - "description": "Representative entity name.", - "type": "string" - }, - "profile": { - "$ref": "NlpSaftEntityProfile", - "description": "Profile for entity." - }, - "referent": { - "$ref": "NlpSaftReferent", - "description": "Referent information for discourse context entities that are not mentioned in the document. These can be merged with mentioned entities during analysis if they are deemed to be coreferent. Entities with referents should not have any mentions if they do not corefer with anything. For example, when adding context entities to an input document prior to SAFT analysis, those entities should have a referent and no mentions." - }, - "representativeMention": { - "description": "Representative mention, as an index into mention.", - "format": "int32", - "type": "integer" - }, - "salience": { - "description": "Score indicating the saliency (centrality) of this entity to the document.", - "format": "double", - "type": "number" - }, - "type": { - "description": "Entity types of the entity. These can include SAFT types (/saft/location, /saft/art, /saft/other/living_thing, etc), collections types (/collection/tv_personalities, /collection/statistical_regions, etc), and more. This refers to the type of the entity itself: in \"She is on TV\", \"She\" refers to a specific actor, with type \"/collection/tv_personalities\". Cf. Mention.Type, which is the type of the referring mention.", - "items": { - "$ref": "NlpSaftEntityType" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSaftEntityProfile": { - "description": "An entity profile contains a summary of the information about a single unique entity. Next available index: 46.", - "id": "NlpSaftEntityProfile", - "properties": { - "alternate": { - "items": { - "$ref": "NlpSaftEntityProfileAlternate" - }, - "type": "array" - }, - "annotations": { - "$ref": "Proto2BridgeMessageSet", - "description": "Generic annotations." - }, - "attribute": { - "description": "List of attributes for the entity.", - "items": { - "$ref": "NlpSaftEntityProfileAttribute" - }, - "type": "array" - }, - "canonicalName": { - "description": "Canonical entity name.", - "type": "string" - }, - "collectionScoreType": { - "enum": [ - "COLLECTION_GIVEN_ENTITY", - "ENTITY_GIVEN_COLLECTION" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "disambiguation": { - "description": "Disambiguation phrase. The combination of entity name and disambiguation phrase should be unique within the corpus.", - "type": "string" - }, - "embedding": { - "description": "Entity embeding vector, representing the entity in a dense low-dimensional embedding space.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "frame": { - "description": "Profile frame in binary SLING encoding.", - "format": "byte", - "type": "string" - }, - "gender": { - "description": "Gender of the entity.", - "enum": [ - "MASCULINE", - "FEMININE", - "NEUTER", - "PLURAL" - ], - "enumDescriptions": [ - "", - "", - "", - "deprecated on 2014/7/7" - ], - "type": "string" - }, - "id": { - "description": "Unique global id for entity.", - "format": "int64", - "type": "string" - }, - "identifier": { - "description": "External identifiers for entity.", - "items": { - "$ref": "NlpSaftIdentifier" - }, - "type": "array" - }, - "keyword": { - "items": { - "$ref": "NlpSaftEntityProfileKeyword" - }, - "type": "array" - }, - "mid": { - "description": "Freebase MID for entity. This field should be the same as FREEBASE_MID identifier for the entity profile.", - "type": "string" - }, - "name": { - "description": "Representative name for entity.", - "type": "string" - }, - "nameLanguage": { - "description": "Language for the name and disambiguation.", - "format": "int32", - "type": "integer" - }, - "nature": { - "description": "Nature of the entity.", - "enum": [ - "UNKNOWN", - "CONCEPT", - "THING", - "ESTABLISHMENT", - "INDIVIDUAL", - "GIVEN_NAME", - "FAMILY_NAME" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "reference": { - "items": { - "$ref": "NlpSaftEntityProfileReference" - }, - "type": "array" - }, - "related": { - "items": { - "$ref": "NlpSaftEntityProfileRelated" - }, - "type": "array" - }, - "type": { - "description": "Entity type.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSaftEntityProfileAlternate": { - "description": "Alternative names for entity.", - "id": "NlpSaftEntityProfileAlternate", - "properties": { - "count": { - "format": "int32", - "type": "integer" - }, - "form": { - "description": "see nlp/saft/resolution/name-form.h for values", - "format": "int32", - "type": "integer" - }, - "frame": { - "description": "frame in SLING encoding", - "format": "byte", - "type": "string" - }, - "language": { - "format": "int32", - "type": "integer" - }, - "name": { - "type": "string" - }, - "sources": { - "description": "(1 \u003c\u003c SRC_DEFAULT)", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSaftEntityProfileAttribute": { - "id": "NlpSaftEntityProfileAttribute", - "properties": { - "boolValue": { - "description": "Boolean attribute value, e.g. for IsDeceased.", - "type": "boolean" - }, - "floatValue": { - "description": "Double attribute value, e.g. for height/weight.", - "format": "double", - "type": "number" - }, - "intValue": { - "description": "Integer attribute value, e.g. IntId(\"April\").", - "format": "int64", - "type": "string" - }, - "language": { - "description": "Language, in case the attribute value is a string.", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "String name of the type of attribute, e.g. /birth/date", - "type": "string" - }, - "typeId": { - "description": "Any id of the type of the attribute, e.g. IntId(/birth/date)", - "format": "int32", - "type": "integer" - }, - "value": { - "description": "String attribute value, e.g. \"April 2010\" or \"3,235,121\".", - "type": "string" - }, - "valueType": { - "description": "The type of the value.", - "enum": [ - "ATTRIBUTE_TYPE_STRING", - "ATTRIBUTE_TYPE_INT", - "ATTRIBUTE_TYPE_FLOAT", - "ATTRIBUTE_TYPE_BOOL", - "ATTRIBUTE_TYPE_DATETIME" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSaftEntityProfileKeyword": { - "description": "Keywords and key phrases for entity.", - "id": "NlpSaftEntityProfileKeyword", - "properties": { - "count": { - "format": "int32", - "type": "integer" - }, - "language": { - "format": "int32", - "type": "integer" - }, - "score": { - "description": "Score associated with the keyword. For fine-grained types this is a probability.", - "format": "double", - "type": "number" - }, - "term": { - "type": "string" - }, - "type": { - "enum": [ - "CONTEXT", - "MENTION", - "HEADLINE", - "TOPIC", - "TEMPORAL", - "FREEBASE_TYPE", - "FREEBASE_NOTABLE_TYPE", - "FREEBASE_NOTABLE_FOR", - "FINE_TYPE", - "KG_COLLECTION", - "HYPERNYM" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSaftEntityProfileReference": { - "description": "References to entity.", - "id": "NlpSaftEntityProfileReference", - "properties": { - "docid": { - "type": "string" - }, - "entity": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSaftEntityProfileRelated": { - "description": "Related entities.", - "id": "NlpSaftEntityProfileRelated", - "properties": { - "count": { - "description": "Number of occurrences.", - "format": "int32", - "type": "integer" - }, - "inverse": { - "description": "Inverse relations can be marked in a bidirectional graph.", - "type": "boolean" - }, - "relationId": { - "description": "Optional integer id for the relation.", - "format": "int32", - "type": "integer" - }, - "relationIdentifier": { - "$ref": "NlpSaftIdentifier", - "description": "Optional external identifier for the relation." - }, - "score": { - "description": "Score for related entity, i.e. p(e-\u003er | e).", - "format": "float", - "type": "number" - }, - "targetId": { - "description": "Profile id of related entity.", - "format": "int64", - "type": "string" - }, - "targetIdentifier": { - "$ref": "NlpSaftIdentifier", - "description": "Optional external identifier for the target entity." - }, - "targetName": { - "description": "Name of related entity.", - "type": "string" - }, - "type": { - "description": "Type of relation.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSaftEntityType": { - "description": "A generic type description for an entity.", - "id": "NlpSaftEntityType", - "properties": { - "basedOnMention": { - "description": "This field can be used to specify if the entity type has been annotated or predicted from a specific mention of the entity. However, the entity type does still apply to the entity as a whole, and not just a specific mention.", - "format": "int32", - "type": "integer" - }, - "domain": { - "description": "A domain name for the set that this particular type belongs to.", - "enum": [ - "UNSPECIFIED", - "SAFT", - "SAFT_FINE", - "SAFT_FINE_MENTION", - "COLLECTIONS", - "FREEBASE", - "FIGER", - "ISA" - ], - "enumDescriptions": [ - "", - "Coarse entity types, like \"/saft/organization\".", - "Fine entity types, like \"/saft/organization/education\".", - "Mention-level fine entity types. These are annotated in cases when the entity-level type does not apply to all mentions, like in \"Bob is an animal.\" The based_on_mention value is populated correspondingly.", - "", - "", - "", - "" - ], - "type": "string" - }, - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Application-specific information about this entity type." - }, - "name": { - "description": "The type name, like \"/saft/person\". See README.entity-types for the inventory of SAFT type tags.", - "type": "string" - }, - "score": { - "description": "A score for this type.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "NlpSaftHyperlink": { - "description": "A link on an HTML page.", - "id": "NlpSaftHyperlink", - "properties": { - "anchorText": { - "description": "Clean anchor text (no HTML markup).", - "type": "string" - }, - "byteEnd": { - "description": "note: inclusive", - "format": "int32", - "type": "integer" - }, - "byteStart": { - "description": "begin/end options are for goldmine AnnotationsFinder to locate the offsets of saft tokens. Start is inclusive by default and end is marked. The indices of the first and last byte covered by the hyperlink.", - "format": "int32", - "type": "integer" - }, - "phrase": { - "$ref": "NlpSaftPhrase", - "description": "The indices of the first and last token covered by the hyperlink." - }, - "url": { - "description": "(Absolute) URL that the links to.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSaftIdentifier": { - "description": "External identifier. An external identifier is a persistent identifier for an object within a domain.", - "id": "NlpSaftIdentifier", - "properties": { - "domain": { - "description": "Domain for the identifier.", - "enum": [ - "WIKIPEDIA_ARTICLE_NAME", - "WEBREFERENCES_ID", - "FREEBASE_MID", - "WIKIPEDIA_ARTICLE_ID", - "CANONICAL_URL", - "FREEBASE_TOPIC", - "FREEBASE_MID_CHAIN", - "FREEBASE_ID", - "OYSTER_FEATURE_ID", - "WORDNET_SENSE_KEY", - "EXACT_STRING_MATCH", - "GOOGLE_PLAY_ID", - "GOOGLE_PLAY_DEVELOPER", - "GOOGLE_PLAY_TITLE", - "OXFORD_ID", - "NOUN_COMPOUND" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "id of the app on play store", - "name of the developer", - "title of the app", - "", - "" - ], - "type": "string" - }, - "id": { - "description": "Identifier within domain.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSaftLabeledSpan": { - "description": "A generic span, possibly with an associated label. The span may be defined by either byte-level or token-level boundaries.", - "id": "NlpSaftLabeledSpan", - "properties": { - "byteEnd": { - "description": "note: inclusive", - "format": "int32", - "type": "integer" - }, - "byteStart": { - "description": "The indices of the first and last byte covered by the span.", - "format": "int32", - "type": "integer" - }, - "label": { - "description": "The label associated with the span.", - "type": "string" - }, - "labelScores": { - "additionalProperties": { - "format": "float", - "type": "number" - }, - "description": "Optionally stores alternative labels with associated scores for the span.", - "type": "object" - }, - "score": { - "description": "A score associated with the span.", - "format": "float", - "type": "number" - }, - "tokenEnd": { - "description": "note: inclusive", - "format": "int32", - "type": "integer" - }, - "tokenStart": { - "description": "The indices of the first and last token covered by the span.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSaftLabeledSpans": { - "description": "A list of labeled spans of the same type.", - "id": "NlpSaftLabeledSpans", - "properties": { - "labeledSpan": { - "items": { - "$ref": "NlpSaftLabeledSpan" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSaftMeasure": { - "description": "Measures in the documents. This covers both time expressions as well as physical quantities.", - "id": "NlpSaftMeasure", - "properties": { - "canonical": { - "description": "Canonical value for measurement.", - "format": "double", - "type": "number" - }, - "granularity": { - "description": "Granularity for measurement.", - "format": "double", - "type": "number" - }, - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Application-specific information about this measure." - }, - "phrase": { - "$ref": "NlpSaftPhrase", - "description": "Phrase containing the measure." - }, - "type": { - "enum": [ - "NUMBER", - "PERCENT", - "ORDINAL", - "DATE", - "TIME", - "PERIOD", - "CURRENCY", - "LENGTH", - "AREA", - "VOLUME", - "MASS", - "TEMPERATURE", - "ANGLE", - "BRIGHTNESS", - "CHARGE", - "DATA", - "DATA_RATE", - "DURATION", - "ENERGY", - "FREQUENCY", - "FUEL_EFFICIENCY", - "POWER", - "PRESSURE", - "SPEED", - "VOLTAGE", - "RESISTANCE", - "FORCE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "unit": { - "type": "string" - }, - "value": { - "description": "Measurement value and unit.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSaftMention": { - "description": "Mentions of the entity in the document.", - "id": "NlpSaftMention", - "properties": { - "confidence": { - "description": "Estimate of the confidence that this mention is in the correct cluster. Zero means this mention is probably in the wrong cluster, 1 means this mention is probably in the correct cluster. See nlp/saft/components/coreference/coreference-confidence.h for details about what \"correct cluster\" might mean.", - "format": "double", - "type": "number" - }, - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Application-specific information about this mention." - }, - "kind": { - "enum": [ - "UNSPECIFIED_KIND", - "REFERENTIAL", - "ATTRIBUTIVE", - "MODIFIER" - ], - "enumDescriptions": [ - "", - "referential mention", - "attributive mention", - "modifier mention" - ], - "type": "string" - }, - "nestingRelation": { - "enum": [ - "UNSPECIFIED_RELATION", - "ALIAS", - "NESTED_MODIFIER", - "EPONYM", - "CONJUNCTION", - "IN_CREATIVE_WORK", - "SPECIFIED_HEAD" - ], - "enumDescriptions": [ - "", - "This mention refers to the same entity as the enclosing mention. E.g.: [[Google] Inc.]", - "This mention refers to an entity that is used as a modifier to specify or identify the enclosing mention's entity. E.g.: [[California] DMV]", - "This mention refers to an entity that the enclosing mention's entity is named after. E.g.: [[George Washington] Bridge]", - "This mention refers to an entity that forms a co-equal part that makes up the enclosing mention. E.g.: [[Roe] v [Wade]]", - "The enclosing mention is the name/title of a creative work. E.g.: [[Batman] Returns]", - "The enclosing mention is a specific instance or member of the more general entity identified by this mention. E.g.: [2008 [Winter Olympics]]" - ], - "type": "string" - }, - "phrase": { - "$ref": "NlpSaftPhrase", - "description": "Phrase for the mention." - }, - "resolution": { - "$ref": "NlpSaftMentionResolution", - "description": "Mention-level resolution. This is used for encoding the meaning of the mention rather than the entity. For example, definite references and appositions are resolved to the mid for the concept rather than the entity." - }, - "role": { - "enum": [ - "UNSPECIFIED", - "CONJUNCTION_ITEM" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "type": { - "enum": [ - "NAM", - "NOM", - "PRE", - "PRO", - "CMC", - "NRP", - "VRB", - "IMP" - ], - "enumDeprecated": [ - false, - false, - true, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "name mention (proper noun)", - "nominal mention (common noun)", - "pre-nominal mention", - "pronominal mention", - "conjoined mention construction", - "mention of a non-referential pronoun", - "Verbal mention (head of verb phrase antecedents in discourse deixis).", - "Implicit mention (e.g., elliptical subjects in pro-drop languages). The facet in the phrase indicates its role with respect to the phrase token." - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSaftMentionResolution": { - "description": "Mention resolution for encoding the concept id (e.g. mid) for a mention.", - "id": "NlpSaftMentionResolution", - "properties": { - "profile": { - "$ref": "NlpSaftEntityProfile", - "description": "Profile for mention information." - }, - "type": { - "enum": [ - "MATCH", - "BROADER_MATCH" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSaftMorphology": { - "description": "Message that stores information about the morphology of a token.", - "id": "NlpSaftMorphology", - "properties": { - "attrValue": { - "description": "A list of morphology attribute-value pairs.", - "items": { - "enum": [ - "OTHER", - "ATTR_ANIMACY", - "UNSP_ANIMACY", - "ANIMATE", - "INANIMATE", - "IRRATIONAL", - "RATIONAL", - "PERSONAL", - "ATTR_ASPECT", - "UNSP_ASPECT", - "PERFECT", - "IMPERFECT", - "PROGRESSIVE", - "ATTR_CASE", - "UNSP_CASE", - "NOMINATIVE", - "ACCUSATIVE", - "DATIVE", - "GENITIVE", - "PREPOSITIONAL", - "INSTRUMENTAL", - "VOCATIVE", - "ADVERBIAL", - "COMPLEMENTIVE", - "LOCATIVE", - "OBLIQUE", - "PARTITIVE", - "REFLEXIVE_CASE", - "RELATIVE_CASE", - "DIRECT_CASE", - "ERGATIVE", - "ATTR_DEFINITENESS", - "UNSP_DEFINITENESS", - "DEFINITE", - "INDEFINITE", - "ATTR_DEGREE", - "UNSP_DEGREE", - "COMPARATIVE", - "SUPERLATIVE", - "POSITIVE", - "ABSOLUTE_DEGREE", - "RELATIVE_DEGREE", - "ATTR_FORM", - "UNSP_FORM", - "ADNOMIAL", - "AUXILIARY", - "COMPLEMENTIZER", - "FINAL_ENDING", - "GERUND", - "IRREALIS", - "LONG_FORM", - "ORDER_FORM", - "REALIS", - "SHORT_FORM", - "SPECIFIC_FORM", - "ATTR_GENDER_AGR", - "UNSP_GENDER_AGR", - "FEMININE_AGR", - "MASCULINE_AGR", - "NEUTER_AGR", - "ATTR_GENDER", - "UNSP_GENDER", - "FEMININE", - "MASCULINE", - "NEUTER", - "PLURALE_TANTUM", - "COMMON", - "ATTR_MOOD", - "UNSP_MOOD", - "CONDITIONAL_MOOD", - "IMPERATIVE", - "INDICATIVE", - "INTERROGATIVE", - "JUSSIVE", - "SUBJUNCTIVE", - "SUBJUNCTIVE1", - "SUBJUNCTIVE2", - "OPTATIVE", - "ATTR_NUMBER_AGR", - "UNSP_NUMBER_AGR", - "SINGULAR_AGR", - "PLURAL_AGR", - "ATTR_NUMBER", - "UNSP_NUMBER", - "SINGULAR", - "PLURAL", - "DUAL", - "ATTR_PERSON", - "UNSP_PERSON", - "FIRST", - "SECOND", - "THIRD", - "REFLEXIVE_PERSON", - "ATTR_PROPER", - "UNSP_PROPER", - "NOT_PROPER", - "PROPER", - "ATTR_RECIPROCITY", - "UNSP_RECIPROCITY", - "NON_RECIPROCAL", - "RECIPROCAL", - "ATTR_TENSE", - "UNSP_TENSE", - "CONDITIONAL_TENSE", - "FUTURE", - "PAST", - "PRESENT", - "PLUPERFECT", - "IMPERFECT_TENSE", - "ATTR_VOICE", - "UNSP_VOICE", - "ACTIVE", - "CAUSATIVE", - "PASSIVE", - "ATTR_GENDER_ANTECEDENT", - "UNSP_GENDER_ANTECEDENT", - "FEMININE_ANTECEDENT", - "MASCULINE_ANTECEDENT", - "NEUTER_ANTECEDENT", - "ATTR_NUMBER_ANTECEDENT", - "UNSP_NUMBER_ANTECEDENT", - "SINGULAR_ANTECEDENT", - "PLURAL_ANTECEDENT", - "ATTR_HONORIFIC", - "UNSP_HONORIFIC", - "HONORIFIC", - "ATTR_FORMALITY", - "UNSP_FORMALITY", - "FORMAL", - "INFORMAL", - "ATTR_INFLECTION_TYPE", - "UNSP_INFLECTION_TYPE", - "WEAK_INFLECTION", - "STRONG_INFLECTION", - "MIXED_INFLECTION" - ], - "enumDescriptions": [ - "Defaults. not in list", - "Animacy.", - "animacy=unsp_r", - "animacy=anim", - "animacy=inan", - "animacy=irrat", - "animacy=rat", - "animacy=pers", - "Aspect.", - "aspect=unsp_a", - "aspect=perf", - "aspect=imperf", - "aspect=prog", - "Case.", - "case=unsp_c", - "case=nom", - "case=acc", - "case=dat", - "case=gen", - "case=prep", - "case=ins", - "case=voc", - "case=advb", - "case=comp", - "case=loc", - "case=obl", - "case=par", - "case=reflex", - "case=rel", - "case=dir", - "case=erg", - "Definiteness.", - "definiteness=unsp_d", - "definiteness=def", - "definiteness=indef", - "Degree.", - "degree=unsp_d", - "degree=cmp", - "degree=sup", - "degree=pos", - "degree=sup_a", - "degree=sup_r", - "Form.", - "form=unsp_f", - "form=adn", - "form=aux", - "form=compl", - "form=fin", - "form=ger", - "form=irr", - "form=long", - "form=ord", - "form=real", - "form=short", - "form=spcf", - "Gender agreement.", - "gender_agr=unsp_a", - "gender_agr=fem_a", - "gender_agr=masc_a", - "gender_agr=neut_a", - "Gender.", - "gender=unsp_g", - "gender=fem", - "gender=masc", - "gender=neut", - "gender=pl_tantum", - "gender=com", - "Mood.", - "mood=unsp_m", - "mood=cnd", - "mood=imp", - "mood=ind", - "mood=inter", - "mood=jus", - "mood=sub", - "mood=sub1", - "mood=sub2", - "mood=opt", - "Number agreement.", - "number_agr=unsp_a", - "number_agr=sing_a", - "number_agr=plur_a", - "Number.", - "number=unsp_n", - "number=sing", - "number=plur", - "number=dual", - "Person.", - "person=unsp_p", - "person=1", - "person=2", - "person=3", - "person=reflex", - "Proper name.", - "proper=unsp_p", - "proper=false", - "proper=true", - "Reciprocity.", - "reciprocity=unsp_r", - "reciprocity=non-rcp", - "reciprocity=rcp", - "Tense.", - "tense=unsp_t", - "tense=cnd", - "tense=fut", - "tense=past", - "tense=pres", - "tense=plup", - "tense=impf", - "Voice.", - "voice=unsp_v", - "voice=act", - "voice=cau", - "voice=pass", - "Gender antecedent.", - "gender_antecedent=unsp_a", - "gender_antecedent=fem_a", - "gender_antecedent=masc_a", - "gender_antecedent=neut_a", - "Number antecedent.", - "number_antecedent=unsp_a", - "number_antecedent=sing_a", - "number_antecedent=plur_a", - "Honorific.", - "honorific=unsp_h", - "honorific=hon", - "Formality.", - "formality=unsp_f", - "formality=fml", - "formality=ifml", - "Inflection type (also known as Declension)", - "inflection_type=unsp_i", - "inflection_type=weak", - "inflection_type=strong", - "inflection_type=mixed" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSaftPhrase": { - "description": "A document phrase marks a range of tokens in a document as a phrase. The indices are token positions in the document.", - "id": "NlpSaftPhrase", - "properties": { - "end": { - "format": "int32", - "type": "integer" - }, - "facet": { - "enum": [ - "EXPLICIT", - "SUBJ", - "DOBJ" - ], - "enumDescriptions": [ - "explicit phrase, with no implicit facet", - "subject of the phrase token", - "direct object of the phrase token" - ], - "type": "string" - }, - "head": { - "description": "The head token in the phrase is the id of the top-most token within the phrase. It either has an arc from outside the phrase going to it, or it is a root token of the sentence. A value of -1 indicates that the head has not yet been computed for the phrase (not the same semantics as the head of a token!). Note that even when it is uniquely defined, there is no guarantee that the head is set for entities and measurements within a document: you may need to explicitly compute it.", - "format": "int32", - "type": "integer" - }, - "start": { - "description": "First and last token in the phrase. The phrase goes from start to end (inclusive).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSaftReferent": { - "description": "A referent contains information about what a discourse context entity is referring to. It acts like a canonical mention of the entity.", - "id": "NlpSaftReferent", - "properties": { - "distance": { - "description": "Distance of this referent from the markables in the Document. Smaller values imply that the referent is more accessible to be an antecedent for a markable in the Document. The expectation is that this field would increase with every new Document in which this referent is not mentioned.", - "format": "double", - "type": "number" - }, - "explicitness": { - "enum": [ - "NAMED", - "DEFINITE", - "INDEFINITE" - ], - "enumDescriptions": [ - "mentioned by the actual name", - "refers to a particular object, e.g., \"the dog\"", - "groups of objects, e.g., \"dogs\"" - ], - "type": "string" - }, - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Application-specific information about this referent." - }, - "phrase": { - "$ref": "NlpSaftPhrase", - "description": "Entity name phrase. The phrase indices are relative to the token array above. The phrase should normally cover all the tokens in the name and the head must be set to be the head token of the name." - }, - "prominence": { - "description": "Prominence score for referent. This is roughly equivalent to the number of previous mentions of the referent.", - "format": "double", - "type": "number" - }, - "role": { - "enum": [ - "CONTEXT", - "NARRATOR", - "ADDRESSEE", - "SUBJECT" - ], - "enumDescriptions": [ - "Entity that has been mentioned previously in the discourse context.", - "The narrator of the discourse. This can be coreferent with first-person non-quoted pronouns in the discourse.", - "The recipient of the message in the discourse. This can be coreferent with non-quoted second-person pronouns in the discourse.", - "Prominent subject of the discourse context. This can be coreferent with referential third-person pronouns in the discourse that don't have any other possible antecedents in the discourse." - ], - "type": "string" - }, - "token": { - "description": "Tokenized representation for the canonical name of the referent entity.", - "items": { - "$ref": "NlpSaftToken" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSaftRelation": { - "description": "Relations between entities in the document. A relation is between two different entities in the document. A relation can have a number of mentions in the document. Next available id: 11", - "id": "NlpSaftRelation", - "properties": { - "identifier": { - "$ref": "NlpSaftIdentifier", - "description": "External identifier for relation." - }, - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Application-specific information about this relation." - }, - "kind": { - "enum": [ - "ENTITY", - "ATTRIBUTE" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "mention": { - "description": "Mentions of the relation in the document.", - "items": { - "$ref": "NlpSaftRelationMention" - }, - "type": "array" - }, - "score": { - "description": "Relation score.", - "format": "float", - "type": "number" - }, - "source": { - "description": "Source and target entity indices. These are indices into the entity array in the document. If this is an attribute relation the target is the index of a measure in the document.", - "format": "int32", - "type": "integer" - }, - "target": { - "format": "int32", - "type": "integer" - }, - "type": { - "description": "Relation type.", - "type": "string" - }, - "typeId": { - "description": "Relation type id.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSaftRelationMention": { - "description": "Mentions of relations in the document. A relation mention is between a mention of the source entity and a mention of the target entity.", - "id": "NlpSaftRelationMention", - "properties": { - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Application-specific information about this relation mention." - }, - "phrase": { - "$ref": "NlpSaftPhrase", - "description": "Phrase in the document that indicates the relation mention." - }, - "source": { - "description": "Source and target mention indices. These are indices into the mention arrays for their respective entities. The target is not used for attributes.", - "format": "int32", - "type": "integer" - }, - "sourceInfo": { - "description": "The info of the source models or systems of the relation mention.", - "items": { - "type": "string" - }, - "type": "array" - }, - "target": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSaftSemanticNode": { - "description": "Semantic node for annotating semantic constructions in documents. A set of SemanticNode instances represents a directed acyclic graph with an adjacency list representation. Each node can optionally be connected to some existing type system, such as PropBank. Each node can optionally be connected to one or more concrete elements in a SAFT document, specifically, an entity mention, a measure and/or a token span (Phrase). Next available id: 23", - "id": "NlpSaftSemanticNode", - "properties": { - "arc": { - "description": "The arcs from this node. For example, if this node is the root of a subgraph representing a predicate-argument structure, this node will typically refer to the predicate, and there will typically be one arc per argument.", - "items": { - "$ref": "NlpSaftSemanticNodeArc" - }, - "type": "array" - }, - "confidence": { - "description": "Confidence score for the annotation.", - "format": "float", - "type": "number" - }, - "description": { - "description": "Human-readable description of the information in the subgraph represented by this node. This field is only meant for display purposes.", - "type": "string" - }, - "entity": { - "description": "The entity and mention fields specify a unique entity mention referred to by this semantic node.", - "format": "int32", - "type": "integer" - }, - "implicit": { - "description": "Indicates whether the semantic node is not explicit (grounded) in the text (e.g. pro-drop for a text author or an implicit predicate node for interpreting a compound noun), rather than any explicit phrase or text inside the document.", - "type": "boolean" - }, - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Application-specific information about this node." - }, - "kind": { - "description": "Encodes the kind of this node and, possibly, the entire subgraph rooted at this node. For example, if this node represents a predicate-argument structure in PropBank, then this node's kind will be PROPBANK, its phrase field will be set to correspond to the span of tokens corresponding to the predicate (such as a verb) and it will have one arc per argument. If the kind is MONOTONIC this node corresponds to a semantic graph node, and arcs correspond to semantic graph edges outgoing from the node. If the kind field is not set, then this node is not directly connected to any type system. In such a case, this node may still optionally have a concrete \"payload\" in the form of references to an entity mention, measure or span of tokens (Phrase) in a SAFT document. The values or existence of the kind field need not be identical in any subgraph. For example, even if this node's kind field is not set, it may still be the destination node of an arc from some other node whose kind field is set.", - "enum": [ - "PROPBANK", - "MONOTONIC", - "FRAMENET", - "OPEN_RELATION", - "PATTERN_CLUSTERS", - "OED_WORD_SENSE", - "EVENT", - "NAME", - "TIME_EXPRESSION", - "MOLECULE", - "WORDNET", - "HYPERNYM", - "DIALOGUE", - "ANAPHOR", - "SENSE_ANTECEDENT", - "NOUN_COMPOUND", - "ISTA" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "Semantic node in the monotonic graphical semantics notation.", - "FrameNet: frame + frame elements.", - "Semantic node representing an open relation extraction.", - "Semantic node representing an event derived from patterns learned from news clusters.", - "Word senses denoted by OED lexids.", - "Semantic node representing an event or event mention.", - "Semantic node representing a proper name.", - "Semantic node representing a time expression.", - "", - "Word senses denoted by WordNet Word Sense.", - "Semantic node representing the hypernym of a mention. Each mention can have multiple hypernyms (each stored in its own SemanticNode), and these hypernyms are not necessarily mutually exclusive. go/hyperpedia, go/contextual-hp-design-doc", - "Semantic node representing a dialogue annotation, indicating lines of direct speech, entities who speak these lines, or entire conversations consisting of these lines and speakers. For a detailed reference on the schema for this annotation, see nlp/descartes/dialogue/proto/dialogue.proto.", - "Semantic node representing an anaphoric phrase whose interpretation depends on another phrase with which it is not coreferent and to which it is linked by an arc. E.g., He bought a blue car and she bought [one] too.", - "Semantic node representing a phrase whose sense (not referent) is the antecedent of an anaphoric phrase such as \"one\". E.g., He bought a [blue car] and she bought one too.", - "Representing the semantic relation between the components of a noun compound chosen from a fixed inventory of abstract relations.", - "Semantic node representing a term in the short-text (iSTA) parse of the document." - ], - "type": "string" - }, - "measure": { - "description": "The index of the measure referred to by this semantic node.", - "format": "int32", - "type": "integer" - }, - "mention": { - "format": "int32", - "type": "integer" - }, - "phrase": { - "$ref": "NlpSaftPhrase", - "description": "Phrase (span of text) for this node. This field does not need to be set, but if it is, this node has a textual \"payload\" corresponding to the specified token span. For example, if this node is the root of a subgraph corresponding to a predicate-argument structure, then the phrase field will be set to be the span of tokens corresponding to the predicate (e.g., a verb)." - }, - "type": { - "description": "Arbitrary type string for this semantic node, or for the subgraph rooted at this node. This type string might come from an external resource, type system or ontology that contains a predefined set of types.", - "type": "string" - }, - "value": { - "description": "Arbitrary value string for this semantic node.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSaftSemanticNodeArc": { - "description": "An arc contained by a source node pointing to a destination node in a directed acyclic graph.", - "id": "NlpSaftSemanticNodeArc", - "properties": { - "description": { - "description": "Human-readable description of this arc's type (for display purposes).", - "type": "string" - }, - "implicit": { - "description": "Indicates the arc is for an implicit semantic relation between nodes, for example one that does not correspond to a grammatical relation in the text.", - "type": "boolean" - }, - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Application-specific information about this arc." - }, - "semanticNode": { - "description": "Index of the semantic node pointed to by this arc.", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "Arc type (akin to an edge label, or semantic operator).", - "type": "string" - } - }, - "type": "object" - }, - "NlpSaftToken": { - "description": "A document token marks a span of bytes in the document text as a token or word. Next available index: 16.", - "id": "NlpSaftToken", - "properties": { - "breakLevel": { - "enum": [ - "NO_BREAK", - "SPACE_BREAK", - "LINE_BREAK", - "SENTENCE_BREAK", - "PARAGRAPH_BREAK", - "SECTION_BREAK", - "CHAPTER_BREAK" - ], - "enumDescriptions": [ - "No separation between tokens.", - "Tokens separated by space.", - "Tokens separated by line break.", - "Tokens separated by sentence break.", - "Tokens separated by paragraph break.", - "Tokens separated by section break.", - "Tokens separated by chapter break." - ], - "type": "string" - }, - "breakSkippedText": { - "description": "Whether the break skipped over non-tag text (excluding script/style).", - "type": "boolean" - }, - "category": { - "description": "Coarse-grained word category for token. See README.categories for category inventory.", - "type": "string" - }, - "end": { - "format": "int32", - "type": "integer" - }, - "head": { - "description": "Head of this token in the dependency tree: the id of the token which has an arc going to this one. If it is the root token of a sentence, then it is set to -1.", - "format": "int32", - "type": "integer" - }, - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Annotation for this token." - }, - "label": { - "description": "Label for dependency relation between this token and its head. See README.labels for label inventory.", - "type": "string" - }, - "lemma": { - "description": "Word lemma. This is only filled if the lemma is different from the word form.", - "type": "string" - }, - "morph": { - "$ref": "NlpSaftMorphology", - "description": "Morphology information." - }, - "scriptCode": { - "description": "A string representation (typically four letters, sometimes longer) of the token's Unicode script code, based on BCP 47/CLDR, capitalized according to ISO 15924. See i18n/identifiers/scriptcode.h for details.", - "type": "string" - }, - "start": { - "description": "[start, end] describe the inclusive byte range of the UTF-8 encoded token in document.text. End gives the index of the last byte, which may be a UTF-8 continuation byte, and the length in bytes is end - start + 1. begin/end options are for goldmine AnnotationsFinder to locate the offsets of saft tokens. Start is inclusive by default and end is marked.", - "format": "int32", - "type": "integer" - }, - "tag": { - "description": "Part-of-speech tag for token. See README.tags for tag inventory.", - "type": "string" - }, - "tagConfidence": { - "description": "Confidence score for the tag prediction -- should be interpreted as a probability estimate that the tag is correct.", - "format": "float", - "type": "number" - }, - "textProperties": { - "format": "uint32", - "type": "integer" - }, - "word": { - "description": "Token word form. This may not be identical to the original. For example, in goldmine annotation we do UTF-8 normalization and punctuation normalization. The punctuation normalization includes inferring the directionality of straight doublequotes -- that is, we map \" to open quote (``) or close quote (''), and sometimes we get it wrong. SAFT processing in other contexts (such as queries in qrewrite) involves different normalizations.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSciencelitArticleData": { - "description": "A copy of the text of an article along with references to internal figures and external citations, datasets, etc. Next available ID: 19", - "id": "NlpSciencelitArticleData", - "properties": { - "analyzedText": { - "$ref": "NlxDataSchemaScaleSet", - "description": "All the text in this article, separated into Sections and Paragraphs. See nlp_sciencelit.ScaleSetExtensions for the extensions to ScaleSet used." - }, - "articleId": { - "items": { - "$ref": "NlpSciencelitArticleId" - }, - "type": "array" - }, - "citation": { - "description": "All references from this article (Bibliography).", - "items": { - "$ref": "NlpSciencelitCitationData" - }, - "type": "array" - }, - "earliestPubDate": { - "description": "The result of selecting the earliest date from various metadata (PMC, PubMed Metadata, scholar citations).", - "type": "string" - }, - "metadata": { - "$ref": "NlpSciencelitArticleMetadata" - }, - "nonAbstractWordCount": { - "format": "int64", - "type": "string" - }, - "parsedFrom": { - "description": "Path of the source document from which this was parsed.", - "type": "string" - }, - "pubDate": { - "description": "All dates from the PMC article metadata Year/Mon/Day.", - "items": { - "$ref": "NlpSciencelitPubDate" - }, - "type": "array" - }, - "referencedBlock": { - "description": "All figure captions within this article.", - "items": { - "$ref": "NlpSciencelitReferencedBlock" - }, - "type": "array" - }, - "scholarCitation": { - "$ref": "ScienceCitation", - "description": "Citation for this article." - }, - "scholarDocument": { - "description": "DocJoins with full text article.", - "items": { - "$ref": "CompositeDoc" - }, - "type": "array" - }, - "scholarSignal": { - "$ref": "ScienceIndexSignal", - "description": "May also add the Scholar index signal information:" - }, - "source": { - "description": "Source of this article data (e.g., PubMed, scholar index, other source.).", - "type": "string" - }, - "title": { - "type": "string" - }, - "wordCount": { - "description": "Number of words in the entire article and everywhere outside of abstract sections.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "NlpSciencelitArticleId": { - "description": "Article IDs associated with an article (e.g., PMID, DOI, PMC).", - "id": "NlpSciencelitArticleId", - "properties": { - "id": { - "type": "string" - }, - "idType": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSciencelitArticleMetadata": { - "description": "Next available ID: 20.", - "id": "NlpSciencelitArticleMetadata", - "properties": { - "abstract": { - "$ref": "NlpSciencelitTokenizedText", - "description": "Abstract of article from metadata." - }, - "articleId": { - "items": { - "$ref": "NlpSciencelitArticleId" - }, - "type": "array" - }, - "author": { - "description": "Author of article.", - "items": { - "$ref": "NlpSciencelitAuthor" - }, - "type": "array" - }, - "dataset": { - "description": "Datasets referenced from this article.", - "items": { - "$ref": "NlpSciencelitDataset" - }, - "type": "array" - }, - "dateStr": { - "description": "Most recent date YYYY-MM-DD.", - "type": "string" - }, - "deleted": { - "description": "Citation for flagged for deletion by source.", - "type": "boolean" - }, - "heading": { - "description": "Mesh Terms.", - "items": { - "$ref": "NlpSciencelitMeshHeading" - }, - "type": "array" - }, - "issue": { - "type": "string" - }, - "journal": { - "description": "Title of journal. For books: Journal = Publisher Volume = Collection", - "type": "string" - }, - "language": { - "type": "string" - }, - "lastRevisedDateStr": { - "description": "Last entry revision date YYYY-MM-DD.", - "type": "string" - }, - "metadataSource": { - "items": { - "enum": [ - "UNKNOWN", - "PUBMED", - "PMC", - "SCHOLAR", - "CORD" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "parsedFrom": { - "description": "Source Pubmed/Medline XML file.", - "type": "string" - }, - "pmid": { - "description": "PMID of article (for non-pubmed data, this is the docid).", - "type": "string" - }, - "publicationType": { - "items": { - "$ref": "NlpSciencelitPublicationType" - }, - "type": "array" - }, - "scamRestrictTokens": { - "$ref": "ResearchScamV3Restrict", - "description": "Optional ScaM restrict tokens to be added to all GFVs generated from this article's data." - }, - "title": { - "description": "Title of article.", - "type": "string" - }, - "url": { - "description": "URL(s) for the document. If possible, order by decreasing desirability.", - "items": { - "type": "string" - }, - "type": "array" - }, - "volume": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSciencelitAuthor": { - "id": "NlpSciencelitAuthor", - "properties": { - "firstName": { - "type": "string" - }, - "lastName": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSciencelitCitationData": { - "description": "Next available ID: 8", - "id": "NlpSciencelitCitationData", - "properties": { - "articleId": { - "items": { - "$ref": "NlpSciencelitArticleId" - }, - "type": "array" - }, - "author": { - "items": { - "$ref": "NlpSciencelitAuthor" - }, - "type": "array" - }, - "externalLink": { - "type": "string" - }, - "fullText": { - "type": "string" - }, - "reference": { - "description": "Reference used in text (e.g., PMC rid).", - "type": "string" - }, - "scholarCitation": { - "$ref": "ScienceCitation", - "description": "Scholar citation information from scholar index." - }, - "title": { - "description": "Optional information about the publication.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSciencelitDataset": { - "id": "NlpSciencelitDataset", - "properties": { - "association": { - "enum": [ - "UNKNOWN", - "DATABANK", - "CITATION", - "MATCH" - ], - "enumDescriptions": [ - "", - "Associated DataBank marked up by PubMed https://www.nlm.nih.gov/bsd/medline_databank_source.html", - "Scholar citation from the article to the dataset Extracted from ScholarCitations in science_search dataset metadata", - "Dataset likely created together with the article Extracted from MatchingArticle in science_search dataset metadata" - ], - "type": "string" - }, - "datasetMetadata": { - "$ref": "ResearchScienceSearchReconciledMetadata" - } - }, - "type": "object" - }, - "NlpSciencelitMeshHeading": { - "description": "A full Mesh Heading containing a descriptor and optionally multiple qualifiers. https://www.nlm.nih.gov/bsd/licensee/elements_descriptions.html#meshheadinglist", - "id": "NlpSciencelitMeshHeading", - "properties": { - "meshDescriptor": { - "$ref": "NlpSciencelitSubjectHeading" - }, - "meshQualifier": { - "items": { - "$ref": "NlpSciencelitSubjectHeading" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSciencelitPubDate": { - "description": "Pubdate extracted from PMC article metadata.", - "id": "NlpSciencelitPubDate", - "properties": { - "dateStr": { - "type": "string" - }, - "pubType": { - "description": "\"ppub\" for a print ISSN and \"epub\" for an electronic ISSN.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSciencelitPublicationType": { - "id": "NlpSciencelitPublicationType", - "properties": { - "name": { - "description": "Display name for the publication type, e.g. \"Journal Article\"", - "type": "string" - }, - "ui": { - "description": "MeSH unique identifiers for publication types, e.g. \"D016428\"", - "type": "string" - } - }, - "type": "object" - }, - "NlpSciencelitReferencedBlock": { - "description": "Data associate with the ReferencesBlock. Next available ID: 5", - "id": "NlpSciencelitReferencedBlock", - "properties": { - "caption": { - "$ref": "NlpSciencelitTokenizedText", - "description": "Caption tokens - all text in the caption other than the block." - }, - "reference": { - "description": "Reference used from the text to point to this figure.", - "type": "string" - }, - "title": { - "$ref": "NlpSciencelitTokenizedText", - "description": "Title tokens - these come from a block within a caption." - }, - "type": { - "description": "Type of figure (table, figure, etc.).", - "type": "string" - } - }, - "type": "object" - }, - "NlpSciencelitRetrievalQueryEncodingDebugInfo": { - "id": "NlpSciencelitRetrievalQueryEncodingDebugInfo", - "properties": { - "scamQueryEncoding": { - "$ref": "ResearchScamGenericFeatureVector", - "description": "The query encoding sent to scam for retrieval." - } - }, - "type": "object" - }, - "NlpSciencelitRetrievalSearchResultDebugInfo": { - "description": "Returned by Delver API in SearchResult.debug_info.", - "id": "NlpSciencelitRetrievalSearchResultDebugInfo", - "properties": { - "articleData": { - "$ref": "NlpSciencelitArticleData", - "description": "Only set if RequestOptions.debug_return_article_data is true." - }, - "goldDocid": { - "items": { - "type": "string" - }, - "type": "array" - }, - "goldSnippets": { - "items": { - "type": "string" - }, - "type": "array" - }, - "isGold": { - "description": "Not set by server; only used by evals.", - "type": "boolean" - }, - "rerankingScore": { - "description": "See SearchResultInternal.reranking_score.", - "format": "float", - "type": "number" - }, - "reverseRerankingOrder": { - "description": "See SearchResultInternal.reverse_reranking_order.", - "format": "int32", - "type": "integer" - }, - "sectionIrScore": { - "additionalProperties": { - "format": "float", - "type": "number" - }, - "description": "See SearchResultInternal.section_ir_score.", - "type": "object" - } - }, - "type": "object" - }, - "NlpSciencelitRetrievalSearchResultSetDebugInfo": { - "description": "Optionally returned by Delver API in the response's debug_info field.", - "id": "NlpSciencelitRetrievalSearchResultSetDebugInfo", - "properties": { - "queryEncoding": { - "$ref": "NlpSciencelitRetrievalQueryEncodingDebugInfo" - }, - "scamResponse": { - "$ref": "ResearchScamQueryResponse" - } - }, - "type": "object" - }, - "NlpSciencelitRetrievalSnippetDebugInfo": { - "description": "Returned by Delver API in Snippet.debug_info.", - "id": "NlpSciencelitRetrievalSnippetDebugInfo", - "properties": { - "goldHighlightSentenceIndices": { - "description": "Which highlights have sentence overlap with gold snippets. Not ordered. Might only be set for the first gold highlight.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "highlightIdxToOverlap": { - "additionalProperties": { - "format": "float", - "type": "number" - }, - "description": "Map of highlight index to best overlap with any gold snippet [0,1].", - "type": "object" - }, - "highlightIdxToSentenceOverlap": { - "additionalProperties": { - "format": "float", - "type": "number" - }, - "description": "Map of highlight index to best overlap with any gold sentence [0,1].", - "type": "object" - }, - "isGold": { - "description": "Not set by server; only used by certain evals. Might only be set for the first gold snippet.", - "type": "boolean" - }, - "offsetWithinSection": { - "description": "Byte index of text within the full section text (or within title).", - "format": "int32", - "type": "integer" - }, - "sectionIndex": { - "description": "Section within the document. -1 if title.", - "format": "int32", - "type": "integer" - }, - "sectionIrScore": { - "description": "IR score of the section the snippet is coming from.", - "format": "float", - "type": "number" - }, - "snippetBleuScore": { - "description": "BLEU score for the entire snippet.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "NlpSciencelitSubjectHeading": { - "description": "A subject heading from Mesh", - "id": "NlpSciencelitSubjectHeading", - "properties": { - "id": { - "type": "string" - }, - "majorTopic": { - "type": "boolean" - }, - "term": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSciencelitTokenizedText": { - "description": "Tokenized text with optional original representation.", - "id": "NlpSciencelitTokenizedText", - "properties": { - "text": { - "type": "string" - }, - "token": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingAnnotationEvalData": { - "description": "Annotators whose semantics are represented via a protocol message should add to that message a field or extension of this type and set it using Annotator::PopulateAnnotationEvalData to enable span-based evaluation metrics in training. Evaluation is done based on token spans. The byte span aligns with the token span and is used when saving examples. Background: In some settings, the examples used to induce/train a grammar do not specify complete semantics of an annotation. For example, some examples that come from Ewok specify only the span associated with each annotation. This message allows evaluation metrics to test the span by embedding it in the semantics. LINT.IfChange", - "id": "NlpSemanticParsingAnnotationEvalData", - "properties": { - "additionalSpans": { - "description": "Additional spans after the first. Empty in all additional_spans.", - "items": { - "$ref": "NlpSemanticParsingAnnotationEvalData" - }, - "type": "array" - }, - "numBytes": { - "format": "int32", - "type": "integer" - }, - "numTokens": { - "format": "int32", - "type": "integer" - }, - "startByte": { - "description": "Byte position within the utterance. Safe to use across different components of the NLU stack as long as said components have access to the same query.", - "format": "int32", - "type": "integer" - }, - "startToken": { - "description": "Token position. This is cleared when normalizing examples for storage because tokenization changes over time. DO NOT use these two fields across components that use different tokenizations.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSemanticParsingAppAnnotation": { - "description": "The App annotator annotates potential app name in the parser's input and outputs the proto with the details about app(s).", - "id": "NlpSemanticParsingAppAnnotation", - "properties": { - "appInfo": { - "description": "The app_info is to store specific information about installed/uninstalled apps annotated by app annotator servlet. It contains app name, package name, confidence, and source.", - "items": { - "$ref": "QualityActionsAppInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingDateTimeAnnotation": { - "description": "Example: \"Remind me to go to the store on (Friday) (9am)\" would output two non-overlapping and unrelated annotations. One would have a start_date = Friday and the other would have start_time = 9am. It's possible for Friday to be one of several upcoming Friday's, so start_date is a repeated field. Next ID: 10", - "id": "NlpSemanticParsingDateTimeAnnotation", - "properties": { - "dateType": { - "enum": [ - "UNKNOWN_DATE_TYPE", - "TODAY", - "TOMORROW", - "WEEKEND", - "WEEK" - ], - "enumDescriptions": [ - "", - "", - "", - "A whole weekend, from Friday to Monday.", - "A whole week, from Sunday to the next Sunday." - ], - "type": "string" - }, - "endDate": { - "items": { - "type": "string" - }, - "type": "array" - }, - "endTime": { - "items": { - "type": "string" - }, - "type": "array" - }, - "endWeekday": { - "enum": [ - "UNKNOWN_DAY", - "SUNDAY", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "rawText": { - "type": "string" - }, - "startDate": { - "description": "NOTE: None of these are co-indexed. If the query is 'morning', there could be multiple start_time's, start_date's, end_date's, and end_time's, and they do not correspond to one another in any structured way.", - "items": { - "type": "string" - }, - "type": "array" - }, - "startTime": { - "items": { - "type": "string" - }, - "type": "array" - }, - "startWeekday": { - "enum": [ - "UNKNOWN_DAY", - "SUNDAY", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "timeType": { - "enum": [ - "UNKNOWN_TIME_TYPE", - "MORNING", - "AFTERNOON", - "EVENING", - "NIGHT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeAbsoluteDateTime": { - "description": "AbsoluteDateTime represents the resolved date/time expressions that need no further calculation. It has a section for date and a section for time. The date section will always be filled; if the time section is filled, hour is always filled; for (minute, second, partial_second), they are optional with a zero default value. But if partial_second is filled, (minute, second) must be filled, even they are 0s; if second is filled, minute must be filled. Next field#: 22.", - "id": "NlpSemanticParsingDatetimeAbsoluteDateTime", - "properties": { - "allowPersonal": { - "description": "allow_personal determines if personal datetimes are allowed to be used in the resolution of the personal datetime. If allow_personal is false and a personal date exists, the entire parse will be thrown out.", - "type": "boolean" - }, - "day": { - "format": "int32", - "type": "integer" - }, - "deleted11": { - "deprecated": true, - "description": "Deprecated fields. Do NOT use.", - "enum": [ - "NONE", - "YEAR", - "YEAR_MONTH", - "YEAR_MONTH_DAY" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "holiday": { - "$ref": "NlpSemanticParsingDatetimeHoliday", - "deprecated": true, - "description": "season, quarters and holidays will be soon handled as fetched relative datetimes and will be removed from the AbsoluteDateTime message." - }, - "hour": { - "description": "Time is 24-hour military time.", - "format": "int32", - "type": "integer" - }, - "hourState": { - "deprecated": true, - "description": "Note: This is marked as deprecated as we are moving into explicit parses using the `meridiem` field, and leave the inference over implicit parses to the grounding/resolution libraries.", - "enum": [ - "UNAMBIGUOUS", - "AMBIGUOUS", - "CHANGEABLE" - ], - "enumDescriptions": [ - "", - "", - "Changeable means that by itself, the hour should be unambiguous, but it can be changed through context. Eg. \"09:00\" vs \"09:00pm\"." - ], - "type": "string" - }, - "isBc": { - "description": "|is_bc| is true if and only the date is Before Christ/Common Era. If |is_bc| is true, only year is meaningful in this proto, as Gregorian calendar is only meaningful for A.D. date/times.", - "type": "boolean" - }, - "meridiem": { - "description": "For expressions such as \"am\", \"pm\". Note: the name \"meridiem\" has been taken by a field in message ResolutionProperties. Examples: * \"9 am\": point { hour: 9 meridiem: AM hour_state: UNAMBIGUOUS }", - "enum": [ - "INVALID_MERIDIEM", - "AM", - "PM" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "minute": { - "format": "int32", - "type": "integer" - }, - "modifier": { - "description": "For expressions such as \"around 2 pm\".", - "enum": [ - "NO_MOD", - "BEFORE", - "AFTER", - "ON_OR_BEFORE", - "ON_OR_AFTER", - "LESS_THAN", - "MORE_THAN", - "EQUAL_OR_LESS", - "EQUAL_OR_MORE", - "START", - "MID", - "END", - "APPROX", - "ADD", - "SUBTRACT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Identifies additive or subtractive duration quantities as in [10 more min].", - "" - ], - "type": "string" - }, - "month": { - "enum": [ - "NO_MONTH", - "JANUARY", - "FEBRUARY", - "MARCH", - "APRIL", - "MAY", - "JUNE", - "JULY", - "AUGUST", - "SEPTEMBER", - "OCTOBER", - "NOVEMBER", - "DECEMBER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "nonGregorianDate": { - "$ref": "NlpSemanticParsingDatetimeNonGregorianDate", - "description": "If present then: 1) the incoming non-Gregorian datetime will be converted to Gregorian. 2) exported DateTimeProperty fields will contain the converted Gregorian datetime. 3) DateTimeProperty.source_calendar will be set to the calendar-system that was used to specify the non-Gregorian date." - }, - "partialSecond": { - "format": "double", - "type": "number" - }, - "properties": { - "$ref": "NlpSemanticParsingDatetimeDateTimeProperty" - }, - "quarter": { - "deprecated": true, - "enum": [ - "INVALID_QUARTER", - "FIRST_QUARTER", - "SECOND_QUARTER", - "THIRD_QUARTER", - "FOURTH_QUARTER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "rangeModifier": { - "description": "Modifier that return the appropriate subrange. For more information, see the description of RangeOfDateTimeModifier. Example: * *early* 2020 * *early* on March 20th When a point have a range_modifier field, the resolution library will expand the point into the widest range in contains. For example, in the case of a single date point like \"April 22nd, 2022\", the point will be transformed into a range with: - \"begin: April 22nd 2022 00:00:00h\" - \"end: April 22nd 2022 23:59:59h\" The modifier will then be applied over that range.", - "enum": [ - "RANGE_MODIFIER_NONE", - "RANGE_MODIFIER_EARLY", - "RANGE_MODIFIER_MIDDLE", - "RANGE_MODIFIER_LATE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "season": { - "deprecated": true, - "enum": [ - "INVALID_SEASON", - "SPRING", - "SUMMER", - "FALL", - "WINTER", - "EARLY_SPRING", - "MID_SPRING", - "LATE_SPRING", - "EARLY_SUMMER", - "MID_SUMMER", - "LATE_SUMMER", - "EARLY_FALL", - "MID_FALL", - "LATE_FALL", - "EARLY_WINTER", - "MID_WINTER", - "LATE_WINTER" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "Deprecated values. Do not use.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "second": { - "format": "int32", - "type": "integer" - }, - "timezone": { - "description": "A string representation of the timezone information, see i18n/identifiers/timezones.{h,cc}.", - "type": "string" - }, - "weekday": { - "description": "The |weekday| field is populated to indicate that a day-of-the-week is explicitly mentioned in an absolute date utterance, such as [Tuesday, July 6th, 2021]. Note that when a day-of-the-week is included in other, non-absolute-date expressions, such as [on Tuesday], then this this field is not populated (and in fact an AbsoluteDateTime is not used at all.) Note: This field is populated only when the original expression contains a day-of-the-week. It is not populated by the grounding library to indicate that the date happens to be a Tuesday. Examples: * \"Tuesday, July 6th 2021\" --\u003e the day of the week is part of an absolute date expression, so this field is populated: point { year: 2021 month: JULY day: 6 weekday: TUESDAY } * \"on Tuesday\" --\u003e the day of the week is not part of an absolute date expression, so it is interpreted as a relative datetime: relative { fetched { target { weekday: TUESDAY } } }", - "enum": [ - "NO_DAY_OF_WEEK", - "SUNDAY", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "WEEKEND" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "Sometimes resembles Monday etc. E.g., \"2nd weekend.\"" - ], - "type": "string" - }, - "year": { - "description": "Date.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeDateTime": { - "description": "The top-level DATE/TIME representation. It can represent either (1) one or multiple Date/Time ranges, or (2) one or multiple of Date/Time points, or (3) a recurrent date/time expression. Next available ID: 12. Only one of |range|, |point| and |recurrent| will be set: |range| contains a list of resolved Date/Time ranges. |point| contains a list of resolved Date/Time points. |recurrent| contains the representation for periodical dates/times. |range| and |point| are repeated to accommodate the need when the date/time expression under one non-terminal is resolved to a list of correct values. For example, \"Mondays in April, 2014\" may have 4 correct dates.", - "id": "NlpSemanticParsingDatetimeDateTime", - "properties": { - "compositionElement": { - "$ref": "NlpSemanticParsingDatetimeDateTime", - "description": "For temporal expressions that consist of components with different types, the elements in the composition are nested according to the order they should be grounded/resolved. For example, \"tomorrow at 8am\" has a relative component [tomorrow] and an absolute datetime component [8am] so the annotation will be represented in the following way, indicating that the relative datetime for tomorrow should be grounded first, and then resolve the actual 8am point for that given date: point { hour: 8 hour_state: UNAMBIGUOUS properties { time_format: AM_PM_TOKEN } } composition_element { relative { fetched { ordinal: 1 target { unit: DAY } base_type: CURRENT_DATETIME } } grounding_stage: UNGROUNDED } grounding_stage: UNGROUNDED_COMPOSITION The composition_element field will be populated only when the grounding_stage is set to UNGROUNDED_COMPOSITION and it will hold the nested DateTime value for the rest the compositional expression. More details in: go/datetime-resolution-decoupling." - }, - "deleted7": { - "deprecated": true, - "description": "Deprecated fields. Do NOT use.", - "type": "boolean" - }, - "deleted8": { - "deprecated": true, - "type": "boolean" - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "This field of the DateTime message should not in general be used by outside clients of the grammar. It is intended to be used internally in Aqua for evaluation purposes. The rationale is that token counts depend on the particular tokenization used in Aqua which may be different from the one used by the client and may change from time to time. Outside clients should not create a dependency on the current tokenization used in Aqua." - }, - "groundingStage": { - "enum": [ - "UNKNOWN_GROUNDING_STAGE", - "UNGROUNDED", - "UNGROUNDED_COMPOSITION", - "RESOLVED", - "PARTIALLY_GROUNDED", - "FULLY_GROUNDED" - ], - "enumDescriptions": [ - "Default value of DateTime messages for which it is unknown if they are representing a datetime expression as it was explicitly expressed in a document/user query or if it is representing a complete \u0026 unambiguous datetime value.", - "DateTime messages that are created to represent an explicit datetime expression as it was expressed in a document/user query have their grounding_stage field assigned to UNGROUNDED. Even if the user's query contains an expression referring to a complete \u0026 unambiguous datetime value, it is expected that every interpretation generation parser will still create them having the grounding stage as UNGROUNDED and apply the grounding logic implemented in the DateTimeGrounder class.", - "When a datetime expression expressed in a document/user query is a composition of other simpler datetime expressions (e.g. \"monday morning next week\" is the composition \"next week(monday(morning))\") it is parsed into a nested composition of DateTime messages which have their grounding_stage fields as UNGROUNDED_COMPOSITION except for the inner-most message which will be set to UNGROUNDED. The grounding logic will compose them and ground their compositions cascading the grounding logic in bottom-up.", - "During the grounding process, DateTime messages that were resolved but not completed yet will have their grounding_stage field as RESOLVED. This is mainly for internal handling during the grounding process, it is not expected to have DateTime messages with their grounding_stage as RESOLVED being used in a final interpretation.", - "During the grounding process, it may happen that we have an intermediate DateTime message that has a subcomponent already resolved, in that case its grounding_stage field will be PARTIALLY_GROUNDED. This is mainly for internal handling during the grounding process, it is not expected to have DateTime messages with their grounding_stage as PARTIALLY_GROUNDED being used in a final interpretation.", - "DateTime messages which were fully grounded (composed, resolved and completed) with DateTimeGrounder class will have FULLY_GROUNDED as their grounding stage. Every DateTime message used in a final interpretation is expected to have its grounding_stage field to be FULLY_GROUNDED." - ], - "type": "string" - }, - "point": { - "items": { - "$ref": "NlpSemanticParsingDatetimeAbsoluteDateTime" - }, - "type": "array" - }, - "properties": { - "$ref": "NlpSemanticParsingDatetimeResolutionProperties" - }, - "range": { - "description": "Note that there is a difference between this scenario and an ambiguous date/time expression. The latter is resolved to multiple proto messages, not multiple values within one proto message. To be concrete, consider \"Monday\" in \"Monday football\". It is ambiguous and can be reasonably resolved to \"Monday last week,\" \"Monday this week\" and \"Monday next week.\" The 3 values are represented as 3 separate DateTime messages, not 3 values within one DateTime message.", - "items": { - "$ref": "NlpSemanticParsingDatetimeRange" - }, - "type": "array" - }, - "recurrent": { - "$ref": "NlpSemanticParsingDatetimeRecurrent" - }, - "relative": { - "$ref": "NlpSemanticParsingDatetimeRelativeDateTime" - }, - "span": { - "$ref": "NlpSemanticParsingDatetimeSpan", - "description": "See comments of Span." - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeDateTimeProperty": { - "description": "DateTimeProperty contains various metadata about the DateTime interpretation. Next field: 13", - "id": "NlpSemanticParsingDatetimeDateTimeProperty", - "properties": { - "dateFormat": { - "enum": [ - "DEFAULT_DATE_FORMAT", - "NUM_MONTH_DAY", - "NUM_DAY_MONTH" - ], - "enumDescriptions": [ - "", - "Numerical month followed by day: 5/6 = 6th of May", - "Numerical day followed by month: 5/6 = 5th of June" - ], - "type": "string" - }, - "expandYearToCurrent": { - "type": "boolean" - }, - "hourStatus": { - "enum": [ - "HOUR_NONE", - "HOUR_UNAMBIGUOUS", - "HOUR_AMBIGUOUS_ORIGINAL", - "HOUR_AMBIGUOUS_INFERRED" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "inferredDateValue": { - "enum": [ - "NONE", - "YEAR", - "YEAR_MONTH", - "YEAR_MONTH_DAY" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "metadata": { - "description": "Note: this may be changed to a repeated field in the future.", - "enum": [ - "NO_METADATA", - "HOLIDAY", - "ORDINAL", - "WEEKEND", - "DECADE", - "MONTH", - "DAY_OF_WEEK", - "YEAR_NUMBER", - "MONTH_YEAR", - "PERSONAL", - "SEASON", - "WEE_HOURS_INFERRED", - "PROACTIVE_DEFAULT_TIME", - "PROACTIVE_DEFAULT_DATE", - "PROACTIVE_DEFAULT_DATETIME", - "HOUR_NUMBER", - "ASTRONOMICAL_EVENT", - "RECURRENT_UNKNOWN_FREQUENCY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "personalReferenceMetadata": { - "$ref": "CopleyPersonalReferenceMetadata", - "description": "Metadata about the personal reference if the date was generated from a personal reference." - }, - "relationToReference": { - "enum": [ - "UNDEFINED", - "CLOSEST_FUTURE", - "CLOSEST_PAST", - "OTHER_FUTURE", - "OTHER_PAST" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "relative": { - "$ref": "NlpSemanticParsingDatetimeRelativeDateTime", - "description": "Expresses the relative DateTime query that gave rise to these grounded semantics." - }, - "sourceCalendar": { - "enum": [ - "GREGORIAN", - "BUDDHIST", - "CHINESE", - "COPTIC", - "ETHIOPIC", - "HEBREW", - "INDIAN_NATIONAL", - "ISLAMIC", - "JAPANESE", - "PERSIAN", - "ISLAMIC_UMALQURA" - ], - "enumDescriptions": [ - "Selected values from ECalType in third_party/icu/source/i18n/calendar.cpp", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "sourceTypeList": { - "$ref": "CopleySourceTypeList", - "description": "If the annotation was created by using personal data, we record the provenance for that data here." - }, - "timeFormat": { - "items": { - "enum": [ - "DEFAULT", - "SEPARATED_HMS", - "AM_PM_TOKEN", - "WITH_TIMEWORD" - ], - "enumDescriptions": [ - "", - "e.g. \"7:15\"", - "e.g. \"7pm\"", - "e.g. \"7 o'clock\"" - ], - "type": "string" - }, - "type": "array" - }, - "timezoneIsExplicit": { - "description": "True iff the timezone value in AbsoluteDateTime is explicit in the annotated text or not. In the following examples the timezone is explicit: Query Timezone -------------------------- -------- 10pst Pacific Standard Time 10 utc UTC 10 sydney time Australia Eastern Time", - "type": "boolean" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeDuration": { - "description": "To represent unanchored durations - the length of a date/time expression not related to calendar in local context. E.g., \"play first (DURATION: 5 minutes) of Yellow Submarine\", \"it takes (DURATION: more than 3 days) to finish.\" In contrast, queries like: \"wake me up in 5 minutes\" will be resolved to a AbsoluteDateTime since the query indicates that the reference is now. A duration can be turned into a range if either end is anchored.", - "id": "NlpSemanticParsingDatetimeDuration", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "This field of the Duration message should not in general be used by outside clients of the grammar. It is intended to be used internally in Aqua for evaluation purposes. The rationale is that token counts depend on the particular tokenization used in Aqua which may be different from the one used by the client and may change from time to time. Outside clients should not create a dependency on the current tokenization used in Aqua." - }, - "modifier": { - "description": "For expressions such as \"about 2 hrs\".", - "enum": [ - "NO_MOD", - "BEFORE", - "AFTER", - "ON_OR_BEFORE", - "ON_OR_AFTER", - "LESS_THAN", - "MORE_THAN", - "EQUAL_OR_LESS", - "EQUAL_OR_MORE", - "START", - "MID", - "END", - "APPROX", - "ADD", - "SUBTRACT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Identifies additive or subtractive duration quantities as in [10 more min].", - "" - ], - "type": "string" - }, - "quantity": { - "$ref": "NlpSemanticParsingDatetimeQuantity" - }, - "span": { - "$ref": "NlpSemanticParsingDatetimeSpan", - "description": "See comments of Span." - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeEvent": { - "description": "This message is defined to be a representation of events that could interact with datetimes expressions through composition by shifting or fetching. For \"native\" datetime events like sunset, sunrise, etc the type is enough, but this should be extended as needed to represent richer event information.", - "id": "NlpSemanticParsingDatetimeEvent", - "properties": { - "holiday": { - "enum": [ - "UNKNOWN_HOLIDAY", - "AIDS_DAY", - "AIR_FORCES_DAY", - "ALL_SAINTS_DAY", - "ALL_SOULDS_DAY", - "ANZAC_DAY", - "APARECIDA_DAY", - "APPLE_SAVIOUR_DAY", - "ARBOR_DAY", - "ARMED_FORCES_DAY", - "ARMISTICE_DAY", - "ASCENSION_DAY", - "ASH_WEDNESDAY", - "ASSUMPTION_OF_MARY", - "ATATURK_DAY", - "BERCHTOLDS_DAY", - "BLACK_DAY", - "BLACK_FRIDAY", - "BRAZIL_PROCLAMATION_DAY", - "CABOTAGE_DAY", - "CAMBODIAN_CORONATION_DAY", - "CANDLEMAS", - "CARINTHIAN_PLEBISCITE_DAY", - "CHAKRI_DAY", - "CHILDRENS_DAY", - "CHINA_COMMUNIST_PARTY_DAY", - "CHINA_GRAVE_SWEEPING_FESTIVAL", - "CHINA_HUMILIATION_DAY", - "LUNAR_NEW_YEAR", - "CHRISTMAS", - "CHRISTMAS_EVE", - "CHULA_MEMORIAL_DAY", - "CIVIL_SERVANT_DAY", - "COLUMBUS_DAY", - "COMING_OF_AGE_DAY", - "CONFUCIUS_DAY", - "CONSTITUTION_MEMORIAL_DAY", - "CONSUMERS_DAY", - "COPTIC_CHRISTMAS", - "CORPUS_CRISTI", - "CULTURE_DAY", - "CYBER_MONDAY", - "CZECH_FREEDOM_DEMOCRACY_DAY", - "DOCTORS_DAY", - "EARTH_DAY", - "EASTER", - "EASTERN_ANNUNCIATION_DAY", - "EASTER_MONDAY", - "ELECTION_DAY", - "ELECTION_DAY_RUNOFF", - "EPIPHANY", - "FATHERLAND_DEFENDER_DAY", - "FATHERS_DAY", - "FIRST_ADVENT_SUNDAY", - "FLAG_DAY", - "FLEMISH_COMMUNITY_DAY", - "FOOLS_DAY", - "FOURTH_ADVENT_SUNDAY", - "FREEDOM_DAY", - "FRENCH_COMMUNITY_DAY", - "GERMAN_COMMUNITY_DAY", - "GIRLS_DAY", - "GOOD_FRIDAY", - "GRAND_FATHERS_DAY", - "GRAND_MOTHERS_DAY", - "GRAND_PARENTS_DAY", - "GREAT_PRAYER_DAY", - "GREENERY_DAY", - "GROUNDHOG_DAY", - "HALLOWEEN", - "HEALTH_DAY", - "HIDIRELLEZ", - "HOLY_SATURDAY", - "HONEY_SAVIOUR_DAY", - "HONG_KONG_HANDOVER_DAY", - "HUMAN_RIGHTS_DAY", - "IMMACULATE_CONCEPTION_DAY", - "INDEPENDENCE_DAY", - "INDEPENDENCE_MOVEMENT_DAY", - "INTERCESSION_DAY", - "INTERNATIONAL_WORKERS_DAY", - "INTERNATIONA_WOMEN_DAY", - "JAPANESE_EMPERORS_BIRTHDAY", - "JESUS_BAPTISM", - "JOHN_HUS_DAY", - "JOURNALIST_DAY", - "KINGS_DAY", - "KING_OF_CAMBODIAS_BIRTHDAY", - "KING_OF_CAMBODIA_FATHERS_BIRTHDAY", - "KING_OF_CAMBODIA_MOTHERS_BIRTHDAY", - "KING_RAMA_IX_DEATH_ANNIVERSARY", - "KING_RAMA_X_BIRTHDAY", - "KNOWLEDGE_DAY", - "KOREAN_ALPHABET_DAY", - "KOREAN_MEMORIAL_DAY", - "KUPALA_NIGHT", - "KVEN_NATIONAL_DAY", - "LABOUR_DAY", - "LABOUR_THANKSGIVING_DAY", - "LIBERATION_DAY", - "LITTLE_CHRISTMAS_EVE", - "MACAU_DAY", - "MARDI_GRAS", - "MARTIAL_DAY", - "MARTIN_LUTHER_KING_DAY", - "MAUNDY_THURSDAY", - "MAY_DAY", - "MEDICINE_DAY", - "MELBOURNE_CUP", - "MEMORIAL_DAY", - "MIDSUMMER_DAY", - "MIDSUMMER_EVE", - "MOTHERING_SUNDAY", - "MOTHERS_DAY", - "NATIONAL_DAY", - "NATIONAL_FOUNDATION_DAY", - "NEW_YEAR", - "NEW_YEARS_EVE", - "NURSE_DAY", - "OBON_FESTIVAL", - "OCEAN_DAY", - "OCTOBER_REVOLUTION_DAY", - "ORTHODOX_CHRISTMAS", - "ORTHODOX_EASTER", - "ORTHODOX_NEW_YEAR", - "ORTHODOX_NEW_YEARS_EVE", - "PALM_SUNDAY", - "PARATROOPERS_DAY", - "PARENTS_DAY", - "PARIS_PEACE_AGREEMENTS_DAY", - "PARLIAMNET_DAY", - "PEACE_DAY", - "PENTECOST", - "PENTECOST_EVE", - "PEPERO_DAY", - "PERSIAN_NEW_YEAR", - "PLOUGHING_CEREMONY_DAY", - "POLICE_DAY", - "POLISH_MAY_HOLIDAYS", - "PORTUGAL_PROCLAMATION_DAY", - "PRESIDENT_DAY", - "REFORMATION_DAY", - "REMEMBRANCE_AND_SORROW_DAY", - "REMEMBRANCE_DAY", - "REPENTANCE_AND_PRAYER_DAY", - "REPUBLIC_DAY", - "RESPECT_FOR_THE_ELDERLY_DAY", - "ROSE_DAY", - "RUSSIAN_GUARD_DAY", - "SAINT_CYRIL_METHODIUS_DAY", - "SAINT_FLORIAN_DAY", - "SAINT_FRANCIS_DAY", - "SAINT_JOHN_DAY", - "SAINT_JOHN_EVE", - "SAINT_JOSEPH", - "SAINT_LEOPOLD_DAY", - "SAINT_LUCY_DAY", - "SAINT_MARTIN_DAY", - "SAINT_NICHOLAS_DAY", - "SAINT_OLAF_DAY", - "SAINT_RUPERT_DAY", - "SAINT_STEPHEN_DAY", - "SAMI_NATIONAL_DAY", - "SCOUTING_DAY", - "SECOND_ADVENT_SUNDAY", - "SECOND_CHRISTMAS_DAY", - "SHOWA_DAY", - "SINAI_DAY", - "SINGLES_DAY", - "SONGKRAN_DAY", - "SPORTS_DAY", - "SUNFLOWER_MOVEMENT_DAY", - "TATIANA_DAY", - "TEACHERS_DAY", - "THAI_CORONATION_DAY", - "THAI_PONGAL_DAY", - "THANKSGIVING_DAY", - "THIRD_ADVENT_SUNDAY", - "TIRADENTES_DAY", - "UNITY_DAY", - "VALENTINE_DAY", - "VETERANS_DAY", - "VICTORY_DAY", - "VIETNAMESE_REUNIFICATION_DAY", - "VIETNAM_COMMUNIST_PARTY_DAY", - "VIETNAM_REWVOLUATIONARY_PRESS_DAY", - "WALPURGIS_NIGHT", - "WENCESLAUS_DAY", - "WESTERN_ANNUNCIATION_DAY", - "WHITE_DAY", - "WHIT_MONDAY", - "WOMEN_RIGHTS_DAY", - "YOUTH_DAY" - ], - "enumDescriptions": [ - "", - "https://en.wikipedia.org/wiki/World_AIDS_Day", - "https://en.wikipedia.org/wiki/Air_Force_Day", - "https://en.wikipedia.org/wiki/All_Saints'_Day", - "https://en.wikipedia.org/wiki/All_Souls'_Day", - "https://en.wikipedia.org/wiki/Anzac_Day", - "https://en.wikipedia.org/wiki/Our_Lady_of_Aparecida", - "https://en.wikipedia.org/wiki/Apple_Feast_of_the_Saviour", - "https://en.wikipedia.org/wiki/Arbor_Day#Around_the_world", - "https://en.wikipedia.org/wiki/Armed_Forces_Day", - "https://en.wikipedia.org/wiki/Armistice_Day", - "https://en.wikipedia.org/wiki/Feast_of_the_Ascension", - "https://en.wikipedia.org/wiki/Ash_Wednesday", - "https://en.wikipedia.org/wiki/Assumption_of_Mary", - "https://en.wikipedia.org/wiki/Commemoration_of_Atat%C3%BCrk,_Youth_and_Sports_Day", - "https://en.wikipedia.org/wiki/Berchtoldstag", - "https://en.wikipedia.org/wiki/Black_Day_(South_Korea)", - "https://en.wikipedia.org/wiki/Black_Friday_(shopping)", - "https://en.wikipedia.org/wiki/Proclamation_of_the_Republic_(Brazil)", - "https://en.wikipedia.org/wiki/Cabotage_Day", - "https://en.wikipedia.org/wiki/Public_holidays_in_Cambodia", - "Candlemas / Chandeleur / Presentation day: February 2nd https://en.wikipedia.org/wiki/Candlemas", - "https://en.wikipedia.org/wiki/1920_Carinthian_plebiscite", - "https://en.wikipedia.org/wiki/Chakri_dynasty", - "https://en.wikipedia.org/wiki/Children's_Day", - "https://en.wikipedia.org/wiki/Chinese_Communist_Party", - "https://en.wikipedia.org/wiki/Qingming_Festival", - "China's National Humiliation Day: September 18th", - "https://en.wikipedia.org/wiki/Lunar_New_Year", - "https://en.wikipedia.org/wiki/Christmas", - "https://en.wikipedia.org/wiki/Christmas", - "https://en.wikipedia.org/wiki/Chulalongkorn", - "https://en.wikipedia.org/wiki/UN_Public_Service_Day", - "https://en.wikipedia.org/wiki/Columbus_Day", - "https://en.wikipedia.org/wiki/Coming_of_Age_Day https://en.wikipedia.org/wiki/Coming_of_age", - "https://en.wikipedia.org/wiki/Confucius%27_Birthday", - "https://en.wikipedia.org/wiki/Constitution_Memorial_Day https://en.wikipedia.org/wiki/Constitution_Day", - "https://en.wikipedia.org/wiki/Consumers_International#World_Consumer_Rights_Day", - "https://en.wikipedia.org/wiki/Christmas", - "https://en.wikipedia.org/wiki/Feast_of_Corpus_Christi", - "https://en.wikipedia.org/wiki/Culture_Day", - "https://en.wikipedia.org/wiki/Cyber_Monday", - "https://en.wikipedia.org/wiki/Struggle_for_Freedom_and_Democracy_Day", - "https://en.wikipedia.org/wiki/National_Doctors%27_Day", - "https://en.wikipedia.org/wiki/Earth_Day", - "https://en.wikipedia.org/wiki/Easter", - "https://en.wikipedia.org/wiki/Feast_of_the_Annunciation", - "https://en.wikipedia.org/wiki/Easter_Monday", - "https://en.wikipedia.org/wiki/Election_day", - "https://en.wikipedia.org/wiki/Election_day", - "https://en.wikipedia.org/wiki/Epiphany_(holiday)", - "https://en.wikipedia.org/wiki/Defender_of_the_Fatherland_Day", - "https://en.wikipedia.org/wiki/Father's_Day", - "https://en.wikipedia.org/wiki/Advent_Sunday", - "https://en.wikipedia.org/wiki/Flag_Day", - "Day of the Flemish commumity (Jul 11, Belgian holiday) https://en.wikipedia.org/wiki/Day_of_the_Flemish_Community", - "https://en.wikipedia.org/wiki/April_Fools'_Day", - "https://en.wikipedia.org/wiki/Advent_Sunday", - "https://en.wikipedia.org/wiki/Freedom_Day", - "Day of the French speaking community in Belgium (Sept 27, Belgian holiday) https://en.wikipedia.org/wiki/French_Community_Holiday", - "Day of the German speaking community in Belgium (Nov 15, Belgian Holiday) https://en.wikipedia.org/wiki/Day_of_the_German-speaking_Community", - "Girls' Day (Mar 7, zh-CN holiday)", - "https://en.wikipedia.org/wiki/Good_Friday", - "https://en.wikipedia.org/wiki/Grandparents%27_Day", - "https://en.wikipedia.org/wiki/Grandparents%27_Day", - "https://en.wikipedia.org/wiki/Grandparents%27_Day", - "https://en.wikipedia.org/wiki/Store_Bededag", - "https://en.wikipedia.org/wiki/Greenery_Day", - "https://en.wikipedia.org/wiki/Groundhog_Day", - "https://en.wikipedia.org/wiki/Halloween", - "https://en.wikipedia.org/wiki/World_Health_Day", - "https://en.wikipedia.org/wiki/H%C4%B1d%C4%B1rellez", - "https://en.wikipedia.org/wiki/Holy_Saturday", - "https://en.wikipedia.org/wiki/Feast_of_the_Cross", - "https://en.wikipedia.org/wiki/Handover_of_Hong_Kong", - "https://en.wikipedia.org/wiki/Human_Rights_Day", - "https://en.wikipedia.org/wiki/Feast_of_the_Immaculate_Conception", - "https://en.wikipedia.org/wiki/List_of_national_independence_days", - "https://en.wikipedia.org/wiki/March_1st_Movement", - "https://en.wikipedia.org/wiki/Intercession_of_the_Theotokos", - "https://en.wikipedia.org/wiki/International_Workers%27_Day", - "https://en.wikipedia.org/wiki/International_Women's_Day", - "https://en.wikipedia.org/wiki/The_Emperor's_Birthday", - "https://en.wikipedia.org/wiki/Baptism_of_Jesus", - "https://en.wikipedia.org/wiki/Jan_Hus#Holidays_commemorating_Hus", - "https://en.wikipedia.org/wiki/World_Press_Freedom_Day", - "https://en.wikipedia.org/wiki/Koningsdag", - "https://en.wikipedia.org/wiki/Norodom_Sihamoni", - "https://en.wikipedia.org/wiki/Norodom_Sihanouk#Death_and_funeral", - "https://en.wikipedia.org/wiki/Norodom_Monineath", - "https://en.wikipedia.org/wiki/Bhumibol_Adulyadej", - "https://en.wikipedia.org/wiki/Bhumibol_Adulyadej", - "https://en.wikipedia.org/wiki/Knowledge_Day", - "https://en.wikipedia.org/wiki/Hangul_Day", - "https://en.wikipedia.org/wiki/Memorial_Day_(South_Korea)", - "https://en.wikipedia.org/wiki/Kupala_Night", - "https://en.wikipedia.org/wiki/Kven_people", - "https://en.wikipedia.org/wiki/Labour_Day", - "https://en.wikipedia.org/wiki/Labor_Thanksgiving_Day", - "https://en.wikipedia.org/wiki/Liberation_Day", - "https://da.wikipedia.org/wiki/Lillejuleaften", - "https://en.wikipedia.org/wiki/Macau", - "https://en.wikipedia.org/wiki/Mardi_Gras", - "Martial Day: July 15th", - "https://en.wikipedia.org/wiki/Martin_Luther_King_Jr._Day", - "https://en.wikipedia.org/wiki/Maundy_Thursday", - "https://en.wikipedia.org/wiki/May_Day", - "https://en.wikipedia.org/wiki/National_Doctors%27_Day", - "https://en.wikipedia.org/wiki/Melbourne_Cup", - "https://en.wikipedia.org/wiki/Memorial_Day", - "https://en.wikipedia.org/wiki/Midsummer", - "https://en.wikipedia.org/wiki/Midsummer", - "https://en.wikipedia.org/wiki/Mothering_Sunday", - "https://en.wikipedia.org/wiki/Mother%27s_Day", - "https://en.wikipedia.org/wiki/National_day", - "https://en.wikipedia.org/wiki/National_Foundation_Day", - "https://en.wikipedia.org/wiki/New_Year", - "https://en.wikipedia.org/wiki/New_Year", - "https://en.wikipedia.org/wiki/International_Nurses_Day", - "https://en.wikipedia.org/wiki/Bon_(festival)", - "https://en.wikipedia.org/wiki/Marine_Day", - "https://en.wikipedia.org/wiki/October_Revolution_Day", - "https://en.wikipedia.org/wiki/Christmas", - "https://en.wikipedia.org/wiki/Easter", - "https://en.wikipedia.org/wiki/Old_New_Year", - "https://en.wikipedia.org/wiki/Old_New_Year", - "https://en.wikipedia.org/wiki/Palm_Sunday", - "https://en.wikipedia.org/wiki/Paratroopers%27_Day", - "https://en.wikipedia.org/wiki/Parents'_Day", - "https://en.wikipedia.org/wiki/1991_Paris_Peace_Agreements", - "Danish Parliamnet day: 1st Tuesday in October (da-DK) specific", - "https://en.wikipedia.org/wiki/International_Day_of_Peace", - "https://en.wikipedia.org/wiki/Pentecost", - "https://en.wikipedia.org/wiki/Pentecost", - "https://en.wikipedia.org/wiki/Pepero_Day", - "https://en.wikipedia.org/wiki/Nowruz", - "https://en.wikipedia.org/wiki/Royal_Ploughing_Ceremony", - "https://en.wikipedia.org/wiki/Police_Day", - "https://en.wikipedia.org/wiki/Public_holidays_in_Poland#May_Holidays", - "https://en.wikipedia.org/wiki/5_October_1910_revolution", - "https://en.wikipedia.org/wiki/Presidents%27_Day", - "https://en.wikipedia.org/wiki/Reformation_Day", - "https://en.wikipedia.org/wiki/Day_of_Remembrance_and_Sorrow", - "https://en.wikipedia.org/wiki/National_Memorial_Day_of_the_Exiles_and_Foibe", - "https://en.wikipedia.org/wiki/Bu%C3%9F-_und_Bettag", - "https://en.wikipedia.org/wiki/Republic_Day", - "https://en.wikipedia.org/wiki/Respect_for_the_Aged_Day", - "Rose day: May 14th", - "https://en.wikipedia.org/wiki/National_Guard_Day_(Russia)", - "https://en.wikipedia.org/wiki/Cyril_and_Methodius#Saints_Cyril_and_Methodius'_Day", - "https://en.wikipedia.org/wiki/Saint_Florian", - "https://en.wikipedia.org/wiki/Francis_of_Assisi", - "https://en.wikipedia.org/wiki/Saint-Jean-Baptiste_Day", - "https://en.wikipedia.org/wiki/Saint-Jean-Baptiste_Day", - "https://en.wikipedia.org/wiki/Saint_Joseph's_Day", - "https://en.wikipedia.org/wiki/Leopold_III,_Margrave_of_Austria", - "https://en.wikipedia.org/wiki/Saint_Lucy's_Day", - "https://en.wikipedia.org/wiki/St._Martin's_Day", - "https://en.wikipedia.org/wiki/Saint_Nicholas_Day", - "https://en.wikipedia.org/wiki/Olaf_II_of_Norway", - "https://en.wikipedia.org/wiki/Rupert_of_Salzburg", - "https://en.wikipedia.org/wiki/Saint_Stephen's_Day", - "https://en.wikipedia.org/wiki/S%C3%A1mi_National_Day", - "https://en.wikipedia.org/wiki/Scouts'_Day ?", - "https://en.wikipedia.org/wiki/Advent_Sunday", - "https://en.wikipedia.org/wiki/Christmas", - "https://en.wikipedia.org/wiki/Sh%C5%8Dwa_Day", - "https://en.wikipedia.org/wiki/Sinai_Liberation_Day", - "https://en.wikipedia.org/wiki/Singles'_Day", - "https://en.wikipedia.org/wiki/Songkran_(Thailand)", - "https://en.wikipedia.org/wiki/Sports_day", - "https://en.wikipedia.org/wiki/Sunflower_Student_Movement", - "https://en.wikipedia.org/wiki/Tatiana_Day", - "https://en.wikipedia.org/wiki/List_of_Teachers'_Days", - "https://en.wikipedia.org/wiki/Coronation_of_the_Thai_monarch", - "https://en.wikipedia.org/wiki/Pongal_(festival)", - "https://en.wikipedia.org/wiki/Thanksgiving", - "https://en.wikipedia.org/wiki/Advent_Sunday", - "https://en.wikipedia.org/wiki/Tiradentes", - "https://en.wikipedia.org/wiki/Unity_Day", - "https://en.wikipedia.org/wiki/Valentine's_Day", - "https://en.wikipedia.org/wiki/Veterans_Day_(disambiguation)", - "https://en.wikipedia.org/wiki/Victory_Day", - "https://en.wikipedia.org/wiki/Reunification_Day", - "https://en.wikipedia.org/wiki/Communist_Party_of_Vietnam", - "Journalist Day: June 21st", - "https://en.wikipedia.org/wiki/Walpurgis_Night", - "https://en.wikipedia.org/wiki/Wenceslaus_I,_Duke_of_Bohemia#Veneration", - "https://en.wikipedia.org/wiki/Feast_of_the_Annunciation", - "https://en.wikipedia.org/wiki/White_Day", - "https://en.wikipedia.org/wiki/Whit_Monday", - "Women Rights Day: 5th of December", - "https://en.wikipedia.org/wiki/Youth_Day" - ], - "type": "string" - }, - "moonEvent": { - "$ref": "NlpSemanticParsingDatetimeMoonEventInfo" - }, - "sunEvent": { - "enum": [ - "INVALID_SUN_EVENT", - "SUNRISE", - "SUNSET", - "DAWN", - "DUSK" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": { - "enum": [ - "INVALID_EVENT", - "ASTRONOMICAL_EVENT", - "HOLIDAY_EVENT" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeFetchedRelativeDateTime": { - "description": "For a more detailed presentation on what's a fetching operation, see go/datetime-meaning-schemas. Examples to illustrate how the proto is used: I. Fetching day-of-weeks: a) query: \"1st 2 Mondays of April\" proto: ordinal: 1 target {weekday: MONDAY} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: \"1st and last Monday of April\" proto: ordinal: 1 ordinal: -1 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: \"next Monday\" proto: ordinal: 1 target {weekday: MONDAY} d) query: \"last 2 Mondays\" proto: ordinal: -1 count: 2 target {weekday: MONDAY} e) query: \"this Monday\" proto: ordinal: 0 target {weekday: MONDAY} f) query: \"the monday after next\" proto: ordinal: 2 target {weekday: MONDAY} g) query: \"third Monday in April\" proto: ordinal: 3 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: \"the monday before last\" proto: ordinal: -2 target {weekday: MONDAY} i) query: \"the second to the last monday in April\" proto: ordinal: -2 target {weekday: MONDAY} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} II. Fetching date/time unit: a) query: \"1st 2 weeks of April\" proto: ordinal: 1 target {unit: WEEK} count: 2 range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} b) query: \"1st and last week of April\" proto: ordinal: 1 ordinal: -1 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} c) query: \"next year\" proto: ordinal: 1 target {unit: YEAR} d) query: \"last 2 weeks\" proto: ordinal: -1 count: 2 target {unit: WEEK} e) query: \"this month\" proto: ordinal: 0 target {unit: MONTH} f) query: \"the week after next\" proto: ordinal: 2 target {unit: WEEK} g) query: \"third week in April\" proto: ordinal: 3 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} h) query: \"the week before last\" proto: ordinal: -2 target {unit: WEEK} i) query: \"the second to the last week in April\" proto: ordinal: -2 target {unit: WEEK} range: {begin {year: RESOLVED_YEAR month: APRIL day: 1} {end {year: RESOLVED_YEAR month: APRIL day: 30} Next field: 9", - "id": "NlpSemanticParsingDatetimeFetchedRelativeDateTime", - "properties": { - "baseType": { - "enum": [ - "UNKNOWN", - "CURRENT_DATETIME", - "EXPLICIT_PRONOUN" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "count": { - "description": "How many to fetch (e.g. [next weekend] vs. [next two weeks])", - "format": "uint32", - "type": "integer" - }, - "metadata": { - "description": "Can be used to tag relative datetime expressions with metadata information in the grammar.", - "enum": [ - "NO_METADATA", - "HOLIDAY", - "ORDINAL", - "WEEKEND", - "DECADE", - "MONTH", - "DAY_OF_WEEK", - "YEAR_NUMBER", - "MONTH_YEAR", - "PERSONAL", - "SEASON", - "WEE_HOURS_INFERRED", - "PROACTIVE_DEFAULT_TIME", - "PROACTIVE_DEFAULT_DATE", - "PROACTIVE_DEFAULT_DATETIME", - "HOUR_NUMBER", - "ASTRONOMICAL_EVENT", - "RECURRENT_UNKNOWN_FREQUENCY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "ordinal": { - "description": "Encodes expressions like next (+1), last (-1), after next (+2), this (0).", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "range": { - "$ref": "NlpSemanticParsingDatetimeRange", - "description": "The restriction range on which fetching is operated, e.g., \"April\" in \"first Tuesday in/of April.\" If this field is missing, the operation is done relative to the base_type (or if not given, to the query's reference datetime). When the fetching operation is performed relative to a reference time point, positive ordinal values represent upcoming instances from the reference point, negative ordinal values represent previous instances from the reference point. Similarly, ordinal=0 represents a reference to the \"current instance\", which may vary depending on the target. E.g. \"this week\" is simply defined as the week range that contains the current reference time point, but \"this \" can be ambiguous and its resolution will depend on language/locale conventions (\"this monday\" in some languages refers to the closest upcoming instance of Monday, while in other languages it represents the Monday instance within the current week)." - }, - "rangeModifier": { - "description": "Modifier that return the appropriate subrange. For more information, see the description of RangeOfDateTimeModifier. Example: * *early* next week * *late* next Monday", - "enum": [ - "RANGE_MODIFIER_NONE", - "RANGE_MODIFIER_EARLY", - "RANGE_MODIFIER_MIDDLE", - "RANGE_MODIFIER_LATE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "relativeRange": { - "$ref": "NlpSemanticParsingDatetimeResolutionProperties", - "description": "If the underlying range comes from a relative datetime expression, encode the expression here instead." - }, - "target": { - "$ref": "NlpSemanticParsingDatetimeTargetToFetch", - "description": "The target to be fetched. This could be a named day-of-week or month (e.g., \"Monday\", \"April\"), or a date/time unit (e.g., \"day\", \"week\", \"month\")." - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeHoliday": { - "description": "List of holidays that are not fixed absolute or relative dates on the Gregorian calendar.", - "id": "NlpSemanticParsingDatetimeHoliday", - "properties": { - "nonFixed": { - "description": "There are 3 types of holidays supported by the datetime subgrammar: 1) NonFixedHolidayEnum: e.g., \"easter\", \"chinese new year\". 2) FetchedRelativeDateTime: e.g., \"Thanksgiving\" =\u003e [4th Thursday of November] 3) HolidayByMonthDay: e.g., \"xmas\" =\u003e [December 25] Each holiday of the first type is resolved by a C++ function; the 2nd and 3rd type of holidays are mapped to AbsoluteDateTime and FetchedRelativeDateTime, respectively, in grammar and are not needed to be represented in proto.", - "enum": [ - "UNKNOWN_NON_FIXED_HOLIDAY", - "EASTER", - "CHINESE_NEW_YEAR", - "ORTHODOX_EASTER", - "MARDI_GRAS", - "ASH_WEDNESDAY", - "GOOD_FRIDAY", - "EASTER_MONDAY", - "PENTECOST", - "CORPUS_CRISTI", - "WHIT_MONDAY", - "PALM_SUNDAY", - "MAUNDY_THURSDAY", - "ASCENSION_DAY", - "GREAT_PRAYER_DAY", - "HOLY_SATURDAY", - "PENTECOST_EVE", - "MOTHERING_SUNDAY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeMoonEventInfo": { - "id": "NlpSemanticParsingDatetimeMoonEventInfo", - "properties": { - "phase": { - "enum": [ - "UNKNOWN_MOON_PHASE", - "NEW_MOON", - "WAXING_CRESCENT", - "FIRST_QUARTER_PHASE", - "WAXING_GIBBOUS", - "FULL_MOON", - "WANING_GIBBOUS", - "LAST_QUARTER_PHASE", - "WANING_CRESCENT" - ], - "enumDescriptions": [ - "Northern hemisphere | Southern hemisphere X | X", - "🌑 | 🌑", - "🌒 | 🌘", - "🌓 | 🌗", - "🌔 | 🌖", - "🌕 | 🌕", - "🌖 | 🌔", - "🌗 | 🌓", - "🌘 | 🌒" - ], - "type": "string" - }, - "type": { - "enum": [ - "INVALID_MOON_EVENT", - "MOONRISE", - "MOONSET" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeNonGregorianDate": { - "description": "Non-Gregorian dates are similar to AbsoluteDateTime, but use non-Gregorian calendars.", - "id": "NlpSemanticParsingDatetimeNonGregorianDate", - "properties": { - "chineseMonth": { - "enum": [ - "UNKNOWN_CHINESE_MONTH", - "FIRST_MONTH", - "SECOND_MONTH", - "THIRD_MONTH", - "FOURTH_MONTH", - "FIFTH_MONTH", - "SIXTH_MONTH", - "SEVENTH_MONTH", - "EIGHTH_MONTH", - "NINTH_MONTH", - "TENTH_MONTH", - "ELEVENTH_MONTH", - "TWELFTH_MONTH" - ], - "enumDescriptions": [ - "", - "Note1: month names in the enum match ChineseCalendar from ICU libraries. Note2: Chinese calendar has leap months called \"閏月\" (Rùnyuè) which are added every 33 months. It is normally referred with the same name as the previous month by adding the prefix \"閏\", e.g.: \"閏六月\". In ICU library leap months are numbered the same as the month they follow, similarly no leap months are added to the enum below. More details on the different names of the chinese calendar months: https://en.wikipedia.org/wiki/Chinese_calendar#Names_of_months \"一月\", also traditionally \"正月\" (Zhēngyuè): Start Month.", - "\"二月\", also traditionally \"杏月\" (Xìngyuè): Apricot Month.", - "\"三月\", also traditionally \"桃月\" (Táoyuè): Peach Month.", - "\"四月\", also traditionally \"槐月\" (Huáiyuè): Locust Tree Month.", - "\"五月\", also traditionally \"蒲月\" (Púyuè): Sweet Sedge Month.", - "\"六月\", also traditionally \"荷月\" (Héyuè): Lotus Month.", - "\"七月\", also traditionally “蘭月” (Lányuè): Orchid Month.", - "\"八月\", also traditionally \"桂月\" (Guìyuè): Osmanthus Month.", - "\"九月\", also traditionally \"菊月\" (Júyuè): Chrysanthemum Month.", - "\"十月\", also traditionally \"阳月\" (Yángyuè): Yang Month.", - "\"十一月\", also traditionally \"冬月\" (Dōngyuè): Winter Month.", - "\"十二月\", also traditionally \"腊月\" (Làyuè): Preserved Month." - ], - "type": "string" - }, - "day": { - "description": "The day is the offset within the month, same as in Gregorian calendars.", - "format": "int32", - "type": "integer" - }, - "hebrewMonth": { - "enum": [ - "UNKNOWN_HEBREW_MONTH", - "TISHRI", - "HESHVAN", - "KISLEV", - "TEVET", - "SHEVAT", - "ADAR_1", - "ADAR", - "NISAN", - "IYAR", - "SIVAN", - "TAMUZ", - "AV", - "ELUL" - ], - "enumDescriptions": [ - "", - "Note: month names match HebrewCalendar from ICU libraries.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "islamicMonth": { - "enum": [ - "UNKNOWN_ISLAMIC_MONTH", - "MUHARRAM", - "SAFAR", - "RABI_AL_AWWAL", - "RABI_AL_THANI", - "JUMADA_AL_AWWAL", - "JUMADA_AL_THANI", - "RAJAB", - "SHABAN", - "RAMADAN", - "SHAWWAL", - "ZUL_QAADAH", - "ZUL_HIJJAH" - ], - "enumDescriptions": [ - "", - "Note: month names do *not* match ICU libraries.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "year": { - "description": "The year is relative to the calendar (e.g. 5777 for Hebrew calendar).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeQuantity": { - "id": "NlpSemanticParsingDatetimeQuantity", - "properties": { - "modifier": { - "description": "For internal use - DateTime subgrammar users should look at Duration.modifier. = MORE in [3 more days].", - "enum": [ - "NO_MOD", - "BEFORE", - "AFTER", - "ON_OR_BEFORE", - "ON_OR_AFTER", - "LESS_THAN", - "MORE_THAN", - "EQUAL_OR_LESS", - "EQUAL_OR_MORE", - "START", - "MID", - "END", - "APPROX", - "ADD", - "SUBTRACT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Identifies additive or subtractive duration quantities as in [10 more min].", - "" - ], - "type": "string" - }, - "number": { - "description": "= 3 in \"3 milliseconds\".", - "format": "double", - "type": "number" - }, - "numberSpan": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "This field keeps the span info of the number element in a quantity expression, which is useful for downstream components to obtain the number annotations inside a quantity when necessary." - }, - "symbolicQuantity": { - "description": "Quantities are typically converted into milliseconds, regardless of the units the user used. Sometimes this loses crucial information, e.g., \"5 days\" vs \"5 nights\". When quantities are converted to milliseconds, 'symbolic_quantity' will contain the sequence of units that the user actually supplied. This can be more than one element in cases like \"one minute and 30 seconds\". In cases where 'symbolic_quantity' has more than one element, THERE IS NO GUARANTEED ORDER between elements.", - "items": { - "$ref": "NlpSemanticParsingDatetimeQuantity" - }, - "type": "array" - }, - "unit": { - "description": "= MILLISECOND in \"3 milliseconds\".", - "enum": [ - "NO_UNIT", - "NANOSECOND", - "MICROSECOND", - "MILLISECOND", - "SECOND", - "MINUTE", - "HOUR", - "DAY", - "WEEK", - "TEN_DAY", - "HALF_MONTH", - "MONTH", - "QUARTER", - "HALF_YEAR", - "YEAR", - "DECADE", - "CENTURY", - "MILLENNIUM", - "NIGHT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeRange": { - "description": "Range has 4 use cases: 1. with an explicit begin and an explicit end, e.g. \"from Monday to Wednesday.\" Both |begin| and |end| are filled in this case. 2. a point date/time expression is used as a range at a finer granularity. E.g., in \"first Monday of this month\", \"this month\" is used as a range. In this case, only |begin| will be filled and the |end| will be filled during the grounding process. 3. a fuzzy date/time range such as \"morning\" or \"evening.\" 4. with a relative begin and a relative end, e.g. \"from yesterday to next Monday.\" Note: this may be used in a mixture of exact/relative begin and end. Next available ID: 14.", - "id": "NlpSemanticParsingDatetimeRange", - "properties": { - "begin": { - "$ref": "NlpSemanticParsingDatetimeAbsoluteDateTime", - "deprecated": true, - "description": "Deprecated fields. Do NOT use." - }, - "beginRelative": { - "$ref": "NlpSemanticParsingDatetimeRelativeDateTime", - "deprecated": true - }, - "duration": { - "$ref": "NlpSemanticParsingDatetimeQuantity", - "description": "if |duration| is set, one field from start or finish must be populated, but not both. |exclusive| value is still relevant to decide if the endpoints of the range are included in the range (value defined in the start/finish fields as well as the datetime value resulting of offseting the duration over the given range endpoint)." - }, - "end": { - "$ref": "NlpSemanticParsingDatetimeAbsoluteDateTime", - "deprecated": true - }, - "endRelative": { - "$ref": "NlpSemanticParsingDatetimeRelativeDateTime", - "deprecated": true - }, - "exclusive": { - "type": "boolean" - }, - "finish": { - "$ref": "NlpSemanticParsingDatetimeDateTime" - }, - "fuzzyRange": { - "deprecated": true, - "enum": [ - "NO_FUZZY_RANGE", - "FUZZY_RANGE_MORNING", - "FUZZY_RANGE_AFTERNOON", - "FUZZY_RANGE_EVENING", - "FUZZY_RANGE_NIGHT", - "FUZZY_RANGE_EVE", - "FUZZY_RANGE_DAYTIME", - "FUZZY_RANGE_DAWN", - "FUZZY_RANGE_DUSK", - "FUZZY_RANGE_NIGHTTIME", - "FUZZY_RANGE_EARLY_MORNING", - "FUZZY_RANGE_MID_MORNING", - "FUZZY_RANGE_LATE_MORNING", - "FUZZY_RANGE_EARLY_AFTERNOON", - "FUZZY_RANGE_MID_AFTERNOON", - "FUZZY_RANGE_LATE_AFTERNOON", - "FUZZY_RANGE_EARLY_EVENING", - "FUZZY_RANGE_MID_EVENING", - "FUZZY_RANGE_LATE_EVENING", - "FUZZY_RANGE_LATE_NIGHT", - "DELETED_11" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Deprecated values. Do not use.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "metadata": { - "enum": [ - "NO_METADATA", - "HOLIDAY", - "ORDINAL", - "WEEKEND", - "DECADE", - "MONTH", - "DAY_OF_WEEK", - "YEAR_NUMBER", - "MONTH_YEAR", - "PERSONAL", - "SEASON", - "WEE_HOURS_INFERRED", - "PROACTIVE_DEFAULT_TIME", - "PROACTIVE_DEFAULT_DATE", - "PROACTIVE_DEFAULT_DATETIME", - "HOUR_NUMBER", - "ASTRONOMICAL_EVENT", - "RECURRENT_UNKNOWN_FREQUENCY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "properties": { - "$ref": "NlpSemanticParsingDatetimeResolutionProperties" - }, - "rangeModifier": { - "description": "Modifier that return the appropriate subrange. For more information, see the description of RangeOfDateTimeModifier. Example: * *late* morning", - "enum": [ - "RANGE_MODIFIER_NONE", - "RANGE_MODIFIER_EARLY", - "RANGE_MODIFIER_MIDDLE", - "RANGE_MODIFIER_LATE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "start": { - "$ref": "NlpSemanticParsingDatetimeDateTime", - "description": "|start| and |finish| are inclusive unless exclusive field is true. the values in start and finish can be an absolute point, a relative or another range. Recurrences and repeated values are not expected/allowed." - }, - "symbolicValue": { - "description": "The field is set if the range is the result of resolving/grounding a relative datetime expression referring to a part of the day. E.g. \"morning\", \"afternoon\", \"evening\", \"night\", \"tonight\", etc.", - "enum": [ - "NO_SYMBOLIC_DATETIME", - "SYMBOLIC_MORNING", - "SYMBOLIC_AFTERNOON", - "SYMBOLIC_EVENING", - "SYMBOLIC_NIGHT", - "DELETED_5" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "Deprecated fields. Do not use." - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeRecurrent": { - "description": "expressions: \"every Monday after December 1\" \"every morning starting from this Friday\". Note: if a recurrent DATE/TIME expression is bounded (limited by a finite interval or a finite count), e.g., \"every monday in the next 3 months\", \"... at 11:00am every Monday for 4 times\" the grammar will resolve it to a finite number of |range|s. Next available ID: 17.", - "id": "NlpSemanticParsingDatetimeRecurrent", - "properties": { - "countRestriction": { - "description": "How many times it repeats.", - "format": "int32", - "type": "integer" - }, - "exception": { - "description": "An arbitrary exception to the recurrence. This can be an absolute point, a relative, a range or a recurrent expression. Examples: * \"every Tuesday except for July 13th 2021\" * \"every Tuesday except for July 13th and November 2nd\" * \"every second Monday except during the summer\" * \"everyday except Thursdays\" * \"every Friday, except from October 1st to October 22nd\"", - "items": { - "$ref": "NlpSemanticParsingDatetimeDateTime" - }, - "type": "array" - }, - "frequency": { - "description": "|frequency| is used to represent the frequency of the recurrence over a given recurrent period. E.g. \"twice a week\", \"once a month\". An unknown frequency is represented with 0, as in just \"repeating\".", - "format": "uint32", - "type": "integer" - }, - "metadata": { - "enum": [ - "NO_METADATA", - "HOLIDAY", - "ORDINAL", - "WEEKEND", - "DECADE", - "MONTH", - "DAY_OF_WEEK", - "YEAR_NUMBER", - "MONTH_YEAR", - "PERSONAL", - "SEASON", - "WEE_HOURS_INFERRED", - "PROACTIVE_DEFAULT_TIME", - "PROACTIVE_DEFAULT_DATE", - "PROACTIVE_DEFAULT_DATETIME", - "HOUR_NUMBER", - "ASTRONOMICAL_EVENT", - "RECURRENT_UNKNOWN_FREQUENCY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "period": { - "description": "|period| and |unit| specify how often |start_point| or |start_range| repeats. |period| should not be 0.", - "format": "uint32", - "type": "integer" - }, - "rangeRestriction": { - "$ref": "NlpSemanticParsingDatetimeRange", - "deprecated": true - }, - "relativeRangeRestriction": { - "$ref": "NlpSemanticParsingDatetimeRelativeDateTime", - "deprecated": true - }, - "restriction": { - "$ref": "NlpSemanticParsingDatetimeDateTime", - "description": "A recurrent expression can be restricted by either a datetime |restriction| or |count_restriction| below. The restriction datetime can be expressed as an explicit range a relative datetime expression, a datetime point or a recurrent datetime. E.g. \"every monday [next month]\", \"every second tuesday [this year]\", etc. If |period| is \u003e 0 and |restriction| is not set, repeat indefinitely. Note that this can support recurrent expressions as |restriction| as well. For example in the expression \"every monday on [every other month]\" where [every other month] is a restriction expressed as a recurrent datetime." - }, - "start": { - "description": "|start| is used to represent the starting points, ranges or relative datetims in a recurrent expression, for example: \"every morning\", (range) \"everyday at 5 pm\", (point) \"every second monday\" (relative) |start| should never contain a recurrent element.", - "items": { - "$ref": "NlpSemanticParsingDatetimeDateTime" - }, - "type": "array" - }, - "startPoint": { - "deprecated": true, - "description": "DO NOT USE: deprecated fields soon to be removed.", - "items": { - "$ref": "NlpSemanticParsingDatetimeAbsoluteDateTime" - }, - "type": "array" - }, - "startRange": { - "deprecated": true, - "items": { - "$ref": "NlpSemanticParsingDatetimeRange" - }, - "type": "array" - }, - "startRelative": { - "deprecated": true, - "items": { - "$ref": "NlpSemanticParsingDatetimeRelativeDateTime" - }, - "type": "array" - }, - "target": { - "$ref": "NlpSemanticParsingDatetimeTargetToFetch", - "description": "The target to be fetched. This could be a named day-of-week or month (e.g., \"Monday\", \"April\"), or a date/time unit (e.g., \"day\", \"week\", \"month\")." - }, - "timeInterval": { - "$ref": "NlpSemanticParsingDatetimeQuantity", - "description": "|time_interval| is a time amount or duration, used to described the time interval between the instances of the recurrence. (e.g. \"every 3 hours\", \"every 35 minutes\", \"every 2 months and 15 days\", etc)" - }, - "unit": { - "deprecated": true, - "enum": [ - "NO_UNIT", - "NANOSECOND", - "MICROSECOND", - "MILLISECOND", - "SECOND", - "MINUTE", - "HOUR", - "DAY", - "WEEK", - "TEN_DAY", - "HALF_MONTH", - "MONTH", - "QUARTER", - "HALF_YEAR", - "YEAR", - "DECADE", - "CENTURY", - "MILLENNIUM", - "NIGHT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeRelativeDateTime": { - "description": "This provides a semi-abstract description for relative datetime expressions. - ShiftedRelativeDateTime encodes datetimes that arise from before/after expressions (e.g. [three days ago], [2 days after March 1st]). - FetchedRelativeDateTime encodes expressions that are retrieval-type statements (e.g. [next weekend], [the last two Mondays]). Next field: 5", - "id": "NlpSemanticParsingDatetimeRelativeDateTime", - "properties": { - "fetched": { - "$ref": "NlpSemanticParsingDatetimeFetchedRelativeDateTime" - }, - "metadata": { - "enum": [ - "NO_METADATA", - "HOLIDAY", - "ORDINAL", - "WEEKEND", - "DECADE", - "MONTH", - "DAY_OF_WEEK", - "YEAR_NUMBER", - "MONTH_YEAR", - "PERSONAL", - "SEASON", - "WEE_HOURS_INFERRED", - "PROACTIVE_DEFAULT_TIME", - "PROACTIVE_DEFAULT_DATE", - "PROACTIVE_DEFAULT_DATETIME", - "HOUR_NUMBER", - "ASTRONOMICAL_EVENT", - "RECURRENT_UNKNOWN_FREQUENCY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "modifier": { - "description": "When a relative datetime which resolves into a range is being used as the endpoint of a range (begin_relative/end_relative), its begin/end will be taken accordingly unless this modifier indicates the opposite: begin_relative with relative range and modifier == AFTER means that its end will be taken as the beginning of the resulting range. Similarly, end_relative with a relative range and modifier == BEFORE means that its begin will be taken as the end of the resulting range. E.g. \"after next month\" will be a range with a begin_relative that will take the end of \"next month\" as its starting point (exclusive). values other than AFTER and BEFORE in the specific conditions explained here will be ignored and have no effect in the resolution of RelativeDateTimes.", - "enum": [ - "NO_MOD", - "BEFORE", - "AFTER", - "ON_OR_BEFORE", - "ON_OR_AFTER", - "LESS_THAN", - "MORE_THAN", - "EQUAL_OR_LESS", - "EQUAL_OR_MORE", - "START", - "MID", - "END", - "APPROX", - "ADD", - "SUBTRACT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Identifies additive or subtractive duration quantities as in [10 more min].", - "" - ], - "type": "string" - }, - "shifted": { - "$ref": "NlpSemanticParsingDatetimeShiftedRelativeDateTime" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeResolutionProperties": { - "description": "Encapsulates metadata about the query span resolved here.", - "id": "NlpSemanticParsingDatetimeResolutionProperties", - "properties": { - "meridiem": { - "deprecated": true, - "description": "Simple enum container for exporting meridiem mentions. Note: this is marked as deprecated as we are moving to properly parse expressions with explicit meridiem information.", - "enum": [ - "INVALID_MERIDIEM", - "AM", - "PM" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "metadata": { - "description": "Encodes whether the datetime was phrased in a specific way, see enum above.", - "enum": [ - "NO_METADATA", - "HOLIDAY", - "ORDINAL", - "WEEKEND", - "DECADE", - "MONTH", - "DAY_OF_WEEK", - "YEAR_NUMBER", - "MONTH_YEAR", - "PERSONAL", - "SEASON", - "WEE_HOURS_INFERRED", - "PROACTIVE_DEFAULT_TIME", - "PROACTIVE_DEFAULT_DATE", - "PROACTIVE_DEFAULT_DATETIME", - "HOUR_NUMBER", - "ASTRONOMICAL_EVENT", - "RECURRENT_UNKNOWN_FREQUENCY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "relative": { - "$ref": "NlpSemanticParsingDatetimeRelativeDateTime", - "description": "Expresses the relative DateTime query that gave rise to these grounded semantics." - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeShiftedRelativeDateTime": { - "id": "NlpSemanticParsingDatetimeShiftedRelativeDateTime", - "properties": { - "base": { - "$ref": "NlpSemanticParsingDatetimeAbsoluteDateTime", - "description": "The base could be an absolute datetime point for example: \"March 1\", a relative datetime point, for example: \"2 days before March 1\" or a symbolic base type, for example: CURRENT_DATETIME. This could also be used to combine EXPLICIT_PRONOUN with the actual value of that reference being setup as a datetime point in base or relative_base" - }, - "baseType": { - "enum": [ - "UNKNOWN", - "CURRENT_DATETIME", - "EXPLICIT_PRONOUN" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "metadata": { - "description": "Can be used to tag relative datetime expressions with metadata information in the grammar.", - "enum": [ - "NO_METADATA", - "HOLIDAY", - "ORDINAL", - "WEEKEND", - "DECADE", - "MONTH", - "DAY_OF_WEEK", - "YEAR_NUMBER", - "MONTH_YEAR", - "PERSONAL", - "SEASON", - "WEE_HOURS_INFERRED", - "PROACTIVE_DEFAULT_TIME", - "PROACTIVE_DEFAULT_DATE", - "PROACTIVE_DEFAULT_DATETIME", - "HOUR_NUMBER", - "ASTRONOMICAL_EVENT", - "RECURRENT_UNKNOWN_FREQUENCY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "relativeBase": { - "$ref": "NlpSemanticParsingDatetimeResolutionProperties" - }, - "shiftAmount": { - "$ref": "NlpSemanticParsingDatetimeQuantity" - }, - "shiftPast": { - "description": "If true, shifting to the past; if false, shifting to the future.", - "type": "boolean" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeSpan": { - "description": "The byte offset and text of a span.", - "id": "NlpSemanticParsingDatetimeSpan", - "properties": { - "numBytes": { - "format": "int32", - "type": "integer" - }, - "startByte": { - "description": "0-based start byte offset of the span.", - "format": "int32", - "type": "integer" - }, - "text": { - "description": "The text of the span: a substring of ParserInput's canonical_input.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeTargetToFetch": { - "description": "Next field: 9", - "id": "NlpSemanticParsingDatetimeTargetToFetch", - "properties": { - "event": { - "$ref": "NlpSemanticParsingDatetimeEvent" - }, - "fuzzyRange": { - "enum": [ - "NO_FUZZY_RANGE", - "FUZZY_RANGE_MORNING", - "FUZZY_RANGE_AFTERNOON", - "FUZZY_RANGE_EVENING", - "FUZZY_RANGE_NIGHT", - "FUZZY_RANGE_EVE", - "FUZZY_RANGE_DAYTIME", - "FUZZY_RANGE_DAWN", - "FUZZY_RANGE_DUSK", - "FUZZY_RANGE_NIGHTTIME", - "FUZZY_RANGE_EARLY_MORNING", - "FUZZY_RANGE_MID_MORNING", - "FUZZY_RANGE_LATE_MORNING", - "FUZZY_RANGE_EARLY_AFTERNOON", - "FUZZY_RANGE_MID_AFTERNOON", - "FUZZY_RANGE_LATE_AFTERNOON", - "FUZZY_RANGE_EARLY_EVENING", - "FUZZY_RANGE_MID_EVENING", - "FUZZY_RANGE_LATE_EVENING", - "FUZZY_RANGE_LATE_NIGHT", - "DELETED_11" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Deprecated values. Do not use.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "month": { - "enum": [ - "NO_MONTH", - "JANUARY", - "FEBRUARY", - "MARCH", - "APRIL", - "MAY", - "JUNE", - "JULY", - "AUGUST", - "SEPTEMBER", - "OCTOBER", - "NOVEMBER", - "DECEMBER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "quarter": { - "enum": [ - "INVALID_QUARTER", - "FIRST_QUARTER", - "SECOND_QUARTER", - "THIRD_QUARTER", - "FOURTH_QUARTER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "reference": { - "enum": [ - "INVALID", - "CURRENT_DATETIME", - "CURRENT_TIME", - "CURRENT_DATE", - "RECENT", - "LATEST", - "NEXT_DAY", - "PREVIOUS_DAY", - "DAY_AFTER_NEXT", - "DAY_BEFORE_PREVIOUS" - ], - "enumDescriptions": [ - "", - "Returns a full described value for \"now\". It populates year, month, day, hour, minute and seconds.", - "Returns a described value for the current time without the date component. It populates hour, minute and seconds (no DATE elements).", - "Returns a described value for \"today\". It populates year, month and day (no TIME elements).", - "This value is used for references to the fuzzy range of recent time or to subset of the last elements of a list sorted by their temporal relation.", - "This value is used for references to the last element of a list sorted by their temporal relation.", - "Returns a described value for \"tomorrow\". It populates year, month and day (no TIME elements).", - "Returns a described value for \"yesterday\". It populates year, month and day (no TIME elements).", - "Returns a described value for \"the day after tomorrow\". Note: this is one word in many languages (e.g. \"übermorgen\", \"明後日\") It populates year, month and day (no TIME elements).", - "Returns a described value for \"the day before yesterday\". Note: this is one word in many languages (e.g. \"anteayer\", \"προχθές\") It populates year, month and day (no TIME elements)." - ], - "type": "string" - }, - "season": { - "enum": [ - "INVALID_SEASON", - "SPRING", - "SUMMER", - "FALL", - "WINTER", - "EARLY_SPRING", - "MID_SPRING", - "LATE_SPRING", - "EARLY_SUMMER", - "MID_SUMMER", - "LATE_SUMMER", - "EARLY_FALL", - "MID_FALL", - "LATE_FALL", - "EARLY_WINTER", - "MID_WINTER", - "LATE_WINTER" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "Deprecated values. Do not use.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "unit": { - "description": "Unnamed target: \"week\", \"month\" etc. E.g., \"1st week of April\".", - "enum": [ - "NO_UNIT", - "NANOSECOND", - "MICROSECOND", - "MILLISECOND", - "SECOND", - "MINUTE", - "HOUR", - "DAY", - "WEEK", - "TEN_DAY", - "HALF_MONTH", - "MONTH", - "QUARTER", - "HALF_YEAR", - "YEAR", - "DECADE", - "CENTURY", - "MILLENNIUM", - "NIGHT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "weekday": { - "description": "Named target: only one of the following is expected.", - "items": { - "enum": [ - "NO_DAY_OF_WEEK", - "SUNDAY", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "WEEKEND" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "Sometimes resembles Monday etc. E.g., \"2nd weekend.\"" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingDatetimeTimeZone": { - "id": "NlpSemanticParsingDatetimeTimeZone", - "properties": { - "timezone": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingEntitySourceData": { - "id": "NlpSemanticParsingEntitySourceData", - "properties": { - "entitySources": { - "description": "Indicates backends from which parts of an entity were retrieved.", - "items": { - "enum": [ - "UNKNOWN_ENTITY_SOURCE", - "QREF_PERSONAL_WALDREF", - "QREF_PERSONAL_TOPIC_SERVER", - "MYENTITIES_MODEL_T" - ], - "enumDescriptions": [ - "", - "Indicates that an entity was retrieved from personal waldref.", - "Indicates that metadata from personal topic server was attached to an entity.", - "Indicates that an entity was retrieved from Model T." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingExpressionStatus": { - "description": "Status indicating whether the user has finished expressing their intended semantics during a streaming interaction. Semantics are partially expressed when later, unprompted user input is expected to modify the semantics. Future inputs are typically additional speech or continued modification of argument text in form field. These inputs can trigger modifications including adding arguments, changing the intent, or modifying existing arguments. Sensing this status can be done both directly and indirectly. Fluid Actions directly detects this status as the user moves between, or enters and leaves, argument form fields. Understanding indirectly detects this status by the pace of the user's speech, the semantics of the language, and the user's intonation. See go/streaming-nlu-fulfilment-protocol-v1 for details about how it is used in the Streaming NLU Fulfillment protocol.", - "id": "NlpSemanticParsingExpressionStatus", - "properties": { - "status": { - "enum": [ - "EXPRESSION_STATUS_UNSPECIFIED", - "PARTIAL", - "COMPLETE", - "LIKELY_COMPLETE" - ], - "enumDescriptions": [ - "Expression state is unspecified.", - "The user is in the process of expressing the intent/argument and has only partially communicated the semantics. As a result, the semantics are partially expressed.", - "The semantics have been completely expressed and the user is unlikely to modify it without further prompting.", - "The perception models believe it is likely, but not certain that the user has finished expressing their thought. This signal as a lower latency and lower precision than the COMPLETE status." - ], - "type": "string" - }, - "textCompletenessProbability": { - "description": "Completeness probability as calculated by the parser's completeness layer.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalAmenities": { - "description": "A list of amenity constraints. There is an implicit AND relationship between the different constraints.", - "id": "NlpSemanticParsingLocalAmenities", - "properties": { - "type": { - "description": "Applied amenity constraints. Nothing should be inferred about the ordering of the values in this field.", - "items": { - "enum": [ - "UNKNOWN_TYPE", - "AIR_CONDITIONED", - "BAR", - "BEACH", - "BREAKFAST", - "FREE_BREAKFAST", - "FREE_PARKING", - "EV_CHARGING", - "FREE_WIFI", - "GYM", - "HEATED_POOL", - "HOT_TUB", - "IN_ROOM_HOT_TUB", - "INDOOR_POOL", - "KID_FRIENDLY", - "NON_SMOKING", - "PET_FRIENDLY", - "POOL", - "RESTAURANT", - "SMOKING", - "TRUCK_PARKING", - "WIFI", - "DEAL", - "LAST_MINUTE", - "ALL_INCLUSIVE", - "PARKING", - "SPA", - "FREE_PET_FRIENDLY", - "WIFI_IN_ROOM", - "ALL_INCLUSIVE_ONLY", - "ROOM_SERVICE", - "OUTDOOR_POOL", - "HAS_24_HOUR_FRONT_DESK", - "FREE_GYM", - "MASSAGE", - "SAUNA", - "KIDS_ACTIVITIES", - "KIDS_CLUB", - "SUITE", - "BALCONY", - "BATHTUB", - "HOUSEKEEPING", - "DAILY_HOUSEKEEPING", - "DOG_FRIENDLY", - "THERMAL_POOL", - "TREADMILL", - "PRIVATE_BEACH", - "VIEW_OF_CITY", - "VIEW_OF_GARDEN", - "VIEW_OF_LAKE", - "VIEW_OF_LANDMARK", - "VIEW_OF_OCEAN", - "VIEW_OF_POOL", - "VIEW_OF_VALLEY", - "CASINO", - "KITCHEN", - "AVAILABLE_FOR_ESSENTIAL_WORKERS", - "FREE_CANCELLATION" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "Breakfast is provided without an extra fee.", - "Parking is provided without an extra fee.", - "", - "Wifi is provided without an extra fee.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "All inclusive is available as a meal option.", - "", - "", - "Pets are accepted without an extra fee.", - "Wifi service is available in the rooms.", - "All inclusive is the only meal option.", - "", - "", - "", - "Gym is available without an extra fee.", - "", - "", - "", - "", - "", - "", - "", - "", - "Housekeeping services are provided daily.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalBasicLocation": { - "description": "Conceptually this describes one location. Technically, this is a sequence of location elements with the intention that at least one element in the sequence is an actual location (rather than a modifier).", - "id": "NlpSemanticParsingLocalBasicLocation", - "properties": { - "element": { - "items": { - "$ref": "NlpSemanticParsingLocalLocationElement" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalBusinessType": { - "description": "A high-level categorization of business types. Used for location elements that are either BUSINESS_NAME or BUSINESS_CATEGORY. The business types roughly correspond to QRef collections and should be interpreted broadly. E.g., hotel also include motels, youth hostels, and guest houses; restaurants includes bars and cafes, etc. Business types can be populated by QRef collections; other population is done by grammar categories from local_categories.grammar. It is expected that some business organizations will match more than one business type. E.g., Safeway is both a grocery store and a pharmacy. Next ID: 43 NOTE(oksana): LocalCategoryReliable grammar over-rides a few business type queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChange", - "id": "NlpSemanticParsingLocalBusinessType", - "properties": { - "airline": { - "type": "boolean" - }, - "airport": { - "type": "boolean" - }, - "bank": { - "type": "boolean" - }, - "bikeSharingStation": { - "type": "boolean" - }, - "busStop": { - "type": "boolean" - }, - "clothingStore": { - "type": "boolean" - }, - "cuisineGcid": { - "description": "If the element implies a cuisine type then we include the gcid string when available. Currently this happens for BUSINESS_CATEGORY type. The field is repeated to model categories like \"mandarin buffet restaurant\" with multiple cuisine gcid's: mandarin_restaurant and buffet_restaurant.", - "items": { - "type": "string" - }, - "type": "array" - }, - "departmentStore": { - "type": "boolean" - }, - "drugDropOff": { - "type": "boolean" - }, - "electricVehicleChargingStation": { - "type": "boolean" - }, - "electronicStore": { - "type": "boolean" - }, - "emergency": { - "description": "This field is used to determine the emergency type of the element, which is specified by the grammar parse in (http://cs/file:googledata/localsearch/quality/grammar/local_patterns.asciipb). e.g. \"coronavirus_treatment_locations\" TODO(b/151330576) Deprecate the emergency field and replace with normal triggering.", - "type": "string" - }, - "foodPantry": { - "type": "boolean" - }, - "gasStation": { - "type": "boolean" - }, - "groceryStore": { - "type": "boolean" - }, - "hairdresser": { - "type": "boolean" - }, - "hardwareStore": { - "type": "boolean" - }, - "hospital": { - "type": "boolean" - }, - "hotel": { - "description": "Also youth hostels, guest houses, etc.", - "type": "boolean" - }, - "parking": { - "type": "boolean" - }, - "petStore": { - "type": "boolean" - }, - "pharmacy": { - "type": "boolean" - }, - "qrefTransitStation": { - "description": "This is used for transit stations annotated by QRef. The transit_station business_type above is only used for business categories, and therefore is used downstream to find nearby stations rather than a particular station, and so cannot be present in a Location that is a specific station from QRef. For these cases, this business_type is used instead. e.g. \"grand central\" \"millbrae station\" \"union station\" will have business_type qref_transit_station", - "type": "boolean" - }, - "restaurant": { - "description": "Also bars and cafes", - "type": "boolean" - }, - "retail": { - "type": "boolean" - }, - "school": { - "description": "Pre-k to high school", - "type": "boolean" - }, - "shoppingCenter": { - "type": "boolean" - }, - "soupKitchen": { - "type": "boolean" - }, - "sportStore": { - "type": "boolean" - }, - "subwayStation": { - "type": "boolean" - }, - "telecom": { - "type": "boolean" - }, - "toyStore": { - "type": "boolean" - }, - "trainStation": { - "type": "boolean" - }, - "transitLine": { - "description": "A particular line in a transit system, e.g., \"3 train\", \"Red Line\", \"Cirle Line\", etc.", - "type": "boolean" - }, - "transitOperator": { - "description": "Operator of a transit line, e.g., \"MTA\", \"BART\", \"CTA\", etc.", - "type": "boolean" - }, - "transitStation": { - "description": "The different types of transit station business types will be used to figure out which vehicle types to use when querying Tripfinder's SearchStations service. The stations in that backend seem to be divided into HEAVY_RAIL, SUBWAY, and TRAM. There isn't a very reliable division between intercity rail and commuter rail -- Amtrak, LIRR, PATH, and NJ Transit are all classified as HEAVY_RAIL. That's why in these types we make a distinction between train and subway, and not train and muni_rail, (unlike TransitMode in the TravelAction proto).", - "type": "boolean" - }, - "university": { - "description": "Also colleges", - "type": "boolean" - }, - "vehicleType": { - "description": "All of the vehicle types serviced by this business or business category. e.g. VEHICLE_TYPE_RAIL and VEHICLE_TYPE__BUS for \"transit stop\". This allows downstream to serve different result types for transit station categories in different languages. e.g. In en-US \"train station\" seeks both railway station and subway station results. But the equivalent word in French/Italian/German seeks only railway stations.", - "items": { - "enum": [ - "VEHICLE_TYPE_ANY", - "VEHICLE_TYPE_RAIL", - "VEHICLE_TYPE_METRO_RAIL", - "VEHICLE_TYPE_SUBWAY", - "VEHICLE_TYPE_TRAM", - "VEHICLE_TYPE_MONORAIL", - "VEHICLE_TYPE_HEAVY_RAIL", - "VEHICLE_TYPE_COMMUTER_TRAIN", - "VEHICLE_TYPE_HIGH_SPEED_TRAIN", - "VEHICLE_TYPE_LONG_DISTANCE_TRAIN", - "VEHICLE_TYPE_BUS", - "VEHICLE_TYPE_INTERCITY_BUS", - "VEHICLE_TYPE_TROLLEYBUS", - "VEHICLE_TYPE_SHARE_TAXI", - "VEHICLE_TYPE_FERRY", - "VEHICLE_TYPE_CABLE_CAR", - "VEHICLE_TYPE_GONDOLA_LIFT", - "VEHICLE_TYPE_FUNICULAR", - "VEHICLE_TYPE_SPECIAL", - "VEHICLE_TYPE_HORSE_CARRIAGE", - "VEHICLE_TYPE_AIRPLANE" - ], - "enumDescriptions": [ - "ABSTRACT", - "ABSTRACT Metropolitan railway transport, mostly for local transit.", - "ABSTRACT", - "Subways run mainly or completely underground.", - "Trams run mainly or completely along streets.", - "Monorails run on track consisting of a single rail, e.g. suspended monorail.", - "Heavy rail is rail transit that consists of larger vehicles, typically to transport more people across longer distances.", - "Commuter trains connect the city with the suburbs. They tend to stop often and run short distances.", - "High speed trains operate at much higher speed than normal trains. They can also run long distances. Typically with speeds upwards of 200 km/h. Examples are TGV, ICE, Shinkansen.", - "Long distance trains connect multiple cities/regions of a country or even multiple countries. They run faster, but not high-speed. Typically speeds under 200 km/h.", - "Buses cover mass transit over roads.", - "A bus that connects cities to each other.", - "A bus powered by electricity obtained from overhead wires by means of a pole.", - "Share taxi is sort of bus transport with ability to drop off and pick up passengers anywhere on it route. Generally share taxi uses minibus vehicles.", - "Ferries are a means of transit over water, often operated on regular, frequent, return services.", - "Cable cars are a form of transit used in the mountains.", - "An aerial lift (colloquially called \"gondola lift\") is a means of cable transport in which cabins, cars, gondolas or open chairs are hauled above the ground by means of one or more cables. Examples: gondola lift, aerial tramway. Funicular is a cable railway in which a pair of tram-like vehicles use each other as counter balance to ascend and descend.", - "", - "Used for easter eggs.", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "venue": { - "description": "Stadiums, theaters, cinemas, etc.", - "type": "boolean" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalChainMemberConstraint": { - "description": "ChainMemberConstraint for chain filtering enabled queries.", - "id": "NlpSemanticParsingLocalChainMemberConstraint", - "properties": { - "chainIds": { - "description": "Specifies which parent chain mids to filter by.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalCompoundLocation": { - "id": "NlpSemanticParsingLocalCompoundLocation", - "properties": { - "joiner": { - "$ref": "NlpSemanticParsingLocalJoiner" - }, - "location1": { - "$ref": "NlpSemanticParsingLocalLocation" - }, - "location2": { - "$ref": "NlpSemanticParsingLocalLocation", - "description": "If location_2 is absent, it should likely be interpreted as an implicit \"here\". For example, \"nearest Starbucks\" will be represented as a compound location with \"Starbucks\" as location_1, \"nearest\" as the joiner, and empty location_2." - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalContactLocation": { - "description": "Contact information for the |contact_location| field in LocationElement.", - "id": "NlpSemanticParsingLocalContactLocation", - "properties": { - "contact": { - "$ref": "NlpSemanticParsingModelsCommunicationRecipient", - "description": "Contact as a location." - }, - "contactType": { - "$ref": "NlpSemanticParsingModelsCommunicationPhoneType", - "description": "The type of contact address (home, work, etc)." - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalCuisineConstraint": { - "description": "Constraint for cuisine type, such as \"chinese\", \"italian\", \"thai\", \"burgers\", etc.", - "id": "NlpSemanticParsingLocalCuisineConstraint", - "properties": { - "cuisineGcid": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalEvChargingStationConnectorConstraint": { - "id": "NlpSemanticParsingLocalEvChargingStationConnectorConstraint", - "properties": { - "connectorType": { - "enum": [ - "OTHER", - "J_1772", - "MENNEKES", - "CHADEMO", - "CCS_COMBO_1", - "CCS_COMBO_2", - "TESLA_ROADSTER", - "TESLA_S_HPWC", - "TESLA", - "GB_T", - "WALL_OUTLET", - "LECCS", - "TYPE_6", - "NACS" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "IEC 62196 Type 2 connector", - "", - "Combined Charging System (AC and DC). Based on SAE", - "Type-1 J-1772 connector Combined Charging System (AC and DC). Based on Type-2", - "Mennekes connector Tesla connectors (#7-8) are being deprecated and will soon be removed and reserved. Please use the generic TESLA connector #9 below.", - "", - "", - "GB/T", - "", - "Ather", - "Dash 6/IEC 62196-6", - "North America Charging Standard connector for non Tesla vehicles. Note this plug type is expected for either \"Partner connectors of Tesla POI\" or \"NACS connectors of Non-Tesla POI\"." - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalEvChargingStationPaymentConstraint": { - "id": "NlpSemanticParsingLocalEvChargingStationPaymentConstraint", - "properties": { - "paymentNetworkMid": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalEvChargingStationSpeedConstraint": { - "description": "There is an implicit AND relation if multiple EVCS constraint types are specified.", - "id": "NlpSemanticParsingLocalEvChargingStationSpeedConstraint", - "properties": { - "chargingSpeed": { - "enum": [ - "UNKNOWN_CHARGING_SPEED", - "FAST_CHARGING_SPEED", - "VERY_FAST_CHARGING_SPEED" - ], - "enumDescriptions": [ - "", - "", - "Very fast definition : go/very-fast-speed-qbf-evcs" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalExtent": { - "id": "NlpSemanticParsingLocalExtent", - "properties": { - "nonSpecificValue": { - "description": "True for values like \"a few\".", - "type": "boolean" - }, - "units": { - "enum": [ - "METER", - "KILOMETER", - "FOOT", - "YARD", - "MILE", - "BLOCK", - "MINUTE", - "HOUR", - "OTHER_UNITS" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "unitsString": { - "description": "String representation, e.g., for debug.", - "type": "string" - }, - "value": { - "description": "For approximate values such as \"a few\" or \"several\", we populate |value| with a specific numeric value which is a generous (i.e., high) interpretation of the text, and we set |non_specific_value| to true.", - "format": "double", - "type": "number" - }, - "valueString": { - "description": "Can hold numbers as well as \"a few\".", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalGcidConstraint": { - "id": "NlpSemanticParsingLocalGcidConstraint", - "properties": { - "gcid": { - "description": "GCID - with the 'gcid:' prefix.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalHealthInsuranceConstraint": { - "description": "Constraint for the health insurance network of a provider.", - "id": "NlpSemanticParsingLocalHealthInsuranceConstraint", - "properties": { - "network": { - "enum": [ - "UNKNOWN_HEALTH_INSURANCE", - "ACCEPTS_MEDICARE", - "ACCEPTS_MEDICAID" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalHotelType": { - "description": "Hotel Type used by the hotels team to differentiate sub classes of accommodations. For any questions please contact hotel-search-quality@. Next ID: 48", - "id": "NlpSemanticParsingLocalHotelType", - "properties": { - "allInclusiveResort": { - "description": "Basic accommodation types variations.", - "type": "boolean" - }, - "beachResort": { - "type": "boolean" - }, - "bedAndBreakfast": { - "type": "boolean" - }, - "boutiqueHotel": { - "type": "boolean" - }, - "businessHotel": { - "type": "boolean" - }, - "cabin": { - "description": "Other accommodation types.", - "type": "boolean" - }, - "campsite": { - "type": "boolean" - }, - "capsuleHotel": { - "type": "boolean" - }, - "casinoAccommodation": { - "type": "boolean" - }, - "castleHotel": { - "type": "boolean" - }, - "chalet": { - "type": "boolean" - }, - "commonLodgingHouse": { - "type": "boolean" - }, - "condoHotel": { - "type": "boolean" - }, - "conventionHotel": { - "type": "boolean" - }, - "cottage": { - "type": "boolean" - }, - "ecoHotel": { - "type": "boolean" - }, - "extendedStayHotel": { - "type": "boolean" - }, - "farmstay": { - "type": "boolean" - }, - "gite": { - "type": "boolean" - }, - "golfResort": { - "type": "boolean" - }, - "guestRanch": { - "type": "boolean" - }, - "guesthouse": { - "type": "boolean" - }, - "hostel": { - "type": "boolean" - }, - "hotel": { - "description": "Basic accommodation types.", - "type": "boolean" - }, - "houseboat": { - "type": "boolean" - }, - "inn": { - "type": "boolean" - }, - "japaneseInn": { - "description": "Japanese accommodation types.", - "type": "boolean" - }, - "japaneseInnWithHotSpring": { - "type": "boolean" - }, - "lodge": { - "type": "boolean" - }, - "lodging": { - "type": "boolean" - }, - "loveHotel": { - "type": "boolean" - }, - "motel": { - "type": "boolean" - }, - "mountainHut": { - "type": "boolean" - }, - "other": { - "description": "Any other lodging related type.", - "type": "boolean" - }, - "pension": { - "type": "boolean" - }, - "resort": { - "type": "boolean" - }, - "safariLodge": { - "type": "boolean" - }, - "seasideResort": { - "type": "boolean" - }, - "servicedApartment": { - "type": "boolean" - }, - "skiResort": { - "type": "boolean" - }, - "suite": { - "type": "boolean" - }, - "vacationApartment": { - "type": "boolean" - }, - "vacationHouse": { - "type": "boolean" - }, - "vacationRental": { - "description": "Vacation rental accommodation types.", - "type": "boolean" - }, - "villa": { - "type": "boolean" - }, - "wellnessAndSpaAccommodation": { - "type": "boolean" - }, - "youthHostel": { - "type": "boolean" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalHyperReliableData": { - "description": "Message containing information about hyper-reliable categories. go/local-hyper-reliable", - "id": "NlpSemanticParsingLocalHyperReliableData", - "properties": { - "commodityStrength": { - "description": "Whether a location is a commodity (distance is an important metric), neutral or non-commodity (distance is not important). Commodity locations are \"atm\", \"gas station\", etc. Non-commodity locations are \"restaurant\", \"hotel\", etc, and all others are neutral. The value is 1 for commodity queries, 0 for non-commodity queries, no-value for neutral queries (when the field doesn't exist in the grammar). The reason it is a float is to prepare for future changes when we expand the signal value from discrete classes to a score, and the score will be in the range of [0,1].", - "format": "float", - "type": "number" - }, - "gcidsynsOverride": { - "items": { - "$ref": "NlpSemanticParsingLocalHyperReliableDataGCIDSynsOverride" - }, - "type": "array" - }, - "hyperReliable": { - "type": "boolean" - }, - "retrievalGcids": { - "description": "Categories used for retrieval and used in Artemis diversity tiers as restricts. See https://ariane.googleplex.com/launch/190585 for details.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalHyperReliableDataGCIDSynsOverride": { - "description": "Set only when hyper_reliable is true. These are gcids and scores for hyper-reliable categories in ariane/182060. These are overridden for a few hyper-reliable categories, and may not be present everywhere.", - "id": "NlpSemanticParsingLocalHyperReliableDataGCIDSynsOverride", - "properties": { - "gcidScore": { - "format": "float", - "type": "number" - }, - "hyperReliableGcid": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalImplicitLocalCategory": { - "description": "Flags indiciating the specific implicit intent, e.g. dining, travel, etc. Next ID = 13", - "id": "NlpSemanticParsingLocalImplicitLocalCategory", - "properties": { - "airport": { - "type": "boolean" - }, - "bank": { - "type": "boolean" - }, - "chargingStation": { - "type": "boolean" - }, - "gasStation": { - "type": "boolean" - }, - "gym": { - "type": "boolean" - }, - "hairSalon": { - "type": "boolean" - }, - "hospital": { - "type": "boolean" - }, - "hotel": { - "type": "boolean" - }, - "laundromat": { - "type": "boolean" - }, - "movieTheater": { - "type": "boolean" - }, - "postOffice": { - "type": "boolean" - }, - "spa": { - "type": "boolean" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalJoiner": { - "id": "NlpSemanticParsingLocalJoiner", - "properties": { - "numBytes": { - "format": "int32", - "type": "integer" - }, - "numBytesForConversion": { - "format": "int32", - "type": "integer" - }, - "startByte": { - "description": "The raw input span corresponding to this joiner.", - "format": "int32", - "type": "integer" - }, - "startByteForConversion": { - "description": "Byte data added for conversion between this proto and IntentQuery in LooseParser. Must not be used for downstream triggering.", - "format": "int32", - "type": "integer" - }, - "text": { - "description": "The original joiner string from the tokenized query. Particularly important if the type is OTHER.", - "type": "string" - }, - "type": { - "enum": [ - "IN", - "NEAR", - "NEAREST", - "BETWEEN", - "JUNCTION", - "UNION", - "OTHER_JOINER", - "EMPTY_JOINER" - ], - "enumDescriptions": [ - "Includes \"on\", as in \"Subway on Main St.\".", - "E.g., \"A Starbucks near my location\"", - "E.g., \"Starbucks closest to my home\"", - "Includes \"on the way from X to Y\".", - "E.g., \"El Camino and Shoreline\"", - "E.g., \"Palo Alto or Menlo Park\"", - "Catch-all for strange relations", - "Sometimes there is an implicit joiner that we would like to model. E.g., in [main and 16th Starbucks] we want to have the compound location \"main and 16th\" so there is an empty joiner between \"16th\" and \"Starbucks\". The intention is that when using EMPTY_JOINER at least one of location_1 and location_2 should not be a basic location. In other words, we do not want to create a compound location that spans a sequence of location elements without joiners." - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalLocalResultId": { - "description": "This message holds all info the local assistant team will need to lookup a LocalResult in search.", - "id": "NlpSemanticParsingLocalLocalResultId", - "properties": { - "featureId": { - "$ref": "GeostoreFeatureIdProto" - }, - "geocodingAddress": { - "description": "The full address of the result. This should be a verbose address string that geocodes reliably.", - "type": "string" - }, - "kgMid": { - "description": "The knowledge graph reference of the result.", - "type": "string" - }, - "position": { - "$ref": "GeostorePointProto", - "description": "The position of the result." - }, - "rect": { - "$ref": "GeostoreRectProto", - "description": "The position of the result, if it can't be expressed as a pointproto." - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalLocation": { - "description": "There are a few types of locations: - Basic locations are sequences of location elements which can be either actual locations or modifiers. E.g., \"Mountain View CA 94040\" may be the sequence \"Mountain View\" (an actual location), \"CA\" (an actual location, and \"94040\" (a numeric modifier). - Compound locations: these are two locations combined by a joiner. E.g., \"Target in Mountain View CA 94040\" has the joiner \"in\" and two basic locations (\"Target\", and \"Mountain View CA 94040\"). Note that the definition is recursive, e.g., \"Parking garage near Target in Mountain View\". - Vicinity location: indicates an area around a certain location. The area can be defined by time or space. E.g., \"within 1 hour of Palo Alto\", \"10 blocks from Union Square\", \"a few miles from here\". Next ID: 14 LINT.IfChange()", - "id": "NlpSemanticParsingLocalLocation", - "properties": { - "basicLocation": { - "$ref": "NlpSemanticParsingLocalBasicLocation", - "description": "Exactly one of the location types should be populated." - }, - "compoundLocation": { - "$ref": "NlpSemanticParsingLocalCompoundLocation" - }, - "contactLocation": { - "$ref": "NlpSemanticParsingLocalContactLocation", - "deprecated": true, - "description": "DEPRECATED. Instead, use LocationElement.contact_location." - }, - "isMerged": { - "description": "True if the location is merged, for example by CombineLocationsFn.", - "type": "boolean" - }, - "locationConstraint": { - "description": "The constraint includes various constraints on the location such as amenities, price range, ratings, or attributes such as new, cheap, etc. These constraints are a part of the location but are not modeled as location elements and are not included in the location text. The (debatable) motivation is that they do not stand on their own and are not an intrinsic part of the location. Note on texts and spans. For a location such as \"kid friendly hotels with an indoor pool\" we expect to get a basic location with a single location element and two constraints: - For the location element: - Both text and span match \"hotels\" - For the first constraint: - Both text and span match \"kid friendly\" - For the second constraint: - Both text and span match \"indoor pool\" - For the full location: - text: \"hotels\" - span covers \"kid friendly hotels with an indoor pool\"", - "items": { - "$ref": "NlpSemanticParsingLocalLocationConstraint" - }, - "type": "array" - }, - "numBytes": { - "format": "int32", - "type": "integer" - }, - "resolvedLocalResult": { - "$ref": "QualityDialogManagerLocalResult", - "description": "A LocalResult corresponding to the location the user specified, populated by local dialog (generally following a search). This field will only be set if the location is unambiguous, possibly following a series of disambiguation turns of dialog." - }, - "startByte": { - "description": "The span, in the raw input, which corresponds to this location, expressed as a byte offset and byte size. This allows the extraction of the location string as it appears in the raw text.", - "format": "int32", - "type": "integer" - }, - "text": { - "description": "A string representation of the location. Depending on the annotators and the location itself the string may represent the raw query, the pre-processed query, or something else. As a non-trivial example, for [target address mountain view] we will generate the text \"target mountain view\" without \"address\". We make a best-effort to come up with a good string, but make no formal guarantees. You should never present this text directly to outside users.", - "type": "string" - }, - "userSpecifiedLocation": { - "$ref": "KnowledgeVerticalsWeatherProtoUserSpecifiedLocation", - "description": "A location info including featureId and lat/lng that uniquely identifies the location the user specified." - }, - "vicinityLocation": { - "$ref": "NlpSemanticParsingLocalVicinityLocation" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalLocationConstraint": { - "description": "All the possible location constraints. This message is associated with a location and can be nested accordingly. E.g., for a compound location the constraint may be associated with the entire location or with either of the two internal locations (loc_1 and loc_2). There is an implicit AND relation between the different constraints. Next ID: 26.", - "id": "NlpSemanticParsingLocalLocationConstraint", - "properties": { - "amenities": { - "$ref": "NlpSemanticParsingLocalAmenities", - "description": "LINT.IfChange" - }, - "chainMember": { - "$ref": "NlpSemanticParsingLocalChainMemberConstraint" - }, - "cuisine": { - "$ref": "NlpSemanticParsingLocalCuisineConstraint" - }, - "evcsConnectorConstraint": { - "$ref": "NlpSemanticParsingLocalEvChargingStationConnectorConstraint", - "description": "Used for populating ElectricVehicleConnectorRefinement from QBF go/evcs-qbf-connector" - }, - "evcsPaymentConstraint": { - "$ref": "NlpSemanticParsingLocalEvChargingStationPaymentConstraint", - "description": "Used for populating ElectricVehiclePaymentRefinement from QBF go/evcs-qbf-payment" - }, - "evcsSpeedConstraint": { - "$ref": "NlpSemanticParsingLocalEvChargingStationSpeedConstraint" - }, - "gcidConstraint": { - "$ref": "NlpSemanticParsingLocalGcidConstraint", - "description": "Used for GCID filter. Unlike other grammar, for now this is populated in Superroot (currently based on QBLD classification, and an allowlist of GCID)." - }, - "healthInsurance": { - "$ref": "NlpSemanticParsingLocalHealthInsuranceConstraint", - "description": "Used for health insurance filter populator." - }, - "hyperReliableData": { - "$ref": "NlpSemanticParsingLocalHyperReliableData", - "description": "Some constraints are also hyper-reliable, such as [brunch] and [coffee]." - }, - "menuItem": { - "$ref": "NlpSemanticParsingLocalMenuItem" - }, - "new": { - "type": "boolean" - }, - "numBytes": { - "format": "int32", - "type": "integer" - }, - "open24Hours": { - "deprecated": true, - "type": "boolean" - }, - "price": { - "$ref": "NlpSemanticParsingLocalPriceConstraint" - }, - "quality": { - "$ref": "NlpSemanticParsingLocalQualityConstraint" - }, - "rooms": { - "$ref": "NlpSemanticParsingLocalRoomConstraint" - }, - "scalableAttribute": { - "$ref": "NlpSemanticParsingLocalScalableAttribute" - }, - "service": { - "$ref": "NlpSemanticParsingLocalServiceConstraint" - }, - "startByte": { - "description": "The span, in the raw input, which corresponds to this constraint, expressed as a byte offset and byte size.", - "format": "int32", - "type": "integer" - }, - "text": { - "type": "string" - }, - "ungroundedConstraint": { - "description": "Experimental, may change.", - "type": "boolean" - }, - "unspecified": { - "description": "Used to remove all constraints, e.g. [forget all the filters]", - "type": "boolean" - }, - "vaccineType": { - "description": "Used for vaccine refinement: go/covid-vaccine-refinement.", - "enum": [ - "UNKNOWN_VACCINE_TYPE", - "COVAXIN", - "JOHNSON_AND_JOHNSON", - "MODERNA", - "OXFORD_ASTRAZENECA", - "PFIZER", - "SPUTNIK", - "ZYCOV_D", - "COVISHIELD", - "CORBEVAX", - "PFIZER_BOOSTER", - "MODERNA_BOOSTER" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "visitHistory": { - "$ref": "NlpSemanticParsingLocalVisitHistoryConstraint" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalLocationElement": { - "description": "Next ID: 26 LINT.IfChange", - "id": "NlpSemanticParsingLocalLocationElement", - "properties": { - "aliasIcon": { - "description": "For elements with a NICKNAME alias location, this field will hold all matching alias icons, which are used in search to resolve the location.", - "items": { - "$ref": "PersonalizationMapsAliasIcon" - }, - "type": "array" - }, - "aliasLocation": { - "description": "The following fields (alias_location, qref_location, and saft_location) should have at most one non-empty value between them.", - "enum": [ - "UNDEFINED", - "HERE", - "HOME", - "WORK", - "NICKNAME", - "NEXT_DESTINATION" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "businessType": { - "$ref": "NlpSemanticParsingLocalBusinessType", - "description": "Set only when type is BUSINESS_NAME or BUSINESS_CATEGORY." - }, - "contactLocation": { - "$ref": "NlpSemanticParsingLocalContactLocation" - }, - "dialogReferents": { - "description": "This will hold semantics from the dialog_referents subgrammar with offsets and indices relating to a list of results shown to the user. This field is repeated while in the future we could support multiple item list selection. i.e. [the starbucks] where multiple entries in the results will be indicated here", - "items": { - "$ref": "NlpSemanticParsingModelsDialogReferentsDialogReferents" - }, - "type": "array" - }, - "directionalModifier": { - "description": "Set only when type is DIRECTIONAL_MODIFIER.", - "enum": [ - "NORTH", - "SOUTH", - "EAST", - "WEST", - "NORTHEAST", - "SOUTHEAST", - "NORTHWEST", - "SOUTHWEST", - "DOWNTOWN", - "INBOUND", - "UPTOWN", - "OUTBOUND", - "CLOCKWISE", - "COUNTERCLOCKWISE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "genericLocation": { - "deprecated": true, - "description": "DEPRECATED. See basic_location.element.type == LOCATION_REFERENT to determine this instead. Populated by a type VISITED local action, this field is used to indicate a location element is a general-case $PT_visited_location string.", - "type": "boolean" - }, - "hotelType": { - "$ref": "NlpSemanticParsingLocalHotelType", - "description": "Set only when business_type is hotel." - }, - "hyperReliableData": { - "$ref": "NlpSemanticParsingLocalHyperReliableData" - }, - "implicitLocalCategory": { - "$ref": "NlpSemanticParsingLocalImplicitLocalCategory" - }, - "localResultId": { - "$ref": "NlpSemanticParsingLocalLocalResultId", - "description": "A field used to store the ID of a specific location entity, especially one not extracted via QRef. For example, - a location selected by the users via a dialog follow-up query like [the second one]. Will only be populated in the LocalSemanticsServlet, not in the grammar. - a location resolved based on a full search, e.g., following the geocoding step for a directions query. This field is also used by NoramlizeLocationForFingerprinting as the canonical place to store FeatureIds." - }, - "numBytes": { - "format": "int32", - "type": "integer" - }, - "number": { - "description": "Represents zip codes, street numbers, etc. that were detected directly by the grammar (and not, e.g., by QRef). DEPRECATED. We ran into problems with zip codes having leading zeroes. Now we store numbers only in the text field.", - "format": "int32", - "type": "integer" - }, - "personalReferenceLocation": { - "$ref": "NlpSemanticParsingPersonalReferenceAnnotation", - "description": "A collection of QRefAnnotations repesenting Reference and Resolution data for Personal References. See go/copley-local and go/copley-annotator." - }, - "qrefLocation": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "saftLocation": { - "$ref": "NlpSemanticParsingSaftMentionAnnotation" - }, - "source": { - "enum": [ - "GRAMMAR", - "QREF", - "SAFT", - "GENIE", - "DIALOG", - "NIMBLE", - "ATTENTIONAL_ENTITY", - "LES", - "UNGROUNDED" - ], - "enumDescriptions": [ - "A location element defined in the grammar itself.", - "A location element from the QRef annotator.", - "A location element from the Saft annotator.", - "A location element from the Genie annotator.", - "A location element from the DialogField annotator.", - "A location element from the Nimble annotator.", - "A location element from attentional entities.", - "Important note: LES is being DEPRECATED as of May 29th 2014. It should not be used, and will not be returned from production after June 15th. A location element from the LES annotator.", - "A location element produced by the ungrounded_location model. This is a machine learned model which produces text spans corresponding to locations; unlike QRef or SAFT, it does not give any further semantics (such as mid, collection, type) beyond the text span. See nlp/semantic_parsing/models/ungrounded_location for details." - ], - "type": "string" - }, - "startByte": { - "description": "The byte span, in the raw query, which corresponds to this location element.", - "format": "int32", - "type": "integer" - }, - "text": { - "description": "A string representation of the location element. Typical, this field will be populated by the MakeLocationElementFn semantic function with the substring of the raw_query defined by start_byte and num_bytes. However, the field can also be populated explicitly in the grammar, in which case MakeLocationElementFn leaves it alone.", - "type": "string" - }, - "transitLineNumber": { - "description": "Train number associated with /collection/geo/transit_line. Populated when user requests specific instance of a transit line. For example, long distance trains in India have two numbers for each train, one for up direction and other for down. And user use these numbers in queries along with name to specify the specific trip of the train. More details in go/number-transit-line-queries.", - "type": "string" - }, - "type": { - "enum": [ - "PLACE_NAME", - "BUSINESS_NAME", - "BUSINESS_CATEGORY", - "ALIAS", - "GEO_MODIFIER", - "DIRECTIONAL_MODIFIER", - "NUMBER_MODIFIER", - "DETERMINER", - "ZIP_CODE", - "PERSONAL_MODIFIER", - "TEXT", - "PUNCTUATION", - "STREET_NAME", - "HIGHWAY_NAME", - "OLC", - "CONTACT", - "CONTACT_AND_ALIAS", - "PERSONAL_PLACE_NAME", - "PERSONAL_REFERENCE", - "UNGROUNDED_LOCATION", - "LATITUDE_LONGITUDE", - "DIALOG_REFERENT", - "LOCATION_REFERENT" - ], - "enumDescriptions": [ - "E.g., \"Manhattan\", \"Ohio\"", - "E.g., \"Target\", \"NYU\", \"Gary Danko\"", - "E.g., \"gas station\", \"Chinese restaurant\"", - "Special locations recognized in the grammar itself: \"here\", \"home\", \"work\".", - "Geographical modifier such as \"west\", \"southeastern\", \"downtown\", \"metro\". E.g., for \"west Palo Alto\" we create a location element \"west\" (followed by another location element \"Palo Alto\").", - "Route directions such as \"north\", \"northbound\". E.g., for \"north I-96\" we create a location element \"north\" (plus another location element \"I-96\").", - "Numbers that follow or precede a location. E.g., \"90210\" from \"beverly hills 90210\", \"10\" from \"10 downing street\".", - "Determiners like \"a\", \"an\", and \"the\". E.g., \"a mcdonald's\", \"the grand canyon\".", - "An explicit zip code, e.g., \"zip code 77079\"", - "Modifier that often goes with a business category or an alias, e.g., \"our hotel\", \"my barber\", \"my current location\".", - "Used only for locations generated from $Text.", - "", - "Note(12/08/2014): STREET_NAME used to be covered by PLACE_NAME. We are planning to start generating this type in January 2015. E.g., \"Oak St.\", \"17th\"", - "HIGHWAY_NAME used to be covered partially by STREET_NAME. As of January '17 we want to separate locations like \"Highway 70\" or \"70\" for traffic intent.", - "", - "Indicates a contact's location. It could be either a contact name (e.g. \"Larry Page\") or a specific location for contact (e.g. \"Larry's home\").", - "A location element that is both a contact and an alias location.", - "Personal places (e.g., \"our hotel\", \"my parking spot\") which are annotated with a personal collection by QRef, indicating they refer to a specific location from a user's personal data. Part of the go/copley effort.", - "References to personal places (e.g., \"our hotel\", \"my parking spot\") which are annotated with a personal collection by QRef. They may or may not contain resolutions to/ locations from a user's personal data. Part of the go/copley effort.", - "Location that comes from the ungrounded_location model. See comment for the UNGROUNDED LocationElementSource above.", - "Location that comes from a latitude, longitude pair, e.g. (40.7415 N, 74.0034 W)", - "Phrase that refers generally to results or items. These element types are intended to be more generic than those below and will be semantically derived from a simple set of rules involving mostly preterminals. Examples include, but are not limited to: \"one,\" \"item,\" \"result.\"", - "Phrase that refers to generic places. These element types are intended to be more generic than those above and will be semantically derived from a simple set of rules involving mostly preterminals. Examples include, but are not limited to: \"places,\" \"spots,\" \"locations.\"" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalMenuItem": { - "description": "Specifies intent that corresponds to a menu item which is used as a location constraint, e.g. [restaurants that serve thai curry] or as a standalone categorical element, e.g. [thai curry].", - "id": "NlpSemanticParsingLocalMenuItem", - "properties": { - "menuItemId": { - "description": "This ID corresponds to the name of the menu item in the query. For example [restaurants that serve thai curry] has menu_item_id = \"thai curry\".", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalPriceConstraint": { - "id": "NlpSemanticParsingLocalPriceConstraint", - "properties": { - "cheap": { - "type": "boolean" - }, - "currencyCode": { - "description": "The currency codes are expected to be string from the list in i18n/identifiers/currencycode.*", - "type": "string" - }, - "expensive": { - "type": "boolean" - }, - "maxPrice": { - "format": "double", - "type": "number" - }, - "minPrice": { - "format": "double", - "type": "number" - }, - "moderatelyPriced": { - "type": "boolean" - }, - "unspecified": { - "description": "The user mentioned something about price, but didn't mention a specific constraint. This is used to indicate an intent to remove all price constraints, in queries like [forget the price].", - "type": "boolean" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalQualityConstraint": { - "description": "Quality constraints about the establishment. In the future we can add to this message Zagat ratings, user reviews, etc. Next ID: 6.", - "id": "NlpSemanticParsingLocalQualityConstraint", - "properties": { - "best": { - "type": "boolean" - }, - "highlyRated": { - "type": "boolean" - }, - "starType": { - "enum": [ - "HOTEL_CLASS", - "USER_RATING" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "stars": { - "$ref": "NlpSemanticParsingLocalStarRatings" - }, - "unspecified": { - "description": "The user mentioned something about quality, but didn't mention a specific constraint. This is used to indicate an intent to remove all quality constraints, in queries like [forget the rating].", - "type": "boolean" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalRoomConstraint": { - "description": "Constraints for the occupancy of a hotel or vacation rental.", - "id": "NlpSemanticParsingLocalRoomConstraint", - "properties": { - "minNumBathrooms": { - "description": "It is possible to have fractional bathrooms.", - "format": "double", - "type": "number" - }, - "minNumBedrooms": { - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalScalableAttribute": { - "description": "Specifies intent that corresponds to a scalable attribute. This may be used as a location constraint, e.g. [restaurants with outdoor seating] or as a standalone categorical element, e.g. [happy hour] or [happy hour ny]. See go/scalable-attributes for details about scalable attributes. NOTE(oksana): LocalCategoryReliable grammar over-rides a few scalable attribute queries to include hyper_reliable location element. If you change this, please make sure that LocalCategoryReliable grammar reflects this too. LINT.IfChange This ID corresponds to the id field in //geostore/attributes/proto/config.proto:AttributeConfigProto This field holds the human readable ID for the KG topic that represents the attribute. Example: \"/geo/type/establishment_poi/serves_breakfast\"", - "id": "NlpSemanticParsingLocalScalableAttribute", - "properties": { - "attributeId": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalServiceConstraint": { - "id": "NlpSemanticParsingLocalServiceConstraint", - "properties": { - "serviceType": { - "enum": [ - "SERVICE_TYPE_UNSPECIFIED", - "ACCESS", - "BRUNCH", - "DELIVERY", - "DRIVE_THROUGH", - "KITCHEN", - "HAPPY_HOUR", - "PICKUP", - "SENIOR_ONLY", - "TAKEOUT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalStarRatings": { - "description": "Star ratings constraints, mostly relevant for hotels. There is an implicit OR relation between these. E.g., for \"three star or four star hotel\" both three and four would be set to true. Next Available ID: 13.", - "id": "NlpSemanticParsingLocalStarRatings", - "properties": { - "five": { - "type": "boolean" - }, - "four": { - "type": "boolean" - }, - "fourAndAHalf": { - "type": "boolean" - }, - "one": { - "type": "boolean" - }, - "oneAndAHalf": { - "type": "boolean" - }, - "orFewer": { - "type": "boolean" - }, - "orMore": { - "description": "If this field is set, exactly one of the star classes above should be set, and the interpretation should be that at least that many stars should be present.", - "type": "boolean" - }, - "three": { - "type": "boolean" - }, - "threeAndAHalf": { - "type": "boolean" - }, - "two": { - "type": "boolean" - }, - "twoAndAHalf": { - "type": "boolean" - }, - "unspecified": { - "type": "boolean" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalVicinityLocation": { - "id": "NlpSemanticParsingLocalVicinityLocation", - "properties": { - "base": { - "$ref": "NlpSemanticParsingLocalLocation", - "description": "If the base is missing then clients should assume that it implicitly means \"here\". E.g., \"within five miles\" really means \"within five miles from here\"" - }, - "connector": { - "description": "The text between the extent and the base, e.g., for \"50 miles from here\" the connector is \"from\".", - "type": "string" - }, - "extent": { - "$ref": "NlpSemanticParsingLocalExtent" - } - }, - "type": "object" - }, - "NlpSemanticParsingLocalVisitHistoryConstraint": { - "description": "Constraint for visited, as in if a location has been visited before.", - "id": "NlpSemanticParsingLocalVisitHistoryConstraint", - "properties": { - "visitedType": { - "enum": [ - "UNKNOWN_VISITED_TYPE", - "VISITED", - "NOT_VISITED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsCommunicationPhoneType": { - "description": "The type of contact (mobile, home, work, etc). NOTE: Unfortunately the name of this message is a misnomer. Contact type would be a better name.", - "id": "NlpSemanticParsingModelsCommunicationPhoneType", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "isAnnotatedFromText": { - "description": "Whether the annotation is from $Text.", - "type": "boolean" - }, - "normalizedText": { - "description": "Normalized (canonicalized) text, e.g. \"mobile\".", - "type": "string" - }, - "originalText": { - "description": "Original text in query, e.g. \"cell\".", - "type": "string" - }, - "rawText": { - "description": "DEPRECATED. Used original_text instead.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsCommunicationRecipient": { - "description": "It can be a contact (person name), a business name, an email address or a phone number. NOTE: Unfortunately the name of this message is not generic enough. Contact would be a better name.", - "id": "NlpSemanticParsingModelsCommunicationRecipient", - "properties": { - "calendarEvent": { - "$ref": "AssistantApiCoreTypesCalendarEvent" - }, - "calendarEventWrapper": { - "$ref": "AssistantApiCoreTypesCalendarEventWrapper" - }, - "contact": { - "$ref": "NlpSemanticParsingModelsPersonPerson", - "description": "Contact details (e.g. gaia_id, phone, etc). Replaces 'focus_name' above." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "isAnnotatedFromText": { - "type": "boolean" - }, - "nameAnnotationSource": { - "deprecated": true, - "description": "Deprecated in favor of recipient.contact.name_annotation_source.", - "enum": [ - "UNKNOWN_NAME_ANNOTATOR", - "FOCUS_NAME", - "DEVICE_CONTACT", - "SAFT_PERSON", - "NAME_DETECTION_PERSON", - "NAME_PERSON", - "MANUAL_RULES", - "SAFT_POS", - "TEXT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "SAFT part-of-speech, like a noun (call skipper) or an adjective (call beautiful).", - "" - ], - "type": "string" - }, - "numberAnnotationSource": { - "enum": [ - "UNKNOWN_NUMBER_ANNOTATOR", - "PHONE_NUMBER_ANNOTATOR", - "NUMBER_ANNOTATOR", - "MANUAL" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "rawText": { - "description": "NOTE: for CONTACT recipient, this is *NOT* the real raw text of the recipient span of historical reasons. Major differences includes: - stripping possessive suffix, e.g. \"John's\" -\u003e \"John\" - stripping prefix/suffix/title, e.g. \"Mr. John\" -\u003e \"John\" - uninflect name for languages like Russian, e.g. \"Андрею\" -\u003e \"Андрей\" Currently this is the same as .contact.name, and is used as the string shown to the user on clientside UI. If you're looking for real raw text, use .contact.raw_text", - "type": "string" - }, - "recipientType": { - "enum": [ - "CONTACT", - "BUSINESS", - "EMAIL_ADDRESS", - "PHONE_NUMBER", - "AMBIGUOUS", - "CALENDAR_EVENT", - "CALENDAR_EVENT_WRAPPER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "relationship": { - "$ref": "NlpSemanticParsingModelsCommunicationRelationshipArgument", - "description": "A reference to a person by relationship name. eg. my father." - }, - "sensitiveNumBytes": { - "format": "int32", - "type": "integer" - }, - "sensitiveStartByte": { - "description": "The beginning and end of the recipient name that should be removed before logging.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsCommunicationRelationshipArgument": { - "description": "A relationship contact.", - "id": "NlpSemanticParsingModelsCommunicationRelationshipArgument", - "properties": { - "alias": { - "description": "The alias of the relationship in the query, e.g. \"mom\".", - "type": "string" - }, - "canonical": { - "description": "The canonical format of the relationship, e.g. \"Mother\".", - "type": "string" - }, - "canonicalLexicalMid": { - "description": "Mid for an entity that has lexical data (a LexiconEntry). See https://g3doc.corp.google.com/nlp/generation/g3doc/lexical_data.md for for more information about lexical data. This is the canonical mid for this entity (eg. it would be /m/0lbxz for \"mother\" in EN even if user referred to \"mom\").", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsDevice": { - "description": "The device to perform an action. Both device_type and device_name are optional and they can coexist: [on my phone]: device_type = PHONE [on my nexus 4]: device_name = \"nexus 4\" [on my nexus phone]: device_type = PHONE, device_name = \"nexus\"", - "id": "NlpSemanticParsingModelsDevice", - "properties": { - "deviceName": { - "$ref": "NlpSemanticParsingModelsDeviceName", - "description": "The name of the device (Nexus 5, Nexus 10, etc)." - }, - "deviceType": { - "description": "The type of the device (phone, tablet, watch, etc).", - "enum": [ - "UNKNOWN", - "PHONE", - "TABLET", - "WATCH" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsDeviceName": { - "description": "The name of the device (Nexus 5, Nexus 10, etc).", - "id": "NlpSemanticParsingModelsDeviceName", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "rawText": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsDialogReferentsDialogReferents": { - "description": "Will be used by dialog_referent subgrammar to emit types annotations from DialogReferentsAnnotator and $DialogReferentOrdinal rules.", - "id": "NlpSemanticParsingModelsDialogReferentsDialogReferents", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData" - }, - "field": { - "$ref": "NlpSemanticParsingModelsDialogReferentsListSelection", - "description": "The field mentioned in the user's utterance, if any." - }, - "index": { - "description": "Used for a grammar mention of an index.", - "format": "int32", - "type": "integer" - }, - "next": { - "$ref": "NlpSemanticParsingModelsDialogReferentsDialogReferents", - "description": "Represents a tied referent in a different field of the same label" - }, - "selection": { - "description": "The requested value(s) for selection from a list of alternatives.", - "items": { - "$ref": "NlpSemanticParsingModelsDialogReferentsListSelection" - }, - "type": "array" - }, - "taskMention": { - "description": "Set when the user's utterance refers to the (an) overall task/goal of the dialog (e.g. \"the meeting starts at 10 am\" mentions the goal, \"meeting\"). The field is repeated in case the user ambiguously identifies a task (two tasks named 'meeting').", - "items": { - "$ref": "NlpSemanticParsingModelsDialogReferentsListSelection" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsDialogReferentsListSelection": { - "description": "Represents the user's selection from a list of alternatives.", - "id": "NlpSemanticParsingModelsDialogReferentsListSelection", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData" - }, - "id": { - "description": "A unique identifier that is the canonical value for the chosen list item. If we are selecting among fields, this is the field_id specified in the corresponding DialogField.", - "type": "string" - }, - "looseOffsetRestriction": { - "description": "If true, semantic function should look at watch actions in the following display entity if the first one is not playable. This is useful for \"Play it\" on entity page.", - "type": "boolean" - }, - "offset": { - "description": "The offset within the list, if know. If the list of values wasn't known (e.g. from the discourse context) then the offset is a zero-based mapping of the ordinal value of the selection (\"first one\" maps to zero; \"last one\" to minus one).", - "format": "int32", - "type": "integer" - }, - "rawText": { - "description": "When the user selects a list value by name then this is the matched text from the utterance. Note that, if the list of values is known, then the aqua annotator should have mapped it to an offset.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaAlbumTitle": { - "description": "Example: \"The White Album\"", - "id": "NlpSemanticParsingModelsMediaAlbumTitle", - "properties": { - "annotationList": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotationList", - "description": "Annotations from custom media annotator." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "favorite": { - "description": "If true, indicates the user wants their favorite album. Like [play my favorite album my Eminem]", - "type": "boolean" - }, - "first": { - "description": "If true, indicates the user wants the first album. Like [play adele's first album]", - "type": "boolean" - }, - "isFromFastPath": { - "description": "Is annotated by Nimble for the media Fast Path.", - "type": "boolean" - }, - "latest": { - "description": "If true, indicates the user wants the latest album. Like, [play adele's latest album]", - "type": "boolean" - }, - "playMore": { - "description": "More from this album.", - "type": "boolean" - }, - "qref": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"The White Album.\"", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaAudio": { - "description": "Represents a music recording (usually a song). Each populated field can be thought of as additional constraint about the song's identity. For instance, if no fields are set, then this represents \"some song.\" If only the music_artist is set, then it represents \"some song by the specified music_artist.\" Inspired (but not strictly adhered to) http://schema.org/MusicRecording Next ID: 22", - "id": "NlpSemanticParsingModelsMediaAudio", - "properties": { - "album": { - "$ref": "NlpSemanticParsingModelsMediaAlbumTitle" - }, - "artist": { - "$ref": "NlpSemanticParsingModelsMediaMusicArtist" - }, - "book": { - "$ref": "NlpSemanticParsingModelsMediaBook", - "description": "Like an audio book. \"Listen to (moby dick) audiobook\"" - }, - "dateTime": { - "$ref": "NlpSemanticParsingDatetimeDateTime", - "description": "A date time constraint for audio entity, for example, \"jazz station 1980\"." - }, - "episodeConstraint": { - "description": "Constraining the query to some detail about the episode. Example: \"listen to episode (13) of this american life with (mike birbiglia)\" would have the 2 constraints in parens.", - "items": { - "$ref": "NlpSemanticParsingModelsMediaEpisodeConstraint" - }, - "type": "array" - }, - "game": { - "$ref": "NlpSemanticParsingModelsMediaGame", - "description": "Soundtrack or theme song (see score_type param that indicates whether the user refers to a soundtrack or a theme song) of the game. \"Play soundtrack from (Deus Ex Human Revolution)\"." - }, - "genericMusic": { - "$ref": "NlpSemanticParsingModelsMediaGenericMusic" - }, - "genre": { - "$ref": "NlpSemanticParsingModelsMediaMusicGenre" - }, - "movie": { - "$ref": "NlpSemanticParsingModelsMediaMovie", - "description": "Soundtrack or theme song (see score_type param that indicates whether the user refers to a soundtrack or a theme song) of the movie. E.g. \"Play (Let It Go) from (Disney's Frozen)\"" - }, - "newsTopic": { - "$ref": "NlpSemanticParsingModelsMediaNewsTopic", - "description": "News topic. \"Listen to news about (Ukraine)\"" - }, - "noExplicitAudio": { - "description": "True when the query does not contains an explict audio name. E.g. When user says \"play\" or \"listen to\".", - "type": "boolean" - }, - "playlist": { - "$ref": "NlpSemanticParsingModelsMediaMusicPlaylist" - }, - "podcast": { - "$ref": "NlpSemanticParsingModelsMediaPodcast", - "description": "Podcast feeds. \"Listen to (This American Life)\"" - }, - "radio": { - "$ref": "NlpSemanticParsingModelsMediaRadio" - }, - "radioNetwork": { - "$ref": "NlpSemanticParsingModelsMediaRadioNetwork", - "description": "E.g. \"play NPR radio\", \"Play BBC radio\"." - }, - "rawText": { - "description": "The query for backends to use in search. e.g. for an user query of \"play kids song video on tv\" from assistant, this field would be \"kids song\". Note: there is no guarantee this field is populated; when it is not, backends should fall back to \"raw_text\" fields in song, artist, album etc.", - "type": "string" - }, - "scoreType": { - "description": "If any of movie, game or tv show fields is populated this field indicates specific score type requested in the query. E.g. for [play soundtrack from frozen] this field is SOUNDTRACK, for [play frozen song] this field is THEME_SONG.", - "enum": [ - "UNKNOWN", - "SOUNDTRACK", - "THEME_SONG" - ], - "enumDescriptions": [ - "", - "The query indicates that the user is asking for a soundtrack (full album) from movie, game or tv show. E.g. [play soundtrack from frozen].", - "The query indicates that the user is asking for a theme song from movie, game or tv show. E.g. [play godfather theme song]." - ], - "type": "string" - }, - "seasonConstraint": { - "$ref": "NlpSemanticParsingModelsMediaSeasonConstraint", - "description": "Constraining the query to some detail about the season. Example: \"listen to season 2 of serial\"" - }, - "song": { - "$ref": "NlpSemanticParsingModelsMediaSong" - }, - "tag": { - "description": "Optional tags associated with how the media entity should be played. For example, this can be set to SEED_RADIO to signify that the user wants to play a radio station seeded by the entity.", - "items": { - "enum": [ - "UNKNOWN_TAG", - "SEED_RADIO", - "VIDEO_TAG", - "TOP_TRACKS", - "RECORDED", - "LIVE", - "FOLLOWED_BY_SEED_RADIO" - ], - "enumDescriptions": [ - "Default value.", - "Deeplink is for seed radio of the media content.", - "Deeplink is for video version of the media content. NOTE: this tag is meaningful only in the context of media that has video video and other versions, e.g. a song can be played audio-only or with video. This tag is not meaningful for video content, e.g. movies, and thus should NOT be used for video-only media content.", - "Deeplink is for top tracks for music artist.", - "Deeplink is for recorded (DVR) content.", - "Deeplink is for live content.", - "Deeplink is for music followed by radio mix." - ], - "type": "string" - }, - "type": "array" - }, - "tvShow": { - "$ref": "NlpSemanticParsingModelsMediaTVShow", - "description": "Soundtrack or theme song (see score_type param that indicates whether the user refers to a soundtrack or a theme song) of the tv show. E.g. \"Play soundtrack from (Friends)\"." - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaAudiobookInfo": { - "description": "Metadata for an audiobook.", - "id": "NlpSemanticParsingModelsMediaAudiobookInfo", - "properties": { - "audiobookMid": { - "description": "The MID of the audiobook entity (/book/book_edition).", - "type": "string" - }, - "authors": { - "items": { - "type": "string" - }, - "type": "array" - }, - "bookMid": { - "description": "The MID of the book entity (/book/book) which this audiobook is associated with.", - "type": "string" - }, - "narrators": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaBook": { - "description": "Example: \"East of Eden\"", - "id": "NlpSemanticParsingModelsMediaBook", - "properties": { - "annotationList": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotationList", - "description": "Annotations from custom media annotator." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "isAnnotatedFromText": { - "description": "Annotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.", - "type": "boolean" - }, - "latest": { - "description": "If true, indicates the user wants the latest book. Like, [play Dan Brown's latest book]", - "type": "boolean" - }, - "qref": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"East of Eden\"", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaCastDeviceAnnotation": { - "description": "Media device. Like, Chromecast, TV or Chirp. When emitted from the cast_device domain, you should expect it to be one of 3 different forms: 1) Personal Device: The annotation comes from a device we found in the user's home. device_id and name should be set, cast_device_type is set if device type is mentioned in query. e.g. \"Dima's Pineapple Chirp\" device_id: FOOBAR name: \"Dima's Pineapple\" cast_device_type: CHIRP 2) Common Device Name: The annotation comes from a model of the common names of user's device. name and cast_device_type should be set but device_id will not be. cast_device_type can be UNKNOWN. e.g. \"John's Living Room\" name: \"John's Living Room\" cast_device_type: UNKNOWN 3) Device Type: The annotation comes from a model of common cast device types. Only cast_device_type will be set. e.g. \"TV\" or \"chromecast\" cast_device_type: CHROMECAST Next ID: 9", - "id": "NlpSemanticParsingModelsMediaCastDeviceAnnotation", - "properties": { - "castDeviceSource": { - "enum": [ - "COMMON_DEVICE_NAME", - "PERSONAL_DEVICE", - "DEVICE_TYPE" - ], - "enumDescriptions": [ - "Device comes from common's name of user's device.", - "Device comes from user's data.", - "Device comes from device types." - ], - "type": "string" - }, - "castDeviceType": { - "description": "This field is populated when the user says [play X on $cast_device] and we know the type of $cast_device but cannot identify the exact device.", - "enum": [ - "UNKNOWN", - "CHROMECAST", - "AUDIOCAST", - "CHIRP", - "TV", - "SPEAKER", - "CAR", - "ORIGINATING_DEVICE", - "SMART_DISPLAY" - ], - "enumDescriptions": [ - "", - "E.g., chromecast.", - "E.g., audiocast.", - "E.g., chirp, Google Home.", - "E.g., TV.", - "E.g., speaker.", - "E.g., car. /////////////////////////////// NOTE: DO NOT USE THIS FIELD // ///////////////////////////////", - "E.g., \"here\", \"this device\" or \"locally\"", - "E.g., Google Home Hub, Smart Display." - ], - "type": "string" - }, - "creationTimestampMs": { - "description": "The timestamp that the device is linked with the user in milliseconds. This is inherited from the corresponding assistant DeviceSettings as is.", - "format": "int64", - "type": "string" - }, - "deviceId": { - "deprecated": true, - "description": "DEPRECATED: Please use device_identifier instead.", - "type": "string" - }, - "deviceIdentifier": { - "$ref": "AssistantApiCoreTypesDeviceId", - "description": "The identification of the device. This field is populated when the user says [play X on $device_name] and $device_name matches one of the devices linked to user's account. } oneof Media Device" - }, - "name": { - "type": "string" - }, - "quantification": { - "$ref": "NlpSemanticParsingModelsMediaQuantification", - "description": "This field is populated when the user metioned quantification in the query. E.g., \"2\" or \"all\"." - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaCost": { - "description": "Represents a localized price. Next ID: 3", - "id": "NlpSemanticParsingModelsMediaCost", - "properties": { - "currencyCode": { - "description": "Contains the standard code for the given type of currency. The value must represent a valid i18n_identifiers::CurrencyCode.", - "type": "string" - }, - "price": { - "description": "Contains the price in a particular currency.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaDeeplinkInfo": { - "description": "Provider deeplink and associated metadata, in particular restrictions on platform and user's subscription. Next ID: 18", - "id": "NlpSemanticParsingModelsMediaDeeplinkInfo", - "properties": { - "actionType": { - "description": "The type of the deeplink. Sometimes the deeplink is not only used for playing media, but also used for other actions. For example, the deeplink could be for playing a movie trailer from YouTube or recording a movie from YouTube TV.", - "enum": [ - "UNSPECIFIED", - "PLAY", - "PLAY_TRAILER", - "RECORD" - ], - "enumDescriptions": [ - "Default value.", - "The deeplink is used to play a media. This should be the default in most cases.", - "The deeplink is used to play a trailer.", - "The deeplink is used to record a media." - ], - "type": "string" - }, - "blacklistedCountry": { - "description": "The upper-case, III country code, e.g., \"US\", in which the deeplink cannot play. For possible values, see: google3/i18n/identifiers/regioncode.h google3/java/com/google/i18n/identifiers/RegionCode.java For details on converting to and from ISO country codes, see http://iii-howto#GettingCanonRegionCodes.", - "items": { - "type": "string" - }, - "type": "array" - }, - "country": { - "description": "The upper-case, III country code, e.g., \"US\", in which the deeplink can play. If unset or has \"earth\" (b/72566951), means the deeplink can be used world-wide except in |blacklisted_country| list. For possible values, see: google3/i18n/identifiers/regioncode.h google3/java/com/google/i18n/identifiers/RegionCode.java For details on converting to and from ISO country codes, see http://iii-howto#GettingCanonRegionCodes.", - "items": { - "type": "string" - }, - "type": "array" - }, - "deeplink": { - "description": "Deeplink to the media. This deeplink is meant to be send to the provider app on available platforms without any modifications. Required.", - "type": "string" - }, - "deeplinkForExecution": { - "description": "Some providers give us an opaque, unstable deeplink to use at execution-time. E.g. see http://go/collab-ranking-nl-uri#heading=h.ndmdfw388tk3 Such a deeplink is not useful for logging, caching, comparing to other candidate deeplinks, etc. So most fulfillment code will want the traditional, stable deeplink that can be interpreted, parsed, cached, etc (found in the \"deeplink\" field, above). But this opaque, unstable deeplink (if non-empty) must be included in the music initiation clientop.", - "type": "string" - }, - "incompatibleWithCredentials": { - "description": "Indicate whether the deeplink is compatible with credentials. If true, CCS will not send the credentials to cast app. Currently this field is only used for voice-follow on cases on smart displays.", - "type": "boolean" - }, - "offer": { - "description": "List of offers that allow user to access the deeplink, that is if the list contains PREMIUM_SUBSCRIPTION and BASIC_SUBSCRIPTION users that have either premium or basic subscription can use the deeplink. If the list is empty it means that there are no subscription restrictions.", - "items": { - "enum": [ - "UNKNOWN_SUBSCRIPTION", - "NO_ACCOUNT_REQUIRED", - "FREE", - "BASIC_SUBSCRIPTION", - "PREMIUM_SUBSCRIPTION", - "PAY_PER_USE" - ], - "enumDescriptions": [ - "Default value.", - "When this value is specified, it indicates that the content is available for free. An account on the providers platform is not required to play the content.", - "When this value is specified, it indicates that the content is available for free. An account on the providers platform is required to play the content.", - "When this value is specified, it indicates that the contents is available to all users with a subscription to that provider. This is the case, for example, with Video On Demand (VOD) or for music services such as Google Play Music All Access.", - "When this value is specified, it indicates that some subscribers may not be to access the content w/o a more expensive tier. This is the case, for example, with Pay TV services like Flix.", - "When this value is specified, it indicates that there is at least one content offer that requires payment (either to rent or to buy). In this case, there will be paid_offer_detail that defines the specific offer type and cost." - ], - "type": "string" - }, - "type": "array" - }, - "paidOfferDetail": { - "description": "This field is only used when \"offer\" includes a PAY_PER_USE. When \"offer\" includes a PAY_PER_USE, paid_offer_detail will contain offers for BUY and RENT offer_types with associated cost info.", - "items": { - "$ref": "NlpSemanticParsingModelsMediaPaidOfferDetail" - }, - "type": "array" - }, - "platform": { - "description": "List of platforms that support the deeplink. If the list is empty it means that there are no platform restrictions.", - "items": { - "enum": [ - "UNKNOWN_PLATFORM", - "ANDROID_PLATFORM", - "CAST_AUDIO", - "CAST_VIDEO", - "IOS_PLATFORM", - "DESKTOP_WEB", - "MOBILE_WEB", - "CHROMECAST", - "ANDROID_TV", - "KAIOS_PLATFORM", - "MEDIA_3P_DEVICE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true - ], - "enumDescriptions": [ - "Default value.", - "Deeplink to be used on Android.", - "Deeplink to be used on devices support Cast Audio.", - "Corresponds to /m/0wf0rgl.", - "Deeplink to be used on iOS.", - "Deeplink to be used on Desktop web.", - "Deeplink to be used on Mobile web.", - "Corresponds to /g/11cn_9bsrr.", - "Deeplink to be used on Android TV.", - "Deeplink to be used on KaiOS.", - "Deprecated. Part of the consolidation process. See go/consolidation-1p-3p for more details. Deeplinks to be used on media 3rd party device, including Smart TV apps, and other media description devices, e.g. Sonos Speaker and Telstra." - ], - "type": "string" - }, - "type": "array" - }, - "score": { - "description": "Document scores which are used for ranking action links. Document scores might come from CDOC in Raffia or other indexing systems. For example, for web pages, the score shows how likely the web page (composite doc) which generated this link refers to the given entity or how close a particular entity is with the given composite doc. For the larger design, please see go/ma_dedup. For PACIFIC_COLLAB_RANKING deeplink, the score is the normalized confidence score returned by partner for fulfillment candidate. For pivot candidates, the score is calculated with the index of the alternative results.", - "format": "double", - "type": "number" - }, - "subscriptionPackageName": { - "description": "Name of subscription packages which are granted access to this deeplink. This is to match exactly the end users authentication system. This is to be used if the offer is BASIC_SUBSCRIPTION or PREMIUM_SUBSCRIPTION. There can be multiple packages -- the user needs only to authenticate with a single package. For more information please see: go/subscription-package", - "items": { - "type": "string" - }, - "type": "array" - }, - "tag": { - "description": "Tags associated with the content played by this deeplink. In the common case, the deeplink is supposed to specify a music entity within the provider's inventory, and the provider app should decide the actual content based on the user's account profile (e.g., for a deeplink to an artist, playing tracks from the artist or similar artists, and for a song, playing the official album recording of the song). But in some cases, the deeplink belong to special content. For example, for an artist a seed radio based on the artist, and a live or karaoke version of a song. We use this field to mark such special content types.", - "items": { - "enum": [ - "UNKNOWN_TAG", - "SEED_RADIO", - "VIDEO_TAG", - "TOP_TRACKS", - "RECORDED", - "LIVE", - "FOLLOWED_BY_SEED_RADIO" - ], - "enumDescriptions": [ - "Default value.", - "Deeplink is for seed radio of the media content.", - "Deeplink is for video version of the media content. NOTE: this tag is meaningful only in the context of media that has video video and other versions, e.g. a song can be played audio-only or with video. This tag is not meaningful for video content, e.g. movies, and thus should NOT be used for video-only media content.", - "Deeplink is for top tracks for music artist.", - "Deeplink is for recorded (DVR) content.", - "Deeplink is for live content.", - "Deeplink is for music followed by radio mix." - ], - "type": "string" - }, - "type": "array" - }, - "validTimeWindow": { - "$ref": "NlpSemanticParsingModelsMediaDeeplinkInfoTimeWindow", - "description": "A time window in which the deeplink is valid. If not set, the deeplink is considered valid." - }, - "vuiId": { - "deprecated": true, - "description": "DEPRECATED: This field is ignored by understanding and fulfillment.", - "type": "string" - }, - "youtubeDeeplinkInfo": { - "$ref": "NlpSemanticParsingModelsMediaYouTubeDeeplinkInfo", - "description": "Additional info specific to YouTube Deeplink (if applicable)." - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaDeeplinkInfoTimeWindow": { - "description": "Represents a time window expressed as a time range.", - "id": "NlpSemanticParsingModelsMediaDeeplinkInfoTimeWindow", - "properties": { - "endTimestamp": { - "description": "Time in seconds since epoch.", - "format": "int64", - "type": "string" - }, - "startTimestamp": { - "description": "Time in seconds since epoch.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaDescription": { - "description": "Example: \"the episode with all of the comedians\". A free-form text description of a media.", - "id": "NlpSemanticParsingModelsMediaDescription", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "rawText": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaEpisodeConstraint": { - "description": "Example: \"latest\" would constrain the episode to a certain ordinal.", - "id": "NlpSemanticParsingModelsMediaEpisodeConstraint", - "properties": { - "absoluteIndex": { - "description": "The absolute index of the episode. 1 is the first element and -1 is the last element in the sequence, -2 is the second-to-last element, and so on. Examples: \"first episode\" =\u003e 1 \"3rd episode\" =\u003e 3 \"last episode\" =\u003e -1", - "format": "int32", - "type": "integer" - }, - "dateTime": { - "$ref": "NlpSemanticParsingDatetimeDateTime", - "description": "Date/time of the message. This could be an absolute date/time (e.g. find my message from monday) or a date/time range (e.g. find my message in the past four hours). This constrains *when* the episode came out." - }, - "description": { - "$ref": "NlpSemanticParsingModelsMediaDescription", - "description": "A description of the episode. Example: For the query: [listen to this american life about cars] the description would be \"cars\"" - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "rawText": { - "type": "string" - }, - "relativeIndex": { - "description": "The relative index of the episode. Examples: \"previous episode\" =\u003e -1 \"current episode\" =\u003e 0 \"next episode\" =\u003e 1", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaFrequency": { - "description": "Defines a frequency for a terrestrial radio station. For instance, 99.1 FM, 730 AM, etc. Next ID: 4", - "id": "NlpSemanticParsingModelsMediaFrequency", - "properties": { - "band": { - "description": "The broadcast band used by the radio station.", - "enum": [ - "AM", - "FM", - "DAB", - "UNSET" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "value": { - "description": "Frequency in MHz (for FM) and KHz (for AM).", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaGame": { - "description": "Example: \"Deus Ex Human Revolution\"", - "id": "NlpSemanticParsingModelsMediaGame", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "isAnnotatedFromText": { - "description": "Annotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.", - "type": "boolean" - }, - "qref": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"Deus Ex Human Revolution\"", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaGenericMusic": { - "description": "Example: \"my library\", \"some music\".", - "id": "NlpSemanticParsingModelsMediaGenericMusic", - "properties": { - "annotationList": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotationList", - "deprecated": true, - "description": "Annotations from custom media annotator. Deprecated - generic music deeplinks should be added to the Provider config, not to the grammar." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "newMusic": { - "description": "New music.", - "type": "boolean" - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"my tracks\"", - "type": "string" - }, - "type": { - "enum": [ - "UNKNOWN", - "MUSIC", - "LIBRARY", - "PROVIDER_SPECIFIC", - "PLAY_PROVIDER", - "RESUME_PROVIDER", - "NEW_MUSIC", - "STREAM", - "HISTORY", - "POSTS", - "LIKES", - "TRACKS", - "ALBUMS", - "ARTISTS", - "THUMBPRINT_RADIO", - "SOMETHING_ELSE", - "FLOW", - "SHUFFLE_RADIO", - "PLAYLISTS", - "RECENTLY_PLAYED" - ], - "enumDescriptions": [ - "LINT.IfChange", - "E.g., \"some music\", \"music\"", - "E.g, \"my library\", \"my tracks\".", - "E.g., \"Thumbprint radio\", \"I'm-Feeling-Lucky radio\".", - "E.g., \"play $provider”.", - "E.g., “resume $provider”.", - "E.g., “play latest music”.", - "E.g., \"play stream\"", - "E.g., \"play my history\"", - "E.g., \"play my posts\"", - "E.g., \"play my likes\" Currently it's not used. \"play my likes\" is mapped to \"play my library\".", - "E.g., \"play my tracks\"", - "E.g., \"play my albums\"", - "E.g., \"play my artists\"", - "E.g., \"play Thumbprint radio\" Pandora specific.", - "E.g., \"play something else\".", - "E.g., \"play flow\" Deezer specific.", - "E.g., \"play shuffle radio\" Pandora specific.", - "E.g., \"play my playlists\"", - "E.g., \"show recently played music\" LINT.ThenChange(//depot/google3/java/com/google/chrome/dongle/pints/proto/provider_capability.proto)" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaLatLng": { - "description": "An object representing a latitude/longitude pair. More info in https://cs.corp.google.com/piper///depot/google3/google/type/latlng.proto", - "id": "NlpSemanticParsingModelsMediaLatLng", - "properties": { - "latitude": { - "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", - "format": "double", - "type": "number" - }, - "longitude": { - "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaMediaAnnotation": { - "description": "Annotation for media entities. Next ID: 17", - "id": "NlpSemanticParsingModelsMediaMediaAnnotation", - "properties": { - "artistName": { - "description": "Name of the artist (if applicable). Used for songs and albums.", - "type": "string" - }, - "audiobookInfo": { - "$ref": "NlpSemanticParsingModelsMediaAudiobookInfo", - "description": "Additional info specific to an audiobook (if applicable)." - }, - "contentType": { - "description": "Type of the media content. This field is not always populated, but only when this annotation is used to represent an individual media item, e.g., when it is the value of an intent argument storing a media object to play.", - "enum": [ - "MEDIA_CONTENT_TYPE_UNSPECIFIED", - "MUSIC_TRACK", - "MUSIC_ARTIST", - "MUSIC_ALBUM", - "PUBLIC_PLAYLIST", - "PERSONAL_PLAYLIST", - "MUSIC_PERSONALIZED_MIX", - "MUSIC_GENRE_MIX", - "MUSIC_SEED_RADIO", - "MUSIC_STATION", - "RADIO_STATION", - "RADIO_NETWORK", - "PODCAST_SERIES", - "PODCAST_GENERIC", - "PODCAST_GENRE", - "PODCAST_TOPIC", - "PODCAST_RESUME", - "PODCAST_EPISODE", - "VIDEO", - "MUSIC_VIDEO", - "VIDEO_RECOMMENDED_PLAYLIST", - "MUSIC_VIDEO_PERSONALIZED_PLAYLIST", - "TV_SHOW", - "TV_SHOW_SEASON", - "TV_SHOW_EPISODE", - "MOVIE", - "YOUTUBE_CHANNEL", - "TV_CHANNEL", - "SPORTS_TEAM_GAME", - "AUDIO_BOOK", - "AUDIO_STORY", - "YOUTUBE_VIDEO_PLAYLIST", - "TV_ARTIST", - "NEWS", - "VIDEO_GAME", - "DIRECTOR", - "ACTOR", - "MOVIE_SERIES", - "APP" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "A song track (e.g. \"Bad Romance\") or radio seeded by the track.", - "A playlist that consists of songs by specific music artist or band (e.g. \"Lady Gaga\") or radio seeded by artist or band.", - "A playlist that consists of songs from specific music album (e.g. \"The Fame Monster\") or radio seeded by album.", - "A playlist publicly available (e.g. \"Today's Top Hits\") or radio seeded by playlist. Playlists always contain finite and defined set of songs. PUBLIC_PLAYLIST is the core concept of providers such as Spotify.", - "A user-created playlist. (e.g. \"My working out playlist\")", - "A music mix personalized for user. (e.g. MyMix from YouTube Music or \"I'm feeling lucky\" radio by Google Play Music)", - "A music mix seeded by genre. (e.g. \"Heavy Metal radio\")", - "An auto-generated \"radio\" mix, seeded by some music entity or even a query. For example: \"working out radio\". Prefer more specific content types (e.g. MUSIC_GENRE_MIX) if possible, to give finer grained TTS. DEPRECATED: This content type is deprecated, use MUSIC_STATION instead.", - "Music station (e.g. \"Today's Hip Hop and Pop Hits\"). Stations can have infinite number of songs (at least from user's perspective) and content that dynamically changes. MUSIC_STATION is the core concept of providers such as Google Play Music and Pandora. NOTE: do not confuse with RADIO_STATION, unlike radio stations music stations provide active streaming experience where user can navigate to the next song.", - "A radio station. This could be terrestrial or an internet radio station. (e.g. 88.5 FM, KQED)", - "A radio network. (e.g. \"NPR\")", - "A podcast. (e.g. \"This American Life\")", - "Used for \"play a podcast\".", - "Used for \"play a comedy podcast\".", - "Used for \"play a podcast about meditation\".", - "Used for \"play my podcast\" query.", - "Used for playing a specific episode.", - "A single video. (e.g. \"Star Wars: The Force Awakens trailer\")", - "Music video or videos. (e.g. \"Gangam style video\")", - "Video recommendations playlist. (e.g. fetched from Recommended feed on YouTube)", - "Music video playlist. (e.g. MyMix from YouTube)", - "A TV show. (e.g. \"John Oliver: Last Week Tonight\")", - "Season of a TV show (e.g. \"Game of Thrones season 5\").", - "Episode of a TV show (e.g. \"Game of Thrones season 5 episode 5\").", - "A movie. (e.g. \"The Goodfellas\")", - "A YouTube channel. (e.g. AngryJoeShow)", - "TV channel (e.g. \"Showtime Women\", \"ESPN2HD\").", - "Sports game of a given team or teams (e.g. \"Warriors game\", \"Warriors at Magic game\")", - "An audio book.", - "An audio story.", - "A YouTube video playlist. Note: Not a music playlist returned from YT music search.", - "TV artist: comedian, TV host etc. (e.g. \"Conan O'Brien\").", - "News audio or video.", - "A video game (e.g. \"Skyrim\"). Note(shohs): As of Q4'18, this content type is not supported as a top-level content type to fulfill a query; rather, it is only used at the entity level to support queries such as \"play Skyrim soundtrack\".", - "TV or film director. (e.g. \"James Cameron\").", - "Actor: TV, film actor etc. (e.g. \"Tom Cruise\").", - "Movie series. (e.g. \"Home Alone\").", - "Used for App." - ], - "type": "string" - }, - "image": { - "description": "Images of the media.", - "items": { - "$ref": "AssistantApiCoreTypesImage" - }, - "type": "array" - }, - "name": { - "description": "Name of the media. Required.", - "type": "string" - }, - "newsInfo": { - "$ref": "NlpSemanticParsingModelsMediaNewsInfo", - "description": "Additional info specific to a news audio/video stream (if applicable)." - }, - "personalDataIngestionEngine": { - "description": "The personal ingestion engine.", - "enum": [ - "UNKNOWN_INGESTION_ENGINE", - "PINTS", - "PACIFIC" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "playlistVisibility": { - "description": "Visibility setting of the retrieved playlist.", - "enum": [ - "UNSPECIFIED", - "VISIBILITY_PUBLIC", - "VISIBILITY_PRIVATE", - "VISIBILITY_UNLISTED" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "podcastInfo": { - "$ref": "NlpSemanticParsingModelsMediaPodcastInfo", - "description": "Additional info specific to podcast stream (if applicable)." - }, - "primaryEntityMid": { - "type": "string" - }, - "providerInfo": { - "description": "List of providers and their deeplinks.", - "items": { - "$ref": "NlpSemanticParsingModelsMediaMediaProviderInfo" - }, - "type": "array" - }, - "purchaseInfo": { - "$ref": "NlpSemanticParsingModelsMediaPurchaseInfo", - "description": "Purchase info for purchased or preordered movies, episodes, seasons, tv shows." - }, - "radioInfo": { - "$ref": "NlpSemanticParsingModelsMediaRadioInfo", - "description": "Only one of these fields should be set depending on the type of the content. oneof content_specific_info { Additional info specific to a radio station (if applicable)." - }, - "rentalInfo": { - "$ref": "NlpSemanticParsingModelsMediaRentalInfo", - "description": "Rental info for rented movies." - }, - "source": { - "enum": [ - "UNKNOWN_SOURCE", - "USER_CREATED", - "FAVORITES", - "RECENT", - "PUBLIC", - "USER_OWNED", - "PROVIDER_CURATED", - "CLIENT_REPORTED" - ], - "enumDescriptions": [ - "", - "Media created by user.", - "Media in user favorites.", - "Media from recent user's playbacks.", - "Public media.", - "Public media owned by user, e.g. via purchase.", - "Content curated by provider", - "Content reported by the Assistant client." - ], - "type": "string" - }, - "youtubePlaylistInfo": { - "$ref": "NlpSemanticParsingModelsMediaYouTubePlaylistInfo", - "description": "Additional info specific to YouTube playlist (if applicable)." - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaMediaAnnotationList": { - "description": "List of MediaAnnotation. Media annotators should use the MediaAnnotationList to annotate spans instead of MediaAnnotation. This prevents exponential explosion of interpretations (consider [play $song by $artist on $device]) and allows us to have simpler tests for grammar.", - "id": "NlpSemanticParsingModelsMediaMediaAnnotationList", - "properties": { - "annotation": { - "items": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotation" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaMediaProviderInfo": { - "description": "A media provider and the deeplinks provided by the provider. MediaProviderInfo is an abstraction for topics of multiple media related KG types under /base/mediaasset domain and /media_common. It's often eligible for topics of media related KG types like /broadcast/radio_station, /film/film, /music/artist, /music/album, /music/recording_cluster, /music/recording, /tv/tv_program, etc. See go/media-pq for design details. Next ID: 6", - "id": "NlpSemanticParsingModelsMediaMediaProviderInfo", - "properties": { - "deeplinkInfo": { - "description": "Deeplinks provided by the provider. If empty it indicates that the media is unavailable with the provider, e.g. due to country restrictions or limited catalog.", - "items": { - "$ref": "NlpSemanticParsingModelsMediaDeeplinkInfo" - }, - "type": "array" - }, - "kgProviderKey": { - "description": "The unique and reverse unique provider enumerator in KG (e.g., \"ORANGE_SPAIN\" for /g/11h6nkfyrm). It is more stable than the KG mid. See go/kema-api#keys. Some mids cannot have the enumerator property due to historical reason (e.g., multiple media providers were created for iTunes and only \"\"/g/11fhyxjwt5\" has provider enumerator as \"ITUNES_NEW\" in KG). These entities need to have hard-coded key (e.g., \"/m/019g58\" has key \"ITUNES\") kept outside of KG.", - "type": "string" - }, - "mediaId": { - "description": "Media ID of a MediaItem in a MediaBrowseTree (MBT). This field is used to play a specific media item from MBT using playFromMediaId API.", - "type": "string" - }, - "providerMid": { - "description": "The machine ID (MID) of the media provider.", - "type": "string" - }, - "providerName": { - "description": "The name of the media provider.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaMovie": { - "description": "Example: \"Casablanca\"", - "id": "NlpSemanticParsingModelsMediaMovie", - "properties": { - "annotationList": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotationList", - "description": "Annotations from custom media annotator." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "isAnnotatedFromText": { - "description": "Annotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.", - "type": "boolean" - }, - "isFromFastPath": { - "description": "Is annotated by Nimble for the media Fast Path.", - "type": "boolean" - }, - "providerMetadata": { - "items": { - "$ref": "NlpSemanticParsingModelsMediaProviderMetadata" - }, - "type": "array" - }, - "qref": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"Casablanca\"", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaMusicArtist": { - "description": "Example: \"The Beatles\"", - "id": "NlpSemanticParsingModelsMediaMusicArtist", - "properties": { - "annotationList": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotationList", - "description": "Annotations from custom media annotator." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "favorite": { - "description": "If true, indicates the user wants their favorite album. Like [play my favorite album my Eminem]", - "type": "boolean" - }, - "isFromFastPath": { - "description": "Is annotated by Nimble for the media Fast Path.", - "type": "boolean" - }, - "playMore": { - "description": "More from this artist.", - "type": "boolean" - }, - "qref": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"The Beatles\"", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaMusicGenre": { - "description": "Example: \"British Invasion\"", - "id": "NlpSemanticParsingModelsMediaMusicGenre", - "properties": { - "annotationList": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotationList", - "description": "Annotations from custom media annotator." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "playMore": { - "description": "More from this genre.", - "type": "boolean" - }, - "qref": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"British Invasion\"", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaMusicPlaylist": { - "description": "Example: \"gym playlist\"", - "id": "NlpSemanticParsingModelsMediaMusicPlaylist", - "properties": { - "annotationList": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotationList", - "description": "Annotations from custom media annotator." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "isAnnotatedFromText": { - "description": "Annotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.", - "type": "boolean" - }, - "longtailMood": { - "description": "If the model is confident that this is a bizarre long-tail mood-based playlist, it can send a signal to downstream systems (that might do things like generate random music) Example: * [play music for brushing my teeth with the lights off on tuesday] This is pretty much an 'easter egg' -- it is not critical.", - "type": "boolean" - }, - "normalizedText": { - "description": "Optional, some canonical name for the playlist.", - "type": "string" - }, - "qref": { - "$ref": "NlpSemanticParsingQRefAnnotation", - "description": "Needed for proto conformance in Semantic Parsing." - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"80s remix\" (tokenized)", - "type": "string" - }, - "special": { - "enum": [ - "NONE", - "THUMBS_UP", - "LAST_ADDED", - "FREE_AND_PURCHASED" - ], - "enumDescriptions": [ - "", - "Auto playlists defined by the Google Play Music app. [play thumbs up songs]", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaNewsInfo": { - "id": "NlpSemanticParsingModelsMediaNewsInfo", - "properties": { - "docid": { - "description": "The docid of the news result from News360 backend.", - "format": "uint64", - "type": "string" - }, - "newsContentType": { - "description": "Indicates how the type of the news result.", - "enum": [ - "NEWS_CONTENT_TYPE_UNSPECIFIED", - "AMP_ARTICLE_ONLY" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "News is an Amp textual article. The page has no video or audio." - ], - "type": "string" - }, - "publicationTime": { - "$ref": "AssistantApiTimestamp", - "description": "Publication time of the news, in seconds (unix epoch)." - }, - "publisher": { - "description": "The publisher of the news.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaNewsTopic": { - "description": "Example: \"ukraine\" in a query like \"read me news about Ukraine\"", - "id": "NlpSemanticParsingModelsMediaNewsTopic", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "rawText": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaPaidOfferDetail": { - "description": "Represents BUY and RENT offers and associated cost info. Next ID: 3", - "id": "NlpSemanticParsingModelsMediaPaidOfferDetail", - "properties": { - "cost": { - "description": "Represents the price of this offer according to the locale and region.", - "items": { - "$ref": "NlpSemanticParsingModelsMediaCost" - }, - "type": "array" - }, - "paidOfferType": { - "description": "Specifies the type of offer.", - "enum": [ - "UNKNOWN_PAID_OFFER_TYPE", - "RENT", - "BUY" - ], - "enumDescriptions": [ - "Default value.", - "When this value is specified, it indicates that the content is available to rent for a limited time period. The price for renting this content is indicated in the 'cost' field.", - "When this value is specified, it indicates that the content can be purchased and permanently owned. The price for purchasing this content is indicated in the 'cost' field." - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaPodcast": { - "description": "Example: \"This American Life\"", - "id": "NlpSemanticParsingModelsMediaPodcast", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "isAnnotatedFromText": { - "description": "Annotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.", - "type": "boolean" - }, - "normalizedText": { - "description": "Optional, some canonical name for the playlist.", - "type": "string" - }, - "qref": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"this american life\"", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaPodcastInfo": { - "id": "NlpSemanticParsingModelsMediaPodcastInfo", - "properties": { - "clusterId": { - "description": "An internal identifier for the wernicke database that identifies a cluster of multiple sources for a particular podcast.", - "type": "string" - }, - "episodeGuid": { - "description": "GUID of the given podcast episode.", - "type": "string" - }, - "feedUrl": { - "description": "The url for the rss feed providing this podcast.", - "type": "string" - }, - "podcastRecsFeatures": { - "$ref": "SuperrootPodcastsRecommendationsPodcastRecsFeatures", - "description": "Podcast recommendations features. These features are used to train models for reranking podcast recommendations. Full list of features: http://shortn/_bg6NvzYs6F This won't be sent to clients. It will only be annotated for crust results" - }, - "title": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaProviderMetadata": { - "description": "Provider metadata associated with video.", - "id": "NlpSemanticParsingModelsMediaProviderMetadata", - "properties": { - "deeplinkUrl": { - "description": "URL like https://www.netflix.com/title/70305883 -- this is used as a deeplink to play the video.", - "type": "string" - }, - "providerMid": { - "description": "Provider MID.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaPurchaseInfo": { - "id": "NlpSemanticParsingModelsMediaPurchaseInfo", - "properties": { - "orderType": { - "enum": [ - "ORDER_TYPE_UNSPECIFIED", - "PREORDER", - "REGULAR" - ], - "enumDescriptions": [ - "", - "Entitlements will be granted after content is available.", - "Entitlements will be granted immediately after purchase. For regular order." - ], - "type": "string" - }, - "purchaseTimestampSec": { - "description": "The time at which the item is purchased.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaQuantification": { - "description": "The quantification of device(s) in the query. For example, \"three speakers\", \"all TVs\", etc. Usually, we should have either lexical field or number field. However, there are some special words which we will set both fields. For example, \"all 3\" will have the semantic: {lexical=ALL, number=3}. Note that \"both\" is simply modeled as {lexical=ALL}.", - "id": "NlpSemanticParsingModelsMediaQuantification", - "properties": { - "lexical": { - "enum": [ - "NONE", - "ALL" - ], - "enumDescriptions": [ - "", - "E.g., \"all spakers\"." - ], - "type": "string" - }, - "number": { - "description": "Numerical quantification. E.g., \"three speakers\".", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaRadio": { - "description": "Example: \"107.7 the bone\"", - "id": "NlpSemanticParsingModelsMediaRadio", - "properties": { - "annotationList": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotationList", - "description": "Annotations from custom media annotator." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "favorite": { - "description": "If true, indicates the user wants their favorite radio station to be played. Ex: [play my favorites on radio]", - "type": "boolean" - }, - "frequency": { - "$ref": "NlpSemanticParsingModelsMediaFrequency", - "description": "This proto may only be partially filled depending on the query. ## Some examples (all of them have open_intent): ## | Query |radio.raw_text|radio.frequency.band|radio.frequency.value| |[play kqed fm]| [kqed fm] | [fm] | N/A | |[play 88.5 fm]| [88.5 fm] | [fm] | 88.5 | | [play 88.5 | [88.5] | N/A | 88.5 | ## | [play fm] | [fm] | [fm] | N/A |" - }, - "isAnnotatedFromText": { - "description": "Annotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.", - "type": "boolean" - }, - "isFromFastPath": { - "description": "Is annotated by Nimble for the media Fast Path.", - "type": "boolean" - }, - "qref": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"107.7\"", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaRadioInfo": { - "description": "Metadata for a radio station (both terrestrial and internet). Next ID: 4", - "id": "NlpSemanticParsingModelsMediaRadioInfo", - "properties": { - "frequency": { - "$ref": "NlpSemanticParsingModelsMediaFrequency", - "description": "Frequency of the terrestrial radio station." - }, - "location": { - "$ref": "NlpSemanticParsingModelsMediaLatLng", - "description": "Location of the radio station." - }, - "popularity": { - "description": "Popularity of the radio station. This will be used in ranking of the radio stations. This value should be between 0 (least popular) and 5 (most popular).", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaRadioNetwork": { - "description": "Example: \"npr\", \"bbc\", etc.", - "id": "NlpSemanticParsingModelsMediaRadioNetwork", - "properties": { - "annotationList": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotationList", - "description": "Annotations from custom media annotator." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "qref": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"npr\"", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaRentalInfo": { - "id": "NlpSemanticParsingModelsMediaRentalInfo", - "properties": { - "activatePeriodSec": { - "description": "Time period for users to continue watching.", - "format": "int64", - "type": "string" - }, - "grantPeriodSec": { - "description": "Time period for users to begin watching.", - "format": "int64", - "type": "string" - }, - "purchaseTimestampSec": { - "description": "The time at which the item is purchased.", - "format": "int64", - "type": "string" - }, - "validUntilTimestampSec": { - "description": "Time until which ownership is granted", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaSeasonConstraint": { - "description": "Example: \"season 2\" of serial", - "id": "NlpSemanticParsingModelsMediaSeasonConstraint", - "properties": { - "absoluteIndex": { - "description": "The absolute index of the season. 1 is the first element and -1 is the last element in the sequence, -2 is the second-to-last element, and so on. Examples: \"first season\" =\u003e 1 \"3rd season\" =\u003e 3 \"last season\" =\u003e -1", - "format": "int32", - "type": "integer" - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "rawText": { - "type": "string" - }, - "relativeIndex": { - "description": "The relative index of the season. Examples: \"previous season\" =\u003e -1 \"current season\" =\u003e 0 \"next season\" =\u003e 1", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaSong": { - "description": "Example: \"Hey Jude\"", - "id": "NlpSemanticParsingModelsMediaSong", - "properties": { - "annotationList": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotationList", - "description": "Annotations from custom media annotator." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "favorite": { - "description": "If true, indicates the user wants their favorite album. Like [play my favorite song]", - "type": "boolean" - }, - "first": { - "description": "If true, indicates the user wants the first song. Like [play adele's first song]", - "type": "boolean" - }, - "isAnnotatedFromText": { - "description": "Annotation comes from a text annotator. Needed to boost recall. Typically need to be verified in superroot, and have separate scoring.", - "type": "boolean" - }, - "isFromFastPath": { - "description": "Is annotated by Nimble for the media Fast Path.", - "type": "boolean" - }, - "latest": { - "description": "If true, indicates the user wants the latest song. Like, [play adele's latest song]", - "type": "boolean" - }, - "qref": { - "$ref": "NlpSemanticParsingQRefAnnotation", - "description": "Optional, indicates this reference came from QRef." - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"Hey Jude.\"", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaTVShow": { - "description": "Example: \"Breaking Bad\"", - "id": "NlpSemanticParsingModelsMediaTVShow", - "properties": { - "annotationList": { - "$ref": "NlpSemanticParsingModelsMediaMediaAnnotationList", - "description": "Annotations from custom media annotator." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "isFromFastPath": { - "description": "Is annotated by Nimble for the media Fast Path.", - "type": "boolean" - }, - "providerMetadata": { - "items": { - "$ref": "NlpSemanticParsingModelsMediaProviderMetadata" - }, - "type": "array" - }, - "qref": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "rawText": { - "description": "Required, corresponds to the raw text, like \"Breaking Bad\"", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaYouTubeDeeplinkInfo": { - "description": "Provide the deeplink information specific to YouTube PMAs. Next ID: 3", - "id": "NlpSemanticParsingModelsMediaYouTubeDeeplinkInfo", - "properties": { - "clickTrackingId": { - "description": "See go/yt-clicktracking. Serialized youtube.api.innertube.InnerTubeClickTrackingProto.", - "type": "string" - }, - "uploaderChannelId": { - "description": "For YouTube Channels, by default the deeplink is set to be the playlist of all uploads from the channel. This field is used for YouTube in-app browse when we need the YouTube channel's main page url. We will use the uploader_channel_id to construct the needed channel deeplink.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMediaYouTubePlaylistInfo": { - "id": "NlpSemanticParsingModelsMediaYouTubePlaylistInfo", - "properties": { - "numVidsPlayableInWoodstock": { - "description": "Count of videos in the YouTube playlist that are playable in WoodStock. For performance reasons the maximum value this field can reach is capped, see: kMaxVideosPerPlaylistForSearchMetadata.", - "format": "int64", - "type": "string" - }, - "videoCount": { - "description": "Total number of videos present in the retrieved playlist.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMoneyCurrency": { - "id": "NlpSemanticParsingModelsMoneyCurrency", - "properties": { - "freebaseMid": { - "description": "KG Currency mid", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsMoneyMoney": { - "description": "Represent a money quantity", - "id": "NlpSemanticParsingModelsMoneyMoney", - "properties": { - "amount": { - "$ref": "NlpSemanticParsingNumberNumber" - }, - "currency": { - "$ref": "NlpSemanticParsingModelsMoneyCurrency" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsNarrativeNewsNewsProvider": { - "description": "Corresponds to an entry in our hand-curated Nimble table of providers.", - "id": "NlpSemanticParsingModelsNarrativeNewsNewsProvider", - "properties": { - "data": { - "$ref": "QualityActionsNewsProviderAnnotationData", - "description": "Annotation data for the provider." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua and must not be used by outside clients!!" - }, - "rawText": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsOnDevice": { - "description": "OnDevice describes the device(s) to perform an action. This message type can be imported in action messages as an argument.", - "id": "NlpSemanticParsingModelsOnDevice", - "properties": { - "device": { - "description": "The device(s) to perform an action.", - "items": { - "$ref": "NlpSemanticParsingModelsDevice" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsPersonPerson": { - "id": "NlpSemanticParsingModelsPersonPerson", - "properties": { - "alternativeNameInfo": { - "description": "Alternative names like \"John\" for \"Joan\", with info such as RecognitionAlternateSource indicating where is it from.", - "items": { - "$ref": "QualityQrewriteAlternativeNameInfo" - }, - "type": "array" - }, - "alternativeNames": { - "description": "Alternative names, e.g., names with similar pronunciation, Kathy and Cathy.", - "items": { - "type": "string" - }, - "type": "array" - }, - "annotationSource": { - "items": { - "enum": [ - "PERSONAL_CONTACT", - "RELATIONSHIP", - "NAMES", - "NAME_DETECTION", - "SAFT", - "PERSONAL_KNOWLEDGE_GRAPH", - "PRESENCE_PEOPLE_SEARCH", - "LOOSE_TEXT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "This will eventually subsume PERSONAL_CONTACT and RELATIONSHIP too. Reach out to pkg-eng@ for questions.", - "Person names from Presence / People Search project (go/presence-people-search-intent). Contact search-ugc-ny@ for questions.", - "Ungrounded annotation from loose text parsing. See go/call-ambiguous-in-initiate-call." - ], - "type": "string" - }, - "type": "array" - }, - "contactData": { - "description": "Contact metadata. Only available for personal contact.", - "items": { - "$ref": "QualityQrewritePersonalContactData" - }, - "type": "array" - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua. Must not be used by outside clients!!" - }, - "isPersonGroupReference": { - "description": "Indicates whether $Person is used for person-group reference. If true, then the PersonalContactData in repeated contact_data field probably correspond to a group of different persons, where $Person is used to represent family, kids, parents, etc.", - "type": "boolean" - }, - "isPersonalContact": { - "description": "Whether the person is from personal contacts (e.g. Focus contacts or device contacts) or the person is constructed from a Gaia profile visible to the user (e.g. via Family Service).", - "type": "boolean" - }, - "name": { - "description": "The name of the person without normalizations, preserves casing of the raw text, but removes possible prefix/suffix. For example: raw_text: \"Mr. John\" normalized_text: \"john\" name: \"John\" raw_text: \"Tüll\" normalized_text: \"tuell\" name: \"Tüll\"", - "type": "string" - }, - "normalizedText": { - "description": "Normalized text produced by annotator. Some annotators generate a normalized version to help better match with contact list.", - "type": "string" - }, - "pkgSemantics": { - "$ref": "NlpSemanticParsingQRefAnnotation", - "description": "Contains information about a Copley Person reference (go/copley-people). Note that this contains no information about the resolved people (e.g. names, phone numbers) but only about the user's reference. Resolution metadata is stored in contact_data.pkg_person." - }, - "rawText": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsRecurrence": { - "description": "Recurrence rule for specifying date- and time-based repetition for tasks. Next id: 12.", - "id": "NlpSemanticParsingModelsRecurrence", - "properties": { - "dailyPattern": { - "$ref": "NlpSemanticParsingModelsRecurrenceDailyPattern", - "description": "Optional. Specifies when in the day the task should occur. Applies to all frequencies DAILY and greater. If absent, the repeating tasks are considered \"all day\" type." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "This field of the Recurrence message should not in general be used by outside clients of the grammar. It is intended to be used internally in Aqua for evaluation purposes. The rationale is that token counts depend on the particular tokenization used in Aqua which may be different from the one used by the client and may change from time to time. Outside clients should not create a dependency on the current tokenization used in Aqua." - }, - "every": { - "description": "Multiplier on the frequency of the recurrence. Use this to specify patterns that recur every X days, months, years, etc. Example: [remind me to call mom every 2nd week]. Default is 1 (every day, every month, every year). Floating point numbers are understood and rounded to the nearest integer. E.g. \"every 2.8 months\" =\u003e (every 3)", - "format": "int32", - "type": "integer" - }, - "frequency": { - "description": "Required. The high-level frequency of the recurrence.", - "enum": [ - "DAILY", - "WEEKLY", - "MONTHLY", - "YEARLY", - "UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "Frequency is set to UNKNOWN when there's no explicit unit of recurrence. Example: [set a repeating alarm]." - ], - "type": "string" - }, - "monthlyPattern": { - "$ref": "NlpSemanticParsingModelsRecurrenceMonthlyPattern", - "description": "Specify a monthly recurrence. Valid and required for MONTHLY frequencies only." - }, - "numInstancesInFrequency": { - "description": "How many times the task should be repeated within the frequency interval. Floating point numbers are understood and rounded to the nearest integer. E.g. \"3.8 times per week\" =\u003e (num_instances_in_frequency 4)", - "format": "int32", - "type": "integer" - }, - "recurrenceEnd": { - "$ref": "NlpSemanticParsingModelsRecurrenceRecurrenceEnd", - "description": "Required. The end condition for the recurrence." - }, - "recurrenceStart": { - "$ref": "NlpSemanticParsingModelsRecurrenceRecurrenceStart", - "description": "Required. The start of the recurrence." - }, - "time": { - "$ref": "NlpSemanticParsingDatetimeDateTime", - "description": "Optional time included with some types of recurrence phrases, such as \"every morning\"." - }, - "weeklyPattern": { - "$ref": "NlpSemanticParsingModelsRecurrenceWeeklyPattern", - "description": "Specify a weekly recurrence. Valid and required for WEEKLY frequencies only." - }, - "yearlyPattern": { - "$ref": "NlpSemanticParsingModelsRecurrenceYearlyPattern", - "description": "Specify a yearly recurrence. Valid only for YEARLY frequencies." - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsRecurrenceDailyPattern": { - "description": "Pattern for when in the day the repeating task should trigger. Applies to all frequencies greater than or equal to DAILY. Exactly one of the containing fields should be set (i.e. a specific time or period).", - "id": "NlpSemanticParsingModelsRecurrenceDailyPattern", - "properties": { - "dayPeriod": { - "$ref": "NlpSemanticParsingDateTimeAnnotation" - }, - "timeOfDay": { - "$ref": "NlpSemanticParsingDateTimeAnnotation" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsRecurrenceMonthlyPattern": { - "description": "Pattern for a MONTHLY recurrence. A MONTHLY recurrence may be specified in four different ways. These fields should be set in a mutually exclusive way, i.e.: ((month_day OR last_day) XOR (week_day AND (week_day_number OR last_week))) 1. Absolute days of the month (i.e. the 1st and 15th) or relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Set month_day. 2. [Deprecated] Relative last day of the month. Represented as a boolean since the last absolute day number is dependent on the month. This is just a short-cut for month_day=-1 and is deprecated. Set last_day=true. 3. The nth (or nth-last) specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. 4. [Deprecated] The last specific weekday of the month. For example, the last Thursday of the month. This is a short-cut for week_day_number=-1.", - "id": "NlpSemanticParsingModelsRecurrenceMonthlyPattern", - "properties": { - "lastDay": { - "deprecated": true, - "description": "Special flag to indicate the last day of the month, equivalent to setting month_day to -1. Deprecated, use month_day=-1 instead.", - "type": "boolean" - }, - "lastWeek": { - "deprecated": true, - "description": "Special flag to indicate a week_day in the last week of the month, as this cannot be captured by week_day_number. Deprecated, use week_day_number=-1 instead.", - "type": "boolean" - }, - "monthDay": { - "description": "Absolute day of the month (if positive) or relative day from the end of the month (if negative). Example: 2nd and 20th of the month [2, 20]. Example: Last day of the month [-1]. Positive values should correspond to actual calendar day number (indexing starts at 1).", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "weekDay": { - "description": "For capturing the nth weekday of the month. Use together with week_day_number or last_week to specify n.", - "enum": [ - "UNKNOWN_WEEKDAY", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "weekDayNumber": { - "description": "The nth occurrence of week_day to match. I.e. For 3rd Wednesday of the month, week_day = WEDNESDAY and week_day_number = 3. Values beyond the end of the month are skipped. If negative, this is interpreted as the nth-to-last occurrence of the week day in the month. I.e. for last Thursday of the month, week_day = THURSDAY and week_day_number = -1.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsRecurrenceRecurrenceEnd": { - "description": "The end of the recurrence can be represented in one of three ways. 1. An abstract DateTime. (inclusive) 2. An absolute timestamp, in milliseconds from UTC epoch. 3. A number of occurrences. Exactly one of the fields [end_date_time, end_millis, num_occurrences] in this message must be set. Repeating tasks for which the user did not specify an end date are automatically given a reasonable end conditions by the system and auto_renew will be set to true. Similarly, if the user- provided end date is too far in the future to reasonably create all instances, the server will set an auto_renew_until end condition.", - "id": "NlpSemanticParsingModelsRecurrenceRecurrenceEnd", - "properties": { - "autoRenew": { - "description": "Should be used in cases where the size of the recurrence is infinite (no end date specified), in which case we rely on an offline process to extend. Set by server only, setting it on a new recurrence will throw an exception.", - "type": "boolean" - }, - "autoRenewUntil": { - "$ref": "NlpSemanticParsingDateTimeAnnotation", - "description": "Used in cases where the recurrence is too large to create in a single transaction. In this case we create a manageable number of instances initially and rely on an offline process to continually extend the recurrence until this date. Set by server only, setting it on a new recurrence will throw an exception." - }, - "endDateTime": { - "$ref": "NlpSemanticParsingDateTimeAnnotation" - }, - "endMillis": { - "deprecated": true, - "description": "Deprecated - prefer end_date_time.absolute_time_ms.", - "format": "int64", - "type": "string" - }, - "numOccurrences": { - "description": "Note that auto-renewing is not supported in conjunction with num_occurrences. Therefore we impose a hard limit of 1000 when using this field.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsRecurrenceRecurrenceStart": { - "description": "The start of the recurrence can be represented either as a DateTime or a timestamp in milliseconds from UTC epoch. Exactly one of the fields of this message must be set.", - "id": "NlpSemanticParsingModelsRecurrenceRecurrenceStart", - "properties": { - "startDateTime": { - "$ref": "NlpSemanticParsingDateTimeAnnotation", - "description": "Only the year/month/day portion are used to find the start date of the recurrence. To specify a time or period of each instance, use DailyPattern." - }, - "startMillis": { - "deprecated": true, - "description": "Deprecated - prefer start_date_time.absolute_time_ms.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsRecurrenceWeeklyPattern": { - "description": "Pattern for a WEEKLY recurrence. You must specify at least one week_day.", - "id": "NlpSemanticParsingModelsRecurrenceWeeklyPattern", - "properties": { - "weekDay": { - "description": "Set of weekdays the recurrence applies to.", - "items": { - "enum": [ - "UNKNOWN_WEEKDAY", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "weeklyPatternEnd": { - "enum": [ - "UNKNOWN_WEEKDAY", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "weeklyPatternStart": { - "enum": [ - "UNKNOWN_WEEKDAY", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsRecurrenceYearlyPattern": { - "description": "Pattern for a YEARLY recurrence. A YEARLY recurrence is specified using a monthly pattern and a set of months the pattern applies to. Some examples: \"Every January 16\" : monthly_pattern { month_day = 16; } year_month = JANUARY; \"Last day of every April and August\" : monthly_pattern { last_day = true; } year_month = APRIL, AUGUST ", - "id": "NlpSemanticParsingModelsRecurrenceYearlyPattern", - "properties": { - "monthlyPattern": { - "$ref": "NlpSemanticParsingModelsRecurrenceMonthlyPattern", - "description": "The monthly pattern to recur." - }, - "yearMonth": { - "description": "The months of the year to apply the pattern.", - "items": { - "enum": [ - "JANUARY", - "FEBRUARY", - "MARCH", - "APRIL", - "MAY", - "JUNE", - "JULY", - "AUGUST", - "SEPTEMBER", - "OCTOBER", - "NOVEMBER", - "DECEMBER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantBrandPhrase": { - "description": "A brand can be any combination of text or mid.", - "id": "NlpSemanticParsingModelsShoppingAssistantBrandPhrase", - "properties": { - "mid": { - "type": "string" - }, - "rawText": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantMerchant": { - "description": "A merchant that sells products.", - "id": "NlpSemanticParsingModelsShoppingAssistantMerchant", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "This field should not be used by clients of the grammar. It is intended to be used internally in Aqua for metric and regression tests." - }, - "localMerchantId": { - "description": "Merchant Center identifier for LIA merchants.", - "format": "int64", - "type": "string" - }, - "mcid": { - "items": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterId" - }, - "type": "array" - }, - "merchantId": { - "deprecated": true, - "description": "Merchant Center identifier for GSX merchants. Deprecated: use MerchantCenterId.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "mid": { - "description": "Optional. Knowledge Graph identifier for the merchant.", - "type": "string" - }, - "name": { - "description": "A name for the merchant. Example: Walmart", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterId": { - "description": "Note: A merchant may have multiple merchant center ids, and each one can have multiple purposes. The existing fields merchant_id, local_merchant_id fields are not enough to capture this. Instead we will have a repeated field name mcid with this structure.", - "id": "NlpSemanticParsingModelsShoppingAssistantMerchantMerchantCenterId", - "properties": { - "id": { - "format": "int64", - "type": "string" - }, - "isGsx": { - "type": "boolean" - }, - "isLocal": { - "type": "boolean" - }, - "isPla": { - "type": "boolean" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantOffer": { - "description": "A product for sale from a particular merchant, possibly available at a specific store.", - "id": "NlpSemanticParsingModelsShoppingAssistantOffer", - "properties": { - "docid": { - "description": "The offer document id as used in Shopping's metadata.", - "format": "uint64", - "type": "string" - }, - "merchant": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantMerchant", - "description": "The merchant selling the product." - }, - "price": { - "$ref": "NlpSemanticParsingModelsMoneyMoney", - "description": "The price of the product sold by the merchant." - }, - "product": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantProduct", - "description": "The product for sale." - }, - "store": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantStore", - "description": "Optional. The physical store where the product can be purchased." - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantPhrase": { - "description": "A phrase parsed from a user query.", - "id": "NlpSemanticParsingModelsShoppingAssistantPhrase", - "properties": { - "brand": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantBrandPhrase" - }, - "offer": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantOffer" - }, - "product": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantProductPhrase" - }, - "unrecognized": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantUnrecognizedPhrase" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantProduct": { - "description": "A product that can be purchased.", - "id": "NlpSemanticParsingModelsShoppingAssistantProduct", - "properties": { - "catalogId": { - "description": "The shopping catalog identifier.", - "format": "uint64", - "type": "string" - }, - "maxPrice": { - "$ref": "NlpSemanticParsingModelsMoneyMoney", - "description": "The highes price this product is available for." - }, - "mediaProduct": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantProductMediaProduct", - "description": "TODO(ppoudyal) Add logging for media_product." - }, - "mid": { - "description": "Optional. Knowledge Graph identifier for the product.", - "type": "string" - }, - "minPrice": { - "$ref": "NlpSemanticParsingModelsMoneyMoney", - "description": "The lowest price this product is available for." - }, - "title": { - "description": "Title of the product. Example: Moto X Blue 64GB Note: This refers to only the catalog title not user specified phrase", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantProductClassification": { - "description": "Whether the product being described fits into specific categories (e.g., \"video games\").", - "id": "NlpSemanticParsingModelsShoppingAssistantProductClassification", - "properties": { - "bookConfidence": { - "description": "TODO(ppoudyal) Expand confidence to cases where the product phrase might be a book/movie/video_game but isn't just a title The score (between 0 - 1) measuring the confidence that product", - "format": "float", - "type": "number" - }, - "isVideoGame": { - "description": "TODO(ppoudyal) Deprecate is_video_game once the score covers all cases covered by $VideoGameProductPhrase The product phrase contains a video game title.", - "type": "boolean" - }, - "movieConfidence": { - "description": "phrase mentions a book title The score (between 0 - 1) measuring the confidence that product", - "format": "float", - "type": "number" - }, - "videoGameConfidence": { - "description": "phrase mentions a movie title The score (between 0 - 1) measuring the confidence that product", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantProductExpression": { - "description": "An expression parsed from a user query that describes a product or set of products.", - "id": "NlpSemanticParsingModelsShoppingAssistantProductExpression", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "This field should not be used by clients of the grammar. It is intended to be used internally in Aqua for metric and regression tests." - }, - "grammaticalGender": { - "enum": [ - "UNKNOWN_GENDER", - "FEMININE", - "MASCULINE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "grammaticalNumber": { - "enum": [ - "UNKNOWN_NUMBER", - "PLURAL", - "SINGULAR", - "DUAL" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "phrases": { - "description": "Ordered list of phrases that the user used to describe a product.", - "items": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantPhrase" - }, - "type": "array" - }, - "productClassification": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantProductClassification" - }, - "shoppingListItemInfo": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantShoppingListItemInfo", - "description": "Associated shopping list item info. Only set when the product is come from a shopping list item." - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantProductMediaProduct": { - "description": "A media product that can be purchased", - "id": "NlpSemanticParsingModelsShoppingAssistantProductMediaProduct", - "properties": { - "author": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue", - "description": "The author of the media" - }, - "genre": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue", - "description": "The genre of the media" - }, - "mediaTitle": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue", - "description": "The title of the media Example: The assasin's creed" - }, - "orderInSeries": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue", - "description": "Order in media series (series title is given by the product title)" - }, - "topic": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue", - "description": "The topic of the media" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue": { - "id": "NlpSemanticParsingModelsShoppingAssistantProductMediaProductMediaAttributeValue", - "properties": { - "mid": { - "description": "The knowledge graph identifier for the attribute", - "type": "string" - }, - "rawText": { - "description": "Raw text of the media attribute (eg. author)", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantProductPhrase": { - "description": "A product can be any combination of raw_text and metadata (including mid, shopping product catalog title/id, and media attributes). A product phrase refers to a product at the catalog entry level and/or a media product. Media product contains information about author and media title TODO(ppoudyal) Add genre and order_in_series to MediaProduct", - "id": "NlpSemanticParsingModelsShoppingAssistantProductPhrase", - "properties": { - "metadata": { - "$ref": "NlpSemanticParsingModelsShoppingAssistantProduct" - }, - "rawText": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantShoppingListItemInfo": { - "id": "NlpSemanticParsingModelsShoppingAssistantShoppingListItemInfo", - "properties": { - "itemId": { - "type": "string" - }, - "listId": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantStore": { - "description": "A merchant's physical store.", - "id": "NlpSemanticParsingModelsShoppingAssistantStore", - "properties": { - "id": { - "description": "Local store identifier.", - "format": "uint64", - "type": "string" - }, - "location": { - "$ref": "NlpSemanticParsingLocalLocation", - "description": "The location of the store." - }, - "name": { - "description": "A name for the store. Example: Walmart - Cranberry", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingModelsShoppingAssistantUnrecognizedPhrase": { - "description": "A span in a user query that could not be identified as any other type of `Phrase`.", - "id": "NlpSemanticParsingModelsShoppingAssistantUnrecognizedPhrase", - "properties": { - "rawText": { - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingNumberFractionNumber": { - "id": "NlpSemanticParsingNumberFractionNumber", - "properties": { - "denominator": { - "$ref": "NlpSemanticParsingNumberSimpleNumber" - }, - "numerator": { - "$ref": "NlpSemanticParsingNumberSimpleNumber", - "description": "Fields for fraction numbers" - }, - "precision": { - "description": "This field is used to indicate the number of digits after the decimal point in the normalized_value field in number.proto, which contains the floating point representation of the fraction", - "format": "int32", - "type": "integer" - }, - "wholeNumber": { - "$ref": "NlpSemanticParsingNumberSimpleNumber", - "description": "This field is set only for mixed fraction" - } - }, - "type": "object" - }, - "NlpSemanticParsingNumberNumber": { - "description": "Next ID: 9", - "id": "NlpSemanticParsingNumberNumber", - "properties": { - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Span info of the annotation - mostly used for evaluation purpose. Note: this data must never be used outside Aqua because it relies on the internal tokenization used in Aqua that could change over time." - }, - "fractionNumber": { - "$ref": "NlpSemanticParsingNumberFractionNumber" - }, - "isSpelledOut": { - "description": "An optional field that holds whether the number_type number is a normalized spelled-out number or not. This field will not be set in cases when this information is not available.", - "type": "boolean" - }, - "modifier": { - "description": "NumberModifier is used to capture when the expression is not an absolute number, but a number expression to represent an increase/decrease/comparison. E.g. [10 more percent], [5 less].", - "enum": [ - "UNKNOWN", - "ADD", - "SUBTRACT" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "normalizedValue": { - "description": "Contains a normalized string representation of the numeric value that has: * No digit grouping delimiter (e.g. \",\" in english). * Decimal mark (if present) as \".\" (dot). For fraction_number, this contains the floating point representation of the fraction. The number of digits after the decimal point is defined in the precision field of fraction_number.proto.", - "type": "string" - }, - "rawText": { - "description": "The raw text of the annotation.", - "type": "string" - }, - "simpleNumber": { - "$ref": "NlpSemanticParsingNumberSimpleNumber" - }, - "spelledOutType": { - "description": "We expect this field to be set only when is_spelled_out is true.", - "enum": [ - "UNKNOWN_SPELLED_OUT_TYPE", - "FULL_NUMBER", - "LIST_OF_SINGLE_DIGITS", - "SHORTHAND", - "COMBINED" - ], - "enumDescriptions": [ - "", - "A fully spelled out number. e.g: [two], [half], [one hundred forty five], [one point twenty five].", - "A list of spelled out single digits with more than 1 element. e.g: [two oh], [one four five], [six oh nine], [one point five five].", - "A shorthand number form. e.g: [1K], [1m].", - "An interpretation that combines two or more of the other forms with or without written (non spelled-out) forms, or one of the other forms combined with written forms. e.g: [1 hundred], [one forty five], [one point two fifteen], [twenty oh two], [one hundred twenty two point two two], [one twenty two point two two], [one two two point 22]." - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingNumberSimpleNumber": { - "description": "Next ID: 8", - "id": "NlpSemanticParsingNumberSimpleNumber", - "properties": { - "decimalMark": { - "description": "The type of decimal mark that was present before normalization. Note: different locales may use different decimal marks.", - "enum": [ - "NO_DELIMITER", - "DOT", - "COMMA", - "SPACE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "groupingDelimiter": { - "description": "The type of digit grouping delimiter that was present before normalization. Note: different locales may use different digit grouping delimiters.", - "enum": [ - "NO_DELIMITER", - "DOT", - "COMMA", - "SPACE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "groupingSystem": { - "description": "We expect this field to be set only when grouping_delimiter is set.", - "enum": [ - "UNKNOWN_GROUPING_SYSTEM", - "GROUPBY_3_DIGITS", - "GROUPBY_4_DIGITS", - "GROUPBY_INDIAN_SYSTEM" - ], - "enumDescriptions": [ - "", - "Western languages group by thousands: 10^3, 10^6 ...", - "East Asian languages prefer grouping by myriads: 10^4, 10^8, ...", - "The Indian system is more complex because of the Stravinskian alternation between lakhs and crores." - ], - "type": "string" - }, - "normalizedValue": { - "description": "Contains a normalized string representation of the numeric value that has: * No digit grouping delimiter (e.g. \",\" in english). * Decimal mark (if present) as \".\" (dot). This field is kept for backward compatibility. The field is also available in number.proto", - "type": "string" - }, - "prefix": { - "description": "Stores prefix output by the GRM number grammar (http://b/28623478).", - "type": "string" - }, - "suffix": { - "description": "Stores suffix output", - "type": "string" - }, - "type": { - "enum": [ - "UNKNOWN_NUMBER_TYPE", - "INT", - "FLOAT", - "ORDINAL", - "PERCENTAGE" - ], - "enumDescriptions": [ - "", - "An integer number: [2], [1,000], [one hundred five].", - "Floating point number: [0.2], [3.14], [1,000.1].", - "Ordinal number: [2nd], [twenty third].", - "Percentage: [5%], [50 percent], [five percent]." - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingPersonalIntelligenceEntity": { - "description": "This message should be wire-equivalent to the Entity proto defined in nlp/semantic_parsing/models/personal_intelligence.proto. The message is cloned here to allow legacy intents to extract entities to slots; trying to add Entity to knowledge_answers::intent_query::ArgumentValue creates a BUILD dependency loop. For the proto used for GwsLogs, see logs/proto/knowledge/interpretation/personal_intelligence.proto.", - "id": "NlpSemanticParsingPersonalIntelligenceEntity", - "properties": { - "airlineConfig": { - "$ref": "TravelFlightsAirlineConfig", - "description": "Used if the entity is an airline with an airline annotation." - }, - "evalData": { - "$ref": "NlpSemanticParsingAnnotationEvalData", - "description": "Required, but should only be used inside Aqua. Must not be used by outside clients!!" - }, - "name": { - "description": "raw string representation", - "type": "string" - }, - "qrefAnnotation": { - "$ref": "NlpSemanticParsingQRefAnnotation" - } - }, - "type": "object" - }, - "NlpSemanticParsingPersonalReferenceAnnotation": { - "description": "A collection of any number of QRefAnnotations that designate a Copley Personal Reference and its Resolutions. This is used to handle personalized intents such as \"navigate to my hotel\" or \"when is my mom's anniversary\". See go/copley. This Annotation may contain only a reference with no resolutions for the failure case (go/copley-punts). TODO(bhorst) Rename this to remove the Copley codename.", - "id": "NlpSemanticParsingPersonalReferenceAnnotation", - "properties": { - "reference": { - "$ref": "NlpSemanticParsingQRefAnnotation", - "description": "A Copley Personal Reference represents a user's reference to a something that could be personal entity, e.g. \"my hotel\", \"mom\", \"brunch\"." - }, - "resolutions": { - "description": "A Copley Personal Resolution represents the resolution of a Reference, e.g. if the user has a reservation at The Kendall Hotel, the reference \"my hotel\" could be resolved to The Kendall Hotel, and there would be a QRefAnnotation containing the mid and other data. It is possible for there to be zero resolutions for a given reference.", - "items": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingProtoActionsOnGoogleAogSlot": { - "description": "In simple cases, each NLU slot will contain one or multiple possible values. But in the case of a composite entity - slots can have a complex tree structure. Each slot can represent a List parameter. List parameters are only allowed at the top level, i.e. lists can't ne nested in maps. Next Id: 9 LINT.IfChange", - "id": "NlpSemanticParsingProtoActionsOnGoogleAogSlot", - "properties": { - "entityId": { - "description": "ID of the entity of this slot.", - "type": "string" - }, - "numBytes": { - "description": "Number of bytes of this slot in resolved query.", - "format": "int32", - "type": "integer" - }, - "original": { - "description": "Part of input text, matched by that slot. In the case of composite slots, each slot should have its own original.", - "type": "string" - }, - "parameterName": { - "description": "Name of parameter of this slot.", - "type": "string" - }, - "slotList": { - "$ref": "NlpSemanticParsingProtoActionsOnGoogleSlotList", - "description": "Represents a \"list parameter\". Each parameter may be declared as a list and have multiple slot values, referenced by a single alias. Each slot value in a list may contain multiple possible values. For example: aqua return 3 dates if the year is not specified in a query - one for the current year, one for the past year, and one for the following year. If user defines a list parameter with type @sys.date, and the query contains multiple dates - we should return a list of possible values for each date from the query, i.e. it will be a list of list of dates." - }, - "slotMap": { - "$ref": "NlpSemanticParsingProtoActionsOnGoogleSlotMap", - "description": "Represents a structured value. Used in composite entities. Composite entities can have arbitrary structure." - }, - "startByte": { - "description": "Start byte position of this slot in resolved query.", - "format": "int32", - "type": "integer" - }, - "value": { - "$ref": "NlpSemanticParsingProtoActionsOnGoogleSlotValue", - "description": "One or more possible values. This field does not represent a list parameter." - } - }, - "type": "object" - }, - "NlpSemanticParsingProtoActionsOnGoogleDateTime": { - "description": "Represents datetime. It can be @sys.date, @sys.time or, in some cases, @sys.date-time. Our platform doesn't track seconds, so this field is omitted. Number of seconds should be considered 0. Hour and minute can be 0 in case of dates. In case of time and dateTime, hours and minutes will represent actual time, even if both of them are 0.", - "id": "NlpSemanticParsingProtoActionsOnGoogleDateTime", - "properties": { - "date": { - "$ref": "GoogleTypeDate", - "description": "Date value. Note, that month and day are 1 based. If this DateTime is a PARTIAL datetime, then fields have value -1, which means these fields are inferred rather than derived directly from query." - }, - "property": { - "$ref": "NlpSemanticParsingProtoActionsOnGoogleDateTimeProperty", - "description": "Property of this DateTime value that can be used to match user specification of parameters, e.g. date.recent." - }, - "time": { - "$ref": "GoogleTypeTimeOfDay", - "description": "Time value. Only hours and minutes are used. Hours are in 24h format." - }, - "timeZone": { - "$ref": "GoogleTypeTimeZone", - "description": "Timezone field specified only if this DateTime has type TIME or DATETIME." - } - }, - "type": "object" - }, - "NlpSemanticParsingProtoActionsOnGoogleDateTimeProperty": { - "description": "Represents properties about a matched DateTime value. Will only be populated for @sys.date-time, @sys.date and @sys.time.", - "id": "NlpSemanticParsingProtoActionsOnGoogleDateTimeProperty", - "properties": { - "datetimeType": { - "description": "Since datetime is a superset of date, time and date\u0026time, this field is used to indicate which type the associated DateTime object belongs to.", - "enum": [ - "UNSPECIFIED_TYPE", - "DATE", - "TIME", - "DATETIME" - ], - "enumDescriptions": [ - "Default type.", - "Date-only.", - "Time-only.", - "Date \u0026 time." - ], - "type": "string" - }, - "relativeDatetimeType": { - "description": "The relative relationship between this DateTime value and DateTime\u0026Timezone info provided in ClassifyRequest.", - "enum": [ - "UNSPECIFIED_RELATIVE_TYPE", - "RECENT", - "FUTURE_OR_NOW", - "PARTIAL" - ], - "enumDescriptions": [ - "Default type.", - "date-time.recent", - "date-time", - "date-time.partial" - ], - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingProtoActionsOnGoogleSlotList": { - "description": "Oneof doesn't allow list, this message is used to inject list as a possible value into Slot.", - "id": "NlpSemanticParsingProtoActionsOnGoogleSlotList", - "properties": { - "slots": { - "items": { - "$ref": "NlpSemanticParsingProtoActionsOnGoogleAogSlot" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingProtoActionsOnGoogleSlotMap": { - "description": "Oneof doesn't allow maps, this message is used to inject map as a possible value into Slot.", - "id": "NlpSemanticParsingProtoActionsOnGoogleSlotMap", - "properties": { - "slots": { - "additionalProperties": { - "$ref": "NlpSemanticParsingProtoActionsOnGoogleAogSlot" - }, - "type": "object" - } - }, - "type": "object" - }, - "NlpSemanticParsingProtoActionsOnGoogleSlotValue": { - "description": "Contains one or more possible values.", - "id": "NlpSemanticParsingProtoActionsOnGoogleSlotValue", - "properties": { - "values": { - "items": { - "$ref": "NlpSemanticParsingProtoActionsOnGoogleSlotValueSingleValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingProtoActionsOnGoogleSlotValueSingleValue": { - "description": "Represents an actual value.", - "id": "NlpSemanticParsingProtoActionsOnGoogleSlotValueSingleValue", - "properties": { - "dateTimeValue": { - "$ref": "NlpSemanticParsingProtoActionsOnGoogleDateTime", - "description": "Represents date or time." - }, - "stringValue": { - "description": "Represents a string value.", - "type": "string" - }, - "typeValue": { - "$ref": "NlpSemanticParsingProtoActionsOnGoogleTypedValue", - "description": "This field is only populated by on-device Heron. This field should not be populated by any other service." - } - }, - "type": "object" - }, - "NlpSemanticParsingProtoActionsOnGoogleTypedValue": { - "description": "Used by on-device Heron. Contains information about the type of slot value returned.", - "id": "NlpSemanticParsingProtoActionsOnGoogleTypedValue", - "properties": { - "boolValue": { - "description": "Represents a boolean value.", - "type": "boolean" - }, - "dateTimeValue": { - "$ref": "NlpSemanticParsingProtoActionsOnGoogleDateTime", - "description": "Represents date or time." - }, - "numberValue": { - "description": "Represents number value. In accordance to ParamValue fields(https://source.corp.google.com/piper///depot/google3/third_party/java_src/appactions/proto/app_actions_data.proto;rcl=431529042;l=12)", - "format": "double", - "type": "number" - }, - "stringValue": { - "description": "Represents a string value.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingQRefAnnotation": { - "description": "The QRefAnnotator annotates spans of input with freebase-ids and collection-information. NEXT ID TO USE: 41", - "id": "NlpSemanticParsingQRefAnnotation", - "properties": { - "addedByCloseAnswers": { - "description": "Whether this qref annotation was created by CloseAnswers on Postref. Annotations of this type don't correspond to a particular mention of the entity on the query but rather to an interpretation of the full query.", - "type": "boolean" - }, - "annotatedSpan": { - "description": "A copy of the span of canonical (raw) parser input text corresponding to this annotation.", - "type": "string" - }, - "attributeId": { - "description": "Attribute ID of a personal_summary_node_child.", - "type": "string" - }, - "clusterId": { - "description": "The ID of the cluster (set entity) this entity belongs to.", - "type": "string" - }, - "clusterSetScore": { - "description": "Cluster set qref confidence score.", - "format": "double", - "type": "number" - }, - "clusterSiblingMid": { - "description": "The set of mids that are members of the same cluster.", - "items": { - "type": "string" - }, - "type": "array" - }, - "collectionMembership": { - "items": { - "$ref": "NlpSemanticParsingQRefAnnotationCollectionMembership" - }, - "type": "array" - }, - "confidenceScore": { - "description": "The confidence (in [0, 1]) of the entity being correctly annotated.", - "format": "double", - "type": "number" - }, - "deprecatedEquivalentMids": { - "description": "DEPRECATED: Equivalent ids (e.g. de-duped mids) for this entity.", - "items": { - "type": "string" - }, - "type": "array" - }, - "deprecatedMdvcSupportingMid": { - "deprecated": true, - "description": "DEPRECATED: Higher level id's that support the given id. This field has been deprecated in favor of related_entity. b/27363861", - "items": { - "type": "string" - }, - "type": "array" - }, - "displayName": { - "description": "Copy the display info. This can be used by annotators to give grammars a canonical name for an entity. For instance, the media grammar could use it to output the same canonical name for \"rock music\" and \"rock\".", - "type": "string" - }, - "entityNumber": { - "description": "The index of the entity from which this annotation is obtained, within the WebrefEntities message in the interpretation defined by interpretation_number, above.", - "format": "int32", - "type": "integer" - }, - "entityRelationship": { - "description": "The relationship information from QRef. Only included if the QRefAnnotator is initialised with include_annotated_relationships.", - "items": { - "$ref": "NlpSemanticParsingQRefAnnotationEntityRelationship" - }, - "type": "array" - }, - "entitySourceData": { - "$ref": "NlpSemanticParsingEntitySourceData", - "description": "Holds information about the backends which contributed to this entity." - }, - "freebaseMid": { - "description": "The mid of the entity in freebase associated with this span.", - "type": "string" - }, - "gaiaId": { - "description": "The Gaia ID for this entity. This is populated generally for people and businesses.", - "format": "uint64", - "type": "string" - }, - "globalProductClusterId": { - "description": "The shopping global product cluster id(s) of the annotated entity (in KG, the key(s) of type /business/variant_cluster).", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "interpretationNumber": { - "description": "The index of the QueryJoin interpretation from which this annotation was obtained. This field is not used for entities coming from low-confidence annotations, since such entities are not included in any interpretation.", - "format": "int32", - "type": "integer" - }, - "isMdvcDimension": { - "description": "True if this entity is an mdvc dimension of some other annotated entity. Only included if the QRefAnnotator is initialised with include_annotated_relationships.", - "type": "boolean" - }, - "isNimbleAnnotation": { - "description": "Whether this annotation originates from nimble. (go/nimble-annotator)", - "type": "boolean" - }, - "location": { - "$ref": "GeostorePointProto", - "description": "The center point of this location. This is either directly provided by the FeatureProto.center field or the centroid using the points of the polygon in the FeatureProto." - }, - "locationType": { - "description": "The location type of the entity, as an int32 representing a TypeCategory enum value. For example, this could be TYPE_LOCALITY (37) or TYPE_COUNTRY (33). We store this type as an int because including FeatureProto would cause java/com/google/ads/adh/pipeline/bigquery:ProtoCatalog to become too large, resulting in OOM errors.", - "format": "int32", - "type": "integer" - }, - "lowConfidence": { - "description": "Whether this entity is low confidence. Not used. Currently whitelisted entities below min_confidence threshold are marked as low confidence and maybe not trusted by downstreams.", - "type": "boolean" - }, - "matchedLightweightToken": { - "items": { - "$ref": "RepositoryWebrefLightweightTokensMatchedLightweightToken" - }, - "type": "array" - }, - "mdvcChild": { - "description": "Nested annotations that represent subparts of the given mdvc full annotation. An MDVC full annotation is outputted as the summary node as the root node, and all the children of it as leaves (mdvc_child). QRef outputs a graph of relationships between the mdvc enties, and for mdvc full the aquatator nests the relevant children inside the summary node's proto.", - "items": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "type": "array" - }, - "mdvcVerticals": { - "description": "The set of verticals this summary node belongs to.", - "items": { - "type": "string" - }, - "type": "array" - }, - "mergedImpliedEntity": { - "description": "A list of any implied entities merged into this annotation during parsing. Order is derivation-dependent.", - "items": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "type": "array" - }, - "merlotCategory": { - "items": { - "$ref": "NlpSemanticParsingQRefAnnotationMerlotCategoryData" - }, - "type": "array" - }, - "otherMetadata": { - "$ref": "Proto2BridgeMessageSet", - "description": "Metadata to be passed through from the AnnotationContext API." - }, - "oysterId": { - "$ref": "GeostoreFeatureIdProto", - "description": "The geo oyster_id of the entity, relevant only for locations. Only included if the QRefAnnotator is initialised with include_oyster_id." - }, - "personalSummaryNodeChild": { - "description": "Personal summary nodes are compound entities made up of entities and their attributes, where the entities can be compound too. E.g., \"my father's mother\" can have a summary node annotation of \"Mother(Father(Myself))\".", - "items": { - "$ref": "NlpSemanticParsingQRefAnnotation" - }, - "type": "array" - }, - "productLineId": { - "description": "The shopping product line id(s) of the annotated /business/shopping_product_line entity.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "referenceScore": { - "description": "The confidence (in [0, 1]) that the annotation is reference that implies another entity. (eg \"my hotel\" in \"navigate to my hotel\" is reference to explicit hotel from user hotel reservation).", - "format": "float", - "type": "number" - }, - "relatedEntity": { - "description": "Mids related to the given entity", - "items": { - "$ref": "NlpSemanticParsingRelatedEntity" - }, - "type": "array" - }, - "resolutionScore": { - "description": "The confidence (in [0, 1]) that the annotation was created on an implicit mention (eg my hotel) as opposed to an explicit mention (eg: the westin copley square)", - "format": "float", - "type": "number" - }, - "sourceTypeList": { - "$ref": "CopleySourceTypeList", - "description": "If the annotation was created by using personal data, we record the provenance for that data here." - }, - "subCluster": { - "items": { - "$ref": "NlpSemanticParsingQRefAnnotationSubCluster" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingQRefAnnotationCollectionMembership": { - "id": "NlpSemanticParsingQRefAnnotationCollectionMembership", - "properties": { - "collectionId": { - "description": "Identifier of the collection. Usually something like \"/collection/us_states\".", - "type": "string" - }, - "collectionScore": { - "deprecated": true, - "description": "A value in [0, 1] indicating the relevance of the collection given this entity. NOTE: This field is deprecated and will stop being populated soon. In the meantime, it will always be populated with 1.0.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "NlpSemanticParsingQRefAnnotationEntityRelationship": { - "id": "NlpSemanticParsingQRefAnnotationEntityRelationship", - "properties": { - "entityIndex": { - "description": "The index of the other entity in the relationship.", - "format": "int32", - "type": "integer" - }, - "impliedBy": { - "description": "True if this entity is implied by the other (includes geo contains).", - "type": "boolean" - }, - "implies": { - "description": "True if this entity implies the other (includes geo contained by).", - "type": "boolean" - }, - "linkPropertyName": { - "description": "Names of the relationship links.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingQRefAnnotationMerlotCategoryData": { - "description": "Merlot category information. As of Sep2015, this is derived from collection membership, but as that information is planned for deprecation and may need to be replaced as a source for this data, it is extracted separately.", - "id": "NlpSemanticParsingQRefAnnotationMerlotCategoryData", - "properties": { - "categoryId": { - "format": "int32", - "type": "integer" - }, - "confidence": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "NlpSemanticParsingQRefAnnotationSubCluster": { - "description": "Keeps track of any individual clusters this mid is a member of. Cluster_id and cluster_sibling_mid stores the cluster all together, while the subcluster keeps track of each individual cluster information separately.", - "id": "NlpSemanticParsingQRefAnnotationSubCluster", - "properties": { - "clusterId": { - "type": "string" - }, - "clusterSetScore": { - "format": "double", - "type": "number" - }, - "clusterSiblingMid": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlpSemanticParsingRelatedEntity": { - "description": "A message that stores relations between this annotation and another entity. Stores the mid and the kind of relationship. These links may be consumed downstream for various purposes, including support transfer and other business logic. An example is for the Honda Civic entity. It may have an mdvc_relation that is a generalization_of the 2015 Honda Civic entity. So the Honda Civic would have the following: RelatedEntity { mid = 2015 Honda Civic Mid mdvc_relation = GENERALIZATION_OF } It has no equivalent_relation because it is by default NO_EQUIVALENT. The Honda Civic entity might then have a separate relation to the Old Honda Civic entity, as they are considered the same entity, or the following relation: RelatedEntity { mid = Old Honda Civic Mid equivalent_relation = EQUIVALENT }", - "id": "NlpSemanticParsingRelatedEntity", - "properties": { - "clusterSupportTransferRelation": { - "description": "Denotes whether or not the related entity is derived from cluster support transfer.", - "enum": [ - "NO_CLUSTER_SUPPORT", - "CLUSTER_SUPPORT" - ], - "enumDescriptions": [ - "Indicates the entity has not received support from a MDVC.", - "Indicates the entity has received support from a MDVC." - ], - "type": "string" - }, - "composedFromRelation": { - "description": "Denotes whether or not the related entity composes a compound entity together with other related entities.", - "enum": [ - "NONE_COMPOSED_FROM", - "COMPOSED_FROM" - ], - "enumDescriptions": [ - "Indicates the entity does not compose the other entity.", - "Indicates the entity composes a compound entity." - ], - "type": "string" - }, - "equivalentRelation": { - "description": "Whether or not the given mid is related to the other mid. Equivalent mids are usually mutually exclusive with other kinds of relations.", - "enum": [ - "NO_EQUIVALENT", - "EQUIVALENT", - "MUNIN_SYNONYM" - ], - "enumDescriptions": [ - "Not equivalent.", - "Equivalent to the other entity.", - "The related entity is a synonym added to Munin interpretation." - ], - "type": "string" - }, - "mdvcRelation": { - "description": "The mdvc relation with the related mid.", - "enum": [ - "NO_MDVC", - "GENERALIZATION_OF", - "SPECIALIZATION_OF", - "HAS_DIMENSION_VALUE", - "IS_DIMENSION_OF" - ], - "enumDescriptions": [ - "Not an MDVC relation.", - "This mid is a generalization of the other mid (and the other mid is a specialization of this mid).", - "This mid is a specialization of the other mid (and the other mid is a generalization of this mid).", - "This mid has the other mid as a dimension (or attribute) (and the other mid is a dimension of this mid)", - "This mid is a dimension (or attribute) of the other mid (and the other mid has this mid as dimension)." - ], - "type": "string" - }, - "mid": { - "description": "Mid that is related.", - "type": "string" - }, - "supportTransferRelation": { - "description": "Denotes whether or not there was support transfer between the two entities.", - "enum": [ - "NO_SUPPORT_TRANSFER", - "SUPPORT_TRANSFER_TARGET", - "SUPPORT_TRANSFER_SOURCE", - "MENTION_TRANSFER_TARGET", - "MENTION_TRANSFER_SOURCE", - "SUPPORT_SHARE_TARGET", - "SUPPORT_SHARE_SOURCE" - ], - "enumDescriptions": [ - "No support transfer occurred.", - "We transferred support to this entity.", - "We received support from this entity.", - "We transferred support for a mention to this entity.", - "We received support for a mention from this entity.", - "We shared support with this entity.", - "We received shared support from this entity." - ], - "type": "string" - }, - "targetIsStbrSource": { - "description": "Set if the related entity is the source of an STBR rule and the target is not this one.", - "type": "boolean" - } - }, - "type": "object" - }, - "NlpSemanticParsingSaftCoreference": { - "description": "Identifies a coreference mention (pronoun or nominal) resolved to an entity.", - "id": "NlpSemanticParsingSaftCoreference", - "properties": { - "category": { - "description": "Categories can be either a $PronounMention or $NominalMention.", - "type": "string" - }, - "rawText": { - "description": "The substring of the raw query spanned by this annotation.", - "type": "string" - }, - "referentText": { - "description": "The name of the entity this mentions refers to.", - "type": "string" - } - }, - "type": "object" - }, - "NlpSemanticParsingSaftMeasure": { - "description": "Identifies a measure, like '53 pounds' in a query.", - "id": "NlpSemanticParsingSaftMeasure", - "properties": { - "category": { - "description": "Defines the category of measure, like $Mass.", - "type": "string" - }, - "rawText": { - "description": "The substring of the raw query spanned by this annotation.", - "type": "string" - }, - "value": { - "description": "The numerical value of the measure.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "NlpSemanticParsingSaftMentionAnnotation": { - "description": "SaftMentionAnnotation(s) are used to identify a sub-span of the input with some semantic relevance, for example PER (Person), LOC (Locations) or measure etc. Each SaftMentionAnnotation will have exactly one non-empty field.", - "id": "NlpSemanticParsingSaftMentionAnnotation", - "properties": { - "coreference": { - "$ref": "NlpSemanticParsingSaftCoreference", - "description": "Annotations for spans that are resolved coreference mentions." - }, - "entity": { - "$ref": "NlpSemanticParsingSaftSpan", - "description": "Annotations for spans like \"san francisco giants\"." - }, - "measure": { - "$ref": "NlpSemanticParsingSaftMeasure", - "description": "Annotations for spans \"53 pounds\"." - }, - "title": { - "$ref": "NlpSemanticParsingSaftSpan", - "description": "Annotations for spans like \"the president of the United States\"." - } - }, - "type": "object" - }, - "NlpSemanticParsingSaftSpan": { - "description": "The lowest common denominator of a SAFT annotation is simply the definition of some |category| for a sub-span of the |raw_text| of the query.", - "id": "NlpSemanticParsingSaftSpan", - "properties": { - "category": { - "description": "Categories can be either syntactic (NNS for fine-grained-POS) or semantics ($Mass for measures).", - "type": "string" - }, - "rawText": { - "description": "The substring of the raw query spanned by this annotation.", - "type": "string" - } - }, - "type": "object" - }, - "NlxDataSchemaByte": { - "description": "A single byte, such as that from a utf8-encoded character sequence.", - "id": "NlxDataSchemaByte", - "properties": { - "document": { - "$ref": "MultiscalePointerIndex", - "description": "The document that contains this character." - } - }, - "type": "object" - }, - "NlxDataSchemaCharacter": { - "description": "A single Unicode character.", - "id": "NlxDataSchemaCharacter", - "properties": { - "document": { - "$ref": "MultiscalePointerIndex", - "description": "The document that contains this character." - }, - "paragraph": { - "$ref": "MultiscalePointerIndex", - "description": "The paragraph that contains this character." - }, - "sentence": { - "$ref": "MultiscalePointerIndex", - "description": "The sentence that contains this character." - }, - "text": { - "description": "The character itself. Must contain valid UTF-8. Must be exactly one Unicode character.", - "type": "string" - }, - "token": { - "$ref": "MultiscalePointerIndex", - "description": "The token that contains this character." - } - }, - "type": "object" - }, - "NlxDataSchemaDocument": { - "description": "A single document.", - "id": "NlxDataSchemaDocument", - "properties": { - "author": { - "description": "The author(s) of this document.", - "items": { - "$ref": "MultiscalePointerIndex" - }, - "type": "array" - }, - "bytes": { - "$ref": "MultiscalePointerSpan", - "description": "The bytes in this document." - }, - "characters": { - "$ref": "MultiscalePointerSpan", - "description": "The characters in this document." - }, - "id": { - "description": "The identifier of this document.", - "type": "string" - }, - "languageCode": { - "description": "A set of BCP-47 codes indicating the language(s) of this document.", - "items": { - "type": "string" - }, - "type": "array" - }, - "languageSpans": { - "$ref": "MultiscalePointerSpan", - "description": "The language spans in this document." - }, - "mentions": { - "$ref": "MultiscalePointerSpan", - "description": "The mentions in this document." - }, - "paragraphs": { - "$ref": "MultiscalePointerSpan", - "description": "The paragraphs in this document." - }, - "sentences": { - "$ref": "MultiscalePointerSpan", - "description": "The sentences in this document." - }, - "text": { - "description": "The text of this document. Must contain valid UTF-8.", - "type": "string" - }, - "tokens": { - "$ref": "MultiscalePointerSpan", - "description": "The tokens in this document." - }, - "url": { - "description": "The url of this document.", - "type": "string" - } - }, - "type": "object" - }, - "NlxDataSchemaEntity": { - "description": "An entity, which may occur multiple times in the text.", - "id": "NlxDataSchemaEntity", - "properties": { - "gender": { - "description": "Entity gender. Default label set is 'masculine', 'feminine', or 'neuter'. (Perhaps in the future we can split 'neuter' into 'inanimate', 'unknown', and 'non-binary'.)", - "type": "string" - }, - "mid": { - "description": "Machine identifier, such as those from the Freebase database (or similar entity database).", - "type": "string" - }, - "name": { - "description": "Free-form entity name.", - "type": "string" - }, - "type": { - "description": "Entity type, typically something like person/location/organization. The schema for types is not specified. If this entity has a MID, use the mid field instead or in conjunction with the type.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlxDataSchemaLanguageSpan": { - "description": "A span of text that is written using a specified language (or languages). language_spans do not need to cover all of the characters in a text -- in particular, some pieces of text may not use any language. Depending on the model used to generate them, multilingual text can be encoded using overlapping or non- overlapping language_spans; and using one or multiple language_codes per language_span.", - "id": "NlxDataSchemaLanguageSpan", - "properties": { - "bytes": { - "$ref": "MultiscalePointerSpan", - "description": "The bytes in this span." - }, - "characters": { - "$ref": "MultiscalePointerSpan", - "description": "The characters in this span." - }, - "document": { - "$ref": "MultiscalePointerIndex", - "description": "The document that contains this span." - }, - "languageCode": { - "description": "A set of BCP-47 codes indicating the language(s) of this span of text.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NlxDataSchemaMention": { - "description": "A mention of an entity. A single entity might be mentioned multiple times.", - "id": "NlxDataSchemaMention", - "properties": { - "bytes": { - "$ref": "MultiscalePointerSpan", - "description": "The bytes in this mention." - }, - "document": { - "$ref": "MultiscalePointerIndex", - "description": "The document that contains this mention." - }, - "entity": { - "$ref": "MultiscalePointerIndex", - "description": "The entity that this mention refers to." - }, - "kind": { - "description": "Mention kind, typically 'referential', 'attributive', or 'modifier'.", - "type": "string" - }, - "text": { - "description": "The mention text itself. Must contain valid UTF-8.", - "type": "string" - }, - "tokens": { - "$ref": "MultiscalePointerSpan", - "description": "The token(s) in this mention. This may not be present, or have zero length if representing an implicit mention, as in the prodrop case." - }, - "type": { - "description": "Mention type, typically 'named' (for name mentions) or 'nominal'. More types include 'pronominal', 'conjoined' for conjoined mention construction, and 'non-referential' for non-referential pronoun mentions.", - "type": "string" - } - }, - "type": "object" - }, - "NlxDataSchemaParagraph": { - "description": "A single paragraph.", - "id": "NlxDataSchemaParagraph", - "properties": { - "bytes": { - "$ref": "MultiscalePointerSpan", - "description": "The bytes in this paragraph." - }, - "characters": { - "$ref": "MultiscalePointerSpan", - "description": "The characters in this paragraph." - }, - "document": { - "$ref": "MultiscalePointerIndex", - "description": "The document that contains this paragraph." - }, - "sentences": { - "$ref": "MultiscalePointerSpan", - "description": "The sentences in this paragraph." - }, - "text": { - "description": "The text of this paragraph. Must contain valid UTF-8.", - "type": "string" - }, - "tokens": { - "$ref": "MultiscalePointerSpan", - "description": "The tokens in this paragraph." - } - }, - "type": "object" - }, - "NlxDataSchemaScaleSet": { - "description": "Standard NLX data schema.", - "id": "NlxDataSchemaScaleSet", - "properties": { - "byte": { - "items": { - "$ref": "NlxDataSchemaByte" - }, - "type": "array" - }, - "byteDocumentPresence": { - "$ref": "MultiscaleFieldPresence", - "description": "Metadata for which layer (scale) fields are present. WARNING: CURRENT USAGE IS AD HOC, DO NOT RELY ON THESE BEING POPULATED CORRECTLY. This should improve in v2." - }, - "bytePresence": { - "$ref": "MultiscaleLayerPresence", - "description": "Metadata for which layers (scales) are present. WARNING: CURRENT USAGE IS AD HOC, DO NOT RELY ON THESE BEING POPULATED CORRECTLY. This should improve in v2." - }, - "character": { - "items": { - "$ref": "NlxDataSchemaCharacter" - }, - "type": "array" - }, - "characterDocumentPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "characterParagraphPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "characterPresence": { - "$ref": "MultiscaleLayerPresence" - }, - "characterSentencePresence": { - "$ref": "MultiscaleFieldPresence" - }, - "characterTextPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "characterTokenPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "document": { - "items": { - "$ref": "NlxDataSchemaDocument" - }, - "type": "array" - }, - "documentAuthorPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "documentBytesPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "documentCharactersPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "documentIdPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "documentLanguageCodePresence": { - "$ref": "MultiscaleFieldPresence" - }, - "documentLanguageSpansPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "documentMentionsPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "documentParagraphsPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "documentPresence": { - "$ref": "MultiscaleLayerPresence" - }, - "documentSentencesPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "documentTextPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "documentTokensPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "documentUrlPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "entity": { - "items": { - "$ref": "NlxDataSchemaEntity" - }, - "type": "array" - }, - "entityGenderPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "entityMidPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "entityNamePresence": { - "$ref": "MultiscaleFieldPresence" - }, - "entityPresence": { - "$ref": "MultiscaleLayerPresence" - }, - "entityTypePresence": { - "$ref": "MultiscaleFieldPresence" - }, - "languageSpan": { - "items": { - "$ref": "NlxDataSchemaLanguageSpan" - }, - "type": "array" - }, - "languageSpanBytesPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "languageSpanCharactersPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "languageSpanDocumentPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "languageSpanLanguageCodePresence": { - "$ref": "MultiscaleFieldPresence" - }, - "languageSpanPresence": { - "$ref": "MultiscaleLayerPresence" - }, - "mention": { - "items": { - "$ref": "NlxDataSchemaMention" - }, - "type": "array" - }, - "mentionBytesPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "mentionDocumentPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "mentionEntityPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "mentionKindPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "mentionPresence": { - "$ref": "MultiscaleLayerPresence" - }, - "mentionTextPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "mentionTokensPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "mentionTypePresence": { - "$ref": "MultiscaleFieldPresence" - }, - "paragraph": { - "items": { - "$ref": "NlxDataSchemaParagraph" - }, - "type": "array" - }, - "paragraphBytesPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "paragraphCharactersPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "paragraphDocumentPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "paragraphPresence": { - "$ref": "MultiscaleLayerPresence" - }, - "paragraphSentencesPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "paragraphTextPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "paragraphTokensPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "sentence": { - "items": { - "$ref": "NlxDataSchemaSentence" - }, - "type": "array" - }, - "sentenceBytesPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "sentenceCharactersPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "sentenceDocumentPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "sentenceParagraphPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "sentencePresence": { - "$ref": "MultiscaleLayerPresence" - }, - "sentenceTextPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "sentenceTokensPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "token": { - "items": { - "$ref": "NlxDataSchemaToken" - }, - "type": "array" - }, - "tokenBytesPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "tokenCharactersPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "tokenDependencyHeadPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "tokenDependencyLabelPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "tokenDependencyPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "tokenDocumentPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "tokenParagraphPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "tokenPosPresence": { - "$ref": "MultiscaleFieldPresence" - }, - "tokenPresence": { - "$ref": "MultiscaleLayerPresence" - }, - "tokenSentencePresence": { - "$ref": "MultiscaleFieldPresence" - }, - "tokenTextPresence": { - "$ref": "MultiscaleFieldPresence" - } - }, - "type": "object" - }, - "NlxDataSchemaSentence": { - "description": "A single sentence or utterance.", - "id": "NlxDataSchemaSentence", - "properties": { - "bytes": { - "$ref": "MultiscalePointerSpan", - "description": "The bytes in this sentence." - }, - "characters": { - "$ref": "MultiscalePointerSpan", - "description": "The characters in this sentence." - }, - "document": { - "$ref": "MultiscalePointerIndex", - "description": "The document that contains this sentence." - }, - "paragraph": { - "$ref": "MultiscalePointerIndex", - "description": "The paragraph that contains this sentence." - }, - "text": { - "description": "The text of this sentence. Must contain valid UTF-8.", - "type": "string" - }, - "tokens": { - "$ref": "MultiscalePointerSpan", - "description": "The tokens in this sentence." - } - }, - "type": "object" - }, - "NlxDataSchemaToken": { - "description": "A word, punctuation mark, or other small piece of text.", - "id": "NlxDataSchemaToken", - "properties": { - "bytes": { - "$ref": "MultiscalePointerSpan", - "description": "The bytes in this token." - }, - "characters": { - "$ref": "MultiscalePointerSpan", - "description": "The characters in this token." - }, - "dependency": { - "$ref": "NlxDataSchemaTokenDependencyEdge", - "description": "DEPRECATED: PLEASE USE dependency_head AND dependency_label FIELDS. One edge of the dependency parse." - }, - "dependencyHead": { - "$ref": "MultiscalePointerIndex", - "description": "The head of this token. By default, the root of the sentence is its own head; it should also have deprel as 'root'." - }, - "dependencyLabel": { - "description": "Relation label for this dependency. Generally this should be using the Universal Dependencies label format, using fine-grained labels like nsubj:pass.", - "type": "string" - }, - "document": { - "$ref": "MultiscalePointerIndex", - "description": "The document that contains this token." - }, - "paragraph": { - "$ref": "MultiscalePointerIndex", - "description": "The paragraph that contains this token." - }, - "pos": { - "description": "Coarse part-of-speech tag.", - "type": "string" - }, - "sentence": { - "$ref": "MultiscalePointerIndex", - "description": "The sentence that contains this token." - }, - "text": { - "description": "The text of this token. Must contain valid UTF-8.", - "type": "string" - } - }, - "type": "object" - }, - "NlxDataSchemaTokenDependencyEdge": { - "deprecated": true, - "description": "DEPRECATED: PLEASE USE dependency_head AND dependency_label FIELDS. One edge of the dependency parse.", - "id": "NlxDataSchemaTokenDependencyEdge", - "properties": { - "deprel": { - "deprecated": true, - "description": "Relation label for this dependency. Generally this should be using the Universal Dependencies label format, using fine- grained labels like nsubj:pass.", - "type": "string" - }, - "head": { - "$ref": "MultiscalePointerIndex", - "deprecated": true, - "description": "The head of this token. By default, the root of the sentence is its own head; it should also have deprel as 'root'." - } - }, - "type": "object" - }, - "OceanDataDocinfoWoodwingItemMetadata": { - "description": "Metadata describing an 'item' (article) in a Woodwing file.", - "id": "OceanDataDocinfoWoodwingItemMetadata", - "properties": { - "author": { - "type": "string" - }, - "category": { - "type": "string" - }, - "description": { - "type": "string" - }, - "title": { - "type": "string" - } - }, - "type": "object" - }, - "OceanDocInfo": { - "description": "Ocean data in docserver results (whole documents)", - "id": "OceanDocInfo", - "properties": { - "docTag": { - "$ref": "OceanDocTag", - "description": "data returned with search docresults (snippets)" - } - }, - "type": "object" - }, - "OceanDocTag": { - "description": "============\u003e Next available number: 102 (ksridhara) \u003c================", - "id": "OceanDocTag", - "properties": { - "DEPRECATEDApplicationDate": { - "description": "this is in ONIX format.", - "type": "string" - }, - "DEPRECATEDIssueDate": { - "description": "this is in ONIX format.", - "type": "string" - }, - "DEPRECATEDPatentAssignee": { - "type": "string" - }, - "DEPRECATEDPatentNumber": { - "description": "patent-specific fields. ALL DEPRECATED, moved into PatentSpecific group, above.", - "type": "string" - }, - "DEPRECATEDPublisherPercentVisible": { - "description": "Percent rights granted by publisher. This should only be set, and definitely should only be considered, if source_type == BoundVolumeSource::PUBLISHER. '0' may mean we have no info on publisher rights so we have to just assume 0%. Deprecated as this is taken into account by viewability", - "format": "int32", - "type": "integer" - }, - "authors": { - "description": "TODO(leonid) Deprecate these Authors string for front end.", - "type": "string" - }, - "availableDownloads": { - "description": "A bitmap containing all available download formats (values defined in AvaialableDownloadFormats enum) NOTE: Only populated for Volume level docs", - "format": "int32", - "type": "integer" - }, - "blockSnippet": { - "type": "boolean" - }, - "bookspecific": { - "$ref": "OceanDocTagBookSpecific" - }, - "catalogspecific": { - "$ref": "OceanDocTagCatalogSpecific" - }, - "contentType": { - "description": "The content type of the document. See BoundVolumeSource::ContentType in ocean/data/volume_types.protodevel for possible values.", - "format": "int32", - "type": "integer" - }, - "contributor": { - "items": { - "$ref": "OceanDocTagContributor" - }, - "type": "array" - }, - "coverPage": { - "description": "cover page (PrintedAsSeen string), to generate results snippet thumbnail image urls", - "type": "string" - }, - "coverPageSize": { - "$ref": "OceanImageSize", - "description": "The size (in pixels) of the full-resolution clean images used for the cover page. The width and height will be zero if no image for that page." - }, - "editors": { - "description": "Editors string for front end.", - "type": "string" - }, - "encryptedExpressionId": { - "type": "string" - }, - "encryptedVolumeId": { - "type": "string" - }, - "geoRestrict": { - "description": "DEPRECATED! Being replaced in favor of viewability, below. geo restrict info (from OceanRights::geo_restrict) In CAv2: geo restrict info (from ocean::VolumeImprintRights::geo_restrict)", - "items": { - "type": "string" - }, - "type": "array" - }, - "goodTextDetail": { - "description": "Text quality as defined in CA_VolumeScoreResult::OACapabilities::TextQualityAssessment Note - This is only populated if good_text() and is_ge_quality() are true", - "format": "int32", - "type": "integer" - }, - "grantableLocale": { - "description": "List of locales for which this book can be bought from a publisher, and read as a Google eBook. Each locale is a lowercase, two-letter country-code (eg \"ca\"), and is copied from PublisherGrantability.Locale.locale, defined in ocean/data/docinfo/volume_viewability.proto.", - "items": { - "type": "string" - }, - "type": "array" - }, - "isGeQuality": { - "description": "Set to true if volume has ge quality", - "type": "boolean" - }, - "isLandingPage": { - "description": "whether this a landing page chosen at indexing time.", - "type": "boolean" - }, - "magazinespecific": { - "$ref": "OceanDocTagMagazineSpecific" - }, - "metadataCoverExists": { - "description": "metadata_cover_exists will be set if there's a metadata-provided cover thumbnail. the thumbnail will be used for scanless books or when a scanned book is in metadata-only view.", - "type": "boolean" - }, - "metadataCoverSize": { - "$ref": "OceanImageSize", - "description": "The size (in pixels) of the metadata cover image." - }, - "newspaperspecific": { - "$ref": "OceanDocTagNewspaperSpecific" - }, - "numPages": { - "description": "Number of pages in this volume (usually as specified in metadata)", - "format": "int32", - "type": "integer" - }, - "objectionableContentBitmap": { - "description": "A bitmap indicating whether content may be objectionable NOTE: Only populated for volume level docs", - "format": "int32", - "type": "integer" - }, - "pageNumber": { - "description": "page_number of the page (OceanTypes::PageNumberType) In CAv2: page_number of the page ocean::PageNumber::T", - "format": "int32", - "type": "integer" - }, - "pageid": { - "description": "pageid of the page (OceanTypes::PageIdType)", - "format": "int32", - "type": "integer" - }, - "pagerank": { - "description": "the page rank value of the book page", - "format": "double", - "type": "number" - }, - "patentspecific": { - "$ref": "OceanDocTagPatentSpecific" - }, - "price": { - "$ref": "OceanGEPrice", - "description": "Price information for a volume (per locale). Note existence of a price for a locale implies that the book is sellable for that locale." - }, - "printedPageNumber": { - "description": "printed page number (OceanPrintedPageNumber; from OceanPageInfoMap::Page::printed_page_number)", - "type": "string" - }, - "refPageUrl": { - "description": "the URL of the reference page (About this book)", - "type": "string" - }, - "searchInBookUrl": { - "description": "the URL for the \"search in book\"", - "type": "string" - }, - "segmentTime": { - "format": "int32", - "type": "integer" - }, - "sourceType": { - "description": "The source type of the document. See BoundVolumeSource::SourceType in ocean/data/volume_types.protodevel for possible values.", - "format": "int32", - "type": "integer" - }, - "structuredPageNumber": { - "description": "In CAv2 only: structured page number (printed number as we understand it) (result of ocean::StructuredPageNumberProto::AppendToString)", - "type": "string" - }, - "subTitle": { - "description": "Sub title string for front end", - "type": "string" - }, - "subjectBitmap": { - "description": "Bitmap indicating top-level subjects associated with this document. See ocean/metadata/subjects/util.h for more detail.", - "format": "byte", - "type": "string" - }, - "thumbnailUrl": { - "description": "the URL of the cover page.", - "type": "string" - }, - "title": { - "description": "Title string for front end.", - "type": "string" - }, - "urlKey": { - "description": "Bibkey to be used as part of the URL (to make them persistent in some sense). This is obtained by doing a GetURLKey() on the bibdata which returns the main bibkey associated with the volume based on priority. This is parseable into an OceanVolumeBibKey (ocean/metadata/bibkeys.h) Note: This should ideally be a required field longer term but for now keeping it optional for compatibility. In case of this being absent, we don't include the key in the URL (just use volumeId as before). Note: For content type books, this key is supplemented by other bibkeys for this volumes(the field is aux_bibkeys)", - "type": "string" - }, - "usingActualCover": { - "description": "using_actual_cover will be set if we are using the actual cover of the book (instead of the table of content, etc.). This is particularly useful to identify books where we inserted a generated cover via Coverups.", - "type": "boolean" - }, - "viewability": { - "$ref": "OceanVolumeViewability", - "description": "Volume viewability, which defines how/if the volume should be displayed in various locales." - }, - "volumeType": { - "format": "int32", - "type": "integer" - }, - "volumeVersion": { - "description": "The version of the volume (serialized form). ONLY populated for Volume level docs", - "type": "string" - }, - "workcluster": { - "$ref": "OceanDocTagWorkCluster" - } - }, - "type": "object" - }, - "OceanDocTagBookSpecific": { - "description": "Book specific fields. ", - "id": "OceanDocTagBookSpecific", - "properties": { - "auxBibkeys": { - "description": "These are other bibkeys for this book beside the url_key, which is the primary key. For example, a book may have ISBN, OCLC num etc. In that case ISBN is the url_key and the OCLC number is the auxillary bibkey. The aux_bibkeys should have the same form as the url_key", - "items": { - "type": "string" - }, - "type": "array" - }, - "imprint": { - "type": "string" - }, - "numRatingHalfStars": { - "format": "int32", - "type": "integer" - }, - "numberingrange": { - "items": { - "$ref": "OceanDocTagBookSpecificNumberingRange" - }, - "type": "array" - }, - "partnerId": { - "description": "publisher id, if available", - "format": "int64", - "type": "string" - }, - "productEditionNumber": { - "description": "Set if the book is one of several editions or versions. Used by OFE to show numbered editions. The value is copied from clustering information. See also ocean/metadata/proto/bibdata_components.proto The value there is from metadata records by ocean/metadata/parsing/parse_utils.cc, and is a 1-based value.", - "format": "int32", - "type": "integer" - }, - "publicationDate": { - "description": "In the format yyyy.mm.dd, or possibly just yyyy.", - "type": "string" - }, - "publisherName": { - "type": "string" - }, - "subject": { - "description": "Subject (from Bisac)", - "type": "string" - } - }, - "type": "object" - }, - "OceanDocTagBookSpecificNumberingRange": { - "description": "These are copies of MetadataNumberingRange's from ocean/metadata/metadata_range.proto. They should be used for rendering volume numbering information in search results (as this protobuf is the only piece of data available at that point). The numbering can look like \"Volume 1\" or \"Parts A-D\" Schema is volume/part/etc, type arabic number/roman number/letter/etc (these are both enums from ocean/metadata/metadata_enums.proto). In most cases there is only one numbering range (e.g. \"Volume 1, Issue 2\"), but in general the ranges may be disjoint (e.g. \"Volumes 2, 3 and 7\")", - "id": "OceanDocTagBookSpecificNumberingRange", - "properties": { - "endNumbering": { - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "numberType": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "numberingSchema": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "startNumbering": { - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "OceanDocTagCatalogSpecific": { - "description": "catalog-specific fields.", - "id": "OceanDocTagCatalogSpecific", - "properties": { - "latest": { - "description": "Is this the latest issue of this catalog series? This is required to filter results if the latest restrict is on.", - "type": "boolean" - }, - "publicationDate": { - "description": "time_t date corresponding to the catalog publication date. Approximate when the catalog does not have an exact \"date\" of publication, e.g. For \"Spring 2002\", year, month and day are 2002, 03 and 21, respectivley. This value is used to compare catalog issues to determine the latest. The value is stored in seconds-since-epoch, 1/1/1970. This is not a problem for catalogs because we are not dealing with any catalogs from before the 70's.", - "format": "int32", - "type": "integer" - }, - "publicationTimeToDisplay": { - "description": "String to be displayed as catalog publication time, e.g. \"Spring 2002\".", - "type": "string" - } - }, - "type": "object" - }, - "OceanDocTagContributor": { - "description": "The composite descriptor of the contributors that should be known to search and front end. Both fields are required. Replaces authors and editors strings.", - "id": "OceanDocTagContributor", - "properties": { - "name": { - "type": "string" - }, - "type": { - "description": "ContributionType enum from ocean/metadata/metadata_enums.proto Note that we pick only the \"highest-ranking\" contribution (i.e. writer and editor would collapse to \"writer\".", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "OceanDocTagMagazineSpecific": { - "description": "Magazine-specific fields. See https://www.corp.google.com/eng/designdocs/scanning/magazines/designdoc.html for magazine design doc.", - "id": "OceanDocTagMagazineSpecific", - "properties": { - "displayDate": { - "description": "A human-readable date for display in the UI. Unlike \"publication_date_\" above, this should not be parsed into structured data, but should only be displayed as is.", - "type": "string" - }, - "issueDescription": { - "description": "Description specific to a magazine issue, such as featured articles and article summaries.", - "type": "string" - }, - "issueEnd": { - "format": "int32", - "type": "integer" - }, - "issueStart": { - "format": "int32", - "type": "integer" - }, - "item": { - "description": "Items within a magazine issue.", - "items": { - "$ref": "OceanDataDocinfoWoodwingItemMetadata" - }, - "type": "array" - }, - "otherNumberingEnd": { - "format": "int32", - "type": "integer" - }, - "otherNumberingSchema": { - "description": "NOTE: These should to be values from MetadataNumberingSchema; when this becomes a proto2, we can use MetadataEnums values.", - "format": "int32", - "type": "integer" - }, - "otherNumberingStart": { - "description": "For season or quarter dates.", - "format": "int32", - "type": "integer" - }, - "pageToItem": { - "description": "For each page of a magazine, maps to the item index of \"item\".", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "publicationDateEnd": { - "type": "string" - }, - "publicationDateStart": { - "type": "string" - }, - "serialTitle": { - "description": "This is used to render the metadata line of the snippet and should be present in all magazine documents.", - "type": "string" - }, - "serialVolumeid": { - "format": "int64", - "type": "string" - }, - "volume": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "OceanDocTagNewspaperSpecific": { - "description": "Newspaper-specific fields.", - "id": "OceanDocTagNewspaperSpecific", - "properties": { - "articleRollCoords": { - "description": "Newspaper Article Roll Coordinates used to figure out the location of the article wrt the page. It is of the form x,y.", - "type": "string" - }, - "newspaperDate": { - "description": "Atlantis specific. Deprecated.", - "format": "double", - "type": "number" - }, - "newspaperName": { - "type": "string" - }, - "newspaperUrl": { - "description": "Atlantis specific. Deprecated.", - "type": "string" - }, - "publicationDate": { - "description": "These fields are only populated for Santorini (newspapers on goovols) formatted newspapers, not for Atlantis: YYYY.MM.DD format.", - "type": "string" - }, - "publisher": { - "description": "Atlantis specific. Deprecated.", - "type": "string" - } - }, - "type": "object" - }, - "OceanDocTagPatentSpecific": { - "description": "Patent specific fields. Currently empty, but need to move the fields below into here at a later date", - "id": "OceanDocTagPatentSpecific", - "properties": { - "applicationDate": { - "description": "this is in ONIX format.", - "type": "string" - }, - "contentLanguage": { - "description": "2-letter language of the document such as \"en\" or \"fr\" This field was created for plumbing in the OFE API intl patent flow, and is probably not otherwise filled in.", - "type": "string" - }, - "docType": { - "format": "int32", - "type": "integer" - }, - "documentNumber": { - "description": "Just the number, no bibkey prefix. Called 'doc number' b/c it could be patent number for patents, application number for applications.", - "type": "string" - }, - "domesticClassification": { - "description": "US and Int'l patent classification codes for \"related patents\".", - "items": { - "type": "string" - }, - "type": "array" - }, - "internationalClassification": { - "items": { - "type": "string" - }, - "type": "array" - }, - "issueDate": { - "description": "this is in ONIX format.", - "type": "string" - }, - "patentAssignee": { - "type": "string" - }, - "publicationNumber": { - "description": "For applications, the 'publication number' Something like US20071234567A1: 'US' prefix, 4 digit year, 7 digit serial number, 2 character code, all stuck together.", - "type": "string" - }, - "relativeThumbnailPath": { - "description": "Path identifying the image used for the thumbnail of this patent. e.g. \"EP1234567B1/imgf0001.png\" The client is expected to fill in the rest of the url such as: https://patentimages.storage.googleapis.com/thumbnails/EP1234567B1/imgf0001.png", - "type": "string" - }, - "tenCharUsClassification": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "OceanDocTagWorkCluster": { - "description": "Details of the work cluster for this Volume.", - "id": "OceanDocTagWorkCluster", - "properties": { - "clusterSize": { - "format": "int32", - "type": "integer" - }, - "workId": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "OceanGEMoney": { - "description": "A container proto to store prices for GE", - "id": "OceanGEMoney", - "properties": { - "amountInMicros": { - "description": "amount in micros. 1 is represented 1000000", - "format": "int64", - "type": "string" - }, - "currencyCode": { - "description": "The currency codes come from google3/i18n/identifiers/currencycode.h.", - "type": "string" - } - }, - "type": "object" - }, - "OceanGEPrice": { - "description": "GE sale related data", - "id": "OceanGEPrice", - "properties": { - "locale": { - "items": { - "$ref": "OceanGEPriceLocale" - }, - "type": "array" - } - }, - "type": "object" - }, - "OceanGEPriceLocale": { - "id": "OceanGEPriceLocale", - "properties": { - "locale": { - "description": "The two character ISO country code", - "type": "string" - }, - "offerPrice": { - "$ref": "OceanGEMoney", - "description": "Price used for sale by the OFE" - }, - "onSaleTimeSecs": { - "description": "The time (in secs from epoch) the content goes on sale (only set when the book is not already sellable at the time of indexing).", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "OceanImageSize": { - "description": "Size info of an image.", - "id": "OceanImageSize", - "properties": { - "height": { - "description": "pixels", - "format": "int32", - "type": "integer" - }, - "width": { - "description": "pixels", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "OceanLocaleViewability": { - "description": "How a volume may be viewed in a particular locale. Next available ID: 25 (ikkwong)", - "id": "OceanLocaleViewability", - "properties": { - "accessRights": { - "$ref": "OceanVolumeAccessRights", - "description": "These capture \"commercial\" contract related access rights provided by partners for a volume." - }, - "allowAddingFrontmatterToPreview": { - "description": "Are we allowed to add all the front matter to the preview in addition to the preview amount that is from percent_book_shown? This means the front matter becomes freely previewable and does not count towards the previewable amount based on the percentage.", - "type": "boolean" - }, - "allowContinuousBrowse": { - "description": "By default, we allow continuous browse. PFE provides a means for partners to opt out entirely or just specific books.", - "type": "boolean" - }, - "allowRetailSyndication": { - "description": "whether OFE should display this volume in syndicated search results", - "type": "boolean" - }, - "bibkey": { - "description": "The bibkey upon which this viewability information is based.", - "type": "string" - }, - "canDisplayAds": { - "description": "Whether we can show ads with this book in this locale.", - "type": "boolean" - }, - "canDownloadEpub": { - "description": "In future, we will generate epub iff can_download_epub = true irrespective of viewability or download pdf state.", - "type": "boolean" - }, - "canDownloadPdf": { - "description": "In future, we will generate PDF iff can_download_pdf = true irrespective of viewability.", - "type": "boolean" - }, - "canShowLibraryLinks": { - "description": "Whether to show library links for the books in this imprint.", - "type": "boolean" - }, - "canShowPhotos": { - "description": "Whether we can show photos for this book in this locale.", - "type": "boolean" - }, - "canUseMetadataCover": { - "description": "It should be OK to use metadata covers normally, but we allow publishers to explicitly disallow them.", - "type": "boolean" - }, - "clientId": { - "description": "The client who provided the rights for this bibkey, and who should receive revenue derived from this book in this locale. This will only be present when we receive explicit rights from a publisher.", - "type": "string" - }, - "computedAccessRights": { - "$ref": "OceanVolumeComputedAccessRights", - "description": "Volume related access rights that are computed by Goovols Syncher from partner and book metadata. This complements VolumeAccessRights. This message is used to capture \"commerical\" contracts that are computed from other sources. Any future computed rights that are not related to volume access should go into a new message." - }, - "dates": { - "$ref": "OceanLocaleViewabilityDates" - }, - "displayDetails": { - "$ref": "OceanVolumeDisplayDetails", - "description": "Volume display specific attributes are kept in display_details" - }, - "metadataViewMayIncludeInfoFromScans": { - "description": "This only applies when view_type == VIEW_METADATA and controls whether we're allowed to include scanned info (keywords, toc, etc). in the metadata-view. For books in metadata view because they have been opted out, this would be false.", - "type": "boolean" - }, - "metadataViewSampleAllowed": { - "description": "This only applies when view_type == VIEW_METADATA and controls whether we're allowed to include a text sample even for a metadata view book.", - "type": "boolean" - }, - "percentBookShown": { - "description": "How much of the book can be viewed in this locale. Will be 100 for VIEW_FULL; 0 for VIEW_SNIPPET_, VIEW_NONE and VIEW_METADATA; and some value between 0 and 100 (exclusive) for VIEW_PARTIAL.", - "format": "int32", - "type": "integer" - }, - "publicDomain": { - "description": "If present, this is the rights policy's determination of the public domain status. (Of course, this determination is generally conservative (i.e. false negatives are likely), though exactly how conservative may depend on parameters to the rights policy.) If absent, public domain status can be inferred from view_type and view_reason, but that isn't quite perfectly reliable: view_type should always be VIEW_FULL for public domain, but view_reason might be REASON_PUBLIC_DOMAIN (definitely public domain, obviously), some other value, or absent. In the future, new viewabilities should always have this field whenever possible.", - "type": "boolean" - }, - "sourcedetails": { - "$ref": "OceanLocaleViewabilitySourceDetails" - }, - "viewReason": { - "description": "The reason for the view_type.", - "enum": [ - "REASON_UNKNOWN", - "REASON_NO_SOURCE", - "REASON_KILLED", - "REASON_CONTENT_TYPE", - "REASON_SCANLESS", - "REASON_OPTED_OUT", - "REASON_QUALITY", - "REASON_INSUFFICIENT_PAGES", - "REASON_PARTNER", - "REASON_REFERENCE", - "REASON_COPYRIGHT", - "REASON_PUBLIC_DOMAIN", - "REASON_GOVERNMENT_DOCUMENT", - "REASON_NEW_COURTESY", - "REASON_LIBRARY_RESTRICT", - "REASON_INDEXING_OVERRIDE", - "REASON_UPLIFTED", - "REASON_OUTSTANDING_QUESTIONS", - "REASON_NO_VALID_SCANJOBS", - "REASON_OPEN_ACCESS_DEPRECATED" - ], - "enumDescriptions": [ - "", - "Don't know the source of the volume:", - "Volume was killed:", - "This content type always has this view_type:", - "", - "", - "Insufficient scan quality:", - "Insufficient number of image pages:", - "Partner-specified view:", - "Metadata view: copyrighted reference doc:", - "Snippet view: still under copyright:", - "Full view: public domain (unspecified reason):", - "Viewability was assigned because of the volume's status as a government document.", - "New book; metadata view as publisher courtesy:", - "Library partner doesn't allow snippets:", - "Overridden in indexing:", - "Copyright holder explicitly allowed this:", - "Human QA questions for the book have been queued but not answered:", - "", - "Deprecated. We keep these in case there still is production data that contains the value. Source is OPEN_ACCESS." - ], - "type": "string" - }, - "viewType": { - "description": "The viewability specified for this locale.", - "enum": [ - "VIEW_NONE", - "VIEW_METADATA", - "VIEW_SNIPPET", - "VIEW_FIXED", - "VIEW_PARTIAL", - "VIEW_FULL" - ], - "enumDescriptions": [ - "The user cannot view any information about the book.", - "The user cannot view pages at all, but can view metadata about the book.", - "The user cannot view entire pages, but only snippets extracted from pages.", - "The user can view only fixed pages from the book. The fixed pages generally contain first 10% for book content (chapter 1 in most cases). (ignore TOC, preface etc.) Keeping it in between snippet \u0026 partial", - "The user can view only some fraction of the pages from the book. The exact set of allowed pages is determined separately.", - "The user has unrestricted access to all pages of the book." - ], - "type": "string" - } - }, - "type": "object" - }, - "OceanLocaleViewabilityDates": { - "description": "Viewability related dates.", - "id": "OceanLocaleViewabilityDates", - "properties": { - "effectiveDate": { - "description": "If specified, the LocaleViewability will become effective on this date. This field is used to allow pre-indexing of future books which will become viewable and searchable according to the LocaleViewability on the specified date. Before the effective date, the volume will have scanless-like VIEW_METADATA viewability. For details, see the design document at http://go/oceanviewabilityeffectivedate. The date is expressed as the number of seconds since the Unix epoch.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "OceanLocaleViewabilitySourceDetails": { - "description": "How did we derive this viewability for this locale+volume? For \"partner\" books, this includes details about the \"Imprint\" that provided the rights. These details specify things such as preferred buy-the-book-url to show in the frontend.", - "id": "OceanLocaleViewabilitySourceDetails", - "properties": { - "imprint": { - "$ref": "OceanVolumeImprint" - } - }, - "type": "object" - }, - "OceanPerDocData": { - "description": "Per-doc data in the Ocean index. Ocean indexing details are in https://www/eng/designdocs/scanning/ocean-indexing.html", - "id": "OceanPerDocData", - "properties": { - "flags": { - "description": "rights, mask-availability, porn, etc.", - "format": "uint64", - "type": "string" - }, - "numPages": { - "format": "int32", - "type": "integer" - }, - "pageNumber": { - "description": "1-based", - "format": "int32", - "type": "integer" - }, - "pageid": { - "format": "int32", - "type": "integer" - }, - "volumeid": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "OceanVolumeAccessRights": { - "id": "OceanVolumeAccessRights", - "properties": { - "allowAutoGeneratedText": { - "description": "If false, then we can only provide text layer generated from publisher provided epub.", - "type": "boolean" - }, - "canShowInfoCards": { - "description": "Whether we can show info cards inside this book.", - "type": "boolean" - }, - "canShowPhotos": { - "description": "Whether we can show photos inside this book.", - "type": "boolean" - }, - "numAdeDeviceAllowed": { - "description": "Maximum number of Adobe Digital Editions device per sale item allowed. 0 means no download allowed. -1 means unlimited download.", - "format": "int32", - "type": "integer" - }, - "numAdobeIdAllowed": { - "description": "Maximum number of Adobe id per sale item allowed. 0 means no download allowed. -1 means unlimited download.", - "format": "int32", - "type": "integer" - }, - "numDownloadsAllowed": { - "description": "Max. number of Google eBooks downloads allowed. This is related to iPhone/iPad/Androrid/WebReader reading, not to epub/pdf downloads. 0 means no download allowed. This is related to bug #3094719.", - "format": "int32", - "type": "integer" - }, - "numSimultaneousAccess": { - "description": "Number of readers can read the Google eBooks simultaneously", - "format": "int32", - "type": "integer" - }, - "offlineDownload": { - "description": "Download type for offline reading", - "enum": [ - "NO_DOWNLOAD", - "DRM_FREE_DOWNLOAD", - "ACS4_DOWNLOAD" - ], - "enumDescriptions": [ - "The user cannot download any form of epub/pdf for offline reading. Some publishers like MacMillan does not want to allow ACS4 downloads, so iff the following bit is set then we don't allow any epub/pdf downloads for offline reading.", - "The user can download DRM free version of epub/pdf for offline reading.", - "The user can dlownload ACS4 encrypted epub/pdf for offline reading." - ], - "type": "string" - }, - "percentCopyable": { - "description": "How much of a volume we allow user to extract as text (for copy+paste)", - "format": "int32", - "type": "integer" - }, - "percentPrintable": { - "description": "How much of a volume we allow user to print", - "format": "int32", - "type": "integer" - }, - "restrictOnlyToText": { - "description": "True iff restrict view only to epub text. Don't show page images if this is true. Some pubs don't have copyright for page layout and fonts.", - "type": "boolean" - }, - "sellFixedLayoutAsImageOnly": { - "description": "Whether we sell fixed layout as image only.", - "type": "boolean" - }, - "textToSpeech": { - "description": "Whether text to speech is allowed", - "type": "boolean" - }, - "treatAsPublicDomain": { - "description": "Whether we treat this book as public domain.", - "type": "boolean" - } - }, - "type": "object" - }, - "OceanVolumeComputedAccessRights": { - "description": "Volume related access rights that are computed by Goovols Syncher from partner and book metadata. This complements VolumeAccessRights. Next available ID: 4 (kblass)", - "id": "OceanVolumeComputedAccessRights", - "properties": { - "canFamilyShare": { - "description": "Whether this book can be shared with family members.", - "type": "boolean" - }, - "panelizationFeatureInternalOnly": { - "description": "Whether the panelization feature is enabled for internal users only.", - "type": "boolean" - }, - "viewableInternalOnly": { - "description": "Whether the book is viewable for internal users only.", - "type": "boolean" - } - }, - "type": "object" - }, - "OceanVolumeDisplayDetails": { - "description": "This message describes display attributes. The attributes which are applicable to OFE not indexing (mustang), should be added in this proto.", - "id": "OceanVolumeDisplayDetails", - "properties": { - "ccLicense": { - "description": "The creative commons license specified, Please refer ocean.CreativeCommonsLicenseType.Type for enum values Not exposed in Partner Frontend anymore.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "OceanVolumeImprint": { - "description": "Commercial information for a volume (data from the Imprint PublishersVolumeInfo table in the db). An imprint is a subdivision of a publisher (for example, Bantam Books is an imprint of Randon House), or can even be just a grouping of volumes with common commercial attributes.", - "id": "OceanVolumeImprint", - "properties": { - "accessRights": { - "$ref": "OceanVolumeAccessRights", - "description": "These capture \"commercial\" contract related access rights provided by partners for a volume." - }, - "adsId": { - "description": "Id used in the google ads system", - "type": "string" - }, - "allowAddingFrontmatterToPreview": { - "description": "Are we allowed to add all the front matter to the preview in addition to the preview amount that is from percent_book_shown?", - "type": "boolean" - }, - "allowContinuousBrowse": { - "description": "By default, we allow continuous browse. PFE provides a means for partners to opt out entirely or just specific books. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.", - "type": "boolean" - }, - "allowRetailSyndication": { - "description": "By default, we allow retailer syndication. PFE provides a means for partner to opt out. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.", - "type": "boolean" - }, - "author": { - "description": "Beware: the author strings are not in fixed format..these can be comma separated or 'and' separated or have extra terms like 'et al' and sometimes have weird ones like 'no author' as these are fed in via a somewhat flexible free text tool.", - "type": "string" - }, - "bibkey": { - "description": "Commercial info comes with book identifiers like ISBN(or some bibkey), Title, Author. Passing these along as well with the commercials for better book identification/link up with rights.", - "type": "string" - }, - "buyTheBookText": { - "description": "Text to display in the buy-the-book blurb", - "type": "string" - }, - "buyTheBookUrl": { - "description": "ISBN/ISSN-parameterized URL to the imprint's site for buying a book. For ISBN-parameterized links, the ISBN value will be substituted in the cannonical 13-digit form.", - "type": "string" - }, - "canDownloadEpub": { - "description": "iff true volume is available as Google Edition. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.", - "type": "boolean" - }, - "canDownloadPdf": { - "description": "iff true and VIEW_TYPE=FULL_VIEW, then we will allow PDF download This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.", - "type": "boolean" - }, - "canShowLibraryLinks": { - "description": "Whether to show library links for the books in this imprint. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.", - "type": "boolean" - }, - "canUseMetadataCover": { - "description": "It should be OK to use metadata covers normally, but we allow publishers to explicitly disallow them. This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.", - "type": "boolean" - }, - "disableOtherBuyTheBookLinks": { - "description": "Whether to disable other btb links for the books in this imprint. Show only btb link from this partner and remove everything else.", - "type": "boolean" - }, - "displayDetails": { - "$ref": "OceanVolumeDisplayDetails", - "description": "Volume display specific attributes are kept in display_details This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability." - }, - "geBibkey": { - "description": "The ISBN supplied by publisher (or Google) for the Google Edition e-book. One day it should be an attribute of the tome cluster.", - "type": "string" - }, - "imprintId": { - "description": "The imprint id from the ocean devel db for this imprint.", - "format": "int64", - "type": "string" - }, - "imprintName": { - "type": "string" - }, - "imprintUrl": { - "description": "URL to the imprint's website, to go to upon a click on the logo", - "type": "string" - }, - "logoHeight": { - "format": "int32", - "type": "integer" - }, - "logoLocation": { - "description": "URL/location for the imprint's logo to display", - "type": "string" - }, - "logoWidth": { - "description": "The logo image's geometry", - "format": "int32", - "type": "integer" - }, - "percentBookShown": { - "description": "Percentage of book we are allowed to display This will be deprecated once UpdateVolumesReqHandler returns VolumeViewability.", - "format": "int32", - "type": "integer" - }, - "promotionalText": { - "type": "string" - }, - "promotionalUrl": { - "description": "We may allow imprints to run promotional campaigns. The following fields capture the blurb to display and the URL (ISBN-parameterized) link to provide.", - "type": "string" - }, - "publishedImprintName": { - "description": "Sometimes the Publisher/Imprint Name the book is published under is different from the current name and we may have this information.", - "type": "string" - }, - "pviRowid": { - "description": "Need a unique identifier for PFE records, using PVI ID", - "format": "int64", - "type": "string" - }, - "title": { - "type": "string" - }, - "useBibdata": { - "description": "Some records are deactivated, suppressed or excluded; we still want to hear about them, but we aren't going to be using their bibdata", - "type": "boolean" - }, - "verticalType": { - "enum": [ - "BOOK", - "JOURNAL", - "MAGAZINE", - "NEWSPAPER" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "OceanVolumeViewability": { - "id": "OceanVolumeViewability", - "properties": { - "DEPRECATEDDefaultViewType": { - "format": "int32", - "type": "integer" - }, - "defaultViewability": { - "$ref": "OceanLocaleViewability", - "description": "The viewability for any locale that is not explicitly listed." - }, - "inViewabilityLimbo": { - "deprecated": true, - "description": "DEPRECATED: Viewability-Limbo was a state that prevented indexing from running if the viewability of a volume had dropped significantly. It was removed during viewability refactoring: http://go/viewability", - "type": "boolean" - }, - "locale": { - "items": { - "$ref": "OceanVolumeViewabilityLocale" - }, - "type": "array" - }, - "updatedByIndexer": { - "description": "Whether the volume viewability was updated by the indexer as opposed to a direct update in goovols. The absense of this bit will indicate to the indexer that it should not short-circuit indexing side effects that should occur when viewability changes.", - "type": "boolean" - } - }, - "type": "object" - }, - "OceanVolumeViewabilityLocale": { - "id": "OceanVolumeViewabilityLocale", - "properties": { - "DEPRECATEDViewType": { - "format": "int32", - "type": "integer" - }, - "locale": { - "description": "The two-character ISO country code for the locale.", - "type": "string" - }, - "viewability": { - "$ref": "OceanLocaleViewability", - "description": "The viewability specified for this locale." - } - }, - "type": "object" - }, - "OcrPhotoBoundingBox": { - "description": "Bounding box of patch containing line, word or symbol.", - "id": "OcrPhotoBoundingBox", - "properties": { - "angle": { - "description": "Angle of rotation of (in degrees, clockwise is positive) of the box about the top-left corner.", - "format": "float", - "type": "number" - }, - "curvedBox": { - "$ref": "OcrPhotoCurvedBoundingBox", - "description": "Sequence of rotated boxes that tightly enclose the text." - }, - "height": { - "description": "Box height (bottom pixels at top + height - 1).", - "format": "int32", - "type": "integer" - }, - "left": { - "description": "x coordinate of top-left corner", - "format": "int32", - "type": "integer" - }, - "top": { - "description": "y coordinate of top-left corner", - "format": "int32", - "type": "integer" - }, - "width": { - "description": "Box width (rightmost pixels at left + width - 1).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "OcrPhotoCurve": { - "description": "Copy of ocr/goodoc/layout-common.proto:CurvedBoundingBox, temporary duplicated here to allow for on-device builds.", - "id": "OcrPhotoCurve", - "properties": { - "points": { - "description": "The sequence of points that approximate the curve.", - "items": { - "$ref": "OcrPhotoCurvePoint" - }, - "type": "array" - } - }, - "type": "object" - }, - "OcrPhotoCurvePoint": { - "id": "OcrPhotoCurvePoint", - "properties": { - "x": { - "format": "double", - "type": "number" - }, - "y": { - "description": "NOTE: if we wish to support perspective (varying thickness), later on we could extend this message with a thickness field. In that case, CurvedBoundingBox.thickness() would be used as a default if !Point.has_thickness().", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "OcrPhotoCurvedBoundingBox": { - "id": "OcrPhotoCurvedBoundingBox", - "properties": { - "midLineCurve": { - "$ref": "OcrPhotoCurve", - "description": "The curve of points along the middle of the text line." - }, - "thickness": { - "description": "If top_to_bottom is true, this is the width of the curved box. Otherwise, it is the height of the curved box.", - "format": "double", - "type": "number" - }, - "topToBottom": { - "description": "If true, the curve is interpreted as top to bottom of the line image. Otherwise, it is from left to right.", - "type": "boolean" - } - }, - "type": "object" - }, - "OcrPhotoTextBox": { - "description": "Text with bounding box.", - "id": "OcrPhotoTextBox", - "properties": { - "blockId": { - "description": "ID of the text block that this line belongs to.", - "format": "int32", - "type": "integer" - }, - "box": { - "$ref": "OcrPhotoBoundingBox", - "description": "Text bounding box." - }, - "contentType": { - "description": "Content type for this box.", - "enum": [ - "TEXT", - "HANDWRITTEN_TEXT", - "IMAGE", - "LINE_DRAWING", - "SEPARATOR", - "UNREADABLE_TEXT", - "FORMULA", - "HANDWRITTEN_FORMULA", - "NOT_ANNOTATED", - "SIGNATURE", - "DIAGRAM_2D", - "DIAGRAM_OTHER", - "ICON", - "UNKNOWN", - "CUSTOM" - ], - "enumDescriptions": [ - "printed text", - "", - "", - "", - "e.g. a dividing line", - "An entity that's recognizably text, but that can't be read. For example, this can be used for human-generated evaluation data where the human evaluator wasn't able to read the text, couldn't input it, or there was too much text to read.", - "Formula: a mathematical or chemical formula.", - "Same as FORMULA, but handwritten.", - "Signifies that we may not rely on annotations of this type in this region. For example, NOT_ANNOTATED paragraph means that we should ignore other entities within this region, allowing any engine results. Commonly known as 'DO NOT CARE'. See cl/244428520 for discussion.", - "Signature or intitals.", - "Simple diagram that consists of points, lines, etc. that the current Diagram parser can solve.", - "Complex diagram that can not be parsed yet.", - "An icon such as those in Google Material Icons (https://developers.google.com/fonts/docs/material_symbols) Currently not returned by OCR engine but may be used by the clients if needed.", - "Note that due to the fact that the default value is TEXT, parsing a ContentType with an unsupported value will result in TEXT, not UNKNOWN.", - "This entity has content of a user defined type, for example social security number or address. The recognizer_script_id field below may be used to communicate information to mutators about how to handle this entity. If some custom entities require more information for proper handling we can add an Any field." - ], - "type": "string" - }, - "symbolWidths": { - "description": "Optional width of characters in the text.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "text": { - "description": "Text string.", - "type": "string" - } - }, - "type": "object" - }, - "OfficialPagesOfficialKey": { - "description": "This proto is used as the key for official pages data. WARNING WARNING WARNING WARNING WARNING PAY ATTENTION HERE! The query field contains a specially NORMALIZED query, NOT a raw one. You can get a normalized query in several ways: 1. from an squery with NormalizedQueryFromSquery 2. from a CJK-segmented and punctuation-stripped query with NormalizeText (NOTE: navboost queries are already CJK-segmented and punctuation-stripped, you can just pass them to NormalizeText) 3. from user text/query with CanonicalizeText (this will do the CJK segmenting, punctuation stripping and character normalization for you) All of these functions are in ./utils/external-utils.h", - "id": "OfficialPagesOfficialKey", - "properties": { - "country": { - "type": "string" - }, - "language": { - "format": "int32", - "type": "integer" - }, - "query": { - "type": "string" - } - }, - "type": "object" - }, - "OfficialPagesQuerySet": { - "id": "OfficialPagesQuerySet", - "properties": { - "queries": { - "items": { - "$ref": "OfficialPagesOfficialKey" - }, - "type": "array" - }, - "queryCountryLanguageFingerprints": { - "description": "This is the fingerprint of the OfficialKey queries in the queries field. The index of a fingerprint in this field corresponds to the index of the fingerprinted query in the queries field. The fingerprint is produced with the QueryCountryLanguageFingerprint function in external-utils.h", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "OrionDocEntitiesProto": { - "id": "OrionDocEntitiesProto", - "properties": { - "docid": { - "format": "uint64", - "type": "string" - }, - "encodedEntity": { - "description": "This is encoded using EntityCandidate::Encode", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "PairwiseQScoringData": { - "id": "PairwiseQScoringData", - "properties": { - "confidenceValue": { - "format": "float", - "type": "number" - }, - "value": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "PairwiseQVersionedItem": { - "description": "Message representing a versioned PairwiseQ scores used for experimentation. This protobuf is copied from quality_nsr_pairwiseq::PairwiseQVersionedItem.", - "id": "PairwiseQVersionedItem", - "properties": { - "confidenceValue": { - "description": "The PairwiseQ confidence value corresponding to this version.", - "format": "float", - "type": "number" - }, - "value": { - "description": "The PairwiseQ value corresponding to this version.", - "format": "float", - "type": "number" - }, - "versionId": { - "description": "The version id.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "PeoplestackFlexorgsProtoInternalExternal": { - "id": "PeoplestackFlexorgsProtoInternalExternal", - "properties": { - "application": { - "description": "All evaluations are done within the context of a given application, e.g., \"Gmail\" and should not be reused in other apps.", - "enum": [ - "UNKNOWN_APPLICATION", - "GPLUS", - "GPLUS_WEB", - "GPLUS_ARES_FEATURE_PROVIDER", - "GPLUS_PHOTOS", - "GPLUS_HANGOUT", - "GPLUS_EVENTS", - "GPLUS_SQUARES", - "GPLUS_NOTIFICATIONS", - "GPLUS_GAMES", - "GPLUS_WHATS_HOT", - "GPLUS_LOCAL", - "GPLUS_PLUS_PAGES", - "GPLUS_PLUS_PAGES_RSS", - "GPLUS_PROFILE", - "GPLUS_FIND_PEOPLE", - "GPLUS_PHOTO_EDITOR", - "GPLUS_SOCIALCAST", - "GPLUS_INTERACTION_EVENTS", - "GPLUS_ENTITY_TRANSFER", - "GPLUS_LIS", - "GPLUS_DRAWBRIDGE", - "GPLUS_DASHER", - "GPLUS_DASHER_TAKEOUT", - "PAISA_MERCHANT_CONSOLE", - "GEO_DATA_UPLOAD_STAGING", - "GEO_DATA_UPLOAD", - "GOOGLE_PLAY_SERVICES", - "GOOGLE_SETTINGS", - "THIRD_PARTY", - "PICASA_PHOTOS", - "GMAIL_HANGOUT", - "FOUNTAIN", - "FOUNTAIN_YOUTUBE", - "YOUTUBE_LEGACY_COMMENT_MIGRATION", - "FOUNTAIN_YOUTUBE_DISCUSS", - "FOUNTAIN_YOUTUBE_MESSAGES", - "YOUTUBE_AUTOSHARES", - "FOUNTAIN_YOUTUBE_LEGACY_GDATA", - "YOUTUBE_CHOWN_PIPELINE", - "FOUNTAIN_YOUTUBE_ACTIVITY_LOG", - "FOUNTAIN_YOUTUBE_ADMIN", - "YOUTUBE_HELD_COMMENT_EXPIRY", - "ONEMARKET_CALENDAR", - "FOCUS_FRONTEND", - "URL_SHAREBOX", - "READER", - "GOOGLE_MAIL", - "PLUS_SHARE", - "YOUTUBE", - "CHECKIN", - "FRAMES", - "PHOTOS_CHROMEAPP", - "MOBILE_BASIC", - "GLASSWARE", - "GAMES", - "THIRD_PARTY_STREAM_EVERYWHERE_SINGLE_POST_WIDGET", - "PLAY_STORE", - "GMAIL_INBOX_POSTS", - "GMAIL_RECENT_POSTS", - "SIDECAR", - "GOOGLE_QUICK_SEARCH_BOX", - "WALLET", - "FRAMELESS_SHAREBOX", - "YOUTUBE_CAPTURE", - "YOUTUBE_WATCH_PAGE_SHARE", - "YOUTUBE_REACTR", - "YOUTUBE_MANGO", - "YOUTUBE_REACTR_TAKEOUT", - "YOUTUBE_COMMENTS_NOTIFICATION", - "YOUTUBE_COMMENTS_TIMED", - "YOUTUBE_COMMENTS_ENGAGEMENT_P13N", - "YOUTUBE_COMMENTS_LEGAL_TAKEOUT", - "YOUTUBE_COMMENTS_INDEXING", - "YOUTUBE_COMMENTS_NEWEST_FIRST", - "YOUTUBE_COMMENTS_BACKEND", - "YOUTUBE_SUBSCRIPTIONS_FEEDS", - "YOUTUBE_COMMENT_API", - "GHUB_COMMENTS", - "GOOGLE_KEEP", - "VEGA", - "SOCIAL_REVIEWS", - "PLAY_MOVIES", - "GMAIL", - "GMAIL_GO", - "HELPOUTS", - "MAPS", - "MAPS_ENGINE_MOBILE", - "CALENDAR", - "PLAY_NEWSSTAND", - "FITNESS", - "WEAR_HEALTH", - "WEAR_HEALTH_PROVISIONING", - "PLAY_BOOKS", - "INSTORE", - "PLAY_MUSIC", - "GOOGLE_CHROME", - "LOCATION_FLARE", - "NEWS_WEATHER", - "PROMOTED_POSTS", - "CLOUD_PRINT", - "CLOUD_DEVICES", - "CPANEL", - "DRIVE", - "CLASSROOM", - "STORIES", - "GOOGLE_ANALYTICS", - "LOCATION_SAMPLE", - "BIGTOP", - "GOOGLE_CAST", - "AUTHZEN", - "PARENTS", - "SEARCH", - "NEWS", - "DOCS", - "PHOTOS", - "PHOTOS_TAKEOUT", - "PHOTOS_ABUSE", - "SIMBA_MOBILE", - "GOOGLE_JOBS", - "CLOUD_PLATFORM", - "CLOUD_PLATFORM_WEB", - "FIREFOX_BROWSER", - "MOVIEMAKER", - "MOVIEMAKER_PHOTOS", - "GOOGLE_STARS", - "SNAPSEED", - "BLOGGER", - "DEVICE_POLICY", - "DOUBLECLICK_CREATIVE_PREVIEW", - "UNICORN", - "ADWORDS_MOBILE", - "FAMILY_COMPASS", - "AUTH_GRANT_CREDENTIAL", - "HALLWAY", - "FAMILY_CAMERA", - "ENDER", - "MAPS_VIEWS", - "TABLESCAPE", - "TOPAZ", - "FIBER", - "ATARI", - "RIDEMATCH", - "GMONEY", - "GOOGLE_EXPRESS", - "CONSUMER_PHOTO_EDITOR", - "JETSTREAM", - "SOCIAL_SERENDIPITY", - "ONE_TODAY", - "PROFILES", - "SOCIAL_POLLS", - "SPACES", - "ADWORDS_EXPRESS", - "IDENTITY", - "IDENTITY_FRONTEND_VISUAL_ELEMENTS", - "YOUTUBE_BACKSTAGE", - "YOUTUBE_BACKSTAGE_ADMIN", - "YOUTUBE_UNPLUGGED", - "YOUTUBE_MUSIC", - "HUB", - "ANDROID_EDU_PROVISIONING", - "ANDROID_WEAR", - "CHROMECAST", - "ONTHEGO", - "ADSENSE", - "PROJECT_FI", - "JAM", - "HUDDLE", - "CAR_APP", - "TAILORMADE", - "ACTIVITY_LOG", - "SPACES_ACTIVITY_LOG", - "PHOTOS_ACTIVITY_LOG", - "MEMEGEN", - "SOCIETY", - "SOCIETY_CHAT", - "HIGHLIGHT", - "YOUTUBE_LIVE", - "YOUTUBE_LIVE_ACTIVITY_LOG", - "YOUTUBE_LIVE_TAKEOUT", - "CARDBOARD_CAMERA", - "PLAY_DEVELOPER_CONSOLE", - "MIXX", - "CHROME_REMOTE_DESKTOP", - "HOT_LANE", - "CONTACTS", - "CONTACTSHEET", - "HOVERCARD", - "DORY", - "SPECTRUM", - "DYNAMITE", - "DASHER_USER_HUB", - "CULTURAL", - "BOOND", - "EXPEDITIONS", - "PHOTO_ALBUM_ARCHIVE", - "GAMMAGO", - "FIREBALL", - "SUPPLY_CHAIN_CENTRAL", - "PAISA", - "SANDCLOCK", - "ACCOUNT_SETTINGS_MOBILE", - "GOOGLE_VOICE", - "WING_MARKETPLACE", - "CHIME", - "LIFESCIENCE_FRONTENDS", - "WYLO_TODAY", - "NAKSHA_CONSUMER", - "ENTERPRISE_ENROLLMENT", - "IMPROV", - "TRANSLATE", - "SOCIAL_ENGAGE", - "CORPCAM", - "ANDROID_CONTACTS", - "CURATOR", - "TRAVEL_BOOKING", - "SOCIAL_DISCOVERY", - "GPOST", - "PAIDTASKS", - "PRIMER", - "LOCAL_DISCOVERY", - "BASELINE", - "QUARTZ", - "DPANEL", - "TRIPS", - "HOME_SERVICES", - "SOCIALGOOD", - "LOUPE", - "UGC_LIVE_COMMENTS", - "FAMILY_LINK", - "G3DOC", - "MOMA", - "DASHER_ADMIN_CONSOLE", - "DASHER_COMMERCE_CONSOLE", - "TRAVEL_VACATIONS", - "TRENDS", - "TASKS", - "VIMES", - "SECURITY_EVENT_MANAGER", - "VR_EVA", - "MINDSEARCH", - "MINDSEARCH_ADMIN", - "ANDROID_AUTO", - "CLOUDCAST_TEXTCHAT", - "APPS_ASSISTANT_OVERLAY", - "SEARCH_CONSOLE", - "CHROME_WEB_STORE", - "SAVE", - "FOOD_ORDERING", - "SOCIAL_RECOVERY", - "ANDROID_ONBOARD_WEB", - "WEAR_HOME", - "FACT_CHECK_EXPLORER", - "ALLO", - "FAMILY_LINK_HELPER", - "PROXY_GAL_PROVIDER", - "ONEGOOGLE", - "ONEGOOGLE_ASYNC", - "WICKED", - "SHEETS", - "SLIDES", - "ASSISTANT_EXPLORE_WEB", - "ASSISTANT_SETTINGS_WEB_UI", - "ANDROID_DIALER", - "KLOPFKLOPF", - "LAGEPLAN", - "SCIENCE_JOURNAL", - "HIRE", - "ZANDRIA", - "DASHER_RESELLER_FRONTEND", - "ZOOMSIGHTS", - "UGC_LIVE_COMMENTS_TAKEOUT", - "GUARDIAN", - "GUARDIAN_CORP", - "GOOGLE_MY_BUSINESS", - "PRESTO_ALP", - "PRESTO_FE", - "KIDS_HOME", - "OPA", - "SUBSCRIBEWITHGOOGLE_CLIENT", - "REVEAL", - "ANDROID_NATIVE_ONBOARDING", - "AMP_ACTIONS", - "SPOT", - "MEDICAL_SCRIBE", - "MEDICAL_SCRIBE_TASKING", - "DASHER_RULES_FRONTEND", - "ANDROID_TV_LAUNCHERX", - "ANDROID_TV_SETUP_WIZARD", - "SOS_LIVE_COMMENTS", - "GMAIL_LOCKER_UI", - "POLYGLOT", - "PLX", - "GROUPS_UI", - "MSV", - "WOLVERINE", - "MIC", - "FORMS", - "ARCORE", - "ANDROID_EMERGENCY", - "LENSLET", - "MEDICAL_LABELING", - "G_SUITE_ADD_ONS", - "LOCATION_HISTORY_CONSENT_ANDROID_LIBRARY", - "PAYMENTS_WEB_5", - "APPS_PLATFORM_CONSOLE", - "INTROSPECT", - "NGA", - "SUPPLY_CHAIN_HW_CHP2", - "DUC_COMPANION", - "AUTOMON", - "TV_LIVE_COMMENTS", - "GUP_PEEPS", - "FOCUS_SYNC_ADAPTER_V1", - "NOVA", - "NOVA_STAGING", - "DASHER_DATA_CLASSIFICATION_FRONTEND", - "GOOGLE_ADMIN", - "MESSAGE_PROCESSOR", - "EMAIL_PROCESSOR", - "ENGAGE_PIPELINE", - "AUTO_DOC_PROBER", - "DOC_PROBER", - "FRAMES_DELETE_SYNC", - "EMBEDS_MIGRATION", - "SOCIAL_REVIEWS_SYNC", - "GUNS", - "POSTBOX_ONEOFF", - "PLUS_API_ONEOFF", - "STANZA_ACTIVITY_POST_DELETE_SYNC", - "GRAPH_PROBER", - "STANZA_PERIODIC", - "MADISON_PERIODIC", - "PAPYRUS_PERIODIC", - "PHOTOS_BACKEND", - "REDBOX_BACKEND", - "PHOTOS_FIFE", - "ABUSEIAM", - "ARES", - "STREAM_INDEXING", - "STANZA_INDEXING", - "STANZA", - "STANZA_MOONSHINE_INDEXING", - "STREAM_ACTIONS", - "STREAM_CONFIG", - "STREAM_SERVICE", - "STREAM_DELETE", - "KWYJIBO", - "STANZA_TEST", - "TEST_APPLICATION", - "SOCIAL_ANNOTATION_SERVICE", - "ANNOTATION_SERVICE_STANZA_LISTENER", - "SBE_PLAYGROUND", - "EXPO", - "ANDROID_VR_HOME", - "YOUTUBE_BLARNEY_STONE", - "SOCIAL_EVENTS", - "EMERGENCY_ASSIST", - "ADS_INTEGRITY_ENFORCER", - "ADS_INTEGRITY_ENFORCEMENT_MANAGER", - "ADS_INTEGRITY_EXPLORER", - "ADS_INTEGRITY_REVIEWER", - "GPLUS_COLLEXION_PIPELINE", - "GPLUS_OFFLINE", - "PAPYRUS", - "YOUTUBE_ADMIN", - "YOUTUBE_ADMIN_REVIEW_QUEUE_PACING", - "YOUTUBE_TNS_VERTICAL_MANAGER", - "YOUTUBE_DECIDER", - "YOUTUBE_TNS_ACTION", - "YOUTUBE_EXTERNAL_LINKS", - "FOCUS_BACKEND_BATCH", - "TEAMSPACES", - "ASSISTANT_OPA", - "TRASNLATION_MEMORY_MANAGER", - "THREADIT", - "RESOURCE_SYMPHONY", - "L10N_INFRA_SHARED", - "WORK_TRACKER", - "ARIANE", - "COLAB_INTERNAL", - "COLAB_EXTERNAL", - "TALENT_GROW", - "ROCKET_LABS", - "MY_GOOGLE_FAMILIES", - "DATA_STUDIO", - "LEGAL_CONTRACTS", - "BRIEF", - "HARDWARE_MFG_DATA_VENUS", - "BETTERBUG", - "DCMS", - "PLAY_BOOKS_PUBENG", - "YAQS", - "PROSPER", - "CAMPAIGN_AUTOMATION_TOOL", - "HIRING", - "DATACENTER_SOFTWARE", - "MARKETING_WORKFLOWS", - "YOUTUBE_PARENT_TOOLS", - "RELIABILITY_INSIGHTS_PST", - "CUSTOMER_CARE_PORTAL", - "FUSION", - "PRODUCTION2020_UIE", - "SPEAKEASY", - "GPAY_RELEASE_OPS", - "SKILLSSTACK", - "WHOSTORY", - "BETTANY", - "BASECAMP", - "CULTURE_EVENTS_CALENDAR", - "DATABRIDGE_CONSOLE", - "COMMSTAR", - "CDDB", - "MONOSPACE", - "MY_ACCOUNT", - "NUDGEIT_CAMPAIGN_MANAGER", - "DECS", - "GSOX_MOCHI", - "PMW_TI", - "ACCESSIBILITY_TRACKER", - "DUCKIEWEB", - "MATTERSPACE", - "WAYMO_TRIAGE_TOOLING", - "TWENTYPERCENT_JOBPOSTINGS", - "ENGAGEMENTS", - "CLOUDCONNECT", - "PERSONAL_AGENT", - "MOBILE_HARNESS", - "LOOKER_STUDIO_PRO", - "SUPPORT_CLASSIFICATION_UI", - "NOTEBOOKLM", - "ZOMBIE_CLOUD", - "RELATIONSHIPS", - "APPS_WORKFLOW", - "FLEETSCOPE", - "CLOUD_SALES_GCLM", - "TS_TOOL_INTAKE", - "GENESIS_IOS", - "BANKROLL_PROD", - "GEO_DATA_PORTAL", - "DEPRECATED_QUICKSTART_FLUME", - "DUO_CLIENT", - "ALBERT", - "PEOPLE_PLAYGROUND", - "GPLUS_POST_RECOMMENDER", - "IMAGES", - "GOOGLE_STORE", - "GCONNECT_MUSTARD", - "MADDEN", - "MOBDOG", - "GBOARD", - "RECORDER", - "UNMAPPED_LEGACY_GPLUS_SOURCE", - "PODIUM", - "GSA_FUSE", - "HONEYPHISH", - "SOCIAL_ANNOTATION_SERVICE_BACKFILL", - "CONTACT_HR", - "PAISA_WANDER", - "NEXTGENRETAIL_SELF_ORDER", - "FIND_MY_DEVICE", - "UNSET_APPLICATION", - "UNKNOWN_FIRST_PARTY_APPLICATION", - "WABEL", - "VIDEO_HANGOUT", - "VIDEO_HANGOUT_LITE", - "VIDEO_HANGOUT_GVC", - "VIDEO_HANGOUT_PRESENT", - "VIDEO_HANGOUT_HOA", - "VIDEO_HANGOUT_TEE", - "VIDEO_HANGOUT_SDK", - "VIDEO_HANGOUT_ENVOY", - "BABEL", - "BABEL_NOVA", - "WABEL_MEDIACALL", - "HANGOUT_START_PAGE", - "EXPRESS_LANE", - "MEETINGS_ANDROID", - "EXPRESS_LANE_BOQ", - "RTC_FLEET_MGMT", - "STAX", - "RIGEL", - "PHOTOS_SCANNER", - "PHOTOS_LIBRARY_API", - "PHOTOS_PARTNER_API", - "VAULT", - "PROF", - "TOTAL", - "TOTAL_ZERO_PARTY", - "TOTAL_FIRST_PARTY", - "TOTAL_THIRD_PARTY", - "TOTAL_INTERNAL", - "TOTAL_UNKNOWN", - "TOTAL_MINUS_YOUTUBE", - "TOTAL_FIRST_PARTY_WITH_PRIMARY_INTENT_TO_SHARE_TO_GPLUS", - "TOTAL_FIRST_PARTY_WITH_SECONDARY_INTENT_TO_SHARE_TO_GPLUS", - "TOTAL_GPLUS", - "TOTAL_SOCIAL_APPS", - "CROWD_COMPUTE", - "KHAZANA", - "LIGHTER_GMM", - "LIGHTER_GMB", - "MYACTIVITY", - "BLOG_COMPASS", - "CONCORD", - "NAVSTAR", - "SETTINGS_INTELLIGENCE", - "TOPAZ_TEAMS", - "DEPRECATED_GEMAGENT", - "DUMBLEDORE", - "GOOGLE_ONE", - "NBU_GCONNECT_KIMCHI", - "FASTDASH", - "AQUARIUS_LAPIS", - "DASHER_REPORTING", - "GCONNECT_PICARD", - "GOOGLE_JACQUARD", - "GOOGLE_GO", - "BUGANIZER", - "DOCOS_MENTIONS", - "TRIX_WAFFLE", - "SHARE_SERVICE", - "ANDROID_SAFETY", - "CLOUDCAST_TEXTCHAT_TAKEOUT", - "ASSISTANT_GO", - "FLOURISH", - "ALECS", - "NANDHI", - "GOOGLE_RECORDER", - "CONTACT_STORE", - "PROFILE_CARD", - "ESPRESSO", - "PEOPLE_COMPANION", - "PHOTOS_GO", - "YETI", - "BLOOM", - "FIELD_OFFICER", - "URBAN_MOBILITY", - "FAMILYCARE", - "INTUITIVE_PLATFORM", - "NBU_CRICKET_WORLD_CUP", - "INTEGRATION_PLATFORM", - "CROS_SCALING_STAGING", - "CROS_SCALING_PROD", - "ASSISTANT_PROACTIVE_SUGGESTIONS", - "PRIVACY_ONE", - "PAISA_MERCHANT", - "ASSISTJS", - "TRAVEL_HOTELIER", - "PHOTOS_KINDYGRAM", - "ANDROID_MESSAGES", - "TRAVEL_HOTEL_EDITOR", - "VISTAAR", - "VISTAAR_DEV", - "GSUITE_GROWTH", - "ELDAR", - "GMB_ANDROID", - "SHOPPING_LIST", - "EARTH", - "PAISA_CREDIT_INSTANT_LOAN", - "ASSISTANT_GO_WEB", - "SHOWTIME_EVENTS", - "KONARK", - "EXO_REFSERVER", - "MONITORING_PLATFORM", - "AUTOCAP", - "PAYMENTS_ORCHESTRATION", - "GMB_IOS", - "ASSISTANT_KAIOS", - "ADMOB_MOBILE", - "SCREENERS", - "MILTON", - "GHIRE", - "TRANSLATE_COMMUNITY_UI", - "ROAD_MAPPER", - "NEST", - "ROLLOUTS_UI", - "SHOPPING_PROPERTY", - "SHOPPING_PROPERTY_NONPROD", - "PAYMENTS_MERCHANT_VERTICALS_GAS", - "PAISA_MOVIES", - "HUB_CALL", - "WAYMO_SIMULATION_RESULTS", - "GSUITE_WORKFLOWS", - "FINANCE_WORKFLOWS", - "PAYMENTS_MERCHANT_VERTICALS_PARKING_UI", - "TRAVEL", - "GABBLE", - "APPS_EDU", - "MYFI", - "CHOMCHOM", - "ASSISTANT_TOOLCHAIN", - "YOUTUBE_ANSIBLE", - "YOUTUBE_CI_KAPLA", - "GANTRY", - "PAYMENTS_MERCHANT_CONSOLE", - "SPLINTER", - "KINTARO", - "MDM_ADMIN_CONSOLE", - "PAYMENTS_CONSUMER_CORE", - "INCIDENT_MANAGEMENT", - "ONEGOOGLE_MOBILE", - "ANURA", - "FINANCE_FGC", - "PODCASTS_MANAGER", - "FILES", - "YOUTUBE_POST_API", - "GSUITE_HUB", - "TV_LAUNCHER", - "PAIDTASKS_FRONTEND", - "ONE_REVIEWER_TOOL", - "MEET_QUALITY_TOOL", - "TRAVEL_PLANNING", - "MEET", - "PAISA_FOOD", - "TINYTASK_TASKER", - "FIELDOFFICER", - "LENS_WEB", - "HERALD", - "PAISA_MICROAPPS_WEB", - "BUG_OBSERVER", - "ATLAS", - "DHARMA", - "SNIPIT", - "PREMIUM_ASSISTANT", - "ONEREVIEWERTOOL", - "CORONADO", - "SYSTEM1", - "PUMICE", - "BACKLIGHT", - "GLOSSARY_MANAGER", - "UPGRADEPARTY", - "ONEDEV_WORKFLOW", - "AVALANCHE", - "KORMO_SEEKER", - "ASSISTANT_PROFILE_YOURPEOPLE", - "SMART_DISPLAY_WEB", - "DESKBOOKING", - "PAYMENTS_MERCHANT_VERTICALS_FOOD", - "VALUABLES_MERCHANT_CENTER", - "OFFSEC", - "SCHEDULE", - "PAISA_SOCIAL_CAMPAIGNS", - "WORDFLOW", - "HEALTH_PLANFORCARE", - "DEEPMIND_ALPHASCHEDULE", - "HOOLICHAT_UI", - "YOUTUBE_CREATOR_STUDIO", - "BRICKS", - "PAYMENTS_MERCHANT_DATA_BUSINESS_INSIGHT", - "RECALL", - "NEST_GREENENERGY", - "FRAP", - "PAYMENTS_MERCHANT_VERTICALS_GROCERY", - "REVIEWS_WIDGET_API", - "INCIDENTFLOW", - "AREA120_PROMODAY", - "PINPOINT", - "TRANSCONSOLE", - "MARKETPLACE", - "SPORK", - "DASHER_SUSTAINABILITY" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Cannot just use UNKNOWN because enum values use C++ scoping rules. Therefore, \"UNKNOWN\" must be unique within \"apps.people.logs.proto\".", - "G+ application Generic app that represents all G+ applications that don't have specific app below. Because of this, this value does NOT represent all G+ applications in analytics data: Clients interested in analytics data for all G+ applications (for example, both GPLUS and GPLUS_WEB), should generally use the synthetic values defined later in this enum, like TOTAL_GPLUS. Replacement for \"s:oz\".", - "G+ web application (codename Tau: go/tauplus) App that represents all G+ traffic coming from boq web. This is meant to replace the application id GPLUS for web traffic when Oz is completely deprectaed.", - "Feature provider for go/ares", - "Photos app within G+ such as lighthouse. Replacement for \"s:lh2\".", - "Hangout app within G+ Replacement for \"s:talk\" that is used for hangout requests.", - "Events app within G+. Replacement for \"s:events\".", - "Squares(community) app within G+. Replacement for \"s:squares\".", - "Notifications app within G+. Replacement for \"s:notifications\".", - "Games activities. Replacement for \"s:gadgets:*\" (source_id).", - "Explore app within G+.", - "Local app within G+.", - "+Pages app within G+.", - "RSS to +Page syndicator.", - "Profile app within G+.", - "Find People app within G+.", - "Edit photos within Photos within G+, see also http://go/snapseed", - "G+ consumption stream integration with Chromecast. see also http://go/+socialcast", - "G+ For Work Interaction Event Sync. go/kerr-prd and go/gplus_interaction_event_sync.", - "G+ Entity Transfer. See go/gplus-entity-transfer-design.", - "G+ LIS. See b/77638423.", - "G+ Drawbridge. See go/drawbridge-dd.", - "Currents (G+ for Enterprise) App An alternative to GPLUS that indicates this is in a build for Currents.", - "Domain Wide Takeout (go/dwt-d3doc) for Currents/G+. See go/g+-takeout-filters. Note that GPLUS_DASHER_TAKEOUT is G+ and Currents agnostic, even though GPLUS_DASHER refers to Currents only.", - "Paisa Merchant Console http://go/paisa Team contact: paisa-merchant-eng-blr@google.com", - "GEO_DATA_UPLOADS is an internal-use-only staging corpus for geo_data_upload (above). See go/gdu-design-1.2", - "GEO_DATA_UPLOADS consists of discussions between 3rd parties and Google about uploaded data. See go/gdu-design-1.2", - "Google Play services, used when doing background tasks like log posting and background sync that aren't initiated by any external app.", - "Google Settings app.", - "Third party clients who use apiary to work with G+. Replacement for \"s:chili\".", - "External First party. Picasa photos app.", - "The G+ widget served off Oz and rendered in gmail for hangout integration. Replacement for \"s:oz:gadget-gmail\".", - "The G+ widget served off Oz and rendered in any page EXCEPT Youtube. Replacement for \"s:fountain\".", - "The comment widget served off youtube video page. Replacement for \"s:fountain:youtube\".", - "Legacy youtube video watch page comments. See go/stollen for details.", - "The G+ widget served off Oz and rendered in youtube channel discuss page. It's the \"DISTILLER\" project. Replacement for \"s:fountain:youtube:channel\".", - "YouTube private messages built on top of distiller comments. Replacement for \"s:fountain:youtube:private\".", - "Public posts generated automatically if a YT user who has been merged with their G+ account uploads a public video. Replacement for request_header.application_id=\"s:oz\" and mutate_data.activity.stream_id.source_id= \"a:ext:client.sharebox.261207059221.", - "Used for comment writes sent to the legacy YouTube GData API by clients that have not switched to the G+ commenting API.", - "Used for the Youtube channel ownership pipeline. Replacement for \"s:youtube:distiller\". go/youtube-chown-pipeline", - "Used for youtube's comment history page.", - "Used for youtube comments admin pages.", - "Used for comment expiry. go/ytc-studio-held-comment-expiry", - "Onemarket Calendar Team contact: omc-team@google.com", - "Focus Frontend which is serving G+ profile. Replacement for \"s:focus\".", - "URL sharebox served off Oz on /share and rendered in 1P/3P, on both desktop \u0026 mobile. For mobile sharebox, this app id is set in //java/com/google/apps/people/oz/sharebox/client/mobile/shell.js", - "Google Reader. Replacement for \"s:reader\".", - "Google Email. Replacement for \"s:google_mail\".", - "Plusone Application. Replace for \"s:plusshare\".", - "Connection with G+ through YouTube. e.g. YT mobile native apps.", - "Checkin within G+. Replacement for \"s:friendview:checkin\" (source_id).", - "Oz Frames. Replacement for \"s:frames\".", - "Pulsar native app.", - "Mobile basic traffic for clients hitting \"plus.google.com/app/basic\".", - "The Google Glass Mirror API: https://developers.google.com/glass/. Replacement for \"s:glass\".", - "Play Games related clients. (e.g. Games destination app.)", - "Embeddable widgets, part of Stream Everywhere project. http://go/streameverywheredesign", - "Google Play Store.", - "Interactive email notifications in Gmail.", - "Right hand side widget in Gmail.", - "Third party \"sidecar\" widgets. http://go/embeddedstreamsdesign DEPRECATED, DO NOT USE.", - "Google Quick Search Box. https://sites.google.com/a/google.com/android-qsb.", - "Google Wallet (Android and iOS clients).", - "Sharebox that is populated via URL params, suitable for use in a popup. This sharebox is accessible to 3p, although in practice it is mostly used by 1p. https://sites.google.com/a/google.com/es-sharing/", - "YouTube Capture (iOS client). http://go/kubrik", - "Posts generated from the share window launched by share menu on the YouTube watch page. yt-social-dev@", - "Youtube Real-time group chat, also known as 'Reactr'. http://go/reactr Team contact: reactr-dev@google.com.", - "YouTube Go - android app for the next billion users. http://go/ytgo Team contact: mango-eng@google.com", - "YouTube Reactr Takeout. See b/69636706 http://go/reactr Team contact: reactr-dev@google.com.", - "Youtube Comments go/ytcci Team contact: yt-comments-team@google.com", - "Youtube Comments: Timed Comments go/ytcci Team contact: yt-comments-team@google.com", - "Youtube Comments: Engagements go/ytcci Team contact: yt-comments-team@google.com", - "Youtube Comments: Comments legal takeout go/ytcci Team contact: yt-comments-team@google.com", - "Youtube Comments: Top comments indexing go/ytcci Team contact: yt-comments-team@google.com", - "Youtube Comments: Newest First. go/ytcci Team contact: yt-comments-team@google.com", - "Youtube Comments: Comments Backend. go/ytcci Team contact: yt-comments-team@google.com", - "Youtube Comments: Subscription notifications go/ytn-inbox-comment-decoration Team contact: yt-notifications@google.com", - "YouTube Comment API go/yt-comment-api Team contact: yt-comment-api-eng@google.com", - "Comments for gHub Finance. Team contact: introspect-eng@google.com", - "Google Keep. https://sites.google.com/a/google.com/keep/", - "Vega / Google+ for Business (Android and iOS clients). http://go/vega", - "Reviews (Local and others) sr-eng@", - "Google Play Movies \u0026 TV, Android app. Team contact: videosapp-android@google.com.", - "Gmail", - "Hub as Gmail Go", - "Google Helpouts http://go/tee-team", - "Google Maps Mobile: http://go/gmm Desktop: http://go/tactile", - "Google Maps Engine Mobile http://go/gmemobile", - "Calendar Android: https://sites.google.com/a/google.com/android-calendar/ Desktop: https://sites.google.com/a/google.com/timely/", - "Google Play Newsstand http://go/dots Team contact: gnews-infra@google.com.", - "Google Fitness http://go/heart Team contact: android-fitness-eng@google.com.", - "Google Health http://go/wear-health Team contact: wear-health@google.com.", - "Google Wear Health Provisioning http://go/wear-health Team contact: wear-health@google.com.", - "Google Play Books (Android and iOS clients) http://go/android-books http://go/ios-books", - "Google Instore http://go/instore-wallet", - "Google Play Music (Android and iOS clients) http://go/android-music Team contact: music-app-eng@google.com", - "Google Chrome iOS: http://go/blingy (bling-team@google.com)", - "Location Flare http://go/location-flare", - "Google News Weather Android App http://go/android-core-utilities Team contact: android-news-eng@google.com.", - "Promoted Posts http://go/promotedposts", - "Cloud Print http://go/cloudprinting Team contact: cloudprint-team@google.com", - "Cloud Devices http://go/cloud-devices Team contact: cloud-devices-team@google.com", - "CPanel (Google Admin) for Enterprise http://go/cpanel-mobile Team contact: cpanel-mobile-eng@google.com", - "Google Drive http://go/docs-site Android part: http://go/cakemix Team contact: cakemix-eng@google.com", - "Classroom http://go/homeroom Team contact: homeroom-eng@google.com", - "Google+ Stories aka Boswell go/bozdd Team contact: boswell-eng@google.com", - "Google Analytics Android Client http://go/giant-site Team contact: ga-mobile-app-eng@", - "Sample app for Location team Team contact: location-lon@google.com", - "BigTop Android https://wiki.corp.google.com/twiki/bin/view/Main/BigtopAndroid", - "Google Cast Android Client http://go/dongle Team contact: eureka-setup-team@", - "Authzen http://go/authzen Team contact: authzen-team@google.com", - "Google Parental Supervision Android Client http://go/parentapp DEPRECATED, DO NOT USE.", - "Google Search", - "Google News", - "Google Docs NOTE: Docs is a separate app from DRIVE.", - "Google Photos standalone experience (not included with the G+ app). http://go/photos Team contact: photos-backend@google.com", - "Google Photos Takeout export http://go/photos Team contact: photos-backend@google.com", - "Google Photos Abuse server http://go/photos Team contact: photos-abuse-eng@google.com", - "Simba android client http://sites/simba", - "Google Jobs android client http://go/garage-wiki Team contact: garage-android@google.com", - "Google Cloud Platform Android and iOS apps http://go/vespa Team contact: vespa-eng@google.com", - "Google Cloud Platform Android web app http://go/pantheon Team contact: pantheon-client@google.com", - "Shares integrated into Firefox browser. Contact: carnold@mozilla.com, sharekit-eng@google.com", - "MovieMaker component of G+. http://go/aamovie Contact: photos-movies@google.com", - "MovieMaker component of Photos. http://go/aamoive Contact: photos-movies@google.com", - "Google Stars Android Client (go/stars) Team contact: collecting-eng@google.com", - "Edit photos, consumer app. see http://go/snapseed Team contact: snapseed-eng@google.com", - "Blogger for Android http://go/bloggerandroid Team contact: blogger-tech@google.com", - "Google Apps Device Policy for Enterprise http://go/mdm Team contact: mdm-eng@google.com", - "Doubleclick Creative Preview app http://go/audition Team contact: mob-h5-eng@google.com", - "Unicorn kids app http://go/unicorn-infra Team contact: unicorn-infra-eng@google.com DEPRECATED, DO NOT USE.", - "AdWords mobile app for Android http://go/awm Team contact: awm-eng@google.com", - "Unicorn Family Compass http://go/family-compass Team contact: family-compass-eng@google.com DEPRECATED, DO NOT USE.", - "Android grant credential Team contact: android-auth-eng@google.com", - "Hallway mobile app for Android and iOS http://go/hallway-prd Team contact: adventurelabs-eng@google.com", - "Unicorn Family Camera http://go/family-camera Team contact: unicorn-famcam-eng@google.com DEPRECATED, DO NOT USE.", - "Ender http://go/ender Team contact: ender-eng@google.com DEPRECATED, DO NOT USE.", - "Google Maps Views (Mostly deprecated, but lives as SVApp server) http://go/streetview-apps Team contact: streetview-apps@google.com", - "Tablescape app (internally codenamed FoodEyes) http://go/tablescape Team contact: foodeyes-team@google.com", - "Enterprise Topaz http://go/topaz Team contact: topaz-team@google.com", - "gFiber app http://go/fiberapp Team contact: gfiber-mobile-android@google.com", - "Atari app (The next Google Sites) http://go/atari http://go/atari-mobile Team contact: atari-mobile@google.com", - "Ridematch app http://go/ridematch Team contact: ridematch-team@google.com", - "Google GMoney (Android and iOS clients).", - "Google Express app (Android) http://go/sameday Team contact: gsx-mobilemall@google.com", - "Consumer photo editor http://go/photo-editing Team contact: photos-editing@google.com", - "Jetstream consumer app http://go/jetstream-team and http://go/jetstream Team contact: jetstream-team@google.com", - "Social Serendipity (Social content in Google Now) http://go/serendipity Team contact: serendipity-team@google.com", - "One Today by Google http://go/onetoday Team contact: onetoday-eng@google.com", - "Google Profiles - SmartProfiles for viewing, Me View for editing. http://sites/profiles Team contact: people-frontend-team@google.com", - "Social Polls - surfaced in G+ site/app http://go/es-polls Team contact: es-polls@google.com", - "Spaces App http://go/spaces Team contact: spaces-eng@google.com", - "AdWords Express App http://go/awxv2 Team contact: boost-eng@google.com", - "iOS Identity Library http://go/ios-id Team contact: ios-id-library-team@google.com", - "Identity Frontend. http://go/idfe Team contact: id-fe-infra@google.com.", - "Youtube Backstage. http://go/backstage Team contact: yt-posts-team@google.com.", - "Youtube Backstage Admin Service. http://go/backstage-admin-service Team contact: yt-posts-team@google.com.", - "YouTube Unplugged http://go/unplugged-eng Team contact: yt-unplugged-eng@google.com", - "Youtube Music http://go/music Team contact: woodstock-ios-eng@google.com", - "Android Enterprise Hub App http://go/afwhub Team contact: afwhub@google.com", - "Android Education Device Initializer App. http://go/android-edu-platform Team contact: android-edu-platform-eng@google.com", - "Android Wear app. http://go/clockwork Contact: ewol@, flerda@, clockwork-eng@", - "Chromecast app. http://go/cast-apps Team contact: cast-apps-eng@google.com", - "OnTheGo app. http://go/onthego Team contact: otg-eng@google.com", - "Google AdSense app. Team contact: publisher-android-app@google.com", - "Project Fi app. http://go/nova-eng Team contact: tycho-atlas@google.com", - "Jamboard app. http://go/jamnpard-eng Team contact: jamboard-eng@google.com", - "Huddle app. http://go/huddle Team contact: huddle-eng@google.com", - "Chauffeur Car app. http://go/chauffeur Team contact: chauffeur-ux-eng@google.com", - "Tailormade app. http://go/tailormade Team contact: tailormade-eng@google.com", - "Activity Log - surfaced in G+ site/app. Currently for G+ only but may expand to support other apps. http://go/activitylog-design Team contact: sps-activitylog@google.com", - "Activity Log in the Spaces product. http://go/activity-log-spaces-dd Team contact: spaces-team@google.com", - "Activity Log in the Google Photos product. http://go/envelope-comments-design-doc Team contact: photos-backend@google.com", - "Memegen! https://memegen.googleplex.com Team contact: memgegen-team@google.com", - "Society App http://go/society Team contact: society-team@google.com", - "Society chat application. http://go/society Team contact: society-team@google.com", - "Search One Presence (Formerly Search Engagement Highlight) http://go/mcf-profiles Team contact: mcf-profiles-eng-team@google.com", - "YouTube Live Chat. http://go/livechat-redesign Team contact: yt-live-chat@google.com", - "YouTube Live Activity log. http://go/live-chat-history-design Team contact: yt-live-chat@google.com", - "YouTube Live Takeout. http://go/livechat-takeout Team contact: yt-live-chat@google.com", - "Cardboard camera app http://go/cyclops Team contact: tp-cyclops@google.com", - "Google Play Developer Console http://go/foxcub Team contact: play-apps-devex@google.com", - "Google+ Mixx UI. http://go/mixx Team contact: jeffschiller@google.com", - "Chrome Remote Desktop app http://go/chromoting Team contact: chromoting-team@google.com", - "Hot Lane, Enterprise Meetings App http://go/hotlane Team contact: hangout-enterprise-eng@google.com", - "Web Contacts UI. http://go/web-contacts Team contact: contactsplus-eng@google.com", - "Contactsheet (Web, Android, iOS). http://go/peopleweb-docs Team contact: smartprofile-eng@google.com, contactsheet@google.com", - "Hovercard (Web). http://go/peopleweb-docs Team contact: contactsplus-eng@google.com", - "Dory is a tool for crowdsourcing and ranking user-submitted questions, suggestions, and ideas.", - "Spectrum app. http://go/spectrum-site Team contact: speedtest-eng@google.com", - "Dynamite App http://go/dynamite Team contact: dynamite-eng@google.com", - "Enterprise end user UI http://go/novitas Team contact: novitas-eng@google.com", - "Google Arts \u0026 Culture app. http://go/ci-mobile Team contact: ci-mobile-eng@google.com", - "Boond app http://go/village-mobile Team contact: village@google.com", - "Expeditions app http://go/vr-expeditions Team contact: vr-expeditions@google.com", - "Photo Album Archive app http://go/albumarchive Team contact: social-parc-eng@google.com", - "GammaGo app http://go/gammago Team contact: gammax-mobile-eng@google.com", - "Fireball message app. contact: fireball-android@google.com", - "Supply Chain Central http://go/scc-site Team contact: scc-infra@google.com", - "Paisa app http://go/paisa Team contact: paisa-eng@google.com", - "SandClock app http://go/sandclock Team contact: sandclock-eng@google.com", - "My Google Account http://go/my-google Team contact: my-google-eng@google.com", - "The telephony application! Contact voice-team@ or voice-fe@", - "Wing Marketplace http://go/xwma Team contact: wing-commerce-mobile-team@google.com", - "Chime http://go/chime Team contact: chime-team@google.com", - "Verily Lifescience Frontends http://go/csp-eng Team contact: csp-eng@google.com", - "Where You Left Off (WYLO) Today extension for iOS http://go/wylo-dd Team contact: tempeh@google.com", - "Naksha Consumer Android App (Areo) http://go/naksha-android Team contact: naksha-dev@google.com", - "Enterprise enrollment app for Chromebooks http://go/eeapp Team contact: bootstrap-dev@google.com", - "Improv (Material Gallery) mobile app. http://go/material-gallery Team contact: gallery-eng@google.com", - "Google Translate http://go/translate-eng Team contact: translate-team@google.com", - "Social G+ Engage http://go/social-engage Team contact:social-engage-eng@google.com", - "CorpCam http://go/corpcam Team contact: plus-ios-team@google.com", - "Android Contacts http://go/android-contacts Team contact: android-contacts-eng@google.com", - "Curator app. http://go/curator Team contact: curator-eng@google.com", - "Travel Booking. http://go/travel-booking Team contact: travel-booking-eng@google.com", - "People ranking and discovery. http://go/das Team contact: es-disco-eng@google.com", - "GPost (Pony Express) http://go/gpost Team contact: gpost-eng@google.com docs: http://go/gpost-android-analytics", - "Paidtasks (Google Opinion Rewards, Google Surveys) http://go/402 Team contact: 402-eng@google.com docs: http://g3doc/paidtasks/app/README.md", - "Primer http://go/primerapp Team contact: vkes@google.com", - "Local Discovery social features http://go/local-stream Team contact: dgajda@google.com, local-discovery-team@google.com", - "Baseline http://go/baseline-android Team contact: verily-mobile-team@google.com", - "Opa on Quartz http://go/opa Team contact: lmirelmann@google.com, opa-quartz-team@google.com", - "Device Management Panel http://go/dpanel-eng Team contact: dpanel-eng@google.com", - "Google Trips http://go/otg Team contact: oace@", - "Google home services http://go/homeservices Team contact: sab-eng@google.com", - "Social Good / donations http://go/socialgood Team contact: socialgood-eng-team@google.com", - "Camera by Google photos Team contact: loupe-eng@google.com", - "Live comments in sport onebox", - "Family Link http://go/familylink Team contact: familylink-eng@google.com", - "g3doc comments http://go/g3doc-comments", - "Moma http://go/moma-site", - "Dasher Admin Console. There is a separate id for DASHER_USER_HUB = 535 http://go/novitas Team contact: novitas-eng@google.com", - "Dasher Commerce Console. http://go/job314 Team contact: job314-eng@google.com", - "Travel Vacations. http://go/travel-vacations Team contact: travel-packages-eng@google.com", - "Trends http://go/trends Team contact: trends-narrator@google.com", - "Tasks http://go/accomplice Team contact: tasks-eng@google.com", - "Vimes http://go/vimes-doc Team contact: vimes-eng@google.com", - "Security Event Manager http://go/sem-doc Team contact: sem-eng@google.com", - "Eva, the wally camera companion app http://go/wally-camera Team contact: tp-wally@google.com", - "Mindsearch-QA: http://go/mindsearch and g/sbe-mindsearch.", - "Power user for Mindsearch: http://go/mindsearch and http://go/ms-sbe-power-options Team contact: mindsearch-team@google.com", - "Android Auto http://go/android-auto Team contact: gearhead-team@google.com", - "Application for live chat when playing games. go/yeti-gg.", - "Application for the Apps Assistant Overlay. http://go/awr Team contact: awr@google.com", - "Search Console. http://go/wmx Team contact: wmx-fe@google.com", - "Chrome Web Store http://go/cws Team contact: webstore-eng@google.com", - "Saves (http://go/saves) Team contact: saves-web-eng@google.com", - "Food Ordering http://go/fopa Team contact: fopa-eng@google.com", - "Social Recovery http://go/social-recovery-update Team contact: aczeskis@google.com", - "Android Onboard Website (Growth MWeb) http://go/android-mweb-dd Team contact: campaign-il@google.com", - "Android Wear (Clockwork) http://go/clockwork Team contact: clockwork-eng@google.com", - "Fact Check Explorer web app http://go/fc-explorer Team contact: fact-checking-dev@google.com", - "Allo app http://go/allo Team contact: allo-discuss@google.com", - "Family Link Helper companion app for kids/teens http://go/familylink Team contact: familylink-eng@google.com", - "Proxy Gal Provider. http://go/gal-provider-migration Team contact: contacts-sync-eng@google.com", - "OneGoogle bar (web). http://go/og Team contact: og-team@google.com", - "OneGoogle async widgets (web). http://go/og-stack-redesign Team contact: og-team@google.com", - "Wicked video uploads http://go/wicked-prd Team contact: wicked-team@google.com", - "Google Sheets NOTE: Sheets is a separate app from DRIVE.", - "Google Slides NOTE: Slides is a separate app from DRIVE.", - "Assistant Explore Web http://go/assistant-agents-web Team contact: assistant-explore-eng@google.com", - "Assistant Settings Web http://go/assistant-settings-web-ui-design Team contact: assistant-settings-web-eng-team@google.com", - "Android Dialer app http://go/dialer Team contact: android-dialer@google.com", - "Klopfklopf Roomtablet app. see http://go/klopfklopf Team contact: klopfklopf-eng@google.com", - "Klopfklopf Hallwaytablet app. see http://go/lageplan Team contact: lageplan-eng@google.com", - "Science Journal app. see http://go/sciencejournal Team contact: science-journal@google.com", - "Hire app. http://go/hire-mobile Team contact: bebop-mobile-dev@google.com", - "Poly (Zandria) app. http://poly.google.com/ Team contact: poly-team@google.com", - "Dasher Reseller Frontend. http://g3doc/ccc/hosted/g3doc/teams/reseller/ Team contact: dasher-reseller-eng@google.com", - "Zoomsights. http://go/zs-prd-tt-v2 Team contact: zoomsights-eng@google.com", - "Live comments for take out Team contact: search-ugc@google.com", - "Patient Guardian http://go/patient-guardian-site Team contact: g4c-eng@google.com", - "Patient Guardian http://go/patient-guardian-site Team contact: g4c-eng@google.com", - "Google My Business (go/gmb) Team contact: geomerchant-data-measurement@google.com", - "Presto Ads Landing Page (go/alp-v0) Team contact: sb-ads@google.com", - "Presto consumer FE http://go/presto-eng Team contact: geomerchant-presto@google.com", - "Kids Home app for young kids android home experience Team contact: hogsmeade-eng@google.com", - "Google assistant (OPA) app http://go/opa Team contact: opa-android-eng@google.com", - "Subscribe with Google Client (SwG) http://go/swg Team contact: swg-eng@google.com", - "Lookout app http://go/reveal Team contact: reveal-eng@google.com", - "Android Native Onboarding http://go/android-onboarding-dd Team contact: growth-il-eng@google.com", - "AMP Actions go/aog-amp-actions Team contact: aog-amp-actions@google.com", - "Spot app go/spot Team contact: spot-eng@google.com", - "Medical Scribe go/medical-scribe Team contact: medical-scribe-frontend-eng@google.com", - "Medical Scribe Tasking go/medical-scribe-tasking-overview Team contact: medical-scribe-tasking@google.com", - "Dasher Rules Platform go/project-raven Team contact: rules-platform-eng@google.com", - "Android TV LauncherX app go/launcherx Team contact: atv-launcher-engineering@google.com", - "Android TV Setup Wizard app go/atv-eng-setup Team contact: android-tv-setup-team-eng@google.com", - "Live comments in Google search results page when an SOS Alert is triggered go/ugc-live-comments-for-crisis Team contact: google-sos-eng@google.com", - "Gmail Locker UI go/gmail-locker Team contact: locker-eng@google.com", - "Google-built translation editor. go/polyglot Team contact: polyglot-team@google.com", - "Plx go/plx Team contact: plx-explorer-team@google.com", - "Google Groups Frontend http://go/groups-doc Team contact: groups-eng-team@google.com", - "Managed Street View Collection app go/msvApp Team contact: streetview-apps@google.com", - "Google voice for enterprise go/wolverine Team contact: wonlverine-eng@", - "G Suite Alert Center (MIC) go/project-mic Team contact: mic-eng@google.com", - "Google Forms go/freebird Team contact: freebird-eng@google.com", - "ARCore go/arcore Team contact: arcore-team@google.com", - "Deprecated. Use ANDROID_SAFETY.", - "Google Lens 1p Lenslets go/lenslets-g3doc Team contact: lenslets-eng@google.com", - "Medical Labeling go/maple Team contact: maple-eng@google.com", - "G Suite Add-on go/gsuite-addons Team contact: gsuite-addons-eng@google.com", - "Android library for Location History consent, part of Mobile Consent Flows. go/lohiboshe, go/consent-flows Team contact: consent-flows-team@google.com", - "Payments Platform Web UI http://go/payments-web-5 Team contact: payments-web-infra-eng@google.com", - "Cattery (Apps Developer Platform Console UI server) go/cattery-g3 Team contact: cattery-eng@google.com", - "Source of truth for Alphabet legal entities go/legal-entities Team contact: introspect-eng@google.com", - "Nga Suggestion Resolution Team contact: nga-app-integration", - "Hot Orders Ui Team contact: hw17eng@google.com", - "Duc Companion Team contact: duc-eng", - "Automon http://go/automon Team contact: monitoring-platform-team@google.com", - "TV Live comments in Google search results page for TV program/episode. go/tv-live-comments-dd Team contact: tvm-features@google.com", - "Guppeeps Team contact: gup-tech-apps-eng@google.com", - "Proxy for focus sync adapter. Team contact: contacts-sync-eng@google.com", - "Nova / Google Fi Team contact: fi-growth-eng@google.com", - "", - "Dasher Data Classification Platform go/dasher-data-classification Team contact: smarttags-eng@google.com", - "App for debugging G+ user data go/googleadmin. Replacement for \"s:googleadmin\".", - "Different apps that are run by the notifications team. Replacement for \"s:messageprocessor\".", - "Replacement for \"s:emailprocessor\".", - "Replacement for \"s:reengagement:pipeline\".", - "Stream backend monitoring tool go/lorelei101.", - "", - "FrameService delete synchronization flume job. The ASBE requests use \"s:frames\" (as do online frames requests).", - "Embeds migration flume job. Covers the multiple MR's for that project (V0 -\u003e V1, V1 -\u003e V2, diffing, verifying ...). At any point in time only one of the jobs should be running. Doesn't issue any rpc requests.", - "SocialReviews sync flume job. Synchronizes reviews from zipit to ASBE.", - "Guns notifications delivery.", - "One-off flumes run by the PostBox team. Team contact: es-postbox@google.com.", - "One-off flumes run by the G+ API team. Team contact: plus-api-core@google.com.", - "Stanza delete synchronization flume job.", - "Social graph index monitoring tool. go/graphprober.", - "Stanza periodic flume jobs. Team contact: stanza-team.", - "Madison accounts periodic flume jobs. http://go/madison-accounts Team contact: madison-eng", - "Papyrus periodic flume jobs. Team contact: papyrus-team", - "Photos-backend flume jobs. Team contact: photos-backend", - "Redbox storage backend go/redbox", - "Photos FIFE flume jobs. Team contact: fife-eng", - "Classifies abuse. Replaced by Ares (see below). go/abuseiam", - "Classifies abuse go/ares", - "Sends cliends Goops notifications. go/streamindexing", - "Computes Additional KV Pairs for Stanza's go/stanza-indexing", - "Stanza service: go/stanza. Team contact: stanza-team.", - "Stanza moonshine indexing. Team contact: es-stream-delivery", - "StreamActions service: go/streamactionsservice Team contact: stream-team", - "StreamConfig service: go/socialstreamconfigservice Team contact: stream-team", - "Stream service: go/stream-service Team contact: stream-team", - "Stream delete service: go/delete-stream Team contact: stream-team", - "Legal Investigations Support matter management http://go/kwyjibo", - "Test stanzas for internal integration tests. Clients who want to prototype on Stanza should use SBE_PLAYGROUND instead. Team contact: stanza-team", - "Use for test applications and unit tests", - "AnnotationServiceV2, see go/as2-design. Team contact: social-stream-delivery", - "Stanza Listener for AnnotationServiceV2: go/as2-design Team contact: social-stream-delivery", - "Stanza App for clients to prototype on. Team contact: stanza-team", - "Expo uses the Yenta autocomplete lib (go/EXPO, go/yenta). Team contact: weaver-expo@google.com, yenta-team@google.com", - "Android VR Home app. http://go/vr-home", - "YouTube BlarneyStone; automated abuse and moderation classification http://go/blarneystone", - "Social Events http://go/social-events Team contact: eventsapp@google.com", - "Deprecated name for http://go/pomeroy.", - "Deprecated name for ENFORCEMENT_MANAGER DEPRECATED, DO NOT USE.", - "Ads Integrity's Enforcement Manager client (go/hidoc)", - "Ads Integrity's Explorer client (go/hidoc)", - "Ads Integrity's Reviewer client (go/hidoc)", - "G+ Collections pipeline. This application id is used for internal cleanup. Please DO NOT use it for frontend or backend logging. Team contact: es-collections-eng@google.com.", - "Application used by G+-owned pipelines. Contact: plus-server-eng@.", - "Papyrus service (go/papyrus). Team contact: papyrus-team", - "App for administration of Youtube entities at admin.youtube.com Team contact: yt-force@google.com", - "App for Youtube Review Infra Pacing. Team contact: yt-review-queue-eng@google.com", - "App for Youtube Vertical Manager. Team contact: youtube-tns-vm-team@google.com", - "YouTube Decider (go/yt-tns-dna) Team contact: yt-force-decision-platform@google.com", - "Application for actions enforcing TnS policies due to TnS violations. It's used in both the read and write path (go/yt-tns-dna). Team contact: yt-force-decision-platform@google.com", - "YouTube External Links (go/abusivelinks). Team contact: youtube-url-defenses@google.com", - "Batch jobs run by the Focus Backend team (go/fbs) Team contact: focus-backend-eng@google.com", - "Teamspaces Team contact: teamspaces-eng@google.com", - "Assistant Opa Team contact: assistant-a4w-client@google.com", - "Translation Memory Manager Team contact: tm-team-core@google.com", - "Threadit Team contact: paulmalolepsy@google.com", - "Resource Symphony Team contact: fdo-fe-eng@google.com", - "L10n Infra Shared Team contact: tm-team-core@google.com", - "Work Tracker Team contact: planr-eng@google.com", - "Ariane Team contact: launch-team@google.com", - "Colab Internal Team contact: colab-team@google.com", - "Colab External Team contact: colab-team@google.com", - "Talent Grow Team contact: grow-eng@google.com", - "Rocket Labs Team contact: traditionalgti-coach-dev-team@google.com", - "My Google Families Team contact: id-iff-eng@google.com", - "Data Studio Team contact: ga-lego-fe-eng@google.com", - "Legal Contracts Team contact: nala-eng@google.com", - "Brief Api Team contact: brief-team@google.com", - "Hardware Mfg Data Venus Team contact: cte-data-eng@google.com", - "Betterbug Team contact: betterbug-team@google.com", - "Dcms Team contact: dcms@google.com", - "Play Books Pubeng Team contact: playbooks-pubeng-core@google.com", - "Yaqs Team contact: yaqs-eng@google.com", - "Prosper Team contact: corp-comp-eng@google.com", - "Campaign Management Tool Team contact: subhamidipati@google.com", - "Hiring Team contact: bellalewis@google.com", - "Datacenter Software Team contact: talos-eng@google.com", - "Marketing Workflows Team contact: mw-workflow-eng@google.com", - "Youtube Parent Tools Team contact: yt-pegasus-web@google.com", - "Reliability Insights Pst Team contact: rel360-platform-team@google.com", - "Customer Care Portal Team contact: xpp-eng@google.com", - "Test Fusion Team contact: fusion-team@google.com", - "Production2020 Uie Team contact: p2020-ui-excellence-team@google.com", - "Speakeasy Team contact: speakeasy-eng@google.com", - "Gpay Release Ops Team contact: gpay-release-ops@google.com", - "Skillsstack Team contact:", - "Whostory Team contact: whostory@google.com", - "Bettany Team contact: bettany-eng@google.com", - "Basecamp Team contact: hardware-ml-infra@google.com", - "CULTURE_EVENTS_CALENDAR Team contact: culture-events-calendar@google.com", - "Databridge Console Team contact: databrige-eng@google.com", - "Commstar Team contact: mdb.commstar-dev@google.com", - "Cddb Team contact: cddb-dev-team@google.com", - "Monospace Team contact: monospace-eng@google.com", - "My Account Team contact: my-google-eng@google.com", - "Nudgeit Campaign Manager Team contact: nudges-campaign-manager-team@google.com", - "Decs Team contact: decs-eng@google.com", - "Gsox Mochi Team contact: fintechops-eng@google.com", - "Pmw Ti Team contact: pmw-ti", - "Accessibility Tracker Team contact: a11y-tracker-eng@google.com", - "Duckieweb Team contact: workflow-horizontals-core@google.com", - "Matterspace Team contact: legalworks-elm-eng@google.com, rajapate@google.com", - "Waymo Triage Tooling Team contact: heathrow-eng@google.com", - "Twentypercent Jobpostings Team contact: 20p-wg@google.com", - "Engagements Team contact: engagements-eng@google.com", - "Cloudconnect Team contact: rev-platforms@google.com", - "Personal Agent Team contact: page-1-eng@google.com", - "Mobile Harness Team contact: omnilab-lmp@google.com", - "Looker Studio Pro Team contact: da-cloudbi-india-ls-adminexp@google.com", - "Support Classification Ui Team contact: support-classification-eng@google.com", - "Notebooklm Team contact: labs-tailwind-eng-team@google.com", - "Zombie Cloud Team contact: zombie-cloud-eng@google.com", - "Relationships Team contact: hana-dev@google.com", - "Apps Workflow Team contact: workflows-frontend-eng@google.com", - "Fleetscope Team contact: gvc-fmt-eng@google.com", - "Cloud Sales Gclm Team contact: gclm-dev-team@google.com", - "Ts Tool Intake Team contact: tool-intake@google.com", - "Genesis Ios Team contact: genesis-companion@google.com", - "Bankroll Prod Team contact: quantteam@google.com", - "Geo Data Portal Team contact: dop-eng-team@google.com", - "", - "Duo Client Team contact: duo-eng@google.com", - "Project albert (go/albert-frontend) Team contact: albert-eng@google.com", - "People Playground (go/people-playground-design) Team contact: project-buffet@google.com", - "Recommended posts pipeline (go/topics-web-gplus) Team contact: stream-ranking-team@google.com", - "Image Search http://go/images Team contact: images-ui-eng@google.com", - "Google Store http://go/smashberry Team contact: smashberry-eng@google.com", - "NBU GConnect Mustard http://go/mustard Team contact: gconnect-mustard-eng@google.com", - "Madden (http://go/madden) Team contact: madden-eng@google.com", - "MobDog (http://go/mobdog) Team contact: ph-eng@google.com", - "GBOARD (http://go/gboard) Team contact: gboard-eng@google.com", - "Recorder (http://go/recorder) Team contact: recorder-eng-team@google.com", - "All legacy g+ posts which currently does not have an application to map to.", - "Podium (http://go/podium)", - "FUSE targets at younger user base who is extensively using Visual/Photo and location as input for searching. go/fuse-sbe-v0-integration. Team Contact: igsa-visual@google.com", - "Honeyphish (http://go/honeyphish)", - "Offline backfill job for annotations generated by go/asv2.", - "Pops Support (Contact HR) go/contacthr-design Team contact: boq-contacthr-eng@google.com", - "Paisa Wander (http://go/paisa-tools) Team Contact: paisa-tools@google.com", - "NextGen Retail Self Order (go/nextgenretail) Team Contact: nextgenretail-eng@google.com", - "Find My Device App Team contact: fmd-eng@google.com", - "Application not set by client. Only used internally.", - "First Party Application which is not mapped to the already defined enums.", - "DEPRECATED DO NOT USE.", - "VIDEO_HANGOUT represents the gcomm application (javascript/apps/gcomm). Hangout Video Calls (rtc-eng@).", - "Legacy (lite) hangouts (rtc-eng@).", - "GVC hangouts calls (gvc-team@).", - "go/present hangouts (gvc-team@).", - "Hangouts on Air (rtc-audience@).", - "Helpouts Hangouts (tee-team@).", - "Shoe SDK (etnu@).", - "Envoy (go/envoy). Contact: noahric@, envoy-eng@.", - "Babel's chat client (aka Hangouts Chat).", - "Babel's Nova client. Used for NOVA related logging through BABEL. Contact: mlei@", - "Media calling embedded in Wabel. Contact: efernandez@, dalesat@", - "Hangouts landing page (hangouts.google.com). Contact: jdudder@, jchord@", - "Express Lane (go/express-lane) Contact: efernandez@, pauldean@, qaz@", - "Enterprise Meetings App for Android http://go/thor-android Team contact: c4w-mobile-eng@google.com", - "Express Lane on Boq. Contact: efernandez@, pauldean@, qaz@, segu@", - "Hangout Meet Hardware management Team contact: rtc-fleet-mgmt-eng@google.com --------------------------- END HANGOUT APPLICATIONS ----------------------", - "Stax database (go/stax). Contact: stax-eng@", - "Hangouts Immersive Client. Contact: pawong@, plancarte@", - "Scanner app. http://go/photos-scanner Team contact: photos-draper-eng@google.com", - "Photos Library API http://go/photos-3p-g3docs Team contact: photos-3p-eng@google.com", - "Photos Library API http://go/photos-3p-g3docs Team contact: photos-3p-eng@google.com", - "Vault (go/vault) Team contact: vault-eng@", - "Course Kit (go/prof) Team contact: prof-eng@", - "TOTAL is for all application traffic.", - "TOTAL_ZERO_PARTY is for all traffic from plus.google.com or its counterparts such as the native mobile G+ app or mobile web.", - "TOTAL_FIRST_PARTY is all non-G+ Google properties, such as Gmail and YouTube.", - "TOTAL_THIRD_PARTY is all third-party site traffic.", - "TOTAL_INTERNAL is all Google-internal traffic. e.g. prober, monitoring, mapreduces.", - "TOTAL_UNKNOWN is all unknown traffic.", - "TOTAL_MINUS_YOUTUBE is all traffic excluding any traffic from YOUTUBE.", - "TOTAL_FIRST_PARTY_WITH_PRIMARY_INTENT_TO_SHARE_TO_GPLUS is all first party traffic with primary intent to share to Google+. All applications that belong to TOTAL_FIRST_PARTY and do not belong to TOTAL_FIRST_PARTY_WITH_SECONDARY_INTENT_TO_SHARE_TO_GPLUS belong to this category.", - "TOTAL_FIRST_PARTY_WITH_SECONDARY_INTENT_TO_SHARE_TO_GPLUS is all first party traffic with no primary intent to share to Google+. The applications that belong to the category are defined in google3/logs/lib/social/content_creation/blacklist_apps.pb.", - "TOTAL_GPLUS is all variations of gplus app under TOTAL_SOCIAL_APPS", - "TOTAL_SOCIAL_APPS is all core social Google apps.", - "CROWD_COMPUTE is a Google-internal crowd-sourcing platform.", - "KHAZANA is an NBU app for document organization. http://go/khazana Team contact: khazana-eng@google.com", - "Lighter is a cross-platform messaging platform to enable applications to build rich in-app messaging experiences. GMM (Google Maps for Mobile) chatting is built on top of Lighter. Team contact: sbe-lighter@google.com", - "Lighter is a cross-platform messaging platform to enable applications to build rich in-app messaging experiences. GMB (Google My Business) chatting is built on top of Lighter. Team contact: sbe-lighter@google.com", - "MYACTIVITY is myactivity.google.com http://go/myactivity Team contact: footprints-team@google.com", - "BLOG_COMPASS is an app that helps bloggers manage their site and find topics to write about. http://go/blog-compass Team: blog-compass@google.com", - "CONCORD measures business and product usage metrics across Google Cloud Platform. http://go/concord Team: concord-dev@google.com", - "Navstar is an app that helps googlers to understand how users are interacting with Search \u0026 Assistant features. http://go/navstar2 Team: navstar-eng@google.com", - "Settings Intelligence is an app that contains updatable module for Pixel Settings. http://go/hacking-on-settings Team: android-settings-core@google.com", - "Topaz teams is a team under Topaz (aka Google Cloud Search) with a mission to externalize the Teams product we have here at Google under Moma. http://go/topaz-teams Team: topaz-teams-eng@google.com", - "Google Endpoint Management Android Agent go/emm-extension Team: mdm-core-eng@google.com", - "DUMBLEDORE is an app that helps kids learn through relevant interest based informal interactions across Google's products http://go/dumbledore Team: dumbledore-team", - "Google One is a subscriptions plan that unlocks premium experiences across Google products. go/googleone Team: subscriptions", - "NBU GConnect Kimchi Google Station Partner Console http://go/gstation-partner-console Team: mdb.nbu-gconnect-kimchi-team@google.com", - "FASTDASH is a near real-time reporting system that processes front-end logs go/fastdash Team:fastdash-infra", - "Clockwork (Aquarius Lapis) go/aquarius-eng Team: aquarius-eng@google.com", - "Dasher Reporting go/dasher-reporting-g3doc Team: dasher-bip-eng@google.com", - "NBU GConnect Picard http://go/gconnect-picard Team contact: gstation-web@google.com", - "go/jacquard", - "Google go http://go/googlego Team: googleit-eng-team@google.com", - "Used in Buganizer.", - "Used in Docos Mentions.", - "Used in Trix Waffle. go/trixwaffle.", - "Used in Share Service. go/apps-share", - "Android Safety go/android-safety-g3doc", - "Yeti text chat for Takeout. go/yeti-takeout-integration Team contact: yeti-textchat@google.com", - "Assistant Go http://go/goopa Team: assistant-lite-android-eng@google.com", - "Flourish App. go/flourish", - "ALECS go/project-mic Team contact: mic-eng@google.com", - "Nandhi Test Scheduler Team contact: people-sharing-engprod@google.com", - "Audio Recorder Team contact: pixel-apps-recorder@google.com", - "ContactStore traffic with unknown client.", - "Profile Card go/yt-profile-card-prd Team contact: yt-identity-core", - "Espresso Team contact: readiness-devs", - "People Companion http://go/people-companion-dd Team contact: contactsplus-eng@google.com", - "Photos Go (go/photos-go) Team contact: photos-go-eng", - "yeti go/yeti Team contact: yeti-analytics-eng", - "Bloom go/bloom Team contact: bloom-edu-eng@google.com", - "Vantage Field go/vantage-field Team contact: vantage-dispatch-eng@google.com", - "Google Roads \u0026 Transit go/urbanmobility Team contact: urban-mobility-eng@google.com", - "Google Health Familycare go/hydrangea Team contact: health-familycare-apps-eng@google.com", - "Intuitive Platform go/intuitive Team contact: ml4nt-dev@google.com", - "Paisa microapps cricket. go/wc-2019 Team contact: payments-microapps-pek-team@google.com", - "Integration Platform Team contact: cloud-crm-platform-eng@prod.google.com", - "CrOS Scaling \u0026 Services staging apps generic commenting service. go/cros3 Team contact: chromeos-peng-eng@google.com.", - "CrOS Scaling \u0026 Services prod apps generic commenting service go/cros3 Team contact: chromeos-peng-eng@google.com.", - "Assistant Proactive Suggestions. go/opacros-proactive-design Team contact: assistant-proactive-suggestions-team@google.com", - "Privacy One Suite of Applications go/privacy-one Team contact: privacy-one-dev-team@google.com", - "Paisa app http://go/paisa Team contact: paisa-eng@google.com", - "Assist JS go/aog-assistjs-logging Team contact: aog-amp-actions@google.com", - "Hotelier go/hotelier-frontend Team contact: hotels-hotelier-eng@google.com", - "Photos Kindygram (Photos for Edu) app go/kindy Team contact: kindygram-eng@google.com", - "Messages SMS/MMS/RCS messaging app for Android go/messages Team contact: am-shell-team@google.com", - "HKB hotel editor go/hkb Team contact: hkb-eng@google.com", - "Vistaar web app go/vistaar Team contact: vistaar-eng@google.com", - "Vistaar web app, non-prod instances go/vistaar Team contact: vistaar-eng@google.com", - "G Suite Growth go/dasher-growth Team contact: dasher-growth-eng@google.com", - "Eldar go/eldar Team contact: eldar-dev@google.com", - "GMB Android client http://go/gmb-android Team contact: gmb-android@google.com", - "Shopping List go/shoppinglist Team contact: shoppinglist-eng@google.com", - "Earth Team contact: earth-ios", - "Instant Loans Microapp go/instant-loans-ui-v2-dd Team contact: paisa-credit-eng@google.com", - "Assistant Go Web (Citadel) go/goopa-citadel Team contact: assistant-nbu-android-eng@googoe.com", - "Showtime Team contact: ecp-platform-team", - "Admin Console - Compliance Center (go/konark) go/konark Team contact: konark-eng@google.com", - "Exo Refserver go/exo Team contact: exo-core@google.com", - "Monitoring Platform go/monitoring-platform Team contact: monitoring-platform-team@google.com", - "Autocap go/autocap Team contact: capmgmt-team@google.com", - "Payments Orchestration go/orchestration Team contact: payments-platform-discuss@google.com", - "Google My Business iOS http://go/gmb Team contact: geomerchant-data-measurement@google.com", - "Assistant on KaiOS go/nbu-dcf-dd Team contact: assistant-nbu-features-eng@google.com", - "AdMob companion app go/admob-mobile-dd Team contact: admob-mobile-app-eng", - "Health Screeners app go/screeners-prd Team contact: health-screeners-dev@google.com", - "Meetings intelligence http://go/meetings-intelligence Team contact: meetings-intelligence-eng@google.com", - "gHire go/ghire, go/ghire-g3doc Team contact: rp2-crm-eng@google.com", - "Translate Community go/translate-community Team contact: translate-community@google.com", - "Road Mapper http://go/road-mapper Team contact: maps-ugc-mtwr@google.com", - "Nest Team contact: vkandamath@google.com", - "Rollouts UI go/releases-rollouts Team contact: releases-rollouts-ui@google.com", - "Shopping Property go/compass-infra Team contact: compass-infra@google.com", - "Shopping Property non prod environment. go/compass-infra Team contact: compass-infra@google.com", - "Payments Gas Microapp http://go/gas-microapp-engdoc Team contact: microapps-transportation-eng@google.com", - "Paisa Movies Microapp go/microapp-movies-prd Team contact: mdb.paisa-movies-dev@google.com", - "Hub Call Team contact: voice-fe-ios@google.com", - "Waymo simulation results dashboard go/waymo-sim-results Team contact: chauffeur-sw-quality-eng@google.com", - "Gsuite Workflow Team contact: apps-workflow-editor-eng-team@google.com", - "Corp Eng Finance Workflows Team contact: introspect-eng@google.com", - "Payments Parking Microapp go/gpay-microapp-parking Team contact: spots-parking-team@google.com", - "Travel Team contact: mayflower-eng@google.com", - "Gabble: *G*oogle *A*ssistant *B*ig *BL*uetooth *E*valuator An internal-only Android application to expedite Bluetooth feature development for the Assistant Auto team. See go/morris-bt for more information. Team contact: gabble-app-eng@google.com", - "Prof (go/prof) and Originality (go/originality). Team contact: prof-eng@google.com, plagiarism-eng@google.com", - "MyFi go/myfi Team contact: sumer-myfi-eng@google.com", - "Chomchom content first experience app. go/chomchom-deck Team contact: chomchom-eng@google.com", - "Assistant Toolchain - Dialog Central Team contact: dialog-central-eng@google.com", - "YouTube Ansible - Abuse platform, go/ansible Team contact: yt-kapla-ansible@google.com", - "YouTube Community Inteligence Kapla integration. b/186151755. Team contact: yt-kapla-team@google.com, yt-kapla-ansible@google.com", - "Gantry Team contact: gmscore-gantry-team@google.com", - "Payments merchant console (go/merchant-console-design) Team contact: merchant-console-infra-eng@google.com", - "Ta'veren - Splinter Team contact: taveren-team@google.com", - "Kintaro Team contact: kintaro-eng@google.com", - "MDM Admin Console Team contact: mdm-eng@google.com", - "Payments consumer core products. Team contact: gpay-android-eng@google.com", - "Incidentflow Team contact: im-tools-eng@google.com", - "OneGoogle Mobile. http://go/og Team contact: og-mobile@google.com", - "Anura App Team contact: anura-eng@google.com", - "FGC Google Finance (go/sumer-fgc) Team contact: fgc-eng@google.com", - "Podcasts Manager Team contact: speakachu-team@google.com", - "Files by Google Team contact: files-eng@google.com", - "YouTube Post API Team contact: yt-post-api-eng@google.com", - "GSuite Hub Team contact: g/hub-eng", - "ATV Analytics Watson go/atv-analytics-design-launcher Team contact: atv-analytics-team@google.com", - "New paidtasks (Surveys) frontend go/402surveys2 Team contact: 402-surf@google.com", - "One Reviewer Tool Team contact: onereviewertool-eng@google.com", - "Meet Quality Tool go/thor-mqt Team contact: video-spot-serving@google.com", - "", - "Google Meet http://go/thor-eng Team contact: hangout-enterprise-eng@google.com", - "Paisa Nearby Merchant go/gpay_nearby_prd Team contact: nbu-paisa-merchants-verticals-team@google.com", - "", - "Vantage Field go/vantage-field Team contact: vantage-dispatch-eng@google.com", - "Lens Web (go/lens-web). Team contact: lens-web@google.com.", - "Herald app (go/herald-g3doc) Team contact: herald-eng@google.com", - "Paisa Microapps Web Projects. Includes landing page, microtab and other web related projects. go/microapps, go/microapp-landing-page, go/microapps-store Team contact: microapps-platform-team@google.com", - "BugObserver go/bugobserver-help, bugobserver-eng@google.com", - "Atlas Team contact: atlas-eng@google.com", - "Dharma Initiative go/dharma Team contact: dharma-team@google.com", - "Snipit Team contact: snipit-dev@google.com", - "Premium Assistant (go/premium-assistant) Team contact: premium-assistant-eng@google.com", - "OneReviewerTool (go/ORT-doc) Team contact: onereviewertool-eng@google.com", - "Coronado Team contact: rpui-eng-team@google.com", - "Intake go/systemone Team contact: system1-team@google.com", - "Pumice Team contact: pumice-team@google.com", - "Backlight Team contact: jsuite-eng@google.com", - "Glossary Manager Team contact: tm-team-core@google.com", - "Google Growth - UpgradeParty go/upgradeparty Team contact: google-growth-android-eng@google.com", - "Onedev Workflow Team contact: one-developer-workflow+people-stack@google.com", - "Avalanche Team contact: cpe-surveys-eng@google.com", - "Kormo Team contact: kormo-eng@google.com", - "Assistant Profile Yourpeople Team contact: assistant-family-eng@google.com", - "Smart Display Web go/sdweb Team contact: sdweb-eng@google.com", - "Deskbooking Team contact: desktopia-open@google.com", - "Food Vertical go/payments-merchant-verticals Team contact: nextgenretail-eng@google.com", - "Valuables Merchant Center go/valuables-merchant-ui Team contact: tp2-valuables@google.com", - "Offsec Team contact: redgate@google.com", - "Staffing Works Schedule Tool go/schedule-docs Team contact: rp2-schedule-eng@google.com", - "Paisa social campaigns platform. go/gpay-campaign-generalization Team contact: pc-social@google.com", - "Wordflow Team contact: wordflow-eng@google.com", - "Plan-for-Care web immersive (go/p4c-immersive-design) Team contact: care-planning-eng@google.com", - "DeepMind AlphaSchedule (go/alphaschedule-docs) Team contact: deepmind-alphaschedule-eng@google.com", - "Hoolichat go/hoolichat Team contact: hoolichat-eng@google.com", - "Youtube Creator Studio Team contact: creator-studio-eng@google.com", - "Bricks Team contact: mdb.cloudx-bricks-team@google.com", - "Payments Merchant Business Insight (go/mechant-business-insight-home).", - "Recall https://recall.googleplex.com Team contact: recall@google.com", - "Nest Green Energy Web go/apollo-web-ui", - "Frap go/frap-docs Team contact: frap-eng@google.com", - "Payments Grocery Microapp go/grocery-deals Team contact: spots-grocery-team@google.com", - "Reviews Widget API go/reviews-widget Team contact: wugc@google.com", - "go/incidentflow Team contact: im-tools-eng@google.com", - "Area 120 - PromoDay go/promoday Team Contact: area120-promoday-eng@google.com", - "Pinpoint go/jsuite-pinpoint Team contact: backlight-eng@google.com", - "Translation Console go/transconsole Team contact: transconsole-eng@google.com", - "Google Workspace Marketplace go/gsm-eng Team contact: gsm-team@google.com", - "Drive desktop Photos uploader go/spork-prd Team contact: spork-eng@google.com", - "Sustainability on Workspace Team: workspace-sustainability-eng@google.com" - ], - "type": "string" - }, - "stateStatus": { - "description": "* There can be multiple states based on the context: 1. AUTOCOMPLETE + Gmail - context 1 2. AUTOCOMPLETE + Chat/Dynamite - context 2 3. \"SOME OTHER ACTION\" + Gmail - context 3 A client should identify whether a patrticular context is present in the list and only if one is found - use the state that goes alogn with the context, otherwise the client should default to whatever is the safe assumption about \"internality/externality\" the application should be making (likely, consider everything not explicitly \"internal\" as \"external\").", - "items": { - "$ref": "PeoplestackFlexorgsProtoInternalExternalStateStatus" - }, - "type": "array" - } - }, - "type": "object" - }, - "PeoplestackFlexorgsProtoInternalExternalStateStatus": { - "id": "PeoplestackFlexorgsProtoInternalExternalStateStatus", - "properties": { - "contextType": { - "enum": [ - "INTERNAL_EXTERNAL_CONTEXT_UNSPECIFIED", - "AUTOCOMPLETE" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "state": { - "enum": [ - "INTERNAL_EXTERNAL_STATE_UNSPECIFIED", - "INTERNAL", - "EXTERNAL", - "NOT_APPLICABLE" - ], - "enumDescriptions": [ - "", - "", - "", - "Meant for scenarios where client-sides need to know if External information was truly missing, meaning the contact came from a source other than Server (i.e device contacts, user entered, etc), or if the server intentionally did not populate the attribute (i.e. non-Dasher). This value will never be set by the server, and instead, the client will use it to create an artificial payload the first time it receives a server contact that doesn't have external data. That way the client will know downstream that external state doesn't apply" - ], - "type": "string" - } - }, - "type": "object" - }, - "PerDocData": { - "description": "=========================================================================== # Make sure you read the comments in the bottom before you add any new field. NB: As noted in the comments, this protocol buffer is used in both indexing and serving. In mustang serving implementations we only decode perdocdata during the search phase, and so this protocol should only contain data used during search. See mustang/repos_www/attachments.proto:{MustangBasicInfo,MustangContentInfo} for protocols used during search and/or docinfo. Next available tag deprecated, use this (and look for commented out fields): blaze-bin/net/proto_compiler/protocol-compiler --freetags \\ indexer/perdocdata/perdocdata.proto Next tag: 225", - "id": "PerDocData", - "properties": { - "BlogData": { - "$ref": "BlogPerDocData" - }, - "BookCitationData": { - "$ref": "BookCitationPerDocData", - "description": "the book citation data for each web page, the average size is about 10 bytes" - }, - "DEPRECATEDAuthorObfuscatedGaia": { - "deprecated": true, - "description": "The obfuscated google profile gaia id(s) of the author(s) of the document. This field is deprecated, use the string version.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "DEPRECATEDQuarantineWhitelist": { - "type": "boolean" - }, - "DocLevelSpamScore": { - "description": "The document spam score is represented as a 7-bits, going from 0 to 127.", - "format": "int32", - "type": "integer" - }, - "Event": { - "description": "Free form debug info. NB2: consider carefully what to save here. It's easy to eat lots of gfs space with debug info that nobody needs...", - "items": { - "$ref": "PerDocDebugEvent" - }, - "type": "array" - }, - "GibberishScore": { - "description": "The gibberish score is represented in 7 bits, going from 0 to 127.", - "format": "int32", - "type": "integer" - }, - "GroupsData": { - "$ref": "GroupsPerDocData", - "description": "16 bytes of groups2 data: used only in groups2 index" - }, - "IsAnchorBayesSpam": { - "description": "Is this document considered spam by the anchor bayes classifier?", - "type": "boolean" - }, - "KeywordStuffingScore": { - "description": "The keyword stuffing score is represented in 7 bits, going from 0 to 127.", - "format": "int32", - "type": "integer" - }, - "MobileData": { - "$ref": "MobilePerDocData", - "description": "Additional metadata for lowend mobile documents in the Google index." - }, - "OriginalContentScore": { - "description": "The original content score is represented as a 7-bits, going from 0 to 127. Only pages with little content have this field. The actual original content score ranges from 0 to 512. It is encoded with quality_q2::OriginalContentUtil::EncodeOriginalContentScore(). To decode the value, use quality_q2::OriginalContentUtil::DecodeOriginalContentScore().", - "format": "int32", - "type": "integer" - }, - "PremiumData": { - "$ref": "PremiumPerDocData", - "description": "Additional metadata for Premium document in the Google index." - }, - "QuarantineInfo": { - "description": "bitmask of QuarantineBits (or'd together) used to store quarantine related information. For example: QUARANTINE_WHITELIST | QUARANTINE_URLINURL.", - "format": "int32", - "type": "integer" - }, - "ScaledExptIndyRank": { - "description": "DEPRECATED ---------------------------------------------------------------- Please do not use these fields in any new code. experimental", - "format": "int32", - "type": "integer" - }, - "ScaledExptIndyRank2": { - "description": "experimental", - "format": "int32", - "type": "integer" - }, - "ScaledExptIndyRank3": { - "description": "experimental", - "format": "int32", - "type": "integer" - }, - "ScaledExptSpamScoreEric": { - "format": "int32", - "type": "integer" - }, - "ScaledExptSpamScoreYoram": { - "format": "int32", - "type": "integer" - }, - "ScaledIndyRank": { - "description": "The independence rank is represented as a 16-bit integer, which is multiplied by (max_indy_rank / 65536) to produce actual independence rank values. max_indy_rank is typically 0.84.", - "format": "int32", - "type": "integer" - }, - "ScaledLinkAgeSpamScore": { - "description": "End DEPRECATED ------------------------------------------------------------ Link age score is represented as a 7-bit integer, going from 0 to 127.", - "format": "int32", - "type": "integer" - }, - "ScaledSpamScoreEric": { - "format": "int32", - "type": "integer" - }, - "ScaledSpamScoreYoram": { - "description": "Spamscores are represented as a 7-bit integer, going from 0 to 127.", - "format": "int32", - "type": "integer" - }, - "SpamWordScore": { - "description": "The spamword score is represented in 7-bits, going from 0 to 127.", - "format": "int32", - "type": "integer" - }, - "TagPageScore": { - "description": "Tag-site-ness of a page, repesented in 7-bits range from 0 to 100. Smaller value means worse tag page.", - "format": "int32", - "type": "integer" - }, - "ToolBarData": { - "$ref": "ToolBarPerDocData" - }, - "WhirlpoolDiscount": { - "format": "float", - "type": "number" - }, - "appsLink": { - "$ref": "QualityCalypsoAppsLink", - "description": "AppsLink contains Android application IDs in outlinks. It is used to improve results ranking within applications universal. See http://go/apps-universal for the project details." - }, - "asteroidBeltIntents": { - "$ref": "QualityOrbitAsteroidBeltDocumentIntentScores", - "description": "For indexing Asteroid Belt intent scores. See go/asteroid-belt for details." - }, - "authorObfuscatedGaiaStr": { - "items": { - "type": "string" - }, - "type": "array" - }, - "biasingdata": { - "$ref": "BiasingPerDocData" - }, - "biasingdata2": { - "$ref": "BiasingPerDocData2", - "description": "A replacement for BiasingPerDocData that is more space efficient. Once this is live everywhere, biasingdata will be deprecated." - }, - "bodyWordsToTokensRatioBegin": { - "description": "The body words over tokens ratios for the beginning part and whole doc. NB: To save space, field body_words_to_tokens_ratio_total is not set if it has the same value as body_words_to_tokens_ratio_begin (e.g., short docs).", - "format": "float", - "type": "number" - }, - "bodyWordsToTokensRatioTotal": { - "format": "float", - "type": "number" - }, - "brainloc": { - "$ref": "QualityGeoBrainlocBrainlocAttachment", - "description": "Brainloc contains location information for the document. See ariane/273189 for details." - }, - "commercialScore": { - "description": "A measure of commerciality of the document Score \u003e 0 indicates document is commercial (i.e. sells something) Computed by repository/pageclassifiers/parsehandler-commercial.cc", - "format": "float", - "type": "number" - }, - "compressedQualitySignals": { - "$ref": "CompressedQualitySignals" - }, - "compressedUrl": { - "description": "Compressed URL string used for SETI.", - "format": "byte", - "type": "string" - }, - "contentAttributions": { - "$ref": "ContentAttributions" - }, - "countryInfo": { - "$ref": "CountryCountryAttachment", - "description": "This field stores the country information for the document in the form of CountryAttachment." - }, - "crawlPagerank": { - "description": "This field is used internally by the docjoiner to forward the crawl pageranks from original canonicals to canonicals we actually chose; outside sources should not set it, and it should not be present in actual docjoins or the index.", - "format": "int32", - "type": "integer" - }, - "crawlerIdProto": { - "$ref": "LogsProtoIndexingCrawlerIdCrawlerIdProto", - "description": "For crawler-ID variations, the crawling context applied to the document. See go/url, and the description in google3/indexing/crawler_id" - }, - "crowdingdata": { - "$ref": "CrowdingPerDocData" - }, - "datesInfo": { - "description": "Stores dates-related info (e.g. page is old based on its date annotations). Used in FreshnessTwiddler. Use encode/decode functions from quality/timebased/utils/dates-info-helper-inl.h", - "format": "int64", - "type": "string" - }, - "desktopInterstitials": { - "$ref": "IndexingMobileInterstitialsProtoDesktopInterstitials", - "description": "Contains desktop interstitials signal for VOLT ranking change." - }, - "domainAge": { - "description": "16-bit", - "format": "int32", - "type": "integer" - }, - "eventsDate": { - "description": "Date for Events. A web page might list multiple events with different dates. We only take one date (start date) per event.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "extraData": { - "$ref": "Proto2BridgeMessageSet", - "description": "This field is available only in the docjoins: it is cleared before building per-doc data in both Mustang and Teragoogle. (MessageSet is inefficient in space for serving data) Use this for all new fields that aren't needed during serving. Currently this field contains: * UrlSignals for the document level spam classifier (when the doclevelspamscore is set). * PerDocLangidData and realtimespam::ClassifierResult for the document level fresh spam classifier (when the doc-level fresh spam score is generated). * MicroblogDocQualitySignals for document-level microblog spam classifier. This only exists in Firebird for now. * spam_buckets::BucketsData for a document-structure hash This field is non-personal since the personal fields in MessageSet are not populated in production." - }, - "fireflySiteSignal": { - "$ref": "QualityCopiaFireflySiteSignal", - "description": "Contains Site signal information for Firefly ranking change. See http://ariane/313938 for more details." - }, - "freshboxArticleScores": { - "description": "Stores scores of freshness-related classifiers: freshbox article score, live blog score and host-level article score. The encoding/decoding API is in quality/freshness/freshbox/goldmine/freshbox_annotation_encoder.h. To use this field, you MUST join g/pq-classifiers-announce and add your use case at http://shortn/_RYXS2lX2IV.", - "format": "uint32", - "type": "integer" - }, - "freshnessEncodedSignals": { - "deprecated": true, - "description": "Stores freshness and aging related data, such as time-related quality metrics predicted from url-pattern level signals. Use the encoding decoding API in quality/freshness/docclassifier/aging/encoded-pattern-signals.h This field is deprecated.", - "format": "int64", - "type": "string" - }, - "fringeQueryPrior": { - "$ref": "QualityFringeFringeQueryPriorPerDocData", - "description": "Contains encoded FringeQueryPrior information. Unlikely to be meaningful for anyone other than fringe-ranking team. Contact fringe-ranking team if any questions, but do NOT use directly without consulting them." - }, - "geodata": { - "description": "geo data; approx 24 bytes for 23M U.S. pages", - "type": "string" - }, - "homePageInfo": { - "format": "int32", - "type": "integer" - }, - "homepagePagerankNs": { - "description": "The page-rank of the homepage of the site. Copied from the cdoc.doc().pagerank_ns() of the homepage.", - "format": "int32", - "type": "integer" - }, - "hostAge": { - "description": "The earliest firstseen date of all pages in this host/domain. These data are used in twiddler to sandbox fresh spam in serving time. It is 16 bit and the time is day number after 2005-12-31, and all the previous time are set to 0. If this url's host_age == domain_age, then omit domain_age Please use //spam/content/siteage-util.h to convert the day between epoch second. Regarding usage of Sentinel values: We would like to check if a value exists in scoring bundle while using in Ranklab AST. For this having a sentinel value will help us know if the field exists or has a sentinel value (in the case it does not exist). 16-bit", - "format": "int32", - "type": "integer" - }, - "hostNsr": { - "deprecated": true, - "description": "Site rank computed for host-level sitechunks. This value encodes nsr, site_pr and new_nsr. See quality_nsr::util::ConvertNsrDataToHostNsr and go/nsr. This field is deprecated - used the equivalent field inside nsr_data_proto instead.", - "format": "uint32", - "type": "integer" - }, - "imagedata": { - "$ref": "ImagePerDocData" - }, - "inNewsstand": { - "description": "This field indicates whether the document is in the newsstand corpus.", - "type": "boolean" - }, - "isHotdoc": { - "description": "Set by the FreshDocs instant doc joiner. See //indexing/instant/hotdocs/README and http://go/freshdocs-hotdocs.", - "type": "boolean" - }, - "kaltixdata": { - "$ref": "KaltixPerDocData" - }, - "knexAnnotation": { - "$ref": "SocialPersonalizationKnexAnnotation", - "description": "For indexing k'nex annotations for FreshDocs." - }, - "languages": { - "description": "Plausible languages in order of decreasing plausibility. Language values are small, IE \u003c 127 so this should compress to one byte each.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "lastSignificantUpdate": { - "description": "Last significant update of the document. This is sourced from the quality_timebased.LastSignificantUpdate proto as computed by the LSUSelector from various signals. The value is a UNIX timestamp in seconds.", - "format": "int64", - "type": "string" - }, - "lastSignificantUpdateInfo": { - "description": "Metadata about last significant update. Currently this only encodes the quality_timebased.LastSignificantUpdate.source field which contains the info on the source of the signal. NOTE: Please do not read the value directly. Use helpers from quality/timebased/lastsignificantupdate/lsu-helper.h instead.", - "format": "int64", - "type": "string" - }, - "launchAppInfo": { - "$ref": "QualityRichsnippetsAppsProtosLaunchAppInfoPerDocData", - "description": "Info on how to launch a mobile app to consume this document's content, if applicable (see go/calypso)." - }, - "liveResultsData": { - "$ref": "WeboftrustLiveResultsDocAttachments" - }, - "localizedCluster": { - "$ref": "IndexingDupsLocalizedLocalizedCluster", - "description": "Information on localized clusters, which is the relationship of translated and/or localized pages." - }, - "mediaOrPeopleEntities": { - "$ref": "ImageQualitySensitiveMediaOrPeopleEntities", - "description": "Contains the mids of the 5 most topical entities annotated with selected KG collections. This information is currently used on Image Search to detect cases where results converged to mostly a single person or media entity. More details: go/result-set-convergence." - }, - "noimageframeoverlayreason": { - "description": "If not 0, we should not show the image in overlay mode in image snippets", - "format": "int32", - "type": "integer" - }, - "nsrDataProto": { - "$ref": "QualityNsrNsrData", - "description": "Stripped site-level signals, not present in the explicit nsr_* fields, nor compressed_quality_signals." - }, - "nsrIsCovidLocalAuthority": { - "deprecated": true, - "description": "This field is propagated to shards. In addition, it is populated at serving time by go/web-signal-joins. This field is deprecated - used the equivalent field inside nsr_data_proto instead.", - "type": "boolean" - }, - "nsrIsElectionAuthority": { - "deprecated": true, - "description": "This field is propagated to shards. It will also be populated at serving time by go/web-signal-joins (see b/168114815). This field is deprecated - used the equivalent field inside nsr_data_proto instead.", - "type": "boolean" - }, - "nsrIsVideoFocusedSite": { - "deprecated": true, - "description": "This field is propagated to shards. It will also be populated at serving time by go/web-signal-joins (see b/170607253). Bit indicating whether this site is video-focused, but not hosted on any major known video hosting domains. This field is deprecated - used the equivalent field inside nsr_data_proto instead.", - "type": "boolean" - }, - "nsrSitechunk": { - "description": "SiteChunk computed for nsr. It some cases it can use more information than just url (e.g. youtube channels). See NsrAnnotator for details. If sitechunk is longer than --populate_nsr_sitechunk_max_length (default=100), it will not get populated. This field might be compressed and needs to be decoded with quality_nsr::util::DecodeNsrSitechunk. See go/nsr-chunks for more details. This field contains only nontrivial primary chunks.", - "type": "string" - }, - "numUrls": { - "description": "Total number of urls encoded in the url section = # of alternate urls + 1", - "format": "int32", - "type": "integer" - }, - "oceandata": { - "$ref": "OceanPerDocData", - "description": "28 bytes per page, only in the Ocean index" - }, - "onsiteProminence": { - "description": "Onsite prominence measures the importance of the document within its site. It is computed by propagating simulated traffic from the homepage and high craps click pages. It is a 13-bit int.", - "format": "uint32", - "type": "integer" - }, - "origin": { - "format": "int32", - "type": "integer" - }, - "originalTitleHardTokenCount": { - "description": "The number of hard tokens in the title.", - "format": "int32", - "type": "integer" - }, - "pageTags": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "pagerank": { - "description": "Experimental pageranks (DEPRECATED; only pagerank in MustangBasicInfo is used).", - "format": "float", - "type": "number" - }, - "pagerank0": { - "format": "float", - "type": "number" - }, - "pagerank1": { - "format": "float", - "type": "number" - }, - "pagerank2": { - "format": "float", - "type": "number" - }, - "pageregions": { - "description": "String that encodes the position ranges for different regions of the document. See \"indexer/pageregion.h\" for an explanation, and how to decode the string", - "type": "string" - }, - "phildata": { - "$ref": "PhilPerDocData", - "deprecated": true - }, - "productSitesInfo": { - "$ref": "QualityProductProductSiteData", - "description": "This field stores information about product sites." - }, - "queriesForWhichOfficial": { - "$ref": "OfficialPagesQuerySet", - "description": "The set of (query, country, language) triples for which this document is considered to be the official page. For example, www.britneyspears.com would be official for (\"britney spears\", \"us\", 0) and others (0 is English)." - }, - "rosettaLanguages": { - "description": "Top two document language BCP-47 codes as generated by the RosettaLanguageAnnotator in the decreasing order of probability.", - "items": { - "type": "string" - }, - "type": "array" - }, - "rsApplication": { - "$ref": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplication", - "description": "Application information associated to the document." - }, - "s3AudioLanguage": { - "$ref": "S3AudioLanguageS3AudioLanguage", - "description": "Primary video's audio language classified by S3 based Automatic Language Identification (only for watch pages)." - }, - "saftLanguageInt": { - "description": "Top document language as generated by SAFT LangID. For now we store bare minimum: just the top 1 language value, converted to the language enum, and only when different from the first value in 'languages'.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "scaledSelectionTierRank": { - "description": "Selection tier rank is a language normalized score ranging from 0-32767 over the serving tier (Base, Zeppelins, Landfills) for this document. This is converted back to fractional position within the index tier by scaled_selection_tier_rank/32767.", - "format": "int32", - "type": "integer" - }, - "scienceDoctype": { - "description": "Scholar/Science Document type: \u003c0 == not a Science Document -- default 0 == Science doc fully visible \u003e0 == Science doc but limited visibility, the number is the visible terms", - "format": "int32", - "type": "integer" - }, - "scienceHoldingsIds": { - "deprecated": true, - "description": "Deprecated 2016/01/14.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "semanticDate": { - "description": "SemanticDate, estimated date of the content of a document based on the contents of the document (via parsing), anchors and related documents. Date is encoded as a 32-bits UNIX date (1970 Jan 1 epoch). Confidence is encoded using a SemanticDate specific format. For details of encoding, please refer to quality/freshness/docclassifier/semanticdate/public/semantic_date.proto", - "format": "int32", - "type": "integer" - }, - "semanticDateConfidence": { - "description": "DEPRECATED: semantic_date_confidence replaced by semantic_date_info.", - "format": "int32", - "type": "integer" - }, - "semanticDateInfo": { - "description": "Info is encoded using a SemanticDate specific format. Contains confidence scores for day/month/year components as well as various meta data required by the freshness twiddlers.", - "format": "int32", - "type": "integer" - }, - "servingTimeClusterIds": { - "$ref": "IndexingDocjoinerServingTimeClusterIds", - "description": "A set of cluster ids which are generated in Alexandria and used to de-dup results at serving time." - }, - "shingleInfo": { - "$ref": "ShingleInfoPerDocData" - }, - "smartphoneData": { - "$ref": "SmartphonePerDocData", - "description": "Additional metadata for smartphone documents in the Google index." - }, - "smearingMaxTotalOffdomainAnchors": { - "format": "int32", - "type": "integer" - }, - "socialgraphNodeNameFp": { - "description": "For Social Search we store the fingerprint of the SG node name. This is used in one of the superroot's PRE_DOC twiddlers as a lookup key for the full Social Search data. PRE_DOC = twiddlers firing before the DocInfo request is sent to the mustang backend.", - "format": "uint64", - "type": "string" - }, - "spamCookbookAction": { - "$ref": "SpamCookbookAction", - "description": "Actions based on Cookbook recipes that match the page." - }, - "spamMuppetSignals": { - "$ref": "SpamMuppetjoinsMuppetSignals", - "description": "Contains hacked site signals which will be used in query time joins. As of Oct'19, the field is stored in a separate corpus. It'll only be populated for in-flight requests between retrieve and full-score in perdocdata. So no extra storage is needed on muppet side." - }, - "spambrainData": { - "$ref": "SpamBrainData", - "description": "Host-v1 sitechunk level scores coming from spambrain." - }, - "spambrainDomainSitechunkData": { - "$ref": "SpamBrainData", - "description": "Domain sitechunk level scores coming from spambrain." - }, - "spambrainTotalDocSpamScore": { - "description": "The document total spam score identified by spambrain, going from 0 to 1.", - "format": "float", - "type": "number" - }, - "spamrank": { - "description": "The spamrank measures the likelihood that this document links to known spammers. Its value is between 0 and 65535.", - "format": "int32", - "type": "integer" - }, - "spamtokensContentScore": { - "description": "For SpamTokens content scores. Used in SiteBoostTwiddler to determine whether a page is UGC Spam. See go/spamtokens-dd for details.", - "format": "float", - "type": "number" - }, - "timeSensitivity": { - "description": "Encoded Document Time Sensitivity signal.", - "format": "uint32", - "type": "integer" - }, - "titleHardTokenCountWithoutStopwords": { - "description": "Number of hard tokens originally in title without counting the stopwords.", - "format": "int32", - "type": "integer" - }, - "toolbarPagerank": { - "description": "A copy of the value stored in /namespace/indexing/wwwglobal//fakepr/* for this document. A value of quality_bakery::FakeprUtils::kUnknownToolbarPagerank indicates that we don't have toolbar pagerank for this document. A value between 0 and 10 (inclusive) means that this is the toolbar pagerank of the page. Finally, if this value is not set it means that the toolbar pagerank is equivalent to: quality_bakery::FakeprUtils::EstimatePreDemotionFromPagerankNearestSeeds( basic_info.pagerank_ns()) called on the MustangBasicInfo attachment for the same document.", - "format": "int32", - "type": "integer" - }, - "topPetacatTaxId": { - "description": "Top petacat of the site. Used in SiteboostTwiddler to determine result/query matching.", - "format": "int32", - "type": "integer" - }, - "topPetacatWeight": { - "format": "float", - "type": "number" - }, - "travelGoodSitesInfo": { - "$ref": "QualityTravelGoodSitesData", - "description": "This field stores information about good travel sites." - }, - "trendspamScore": { - "description": "For now, the count of matching trendspam queries.", - "format": "int32", - "type": "integer" - }, - "tundraClusterId": { - "deprecated": true, - "description": "This field is propagated to shards. Stores clustering information on a site level for the Tundra project. This field is deprecated - used the equivalent field inside nsr_data_proto instead.", - "format": "int32", - "type": "integer" - }, - "uacSpamScore": { - "description": "The uac spam score is represented in 7 bits, going from 0 to 127. Threshold is 64. Score \u003e= 64 is considered as uac spam.", - "format": "int32", - "type": "integer" - }, - "urlAfterRedirectsFp": { - "description": "These two fingerprints are used for de-duping results in a twiddler. They should only be populated by freshdocs, and will only be present for documents that are chosen to be canonicals in a cluster whose previous canonical is also in the index. Additionally, url_after_redirects_fp is only present if it is different from a fingerprint of the URL.", - "format": "uint64", - "type": "string" - }, - "urlPoisoningData": { - "$ref": "UrlPoisoningData", - "description": "Contains url poisoning data for suppressing spam documents." - }, - "v2KnexAnnotation": { - "$ref": "QualitySherlockKnexAnnotation", - "description": "For indexing v2 k'nex, see/go/knex-v2-doc-annotation for details." - }, - "videoCorpusDocid": { - "format": "uint64", - "type": "string" - }, - "videoLanguage": { - "$ref": "QualityVidyaVideoLanguageVideoLanguage", - "description": "Audio-based language classified by Automatic Language Identification (only for watch pages)." - }, - "videodata": { - "$ref": "VideoPerDocData" - }, - "voltData": { - "$ref": "IndexingMobileVoltVoltPerDocData", - "description": "Contains page UX signals for VOLT ranking change. See http://ariane/4025970 for more details." - }, - "watchpageLanguageResult": { - "$ref": "WatchpageLanguageWatchPageLanguageResult", - "description": "Language classified by the WatchPageLanguage Model (go/watchpage-language). Only present for watch pages." - }, - "webmirrorEcnFp": { - "format": "uint64", - "type": "string" - }, - "webrefEntities": { - "$ref": "RepositoryWebrefWebrefMustangAttachment", - "description": "WebRef entities associated to the document. See go/webref for details." - }, - "ymylHealthScore": { - "description": "Stores scores of ymyl health classifier as defined at go/ymyl-classifier-dd. To use this field, you MUST join g/pq-classifiers-announce and add your use case at http://shortn/_nfg9oAldou.", - "format": "uint32", - "type": "integer" - }, - "ymylNewsScore": { - "description": "Stores scores of ymyl news classifier as defined at go/ymyl-classifier-dd. To use this field, you MUST join g/pq-classifiers-announce and add your use case at http://shortn/_nfg9oAldou.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "PerDocDebugEvent": { - "description": "Free form debug information from various components.", - "id": "PerDocDebugEvent", - "properties": { - "Message": { - "description": "depends on the source", - "type": "string" - }, - "Source": { - "description": "source tag, helps interpret value/message", - "type": "string" - }, - "Timestamp": { - "description": "seconds since the epoch", - "format": "int32", - "type": "integer" - }, - "Value": { - "description": "depends on the source", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "PersonalizationMapsAliasAliasId": { - "description": "A unique association of an AliasType and a number to identify this alias.", - "id": "PersonalizationMapsAliasAliasId", - "properties": { - "subId": { - "description": "A unique identifier for this alias, this identifier is unique to the type of this Alias. This means that aliases of different types can have the same sub_id, hence always use the full AliasId message to refer to an alias, not this field only. Because HOME and WORK aliases are unique, aliases of type HOME or WORK always have sub_id 0.", - "format": "uint64", - "type": "string" - }, - "type": { - "enum": [ - "UNKNOWN_ALIAS_TYPE", - "HOME", - "WORK", - "CONTACT", - "NICKNAME" - ], - "enumDescriptions": [ - "", - "", - "", - "CONTACT is only for internal use by Maps Personalization Server. SetAlias and DeleteAlias RPCs will not accept this type.", - "Alias is a user-entered string stored in nickname field." - ], - "type": "string" - } - }, - "type": "object" - }, - "PersonalizationMapsAliasIcon": { - "description": "A subset of an Alias that is stored on kansas max. It is used in Search for alias resolution and in Maps to show icons quickly on basetiles. Next ID: 18", - "id": "PersonalizationMapsAliasIcon", - "properties": { - "aliasId": { - "$ref": "PersonalizationMapsAliasAliasId", - "description": "The id of the alias associated with this point. This is used to query for details for the info window and to display different icons depending on the AliasType contained in this message." - }, - "droppedPinS2cellId": { - "description": "If this is a dropped pin alias, the leaf (level 30) S2 cell ID corresponding to the aliased lat/lng. Calculated once and stored here so that it can safely be used as an identifier across clients without risk of rounding differences leading to different values.", - "format": "uint64", - "type": "string" - }, - "featureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "The featureid that was associated with the alias when it was saved. If this is not set the lat/lng in 'point' is the aliased entity, i.e. this is a dropped pin alias." - }, - "featureName": { - "description": "For non-address feature aliases (e.g. businesses), the name of the feature (formatted from the FeatureProto) when it was saved.", - "type": "string" - }, - "featureType": { - "description": "The type of the feature associated with the alias.", - "enum": [ - "TYPE_ANY", - "TYPE_TRANSPORTATION", - "TYPE_ROUTE", - "TYPE_DEPRECATED_HIGHWAY_DO_NOT_USE", - "TYPE_HIGHWAY", - "TYPE_HIGHWAY_1", - "TYPE_HIGHWAY_2", - "TYPE_HIGHWAY_3", - "TYPE_HIGHWAY_4", - "TYPE_HIGHWAY_5", - "TYPE_HIGHWAY_6", - "TYPE_HIGHWAY_7", - "TYPE_HIGHWAY_8", - "TYPE_HIGHWAY_9", - "TYPE_BICYCLE_ROUTE", - "TYPE_TRAIL", - "TYPE_SEGMENT", - "TYPE_ROAD", - "TYPE_RAILWAY", - "TYPE_STANDARD_TRACK", - "TYPE_JR_TRACK", - "TYPE_NARROW_TRACK", - "TYPE_MONORAIL_TRACK", - "TYPE_SUBWAY_TRACK", - "TYPE_LIGHT_RAIL_TRACK", - "TYPE_BROAD_TRACK", - "TYPE_HIGH_SPEED_RAIL", - "TYPE_TROLLEY_TRACK", - "TYPE_FERRY", - "TYPE_FERRY_BOAT", - "TYPE_FERRY_TRAIN", - "TYPE_VIRTUAL_SEGMENT", - "TYPE_INTERSECTION", - "TYPE_TRANSIT", - "TYPE_TRANSIT_STATION", - "TYPE_BUS_STATION", - "TYPE_TRAMWAY_STATION", - "TYPE_TRAIN_STATION", - "TYPE_SUBWAY_STATION", - "TYPE_FERRY_TERMINAL", - "TYPE_AIRPORT", - "TYPE_AIRPORT_CIVIL", - "TYPE_AIRPORT_MILITARY", - "TYPE_AIRPORT_MIXED", - "TYPE_HELIPORT", - "TYPE_SEAPLANE_BASE", - "TYPE_AIRSTRIP", - "TYPE_CABLE_CAR_STATION", - "TYPE_GONDOLA_LIFT_STATION", - "TYPE_FUNICULAR_STATION", - "TYPE_SPECIAL_STATION", - "TYPE_HORSE_CARRIAGE_STATION", - "TYPE_MONORAIL_STATION", - "TYPE_SEAPORT", - "TYPE_TRANSIT_STOP", - "TYPE_TRANSIT_TRIP", - "TYPE_TRANSIT_DEPARTURE", - "TYPE_TRANSIT_LEG", - "TYPE_TRANSIT_LINE", - "TYPE_TRANSIT_AGENCY_DEPRECATED_VALUE", - "TYPE_TRANSIT_TRANSFER", - "TYPE_SEGMENT_PATH", - "TYPE_ROAD_SIGN", - "TYPE_INTERSECTION_GROUP", - "TYPE_PATHWAY", - "TYPE_RESTRICTION_GROUP", - "TYPE_TOLL_CLUSTER", - "TYPE_POLITICAL", - "TYPE_COUNTRY", - "TYPE_ADMINISTRATIVE_AREA", - "TYPE_ADMINISTRATIVE_AREA1", - "TYPE_US_STATE", - "TYPE_GB_COUNTRY", - "TYPE_JP_TODOUFUKEN", - "TYPE_ADMINISTRATIVE_AREA2", - "TYPE_GB_FORMER_POSTAL_COUNTY", - "TYPE_GB_TRADITIONAL_COUNTY", - "TYPE_ADMINISTRATIVE_AREA3", - "TYPE_ADMINISTRATIVE_AREA4", - "TYPE_ADMINISTRATIVE_AREA5", - "TYPE_ADMINISTRATIVE_AREA6", - "TYPE_ADMINISTRATIVE_AREA7", - "TYPE_ADMINISTRATIVE_AREA8", - "TYPE_ADMINISTRATIVE_AREA9", - "TYPE_COLLOQUIAL_AREA", - "TYPE_RESERVATION", - "TYPE_LOCALITY", - "TYPE_GB_POST_TOWN", - "TYPE_JP_GUN", - "TYPE_JP_SHIKUCHOUSON", - "TYPE_JP_SUB_SHIKUCHOUSON", - "TYPE_COLLOQUIAL_CITY", - "TYPE_SUBLOCALITY", - "TYPE_US_BOROUGH", - "TYPE_GB_DEPENDENT_LOCALITY", - "TYPE_JP_OOAZA", - "TYPE_JP_KOAZA", - "TYPE_JP_GAIKU", - "TYPE_GB_DOUBLE_DEPENDENT_LOCALITY", - "TYPE_JP_CHIBAN", - "TYPE_JP_EDABAN", - "TYPE_SUBLOCALITY1", - "TYPE_SUBLOCALITY2", - "TYPE_SUBLOCALITY3", - "TYPE_SUBLOCALITY4", - "TYPE_SUBLOCALITY5", - "TYPE_NEIGHBORHOOD", - "TYPE_CONSTITUENCY", - "TYPE_DESIGNATED_MARKET_AREA", - "TYPE_SCHOOL_DISTRICT", - "TYPE_LAND_PARCEL", - "TYPE_DISPUTED_AREA", - "TYPE_POLICE_JURISDICTION", - "TYPE_STATISTICAL_AREA", - "TYPE_CONSTITUENCY_FUTURE", - "TYPE_PARK", - "TYPE_GOLF_COURSE", - "TYPE_LOCAL_PARK", - "TYPE_NATIONAL_PARK", - "TYPE_US_NATIONAL_PARK", - "TYPE_US_NATIONAL_MONUMENT", - "TYPE_NATIONAL_FOREST", - "TYPE_PROVINCIAL_PARK", - "TYPE_PROVINCIAL_FOREST", - "TYPE_CAMPGROUNDS", - "TYPE_HIKING_AREA", - "TYPE_BUSINESS", - "TYPE_GOVERNMENT", - "TYPE_BORDER_CROSSING", - "TYPE_CITY_HALL", - "TYPE_COURTHOUSE", - "TYPE_EMBASSY", - "TYPE_LIBRARY", - "TYPE_SCHOOL", - "TYPE_UNIVERSITY", - "TYPE_EMERGENCY", - "TYPE_HOSPITAL", - "TYPE_PHARMACY", - "TYPE_POLICE", - "TYPE_FIRE", - "TYPE_DOCTOR", - "TYPE_DENTIST", - "TYPE_VETERINARIAN", - "TYPE_TRAVEL_SERVICE", - "TYPE_LODGING", - "TYPE_RESTAURANT", - "TYPE_GAS_STATION", - "TYPE_PARKING", - "TYPE_POST_OFFICE", - "TYPE_REST_AREA", - "TYPE_CASH_MACHINE", - "TYPE_CAR_RENTAL", - "TYPE_CAR_REPAIR", - "TYPE_SHOPPING", - "TYPE_GROCERY", - "TYPE_TOURIST_DESTINATION", - "TYPE_ECO_TOURIST_DESTINATION", - "TYPE_BIRD_WATCHING", - "TYPE_FISHING", - "TYPE_HUNTING", - "TYPE_NATURE_RESERVE", - "TYPE_TEMPLE", - "TYPE_CHURCH", - "TYPE_GURUDWARA", - "TYPE_HINDU_TEMPLE", - "TYPE_MOSQUE", - "TYPE_SYNAGOGUE", - "TYPE_STADIUM", - "TYPE_BAR", - "TYPE_MOVIE_RENTAL", - "TYPE_COFFEE", - "TYPE_GOLF", - "TYPE_BANK", - "TYPE_DOODLE", - "TYPE_GROUNDS", - "TYPE_AIRPORT_GROUNDS", - "TYPE_BUILDING_GROUNDS", - "TYPE_CEMETERY", - "TYPE_HOSPITAL_GROUNDS", - "TYPE_INDUSTRIAL", - "TYPE_MILITARY", - "TYPE_SHOPPING_CENTER", - "TYPE_SPORTS_COMPLEX", - "TYPE_UNIVERSITY_GROUNDS", - "TYPE_DEPRECATED_TARMAC", - "TYPE_ENCLOSED_TRAFFIC_AREA", - "TYPE_PARKING_LOT", - "TYPE_PARKING_GARAGE", - "TYPE_OFF_ROAD_AREA", - "TYPE_BORDER", - "TYPE_BUILDING", - "TYPE_GEOCODED_ADDRESS", - "TYPE_NATURAL_FEATURE", - "TYPE_TERRAIN", - "TYPE_SAND", - "TYPE_BEACH", - "TYPE_DUNE", - "TYPE_ROCKY", - "TYPE_ICE", - "TYPE_GLACIER", - "TYPE_BUILT_UP_AREA", - "TYPE_VEGETATION", - "TYPE_SHRUBBERY", - "TYPE_WOODS", - "TYPE_AGRICULTURAL", - "TYPE_GRASSLAND", - "TYPE_TUNDRA", - "TYPE_DESERT", - "TYPE_SALT_FLAT", - "TYPE_WATER", - "TYPE_OCEAN", - "TYPE_BAY", - "TYPE_BIGHT", - "TYPE_LAGOON", - "TYPE_SEA", - "TYPE_STRAIT", - "TYPE_INLET", - "TYPE_FJORD", - "TYPE_LAKE", - "TYPE_SEASONAL_LAKE", - "TYPE_RESERVOIR", - "TYPE_POND", - "TYPE_RIVER", - "TYPE_RAPIDS", - "TYPE_DISTRIBUTARY", - "TYPE_CONFLUENCE", - "TYPE_WATERFALL", - "TYPE_SPRING", - "TYPE_GEYSER", - "TYPE_HOT_SPRING", - "TYPE_SEASONAL_RIVER", - "TYPE_WADI", - "TYPE_ESTUARY", - "TYPE_WETLAND", - "TYPE_WATER_NAVIGATION", - "TYPE_FORD", - "TYPE_CANAL", - "TYPE_HARBOR", - "TYPE_CHANNEL", - "TYPE_REEF", - "TYPE_REEF_FLAT", - "TYPE_REEF_GROWTH", - "TYPE_REEF_EXTENT", - "TYPE_REEF_ROCK_SUBMERGED", - "TYPE_IRRIGATION", - "TYPE_DAM", - "TYPE_DRINKING_WATER", - "TYPE_CURRENT", - "TYPE_WATERING_HOLE", - "TYPE_TECTONIC", - "TYPE_WATERING_HOLE_DEPRECATED", - "TYPE_VOLCANO", - "TYPE_LAVA_FIELD", - "TYPE_FISSURE", - "TYPE_FAULT", - "TYPE_LAND_MASS", - "TYPE_CONTINENT", - "TYPE_ISLAND", - "TYPE_ATOLL", - "TYPE_OCEAN_ROCK_EXPOSED", - "TYPE_CAY", - "TYPE_PENINSULA", - "TYPE_ISTHMUS", - "TYPE_ELEVATED", - "TYPE_PEAK", - "TYPE_NUNATAK", - "TYPE_SPUR", - "TYPE_PASS", - "TYPE_PLATEAU", - "TYPE_RIDGE", - "TYPE_RAVINE", - "TYPE_CRATER", - "TYPE_KARST", - "TYPE_CLIFF", - "TYPE_VISTA", - "TYPE_DIGITAL_ELEVATION_MODEL", - "TYPE_UPLAND", - "TYPE_TERRACE", - "TYPE_SLOPE", - "TYPE_CONTOUR_LINE", - "TYPE_PAN", - "TYPE_UNSTABLE_HILLSIDE", - "TYPE_MOUNTAIN_RANGE", - "TYPE_UNDERSEA", - "TYPE_SUBMARINE_SEAMOUNT", - "TYPE_SUBMARINE_RIDGE", - "TYPE_SUBMARINE_GAP", - "TYPE_SUBMARINE_PLATEAU", - "TYPE_SUBMARINE_DEEP", - "TYPE_SUBMARINE_VALLEY", - "TYPE_SUBMARINE_BASIN", - "TYPE_SUBMARINE_SLOPE", - "TYPE_SUBMARINE_CLIFF", - "TYPE_SUBMARINE_PLAIN", - "TYPE_SUBMARINE_FRACTURE_ZONE", - "TYPE_CAVE", - "TYPE_ROCK", - "TYPE_ARCHIPELAGO", - "TYPE_POSTAL", - "TYPE_POSTAL_CODE", - "TYPE_POSTAL_CODE_PREFIX", - "TYPE_PREMISE", - "TYPE_SUB_PREMISE", - "TYPE_SUITE", - "TYPE_POST_TOWN", - "TYPE_POSTAL_ROUND", - "TYPE_META_FEATURE", - "TYPE_DATA_SOURCE", - "TYPE_LOCALE", - "TYPE_TIMEZONE", - "TYPE_BUSINESS_CHAIN", - "TYPE_PHONE_NUMBER_PREFIX", - "TYPE_PHONE_NUMBER_AREA_CODE", - "TYPE_BUSINESS_CORRIDOR", - "TYPE_ADDRESS_TEMPLATE", - "TYPE_TRANSIT_AGENCY", - "TYPE_FUTURE_GEOMETRY", - "TYPE_EVENT", - "TYPE_EARTHQUAKE", - "TYPE_HURRICANE", - "TYPE_WEATHER_CONDITION", - "TYPE_TRANSIENT", - "TYPE_ENTRANCE", - "TYPE_CARTOGRAPHIC", - "TYPE_HIGH_TENSION", - "TYPE_SKI_TRAIL", - "TYPE_SKI_LIFT", - "TYPE_SKI_BOUNDARY", - "TYPE_WATERSHED_BOUNDARY", - "TYPE_TARMAC", - "TYPE_WALL", - "TYPE_PICNIC_AREA", - "TYPE_PLAY_GROUND", - "TYPE_TRAIL_HEAD", - "TYPE_GOLF_TEEING_GROUND", - "TYPE_GOLF_PUTTING_GREEN", - "TYPE_GOLF_ROUGH", - "TYPE_GOLF_SAND_BUNKER", - "TYPE_GOLF_FAIRWAY", - "TYPE_GOLF_HOLE", - "TYPE_DEPRECATED_GOLF_SHOP", - "TYPE_CAMPING_SITE", - "TYPE_DESIGNATED_BARBECUE_PIT", - "TYPE_DESIGNATED_COOKING_AREA", - "TYPE_CAMPFIRE_PIT", - "TYPE_WATER_FOUNTAIN", - "TYPE_LITTER_RECEPTACLE", - "TYPE_LOCKER_AREA", - "TYPE_ANIMAL_ENCLOSURE", - "TYPE_CARTOGRAPHIC_LINE", - "TYPE_ESTABLISHMENT", - "TYPE_ESTABLISHMENT_GROUNDS", - "TYPE_ESTABLISHMENT_BUILDING", - "TYPE_ESTABLISHMENT_POI", - "TYPE_ESTABLISHMENT_SERVICE", - "TYPE_CELESTIAL", - "TYPE_ROAD_MONITOR", - "TYPE_PUBLIC_SPACES_AND_MONUMENTS", - "TYPE_STATUE", - "TYPE_TOWN_SQUARE", - "TYPE_LEVEL", - "TYPE_COMPOUND", - "TYPE_COMPOUND_GROUNDS", - "TYPE_COMPOUND_BUILDING", - "TYPE_COMPOUND_SECTION", - "TYPE_TERMINAL_POINT", - "TYPE_REGULATED_AREA", - "TYPE_LOGICAL_BORDER", - "TYPE_GCONCEPT_ONLY", - "TYPE_DO_NOT_USE_RESERVED_TO_CATCH_GENERATED_FILES", - "TYPE_UNKNOWN" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - false, - true, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - true, - true, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ], - "enumDescriptions": [ - "ABSTRACT", - "ABSTRACT", - "A route is any section of road (or rails, etc.) that has a name. This includes city streets as well as highways. Road segments can belong to multiple routes (e.g. El Camino, CA-82).", - "DEPRECATED", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "A designated bicycle route, whose segments may consist of any combination of bicycle paths, bicycle lanes, or city streets.", - "A designated trail, which may consist of paved walkways, dirt paths, fire road, streets or highways, etc.", - "ABSTRACT", - "", - "Railroads use several different incompatible track types.", - "", - "", - "", - "", - "", - "", - "", - "", - "Tracks for streetcars, cable-cars, etc. Ferries are services that are part of the road network but are not roads. They typically involve fares and scheduled departure times.", - "ABSTRACT", - "The vast majority of ferries are ferry boats.", - "Also called a \"car transport\", a ferry train is a rail service that carries passengers and their vehicles across undrivable terrain. The Channel Tunnel (\"Chunnel\") is the most famous example, but they are also common in the Alps where they connect neighboring valleys otherwise separated by impassable mountains.", - "Any plausible 1-dimensional path through a 2+ dimensional space, for the purposes of making graph-search-based routing possible. Such segments can be used to model paths through parking lots, squares, floors of buildings and other areas.", - "An intersection consists of a collection of segments that terminate at the same location. This is topological definition: it may not match what a typical user would think of as an \"intersection\". See TYPE_INTERSECTION_GROUP, below, for more information. Each segment terminating at an intersection has an \"endpoint type\" that specifies how that segment is terminated: stop sign, yield sign, three-way light, etc.", - "ABSTRACT", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "A transit line is a collection of transit legs, associated with some invariant properties of the trips that run over the legs. See also transitline.proto", - "TYPE_TRANSIT_AGENCY was moved to 0xC91. This deprecated enum value still exists for debugging purposes only.", - "DEPRECATED", - "ABSTRACT", - "Road sign features have names, point geometry, etc. They also have segment_path data (see below) which lists the segments that refer to the sign. See segment.proto for the reference from the segment to the road sign.", - "Our TYPE_INTERSECTION feature, above, models the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an \"intersection\". Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. This TYPE_INTERSECTION_GROUP is used to model the user's concept of a complex intersection.", - "RESERVED", - "A restriction group describes a set of segment restrictions that belong together and have a name or an associated event. See also restriction_group.proto", - "DEPRECATED", - "ABSTRACT", - "", - "ABSTRACT", - "", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "e.g. Silicon Valley", - "A reservation is a region collectively held or governed by indigenous people and officially recognized by the country’s government at the federal or state level. A reservation may be fully contained within an administrative feature or partially contained within two or more. These regions are referred to by different categorical names depending on country and even by state, including but not limited to: “Indian Reservations”, “Indian Reserves”, “Land Claim Settlement Lands”, “Indian Lands”, “Treaty Lands”, “Indigenous Territories”, etc. A reservation is not a historic indigenous territory boundary or a region which has applied for land rights but has not yet received official recognition.", - "", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "An entity widely considered to be a city, that may itself be made up of smaller political entities, some of which are cities/towns/villages themselves. For example, the colloquial view of Sydney, Australia actually comprises many smaller cities, but is regarded as a city itself. This type is not suitable for modeling official metro-/micropolitan or other statistical areas.", - "ABSTRACT", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "Designated Market Areas (or DMAs) are used by marketing and ratings companies (such as the Nielsen Media Research company) to describe geographical regions (such as the greater New York metropolitan area) that are covered by a set of television stations. (See http://www.schooldata.com/pdfs/DMA.pdf) In the United States, DMAs should have a DMA numeric ID name, tagged with the FLAG_DESIGNATED_MARKET_AREA_ID flag.", - "", - "", - "Eventually we'll have more data for disputed areas (e.g., who makes claims on the area, who has de facto control, etc.). For the moment, we just define a type so we can simply mark areas as disputed.", - "Boundaries representing the jurisdiction of a particular police station.", - "An area used for aggregating statistical data, eg, a census region. Note that TYPE_STATISTICAL_AREA has a third nibble so we can add an abstract parent above it later if need be at 0x2E1 (and rename TYPE_STATISTICAL_AREA as TYPE_STATISTICAL_AREA1).", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "A line representing the boundary between two features. See border.proto for details.", - "DEPRECATED", - "An association of a point with an address, with no other information.", - "ABSTRACT", - "Expanses of land that share common surface attributes. These areas would look more or less uniform from a high altitude.", - "", - "", - "", - "", - "", - "", - "Terrain that looks populated.", - "Terrain that is covered in vegetation.", - "", - "", - "", - "", - "", - "", - "A flat expanse of salt left by the evaporation of a body of salt water.", - "Features can be TYPE_WATER if we don't have enough information to properly type the body of water. TYPE_WATER is also used as the type for child features that compose a TYPE_RIVER feature.", - "One of the large salt-water bodies that covers most of the globe.", - "An ocean subdivision formed by a coastal indentation. Includes coves and gulfs.", - "An open body of water formed by a slight coastal indentation.", - "", - "An ocean subdivision more or less confined by land and islands.", - "A long narrow ocean subdivision. Includes sounds.", - "", - "", - "An inland body of standing water.", - "A lake that dries up part of the year.", - "An artificial body of water, possibly created by a dam, often used for irrigation or house use.", - "", - "An inland body of moving water, or parts associated with it in which there is little or no current (backwater).", - "", - "A branch which flows away from the main river. Includes deltas.", - "A place where two or more rivers join.", - "", - "A place where ground water flows naturally out of the ground.", - "", - "", - "A river that dries up part of the year.", - "A dry riverbed that occasionally receives flashfloods.", - "A place at the end of a river where fresh and salt water mix. Includes tidal creeks and limans.", - "Land that is usually flooded. Includes bogs, marshes, flats, moors, and swamps.", - "", - "A shallow place where water may be waded through.", - "A narrow passage used by boats. Normally artificial.", - "A deep place near a shore where ships commonly drop anchor.", - "A deep part in a body of water that is suitable for navigation. Includes narrows.", - "Rocks, coral, sandbars, or other features beneath the surface of the water that pose a hazard to passing ships. Includes shoals.", - "A relatively shallow zone of the back reef located closest to the shore, that may be exposed at low tide.", - "A small section of rocks, coral, sandbars, or other features beneath the surface of the water that forms part of a reef.", - "The full extent of the reef complex.", - "A submerged rock in the water.", - "Man-made (and sometimes natural) channels used to move water. This type was used for both dam structures and water that is hold back by dams. We should use TYPE_COMPOUND_BUILDING for dam structures and TYPE_RESERVOIR for water.", - "DEPRECATED", - "", - "Includes overfalls.", - "A natural depression filled with water where animals come to drink.", - "This type is incorrectly under TYPE_TECTONIC instead of TYPE_WATER. This was a mistake and is now fixed. See TYPE_WATERING_HOLE for the replacement.", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "", - "An exposed rock in the water.", - "A small, low-elevation, sandy island formed on the surface of coral reefs", - "A stretch of land projecting into water. Includes capes and spits.", - "A strip of land connecting two larger land masses, such as continents.", - "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.", - "Elevations that have a distinctive peak.", - "A peak or ridge of a mountain that extends through a glacier.", - "A subsidiary peak of a mountain.", - "A route over an otherwise difficult to traverse feature. Includes saddle.", - "Elevations that are flat on top. Includes mesas and buttes.", - "A ridge is a geographical feature consisting of a chain of mountains or hills that form a continuous elevated crest with a single ridgeline for some distance.", - "Steep declines usually carved by erosion. Includes valleys, canyons, ditches, and gorges.", - "Depressions causes by impact, explosion, and sometimes sink-holes.", - "Topography formed on limestone and gypsum by dissolution with sinkholes, caves, etc.", - "A vertical or nearly vertical slope. Includes escarpments.", - "An elevated place that is notable for having a good view. Raster digital elevation data. This is not a type to be used by providers or consumed by clients.", - "RESERVED", - "Land along streams higher than the alluvial plain or stream terrace.", - "", - "Land not so steep as a cliff, but changing elevation. Includes slides.", - "All the points on the polygon are at the same elevation.", - "A near-level shallow, natural depression or basin, usually containing an intermittent lake, pond, or pool.", - "", - "A series of mountains or hills ranged in a line and connected by high ground. Mountain ranges usually consist of many smaller ridges. For example, the Himalayas, the Andes. the Alps, etc.", - "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.", - "includes peaks, ranges, and spurs", - "", - "includes saddles", - "", - "", - "includes trenches and troughs", - "", - "", - "", - "", - "", - "Don't use 0xA7. Use 8 bits for additional types under TYPE_NATURAL_FEATURE, so we don't run out of space. The following are miscellaneous natural features that don't fit any of the categories above.", - "", - "A feature representing a group or chain of islands. ", - "ABSTRACT", - "This is the type for postal codes which are complete and independent enough that there should be a feature for them (e.g. US 5-digit ZIP codes). For even more detailed suffixes that further subdivide a postal code (such as the +4 component in US ZIP codes), store the information in a TYPE_POSTAL_CODE_SUFFIX address component. When a range or set of postal codes share the same geographical area, e.g. because a precise subdivision does not exist or this subdivision is unknown, this type is used for each individual postal code.", - "A prefix portion of a postal code which does not meet the requirements for TYPE_POSTAL_CODE, but which is useful to search for, for example UK outcodes.", - "DEPRECATED", - "DEPRECATED This is deprecated and we want to use TYPE_COMPOUND_SECTION instead.", - "DEPRECATED", - "The term \"post town\" is used for a locality-like-entity that is only used for postal addresses.", - "DEPRECATED", - "ABSTRACT", - "Every data source used in constructing a data repository has a corresponding feature that provides more information about that data source. The extra information is stored in the optional data_source field below.", - "A locale feature provides region specific conventions such as preferred language and formatting details for time, date, and currency values. Locales aren't necessary defined by physical geographic features, so they are classified as meta-features.", - "A timezone feature is used to specify the region covering an international timezone. When a point is covered by multiple timezone features, the most specific one can be used to compute the local time at this point. Most specific implies a much smaller region or the one that is closer to the center. A feature's timezone can be specified in the repeated related_timezone field.", - "A business chain feature is used to represent a chain, e.g. Starbucks, McDonald's, etc. Other features representing specific stores/franchises of this chain may refer to one such feature via RELATION_MEMBER_OF_CHAIN. This is not strictly reserved to commercial chains but can also be used to model organizations such as the Red Cross or the United Nations.", - "A phone number prefix feature is used to specify the region where phone numbers (typically fixed-line numbers) must begin with a certain prefix. Any phone number prefix down to any level of granularity could be represented by this type.", - "A phone number area code is a prefix which also coincides with the area code, or national destination code, of a particular region.", - "A Business Corridor is a dense cluster of semantically similar establishments. TYPE_BUSINESS_CORRIDOR features are distinguished from TYPE_COLLOQUIAL_AREA features because the corridors are not under the political hierarchy, are allowed to be nameless, and may not correspond to well-known real world locations. For more details, see go/geo-corridors-schema.", - "An address template feature provides region-specific conventions for structuring addresses. These features aren't necessarily defined by physical geographic features, so they are classified as meta-features.", - "A transit agency operates a number of lines, typically all in the same city, region or country. See also transitagency.proto", - "A feature whose geometry is planned to replace the geometry on another feature.", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "RESERVED", - "A portal of entry or exit to another feature. Examples: - Subway station entrance. - Parking lot entrance.", - "Cartographic features are used to capture real-world objects for which there is no current desire to model any specific attributes. These are only useful to make the map tiles look pretty.", - "DEPRECATED", - "Also see skitrail.proto", - "Also see skilift.proto", - "Also see skiboundary.proto", - "", - "Starting with TYPE_TARMAC, we use longer IDs, so that we can expand the number of feature types under TYPE_CARTOGRAPHIC.", - "Use TYPE_COMPOUND_GROUND and appropriate gcids for the next two.", - "DEPRECATED", - "DEPRECATED", - "", - "Sub-types within a golf course.", - "", - "", - "", - "", - "Use TYPE_ESTABLISHMENT_POI and gcid:golf_shop for golf shops instead.", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "Subtype within a zoo - a cage or fenced-off or otherwise delineated area containing animals.", - "A line for a cartographic detail. For example the international date line. Such features should have polyline geometry.", - "ABSTRACT This type is being replaced by TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2", - "DEPRECATED This type has been replaced by TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds", - "DEPRECATED", - "An establishment that has a physical location. Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", - "NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", - "The root of types of features that are in the sky, rather than on the earth. There will eventually be a hierarchy of types here.", - "Features responsible for monitoring traffic on roads (usually for speed). Includes cameras at particular points as well as monitors that cover larger spans. Features of this type should have a corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera or gcid:speed_camera_zone). This type was originally named as TYPE_ROAD_CAMERA.", - "ABSTRACT", - "Note that this type does not distinguish the nature of the statue (religious, historical, memorial, tourist, ...).", - "Open space used for events, gathering, or as market-place.", - "A feature used to represent a logical level, e.g. floor.", - "ABSTRACT", - "e.g. campus, compound, parcel.", - "e.g. single family dwelling, office building.", - "e.g. suite, room, hallway, cubicle.", - "A terminal point represents a good location for a user to meet a taxi, ridesharing vehicle, or general driver.", - "An area controlled in some way by an authoritative source, such as a government-designated COVID containment zone or an area under government sanctions. Features of this type should have one or more gcids corresponding to their specific regulation, and client handling of these features may vary based on the type of regulation.", - "A grouping of TYPE_BORDER features (\"border segments\"), which together represent a border between two features of the same type.", - "A generic feature type for any geo-type that cannot be modeled under existing feature types. No new feature type should be created within feature proto after this type.", - "DEPRECATED", - "A feature of completely unknown type. This should only be used when absolutely necessary. One example in which this type is useful is in the Chinese importer, which must heuristically segment addresses into components - it often does not know what types to make those components. Please note that the Oyster address formatter does not currently support address components of TYPE_UNKNOWN well." - ], - "type": "string" - }, - "formattedAddress": { - "description": "One-line geocoded address that this lat/lng represents at the time this alias was created by the user.", - "type": "string" - }, - "isAdsJoinCompliant": { - "description": "Indicates whether this alias is Ads join compliant for use by 3p clients. See go/ios_address and go/aliased-locations-provenance for more details. Please contact oolong-team@ for additional questions regarding usage of this field.", - "type": "boolean" - }, - "nickname": { - "description": "Free-text alias if alias type is NICKNAME. Otherwise unset. Limited to 40 characters.", - "type": "string" - }, - "point": { - "$ref": "GeostorePointProto", - "description": "lat/lng the icon is to be shown at." - }, - "ptoken": { - "$ref": "PtokenPToken", - "description": "Encapsulates the privacy policy relevant signals for this event. See go/kansas-embedded-ptokens for additional details. Keep the type fully qualified in case (when) we decide to make proto compiler enforce '.ptoken.PToken' as the only allowed type for the field number 9099. Hence, don't remove the leading '.'. See go/protobuf-ptoken-field for details around the 9099 field number." - }, - "stickerId": { - "description": "The id of the sticker asset chosen by the user to replace the default asset for the alias.", - "format": "uint32", - "type": "integer" - }, - "syntheticFeature": { - "description": "If the feature associated with the alias has synthetic_geometry.", - "type": "boolean" - }, - "timestamp": { - "description": "[INTERNAL ONLY] Last update of bigtable by kansas, in microseconds. Volatile only and not saved in kansas column. inmemory only because \u003e= 16.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "PersonalizationSettingsApiProtoLocalDiscoveryLocalDiscoverySettingsMetadata": { - "description": "Metadata related to LocalDiscoverySettings,e.g., dietary_restriction, cuisine and ingredient.", - "id": "PersonalizationSettingsApiProtoLocalDiscoveryLocalDiscoverySettingsMetadata", - "properties": { - "opaRecipesContext": { - "$ref": "PersonalizationSettingsApiProtoLocalDiscoveryOpaRecipesContext", - "description": "Contexts regarding the preferences from OPA_RECIPES." - }, - "uiEntryPoint": { - "description": "The UI entry point from which the entity preference was set.", - "enum": [ - "UNKNOWN_ENTRY_POINT", - "GEO_DISCOVERY", - "OPA_SETTINGS", - "OPA_RECIPES", - "OPA_RESTAURANTS" - ], - "enumDescriptions": [ - "", - "go/geo-preference-feedback-mvp. cschill@", - "https://screenshot.googleplex.com/gnKDdHrG9p3. glwang@, jdlevine@, encyclomedia@", - "https://screenshot.googleplex.com/X4dRwGipeGt. assistant-recipe-recs@", - "assistant-recipe-recs@" - ], - "type": "string" - } - }, - "type": "object" - }, - "PersonalizationSettingsApiProtoLocalDiscoveryOpaRecipesContext": { - "description": "LINT.IfChange Contexts regarding the preferences from OPA_RECIPES. For example, users can click a recipes and say they don't like one cuisine. OpaRecipesContext will contain the doc_id/url of that recipes.", - "id": "PersonalizationSettingsApiProtoLocalDiscoveryOpaRecipesContext", - "properties": { - "docId": { - "description": "The recipe doc id where the setting comes from.", - "type": "string" - }, - "url": { - "description": "The recipe url where the setting comes from.", - "type": "string" - } - }, - "type": "object" - }, - "PhilPerDocData": { - "id": "PhilPerDocData", - "properties": { - "PhilString": { - "description": "phil data , approx 70 bytes for top 500M", - "type": "string" - }, - "PhilVersion": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "PhotosAnimationMetadata": { - "id": "PhotosAnimationMetadata", - "properties": { - "durationMs": { - "description": "The duration of the animation or movie (not including any looping), in milliseconds. If there is only a single frame (and thus not animated), the duration will be 0.", - "format": "int64", - "type": "string" - }, - "loopCount": { - "description": "The number of times the animation plays. If 0, the animation will loop indefinitely. If positive, this number includes the initial playthrough. For example, a value of 3 means that each frame is shown 3 times.", - "format": "int32", - "type": "integer" - }, - "numFrames": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "PhotosDynamicDepthMetadata": { - "description": "Metadata pertaining to nested Dynamic Depth metadata. Currently this message is used to indicate the presence of dynamic depth.", - "id": "PhotosDynamicDepthMetadata", - "properties": { - "version": { - "description": "Currently there are two versions of DynamicDepth (go/ddv2). DynamicDepth photos without a set version should be assumed to be ddv1.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "PhotosFourCMetadata": { - "id": "PhotosFourCMetadata", - "properties": { - "caption": { - "type": "string" - }, - "copyright": { - "type": "string" - }, - "creator": { - "items": { - "type": "string" - }, - "type": "array" - }, - "credit": { - "type": "string" - } - }, - "type": "object" - }, - "PhotosGDepthMetadata": { - "description": "Metadata in the GDepth XMP block. Note that GDepth::Data is not copied into this message.", - "id": "PhotosGDepthMetadata", - "properties": { - "far": { - "description": "Depth map far plane distance.", - "format": "float", - "type": "number" - }, - "format": { - "description": "Depth map format.", - "type": "string" - }, - "imageHeight": { - "description": "Depth map source image height.", - "format": "int32", - "type": "integer" - }, - "imageWidth": { - "description": "Depth map source image width.", - "format": "int32", - "type": "integer" - }, - "mime": { - "description": "Depth map mime type.", - "type": "string" - }, - "near": { - "description": "Depth map near plane distance.", - "format": "float", - "type": "number" - }, - "units": { - "description": "Depth map units of distance.", - "type": "string" - } - }, - "type": "object" - }, - "PhotosHdrMetadata": { - "description": "HDR Metadata describes in what way an image expresses high dynamic range information (e.g. using a gainmap or a specialized color space).", - "id": "PhotosHdrMetadata", - "properties": { - "baseFormat": { - "$ref": "PhotosHdrMetadataBaseFormat" - }, - "gainmap": { - "$ref": "PhotosHdrMetadataGainmap", - "description": "Indicates the presence of some kind of gainmap-utilizing format." - } - }, - "type": "object" - }, - "PhotosHdrMetadataBaseFormat": { - "description": "Information about the base image. If there is a gain map, this refers to the primary image; otherwise, it just refers to the single HDR image.", - "id": "PhotosHdrMetadataBaseFormat", - "properties": { - "hdrColorSpace": { - "description": "Indicates that the base image uses an HDR color space. Assume HDR if and only if this is set.", - "enum": [ - "HDR_COLOR_SPACE_UNSPECIFIED", - "PQ", - "HLG" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "PhotosHdrMetadataGainmap": { - "description": "Details about gainmap-based HDR formats (e.g. go/ghdr). Notably, images can adhere to multiple gainmap specifications concurrently.", - "id": "PhotosHdrMetadataGainmap", - "properties": { - "adobeHdr": { - "description": "Indicates that this image can be processed as an Adobe HDR (FlexDR) image by reading the MPF segments.", - "type": "boolean" - }, - "appleHdr": { - "description": "Indicates that this image can be processed as an Apple HDR image by reading the MPF segments (if JPEG) or HEIF segments (if HEIC).", - "type": "boolean" - }, - "googleHdr": { - "description": "Indicates that this image can be processed as a go/ghdr (UltraHDR) image by reading the GContainer in the primary XMP block.", - "type": "boolean" - } - }, - "type": "object" - }, - "PhotosImageMetadata": { - "description": "Next tag value: 384.", - "id": "PhotosImageMetadata", - "properties": { - "DEPRECATEDBlendingtype": { - "deprecated": true, - "type": "string" - }, - "DEPRECATEDGpstimestamp": { - "deprecated": true, - "description": "This field was originally marked incorrectly as optional (rather than repeated). In order to fix it, the first field has been marked as deprecated and replaced with a field with a new name and tag number.", - "format": "float", - "type": "number" - }, - "DEPRECATEDIscolor": { - "format": "int32", - "type": "integer" - }, - "DEPRECATEDLargestvalidinteriorrectheight": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "DEPRECATEDLargestvalidinteriorrectleft": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "DEPRECATEDLargestvalidinteriorrecttop": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "DEPRECATEDLargestvalidinteriorrectwidth": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "DEPRECATEDProcess": { - "format": "int32", - "type": "integer" - }, - "actionadvised": { - "type": "string" - }, - "addlmodelinfo": { - "type": "string" - }, - "advisory": { - "items": { - "type": "string" - }, - "type": "array" - }, - "altitude": { - "format": "double", - "type": "number" - }, - "animationMetadata": { - "$ref": "PhotosAnimationMetadata" - }, - "aperturefnumber": { - "format": "float", - "type": "number" - }, - "aperturevalue": { - "format": "float", - "type": "number" - }, - "artworkorobject": { - "items": { - "type": "string" - }, - "type": "array" - }, - "audioduration": { - "type": "string" - }, - "audiooutcue": { - "type": "string" - }, - "audiosamplingrate": { - "type": "string" - }, - "audiosamplingresolution": { - "type": "string" - }, - "audiotype": { - "type": "string" - }, - "author": { - "type": "string" - }, - "authorposition": { - "type": "string" - }, - "autoenhance": { - "description": "Indicates whether auto-enhance has been applied to the image.", - "type": "boolean" - }, - "baseurl": { - "type": "string" - }, - "bitDepth": { - "description": "The number of bits per pixel used to express a color. Most images have 8-bit depth and Photos/thumbnailer currently do not support more than 8 bits (except RAW).", - "format": "int32", - "type": "integer" - }, - "bitspersample": { - "description": "Start of reflected fields. These do not duplicate the above fields.", - "format": "int32", - "type": "integer" - }, - "brightnessvalue": { - "format": "float", - "type": "number" - }, - "burstuuid": { - "type": "string" - }, - "cameraid": { - "type": "string" - }, - "cameramake": { - "description": "Exif camera make", - "type": "string" - }, - "cameramodel": { - "description": "Exif camera model", - "type": "string" - }, - "caption": { - "description": "Caption embedded in IPTC", - "type": "string" - }, - "captionwriter": { - "type": "string" - }, - "capturesoftware": { - "type": "string" - }, - "category": { - "type": "string" - }, - "ccdwidth": { - "format": "float", - "type": "number" - }, - "celllength": { - "format": "int32", - "type": "integer" - }, - "cellwidth": { - "format": "int32", - "type": "integer" - }, - "certificate": { - "type": "string" - }, - "chromasubsampling": { - "description": "A typed representation that translates the values from ycbcrsubsampling.", - "enum": [ - "UNKNOWN_CHROMA_SUBSAMPLING", - "YCBCR410", - "YCBCR411", - "YCBCR420", - "YCBCR422", - "YCBCR444" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "ciadrcity": { - "type": "string" - }, - "ciadrctry": { - "type": "string" - }, - "ciadrextadr": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ciadrpcode": { - "type": "string" - }, - "ciadrregion": { - "type": "string" - }, - "ciemailwork": { - "type": "string" - }, - "citelwork": { - "type": "string" - }, - "city": { - "type": "string" - }, - "ciurlwork": { - "type": "string" - }, - "colormap": { - "format": "int32", - "type": "integer" - }, - "colorprofile": { - "description": "Indicates whether or not the source image had an embedded color profile.", - "type": "boolean" - }, - "colorspace": { - "format": "int32", - "type": "integer" - }, - "compressedbitsperpixel": { - "format": "float", - "type": "number" - }, - "compressionlevel": { - "format": "int32", - "type": "integer" - }, - "contact": { - "type": "string" - }, - "contentlocationcode": { - "items": { - "type": "string" - }, - "type": "array" - }, - "contentlocationname": { - "items": { - "type": "string" - }, - "type": "array" - }, - "contrast": { - "format": "int32", - "type": "integer" - }, - "contributor": { - "items": { - "type": "string" - }, - "type": "array" - }, - "copyrightnotice": { - "type": "string" - }, - "country": { - "type": "string" - }, - "countrycode": { - "type": "string" - }, - "coverage": { - "type": "string" - }, - "createdate": { - "type": "string" - }, - "credits": { - "type": "string" - }, - "croppedareaimageheightpixels": { - "format": "int32", - "type": "integer" - }, - "croppedareaimagewidthpixels": { - "format": "int32", - "type": "integer" - }, - "croppedarealeftpixels": { - "format": "int32", - "type": "integer" - }, - "croppedareatoppixels": { - "format": "int32", - "type": "integer" - }, - "customrendered": { - "format": "int32", - "type": "integer" - }, - "cvterm": { - "items": { - "type": "string" - }, - "type": "array" - }, - "date": { - "type": "string" - }, - "datecreated": { - "type": "string" - }, - "datesent": { - "type": "string" - }, - "datetime": { - "type": "string" - }, - "datetimedigitized": { - "type": "string" - }, - "daylightsavings": { - "description": "0 = no daylight savings, 1 = daylight savings enabled. Note that this field only represents whether the setting in the camera was turned on or off. It must not be used to modify the timestamp of the photo. That is, the capture time is already completely determined by exif_time, timezoneoffset and timezoneminutes.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "destination": { - "items": { - "type": "string" - }, - "type": "array" - }, - "destinationLatitude": { - "description": "+/- 90 inclusive", - "format": "double", - "type": "number" - }, - "destinationLongitude": { - "description": "+/- 180 inclusive", - "format": "double", - "type": "number" - }, - "digimageguid": { - "type": "string" - }, - "digitalsourcefiletype": { - "type": "string" - }, - "digitalsourcetype": { - "type": "string" - }, - "digitalzoomratio": { - "format": "float", - "type": "number" - }, - "distance": { - "format": "float", - "type": "number" - }, - "dynamicDepthMetadata": { - "$ref": "PhotosDynamicDepthMetadata", - "description": "DynamicDepth (go/dynamic-depth) metadata is described in the metadata of sub-images in the container. The presence of this field can be used to determine that an image is in the dynamic depth format." - }, - "editorialupdate": { - "type": "string" - }, - "editstatus": { - "type": "string" - }, - "envelopenumber": { - "type": "string" - }, - "envelopepriority": { - "type": "string" - }, - "event": { - "type": "string" - }, - "exif4c": { - "$ref": "PhotosFourCMetadata", - "description": "4C metadata (caption, copyright, creator, credit) specific to each of the three metadata segments (EXIF, XMP, IPTC). These are used to keep separate the 4C data from each segment so that we can properly preserve the per-segment 4C data on write (when PreserveLevel is set appropriately)." - }, - "exifTime": { - "description": "Timestamp embedded in the image. The value comes from the first valid date-time field extracted from the metadata in the order: 1) datecreated (ie. DateTimeOriginal) 2) datetimedigitized (ie. DateTimeDigitized) 3) datetime (ie. DateTime or last modified date) The type of this field is equivalent to a time_t (ie. number of seconds since the epoch - 00:00 hours, Jan 1, 1970) except that it is an int64 rather than an int.", - "format": "int64", - "type": "string" - }, - "exifTimeUtc": { - "description": "The exif_time_utc field is a UTC-based alternative to the exif_time field, which is in local time, rather than UTC. If they were not separate, clients would be unable to distinguish if the source were UTC- or local-based.", - "format": "int64", - "type": "string" - }, - "exifTimeUtcSource": { - "description": "The exif_time_utc_source indicates the source from which the exif_time_utc field is calculated.", - "enum": [ - "EXIF_TIME_SOURCE_UNKNOWN", - "GPS_DATE_TIME_STAMP" - ], - "enumDescriptions": [ - "", - "The value is calculated from the GPSTimeStamp and GPSDateStamp fields." - ], - "type": "string" - }, - "expirationdate": { - "type": "string" - }, - "expirationtime": { - "type": "string" - }, - "exposurebias": { - "format": "float", - "type": "number" - }, - "exposureindex": { - "format": "float", - "type": "number" - }, - "exposurelockused": { - "type": "boolean" - }, - "exposuremode": { - "format": "int32", - "type": "integer" - }, - "exposureprogram": { - "format": "int32", - "type": "integer" - }, - "exposuretime": { - "format": "float", - "type": "number" - }, - "extrasamples": { - "format": "int32", - "type": "integer" - }, - "fillorder": { - "format": "int32", - "type": "integer" - }, - "firmware": { - "type": "string" - }, - "firstphotodate": { - "type": "string" - }, - "fixtureidentifier": { - "type": "string" - }, - "flashcompensation": { - "format": "float", - "type": "number" - }, - "flashenergy": { - "format": "float", - "type": "number" - }, - "flashreturn": { - "format": "int32", - "type": "integer" - }, - "flashused": { - "format": "int32", - "type": "integer" - }, - "focallength": { - "format": "float", - "type": "number" - }, - "focallengthin35mmfilm": { - "format": "int32", - "type": "integer" - }, - "focalplaneunits": { - "format": "float", - "type": "number" - }, - "focalplanexres": { - "format": "float", - "type": "number" - }, - "format": { - "type": "string" - }, - "freebytecounts": { - "format": "int64", - "type": "string" - }, - "freeoffsets": { - "format": "int32", - "type": "integer" - }, - "fullpanoheightpixels": { - "format": "int32", - "type": "integer" - }, - "fullpanowidthpixels": { - "format": "int32", - "type": "integer" - }, - "function": { - "type": "boolean" - }, - "gaincontrol": { - "format": "int32", - "type": "integer" - }, - "gaudiomime": { - "type": "string" - }, - "gcameraburstid": { - "description": "A unique String. The property should be present and identical for all images that make up a burst. It should be unique across devices (UUID recommended). Unlike GCreations:CameraBurstId, we should use images with this property to create auto collages and animations.", - "type": "string" - }, - "gcameraburstprimary": { - "description": "A value of 1 indicates that this was the primary (“best shot”) at capture time. Within Photos we should only treat this image as the best shot if the user hasn’t made an explicit choice. Defining the initial primary allows consistency between OEMs, Photos clients, and the Photos backend. This value is optional, cameras are not required to set it on any photo in a burst. Clients will default to the 0th frame, but may run an algorithm to pick a better default.", - "format": "int32", - "type": "integer" - }, - "gcameradisableautocreation": { - "description": "The possible values are: “Animation”, “Collage”, “Pano”, “Movies”. Photos will avoid creating the listed types using the containing image or video. The property is optional. The property can be included multiple times to disable creation of multiple different types.", - "items": { - "type": "string" - }, - "type": "array" - }, - "gcameraisautoenhanced": { - "description": "Indicates that an OEM has applied auto enhance via Photos' API.", - "type": "boolean" - }, - "gcameramicrovideo": { - "description": "The following XMP metadata are used specifically for MicroVideo. More information about MicroVideo format can be found at go/photos-microvideo-format A value of 1 indicates that this file was a MicroVideo at capture time. Otherwise, this is not a MicroVideo (not set or 0).", - "format": "int32", - "type": "integer" - }, - "gcameramicrovideooffset": { - "description": "The offset in bytes from the end of the file to the point where the appended mp4 begins (equivalent to the length of the compressed mp4). This field might be provided in the original MicroVideo from client, but it might become invalid when the image component is edited, so it is expected that the thumbnailer will validate it and find the correct value (by scanning through the JPEG) if it is invalid. In other words, only a valid offset should be returned by thumbnailer.", - "format": "int32", - "type": "integer" - }, - "gcameramicrovideopresentationtimestampus": { - "description": "The presentation timestamp in microseconds of the video frame corresponding to the image still. Value may be -1 to denote unset/unspecified.", - "format": "int32", - "type": "integer" - }, - "gcameramicrovideoversion": { - "description": "Indicates the file format version of the MicroVideo (initially 1).", - "format": "int32", - "type": "integer" - }, - "gcameramotionphoto": { - "description": "An indication that this item should be treated as a Motion Photo. 0 -\u003e Not Motion Photo, 1 -\u003e Motion Photo, everything else is undefined per the spec. If it's a motion photo, the previous gcamera fields should be ignored.", - "format": "int32", - "type": "integer" - }, - "gcameramotionphotocreator": { - "description": "Indicates the creator of the Motion Photo. This will be set if the MotionPhoto was generated from a LivePhoto from the iOS to Android conversion tool.", - "type": "string" - }, - "gcameramotionphotopresentationtimestampus": { - "description": "The presentation timestamp in microseconds of the video frame corresponding to the image still. Value may be -1 to denote unset/unspecified.", - "format": "int32", - "type": "integer" - }, - "gcameramotionphotoversion": { - "description": "Indicates the Motion Photo version of the spec (initially 1).", - "format": "int32", - "type": "integer" - }, - "gcameraspecialtypeid": { - "description": "Camera creations metadata. The opaque id string created by the OEM. For bursts, this field should not be present. Instead, the two properties below will allow Photos to identify and provide special treatment for bursts.", - "type": "string" - }, - "gcreationscameraburstid": { - "type": "string" - }, - "gcreationstype": { - "description": "String representation of creation type. Should be one of {\"GCameraCollage\", \"GCameraAnimation\", \"GCameraGroupSmiles\", \"GPhotosCollage\", \"GPhotosAnimation\"}.", - "type": "string" - }, - "gdepthMetadata": { - "$ref": "PhotosGDepthMetadata" - }, - "gimagemime": { - "type": "string" - }, - "gpsdatestamp": { - "description": "This is in UTC time. Format is YYYY:mm:dd.", - "type": "string" - }, - "gpsdestbearing": { - "format": "float", - "type": "number" - }, - "gpsdestbearingref": { - "type": "string" - }, - "gpsdestdistance": { - "format": "float", - "type": "number" - }, - "gpsdestdistanceref": { - "type": "string" - }, - "gpsdestlatitude": { - "format": "float", - "type": "number" - }, - "gpsdestlatituderef": { - "type": "string" - }, - "gpsdestlongitude": { - "format": "float", - "type": "number" - }, - "gpsdestlongituderef": { - "type": "string" - }, - "gpsdifferential": { - "format": "int32", - "type": "integer" - }, - "gpsdop": { - "format": "float", - "type": "number" - }, - "gpsimgdirection": { - "format": "float", - "type": "number" - }, - "gpsimgdirectionref": { - "type": "string" - }, - "gpsmapdatum": { - "type": "string" - }, - "gpsmeasuremode": { - "type": "string" - }, - "gpssatellites": { - "type": "string" - }, - "gpsspeed": { - "format": "float", - "type": "number" - }, - "gpsspeedref": { - "type": "string" - }, - "gpsstatus": { - "type": "string" - }, - "gpstime": { - "description": "This is in UTC Time. Contains three floats: hour, minute and second. Supports subsecond resolution.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "gpstrack": { - "format": "float", - "type": "number" - }, - "gpstrackref": { - "type": "string" - }, - "grayresponsecurve": { - "format": "int32", - "type": "integer" - }, - "grayresponseunit": { - "format": "int32", - "type": "integer" - }, - "hasAlpha": { - "description": "The image has an alpha channel (potential transparency). If the image is decoded, this will be updated to indicate whether there is any active transparency. Formats supporting alpha: png, webp, gif, heif.", - "type": "boolean" - }, - "hdrMetadata": { - "$ref": "PhotosHdrMetadata", - "description": "Indicates that the image has some form of HDR present or available to it." - }, - "headline": { - "type": "string" - }, - "height": { - "format": "int32", - "type": "integer" - }, - "hostcomputer": { - "type": "string" - }, - "identifier": { - "items": { - "type": "string" - }, - "type": "array" - }, - "imagenumber": { - "type": "string" - }, - "imageorientation": { - "type": "string" - }, - "imagetype": { - "type": "string" - }, - "initialhorizontalfovdegrees": { - "format": "float", - "type": "number" - }, - "initialverticalfovdegrees": { - "format": "float", - "type": "number" - }, - "initialviewheadingdegrees": { - "format": "int32", - "type": "integer" - }, - "initialviewpitchdegrees": { - "format": "int32", - "type": "integer" - }, - "initialviewrolldegrees": { - "format": "int32", - "type": "integer" - }, - "instructions": { - "type": "string" - }, - "intellectualgenre": { - "type": "string" - }, - "interoperabilityindex": { - "type": "string" - }, - "iptc4c": { - "$ref": "PhotosFourCMetadata" - }, - "iptclastedited": { - "type": "string" - }, - "ismpformat": { - "description": "The image is a Multi-Picture Object.", - "type": "boolean" - }, - "isoequivalent": { - "format": "int32", - "type": "integer" - }, - "keyword": { - "items": { - "type": "string" - }, - "type": "array" - }, - "label": { - "type": "string" - }, - "language": { - "items": { - "type": "string" - }, - "type": "array" - }, - "languageidentifier": { - "type": "string" - }, - "lastphotodate": { - "type": "string" - }, - "latitude": { - "description": "GPS Info: +/- 90 inclusive", - "format": "double", - "type": "number" - }, - "lens": { - "type": "string" - }, - "lensid": { - "type": "string" - }, - "lensinfo": { - "type": "string" - }, - "lightsource": { - "format": "int32", - "type": "integer" - }, - "location": { - "type": "string" - }, - "locationshown": { - "items": { - "type": "string" - }, - "type": "array" - }, - "longitude": { - "description": "+/- 180 inclusive", - "format": "double", - "type": "number" - }, - "marked": { - "type": "boolean" - }, - "maxaperturevalue": { - "format": "float", - "type": "number" - }, - "maxavailheight": { - "format": "int32", - "type": "integer" - }, - "maxavailwidth": { - "format": "int32", - "type": "integer" - }, - "maxsamplevalue": { - "format": "int32", - "type": "integer" - }, - "metadatadate": { - "type": "string" - }, - "meteringmode": { - "format": "int32", - "type": "integer" - }, - "microvideooriginaloffset": { - "description": "This is similar to gcameramicrovideooffset, except it stores the unverified value that was provided in the motion photo file. This field is not part of the XMP or spec. It is used to ensure we preserve data from the original file when offset is modified.", - "format": "int32", - "type": "integer" - }, - "mimeType": { - "description": "Mime type of image", - "format": "int32", - "type": "integer" - }, - "minormodelagedisclosure": { - "type": "string" - }, - "minsamplevalue": { - "format": "int32", - "type": "integer" - }, - "mode": { - "format": "int32", - "type": "integer" - }, - "modelage": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "modelreleaseid": { - "items": { - "type": "string" - }, - "type": "array" - }, - "modelreleasestatus": { - "type": "string" - }, - "modifydate": { - "type": "string" - }, - "motionphotovideodataboxheader": { - "description": "The Motion Photo Video Data (MPVD) box header of a HEIF motion photo. It is used for reconstructing the original moton photo bytes. See go/photos-be-heic-motion-photos for more details.", - "format": "byte", - "type": "string" - }, - "nickname": { - "type": "string" - }, - "objectattributereference": { - "items": { - "type": "string" - }, - "type": "array" - }, - "objectcycle": { - "type": "string" - }, - "objecttypereference": { - "type": "string" - }, - "offsettime": { - "type": "string" - }, - "offsettimedigitized": { - "type": "string" - }, - "offsettimeoriginal": { - "type": "string" - }, - "organisationinimagecode": { - "items": { - "type": "string" - }, - "type": "array" - }, - "organisationinimagename": { - "items": { - "type": "string" - }, - "type": "array" - }, - "orientation": { - "description": "Exif camera orientation. \"1\" means \"no rotation\".", - "format": "int32", - "type": "integer" - }, - "originatingprogram": { - "type": "string" - }, - "owner": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ownername": { - "type": "string" - }, - "panoramaMetadata": { - "$ref": "PhotosPanoramaMetadata" - }, - "personinimage": { - "items": { - "type": "string" - }, - "type": "array" - }, - "photometricinterpretation": { - "format": "int32", - "type": "integer" - }, - "planarconfiguration": { - "format": "int32", - "type": "integer" - }, - "poseheadingdegrees": { - "format": "float", - "type": "number" - }, - "posepitchdegrees": { - "format": "float", - "type": "number" - }, - "poserolldegrees": { - "format": "float", - "type": "number" - }, - "primarychromaticities": { - "format": "float", - "type": "number" - }, - "productid": { - "items": { - "type": "string" - }, - "type": "array" - }, - "programversion": { - "type": "string" - }, - "projectiontype": { - "type": "string" - }, - "propertyreleaseid": { - "items": { - "type": "string" - }, - "type": "array" - }, - "propertyreleasestatus": { - "type": "string" - }, - "publisher": { - "items": { - "type": "string" - }, - "type": "array" - }, - "rating": { - "format": "float", - "type": "number" - }, - "redeyemode": { - "type": "boolean" - }, - "referenceblackwhite": { - "format": "float", - "type": "number" - }, - "referencedate": { - "items": { - "type": "string" - }, - "type": "array" - }, - "referencenumber": { - "items": { - "type": "string" - }, - "type": "array" - }, - "referenceservice": { - "items": { - "type": "string" - }, - "type": "array" - }, - "relatedimagefileformat": { - "type": "string" - }, - "relatedimageheight": { - "format": "int64", - "type": "string" - }, - "relatedimagewidth": { - "format": "int64", - "type": "string" - }, - "relatedsoundfile": { - "type": "string" - }, - "relation": { - "items": { - "type": "string" - }, - "type": "array" - }, - "releasedate": { - "type": "string" - }, - "releasetime": { - "type": "string" - }, - "resolutionunit": { - "format": "int32", - "type": "integer" - }, - "rotate": { - "deprecated": true, - "description": "This field is deprecated. Rotation is now accomplished via ImageInfo.exif_orientation and ImageInfo.edit_list. WARNING: the presence of rotate is used by FIFE to identify older images. Setting this (even to the correct number of degrees) on newer images can cause incorrectly rotated thumbnails. This was the cause of omg/58543 Number of degrees (0, 90, 180, 270)", - "format": "int32", - "type": "integer" - }, - "rowsperstrip": { - "format": "int64", - "type": "string" - }, - "samplesperpixel": { - "format": "int32", - "type": "integer" - }, - "saturation": { - "format": "int32", - "type": "integer" - }, - "scene": { - "items": { - "type": "string" - }, - "type": "array" - }, - "scenecapturetype": { - "format": "int32", - "type": "integer" - }, - "sensingmethod": { - "format": "int32", - "type": "integer" - }, - "sensorheight": { - "format": "float", - "type": "number" - }, - "sensorwidth": { - "format": "float", - "type": "number" - }, - "serialnumber": { - "type": "string" - }, - "serviceidentifier": { - "type": "string" - }, - "sharpness": { - "format": "int32", - "type": "integer" - }, - "shutterspeedvalue": { - "format": "float", - "type": "number" - }, - "software": { - "type": "string" - }, - "source": { - "type": "string" - }, - "sourcephotoscount": { - "format": "int32", - "type": "integer" - }, - "spectralsensitivity": { - "type": "string" - }, - "state": { - "type": "string" - }, - "stitchingsoftware": { - "type": "string" - }, - "stripbytecounts": { - "format": "int64", - "type": "string" - }, - "stripoffsets": { - "format": "int64", - "type": "string" - }, - "subjectarea": { - "format": "int32", - "type": "integer" - }, - "subjectcode": { - "items": { - "type": "string" - }, - "type": "array" - }, - "subjectdistancerange": { - "format": "int32", - "type": "integer" - }, - "subjectlocation": { - "format": "int32", - "type": "integer" - }, - "subjectreference": { - "items": { - "type": "string" - }, - "type": "array" - }, - "sublocation": { - "type": "string" - }, - "subsectime": { - "type": "string" - }, - "subsectimedigitized": { - "type": "string" - }, - "subsectimeoriginal": { - "type": "string" - }, - "supplementalcategory": { - "items": { - "type": "string" - }, - "type": "array" - }, - "thresholding": { - "format": "int32", - "type": "integer" - }, - "thumbnailerBuildCl": { - "description": "The build CL for the version of thumbnailer that built this image.", - "format": "int32", - "type": "integer" - }, - "timesent": { - "type": "string" - }, - "timezoneminutes": { - "description": "Remaining minutes of offset.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "timezoneoffset": { - "description": "The elements in the timezone and daylight savings field arrays correspond to the following date/time fields: 0) datecreated (ie. DateTimeOriginal) 1) datetime (ie. DateTime or last modified date) 2) datetimedigitized (ie. DateTimeDigitized) If the field does not exist, then there is no valid time zone information for that date/time field. Offset in hours.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "title": { - "type": "string" - }, - "transmissionreference": { - "type": "string" - }, - "type": { - "items": { - "type": "string" - }, - "type": "array" - }, - "uniqueid": { - "description": "For unique hash:", - "type": "string" - }, - "uno": { - "type": "string" - }, - "urgency": { - "type": "string" - }, - "url": { - "type": "string" - }, - "usageterms": { - "type": "string" - }, - "usepanoramaviewer": { - "description": "GPano-related fields. A handful of these have been deprecated due to a change in the spec since its initial design.", - "type": "boolean" - }, - "version": { - "type": "string" - }, - "webstatement": { - "type": "string" - }, - "whitebalance": { - "format": "int32", - "type": "integer" - }, - "whitepoint": { - "format": "float", - "type": "number" - }, - "width": { - "description": "width and height are before any rotation (including EXIF orientation).", - "format": "int32", - "type": "integer" - }, - "xmp4c": { - "$ref": "PhotosFourCMetadata" - }, - "xresolution": { - "format": "float", - "type": "number" - }, - "ycbcrcoefficients": { - "format": "float", - "type": "number" - }, - "ycbcrpositioning": { - "format": "int32", - "type": "integer" - }, - "ycbcrsubsampling": { - "format": "int32", - "type": "integer" - }, - "yresolution": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "PhotosPanoramaMetadata": { - "id": "PhotosPanoramaMetadata", - "properties": { - "sphericalPanorama": { - "type": "boolean" - }, - "vr180Panorama": { - "description": "True if the image is a VR180 image. See go/3d180 for details.", - "type": "boolean" - } - }, - "type": "object" - }, - "PhotosVisionGroundtruthdbNormalizedBoundingBox": { - "description": "Bounding box coordinates are relative to the width and height of the image. For example, if image is 100x200 and NormalizedBoundingBox is , the bounding box coordinates will be (10, 40) to (50, 180). Note parts of the bounding box may fall outside the image.", - "id": "PhotosVisionGroundtruthdbNormalizedBoundingBox", - "properties": { - "xmax": { - "format": "float", - "type": "number" - }, - "xmin": { - "format": "float", - "type": "number" - }, - "ymax": { - "format": "float", - "type": "number" - }, - "ymin": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "PhotosVisionObjectrecFeatureVector": { - "id": "PhotosVisionObjectrecFeatureVector", - "properties": { - "floatData": { - "description": "For single precision floating point data", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "PhotosVisionObjectrecGeoLocation": { - "description": "The geo-location of a single point, or of the \"center\" of a group of points.", - "id": "PhotosVisionObjectrecGeoLocation", - "properties": { - "altitudeMeters": { - "description": "Altitude of the point above the earth's surface, in meters.", - "format": "double", - "type": "number" - }, - "countryCode": { - "description": "Country code string.", - "type": "string" - }, - "fromGps": { - "description": "Indicates if the lat/lon above is assumed to come from a GPS device.", - "type": "boolean" - }, - "lat": { - "description": "Latitude in degrees north. Values south of the equator are negative.", - "format": "double", - "type": "number" - }, - "latErrorBound": { - "description": "When applied to a single point, represents the estimated error bounds of manual geotagging. The estimate is based on size of the bounding box of the map used for manual geotagging. When applied to a group of points, the error bounds represent the dispersion around the group center (lat/lon above). The dispersion in this case is computed as half the interquartile range. Reference: http://en.wikipedia.org/wiki/Interquartile_range (lat +/- lat_error_bound, lng +/- lng_error_bound).", - "format": "double", - "type": "number" - }, - "lon": { - "description": "Longitude in degrees east. Values west of 0 deg are negative.", - "format": "double", - "type": "number" - }, - "lonErrorBound": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "PhotosVisionObjectrecGlobalFeature": { - "description": "Global feature for the image.", - "id": "PhotosVisionObjectrecGlobalFeature", - "properties": { - "additionalInfo": { - "description": "Optional info provided by the feature extractor.", - "format": "byte", - "type": "string" - }, - "featureVector": { - "$ref": "PhotosVisionObjectrecFeatureVector" - }, - "quantizedFeatureVector": { - "$ref": "PhotosVisionObjectrecQuantizedFeatureVector" - }, - "tag": { - "description": "Tag for this global feature. E.g., \"DELG\", \"SBv4\" or \"DELG_region1\".", - "type": "string" - }, - "version": { - "type": "string" - } - }, - "type": "object" - }, - "PhotosVisionObjectrecImageTemplate": { - "description": "ImageTemplate contains local and/or global features generated from one image. User-defined members can be set to any value within the constraints outlined below. Algorithms usually pass these through without evaluation, unless documented otherwise. Next id: 29", - "id": "PhotosVisionObjectrecImageTemplate", - "properties": { - "authorName": { - "description": "Name of the author or image source. User-defined. Must be NULL-terminated.", - "type": "string" - }, - "corpus": { - "description": "Identifier for which corpus the image belongs to. Currently Cyclone uses this field in: - photos_vision_objectrec.SpatialMatcherRequest.residual_template to select which spatial matcher should be applied to the candidate matches - photos_vision_objectrec.CustomCorpusQuantizer to map a custom corpus to one or more posting lists", - "type": "string" - }, - "geoLocation": { - "$ref": "PhotosVisionObjectrecGeoLocation", - "description": "The geolocation of the image. Assumed to represent the location where the photo was taken from." - }, - "globalFeature": { - "items": { - "$ref": "PhotosVisionObjectrecGlobalFeature" - }, - "type": "array" - }, - "imageHeight": { - "format": "int32", - "type": "integer" - }, - "imageId": { - "description": "Unique identifier for the image used to compute this template.", - "format": "int64", - "type": "string" - }, - "imageUrl": { - "description": "URL or filename of the image used to compute this template. User-defined. Must contain only ASCII characters and be NULL-terminated.", - "type": "string" - }, - "imageWidth": { - "description": "Dimension of the image used to compute this template.", - "format": "int32", - "type": "integer" - }, - "info": { - "deprecated": true, - "format": "byte", - "type": "string" - }, - "objectInfo": { - "description": "Tags pertaining to this image. User-defined. Must be NULL-terminated.", - "items": { - "type": "string" - }, - "type": "array" - }, - "objectName": { - "description": "Name of the object/scene depicted. User-defined. Must contain only ASCII characters and be NULL-terminated.", - "type": "string" - }, - "opaqueData": { - "description": "Opaque template data. May be used to pass through additional data from template sources to processing modules, that is not already covered by other members of this PB. It is the responsibility of processing modules to verify that the data is in a compatible format.", - "format": "byte", - "type": "string" - }, - "roi": { - "$ref": "PhotosVisionObjectrecROI", - "description": "Region-of-interest: The bounding box of the object or scene depicted in the image." - }, - "subset": { - "items": { - "$ref": "PhotosVisionObjectrecImageTemplateSubSet" - }, - "type": "array" - }, - "version": { - "description": "Feature version.", - "type": "string" - } - }, - "type": "object" - }, - "PhotosVisionObjectrecImageTemplateSubSet": { - "description": "Each SubSet contains LocalDescriptors of a specific type. The type indicates which algorithm has been used to generate the descriptors. No enum is defined for the descriptor_type. For most applications it is sufficient to know if two descriptors are of the same or a different type, while ignoring the details of their generation. The descriptor type '0' is reserved and must not be used.", - "id": "PhotosVisionObjectrecImageTemplateSubSet", - "properties": { - "descriptor": { - "items": { - "$ref": "PhotosVisionObjectrecLocalDescriptor" - }, - "type": "array" - }, - "descriptorType": { - "format": "int32", - "type": "integer" - }, - "isBinaryDescriptor": { - "description": "Used to indicate if the descriptor is binary or not. When decompressing feature this is useful to decide calling different decompression functions.", - "type": "boolean" - }, - "numDescriptors": { - "description": "Used to store the number of descriptors for statistical purposes, if the descriptors themselves are not stored.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "PhotosVisionObjectrecLocalDescriptor": { - "description": "LocalDescriptor holds interest point data and an optional local descriptor vector.", - "id": "PhotosVisionObjectrecLocalDescriptor", - "properties": { - "affineMatrix": { - "$ref": "PhotosVisionObjectrecMatrix2D", - "description": "Optional affine matrix. Supersedes scale and orientation if present. r' = affine_matrix.r + (x,y) defines an affine transform from the normalized image patch (in which the interest point is centered at the origin with scale 1) to the image. If the affine matrix is set, the following approximations are recommended: scale = sqrt(0.5 * (xx*xx + xy*xy + yx*yx + yy*yy)); orientation = atan2(yx - xy, xx + yy); If not present, the affine matrix can be computed from scale and orientation as: xx = scale * cos(orientation); xy = scale * -sin(orientation); yx = scale * sin(orientation); yy = scale * cos(orientation);" - }, - "data": { - "format": "byte", - "type": "string" - }, - "dataFactor": { - "description": "data_factor and data represent the local descriptor vector in a compressed format, using only 8 bit per value. Each byte of the data string yields one component of the local descriptor by bit-casting it to an int8 and multiplying it by data_factor. Protocol buffers do not support int8 directly.", - "format": "float", - "type": "number" - }, - "featureVector": { - "$ref": "PhotosVisionObjectrecFeatureVector", - "description": "Unquantized feature vector (float)." - }, - "opaqueData": { - "description": "Opaque descriptor data. May be used to pass through descriptor data from descriptor sources to processing modules, that is not already covered by data/data_factor and/or cannot be expressed as a vector of numbers. It is the responsibility of processing modules to verify that the data is in a compatible format.", - "format": "byte", - "type": "string" - }, - "orientation": { - "description": "Orientation is optional, as some interest point detectors don't compute it. The range of orientation is [-pi,pi).", - "format": "float", - "type": "number" - }, - "scale": { - "description": "Each interest point must have a characteristic scale \u003e 0.", - "format": "float", - "type": "number" - }, - "strength": { - "description": "The strength or weight, indicating the relative significance of this point.", - "format": "float", - "type": "number" - }, - "x": { - "description": "The position in the image with sub-pixel accuracy. The center of the upper left pixel has coordinates (0.0, 0.0). Thus the range for x and y is (-0.5, width - 0.5) x (-0.5, height - 0.5).", - "format": "float", - "type": "number" - }, - "y": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "PhotosVisionObjectrecMatrix2D": { - "description": "A 2x2 float matrix.", - "id": "PhotosVisionObjectrecMatrix2D", - "properties": { - "xx": { - "format": "float", - "type": "number" - }, - "xy": { - "format": "float", - "type": "number" - }, - "yx": { - "format": "float", - "type": "number" - }, - "yy": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "PhotosVisionObjectrecQuantizedFeatureVector": { - "description": "Quantized/compressed feature vector (8 bit per value). Can be decoded by multiplying data_factor to each data byte.", - "id": "PhotosVisionObjectrecQuantizedFeatureVector", - "properties": { - "data": { - "format": "byte", - "type": "string" - }, - "dataFactor": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "PhotosVisionObjectrecROI": { - "description": "A region of interest in the image.", - "id": "PhotosVisionObjectrecROI", - "properties": { - "xMax": { - "format": "int32", - "type": "integer" - }, - "xMin": { - "format": "int32", - "type": "integer" - }, - "yMax": { - "format": "int32", - "type": "integer" - }, - "yMin": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "PornFlagData": { - "description": "A protocol buffer to store the url, referer and porn flag for a url. and an optional image score. Next available tag id: 51.", - "id": "PornFlagData", - "properties": { - "debugInfo": { - "description": "DebugInfo stores debug information from the overall classifier. This allows for instance to update counters related to blacklisting without running the full classifier again.", - "items": { - "$ref": "ImagePornDebugInfo" - }, - "type": "array" - }, - "finalOffensiveScore": { - "description": "Final offensive score based on image salient terms and image OCR vulgar and offensive scores.", - "format": "float", - "type": "number" - }, - "finalViolenceScore": { - "description": "Final violence score based on some image signals (brain pixel score, co-clicked images violence score, navboost queries score, etc.).", - "format": "float", - "type": "number" - }, - "finalViolenceScoreVersion": { - "description": "A string that indicates the version of SafeSearch classifier used to compute final_violence_score.", - "type": "string" - }, - "internalSignals": { - "$ref": "SafesearchInternalImageSignals", - "description": "A proto that stores SafeSearch internal signals that are not exported to clients. SafeSearch team does not provide any guarantees about the presence or the semantics of these signals in the future." - }, - "numberFaces": { - "deprecated": true, - "description": "number of faces", - "format": "int32", - "type": "integer" - }, - "ocrAnnotation": { - "$ref": "ImageSafesearchContentOCRAnnotation", - "description": "Information about image OCR text. For details see image/safesearch/content/public/ocr_annotation.proto." - }, - "offensiveSymbolDetection": { - "$ref": "ImageSafesearchContentOffensiveSymbolDetection", - "description": "QuimbyCongas-based detection of offensive symbols in the image (currently swastika and Nazi yellow badge)." - }, - "photodnaHash": { - "description": "Binary version of the PhotoDNA hash (144 bytes long). If not set (has_photodna_hash() == false) it means that it was not computed, if empty (has_photodna_hash() == true \u0026\u0026 photodna_hash() == \"\") it means that the computation failed (cannot be computed for images smaller than 50 x 50).", - "format": "byte", - "type": "string" - }, - "pornWithHighConfidence": { - "description": "This field is set to true when we are pretty confident that the image is porn (with higher precision than the img_porn_moderate restrict). In particular, it means that the image might be demoted for non-porn queries when SafeSearch is Off.", - "type": "boolean" - }, - "qbstOffensiveScore": { - "description": "QBST-based image offensive score, Navboost based", - "format": "float", - "type": "number" - }, - "qbstSpoofScore": { - "description": "QBST-based image spoof score, Navboost based, unrelated to the pixel-based score in PornAnnotation.", - "format": "float", - "type": "number" - }, - "queryStats": { - "$ref": "ClassifierPornQueryStats", - "deprecated": true, - "description": "Query statistics from Navboost logs. For more details see classifier/porn/proto/image_porn_classifier_signals.proto." - }, - "queryTextViolenceScore": { - "description": "Aggregated navboost query violence score.", - "format": "float", - "type": "number" - }, - "referer": { - "description": "url of the referer page", - "type": "string" - }, - "referrerCounts": { - "$ref": "ClassifierPornReferrerCounts", - "description": "Information about referrers and their porn classification. For details see classifier/porn/proto/image_porn_classifier_signals.proto." - }, - "semanticSexualizationScore": { - "description": "Starburst-based score predicting sexualization level of the image.", - "format": "float", - "type": "number" - }, - "url": { - "description": "url of the image", - "type": "string" - } - }, - "type": "object" - }, - "PostalAddress": { - "description": "Next free ID: 32", - "id": "PostalAddress", - "properties": { - "addressLine": { - "description": "These correspond to the \"AddressLine\" elements in xAL, which are used to hold unstructured text. This is an addendum to the structured values; when the address is formatted, the provided lines are prepended to the formatted version of the street component fields for Western countries, and appended for CJK countries. These lines are in display order. Formerly users of PostalAddress were discouraged from mixing address_line with structured address elements. Mixing is now encouraged if address_line has to be used at all.", - "items": { - "type": "string" - }, - "type": "array" - }, - "administrativeAreaName": { - "description": "Top-level administrative subdivision of this country. Examples: US state, IT region, UK constituent nation, JP prefecture.", - "type": "string" - }, - "countryName": { - "description": "Name corresponding to country code. Optional. This can usually be inferred from country_name_code.", - "type": "string" - }, - "countryNameCode": { - "description": "xAL does not specify a scheme for country codes. We strongly recommend ISO 3166-1-alpha-2 (two letter codes, as used in DNS) if you use this field. (Use \"GB\", not \"UK\".)", - "type": "string" - }, - "dependentLocalityName": { - "description": "Dependent locality or sublocality. Used for UK dependent localities, or neighborhoods or boroughs in other locations. If trying to represent a UK double-dependent locality, include both the double-dependent locality and the dependent locality in this field, e.g. \"Whaley, Langwith\".", - "type": "string" - }, - "dependentThoroughfareName": { - "description": "Dependent thoroughfares are used to define UK-style dependent thoroughfares, and secondary streets in addresses in other locales, including intersections. Formatting is locale-dependent.", - "type": "string" - }, - "firmName": { - "description": "NEW: The firm or organization. This goes at a finer granularity than address_lines in the address. Omit if not needed.", - "type": "string" - }, - "isDisputed": { - "description": "Required to support the suppression of country names from formatted results for addresses within geo-politically disputed areas. Note that we cannot achieve this by not setting the country, as this would prevent us from selecting a suitable formatting template. Addresses converted from Oyster, by the standard conversion libraries, will have this field set if the address lies within a geo-politically disputed area (ie, contained within features of type TYPE_DISPUTED_AREA) even if the disputed area itself is not a visible part of the formatted address. An example of a disputed area is \"No Man's Land\" near Jerusalem which has the flag FLAG_NEVER_DISPLAY set for all its names. See: go/disputed-areas-2014 for more information.", - "type": "boolean" - }, - "languageCode": { - "description": "Language of the address. May affect address formatting for multi- lingual countries. Also allows storing multilingual location names as repeated PostalAddress. Not in xAL. Use language codes which are accepted by i18n_identifiers::LanguageCodeCoverter::FromOther(). Examples include \"en\" and \"de-CH\".", - "type": "string" - }, - "localityName": { - "description": "Locality. This is something of a fuzzy term, but it generally refers to the city/town portion of an address. In regions of the world where localities are not well defined or do not fit into this structure well (for example, Japan), leave locality_name empty and use address_line. Examples: US city, IT comune, UK post town.", - "type": "string" - }, - "postBoxNumber": { - "description": "This corresponds to PostBoxNumber in xAL format. In xAL format, it's nested inside PostBox, which also contains a \"Type\" field to distinguish between PO Box, Private Bag etc. Current support in this proto is for PO Box only. Note that although this is modelled as a string, it should have the number only, with any necessary punctuation (such as \"-\"). For example, for \"P.O. Box 123\", this field would hold \"123\" - the template displaying this would prepend P.O. Box when formatting if necessary.", - "type": "string" - }, - "postalCodeNumber": { - "description": "Despite the name, postal_code_number values are frequently alphanumeric. Examples: \"94043\", \"SW1W\", \"SW1W 9TQ\".", - "type": "string" - }, - "postalCodeNumberExtension": { - "description": "Used for postal-code suffixes, such as the 4-digit extension of a US ZIP+4 code.", - "type": "string" - }, - "premiseName": { - "description": "The \"premise\" is something like a house or building.", - "type": "string" - }, - "recipientName": { - "description": "NEW: The recipient. This goes at a finer granularity than address_lines in the address. Not present in xAL. Omit if not needed.", - "type": "string" - }, - "sortingCode": { - "description": "This corresponds to the SortingCode sub-element of the xAL PostalServiceElements element. Use is very country-specific. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", - "type": "string" - }, - "subAdministrativeAreaName": { - "description": "Second-level administrative subdivision of this country. Examples: US county, IT province, UK county.", - "type": "string" - }, - "subPremiseName": { - "description": "The \"subpremise\" is something like an apartment or suite. xAL offers more structured premise and subpremise values, but we don't.", - "type": "string" - }, - "thoroughfareName": { - "description": "Name of thoroughfare. Intersections should be represented with this field or address_line. Examples: \"Amphitheatre Parkway\", \"N Shoreline Blvd \u0026 Charleston Rd\"", - "type": "string" - }, - "thoroughfareNumber": { - "description": "Thoroughfare numbers (street numbers) can be very complex indeed. xAL defines fancy structures like \"ThoroughfareNumberRange\" to represent the details, but we haven't included that yet. It is worth noting that this needs to be a string, not a number. Example: \"1600\"", - "type": "string" - } - }, - "type": "object" - }, - "PrecomputedRestricts": { - "description": "The restricts that are computed before building a Mustang index.", - "id": "PrecomputedRestricts", - "properties": { - "restricts": { - "items": { - "enum": [ - "INVALID", - "COLOR_BLACK", - "COLOR_BLUE", - "COLOR_BROWN", - "COLOR_GRAY", - "COLOR_GREEN", - "COLOR_ORANGE", - "COLOR_PINK", - "COLOR_PURPLE", - "COLOR_RED", - "COLOR_TEAL", - "COLOR_WHITE", - "COLOR_YELLOW", - "HAS_SIMILAR", - "ALL", - "CLIPART", - "CLIPART_HR", - "LINEART", - "PHOTO", - "ANIMATED", - "TRANSPARENT", - "PANORAMIC", - "STOCK", - "MONO", - "TOLERANT_GRAY", - "COLOR", - "NOT_UNIVERSAL", - "PORTRAIT", - "FACES_ONE", - "FACES_TWO", - "FACES_SEVERAL", - "FACES_MANY", - "FACE_MALE", - "FACE_FEMALE", - "_img_porn_moderate", - "_img_porn_strict", - "_img_porn_very_strict", - "_image_aspect_16x10", - "_image_aspect_16x9", - "_image_aspect_4x3", - "_image_aspect_square", - "_image_aspect_nearsquare", - "_image_aspect_tall", - "_image_aspect_xtall", - "_image_aspect_wide", - "_image_aspect_xwide", - "_image_size_atleast_400x300", - "_image_size_atleast_640x480", - "_image_size_atleast_800x600", - "_image_size_atleast_1024x768", - "_image_size_atleast_1280x800", - "_image_size_atleast_1440x900", - "_image_size_atleast_2MP", - "_image_size_atleast_4MP", - "_image_size_atleast_6MP", - "_image_size_atleast_8MP", - "_image_size_atleast_10MP", - "_image_size_atleast_12MP", - "_image_size_atleast_15MP", - "_image_size_atleast_20MP", - "_image_size_atleast_40MP", - "_image_size_atleast_70MP", - "_image_size_atleast_140MP", - "_image_size_icon", - "_image_size_small", - "_image_size_medium", - "FILETYPE_JPG", - "FILETYPE_GIF", - "FILETYPE_PNG", - "FILETYPE_BMP", - "FILETYPE_SVG", - "FILETYPE_WEBP", - "FILETYPE_ICO", - "FILETYPE_CRAW", - "FILETYPE_HEIF", - "CC_LICENSE", - "NON_CC_LICENSE", - "BEST", - "ICON", - "SMALL", - "MEDIUM", - "LARGE", - "XLARGE", - "XXLARGE", - "_imagehuge", - "DEPRECATED_65", - "DEPRECATED_72" - ], - "enumDescriptions": [ - "", - "The image has dominant colors.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "This restrict will be set if the image has similar images in the similar-image index.", - "Misnamed - semantically means \"not tiny\".", - "Genre restricts.", - "", - "", - "", - "", - "", - "", - "Restriction on images coming from stock photograph sites.", - "Earlier chrominance measures.", - "", - "Refers to the FULL_COLOR type defined in image_perdoc.h.", - "Not allowed to appear in Images Universal.", - "Has at least one large face in the image.", - "Face-quantity restricts. The detected faces that contribute toward this count (1) are larger than some minimal size (different from the PORTRAIT criterion) and (2) have been verified by color (for color images: face has skin-color; for non-color images: always true).", - "", - "", - "", - "Face-classifier restricts. Computed over the union of all detected faces, so an image can have both FACE_MALE and FACE_FEMALE. These restricts only get applied if the face is frontal with high confidence, age is detected and is at least 13 years old. The precision should be around 98-99%.", - "", - "Porn restricts.", - "", - "", - "Aspect ratio restricts.", - "", - "", - "", - "", - "", - "", - "", - "", - "New size restricts.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Filetype restricts (should correspond to FileFormat, below).", - "", - "", - "", - "", - "", - "", - "", - "", - "Restricts about image license types.", - "", - "--- The restricts below are on the \"to deprecate\" list. --- Misnamed - semantically means \"somewhat large\".", - "Earlier size restricts.", - "", - "", - "", - "", - "", - "\"HUGE\" does not work for this enum because the symbol in the generated C++ file causes compilation problems; so, it is written in verbatim mode.", - "Deprecated fields; place here to prevent reuse. For testing, they must have the \"DEPRECATED_\" prefix.", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "PremiumPerDocData": { - "description": "Per-doc data for premium documents in the Google index.", - "id": "PremiumPerDocData", - "properties": { - "Currency": { - "description": "type froogle/currency/currency.h", - "format": "int32", - "type": "integer" - }, - "Date": { - "description": "publishing date (seconds since 1970,", - "format": "int64", - "type": "string" - }, - "Entitlement": { - "description": "entitlement data", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "IsArchival": { - "description": "True if a free document is archival in nature.", - "type": "boolean" - }, - "IsEntitled": { - "description": "User is entitled to see the premium content for free.", - "type": "boolean" - }, - "Price": { - "description": "price * 100 if available", - "format": "int32", - "type": "integer" - }, - "Publication": { - "description": "negative values for prior dates) FP of the Premium publication name", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "Proto2BridgeMessageSet": { - "description": "This is proto2's version of MessageSet.", - "id": "Proto2BridgeMessageSet", - "properties": {}, - "type": "object" - }, - "PseudoVideoData": { - "description": "Available tags: 14+", - "id": "PseudoVideoData", - "properties": { - "AsrModel": { - "description": "ASR model MPM version.", - "type": "string" - }, - "DocKey": { - "description": "This should be the MustangDocId, we need to figure out how to generate a uint64 given the int64 we have in data_set", - "format": "uint64", - "type": "string" - }, - "Lang": { - "description": "Language of the recognizer used to generate transcript.", - "type": "string" - }, - "MustangDocId": { - "description": "This is the videodocid associate to the http://video.google.com/videoplay?docid= NUMBER", - "type": "string" - }, - "Url": { - "description": "URL for document.", - "type": "string" - }, - "s3Mode": { - "type": "string" - }, - "s3ModelInfoLabel": { - "description": "S3 ASR model info.", - "type": "string" - }, - "transcript": { - "$ref": "PseudoVideoDataTranscript" - } - }, - "type": "object" - }, - "PseudoVideoDataTranscript": { - "description": "A time-coded transcription of the document's audio track.", - "id": "PseudoVideoDataTranscript", - "properties": { - "Text": { - "description": "The complete transcription text.", - "type": "string" - }, - "timestamp": { - "items": { - "$ref": "PseudoVideoDataTranscriptTimestamp" - }, - "type": "array" - } - }, - "type": "object" - }, - "PseudoVideoDataTranscriptTimestamp": { - "description": "Mapping of time/character correspondences. Used to map found snippets to the time and thumbnail nearest that snippet.", - "id": "PseudoVideoDataTranscriptTimestamp", - "properties": { - "CharOffset": { - "format": "int32", - "type": "integer" - }, - "Confidence": { - "description": "quantized to values in range 0-127", - "format": "int32", - "type": "integer" - }, - "TimeOffset": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "PtokenPToken": { - "description": "PToken expresses policy-relevant properties of the data objects being processed and stored in Google's production systems. See go/ptoken to learn more. PTokens are intentionally opaque: go/ptokens-are-opaque. The following should be considered implementation details. Next ID: 9 LINT.IfChange INTERNAL: If both the Scalar and the Compound extensions are populated, we use the Compound and discard the Scalar. In principle, this should never happen.", - "id": "PtokenPToken", - "properties": {}, - "type": "object" - }, - "QualityActionsAppInfo": { - "description": "Information of the app to be annotated for the query. It contains the name of the app, the package name associated with it. It also contains the confidence associated with {app, package} pair. This confidence is calculated from different signals like navboost, ranking etc. which later is used for ranking the apps for a particular query. The source of this app information is also indicated. This app info can either be from installed app (collected from device content) or from the fastmap. LINT.IfChange", - "id": "QualityActionsAppInfo", - "properties": { - "androidIntent": { - "description": "The list of android intents that the app is capable of executing.", - "items": { - "type": "string" - }, - "type": "array" - }, - "appName": { - "description": "This is the string matched from the query.", - "type": "string" - }, - "category": { - "$ref": "QualityActionsAppUnderstandingCategory", - "description": "Category of this package." - }, - "confidence": { - "deprecated": true, - "format": "float", - "type": "number" - }, - "displayName": { - "description": "This is the display name of the app as shown below the app icon.", - "type": "string" - }, - "fallbackUrl": { - "description": "URL for the website associated with this app.", - "type": "string" - }, - "packageName": { - "description": "Note that the package_name could be empty for two reasons: - The AppInfo is annotated by device content. - The ngram exists in app name fastmap, but there are a lot of packages associated with it. e.g., there could be a lot of apps for app name \"recipes app\".", - "type": "string" - }, - "source": { - "deprecated": true, - "description": "For the future source, use the field in source_data.source().", - "enum": [ - "UNKNOWN_SOURCE", - "DEVICE_CONTENT", - "FASTMAP", - "NAVBOOST", - "MARMOT", - "WHITELIST", - "PLAY_APPS_SEARCH", - "ASSISTANT_DEVICE_MODEL_CONTEXT", - "DEVICE_ATTRIBUTE", - "TELEPORT_SEARCH", - "FOREGROUND_SEARCH", - "IMPLICIT_SEARCH", - "MEDIA_PROVIDER", - "TELEPORT", - "AGGRESSIVE_IMPLICIT_SEARCH", - "EMPTY_SEARCH" - ], - "enumDeprecated": [ - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "Whitelisted apps directly injected into the grammar or annotator.", - "", - "Apps are annotated from Assistant AppCapabilities, which will come from Device Model.", - "Apps are annotated from device attribute.", - "Used by TeleportIntentGenerator for queries such as Search $Entity on $APP.", - "Used by TeleportIntentGenerator for queries such searchy queries that fit the current foreground app. Example: [running shoes] with Amazon in the foreground.", - "Used by TeleportIntentGenerator for queries with special keywords such as [funny cat videos] (with the keyword being videos).", - "Used by go/ump-provider-annotation to annotate media providers.", - "Apps annotated by Teleport, coming from the AgentAnnotator.", - "Used by TeleportIntentgenerator for queries such as \"install amazon\" to be directed for PlayStore. Search frames should directly trigger on this intent.", - "Used by the TeleportIntentGenerator such as \"search on amazon\". We will ask the user what they are searching for." - ], - "type": "string" - }, - "sourceData": { - "items": { - "$ref": "QualityActionsAppInfoSourceData" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityActionsAppInfoSourceData": { - "description": "This deprecates the above: * confidence=3 * source=4 This allows us to merge AppInfo data per package_name.", - "id": "QualityActionsAppInfoSourceData", - "properties": { - "allowListSourceData": { - "$ref": "QualityActionsAppInfoSourceDataAllowListSourceData" - }, - "confidence": { - "description": "Confidence from navboost.", - "format": "float", - "type": "number" - }, - "install": { - "description": "Number of installs from marmot.", - "format": "int64", - "type": "string" - }, - "isCategorical": { - "type": "boolean" - }, - "mediaProviderSourceData": { - "$ref": "QualityActionsAppInfoSourceDataMediaProviderSourceData" - }, - "source": { - "enum": [ - "UNKNOWN_SOURCE", - "DEVICE_CONTENT", - "FASTMAP", - "NAVBOOST", - "MARMOT", - "WHITELIST", - "PLAY_APPS_SEARCH", - "ASSISTANT_DEVICE_MODEL_CONTEXT", - "DEVICE_ATTRIBUTE", - "TELEPORT_SEARCH", - "FOREGROUND_SEARCH", - "IMPLICIT_SEARCH", - "MEDIA_PROVIDER", - "TELEPORT", - "AGGRESSIVE_IMPLICIT_SEARCH", - "EMPTY_SEARCH" - ], - "enumDeprecated": [ - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "Whitelisted apps directly injected into the grammar or annotator.", - "", - "Apps are annotated from Assistant AppCapabilities, which will come from Device Model.", - "Apps are annotated from device attribute.", - "Used by TeleportIntentGenerator for queries such as Search $Entity on $APP.", - "Used by TeleportIntentGenerator for queries such searchy queries that fit the current foreground app. Example: [running shoes] with Amazon in the foreground.", - "Used by TeleportIntentGenerator for queries with special keywords such as [funny cat videos] (with the keyword being videos).", - "Used by go/ump-provider-annotation to annotate media providers.", - "Apps annotated by Teleport, coming from the AgentAnnotator.", - "Used by TeleportIntentgenerator for queries such as \"install amazon\" to be directed for PlayStore. Search frames should directly trigger on this intent.", - "Used by the TeleportIntentGenerator such as \"search on amazon\". We will ask the user what they are searching for." - ], - "type": "string" - }, - "teleportSourceData": { - "$ref": "AssistantTeleportTeleportNicknameSignals", - "description": "Signals present when the source is TELEPORT." - } - }, - "type": "object" - }, - "QualityActionsAppInfoSourceDataAllowListSourceData": { - "description": "Additional signals when the source is ATV's allow list.", - "id": "QualityActionsAppInfoSourceDataAllowListSourceData", - "properties": { - "preReleaseMode": { - "description": "Whether the app is in the pre-release stage and only available for testing.", - "type": "boolean" - }, - "unknownAppDeviceCompatibility": { - "description": "Whether app compatibility is unknown. This field is needed for apps like apple tv that have different package names on different devices. Play Gateway Service (PGS) lookup is needed to validate that the app is available on the user's device. go/app-fulfillment-quality", - "type": "boolean" - } - }, - "type": "object" - }, - "QualityActionsAppInfoSourceDataMediaProviderSourceData": { - "description": "The MEDIA_PROVIDER source can further specify information about the content served by the app.", - "id": "QualityActionsAppInfoSourceDataMediaProviderSourceData", - "properties": { - "providerKey": { - "description": "The unique provider key/enumeration string as used in KG. See also /base/mediaasset/provider/provider_enumerator.", - "type": "string" - }, - "providerType": { - "description": "The type of content served by the App. See also chrome.dongle.pints.ProviderType.", - "type": "string" - } - }, - "type": "object" - }, - "QualityActionsAppUnderstandingCategory": { - "description": "Category that this app falls into.", - "id": "QualityActionsAppUnderstandingCategory", - "properties": { - "category": { - "enum": [ - "MUSIC", - "GAME", - "NEWS", - "VIDEO", - "CHAT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "confidence": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityActionsCustomizedNotification": { - "deprecated": true, - "description": "DEPRECATED. No longer supported after migration to Tasks.", - "id": "QualityActionsCustomizedNotification", - "properties": { - "buttons": { - "description": "Buttons on the notification", - "items": { - "$ref": "QualityActionsCustomizedNotificationButton" - }, - "type": "array" - }, - "surfaceType": { - "description": "Surface type for the notification", - "enum": [ - "UNSPECIFIED", - "PHONE", - "SMART_DISPLAY" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "tapAction": { - "$ref": "QualityActionsCustomizedNotificationPayload", - "description": "Tap action on the notification body. This overwrites the default tap action on reminder trigger notification (which on mobile, is the reminders hub page)." - }, - "text": { - "description": "Notification text", - "type": "string" - } - }, - "type": "object" - }, - "QualityActionsCustomizedNotificationButton": { - "id": "QualityActionsCustomizedNotificationButton", - "properties": { - "label": { - "description": "REQUIRED. text for the button label", - "type": "string" - }, - "tapAction": { - "$ref": "QualityActionsCustomizedNotificationPayload", - "description": "REQUIRED. tap action for the button" - } - }, - "type": "object" - }, - "QualityActionsCustomizedNotificationPayload": { - "id": "QualityActionsCustomizedNotificationPayload", - "properties": { - "url": { - "description": "Currently for payload we only support raw string url. More structured options may be added in the future", - "type": "string" - } - }, - "type": "object" - }, - "QualityActionsNewsProviderAnnotationData": { - "description": "Aqua annotation data for news provider. This proto is added as an extension to NimbleAnnotationData.semantics_proto for nimble annotation.", - "id": "QualityActionsNewsProviderAnnotationData", - "properties": { - "providers": { - "items": { - "$ref": "QualityActionsNewsProviderAnnotationDataProvider" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityActionsNewsProviderAnnotationDataProvider": { - "description": "NextId: 6", - "id": "QualityActionsNewsProviderAnnotationDataProvider", - "properties": { - "locales": { - "description": "List of supported locales for this provider. Must follow the format from go/iii, e.g.: 'en', 'en-US', 'en-GB', etc. Short forms without regions codes, such as, 'en' match all possible regions: en-US, en-GB, en-IN, etc.", - "items": { - "type": "string" - }, - "type": "array" - }, - "officialName": { - "description": "The official name of the provider. Used in TTS and should be localized.", - "type": "string" - }, - "officialNamePronunciation": { - "description": "TTS hint for the pronunciation of the name. Should be left blank unless TTS performs poorly on official_name. Example: Without hinting, TTS mispronounces \"The Daily 202\" as \"the daily two hundred and two\". Feeding tts the string \"the daily two oh two\" produces correct TTS.", - "type": "string" - }, - "providerId": { - "description": "The provider id used for news source URL lookup in Kansas. See b/27250779 for details.", - "format": "int32", - "type": "integer" - }, - "score": { - "description": "A score of how confident the annotated span is a news provider. For example, a high score is assigned for span \"bbc news\", but a low score for span \"bbc\", which only triggers narrative news aqua parse for a query with explicit news intent, e.g [play news from bbc].", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "QualityActionsReminder": { - "description": "Next id: 33", - "id": "QualityActionsReminder", - "properties": { - "archived": { - "description": "OPTIONAL. True if the reminder is archived. Not present implies false.", - "type": "boolean" - }, - "archivedTime": { - "$ref": "AssistantApiDateTime", - "deprecated": true, - "description": "OPTIONAL. The time when this reminder is archived. Deprecated. Use `archived_timestamp` instead." - }, - "archivedTimestamp": { - "description": "OPTIONAL. When the reminder was completed (only present when archived == true). Maps to apps_intelligence.dialog.Task's complete_time field.", - "format": "google-datetime", - "type": "string" - }, - "asyncInteractionType": { - "description": "REQUIRED. async_interaction_type of the reminder trigger notification ", - "enum": [ - "TYPE_UNSPECIFIED", - "ASSISTANT_EXPLORE_LINKS", - "REMINDER", - "REMINDER_ASSIGNABLE_NOTIFY", - "REMINDER_CHIRP", - "REMINDER_DRAGONGLASS", - "REMINDER_LOCATION_BASED", - "SHARED_REMINDER", - "SHARED_REMINDER_LOCATION_BASED", - "REMINDER_FORESIGHT", - "REMINDER_FORESIGHT_TAP_TO_PAYLOAD", - "REMINDER_FORESIGHT_LONG_ANSWER", - "REMINDER_FORESIGHT_WHEN_IS", - "REMINDER_FORESIGHT_UPCOMING_DATES", - "REMINDER_FORESIGHT_PORKY_PIG", - "REMINDER_SNAPSHOT_CALENDAR_EVENT", - "REMINDER_SNAPSHOT_PKG_ANNIVERSARY", - "REMINDER_SNAPSHOT_PKG_BIRTHDAY", - "REMINDER_SNAPSHOT_PKG_MY_BIRTHDAY", - "REMINDER_ARIS", - "REMINDER_LOCATION_BASED_ARIS", - "REMINDER_SHARED_ARIS", - "REMINDER_FORESIGHT_WHEN_IS_ARIS", - "REMINDER_FORESIGHT_PORKY_PIG_ARIS", - "REMINDER_FORESIGHT_TAP_TO_PAYLOAD_ARIS", - "REMINDER_FORESIGHT_LONG_ANSWER_ARIS", - "REMINDER_FORESIGHT_ARIS", - "REMINDER_CHIRP_ARIS", - "REMINDER_DRAGONGLASS_ARIS", - "REMINDER_PROACTIVE_API", - "REMINDER_POST_TASK_MIGRATION", - "REMINDER_VOLUNTARY_TASK_MIGRATION", - "REMINDER_NOTIFICATION_ENABLE_FIRST_NOTICE", - "REMINDER_NOTIFICATION_ENABLE_NOTICE", - "REMINDER_ONE_OFF_DUP_NOTIFICATION_POST_MIGRATION", - "REMINDER_NOTIFICATION_FORCED_MIGRATED", - "CROSS_SURFACE", - "CROSS_SURFACE_MOVIE_SHOWTIMES", - "CROSS_SURFACE_EVENTS", - "CROSS_SURFACE_SPORTS_LEAGUE_STANDINGS", - "CROSS_SURFACE_THIRD_PARTY_HANDOFF", - "CROSS_SURFACE_SPORTS_TEAM_STANDINGS", - "CROSS_SURFACE_EXPLICIT_SEND_TO_PHONE", - "CROSS_SURFACE_LOCAL_CATEGORICAL", - "CROSS_SURFACE_LOCAL_DIRECTIONS", - "CROSS_SURFACE_LOCAL_DISTANCE", - "CROSS_SURFACE_MEDIA_SONG_DETAILS", - "CROSS_SURFACE_MEDIA_ARTIST_DETAILS", - "CROSS_SURFACE_TRANSLATION", - "CROSS_SURFACE_SHOPPING_LIST", - "CROSS_SURFACE_LOCAL_PHONE_NUMBER", - "CROSS_SURFACE_LOCAL_SHOPPING", - "CROSS_SURFACE_LOCAL_STATION_KP", - "CROSS_SURFACE_LOCAL_TAXI_DIRECTIONS", - "CROSS_SURFACE_TRANSACTIONS_THIRD_PARTY", - "CROSS_SURFACE_TRANSACTIONS", - "CROSS_SURFACE_TRANSACTIONS_ASYNC_RESUME", - "CROSS_SURFACE_REMOTE_DEVICE_ACTIONS_AUTH", - "CROSS_SURFACE_DONATIONS", - "CROSS_SURFACE_FOOD_ORDERING", - "CROSS_SURFACE_NOTES_AND_LISTS", - "CROSS_SURFACE_DIETARY_RESTRICTIONS", - "CROSS_SURFACE_AE_ACCOUNT_LINKING", - "BTW_VM_UPGRADE", - "BTW_NOTIFY", - "BTW_TOPICAL_TOUR", - "BTW_FAMILY_BELL", - "BTW_WARM_WORDS", - "EDIT_DIETARY_PREFERENCES", - "GOOGLE_NOW", - "GOOGLE_NOW_CHROMEOS", - "PRICE_DROP", - "PROACTIVE_FLIGHT", - "PROACTIVE_FLIGHT_DELAYED_CANCELLED", - "PROACTIVE_FLIGHT_WEATHER", - "PROACTIVE_FLIGHT_LANDING", - "PROACTIVE_HOTEL", - "PROACTIVE_PACKAGE", - "PROACTIVE_BILL", - "PROACTIVE_COUPON_EXPIRES_SOON", - "PROACTIVE_PPT", - "ZEROSTATE_BILL", - "PROACTIVE_EVENT", - "PROACTIVE_TRANSPORT", - "PROACTIVE_INFERRED_REMINDER", - "GROCERY_DELIVERY", - "GROCERY_PICKUP", - "PROACTIVE_SMARTSPACE", - "NARRATIVE_NEWS", - "BROADCAST_CUSTOM", - "BROADCAST_CANNED", - "REPLY_BROADCAST_PHONE", - "REPLY_BROADCAST_CHIRP", - "TELL_MY_FAMILY", - "TELL_MY_FAMILY_ALLOW_GUEST_USE", - "FAMILY_CHECK_IN", - "SUBSCRIPTIONS_WEATHER", - "SUBSCRIPTIONS_WEATHER_CURRENT_CONTEXT", - "SUBSCRIPTIONS_NEWS", - "SUBSCRIPTIONS_FUN_CONTENT", - "SUBSCRIPTIONS_JOKE", - "SUBSCRIPTIONS_OTHER", - "SUBSCRIPTIONS_DAILY_PHRASES", - "SUBSCRIPTIONS_ANIMAL_OF_THE_DAY", - "KEEP_SUBSCRIPTIONS_WEATHER", - "KEEP_SUBSCRIPTIONS_NEWS", - "KEEP_SUBSCRIPTIONS_FUN_CONTENT", - "KEEP_SUBSCRIPTIONS_JOKE", - "KEEP_SUBSCRIPTIONS_OTHER", - "KEEP_SUBSCRIPTIONS_DAILY_PHRASES", - "PROACTIVE_SPORTS_UPDATE", - "GROWTH", - "GROWTH_AUTOMOBILE_PAYFORGAS_PROMO", - "MOBILE_ACTIVATION", - "SIMON_ACTIONS", - "SIMON_WEB_ANSWERS", - "SIMON_CURRENCY", - "SIMON_WEATHER", - "SIMON_ACTIONS_TRAINING_DATA", - "HOMEBOY", - "WHERE_IS_MY_FAMILY_LIFE360", - "WHERE_IS_PERSON_GEO", - "FEATURE_AWARENESS_COMMUNICATION_HABITS", - "FEATURE_AWARENESS_MUSIC_HABITS", - "PHOTO_FRAME_SETUP_PROMOTIONAL", - "ASSISTANT_PIE_SWIPE_EDUCATION", - "ASSISTANT_PIE_OPEN_APP", - "ASSISTANT_PIE_AGGRESSIVE", - "ASSISTANT_PIE_HOMESCREEN_ENTRY_POINT", - "ROUTINES", - "ROUTINES_ALARM_DISMISSAL_TRIGGER_TIP", - "ROUTINES_CLOUD_EXECUTION_REPORT", - "ROUTINES_SCHEDULED_MANIFOLD", - "ROUTINES_LOCATION_TRIGGER", - "ROUTINES_LOCATION_NOTIFICATION", - "ROUTINES_SCHEDULED_ON_PHONE_NOTIFICATION", - "ROUTINES_TRIGGER_ON_MOBILE", - "ROUTINE_HOME_APP_CARDS", - "ROUTINES_DISABLE_COMMUTE_ACTION_TIP", - "ROUTINE_SPECIAL_NEWS_OPT_IN_TIP", - "ROUTINES_WFH_ROUTINE_TIP", - "ROUTINES_ELECTION_NEWS_OPT_IN_TIP", - "ROUTINE_ALARM_DISMISSAL_TRIGGER_NOT_TRIGGERED", - "ROUTINES_SCHEDULE_DISCOVERY", - "ROUTINES_PROMOTE_GM", - "ROUTINES_PROMOTE_GN", - "ROUTINES_PROMOTE_DISMISS_ALARM", - "FAMILY_BELL", - "IFTTT", - "LIVE_CARD_SETTINGS", - "LIVE_CARD_INSTALL_ASSISTANT", - "LIVE_CARD_DISCLOSURE", - "LIVE_CARD_TERMS_AND_CONDITIONS", - "LIVE_CARD_WEB_ANSWERS", - "LIVE_CARD_HEALTH", - "LIVE_CARD_NEWS", - "LIVE_CARD_RESERVE_HOTEL", - "LIVE_CARD_SHOPPING_SETTINGS", - "LIVE_CARD_SHOPPING_VIEW_CART", - "LIVE_CARD_MAPS_DIRECTIONS", - "LIVE_CARD_ATTRIBUTION", - "LIVE_CARD_HANDOFF_ACTIVITY", - "LIVE_CARD_HANDOFF_LINK_ACCOUNT", - "LIVE_CARD_HANDOFF_PLAY_STORE_PURCHASE", - "LIVE_CARD_KP_ANSWERS", - "LIVE_CARD_BLUELINK_TTS", - "LIVE_CARD_VOICE_RETRAIN", - "LIVE_CARD_ENABLE_PERSONAL_RESULTS", - "LIVE_CARD_ENABLE_DEVICE_CONTACTS", - "LIVE_CARD_INFORMATIONAL", - "LIVE_CARD_HELP_PAGES", - "LIVE_CARD_SHOPPING_LIST", - "LIVE_CARD_SPEEDDIAL_MISSING_CONTACT", - "LIVE_CARD_SPEEDDIAL_PROMO_UNVERIFIED_USER", - "LIVE_CARD_SPEEDDIAL_REMOVE_CONTACTS", - "LIVE_CARD_SPEEDDIAL_SHOW_CONTACTS", - "LIVE_CARD_REVIEW_SUMMARY", - "LIVE_CARD_LINE_SETTINGS", - "LIVE_CARD_LOCATE_DEVICE_NOTIFICATION_SETTINGS", - "LIVE_CARD_APP_INTERACTION_SETTINGS", - "SHARE_MEETING", - "SHARE_MEETING_LIVE_CARD", - "LINK_ZOOM", - "CREATE_DUO_GROUP", - "PRIVACY_ACTIONS", - "LIVE_CARD_FAMILY_BELL", - "LIVE_CARD_FAMILY_BELL_IOS", - "FAMILY_BELL_RING", - "FAMILY_BELL_GET_READY", - "FAMILY_BELL_DEPRECATION", - "THIRD_PARTY_ORDER_STATUS_UPDATE", - "THIRD_PARTY_ALERT", - "THIRD_PARTY_SUBSCRIPTION", - "THIRD_PARTY_SMART_DISPLAY_CARD", - "PROFILE_GRANT_NOTIFICATION", - "PROFILE_TELL_ME_MORE_NOTIFICATION", - "HOME_AUTOMATION_DEVICE_NOTIFICATION", - "CHANGE_DEFAULT_MEDIA_PROVIDER", - "DOWNLOAD_NOT_INSTALLED_PROVIDER", - "PROMOTE_PLAY_RADIO_ROUTINE", - "MEDIA_CROSS_DEVICE_PROMOTION", - "MEDIA_LINK_3P_PROVIDER_NOTIFICATION", - "MEDIA_PREFERRED_PODCAST_PROVIDER_NOTIFICATION", - "MEDIA_INITIATION", - "VOICE_DELIGHT_DELAYED_ACTION", - "WRAPPED_REMOTE_INTERACTION", - "ASYNC_INTERACTION", - "REENGAGEMENT_NOTIFICATION", - "BLUE_GINGER_RESPONSE", - "BLUE_GINGER_SURVEY", - "SMARTHOME_ALARM", - "SMARTHOME_ASYNCHRONOUS", - "SMARTHOME_BROADCAST", - "SMARTHOME_DOORBELL", - "SMARTHOME_FOLLOW_UP", - "SMARTHOME_PHONES", - "COMMUNICATION_MISSED_CALL", - "VUI_CONSENT_MISSING_DI", - "VUI_CONSENT_MISSING_THIRD_PARTY_DISCLOSURE", - "WEB_ANSWERS_NOTIFICATION", - "PERSONAL_INTELLIGENCE_NOTIFICATION", - "PERSONAL_INTELLIGENCE_LIVE_CARD", - "LENS_REMINDER", - "IQS_NOTIFICATION", - "ASSISTANT_SURVEY", - "ASSISTANT_SURVEY_IMPORTANCE_MIN", - "ASSISTANT_SURVEY_PRIORITY_LOW", - "ASSISTANT_SURVEY_ATV_AMATI", - "WHEREABOUTS_CHECKIN", - "TRAVEL_ASSISTANT_FLIGHT_CHECKIN", - "DIALER_AUTH", - "MODES_POI", - "HEADY_CONCISE_ANSWERS_ATTRIBUTION", - "HEADY_CONCISE_ANSWERS_EXPLORATION", - "HEADY_ELENCHUS_ATTRIBUTION", - "HEADY_ELENCHUS_EXPLORATION", - "HEADY_GENERATED_ANSWERS_ATTRIBUTION", - "HEADY_GENERATED_ANSWERS_EXPLORATION", - "HEADY_INTERACTIVE_QUESTIONS_ATTRIBUTION", - "HEADY_INTERACTIVE_QUESTIONS_EXPLORATION", - "HEADY_KP_DESCRIPTION_ATTRIBUTION", - "HEADY_KP_DESCRIPTION_EXPLORATION", - "HEADY_READ_WEBANSWER_ATTRIBUTION", - "HEADY_READ_WEBANSWER_EXPLORATION", - "HEADY_SMART_PUNTS_WEBANSWERS", - "HEADY_TELLMEMORE_ATTRIBUTION", - "HEADY_TELLMEMORE_EXPLORATION", - "HEADY_VOICE_SUGGESTIONS_ATTRIBUTION", - "HEADY_VOICE_SUGGESTIONS_EXPLORATION", - "HEADY_WEBANSWERS_LIST_ATTRIBUTION", - "HEADY_WEBANSWERS_LIST_EXPLORATION", - "COMMUNICATION_VIDEO_MESSAGE", - "HEALTH_ASSISTANT_ADD_GOAL_PARTNER", - "HEALTH_ASSISTANT_SUGGEST_GOAL_PARTNER", - "HEALTH_ASSISTANT_EDUCATIONAL", - "HEALTH_ASSISTANT_GOAL_REMINDER", - "HEALTH_ASSISTANT_WEATHER_REMINDER", - "HEALTH_ASSISTANT_GOAL_FOLLOWUP", - "HEALTH_ASSISTANT_ORGANIZATIONAL", - "HEALTH_ASSISTANT_WEEKLY_REPORT", - "HEALTH_ASSISTANT_WEEKLY_FEEDBACK", - "ASSISTANT_SPEAKERS_MOBILE_NOTIFICATION", - "ASSISTANT_SPEAKERS_ACTION_RENDER_HARD", - "ASSISTANT_SPEAKERS_CHURNOUT_ANSWER_OTHER", - "ASSISTANT_SPEAKERS_CHURNOUT_DEVICE_MEDIA_CONTROL", - "ASSISTANT_SPEAKERS_CHURNOUT_ALARM", - "ASSISTANT_SPEAKERS_CHURNOUT_LIST", - "ASSISTANT_SPEAKERS_CHURNOUT_PERSONALITY_CURATED_CONTENT", - "ASSISTANT_SPEAKERS_ONBOARD", - "ASSISTANT_SPEAKERS_ONBOARD_ANSWER", - "ASSISTANT_SPEAKERS_ONBOARD_VOLUME_CONTROL", - "ASSISTANT_SPEAKERS_ONBOARD_ALARM", - "ASSISTANT_SPEAKERS_ONBOARD_LIST", - "ASSISTANT_SPEAKERS_ONBOARD_JOKE", - "ASSISTANT_SPEAKERS_ONBOARD_ACTION_RENDER", - "ALARM_EXPIRATION", - "SCREENLESS_WCYD_PERSONALIZED_SUGGESTION_EXPLANATION_LIVECARD", - "FAMILY_SHARING", - "SUPPORT_ARTICLE", - "LOCKSCREEN_PERSONAL_RESULTS_SETTING", - "ASSISTANT_ON_LOCKSCREEN_SETTING", - "SKIP_VOICE_RECOGNITION_SETTING", - "ASSISTANT_ON_LOCKSCREEN_SETTING_TNG", - "MULTI_DEVICE_NOTIFICATION_FEEDBACK", - "MULTI_DEVICE_FEEDBACK_CHIRP", - "DRAGONGLASS_SPORT_MODULE", - "DEVICES_PLATFORM", - "DRAGONGLASS_CONCIERGE_CARD", - "BLUE_STEEL_SETUP", - "ZEROSTATE_VIP_BIRTHDAY", - "ZEROSTATE_ANNIVERSARY", - "ZEROSTATE_OWN_BIRTHDAY", - "ZEROSTATE_VIP_BIRTHDAY_ONE_WEEK_BEFORE", - "ZEROSTATE_VIP_BIRTHDAY_ONE_DAY_BEFORE", - "ZEROSTATE_STARRED_CONTACT_BIRTHDAY_ONE_WEEK_BEFORE", - "ZEROSTATE_STARRED_CONTACT_BIRTHDAY_ONE_DAY_BEFORE", - "ZEROSTATE_OWN_BIRTHDAY_ONE_WEEK_BEFORE", - "ZEROSTATE_OWN_BIRTHDAY_ONE_DAY_BEFORE", - "ZEROSTATE_CALENDAR_ANNIVERSARY", - "ZEROSTATE_CALENDAR_VIP_BIRTHDAY_ONE_WEEK_BEFORE", - "ZEROSTATE_CALENDAR_VIP_BIRTHDAY_ONE_DAY_BEFORE", - "ASSISTANT_FAMILY_READ_ALONG", - "BEQUT", - "ASSISTJS_ACTIONS_LINKS", - "ZEROSTATE_INTEPRETER_DOWNLOAD_PACK", - "PROACTIVE_API", - "TRANSACTIONS_VOICE_MATCH_OPTIN", - "TRANSACTIONS_VOICE_MATCH", - "TRANSACTIONS_VOICE_MATCH_OPTIN_FOR_GAMES", - "LIVE_CARD_XTALK", - "DO_IT_AGAIN", - "DO_IT_AGAIN_WEATHER", - "DO_IT_AGAIN_GOOGLE_HOME", - "DO_IT_AGAIN_FREQUENT_ACTIONS", - "DO_IT_AGAIN_BOOSTED", - "DO_IT_AGAIN_CROSS_DEVICE", - "DO_IT_AGAIN_INITIAL", - "DO_IT_AGAIN_CONFIRMATION", - "SUBSCRIPTIONS_DO_IT_AGAIN", - "CALENDAR_DRAGONGLASS_REFRESH", - "CALENDAR_MEETING_MISSING_ROOM", - "CALENDAR_NEWLY_ADDED_MEETING", - "FOOD_REORDERING", - "HEALTH_AND_FITNESS_MEDITATION", - "HEALTH_AND_FITNESS_SLEEP_COACHING", - "HEALTH_AND_FITNESS_WELLNESS_SETTING", - "ZEROSTATE_ON_MY_WAY_HOME", - "ZEROSTATE_ON_MY_WAY_HOME_DISCOVERY", - "SMART_DISPLAY_WEB_URL_CLICK", - "GEO_TRAFFIC_TO_PLACE", - "GEO_TIME_TO_LEAVE", - "GEO_TTL_CALENDAR_EVENT", - "GEO_TTL_RESERVED_RESTAURANT", - "GEO_TTL_RESERVED_SOCIAL_EVENT", - "GEO_TTL_FLIGHT_PASSENGER_DEPARTURE", - "GEO_TTL_FLIGHT_PASSENGER_DEPARTURE_RIDESHARE", - "GEO_TTL_TRANSPORTATION_ROUTE_RESERVATION", - "GEO_AAP_GROCERY_STORE", - "GEO_AAP_BEAUTY_WELLNESS", - "GEO_AAP_RESTAURANT", - "GEO_AAP_TRANSIT", - "GEO_AAP_APP_RECOMMENDATIONS", - "GEO_AAP_HYBRID_HOTSEAT", - "GEO_AAP_LANDMARK", - "GEO_AAP_SHOPPING_CENTER", - "GEO_AAP_HOTEL", - "GEO_AAP_RESTAURANT_DEAL", - "GEO_AAP_CHAIN_DEAL", - "GEO_AAP_EXPERIMENT", - "APP_ACTIONS_SHORTCUTS", - "APP_ACTIONS_HEADSUP_NOTIFICATION", - "APP_ACTIONS_PERSONAL_INVENTORY_NOTIFICATION", - "WARM_WORDS_TRIGGERING_SURVEY", - "PHOX_NEW_MOVIE_RECOMMENDATION", - "PHOX_NEW_TASK_RECOMMENDATION", - "GSA_NLS_PERMISSION", - "UPDATE_STICKY_NOTES", - "INDIAN_PREMIER_LEAGUE_PROMO_CAMPAIGN", - "FELA_CAMPAIGN_INTRO", - "FELA_CAMPAIGN_REENGAGEMENT", - "FELA_CAMPAIGN_WON", - "LOBBY_HIGHLIGHTS", - "MORRIS_OOBE", - "MORRIS_OOBE_FROM_GMM_OPT_IN", - "MORRIS_OOBE_FROM_GMM_NOT_NOW", - "MORRIS_DRIVING_SCREEN_OOBE_NEW_USER", - "MORRIS_DRIVING_SCREEN_OOBE_ALL_PERMISSIONS", - "MORRIS_DRIVING_SCREEN_OOBE_AR_PERMISSION", - "MORRIS_DRIVING_SCREEN_OOBE_NA_PERMISSION", - "MORRIS_DRIVING_SCREEN_OOBE_BT_PERMISSION", - "MORRIS_DRIVING_SCREEN_AR", - "MORRIS_DRIVING_SCREEN_BT", - "MORRIS_MICRO", - "AAE_ENABLE_CONTACT_UPLOAD_PERMISSION", - "PHOX_OPTIN_DISCOVERABILITY", - "VM_UPGRADE_PUNT", - "INVITE_GUEST_USER", - "FAMILY_NUDGE_SHARED_REMINDERS", - "BIOGRAPHER_PROACTIVE", - "ASPIRE_REMINDER", - "ASPIRE_CONNECT", - "ASPIRE_CELEBRATE", - "PRIVACY_GROWTH", - "LOCATE_DEVICE", - "BIRTHDAY_COUNTDOWN", - "PROACTIVE_RECIPES", - "CUSTOM_PRONUNCIATION_CONTACT_NO_MATCH", - "CUSTOM_PRONUNCIATION_CALL_HANG_UP", - "AE_USER_ONBOARDING_NETFLIX", - "AE_USER_ONBOARDING_ZOOM", - "SNAPSHOT_MORNING_PROMO_CAMPAIGN", - "PROACTIVE_API_WHAT_CAN_YOU_DO", - "VOICE_ENROLLMENT_ON_DEVICE", - "ENABLE_ACCOUNT_AGENDA_QUERIES", - "CREATE_EVENT_EDUCATIONAL", - "ZEROSTATE_CONVERSATION_STARTERS", - "ZEROSTATE_REFRESH_MAGICAL", - "UNUSED_DEVICE_CLEANUP", - "REMOTE_VEHICLE_ACTION_SETUP_PROMOTION", - "FAMILY_NUDGE_ELVIS", - "AADC_MINOR_MOMENT", - "PAYMENTS_SETTINGS", - "SMARTSPACE_HOLIDAY_ALARMS", - "CROSS_DEVICE_ALARM", - "CROSS_DEVICE_TIMER", - "CROSS_DEVICE_TIMER_FCM_PING", - "MEMORY_AWARENESS", - "MEMORY_SHORTCUT", - "MEMORY_TAP_SAVE", - "SHELDON_DISCLOSURE", - "PROACTIVE_API_FASTTRACK", - "PERSONAL_RESULTS_OPTIN", - "HEADPHONE_PERSONAL_RESULTS_OPTIN", - "DISCOVERY_SPARKS", - "SPOKEN_NOTIFICATIONS_OOBE_OPTIN", - "SPOKEN_NOTIFICATIONS_BNS_MIGRATION_OOBE", - "TRAIN_STATUS", - "TRAIN_DELAY", - "TRAIN_PLATFORM", - "NOTES_AND_LISTS_POST_MIGRATION", - "ROUTINES_STOP_WUWA_REMINDER", - "AUDIOBOOKS_DEPRECATION", - "ASSISTANT_ON_LOCKSCREEN_OPTIN", - "DMA_CONSENT_CHANGE", - "GEMINI_UPSELL", - "GEMINI_UPSELL_HARD", - "UNIT_TESTING" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "Support \"Send to device\" in assistant explore. See: go/assistant_explore_links_prd.", - "Reminders.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "This is deprecated. Use CROSS_SURFACE_TRANSACTIONS instead.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Smartspace notifications from the Assistant ZeroState.", - "Notifications from the Narrative News feature.", - "Notifications from broadcast feature. go/broadcast-design", - "", - "", - "", - "Notifications from Tell My Family feature. go/tell-my-family", - "Notification to allow Family managers to allow guest use by deeplinking to assistant settings. go/tell-my-family-allow-guest-notification", - "Notifications from Villager feature.", - "Subscriptions-specific types.", - "", - "", - "", - "", - "", - "", - "", - "Notifications that are sent just before we cancel an unused subscription of the user. See http://go/automatically-cancel-assistant-subscriptions for more information.", - "", - "", - "", - "", - "", - "Interest-based notifications.", - "If", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Pie notifications coming from various usecases.", - "", - "", - "", - "Notifications from the Routines feature.", - "", - "", - "Notifications from the Scheduled Routines feature with Manifold.", - "Notifications from the Location Based Routines Triggers feature.", - "", - "Notifications from Scheduled Routines on phone", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Notifications from IFTTT.", - "Live cards-specific types. Cards instructing the user to set up something in assistant-settings.", - "Cards instructing the user to install assistant.", - "Cards with terms of service / privacy policy which must be reviewed and acknowledged before continuing with the user's intent.", - "Cards with terms and conditions that aren't explicitly requested by the user, but which provide additional information relevant to the user's intent.", - "Cards with web answers to user questions.", - "Cards with information about health conditions.", - "Cards with news items.", - "Cards for reserving hotels.", - "Cards leading the user to Shopping settings.", - "Cards leading the user to their Shopping carts.", - "Cards with directions on Google Maps.", - "Cards showing the source of some content.", - "Cards representing all kinds of activities: go/agent-activity-api", - "Cards instructing the user to link a 3P account for handoffs.", - "Cards leading the user to complete digital purchases on their phones.", - "Cards with answers to KP queries.", - "Cards with bluelink sent by go/bluelink-tts.", - "Cards instructing the user to retrain their voice model.", - "Cards instructing the user to enable personal results.", - "Cards and notifications instructing the user to enable the \"contact info from your devices\" account flag.", - "A catch-all interaction type for live cards coming from Geppetto.", - "A live card that takes users to google help pages.", - "A live card that takes users to their shopping list.", - "A live card that links to Assistant Settings lets user add missing contacts to speed dial.", - "A live card that links to Assistant Settings lets user enable speed dial contacts, but with throttling (b/151226137, #6 in go/help-comm-punts).", - "A live card that links to Assistant Settings lets user delete speed dial contacts.", - "A live card that links to Assistant Settings lets user see the list of speed dial contacts.", - "Cards for review summary response.", - "Cards instructing the user to set up LINE settings for assistant interaction.", - "Cards instructing the user to turn on notification settings for GHA app on iPhone so that they could use Assistant to find the phone.", - "Cards for pointing users to the assistant app-integration settings.", - "Notifications with meeting information.", - "Cards with meeting information.", - "Notifications with Zoom linking instructions.", - "Cards for create duo group instruction.", - "Privacy actions notifications", - "Family Bell Live Card notifications", - "Family Bell Live Card notifications specifically for iOS", - "Notification to allow family bell to ring on mobile devices.", - "Get Ready Bell Card notification for Smart Displays", - "Family Bell deprecation notification for Android.", - "3P-specific notifications. Status updates for transactions.", - "Alerts.", - "Subscriptions.", - "Cards (push notifications to smart displays).", - "Notification resulted from user granting profile permission to 3P.", - "Notification resulted from user ask \"tell me more\" about profile grant.", - "Device notification for Home Automation: go/assistant-device-notifications.", - "Notification sent to notify users to change default media provider in Assistant Settings. See go/change-dmp-dd for more details.", - "", - "", - "Deprecated. Media specific notifications. Notification sent to promote Media Assistant on phones for existing Chirp/Jasper users. go/media-cross-device-promotion.", - "Notification sent to notify users link their 3p music account in Assistant Settings. See go/media-notif-link-3p-account for more details.", - "Notification sent to notify users to choose a preferred podcast provider in Assistant Settings. See b/159824581 for more details.", - "", - "A delayed action sent by voice delight.", - "An interaction sent to a remote device using a PushMessage.", - "An push message wrapping an interaction that's resulting from an asynchronous cloud execution. The resulting notification might have ui elements like buttons etc.", - "Notifications for re-engagement.", - "Notification sent when final answer ready for users' query on assistant.", - "Notification sent to users some time after service to do a survey.", - "", - "", - "", - "", - "", - "", - "Notification sent when the user missed a call on Dragonglass devices: go/missed-calls-on-jasper.", - "", - "", - "", - "", - "", - "", - "Notification for HomeIntelligenceService(IQS) go/iqs-notification-sink", - "", - "Deprecated! use ASSISTANT_SURVEY_PRIORITY_LOW Similar to ASSISTANT_SURVEY but used by Android TV to set android_tv_importance to IMPORTANCE_MIN.", - "Similar to ASSISTANT_SURVEY but used by Android TV to set android_tv_notification_priority to PRIORITY_LOW.", - "Similar to ASSISTANT_SURVEY but used by Android TV Amati Devices to set android_tv_notification_priority to PRIORITY_DEFAULT.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Notifications from Health Assistant. See go/assistant-notifications-for-health-assistant-prd.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "lockscreen settings", - "Notification for aol consent flow go/jit-notification-aol-permission-prd.", - "", - "", - "", - "", - "", - "", - "", - "", - "Birthday notifications from the Assistant ZeroState.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Interpreter download pack notifications from the Assistant ZeroState.", - "", - "Notifications from AoG Transactions", - "Notifications from AoG Transactions placed using Voice Match.", - "Notifications from AoG Transactions triggered when users complete playing 3P games.", - "Cards showing the source of 3rd party content qouted in xTalk.", - "Do-It-Again notifications.", - "", - "", - "", - "", - "", - "These Do It Again interaction types are deprecated and exist only because small portion of users is still receiving the notifications they have set up in a live experiment.", - "", - "", - "A message sent to smart displays when a Google Calendar event is created or modified. It's not visible to the user, and simply notifies the smart display that it should re-fetch all calendar events.", - "", - "", - "", - "", - "", - "", - "On my way home notifications from the Assistant ZeroState.", - "On my way home discovery notifications.", - "", - "Traffic to place notifications (commute driving) from Maps. PRD(go/ga-notifications-prd)", - "Time to leave notifications from Maps. PRD(go/ga-notifications-prd)", - "Calendar event time to leave notifications from Maps. PRD(go/ga-notifications-prd)", - "Restaurant reservation Time to leave notifications from Maps. PRD(go/ga-notifications-prd)", - "Restaurant reservation Time to leave notifications from Maps. PRD(go/ga-notifications-prd)", - "Restaurant reservation Time to leave notifications from Maps. PRD(go/ga-notifications-prd)", - "Flight departure Time to leave notification when \"Book a ride\" action button is triggered. This is same notification as GEO_TTL_FLIGHT_PASSENGER_DEPARTURE with the \"book a ride\" button as the only difference. PRD(go/airport-rideshare-prd)", - "Transporation time to leave notification such as train", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Notifications of the App Actions team for creating a app shortcut.", - "Notifications of the App Actions team to notify users about how to use the features of App Actions. PRD (go/app-integration-order-food) UX (go/app-integration-in-product-discovery)", - "Notifications of the App Actions team to notify users about the use of their personal on device data. Design doc: go/personal-inventory-notification UX: go/icing-notification-demo", - "Notification to get user feedback about warm words triggering.", - "Notification for a new movie recommendation found in photos.", - "Notification for a new task recommendation found in photos.", - "Notification to request GsaNotificationListener permission.", - "Notification to update the sticky notes cards on dragonglass.", - "", - "", - "", - "", - "", - "Notification to ask users to complete the Morris OOBE and use Morris in their next drive.", - "", - "", - "Driving Screen and Micro were both turned down.", - "", - "", - "", - "", - "", - "", - "", - "Notification to enable contact upload from paired device.", - "", - "", - "", - "", - "Notification to promote Assistant memory.", - "", - "", - "", - "", - "", - "Notification for Birthday Countdown on DragonGlass.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "AADC.", - "", - "", - "", - "", - "Temporary solution for sending empty notification as FCM ping", - "Memory/Stash go/memory-awareness-notification-prd", - "", - "", - "Notification for legally-required disclosure of Sheldon project. go/sheldon-notification-prd.", - "Notification configured through FastTrack UI: http://fasttrack.", - "Notification for Personal Response (PR) opt-in: go/migrate-pr-notifs-tng-ma-prd", - "Notification for Headphone Personal Response (HPR) opt-in: go/migrate-pr-notifs-tng-ma-prd", - "go/habits-sparks-design", - "Notification for Spoken Notifications OOBE opt-in. go/mapa-notifications-prd", - "Notification for Spoken Notifications BNS Migration OOBE. go/bns-mapa-migration-notifications-prd", - "Notifications for Train Journeys go/proactive-assistant-india-mvp", - "", - "", - "Notifications for Notes and Lists", - "Notifications for user to stop the WUWA.", - "Audiobooks deprecation notification.", - "Notification for Assistant on Lockscreen (AOL) optin. go/headset-permission-tng-migration", - "Interaction type used to trigger refreshes on Smart Displays after DMA consents change.", - "Upsell Gemini to Assistant users via Notifications.", - "", - "NOTE: This should always stay at the bottom of the list." - ], - "type": "string" - }, - "attachment": { - "description": "OPTIONAL. Attachments associated with this Reminder. If the attachment has different behavior on different surfaces (e.g., deeplinks), specify multiple attachments here, and specify the surface types and links in the inner fields. There should be at most one attachment for each surface.", - "items": { - "$ref": "AssistantRemindersAttachment" - }, - "type": "array" - }, - "bareTitle": { - "description": "OPTIONAL. Populated only for assignable reminders (E.g. \"buy milk\"). It will be used in the post-execution card-rendering. If not poulated, i.e. in non-assignable mode, caller should fallback to use $title.", - "type": "string" - }, - "clientId": { - "description": "OPTIONAL. The reminders \"client\" id. This ID uniquely identifies a reminder instance and may be generated by any client that writes to our Reminder backend.", - "type": "string" - }, - "clientType": { - "$ref": "QualityDialogManagerReminderClientType", - "description": "REQUIRED. The type of this attachment. This is used for frontends (e.g., Hubpage) to customize UX. And also for customized VE logging." - }, - "createTime": { - "$ref": "AssistantApiDateTime", - "deprecated": true, - "description": "OPTIONAL. The create time of this reminder. This field is propagated only for the reminders fetched from backend. " - }, - "createTimestamp": { - "description": "OPTIONAL. The create time of this reminder. This field is propagated only only for the reminders fetched from backend.", - "format": "google-datetime", - "type": "string" - }, - "creator": { - "$ref": "QualityActionsReminderPerson", - "description": "OPTIONAL. Creator of a reminder (owned by the current user). Used in shared reminder RUD operations." - }, - "customizedNotificationCard": { - "deprecated": true, - "description": "OPTIONAL. Contains fields needed to build the customized notification card DEPRECATED. No longer supported after migration to Tasks.", - "items": { - "$ref": "QualityActionsCustomizedNotification" - }, - "type": "array" - }, - "datetime": { - "$ref": "AssistantApiDateTime", - "description": "A representation of the Gregorian calendar date and timezone-relative time a reminder is scheduled for. This contains the date and time of either a single reminder or the upcoming instance of a recurring reminder." - }, - "description": { - "description": "OPTIONAL. Full-length description of the reminder.", - "type": "string" - }, - "documentAssignmentSource": { - "$ref": "QualityActionsReminderDocument" - }, - "dynamiteGroupAssignmentSource": { - "$ref": "QualityActionsReminderDynamiteGroup" - }, - "extraNotificationDeviceId": { - "description": "OPTIONAL. Device ID for home notification which should have loud notification. See go/device-id-storage-in-tasks", - "type": "string" - }, - "id": { - "deprecated": true, - "description": "DEPRECATED. Use `client_id` or `server_id` instead.", - "type": "string" - }, - "location": { - "$ref": "QualityActionsReminderLocation" - }, - "log": { - "$ref": "AssistantLogsReminderLog", - "description": "OPTIONAL. Associated logs to be plumbed through along with a reminder." - }, - "memoryPayload": { - "$ref": "AssistantRemindersMemoryPayload", - "description": "OPTIONAL. Memory record payload which is associated with this reminder. This will be set for all Assistant reminders created after the first launch of the Reminder Memory integration, see go/reminders-memory for more details. Also, this might apply to all other types of reminders." - }, - "notifying": { - "description": "OPTIONAL. True if the reminder is notifying on the device that is making the request to the server.", - "type": "boolean" - }, - "personalReferenceMetadata": { - "$ref": "CopleySourceTypeList", - "description": "OPTIONAL. Populated if the reminder is based off of a personal reference, e.g. [my hotel] when the user has a hotel reservation. Contains the information needed for suggestion chip attribution, e.g. a link back to the email reservation." - }, - "recipient": { - "$ref": "QualityActionsReminderPerson", - "description": "OPTIONAL. Recipient of a reminder (created by the current user). Used for shared reminder CRUD operations." - }, - "recurrence": { - "$ref": "QualityActionsReminderRecurrenceInfo" - }, - "serverId": { - "description": "OPTIONAL. The reminders backend \"server\" id. Only filled in some scenarios, e.g. to generate the reminders hubpage detailed-reminder view.", - "type": "string" - }, - "symbolicTime": { - "enum": [ - "UNSET", - "MORNING", - "AFTERNOON", - "EVENING", - "NIGHT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "title": { - "description": "REQUIRED. The main textual representation of the reminder with the final title. For assignable reminders, this would be e.g. \"From John: buy milk\".", - "type": "string" - }, - "updateTimestamp": { - "description": "OPTIONAL. The last updated time of this reminder. This field is propagated only for the reminders fetched from ARIS (go/aris-dd).", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "QualityActionsReminderDocument": { - "description": "Message representing a Document (i.e. Google Docs, Sheets, Slides) This is currently only used to indicate the existence of said document and can be later extended to include more document information as needed.", - "id": "QualityActionsReminderDocument", - "properties": {}, - "type": "object" - }, - "QualityActionsReminderDynamiteGroup": { - "description": "Message representing a Dynamite Group (AKA Google Chat space) This is currently only used to indicate the existence of said group and can be later extended to include more group information as needed.", - "id": "QualityActionsReminderDynamiteGroup", - "properties": {}, - "type": "object" - }, - "QualityActionsReminderLocation": { - "description": "A representation of reminder-triggering locations. They may be specific, resolved locations, non-specific location groups, or personal aliases. Next id: 12", - "id": "QualityActionsReminderLocation", - "properties": { - "categoryInfo": { - "$ref": "QualityActionsReminderLocationCategoryInfo" - }, - "chainInfo": { - "$ref": "QualityActionsReminderLocationChainInfo" - }, - "customLocationType": { - "description": "Optional additional information about the types of the custom location. This field is not stored in backend, and is only used to plumb NLP information to fulfillment UI.", - "enum": [ - "UNKNOWN_TYPE", - "BUSINESS", - "PLACE", - "ADDRESS" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "displayAddress": { - "description": "An address string that is suitable for displaying to the user in an application interface. It can be detailed, or brief. e.g. \"80 Absolute Ave, Unit 1708, Mississauga, ON\" e.g. \"151 Charles Street West\"", - "type": "string" - }, - "geoFeatureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "Filled if location_type is CUSTOM and this is a resolved instance of a business (not for specific address locations)." - }, - "lat": { - "format": "double", - "type": "number" - }, - "lng": { - "format": "double", - "type": "number" - }, - "locationType": { - "enum": [ - "UNKNOWN", - "HOME", - "WORK", - "CHAIN", - "CATEGORICAL", - "CUSTOM" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "name": { - "description": "Descriptive name, e.g. \"43rd st new york\", a user-edited place name (e.g. \"Gym\"), or a reverse geocoded business name. This can be any string.", - "type": "string" - }, - "personalLocationMetadata": { - "$ref": "CopleySourceTypeList", - "deprecated": true, - "description": "Deprecated in favor of Reminder.personal_reference_metadata." - }, - "ttsAddress": { - "description": "A localized, shortened version of the address, suitable for TTS. This originates in the LocationFrame.", - "type": "string" - } - }, - "type": "object" - }, - "QualityActionsReminderLocationCategoryInfo": { - "description": "If LocationType is CATEGORICAL, this is info about the category. For example, the category \"Grocery Stores\" includes chains such as Safeway and Whole Foods.", - "id": "QualityActionsReminderLocationCategoryInfo", - "properties": { - "displayName": { - "description": "A (localized) display string describing the category. This is s generic string describing the category, and may be different than the term the user actually said, e.g. name: \"supermarket\", display_name: \"Grocery Stores\"", - "type": "string" - }, - "locationCategory": { - "enum": [ - "UNKNOWN_CATEGORY", - "GROCERY_STORES", - "ELECTRONICS_STORES", - "HARDWARE_STORES", - "PET_STORES", - "PHARMACIES", - "SHOPPING_CENTERS", - "SPORTING_GOODS_STORES", - "TOY_STORES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "QualityActionsReminderLocationChainInfo": { - "description": "If LocationType is CHAIN, this is info about the chain.", - "id": "QualityActionsReminderLocationChainInfo", - "properties": { - "chainMid": { - "description": "The freebase mid of the chain entity.", - "type": "string" - }, - "chainName": { - "description": "The geostore.NameProto.text (corresponding to the user's language) at the time of reminder creation. In most cases, this is the same as name, but there may be corner cases where they differ, e.g. name: \"bestbuy\", chain_name: \"Best Buy\".", - "type": "string" - }, - "featureId": { - "$ref": "GeostoreFeatureIdProto", - "description": "The (corporate entity) chain's MapFacts feature id." - } - }, - "type": "object" - }, - "QualityActionsReminderPerson": { - "description": "A representation of a person other than the current user, who may have created the reminder for the current user, or will receive it from them.", - "id": "QualityActionsReminderPerson", - "properties": { - "displayName": { - "description": "REQUIRED. Their full name, which will be shown/spoken when referring to this person informally, e.g. \"You have 2 reminders from Dave Smith.\"", - "type": "string" - }, - "emailAddress": { - "description": "OPTIONAL. Their email address.", - "type": "string" - }, - "gaiaId": { - "description": "REQUIRED. Their gaia id (used by the backend for CRUD operations).", - "format": "int64", - "type": "string" - }, - "givenName": { - "description": "REQUIRED. Their given name, which will be shown/spoken when referring to this person informally, e.g. \"You have 2 reminders from Dave.\"", - "type": "string" - }, - "photoUrl": { - "description": "OPTIONAL. The URL of the photo. This field is read from photo field from go/people-api. Also see go/khdgk for URL formats. This field might be missing if user does not have photo URL available.", - "type": "string" - } - }, - "type": "object" - }, - "QualityActionsReminderRecurrenceInfo": { - "description": "Recurrence rule for specifying time-based repeating reminders.", - "id": "QualityActionsReminderRecurrenceInfo", - "properties": { - "clientId": { - "description": "OPTIONAL. Client-assigned-id for the recurring reminder", - "type": "string" - }, - "recurrence": { - "$ref": "AssistantApiRecurrence", - "description": "The recurrence pattern." - }, - "recurrenceId": { - "description": "An id which uniquely identifies a recurrence series. ", - "type": "string" - }, - "serverId": { - "description": "REQUIRED. Server-assigned-id for the recurring reminder", - "type": "string" - } - }, - "type": "object" - }, - "QualityActionsRingtone": { - "description": "Ringtone information used for the notification of timer and alarm.", - "id": "QualityActionsRingtone", - "properties": { - "pauseDuration": { - "$ref": "AssistantApiDuration", - "description": "The delay between each two sounds." - }, - "soundUrl": { - "description": "The sound urls will be used to play.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityActionsRoom": { - "description": "The room in which an alarm or timer resides", - "id": "QualityActionsRoom", - "properties": { - "homegraphId": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "QualityActionsTimer": { - "description": "Conceptually, timers are clocks that count down from an initial duration and notify when they reach 0. In practice, as a timer is running, it holds a stable expiration time and computes the remaining duration using the current time. When a timer is paused, it holds a stable remaining duration.", - "id": "QualityActionsTimer", - "properties": { - "creationTime": { - "$ref": "AssistantApiTimestamp", - "description": "The time when this timer was created" - }, - "device": { - "$ref": "AssistantApiSettingsDeviceSettings", - "description": "Identifies the device this timer belongs to." - }, - "expireTime": { - "description": "When not paused: the time the timer is (or was) scheduled to expire, in milliseconds since the Unix epoch. This should be deprecated and replaced by the expire_timer_time with DateTime type once DateTime proto includes unix timestamp (b/63636831).", - "format": "int64", - "type": "string" - }, - "expireTimerTime": { - "$ref": "NlpSemanticParsingDatetimeDateTime", - "description": "This is currently being only used only for the response generation when the user describe the expired datatime as a search constraint. We will used it for everything else once that for filtering once DateTime proto includes unix timestamp (b/63636831) and expire_time is deprecated." - }, - "id": { - "description": "A string key used as an identifier to this timer, unique for a given Provider.", - "type": "string" - }, - "label": { - "description": "The label, provided by a user, associated with this timer.", - "type": "string" - }, - "lastUpdated": { - "$ref": "AssistantApiTimestamp", - "description": "The time when this timer was last updated (creation, paused, resumed, etc.)" - }, - "originalDuration": { - "description": "The duration of the timer when it was started, in milliseconds.", - "format": "int64", - "type": "string" - }, - "originalTimerDuration": { - "$ref": "NlpSemanticParsingDatetimeDuration", - "description": "The duration set for the timer. The DateTimeModifier field is ignored. This field is currently only experimental until we switch the Dialog code and gramnar to the new format." - }, - "provider": { - "$ref": "AssistantApiCoreTypesProvider", - "description": "The provider that owns this alarm. For Android, this includes the app that owns this alarm, where an intent should be sent to modify it." - }, - "remainingDuration": { - "description": "When PAUSED: the remaining duration in milliseconds.", - "format": "int64", - "type": "string" - }, - "remainingTimerDuration": { - "$ref": "NlpSemanticParsingDatetimeDuration", - "description": "The duration remained for the timer. This is needed because there is no expiration date for paused timer. The DateTimeModifier field is ignored. This field is currently only experimental until we switch the Dialog code and gramnar to the new format." - }, - "ringtone": { - "$ref": "QualityActionsRingtone", - "description": "The ringtone will be played when the timer fires, it will replace the beep sound if it is not empty." - }, - "ringtoneTaskMetadata": { - "$ref": "AssistantApiCoreTypesRingtoneTaskMetadata", - "description": "Ringtone Task Metadata information used to generate sound for firing the timer." - }, - "room": { - "$ref": "QualityActionsRoom", - "description": "Contains info about the room the timer is in" - }, - "status": { - "description": "The current status of the timer.", - "enum": [ - "UNKNOWN_TIMER_STATUS", - "RUNNING", - "PAUSED", - "EXPIRED", - "RESET" - ], - "enumDescriptions": [ - "", - "The timer is currently counting down.", - "The timer is currently paused.", - "The timer has expired (and has notified the user).", - "The timer is paused at its initial duration (countdown_state is not set)." - ], - "type": "string" - }, - "vibrate": { - "description": "Whether or not the device will vibrate when the timer fires.", - "type": "boolean" - } - }, - "type": "object" - }, - "QualityAuthorityTopicEmbeddingsVersionedItem": { - "description": "Proto populated into shards and copied to superroot. Message storing a versioned TopicEmbeddings scores. This is copied from TopicEmbeddings in docjoins.", - "id": "QualityAuthorityTopicEmbeddingsVersionedItem", - "properties": { - "pageEmbedding": { - "format": "byte", - "type": "string" - }, - "siteEmbedding": { - "description": "Compressed site/page embeddings.", - "format": "byte", - "type": "string" - }, - "siteFocusScore": { - "description": "Number denoting how much a site is focused on one topic.", - "format": "float", - "type": "number" - }, - "siteRadius": { - "description": "The measure of how far page_embeddings deviate from the site_embedding.", - "format": "float", - "type": "number" - }, - "versionId": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityCalypsoAppsLink": { - "id": "QualityCalypsoAppsLink", - "properties": { - "applicationId": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityCalypsoAppsUniversalAuLiveOpDetail": { - "description": "Contains the needed information for serving a single LiveOp/LiveEvent on AU. Next ID: 9", - "id": "QualityCalypsoAppsUniversalAuLiveOpDetail", - "properties": { - "countryLevelScheduleInformation": { - "additionalProperties": { - "$ref": "QualityCalypsoAppsUniversalAuLiveOpEvent" - }, - "description": "Key is country, and value is the schedule information in that country.", - "type": "object" - }, - "defaultFormatInformation": { - "$ref": "QualityCalypsoAppsUniversalAuLiveOpFormat", - "description": "Fallback option for the LiveOp format. We will try en-US -\u003e en -\u003e any locale and get the first one that is available." - }, - "defaultScheduleInformation": { - "$ref": "QualityCalypsoAppsUniversalAuLiveOpEvent", - "description": "Fallback option for the LiveOp event scheduling information. Will use earliest start time and last end time from PDC LiveOps data dump." - }, - "eventId": { - "description": "android", - "type": "string" - }, - "eventType": { - "description": "[REQUIRED] type of live op event.", - "enum": [ - "TYPE_UNKNOWN", - "MAJOR_UPDATE", - "SALE", - "EVENT", - "CROSSOVER", - "PRE_REG_UPDATE", - "LOYALTY", - "FIRST_PARTY_PROMOTION", - "AUTO_GENERATED_SALE", - "NEW_RELEASE", - "IAP_SKU_SALE", - "OFFER", - "IAP_SKU_DEALS", - "FEATURED_PRODUCTS", - "PLAY_PASS" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "Major Update - An update which introduces major changes.", - "Sale - Time limited discount.", - "Event - A time limited event available in the game or app.", - "Crossover, also known as IP collaboration in JP - This is an event involving a collaboration IP.", - "Pre-registration update - announcement for pre-reg apps. Note that this maps to a subtype of Major Update in the Play Console UI.", - "Loyalty LiveOps event. E.g. special points earn promotion etc.", - "First party promotions funded by Play.", - "Sale events auto-generated by Play for apps on sale, rather than a sale event as declared through PDC.", - "Events for major new app releases. Auto-generated by the recommendations backend.", - "Sale events generated by sku config, rather than a sale event as declared through PDC.", - "Offer - see offer types below for the types. go/liveops-config-deals", - "Out-of-app purchasable in-app promotions funded by Play.", - "Out-of-app purchasable in-app products, configured by developers through Play Console. go/store-content-featured_product-prd go/featured-in-app-products-pc-dd, go/featured-products-serving-dd", - "PlayPass LiveOps event." - ], - "type": "string" - }, - "eventUrl": { - "description": "ios", - "type": "string" - }, - "localeLevelFormatInformation": { - "additionalProperties": { - "$ref": "QualityCalypsoAppsUniversalAuLiveOpFormat" - }, - "description": "Key is locale, and value is the format information for that locale.", - "type": "object" - }, - "priority": { - "type": "string" - } - }, - "type": "object" - }, - "QualityCalypsoAppsUniversalAuLiveOpEvent": { - "description": "Contains the schedule for a single live-op event. Next ID: 4", - "id": "QualityCalypsoAppsUniversalAuLiveOpEvent", - "properties": { - "endTimestampMillis": { - "description": "[REQUIRED] End time in UTC for the live-op event.", - "format": "int64", - "type": "string" - }, - "previewTimestampMillis": { - "description": "If specified, a live-op event must be shown only after this preview-time (in UTC). Otherwise, the event can be shown at any time as long as its before the end time.", - "format": "int64", - "type": "string" - }, - "startTimestampMillis": { - "description": "[REQUIRED] Start time in UTC for the live-op event.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "QualityCalypsoAppsUniversalAuLiveOpFormat": { - "description": "Contains the format information for a single LiveOp/LiveEvent. Next ID: 11", - "id": "QualityCalypsoAppsUniversalAuLiveOpFormat", - "properties": { - "deeplink": { - "type": "string" - }, - "description": { - "type": "string" - }, - "eyebrow": { - "description": "iOS only, kind of event type", - "type": "string" - }, - "imageUrl": { - "type": "string" - }, - "originalImageUrl": { - "type": "string" - }, - "squareImageUrl": { - "type": "string" - }, - "status": { - "description": "iOS only, sort of start schedule", - "type": "string" - }, - "title": { - "type": "string" - }, - "videoId": { - "type": "string" - }, - "videoUrl": { - "type": "string" - } - }, - "type": "object" - }, - "QualityCalypsoAppsUniversalAuLiveOpsDetailInfo": { - "description": "Stores all possible LiveOps/LiveEvents that are eligible to be shown for an app.", - "id": "QualityCalypsoAppsUniversalAuLiveOpsDetailInfo", - "properties": { - "liveOpEvents": { - "items": { - "$ref": "QualityCalypsoAppsUniversalAuLiveOpDetail" - }, - "type": "array" - }, - "packageName": { - "type": "string" - } - }, - "type": "object" - }, - "QualityCalypsoAppsUniversalImage": { - "id": "QualityCalypsoAppsUniversalImage", - "properties": { - "fifeUrl": { - "type": "string" - }, - "height": { - "format": "int32", - "type": "integer" - }, - "width": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityCalypsoAppsUniversalImageData": { - "id": "QualityCalypsoAppsUniversalImageData", - "properties": { - "enhancedImage": { - "$ref": "QualityCalypsoAppsUniversalImage", - "description": "iOS cover image, which includes the uni image from UAM only." - }, - "featureGraphic": { - "$ref": "QualityCalypsoAppsUniversalImage", - "description": "aka. promotional image / cover image." - }, - "screenshot": { - "items": { - "$ref": "QualityCalypsoAppsUniversalImage" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityCopiaFireflySiteSignal": { - "description": "Proto message containing site-level signal for search stack. Because firefly_stats.proto depends on \"//segindexer:compositedoc_proto\", we cannot make perdocdata contain it.", - "id": "QualityCopiaFireflySiteSignal", - "properties": { - "dailyClicks": { - "format": "int64", - "type": "string" - }, - "dailyGoodClicks": { - "format": "int64", - "type": "string" - }, - "dataTimeSec": { - "format": "int64", - "type": "string" - }, - "firstBoostedTimeSec": { - "format": "int64", - "type": "string" - }, - "impressionsInBoostedPeriod": { - "format": "int64", - "type": "string" - }, - "latestBylineDateSec": { - "format": "int64", - "type": "string" - }, - "latestFirstseenSec": { - "format": "int64", - "type": "string" - }, - "numOfArticles8": { - "format": "int64", - "type": "string" - }, - "numOfArticlesByPeriods": { - "description": "number of articles (lattice article score is 0.8 or more) sliced by 30 days (num_of_articles_by_periods[0] is the newest).", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "numOfGamblingPages": { - "format": "int64", - "type": "string" - }, - "numOfUrls": { - "format": "int64", - "type": "string" - }, - "numOfUrlsByPeriods": { - "description": "number of urls sliced by 30 days (num_of_urls_by_periods[0] is the newest).", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "recentImpForQuotaSystem": { - "format": "int64", - "type": "string" - }, - "siteFp": { - "description": "Hash value of the site. This will be used by our experiment and analysis.", - "format": "uint64", - "type": "string" - }, - "totalImpressions": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "QualityDialogManagerExternalIds": { - "description": "Various external IDs that we may have for a given LocalResult. These IDs can map to the corresponding result in other Google systems (KnowledgeGraph) or in third-party systems (OpenTable).", - "id": "QualityDialogManagerExternalIds", - "properties": { - "blueGingerSupportedServices": { - "$ref": "BlueGingerClientVisibleProtoBlueGingerSupportedServices", - "description": "This field tells us whether this LocalResult supports any of the services that Blue Ginger offers." - }, - "knowledgeGraphMid": { - "type": "string" - }, - "maddenSupportedActions": { - "$ref": "GeoOndemandAssistantSupportedActions", - "description": "Google-internal actions supported by go/madden for this LocalResult." - }, - "openTableRestaurantId": { - "type": "string" - } - }, - "type": "object" - }, - "QualityDialogManagerLocalIntentOptions": { - "id": "QualityDialogManagerLocalIntentOptions", - "properties": { - "intent": { - "description": "LINT.ThenChange( //depot/google3/googledata/nlp/generation/messages/assistant/\\ dialog_LOCAL_LocalAssistantSchema/\\ dialog.LOCAL.LocalAssistantSchema_zxx.genx.textpb, //depot/google3/quality/dialog_manager/verticals/local/assistant/\\ suggestion_chip_util.cc)", - "items": { - "enum": [ - "UNKNOWN", - "ADDRESS", - "CALL", - "DIRECTIONS", - "HOURS", - "INTERNAL_FOOD_ORDERING", - "NEXT", - "MENU", - "PHONE_NUMBER", - "RESERVATIONS" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityDialogManagerLocalResult": { - "description": "A generic representation of a local result returned by a local backend. Next ID: 33", - "id": "QualityDialogManagerLocalResult", - "properties": { - "adminArea1": { - "description": "This field can represent different areas depending on the country. For example in the US it is state but in Canada it would be a province.", - "type": "string" - }, - "availableIntents": { - "$ref": "QualityDialogManagerLocalIntentOptions", - "description": "The set of available intents changes with result. An intersection of available_intents and allowed_intents (See: local_config.proto), is shown to the user." - }, - "businessType": { - "$ref": "NlpSemanticParsingLocalBusinessType", - "description": "Bitset of business types this result falls into. Many fields in this message may be unset - expect good coverage for restaurants and hotels for now, but not for other verticals." - }, - "country": { - "type": "string" - }, - "countryCode": { - "description": "The two-letter ISO 3166-1 country code of this result. Generated by FindFeatureCountryCode http://google3/geostore/base/public/country.h?l=39\u0026rcl=154898119 so it should always be populated, but technically there is no guarantee.", - "type": "string" - }, - "distanceMeters": { - "description": "For a directions result, this field will be the distance from the origin to this result using the best measure we have available - the distance along a route, if we have one, or just the crow's flight distance. For a local result, this field will be the crow's flight distance from the user to the result.", - "format": "uint64", - "type": "string" - }, - "distanceUnits": { - "description": "The standard units of the location where the user is based (not their current location). For example, miles for a user from the US, kilometers for the UK. A US user currently in the UK should have units read in miles.", - "enum": [ - "UNIT_UNKNOWN", - "UNIT_NONE", - "UNIT_DEGREES", - "UNIT_DEGREES_CELSIUS", - "UNIT_DEGREES_FAHRENHEIT", - "UNIT_DEGREES_KELVIN", - "UNIT_MILLISECONDS", - "UNIT_SECONDS", - "UNIT_MINUTES", - "UNIT_HOURS", - "UNIT_DAYS", - "UNIT_MILLIMETERS", - "UNIT_CENTIMETERS", - "UNIT_METERS", - "UNIT_YARDS", - "UNIT_KILOMETERS", - "UNIT_MILES", - "UNIT_SCANDINAVIAN_MILES", - "UNIT_METERS_PER_SECOND", - "UNIT_KILOMETERS_PER_HOUR", - "UNIT_MILES_PER_HOUR", - "UNIT_PERCENT", - "UNIT_FEET", - "UNIT_INCHES", - "UNIT_HOURS_MINUTES_SECONDS", - "UNIT_HOURS_MINUTES", - "UNIT_SPORTS_SCORE", - "UNIT_WEEKS", - "UNIT_MONTHS", - "UNIT_YEARS", - "UNIT_CALORIES", - "UNIT_DAYS_HOURS_MINUTES_SECONDS", - "UNIT_WEEKS_DAYS_HOURS_MINUTES_SECONDS", - "UNIT_ACRES", - "UNIT_SQUARE_MILES", - "UNIT_HECTARES", - "UNIT_SQUARE_KILOMETERS", - "UNIT_SQUARE_CENTIMETERS", - "UNIT_BAR", - "UNIT_KILOPASCAL", - "UNIT_PSI", - "UNIT_POUND", - "UNIT_KILOGRAM", - "UNIT_SHORT_TON", - "UNIT_LONG_TON", - "UNIT_METRIC_TON", - "UNIT_OUNCE", - "UNIT_GRAM" - ], - "enumDescriptions": [ - "", - "for scalar values", - "Temperature: \"unqualified degrees\", needed by GenX.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "US Mile", - "Scandinavian Mile, only supported for Scandinavian languages, through the measurement library (not through code).", - "", - "", - "US Mile/hour", - "", - "", - "", - "Compound unit that expresses a temporal duration in hours, minutes, and seconds. Used in conjunction with numeric_value expressed in seconds. Examples: numeric_value = 1 \"one second\" numeric_value = 2 \"two seconds\" numeric_value = 30 \"thirty seconds\" numeric_value = 59 \"fifty-nine seconds\" numeric_value = 60 \"one minute\" numeric_value = 61 \"one minute and one second\" numeric_value = 119 \"one minute and fifty-nine seconds\" numeric_value = 120 \"two minutes\" numeric_value = 121 \"two minute and one second\" numeric_value = 3599 \"fifty-nine minutes and fifty-nine seconds\" numeric_value = 3600 \"one hour\" numeric_value = 3601 \"one hour and one second\"", - "Compound unit that expresses a temporal duration in hours and minutes. seconds. Used in conjunction with numeric_value expressed in minutes. Examples: numeric_value = 1 \"one minute\" numeric_value = 2 \"two minutes\" numeric_value = 30 \"thirty minutes\" numeric_value = 59 \"fifty-nine minutes\" numeric_value = 60 \"one hour\" numeric_value = 61 \"one hour one minute\" numeric_value = 119 \"one hour fifty-nine minutes\" numeric_value = 120 \"two hours\" numeric_value = 121 \"two hours one minute\" numeric_value = 3599 \"fifty-nine hours fifty-nine minutes\"\"", - "Sports scores are generally just numbers, but sometimes these numbers need to be expressed in a certain format (for example, \"nil\" instead of \"zero\" for GB locales in EN). This unit allows this specialization, but otherwise acts as UNIT_NONE in practice.", - "", - "", - "", - "kCal (i.e. Big Calorie)", - "Similar to UNIT_HOURS_MINUTES_SECONDS, but with more headroom.", - "", - "", - "", - "", - "Surface areas.", - "", - "Pressure", - "", - "", - "Mass", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "externalIds": { - "$ref": "QualityDialogManagerExternalIds", - "description": "Various external IDs that we may have for this result." - }, - "featureType": { - "enum": [ - "UNKNOWN_TYPE", - "ESTABLISHMENT", - "GEOCODE_ADDRESS", - "GEOCODE_INTERSECTION", - "GEOCODE_ROUTE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "inUserAdminArea1": { - "description": "If true, this LocalResult is located in the same state as the user's location.", - "type": "boolean" - }, - "inUserCountry": { - "description": "If true, this LocalResult is located in the same country as the user's location.", - "type": "boolean" - }, - "inUserLocality": { - "description": "Whether this result is in the same city or town that the user is in.", - "type": "boolean" - }, - "internalFoodOrderingMetadata": { - "$ref": "LocalsearchProtoInternalFoodOrderingActionMetadata", - "deprecated": true, - "description": "Internal Food ordering action (i.e food ordering via Google) metadata." - }, - "isBusinessChain": { - "description": "If the original query had a chain intent, and this result is for a business chain.", - "type": "boolean" - }, - "locality": { - "description": "City/Town.", - "type": "string" - }, - "name": { - "description": "The name of the result, extracted from its FeatureProto's name field.", - "type": "string" - }, - "neighborhood": { - "description": "Neighborhood within a city. This field is not likely to be set for towns or smaller cities.", - "type": "string" - }, - "resultId": { - "$ref": "NlpSemanticParsingLocalLocalResultId", - "description": "All info we will need to lookup this result in search." - }, - "streetName": { - "type": "string" - }, - "streetNumber": { - "type": "string" - }, - "synonym": { - "description": "A list of text synonyms the user could use to refer to the result.", - "items": { - "type": "string" - }, - "type": "array" - }, - "ttsAddress": { - "description": "The address of this result formatted for TTS output. This formatting removes acronyms like 2-letter state codes as they cannot be spoken well.", - "type": "string" - } - }, - "type": "object" - }, - "QualityDialogManagerReminderClientType": { - "description": "Define Reminder Client Type. This field is for the purposes of 1) UX Customization: Reminder frontends can be configured to have a slightly different UX (e.g., A customized button on Hubpage. A customized notification layout.) 2) Metrics: Client can count how many Reminders with a certain client type are retrieved/mutated. (e.g., VEIDs in go/oparaw.) 3) Index: ListReminder can list all Reminders with a certain client type. 4) Visibility control: some frontends (identified by provenance type, shortn/_xVC9nY2Eb8) only have access to a subset of client types.", - "id": "QualityDialogManagerReminderClientType", - "properties": { - "type": { - "enum": [ - "UNSPECIFIED", - "ASSISTANT", - "FORESIGHT", - "FORESIGHT_TAP_TO_PAYLOAD", - "NBA_ALL_STAR_VOTING", - "FORESIGHT_LONG_ANSWER", - "FORESIGHT_WHEN_IS", - "FORESIGHT_PORKY_PIG", - "NOTES_AND_LISTS_SUGGESTION_CHIP", - "FAMILY_NOTES", - "PEOPLE_INTELLIGENCE" - ], - "enumDescriptions": [ - "", - "A regular Assistant Reminder.", - "DEPRECATED. Foresight on WebAnswers callouts with a notification that leads to the Reminders Hub.", - "Foresight on WebAnswers callouts with a notification that leads to the Search payload (go/foresight-reminders-callout-launch-report).", - "", - "", - "", - "", - "", - "", - "People Intelligence reminders (go/cr-full)" - ], - "type": "string" - } - }, - "type": "object" - }, - "QualityDniDocPreviewRestrictions": { - "description": "Set of per-document markup restrictions based on go/eucd-indexing-design. Used for EUCD and global preview compliance. Next ID: 20", - "id": "QualityDniDocPreviewRestrictions", - "properties": { - "bylineDateSecs": { - "description": "Publish date set by webmaster. See detailed description here: http://shortn/_1eC0zzjR7k. Note that this will currently only be set for canonical documents where byline date could be extracted.", - "format": "int64", - "type": "string" - }, - "crawlTsUsec": { - "description": "The time that the info in this attachment was computed during crawl, in microseconds.", - "format": "int64", - "type": "string" - }, - "extendedNewsPreviewsDomain": { - "$ref": "QualityDniExtendedNewsPreviews", - "description": "Whether this document comes from a domain that is affected by Extended News Previews (ENP) and its status (approved/rejected)." - }, - "faviconDisplay": { - "description": "Whether the favicon for a given domain should be displayed. FAVICON_DISPLAY_UNSPECIFIED - Display the favicon DISABLE_FAVICON - the favicon should not be rendered by the feature", - "enum": [ - "FAVICON_DISPLAY_UNSPECIFIED", - "DISABLE_FAVICON" - ], - "enumDescriptions": [ - "Not specified, no preview policy-related restrictions apply (but other restrictions like Fair Use still do). go/protodosdonts#do-include-an-unspecified-value-in-an-enum", - "Do not display the Favicon for the domain." - ], - "type": "string" - }, - "firstseenDateSecs": { - "description": "Firstseen date populated by indexing. It works as fallback to byline_date if it doesn't exist. Note that this will currently only be set for canonical documents where firstseen date could be populated.", - "format": "int32", - "type": "integer" - }, - "isAmp": { - "description": "Only be true when the page itself is an AMP page. For paired AMP, the canonical page will have this bit as false.", - "type": "boolean" - }, - "isEucdDomain": { - "deprecated": true, - "type": "boolean" - }, - "maxSnippetLength": { - "description": "The max number of snippet characters allowed. Based on document markup. No limit if value is less than 0, Google could use any length of snippets. Default value 0 is the strictest restriction, to avoid violating mistakenly If not set, there is no snippet length policy to enforce. Features must first check has_max_snippet_length to avoid applying an overly strict policy.", - "format": "int32", - "type": "integer" - }, - "maxSnippetLengthFromPublisher": { - "description": "Same as the max_snippet_length, max_thumbnail_size, max_video_preview_secs listed above. But values are based on publisher's preferences from Search Console's robots meta tag tool.", - "format": "int32", - "type": "integer" - }, - "maxSnippetLengthPublisherDefault": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "maxThumbnailSize": { - "description": "The max thumbnail size allowed. Based on document markup Default value NONE is the strictest restriction, to avoid violating mistakenly. If not set, there is no thumbnail policy to enforce.", - "enum": [ - "THUMBNAIL_UNSPECIFIED", - "NONE", - "STANDARD", - "LARGE" - ], - "enumDescriptions": [ - "Not specified, no preview policy-related restrictions apply (but other restrictions like Fair Use still do).", - "Publisher explicitly requires a no-image treatment.", - "Translates to 50k pixels.", - "Translates to 300k pixels." - ], - "type": "string" - }, - "maxThumbnailSizeFromPublisher": { - "enum": [ - "THUMBNAIL_UNSPECIFIED", - "NONE", - "STANDARD", - "LARGE" - ], - "enumDescriptions": [ - "Not specified, no preview policy-related restrictions apply (but other restrictions like Fair Use still do).", - "Publisher explicitly requires a no-image treatment.", - "Translates to 50k pixels.", - "Translates to 300k pixels." - ], - "type": "string" - }, - "maxThumbnailSizePublisherDefault": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "maxVideoPreviewSecs": { - "description": "The max seconds of video preview allowed. Based on document markup. No limit if value is less than 0, Google could show any seconds of video. Default value 0 is the strictest restriction, to avoid violating mistakenly If not set, there is no preview length policy to enforce. Features must first check has_max_video_preview_secs to avoid applying an overly strict policy.", - "format": "int32", - "type": "integer" - }, - "maxVideoPreviewSecsFromPublisher": { - "format": "int32", - "type": "integer" - }, - "maxVideoPreviewSecsPublisherDefault": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "snippetLengthSource": { - "description": "Source of snippet length.", - "enum": [ - "SOURCE_UNKNOWN", - "HTML_ROBOTS_TAG", - "HTTP_HEADER", - "SEARCH_CONSOLE", - "PLACEHOLDER_SOURCE_1", - "PLACEHOLDER_SOURCE_2" - ], - "enumDescriptions": [ - "Source unknown, not added through doc_preview_restrictions_annotator.", - "DocPreviewRestrictions extracted from HTML robots tag.", - "DocPreviewRestrictions extracted from HTTP response headers.", - "DocPreviewRestrictions added from search console.", - "Placeholder source.", - "Placeholder source" - ], - "type": "string" - }, - "thumbnailSizeSource": { - "description": "Source of thumbnail size.", - "enum": [ - "SOURCE_UNKNOWN", - "HTML_ROBOTS_TAG", - "HTTP_HEADER", - "SEARCH_CONSOLE", - "PLACEHOLDER_SOURCE_1", - "PLACEHOLDER_SOURCE_2" - ], - "enumDescriptions": [ - "Source unknown, not added through doc_preview_restrictions_annotator.", - "DocPreviewRestrictions extracted from HTML robots tag.", - "DocPreviewRestrictions extracted from HTTP response headers.", - "DocPreviewRestrictions added from search console.", - "Placeholder source.", - "Placeholder source" - ], - "type": "string" - }, - "videoPreviewSecsSource": { - "description": "Source of video preview seconds.", - "enum": [ - "SOURCE_UNKNOWN", - "HTML_ROBOTS_TAG", - "HTTP_HEADER", - "SEARCH_CONSOLE", - "PLACEHOLDER_SOURCE_1", - "PLACEHOLDER_SOURCE_2" - ], - "enumDescriptions": [ - "Source unknown, not added through doc_preview_restrictions_annotator.", - "DocPreviewRestrictions extracted from HTML robots tag.", - "DocPreviewRestrictions extracted from HTTP response headers.", - "DocPreviewRestrictions added from search console.", - "Placeholder source.", - "Placeholder source" - ], - "type": "string" - } - }, - "type": "object" - }, - "QualityDniExtendedNewsPreviews": { - "description": "When making changes to this proto, make sure to run: blaze test commerce/datastore/tools/codegen:code_generator_test blaze run commerce/datastore/tools/codegen:code_generator See http://go/cds-schema-council for details. LINT.IfChange", - "id": "QualityDniExtendedNewsPreviews", - "properties": { - "desnippetedCountryCode": { - "description": "List of countries that desnippet the publisher. ISO 3166-1-alpha-2 country code (such as FR). See go/iiuse#region-identifiers. Used in V1.", - "items": { - "type": "string" - }, - "type": "array" - }, - "policyCriteriaBase64": { - "description": "Search Console Signals that modifies how policy are calculated. Didn't add `wmconsole.EnpDesnippetingOverrideRules` direcly to avoid cicular dependency issue: go/enp-v2#bookmark=id.dvb1qcltabv9 ENPv2 proto (EnpDesnippetingOverrideRules): google3/crawler/wmconsole/proto/config_enp_desnippeting_override_rules.proto", - "type": "string" - }, - "status": { - "description": "ENP status.", - "enum": [ - "STATUS_UNSPECIFIED", - "GOOGLE_DEFAULT", - "DEPRECATED_DO_NOT_USE_SHOW_SNIPPET_5", - "ENP_REJECTED", - "DEPRECATED_DO_NOT_USE_DESNIPPET_6", - "INELIGIBLE_DOMAIN", - "QA_DESNIPPET", - "SHOW_SNIPPET", - "DESNIPPET" - ], - "enumDeprecated": [ - false, - true, - true, - true, - true, - true, - true, - false, - false - ], - "enumDescriptions": [ - "go/protodosdonts#do-include-an-unspecified-value-in-an-enum", - "ENP accepted or pending state, no preview restrictions and can be overridden by robots meta-tag. Deprecation note: has been replaced for V1's `SHOW_SNIPPET` status", - "Reserving old value to make F1 schema happy.", - "Publisher rejected ENP - no snippets, no markup override. Deprecation note: has been replaced for V1's `DESNIPPET` status", - "Reserving old value to make F1 schema happy.", - "Domain not found in the list. Not eligible for more processing. This could behave in the same manner as the GOOGLE_DEFAULT option, but allows for separation of assumptions if need be. Deprecation note: check for status code `kNotFound` to avoid creating an ENP proto when is not needed.", - "This state is only used for QA/testing purposes. Deprecation node: testing phase is over. Do not use.", - "Similar to GOOGLE_DEFAULT - used in V1.", - "Similar to ENP_REJECTED - used in V1." - ], - "type": "string" - }, - "version": { - "description": "The default version is V0 (for backward compatibility).", - "enum": [ - "VERSION_UNSPECIFIED", - "V0", - "V1", - "V2" - ], - "enumDescriptions": [ - "go/protodosdonts#do-include-an-unspecified-value-in-an-enum", - "The fields that will be used: status and country_code. go/enp-v0", - "The fields that will be used: status and desnippeted_country_code go/enp-v1", - "go/enp-v2" - ], - "type": "string" - } - }, - "type": "object" - }, - "QualityFringeFringeQueryPriorPerDocData": { - "description": "PerDocData for fringe-query-prior (built into the shards for eventual consumption at Fringe classification time). Not stored in DocJoins. NEXT ID: 17", - "id": "QualityFringeFringeQueryPriorPerDocData", - "properties": { - "encodedCalibratedFringeSitePriorScore": { - "deprecated": true, - "format": "uint32", - "type": "integer" - }, - "encodedChardXlqHoaxPrediction": { - "description": "An encoding of the Chard XLQ-hoax prediction in [0,1].", - "format": "uint32", - "type": "integer" - }, - "encodedChardXlqTranslatedPrediction": { - "description": "An encoding of the Chard XLQ prediction on translated content in [0,1].", - "format": "uint32", - "type": "integer" - }, - "encodedChardXlqYmylPrediction": { - "deprecated": true, - "description": "An encoding of the Chard XLQ-YMYL prediction in [0,1].", - "format": "uint32", - "type": "integer" - }, - "encodedDaftScore": { - "description": "An encoding of the Document About Fringe Topic (daft) score in [0, 1].", - "format": "uint32", - "type": "integer" - }, - "encodedDocumentFringeVulnerability": { - "description": "An estimate of the vulnerability of this doc to show fringe content, based on the context around the document. Can be interpreted as a 'safe' QScore threshold to use (see go/doc-fringe-vulnerability for more info). Encoded for compactness and to restrict visibility. Please contact fringe-ranking@ to get access to quality_fringe::DocumentFringeVulnerabilityEncoding to decode this field.", - "format": "uint32", - "type": "integer" - }, - "encodedEntityPriorScore": { - "description": "Highest entity prior seen for document's Headline and SingleTopic entities (see go/topicality-score for definitions of entity topicalities). Represents probability that a query is fringe, given that the entity is in the result set with topicality \u003e= Headline. Scores scaled to integers between 0 and 1000 for compactness. Scores must be interpreted through FringeQueryPriorEncoding::Decode API.", - "format": "uint32", - "type": "integer" - }, - "encodedFringePriorScore": { - "deprecated": true, - "description": "Probability that a query is fringe, given this document is in the result set. Scores scaled to integers between 0 and 1000 for compactness. Scores must be interpreted through FringeQueryPriorEncoding::Decode API.", - "format": "uint32", - "type": "integer" - }, - "encodedFringeSitePriorScore": { - "description": "Probability that a query is fringe, given this document's site is in the result set. Scores scaled to integers between 0 and 1000 for compactness. Scores must be interpreted through FringeQueryPriorEncoding::Decode API.", - "format": "uint32", - "type": "integer" - }, - "encodedFringeSitePriorScoreForQfsTraining": { - "description": "Probability that a query is fringe, given this document's site is in the result set. Does not use signals with a dependency on the QueryFringeScore of a document. Scores scaled to integers between 0 and 1000 for compactness. Scores must be interpreted through FringeQueryPriorEncoding::Decode API. Will NOT be present if the fringe_site_prior_score_for_qfs_training is not significantly different from the site_prior_score.", - "format": "uint32", - "type": "integer" - }, - "encodedPredictedXlqScoreAndConfidence": { - "description": "A combined encoding of the pXLQ score in [0,1] and the confidence with which that score should be interpreted in [0,1].", - "format": "uint32", - "type": "integer" - }, - "encodedProximityScore": { - "description": "A score in [0, 1] representing the similarity of this doc to known fringe-vulnerable 'seeds'. See go/fringe-proximity for more information. Encoded for compactness and to restrict visibility.", - "format": "uint32", - "type": "integer" - }, - "encodedPseudoraterPxlqScore": { - "description": "An encoding of the XLQ pseudorater severity score translated into pXLQ score space in [0,1]. The encoding includes the pseudorater version and confidence.", - "format": "uint32", - "type": "integer" - }, - "politicsPageGovSite": { - "description": "Whether the page is a politics page according to petacats on a government domain according to KG. Used to override pXLQ in Q* delta-pxlq.", - "type": "boolean" - }, - "sensitiveEntitiesIndices": { - "description": "Indices on the repository_webref::WebrefEntities::entity field of entities that represent a person or a group of people (aka sensitive entities). Will be deprecated once sensitive_entities_mids is fully launched (see b/290268614).", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "sensitiveEntitiesMids": { - "description": "MIDs of entities that represent a person or a group of people (aka sensitive entities). See b/290268614 for reference why this is needed in replacement to sensitive_entities_indices.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityGenieComplexQueriesComplexQueriesOutputRewrite": { - "id": "QualityGenieComplexQueriesComplexQueriesOutputRewrite", - "properties": { - "entities": { - "items": { - "$ref": "QualityGenieComplexQueriesComplexQueriesOutputRewriteEntity" - }, - "type": "array" - }, - "rewriteType": { - "enum": [ - "UNKNOWN", - "SIMPLE_SPLIT_LOW_CONFIDENCE", - "SIMPLE_SPLIT", - "COMPLEX_SPLIT_LOW_CONFIDENCE", - "COMPLEX_SPLIT_HIGH_CONFIDENCE", - "COMPARATIVE", - "HARDCODED_SPLIT_BY_REGEX" - ], - "enumDescriptions": [ - "", - "E.g. A query where we are unsure if we should split.", - "E.g. \"Set a timer for 3 minutes and set a timer for 6 minutes\".", - "E.g. \"Set a timer for 3 and for 6 minutes\".", - "E.g. \"Set a timer for 3 minutes and a timer for 6 minutes\".", - "E.g. \"Who is older Barack Obama or Justin Bieber\".", - "E.g. \"Play Madonna at volume 5\"." - ], - "type": "string" - }, - "textualRewrite": { - "type": "string" - } - }, - "type": "object" - }, - "QualityGenieComplexQueriesComplexQueriesOutputRewriteEntity": { - "id": "QualityGenieComplexQueriesComplexQueriesOutputRewriteEntity", - "properties": { - "mid": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "type": "object" - }, - "QualityGeoBrainlocBrainlocAttachment": { - "description": "Compressed version of quality_geo_brainloc.goldmine.BrainlocAnnotation for indexing. (See BrainlocAnnotation for detailed documentation.) Next ID: 10", - "id": "QualityGeoBrainlocBrainlocAttachment", - "properties": { - "brainlocVersion": { - "format": "int32", - "type": "integer" - }, - "topCitiesRawScores": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "topCitiesVocabIds": { - "description": "Compressed top locations and their scores. *Locations are stored using their model vocab IDs. *Location scores are stored using 14 bits of precision (2 bytes).", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "topCountiesRawScores": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "topCountiesVocabIds": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "topCountriesRawScores": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "topCountriesVocabIds": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "topStatesRawScores": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "topStatesVocabIds": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityLabelsGoogleLabelData": { - "id": "QualityLabelsGoogleLabelData", - "properties": { - "label": { - "items": { - "$ref": "QualityLabelsGoogleLabelDataLabel" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityLabelsGoogleLabelDataLabel": { - "id": "QualityLabelsGoogleLabelDataLabel", - "properties": { - "confidence": { - "description": "If global_label_value is present, confidence is ignored. confidence is DEPRECATED.", - "format": "float", - "type": "number" - }, - "globalLabelBucket": { - "description": "A byte-size value representing 64 * (1 + global_label_value). Use this instead of global_label_value to save on label storage. See quality_prose::LabelValueToBucket() for more info.", - "format": "int32", - "type": "integer" - }, - "globalLabelValue": { - "format": "float", - "type": "number" - }, - "labelId": { - "description": "At least one of label_id and label_name must be filled in", - "format": "int32", - "type": "integer" - }, - "labelName": { - "type": "string" - }, - "provider": { - "items": { - "$ref": "QualityLabelsGoogleLabelDataLabelProvider" - }, - "type": "array" - }, - "providerId": { - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityLabelsGoogleLabelDataLabelProvider": { - "description": "If Provider group is not present the provider is the legacy classifiers (with id 0) and the label_value provided by Google is the global_label_value.", - "id": "QualityLabelsGoogleLabelDataLabelProvider", - "properties": { - "feed": { - "description": "This field is intended to be deprecated. If id == 0 and feed is true it means this label is from a feed. If id == 0 and feed is false, this label is from \"Google\" If id != 0, feed is meaningless.", - "type": "boolean" - }, - "id": { - "description": "We are currently using this field to indicate an id of the set of classifiers that produced this label. This deviates from the original intention. Also see ClassifierDescription and refer to http://go/genre-labels-provider-id for further info.", - "format": "uint64", - "type": "string" - }, - "labelBucket": { - "description": "A byte-size value representing 64 * (1 + global_label_value). Use it instead of global_label_value to save on label storage.", - "format": "int32", - "type": "integer" - }, - "labelValue": { - "format": "float", - "type": "number" - }, - "name": { - "description": "This name will only sometimes be filled in! Frontends can in general expect this to be filled in, but it will not usually be stored in backends.", - "type": "string" - } - }, - "type": "object" - }, - "QualityNavboostCrapsCrapsClickSignals": { - "description": "Click / impression signals for craps. The tag numbers are the same as they were in the original CrapsData (below). This is deliberate.", - "id": "QualityNavboostCrapsCrapsClickSignals", - "properties": { - "absoluteImpressions": { - "description": "Thus far this field is only used for host level unsquashed impressions. When compressed (e.g., in perdocdata.proto, CompressedQualitySignals), this value is represented individually and thus is generally incompatible with the other values which are compressed as click-ratios.", - "format": "double", - "type": "number" - }, - "badClicks": { - "format": "double", - "type": "number" - }, - "clicks": { - "format": "double", - "type": "number" - }, - "goodClicks": { - "format": "double", - "type": "number" - }, - "impressions": { - "format": "double", - "type": "number" - }, - "lastLongestClicks": { - "format": "double", - "type": "number" - }, - "unicornClicks": { - "description": "The subset of clicks that are associated with an event from a Unicorn user.", - "format": "double", - "type": "number" - }, - "unsquashedClicks": { - "description": "This is not being populated for the current format - instead two instances of CrapsClickSignals (squashed/unsquashed) are used. We are migrating to the new format where this field will be populated.", - "format": "double", - "type": "number" - }, - "unsquashedImpressions": { - "description": "This is not being populated for the current format - instead two instances of CrapsClickSignals (squashed/unsquashed) are used. We are migrating to the new format where this field will be populated.", - "format": "double", - "type": "number" - }, - "unsquashedLastLongestClicks": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "QualityNavboostCrapsCrapsData": { - "description": "NEXT TAG: 28", - "id": "QualityNavboostCrapsCrapsData", - "properties": { - "badClicks": { - "format": "double", - "type": "number" - }, - "clicks": { - "format": "double", - "type": "number" - }, - "country": { - "description": "The two-letter uppercase country slice of the CrapsData. Examples: \"US\", \"FR\", \"BR\"", - "type": "string" - }, - "device": { - "$ref": "QualityNavboostCrapsCrapsDevice", - "description": "The device interface and os slice of the CrapsData." - }, - "features": { - "description": "Contains CrapsClickSignals for specific features. (i.e. for mobile, US, metro id - 123\")", - "items": { - "$ref": "QualityNavboostCrapsFeatureCrapsData" - }, - "type": "array" - }, - "goodClicks": { - "format": "double", - "type": "number" - }, - "impressions": { - "description": "These fields may become legacy fields; we may retire them and use the squashed field (below) instead, to allow for some nesting.", - "format": "double", - "type": "number" - }, - "language": { - "description": "The language slice of the CrapsData. Examples: \"en\", \"fr\", \"pt-BR\",", - "type": "string" - }, - "lastLongestClicks": { - "description": "The number of clicks that were last and longest in related user queries.", - "format": "double", - "type": "number" - }, - "mobileData": { - "$ref": "QualityNavboostCrapsCrapsData", - "deprecated": true, - "description": "DO NOT USE: Use the above mobile_signals fields instead. DO NOT REMOVE: Field is present in legacy protos in golden tests." - }, - "mobileSignals": { - "$ref": "QualityNavboostCrapsCrapsClickSignals", - "description": "The portion of this CrapsData aggregated on data from tier 1/2 mobile interfaces in QSessions." - }, - "packedIpAddress": { - "description": "Contains a packed string in network byte order, as expected by CrapsIpPrior. Only populated if we looked up the ip_prior_bad_fraction at retrieval time.", - "format": "byte", - "type": "string" - }, - "patternLevel": { - "description": "Level of pattern. More general patterns get higher values. For URL patterns this field = 0. For example, if we have \"http://abc.def.ghi/xyz.html\" level 0 pattern will be \"http://abc.def.ghi/xyz.html\" level 1 pattern will be \"p://abc.def.ghi\" level 2 pattern will be \"p://def.ghi\"", - "format": "int32", - "type": "integer" - }, - "patternSccStats": { - "$ref": "QualityNavboostCrapsStatsWithWeightsProto", - "description": "For pattern data, this will contain stats of the SCC's of the individual urls contributing to the pattern." - }, - "query": { - "type": "string" - }, - "sliceTag": { - "description": "This field can be used by the craps pipeline to slice up signals by various attributes such as device type, country, locale etc. The slice_tag can be an arbitrary string, and the CrapsData values for each slice_tag are aggregated separately, together with the default empty slice_tag.", - "type": "string" - }, - "squashed": { - "$ref": "QualityNavboostCrapsCrapsClickSignals", - "description": "Not used yet - we will probably move the impressions / clicks / good_clicks bad clicks / last longest clicks into here from top level, and rename those fields to legacy." - }, - "unscaledIpPriorBadFraction": { - "description": "Used to assign a prior based on IP address. See quality/navboost/craps/craps-ip-prior.h. This value is prior to the linear transformation (scaling / offset / min / max) that's applied in craps-penalty.cc.", - "format": "double", - "type": "number" - }, - "unsquashed": { - "$ref": "QualityNavboostCrapsCrapsClickSignals", - "description": "We will start using this one for the retuning rollout." - }, - "unsquashedMobileSignals": { - "$ref": "QualityNavboostCrapsCrapsClickSignals" - }, - "url": { - "type": "string" - }, - "voterTokenCount": { - "description": "The number of distinct voter tokens (a lower bound on the number of distinct users that contributed to the entry, used for privacy-related filtering).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityNavboostCrapsCrapsDevice": { - "description": "CrapsDevice has the gws interface, gws tier and operating system for events from QSessions.", - "id": "QualityNavboostCrapsCrapsDevice", - "properties": { - "os": { - "enum": [ - "DEVICE_OS_UNKNOWN", - "DEVICE_OS_OTHER", - "DEVICE_OS_WINDOWS", - "DEVICE_OS_OSX", - "DEVICE_OS_LINUX", - "DEVICE_OS_ANDROID", - "DEVICE_OS_IOS" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "uxInterface": { - "description": "An enum taken from GWSLogEntryProto that indicates what type of device a request came from. This includes an entry for DESKTOP(1), MOBILE(2), and TABLET(3) devices. Reference: - gwslog(608): GWSLogEntryProto.ux_interface", - "format": "int32", - "type": "integer" - }, - "uxTier": { - "description": "Indicates the device browser tier for the given request. 1 means modern browsers, 3 means very old browsers, and 2 is everything in the middle. See Reference: - gwslog(609): GWSLogEntryProto.ux_tier", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityNavboostCrapsFeatureCrapsData": { - "id": "QualityNavboostCrapsFeatureCrapsData", - "properties": { - "country": { - "description": "Country, like \"us\". If not present, it's an aggregation for all countries. This is the same format as one used in Glue.", - "type": "string" - }, - "device": { - "description": "Device, like \"m\". If not present, it's an aggregation for all devices. \"m\" - mobile devices. \"d\" - destop devices.", - "type": "string" - }, - "language": { - "description": "Language, like \"en\". If not present, it's an aggregation for all languages. This is the same format as one used in Glue.", - "type": "string" - }, - "locationId": { - "description": "Location id for metro and city. If not present, it's an aggregation for all locations within current country.", - "format": "int32", - "type": "integer" - }, - "signals": { - "$ref": "QualityNavboostCrapsCrapsClickSignals", - "description": "CRAPS Signals for the locale." - }, - "voterTokenBitmap": { - "$ref": "QualityNavboostGlueVoterTokenBitmapMessage", - "description": "The set of voter tokens of the sessions that contributed to this feature's stats. Voter tokens are not unique per user, so it is a lower bound on the number of distinct users. Used for privacy-related filtering." - } - }, - "type": "object" - }, - "QualityNavboostCrapsStatsWithWeightsProto": { - "id": "QualityNavboostCrapsStatsWithWeightsProto", - "properties": { - "hi": { - "format": "double", - "type": "number" - }, - "kind": { - "format": "int32", - "type": "integer" - }, - "lo": { - "format": "double", - "type": "number" - }, - "mean": { - "format": "double", - "type": "number" - }, - "median": { - "format": "double", - "type": "number" - }, - "n": { - "format": "int32", - "type": "integer" - }, - "pc10": { - "format": "double", - "type": "number" - }, - "pc25": { - "format": "double", - "type": "number" - }, - "pc75": { - "format": "double", - "type": "number" - }, - "pc90": { - "format": "double", - "type": "number" - }, - "stdError": { - "format": "double", - "type": "number" - }, - "stddev": { - "format": "double", - "type": "number" - }, - "varOfMean": { - "format": "double", - "type": "number" - }, - "variance": { - "format": "double", - "type": "number" - }, - "weightedN": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "QualityNavboostGlueVoterTokenBitmapMessage": { - "description": "Used for aggregating query unique voter_token during merging. We use 4 uint64(s) as a 256-bit bitmap to aggregate distinct voter_tokens in Glue model pipeline. Number of elements should always be either 0 or 4. As an optimization, we store the voter_token as a single uint64 if only one bit is set. See quality/navboost/speedy_glue/util/voter_token_bitmap.h for the class that manages operations on these bitmaps.", - "id": "QualityNavboostGlueVoterTokenBitmapMessage", - "properties": { - "subRange": { - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "voterToken": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "QualityNsrExperimentalNsrTeamData": { - "description": "Experimental NsrTeam data. This is a proto containing versioned signals which can be used to run live experiments. This proto will not be propagated to MDU shards, but it will be populated at query time by go/web-signal-joins inside the CompressedQualitySignals subproto of PerDocData proto. See go/0DayLEs for the design doc. Note how this is only meant to be used during LEs, it should *not* be used for launches.", - "id": "QualityNsrExperimentalNsrTeamData", - "properties": { - "versionedSignals": { - "items": { - "$ref": "QualityNsrExperimentalNsrTeamScoringSignal" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityNsrExperimentalNsrTeamScoringSignal": { - "description": "The versioned signals used by the ExperimentalNsrTeamData proto.", - "id": "QualityNsrExperimentalNsrTeamScoringSignal", - "properties": { - "valueBool": { - "type": "boolean" - }, - "valueDouble": { - "format": "double", - "type": "number" - }, - "valueFloat": { - "format": "float", - "type": "number" - }, - "valueInt32": { - "format": "int32", - "type": "integer" - }, - "valueString": { - "type": "string" - }, - "valueUint32": { - "format": "uint32", - "type": "integer" - }, - "versionId": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityNsrExperimentalNsrTeamWSJData": { - "description": "This is a wrapper needed for the WSJ corpus. We want the WSJ RPCs to inject both the experimental_data and the keys, and as of June 2022 these need to be first level members of the proto.", - "id": "QualityNsrExperimentalNsrTeamWSJData", - "properties": { - "experimentalNsrTeamData": { - "$ref": "QualityNsrExperimentalNsrTeamData" - }, - "lookupKey": { - "description": "The key used to lookup this data in the WSJ corpus. The WSJ data is sitechunk-level, however the documents in the MDU shards are simply urls. WSJ does a mapping from url -\u003e {primary_chunk, secondary, fallbacks, etc.} and retrieves all the keys from the corpus. This lookup key field will keep track of which key was used for this particular lookup.", - "type": "string" - } - }, - "type": "object" - }, - "QualityNsrKetoKetoVersionedData": { - "description": "Data populated to NsrData and hence propagated to docjoins/ascorer/superroot/etc.", - "id": "QualityNsrKetoKetoVersionedData", - "properties": { - "siteFrac": { - "description": "What fraction of the site went into the computation of the site_score. Should be a number in (0, 1].", - "format": "float", - "type": "number" - }, - "siteScore": { - "description": "Site-level aggregated keto score.", - "format": "float", - "type": "number" - }, - "versionId": { - "description": "Unique id of the version.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityNsrNSRVersionedData": { - "description": "Versioned NSR score data.", - "id": "QualityNsrNSRVersionedData", - "properties": { - "value": { - "description": "The corresponding NSR value.", - "format": "float", - "type": "number" - }, - "versionId": { - "description": "The unique id of the version, preferably just scaled: 19.1 x 10 = 191.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityNsrNsrChunksProto": { - "description": "The NsrChunksProto corresponds to the NSRChunks class. The data saved by the proto and the class is the same. We provide utilities to go from one to the other.", - "id": "QualityNsrNsrChunksProto", - "properties": { - "primaryChunk": { - "description": "Primary NSR sitechunk. In most of the cases it's same as HOST_LEVEL_V3 sitechunked canonical url of the document. In rare, but important cases it's based on page markup (see quality/nsr/util/sitechunker.h for details).", - "type": "string" - }, - "secondaryChunks": { - "description": "Secondary NSR sitechunk. When present, it provides more granular chunking than primary sitechunks (see quality/nsr/util/sitechunker.h for details). Note that the NSRChunks class does not store trivial secondary chunks. Be aware of this when constructing NsrChunksProto from scratch.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityNsrNsrChunksWithSourceInfo": { - "id": "QualityNsrNsrChunksWithSourceInfo", - "properties": { - "nsrChunks": { - "$ref": "QualityNsrNsrChunksProto" - }, - "siteChunkSource": { - "description": "Annotated in the SitechunksAnnotator and copied over in NsrAnnotator.", - "enum": [ - "SITE_CHUNK_SOURCE_UNKNOWN", - "SITE_CHUNK_SOURCE_WEBUTIL", - "SITE_CHUNK_SOURCE_BREADCRUMBS", - "SITE_CHUNK_SOURCE_AUTHOR", - "SITE_CHUNK_SOURCE_COOKBOOK", - "SITE_CHUNK_SOURCE_CRAWLED_SELLER_DATA", - "SITE_CHUNK_SOURCE_FALLBACK", - "SITE_CHUNK_SOURCE_UV_CHUNK" - ], - "enumDescriptions": [ - "", - "As of June 2021 this corresponds to HOST_LEVEL_V3 granularity.", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "QualityNsrNsrData": { - "description": "NOTE: When adding a new field to be propagated to Raffia check if NsrPatternSignalSpec needs to be updated. Next ID: 63", - "id": "QualityNsrNsrData", - "properties": { - "articleScore": { - "description": "Score from article classification of the site.", - "format": "float", - "type": "number" - }, - "articleScoreV2": { - "format": "float", - "type": "number" - }, - "chardEncoded": { - "deprecated": true, - "description": "Site-level chard score: site quality predictor based on content.", - "format": "int32", - "type": "integer" - }, - "chardScoreEncoded": { - "description": "Site-level Chard (encoded as an int).", - "items": { - "$ref": "QualityNsrVersionedIntSignal" - }, - "type": "array" - }, - "chardScoreVariance": { - "description": "Site-level Chard Variance for all pages of a site.", - "items": { - "$ref": "QualityNsrVersionedFloatSignal" - }, - "type": "array" - }, - "chardVariance": { - "deprecated": true, - "format": "float", - "type": "number" - }, - "chromeInTotal": { - "description": "Site-level Chrome views.", - "format": "float", - "type": "number" - }, - "clusterId": { - "description": "An id for defining clusters of sites. Used in ecosystem experiments (project Tundra).", - "format": "int32", - "type": "integer" - }, - "clusterUplift": { - "$ref": "QualityNsrNsrDataClusterUplift" - }, - "clutterScore": { - "deprecated": true, - "description": "Delta site-level signal in Q* penalizing sites with a large number of distracting/annoying resources loaded by the site (see go/clutter-v0).", - "format": "float", - "type": "number" - }, - "clutterScores": { - "items": { - "$ref": "QualityNsrVersionedFloatSignal" - }, - "type": "array" - }, - "directFrac": { - "format": "float", - "type": "number" - }, - "healthScore": { - "description": "Categorical signals.", - "format": "float", - "type": "number" - }, - "host": { - "type": "string" - }, - "i18nBucket": { - "description": "Currently corresponds to i18n_g42_bucket.", - "format": "int32", - "type": "integer" - }, - "impressions": { - "description": "Site-level impressions.", - "format": "float", - "type": "number" - }, - "isCovidLocalAuthority": { - "description": "Bit to determine whether the site has the local authority covid signal, as computed by go/covid-local-authority", - "type": "boolean" - }, - "isElectionAuthority": { - "description": "Bit to determine whether the site has the election authority signal, as computed by go/election-authority", - "type": "boolean" - }, - "isVideoFocusedSite": { - "description": "Bit to determine whether the site has mostly video content, but is not hosted on any known video-hosting domains. Site is considered to be video-focused, if it has \u003e 50% of the URLs with watch pages (with smoothing prior). ariane/4045246", - "type": "boolean" - }, - "ketoVersionedData": { - "description": "Keto data.", - "items": { - "$ref": "QualityNsrKetoKetoVersionedData" - }, - "type": "array" - }, - "language": { - "format": "int32", - "type": "integer" - }, - "localityScore": { - "description": "Locality score of the site, i.e. the locality component of the LocalAuthority signal (see go/pq-localauthority).", - "format": "float", - "type": "number" - }, - "metadata": { - "$ref": "QualityNsrNsrDataMetadata" - }, - "nsr": { - "format": "float", - "type": "number" - }, - "nsrEpoch": { - "description": "The epoch from which this NSR value is coming from.", - "type": "string" - }, - "nsrOverrideBid": { - "description": "This signal is used to unconditionally override NSR as a bid in Q*. Should only be used in case of emergency (see go/nsr-override-bid). To have any effect, the value should be present and greater than 0.001.", - "format": "float", - "type": "number" - }, - "nsrVariance": { - "deprecated": true, - "format": "float", - "type": "number" - }, - "nsrdataFromFallbackPatternKey": { - "deprecated": true, - "description": "If true indicates that we do not have NSR data computed for the chunk, and instead the data is coming from an average of other host chunks.", - "type": "boolean" - }, - "pnav": { - "description": "Fractional signals.", - "format": "float", - "type": "number" - }, - "pnavClicks": { - "description": "denominator for the pnav computation", - "format": "float", - "type": "number" - }, - "priorAdjustedNsr": { - "description": "NSR - prior. Estimate of whether the site is above/below average NSR in its slice.", - "items": { - "$ref": "QualityNsrVersionedFloatSignal" - }, - "type": "array" - }, - "racterScores": { - "description": "Site-level AGC classification score (see also go/project-racter-overview).", - "items": { - "$ref": "QualityNsrVersionedFloatSignal" - }, - "type": "array" - }, - "secondarySiteChunk": { - "deprecated": true, - "description": "Secondary NSR sitechunk. When present, it provides more granular chunking than primary sitechunks (see quality/nsr/util/sitechunker.h for details).", - "type": "string" - }, - "shoppingScore": { - "format": "float", - "type": "number" - }, - "site2vecEmbedding": { - "description": "Site2vec embeddings.", - "items": { - "$ref": "QualityNsrNsrDataEmbedding" - }, - "type": "array" - }, - "site2vecEmbeddingEncoded": { - "description": "Encoded site2vec embedding (to be used in superroot) since the full embeddings take too much space.", - "items": { - "$ref": "QualityNsrNsrDataEncodedEmbedding" - }, - "type": "array" - }, - "siteAutopilotScore": { - "description": "Aggregated value of url autopilot scores for this sitechunk.", - "format": "float", - "type": "number" - }, - "siteChunk": { - "deprecated": true, - "description": "Primary NSR sitechunk. In most of the cases it's same as HOST_LEVEL_V3 sitechunked canonical url of the document. In rare, but important cases it's based on page markup (see quality/nsr/util/sitechunker.h for details).", - "type": "string" - }, - "siteChunkSource": { - "deprecated": true, - "description": "These are only annotated in the Goldmine NSR annotator.", - "enum": [ - "SITE_CHUNK_SOURCE_UNKNOWN", - "SITE_CHUNK_SOURCE_HOST_V2", - "SITE_CHUNK_SOURCE_BREADCRUMBS", - "SITE_CHUNK_SOURCE_AUTHOR", - "SITE_CHUNK_SOURCE_COOKBOOK", - "SITE_CHUNK_SOURCE_CRAWLED_SELLER_DATA", - "SITE_CHUNK_SOURCE_FALLBACK", - "SITE_CHUNK_SOURCE_UV_CHUNK" - ], - "enumDescriptions": [ - "", - "As of June 2021 this actually corresponds to HOST_LEVEL_V3 granularity.", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "siteLinkIn": { - "description": "Average value of the site_link_in for pages in the sitechunk.", - "format": "float", - "type": "number" - }, - "siteLinkOut": { - "description": "Aggregated value of url link out scores for this sitechunk.", - "format": "float", - "type": "number" - }, - "sitePr": { - "format": "float", - "type": "number" - }, - "siteQualityStddevs": { - "description": "Estimate of site's PQ rating stddev--spread of the page-level PQ ratings of a site. Note this is different from nsr_variance which predicts error of NSR itself from the aggregated site-level rating.", - "items": { - "$ref": "QualityNsrVersionedFloatSignal" - }, - "type": "array" - }, - "smallPersonalSite": { - "description": "Score of small personal site promotion go/promoting-personal-blogs-v1", - "format": "float", - "type": "number" - }, - "spambrainLavcScore": { - "deprecated": true, - "description": "The SpamBrain LAVC score, as of July 2022. See more information at go/cloverfield-lavc-deck.", - "format": "float", - "type": "number" - }, - "spambrainLavcScores": { - "items": { - "$ref": "QualityNsrVersionedFloatSignal" - }, - "type": "array" - }, - "titlematchScore": { - "description": "Titlematch score of the site, a signal that tells how well titles are matching user queries.", - "format": "float", - "type": "number" - }, - "tofu": { - "description": "Site-level tofu score: site quality predictor based on content.", - "format": "float", - "type": "number" - }, - "ugcScore": { - "format": "float", - "type": "number" - }, - "url": { - "type": "string" - }, - "versionedData": { - "description": "Versioned map of NSR values for experimenting with the next release.", - "items": { - "$ref": "QualityNsrNSRVersionedData" - }, - "type": "array" - }, - "videoScore": { - "format": "float", - "type": "number" - }, - "vlq": { - "description": "Score of the Video LQ model.", - "format": "float", - "type": "number" - }, - "vlqNsr": { - "description": "NSR from a headroom model targeting low-quality video sites.", - "format": "float", - "type": "number" - }, - "ymylNewsV2Score": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityNsrNsrDataClusterUplift": { - "description": "The uplift-per-cluster values used in Tundra's uplift arm.", - "id": "QualityNsrNsrDataClusterUplift", - "properties": { - "local": { - "description": "Score for the local sites arm.", - "format": "float", - "type": "number" - }, - "small": { - "description": "Score for the small sites arm.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityNsrNsrDataEmbedding": { - "id": "QualityNsrNsrDataEmbedding", - "properties": { - "version": { - "format": "uint32", - "type": "integer" - }, - "x": { - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityNsrNsrDataEncodedEmbedding": { - "id": "QualityNsrNsrDataEncodedEmbedding", - "properties": { - "data": { - "format": "byte", - "type": "string" - }, - "version": { - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityNsrNsrDataMetadata": { - "description": "Contains meta information about this data. This field is only available in docjoins (and potentially MDU shards), it is not populated offline. NOTE: This is a new field (Nov 2022) and we do not want clients to depend on this; please contact qscore-team@ if you want to use this information.", - "id": "QualityNsrNsrDataMetadata", - "properties": { - "encodedLookupInformation": { - "description": "Encoded lookup information. The fields set above are expensive to store. Storing them in docjoins is fine, but we cannot store them in MDU shards. In order for the MDU shards to display field provenance information, we store them as a bitfield. For details about the encoding and decoding scheme, see quality_nsr::util::EncodeMetadataLookupInformation. We expect this to occupy 8 bytes as long as there are less than 64 fields in NsrData proto, 12 bytes between 64 and 92 fields, etc.", - "format": "byte", - "type": "string" - }, - "goldmineLookupKeyPerField": { - "additionalProperties": { - "format": "int32", - "type": "integer" - }, - "description": "Same as raffia_lookup_key_per_field. Note that the goldmine_lookups have priority; if a field appears in both goldmine and raffia entries, it means it was taken from goldmine. If it's missing here but present in raffia_lookup_key_per_field, it was taken from raffia.", - "type": "object" - }, - "goldmineLookupKeys": { - "description": "The lookup keys attempted by goldmine. Note that goldmine only runs for urls which can be chunked differently than raffia; in those cases, goldmine related fields are empty.", - "items": { - "type": "string" - }, - "type": "array" - }, - "lastTimeProcessedGoldmineInSeconds": { - "format": "int64", - "type": "string" - }, - "lastTimeProcessedMduInSeconds": { - "description": "This field is populated only during MDU population, so it's *not* present in docjoins, but it's present in production so that it can be displayed.", - "format": "int64", - "type": "string" - }, - "lastTimeProcessedRaffiaInSeconds": { - "description": "Records the last time each system has processed the proto. These are recorded as seconds from the unix epoch. Ideally these fields would be google.protobuf.Timestamp, but the scoring bundle (which depends on this proto) does not understand proto3 syntax. See cl/500942047 for details.", - "format": "int64", - "type": "string" - }, - "nsrChunksWithSourceInfo": { - "$ref": "QualityNsrNsrChunksWithSourceInfo", - "description": "Stores the NSRChunks (computed by goldmine) which were used to populate the data." - }, - "raffiaLookupKey": { - "deprecated": true, - "type": "string" - }, - "raffiaLookupKeyPerField": { - "additionalProperties": { - "format": "int32", - "type": "integer" - }, - "description": "Returns the raffia lookup key per each field in the NsrData proto (with exclusion of the Metadata sub-message (i.e. this)). It contains information like 3 : 1, meaning that the field inside NsrData with id '3' (in this case 'host') has been taken by raffia from the raffia lookup key at index 1.", - "type": "object" - }, - "raffiaLookupKeys": { - "description": "This is an internal field set by Raffia, to indicate which lookup keys have been attempted to populate the NsrData for this document. This will allow us to determine which key has been used to populate each field in the proto. The keys are ordered by lookup priority; raffia will give priority to earlier keys, and only take fields from later keys if they are missing.", - "items": { - "type": "string" - }, - "type": "array" - }, - "raffiaSignalMergerUrl": { - "description": "The url used by NsrSignalMerger (http://google3/indexing/signals/signal-merger.h;l=1801;rcl=509297232) to select which NsrData value to keep. The SignalMerger merges all the NsrData coming from the dup url cluster, and select the NsrData value to return by choosing a single url in the cluster (see NsrSignalMerger class for details). NOTE: This field is populated only when there *is* a cluster. If there is no cluster, this is empty and the key used is the canonical (and only) url.", - "type": "string" - } - }, - "type": "object" - }, - "QualityNsrPQData": { - "description": "Next id: 22", - "id": "QualityNsrPQData", - "properties": { - "chard": { - "deprecated": true, - "description": "URL-level chard prediction (encoded as an int).", - "format": "int32", - "type": "integer" - }, - "chardScoreEncoded": { - "description": "URL-level Chard (encoded as an int).", - "items": { - "$ref": "QualityNsrVersionedIntSignal" - }, - "type": "array" - }, - "contentEffort": { - "description": "LLM-based effort estimation for article pages (see landspeeder/4311817).", - "items": { - "$ref": "QualityNsrVersionedFloatSignal" - }, - "type": "array" - }, - "deltaAutopilotScore": { - "format": "float", - "type": "number" - }, - "deltaLinkIncoming": { - "format": "float", - "type": "number" - }, - "deltaLinkOutgoing": { - "format": "float", - "type": "number" - }, - "deltaSubchunkAdjustment": { - "description": "Total deltaNSR adjustment based on subchunks. This is a page-level adjustment (subchunks are retrieved based on the page classification).", - "format": "float", - "type": "number" - }, - "keto": { - "description": "Keto score.", - "items": { - "$ref": "QualityNsrVersionedFloatSignal" - }, - "type": "array" - }, - "linkIncoming": { - "format": "float", - "type": "number" - }, - "linkOutgoing": { - "format": "float", - "type": "number" - }, - "numOffdomainAnchors": { - "description": "The total number of offdomain anchors seen by the NSR pipeline for this page.", - "format": "float", - "type": "number" - }, - "page2vecLq": { - "format": "float", - "type": "number" - }, - "predictedDefaultNsr": { - "description": "Predicted default NSR score computed in Goldmine via the NSR default predictor (go/default-nsr-predictor).", - "items": { - "$ref": "QualityNsrVersionedFloatSignal" - }, - "type": "array" - }, - "rhubarb": { - "description": "Site-URL delta signals based quality score computed in Goldmine via the Rhubarb model (go/rhubarb-dd).", - "items": { - "$ref": "QualityNsrVersionedFloatSignal" - }, - "type": "array" - }, - "subchunkData": { - "items": { - "$ref": "QualityNsrPQDataSubchunkData" - }, - "type": "array" - }, - "tofu": { - "description": "URL-level tofu prediction.", - "format": "float", - "type": "number" - }, - "urlAutopilotScore": { - "format": "float", - "type": "number" - }, - "vlq": { - "description": "URL-level score of the VLQ model.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityNsrPQDataSubchunkData": { - "description": "Data used to compute delta_subchunk_adjustment. (I.e, the subchunks looked up, with their confidences and weights). This data is not propagated to ascorer.", - "id": "QualityNsrPQDataSubchunkData", - "properties": { - "confidence": { - "description": "Confidence associated with the chunk.", - "format": "float", - "type": "number" - }, - "deltaNsr": { - "description": "Subchunk delta in nsr.", - "format": "float", - "type": "number" - }, - "pageWeight": { - "description": "Weight with which this document belong to this subchunk (greater than 0).", - "format": "float", - "type": "number" - }, - "type": { - "description": "Type of this chunk. Eg, ymyl_health, d2v, etc.", - "type": "string" - } - }, - "type": "object" - }, - "QualityNsrVersionedFloatSignal": { - "description": "A versioned float value. See VersionedFloatSignal functions in google3/quality/nsr/proto/proto_util.h", - "id": "QualityNsrVersionedFloatSignal", - "properties": { - "value": { - "description": "The corresponding float value.", - "format": "float", - "type": "number" - }, - "versionId": { - "description": "Unique version id.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "QualityNsrVersionedIntSignal": { - "description": "A versioned int value. See VersionedIntSignal functions in google3/quality/nsr/proto/proto_util.h", - "id": "QualityNsrVersionedIntSignal", - "properties": { - "value": { - "description": "The corresponding int value.", - "format": "int64", - "type": "string" - }, - "versionId": { - "description": "Unique version id.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "QualityOrbitAsteroidBeltDocumentIntentScores": { - "description": "Next ID: 7", - "id": "QualityOrbitAsteroidBeltDocumentIntentScores", - "properties": { - "belowThresholdIntents": { - "description": "Same as above, but for intents below triggering threshold. It can be assumed that any intent in this list has trigger=false. Most intents do not have below-threshold annotations.", - "items": { - "enum": [ - "NONE", - "TUTORIAL", - "MAP", - "TRANSLATE", - "LISTEN", - "PROMOTION", - "GIF", - "REGISTER", - "EVENT_LISTING", - "RANKING", - "DISCOGRAPHY", - "DIRECTIONS", - "NEWS", - "SOCIAL_MEDIA", - "FAN_FICTION", - "RECIPES", - "HOURS_OF_OPERATION", - "DEFINITION", - "REAL_ESTATE_LISTING", - "PREVIEW", - "MENU", - "UNBOXING", - "NUTRITION_FACTS", - "TRAVEL_GUIDE", - "SPECS", - "CALCULATOR", - "DOWNLOAD", - "SCORES", - "QUOTES", - "SHOWTIMES", - "CATALOG", - "CALENDAR", - "LOCATION_FINDER", - "RENT", - "STUDY_GUIDE", - "REVIEW", - "SHEET_MUSIC", - "LOGIN", - "TRIVIA", - "CONTACT_PAGE", - "RESERVATION", - "CUSTOMER_SUPPORT", - "INTERVIEW", - "COUPON", - "FLIGHT_TRACKER", - "COMPANY_FINANCIALS", - "FORUM", - "THESAURUS", - "MANUAL", - "JOB_POSTING", - "LYRICS", - "SYMPTOMS", - "REPAIR", - "BUYING_GUIDE", - "SHOPPING_MERCHANT_PRODUCT", - "SHOPPING_REVIEW_OR_BUYING_GUIDE", - "PRODUCT_REVIEW", - "PRODUCT_COMPARISON", - "PRODUCT_BUYING_GUIDE", - "SHOPAHOLIC", - "CRIME", - "MEME_DOCUMENT", - "PRODUCT_TOPN", - "AUTHENTICITY", - "INFORMATION_SOURCE_OTHER", - "INFORMATION_SOURCE_NEWS_PUBLISHER", - "INFORMATION_SOURCE_ENCYCLOPEDIA", - "INFORMATION_SOURCE_MERCHANT", - "INFORMATION_SOURCE_GOVERNMENT", - "INFORMATION_SOURCE_UGC", - "INFORMATION_SOURCE_RESEARCH_INSTITUTE", - "QNA", - "UGC_DISCUSSION", - "SHOPPING", - "YMYL_HEALTH_OR_SAFETY", - "SHOPPING_RESEARCH", - "LISTICLE", - "LISTICLE_OR_AGGREGATOR", - "GOOGLE_SCREENSHOT", - "MUGSHOT", - "RESERVED_FOR_NEW_ENUM_140", - "RESERVED_FOR_NEW_ENUM_141", - "RESERVED_FOR_NEW_ENUM_142", - "RESERVED_FOR_NEW_ENUM_143", - "RESERVED_FOR_NEW_ENUM_144", - "RESERVED_FOR_NEW_ENUM_145", - "RESERVED_FOR_NEW_ENUM_146", - "RESERVED_FOR_NEW_ENUM_147", - "RESERVED_FOR_NEW_ENUM_148", - "RESERVED_FOR_NEW_ENUM_149", - "RESERVED_FOR_NEW_ENUM_150", - "RESERVED_FOR_NEW_ENUM_151", - "RESERVED_FOR_NEW_ENUM_152", - "RESERVED_FOR_NEW_ENUM_153", - "RESERVED_FOR_NEW_ENUM_154", - "RESERVED_FOR_NEW_ENUM_155", - "RESERVED_FOR_NEW_ENUM_156", - "RESERVED_FOR_NEW_ENUM_157", - "RESERVED_FOR_NEW_ENUM_158", - "RESERVED_FOR_NEW_ENUM_159", - "RESERVED_FOR_NEW_ENUM_160", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_101", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_102", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_103", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_104", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_105", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_106", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_107", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_108", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_109", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_110", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_111", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_112", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_113", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_114", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_115", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_116", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_117", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_118", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_119", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_120", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_121", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_122", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_123", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_124", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_125", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_126", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_127", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_2", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_5", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_8", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_10", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_17", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_18", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_21", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_23", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_24", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_28", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_29", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_31", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_32", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_34", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_36", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_38", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_39", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_40", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_46", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_50", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_52", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_54", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_56", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_57", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_59", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_60", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_63", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_67", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_71", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_75", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_78", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_81", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_86" - ], - "enumDeprecated": [ - false, - false, - true, - true, - false, - false, - true, - false, - true, - false, - true, - true, - false, - false, - true, - false, - true, - true, - false, - true, - true, - false, - true, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - true, - false, - true, - true, - false, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Deprecated. Consider using PRODUCT_BUYING_GUIDE instead.", - "", - "This is basically an \"or\" of PRODUCT_REVIEW, PRODUCT_COMPARISON, and PRODUCT_BUYING_GUIDE. Use those three intents instead.", - "", - "", - "", - "This is the unmodified http://go/shopaholic score \"forwarded\" through Orbit. Note that scores less than 0.4 are not written to cdoc and will show up as 0.0.", - "Document intent representing whether a page is crime-related (go/crime-demotion-in-image-search-dd)", - "Document meme classifier representing whether a page is meme-related, it was trained to be used alongside the image component (go/meme-classifier-in-image-search).", - "Document intents that provide analysis, opinions of a list of top-recommended products, and focus on multiple specific products individually. See go/sdu-shopping-page-intro#heading=h.r7a5gewp8do.", - "AuthenticityScore for document. see go/astar-dd.", - "Document intents for various information sources. They are used in Tangram Diversity. see tangram_diversity_annotation.proto.", - "", - "", - "", - "", - "", - "", - "Question and Answer format discussion page. check go/orbit-doc-intents for detailed intent description.", - "Document intent for whether a page is a ugc discussion (ie, forums + qna). This is semantically the union of QNA and FORUM doc level intents. We use go/ugc-discussion-bb-classifier for 'en' documents, and combination of forum and qna classifiers from go/sdu-ugc-page-intro for i18n NOTE: en available, i18n coming soon. This will be updated as and when better classifiers become available. Please contact ugc-quality-eng@ for questions.", - "Shopping represents documents that are part of a user shopping journey, e.g. reviews and purchase.\" For intent definition, check go/is_shopping_doc. More details in the b/288576972.", - "go/ymyl For intent definition, check go/ymyl-template.", - "A Shopping Research page. The definition would be a union of \"top_n, product_review, buying_guide and product_comparison\" page types. See go/sdu-shopping-page-intro for each definition.", - "Listicle document intent classifier, see go/listicle-orbit-classifier.", - "", - "========= Enums for image intents ========== Instructions: intents in this section are image intents. which would be annotated in image_intent_scores in DocumentIntentScores. This is an image intent", - "Image intent representing whether there is a mugshot in the image (or if the image is itself a mugshot).", - "========== Enums for new intents ========== Instructions: When adding a new intent, use the reserved enum number from the start of this list, and add a new reserved enum number to the end for the next person. There is a unit test that checks there are at least 20 reserved enums. See go/new-intentkeyenum for details.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "========== Enums for new large intents ========== Please ask orbit@ before using these.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "========== Enums for deleted intents ==========", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "belowThresholdScores": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "imageIntentScores": { - "additionalProperties": { - "$ref": "QualityOrbitAsteroidBeltImageIntentScores" - }, - "description": "Map of imageid key to ImageIntentScores, for images on cdoc.doc_images", - "type": "object" - }, - "intents": { - "description": "The 'intents' and 'scores' fields are stored as parallel lists for compactness. The 'scores' field should not be accessed directly, but instead through the functions in document_intent_scores_utils.", - "items": { - "enum": [ - "NONE", - "TUTORIAL", - "MAP", - "TRANSLATE", - "LISTEN", - "PROMOTION", - "GIF", - "REGISTER", - "EVENT_LISTING", - "RANKING", - "DISCOGRAPHY", - "DIRECTIONS", - "NEWS", - "SOCIAL_MEDIA", - "FAN_FICTION", - "RECIPES", - "HOURS_OF_OPERATION", - "DEFINITION", - "REAL_ESTATE_LISTING", - "PREVIEW", - "MENU", - "UNBOXING", - "NUTRITION_FACTS", - "TRAVEL_GUIDE", - "SPECS", - "CALCULATOR", - "DOWNLOAD", - "SCORES", - "QUOTES", - "SHOWTIMES", - "CATALOG", - "CALENDAR", - "LOCATION_FINDER", - "RENT", - "STUDY_GUIDE", - "REVIEW", - "SHEET_MUSIC", - "LOGIN", - "TRIVIA", - "CONTACT_PAGE", - "RESERVATION", - "CUSTOMER_SUPPORT", - "INTERVIEW", - "COUPON", - "FLIGHT_TRACKER", - "COMPANY_FINANCIALS", - "FORUM", - "THESAURUS", - "MANUAL", - "JOB_POSTING", - "LYRICS", - "SYMPTOMS", - "REPAIR", - "BUYING_GUIDE", - "SHOPPING_MERCHANT_PRODUCT", - "SHOPPING_REVIEW_OR_BUYING_GUIDE", - "PRODUCT_REVIEW", - "PRODUCT_COMPARISON", - "PRODUCT_BUYING_GUIDE", - "SHOPAHOLIC", - "CRIME", - "MEME_DOCUMENT", - "PRODUCT_TOPN", - "AUTHENTICITY", - "INFORMATION_SOURCE_OTHER", - "INFORMATION_SOURCE_NEWS_PUBLISHER", - "INFORMATION_SOURCE_ENCYCLOPEDIA", - "INFORMATION_SOURCE_MERCHANT", - "INFORMATION_SOURCE_GOVERNMENT", - "INFORMATION_SOURCE_UGC", - "INFORMATION_SOURCE_RESEARCH_INSTITUTE", - "QNA", - "UGC_DISCUSSION", - "SHOPPING", - "YMYL_HEALTH_OR_SAFETY", - "SHOPPING_RESEARCH", - "LISTICLE", - "LISTICLE_OR_AGGREGATOR", - "GOOGLE_SCREENSHOT", - "MUGSHOT", - "RESERVED_FOR_NEW_ENUM_140", - "RESERVED_FOR_NEW_ENUM_141", - "RESERVED_FOR_NEW_ENUM_142", - "RESERVED_FOR_NEW_ENUM_143", - "RESERVED_FOR_NEW_ENUM_144", - "RESERVED_FOR_NEW_ENUM_145", - "RESERVED_FOR_NEW_ENUM_146", - "RESERVED_FOR_NEW_ENUM_147", - "RESERVED_FOR_NEW_ENUM_148", - "RESERVED_FOR_NEW_ENUM_149", - "RESERVED_FOR_NEW_ENUM_150", - "RESERVED_FOR_NEW_ENUM_151", - "RESERVED_FOR_NEW_ENUM_152", - "RESERVED_FOR_NEW_ENUM_153", - "RESERVED_FOR_NEW_ENUM_154", - "RESERVED_FOR_NEW_ENUM_155", - "RESERVED_FOR_NEW_ENUM_156", - "RESERVED_FOR_NEW_ENUM_157", - "RESERVED_FOR_NEW_ENUM_158", - "RESERVED_FOR_NEW_ENUM_159", - "RESERVED_FOR_NEW_ENUM_160", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_101", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_102", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_103", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_104", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_105", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_106", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_107", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_108", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_109", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_110", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_111", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_112", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_113", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_114", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_115", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_116", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_117", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_118", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_119", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_120", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_121", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_122", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_123", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_124", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_125", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_126", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_127", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_2", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_5", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_8", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_10", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_17", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_18", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_21", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_23", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_24", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_28", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_29", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_31", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_32", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_34", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_36", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_38", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_39", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_40", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_46", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_50", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_52", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_54", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_56", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_57", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_59", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_60", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_63", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_67", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_71", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_75", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_78", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_81", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_86" - ], - "enumDeprecated": [ - false, - false, - true, - true, - false, - false, - true, - false, - true, - false, - true, - true, - false, - false, - true, - false, - true, - true, - false, - true, - true, - false, - true, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - true, - false, - true, - true, - false, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Deprecated. Consider using PRODUCT_BUYING_GUIDE instead.", - "", - "This is basically an \"or\" of PRODUCT_REVIEW, PRODUCT_COMPARISON, and PRODUCT_BUYING_GUIDE. Use those three intents instead.", - "", - "", - "", - "This is the unmodified http://go/shopaholic score \"forwarded\" through Orbit. Note that scores less than 0.4 are not written to cdoc and will show up as 0.0.", - "Document intent representing whether a page is crime-related (go/crime-demotion-in-image-search-dd)", - "Document meme classifier representing whether a page is meme-related, it was trained to be used alongside the image component (go/meme-classifier-in-image-search).", - "Document intents that provide analysis, opinions of a list of top-recommended products, and focus on multiple specific products individually. See go/sdu-shopping-page-intro#heading=h.r7a5gewp8do.", - "AuthenticityScore for document. see go/astar-dd.", - "Document intents for various information sources. They are used in Tangram Diversity. see tangram_diversity_annotation.proto.", - "", - "", - "", - "", - "", - "", - "Question and Answer format discussion page. check go/orbit-doc-intents for detailed intent description.", - "Document intent for whether a page is a ugc discussion (ie, forums + qna). This is semantically the union of QNA and FORUM doc level intents. We use go/ugc-discussion-bb-classifier for 'en' documents, and combination of forum and qna classifiers from go/sdu-ugc-page-intro for i18n NOTE: en available, i18n coming soon. This will be updated as and when better classifiers become available. Please contact ugc-quality-eng@ for questions.", - "Shopping represents documents that are part of a user shopping journey, e.g. reviews and purchase.\" For intent definition, check go/is_shopping_doc. More details in the b/288576972.", - "go/ymyl For intent definition, check go/ymyl-template.", - "A Shopping Research page. The definition would be a union of \"top_n, product_review, buying_guide and product_comparison\" page types. See go/sdu-shopping-page-intro for each definition.", - "Listicle document intent classifier, see go/listicle-orbit-classifier.", - "", - "========= Enums for image intents ========== Instructions: intents in this section are image intents. which would be annotated in image_intent_scores in DocumentIntentScores. This is an image intent", - "Image intent representing whether there is a mugshot in the image (or if the image is itself a mugshot).", - "========== Enums for new intents ========== Instructions: When adding a new intent, use the reserved enum number from the start of this list, and add a new reserved enum number to the end for the next person. There is a unit test that checks there are at least 20 reserved enums. See go/new-intentkeyenum for details.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "========== Enums for new large intents ========== Please ask orbit@ before using these.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "========== Enums for deleted intents ==========", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "scores": { - "description": "The intent scores, scaled to integers between 0 and 100 for compactness.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "version": { - "deprecated": true, - "description": "DEPRECATED. DO NOT USE IT FOR ANY REASON! contact orbit@ if necessary.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityOrbitAsteroidBeltImageIntentScores": { - "description": "These scores are for image scores *in the context of a landing page*, which is now a discouraged path of building image classifications. See go/orbit-for-images-v2 for an alternative.", - "id": "QualityOrbitAsteroidBeltImageIntentScores", - "properties": { - "intents": { - "description": "The unique identifier for an Asteroid Belt document intent is being reused here", - "items": { - "enum": [ - "NONE", - "TUTORIAL", - "MAP", - "TRANSLATE", - "LISTEN", - "PROMOTION", - "GIF", - "REGISTER", - "EVENT_LISTING", - "RANKING", - "DISCOGRAPHY", - "DIRECTIONS", - "NEWS", - "SOCIAL_MEDIA", - "FAN_FICTION", - "RECIPES", - "HOURS_OF_OPERATION", - "DEFINITION", - "REAL_ESTATE_LISTING", - "PREVIEW", - "MENU", - "UNBOXING", - "NUTRITION_FACTS", - "TRAVEL_GUIDE", - "SPECS", - "CALCULATOR", - "DOWNLOAD", - "SCORES", - "QUOTES", - "SHOWTIMES", - "CATALOG", - "CALENDAR", - "LOCATION_FINDER", - "RENT", - "STUDY_GUIDE", - "REVIEW", - "SHEET_MUSIC", - "LOGIN", - "TRIVIA", - "CONTACT_PAGE", - "RESERVATION", - "CUSTOMER_SUPPORT", - "INTERVIEW", - "COUPON", - "FLIGHT_TRACKER", - "COMPANY_FINANCIALS", - "FORUM", - "THESAURUS", - "MANUAL", - "JOB_POSTING", - "LYRICS", - "SYMPTOMS", - "REPAIR", - "BUYING_GUIDE", - "SHOPPING_MERCHANT_PRODUCT", - "SHOPPING_REVIEW_OR_BUYING_GUIDE", - "PRODUCT_REVIEW", - "PRODUCT_COMPARISON", - "PRODUCT_BUYING_GUIDE", - "SHOPAHOLIC", - "CRIME", - "MEME_DOCUMENT", - "PRODUCT_TOPN", - "AUTHENTICITY", - "INFORMATION_SOURCE_OTHER", - "INFORMATION_SOURCE_NEWS_PUBLISHER", - "INFORMATION_SOURCE_ENCYCLOPEDIA", - "INFORMATION_SOURCE_MERCHANT", - "INFORMATION_SOURCE_GOVERNMENT", - "INFORMATION_SOURCE_UGC", - "INFORMATION_SOURCE_RESEARCH_INSTITUTE", - "QNA", - "UGC_DISCUSSION", - "SHOPPING", - "YMYL_HEALTH_OR_SAFETY", - "SHOPPING_RESEARCH", - "LISTICLE", - "LISTICLE_OR_AGGREGATOR", - "GOOGLE_SCREENSHOT", - "MUGSHOT", - "RESERVED_FOR_NEW_ENUM_140", - "RESERVED_FOR_NEW_ENUM_141", - "RESERVED_FOR_NEW_ENUM_142", - "RESERVED_FOR_NEW_ENUM_143", - "RESERVED_FOR_NEW_ENUM_144", - "RESERVED_FOR_NEW_ENUM_145", - "RESERVED_FOR_NEW_ENUM_146", - "RESERVED_FOR_NEW_ENUM_147", - "RESERVED_FOR_NEW_ENUM_148", - "RESERVED_FOR_NEW_ENUM_149", - "RESERVED_FOR_NEW_ENUM_150", - "RESERVED_FOR_NEW_ENUM_151", - "RESERVED_FOR_NEW_ENUM_152", - "RESERVED_FOR_NEW_ENUM_153", - "RESERVED_FOR_NEW_ENUM_154", - "RESERVED_FOR_NEW_ENUM_155", - "RESERVED_FOR_NEW_ENUM_156", - "RESERVED_FOR_NEW_ENUM_157", - "RESERVED_FOR_NEW_ENUM_158", - "RESERVED_FOR_NEW_ENUM_159", - "RESERVED_FOR_NEW_ENUM_160", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_101", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_102", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_103", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_104", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_105", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_106", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_107", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_108", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_109", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_110", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_111", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_112", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_113", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_114", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_115", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_116", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_117", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_118", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_119", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_120", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_121", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_122", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_123", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_124", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_125", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_126", - "RESERVED_FOR_NEW_ENUM_LARGE_PLEASE_ASK_ORBIT_127", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_2", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_5", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_8", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_10", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_17", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_18", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_21", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_23", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_24", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_28", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_29", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_31", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_32", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_34", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_36", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_38", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_39", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_40", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_46", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_50", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_52", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_54", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_56", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_57", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_59", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_60", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_63", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_67", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_71", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_75", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_78", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_81", - "RESERVED_FOR_DELETED_ENUM_DO_NOT_REUSE_86" - ], - "enumDeprecated": [ - false, - false, - true, - true, - false, - false, - true, - false, - true, - false, - true, - true, - false, - false, - true, - false, - true, - true, - false, - true, - true, - false, - true, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - true, - false, - true, - true, - false, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Deprecated. Consider using PRODUCT_BUYING_GUIDE instead.", - "", - "This is basically an \"or\" of PRODUCT_REVIEW, PRODUCT_COMPARISON, and PRODUCT_BUYING_GUIDE. Use those three intents instead.", - "", - "", - "", - "This is the unmodified http://go/shopaholic score \"forwarded\" through Orbit. Note that scores less than 0.4 are not written to cdoc and will show up as 0.0.", - "Document intent representing whether a page is crime-related (go/crime-demotion-in-image-search-dd)", - "Document meme classifier representing whether a page is meme-related, it was trained to be used alongside the image component (go/meme-classifier-in-image-search).", - "Document intents that provide analysis, opinions of a list of top-recommended products, and focus on multiple specific products individually. See go/sdu-shopping-page-intro#heading=h.r7a5gewp8do.", - "AuthenticityScore for document. see go/astar-dd.", - "Document intents for various information sources. They are used in Tangram Diversity. see tangram_diversity_annotation.proto.", - "", - "", - "", - "", - "", - "", - "Question and Answer format discussion page. check go/orbit-doc-intents for detailed intent description.", - "Document intent for whether a page is a ugc discussion (ie, forums + qna). This is semantically the union of QNA and FORUM doc level intents. We use go/ugc-discussion-bb-classifier for 'en' documents, and combination of forum and qna classifiers from go/sdu-ugc-page-intro for i18n NOTE: en available, i18n coming soon. This will be updated as and when better classifiers become available. Please contact ugc-quality-eng@ for questions.", - "Shopping represents documents that are part of a user shopping journey, e.g. reviews and purchase.\" For intent definition, check go/is_shopping_doc. More details in the b/288576972.", - "go/ymyl For intent definition, check go/ymyl-template.", - "A Shopping Research page. The definition would be a union of \"top_n, product_review, buying_guide and product_comparison\" page types. See go/sdu-shopping-page-intro for each definition.", - "Listicle document intent classifier, see go/listicle-orbit-classifier.", - "", - "========= Enums for image intents ========== Instructions: intents in this section are image intents. which would be annotated in image_intent_scores in DocumentIntentScores. This is an image intent", - "Image intent representing whether there is a mugshot in the image (or if the image is itself a mugshot).", - "========== Enums for new intents ========== Instructions: When adding a new intent, use the reserved enum number from the start of this list, and add a new reserved enum number to the end for the next person. There is a unit test that checks there are at least 20 reserved enums. See go/new-intentkeyenum for details.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "========== Enums for new large intents ========== Please ask orbit@ before using these.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "========== Enums for deleted intents ==========", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "scores": { - "description": "The intent scores, scaled to integers between 0 and 100 for compactness.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityOrbitOrbitImageIntent": { - "description": "Stores information for a single image-only orbit intent. See go/orbit-for-images-v2 for more details.", - "id": "QualityOrbitOrbitImageIntent", - "properties": { - "imageIntent": { - "description": "Intent of this proto instance.", - "enum": [ - "UNSPECIFIED_INTENT", - "HUMAN", - "ANIMAL", - "HATEFUL_SYMBOL", - "MEME_IMAGE" - ], - "enumDescriptions": [ - "", - "go/human-animal-models", - "", - "go/sensitive-symbols-orbit-model", - "go/meme-classifier-in-image-search" - ], - "type": "string" - }, - "missingInputs": { - "items": { - "enum": [ - "UNSPECIFIED_INPUT", - "IMAGE_INPUT", - "IMAGE_DOC_INFO_INPUT" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "reach": { - "enum": [ - "UNSPECIFIED_REACH", - "AMARNA", - "SUPERROOT" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "remove": { - "description": "Whether this intent should be removed when backfilling new classifications to the index. When backfilling a new version of a classifier to production we have cases where we actually want to *remove* an intent that was present in production because the new version might have moved the intent to below logging threshold. This bit should be used to signal this case so that merging logic can remove the intent for the image. This should *never* be set in a production callsite, it is only intended for backfilling operations.", - "type": "boolean" - }, - "score": { - "description": "Score of the intent.", - "format": "float", - "type": "number" - }, - "trigger": { - "description": "Whether the intent triggered with the default threshold or not.", - "type": "boolean" - } - }, - "type": "object" - }, - "QualityOrbitOrbitImageIntents": { - "description": "Image-only orbit intents (See: go/orbit-for-images-v2)", - "id": "QualityOrbitOrbitImageIntents", - "properties": { - "intents": { - "description": "Intents with non-trivial scores.", - "items": { - "$ref": "QualityOrbitOrbitImageIntent" - }, - "type": "array" - }, - "version": { - "description": "Represents the version. Filled in Amarna (main version controller).", - "enum": [ - "V_UNSPECIFIED", - "V_20230925", - "V_20240212", - "V_20240307", - "V_20240308", - "V_20240410" - ], - "enumDescriptions": [ - "", - "Initial version.", - "Version which includes Kiwi fix from b/292082440.", - "Backfill from V_20240212. Usually it is not necessary to annotate a new version when backfilling data, but we want to keep track of how fast this is propagating through the index for experimental purposes. This is effectively the same version as V_20240212.", - "Backfill with RAIDv3 fix from go/retune-human-animal-raid-v3. Usually it is not necessary to annotate a new version when backfilling data, but we want to keep track of how fast this is propagating through the index for experimental purposes.", - "Reprocessing from Amarna after V_20240308. It is usually not necessary to add a new version after a backfill, but we want to keep track of how long it takes for a new version to propagate through the index after a backfill for experimental purposes. This is effectively the same version as V_20240308." - ], - "type": "string" - } - }, - "type": "object" - }, - "QualityPreviewChosenSnippetInfo": { - "description": "Information for chosen snippet. Next ID: 8", - "id": "QualityPreviewChosenSnippetInfo", - "properties": { - "isVulgar": { - "description": "Whether this snippet is a vulgar candidate.", - "type": "boolean" - }, - "leadingTextType": { - "type": "string" - }, - "snippetHtml": { - "description": "The rendered snippet html.", - "type": "string" - }, - "snippetType": { - "enum": [ - "SNIPPET_TYPE_UNSPECIFIED", - "SEQUENCE", - "SEQUENCE_V2", - "FULL", - "META", - "LEADING_TEXT", - "FULL_V2", - "SAFT_SENTENCE", - "RADISH_SENTENCE", - "RADISH_LIST", - "RADISH_TABLE", - "ANNOTATED_FULL", - "OFFLINE_RADISH_SENTENCE", - "OFFLINE_RADISH_LIST", - "OFFLINE_RADISH_TABLE", - "OFFLINE_LEADING_TEXT", - "PEREGRINE", - "LLM_EXTRACTIVE" - ], - "enumDescriptions": [ - "For historical reason, this `SNIPPET_TYPE_UNSPECIFIED` type is defined as value 15 instead of 0.", - "A sequence snippet is generated from query term matches (from meta and body sections) and typically consists of multiple tidbits. Currently we only keep one single best combination of the retrieved tidbits.", - "", - "A full snippet is also generated from query term matches. Unlike the sequence snippet, this only consists of one expanded tidbit that are scored as the best single tidbit among the retrieved tidbits.", - "This is a leading text of meta description.", - "This is a leading text of main body text (skipping headers), and its starting position is typically identified in the indexing phase.", - "Similar to FULL snippet, but this allows multiple candidates.", - "saft sentences.", - "Candidates created from radish attachment.", - "", - "", - "Candidates from quality_snippets.SnippetSpansInfo.", - "Candidates created from the `OfflineCandidate` message at the goldmine, with different candidate sources.", - "", - "", - "", - "Candidates generated by SnippetFlow in SR.", - "As of Jul 2023, an experimental candidate that generated by a ML model." - ], - "type": "string" - }, - "source": { - "description": "Source of the chosen snippet, decided in PORC. String value of quality.porc.TextSnippetCandidate.TextSnippetSource defined at google3/quality/porc/proto/text_snippet.proto", - "type": "string" - }, - "tidbits": { - "items": { - "$ref": "QualityPreviewChosenSnippetInfoTidbitInfo" - }, - "type": "array" - }, - "trailingEllipsis": { - "description": "Whether this snippet has trailing ellipsis.", - "type": "boolean" - } - }, - "type": "object" - }, - "QualityPreviewChosenSnippetInfoTidbitInfo": { - "description": "Information to identify tidbits.", - "id": "QualityPreviewChosenSnippetInfoTidbitInfo", - "properties": { - "sectionName": { - "description": "Section name of current snippet.", - "type": "string" - }, - "separator": { - "description": "Separator to put before this tidbit.", - "type": "string" - }, - "tidbitText": { - "description": "Tidbit text for validation.", - "type": "string" - }, - "tokenBegin": { - "description": "Tidbit token range in the section.", - "format": "uint64", - "type": "string" - }, - "tokenEnd": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "QualityPreviewRanklabSnippet": { - "description": "Snippet candidate related information and signal scores. This message is used for both snippet scoring and ranklab features recording. Next ID: 12 ================== Features populated in production =======================", - "id": "QualityPreviewRanklabSnippet", - "properties": { - "brainFeatures": { - "$ref": "QualityPreviewSnippetBrainFeatures", - "description": "Features from SnippetFlow in Superroot." - }, - "documentFeatures": { - "$ref": "QualityPreviewSnippetDocumentFeatures" - }, - "experimentalFeatures": { - "$ref": "QualityPreviewSnippetExperimentalFeatures", - "description": "For experimental usage, not populated yet." - }, - "finalScore": { - "description": "The final score of this candidate.", - "format": "float", - "type": "number" - }, - "isMuppetSelectedSnippet": { - "description": "Is this the candidate chosen by Muppet scorer.", - "type": "boolean" - }, - "originalQueryTermCoverageFeatures": { - "$ref": "QualityPreviewSnippetQueryTermCoverageFeatures", - "description": "Query term (original terms only) coverage features." - }, - "qualityFeatures": { - "$ref": "QualityPreviewSnippetQualityFeatures" - }, - "queryFeatures": { - "$ref": "QualityPreviewSnippetQueryFeatures", - "description": "Core set of snippet features." - }, - "queryTermCoverageFeatures": { - "$ref": "QualityPreviewSnippetQueryTermCoverageFeatures", - "description": "Query term (including synonyms) coverage features." - }, - "radishFeatures": { - "$ref": "QualityPreviewSnippetRadishFeatures", - "description": "Radish related information." - }, - "snippetInfo": { - "$ref": "QualityPreviewChosenSnippetInfo", - "description": "Information to identify current chosen snippet." - } - }, - "type": "object" - }, - "QualityPreviewRanklabTitle": { - "description": "A collection of data corresponding to a single title candidate. This will be used as: - a collection of signals to score and select titles in production - an input for training title models NOTE: When adding a floating point value for Ranklab purposes, use float32 instead of float64, because some of the Ranklab library still does not fully support float64. Next ID: 70", - "id": "QualityPreviewRanklabTitle", - "properties": { - "baseGoldmineFinalScore": { - "description": "`goldmine_final_score` value in base.", - "format": "float", - "type": "number" - }, - "baseRank": { - "description": "The ranking index of this candidate (starting from 0) in base.", - "format": "int32", - "type": "integer" - }, - "dataSourceType": { - "description": "Title source type.", - "enum": [ - "BODY", - "BODY_SWAPPED", - "OPEN_GRAPH", - "OPEN_GRAPH_HYBRID", - "ALT", - "SOURCEMETA", - "META", - "BODY_HYBRID", - "LEADING_TEXT", - "CHIMERA", - "EXPERIMENTAL", - "DEPRECATED_LEARNED", - "DEPRECATED_LOCAL", - "NUM_TITLE_TYPES" - ], - "enumDescriptions": [ - "The title is from (a substring of) the tag.", - "This title is for homepages, whose body title contains site title at the end, and we swap the site title to the beginning and pass it from gwd.", - "The title is from tag.", - "OPEN_GRAPH title with a site title appended.", - "The title is from the alternative title pipeline.", - "The title is a blogs, scholar, or news title in the sourcemeta section.", - "The title comes from (a substring of) the title tag.", - "The title is a body title with a site title appended.", - "The title comes from some other leading text in the", - "body. The title is created as a compound of multiple different", - "sources, via Chimera-Title geneartion subsystem. The title is created as of some experimental system", - "", - "", - "" - ], - "type": "string" - }, - "docLang": { - "description": "Document language for this title. It is used for model inference and hence flattened into RanklabTitle instead of RanklabDoc.", - "enum": [ - "ENGLISH", - "DANISH", - "DUTCH", - "FINNISH", - "FRENCH", - "GERMAN", - "HEBREW", - "ITALIAN", - "JAPANESE", - "KOREAN", - "NORWEGIAN", - "POLISH", - "PORTUGUESE", - "RUSSIAN", - "SPANISH", - "SWEDISH", - "CHINESE", - "CZECH", - "GREEK", - "ICELANDIC", - "LATVIAN", - "LITHUANIAN", - "ROMANIAN", - "HUNGARIAN", - "ESTONIAN", - "TG_UNKNOWN_LANGUAGE", - "UNKNOWN_LANGUAGE", - "BULGARIAN", - "CROATIAN", - "SERBIAN", - "IRISH", - "GALICIAN", - "TAGALOG", - "TURKISH", - "UKRAINIAN", - "HINDI", - "MACEDONIAN", - "BENGALI", - "INDONESIAN", - "LATIN", - "MALAY", - "MALAYALAM", - "WELSH", - "NEPALI", - "TELUGU", - "ALBANIAN", - "TAMIL", - "BELARUSIAN", - "JAVANESE", - "OCCITAN", - "URDU", - "BIHARI", - "GUJARATI", - "THAI", - "ARABIC", - "CATALAN", - "ESPERANTO", - "BASQUE", - "INTERLINGUA", - "KANNADA", - "PUNJABI", - "SCOTS_GAELIC", - "SWAHILI", - "SLOVENIAN", - "MARATHI", - "MALTESE", - "VIETNAMESE", - "FRISIAN", - "SLOVAK", - "CHINESE_T", - "FAROESE", - "SUNDANESE", - "UZBEK", - "AMHARIC", - "AZERBAIJANI", - "GEORGIAN", - "TIGRINYA", - "PERSIAN", - "BOSNIAN", - "SINHALESE", - "NORWEGIAN_N", - "PORTUGUESE_P", - "PORTUGUESE_B", - "XHOSA", - "ZULU", - "GUARANI", - "SESOTHO", - "TURKMEN", - "KYRGYZ", - "BRETON", - "TWI", - "YIDDISH", - "SERBO_CROATIAN", - "SOMALI", - "UIGHUR", - "KURDISH", - "MONGOLIAN", - "ARMENIAN", - "LAOTHIAN", - "SINDHI", - "RHAETO_ROMANCE", - "AFRIKAANS", - "LUXEMBOURGISH", - "BURMESE", - "KHMER", - "TIBETAN", - "DHIVEHI", - "CHEROKEE", - "SYRIAC", - "LIMBU", - "ORIYA", - "ASSAMESE", - "CORSICAN", - "INTERLINGUE", - "KAZAKH", - "LINGALA", - "MOLDAVIAN", - "PASHTO", - "QUECHUA", - "SHONA", - "TAJIK", - "TATAR", - "TONGA", - "YORUBA", - "CREOLES_AND_PIDGINS_ENGLISH_BASED", - "CREOLES_AND_PIDGINS_FRENCH_BASED", - "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", - "CREOLES_AND_PIDGINS_OTHER", - "MAORI", - "WOLOF", - "ABKHAZIAN", - "AFAR", - "AYMARA", - "BASHKIR", - "BISLAMA", - "DZONGKHA", - "FIJIAN", - "GREENLANDIC", - "HAUSA", - "HAITIAN_CREOLE", - "INUPIAK", - "INUKTITUT", - "KASHMIRI", - "KINYARWANDA", - "MALAGASY", - "NAURU", - "OROMO", - "RUNDI", - "SAMOAN", - "SANGO", - "SANSKRIT", - "SISWANT", - "TSONGA", - "TSWANA", - "VOLAPUK", - "ZHUANG", - "KHASI", - "SCOTS", - "GANDA", - "MANX", - "MONTENEGRIN", - "AKAN", - "IGBO", - "MAURITIAN_CREOLE", - "HAWAIIAN", - "CEBUANO", - "EWE", - "GA", - "HMONG", - "KRIO", - "LOZI", - "LUBA_LULUA", - "LUO_KENYA_AND_TANZANIA", - "NEWARI", - "NYANJA", - "OSSETIAN", - "PAMPANGA", - "PEDI", - "RAJASTHANI", - "SESELWA_CREOLE_FRENCH", - "TUMBUKA", - "VENDA", - "WARAY_PHILIPPINES", - "NUM_LANGUAGES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Norwegian\" = \"no\" normally implies Bokmål (\"nb\"). See also NORWEGIAN_N. Consider using IsNorwegianLanguage().", - "", - "WARNING: \"Portuguese\" in the enum Language implies the Iberian variant, while Google and industry standard practice is for \"pt\" to imply Brazilian, for the much larger population. The old LanguageCode() function returns \"pt\" for legacy reasons. The III LanguageEnumLanguageCodeConverter converts it to \"pt-PT\" to preserve the semantics. Converting between this legacy enum and industry-standard language tags cannot preserve the distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage().", - "", - "", - "", - "\"Chinese\" normally implies simplified Han characters (\"zh-Hans\"). See also CHINESE_T. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage().", - "", - "", - "", - "", - "", - "", - "Serbian is commonly written in two scripts. The default is Cyrillic (\"sr\" = \"sr-Cyrl\"). It is also often written with Latin letters (\"sr-Latn\"). This enum does not convey that distinction.", - "", - "", - "TAGALOG is used to mean both Tagalog (tl) and Filipino (fil). These are nearly the same; Filipino is the official language, and \"fil\" is normally used for UI settings etc. The old LanguageCode() function returns \"tl\".", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Bihari\" is not a language: There are several different languages spoken in and around the Indian state of Bihar. This is like saying \"Swiss\" to mean German+French+Italian+Romansh.", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Chinese written in traditional Han characters (\"zh-Hant\"). See also CHINESE. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "UI only. LangId language: CROATIAN (28)", - "", - "Norwegian Nynorsk (\"nn\"). See also NORWEGIAN. Consider using IsNorwegianLanguage(). UI only. LangId language: NORWEGIAN (10)", - "Portuguese in Portugal (\"pt-PT\"). See the WARNING at PORTUGUESE. Avoid a distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "Portuguese in Brazil (\"pt-BR\"). Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "", - "UI only.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "", - "This has been documented as \"Kurmanji (kmr) + Sorani (ckb) + Kurdish (ku)\". There are several kinds of Kurdish languages. \"ku\" normally implies Northern Kurdish = Kurmanji (kmr) which is normally written in Latin letters. \"ckb\" is Central Kurdish (largely in Iraq) which is normally written in Arabic letters (thus right-to-left).", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "sometimes spelled Divehi; lang of Maldives", - "", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "\"Moldavian\" is the same language as Romanian. In language tags, \"ro-MD\" can be used but is not normally necessary. Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage(). UI only. LangId language: ROMANIAN (22)", - "", - "", - "UI only.", - "", - "", - "", - "", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only. More commonly called Luganda.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "Translate only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "Translate only.", - "Translate only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "Always keep this at the end. It is not a" - ], - "type": "string" - }, - "docRelevance": { - "deprecated": true, - "format": "float", - "type": "number" - }, - "dupTokens": { - "description": "Numbers of duplicated tokens. For example, duplicated tokens for a title \"dog cat cat cat\" is 2 (for 2 extra \"cat\").", - "format": "int32", - "type": "integer" - }, - "forcedExperimentScore": { - "description": "A score assigned for candidates forced by experiments.", - "format": "int32", - "type": "integer" - }, - "goldmineAdjustedScore": { - "description": "The score for `text` computed in Goldmine (AlternativeTitlesAnnotator) with additional scoring adjustments applied. Currently includes Blockbert scoring.", - "format": "float", - "type": "number" - }, - "goldmineAnchorFactor": { - "description": "=============================================================== Internal boost feature signals used to compute `goldmine_page_score`. They are exposed only for debugging purpose.", - "format": "float", - "type": "number" - }, - "goldmineAnchorSupportOnly": { - "format": "float", - "type": "number" - }, - "goldmineBlockbertFactor": { - "format": "float", - "type": "number" - }, - "goldmineBodyFactor": { - "format": "float", - "type": "number" - }, - "goldmineFinalScore": { - "deprecated": true, - "description": "Deprecated: use `goldmine_page_score` instead.", - "format": "float", - "type": "number" - }, - "goldmineForeign": { - "format": "float", - "type": "number" - }, - "goldmineGeometryFactor": { - "format": "float", - "type": "number" - }, - "goldmineHasBoilerplateInTitle": { - "format": "float", - "type": "number" - }, - "goldmineHasTitleNgram": { - "format": "float", - "type": "number" - }, - "goldmineHeaderIsH1": { - "format": "float", - "type": "number" - }, - "goldmineHeadingFactor": { - "format": "float", - "type": "number" - }, - "goldmineIsBadTitle": { - "format": "float", - "type": "number" - }, - "goldmineIsHeadingTag": { - "format": "float", - "type": "number" - }, - "goldmineIsTitleTag": { - "format": "float", - "type": "number" - }, - "goldmineIsTruncated": { - "format": "float", - "type": "number" - }, - "goldmineLocalTitleFactor": { - "format": "float", - "type": "number" - }, - "goldmineLocationFactor": { - "format": "float", - "type": "number" - }, - "goldmineNavboostFactor": { - "format": "float", - "type": "number" - }, - "goldmineOgTitleFactor": { - "format": "float", - "type": "number" - }, - "goldmineOnPageDemotionFactor": { - "format": "float", - "type": "number" - }, - "goldmineOtherBoostFeatureCount": { - "description": "The number of BoostFeatures present in AlternativeTitlesGeneator but not populated above.", - "format": "int32", - "type": "integer" - }, - "goldminePageScore": { - "description": "The score for the `text` computed in Goldmine (AlternativeTitlesAnnotator). ", - "format": "float", - "type": "number" - }, - "goldmineReadabilityScore": { - "format": "float", - "type": "number" - }, - "goldmineSalientTermFactor": { - "format": "float", - "type": "number" - }, - "goldmineSiteNameMarkupFactor": { - "format": "float", - "type": "number" - }, - "goldmineSiteQueryFactor": { - "format": "float", - "type": "number" - }, - "goldmineSitenameFactor": { - "format": "float", - "type": "number" - }, - "goldmineSubHeading": { - "format": "float", - "type": "number" - }, - "goldmineTitleTagFactor": { - "format": "float", - "type": "number" - }, - "goldmineTrustFactor": { - "format": "float", - "type": "number" - }, - "goldmineUrlMatchFactor": { - "format": "float", - "type": "number" - }, - "hasSiteInfo": { - "description": "Whether a title contains site information.", - "type": "boolean" - }, - "isTruncated": { - "description": "Whether this title candidate is truncated or not.", - "type": "boolean" - }, - "isValid": { - "description": "Whether a title is valid (i.e., not empty).", - "type": "boolean" - }, - "perTypeQuality": { - "description": "How good or bad this title is as a `data_source_type` title type.", - "enum": [ - "UNKNOWN_QUALITY", - "VERY_GOOD", - "GOOD", - "NORMAL", - "BAD" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "perTypeRank": { - "description": "Rank of this title among titles of the same `data_source_type`.", - "format": "int32", - "type": "integer" - }, - "percentBodyTitleTokensCovered": { - "description": "Numbers of body title tokens covered by this title, in range of [0, 1]. Not set if body title is considered \"bad\".", - "format": "float", - "type": "number" - }, - "percentTokensCoveredByBodyTitle": { - "description": "Numbers of tokens covered by body title, in range of [0, 1]. Not set if body title is considered \"bad\".", - "format": "float", - "type": "number" - }, - "queryMatch": { - "description": "The number of (different) terms with a query match. It may include the match with any SQuery node (e.g., synonyms).", - "format": "int32", - "type": "integer" - }, - "queryMatchFraction": { - "deprecated": true, - "description": "A number of matched query terms divided by the number of all terms in query. Synonyms or other terms that appear in squery but not in the raw query are excluded. Takes values in [0, 1].", - "format": "float", - "type": "number" - }, - "queryRelevance": { - "deprecated": true, - "description": "Deprecated experimental features.", - "format": "float", - "type": "number" - }, - "sourceGeneratedTitle": { - "type": "boolean" - }, - "sourceGeometry": { - "type": "boolean" - }, - "sourceHeadingTag": { - "type": "boolean" - }, - "sourceLocalTitle": { - "type": "boolean" - }, - "sourceOffdomainAnchor": { - "type": "boolean" - }, - "sourceOndomainAnchor": { - "type": "boolean" - }, - "sourceOnsiteAnchor": { - "type": "boolean" - }, - "sourceTitleTag": { - "description": "=============================================================== Title candidate's original source information. They are populated only for non-production environment for debugging purposes.", - "type": "boolean" - }, - "sourceTransliteratedTitle": { - "type": "boolean" - }, - "testGoldmineFinalScore": { - "description": "`goldmine_final_score` value in test.", - "format": "float", - "type": "number" - }, - "testRank": { - "description": "The ranking index of this candidate (starting from 0) in test.", - "format": "int32", - "type": "integer" - }, - "text": { - "description": "Title text to display. Populated for debugging purpose only, and won't be used for model inferences. This represetns the exact display text in SERP, with modifications like truncations or site-title appending involved.", - "type": "string" - }, - "widthFraction": { - "deprecated": true, - "description": "A rendered width of this title divided by the max allowed width for title. Takes values in [0, 1].", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityPreviewSnippetBrainFeatures": { - "description": "Snippet brain scores.", - "id": "QualityPreviewSnippetBrainFeatures", - "properties": { - "isSnippetBrainBoldingTriggered": { - "description": "Is the bolding triggered.", - "type": "boolean" - }, - "modelScore": { - "description": "The score by SnippetBrain model.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityPreviewSnippetDocumentFeatures": { - "description": "Document related features used in snippets scoring. Next ID: 10", - "id": "QualityPreviewSnippetDocumentFeatures", - "properties": { - "experimentalTitleSalientTermsScore": { - "format": "float", - "type": "number" - }, - "leadingtextDistanceScore": { - "format": "float", - "type": "number" - }, - "metaBoostScore": { - "format": "float", - "type": "number" - }, - "salientPositionBoostScore": { - "format": "float", - "type": "number" - }, - "salientTermsScore": { - "format": "float", - "type": "number" - }, - "schemaOrgDescriptionBoostScore": { - "format": "float", - "type": "number" - }, - "unstableTokensScore": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityPreviewSnippetExperimentalFeatures": { - "id": "QualityPreviewSnippetExperimentalFeatures", - "properties": { - "isLikelyHomepage": { - "type": "boolean" - }, - "numQueryItems": { - "format": "uint32", - "type": "integer" - }, - "numTidbits": { - "format": "uint32", - "type": "integer" - }, - "numVisibleTokens": { - "format": "uint32", - "type": "integer" - }, - "radish": { - "$ref": "QualityPreviewSnippetRadishFeatures" - } - }, - "type": "object" - }, - "QualityPreviewSnippetQualityFeatures": { - "description": "Quality related features used in snippets scoring. Next ID: 10", - "id": "QualityPreviewSnippetQualityFeatures", - "properties": { - "foreignMetaScore": { - "format": "float", - "type": "number" - }, - "hiddenRatioScore": { - "format": "float", - "type": "number" - }, - "numTidbitsScore": { - "format": "float", - "type": "number" - }, - "numVisibleTokensScore": { - "format": "float", - "type": "number" - }, - "outlinkScore": { - "format": "float", - "type": "number" - }, - "redundancyScore": { - "format": "float", - "type": "number" - }, - "sentenceStartScore": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityPreviewSnippetQueryFeatures": { - "description": "Query related features used in snippets scoring. Next ID: 7", - "id": "QualityPreviewSnippetQueryFeatures", - "properties": { - "experimentalQueryTitleScore": { - "format": "float", - "type": "number" - }, - "passageembedScore": { - "format": "float", - "type": "number" - }, - "queryHasPassageembedEmbeddings": { - "type": "boolean" - }, - "queryScore": { - "format": "float", - "type": "number" - }, - "radishScore": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityPreviewSnippetQueryTermCoverageFeatures": { - "description": "Snippet query term coverage features.", - "id": "QualityPreviewSnippetQueryTermCoverageFeatures", - "properties": { - "snippetQueryTermCoverage": { - "format": "float", - "type": "number" - }, - "titleQueryTermCoverage": { - "format": "float", - "type": "number" - }, - "titleSnippetQueryTermCoverage": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityPreviewSnippetRadishFeatures": { - "id": "QualityPreviewSnippetRadishFeatures", - "properties": { - "answerScore": { - "description": "Answer score of the passage for this `navboost_query`.", - "format": "float", - "type": "number" - }, - "navboostQuery": { - "description": "Navboost query for this radish signal.", - "type": "string" - }, - "passageCoverage": { - "description": "The ratio of overlapping tokens between the radish passage and snippet candidate.", - "format": "float", - "type": "number" - }, - "passageType": { - "description": "Integer value of indexing::annotations::wa_passages::Passage::Type.", - "format": "uint32", - "type": "integer" - }, - "queryPassageIdx": { - "description": "The index of this passage under `navboost_query`.", - "format": "uint32", - "type": "integer" - }, - "similarityMethod": { - "description": "How the similarity score is computed. Integer value of mustang_repos_www_snippets::RadishSignalScoringInfo::SimilarityMethod.", - "format": "uint32", - "type": "integer" - }, - "similarityScore": { - "description": "Similarity score between this `navboost_query` and the incoming query.", - "format": "float", - "type": "number" - }, - "snippetCoverage": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityProductProductSiteData": { - "description": "Protocol message for data related to product sites. This data is stored as signals data in docjoins.", - "id": "QualityProductProductSiteData", - "properties": { - "locale": { - "description": "Data for each locale.", - "items": { - "$ref": "QualityProductProductSiteDataLocaleData" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityProductProductSiteDataLocaleData": { - "description": "Data for one locale.", - "id": "QualityProductProductSiteDataLocaleData", - "properties": { - "boostFactor": { - "description": "Site boosting multiplier.", - "format": "float", - "type": "number" - }, - "gobiSite": { - "description": "Whether this is a gobi site, ie, a site from a gobi domain that should be boosted for a category query with this gobi domain. For example, amazon.com is a gobi store domain for category query [hdtv] but some sites (like askville.amazon.com) from amazon.com should not be boosted.", - "type": "boolean" - }, - "locale": { - "description": "Locale for this data.", - "type": "string" - } - }, - "type": "object" - }, - "QualityProseCSEUrlInfo": { - "id": "QualityProseCSEUrlInfo", - "properties": { - "cseId": { - "description": "There were defined back in 2007, but were never used. optional string label = 2; optional uint64 user = 3; optional float score = 4;", - "type": "string" - } - }, - "type": "object" - }, - "QualityQrewriteAccountProvenance": { - "description": "Used to annotate the source of cross-account personal data. See go/cross-account-understanding.", - "id": "QualityQrewriteAccountProvenance", - "properties": { - "dataSources": { - "items": { - "enum": [ - "UNKNOWN_MULTI_ACCOUNT_DATA_SOURCE", - "PRODUCTIVITY_ACCOUNT", - "ASSISTANT_SHARED_CONTACT", - "CALENDAR_EVENT_TITLES" - ], - "enumDescriptions": [ - "", - "Data is from a linked A4W account. See go/multiaccount-a4w.", - "Shared contacts from another user on the same device. See go/shared-contacts-assistant.", - "Calendar event titles (currently preloaded). See go/event-title-annotation." - ], - "type": "string" - }, - "type": "array" - }, - "googleAccount": { - "$ref": "QualityQrewriteAccountProvenanceGoogleAccount" - }, - "thirdPartyAccount": { - "$ref": "QualityQrewriteAccountProvenanceThirdPartyAccount", - "description": "Note google_account and third_party_account could both exist. For example, a user could share her Spotify account with other users registered on the same device." - } - }, - "type": "object" - }, - "QualityQrewriteAccountProvenanceGoogleAccount": { - "description": "The Google account the annotated personal data belongs to.", - "id": "QualityQrewriteAccountProvenanceGoogleAccount", - "properties": { - "email": { - "type": "string" - }, - "gaiaId": { - "format": "int64", - "type": "string" - }, - "isDasherAccount": { - "type": "boolean" - }, - "isSecondaryAccount": { - "type": "boolean" - } - }, - "type": "object" - }, - "QualityQrewriteAccountProvenanceThirdPartyAccount": { - "description": "The 3P account the annotated personal data belongs to.", - "id": "QualityQrewriteAccountProvenanceThirdPartyAccount", - "properties": { - "email": { - "description": "Email address of the linked account (eg foo@outlook.com).", - "type": "string" - }, - "thirdPartyProviderId": { - "description": "Unique identifier for the third party provider. Defined by Google via AoG.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "QualityQrewriteAlternativeNameInfo": { - "description": "Alternative names with info like RecognitionAlternateSource indicating where is it from.", - "id": "QualityQrewriteAlternativeNameInfo", - "properties": { - "matchSignal": { - "$ref": "AssistantVerticalsCommonContactMatchSignal" - }, - "name": { - "type": "string" - }, - "source": { - "enum": [ - "NONE", - "S3_HYPOTHESES", - "GENIE_QUERY_ALTERNATIVES", - "NAME_CORRECTION_LOG", - "FUZZY_CONTACT_MATCH", - "NEURAL_CONTACT_MATCH", - "NEURAL_CONTACT_MATCH_DARK_LAUNCH", - "PERSONALIZED_NAME_CORRECTION_LOG" - ], - "enumDescriptions": [ - "", - "Alternate name from S3 recognition topN hypothesis.", - "Alternate name from Genie query alternatives.", - "Alternate name from contact correction history.", - "Fuzzy match with user's contacts.", - "Neural match. See go/phonetic-contact-match.", - "The dark launch for a neural match. We found a match, but we ignore it for serving and just log it.", - "Personalized alternate name from Assistant User Profile that stores personalized contact name corrections under ContactAlternates profile." - ], - "type": "string" - } - }, - "type": "object" - }, - "QualityQrewriteCalendarReference": { - "id": "QualityQrewriteCalendarReference", - "properties": { - "calendarAlias": { - "$ref": "QualityQrewriteQRewriteAccountAwareCalendarAliasWrapper" - }, - "contactCalendarName": { - "$ref": "QualityQrewriteContactCalendarName" - }, - "familyCalendarAlias": { - "$ref": "QualityQrewriteFamilyCalendarAlias" - }, - "primaryCalendarAlias": { - "$ref": "QualityQrewritePrimaryCalendarAlias" - } - }, - "type": "object" - }, - "QualityQrewriteContactCalendarName": { - "id": "QualityQrewriteContactCalendarName", - "properties": { - "contact": { - "$ref": "NlpSemanticParsingModelsPersonPerson" - } - }, - "type": "object" - }, - "QualityQrewriteFamilyCalendarAlias": { - "id": "QualityQrewriteFamilyCalendarAlias", - "properties": { - "familyCalendarId": { - "type": "string" - } - }, - "type": "object" - }, - "QualityQrewritePersonalContactData": { - "description": "Contact metadata Next Id: 36", - "id": "QualityQrewritePersonalContactData", - "properties": { - "accountProvenance": { - "$ref": "QualityQrewriteAccountProvenance", - "description": "Tracks the account owner of this contact. See go/cross-account-understanding." - }, - "additionalContactMetadata": { - "description": "Other metadata relating with the contact. This field is added so that the value can be copied to the corresponding field |additional_contact_metadata| in person.proto, that later will be logged to Assistant Interaction Event footprint from client side.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" - }, - "commonNameAliasConfidence": { - "description": "Populated only if matched_name_type is GIVEN_NAME_ALIAS or FULL_NAME_ALIAS.", - "format": "float", - "type": "number" - }, - "conceptId": { - "description": "Concept id for relationships in query language, e.g. \"Mother\" in English, \"Mère\" in French. It's only populated for source = RELATIONSHIP.", - "type": "string" - }, - "conceptIdEn": { - "description": "Concept id for relationships in English, e.g. \"Mother\" for all non-English locales. It's only populated for source = RELATIONSHIP. It is used as the key to store relationship in memory (see http://go/assistant-relationship). For English, this field is not filled, and we will use concept_id field as the relationship key in memory.", - "type": "string" - }, - "displayName": { - "deprecated": true, - "description": "TODO(shuaiwang) these are kept here temporarily because aqua regression tests are still referring to them, migrating aqua regression tests to use the new person_data field depends on binary change (i.e. this proto change) so there's a period we need to keep both.", - "type": "string" - }, - "familyName": { - "deprecated": true, - "type": "string" - }, - "ffracScore": { - "description": "The ffrac score of the suggested contact from Starlight.", - "format": "double", - "type": "number" - }, - "gaiaId": { - "format": "int64", - "type": "string" - }, - "givenName": { - "deprecated": true, - "type": "string" - }, - "hasAddressForDeviceContacts": { - "description": "Whether we have address info for this contact. IMPORTANT, READ BEFORE USING THIS FIELD: - This is a temporary solution to export this info for device contacts. - This could only be set for device contacts, contacts from other sources won't have this bit set even if there's address available inside person_data. - This will go away once Starlight supports device contacts, addresses will be available inside person_data the same way as Focus contacts. TODO(shuaiwang) remove after b/20412551", - "type": "boolean" - }, - "hasGplusProfile": { - "type": "boolean" - }, - "isFromOnDeviceLookup": { - "description": "If the contact data is from on device lookup.", - "type": "boolean" - }, - "isTransliteratedMatch": { - "description": "Indicate the contact matches the transliterated query.", - "type": "boolean" - }, - "isVisibleToGuestsRelationship": { - "description": "If the lookup was done using relationship which is visible to guests. This value will only be set if lookup was done using relationship. E.g. user has a guest relationship (doctor) -\u003e (John) And user says \"call doctor\", then this value will be true.", - "type": "boolean" - }, - "lookupNameSource": { - "enum": [ - "UNKNOWN", - "SPELLING" - ], - "enumDescriptions": [ - "", - "User spelled the name after contact no match." - ], - "type": "string" - }, - "matchSignal": { - "$ref": "AssistantVerticalsCommonContactMatchSignal", - "description": "Populate only if AlternateSource is not NONE." - }, - "matchedNameType": { - "description": "LINT.ThenChange(//depot/google3/assistant/verticals/communication/\\ fulfillment/proto/contact_logging_enums.proto, //depot/google3/assistant/api/dialog_state/values/person.proto, //depot/google3/assistant/context/proto/person.proto)", - "enum": [ - "UNSPECIFIED", - "GIVEN_NAME", - "FAMILY_NAME", - "FULL_NAME", - "NICKNAME", - "OTHER", - "INITIAL_WITH_FAMILY_NAME", - "EMAIL_USERNAME", - "VANITY_NICKNAME", - "GIVEN_NAME_ALIAS", - "FULL_NAME_ALIAS", - "HOMOPHONE_GIVEN_NAME", - "HOMOPHONE_FAMILY_NAME", - "HOMOPHONE_FULL_NAME", - "HOMOPHONE_NICKNAME", - "GIVEN_MIDDLE_NAME", - "GIVEN_NAME_WITH_FAMILY_NAME_INITIAL", - "EMAIL_OF_FAMILY_MEMBER" - ], - "enumDescriptions": [ - "", - "Contact's given name, or first word in name, or last word if query is in CJK.", - "Contact's family name, or last word in name, or first word if query is in CJK.", - "Contact's display name, or given+family, or family+given if query is in CJK. Contact's middle name is optional.", - "Query span matches contact's nickname.", - "Not used yet.", - "Either or both of first/middle initials along with family name.", - "Email username, controlled by FocusNameParams.annotate_email_username.", - "Vanity nicknames like \"myself\", data is at //quality/qrewrite/servlets/internal/focus_name/data/vanity_nickname.txt", - "Contact's given name is a common name alias of query span, e.g. query [Bob] may match contact with given name \"Robert\".", - "Contact's given name is a common name alias of first word in query span, while remaining parts fully matched.", - "Homophone name match of given name, or last word. Only for CJK query.", - "Homophone name match of family name, or first word. Only for CJK query.", - "Homophone name match of full name, or family+given. Only for CJK query.", - "Homophone name match of nickname. Only for CJK query.", - "Contact's given name + middle name. Only for contacts with 3 words.", - "Contact's given name along with last name initial. Only support non-CJKT contact name.", - "This type indicates we find a match of the user's family member - as defined by families.google.com - by matching the email full address. Controlled by FocusNameParams.annotate_email_full_address." - ], - "type": "string" - }, - "matchedRecognitionAlternateName": { - "description": "Alternate name from recognition that has contact matched. Need this to make name correction history log consistent.", - "type": "string" - }, - "personData": { - "$ref": "AppsPeopleOzExternalMergedpeopleapiPerson", - "description": "Metadata such as name, email, phone, etc." - }, - "personalContactDataLog": { - "$ref": "AssistantLogsCommunicationPersonalContactDataLog", - "description": "Log version of PersonalContactData. Holds e.g. FUZZY match results. It is populated in NamedContactFrame when fuzzy match is performed: http://google3/quality/dialog_manager/frames/contact/named_contact_frame.cc?l=255\u0026rcl=331994299 Currently only fuzzy ngram match results are logged here." - }, - "pkgPerson": { - "$ref": "NlpSemanticParsingQRefAnnotation", - "description": "Contains information about a Copley Person resolution (go/copley-people). This field is used to propagate metadata related to the resolved person, used for attribution and logging. Meaningful data (addresses, phone numbers) are copied into person_data." - }, - "pkgReferenceType": { - "enum": [ - "UNKNOWN_PKG_REFERENCE_TYPE", - "PKG_NAME_REFERENCE", - "PKG_RELATIONSHIP_REFERENCE" - ], - "enumDescriptions": [ - "", - "Ann [Charlie]", - "my family dad my sister's kids" - ], - "type": "string" - }, - "recognitionAlternateScore": { - "description": "Populate only if AlternateSource is not NONE.", - "format": "float", - "type": "number" - }, - "recognitionAlternateSource": { - "description": "If not none, then it indicates the personal contact data is alternate and how the alternate is fulfilled.", - "enum": [ - "NONE", - "S3_HYPOTHESES", - "GENIE_QUERY_ALTERNATIVES", - "NAME_CORRECTION_LOG", - "FUZZY_CONTACT_MATCH", - "NEURAL_CONTACT_MATCH", - "NEURAL_CONTACT_MATCH_DARK_LAUNCH", - "PERSONALIZED_NAME_CORRECTION_LOG" - ], - "enumDescriptions": [ - "", - "Alternate name from S3 recognition topN hypothesis.", - "Alternate name from Genie query alternatives.", - "Alternate name from contact correction history.", - "Fuzzy match with user's contacts.", - "Neural match. See go/phonetic-contact-match.", - "The dark launch for a neural match. We found a match, but we ignore it for serving and just log it.", - "Personalized alternate name from Assistant User Profile that stores personalized contact name corrections under ContactAlternates profile." - ], - "type": "string" - }, - "relationshipLexicalInfo": { - "$ref": "CopleyLexicalMetadata", - "description": "Lexical information for relationships in query language, e.g. \"Mother\" in English, \"Mère\" in French. It's only populated for source = RELATIONSHIP." - }, - "relationshipMemory": { - "description": "Resolved relationship names and contact pointers from Assistant Memory. This field is populated into both relationship annotation (source = RELATIONSHIP) and Focus/device contacts retrieved by that contact name. The data from Assistant Memory comes from two different columns: ASSISTANT_SETTINGS and PWS_CONTACT_ANNOTATION. We support multiple people with same relationship (e.g. multiple brothers) by using a repeated relationship_memory field. Examples are at go/person-subgrammar-relationship.", - "items": { - "$ref": "QualityQrewriteRelationshipMemoryData" - }, - "type": "array" - }, - "sharedContactOwnerGaiaId": { - "description": "Gaia ID of the user this contact belongs to. Only populates if contact is shared from another user. See go/shared-contacts-assistant. E.g. user A triggers the request and uses user B's contact data (which is marked as visible to user A). This field will be populated with user B's gaia id.", - "format": "int64", - "type": "string" - }, - "source": { - "description": "LINT.ThenChange(//depot/google3/assistant/verticals/communication/\\ fulfillment/proto/contact_logging_enums.proto, //depot/google3/assistant/api/dialog_state/values/person.proto, //depot/google3/assistant/context/proto/person.proto) Data source of the contact data.", - "enum": [ - "FOCUS_CONTACT", - "DEVICE_CONTACT", - "GMAIL_INFERENCE", - "S3_DECORATOR", - "RELATIONSHIP", - "VANITY", - "SIGNED_OUT_DEVICE", - "SHARED_CONTACT", - "FAMILY_MEMBER", - "SHARED_DEVICE_USER", - "ON_DEVICE_CONTACT_LOOKUP", - "APP_SEARCH_CONTACT" - ], - "enumDescriptions": [ - "Contacts from Focus", - "Contacts from device, see go/device-content", - "Contacts inferred from Gmail", - "Contacts from S3 decorator", - "Whitelisted relationships no matter if user has such contact, see go/sls-personal_relationship_names_and_aliases.", - "Vanity nicknames or user's own profile name.", - "Signed out device contact names", - "Contacts shared from other users. See go/multi-user-shared-contact.", - "People in the user's family group in http://families.google.com who are not contacts.", - "People who share a device with the user who are not contacts.", - "Contacts from on device lookup during contact fulfillment.", - "Contacts from AppSearch." - ], - "type": "string" - } - }, - "type": "object" - }, - "QualityQrewritePrimaryCalendarAlias": { - "id": "QualityQrewritePrimaryCalendarAlias", - "properties": {}, - "type": "object" - }, - "QualityQrewriteQRewriteAccountAwareCalendarAliasWrapper": { - "description": "A calendar alias wrapper used for query annotation. Aliases values are defined in the extension with build visibility restrictions as they may contain data from an account other than the user's primary account. This proto is used as an metadata output from the QRewrite annotation. It can be used for calendar aliases from different sources i.e. aliases based on the domain of the account associated with the calendar (go/calendar-aliases-annotation).", - "id": "QualityQrewriteQRewriteAccountAwareCalendarAliasWrapper", - "properties": {}, - "type": "object" - }, - "QualityQrewriteRelationshipMemoryData": { - "description": "Relationship-\u003econtact data provided by Assistant Memory.", - "id": "QualityQrewriteRelationshipMemoryData", - "properties": { - "contactPointer": { - "$ref": "FocusBackendContactPointer", - "description": "The contact pointer. See http://go/assistant-contact-id." - }, - "value": { - "description": "The contact name copied from UserAttribute.value.", - "type": "string" - } - }, - "type": "object" - }, - "QualityRankembedMustangMustangRankEmbedInfo": { - "description": "Used as Mustang attachment DO NOT: - ACCESS THE PROTO FIELDS DIRECTLY - USE THE DECODING LIBRARY IN quality/rankembed/mustang/fixed_point_decoding_helpers.h INSTEAD. - USE HARDCODED MustangRankEmbedInfo TEXT PROTOS IN TESTS! USE quality/rankembed/test_utils/mustang_rankembed_info_utils.h INSTEAD.", - "id": "QualityRankembedMustangMustangRankEmbedInfo", - "properties": { - "additionalFixedPointEncodings": { - "description": "Each of the repeated elements in this field has the same scheme as 'fixed_point_encoding'; See go/rankembed-astro-rule-set-dd", - "items": { - "format": "byte", - "type": "string" - }, - "type": "array" - }, - "compressedDocumentEmbedding": { - "$ref": "QualityRankembedMustangMustangRankEmbedInfoCompressedEmbedding", - "description": "Each uint64 encodes 8 8-bit values for the quantized document embedding" - }, - "fixedPointEncoding": { - "description": "This field replaces the above 3 \"per-encoding-type-fields\", where the encoding type (and the embedding type) are part of the encoding, and is stored in the first byte. The remaining bytes are the same as the previous 3 fields, but shifted by 1 byte. - byte[0]: encoding type \u0026 embedding type - byte[1....]: similar to the above depending on the encoding type.", - "format": "byte", - "type": "string" - }, - "scaledFixedPoint4Encoding": { - "description": "- byte[0]: version - bytes[1...4]: scalar - bytes[5,...]: the values, one byte per 2 values", - "format": "byte", - "type": "string" - }, - "scaledFixedPoint8Encoding": { - "description": "- byte[0]: version - bytes[1...4]: scalar - bytes[5,...]: the values, one byte per value", - "format": "byte", - "type": "string" - }, - "scaledShiftedFixedPoint4Encoding": { - "description": "- byte[0]: version - bytes[1...4]: scalar - bytes[5...8]: shift - bytes[9,...]: the values, one byte per 2 values", - "format": "byte", - "type": "string" - }, - "versionAndImprovInfo": { - "description": "First 7 bits encode the version, then each chunk of 5 bits encode the index of a potential improv query (lsb to msb) -------|-----|-----|-----|-----|----- version| id1 | id2 | id3 | id4 | id5 where id1 is the index of the first improv query in the improv debug table. As of cl/270008220, this field only contains the version info. For backward compatibility, version still only uses the first 7 bits, and is still prepended by 5 1 bits.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityRankembedMustangMustangRankEmbedInfoCompressedEmbedding": { - "id": "QualityRankembedMustangMustangRankEmbedInfoCompressedEmbedding", - "properties": { - "packedValue": { - "description": "using fixed64 instead of uint64 saves ~14% is storage", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "value": { - "deprecated": true, - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityRichsnippetsAppsProtosLaunchAppInfoPerDocData": { - "id": "QualityRichsnippetsAppsProtosLaunchAppInfoPerDocData", - "properties": { - "app": { - "items": { - "$ref": "QualityRichsnippetsAppsProtosLaunchableAppPerDocData" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityRichsnippetsAppsProtosLaunchableAppPerDocData": { - "description": "A subset of LaunchableApplication, which is stored in the PerDocData proto (indexer/perdocdata/perdocdata.proto) and thus stored in the Search Mustang index. It is used to identify documents containing app links at serving time by SuperRoot. A subset of LaunchableApplication is used to save on storage requirements.", - "id": "QualityRichsnippetsAppsProtosLaunchableAppPerDocData", - "properties": { - "indexStatus": { - "enum": [ - "DISCOVERED", - "VALIDATED" - ], - "enumDescriptions": [ - "This deeplink has been associated with a web document. There is no additional information whether the deeplink's content matches the web document's content.", - "The contents of this deeplink match the web document it is associated with." - ], - "type": "string" - }, - "packageIdFingerprint": { - "description": "Android package id of the application associated with this document (example: 'com.imdb.mobile'), encoded with the Fingerprint2011() function.", - "format": "uint64", - "type": "string" - }, - "perAppInfoEncoded": { - "description": "A subset of the data in the PerAppInfo message, encoded to save on space. See quality/calypso/utils/app_info_utils.h for encoding/decoding.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "QualitySalientCountriesSalientCountry": { - "description": "This is a measure of how salient this country is for the document.", - "id": "QualitySalientCountriesSalientCountry", - "properties": { - "country": { - "description": "2-letter country format.", - "type": "string" - }, - "salience": { - "description": "How salient this country is for the document. [0,1] range.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualitySalientCountriesSalientCountrySet": { - "description": "Set of SalientCountry for a document.", - "id": "QualitySalientCountriesSalientCountrySet", - "properties": { - "packedCountry": { - "description": "Packed Country and salience optimized for index storage", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "packedSalience": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "salientCountry": { - "items": { - "$ref": "QualitySalientCountriesSalientCountry" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualitySalientTermsDocData": { - "description": "DocData contains additional salient-term-set-level information that complements a SalientTermSet.", - "id": "QualitySalientTermsDocData", - "properties": { - "confidence": { - "description": "confidence is a measurement of how much data we had to compute the SalientTermSet. Range: [0.0, 1.0]", - "format": "float", - "type": "number" - }, - "headVolumeRatio": { - "description": "head_volume_ratio is the ratio of the sum of term frequency of the top K terms over the volume of all terms. Range: [0.0, 1.0]. K is defined by Accumulator2Params::head_size.", - "format": "float", - "type": "number" - }, - "language": { - "description": "language is the main language of this SalientTermSet.", - "enum": [ - "ENGLISH", - "DANISH", - "DUTCH", - "FINNISH", - "FRENCH", - "GERMAN", - "HEBREW", - "ITALIAN", - "JAPANESE", - "KOREAN", - "NORWEGIAN", - "POLISH", - "PORTUGUESE", - "RUSSIAN", - "SPANISH", - "SWEDISH", - "CHINESE", - "CZECH", - "GREEK", - "ICELANDIC", - "LATVIAN", - "LITHUANIAN", - "ROMANIAN", - "HUNGARIAN", - "ESTONIAN", - "TG_UNKNOWN_LANGUAGE", - "UNKNOWN_LANGUAGE", - "BULGARIAN", - "CROATIAN", - "SERBIAN", - "IRISH", - "GALICIAN", - "TAGALOG", - "TURKISH", - "UKRAINIAN", - "HINDI", - "MACEDONIAN", - "BENGALI", - "INDONESIAN", - "LATIN", - "MALAY", - "MALAYALAM", - "WELSH", - "NEPALI", - "TELUGU", - "ALBANIAN", - "TAMIL", - "BELARUSIAN", - "JAVANESE", - "OCCITAN", - "URDU", - "BIHARI", - "GUJARATI", - "THAI", - "ARABIC", - "CATALAN", - "ESPERANTO", - "BASQUE", - "INTERLINGUA", - "KANNADA", - "PUNJABI", - "SCOTS_GAELIC", - "SWAHILI", - "SLOVENIAN", - "MARATHI", - "MALTESE", - "VIETNAMESE", - "FRISIAN", - "SLOVAK", - "CHINESE_T", - "FAROESE", - "SUNDANESE", - "UZBEK", - "AMHARIC", - "AZERBAIJANI", - "GEORGIAN", - "TIGRINYA", - "PERSIAN", - "BOSNIAN", - "SINHALESE", - "NORWEGIAN_N", - "PORTUGUESE_P", - "PORTUGUESE_B", - "XHOSA", - "ZULU", - "GUARANI", - "SESOTHO", - "TURKMEN", - "KYRGYZ", - "BRETON", - "TWI", - "YIDDISH", - "SERBO_CROATIAN", - "SOMALI", - "UIGHUR", - "KURDISH", - "MONGOLIAN", - "ARMENIAN", - "LAOTHIAN", - "SINDHI", - "RHAETO_ROMANCE", - "AFRIKAANS", - "LUXEMBOURGISH", - "BURMESE", - "KHMER", - "TIBETAN", - "DHIVEHI", - "CHEROKEE", - "SYRIAC", - "LIMBU", - "ORIYA", - "ASSAMESE", - "CORSICAN", - "INTERLINGUE", - "KAZAKH", - "LINGALA", - "MOLDAVIAN", - "PASHTO", - "QUECHUA", - "SHONA", - "TAJIK", - "TATAR", - "TONGA", - "YORUBA", - "CREOLES_AND_PIDGINS_ENGLISH_BASED", - "CREOLES_AND_PIDGINS_FRENCH_BASED", - "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", - "CREOLES_AND_PIDGINS_OTHER", - "MAORI", - "WOLOF", - "ABKHAZIAN", - "AFAR", - "AYMARA", - "BASHKIR", - "BISLAMA", - "DZONGKHA", - "FIJIAN", - "GREENLANDIC", - "HAUSA", - "HAITIAN_CREOLE", - "INUPIAK", - "INUKTITUT", - "KASHMIRI", - "KINYARWANDA", - "MALAGASY", - "NAURU", - "OROMO", - "RUNDI", - "SAMOAN", - "SANGO", - "SANSKRIT", - "SISWANT", - "TSONGA", - "TSWANA", - "VOLAPUK", - "ZHUANG", - "KHASI", - "SCOTS", - "GANDA", - "MANX", - "MONTENEGRIN", - "AKAN", - "IGBO", - "MAURITIAN_CREOLE", - "HAWAIIAN", - "CEBUANO", - "EWE", - "GA", - "HMONG", - "KRIO", - "LOZI", - "LUBA_LULUA", - "LUO_KENYA_AND_TANZANIA", - "NEWARI", - "NYANJA", - "OSSETIAN", - "PAMPANGA", - "PEDI", - "RAJASTHANI", - "SESELWA_CREOLE_FRENCH", - "TUMBUKA", - "VENDA", - "WARAY_PHILIPPINES", - "NUM_LANGUAGES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Norwegian\" = \"no\" normally implies Bokmål (\"nb\"). See also NORWEGIAN_N. Consider using IsNorwegianLanguage().", - "", - "WARNING: \"Portuguese\" in the enum Language implies the Iberian variant, while Google and industry standard practice is for \"pt\" to imply Brazilian, for the much larger population. The old LanguageCode() function returns \"pt\" for legacy reasons. The III LanguageEnumLanguageCodeConverter converts it to \"pt-PT\" to preserve the semantics. Converting between this legacy enum and industry-standard language tags cannot preserve the distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage().", - "", - "", - "", - "\"Chinese\" normally implies simplified Han characters (\"zh-Hans\"). See also CHINESE_T. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage().", - "", - "", - "", - "", - "", - "", - "Serbian is commonly written in two scripts. The default is Cyrillic (\"sr\" = \"sr-Cyrl\"). It is also often written with Latin letters (\"sr-Latn\"). This enum does not convey that distinction.", - "", - "", - "TAGALOG is used to mean both Tagalog (tl) and Filipino (fil). These are nearly the same; Filipino is the official language, and \"fil\" is normally used for UI settings etc. The old LanguageCode() function returns \"tl\".", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Bihari\" is not a language: There are several different languages spoken in and around the Indian state of Bihar. This is like saying \"Swiss\" to mean German+French+Italian+Romansh.", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Chinese written in traditional Han characters (\"zh-Hant\"). See also CHINESE. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "UI only. LangId language: CROATIAN (28)", - "", - "Norwegian Nynorsk (\"nn\"). See also NORWEGIAN. Consider using IsNorwegianLanguage(). UI only. LangId language: NORWEGIAN (10)", - "Portuguese in Portugal (\"pt-PT\"). See the WARNING at PORTUGUESE. Avoid a distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "Portuguese in Brazil (\"pt-BR\"). Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "", - "UI only.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "", - "This has been documented as \"Kurmanji (kmr) + Sorani (ckb) + Kurdish (ku)\". There are several kinds of Kurdish languages. \"ku\" normally implies Northern Kurdish = Kurmanji (kmr) which is normally written in Latin letters. \"ckb\" is Central Kurdish (largely in Iraq) which is normally written in Arabic letters (thus right-to-left).", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "sometimes spelled Divehi; lang of Maldives", - "", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "\"Moldavian\" is the same language as Romanian. In language tags, \"ro-MD\" can be used but is not normally necessary. Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage(). UI only. LangId language: ROMANIAN (22)", - "", - "", - "UI only.", - "", - "", - "", - "", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only. More commonly called Luganda.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "Translate only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "Translate only.", - "Translate only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "Always keep this at the end. It is not a" - ], - "type": "string" - }, - "signalData": { - "description": "signal_data contains signal-specific (e.g., body, anchors, clicks) data for this SalientTermSet.", - "items": { - "$ref": "QualitySalientTermsSignalData" - }, - "type": "array" - }, - "virtualVolume": { - "description": "virtual_volume is a measurement of how much data we had to compute the SalientTermSet. Range: [0.0, +infinity)].", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualitySalientTermsSalientTerm": { - "description": "SalientTerm can be two things depending on where this message is. When right under a SalientTermSet, it is a normalized term and weight pair, along with other term-level data. When under another SalientTerm message, it is a non-normalized original term (see original_term field).", - "id": "QualitySalientTermsSalientTerm", - "properties": { - "idf": { - "description": "idf of the original_term. Used by Accumulator2. This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "label": { - "description": "label can be two things depending on where this message is. When right under a SalientTermSet, it is the normalized term returned by quality_salient_terms::utils::NormalizeTerm() from salient_terms_utils.h. When under another SalientTerm message, it is the original term as found in a signal (see original_term field).", - "type": "string" - }, - "originalTerm": { - "description": "original_term are the different ways we found this normalized term in the signals. They are in increasing idf order (the most common version first). An empty string means that this original term is the same as the label field in the parent SalientTerm message. NOTE: Please do not access this field directly. Use quality_salient_terms::utils::OriginalTermsIterator from salient_terms_utils.h instead.", - "items": { - "$ref": "QualitySalientTermsSalientTerm" - }, - "type": "array" - }, - "salience": { - "description": "salience is the importance of the term as a descriptor in [0, 1] (the higher the more important). This field takes precedence over weight field below. NOTE: Please do not access this field directly. Use quality_salient_terms::utils::GetSalience() from salient_terms_utils.h instead.", - "format": "float", - "type": "number" - }, - "signalTerm": { - "description": "signal_term contains extra signal-specific (e.g., body, anchors, clicks) data for this term.", - "items": { - "$ref": "QualitySalientTermsSignalTermData" - }, - "type": "array" - }, - "virtualTf": { - "description": "virtual_tf is the accumulated corrected term frequency from all the signals. This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "weight": { - "deprecated": true, - "description": "weight is the importance of the term as a descriptor in [0, 100] (the higher the more important). NOTE: Please do not access this field directly. Use quality_salient_terms::utils::GetSalience() from salient_terms_utils.h instead. DEPRECATED: prefer salience field above.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualitySalientTermsSalientTermSet": { - "description": "SalientTermSet is a collection of terms (unigrams and bigrams) with associated weights that can describe something. The \"salient terms\".", - "id": "QualitySalientTermsSalientTermSet", - "properties": { - "docData": { - "$ref": "QualitySalientTermsDocData", - "description": "doc_data contain additional salient-term-set-level data." - }, - "salientTerm": { - "description": "salient_term is the list of terms that are good descriptors, sorted in decreasing order of weight.", - "items": { - "$ref": "QualitySalientTermsSalientTerm" - }, - "type": "array" - }, - "version": { - "description": "version is the Salient Terms version used to create the SalientTermSet. This is specific to web documents salient terms.", - "enum": [ - "UNKNOWN", - "V1", - "V2", - "V2_1", - "V2_2", - "V3", - "V3_1", - "V3_2", - "V4", - "V4_1", - "V4_2", - "V5", - "V5_1", - "V5_2", - "V5_3", - "V5_4", - "V1_BODYONLY", - "V2_BODYONLY", - "RENAME_ME_TO_ADD_NEW_ENUM_18", - "RENAME_ME_TO_ADD_NEW_ENUM_19", - "RENAME_ME_TO_ADD_NEW_ENUM_20", - "RENAME_ME_TO_ADD_NEW_ENUM_21", - "RENAME_ME_TO_ADD_NEW_ENUM_22", - "RENAME_ME_TO_ADD_NEW_ENUM_23", - "RENAME_ME_TO_ADD_NEW_ENUM_24", - "RENAME_ME_TO_ADD_NEW_ENUM_25", - "RENAME_ME_TO_ADD_NEW_ENUM_26", - "RENAME_ME_TO_ADD_NEW_ENUM_27" - ], - "enumDescriptions": [ - "In case an old binary doesn't know a recently added version.", - "Approximate AScorer version (ariane/104957).", - "Tucano version (ariane/115621).", - "Tucano 2.1 version (ariane/125789).", - "Tucano 2.2 version (ariane/139157).", - "Lyrebird: Salient Terms V3 (ariane/183676).", - "Lyrebird V2: Salient Terms V3.1 (ariane/194368).", - "Lyrebird V3: Salient Terms V3.2 (ariane/201742).", - "Lyrebird V4: Salient Terms V4 (ariane/279440).", - "Lyrebird V4.1: Salient Terms V4.1 (ariane/4015709 \u0026", - "ariane/4031318). Lyrebird V4.2: Salient Terms V4.2 (ariane/4057245)", - "Lyrebird V5: Salient Terms V5 (ariane/4076831)", - "Lyrebird V5.1: Salient Terms V5.1 (ariane/4144754)", - "Lyrebird V5.2: Salient Terms V5.2 (ariane/4218250)", - "Lyrebird V5.3: Salient Terms V5.3 (ariane/4246904)", - "Lyrebird V5.4: Salient Terms V5.4 (ariane/4242864)", - "Lyrebird BodyOnly V1.", - "Experimental version of Lyrebird BodyOnly V2.", - "Dummy enum values to be renamed when a new enum value is needed. Note that this is a requirement from go/cds-schema-council. If you rename one of these enum values, be sure to add (at least one) more below.", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "QualitySalientTermsSignalData": { - "description": "SignalData stores signal-specific salient-term-set-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.", - "id": "QualitySalientTermsSignalData", - "properties": { - "bias": { - "description": "A fixed bias for this signal, the higher the stronger. This can be used to balance the weight of signals independently of the confidence we give it. This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "confidence": { - "description": "The measurement of how much we trust this signal. Range: [0.0, 1.0] This field is available is both debug and non-debug mode.", - "format": "float", - "type": "number" - }, - "halfSalience": { - "description": "Raw saliences equal to half_salience will be equal to 0.5 normalized. Range: [0, volume]. This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "noiseCorrection": { - "description": "The minimum TF for a term not to be considered noise. While the possible range of values for this field is [0, observed_volume], it is expected to be a somewhat small percentage of observed_volume (e.g. 5%). This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "observedConfidence": { - "description": "The measurement of how much we trust this signal, calculated using the observed volume. Range: [0.0, 1.0] This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "observedVolume": { - "description": "The amount of signal we observed for a document. Range: [0.0, +infinity) This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "rawVolume": { - "description": "The amount of raw signal we observed for a document. Range: [0.0, +infinity) This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "source": { - "description": "source is the type of the signal of this SignalData.", - "enum": [ - "BODY", - "ANCHORS", - "CLICKS", - "TITLE", - "NAME", - "DATE", - "URL", - "ENTITY_NAVBOOST", - "SYNTHETIC_BODY" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - true, - true, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "Only used for Entity Salient Terms.", - "Only used for Entity Salient Terms." - ], - "type": "string" - }, - "volume": { - "description": "The amount of signal left after applying all corrections. Range: [0.0, +infinity) This field is only available in debug mode.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualitySalientTermsSignalTermData": { - "description": "SignalTermData is signal-specific term-level information. Stores mostly internal data as it is one of the primary data structures used in the populators.", - "id": "QualitySalientTermsSignalTermData", - "properties": { - "bigramDiscountTf": { - "description": "The deduction of bigram counts from its unigram children. This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "bigramness": { - "description": "How much we trust this bigram. For bigrams only. Range: [0.0, 1.0] This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "centrality": { - "description": "Measures how topical this term is to a particular signal. A term like \"lincoln\" in the Abraham Lincoln's Wikipedia page should have a centrality close to 1.0 while non-central terms like \"florida\" should have a centrality close to 0.0. Range: [0.0, 1.0] This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "correctedTf": { - "description": "The final term frequency for a particular term. This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "expectedTf": { - "description": "The term frequency we were expecting for a term given its IDF. Range: [0, observed_volume] This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "globalNpmi": { - "description": "Global NPMI. For bigrams only. This is a measure of the quality of bigrams calculated using IDF. Range: [-1.0, 1.0] This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "idf": { - "description": "The IDF of the label of a particular term. For a canonical term, this is the mean IDF of its originals, weighted by their observed TF. This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "isBigram": { - "description": "Whether or not this term is a bigram. This field is only available in debug mode.", - "type": "boolean" - }, - "label": { - "description": "Raw string that identifies a particular term. This field is only available in debug mode.", - "type": "string" - }, - "localNpmi": { - "description": "Local NPMI (normalized pointwise mutual information). For bigrams only. This is a measure of the quality of bigrams calculated using observed TF. Range: [-1.0, 1.0] This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "observedTf": { - "description": "The observed term frequency in a particular signal. This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "originalTerm": { - "description": "The list of the original terms for a canonical. This is used in the pipeline and it is not present in the final output. This field is only available in debug mode.", - "items": { - "$ref": "QualitySalientTermsSignalTermData" - }, - "type": "array" - }, - "rawTf": { - "description": "The raw term frequency in a particular signal. This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "salience": { - "description": "The measure of how important this term is in this signal. Range: [0.0, 1.0] This field is only available in debug mode.", - "format": "float", - "type": "number" - }, - "source": { - "description": "source is the type of the signal of this SignalTermData.", - "enum": [ - "BODY", - "ANCHORS", - "CLICKS", - "TITLE", - "NAME", - "DATE", - "URL", - "ENTITY_NAVBOOST", - "SYNTHETIC_BODY" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - true, - true, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "Only used for Entity Salient Terms.", - "Only used for Entity Salient Terms." - ], - "type": "string" - } - }, - "type": "object" - }, - "QualitySherlockKnexAnnotation": { - "id": "QualitySherlockKnexAnnotation", - "properties": { - "item": { - "items": { - "$ref": "QualitySherlockKnexAnnotationItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualitySherlockKnexAnnotationItem": { - "id": "QualitySherlockKnexAnnotationItem", - "properties": { - "calibratedScore": { - "description": "in [0, 1].", - "format": "float", - "type": "number" - }, - "debugName": { - "type": "string" - }, - "equivalentMid": { - "description": "in /m/ or /g/.", - "type": "string" - }, - "score": { - "description": "in [0, 1].", - "format": "float", - "type": "number" - }, - "version": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityShoppingShoppingAttachment": { - "deprecated": true, - "description": "This proto is a lightweight version of ShoppingAnnotation in docjoin attachment. We're doing a deep copy of protos defined in ShoppingAnnotation so that we can control individual fields that will sit in Muppet. Data here will be used for scoring organic shopping web results and previews. Many shopping related signals, e.g., product review score, are also served from this attachment. DEPRECATED: Please use UDR (go/udr) instead.", - "id": "QualityShoppingShoppingAttachment", - "properties": { - "datasetModelArticleScore": { - "description": "Score from the blockbert article classifier model. go/article-understanding-project", - "format": "int32", - "type": "integer" - }, - "datasetModelBuyingGuideScore": { - "format": "int32", - "type": "integer" - }, - "datasetModelForumListScore": { - "description": "From forum and qna confidence score * 100, http://go/sdu-ugc-page-intro", - "format": "int32", - "type": "integer" - }, - "datasetModelForumSingleScore": { - "format": "int32", - "type": "integer" - }, - "datasetModelInStoreOnlyScore": { - "format": "int32", - "type": "integer" - }, - "datasetModelIndirectAvailabilityScore": { - "format": "int32", - "type": "integer" - }, - "datasetModelMultiProductScore": { - "description": "From indexing.ml.PageType.confidence * 100 (DatasetModelAnnotation in cdoc) go/sdu-shopping-page-intro", - "format": "int32", - "type": "integer" - }, - "datasetModelProductComparisonScore": { - "format": "int32", - "type": "integer" - }, - "datasetModelProductReviewScore": { - "format": "int32", - "type": "integer" - }, - "datasetModelProductTopnScore": { - "format": "int32", - "type": "integer" - }, - "datasetModelQnaListScore": { - "format": "int32", - "type": "integer" - }, - "datasetModelQnaSingleScore": { - "format": "int32", - "type": "integer" - }, - "datasetModelSingleProductScore": { - "format": "int32", - "type": "integer" - }, - "datasetModelSoldOutScore": { - "format": "int32", - "type": "integer" - }, - "expiredShoppingPageScore": { - "description": "From indexing.badpages.CollapserInfo.expired_shopping_page_score * 100", - "format": "int32", - "type": "integer" - }, - "multiProductScore": { - "deprecated": true, - "description": "From MagicPageTypeAnnotation.multiplicity.confidence_score * 100 Deprecated as of July 2020 when dataset_model_multi_product_score and dataset_model_single_product_score were added.", - "format": "int32", - "type": "integer" - }, - "product": { - "items": { - "$ref": "QualityShoppingShoppingAttachmentProduct" - }, - "type": "array" - }, - "shoppingSiteScore": { - "description": "From ShoppingSiteClassifier.score * 100", - "format": "int32", - "type": "integer" - }, - "shoppingSiteScoreShopfab": { - "description": "From ShoppingSiteClassifierShopfab.score * 100", - "format": "int32", - "type": "integer" - }, - "singleProductScore": { - "deprecated": true, - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityShoppingShoppingAttachmentLocale": { - "id": "QualityShoppingShoppingAttachmentLocale", - "properties": { - "languageId": { - "description": "Use integers for fast scoring. Note: 26 is UNKNOWN_LANGUAGE_ID, 0 is UNKNOWN region, see i18n::languages::Language and StableInternalRegionconverter Use -1 as default for both.", - "format": "int32", - "type": "integer" - }, - "regionId": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityShoppingShoppingAttachmentMokaFacetValue": { - "description": "Moka product attribute facet (go/gx).", - "id": "QualityShoppingShoppingAttachmentMokaFacetValue", - "properties": { - "facetId": { - "format": "int64", - "type": "string" - }, - "measureValue": { - "format": "double", - "type": "number" - }, - "tagId": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "QualityShoppingShoppingAttachmentOffer": { - "id": "QualityShoppingShoppingAttachmentOffer", - "properties": { - "condition": { - "enum": [ - "CONDITION_UNKNOWN", - "CONDITION_NEW", - "CONDITION_REFURBISHED", - "CONDITION_USED", - "CONDITION_OTHER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "controlType": { - "enum": [ - "OFFER_CONTROL_TYPE_UNKNOWN", - "OFFER_CONTROL_TYPE_MERCHANT_MANAGED", - "OFFER_CONTROL_TYPE_UNMANAGED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "fingerprintOfOfferUrls": { - "description": "fingerprint of original offer item_urland mobile_offer_url (if present) to be able to understand if offer data came from different url.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "gtinValue": { - "description": "Global trade item number (GTIN).", - "items": { - "type": "string" - }, - "type": "array" - }, - "imageId": { - "description": "image_id is sorted and distinct for efficient search during serving.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "inferredImages": { - "description": "inferred_images are sorted by inferred_image_id for efficient search during serving.", - "items": { - "$ref": "ShoppingWebentityShoppingAnnotationInferredImage" - }, - "type": "array" - }, - "isLensBuildable": { - "description": "Is the offer Lens buildable. The corresponding field in Shopping Annotation is SurfaceSelection.", - "type": "boolean" - }, - "matchingType": { - "description": "information about methods used to match offer with indexed url. See shopping_annotation.proto", - "format": "int64", - "type": "string" - }, - "merchantAccountId": { - "description": "account_id of the merchant in shopping systems.", - "format": "int64", - "type": "string" - }, - "merchantItemId": { - "description": "merchant_item_id is meaningless without the merchant_account_id.", - "type": "string" - }, - "nonDisplayableBrandMerchantRelationship": { - "description": "direct to consumer brand merchant relationship", - "enum": [ - "OFFER_BRAND_MERCHANT_RELATIONSHIP_UNKNOWN", - "OFFER_BRAND_MERCHANT_RELATIONSHIP_DTC_CHANNEL", - "OFFER_BRAND_MERCHANT_RELATIONSHIP_CANDIDATE_DTC_EXPERIMENT" - ], - "enumDescriptions": [ - "", - "", - "Do not use. This is an experiment by the Brands and Lens team." - ], - "type": "string" - }, - "nonDisplayableCurrency": { - "type": "string" - }, - "nonDisplayableOrganicScoreMillis": { - "description": "Normalized riskiness score for Organic destinations. It's in range [1,1000] with 1 being the worst score and 1000 being the best.", - "format": "int32", - "type": "integer" - }, - "nonDisplayableStaleAvailability": { - "$ref": "ShoppingWebentityShoppingAnnotationOfferAvailabilityInfo", - "description": "This is experimental, not filled in yet and not intended to be used. Please contact buyable-corpus@ before considering using this field." - }, - "offerDocid": { - "format": "uint64", - "type": "string" - }, - "refType": { - "enum": [ - "REFERENCE_TYPE_UNKNOWN", - "REFERENCE_TYPE_MAIN_OFFER_PAGE", - "REFERENCE_TYPE_OUTLINK" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "soriVersionId": { - "$ref": "ShoppingWebentityShoppingAnnotationSoriVersionId" - } - }, - "type": "object" - }, - "QualityShoppingShoppingAttachmentPBlock": { - "description": "Next ID: 18", - "id": "QualityShoppingShoppingAttachmentPBlock", - "properties": { - "fullTitle": { - "description": "Field full_title may contain duplicate info from title and list_title.", - "type": "string" - }, - "imageDocid": { - "description": "Ordering for `image_docid`, and `image_info` are the same.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "imageInfo": { - "items": { - "$ref": "QualityShoppingShoppingAttachmentPBlockImageInfo" - }, - "type": "array" - }, - "isFreeDelivery": { - "type": "boolean" - }, - "isFreeReturn": { - "type": "boolean" - }, - "listTitle": { - "type": "string" - }, - "maxPriceValue": { - "format": "float", - "type": "number" - }, - "minPriceValue": { - "format": "float", - "type": "number" - }, - "price": { - "deprecated": true, - "type": "string" - }, - "priceCurrency": { - "type": "string" - }, - "priceValue": { - "format": "float", - "type": "number" - }, - "title": { - "description": "Product info extracted by Product Blocks go/sdu-shopping-page-intro and go/product-block-extraction. Here is an example of a page with a ## list_title (Shoes) and 3 blocks with their own titles: | Shoes | | ---------------------| | * For Running | | ---------------------| | * Men's Hiking | | ---------------------| ## | * Dress Shoes | The field full_title is what we constructed to best describe the product in the block. For example, for the above 3 blocks, their full_titles will contain info from list_title: \"Shoes For Running\", \"Shoes Men's Hiking\", \"Dress Shoes\". Note that the list_title is not repeated for the 3rd block Real sample pages: http://screen/6UaoBtwWsLfbSKg http://screen/BDHRgDonKG3KcXu, http://screen/53tLwNaX8mmYzDz", - "type": "string" - } - }, - "type": "object" - }, - "QualityShoppingShoppingAttachmentPBlockImageInfo": { - "id": "QualityShoppingShoppingAttachmentPBlockImageInfo", - "properties": { - "height": { - "format": "int32", - "type": "integer" - }, - "width": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityShoppingShoppingAttachmentProduct": { - "id": "QualityShoppingShoppingAttachmentProduct", - "properties": { - "aggregateRating": { - "$ref": "ShoppingWebentityShoppingAnnotationProductRating" - }, - "brandEntityId": { - "format": "uint64", - "type": "string" - }, - "catalogId": { - "format": "uint64", - "type": "string" - }, - "globalProductClusterId": { - "format": "uint64", - "type": "string" - }, - "images": { - "items": { - "$ref": "ShoppingWebentityShoppingAnnotationProductImage" - }, - "type": "array" - }, - "locale": { - "$ref": "QualityShoppingShoppingAttachmentLocale" - }, - "mokaFacet": { - "items": { - "$ref": "QualityShoppingShoppingAttachmentMokaFacetValue" - }, - "type": "array" - }, - "nonDisplayableDescription": { - "type": "string" - }, - "nonDisplayableTitle": { - "type": "string" - }, - "offer": { - "$ref": "QualityShoppingShoppingAttachmentOffer" - }, - "outlinkDomainRelationship": { - "description": "Whether an outlink points to the same domain or off-domain. Only added if the relationship is known, and the Offer has ref_type of OUTLINK.", - "enum": [ - "OUTLINK_TARGET_RELATIONSHIP_UNKNOWN", - "OUTLINK_TARGET_RELATIONSHIP_SAME_DOMAIN", - "OUTLINK_TARGET_RELATIONSHIP_OFF_DOMAIN" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "pblock": { - "$ref": "QualityShoppingShoppingAttachmentPBlock", - "description": "Client needs to make decision on which field to use when both non_displayable_title and pblock.final_title are present." - }, - "productBrowseonomyIds": { - "description": "Product level Browseonomy ids from shopping_annotation.product.browseonomy.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "productClusterMid": { - "format": "uint64", - "type": "string" - }, - "relevanceEmbedding": { - "description": "Relevance embedding from ShoppingAnnotation.Product", - "items": { - "$ref": "QualityRankembedMustangMustangRankEmbedInfo" - }, - "type": "array" - }, - "weakGlobalProductClusterId": { - "description": "Matched/Inferred weak product identity - set only if the global_product_cluster_id is missing", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "QualitySitemapBreadcrumbTarget": { - "description": "Sitelink candidates that is generated from breadcrumbs.", - "id": "QualitySitemapBreadcrumbTarget", - "properties": { - "docs": { - "items": { - "$ref": "QualitySitemapBreadcrumbTargetDoc" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualitySitemapBreadcrumbTargetDoc": { - "id": "QualitySitemapBreadcrumbTargetDoc", - "properties": { - "count": { - "description": "The number of web pages that contains the url in their breadcrumbs.", - "format": "int32", - "type": "integer" - }, - "title": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "QualitySitemapCoClickTarget": { - "id": "QualitySitemapCoClickTarget", - "properties": { - "docs": { - "items": { - "$ref": "QualitySitemapCoClickTargetDoc" - }, - "type": "array" - }, - "language": { - "type": "string" - } - }, - "type": "object" - }, - "QualitySitemapCoClickTargetDoc": { - "id": "QualitySitemapCoClickTargetDoc", - "properties": { - "coClickByLocale": { - "items": { - "$ref": "QualitySitemapCoClickTargetDocCoClickByLocale" - }, - "type": "array" - }, - "title": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "QualitySitemapCoClickTargetDocCoClickByLocale": { - "id": "QualitySitemapCoClickTargetDocCoClickByLocale", - "properties": { - "coClicks": { - "format": "float", - "type": "number" - }, - "coClicksCapped": { - "format": "float", - "type": "number" - }, - "coClicksParent": { - "format": "float", - "type": "number" - }, - "locale": { - "type": "string" - } - }, - "type": "object" - }, - "QualitySitemapScoringSignals": { - "description": "Scoring signals for computing the sitelink score. This message is currently intended only for debugging. Accordingly, this is populated in CDoc but not in MDU. It is enforced by the [(exclude_from_mdu) = true] annotation of the corresponding fields in Target and TargetGroup.", - "id": "QualitySitemapScoringSignals", - "properties": { - "annotations": { - "items": { - "enum": [ - "UNSET", - "LOW_RELATIVE_CONFIDENCE_IMPRESSIONS" - ], - "enumDescriptions": [ - "As per Protocol buffer best practice.", - "" - ], - "type": "string" - }, - "type": "array" - }, - "chromeTransCount": { - "format": "uint64", - "type": "string" - }, - "chromeTransProb": { - "format": "float", - "type": "number" - }, - "chromeWeight": { - "format": "float", - "type": "number" - }, - "country": { - "items": { - "type": "string" - }, - "type": "array" - }, - "countryConfidence": { - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "impressions": { - "format": "uint64", - "type": "string" - }, - "langConfidence": { - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "language": { - "items": { - "type": "string" - }, - "type": "array" - }, - "localCountryIdentifier": { - "items": { - "type": "string" - }, - "type": "array" - }, - "longClicks": { - "format": "uint64", - "type": "string" - }, - "longCtr": { - "format": "float", - "type": "number" - }, - "navboostScore": { - "format": "float", - "type": "number" - }, - "navmenuScore": { - "format": "float", - "type": "number" - }, - "pagerank": { - "format": "int32", - "type": "integer" - }, - "recentLongCtr": { - "format": "float", - "type": "number" - }, - "targetCdocLanguages": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "titleScore": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualitySitemapSporcSignals": { - "description": "MESSAGE SHOULD ONLY BE POPULATED DURING ONLINE/SERVING TIME.", - "id": "QualitySitemapSporcSignals", - "properties": { - "oslScore": { - "description": "Score for normal oneline sitelink", - "format": "float", - "type": "number" - }, - "scrolltoScore": { - "description": "Score for scroll-to sitelink", - "format": "float", - "type": "number" - }, - "tocScore": { - "description": "Score for table of contents sitelink", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualitySitemapSubresult": { - "description": "Information about a single sub-result.", - "id": "QualitySitemapSubresult", - "properties": { - "docid": { - "format": "uint64", - "type": "string" - }, - "itemMetadata": { - "$ref": "QualitySitemapThirdPartyCarouselsListItemMuppetMetadata" - } - }, - "type": "object" - }, - "QualitySitemapSubresultList": { - "description": "A container for encapsulating a list of sub-results.", - "id": "QualitySitemapSubresultList", - "properties": { - "subresult": { - "items": { - "$ref": "QualitySitemapSubresult" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualitySitemapTarget": { - "description": "Represents a single sitelink target, contains basic information used to display the target (such as url and title) and to, maybe, dynamically change the way targets are selected and/or ranked (such as score and is_mobile). Please update the TargetInternal message if you make a change to this proto. See \"Note on adding new fields\".", - "id": "QualitySitemapTarget", - "properties": { - "DEPRECATEDSnippet": { - "deprecated": true, - "items": { - "type": "string" - }, - "type": "array" - }, - "isGoodForMobile": { - "type": "boolean" - }, - "isMobileN1dup": { - "type": "boolean" - }, - "languages": { - "description": "The languages of the document, taken from its cdoc.properties().languages()", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "salientImage": { - "$ref": "WWWResultInfoSubImageDocInfo", - "description": "The image data will be copied from the DocInfo response, and will be retrieved online, so this field should not be populated during indexing. This is a temporary field for experimentation." - }, - "score": { - "format": "float", - "type": "number" - }, - "scoringSignals": { - "$ref": "QualitySitemapScoringSignals" - }, - "sectionTexts": { - "description": "Section texts used for Page Anchors Preview (go/page-anchor-preview-dd).", - "items": { - "type": "string" - }, - "type": "array" - }, - "snippetResponse": { - "$ref": "GenericSnippetResponse", - "description": "The snippet response for the target document for an empty query." - }, - "sourceAnchor": { - "type": "boolean" - }, - "sporcSignals": { - "$ref": "QualitySitemapSporcSignals", - "description": "FIELD SHOULD ONLY BE POPULATED DURING ONLINE/SERVING TIME. Thus it should have no impact on cdoc/mdu." - }, - "title": { - "type": "string" - }, - "twoLevelScore": { - "format": "float", - "type": "number" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "QualitySitemapTargetGroup": { - "description": "Represents a set of targets. The group may have a label field to uniquely identify this target group among others - for instance, if these targets' titles were generated using an alternative title algorithm, the label can be \"newtitles\". See \"Note on adding new fields\".", - "id": "QualitySitemapTargetGroup", - "properties": { - "DEPRECATEDCountry": { - "format": "int32", - "type": "integer" - }, - "Target": { - "items": { - "$ref": "QualitySitemapTarget" - }, - "type": "array" - }, - "allTargetsNamedAnchors": { - "description": "If all the targets in this group are named anchors on the source page.", - "type": "boolean" - }, - "allTargetsNamedTopictagsScrollto": { - "description": "If all the targets in this group are named topictags_scrollto on the source page.", - "type": "boolean" - }, - "breadcrumbTarget": { - "$ref": "QualitySitemapBreadcrumbTarget" - }, - "coClickTarget": { - "items": { - "$ref": "QualitySitemapCoClickTarget" - }, - "type": "array" - }, - "countryCode": { - "type": "string" - }, - "label": { - "type": "string" - }, - "language": { - "format": "int32", - "type": "integer" - }, - "modifiedByHostcardHandler": { - "type": "boolean" - }, - "scoringSignals": { - "$ref": "QualitySitemapScoringSignals" - }, - "topUrl": { - "description": "A list of top urls with highest two_level_score, i.e., chrome_trans_clicks.", - "items": { - "$ref": "QualitySitemapTopURL" - }, - "type": "array" - }, - "twoLevelTarget": { - "items": { - "$ref": "QualitySitemapTwoLevelTarget" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualitySitemapThirdPartyCarouselsListItemMuppetMetadata": { - "description": "A set of metadata about a list item that is passed on to Muppet from indexing.", - "id": "QualitySitemapThirdPartyCarouselsListItemMuppetMetadata", - "properties": { - "urlFoundOnPage": { - "description": "DEPRECATED. No longer populated, and not used anywhere.", - "type": "boolean" - } - }, - "type": "object" - }, - "QualitySitemapTopURL": { - "id": "QualitySitemapTopURL", - "properties": { - "score": { - "format": "float", - "type": "number" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "QualitySitemapTwoLevelTarget": { - "id": "QualitySitemapTwoLevelTarget", - "properties": { - "firstLevelTarget": { - "$ref": "QualitySitemapTarget" - }, - "secondLevelTarget": { - "items": { - "$ref": "QualitySitemapTarget" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualitySnippetsTruncationSnippetBoldedRange": { - "description": "A bolded range in printed snippet lines.", - "id": "QualitySnippetsTruncationSnippetBoldedRange", - "properties": { - "begin": { - "$ref": "QualitySnippetsTruncationSnippetBoldedRangePosition", - "description": "Bolded range [begin, end)" - }, - "end": { - "$ref": "QualitySnippetsTruncationSnippetBoldedRangePosition" - }, - "text": { - "description": "Only populated for debugging.", - "type": "string" - }, - "type": { - "enum": [ - "TYPE_UNSPECIFIED", - "QUERY_TERM_MATCH", - "RADISH", - "BRAIN", - "QUOTED_TERM" - ], - "enumDescriptions": [ - "", - "Query term matched terms.", - "Radish bolded terms.", - "Snippet brain bolded terms.", - "User quoted query terms." - ], - "type": "string" - } - }, - "type": "object" - }, - "QualitySnippetsTruncationSnippetBoldedRangePosition": { - "id": "QualitySnippetsTruncationSnippetBoldedRangePosition", - "properties": { - "byteOffset": { - "format": "int32", - "type": "integer" - }, - "index": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityTimebasedDateUnreliability": { - "description": "Unreliable dates signals per URL. go/unreliable-dates-dd", - "id": "QualityTimebasedDateUnreliability", - "properties": { - "petacatScores": { - "items": { - "$ref": "QualityTimebasedPetacatDateUnreliability" - }, - "type": "array" - }, - "unreliableDatesScore": { - "description": "If scores are missing, the date is reliable by default. max(petacat.unreliable_dates_score)", - "format": "float", - "type": "number" - }, - "unreliableDatesScoreExposureAdjusted": { - "description": "max(petacat.unreliable_dates_score * petacat.date_exposure_score)", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityTimebasedLastSignificantUpdate": { - "id": "QualityTimebasedLastSignificantUpdate", - "properties": { - "adjustmentInfo": { - "$ref": "QualityTimebasedLastSignificantUpdateAdjustments", - "description": "This is stored only for debugging purposes. Please consult dates@ team before making a dependency on this field." - }, - "date": { - "description": "LastSignificantUpdate as UNIX timestamp in seconds. This is the new signal (go/lsu-dd) from LSU Selector V2 (once that is enabled, see b/171879888 for status), falling back to the legacy V1 signal if the HIGH_PRECISION signal does not exist. Please use the 'source' field to determine where the value comes from.", - "format": "int64", - "type": "string" - }, - "dateUnreliabilityInfo": { - "$ref": "QualityTimebasedDateUnreliability" - }, - "source": { - "description": "The source the signal comes from.", - "enum": [ - "UNSET", - "LSU_LOW_PRECISION", - "LSU_HIGH_PRECISION_UPDATE_MARKUP_SUPPORTED_BY_CONTENTAGE", - "LSU_HIGH_PRECISION_UPDATE_MARKUP_SUPPORTED_BY_ANNOTATION", - "LSU_HIGH_PRECISION_UPDATE_MARKUP_FROM_DISCUSSION_VIEW", - "LSU_HIGH_PRECISION_ANNOTATION_WITH_UPDATE_TAG", - "LSU_HIGH_PRECISION_PUBLICATION_MARKUP_SUPPORTED_BY_CONTENTAGE", - "LSU_HIGH_PRECISION_PUBLICATION_MARKUP_SUPPORTED_BY_ANNOTATION", - "LSU_HIGH_PRECISION_PUBLICATION_MARKUP_FROM_DISCUSSION_VIEW", - "LSU_HIGH_PRECISION_ANNOTATION_WITH_PATTERN_BYLINE_TAG", - "LSU_HIGH_PRECISION_RELIABLE_CONTENT_AGE_SUPPORTED_BY_ANNOTATION", - "LSU_HIGH_PRECISION_CREATION_DATE_OF_UGC_PAGE", - "LSU_MEDIUM_PRECISION_FRESH_SALIENT_ANNOTATION_LOW_SUPPORT", - "LSU_MEDIUM_PRECISION_FRESH_SALIENT_ANNOTATION_MEDIUM_SUPPORT", - "LSU_MEDIUM_PRECISION_FRESH_SALIENT_ANNOTATION_HIGH_SUPPORT", - "LSU_MEDIUM_PRECISION_FRESH_SALIENT_ANNOTATION_FULL_SUPPORT", - "LSU_V1", - "LSU_V2_UPDATE_MARKUP_SUPPORTED_BY_CONTENTAGE", - "LSU_V2_UPDATE_MARKUP_SUPPORTED_BY_ANNOTATION", - "LSU_V2_ANNOTATION_WITH_UPDATE_TAG", - "LSU_V2_PUBLICATION_MARKUP_SUPPORTED_BY_CONTENTAGE", - "LSU_V2_PUBLICATION_MARKUP_SUPPORTED_BY_ANNOTATION", - "LSU_V2_ANNOTATION_WITH_PATTERN_BYLINE_TAG", - "LSU_V2_RELIABLE_CONTENT_AGE_SUPPORTED_BY_ANNOTATION" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "", - "The signal from legacy selector (quality/timebased/lastsignificantupdate/lsu-selector.h). It's a fallback for clients relying on ~100% recall of the signal.", - "The signal comes from update markup date supported by ContentAge.", - "The signal comes from update markup date supported by annotation.", - "", - "The signal comes from date annotation representing update date of a page.", - "The signal comes from publication markup date supported by ContentAge.", - "The signal comes from publication markup date supported by annotation.", - "", - "The signal comes from date annotation often selected as a byline.", - "The signal comes from ContentAge that's supported by date annotation.", - "The signal comes from creation date of UGC page.", - "", - "", - "", - "", - "Legacy names. Do not use. These are kept around for ~2 months to ease transitions.", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "QualityTimebasedLastSignificantUpdateAdjustments": { - "id": "QualityTimebasedLastSignificantUpdateAdjustments", - "properties": { - "adjustmentSource": { - "description": "If the selected LSU has been adjusted, i.e. the maximum passage timestamp, firstseen or contentage were assigned to LSU, the adjustment source is stored here.", - "enum": [ - "UNSET", - "PASSAGE_TIMESTAMP", - "FIRSTSEEN", - "CONTENT_AGE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "isUpperboundTimestampPrecise": { - "description": "The timestamp is precise when it's derived from existing (\u003eMarch 2022) passage timestamp.", - "type": "boolean" - }, - "unboundedTimestampInSeconds": { - "description": "The timestamp that was picked up by the component indicated in the LastSignificantUpdateSource but was dropped due to exceeding the upper bound. Set only if it is not equal to final LSU.", - "format": "int64", - "type": "string" - }, - "unboundedTimestampSource": { - "description": "The source that produced the unbounded timestamp.", - "enum": [ - "UNSET", - "LSU_LOW_PRECISION", - "LSU_HIGH_PRECISION_UPDATE_MARKUP_SUPPORTED_BY_CONTENTAGE", - "LSU_HIGH_PRECISION_UPDATE_MARKUP_SUPPORTED_BY_ANNOTATION", - "LSU_HIGH_PRECISION_UPDATE_MARKUP_FROM_DISCUSSION_VIEW", - "LSU_HIGH_PRECISION_ANNOTATION_WITH_UPDATE_TAG", - "LSU_HIGH_PRECISION_PUBLICATION_MARKUP_SUPPORTED_BY_CONTENTAGE", - "LSU_HIGH_PRECISION_PUBLICATION_MARKUP_SUPPORTED_BY_ANNOTATION", - "LSU_HIGH_PRECISION_PUBLICATION_MARKUP_FROM_DISCUSSION_VIEW", - "LSU_HIGH_PRECISION_ANNOTATION_WITH_PATTERN_BYLINE_TAG", - "LSU_HIGH_PRECISION_RELIABLE_CONTENT_AGE_SUPPORTED_BY_ANNOTATION", - "LSU_HIGH_PRECISION_CREATION_DATE_OF_UGC_PAGE", - "LSU_MEDIUM_PRECISION_FRESH_SALIENT_ANNOTATION_LOW_SUPPORT", - "LSU_MEDIUM_PRECISION_FRESH_SALIENT_ANNOTATION_MEDIUM_SUPPORT", - "LSU_MEDIUM_PRECISION_FRESH_SALIENT_ANNOTATION_HIGH_SUPPORT", - "LSU_MEDIUM_PRECISION_FRESH_SALIENT_ANNOTATION_FULL_SUPPORT", - "LSU_V1", - "LSU_V2_UPDATE_MARKUP_SUPPORTED_BY_CONTENTAGE", - "LSU_V2_UPDATE_MARKUP_SUPPORTED_BY_ANNOTATION", - "LSU_V2_ANNOTATION_WITH_UPDATE_TAG", - "LSU_V2_PUBLICATION_MARKUP_SUPPORTED_BY_CONTENTAGE", - "LSU_V2_PUBLICATION_MARKUP_SUPPORTED_BY_ANNOTATION", - "LSU_V2_ANNOTATION_WITH_PATTERN_BYLINE_TAG", - "LSU_V2_RELIABLE_CONTENT_AGE_SUPPORTED_BY_ANNOTATION" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "", - "The signal from legacy selector (quality/timebased/lastsignificantupdate/lsu-selector.h). It's a fallback for clients relying on ~100% recall of the signal.", - "The signal comes from update markup date supported by ContentAge.", - "The signal comes from update markup date supported by annotation.", - "", - "The signal comes from date annotation representing update date of a page.", - "The signal comes from publication markup date supported by ContentAge.", - "The signal comes from publication markup date supported by annotation.", - "", - "The signal comes from date annotation often selected as a byline.", - "The signal comes from ContentAge that's supported by date annotation.", - "The signal comes from creation date of UGC page.", - "", - "", - "", - "", - "Legacy names. Do not use. These are kept around for ~2 months to ease transitions.", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "upperboundTimestampInSeconds": { - "description": "The upperbound value derived from passage timestamps. If present, the LSU date should never exceed this value. Design doc: go/lsu-max-passage-timestamp", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "QualityTimebasedPageType": { - "id": "QualityTimebasedPageType", - "properties": { - "isForumPage": { - "deprecated": true, - "description": "Set to true if this page is classified as a forum page.", - "type": "boolean" - }, - "isPageWithFreshRepeatedDates": { - "deprecated": true, - "description": "Set to true if this page has a fresh repeated date sequence.", - "type": "boolean" - }, - "isQnaPage": { - "deprecated": true, - "description": "Set to true if this page is classified as a question answers page.", - "type": "boolean" - } - }, - "type": "object" - }, - "QualityTimebasedPetacatDateUnreliability": { - "description": "Unreliable dates signals per Domain+Petacat. go/unreliable-dates-dd NOTE(tomwesolowski): As of now, we can safely keep up to 8 4-bytes fields in this proto due to Laelaps constraint of max. 50k bytes per single value. We keep all the petacats categories for a domain under the same key. The largest sites (Youtube, Wikipedia, Facebook) have up to 1.5k different petacat verticals. 1500 * 4 * 8 / 1024 bytes = 46.9k bytes", - "id": "QualityTimebasedPetacatDateUnreliability", - "properties": { - "contentageReliability": { - "format": "float", - "type": "number" - }, - "dateExposure": { - "format": "float", - "type": "number" - }, - "dateExposureScore": { - "description": "This is date_exposure after sigmoid transformation.", - "format": "float", - "type": "number" - }, - "dateVsContentageDistributionSkew": { - "description": "Auxiliary scores. The unreliable_dates_score is a product of these scores excl. date_exposure. The definition for each of the scores you can find at go/unreliable-dates-dd", - "format": "float", - "type": "number" - }, - "isForumQnaSocialMediaProbability": { - "format": "float", - "type": "number" - }, - "petacatId": { - "description": "go/verticals4", - "format": "int32", - "type": "integer" - }, - "unreliableDatesScore": { - "description": "This is a final score excl. date exposure component.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityTimebasedSyntacticDate": { - "description": "Next ID: 21", - "id": "QualityTimebasedSyntacticDate", - "properties": { - "bylineDate": { - "description": "The following field is set only when the byline date is different from the \"date\" field above. Currently this happens when the byline date is within the 24 hours of the crawl time, or close but not exactly the same as blog post date due to time zone. The syntactic date is never later than the crawl time. NOTE: If this field is set, use_as_byline_date will be meaningless, and better to be cleared.", - "format": "int64", - "type": "string" - }, - "date": { - "description": "The number of seconds since epoch (Jan 1, 1970). This can be negative to indicate a publication date that is before 1970. For example, the ones from NY Times archive: \"http://select.nytimes.com/gst/abstract.html?res=F10B13FB3D5A10728FDDAF089\" \"4DD405B8588F1D3\u0026scp=91\u0026sq=world+war+II\u0026st=p\"", - "format": "int64", - "type": "string" - }, - "daterange": { - "$ref": "QualityTimebasedSyntacticDateDateRange" - }, - "debugInfo": { - "type": "string" - }, - "fromExplicitTimeZone": { - "description": "If set to true, the source of the date has explicit time zone specification. Note: This is only used internally and should not be populated in docjoins.", - "type": "boolean" - }, - "info": { - "description": "Used to store extra information about the syntactic date. For now only two bits are set. Please refer to the encoding/decoding functions provided in: quality/timebased/syntacticdate/util.h Bit 1 = High confidence byline. This bit is set if the syntactic date has a byline date and this date is considered to be high confidence. Bit 2 = High confidence byline without content age. This bit is set if the syntactic date has a byline date and this date is considered to be high confidence without support from content age.", - "format": "int32", - "type": "integer" - }, - "position": { - "$ref": "QualityTimebasedSyntacticDatePosition" - }, - "precisionMark": { - "description": "The precision mark should be of type PRECISION_MARK.", - "format": "int32", - "type": "integer" - }, - "syntacticDateNotForRestrict": { - "description": "If this is true, do not use syntactic date in date restricts.", - "type": "boolean" - }, - "timeZoneOffsetSeconds": { - "description": "Indicates the time zone offset in seconds applied to derive `date' in UTC. Example: Annotation: \"1pm PST\" (UTC-8) =\u003e -8 * 3600 = -28800 Note: This is only used internally and should not be populated in docjoins.", - "format": "int64", - "type": "string" - }, - "trustSyntacticDateInRanking": { - "description": "This bit is set if we believe that the syntactic date is really high confidence, but does not qualify as a byline date.", - "type": "boolean" - }, - "useAsBylineDate": { - "description": "Whether this date is good for display as the snippet byline date.", - "type": "boolean" - }, - "useInTimeZoneGuessingMode": { - "description": "This bit is set if the syntactic date is good to be used in site-level timezone guessing statistics calculation. (The date should be absolute date having a timestamp with hour and minute level information. It can come with or without time zone information, which is indicated in from_explicit_time_zone field defined below.)", - "type": "boolean" - }, - "useRangeInsteadOfDateForRestrict": { - "description": "If true, the DateRange is used as date restrict, if false, the date is used as date restrict. Has no effect if syntactic_date_not_for_restrict is true.", - "type": "boolean" - } - }, - "type": "object" - }, - "QualityTimebasedSyntacticDateDateRange": { - "description": "If the single date (plus the precision mark) is still not good enough, we will use the following fields for a date range. In this case, the fields above may all be empty.", - "id": "QualityTimebasedSyntacticDateDateRange", - "properties": { - "end": { - "format": "int64", - "type": "string" - }, - "start": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "QualityTimebasedSyntacticDatePosition": { - "description": "The following positions are the byte offset in doc body, which is consistent with the date annotations. (See google3/repository/annotations/proto/annotations.proto) These are given when we want to use the date as a byline date, so the snippet generating code will know the positions.", - "id": "QualityTimebasedSyntacticDatePosition", - "properties": { - "begin": { - "format": "int32", - "type": "integer" - }, - "end": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "QualityTravelGoodSitesData": { - "description": "Protocol message for data related to good travel sites. This data is stored as signals data in docjoins.", - "id": "QualityTravelGoodSitesData", - "properties": { - "i18n": { - "items": { - "$ref": "QualityTravelGoodSitesDataI18n" - }, - "type": "array" - }, - "isAggr": { - "type": "boolean" - }, - "isAttractionOfficial": { - "type": "boolean" - }, - "isEntity": { - "type": "boolean" - }, - "isHotelOfficial": { - "type": "boolean" - }, - "normalizationFactor": { - "description": "Factor that determines how local anchor credit is scaled before being added to global anchors.", - "format": "float", - "type": "number" - }, - "signal": { - "items": { - "$ref": "QualityTravelGoodSitesDataSignal" - }, - "type": "array" - }, - "site": { - "type": "string" - }, - "totalScore": { - "description": "Site quality score, which determines the site type.", - "format": "float", - "type": "number" - }, - "type": { - "enum": [ - "NOT_GOOD", - "LOCAL_OKAY", - "OKAY", - "GOOD", - "OFFICIAL", - "NUM_TYPES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "QualityTravelGoodSitesDataI18n": { - "id": "QualityTravelGoodSitesDataI18n", - "properties": { - "locale": { - "type": "string" - }, - "type": { - "enum": [ - "NOT_GOOD", - "LOCAL_OKAY", - "OKAY", - "GOOD", - "OFFICIAL", - "NUM_TYPES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "QualityTravelGoodSitesDataSignal": { - "description": "Raw signals that determine the site quality score.", - "id": "QualityTravelGoodSitesDataSignal", - "properties": { - "name": { - "type": "string" - }, - "value": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "QualityVidyaVideoLanguageVideoLanguage": { - "description": "Audio-based language information about a Watch Page. For more information: https://g3doc.corp.google.com/video/timedtext/g3doc/ali.md", - "id": "QualityVidyaVideoLanguageVideoLanguage", - "properties": { - "language": { - "description": "Audio language of video classified by Automatic Language Identification. It corresponds to the first language (the highest confidence) in ALIResults.lang_results.", - "enum": [ - "ENGLISH", - "DANISH", - "DUTCH", - "FINNISH", - "FRENCH", - "GERMAN", - "HEBREW", - "ITALIAN", - "JAPANESE", - "KOREAN", - "NORWEGIAN", - "POLISH", - "PORTUGUESE", - "RUSSIAN", - "SPANISH", - "SWEDISH", - "CHINESE", - "CZECH", - "GREEK", - "ICELANDIC", - "LATVIAN", - "LITHUANIAN", - "ROMANIAN", - "HUNGARIAN", - "ESTONIAN", - "TG_UNKNOWN_LANGUAGE", - "UNKNOWN_LANGUAGE", - "BULGARIAN", - "CROATIAN", - "SERBIAN", - "IRISH", - "GALICIAN", - "TAGALOG", - "TURKISH", - "UKRAINIAN", - "HINDI", - "MACEDONIAN", - "BENGALI", - "INDONESIAN", - "LATIN", - "MALAY", - "MALAYALAM", - "WELSH", - "NEPALI", - "TELUGU", - "ALBANIAN", - "TAMIL", - "BELARUSIAN", - "JAVANESE", - "OCCITAN", - "URDU", - "BIHARI", - "GUJARATI", - "THAI", - "ARABIC", - "CATALAN", - "ESPERANTO", - "BASQUE", - "INTERLINGUA", - "KANNADA", - "PUNJABI", - "SCOTS_GAELIC", - "SWAHILI", - "SLOVENIAN", - "MARATHI", - "MALTESE", - "VIETNAMESE", - "FRISIAN", - "SLOVAK", - "CHINESE_T", - "FAROESE", - "SUNDANESE", - "UZBEK", - "AMHARIC", - "AZERBAIJANI", - "GEORGIAN", - "TIGRINYA", - "PERSIAN", - "BOSNIAN", - "SINHALESE", - "NORWEGIAN_N", - "PORTUGUESE_P", - "PORTUGUESE_B", - "XHOSA", - "ZULU", - "GUARANI", - "SESOTHO", - "TURKMEN", - "KYRGYZ", - "BRETON", - "TWI", - "YIDDISH", - "SERBO_CROATIAN", - "SOMALI", - "UIGHUR", - "KURDISH", - "MONGOLIAN", - "ARMENIAN", - "LAOTHIAN", - "SINDHI", - "RHAETO_ROMANCE", - "AFRIKAANS", - "LUXEMBOURGISH", - "BURMESE", - "KHMER", - "TIBETAN", - "DHIVEHI", - "CHEROKEE", - "SYRIAC", - "LIMBU", - "ORIYA", - "ASSAMESE", - "CORSICAN", - "INTERLINGUE", - "KAZAKH", - "LINGALA", - "MOLDAVIAN", - "PASHTO", - "QUECHUA", - "SHONA", - "TAJIK", - "TATAR", - "TONGA", - "YORUBA", - "CREOLES_AND_PIDGINS_ENGLISH_BASED", - "CREOLES_AND_PIDGINS_FRENCH_BASED", - "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", - "CREOLES_AND_PIDGINS_OTHER", - "MAORI", - "WOLOF", - "ABKHAZIAN", - "AFAR", - "AYMARA", - "BASHKIR", - "BISLAMA", - "DZONGKHA", - "FIJIAN", - "GREENLANDIC", - "HAUSA", - "HAITIAN_CREOLE", - "INUPIAK", - "INUKTITUT", - "KASHMIRI", - "KINYARWANDA", - "MALAGASY", - "NAURU", - "OROMO", - "RUNDI", - "SAMOAN", - "SANGO", - "SANSKRIT", - "SISWANT", - "TSONGA", - "TSWANA", - "VOLAPUK", - "ZHUANG", - "KHASI", - "SCOTS", - "GANDA", - "MANX", - "MONTENEGRIN", - "AKAN", - "IGBO", - "MAURITIAN_CREOLE", - "HAWAIIAN", - "CEBUANO", - "EWE", - "GA", - "HMONG", - "KRIO", - "LOZI", - "LUBA_LULUA", - "LUO_KENYA_AND_TANZANIA", - "NEWARI", - "NYANJA", - "OSSETIAN", - "PAMPANGA", - "PEDI", - "RAJASTHANI", - "SESELWA_CREOLE_FRENCH", - "TUMBUKA", - "VENDA", - "WARAY_PHILIPPINES", - "NUM_LANGUAGES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Norwegian\" = \"no\" normally implies Bokmål (\"nb\"). See also NORWEGIAN_N. Consider using IsNorwegianLanguage().", - "", - "WARNING: \"Portuguese\" in the enum Language implies the Iberian variant, while Google and industry standard practice is for \"pt\" to imply Brazilian, for the much larger population. The old LanguageCode() function returns \"pt\" for legacy reasons. The III LanguageEnumLanguageCodeConverter converts it to \"pt-PT\" to preserve the semantics. Converting between this legacy enum and industry-standard language tags cannot preserve the distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage().", - "", - "", - "", - "\"Chinese\" normally implies simplified Han characters (\"zh-Hans\"). See also CHINESE_T. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage().", - "", - "", - "", - "", - "", - "", - "Serbian is commonly written in two scripts. The default is Cyrillic (\"sr\" = \"sr-Cyrl\"). It is also often written with Latin letters (\"sr-Latn\"). This enum does not convey that distinction.", - "", - "", - "TAGALOG is used to mean both Tagalog (tl) and Filipino (fil). These are nearly the same; Filipino is the official language, and \"fil\" is normally used for UI settings etc. The old LanguageCode() function returns \"tl\".", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Bihari\" is not a language: There are several different languages spoken in and around the Indian state of Bihar. This is like saying \"Swiss\" to mean German+French+Italian+Romansh.", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Chinese written in traditional Han characters (\"zh-Hant\"). See also CHINESE. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "UI only. LangId language: CROATIAN (28)", - "", - "Norwegian Nynorsk (\"nn\"). See also NORWEGIAN. Consider using IsNorwegianLanguage(). UI only. LangId language: NORWEGIAN (10)", - "Portuguese in Portugal (\"pt-PT\"). See the WARNING at PORTUGUESE. Avoid a distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "Portuguese in Brazil (\"pt-BR\"). Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "", - "UI only.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "", - "This has been documented as \"Kurmanji (kmr) + Sorani (ckb) + Kurdish (ku)\". There are several kinds of Kurdish languages. \"ku\" normally implies Northern Kurdish = Kurmanji (kmr) which is normally written in Latin letters. \"ckb\" is Central Kurdish (largely in Iraq) which is normally written in Arabic letters (thus right-to-left).", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "sometimes spelled Divehi; lang of Maldives", - "", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "\"Moldavian\" is the same language as Romanian. In language tags, \"ro-MD\" can be used but is not normally necessary. Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage(). UI only. LangId language: ROMANIAN (22)", - "", - "", - "UI only.", - "", - "", - "", - "", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only. More commonly called Luganda.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "Translate only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "Translate only.", - "Translate only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "Always keep this at the end. It is not a" - ], - "type": "string" - }, - "speechClass": { - "description": "Type of detected speech.", - "enum": [ - "UNKNOWN", - "NO_SPEECH", - "HAS_SPEECH_FOR_ASR" - ], - "enumDescriptions": [ - "Unspecified, or string label not recognized.", - "", - "Currently corresponds to simple speech" - ], - "type": "string" - } - }, - "type": "object" - }, - "QualityViewsExtractionClusterInfo": { - "description": "Stores cluster scoring information for an entity Next Id: 6", - "id": "QualityViewsExtractionClusterInfo", - "properties": { - "clusterId": { - "description": "The cluster_id represents the id of the set entity that WebRef provides.", - "type": "string" - }, - "clusterSetScore": { - "description": "Cluster set qref confidence score.", - "format": "float", - "type": "number" - }, - "clusterSiblingMid": { - "description": "The mids of cluster members that are part of the same cluster. Note that cluster members may end up having their own interpretation (EntityInfo which includes a ClusterInfo) or not (eg because they do not explain the full query, and so aqua does not output an interpretation for them). The latter case (a cluster member is output only as part of this field), is equivalent to its score being 0.", - "items": { - "type": "string" - }, - "type": "array" - }, - "score": { - "description": "The score represents the score of the entity within the cluster.", - "format": "float", - "type": "number" - }, - "subCluster": { - "items": { - "$ref": "QualityViewsExtractionClusterInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityWebanswersTranscriptAnnotations": { - "description": "Wraps other annotations that are run over auto-generated video captions.", - "id": "QualityWebanswersTranscriptAnnotations", - "properties": { - "videoTranscriptAnnotations": { - "items": { - "$ref": "QualityWebanswersVideoTranscriptAnnotations" - }, - "type": "array" - } - }, - "type": "object" - }, - "QualityWebanswersVideoTranscriptAnnotations": { - "id": "QualityWebanswersVideoTranscriptAnnotations", - "properties": { - "amarnaDocid": { - "description": "Should precisely match the amarna_docid in ContentBasedVideoMetadata.", - "type": "string" - }, - "asrRepair": { - "$ref": "IndexingVideosAsrTranscriptRepairAnnotation", - "description": "The results of ASR transcript quality analysis." - }, - "lang": { - "description": "The language of the transcript as recorded in Amarna.", - "type": "string" - }, - "punctuatedTranscript": { - "type": "string" - }, - "saftDocument": { - "$ref": "NlpSaftDocument" - }, - "saftSentenceBoundary": { - "$ref": "SentenceBoundaryAnnotations" - }, - "timingInfo": { - "$ref": "QualityWebanswersVideoYouTubeCaptionTimingInfoAnnotations", - "description": "Timing information that maps sentence boundaries in the punctuated transcript with timing offsets for the start and end of those sentences." - }, - "transcriptSource": { - "enum": [ - "VIDEO_TRANSCRIPT_SOURCE_UNKNOWN", - "VIDEO_TRANSCRIPT_SOURCE_YT", - "VIDEO_TRANSCRIPT_SOURCE_S3", - "VIDEO_TRANSCRIPT_SOURCE_EXPERIMENTAL" - ], - "enumDescriptions": [ - "", - "ContentBasedVideoMetadata.transcript_asr", - "ContentBasedVideoMetadata.s3_asr", - "" - ], - "type": "string" - }, - "webrefEntities": { - "$ref": "RepositoryWebrefWebrefEntities" - } - }, - "type": "object" - }, - "QualityWebanswersVideoYouTubeCaptionTimingInfoAnnotations": { - "description": "YouTube caption timing information for http://go/video-answers.", - "id": "QualityWebanswersVideoYouTubeCaptionTimingInfoAnnotations", - "properties": { - "durationMs": { - "format": "int32", - "type": "integer" - }, - "instances": { - "items": { - "$ref": "QualityWebanswersVideoYouTubeCaptionTimingInfoAnnotationsInstance" - }, - "type": "array" - }, - "uploaderName": { - "type": "string" - } - }, - "type": "object" - }, - "QualityWebanswersVideoYouTubeCaptionTimingInfoAnnotationsInstance": { - "description": "Byte-offset and timing information in videos. In CompositeDoc, we will store the instance per sentence.", - "id": "QualityWebanswersVideoYouTubeCaptionTimingInfoAnnotationsInstance", - "properties": { - "begin": { - "description": "Byte offsets in HTML. begin is inclusive and end is exclusive.", - "format": "int32", - "type": "integer" - }, - "end": { - "format": "int32", - "type": "integer" - }, - "videoBeginMs": { - "format": "int32", - "type": "integer" - }, - "videoEndMs": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RegistrationInfo": { - "description": "Domain registration information for the document. NEXT ID TO USE: 3", - "id": "RegistrationInfo", - "properties": { - "createdDate": { - "description": "This is the number of days since January 1st 1995 that this domain was last created. This should always fit in 15 bits.", - "format": "int32", - "type": "integer" - }, - "expiredDate": { - "description": "This is the number of days since January 1st 1995 that this domain last expired. This should always fit in 15 bits. Jan 1st 1995 was chosen by the history project as a special epoch date. Both the registrationinfo dates and the linkage dates are measured in days since this epoch.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ReneEmbedding": { - "description": "Message to represent an embedding vector with clusters.", - "id": "ReneEmbedding", - "properties": { - "clusterList": { - "$ref": "ReneEmbeddingClusterList", - "description": "Token information of the embedding vector if available." - }, - "compressedValue": { - "description": "Compressed value of the embedding. For example, different versions of starburst signals use different compressor to generate the value.", - "format": "byte", - "type": "string" - }, - "denseFeatureFloatValues": { - "description": "Optional feature map output from the model. Note: this is not applicable to some models.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "floatValues": { - "description": "Values of the embedding vector.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "floatValuesBeforeProjection": { - "description": "Optional embedding vector prior to projection. Note: this is not applicable to some models.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "ReneEmbeddingCluster": { - "description": "Message to represent a cluster of the embedding space.", - "id": "ReneEmbeddingCluster", - "properties": { - "id": { - "description": "Id of the cluster.", - "format": "int32", - "type": "integer" - }, - "squaredDistance": { - "description": "Squared distance of the current embedding to the cluster center.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ReneEmbeddingClusterList": { - "description": "Message to represent a list of clusters.", - "id": "ReneEmbeddingClusterList", - "properties": { - "clusters": { - "description": "Clusters.", - "items": { - "$ref": "ReneEmbeddingCluster" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryAnnotationsGeoTopic": { - "description": "GeoTopicality of a document is a set of GeoTopics ordered by their normalized scores.", - "id": "RepositoryAnnotationsGeoTopic", - "properties": { - "address": { - "$ref": "GeostoreAddressProto", - "description": "Stores parent/container information containing city, province \u0026 country." - }, - "componentScores": { - "description": "The raw scores used to calculate the normalized_score. Note that not all these scores may be exposed to the users.", - "items": { - "$ref": "RepositoryAnnotationsGeoTopicalityScore" - }, - "type": "array" - }, - "confidence": { - "description": "A score [0, 1] indicating the confidence.", - "format": "float", - "type": "number" - }, - "denseCity": { - "description": "Is this a dense city (e.g., population \u003e 100k)?", - "type": "boolean" - }, - "establishmentType": { - "description": "Sub type for POI types like ESTABLISHMENT_POI, ESTABLISHMENT_GROUNDS \u0026 ESTABLISHMENT_BUILDING", - "format": "int32", - "type": "integer" - }, - "latE7": { - "description": "Latitude and Longitude of the location.", - "format": "uint32", - "type": "integer" - }, - "lngE7": { - "format": "uint32", - "type": "integer" - }, - "locationName": { - "description": "Name of the Geographic location. This is the normalized name.", - "type": "string" - }, - "normalizedScore": { - "description": "A score [0, 1] indicating the likelihood of the location being the GeoTopicality.", - "format": "float", - "type": "number" - }, - "oysterId": { - "$ref": "GeostoreFeatureIdProto", - "description": "Oyster Feature ID of the location." - }, - "oysterType": { - "description": "Oyster Feature Type", - "format": "int32", - "type": "integer" - }, - "sumContainedPoiNormalizedScores": { - "description": "The sum of the normalized scores of POIs contained within a particular locality.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryAnnotationsGeoTopicality": { - "id": "RepositoryAnnotationsGeoTopicality", - "properties": { - "geotopics": { - "deprecated": true, - "description": "The geotopics are ordered by normalized_score in descending order.", - "items": { - "$ref": "RepositoryAnnotationsGeoTopic" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryAnnotationsGeoTopicalityScore": { - "id": "RepositoryAnnotationsGeoTopicalityScore", - "properties": { - "rawScore": { - "format": "float", - "type": "number" - }, - "type": { - "enum": [ - "TITLE_SCORE", - "LEADING_MENTIONS_SCORE", - "QUALIFIER_BOOST", - "TAG_BOOST", - "FREQUENCY_SCORE", - "AVERAGE_PARENT_BOOST", - "OVERALL_SCORE", - "ON_PAGE_NORMALIZED_SCORE", - "OFF_PAGE_NORMALIZED_SCORE", - "ANCHOR_COUNT", - "ENDMARKER_FOR_SCORES" - ], - "enumDescriptions": [ - "On-Page Scores Indicates the presence of the geopoint in the title of the document. Range of values - [0, 2].", - "Indicates the presence of the geopoint in the leading few tokens of the document. This is useful for newspaper articles where the significant location is byline. Range of values - [0, infinity].", - "Boost associated with the presence of CandidateGeoPointAnnotationTags RESOLVED_BY_FQGA. This is pretty common for Byline locations. Range of values - [0, infinity]", - "Boost associated with the presence of the rest of the CandidateGeoPointAnnotationTags. Range of values - [0, infinity]", - "Score associated with the number of mentions of the location in the document. This is a log function of the number of mentions.", - "Score associated with the parental support (support by parent features) for the location. Range of values - [0, 1.0)", - "Overall Score obtained by the combining all the individual scores. Range of values - [0, infinity]", - "A score [0, 1] indicating the likelihood of the location being GeoTopicality using on page signals.", - "Off-Page Scores A score [0, 1] indicating the likelihood of the location being GeoTopicality using off-page signals (mainly incoming links).", - "Number of incoming links to the document with the location in question being part of the anchor text. Range of values [0, infinity]", - "This value should be one bigger than the largest Score that is actually used." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryAnnotationsMustangSentimentSnippetAnnotations": { - "description": "A conceptual structure for storing sentiment snippet information in mustang. Essentially an adaptation of PhraseAnnotationProperties from //repository/annotations/proto/annotations.proto.", - "id": "RepositoryAnnotationsMustangSentimentSnippetAnnotations", - "properties": { - "deprecatedMagnitude": { - "description": "Deprecated: use snippet_score instead", - "format": "float", - "type": "number" - }, - "deprecatedPolarity": { - "description": "Deprecated: use snippet_score instead", - "format": "float", - "type": "number" - }, - "end": { - "format": "int32", - "type": "integer" - }, - "isTruncated": { - "type": "boolean" - }, - "phraseType": { - "enum": [ - "UNKNOWN", - "POSITIVE", - "NEGATIVE", - "MIXED", - "NEUTRAL" - ], - "enumDescriptions": [ - "Not analyzed.", - "", - "", - "Sentiment is present, but neither positive or negative is clearly prevailing.", - "There is no significant sentiment present." - ], - "type": "string" - }, - "snippetScore": { - "format": "int32", - "type": "integer" - }, - "snippetText": { - "description": "This protobuffer is serving double duty as both a Mustang attachment and the response proto that gets returned by Mustang in the WWWSnippetResponse's info MessageSet. When stored as an attachment, this field will always be empty. However, when returned with the WWWSnippetResponse, Mustang will print and store the actual sentiment snippet's text here.", - "type": "string" - }, - "start": { - "description": "begin and end are token offsets.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryAnnotationsRdfaBreadcrumbs": { - "id": "RepositoryAnnotationsRdfaBreadcrumbs", - "properties": { - "crumb": { - "description": "Each crumb represents one link of the breadcrumb chain.", - "items": { - "$ref": "RepositoryAnnotationsRdfaCrumb" - }, - "type": "array" - }, - "url": { - "description": "The URL of the document from which this breadcrumb trail was extracted.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryAnnotationsRdfaCrumb": { - "description": "The information contained in a single crumb.", - "id": "RepositoryAnnotationsRdfaCrumb", - "properties": { - "title": { - "description": "The text that represented this crumb in the document.", - "type": "string" - }, - "url": { - "description": "The URL linked from this crumb.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryAnnotationsRdfaRdfaRichSnippetsApplication": { - "description": "This structure holds data for application information for rich snippets Next ID: 54", - "id": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplication", - "properties": { - "appTypeData": { - "$ref": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationAppTypeData" - }, - "applicationUrl": { - "description": "Fields for internal use", - "type": "string" - }, - "breadcrumbs": { - "$ref": "RepositoryAnnotationsRdfaBreadcrumbs" - }, - "category": { - "description": "Application information.", - "items": { - "type": "string" - }, - "type": "array" - }, - "countriesSupported": { - "description": "These are currently used only for Google Play.", - "items": { - "type": "string" - }, - "type": "array" - }, - "countryPrices": { - "items": { - "$ref": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationCountryPrice" - }, - "type": "array" - }, - "currency": { - "type": "string" - }, - "description": { - "type": "string" - }, - "devConsoleId": { - "description": "Developer console ID of the app if it exists. The ID is available for an app registered to Google Developers Console, not Play Developer Console.", - "type": "string" - }, - "extractedIconColor": { - "description": "Top 1 of extracted icon colors. We keep this field for backward compatibility.", - "format": "int32", - "type": "integer" - }, - "extractedIconColors": { - "description": "Top 10 of extracted icon colors. r = (rgb \u003e\u003e 16) \u0026 0xff; g = (rgb \u003e\u003e 8) \u0026 0xff; b = rgb \u0026 0xff;", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "filteringTag": { - "description": "Tags to be indexed for filtering, e.g. \"ft_popular_score_gt_1m\".", - "items": { - "type": "string" - }, - "type": "array" - }, - "genre": { - "items": { - "type": "string" - }, - "type": "array" - }, - "hasEditorsChoiceBadge": { - "description": "Whether the app has editors choice tag", - "type": "boolean" - }, - "iconUrlHref": { - "description": "Icon and Screenshots", - "type": "string" - }, - "iconUrlThumbnail": { - "type": "string" - }, - "imageData": { - "$ref": "QualityCalypsoAppsUniversalImageData", - "description": "Copied from google3/contentads/shared/boulder/mobile-app-data-image-data.proto." - }, - "inAppPurchase": { - "description": "Whether the app offers in-app purchase.", - "type": "boolean" - }, - "isBattlestarTitle": { - "description": "Whether this is a game and avaible on Battlestar (go/battlestar).", - "type": "boolean" - }, - "isDefaultLangLocale": { - "description": "Indicates if the localized data comes from default locale. This is needed because the default localized data does not specify its locale. If this is true, lang_locale may not be the correct locale and should be ignored.", - "type": "boolean" - }, - "langLocale": { - "description": "locale for the localized data, such as name, description and screenshots", - "type": "string" - }, - "lastUpdated": { - "type": "string" - }, - "liveOpDetails": { - "$ref": "QualityCalypsoAppsUniversalAuLiveOpsDetailInfo", - "description": "Unified proto for android LiveOps and iOS LiveEvents." - }, - "localizedTrustedGenome": { - "$ref": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationLocalizedTrustedGenome" - }, - "marketplace": { - "description": "Market Android or itunes", - "type": "string" - }, - "name": { - "type": "string" - }, - "numDownloads": { - "type": "string" - }, - "operatingSystems": { - "description": "See google3/quality/richsnippets/schema/data/operating_systems_rules.txt for possible values.", - "items": { - "type": "string" - }, - "type": "array" - }, - "optionalResult": { - "description": "Whether this App is optional result for Grid UI.", - "type": "boolean" - }, - "originalRating": { - "type": "string" - }, - "physicalDeviceTags": { - "items": { - "enum": [ - "UNKNOWN_MOBILE", - "IOS_IPHONE_OR_IPOD", - "IOS_IPAD" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "platformTags": { - "items": { - "enum": [ - "UNKNOWN_BROWSER", - "CHROME", - "FIREFOX" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "popularScore": { - "format": "float", - "type": "number" - }, - "price": { - "description": "Price", - "type": "string" - }, - "rankData": { - "$ref": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRankData" - }, - "rating": { - "description": "Ratings and reviews Either for this version only or for all versions to be displayed.", - "type": "string" - }, - "ratingCount": { - "type": "string" - }, - "releaseDate": { - "type": "string" - }, - "reviewAuthor": { - "type": "string" - }, - "reviewCount": { - "type": "string" - }, - "screenUrlHref": { - "description": "TODO(b/260128276) deprecate this field in favor of image_data.", - "items": { - "type": "string" - }, - "type": "array" - }, - "screenUrlThumbnail": { - "items": { - "type": "string" - }, - "type": "array" - }, - "size": { - "description": "bytes or numeric with MB or GB", - "type": "string" - }, - "subcategory": { - "items": { - "type": "string" - }, - "type": "array" - }, - "supportsAndroidTv": { - "description": "Whether this App supports Android TV. Note that some App supports more than one platforms. So we would use boolean for a platform.", - "type": "boolean" - }, - "supportsChromecast": { - "description": "Whether this App supports Google Cast.", - "type": "boolean" - }, - "totalRating": { - "format": "float", - "type": "number" - }, - "totalRatingCount": { - "description": "Rating_count including all versions of this application.", - "format": "int32", - "type": "integer" - }, - "trustedGenomeData": { - "additionalProperties": { - "$ref": "VendingConsumerProtoTrustedGenomeAnnotation" - }, - "description": "Trusted Genome data with categorical app information key: locale (e.g. en, en_US)", - "type": "object" - }, - "vendor": { - "description": "Vendor", - "type": "string" - }, - "vendorCanonicalUrl": { - "type": "string" - }, - "vendorUrl": { - "type": "string" - }, - "version": { - "type": "string" - } - }, - "type": "object" - }, - "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationAppTypeData": { - "id": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationAppTypeData", - "properties": { - "playStoreAppType": { - "description": "Top level app category type (GAME or APPLICATION). Copied from playwright.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationCountryPrice": { - "id": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationCountryPrice", - "properties": { - "countryCode": { - "type": "string" - }, - "currencyCode": { - "description": "ISO 4217 currency code.", - "type": "string" - }, - "price": { - "description": "Price string converted from double value in a standard currency unit, like '199.35' or '1400'.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationLocalizedTrustedGenome": { - "id": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationLocalizedTrustedGenome", - "properties": { - "language": { - "description": "The chosen language", - "type": "string" - }, - "localizedTg": { - "$ref": "VendingConsumerProtoTrustedGenomeAnnotation", - "description": "The TG tags matching the locale of the doc, if available" - } - }, - "type": "object" - }, - "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRank": { - "id": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRank", - "properties": { - "appStoreLink": { - "type": "string" - }, - "categoryId": { - "type": "string" - }, - "categoryName": { - "type": "string" - }, - "chartType": { - "type": "string" - }, - "rank": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRankData": { - "id": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRankData", - "properties": { - "playwrightCategoryId": { - "description": "Copied from the category_id field from Playwright docs. It helps decide which category to show in app ranking info.", - "items": { - "type": "string" - }, - "type": "array" - }, - "rank": { - "items": { - "$ref": "RepositoryAnnotationsRdfaRdfaRichSnippetsApplicationRank" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefAggregatedEntityNameScores": { - "description": "Represents the aggregated score of the entities for a given name, aggregated over all sources. Next available tag: 3.", - "id": "RepositoryWebrefAggregatedEntityNameScores", - "properties": { - "entityScore": { - "items": { - "$ref": "RepositoryWebrefEntityNameScore" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefAnchorIndices": { - "description": "Identifies a set of anchors in the CompositeDoc. Typically these anchors were collapsed by WebRef into a single anchor and they were treated by the annotator as equivalent. They all contain the same mentions (at the same offsets).", - "id": "RepositoryWebrefAnchorIndices", - "properties": { - "index": { - "description": "The set of indices in the Anchors::anchor() array that belong to the collapsed anchors.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefAnnotatedCategoryInfo": { - "description": "Information about a category annotation on a name.", - "id": "RepositoryWebrefAnnotatedCategoryInfo", - "properties": { - "collectionHrid": { - "description": "The collection hrid for the category.", - "type": "string" - }, - "mid": { - "deprecated": true, - "description": "The mid of the entity representing the category.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefAnnotationDebugInfo": { - "description": "Debug info about the concept annotations. Note that it might not be present in the output.", - "id": "RepositoryWebrefAnnotationDebugInfo", - "properties": { - "description": { - "description": "Only use for debugging, this should not be displayed to user or used for any kind of logic/processing.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefAnnotationRatings": { - "description": "Human ratings of webref annotations (document-level ratings, mention-level ratings, etc.).", - "id": "RepositoryWebrefAnnotationRatings", - "properties": { - "docLevelRelevanceRatings": { - "$ref": "RepositoryWebrefDocLevelRelevanceRatings" - } - }, - "type": "object" - }, - "RepositoryWebrefAnnotationStatsPerType": { - "description": "Annotation statistics for each token type. Next available tag: 8.", - "id": "RepositoryWebrefAnnotationStatsPerType", - "properties": { - "avgOpenWorld": { - "description": "The average score for the open world for: - all ranges of this segment_type; - all capitalized ranges of this segment_type; - all uncapitalized ranges of this segment_type.", - "format": "float", - "type": "number" - }, - "avgOpenWorldCap": { - "format": "float", - "type": "number" - }, - "avgOpenWorldUncap": { - "format": "float", - "type": "number" - }, - "numRangesWithCandidates": { - "description": "The number of ranges with candidates that made it past primary pruning for: - all ranges of this segment_type; - all capitalized ranges of this segment_type; - all uncapitalized ranges of this segment_type.", - "format": "int64", - "type": "string" - }, - "numRangesWithCandidatesCap": { - "format": "int64", - "type": "string" - }, - "numRangesWithCandidatesUncap": { - "format": "int64", - "type": "string" - }, - "tokenType": { - "description": "The segment type.", - "enum": [ - "INVALID", - "CONTENT", - "URL", - "ANCHOR", - "QUERY", - "INSTANT_QUERY", - "A_HREF_TAG", - "LINK_HREF_TAG", - "IMG_ALT_TAG", - "IMG_SRC_TAG", - "META_CONTENT_TAG", - "TITLE", - "ANY", - "IMAGE_QUERY", - "PASSAGE_QUERY", - "CONTEXT_ENTITY", - "RESULT_ENTITY", - "CONTEXT_QUERY", - "SIMILAR_QUERIES", - "SPORE_GRAPH", - "OFFDOMAIN_ANCHOR", - "ONSITE_ANCHOR", - "NAME_CANDIDATE", - "TOPIC_LINK", - "QUERY_NAME_CANDIDATE", - "ANCHOR_NAME_CANDIDATE", - "REFERENCE_PAGE_URL", - "REFERENCE_PAGE_LINK", - "STRONG_IDENTIFIER", - "REFERENCE_PAGE_URL_INLINK", - "REFERENCE_PAGE_LINK_INLINK", - "GEO_LINK", - "VIDEO_TRANSCRIPT", - "VIDEO_OCR", - "IMAGE_OCR", - "LENS", - "VIDEO_DESCRIPTION", - "ONLY_LOOKUP_METADATA", - "DEPRECATED_ENTITY_METADATA", - "DEPRECATED_PRINCIPAL_NAME", - "DEPRECATED_NAME_BLACKLIST", - "DEPRECATED_ENTITY_CONTEXT_TOKENS", - "DEPRECATED_INJECTED_NAME_CANDIDATE", - "DEPRECATED_EMBEDDED_CONTENT" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "To be used to mark an invalid token type. This proto enum does not follow the good practices, which suggest that such a value should be with tag 0: go/protodosdonts#do-include-an-unspecified-value-in-an-enum. Because this is a legacy situation and it is not safe to just change the tags, the enum contains an invalid type at this tag and can be used to specify the default value wherever this is needed.", - "The main html content of a document.", - "The urls of a document/", - "The anchors pointing to a document.", - "The navboost queries of a document", - "The instant navboost queries of a document", - "The href-value of the tags in the document's content", - "The href-value of the tags in the document's content", - "The alt-value of the tags in the document's content", - "The src-value of the tags in the document's content", - "The content-value of the tags \"description\" and \"keyword\"", - "The document ", - "Special value used to represent any other tokentype.", - "The Image Search navboost queries.", - "Radish Passage Queries, specifically, rankembed and generated queries. For offline use only. In offline Q2I runs we can instruct Webref to parse and annotate passge queries using the annoatate_passage_queries option in AnnotateDocjoinTuningOptions. Note that in Goldmine runs these are added to the docjoin *after* Webref has run. However,", - "Entities added from annotation context.", - "Represents an entity found in the results for Qref.", - "A query used as additional context for Qref annotations.", - "Similar Queries. They are only used to retrieve entities that might be able to explain original query. As in Q2@2018 we don't want them to be scored or provide context for scoring because of their overall big CPU impact on qrewrite (+50%).", - "A freetext dump + metadata from Spore GraphAnnotations.", - "Offdomain anchors pointing to a document.", - "Onsite anchors pointing to a document.", - "Name candidate extracted from the topic or generated from trusted source.", - "A link extracted directly from the topic:", - "Queries to reference pages which are potential names of the entity:", - "Anchor texts to reference pages which are potential names of the entity: Tokenized potential reference page URLs of the entity. Token matching is none because lookups are external annotations only.", - "", - "URLs that are linked to the reference page of the entity. Token matching is none because lookups are external annotations only.", - "Tokenized potential strong id of the entity, like phone number, ISBN. Token matching is none because lookups are external annotations only.", - "A special position used for lookup of inlinks to reference page urls.", - "A special position used for lookup of inlink scores for reference page outlinks.", - "", - "", - "", - "", - "", - "", - "Entries which are created in order to instruct the fprint-loader to load metadata for the contained ngrams.", - "Unused.", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefAnnotatorCheckpointFprint": { - "description": "Holds annotator checkpoints which record the state of the annotations. This is useful for tracking down the source of diffs, in particular for non-determinism.", - "id": "RepositoryWebrefAnnotatorCheckpointFprint", - "properties": { - "fingerprint": { - "format": "uint64", - "type": "string" - }, - "label": { - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefAnnotatorProfile": { - "description": "A message to collect annotator performance data.", - "id": "RepositoryWebrefAnnotatorProfile", - "properties": { - "numCandidateMentions": { - "format": "int32", - "type": "integer" - }, - "numEntities": { - "format": "int32", - "type": "integer" - }, - "numMentions": { - "format": "int32", - "type": "integer" - }, - "numTokens": { - "format": "int32", - "type": "integer" - }, - "processorTimingsRoot": { - "$ref": "RepositoryWebrefProcessorTiming", - "description": "Root/total of the timings from all the processors that worked on the given document or query." - } - }, - "type": "object" - }, - "RepositoryWebrefBookEditionMetadata": { - "description": "Book editions metadata for a book entity. This metadata is a pair of \"/book/book_edition\" mid and its ISBN number.", - "id": "RepositoryWebrefBookEditionMetadata", - "properties": { - "bookEditionIsbn": { - "description": "Use varint encoding to save space.", - "format": "uint64", - "type": "string" - }, - "bookEditionMid": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefBootstrappingScore": { - "id": "RepositoryWebrefBootstrappingScore", - "properties": { - "scoreRatio": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefCategoryAnnotation": { - "description": "High level category annotations for documents and queries.", - "id": "RepositoryWebrefCategoryAnnotation", - "properties": { - "browsyTopic": { - "$ref": "RepositoryWebrefCategoryAnnotationBrowsyTopic", - "description": "Experimental scores to be used by Discover." - }, - "debugString": { - "description": "Title of the category. Eg \"Politics\", \"Technology\".", - "type": "string" - }, - "hitcat": { - "$ref": "RepositoryWebrefCategoryAnnotationHitCatSource", - "description": "Sources asserting the category. In the future we may have one calibrated confidence score." - }, - "mid": { - "description": "Mid representation of the category. Eg \"/m/05qt0\". WARNING: In UDR this field is not populated, use document_entity.entity.mid instead of document_entity.category.mid.", - "type": "string" - }, - "shopping": { - "$ref": "RepositoryWebrefCategoryAnnotationShoppingSignals", - "description": "Qprime asserting this category." - } - }, - "type": "object" - }, - "RepositoryWebrefCategoryAnnotationBrowsyTopic": { - "description": "Experimental scores for browsy topics, see * go/example-docs-with-implicit-fashion-styles * go/browsy-entities", - "id": "RepositoryWebrefCategoryAnnotationBrowsyTopic", - "properties": { - "confidence": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefCategoryAnnotationHitCatSource": { - "description": "The HitCat page classifier. See go/hitcat2 If you use any HitCat score, please: 1. Add your use-case to go/hits-clients. 2. Subscribe to hits-users@ to receive general updates.", - "id": "RepositoryWebrefCategoryAnnotationHitCatSource", - "properties": { - "confidence": { - "description": "Confidence of the category in the range [0.0, 1.0). If a page has the category \"NBA\" with high confidence we also expect it to have the \"Basketball\" with high confidence. Categories with a confidence lower than 0.05 are omitted. This can be interpreted as a confidence of 0, i.e. a strong signal that the category is not relevant for the page. For some categories this score is calibrated per-category to estimate the true precision. E.g., 70% of documents retrieved within the confidence range [0.7 - eps, 0.7 + eps] will be relevant when eps is close to 0.", - "format": "float", - "type": "number" - }, - "cumulativeConfidence": { - "description": "Calibrated cumulative confidence guaranteeing maxmial recall for a precision target. E.g., At least 90% of documents retrieved with cumulative_confidence \u003e= 0.9 will be relevant. This score is always calibrated per-category to estimate the true cumulative precision and is not set for uncalibrated categories.", - "format": "float", - "type": "number" - }, - "experimentalConfidence": { - "description": "Note: For testing the next version. May change at any time. Experimental confidence of the category in the range (0.0, 1.0).", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefCategoryAnnotationShoppingSignals": { - "description": "The QPrime query classifier signals.", - "id": "RepositoryWebrefCategoryAnnotationShoppingSignals", - "properties": { - "isShoppingAnnotation": { - "description": "Whether QPrime asserts that particular category.", - "type": "boolean" - } - }, - "type": "object" - }, - "RepositoryWebrefCategoryInfo": { - "description": "All informations about category types of the entity.", - "id": "RepositoryWebrefCategoryInfo", - "properties": { - "allTypes": { - "description": "Contains all types relevant for this entity, along with their provenances and confidences. This field basically replicates information above in a unified way, so that Refcon scroing can make better use of it. If present, Refcon scoring will use all_types, and ignore other fields like freebase_type. Note: there is some basic conflict resolution applied when all_types are computed (implemented in type-extractor.cc, IsLikelyConflictingFreebase).", - "items": { - "$ref": "RepositoryWebrefFreebaseType" - }, - "type": "array" - }, - "freebaseType": { - "items": { - "$ref": "RepositoryWebrefFreebaseType" - }, - "type": "array" - }, - "kgCollection": { - "items": { - "$ref": "RepositoryWebrefKGCollection" - }, - "type": "array" - }, - "oysterType": { - "$ref": "RepositoryWebrefOysterType" - }, - "salientCategory": { - "description": "verticals4 categories that cooccur with this entity, aggregated over D2E. See where we read from CompactDocClassification in http://google3/repository/webref/preprocessing/fatcat-categories.cc.", - "items": { - "$ref": "RepositoryWebrefFatcatCategory" - }, - "type": "array" - }, - "wikipediaCategory": { - "items": { - "$ref": "RepositoryWebrefWikipediaCategory" - }, - "type": "array" - }, - "wpCategory": { - "description": "WPCat CategotyResult classification.", - "items": { - "$ref": "RepositoryWebrefFreebaseType" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefClusterMetadata": { - "description": "Metadata about clusters. See go/webref-variants for details. Next available tag: 6.", - "id": "RepositoryWebrefClusterMetadata", - "properties": { - "isSet": { - "description": "If true, this entity is a synthetic entity created to represent a \"set\" in a cluster, i.e. to represent a set of entities (its children in the cluster graph) when we cannot disambiguate among them. This is similar to a KG Collection, but this is not in KG.", - "type": "boolean" - }, - "ruleInstance": { - "$ref": "RepositoryWebrefClusterProtoRuleInstance", - "description": "Explanation of where this cluster, and this entity, come from. All entities in a cluster have this, not just entities that have been created because of the cluster." - } - }, - "type": "object" - }, - "RepositoryWebrefClusterProtoMidListRule": { - "description": "A rule that defines a Cluster based on a list of mids. It creates a single Set, and makes it the parent of each of the mids in the list.", - "id": "RepositoryWebrefClusterProtoMidListRule", - "properties": { - "id": { - "description": "Id of this rule; this is used to generate ids for the synthetic entities created for a cluster. Required.", - "type": "string" - }, - "mid": { - "description": "The mids of the entities that will be made into a cluster.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefClusterProtoMidListRuleInstance": { - "description": "An instance of a \"mid list\" rule. Each \"mid list\" rule defines exactly one cluster.", - "id": "RepositoryWebrefClusterProtoMidListRuleInstance", - "properties": { - "role": { - "enum": [ - "ELEMENT", - "SET" - ], - "enumDescriptions": [ - "One of the entities explicitly given in the rule.", - "The entity that represents ambiguity among all ELEMENTs." - ], - "type": "string" - }, - "rule": { - "$ref": "RepositoryWebrefClusterProtoMidListRule", - "description": "The rule that this is an instance of. Required." - } - }, - "type": "object" - }, - "RepositoryWebrefClusterProtoRelationRule": { - "description": "A rule that defines a Cluster based on a relation. Given a relation (a link type) R, then: For each entity B that has incoming links of type R This defines an instance of this rule, with argument=B We create a Set S We make B a child of S For each entity A that has a link R to B, we make A a child of S Next available tag: 6", - "id": "RepositoryWebrefClusterProtoRelationRule", - "properties": { - "relation": { - "description": "The topic_property_name for the link that defines the relation, e.g. \"/tv/tv_series_episode/series\". Can start with a \"!\" to indicate that this link is reversed during extraction and we want the reversed case. Required.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefClusterProtoRelationRuleInstance": { - "description": "An instance of a \"relation\" rule. Each \"relation\" rule defines a number of clusters, one for each entity B that that has incoming links of a certain type R; all entities with an outgoing link to B of type R are part of that cluster.", - "id": "RepositoryWebrefClusterProtoRelationRuleInstance", - "properties": { - "role": { - "enum": [ - "SOURCE", - "TARGET", - "SET" - ], - "enumDescriptions": [ - "One entity with an outgoing link of type R.", - "The entity with the incoming link of type R.", - "The entity that represents ambiguity among SOURCEs and TARGET." - ], - "type": "string" - }, - "rule": { - "$ref": "RepositoryWebrefClusterProtoRelationRule", - "description": "The rule that this is an instance of. Required." - }, - "target": { - "$ref": "RepositoryWebrefWebrefEntityId", - "description": "The one entity that the links of type R point to. Required." - } - }, - "type": "object" - }, - "RepositoryWebrefClusterProtoRuleInstance": { - "description": "When we apply a rule to define a particular cluster, we have a RuleInstance. Some kinds of rules for clusters define more than one cluster. In those rules we say things like \"for each entity X with this property, we create a cluster where...\"; each particular cluster that we create is the result of an *instance* of that rule, where the argument X has been bound to a particular entity (note that this also applies to rules that define only one cluster; in that case, there are no arguments). An entity that is part of a cluster plays a \"role\" in such a cluster. This message describes such an instantiation of a rule with a role and with concrete values for the arguments.", - "id": "RepositoryWebrefClusterProtoRuleInstance", - "properties": { - "midList": { - "$ref": "RepositoryWebrefClusterProtoMidListRuleInstance", - "description": "Exactly one of these *RuleInstance fields needs to be present for clusters which have not been merged; it selects the specific kind of rule instance. For merged clusters both fields may be present." - }, - "relation": { - "items": { - "$ref": "RepositoryWebrefClusterProtoRelationRuleInstance" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefCompactFlatPropertyValue": { - "description": "Flattened version of possibly nested compound values. This means that the `value` in here is *never* a `compound_value` and all predicate MIDs on the nested path are collapsed into the repeated `predicate_encoded_mid` field. When `predicate_encoded_mid` contains only one predicate, this is equivalent to a CompactKgPropertyValue.", - "id": "RepositoryWebrefCompactFlatPropertyValue", - "properties": { - "predicateEncodedMid": { - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "propertyName": { - "description": "The property corresponding to predicte_encoded_mid above. This is populated in some non-serving tables.", - "type": "string" - }, - "value": { - "items": { - "$ref": "RepositoryWebrefCompactKgValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefCompactKgPropertyValue": { - "description": "Analog to freebase::PropertyValue", - "id": "RepositoryWebrefCompactKgPropertyValue", - "properties": { - "encodedMid": { - "format": "uint64", - "type": "string" - }, - "hrid": { - "type": "string" - }, - "value": { - "items": { - "$ref": "RepositoryWebrefCompactKgValue" - }, - "type": "array" - }, - "valueStatus": { - "enum": [ - "HAS_UNKNOWN_VALUE", - "HAS_NO_VALUE" - ], - "enumDescriptions": [ - "There are values, but we don't know what they are. (e.g. person is known to have children, but we don't know who they are) (This is only sensible if len(values) == 0; it is an error to see this value if len(values) \u003e 0)", - "We know that there are no values for this predicate. (e.g. person is known to have zero children) (This is only sensible if len(values) == 0; it is an error to see this value if len(values) \u003e 0)" - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefCompactKgTopic": { - "description": "Analog to freebase::Topic", - "id": "RepositoryWebrefCompactKgTopic", - "properties": { - "mid": { - "description": "Mid of the topic; only filled in if no values.", - "format": "uint64", - "type": "string" - }, - "propertyValue": { - "items": { - "$ref": "RepositoryWebrefCompactKgPropertyValue" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefCompactKgValue": { - "description": "Analog to freebase::Value TODO(b/144526840) This representation has several quality and performance issues. Next available tag number: 12", - "id": "RepositoryWebrefCompactKgValue", - "properties": { - "boolValue": { - "description": "Present when value is bool.", - "type": "boolean" - }, - "compoundValue": { - "$ref": "RepositoryWebrefCompactKgTopic", - "description": "Compound values are those that contain either a number of simple valued facets (such as a latitude/longitude pair), or \"mediator\" topics representing multi-dimensional relationships between topics. See metaweb/data/topictable/topic.proto for more details." - }, - "datetimeValue": { - "description": "Present when value is datetime.", - "type": "string" - }, - "enumValue": { - "description": "Present when value is enum.", - "type": "string" - }, - "floatValue": { - "description": "Present when value is float.", - "format": "double", - "type": "number" - }, - "idValue": { - "description": "Present when value is an id.", - "format": "uint64", - "type": "string" - }, - "intValue": { - "description": "Present when value is int.", - "format": "int64", - "type": "string" - }, - "serializedProtoValue": { - "description": "Present when value is a serialized protocol buffer.", - "format": "byte", - "type": "string" - }, - "textValue": { - "description": "Present when value is text.", - "type": "string" - }, - "uriValue": { - "description": "Present when value is URI.", - "type": "string" - }, - "uriValueFprint32": { - "description": "32-bit fprint of uri. Can be used instead of `uri_value` to save space. See `GetNormalizedUriFprint32()`.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryWebrefComponentReference": { - "description": "The ArgumentValue reference to Mention.CompoundMention.Component. Next available tag number: 4", - "id": "RepositoryWebrefComponentReference", - "properties": { - "debugEntity": { - "description": "Optionally the freebase_mid of the WebrefEntity which the Component identifies via entity_index. This is purely to help humans diagnose the WebrefEntities structure, may not always be present and should not be used by production code. Use QueryJoinToMeaningStructConverter to compose a proper value in place of the component reference.", - "type": "string" - }, - "funcallName": { - "description": "The WebrefEntity referenced by `index` is equivalent to this function call in this context, but not universally such that we don't want to recursively expand its MRF. Use this for example if an entity corresponds to a category in an Intersect: CellPhones() \u0026 RelatedTo(/m/foo), where /m/cell_phones is equivalent to CellPhones() (and may or may not have an annotated span), but we don't want to generally assert that /m/cell_phones == CellPhones(). This cannot be an actual FunctionCall to avoid a circular dependency.", - "type": "string" - }, - "index": { - "description": "The index of the Component of the CompoundMention which has the mrf_index of this MRF expression in WebrefEntity. Required.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryWebrefConceptNameMetadata": { - "description": "Metadata proto to be stored in concept tables. Note: Name table only stores name_type_mask for better performance. Remember to change NameToConceptEntry if you add a field to this proto. Note: in the annotator output only URL and PHONE_NUMBER are populated.", - "id": "RepositoryWebrefConceptNameMetadata", - "properties": { - "nameTypeMask": { - "description": "Bitfield of ConceptNameMetadata::NameType bits.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefDetailedEntityScores": { - "description": "Detailed scores about the topicality of an entity. Next available tag: 17", - "id": "RepositoryWebrefDetailedEntityScores", - "properties": { - "connectedness": { - "description": "Represents how much the entity is connected/related to the other entities in the document. This signal partially influences the topicality score, but it is not totally aligned with it: an entity can be very related to the rest of the document, but not central for understanding it. Likewise, an entity can be central to understand a document, but not very related to the rest of the document. The value is in [0, 1].", - "format": "float", - "type": "number" - }, - "docScore": { - "description": "How well the document scores for the entity. The score is unnormalized, and serves as a relative ranking signal between different documents for an entity.", - "format": "float", - "type": "number" - }, - "isAuthor": { - "description": "True if the entity is the author of the document. This was mainly developed and tuned for news articles (e.g. /m/02x27qn on \"www.vogue.com/article/flint-town-netflix\") but is also popluated for other content (e.g. scientific articles). Important: the semantics of this field may change in the future or it might be removed and replaced with a different API. If you want to use this field, please reach out to ke-authors@ first.", - "type": "boolean" - }, - "isPublisher": { - "description": "True if the entity is the publisher of the page (e.g. CNN on \"http://www.cnn.com/foo/bar\").", - "type": "boolean" - }, - "isReferencePage": { - "description": "Set to true iff the entity matches the full URL of the document, meaning that it is a reference page or related page of the entity.", - "type": "boolean" - }, - "normalizedTopicality": { - "description": "Representation of the topicality score that is normalized in [0, 1] and which sum over all entities in the document is 1. It represents the \"proportion\" of the document that talks about the entity. This score is less human interpretable as the bucketized topicality score (EntityAnnotations.topicality_score), but is more suited for some usages like aggregations.", - "format": "float", - "type": "number" - }, - "profileUrl": { - "description": "Contains the link to the author's profile url on the platform.", - "type": "string" - }, - "referencePageScores": { - "$ref": "RepositoryWebrefReferencePageScores", - "description": "Signals used for mining new reference pages, set by the reference-page-scorer processor (that is turned off by default). This field is not populated, except for special reference page extraction runs." - }, - "relevanceScore": { - "description": "Relevance score generated by a Machine Learning entity classifier. This signal is similar to topicality, but machine learning based and supported by EntitySignals, not Webref. See http://go/entityclassifier for details on the classifier.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefDetailedMentionScores": { - "id": "RepositoryWebrefDetailedMentionScores", - "properties": { - "resultEntityScore": { - "description": "How much support this mention received from the results for PostRef. This is populated only if explicitly requested and different from 0.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefDisplayInfo": { - "description": "Information that can be used to display the entity (e.g. title, image...).", - "id": "RepositoryWebrefDisplayInfo", - "properties": { - "displayName": { - "deprecated": true, - "description": "Per language display name from reliable sources.", - "items": { - "$ref": "RepositoryWebrefDisplayName" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefDisplayName": { - "deprecated": true, - "description": "Per language display name from reliable sources (e.g. Freebase, Wikipedia). The name can be ambiguous (e.g. \"Springfield\" rather than \"Springfield, Idaho\"), and is thus to be used in a context which provides sufficient disambiguation. See: http://go/entity-names WARNING: This data is DEPRECATED and any user-visible entity names need to be fetched from TopicServer. Note that any display names included in this proto are merely a pass-through from KG and have no freshness guarantees.", - "id": "RepositoryWebrefDisplayName", - "properties": { - "canonicalName": { - "description": "An encylopedia style topic name (e.g. \"Dog\", not \"Dogs\"). Corresponds to Freebase /type/object/name and similar sources.", - "type": "string" - }, - "language": { - "description": "The language of this name. See http://goto/iii for all the details on the language identifiers.", - "type": "string" - }, - "subjectName": { - "description": "A name as it would be used for a news topic, an interest, the subject of a story. E.g. in list of things (\"Related topics: Smartphones, computers, accidents\". \"Interests: Dogs\"). *Fall back:* If the field is not populated, fall back to the \"canonical_name\" field. This field is usually not populated since (a) in most cases the subject form name is the same as the canonical name, and (b) data coverage of subject-form names is currently much lower than data coverage of canonical names. Note: In some languages (e.g. French) the difference between canonical names and subject names is larger than in English (not just plural vs. singular), but still strictly grammatical (including an article, capitalization, plural vs. singular). Corresponds to Freebase /freebase/linguistic_hint/subject_form.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefDocLevelRelevanceRatings": { - "description": "List of PerDocRelevanceRatings for Precision@5 evals done via ewok (template 2282).", - "id": "RepositoryWebrefDocLevelRelevanceRatings", - "properties": { - "perDocRelevanceRatings": { - "items": { - "$ref": "RepositoryWebrefPerDocRelevanceRatings" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefDocumentMetadata": { - "description": "Information about the document which is not produced by webref, typically copied from the docjoin. Next available tag: 15", - "id": "RepositoryWebrefDocumentMetadata", - "properties": { - "crawlTime": { - "description": "The timestamp of when the document was crawled (if known). Copied from CompositeDoc.Content.CrawlTime.", - "format": "int64", - "type": "string" - }, - "docFp": { - "description": "Fingerprint of the document. We compute and set this fingerprint when creating the pagesets that we use for evals. Otherwise, this field is not normally set. We use the field to make sure that the human ratings that we have are generated for the same version of the document, otherwise they might be invalid. We do not compute the fingerprint on the fly (e.g. as a fingerprint of the proto buffer serialization of the cdoc) because protocol buffer serialization is not stable.", - "format": "uint64", - "type": "string" - }, - "docId": { - "description": "DocId of the annotated document as read from cdoc.doc().docid().", - "format": "uint64", - "type": "string" - }, - "forwardingUrls": { - "$ref": "RepositoryWebrefForwardingUrls", - "description": "Urls that forward to this url. Needed for url -\u003e topical entity entries." - }, - "isDisambiguationPage": { - "description": "Set to true if the document is a known disambiguation page, e.g. https://en.wikipedia.org/wiki/Orange.", - "type": "boolean" - }, - "language": { - "description": "The document language, as read from doc().content().language(). This is go/language-enum value.", - "enum": [ - "ENGLISH", - "DANISH", - "DUTCH", - "FINNISH", - "FRENCH", - "GERMAN", - "HEBREW", - "ITALIAN", - "JAPANESE", - "KOREAN", - "NORWEGIAN", - "POLISH", - "PORTUGUESE", - "RUSSIAN", - "SPANISH", - "SWEDISH", - "CHINESE", - "CZECH", - "GREEK", - "ICELANDIC", - "LATVIAN", - "LITHUANIAN", - "ROMANIAN", - "HUNGARIAN", - "ESTONIAN", - "TG_UNKNOWN_LANGUAGE", - "UNKNOWN_LANGUAGE", - "BULGARIAN", - "CROATIAN", - "SERBIAN", - "IRISH", - "GALICIAN", - "TAGALOG", - "TURKISH", - "UKRAINIAN", - "HINDI", - "MACEDONIAN", - "BENGALI", - "INDONESIAN", - "LATIN", - "MALAY", - "MALAYALAM", - "WELSH", - "NEPALI", - "TELUGU", - "ALBANIAN", - "TAMIL", - "BELARUSIAN", - "JAVANESE", - "OCCITAN", - "URDU", - "BIHARI", - "GUJARATI", - "THAI", - "ARABIC", - "CATALAN", - "ESPERANTO", - "BASQUE", - "INTERLINGUA", - "KANNADA", - "PUNJABI", - "SCOTS_GAELIC", - "SWAHILI", - "SLOVENIAN", - "MARATHI", - "MALTESE", - "VIETNAMESE", - "FRISIAN", - "SLOVAK", - "CHINESE_T", - "FAROESE", - "SUNDANESE", - "UZBEK", - "AMHARIC", - "AZERBAIJANI", - "GEORGIAN", - "TIGRINYA", - "PERSIAN", - "BOSNIAN", - "SINHALESE", - "NORWEGIAN_N", - "PORTUGUESE_P", - "PORTUGUESE_B", - "XHOSA", - "ZULU", - "GUARANI", - "SESOTHO", - "TURKMEN", - "KYRGYZ", - "BRETON", - "TWI", - "YIDDISH", - "SERBO_CROATIAN", - "SOMALI", - "UIGHUR", - "KURDISH", - "MONGOLIAN", - "ARMENIAN", - "LAOTHIAN", - "SINDHI", - "RHAETO_ROMANCE", - "AFRIKAANS", - "LUXEMBOURGISH", - "BURMESE", - "KHMER", - "TIBETAN", - "DHIVEHI", - "CHEROKEE", - "SYRIAC", - "LIMBU", - "ORIYA", - "ASSAMESE", - "CORSICAN", - "INTERLINGUE", - "KAZAKH", - "LINGALA", - "MOLDAVIAN", - "PASHTO", - "QUECHUA", - "SHONA", - "TAJIK", - "TATAR", - "TONGA", - "YORUBA", - "CREOLES_AND_PIDGINS_ENGLISH_BASED", - "CREOLES_AND_PIDGINS_FRENCH_BASED", - "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", - "CREOLES_AND_PIDGINS_OTHER", - "MAORI", - "WOLOF", - "ABKHAZIAN", - "AFAR", - "AYMARA", - "BASHKIR", - "BISLAMA", - "DZONGKHA", - "FIJIAN", - "GREENLANDIC", - "HAUSA", - "HAITIAN_CREOLE", - "INUPIAK", - "INUKTITUT", - "KASHMIRI", - "KINYARWANDA", - "MALAGASY", - "NAURU", - "OROMO", - "RUNDI", - "SAMOAN", - "SANGO", - "SANSKRIT", - "SISWANT", - "TSONGA", - "TSWANA", - "VOLAPUK", - "ZHUANG", - "KHASI", - "SCOTS", - "GANDA", - "MANX", - "MONTENEGRIN", - "AKAN", - "IGBO", - "MAURITIAN_CREOLE", - "HAWAIIAN", - "CEBUANO", - "EWE", - "GA", - "HMONG", - "KRIO", - "LOZI", - "LUBA_LULUA", - "LUO_KENYA_AND_TANZANIA", - "NEWARI", - "NYANJA", - "OSSETIAN", - "PAMPANGA", - "PEDI", - "RAJASTHANI", - "SESELWA_CREOLE_FRENCH", - "TUMBUKA", - "VENDA", - "WARAY_PHILIPPINES", - "NUM_LANGUAGES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Norwegian\" = \"no\" normally implies Bokmål (\"nb\"). See also NORWEGIAN_N. Consider using IsNorwegianLanguage().", - "", - "WARNING: \"Portuguese\" in the enum Language implies the Iberian variant, while Google and industry standard practice is for \"pt\" to imply Brazilian, for the much larger population. The old LanguageCode() function returns \"pt\" for legacy reasons. The III LanguageEnumLanguageCodeConverter converts it to \"pt-PT\" to preserve the semantics. Converting between this legacy enum and industry-standard language tags cannot preserve the distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage().", - "", - "", - "", - "\"Chinese\" normally implies simplified Han characters (\"zh-Hans\"). See also CHINESE_T. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage().", - "", - "", - "", - "", - "", - "", - "Serbian is commonly written in two scripts. The default is Cyrillic (\"sr\" = \"sr-Cyrl\"). It is also often written with Latin letters (\"sr-Latn\"). This enum does not convey that distinction.", - "", - "", - "TAGALOG is used to mean both Tagalog (tl) and Filipino (fil). These are nearly the same; Filipino is the official language, and \"fil\" is normally used for UI settings etc. The old LanguageCode() function returns \"tl\".", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Bihari\" is not a language: There are several different languages spoken in and around the Indian state of Bihar. This is like saying \"Swiss\" to mean German+French+Italian+Romansh.", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Chinese written in traditional Han characters (\"zh-Hant\"). See also CHINESE. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "UI only. LangId language: CROATIAN (28)", - "", - "Norwegian Nynorsk (\"nn\"). See also NORWEGIAN. Consider using IsNorwegianLanguage(). UI only. LangId language: NORWEGIAN (10)", - "Portuguese in Portugal (\"pt-PT\"). See the WARNING at PORTUGUESE. Avoid a distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "Portuguese in Brazil (\"pt-BR\"). Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "", - "UI only.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "", - "This has been documented as \"Kurmanji (kmr) + Sorani (ckb) + Kurdish (ku)\". There are several kinds of Kurdish languages. \"ku\" normally implies Northern Kurdish = Kurmanji (kmr) which is normally written in Latin letters. \"ckb\" is Central Kurdish (largely in Iraq) which is normally written in Arabic letters (thus right-to-left).", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "sometimes spelled Divehi; lang of Maldives", - "", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "\"Moldavian\" is the same language as Romanian. In language tags, \"ro-MD\" can be used but is not normally necessary. Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage(). UI only. LangId language: ROMANIAN (22)", - "", - "", - "UI only.", - "", - "", - "", - "", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only. More commonly called Luganda.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "Translate only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "Translate only.", - "Translate only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "Always keep this at the end. It is not a" - ], - "type": "string" - }, - "numIncomingAnchors": { - "description": "The (weighted) number of incoming anchors (links from other documents).", - "format": "float", - "type": "number" - }, - "salientTerms": { - "$ref": "QualitySalientTermsSalientTermSet", - "description": "The salient terms for this document. Only set if --webref_doc_metadata_copy_salient_terms is true. Same motivation as the title field above." - }, - "title": { - "description": "The title of the document. Only set if --webref_doc_metadata_set_title is true. The idea is that we can use this to more easily learn things like: title contains \"restaurants\" -\u003e more likely to be a list page.", - "type": "string" - }, - "totalClicks": { - "description": "The total clicks on this document, taken from navboost data.", - "format": "float", - "type": "number" - }, - "url": { - "description": "The url of the document.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefDomainSpecificRepresentation": { - "description": "Represents a domain specific entity data.", - "id": "RepositoryWebrefDomainSpecificRepresentation", - "properties": { - "entityData": { - "$ref": "Proto2BridgeMessageSet", - "description": "The actual domain specific data. For example it can be freebase.Topic, repository_wikipedia.WikiJoin, ocean.WorkMetadata, geostore.Feature." - } - }, - "type": "object" - }, - "RepositoryWebrefEnricherDebugData": { - "description": "Top level proto for enricher specific debug data that is only displayed in the Webref demo and should not be used for anything production-related. Next id: 4.", - "id": "RepositoryWebrefEnricherDebugData", - "properties": { - "nonMidProperties": { - "description": "Contains selected properties (from KG) whose values are not other entities (in which case they would be represented in link_info) but scalar values, possibly reachable through (multiple) CVTs.", - "items": { - "$ref": "RepositoryWebrefCompactFlatPropertyValue" - }, - "type": "array" - }, - "referencePage": { - "description": "This field contains reference pages for this entity. A reference page is a page that is highly topical for this entity, which can be used to mine additional information about this entity. Example reference pages for Apple Inc. would be the composite docs for \"http://en.wikipedia.org/wiki/Apple_Inc.\" and http://www.apple.com. For actors or movies, you can also have the imdb page. Also see: http://go/refx-pages.", - "items": { - "$ref": "RepositoryWebrefSimplifiedCompositeDoc" - }, - "type": "array" - }, - "relatedPage": { - "description": "This field contains mined related pages for the entity. A related page is a page that is moderately topical for this entity (More details: http://shortn/_KCE0GfQlpJ). This is mainly used to mine additional information for entities which do not have reference pages Unlike reference pages, a single doc can be a related page for multiple mids.", - "items": { - "$ref": "RepositoryWebrefSimplifiedCompositeDoc" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefEntityAnnotations": { - "description": "All annotations for a given concept (in one document collection). Available tags: [10-15], [19-]", - "id": "RepositoryWebrefEntityAnnotations", - "properties": { - "confidenceScore": { - "description": "The overall confidence that the entity is annotated somewhere in the document or query. For WebRef it is computed as a function of the mention confidences weighted by the importance of each mention, where for documents a mention is of greater importance if it occurs in the title, h1 or anchors. For QRef it is just the maximum of the confidence over all mentions. NOTE: You probably want to use the mention-level segment_mentions.mention.confidence_score field instead of this one.", - "format": "float", - "type": "number" - }, - "debugInfo": { - "$ref": "RepositoryWebrefAnnotationDebugInfo" - }, - "detailedEntityScores": { - "$ref": "RepositoryWebrefDetailedEntityScores", - "description": "Additional information about how the entity relates to the page, for example whether it is a business entity which published the page." - }, - "explainedRangeInfo": { - "$ref": "RepositoryWebrefExplainedRangeInfo", - "description": "All ranges explained by the entity or any other entity it implies. Used in the context of partial query interpretation (go/partial-understanding)." - }, - "imageMention": { - "description": "This is an experimental output for go/multiref. Don't use it without consulting the Webref team", - "items": { - "$ref": "RepositoryWebrefImageMention" - }, - "type": "array" - }, - "isImplicit": { - "description": "An entity is marked as implicit if there is no explicit mention of the entity in the content of the page. For instance, all mentions of the entity are in query, url and/or anchors; or the entity has only implicit content mentions.", - "type": "boolean" - }, - "isResolution": { - "description": "True if the entity is an MDVC summary entity, i.e. it might not be mentioned directly on the query, but it is the product of resolving a set of explicit annotations. E.g. \"2014 FIFA World Cup\" can be the summary for the query: [soccer world cup in brazil] even though none of the names of the entity is mentioned on the query. Summary nodes can also be synthetic, i.e. have a /t/ mid, as they represent the intersection between a set of regular annotations. For more information, see http://go/mdvc-output.", - "type": "boolean" - }, - "segmentMentions": { - "description": "All mentions of a given concept grouped by segments. For Webref, there are many different kinds of segment, such as content, title and anchors; while for QRef, there is only one segment called CONTENT. For QRef this field contains the primary output of the annotator, and for WebRef it together with topicality_score does.", - "items": { - "$ref": "RepositoryWebrefSegmentMentions" - }, - "type": "array" - }, - "topicalityRank": { - "description": "Rank of the entity when sorted by topicality score.", - "format": "int32", - "type": "integer" - }, - "topicalityScore": { - "description": "The WebRef topicality score of the entity for this document. This score indicates how related is the entity to the overall topic of the document. See https://goto.google.com/topicality-score for details. This field is not present in QRef output. Note that the topicality and the confidence score are orthogonal measures. It is possible that the annotator is absolutely sure that an entity is mentioned in a given range in the document, but this entity may be unrelated to the overall topic of the page (e.g. the entity \"RSS\" is mentioned in the footer of appleinsider.com). In this case the mention has a very high confidence score, but very low topicality score.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefEntityDebugInfo": { - "description": "Provides some debug info for the entity. This data shown to engineers (for debugging) and to raters (so it ultimately impacts eval metrics), but is also used to train ML models (see below). IMPORTANT: Despite the proto naming, this data has production quality impact. The data below is mostly human-readable text that is useful to help engineers with debugging. However the text is also used as input to machine-learned natural language processing models, which are used in production Webref.", - "id": "RepositoryWebrefEntityDebugInfo", - "properties": { - "description": { - "description": "A human-readable description of the entity. This can range from brief, machine-generated notes to lengthy human-written paragraphs from Wikipedia.", - "type": "string" - }, - "language": { - "description": "The language (III LanguageCode) of the `title` and `description` fields.", - "type": "string" - }, - "score": { - "description": "Internal score to merge debug info. should not set in final entityjoins.", - "format": "double", - "type": "number" - }, - "title": { - "description": "A short human-readable name/title of the entity, similar to what is displayed at the top of a Hume page. Suitable to be displayed in a list.", - "type": "string" - }, - "url": { - "description": "Link to a page with more information about the entity (internal Hume page, external Wikipedia page, etc.).", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefEntityJoin": { - "description": "Next available tag: 35. Represents all the information that we have for a given entity.", - "id": "RepositoryWebrefEntityJoin", - "properties": { - "annotatedEntityId": { - "$ref": "RepositoryWebrefWebrefEntityId", - "description": "The id of this entity, prefer accessing through webref-entities-util.h functions." - }, - "cdoc": { - "description": "This field contains reference pages for this entity. A reference page is a page that is highly topical for this entity, which can be used to mine additional information about this entity. Example reference pages for Apple Inc. would be the composite docs for \"http://en.wikipedia.org/wiki/Apple_Inc.\" and http://www.apple.com. For actors or movies, you can also have the imdb page. Also see: http://go/refx-pages.", - "items": { - "$ref": "RepositoryWebrefSimplifiedCompositeDoc" - }, - "type": "array" - }, - "contextNameInfo": { - "description": "The context names (with scores) of this entity. The difference to regular names (aka name_info) is that context names are not used for finding mentions in a document as they consist of names somehow related to the entity (e.g. name \"fisherman s wharf\" for the entity \"Gary Danko\"). Used for reconciling freebase and oyster.", - "items": { - "$ref": "RepositoryWebrefGlobalNameInfo" - }, - "type": "array" - }, - "debugInfo": { - "description": "Debug information about the entity.", - "items": { - "$ref": "RepositoryWebrefEntityDebugInfo" - }, - "type": "array" - }, - "enricherAnnotatorProfile": { - "$ref": "RepositoryWebrefAnnotatorProfile", - "description": "Optional profiling data from the enricher that enriched this entity (and produced this EntityJoin as debug output)." - }, - "enricherDebugData": { - "$ref": "RepositoryWebrefEnricherDebugData", - "description": "Contains debug data produced by enricher and only used for debug purpose (e.g. demo)." - }, - "extraData": { - "$ref": "RepositoryWebrefExtraMetadata", - "description": "Additional metadata about the entity, that can be derived from the \"raw data\" (composite doc, domain specific data...), or come from other sources. Despite its name, this field often contains quite important information." - }, - "humanRatings": { - "$ref": "RepositoryWebrefHumanRatings", - "description": "Human ratings (e.g. ratings from EWOK). This is typically only populated in the evaluation pipelines (e.g. P@5)." - }, - "linkInfo": { - "description": "Contains all links (with scores) that Webref knows for this entity. Links are relationships between entities. The data in this field is very important for the quality of the model.", - "items": { - "$ref": "RepositoryWebrefGlobalLinkInfo" - }, - "type": "array" - }, - "nameInfo": { - "description": "Contains all names (with scores) that Webref knows for this entity. The data in this field is very important for the quality of the model.", - "items": { - "$ref": "RepositoryWebrefGlobalNameInfo" - }, - "type": "array" - }, - "refconNameInfo": { - "description": "Contains names and names metadata used by Refcon.", - "items": { - "$ref": "RepositoryWebrefRefconRefconNameInfo" - }, - "type": "array" - }, - "representation": { - "description": "An entity can have metadata from various data sources. Generally speaking all sources will be / should be reconciled into a single KG Topic entry. However, in some cases we pull in additional chunks of metadata from these sources; these are stored in this field. For example a local business could have a KG entry (topic proto), wikipedia entry (WikiJoin) and a MapFacts entry (Feature proto).", - "items": { - "$ref": "RepositoryWebrefDomainSpecificRepresentation" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefEntityLinkMetadata": { - "description": "Metadata about the nature of the link.", - "id": "RepositoryWebrefEntityLinkMetadata", - "properties": { - "aggregateFlags": { - "$ref": "RepositoryWebrefLinkKindFlags", - "description": "The aggregate kind flags for the link." - }, - "kindInfo": { - "description": "Information about all the link kinds associated with the link.", - "items": { - "$ref": "RepositoryWebrefLinkKindInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefEntityLinkSource": { - "description": "All link data for a given source.", - "id": "RepositoryWebrefEntityLinkSource", - "properties": { - "kgProperty": { - "description": "KG-property if the SourceType is associated with a KG-property (TOPIC_PROPERTY, NEW_TOPIC_PROPERTY).", - "type": "string" - }, - "score": { - "description": "Score in [0, \\infty) that represents how relatively likely it is to see that entity cooccurring with the main entity (in the entity join). A value of 1.0 means that the two entities are basically independent. The higher the more likely (relatively to the individual entity probabilities) they are to cooccur.", - "format": "float", - "type": "number" - }, - "type": { - "enum": [ - "UNKNOWN_LINK_SOURCE", - "REFERENCE_PAGE_MENTIONS", - "OYSTER_RELATIONS", - "TYPE_BASED_LINKS", - "TIME_LINKS", - "COMPOUND_LINKS", - "HUMAN_LANGUAGE_LINKS", - "NEW_TOPIC_PROPERTY", - "EXPERIMENTAL_LINKS", - "PERSONAL_LINKS", - "EBSE" - ], - "enumDescriptions": [ - "", - "Entity mentions from a reference page. Those mentions come from wikilinks.", - "Links added based on relations in oyster feature protos.", - "Links generated to topics related to a topic's type.", - "Links between year entity and month entity.", - "Links between compound and attribute entity. Data comes from WikiJoin.", - "Links between for human languages, currently we have human_language \u003c-\u003e human_language and human_language \u003c-\u003e translation. Reason to have these links: link weights for them from other sources (e.g., REFERENCE_PAGE_MENTIONS) are too small. In order to improve annotation for language entities, we need to manually increase these link weights.", - "Links from kg-properties.", - "For experiments only, see flag enricher_experimental_link_table in enricher-link-scorer.cc.", - "Links from the Personal Knowledge Graph indexing pipeline.", - "Entity-based salient entities." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefEntityNameRatings": { - "description": "Stores all human ratings collected for a given entity name.", - "id": "RepositoryWebrefEntityNameRatings", - "properties": { - "language": { - "type": "string" - }, - "name": { - "type": "string" - }, - "ratings": { - "description": "Every entity name receives one or a few ratings from human raters.", - "items": { - "$ref": "RepositoryWebrefEntityNameRatingsEntityNameRating" - }, - "type": "array" - }, - "tags": { - "description": "Multiple tags can be assigned to a rated entity name. The tags can be used when computing metrics in the Name Eval, so that different metrics are computed separately for different sets of examples that have the same tag.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefEntityNameRatingsEntityNameRating": { - "id": "RepositoryWebrefEntityNameRatingsEntityNameRating", - "properties": { - "comment": { - "description": "Comment left by the rater to justify the rating decision.", - "type": "string" - }, - "label": { - "enum": [ - "LABEL_UNSPECIFIED", - "LABEL_GOOD", - "LABEL_BAD", - "LABEL_I_DONT_KNOW" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "source": { - "enum": [ - "SOURCE_UNSPECIFIED", - "SOURCE_REFX", - "SOURCE_QAAS", - "SOURCE_SLS" - ], - "enumDescriptions": [ - "", - "Ratings from RefX engineers.", - "Ratings from QaaS raters.", - "Ratings from Search Language Specialists (go/sls) raters." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefEntityNameScore": { - "description": "Represents a score for an entity. Next available tag: 39.", - "id": "RepositoryWebrefEntityNameScore", - "properties": { - "bootstrappingPreviousIteration": { - "$ref": "RepositoryWebrefBootstrappingScore", - "description": "If the EntityNameScore is part of a bootstrapped model, then this field contains the score_ratio from the previous model (\"Model 0\"). If Model 0 does not have a corresponding entry, because it did not know about this name for this entity, then bootstrapping_previous_iteration is left empty." - }, - "confidence": { - "description": "Confidence that this name is a trusted name of the entity. A reasonable threshold for name trust is 0.6. A name can be trusted and still have very low score_ratio, esp. if it is ambiguous (e.g. 'mercury') and/or not the dominant interpretation (e.g. \"siberian husky\" -\u003e /m/06krnsr (a book)).", - "format": "float", - "type": "number" - }, - "debugInfo": { - "description": "Debug information about the entity.", - "items": { - "$ref": "RepositoryWebrefEntityDebugInfo" - }, - "type": "array" - }, - "debugVariantSignals": { - "deprecated": true, - "description": "Source and score data, this is internal to refx (e.g. for demo/debug).", - "items": { - "$ref": "RepositoryWebrefPreprocessingNameVariantSignals" - }, - "type": "array" - }, - "extendedScoreRatio": { - "description": "Stores region specific score ratios for the entity when it is significantly different from the language version above.", - "items": { - "$ref": "RepositoryWebrefExtendedEntityNameScore" - }, - "type": "array" - }, - "includeInModel": { - "description": "Include this name in the name lookup table.", - "type": "boolean" - }, - "internalBootstrapIsOpenWorld": { - "description": "Transient field, only used in bootstrap pipeline.", - "type": "boolean" - }, - "internalIsClusterParent": { - "type": "boolean" - }, - "isClusterGlobal": { - "description": "Set to true iff the concept is cluster parent and the name can be a name for any child of the cluster. (e.g. 'starbucks' is cluster_global for the [Starbucks] chain cluster).", - "type": "boolean" - }, - "isDropped": { - "description": "Documented at: google3/repository/webref/enricher/core/data/scored_entity_name.h", - "type": "boolean" - }, - "isMatchlessResultContext": { - "description": "Only for context names: Whether this EntityNameScore represents an entity that was dominant in the search results but was not annotated by QRef during learning. Matchless result contexts are useful for bootstrapping, where different model iterations may have different names and thus context scores from Model 0 that are inconsistent with the names from Model 1.", - "type": "boolean" - }, - "isPruned": { - "description": "Documented at: google3/repository/webref/enricher/core/data/scored_entity_name.h", - "type": "boolean" - }, - "mid": { - "description": "The id of the entity.", - "format": "uint64", - "type": "string" - }, - "nameMetadata": { - "$ref": "RepositoryWebrefPreprocessingNameEntityMetadata", - "description": "Metadata about this name aggregated from name signals." - }, - "rangeMetadata": { - "description": "Metadata of segment range, which is annotated by this entity.", - "items": { - "$ref": "RepositoryWebrefRangeMetadata" - }, - "type": "array" - }, - "score": { - "description": "The absolute score of that entity. score = artificial_score + volume_based_score", - "format": "float", - "type": "number" - }, - "scoreRatio": { - "description": "Ratio between this entity score and the total score over all entities. This is including the \"open world\" information if it was estimated.", - "format": "float", - "type": "number" - }, - "useAsNameCandidate": { - "description": "When this field is true, we consider this context name as candidate in Enricher's names pipeline.", - "type": "boolean" - }, - "volumeBasedScore": { - "description": "Absolute score that comes from quantitative sources such as navboost clicks, anchors, etc. artificial_score = score - volume_based_score", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefEntityNameSource": { - "description": "Represents the data for a given source of names, including all entity scores. Notice that a source of name can be just a signal like a multiplier. Next available tag: 8.", - "id": "RepositoryWebrefEntityNameSource", - "properties": { - "entityScore": { - "description": "All the entity-name scores from that source. Keyed by the EntityNameScore.entity_id field.", - "items": { - "$ref": "RepositoryWebrefEntityNameScore" - }, - "type": "array" - }, - "type": { - "description": "Describes where the data comes from.", - "enum": [ - "SOURCE_TITLE", - "SOURCE_QUERY", - "SOURCE_ANCHOR", - "PRODUCT_TITLE", - "PRODUCT_QUERY", - "COMMON_NGRAM_CONCEPT_BOOST", - "FREEBASE_NAME", - "TYPE_BASED_INVERSE_DEMOTION_FACTOR", - "STRONG_IDENTIFIER", - "UNTRUSTED_ANCHOR", - "PERSON_NAME", - "OYSTER_NAME", - "UNTRUSTED_QUERY", - "OYSTER_NAME_DERIVED", - "RELATED_CONTEXT", - "WIKI_DESCRIPTION", - "WIKI_INFOBOX", - "FREEBASE_PROPERTY", - "WIKI_IS_A_TYPE", - "OYSTER_TYPE", - "OYSTER_ADDRESS", - "SOURCE_MODEL", - "LEAKED_NAME_DEMOTION", - "PRODUCT_TITLE_VARIATION", - "TRUSTED_NAME", - "SUBSET_NAME", - "UNTRUSTED_COOCCURRENCE_NAME", - "RESULTS_ENTITIES_QUERY", - "RELATED_ENTITIES_NGRAM", - "CLIENT_PROVIDED_NAME", - "GENERATED_CONTAINING_CONTEXT", - "DOC_NAME_AGGREGATES", - "QUERY_NAME_AGGREGATES", - "SOURCE_LEARNED_QUERY", - "COMPANY_OR_WEBSITE_DERIVED_NAME", - "GENERATED_SPARSE_CONTEXT", - "GENERATED_ARTIFICIAL_CONTEXT", - "GENERATED_S2CELL_CONTEXT" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "Special source that contains data on how much to boost the score of the entity because it is a common word/ngram concept (as opposed for example to proper noun).", - "A freebase name or alias.", - "Special source that contains data on how much to demote the score of the entity because of its type. This contains the inverse of the demotion.", - "The name comes from a strong identifier, for example a URL, ISBN, UPC...", - "The name comes from an untrusted anchor (for example from an untrusted external page).", - "The name comes from a person full or partial name.", - "The name comes from an Oyster NameProto associated with a location.", - "The name comes from query clicks on untrusted pages.", - "The name is derived from an Oyster NameProto, e.g., by adding an address component or a type.", - "The name is extracted from related entities (e.g. based on link_info).", - "Textual description of the entity (e.g. from first wikipedia paragraph). Usually longer than a regular entity name (can include multiple sentences).", - "Names extracted from a wikipedia infobox.", - "Names extracted from text-valued freebase properties (other than the ones which are already included in FREEBASE_NAME).", - "Is-a type extracted from wikipedia description.", - "The name is derived from an Oyster type.", - "The name is derived from an Oyster address.", - "The name contains aggregated scores from a run of the model pipeline. This is used to store old prior scores when learning new priors from e.g. queries.", - "Demotion due to the name is suspected to be leaked from a related entity.", - "The name is a generated variation based on Product Search titles.", - "Trusted names are not squashed, and have a high confidence. A name should get source type trusted if: - None of the above types is more appropriate. - We are very confident that the names are correct for the given entity. An example usage is for stock ticker names which originate from Google Finance data. Trusted name's scores are not squashed (i.e. the total score volume for trusted names for a given name is not bounded.) In addition trusted names are canonical names, so they are not dropped in the preprocessing pipeline.", - "This name has been recognized as a (fuzzy/partial) subset of a strong name, hence gets some score and trust because of that.", - "Names from Cooccurrence pipeline.", - "The name is a query for which the entity was featured in the results.", - "The name is an ngram for which the entity was featured in the results.", - "Names from clients' complementary data.", - "A possibly disambiguating context for the entity generated from the model data, for example \" \" for a city.", - "Scores from the document name aggregated scores.", - "Scores from the query name aggregated scores.", - "The name score comes from the query learn prior stage.", - "Company or website derived name.", - "Retrieval contexts made out of bigrams pairing tokens from names of related entities.", - "Retrieval contexts made out of a name, followed by an artificial contextual token representing e.g. a type or coarse geo location. The annotator will generate lookups when it has reason to believe the range may contain an entity with the property.", - "Retrieval contexts made out of bigrams pairing tokens of pruned names and the S2 cells around the entity (if the entity has a geo location)." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefEntityScores": { - "description": "Keeps a set of scores about an entity. Next available tag: 20.", - "id": "RepositoryWebrefEntityScores", - "properties": { - "alphaEntityIdf": { - "description": "This field is only for debugging and link weight experiments. It stores the entity's idf from the alpha model. Alpha idfs are used for link weight computations and available during model omega building via enricher_current_entity_idf_for_link_direction.", - "format": "float", - "type": "number" - }, - "commonNgramProb": { - "description": "Probability that the entity is a common ngram (e.g. from dictionary).", - "format": "float", - "type": "number" - }, - "entityIdf": { - "description": "The final (model omega) idf of an entity. Equals log2(1 / probability of the entity to appear in a document). This probability is currently estimated from its names (i.e. it is a sum of the name frequency weighted by P(entity | name)).", - "format": "float", - "type": "number" - }, - "nameCapitalizationProb": { - "deprecated": true, - "description": "The following field is deprecated and should eventually be removed. It uses data and rules that have not been refreshed for ~10y and KG has changed a lot in the meantime. ", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefExplainedRangeInfo": { - "description": "Information about all ranges explained by the entity or any other entity it implies. For example, the Zurich entity may explain both tokens \"Zurich\" and \"Switzerland\" in [FIFA Zurich Switzerland], the first directly, the other via implication. Only used in the context of query annotation.", - "id": "RepositoryWebrefExplainedRangeInfo", - "properties": { - "explainedRange": { - "description": "All ranges explained by the entity.", - "items": { - "$ref": "RepositoryWebrefExplainedRangeInfoExplainedRange" - }, - "type": "array" - }, - "geoQueryCoverage": { - "enum": [ - "NONE", - "PARTIAL", - "FULL" - ], - "enumDescriptions": [ - "", - "Represents a PU result (go/partial-understanding).", - "Represents a Sirius result (go/sirius)." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefExplainedRangeInfoExplainedRange": { - "description": "A range of the annotated document explained by an entity.", - "id": "RepositoryWebrefExplainedRangeInfoExplainedRange", - "properties": { - "mention": { - "$ref": "RepositoryWebrefSegmentMention", - "description": "SegmentMention describing the occurrence of the token in the document." - } - }, - "type": "object" - }, - "RepositoryWebrefExtendedEntityNameScore": { - "description": "Used to store region-specific score ratio per entity. Next available tag: 4.", - "id": "RepositoryWebrefExtendedEntityNameScore", - "properties": { - "domain": { - "description": "The domain name of the website, e.g. \"play.google.com\".", - "type": "string" - }, - "region": { - "description": "The region in the III standard (http://go/iii). Eg. \"US\", \"GB\"", - "type": "string" - }, - "scoreRatio": { - "description": "Score ratio for the entity, same as the EntityNameScore score ratio.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefExtraMetadata": { - "description": "Additional metadata about the entity, that can be derived from the \"raw data\" (composite doc, domain specific data...), or come from other sources. Next available tag is 35.", - "id": "RepositoryWebrefExtraMetadata", - "properties": { - "bookEditionMetadata": { - "description": "For a book entity, store its book editions metadata. Used by Juggernaut to do /book/book_edition recon, see ariane/265006. This field is used by Juggernaut only.", - "items": { - "$ref": "RepositoryWebrefBookEditionMetadata" - }, - "type": "array" - }, - "categoryInfo": { - "$ref": "RepositoryWebrefCategoryInfo", - "description": "Information about category types of the entity." - }, - "clusterMetadata": { - "$ref": "RepositoryWebrefClusterMetadata", - "description": "Metadata about clusters." - }, - "displayInfo": { - "$ref": "RepositoryWebrefDisplayInfo", - "description": "Information for displaying the entity in applications." - }, - "entityScores": { - "$ref": "RepositoryWebrefEntityScores", - "description": "Additional scores for the entity." - }, - "equivalentEntityId": { - "description": "An entity in KG that represents the same (or equivalent) entity in the real world. In particular, this is used for mid-forwarding: when de-duping entities in KG, the old ids represent the exact same entity as the one they were merged with. So when we see one id in the query and the other in a document, they are treated as the same entity.", - "items": { - "$ref": "RepositoryWebrefWebrefEntityId" - }, - "type": "array" - }, - "geoMetadata": { - "$ref": "RepositoryWebrefGeoMetadataProto", - "description": "Geo-specific entity metadata." - }, - "kcAttributeMetadata": { - "$ref": "RepositoryWebrefKCAttributeMetadata", - "description": "Metadata related to KC attributes and Question \u0026 Answer triggering." - }, - "latentEntities": { - "$ref": "RepositoryWebrefLatentEntities", - "description": "A list of entities that are latent given this entity. For example, \"Lionel Messi\" can have the latent entity \"FC Barcelona\". The latent entity links are materialized in an offline pipeline using r/w/scripts/latent_entities/latent-entities.pq. For more information, see go/latent-entities." - }, - "mdvcMetadata": { - "$ref": "RepositoryWebrefMdvcMetadata", - "description": "Metadata about MDVC." - }, - "otherMetadata": { - "$ref": "Proto2BridgeMessageSet", - "description": "Other metadata." - }, - "primaryRecording": { - "description": "The primary recording mid of a recording cluster entity. Used by Juggernaut to do /music/recording recon, see b/139901317. The primary recording is unique to a recording cluster. This field is used by Juggernaut only.", - "format": "uint64", - "type": "string" - }, - "productMetadata": { - "$ref": "RepositoryWebrefProductMetadata", - "description": "Products-specific entity metadata. Only available in QrefMetadata output." - }, - "specialEntityType": { - "description": "# LINT.ThenChange( //depot/google3/repository/webref/evaluation/query/metrics/util.cc)", - "enum": [ - "UNDEFINED", - "COLLECTION", - "DATETIME", - "MRF", - "LIGHTWEIGHT_TOKEN" - ], - "enumDescriptions": [ - "Used for all entities for which SpecialEntityType has not yet been implemented. Treat this value as equivalent to having no information about whether the entity is special or not, i.e. treat it like !has_special_entity_type.", - "The entity represents not a single KG entity but a collection or collection set. For example, consider the query [when was john smith born]. We don't know for sure which John Smith the query refers to, but we're \u003e90% sure that it refers to a person (/collection/people). For entities with special_entity_type == COLLECTION, the main MID field is set to a /t MID derived deterministically from the entire query, the annotated subrange and the collection. The actual collection ID(s) can be found in webref_entity.collections (assuming this message is stored in webref_entity.entity_join.extra_data).", - "The entity represents a date, such as \"January 24, 2018\", \"November 17\", or \"September 1999\". For entities of type DATETIME, the main MID field is set to a /t MID derived deterministically from the specific date, which itself can be found in datetime_metadata.", - "This entity has a 'mrf' field with a MRF compound representation.", - "This entity has lightweight token semantic. It should be used with compound representation (go/lwt-tmids, go/compounds-in-refx). For example, a /t MID entity will be annotated to a range [from zurich], SpecialEntityType::LIGHTWEIGHT_TOKEN will be attached to the resulting EntityJoin." - ], - "type": "string" - }, - "specialWord": { - "items": { - "$ref": "MapsQualitySpecialWordsProto" - }, - "type": "array" - }, - "supportTransferRules": { - "description": "Metadata about support transfer rules defined for this entity.", - "items": { - "$ref": "RepositoryWebrefSupportTransferRule" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefFatcatCategory": { - "id": "RepositoryWebrefFatcatCategory", - "properties": { - "id": { - "description": "The category ID from verticals4. See go/verticals4 and where we read them in http://google3/repository/webref/preprocessing/fatcat-categories.cc", - "format": "int32", - "type": "integer" - }, - "score": { - "description": "The relative weight of the category within a distribution.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefForwardingUrls": { - "description": "Submessage for forwarding urls in DocumentMetadata.", - "id": "RepositoryWebrefForwardingUrls", - "properties": { - "forwardingUrl": { - "description": "Urls that forward to this url. Used for url -\u003e topical entity entries.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefFprintModifierProto": { - "description": "--------------------------------------------------------------------------- Enums defining the available modifier options.", - "id": "RepositoryWebrefFprintModifierProto", - "properties": { - "language": { - "description": "i18.languages.Language enum defined in i18n/languages/proto/languages.proto UNKNOWN_LANGUAGE", - "format": "int32", - "type": "integer" - }, - "namespaceType": { - "enum": [ - "NAMESPACE_DEFAULT", - "NAMESPACE_WEBIT" - ], - "enumDescriptions": [ - "The default namespace to which all WebRef names are added.", - "The namespace for WebIt-specific classification data." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefFreebaseType": { - "description": "The Freebase type information.", - "id": "RepositoryWebrefFreebaseType", - "properties": { - "provenance": { - "description": "Optional - for inferred types the principal source of information.", - "items": { - "type": "string" - }, - "type": "array" - }, - "score": { - "description": "Optional score. Not present in KG directly but e.g. in WPCat.", - "format": "float", - "type": "number" - }, - "typeFprint": { - "description": "Fingerprint of type hrid http://cs/google3/repository/webref/universal/base/kg-schema.h;rcl=543911652;l=51", - "format": "uint64", - "type": "string" - }, - "typeName": { - "description": "e.g.: \"/business/industry\", \"/book/book_subject\", \"/people/person\"... HRID of the type. May be missing for optimisation reasons in Refcon, but is present for Qref/Webref. At least one of type_name or type_fprint will be present at all times", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefGenericIndices": { - "description": "Identifies the segment index for Webref SegmentTypes not covered by other *Indices messages.", - "id": "RepositoryWebrefGenericIndices", - "properties": { - "index": { - "description": "The segment index.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryWebrefGeoMetadataProto": { - "description": "Geo-specific information about the entity. Next available tag: 34.", - "id": "RepositoryWebrefGeoMetadataProto", - "properties": { - "address": { - "$ref": "GeostoreAddressProto", - "description": "Stores parent/container information containing city, province \u0026 country." - }, - "addressSynonyms": { - "description": "This field is only provided through the online qref interface (QrefMetadata). This is a fairly simple extraction from the /geo/type/feature/address_proto_blob triple.", - "items": { - "$ref": "RepositoryWebrefGeoMetadataProtoAddressSynonym" - }, - "type": "array" - }, - "areaKm2": { - "description": "Area in km^2 of the feature if the feature has polygon. Only set by qrefmetadata.", - "format": "double", - "type": "number" - }, - "bound": { - "$ref": "GeostoreRectProto", - "description": "The tight bounds of this feature. Note that these are different from the FeatureProto.bound field." - }, - "countryCode": { - "description": "Country code of the country of the entity. Only available in qref-metadata.", - "type": "string" - }, - "location": { - "$ref": "GeostorePointProto", - "description": "The geographic location (center) and geometry of this entity. See geostore.FeatureProto for more details." - }, - "name": { - "$ref": "GeostoreNameProto", - "description": "The best name from Oyster for this entity. Is only included for some types of entities, and is a trimmed version of the proto (some fields are cleared)." - }, - "oysterId": { - "$ref": "GeostoreFeatureIdProto", - "description": "The oyster id of the entity" - }, - "stableIntegerCountryCode": { - "description": "Numerical country code, converted with i18n/identifiers/stableinternalregionconverter.h. It is the same as country_code, but it is available in the annotator model (and takes less space).", - "format": "int32", - "type": "integer" - }, - "timezone": { - "description": "Timezone if the feature is contained inside one.", - "type": "string" - }, - "wpLocation": { - "description": "Information about the geographic location (center) extracted from the wikijoins.", - "items": { - "$ref": "RepositoryWebrefWikipediaGeocode" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefGeoMetadataProtoAddressSynonym": { - "description": "Terms from AddressComponent proto that we can use as address synonyms. At the time of annotation we have the entire AddressProto, however we can't use it all due to size. So only store relevant pieces of components (defined in superroot/impls/localweb/s2_synoyms.h).", - "id": "RepositoryWebrefGeoMetadataProtoAddressSynonym", - "properties": { - "language": { - "type": "string" - }, - "name": { - "type": "string" - }, - "type": { - "description": "The type of the geocoded address. e.g. Road, Lake, Ocean, building. This comes from TypeCategory field in geostore/base/proto/feature.proto", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryWebrefGlobalLinkInfo": { - "description": "Groups together the LinkInfo for all locales.", - "id": "RepositoryWebrefGlobalLinkInfo", - "properties": { - "debugTitle": { - "description": "A short human-readable name/title of the entity, similar to what is displayed at the top of a Hume page. Do not use for any production purpose as it does not provide guarantees for stability or policy checks (access requirements).", - "type": "string" - }, - "isBoostedPrimaryWeightLink": { - "description": "Whether this is a BoostedPrimaryWeight link. For these links in some cases a higher weight is used for primary scoring.", - "type": "boolean" - }, - "targetMid": { - "description": "The mid of the linked entity.", - "format": "uint64", - "type": "string" - }, - "variantInfo": { - "description": "The information about this link for each locale.", - "items": { - "$ref": "RepositoryWebrefLinkInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefGlobalNameInfo": { - "description": "Groups together the NameInfo for all variants of a given name. The variants of a name have the same normalized string, but they have a different original string and/or a different language/region. Example: For the name \"apple\", there may be variants such as \"apple|en\", \"apple|en|US\", \"apple|de\", \"Apple|en\"...", - "id": "RepositoryWebrefGlobalNameInfo", - "properties": { - "normalizedName": { - "description": "The normalized name.", - "type": "string" - }, - "variantInfo": { - "description": "All the variants of this name together with associated information such as score, sources, etc.", - "items": { - "$ref": "RepositoryWebrefNameInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefHumanRatings": { - "id": "RepositoryWebrefHumanRatings", - "properties": { - "annotationRatings": { - "$ref": "RepositoryWebrefAnnotationRatings" - } - }, - "type": "object" - }, - "RepositoryWebrefImageMention": { - "id": "RepositoryWebrefImageMention", - "properties": { - "confidenceScore": { - "format": "float", - "type": "number" - }, - "imageDocid": { - "description": "https://source.corp.google.com/piper///depot/google3/image/search/imagedoc.proto;bpv=1;bpt=1;rcl=592258038;l=275 cdoc -\u003e doc_images -\u003e canonical_docid corresponds to the Image Doc ID", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefImageQueryIndices": { - "description": "Identifies a set of Image NavBoost queries in the CompositeDoc. Each CompositeDoc can contain several images, so we store the image index from the CompositeDoc::doc_images with the index of the particular query inside ImageData::image_data_navboost.", - "id": "RepositoryWebrefImageQueryIndices", - "properties": { - "canonicalDocid": { - "description": "The (canonical) image docid of the ImageData this image query is part of. Useful for identifying the ImageData even after doc_images are updated in between Webref annotation runs. Use docid only when canonical_docid == 0.", - "format": "uint64", - "type": "string" - }, - "docid": { - "format": "uint64", - "type": "string" - }, - "imageIndex": { - "description": "WARNING: The doc_images in docjoins are subject to updates including non-deterministic reordering of doc_images and their image_nb_data extensions. This means that without re-running WebrefAnnotator one cannot rely on the accuracy or even consistency of either image_index or query_index when parsing a cdoc from docjoins. In those situations one ought to rely on canonical_docid (or docid when canonical_docid is absent viz. 0). The index of the source image in CompositeDoc::doc_images.", - "format": "int32", - "type": "integer" - }, - "queryIndex": { - "$ref": "RepositoryWebrefQueryIndices", - "description": "Queries index in ImageData::image_data_navboost." - } - }, - "type": "object" - }, - "RepositoryWebrefJuggernautIndices": { - "description": "Identifies the source of Spore segments in the CompositeDoc.", - "id": "RepositoryWebrefJuggernautIndices", - "properties": { - "index": { - "description": "Index within the proto. Several indices are necessary in case of nested repeated fields. The data can be accessed as follows: TOPICS: topic_annotations.kg_schema_topic(index(0)) .property_value(index(1)) .value(index(2)); TRIPLES: reconcile_request.triple(index(0));", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "type": { - "enum": [ - "NONE", - "TOPICS", - "TRIPLES" - ], - "enumDescriptions": [ - "Synthetic segment without a source in the cdoc.", - "repository_annotations::spore::extractor::TopicAnnotations.", - "repository_webref::ReconcileRequest." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefKCAttributeMetadata": { - "description": "Metadata related to KC attributes and Question \u0026 Answer triggering. Next available tag: 2.", - "id": "RepositoryWebrefKCAttributeMetadata", - "properties": { - "equivalentAttributeId": { - "description": "Equivalent kc attribute id for the given entity if applicable. E.g. for Daughter (/m/029wnx) this will be 'kc:/people/person:daughter'.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefKGCollection": { - "description": "See go/kg-collections", - "id": "RepositoryWebrefKGCollection", - "properties": { - "debugId": { - "description": "A human friendly identifier (collection hrid). NOTE: The field name is a misnomer, this is the preferred field to use in production.", - "type": "string" - }, - "id": { - "description": "Identifier of the collection, usually a MID (/m/xyz or /g/zyw). NOTE: In most cases, this is not the id that should be used, debug_id is the preferred identifier. The main reason is the this is not a stable id (mid for collection sometimes shift around).", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefLatentEntities": { - "description": "A list of entities that are latent given this entity. For example, \"Lionel Messi\" can have the latent entity \"FC Barcelona\". See go/refx-latent-entities for detailed description.", - "id": "RepositoryWebrefLatentEntities", - "properties": { - "latentEntity": { - "description": "Latent entities with associated metadata including source of the relationship. This is pruned (\"compacted\") from the concept table and will never reach the annotator.", - "items": { - "$ref": "RepositoryWebrefLatentEntity" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefLatentEntity": { - "description": "Metadata about a latent entity and its relationship to a given child. See go/hits.", - "id": "RepositoryWebrefLatentEntity", - "properties": { - "broaderImportance": { - "description": "The relatedness score of the two entities corresponding to each source above.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "mid": { - "description": "The mid of the latent entity.", - "type": "string" - }, - "sources": { - "description": "The sources this generalization relationship is coming from.", - "items": { - "enum": [ - "INVALID", - "VERTICAL_SPECIFIC_RELATIONS", - "NN_HIERARCHY_V1" - ], - "enumDescriptions": [ - "", - "Hierarchical relations from the Sports hierarchy. The Sports hierarchy is derived from a set of manually curated KG properties.", - "The HITS hierarchy." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefLexicalAnnotation": { - "description": "LexicalAnnotation is public lightweight serving structure for both WordGraph features and LWT annotations to expose lexical information downstream from RefX, e.g. in LooseParser.", - "id": "RepositoryWebrefLexicalAnnotation", - "properties": { - "lexicalRange": { - "items": { - "$ref": "RepositoryWebrefLexicalRange" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefLexicalRange": { - "description": "A single understood lexicon of the |category| on byte range from |begin_offset| (inclusive) to |end_offset| (exclusive). The offsets are all byte offsets relative to the full original query and cover both the mentions and surrounding markers.", - "id": "RepositoryWebrefLexicalRange", - "properties": { - "beginOffset": { - "description": "Begin byte offset relative to the full original query.", - "format": "int32", - "type": "integer" - }, - "category": { - "enum": [ - "UNKNOWN", - "RELATIONAL_ADJECTIVE", - "SUPERLATIVE", - "PLURAL", - "FEMALE", - "ASPECT", - "GEO_CONNECTOR", - "TARGET_AUDIENCE", - "TARGET_PURPOSE", - "SETTING_BY_LOCATION", - "DECORATIVE_PATTERN", - "ELECTRONIC_DEVICE_CONNECTIVITY", - "DIETARY_RESTRICTION", - "ACTOR", - "ADAPTATION_SOURCE", - "AGE", - "AUTHOR", - "AUTHOR_OF_ADAPTATION_SOURCE", - "AWARD_NOMINATED_FOR", - "AWARD_WON", - "BATTERY_LIFE", - "BATTERY_TYPE", - "BRAND", - "COLOR", - "COUNTRY_OF_ORIGIN", - "DEGREE_OF_BRIGHTNESS", - "DEGREE_OF_SEXINESS", - "DURATION", - "EXCLUDED_INGREDIENT", - "FICTIONAL_CHARACTER", - "FILM_DIRECTOR", - "GENRE", - "INTENDED_SPECIAL_OCCASION", - "LENGTH", - "MATERIAL", - "MEDIA_PROVIDER", - "MUSIC_COMPOSER", - "ORIGINAL_MEDIA_PROVIDER", - "PRIMARY_GENRE", - "PRODUCTION_COMPANY", - "PUBLICATION_DATE", - "RECENCY", - "RELATED_ARTISTIC_WORK", - "RELEASE_DATE", - "SECONDARY_GENRE", - "SETTING_BY_FICTIONAL_LOCATION", - "SETTING_BY_REAL_LOCATION", - "SETTING_BY_TIME", - "SUPPORTED_VIRTUAL_ASSISTANT", - "TEMPERATURE", - "THEME", - "TVM_ATTRIBUTE", - "WEIGHT", - "EXCLUSION" - ], - "enumDescriptions": [ - "", - "A range that is an adjectival expression referring to a base entity.", - "An adjectival range is expressed in the superlative degree.", - "A range which is lexically plural.", - "A range expressing unequivocally a (semantic) female gender. This could be for expressions that are intrinsically female (\"aunt\") or the female expression of an entity that is lexically gendered (\"chairwoman\" as opposed to \"chairman\" or \"chairperson\").", - "The range designates an aspect, that is, a modifier of some other range.", - "A range expressing proximity, location or movement to/from a location.", - "Facets.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "End of facets. This line marks where to generate new values for facets." - ], - "type": "string" - }, - "direction": { - "description": "Direction defines the relation between the measurable aspect and the facet.", - "enum": [ - "MEASURABLE_ASPECT_DIRECTION_UNSPECIFIED", - "MEASURABLE_ASPECT_INCREASING", - "MEASURABLE_ASPECT_DECREASING" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "endOffset": { - "description": "End byte offset relative to the full original query.", - "format": "int32", - "type": "integer" - }, - "facetMid": { - "description": "The mid of the facet associated with ASPECT category.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefLightweightTokensMatchedLightweightToken": { - "description": "Necessary information of lightweight token pattern with entity retrieval to pass to downstream clients. For example: FpTokenRange: normalized_text: \"zurichben\" language: Hungarian retrieved_entity: /m/08966 (with name \"zurich\") will get: MatchedLightweightToken: LightweightTokenType: \"LOCATIVE\" begin_offset: 6 end_offset: 9 pattern_id: 8141703461898598811 source_entity_index: 0 FpTokenRange: normalized_text: \"egyesult allamokott\" language: Hungarian retrieved_entity: /m/09c7w0 (with name \"egyesult allamok\") will get: MatchedLightweightToken: LightweightTokenType: \"LOCATIVE\" begin_offset: 16 end_offset: 19 pattern_id: 10449962977910715124 source_entity_index: 0 Note that begin_offset and end_offset marks the input byte range of the matched input text. For example, if the input text is [tannlegas] in Norwegian, this matches with the rewrite rule \"*e:*as\" to transform \"tannlegas\" to \"tannlege\". The matched byte range is [7, 9) on \"as\", therefore begin_offset = 7 and end_offset = 9. This must not be confused with the rewritten range [7, 8) on \"e\". Also, keep in mind these are byte offsets, not codepoints.", - "id": "RepositoryWebrefLightweightTokensMatchedLightweightToken", - "properties": { - "additionalBeginOffset": { - "description": "The byte offset of the beging of the additional lightweight token match. e.g. the prefix pattern of the circumfix.", - "format": "int32", - "type": "integer" - }, - "additionalEndOffset": { - "description": "The byte offset of the end of the additional lightweight token match. e.g. the suffix pattern of the circumfix.", - "format": "int32", - "type": "integer" - }, - "beginOffset": { - "description": "The byte offset of the begin of the lightweight token match within each range. The default value of -1 (std::string::npos) means that there's no affix or adposition detected.", - "format": "int32", - "type": "integer" - }, - "endOffset": { - "description": "The byte offset of the end of the lightweight token match within each range. The default value of 0 means that there's no affix or adposition detected.", - "format": "int32", - "type": "integer" - }, - "patternId": { - "description": "Matched pattern Id which will be used to retrieve back pattern features. Pattern id is only populated for Enricher model.", - "format": "uint64", - "type": "string" - }, - "sourceEntityIndex": { - "description": "The index of the source entity in the resulting WebrefEntities or WebrefEntitiesWrapper, to which the lightweight token rule is applied. This field is only populated at the end of Qref scorer when we are sure which source entity should output.", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "The type of the lightweight token match, which provides the semantic information.", - "enum": [ - "UNKNOWN", - "DEFINITE", - "INDEFINITE", - "FEMININE_DETERMINER", - "FEMININE_ADJECTIVE", - "ABLATIVE", - "ADESSIVE", - "ALLATIVE", - "LOCATIVE", - "ACROSS_FROM", - "BEHIND", - "IN_FRONT", - "EAST", - "WEST", - "NORTH", - "SOUTH", - "LEFT", - "RIGHT", - "ADJACENT", - "GENITIVE", - "ACCUSATIVE", - "INSTRUMENTAL", - "DATIVE", - "CAUSATIVE", - "SOCIATIVE", - "INTERROGATIVE", - "PREPOSITIONAL", - "VOCATIVE", - "OBLIQUE", - "EMPHATIC", - "MESSAGE_RECIPIENT", - "MESSAGE_INITIATOR", - "MY_POSSESSION", - "OUR_POSSESSION", - "YOUR_SINGULAR_POSSESSION", - "YOUR_PLURAL_POSSESSION", - "YOUR_POLITE_POSSESSION", - "TRANSLATE_SOURCE_LANGUAGE", - "TRANSLATE_TARGET_LANGUAGE", - "NEW_MODIFIER", - "RECENT_MODIFIER", - "COURTESY_WORD", - "GENERIC_ADPOSITION", - "TARGET_CURRENCY", - "SOURCE_CURRENCY", - "PLURAL", - "CONJUNCTIVE", - "OPPOSITION_CONJUNCTIVE", - "MASCULINE_HONORIFIC", - "FEMININE_HONORIFIC", - "GENERIC_HONORIFIC", - "NEGATIVE_SUPERLATIVE", - "SUPERLATIVE", - "FACET_AUDIENCE", - "FACET_PURPOSE", - "FACET_EXCLUSION", - "FACET_SETTING_BY_LOCATION", - "FACET_DECORATIVE_PATTERN", - "FACET_ELECTRONIC_DEVICE_CONNECTIVITY", - "FACET_DIETARY_RESTRICTION", - "FACET_ACTOR", - "FACET_ADAPTATION_SOURCE", - "FACET_AGE", - "FACET_AUTHOR", - "FACET_AUTHOR_OF_ADAPTATION_SOURCE", - "FACET_AWARD_NOMINATED_FOR", - "FACET_AWARD_WON", - "FACET_BATTERY_LIFE", - "FACET_BATTERY_TYPE", - "FACET_BRAND", - "FACET_COLOR", - "FACET_COUNTRY_OF_ORIGIN", - "FACET_DEGREE_OF_BRIGHTNESS", - "FACET_DEGREE_OF_SEXINESS", - "FACET_DURATION", - "FACET_EXCLUDED_INGREDIENT", - "FACET_FICTIONAL_CHARACTER", - "FACET_FILM_DIRECTOR", - "FACET_GENRE", - "FACET_INTENDED_SPECIAL_OCCASION", - "FACET_LENGTH", - "FACET_MATERIAL", - "FACET_MEDIA_PROVIDER", - "FACET_MUSIC_COMPOSER", - "FACET_ORIGINAL_MEDIA_PROVIDER", - "FACET_PRIMARY_GENRE", - "FACET_PRODUCTION_COMPANY", - "FACET_PUBLICATION_DATE", - "FACET_RECENCY", - "FACET_RELATED_ARTISTIC_WORK", - "FACET_RELEASE_DATE", - "FACET_SECONDARY_GENRE", - "FACET_SETTING_BY_FICTIONAL_LOCATION", - "FACET_SETTING_BY_REAL_LOCATION", - "FACET_SETTING_BY_TIME", - "FACET_SUPPORTED_VIRTUAL_ASSISTANT", - "FACET_TEMPERATURE", - "FACET_THEME", - "FACET_TVM_ATTRIBUTE", - "FACET_WEIGHT" - ], - "enumDescriptions": [ - "", - "Articles or markers that express the definitess of a noun (see go/wordgraph/definiteness).", - "Articles or markers that express the indefiniteness of a noun (see go/wordgraph/definiteness).", - "Determiners that mark *unambiguously* the feminine gender of the expression (e.g.: \"*une* artiste\")", - "Adjective that mark *unambiguously* the feminine gender of the expression they modify. E.g.: \"les *meilleures* artistes\"", - "Linguistic markers that express the movement from a place (like the English preposition *from* in a sentence like \"I came *from* my place\").", - "Linguistic markers that express the location *near* a place (like in the English preposition *near* in a sentence like \"I am near the house\").", - "Linguistic markers that express the movement towards a place (like the English preposition *to* in a sentence like \"I go *to* my house\").", - "Linguistic markers that express the location *in* a place (like the English preposition *in* in a sentence like \"I am *in* my house\").", - "Reference to a physical entity that is located on the opposite side of/across the road from the location of another entity.", - "Refer to a physical entity that is *behind* another entity.", - "Refer to a physical entity that is located *in front* of another entity.", - "Refer to a physical entity that is located *in the east* of another entity.", - "Refer to a physical entity that is located *in the west* of another entity.", - "Refer to a physical entity that is located *in the north* of another entity.", - "Refer to a physical entity that is located *in the south* of another entity.", - "Refer to a physical entity that is located *on the left* of another entity.", - "Refer to a physical entity that is located *on the right* of another entity.", - "Refers to a physical entity that is located in the immediate proximity to a place. This semantic is much more specific than the ADESSIVE one", - "Linguistic markers that express the relation of a noun with another noun (like the 's marker in English in \"Mary's book\"). Please note that this is different from possessive makers in the sense that the adposition precedes or succeeds the 'OWNER' instead of the 'OWNED' noun.", - "Linguistic markers that would be used to mark the accusative, generally the direct object of a verb.", - "Linguistic marker that is used to mark the instrumental case, indicating the instrument or means by which an action is accomplished.", - "Linguistic markers that would be used to mark the dative case, generally the indirect object of a verb.", - "Linguistic markers that would be used to indicate that a subject either causes someone or something else to do or be something or causes a change in state of a non-volitional event.", - "Linguistic markers that would be used to indicate association, or means by which action is done.", - "Linguistic markers that would be used to make questions.", - "Linguistic markers that mark the object of a preposition. This term can be used in languages where nouns have a declensional form that appears exclusively in combination with certain prepositions. These markers do not include the actual preposition but only the corresponding inflection pattern.", - "Linguistic markers that would be used in addressing or invoking a person or thing.", - "Linguistic markers used to indicate that the noun generally can not be used in a subject position.", - "Linguistic markers used to express attitude or emphasis. They can occur with nouns, adjectives, verbs and adverbs.", - "Linguistic markers that mark the recipient (or receiver) of a message or a call.", - "Linguistic markers that mark the initiator of a message or a call.", - "Linguistic markers (like English determiner \"my\") that mark a possession from a first person singular possessor.", - "Linguistic markers (like English determiner \"our\") that mark a possession from a first person plural possessor.", - "Linguistic markers (like English determiner \"your\") that mark a possession from a second person singular possessor.", - "Linguistic markers (like Italian determiner \"vostro\") that mark a possession from a second person plural possessor.", - "Linguistic markers (like Italian determiner \"suo\") that mark a possession from a second person possessor in polite form.", - "Linguistic markers that mark the source language in an expression like \"translate *from* English\".", - "Linguistic markers that mark the target language in an expression like \"translate *into* French\".", - "", - "", - "", - "", - "Linguistic markers that mark the target currency in an expression like \"how much is 5 dollars *in* pounds\".", - "Linguistic markers that mark the source currency in an expression like \"convert *from* dollars to pounds\".", - "Plural markers", - "Conjunctive coordinator or marker (like English \"and\").", - "Opposition conjunctive or marker (like English \"versus\", \"v.s.\").", - "Masculine Honorific markers.", - "Feminine Honorific markers.", - "Non-specific Honorifc markers.", - "Superlatives", - "", - "Facets.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "End of facets. This line marks where to generate new values for facets." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefLightweightTokensPerMentionLightweightToken": { - "description": "Collects all lightweight token patterns for each CandidateMention or Mention.", - "id": "RepositoryWebrefLightweightTokensPerMentionLightweightToken", - "properties": { - "matchedLightweightToken": { - "items": { - "$ref": "RepositoryWebrefLightweightTokensMatchedLightweightToken" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefLightweightTokensPerNameLightweightToken": { - "description": "Collects all lightweight token patterns for each NameToConceptEntry.", - "id": "RepositoryWebrefLightweightTokensPerNameLightweightToken", - "properties": { - "matchedLightweightToken": { - "items": { - "$ref": "RepositoryWebrefLightweightTokensMatchedLightweightToken" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefLinkInfo": { - "description": "Represents all information we have about a specific/localized link. Next available tag: 11.", - "id": "RepositoryWebrefLinkInfo", - "properties": { - "aggregatedScore": { - "description": "The score aggregated from all sources.", - "format": "float", - "type": "number" - }, - "isPreferredDirection": { - "description": "The EntityJoin keeps bi-directional links, but for some applications we only need them in one direction. This value indicates whether this is the preferred direction to keep. (We usually prefer keeping the link from the less common to the more common entity for performance reasons). For categorical links the preferred direction is from child to parent.", - "type": "boolean" - }, - "metadata": { - "$ref": "RepositoryWebrefEntityLinkMetadata", - "description": "The metadata associated with the link." - }, - "source": { - "description": "The per-source scores.", - "items": { - "$ref": "RepositoryWebrefEntityLinkSource" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefLinkKindFlags": { - "description": "A bitmap of bool values associated with a link kind. Next available tag: 12", - "id": "RepositoryWebrefLinkKindFlags", - "properties": { - "cluster": { - "enum": [ - "NO_CLUSTER", - "CLUSTER_CHILD_OF", - "CLUSTER_PARENT_OF" - ], - "enumDescriptions": [ - "", - "The main entity is a child of the linked entity.", - "The main entity is a parent of the linked entity." - ], - "type": "string" - }, - "geoContainment": { - "enum": [ - "NO_CONTAINMENT", - "CONTAINED_BY", - "CONTAINS", - "PARTIAL_OVERLAP", - "HAS_STREET_NUMBER", - "LOCATED_ON_STREET" - ], - "enumDescriptions": [ - "", - "The main entity is a geographically contained by", - "the linked entity. The main entity is a geographical container of", - "the linked entity. The main entity partially overlaps with the", - "linked entity. The main entity is a street and contains the", - "street number that is represented by the linked entity. The main entity is a street number and is" - ], - "type": "string" - }, - "implication": { - "enum": [ - "NO_IMPLICATION", - "IMPLIED_BY", - "IMPLIES", - "BIDIRECTIONAL_IMPLICATION", - "UNDERMERGED" - ], - "enumDescriptions": [ - "", - "The main entity is implied by the linked entity.", - "The main entity implies the linked entity.", - "Both entities imply each other.", - "Both entities are the same concept." - ], - "type": "string" - }, - "latentEntity": { - "enum": [ - "NO_LATENT_ENTITY", - "LATENT_ENTITY", - "MANIFEST_ENTITY", - "LATENT_ENTITY_V2", - "MANIFEST_ENTITY_V2" - ], - "enumDeprecated": [ - false, - true, - true, - false, - false - ], - "enumDescriptions": [ - "There is no latent entity relationship between the entities. Default value, should not be explicitly set.", - "The relationship points to a latent entity. For example, if \"Lionel Messi\" has latent entity \"FC Barcelona\", this should be populated on the relationship from Messi to Barcelona.", - "The reverse of LATENT_ENTITY, e.g. from \"FC Barcelona\" to \"Lionel Messi\".", - "Links pointing to latent entities according to the new hierarchy. See go/refx-latent-entities.", - "Links pointing to manifest entities according to the new hierarchy." - ], - "type": "string" - }, - "mdvc": { - "enum": [ - "NO_MDVC", - "MDVC_SPECIALIZATION_OF", - "MDVC_GENERALIZATION_OF", - "MDVC_DIMENSION_VALUE", - "MDVC_DIMENSION_VALUE_OF", - "MDVC_RESOLUTION", - "MDVC_EXPANDED_OUTPUT" - ], - "enumDescriptions": [ - "", - "(Transitive) descendant in MDVC hierarchy.", - "(Transitive) ancestor in MDVC hierarchy.", - "MDVC attribute.", - "MDVC attribute owner.", - "MDVC resolution.", - "MDVC_EXPANDED_OUTPUT is used to mark the link between annotated entities and the entities that were added by output expansion, e.g. from a car model to the latest model year." - ], - "type": "string" - }, - "property": { - "enum": [ - "NO_PROPERTY", - "EQUIVALENT_TOPIC", - "EQUIVALENT_PROPERTY" - ], - "enumDescriptions": [ - "There is no property relationship between the entities. Default value, should not be explicitly set.", - "The relationship points from a property to its equivalent topic. For example, from /people/person/parents to /m/Parent.", - "The relationship points from a topic to an equivalent property. For example, from /m/Parent to /people/person/parents." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefLinkKindInfo": { - "description": "Information about one of the types of a linked entity.", - "id": "RepositoryWebrefLinkKindInfo", - "properties": { - "flags": { - "$ref": "RepositoryWebrefLinkKindFlags", - "description": "The flags associated with the link kind." - }, - "topicPropertyName": { - "description": "If the link was extracted from a property, the name of the property. Can start with an exclamation mark \"!\" to indicate that the inverse relationship is specified. (e.g. \"!/tv/tv_series_episode/series\" is the inverse of \"tv/tv_program/episodes\").", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefLocalizedString": { - "description": "Next available tag: 8.", - "id": "RepositoryWebrefLocalizedString", - "properties": { - "domain": { - "description": "The domain name from which results come, e.g. \"play.google.com\".", - "type": "string" - }, - "fprintModifier": { - "$ref": "RepositoryWebrefFprintModifierProto", - "description": "FprintModifier describing the formatting of the string. If fprint_modifier is set, then original_string, language and region should not be set." - }, - "language": { - "description": "The language in the III standard (http://go/iii)", - "type": "string" - }, - "normalizedString": { - "type": "string" - }, - "originalString": { - "type": "string" - }, - "region": { - "description": "The region in the III standard (http://go/iii)", - "type": "string" - }, - "sourceType": { - "description": "Which querybase pipeline the data comes from.", - "enum": [ - "SOURCE_NAVBOOST", - "SOURCE_SCRAPE", - "SOURCE_INSTANT_NAVBOOST" - ], - "enumDescriptions": [ - "From queries derived from regular NavBoost data and stored in querybase, querybase-zero or querybase-zero-dev.", - "From scraped queries.", - "From queries derived from Instant NavBoost data and stored in querybase-fresh-zero or querybase-fresh-zero-dev." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefMdvcMetadata": { - "description": "Metadata about MDVC (go/mdvc). Next available tag: 18.", - "id": "RepositoryWebrefMdvcMetadata", - "properties": { - "dimension": { - "description": "Undergoing migration into the PerVertical message. Avoid using it. Concept ids of MDVC dimensions of this concept.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "expandedOutputConceptId": { - "description": "Undergoing migration into the PerVertical message. Avoid using it. List of encoded mids to be expanded in WebRef/QRef output whenever this entity gets annotated. Will be populated in the annotators once static data is deprecated. b/78866814.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "generalization": { - "description": "Undergoing migration into the PerVertical message. Avoid using it. Concept ids of MDVC generalizations of this concept.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "isSynthetic": { - "description": "True iff the topic is synthetically created during by MDVC extraction.", - "type": "boolean" - }, - "perVertical": { - "description": "Data, specific to particular verticals.", - "items": { - "$ref": "RepositoryWebrefMdvcMetadataPerVertical" - }, - "type": "array" - }, - "resolutionPriority": { - "description": "Undergoing migration into the PerVertical message. Avoid using it. Resolution priority for this entity. In case a query has many possible resolutions, only the ones with the highest resolution priority are annotated.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryWebrefMdvcMetadataPerVertical": { - "description": "Per-vertical part. Next available tag: 19", - "id": "RepositoryWebrefMdvcMetadataPerVertical", - "properties": { - "compatibleIds": { - "description": "Concept ids compatible with this topic: specializations and/or ones having this concept as a dimension. Always includes the topic itself.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "dimensionIds": { - "description": "Concept ids of the dimension values of this topic.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "expandedOutputIds": { - "description": "Concept ids to annotate whenever this entity is annotated.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "generalizationIds": { - "description": "Concept ids of the generalizations of this topic.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "isCore": { - "description": "True if the topic is considered a \"core topic\" for the vertical.", - "type": "boolean" - }, - "isDimension": { - "description": "If true, the entity is a dimension for some entities in the vertical.", - "type": "boolean" - }, - "isGeneralization": { - "description": "If true, the entity is a generalization for some entities in the vertical.", - "type": "boolean" - }, - "resolutionPriority": { - "description": "Resolution priority for this entity. If there are many possible resolutions to a MDVC understanding, only the ones with the highest priority are annotated.", - "format": "int32", - "type": "integer" - }, - "verticalName": { - "description": "Name of the vertical this message is about.", - "enum": [ - "UNKNOWN", - "CARS", - "CHAINS" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefMention": { - "description": "Multiple entities can be identified on a document or query. Each entity can be mentioned several times in different positions on the document or query. This message describes a single mention of the entity. Note that a mention can be either explicit or implicit mentions. All explicit mentions refer to exact range in the document where the entity occurred, but implicit mentions may or may not have corresponding range. Next available tag number: 40", - "id": "RepositoryWebrefMention", - "properties": { - "addedByCloseAnswers": { - "description": "Whether this mention was created by CloseAnswers on Postref. This bit is populated into corresponding intent_query through Aqua.", - "type": "boolean" - }, - "additionalExplainedRange": { - "description": "If the mention's range is discontinuous, additional ranges that are a part of the mention but are not included in the begin/end range above.", - "items": { - "$ref": "RepositoryWebrefMentionAdditionalExplainedRange" - }, - "type": "array" - }, - "begin": { - "description": "The [begin, end) byte offset, compatible with the Goldmine DocState representation. - For CONTENT, TITLE, META_CONTENT_TAG and IMG_ALT_TAG segments, the offsets are relative to the beginning of the document content. - For ANCHOR, QUERY, URL, IMAGE_QUERY, CONTEXT_ENTITY, CONTEXT_QUERY, SPORE_GRAPH, INSTANT_QUERY and VIDEO_TRANSCRIPT segments, the offsets are relative to the beginning of the corresponding (sub-)segment or text from doc attachment. The (indexing.annotations.goldmine) options are marks for Goldmine AnnotationsFinder to locate begin and end offsets in order to extract them", - "format": "int32", - "type": "integer" - }, - "beginTokenIndex": { - "description": "The [begin end) token offsets in the Goldmine DocState. They follow similar rules as \"begin\" and \"end\" above, but for tokens rather than byte offsets. These fields are currently only populated by the query annotator.", - "format": "int32", - "type": "integer" - }, - "compoundMention": { - "description": "For a compound mention, the references to the entity and mention of the components. Each compound_mention claims one or more 'mrf' fields from the WebrefEntity owning this mention. Use QueryJoinToMeaningStructConverter to expand compound mentions into complete MRF.", - "items": { - "$ref": "RepositoryWebrefMentionCompoundMention" - }, - "type": "array" - }, - "confidenceScore": { - "description": "A probabilistic score describing how certain the annotator is that this exact range in the document or query refers to the entity. Probability that a mention is correct corresponds to confidence score roughly as follows: 0.3 -\u003e 75% 0.5 -\u003e 87% 0.7 -\u003e 89% 0.9 -\u003e 94% 1.0 -\u003e 98% However if you consider all mentions with a score above 0.3, then most of these will have scores close to 1, so the overall precision of these mentions is around 95%.", - "format": "float", - "type": "number" - }, - "debugInfo": { - "$ref": "RepositoryWebrefMentionDebugInfo", - "description": "Debug information." - }, - "detailedMentionScores": { - "$ref": "RepositoryWebrefDetailedMentionScores", - "description": "Additional detailed scores about this mention." - }, - "end": { - "format": "int32", - "type": "integer" - }, - "endTokenIndex": { - "format": "int32", - "type": "integer" - }, - "evalInfo": { - "$ref": "RepositoryWebrefMentionEvalInfo", - "description": "Information used by the evaluation tools to mark mentions annotations as correct/incorrect. This will never be annotated in production (would be nice if was, though :-))." - }, - "interpretationNumber": { - "deprecated": true, - "description": "DEPRECATED and not populated anymore.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "isImplicit": { - "description": "True if the entity is mentioned implicitly. Note that a mention can be implicit *and* have a non-empty range, for example if the entity is Sports, and this is inferred from the mention of \"gym\".", - "type": "boolean" - }, - "lexicalAnnotation": { - "$ref": "RepositoryWebrefLexicalAnnotation", - "description": "Provides a Wordgraph lexical signals for the mentioned range so it can be use in LooseParsing. Please don't use this field before consulting wordgraph-team." - }, - "lowConfidence": { - "description": "Qref \u0026 Postref only: Set to true for candidates part of qref candidate output for which there was no mention in qref. Internal to qref and LooseParsing. Do not use outside of these systems.", - "type": "boolean" - }, - "matchingText": { - "description": "Refcon-only: Annotated span in Refcon-normalized textual format, corresponding to the [begin end) offset interval in the CDoc. It will only be populated for CDocs originated from Docjoin extraction.", - "type": "string" - }, - "nameMetadata": { - "$ref": "RepositoryWebrefConceptNameMetadata", - "description": "Metadata attached to the name." - }, - "perMentionLightweightToken": { - "$ref": "RepositoryWebrefLightweightTokensPerMentionLightweightToken", - "description": "Provides concised access to all matched MatchedLightweightToken." - }, - "personalizationContextOutputs": { - "$ref": "RepositoryWebrefPersonalizationContextOutputs", - "description": "Additional personalization output scores about this mention." - }, - "priorProbability": { - "description": "The prior probability of the entity for this mention.", - "format": "float", - "type": "number" - }, - "referenceScore": { - "description": "Whether the mention is a reference (e.g. it could be resolved to an entity coming from personal data) or not, currently only used for personal resolutions. Scores from 0 (not a reference) to 1 (reference). Use at your own risk as they are subject to change, advised to talk to refx-personal first.", - "format": "float", - "type": "number" - }, - "resolutionScore": { - "description": "Whether the mention is a resolution or not, currently only used for personal resolutions. Scores from 0 (not a resolution) to 1 (resolution). Use at your own risk as they are subject to change, advised to talk to refx-personal first.", - "format": "float", - "type": "number" - }, - "stuff": { - "$ref": "Proto2BridgeMessageSet", - "description": "Assorted things that can be added to a Mention." - }, - "subsegmentIndex": { - "$ref": "RepositoryWebrefSubSegmentIndex", - "description": "Identifies the sub-segment where the annotation occurs. See SubSegmentIndex for details. Not present in QRef, also deprecated for URL segment types." - }, - "trustedNameConfidence": { - "description": "Confidence that this name is a trusted name of the entity. This is set only in case the confidence is higher than an internal threshold (see ConceptProbability).", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefMentionAdditionalExplainedRange": { - "description": "Additional ranges covered by the mention. Next available tag: 5", - "id": "RepositoryWebrefMentionAdditionalExplainedRange", - "properties": { - "begin": { - "description": "Like begin/end, begin_token_index/end_token_index above.", - "format": "int32", - "type": "integer" - }, - "beginTokenIndex": { - "format": "int32", - "type": "integer" - }, - "end": { - "format": "int32", - "type": "integer" - }, - "endTokenIndex": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryWebrefMentionComponent": { - "description": "Reference to a component of a compound mention. Next available tag: 5", - "id": "RepositoryWebrefMentionComponent", - "properties": { - "entityIndex": { - "description": "The indices to identify the entity within the WebrefEntities.entities, the segment within its EntityAnnotations.segment_mentions, and the mention within that segment. entity_index is always guaranteed to be set, but segment_mentions_index and mention_index are omitted if the component reference is implicit.", - "format": "int32", - "type": "integer" - }, - "isHeadComponent": { - "description": "The source of the compound has designated this component as the head. Only one of the components can be a head, but it's possible none are.", - "type": "boolean" - }, - "mentionIndex": { - "format": "int32", - "type": "integer" - }, - "segmentMentionsIndex": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryWebrefMentionCompoundMention": { - "description": "A single compound mention. Next available tag: 3", - "id": "RepositoryWebrefMentionCompoundMention", - "properties": { - "component": { - "description": "References to the component mentions which the MRF needs to be fully expanded. It is guaranteed that for a given set of components there exists only a single CompoundMention, i.e. the CompoundMentions are deduped to be unique so each set of components is present only once. The ArgumentValue of the WebrefEntity.mrf refer to these components via ComponentReference; it is guaranteed there are as many components as the MRF expression refers to.", - "items": { - "$ref": "RepositoryWebrefMentionComponent" - }, - "type": "array" - }, - "mrfIndex": { - "description": "The WebrefEntity.mrf indices which this compound applies to. There can be at most one CompoundMention which claims an MRF index, but it is possible there are MRF expressions which are not claimed by any CompoundMention.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefMentionDebugInfo": { - "id": "RepositoryWebrefMentionDebugInfo", - "properties": { - "cleanText": { - "description": "A clean version of text. This is mostly used for compatibility with other Goldmine annotators.", - "type": "string" - }, - "infoString": { - "description": "Optional debug information.", - "items": { - "type": "string" - }, - "type": "array" - }, - "snippet": { - "description": "A snippet of the parsed text (html tags removed) in the page around this mention. Useful for human evaluation of the quality of the annotations. Outputted by WebrefAnnotator if --webref_output_mention_snippet_size is set to a value greater than 0.", - "type": "string" - }, - "text": { - "description": "Original UTF-8 document text occurring in the range [begin, end).", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefMentionEvalInfo": { - "id": "RepositoryWebrefMentionEvalInfo", - "properties": { - "atmWeight": { - "description": "Weight of the mention used in the ATM score.", - "format": "float", - "type": "number" - }, - "rating": { - "description": "The aggregate numerical rating of this mention. 0.0 means completely incorrect, and 1.0 completely correct.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefMentionRatings": { - "description": "Per document mention ratings. Next id: 10", - "id": "RepositoryWebrefMentionRatings", - "properties": { - "begin": { - "description": "Byte offsets of the mention.", - "format": "uint32", - "type": "integer" - }, - "end": { - "format": "uint32", - "type": "integer" - }, - "mentionMatch": { - "deprecated": true, - "items": { - "enum": [ - "SUBPART", - "SUPER", - "EXACT" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "singleMentionRating": { - "items": { - "$ref": "RepositoryWebrefMentionRatingsSingleMentionRating" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefMentionRatingsSingleMentionRating": { - "description": "Next available tag: 11", - "id": "RepositoryWebrefMentionRatingsSingleMentionRating", - "properties": { - "isCorrectRange": { - "deprecated": true, - "description": "Set for mentions got from the new topicality template. True if the raters checked this range as being a good range for the entity. If the range is not correct we demote the mention score. This field is only used in template version V1. From template version V2 and forward it is now set via phrase_refer.", - "type": "boolean" - }, - "mentionMatch": { - "enum": [ - "SUBPART", - "SUPER", - "EXACT" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "mentionRelevant": { - "enum": [ - "NOT_RELEVANT", - "RELEVANT", - "CORRECT", - "NOT_VALID" - ], - "enumDescriptions": [ - "", - "", - "", - "Note that raters might give one of the above (valid) ratings even if the task is not readable. However, when the task is not readable, we override the EWOK rating with NOT_VALID." - ], - "type": "string" - }, - "phraseRefer": { - "enum": [ - "PHRASE_REFER", - "PHRASE_MAYBE_REFER", - "PHRASE_NOT_REFER" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "raterCanUnderstandTopic": { - "description": "Whether rater can understand the topic.", - "type": "boolean" - }, - "ratingSource": { - "description": "The source of the rating, possibly a golden set external to EWOK.", - "enum": [ - "RATING_SOURCE_UNKNOWN", - "RATING_SOURCE_EWOK", - "RATING_SOURCE_SAFT_GOLDEN", - "RATING_SOURCE_CROWDCOMPUTE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "resultCount": { - "format": "int32", - "type": "integer" - }, - "taskData": { - "$ref": "RepositoryWebrefTaskData" - }, - "topicMentionedInResult": { - "items": { - "enum": [ - "RESULT_MENTIONED", - "RESULT_MAYBE_MENTIONED", - "RESULT_NOT_MENTIONED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefMetaTagIndices": { - "description": "Identifies the source of the Meta Content Tag segment in the Cdoc https://www.w3schools.com/tags/tag_meta.asp", - "id": "RepositoryWebrefMetaTagIndices", - "properties": { - "index": { - "format": "int32", - "type": "integer" - }, - "metaName": { - "enum": [ - "OTHER", - "DESCRIPTION", - "KEYWORDS" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefNameDebugInfo": { - "description": "Collects signals from one query used for prior learning.", - "id": "RepositoryWebrefNameDebugInfo", - "properties": { - "candidates": { - "description": "List of per-candidate signals derived from annotation of this query.", - "items": { - "$ref": "RepositoryWebrefNameDebugInfoCandidateInfo" - }, - "type": "array" - }, - "query": { - "$ref": "RepositoryWebrefLocalizedString", - "description": "Query with region (language is set in parent NameInfo)." - }, - "weight": { - "description": "Query weight used in learning.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefNameDebugInfoCandidateInfo": { - "description": "Collects signals from one query and one candidate. Next available tag: 9", - "id": "RepositoryWebrefNameDebugInfoCandidateInfo", - "properties": { - "isMatchlessResultContext": { - "description": "Whether the entity is purely from strong result entities, and is matchless in query annotation.", - "type": "boolean" - }, - "mid": { - "description": "Mid of the candidate entity or empty string for the full world.", - "type": "string" - }, - "name": { - "description": "Debug name of the entity (not usually populated).", - "type": "string" - }, - "resultEntityScore": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefNameInfo": { - "description": "Represents all information we have about a specific/localized name. Next available tag: 13. NOTE: If you add a field to the NameInfo proto and wish to retain it *after* the GlobalNameInfo merging steps in //r/w/enricher/pipeline:topic-enricher-flume-main then the appropriate combining logic for turning a flume stream of NameInfo protos into a single NameInfo must be updated with the new field in mind, in either or both of CombineContextNameInfosFn/CombineNameInfosFn. If not, the newly added field will be ignored during the merging steps (presumably because it is a transient field or a debug field that is not necessary to be retained).", - "id": "RepositoryWebrefNameInfo", - "properties": { - "aggregatedScores": { - "$ref": "RepositoryWebrefAggregatedEntityNameScores", - "description": "The score aggregated from all sources." - }, - "annotatedCategory": { - "description": "Information on categories annotated on the range.", - "items": { - "$ref": "RepositoryWebrefAnnotatedCategoryInfo" - }, - "type": "array" - }, - "debugDetails": { - "description": "DEBUG ONLY: stores a list of queries with per-candidate scores about signals used for prior learning.", - "items": { - "$ref": "RepositoryWebrefNameDebugInfo" - }, - "type": "array" - }, - "includeInModel": { - "description": "Field which decides if this NameInfo should be included in model creation.", - "type": "boolean" - }, - "name": { - "$ref": "RepositoryWebrefLocalizedString", - "description": "The specific name to which this information applies." - }, - "ngramData": { - "$ref": "RepositoryWebrefUniversalNgramData", - "description": "N-gram data (e.g. n-gram IDF)." - }, - "perNameLightweightToken": { - "$ref": "RepositoryWebrefLightweightTokensPerNameLightweightToken", - "description": "Lightweight token semantic metadata for inflected name." - }, - "scores": { - "$ref": "RepositoryWebrefNameScores", - "description": "The name-specific scores. These scores only depend on the name and are independent of the entity." - }, - "source": { - "description": "The per-source scores.", - "items": { - "$ref": "RepositoryWebrefEntityNameSource" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefNameScores": { - "description": "Represents some name-specific scores. (Unlike EntityNameScore, these scores are independent of the entities the name is associated with). These scores are available for each name as well as for each name/source. Next available tag: 31.", - "id": "RepositoryWebrefNameScores", - "properties": { - "completeWorldVolume": { - "description": "Approximates volume of this name including entities we don't have in our set. This is useful to estimate the size of the \"open world\". For example, this field can be equal to the total number of clicks for the query. Note that for now, we ignore the number of clicks but just use the idf if available.", - "format": "float", - "type": "number" - }, - "contextFringeScore": { - "description": "The fringe score in [0, 1] for this context name. This is only populated for full-query context names.", - "format": "float", - "type": "number" - }, - "contextWeight": { - "description": "The amount of evidence available for this context name.", - "format": "float", - "type": "number" - }, - "idfScore": { - "description": "The idf of this name.", - "format": "float", - "type": "number" - }, - "openWorldVolumeModifier": { - "description": "'Raw' open world is computed based on ngram count data. For some names however, we modify the open world based on entities associated with them. This field contains the additive open world modifier. open_world_volume = raw open world + open_world_volume_modifier", - "format": "float", - "type": "number" - }, - "totalScore": { - "description": "The total score of that name/source. It describes how much data we have for that name/source. It can for example be the sum of all the entity scores for this name.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefNgramContext": { - "description": "An N-gram context encountered on the document.", - "id": "RepositoryWebrefNgramContext", - "properties": { - "mention": { - "description": "The entities that were annotated on the context", - "items": { - "$ref": "RepositoryWebrefNgramMention" - }, - "type": "array" - }, - "text": { - "description": "The context (original) text.", - "type": "string" - }, - "weight": { - "description": "The weight of the context on the document; depends on how many times we saw the string in the document.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefNgramMention": { - "description": "A mention that has been matched in the context (or a substring of it).", - "id": "RepositoryWebrefNgramMention", - "properties": { - "mid": { - "description": "The entity the mention was referring to.", - "type": "string" - }, - "score": { - "description": "The average score the mention was given across all occurrences of the n-gram.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefOysterType": { - "description": "Oyster type information.", - "id": "RepositoryWebrefOysterType", - "properties": { - "featureType": { - "description": "The Oyster feature type, which provides a rough categorization. This is a value of the enum geostore.FeatureProto.TypeCategory.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryWebrefPerDocRelevanceRating": { - "description": "Per document ratings relevance ratings. Next id: 21.", - "id": "RepositoryWebrefPerDocRelevanceRating", - "properties": { - "contentRelevant": { - "enum": [ - "NONE", - "NOT_APPLICABLE", - "NOT_RELEVANT", - "BARELY_RELEVANT", - "RELEVANT", - "IMPORTANT", - "VITAL" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "displayString": { - "description": "How this rating is displayed in the evals, pre-computed from the other fields.", - "type": "string" - }, - "furballUrl": { - "description": "The url of the ewok task that resulted in this rating. Example: https://furball.corp.google.com/project/view-item?itemId=1\u0026projectId=2", - "type": "string" - }, - "itemId": { - "format": "uint64", - "type": "string" - }, - "pageIsAboutChain": { - "description": "If the topic is about a business chain, whether the", - "enum": [ - "PAGE_IS_ABOUT_CHAIN_NONE", - "NOT_SAME_CHAIN_AS_TOPIC", - "ALL_LOCATIONS_OF_TOPIC_CHAIN", - "SEVERAL_LOCATIONS_OF_TOPIC_CHAIN", - "EXACT_LOCATION_OF_TOPIC_CHAIN", - "DIFFERENT_LOCATION_OF_TOPIC_CHAIN" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "projectId": { - "description": "Metadata for task-level ratings. Not filled for aggregated doc-level ratings. ", - "format": "uint64", - "type": "string" - }, - "raterCanUnderstandTopic": { - "description": "Whether rater can understand the topic.", - "type": "boolean" - }, - "taskDetails": { - "$ref": "RepositoryWebrefTaskDetails" - }, - "taskId": { - "format": "uint64", - "type": "string" - }, - "topicIsChain": { - "description": "Whether the topic is about a business chain.", - "enum": [ - "TOPIC_IS_ABOUT_CHAIN_NONE", - "CHAIN_SPECIFIC_LOCATION", - "CHAIN_ENTITY", - "NOT_CHAIN", - "UNSURE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefPerDocRelevanceRatings": { - "description": "Aggregates ratings by url/doc_fp.", - "id": "RepositoryWebrefPerDocRelevanceRatings", - "properties": { - "docFp": { - "description": "- In topicality ratings this is Fingerprint2011() of the normalized cdoc. - In query-mention ratings this is a hash of the QueryJoin. - In doc-content-mention ratings this is a hash of a QueryJoin in which the mention rating task has been embedded. - ", - "format": "uint64", - "type": "string" - }, - "entityNameRating": { - "items": { - "$ref": "RepositoryWebrefEntityNameRatings" - }, - "type": "array" - }, - "mentionRating": { - "items": { - "$ref": "RepositoryWebrefMentionRatings" - }, - "type": "array" - }, - "taskLevelRating": { - "items": { - "$ref": "RepositoryWebrefPerDocRelevanceRating" - }, - "type": "array" - }, - "url": { - "description": "- In topicality ratings this is the url of the document. - In query-mention ratings this is the query in format \"en:US:query text\". - In doc-content-mention ratings this is %x:%s where %x is the hex doc_fp of the cdoc (TODO(b/139799592) or sometimes the doc_fp below), and %s is the text of the eval range. - In entity-name ratings this is the MID of the entity.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefPersonalizationContextOutput": { - "description": "Key-Value-like message to store values associated with a personalization type. Next id: 3", - "id": "RepositoryWebrefPersonalizationContextOutput", - "properties": { - "score": { - "description": "Score corresponding to some kind of biasing strength which was applied. The exact semantics of this score is subject to further changes. Don't make assumptions about specific values or ranges. Values \u003e 0 represents that a boost was applied. Values \u003c 0 represents that a penalty was appled.", - "format": "float", - "type": "number" - }, - "type": { - "enum": [ - "UNKNOWN", - "USER_CORRECTIONS", - "MEDIA_HISTORY", - "ANIMA_ENTITY_INTERESTS" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefPersonalizationContextOutputs": { - "description": "Details about personalization and contextual scoring decisions from Personalized Query Understanding (go/pqu). This message represents information about what kind of biasing was applied, including what type of data were used and how strongly. Intended to be used by client code for fine-tuning necessary ranking or triggering logic if it's not possible to rely on the aggregated annotation confidence alone. To minimize unwanted dependencies and incorrect usage of the data this proto has restricted visibility. Please reach out to refx-pqu@google.com if you want to have access. Next id: 2", - "id": "RepositoryWebrefPersonalizationContextOutputs", - "properties": { - "outputs": { - "description": "Detailed output scores per personalization type.", - "items": { - "$ref": "RepositoryWebrefPersonalizationContextOutput" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefPreprocessingNameEntityMetadata": { - "description": "Metadata about a name. There are two metadata protos, whose content is meant to be similar but their usage different: NameEntityMetadata for readability and ConceptNameMetadata for size / decoding speed. NameEntityMetadata is propagated to GlobalNameInfo and EntityJoin tables, while ConceptNameMetadata is propagated from EntityJoins to the name matching tables and later to the Webref's/QRef's output. To add a new metadata field in the Names pipeline, and propagate it to EntityJoins and Names matching tables, it is necessary to: (1) Add the field to NameEntityMetadata, and a corresponding data representation in ConceptNameMetadata. (2) Populate the field in NameVariantSignals.name_metadata, from any source. This can be done in a corresponding NameProcessor. (3) Update the library name-metadata.h/cc to make sure that the metadata field is: a) merged correctly when merging two NameSignals; and b) transformed to the corresponding field in ConceptNameMetadata proto. Next available tag: 22.", - "id": "RepositoryWebrefPreprocessingNameEntityMetadata", - "properties": { - "isBypassedName": { - "description": "There is a limit of entities per name for which we can keep name signals and score. This flag is set to true for names that by-passed per-name-scoring, as there were too many entities for the name.", - "type": "boolean" - }, - "isCompoundName": { - "description": "This name is a generated compound name to pass primary pruning.", - "type": "boolean" - }, - "isCompoundRetrievalKey": { - "description": "Indicates special compound retrieval keys, like \"Compound $mid1 $mid2\"", - "type": "boolean" - }, - "isDictionaryTerm": { - "description": "This is set to true if the entity corresponds to a dictionary term.", - "type": "boolean" - }, - "isEventRetrievalKey": { - "description": "If true, this name is an event retrieval key.", - "type": "boolean" - }, - "isGeneratedName": { - "description": "This name is generated from other names.", - "type": "boolean" - }, - "isGeneratedStreetname": { - "description": "This name is a generated street name.", - "type": "boolean" - }, - "isHierarchyPropagated": { - "description": "This name is added by name propagation in hierarchy.", - "type": "boolean" - }, - "isIsbn": { - "description": "This name is an ISBN.", - "type": "boolean" - }, - "isLyricsContent": { - "description": "This name comes from recording lyrics content.", - "type": "boolean" - }, - "isPhoneNumber": { - "description": "This name is a phone number.", - "type": "boolean" - }, - "isRefconName": { - "description": "This name is used for refcon.", - "type": "boolean" - }, - "isReferenceName": { - "description": "This name is a reference name, only for internal usage, this name should not go into matching table without support of other signals.", - "type": "boolean" - }, - "isRefpageUrl": { - "description": "This name is the URL of a reference page.", - "type": "boolean" - }, - "isReverseUniquePropertyName": { - "description": "This name is generated from a reverse unique property of the entity.", - "type": "boolean" - }, - "isStrongIdentifier": { - "description": "This name is a strong identifier for this entity.", - "type": "boolean" - }, - "isSynonymOrFuzzyMatch": { - "description": "Set if the name is coming from synonyms.", - "type": "boolean" - }, - "isTrustedAllcapsName": { - "description": "If true, this name is a trusted name if it is in ALLCAPS.", - "type": "boolean" - }, - "isUnnormalizedName": { - "description": "If true, do not do tokenization when compute fprint hash for this name.", - "type": "boolean" - }, - "notGeneratedName": { - "description": "This name is clearly not generated(aka. at least one source of this name is not generated). This field is added for simplifying generated name tag while merging. Do not use this metadata directly.", - "type": "boolean" - }, - "originalNames": { - "$ref": "RepositoryWebrefPreprocessingOriginalNames", - "description": "Original versions of the name (before normalization). Used as query for the entity by Explicit Entity Search." - }, - "suppressTokenization": { - "description": "Whether or not to suppress tokenization on this name.", - "type": "boolean" - } - }, - "type": "object" - }, - "RepositoryWebrefPreprocessingNameEntityScores": { - "description": "Abstract, source independent scores. Next available tag: 7", - "id": "RepositoryWebrefPreprocessingNameEntityScores", - "properties": { - "priorScore": { - "description": "An unnormalized measure of how much evidence we have that this name variant refers to the key entity. Should be comparable to all scores from the same source for: - other entities having the same name variant - the open world score computed for this name variant", - "format": "double", - "type": "number" - }, - "volumeBasedScore": { - "description": "Prior score come from source that is quantifiable. artificial_score = prior_score - volume_based_score.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefPreprocessingNameVariantSignals": { - "description": "Next available tag: 33.", - "id": "RepositoryWebrefPreprocessingNameVariantSignals", - "properties": { - "scores": { - "$ref": "RepositoryWebrefPreprocessingNameEntityScores", - "description": "Common prior_score/trust proto This field is shared by all sources providing this kind of data, the information has to be considered in context with the source." - }, - "source": { - "description": "The source of this NameVariantSignals proto", - "enum": [ - "INVALID", - "KG", - "KG_NAME", - "KG_ALIAS", - "KG_ISBN13", - "KG_GTIN", - "KG_STOCK_TICKER", - "KG_AVIATION", - "KG_TRUSTED_ALIAS", - "KG_CHEMICAL_SYMBOL", - "KG_RADIO_STATION", - "KG_REVERSE_UNIQUE_PROPERTY", - "KG_TRANSIT_STATION_CODE", - "KG_SYMBOL", - "KG_ALLCAPS_NAME", - "KG_NICKNAME", - "KG_WORDGRAPH_NAME", - "KG_SOCIAL_PROFILE_ID", - "KG_SOCIAL_PROFILE_SITECHUNK", - "ENTITY_NAME_TRANSLATIONS_GENERATOR", - "MAPFACTS", - "MAPFACTS_PHONENUMBER", - "MAPFACTS_STREET_NAME_GENERATOR", - "MAPFACTS_FUZZY_PHONENUMBER", - "MAPFACTS_NAME_GENERATOR", - "MAPFACTS_GEOCODES_ADDRESS_LINES", - "MAPFACTS_GEOCODES_UNLINKED", - "MAPFACTS_TRIMMED_POSTAL_CODE", - "MAPFACTS_MERGED_POSTAL_CODE", - "MAPFACTS_POSTAL_CODE_WITH_COUNTRY_CODE", - "MAPFACTS_TRANSIT_LINE_NAME_GENERATOR", - "MAPFACTS_HOUSE_ID", - "CDOCS", - "CDOCS_ANCHOR", - "CDOCS_NAVBOOST", - "CDOCS_REFERENCE_PAGE_URL", - "WIKIJOINS", - "WIKIDATA_AKA", - "WIKIDATA_LABEL", - "PRODUCT", - "PRODUCT_TITLE", - "PRODUCT_MANUFACTURER_PART_NUMBER", - "PRODUCT_MODEL_VARIATION", - "PRODUCT_COMPANY_OR_BRAND_STRIPPING", - "PRODUCT_AGGRESSIVE_STRIP", - "PRODUCT_AGGRESSIVE_BRAND_STRIP", - "SCORER", - "SCORER_CATEGORICAL_NAME_SUPPRESSOR", - "SCORER_BAD_SUBNAME_DEMOTION", - "SCORER_YEAR_NAME_DEMOTION", - "SCORER_NAME_BLACKLIST", - "NAME_LEAKAGE_PREVENTION", - "INCOMPATIBLE_NUMBER_DEMOTION", - "BAD_STRIPPED_NAME", - "BAD_FRINGE_NAME", - "BAD_PERSON_NAME", - "PERSON_NAME_GENERATOR", - "PERSON_NAME_GENERATOR_WITH_INITIALS", - "INJECTED", - "AFFIXED_NAME_GENERATOR", - "BUSINESS_SUFFIX_STRIPPED_NAME", - "CHAIN_NAME_GENERATOR", - "LOCATION_STRIPPED_NAME", - "PUNCTUATION_STRIPPED_NAME", - "LEXICON_GENERATOR", - "COMPOUND_NAME", - "INDIC_NORMALIZER", - "STRIP_FIRST_STOPWORD", - "MIX_CASE_NORMALIZE", - "MOVIE_YEAR", - "STRIP_IMPLICATION", - "MIX_STRIP", - "OYSTER_NAME", - "STRIP_WIKI", - "CIVICS_NAME_GENERATOR", - "STRIPPED_THEATER_NAME", - "NUMBER_VARIANT_GENERATOR", - "PERSONAL_MEDIA_NAME_GENERATOR", - "MRF_INDEXING_NAME_TV_SHOWS", - "MATCH_WITH_MIDDLE_INITIALS", - "COMBINED" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "KG aliases that were manually generated, e.g. SxEy names for TV episodes", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Translations are injected into the model from a static sstable found here: /namespace/webref/static-data/entity-name-translations/", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Postal codes with a prefixed country code, e.g. I 39303, A 6604, CH 8005.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Scorer that checks and kills year-like names.", - "", - "", - "", - "", - "", - "", - "", - "", - "This source is used for names injected in the name pipeline. This injection is a shortcut to get names in the model and should only be used as a temporary solution waiting to either put the names in KG or mine them directly in this pipeline.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Names used for entity retrieval by MRF.", - "Name is matched on middle initials.", - "Source indicating a composition of signal sources." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefPreprocessingOriginalNames": { - "id": "RepositoryWebrefPreprocessingOriginalNames", - "properties": { - "count": { - "description": "The total number of original names that a normalized name has (all versions from all different sources).", - "format": "int32", - "type": "integer" - }, - "name": { - "items": { - "$ref": "RepositoryWebrefPreprocessingOriginalNamesOriginalName" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefPreprocessingOriginalNamesOriginalName": { - "id": "RepositoryWebrefPreprocessingOriginalNamesOriginalName", - "properties": { - "count": { - "description": "The total number of different sources from where this version of the original name comes from.", - "format": "int32", - "type": "integer" - }, - "score": { - "description": "Score estimating how good this original name is: - some sources are considered more authoritative than others (e.g. KG) - a name found in more sources is better.", - "format": "double", - "type": "number" - }, - "source": { - "description": "The sources this name comes from.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "text": { - "description": "One original name version.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefPreprocessingUrlMatchingMetadata": { - "description": "Proto with metadata related to why a particular cdoc was selected for an entityjoin.", - "id": "RepositoryWebrefPreprocessingUrlMatchingMetadata", - "properties": { - "source": { - "description": "The sources the url was suggested by.", - "items": { - "$ref": "RepositoryWebrefPreprocessingUrlSourceInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefPreprocessingUrlSourceInfo": { - "description": "Information about where the url comes from.", - "id": "RepositoryWebrefPreprocessingUrlSourceInfo", - "properties": { - "originalUrl": { - "type": "string" - }, - "source": { - "enum": [ - "SOURCE_UNKNOWN", - "KG", - "KG_TRUSTED", - "WIKIJOIN", - "PRODUCT_OFFER", - "OYSTER_FEATURE", - "MINED_REFERENCE_PAGE", - "WEBREF_YEAR", - "LYRICS_REFERENCE_PAGE", - "KG_WEAK_DATA", - "RELATED_PAGE", - "MINED_RELATED_PAGE", - "KG_SOCIAL_PROFILE", - "DEEP_LINK" - ], - "enumDescriptions": [ - "", - "", - "From kg topic and has trusted provenance (e.g. ziki-basic, hume-curry).", - "", - "", - "", - "Since cl/142284568 this field represents also book reference pages.", - "Wikipedia URLs for webref year topic.", - "Reference pages for songs mined by matching content of lyrics pages to the known lyrics of a song. NOTE: The pipeline that produces these is maintained by the kg-music@.", - "From kg topic and all provenances were marked as go/weak-data.", - "The URL of a webpage related to this entity. The page should contain information about this entity, but this entity does not need to be central to it. Examples would be news stories in which this entity figures. RELATED_PAGE are provided by clients and MINED_RELATED_PAGE are mined programmatically (go/related-pages).", - "", - "Url to a social profile belonging to the entity as read from KG.", - "Extracted from deep link triples (media entities)." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefProcessorCounter": { - "description": "A single processor counter stored as a pair of the counter name and the value.", - "id": "RepositoryWebrefProcessorCounter", - "properties": { - "name": { - "type": "string" - }, - "value": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryWebrefProcessorTiming": { - "description": "Processor timings as produced by NestedPerfCounter, see google3/repository/webref/base/nested-perf-counter.h.", - "id": "RepositoryWebrefProcessorTiming", - "properties": { - "cpuInstructions": { - "description": "Cpu instructions spent.", - "format": "int64", - "type": "string" - }, - "name": { - "description": "A string identifying the processor timing context.", - "type": "string" - }, - "processorCounters": { - "description": "Document counters defined by processors. A processor can add and increment counters with NestedPerfCounter::IncrementCounterBy. See go/webref-annotator-metrics.", - "items": { - "$ref": "RepositoryWebrefProcessorCounter" - }, - "type": "array" - }, - "processorTimings": { - "description": "Nested measurements, see NestedPerfCounter::ScopedPerfCounter.", - "items": { - "$ref": "RepositoryWebrefProcessorTiming" - }, - "type": "array" - }, - "wallTimeNs": { - "description": "Wall time (in nanoseconds).", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefProductMetadata": { - "description": "Products-specific information about the entity. Only available in QrefMetadata output. Next available tag: 16.", - "id": "RepositoryWebrefProductMetadata", - "properties": { - "productLineId": { - "description": "Shopping product line ids (typically moka product line tag) of this entity. Represents shopping product lines, such as iPhone or Canon EOS. Typically, we expect only one id. But keeping repeated, in case we want to merge or aggregate product lines. Using int64, as tag_id in commerce/datastore/processors/moka/proto/moka_annotations.proto.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "shoppingIds": { - "$ref": "KnowledgeAnswersIntentQueryShoppingIds", - "description": "All ShoppingIds for this MID that need to be copied to IntentQuery (FunctionCall) if this MID is used in intent generation. See go/iql-shopping-ids for details." - }, - "variantClusterId": { - "description": "All unique variant cluster ids (shopping's GPCs) of this entity.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefQueryIndices": { - "description": "Identifies a set of NavBoost queries in the CompositeDoc. Typically these queries were collapsed by WebRef into a single query and they were treated by the annotator as equivalent. They all contain the same mentions (at the same offsets).", - "id": "RepositoryWebrefQueryIndices", - "properties": { - "featuresIndex": { - "description": "The set of indices in the NavBoostQuery::features() array that belong to the collapsed features.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "queriesIndex": { - "description": "The index of the query in NavBoostDocument::queries() array.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryWebrefRangeAnnotations": { - "description": "The fields hold \"non-entity\" annotations of text.", - "id": "RepositoryWebrefRangeAnnotations", - "properties": { - "segmentMentions": { - "description": "The actual mentions. Note SegmentMentions contains some fields specific to entity annotation, and those are typically not populated here.", - "items": { - "$ref": "RepositoryWebrefSegmentMentions" - }, - "type": "array" - }, - "type": { - "description": "The type of ranges contained in this message.", - "enum": [ - "STOPWORDS", - "SHOPPING_STOPWORDS" - ], - "enumDescriptions": [ - "In some annotation modes, we mark which fields are considered stopwords, that is terms that do not alter the entity meaning of the query.", - "QPrime stopwords." - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefRangeMetadata": { - "description": "Metadata keeper for an annotated range of a segment. Next available tag: 3.", - "id": "RepositoryWebrefRangeMetadata", - "properties": { - "beginOffset": { - "description": "Start index of range (within the segment) being annotated.", - "format": "uint32", - "type": "integer" - }, - "tokenCount": { - "description": "Number of tokens in the range being annotated.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryWebrefRefconDocumentMentionSpans": { - "description": "Encapsulates the textual mention spans extracted from a document, split per token.", - "id": "RepositoryWebrefRefconDocumentMentionSpans", - "properties": { - "mentionSpan": { - "description": "Per token mention spans.", - "items": { - "$ref": "RepositoryWebrefRefconMentionSpans" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefRefconMentionSpans": { - "description": "Describes a mention annotated by Webref in the given document.", - "id": "RepositoryWebrefRefconMentionSpans", - "properties": { - "segment": { - "deprecated": true, - "description": "Segment types in which the mention appears. Now deprecated, because we only care about CONTENT segments.", - "items": { - "enum": [ - "CONTENT", - "ANCHOR", - "QUERY", - "URL", - "TITLE", - "IMAGE_QUERY", - "PASSAGE_QUERY", - "CONTEXT_ENTITY", - "CONTEXT_QUERY", - "SPORE_GRAPH", - "META_CONTENT_TAG", - "IMG_ALT_TAG", - "INSTANT_QUERY", - "VIDEO_TRANSCRIPT", - "VIDEO_OCR", - "IMAGE_OCR", - "LENS", - "VIDEO_DESCRIPTION" - ], - "enumDescriptions": [ - "The document content (excluding the title) or the text of the query.", - "One of the anchors of the document.", - "One of the navboost queries pointing to the document.", - "The document URL.", - "The title of the document.", - "One of the image navboost queries pointing to an image in the document.", - "Query from passage query annotations.", - "Contextual entity injected by an outside attachment. For details, see go/webref-priors.", - "Contextual query that can be provided in Qref.", - "Names and URLs from Spore GraphAnnotations.", - "The content-value of the tags \"description\" and \"keyword\".", - "The content of alt text in tags.", - "One of the instant navboost queries of the document. They can be found in cdoc.doc_attachments().GetExtension(InstantNavBoostDocument:: message_set_extension).instant_nav_boost_document().", - "The transcript of a video.", - "The ocr text of a video.", - "The ocr text of an image.", - "Fake segment that contains all Lens entity mids in a given image.", - "The video description coming from VideoScoringSignal" - ], - "type": "string" - }, - "type": "array" - }, - "shortToken": { - "description": "Fingerprinted tokens which form the mention span. We are using 32-bit instead of usual 64bit fingerprints - this greatly reduces the memory footprint while still keeping the chance of collision reasonably low for our specific use case (1 in 4 billion).", - "items": { - "format": "uint32", - "type": "integer" - }, - "type": "array" - }, - "token": { - "deprecated": true, - "description": "Fingerprinted tokens which form the mention span.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefRefconQueryStats": { - "description": "Contains high level search query statistics of the document.", - "id": "RepositoryWebrefRefconQueryStats", - "properties": { - "aggregatedQueryCount": { - "description": "Total query count for the document from all the query terms. Can be used to estimate the popularity of the document.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefRefconRefconDocumentMetadata": { - "description": "Encapsulates additional CDoc metadata needed by Refcon.", - "id": "RepositoryWebrefRefconRefconDocumentMetadata", - "properties": { - "queryStats": { - "$ref": "RepositoryWebrefRefconQueryStats" - } - }, - "type": "object" - }, - "RepositoryWebrefRefconRefconNameInfo": { - "description": "Refcon name representation in split concepts sstable. This is a simplified version of repository_webref.GlobalNameInfo.", - "id": "RepositoryWebrefRefconRefconNameInfo", - "properties": { - "confidence": { - "format": "float", - "type": "number" - }, - "idfScore": { - "format": "float", - "type": "number" - }, - "isGeneratedName": { - "type": "boolean" - }, - "isI18nName": { - "type": "boolean" - }, - "isStrongIdentifier": { - "type": "boolean" - }, - "isTranslatedName": { - "type": "boolean" - }, - "language": { - "description": "Languages of the name, unknown language is not kept. TODO(b/145976266) Don't use the deprecated language enum.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "namePrior": { - "description": "Name prior to use. We read this from the prior for the \"unknown\" language.", - "format": "float", - "type": "number" - }, - "normalizedName": { - "description": "The normalized name.", - "type": "string" - }, - "originalName": { - "description": "Filled only if different than normalized_name.", - "type": "string" - }, - "score": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefReferencePageScores": { - "description": "Signals used for mining new reference pages, set by the reference-page-scorer processor.", - "id": "RepositoryWebrefReferencePageScores", - "properties": { - "bookScore": { - "description": "Stores score for later offline voting to choose reference pages. If zero, it's not a good book reference page.", - "format": "float", - "type": "number" - }, - "referencePageScore": { - "description": "Reference page score used to select the reference page owner.", - "format": "float", - "type": "number" - }, - "selected": { - "description": "True if the entity is selected as the reference page owner.", - "type": "boolean" - }, - "singleTopicness": { - "description": "A score in [0, 1] which indicates the single topicness of the entity.", - "format": "float", - "type": "number" - }, - "singleTopicnessV2": { - "description": "This should have the same semantic as single_topicness, and should replace it in the long term.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefSegmentMention": { - "description": "A single Mention within a segment as defined by SegmentMentions.SegmentType", - "id": "RepositoryWebrefSegmentMention", - "properties": { - "mention": { - "$ref": "RepositoryWebrefMention" - }, - "segmentType": { - "enum": [ - "CONTENT", - "ANCHOR", - "QUERY", - "URL", - "TITLE", - "IMAGE_QUERY", - "PASSAGE_QUERY", - "CONTEXT_ENTITY", - "CONTEXT_QUERY", - "SPORE_GRAPH", - "META_CONTENT_TAG", - "IMG_ALT_TAG", - "INSTANT_QUERY", - "VIDEO_TRANSCRIPT", - "VIDEO_OCR", - "IMAGE_OCR", - "LENS", - "VIDEO_DESCRIPTION" - ], - "enumDescriptions": [ - "The document content (excluding the title) or the text of the query.", - "One of the anchors of the document.", - "One of the navboost queries pointing to the document.", - "The document URL.", - "The title of the document.", - "One of the image navboost queries pointing to an image in the document.", - "Query from passage query annotations.", - "Contextual entity injected by an outside attachment. For details, see go/webref-priors.", - "Contextual query that can be provided in Qref.", - "Names and URLs from Spore GraphAnnotations.", - "The content-value of the tags \"description\" and \"keyword\".", - "The content of alt text in tags.", - "One of the instant navboost queries of the document. They can be found in cdoc.doc_attachments().GetExtension(InstantNavBoostDocument:: message_set_extension).instant_nav_boost_document().", - "The transcript of a video.", - "The ocr text of a video.", - "The ocr text of an image.", - "Fake segment that contains all Lens entity mids in a given image.", - "The video description coming from VideoScoringSignal" - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefSegmentMentions": { - "description": "Annotations of a single docjoin segment. A CDoc has several distinct data types which we call \"segments\" (see SegmentType for complete list). SegmentMentions contains all the mentions for a given (document, segment) pair. For queries there is only a single CONTENT segment.", - "id": "RepositoryWebrefSegmentMentions", - "properties": { - "mention": { - "description": "A list of all the places the entity in question was annotated within this segment. The (indexing.annotations.goldmine) option is for Goldmine AnnotationsFinder to include Mention only when segment_type=\"CONTENT\"", - "items": { - "$ref": "RepositoryWebrefMention" - }, - "type": "array" - }, - "segmentType": { - "enum": [ - "CONTENT", - "ANCHOR", - "QUERY", - "URL", - "TITLE", - "IMAGE_QUERY", - "PASSAGE_QUERY", - "CONTEXT_ENTITY", - "CONTEXT_QUERY", - "SPORE_GRAPH", - "META_CONTENT_TAG", - "IMG_ALT_TAG", - "INSTANT_QUERY", - "VIDEO_TRANSCRIPT", - "VIDEO_OCR", - "IMAGE_OCR", - "LENS", - "VIDEO_DESCRIPTION" - ], - "enumDescriptions": [ - "The document content (excluding the title) or the text of the query.", - "One of the anchors of the document.", - "One of the navboost queries pointing to the document.", - "The document URL.", - "The title of the document.", - "One of the image navboost queries pointing to an image in the document.", - "Query from passage query annotations.", - "Contextual entity injected by an outside attachment. For details, see go/webref-priors.", - "Contextual query that can be provided in Qref.", - "Names and URLs from Spore GraphAnnotations.", - "The content-value of the tags \"description\" and \"keyword\".", - "The content of alt text in tags.", - "One of the instant navboost queries of the document. They can be found in cdoc.doc_attachments().GetExtension(InstantNavBoostDocument:: message_set_extension).instant_nav_boost_document().", - "The transcript of a video.", - "The ocr text of a video.", - "The ocr text of an image.", - "Fake segment that contains all Lens entity mids in a given image.", - "The video description coming from VideoScoringSignal" - ], - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefSemanticDateRange": { - "description": "A date range for an entity. E.g. lifespan of a person, release date of a movie, ...", - "id": "RepositoryWebrefSemanticDateRange", - "properties": { - "confidence": { - "description": "Indicates how confident we are this extracted range is relevant to a document (document to be infered from context).", - "format": "float", - "type": "number" - }, - "end": { - "description": "End date extracted from the entity along end_source_property.", - "type": "string" - }, - "endSourceProperty": { - "description": "KG-property that links the entity to the end date.", - "type": "string" - }, - "sourceEntityMid": { - "description": "Entity from which this range was extracted.", - "type": "string" - }, - "start": { - "description": "Start date extracted from the entity along start_source_property.", - "type": "string" - }, - "startSourceProperty": { - "description": "KG-property that links the entity to the start date.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefSimplifiedAnchor": { - "description": "Represents a subpart of the anchor data of the docjoins, but is much smaller. When we build this SimplifiedAnchor from the anchor data of the docjoins, by specifying the option separate_onsite_anchors to SimplifiedAnchorsBuilder, we can also separate the onsite anchors from the other (offdomain) anchors. So onsite anchors and offdomain anchors will have their own count, score, normalized score, and total volume (.._offdomain and .._onsite fields). For example, if there are 10 onsite anchors and 20 offdomain anchors for the anchor text \"mountain view\", then the count_from_onsite is 10, and the count_from_offdomain is 20 when we separate onsite anchors out. Otherwise (if we don't separate onsite anchors), the count is 30 (10 + 20) and we don't have values in the .._offdomain and .._onsite fields.", - "id": "RepositoryWebrefSimplifiedAnchor", - "properties": { - "anchorIndices": { - "$ref": "RepositoryWebrefAnchorIndices", - "description": "The set of (equivalent from WebRef point of view) anchors used to produce this segment." - }, - "anchorText": { - "$ref": "RepositoryWebrefLocalizedString", - "description": "The anchor text. Note that the normalized text is not populated." - }, - "count": { - "description": "The number of times we see this anchor text.", - "format": "uint64", - "type": "string" - }, - "countFromOffdomain": { - "description": "Count, score, normalized score, and volume of offdomain anchors.", - "format": "uint64", - "type": "string" - }, - "countFromOnsite": { - "description": "Count, score, normalized score, and volume of onsite anchors.", - "format": "uint64", - "type": "string" - }, - "normalizedScore": { - "description": "The normalized score, which is computed from the score and the total_volume.", - "format": "float", - "type": "number" - }, - "normalizedScoreFromOffdomain": { - "format": "float", - "type": "number" - }, - "normalizedScoreFromOnsite": { - "format": "float", - "type": "number" - }, - "score": { - "description": "The sum/aggregate of the anchor scores that have the same text.", - "format": "float", - "type": "number" - }, - "scoreFromFragment": { - "description": "The sum/aggregate of the anchor scores that direct to a fragment and have the same text.", - "format": "float", - "type": "number" - }, - "scoreFromOffdomain": { - "format": "float", - "type": "number" - }, - "scoreFromOffdomainFragment": { - "format": "float", - "type": "number" - }, - "scoreFromOnsite": { - "format": "float", - "type": "number" - }, - "scoreFromOnsiteFragment": { - "format": "float", - "type": "number" - }, - "scoreFromRedirect": { - "description": "The sum/aggregate of the anchor scores that direct to a different wiki title and have the same text. NOTE: url direct to a fragment score is not included in this value.", - "format": "float", - "type": "number" - }, - "totalVolume": { - "description": "The total score volume used for normalization.", - "format": "float", - "type": "number" - }, - "totalVolumeFromOffdomain": { - "format": "float", - "type": "number" - }, - "totalVolumeFromOnsite": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefSimplifiedAnchors": { - "id": "RepositoryWebrefSimplifiedAnchors", - "properties": { - "anchor": { - "items": { - "$ref": "RepositoryWebrefSimplifiedAnchor" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefSimplifiedCompositeDoc": { - "description": "Represents an information which is very close to composite doc, but compresses how the anchors are represented to save space. Next available tag: 18.", - "id": "RepositoryWebrefSimplifiedCompositeDoc", - "properties": { - "anchors": { - "$ref": "RepositoryWebrefSimplifiedAnchors", - "description": "The composite doc anchors trimmed and transformed in a smaller data structure and aggregated (if they have the exact same text)." - }, - "cdocContainer": { - "$ref": "Proto2BridgeMessageSet", - "description": "IMPORTANT: do not access this field directly, use the simplified-cdoc-access library functions to get the composite doc out of this proto." - }, - "documentMentionSpans": { - "$ref": "RepositoryWebrefRefconDocumentMentionSpans", - "description": "The composite doc spans which were annotated with entities by Webref." - }, - "forwardingDups": { - "description": "Forwarding dups generated by merging existing forwarding dups within cdoc_container and URLs from ReferencePageCandidateList. Populated only before writing to online CDocs Spanner table and used for keeping an index on non canonical URLs in table. [!] Do not use unless fetching CDocs from Enricher's online Spanner CDocs database knowledge-enricher-cdocs-spanner.", - "items": { - "$ref": "RepositoryWebrefSimplifiedForwardingDup" - }, - "type": "array" - }, - "matchingMetadata": { - "$ref": "RepositoryWebrefPreprocessingUrlMatchingMetadata", - "description": "Metadata related to why this doc was matched to its owning entity." - }, - "pageContent": { - "items": { - "type": "string" - }, - "type": "array" - }, - "refconDocumentMetadata": { - "$ref": "RepositoryWebrefRefconRefconDocumentMetadata", - "description": "Additional document metadata needed by Refcon." - }, - "sourceSnapshotType": { - "enum": [ - "BASE", - "DAILY", - "ALEXANDRIA_BASE_SNAPSHOTS", - "UNIFIED_ZEPPELIN", - "UNIFIED_ZEPPELIN_HIGH_QUALITY", - "UNIFIED_ZEPPELIN_MEDIUM_QUALITY", - "UNIFIED_ZEPPELIN_LOW_QUALITY", - "UNIFIED_LANDFILL", - "UZLQ_AND_UL", - "QUALITY_SWAP_BASE", - "QUALITY_SWAP_UNIFIED_ZEPPELIN", - "QUALITY_SWAP_UNIFIED_ZEPPELIN_HIGH_QUALITY", - "QUALITY_SWAP_UNIFIED_ZEPPELIN_MEDIUM_QUALITY", - "QUALITY_SWAP_UNIFIED_ZEPPELIN_LOW_QUALITY", - "QUALITY_SWAP_WEBSEARCH_MAIN", - "ADWORDS_BASE" - ], - "enumDescriptions": [ - "Rank: 0 - 10B", - "", - "Prefer BASE instead.", - "Rank: 10B - 100B", - "Rank: 10B - 20B", - "In the Docjoins repository (go/dj2qi), we split documents ranking from 10B to 100B into two corpora. UNIFIED_ZEPPELIN_MEDIUM_QUALITY is the tier that is only internally used by Docjoin access API, indicating the corpus with documents from 20B to 100B. Rank: 20B - 100B", - "Rank: 100B - 140B", - "Rank: 140B - 520B", - "In the Docjoins repository (go/dj2qi), we merge UZLQ and UL into one corpus. UZLQ_AND_UL tier is only interanlly used by Docjoin access API, indicating the corpus with documents covering UZLQ and UL. Please contact docjoin-access@ before you use it. Rank: 100B - 520B", - "Quality docjoins in Union. Note: To perform a read of the quality swap that roughly corresponds to BASE, you should read both QUALITY_SWAP_BASE and QUALITY_SWAP_FRESH.", - "", - "", - "", - "", - "", - "This is dead, but there are still several references to it in google3." - ], - "type": "string" - }, - "url": { - "description": "The URL, populated independently of whether we have a CompositeDoc proto. If the cdoc exists, the url is the same as CompositeDoc.doc.url.", - "type": "string" - }, - "webrefOutlinkInfos": { - "$ref": "RepositoryWebrefWebrefOutlinkInfos" - } - }, - "type": "object" - }, - "RepositoryWebrefSimplifiedForwardingDup": { - "id": "RepositoryWebrefSimplifiedForwardingDup", - "properties": { - "url": { - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefSubSegmentIndex": { - "description": "LINT.IfChange Some document segments may consist of multiple sub-segments (e.g. a document might have multiple anchors or navboost queries). SubSegmentIndex contains all information needed to identify the sub-segment (e.g. specific query, query feature or or anchor) where the mention is located.", - "id": "RepositoryWebrefSubSegmentIndex", - "properties": { - "anchorIndex": { - "$ref": "RepositoryWebrefAnchorIndices", - "description": "Pointer to the exact set of anchors in the cdoc." - }, - "genericIndex": { - "$ref": "RepositoryWebrefGenericIndices", - "description": "Pointer to the Webref-internal Segment indices. Can't be mapped back to the CDoc." - }, - "imageQueryIndex": { - "$ref": "RepositoryWebrefImageQueryIndices", - "description": "Pointer to the exact set of image navboost queries in the cdoc." - }, - "jgnIndex": { - "$ref": "RepositoryWebrefJuggernautIndices", - "description": "Pointer to the proto in the cdoc and index within the proto for Spore." - }, - "metaTagIndex": { - "$ref": "RepositoryWebrefMetaTagIndices", - "description": "Informs about the 'name' attribute of the referenced tag." - }, - "queryIndex": { - "$ref": "RepositoryWebrefQueryIndices", - "description": "Pointer to the exact set of queries in the cdoc." - } - }, - "type": "object" - }, - "RepositoryWebrefSupportTransferRule": { - "description": "Each SupportTransferRule proto represents a single STBR (go/stbr) rule. These rules are attached to entities (called STBR sources). Each rule attached to an STBR source talks about a single entity (called STBR target). If an STBR source gets annotated, its attached rules result in creation of annotations for corresponding STBR targets. An STBR source might have more than one STBR rule attached to it. STBR rules allow us to address cases where otherwise annotations for what people say do not match what people mean. For example, a query [france vs spain] uses names of countries while in sports context the query would actually be about national sports teams of those countries. In other words, STBR rules have meaning of \"in this particular context (see domain + target_collection fields below) a mention of this particular STBR source (the entity this rule is attached to) actually should be treated as that STBR target (see the target field below)\". To describe the meaning of STBR settings (proto fields below), we are going to use a hypothetical example of an STBR rule making Search stack treat annotations for /m/France as annotations for /m/Louis_XIV, since he was the one saying \"I am the state\". In this example /m/France is going to be the STBR source. NOTICE: When adding new fields also update client::support_transfer::SortDeterministically to ensure deterministic sorting of the SupportTransferRule objects. Next available tag: 11. LINT.IfChange", - "id": "RepositoryWebrefSupportTransferRule", - "properties": { - "allowWildcardIntents": { - "description": "If set to true, allow STBR targets to trigger intents like ShowEntity that do not have explicit lists of allowed collections, accepting entities with any collections instead. This setting together with target_collection define what intents are allowed to be triggered by the STBR target. Be careful with setting this option to 'true', as in the case of our example the query [france] would result in the knowledge panel for the monarch. Louis XIV might've wanted such a behaviour, but you are probably not him.", - "type": "boolean" - }, - "domain": { - "description": "Name of Aqua grammar domain this STBR rule is restricted to. If the domain is set to anything other than \"default\", the STBR rule is only going to result in an annotation for the STBR target inside of the Aqua domain of the corresponding name. If there is no such Aqua domain, the rule is going to be ignored. The default value of string \"default\" for domain makes it possible for the STBR rule to be used inside Loose Parser.", - "type": "string" - }, - "isReverseLink": { - "description": "Whether this rule points from an STBR target to its STBR source. This field is an internal implementation detail that is not configurable by customers. Inside QRewrite we have to keep track of relations between entities. Among other things it is useful to remember which STBR target a given STBR source came from. For that purpose we attach an STBR proto to the STBR target, reversing the rule, i.e, putting STBR source's mid as the target etc. For this reversed rule we set is_reverse_link to true.", - "type": "boolean" - }, - "mentionsOnly": { - "description": "STBR doesn't just create annotations for STBR targets. It also can modify search result support (useful in PostRef) in order for web pages supporting the STBR source to also support the STBR target. Otherwise in PostRef annotations for STBR targets are going to be demoted, resulting in the STBR rule potentially not affecting anything. Regarding treatment of this result support, STBR has 3 possible modes that for historical reasons are represented as 2 booleans - mentions_only and support_share. No more than one of these bools is supposed to be set to 'true' for a rule. Setting both to 'true' at once would lead to undefined behaviour. These 3 modes are: 1. (default) All the support gets assigned to the STBR target. The STBR source is left with no support. To be extra sure, interpretations that still managed to get triggered by STBR source are suppressed later unless STBR target has no interpretations of its own. In other words this is \"we are pretty sure that if France is mentioned in a query that might be talking about a person, we want to treat the query as if it is about Louis XIV\". This mode would result in a query [age of france] being treated as [age of louis xiv], while [population of france] still being about the country unless [population of louis xiv] matches some intents. For this mode both mentions_only and support_share should be set to 'false'. 2. Support is shared between STBR source ans STBR target. That allows both STBR source and STBR target to trigger some intents with KScorer later deciding which intent is better. In other words, this is \"when it is not clear whether a query is about France of Louis XIV, provide KScorer with both options and let it decide\". For this mode mentions_only should be set to 'false' and support_share should be set to 'true'. 3. While annotations for the STBR target are created, no support is given to those annotations. This is more like \"we are mostly sure that a mention of France is about the country, but just for a rare case it is about the monarch, we would like to have Louis XIV annotated\". For this mode mentions_only should be set to 'true' and support_share should be set to 'false'.", - "type": "boolean" - }, - "supportShare": { - "type": "boolean" - }, - "target": { - "description": "Mid of the STBR target, e.g. \"/m/04pwg\" for Louis XIV.", - "type": "string" - }, - "targetCollection": { - "$ref": "RepositoryWebrefKGCollection", - "description": "Collection that is going to be assigned to the target when the annotation for the target is created. This setting together with allow_wildcard_intents define what intents are allowed to be triggered by the STBR target. At the moment those annotations get created, we can not afford to fetch information about the STBR target from Topic Server, but the target mid by itself doesn't mean much for the Search stack. Setting up the collection for that annotated mid allows us to provide at least some information to the stack on how to treat the mid. This collection together with domain and allow_wildcard_intents fields (see below) defines what intents can be triggered by annotations created for this STBR target. Intents that accept only entities of specific collections can only be triggered if the value of this field matches one of the allowed collections for that intent. In our example, KGCollection.debug_id might be \"/collection/people\" if we care about context of the monarch as a person, e.g. if we would like to understand queries like [how many children does france have] as [how many childred does lous xiv have]. Or, if we would like to be more restrictive and to only apply the rule to contexts that only make sense for monarch, e.g. [how long did france reign], we might decide to use more specific \"/collection/monarchs\" instead." - }, - "userCountry": { - "description": "The user country this rule is for. Rules only take effect if the country is not set, set to an empty string or matches the country that is detected for the user - like the country user issued the query from. E.g. \"US\" for the United States.", - "type": "string" - }, - "userLanguage": { - "description": "User language this rule is for. Rules only take effect if the language is not set, set to an empty string or matches the language that is detected for the user's query. E.g. set it to \"en\" if you want the STBR rule to only work for users working from computers with English being set as the main language. Keep it unset if you want the rule not to depend on local language settings of user's computer.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefTaskData": { - "id": "RepositoryWebrefTaskData", - "properties": { - "isReadable": { - "description": "Signals about quality of data that was shown to raters. If document/query and concept description are readable.", - "type": "boolean" - }, - "itemId": { - "format": "uint64", - "type": "string" - }, - "projectId": { - "format": "uint64", - "type": "string" - }, - "taskDetails": { - "$ref": "RepositoryWebrefTaskDetails" - }, - "taskId": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefTaskDetails": { - "description": "Information about what the raters saw, how the information was presented to them, or how they interacted with the task. Next id: 6", - "id": "RepositoryWebrefTaskDetails", - "properties": { - "experimentId": { - "description": "The id of the experiment in case we are dealing with a refx data experiment. Should only be set in case of data experiments to gather topicality ratings, in order to allow separating these ratings from regular ratings.", - "type": "string" - }, - "lastSubmitTimestamp": { - "format": "int64", - "type": "string" - }, - "topicDescription": { - "type": "string" - }, - "topicName": { - "type": "string" - }, - "topicUrl": { - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefTripleAnnotation": { - "id": "RepositoryWebrefTripleAnnotation", - "properties": { - "confidenceScore": { - "description": "Triple annotation confidence_score (value between 0 and 1). Higher values correspond to higher confidence.", - "format": "float", - "type": "number" - }, - "isImplied": { - "description": "The information in this triple is implied by other triple(s) in the document.", - "type": "boolean" - }, - "kgVerified": { - "description": "Set to true if this triple is present in the webref model as either a link or property value. This implies that the information is in the Knowledge Graph. Note that it can happen that a triple is in KG but not present in the webref model.", - "type": "boolean" - }, - "mentions": { - "description": "Occurrences of the triple on the document", - "items": { - "$ref": "RepositoryWebrefTripleMention" - }, - "type": "array" - }, - "predMid": { - "description": "The mid of the predicate kg-property(-ies). In order, in the case of multihop links.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "stuff": { - "$ref": "Proto2BridgeMessageSet", - "description": "Generic container to hold additional data such as signals, debug data etc. Data that can be stored in this field and their TypeIds: repository_webref::evaluation::ECMDebug (TypeId 192627933), defined in repository/webref/evaluation/triple_annotations/triple-diff.proto Debugging data to be used in WebIt's ECM report." - }, - "triple": { - "$ref": "KnowledgeGraphTriple" - } - }, - "type": "object" - }, - "RepositoryWebrefTripleAnnotations": { - "description": "Represents a collection of triples annotated by Webref/Webit. Included in WebrefEntities", - "id": "RepositoryWebrefTripleAnnotations", - "properties": { - "annotations": { - "items": { - "$ref": "RepositoryWebrefTripleAnnotation" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefTripleMention": { - "id": "RepositoryWebrefTripleMention", - "properties": { - "predMention": { - "$ref": "RepositoryWebrefSegmentMention", - "description": "Document mention of the predicate" - }, - "scopeBegin": { - "description": "The [begin, end) byte offset of the document scope where this triple was annotated. This corresponds to a table row or a text sentence where the triple was identified. The sub_mention can be outside the scope when the subject is inferred from the table title.", - "format": "int32", - "type": "integer" - }, - "scopeEnd": { - "format": "int32", - "type": "integer" - }, - "scopeFprint": { - "description": "Fingerprint2011 of space-joined SAFT tokens in the scope.", - "format": "uint64", - "type": "string" - }, - "stuff": { - "$ref": "Proto2BridgeMessageSet", - "description": "Generic container to hold additional data such as triple scoped signals. Data that can be stored in this field and their TypeIds: repository_webref::universal::webit::ScopeSignals (TypeId 192754198), defined in repository/webref/universal/processors/understanding/webit.proto" - }, - "subMention": { - "$ref": "RepositoryWebrefSegmentMention", - "description": "Document mention of the subject" - }, - "valueMention": { - "$ref": "RepositoryWebrefSegmentMention", - "description": "Document mention of the value" - } - }, - "type": "object" - }, - "RepositoryWebrefUniversalNgramData": { - "description": "This proto is filled with n-gram data during model building.", - "id": "RepositoryWebrefUniversalNgramData", - "properties": { - "idf": { - "description": "IDF of the n-gram.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefWebrefAnnotationStats": { - "description": "Detailed statistics about the annotations in the document. Contains, for example, the number of ranges with name matches, the number of entities matched, and the number of entities with mentions. This information can be used to tune some WebRef-internal scoring functions based on existing annotations (e.g., document-length normalization in global link support). Next available tag: 10.", - "id": "RepositoryWebrefWebrefAnnotationStats", - "properties": { - "docWeight": { - "description": "The relative weight of the document, used when aggregating information from multiple documents.", - "format": "float", - "type": "number" - }, - "ngramContext": { - "description": "Extracted n-grams context scores (in cdoc language, weighted by doc_weight) output if webref_populate_annotation_ngrams is enabled.", - "items": { - "$ref": "RepositoryWebrefNgramContext" - }, - "type": "array" - }, - "numCandidates": { - "description": "The total number of candidates.", - "format": "int64", - "type": "string" - }, - "numConceptsWithCandidates": { - "description": "The total number of concepts with at least 1 candidate.", - "format": "int64", - "type": "string" - }, - "numConceptsWithMentions": { - "description": "The total number of concepts with at least 1 mention.", - "format": "int64", - "type": "string" - }, - "numRangesWithCandidates": { - "description": "The total number of RangeData objects with at least one candidate.", - "format": "int64", - "type": "string" - }, - "statsPerType": { - "description": "Statistics for each token type.", - "items": { - "$ref": "RepositoryWebrefAnnotationStatsPerType" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefWebrefAttachmentMetadata": { - "description": "Annotation metadata for an individual entity.", - "id": "RepositoryWebrefWebrefAttachmentMetadata", - "properties": { - "featureType": { - "description": "Oyster Feature Type.", - "enum": [ - "TYPE_ANY", - "TYPE_TRANSPORTATION", - "TYPE_ROUTE", - "TYPE_DEPRECATED_HIGHWAY_DO_NOT_USE", - "TYPE_HIGHWAY", - "TYPE_HIGHWAY_1", - "TYPE_HIGHWAY_2", - "TYPE_HIGHWAY_3", - "TYPE_HIGHWAY_4", - "TYPE_HIGHWAY_5", - "TYPE_HIGHWAY_6", - "TYPE_HIGHWAY_7", - "TYPE_HIGHWAY_8", - "TYPE_HIGHWAY_9", - "TYPE_BICYCLE_ROUTE", - "TYPE_TRAIL", - "TYPE_SEGMENT", - "TYPE_ROAD", - "TYPE_RAILWAY", - "TYPE_STANDARD_TRACK", - "TYPE_JR_TRACK", - "TYPE_NARROW_TRACK", - "TYPE_MONORAIL_TRACK", - "TYPE_SUBWAY_TRACK", - "TYPE_LIGHT_RAIL_TRACK", - "TYPE_BROAD_TRACK", - "TYPE_HIGH_SPEED_RAIL", - "TYPE_TROLLEY_TRACK", - "TYPE_FERRY", - "TYPE_FERRY_BOAT", - "TYPE_FERRY_TRAIN", - "TYPE_VIRTUAL_SEGMENT", - "TYPE_INTERSECTION", - "TYPE_TRANSIT", - "TYPE_TRANSIT_STATION", - "TYPE_BUS_STATION", - "TYPE_TRAMWAY_STATION", - "TYPE_TRAIN_STATION", - "TYPE_SUBWAY_STATION", - "TYPE_FERRY_TERMINAL", - "TYPE_AIRPORT", - "TYPE_AIRPORT_CIVIL", - "TYPE_AIRPORT_MILITARY", - "TYPE_AIRPORT_MIXED", - "TYPE_HELIPORT", - "TYPE_SEAPLANE_BASE", - "TYPE_AIRSTRIP", - "TYPE_CABLE_CAR_STATION", - "TYPE_GONDOLA_LIFT_STATION", - "TYPE_FUNICULAR_STATION", - "TYPE_SPECIAL_STATION", - "TYPE_HORSE_CARRIAGE_STATION", - "TYPE_MONORAIL_STATION", - "TYPE_SEAPORT", - "TYPE_TRANSIT_STOP", - "TYPE_TRANSIT_TRIP", - "TYPE_TRANSIT_DEPARTURE", - "TYPE_TRANSIT_LEG", - "TYPE_TRANSIT_LINE", - "TYPE_TRANSIT_AGENCY_DEPRECATED_VALUE", - "TYPE_TRANSIT_TRANSFER", - "TYPE_SEGMENT_PATH", - "TYPE_ROAD_SIGN", - "TYPE_INTERSECTION_GROUP", - "TYPE_PATHWAY", - "TYPE_RESTRICTION_GROUP", - "TYPE_TOLL_CLUSTER", - "TYPE_POLITICAL", - "TYPE_COUNTRY", - "TYPE_ADMINISTRATIVE_AREA", - "TYPE_ADMINISTRATIVE_AREA1", - "TYPE_US_STATE", - "TYPE_GB_COUNTRY", - "TYPE_JP_TODOUFUKEN", - "TYPE_ADMINISTRATIVE_AREA2", - "TYPE_GB_FORMER_POSTAL_COUNTY", - "TYPE_GB_TRADITIONAL_COUNTY", - "TYPE_ADMINISTRATIVE_AREA3", - "TYPE_ADMINISTRATIVE_AREA4", - "TYPE_ADMINISTRATIVE_AREA5", - "TYPE_ADMINISTRATIVE_AREA6", - "TYPE_ADMINISTRATIVE_AREA7", - "TYPE_ADMINISTRATIVE_AREA8", - "TYPE_ADMINISTRATIVE_AREA9", - "TYPE_COLLOQUIAL_AREA", - "TYPE_RESERVATION", - "TYPE_LOCALITY", - "TYPE_GB_POST_TOWN", - "TYPE_JP_GUN", - "TYPE_JP_SHIKUCHOUSON", - "TYPE_JP_SUB_SHIKUCHOUSON", - "TYPE_COLLOQUIAL_CITY", - "TYPE_SUBLOCALITY", - "TYPE_US_BOROUGH", - "TYPE_GB_DEPENDENT_LOCALITY", - "TYPE_JP_OOAZA", - "TYPE_JP_KOAZA", - "TYPE_JP_GAIKU", - "TYPE_GB_DOUBLE_DEPENDENT_LOCALITY", - "TYPE_JP_CHIBAN", - "TYPE_JP_EDABAN", - "TYPE_SUBLOCALITY1", - "TYPE_SUBLOCALITY2", - "TYPE_SUBLOCALITY3", - "TYPE_SUBLOCALITY4", - "TYPE_SUBLOCALITY5", - "TYPE_NEIGHBORHOOD", - "TYPE_CONSTITUENCY", - "TYPE_DESIGNATED_MARKET_AREA", - "TYPE_SCHOOL_DISTRICT", - "TYPE_LAND_PARCEL", - "TYPE_DISPUTED_AREA", - "TYPE_POLICE_JURISDICTION", - "TYPE_STATISTICAL_AREA", - "TYPE_CONSTITUENCY_FUTURE", - "TYPE_PARK", - "TYPE_GOLF_COURSE", - "TYPE_LOCAL_PARK", - "TYPE_NATIONAL_PARK", - "TYPE_US_NATIONAL_PARK", - "TYPE_US_NATIONAL_MONUMENT", - "TYPE_NATIONAL_FOREST", - "TYPE_PROVINCIAL_PARK", - "TYPE_PROVINCIAL_FOREST", - "TYPE_CAMPGROUNDS", - "TYPE_HIKING_AREA", - "TYPE_BUSINESS", - "TYPE_GOVERNMENT", - "TYPE_BORDER_CROSSING", - "TYPE_CITY_HALL", - "TYPE_COURTHOUSE", - "TYPE_EMBASSY", - "TYPE_LIBRARY", - "TYPE_SCHOOL", - "TYPE_UNIVERSITY", - "TYPE_EMERGENCY", - "TYPE_HOSPITAL", - "TYPE_PHARMACY", - "TYPE_POLICE", - "TYPE_FIRE", - "TYPE_DOCTOR", - "TYPE_DENTIST", - "TYPE_VETERINARIAN", - "TYPE_TRAVEL_SERVICE", - "TYPE_LODGING", - "TYPE_RESTAURANT", - "TYPE_GAS_STATION", - "TYPE_PARKING", - "TYPE_POST_OFFICE", - "TYPE_REST_AREA", - "TYPE_CASH_MACHINE", - "TYPE_CAR_RENTAL", - "TYPE_CAR_REPAIR", - "TYPE_SHOPPING", - "TYPE_GROCERY", - "TYPE_TOURIST_DESTINATION", - "TYPE_ECO_TOURIST_DESTINATION", - "TYPE_BIRD_WATCHING", - "TYPE_FISHING", - "TYPE_HUNTING", - "TYPE_NATURE_RESERVE", - "TYPE_TEMPLE", - "TYPE_CHURCH", - "TYPE_GURUDWARA", - "TYPE_HINDU_TEMPLE", - "TYPE_MOSQUE", - "TYPE_SYNAGOGUE", - "TYPE_STADIUM", - "TYPE_BAR", - "TYPE_MOVIE_RENTAL", - "TYPE_COFFEE", - "TYPE_GOLF", - "TYPE_BANK", - "TYPE_DOODLE", - "TYPE_GROUNDS", - "TYPE_AIRPORT_GROUNDS", - "TYPE_BUILDING_GROUNDS", - "TYPE_CEMETERY", - "TYPE_HOSPITAL_GROUNDS", - "TYPE_INDUSTRIAL", - "TYPE_MILITARY", - "TYPE_SHOPPING_CENTER", - "TYPE_SPORTS_COMPLEX", - "TYPE_UNIVERSITY_GROUNDS", - "TYPE_DEPRECATED_TARMAC", - "TYPE_ENCLOSED_TRAFFIC_AREA", - "TYPE_PARKING_LOT", - "TYPE_PARKING_GARAGE", - "TYPE_OFF_ROAD_AREA", - "TYPE_BORDER", - "TYPE_BUILDING", - "TYPE_GEOCODED_ADDRESS", - "TYPE_NATURAL_FEATURE", - "TYPE_TERRAIN", - "TYPE_SAND", - "TYPE_BEACH", - "TYPE_DUNE", - "TYPE_ROCKY", - "TYPE_ICE", - "TYPE_GLACIER", - "TYPE_BUILT_UP_AREA", - "TYPE_VEGETATION", - "TYPE_SHRUBBERY", - "TYPE_WOODS", - "TYPE_AGRICULTURAL", - "TYPE_GRASSLAND", - "TYPE_TUNDRA", - "TYPE_DESERT", - "TYPE_SALT_FLAT", - "TYPE_WATER", - "TYPE_OCEAN", - "TYPE_BAY", - "TYPE_BIGHT", - "TYPE_LAGOON", - "TYPE_SEA", - "TYPE_STRAIT", - "TYPE_INLET", - "TYPE_FJORD", - "TYPE_LAKE", - "TYPE_SEASONAL_LAKE", - "TYPE_RESERVOIR", - "TYPE_POND", - "TYPE_RIVER", - "TYPE_RAPIDS", - "TYPE_DISTRIBUTARY", - "TYPE_CONFLUENCE", - "TYPE_WATERFALL", - "TYPE_SPRING", - "TYPE_GEYSER", - "TYPE_HOT_SPRING", - "TYPE_SEASONAL_RIVER", - "TYPE_WADI", - "TYPE_ESTUARY", - "TYPE_WETLAND", - "TYPE_WATER_NAVIGATION", - "TYPE_FORD", - "TYPE_CANAL", - "TYPE_HARBOR", - "TYPE_CHANNEL", - "TYPE_REEF", - "TYPE_REEF_FLAT", - "TYPE_REEF_GROWTH", - "TYPE_REEF_EXTENT", - "TYPE_REEF_ROCK_SUBMERGED", - "TYPE_IRRIGATION", - "TYPE_DAM", - "TYPE_DRINKING_WATER", - "TYPE_CURRENT", - "TYPE_WATERING_HOLE", - "TYPE_TECTONIC", - "TYPE_WATERING_HOLE_DEPRECATED", - "TYPE_VOLCANO", - "TYPE_LAVA_FIELD", - "TYPE_FISSURE", - "TYPE_FAULT", - "TYPE_LAND_MASS", - "TYPE_CONTINENT", - "TYPE_ISLAND", - "TYPE_ATOLL", - "TYPE_OCEAN_ROCK_EXPOSED", - "TYPE_CAY", - "TYPE_PENINSULA", - "TYPE_ISTHMUS", - "TYPE_ELEVATED", - "TYPE_PEAK", - "TYPE_NUNATAK", - "TYPE_SPUR", - "TYPE_PASS", - "TYPE_PLATEAU", - "TYPE_RIDGE", - "TYPE_RAVINE", - "TYPE_CRATER", - "TYPE_KARST", - "TYPE_CLIFF", - "TYPE_VISTA", - "TYPE_DIGITAL_ELEVATION_MODEL", - "TYPE_UPLAND", - "TYPE_TERRACE", - "TYPE_SLOPE", - "TYPE_CONTOUR_LINE", - "TYPE_PAN", - "TYPE_UNSTABLE_HILLSIDE", - "TYPE_MOUNTAIN_RANGE", - "TYPE_UNDERSEA", - "TYPE_SUBMARINE_SEAMOUNT", - "TYPE_SUBMARINE_RIDGE", - "TYPE_SUBMARINE_GAP", - "TYPE_SUBMARINE_PLATEAU", - "TYPE_SUBMARINE_DEEP", - "TYPE_SUBMARINE_VALLEY", - "TYPE_SUBMARINE_BASIN", - "TYPE_SUBMARINE_SLOPE", - "TYPE_SUBMARINE_CLIFF", - "TYPE_SUBMARINE_PLAIN", - "TYPE_SUBMARINE_FRACTURE_ZONE", - "TYPE_CAVE", - "TYPE_ROCK", - "TYPE_ARCHIPELAGO", - "TYPE_POSTAL", - "TYPE_POSTAL_CODE", - "TYPE_POSTAL_CODE_PREFIX", - "TYPE_PREMISE", - "TYPE_SUB_PREMISE", - "TYPE_SUITE", - "TYPE_POST_TOWN", - "TYPE_POSTAL_ROUND", - "TYPE_META_FEATURE", - "TYPE_DATA_SOURCE", - "TYPE_LOCALE", - "TYPE_TIMEZONE", - "TYPE_BUSINESS_CHAIN", - "TYPE_PHONE_NUMBER_PREFIX", - "TYPE_PHONE_NUMBER_AREA_CODE", - "TYPE_BUSINESS_CORRIDOR", - "TYPE_ADDRESS_TEMPLATE", - "TYPE_TRANSIT_AGENCY", - "TYPE_FUTURE_GEOMETRY", - "TYPE_EVENT", - "TYPE_EARTHQUAKE", - "TYPE_HURRICANE", - "TYPE_WEATHER_CONDITION", - "TYPE_TRANSIENT", - "TYPE_ENTRANCE", - "TYPE_CARTOGRAPHIC", - "TYPE_HIGH_TENSION", - "TYPE_SKI_TRAIL", - "TYPE_SKI_LIFT", - "TYPE_SKI_BOUNDARY", - "TYPE_WATERSHED_BOUNDARY", - "TYPE_TARMAC", - "TYPE_WALL", - "TYPE_PICNIC_AREA", - "TYPE_PLAY_GROUND", - "TYPE_TRAIL_HEAD", - "TYPE_GOLF_TEEING_GROUND", - "TYPE_GOLF_PUTTING_GREEN", - "TYPE_GOLF_ROUGH", - "TYPE_GOLF_SAND_BUNKER", - "TYPE_GOLF_FAIRWAY", - "TYPE_GOLF_HOLE", - "TYPE_DEPRECATED_GOLF_SHOP", - "TYPE_CAMPING_SITE", - "TYPE_DESIGNATED_BARBECUE_PIT", - "TYPE_DESIGNATED_COOKING_AREA", - "TYPE_CAMPFIRE_PIT", - "TYPE_WATER_FOUNTAIN", - "TYPE_LITTER_RECEPTACLE", - "TYPE_LOCKER_AREA", - "TYPE_ANIMAL_ENCLOSURE", - "TYPE_CARTOGRAPHIC_LINE", - "TYPE_ESTABLISHMENT", - "TYPE_ESTABLISHMENT_GROUNDS", - "TYPE_ESTABLISHMENT_BUILDING", - "TYPE_ESTABLISHMENT_POI", - "TYPE_ESTABLISHMENT_SERVICE", - "TYPE_CELESTIAL", - "TYPE_ROAD_MONITOR", - "TYPE_PUBLIC_SPACES_AND_MONUMENTS", - "TYPE_STATUE", - "TYPE_TOWN_SQUARE", - "TYPE_LEVEL", - "TYPE_COMPOUND", - "TYPE_COMPOUND_GROUNDS", - "TYPE_COMPOUND_BUILDING", - "TYPE_COMPOUND_SECTION", - "TYPE_TERMINAL_POINT", - "TYPE_REGULATED_AREA", - "TYPE_LOGICAL_BORDER", - "TYPE_GCONCEPT_ONLY", - "TYPE_DO_NOT_USE_RESERVED_TO_CATCH_GENERATED_FILES", - "TYPE_UNKNOWN" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - false, - true, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - true, - true, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false - ], - "enumDescriptions": [ - "ABSTRACT", - "ABSTRACT", - "A route is any section of road (or rails, etc.) that has a name. This includes city streets as well as highways. Road segments can belong to multiple routes (e.g. El Camino, CA-82).", - "DEPRECATED", - "ABSTRACT", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "A designated bicycle route, whose segments may consist of any combination of bicycle paths, bicycle lanes, or city streets.", - "A designated trail, which may consist of paved walkways, dirt paths, fire road, streets or highways, etc.", - "ABSTRACT", - "", - "Railroads use several different incompatible track types.", - "", - "", - "", - "", - "", - "", - "", - "", - "Tracks for streetcars, cable-cars, etc. Ferries are services that are part of the road network but are not roads. They typically involve fares and scheduled departure times.", - "ABSTRACT", - "The vast majority of ferries are ferry boats.", - "Also called a \"car transport\", a ferry train is a rail service that carries passengers and their vehicles across undrivable terrain. The Channel Tunnel (\"Chunnel\") is the most famous example, but they are also common in the Alps where they connect neighboring valleys otherwise separated by impassable mountains.", - "Any plausible 1-dimensional path through a 2+ dimensional space, for the purposes of making graph-search-based routing possible. Such segments can be used to model paths through parking lots, squares, floors of buildings and other areas.", - "An intersection consists of a collection of segments that terminate at the same location. This is topological definition: it may not match what a typical user would think of as an \"intersection\". See TYPE_INTERSECTION_GROUP, below, for more information. Each segment terminating at an intersection has an \"endpoint type\" that specifies how that segment is terminated: stop sign, yield sign, three-way light, etc.", - "ABSTRACT", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "A transit line is a collection of transit legs, associated with some invariant properties of the trips that run over the legs. See also transitline.proto", - "TYPE_TRANSIT_AGENCY was moved to 0xC91. This deprecated enum value still exists for debugging purposes only.", - "DEPRECATED", - "ABSTRACT", - "Road sign features have names, point geometry, etc. They also have segment_path data (see below) which lists the segments that refer to the sign. See segment.proto for the reference from the segment to the road sign.", - "Our TYPE_INTERSECTION feature, above, models the point where one or more segments terminate. This is topological definition: it may not match what a typical user would think of as an \"intersection\". Consider the intersections where Hayes, Market, Larkin, and 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people would probably consider this a single feature, even though we model it as four separate TYPE_INTERSECTION features. This TYPE_INTERSECTION_GROUP is used to model the user's concept of a complex intersection.", - "RESERVED", - "A restriction group describes a set of segment restrictions that belong together and have a name or an associated event. See also restriction_group.proto", - "DEPRECATED", - "ABSTRACT", - "", - "ABSTRACT", - "", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "e.g. Silicon Valley", - "A reservation is a region collectively held or governed by indigenous people and officially recognized by the country’s government at the federal or state level. A reservation may be fully contained within an administrative feature or partially contained within two or more. These regions are referred to by different categorical names depending on country and even by state, including but not limited to: “Indian Reservations”, “Indian Reserves”, “Land Claim Settlement Lands”, “Indian Lands”, “Treaty Lands”, “Indigenous Territories”, etc. A reservation is not a historic indigenous territory boundary or a region which has applied for land rights but has not yet received official recognition.", - "", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "An entity widely considered to be a city, that may itself be made up of smaller political entities, some of which are cities/towns/villages themselves. For example, the colloquial view of Sydney, Australia actually comprises many smaller cities, but is regarded as a city itself. This type is not suitable for modeling official metro-/micropolitan or other statistical areas.", - "ABSTRACT", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "Designated Market Areas (or DMAs) are used by marketing and ratings companies (such as the Nielsen Media Research company) to describe geographical regions (such as the greater New York metropolitan area) that are covered by a set of television stations. (See http://www.schooldata.com/pdfs/DMA.pdf) In the United States, DMAs should have a DMA numeric ID name, tagged with the FLAG_DESIGNATED_MARKET_AREA_ID flag.", - "", - "", - "Eventually we'll have more data for disputed areas (e.g., who makes claims on the area, who has de facto control, etc.). For the moment, we just define a type so we can simply mark areas as disputed.", - "Boundaries representing the jurisdiction of a particular police station.", - "An area used for aggregating statistical data, eg, a census region. Note that TYPE_STATISTICAL_AREA has a third nibble so we can add an abstract parent above it later if need be at 0x2E1 (and rename TYPE_STATISTICAL_AREA as TYPE_STATISTICAL_AREA1).", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "A line representing the boundary between two features. See border.proto for details.", - "DEPRECATED", - "An association of a point with an address, with no other information.", - "ABSTRACT", - "Expanses of land that share common surface attributes. These areas would look more or less uniform from a high altitude.", - "", - "", - "", - "", - "", - "", - "Terrain that looks populated.", - "Terrain that is covered in vegetation.", - "", - "", - "", - "", - "", - "", - "A flat expanse of salt left by the evaporation of a body of salt water.", - "Features can be TYPE_WATER if we don't have enough information to properly type the body of water. TYPE_WATER is also used as the type for child features that compose a TYPE_RIVER feature.", - "One of the large salt-water bodies that covers most of the globe.", - "An ocean subdivision formed by a coastal indentation. Includes coves and gulfs.", - "An open body of water formed by a slight coastal indentation.", - "", - "An ocean subdivision more or less confined by land and islands.", - "A long narrow ocean subdivision. Includes sounds.", - "", - "", - "An inland body of standing water.", - "A lake that dries up part of the year.", - "An artificial body of water, possibly created by a dam, often used for irrigation or house use.", - "", - "An inland body of moving water, or parts associated with it in which there is little or no current (backwater).", - "", - "A branch which flows away from the main river. Includes deltas.", - "A place where two or more rivers join.", - "", - "A place where ground water flows naturally out of the ground.", - "", - "", - "A river that dries up part of the year.", - "A dry riverbed that occasionally receives flashfloods.", - "A place at the end of a river where fresh and salt water mix. Includes tidal creeks and limans.", - "Land that is usually flooded. Includes bogs, marshes, flats, moors, and swamps.", - "", - "A shallow place where water may be waded through.", - "A narrow passage used by boats. Normally artificial.", - "A deep place near a shore where ships commonly drop anchor.", - "A deep part in a body of water that is suitable for navigation. Includes narrows.", - "Rocks, coral, sandbars, or other features beneath the surface of the water that pose a hazard to passing ships. Includes shoals.", - "A relatively shallow zone of the back reef located closest to the shore, that may be exposed at low tide.", - "A small section of rocks, coral, sandbars, or other features beneath the surface of the water that forms part of a reef.", - "The full extent of the reef complex.", - "A submerged rock in the water.", - "Man-made (and sometimes natural) channels used to move water. This type was used for both dam structures and water that is hold back by dams. We should use TYPE_COMPOUND_BUILDING for dam structures and TYPE_RESERVOIR for water.", - "DEPRECATED", - "", - "Includes overfalls.", - "A natural depression filled with water where animals come to drink.", - "This type is incorrectly under TYPE_TECTONIC instead of TYPE_WATER. This was a mistake and is now fixed. See TYPE_WATERING_HOLE for the replacement.", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "", - "", - "An exposed rock in the water.", - "A small, low-elevation, sandy island formed on the surface of coral reefs", - "A stretch of land projecting into water. Includes capes and spits.", - "A strip of land connecting two larger land masses, such as continents.", - "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.", - "Elevations that have a distinctive peak.", - "A peak or ridge of a mountain that extends through a glacier.", - "A subsidiary peak of a mountain.", - "A route over an otherwise difficult to traverse feature. Includes saddle.", - "Elevations that are flat on top. Includes mesas and buttes.", - "A ridge is a geographical feature consisting of a chain of mountains or hills that form a continuous elevated crest with a single ridgeline for some distance.", - "Steep declines usually carved by erosion. Includes valleys, canyons, ditches, and gorges.", - "Depressions causes by impact, explosion, and sometimes sink-holes.", - "Topography formed on limestone and gypsum by dissolution with sinkholes, caves, etc.", - "A vertical or nearly vertical slope. Includes escarpments.", - "An elevated place that is notable for having a good view. Raster digital elevation data. This is not a type to be used by providers or consumed by clients.", - "RESERVED", - "Land along streams higher than the alluvial plain or stream terrace.", - "", - "Land not so steep as a cliff, but changing elevation. Includes slides.", - "All the points on the polygon are at the same elevation.", - "A near-level shallow, natural depression or basin, usually containing an intermittent lake, pond, or pool.", - "", - "A series of mountains or hills ranged in a line and connected by high ground. Mountain ranges usually consist of many smaller ridges. For example, the Himalayas, the Andes. the Alps, etc.", - "Features that are notable for being high (or low), or for having sudden changes in elevation. These features might have an \"elevation\" extension to specify the actual elevation. See ElevationProto for more information.", - "includes peaks, ranges, and spurs", - "", - "includes saddles", - "", - "", - "includes trenches and troughs", - "", - "", - "", - "", - "", - "Don't use 0xA7. Use 8 bits for additional types under TYPE_NATURAL_FEATURE, so we don't run out of space. The following are miscellaneous natural features that don't fit any of the categories above.", - "", - "A feature representing a group or chain of islands. ", - "ABSTRACT", - "This is the type for postal codes which are complete and independent enough that there should be a feature for them (e.g. US 5-digit ZIP codes). For even more detailed suffixes that further subdivide a postal code (such as the +4 component in US ZIP codes), store the information in a TYPE_POSTAL_CODE_SUFFIX address component. When a range or set of postal codes share the same geographical area, e.g. because a precise subdivision does not exist or this subdivision is unknown, this type is used for each individual postal code.", - "A prefix portion of a postal code which does not meet the requirements for TYPE_POSTAL_CODE, but which is useful to search for, for example UK outcodes.", - "DEPRECATED", - "DEPRECATED This is deprecated and we want to use TYPE_COMPOUND_SECTION instead.", - "DEPRECATED", - "The term \"post town\" is used for a locality-like-entity that is only used for postal addresses.", - "DEPRECATED", - "ABSTRACT", - "Every data source used in constructing a data repository has a corresponding feature that provides more information about that data source. The extra information is stored in the optional data_source field below.", - "A locale feature provides region specific conventions such as preferred language and formatting details for time, date, and currency values. Locales aren't necessary defined by physical geographic features, so they are classified as meta-features.", - "A timezone feature is used to specify the region covering an international timezone. When a point is covered by multiple timezone features, the most specific one can be used to compute the local time at this point. Most specific implies a much smaller region or the one that is closer to the center. A feature's timezone can be specified in the repeated related_timezone field.", - "A business chain feature is used to represent a chain, e.g. Starbucks, McDonald's, etc. Other features representing specific stores/franchises of this chain may refer to one such feature via RELATION_MEMBER_OF_CHAIN. This is not strictly reserved to commercial chains but can also be used to model organizations such as the Red Cross or the United Nations.", - "A phone number prefix feature is used to specify the region where phone numbers (typically fixed-line numbers) must begin with a certain prefix. Any phone number prefix down to any level of granularity could be represented by this type.", - "A phone number area code is a prefix which also coincides with the area code, or national destination code, of a particular region.", - "A Business Corridor is a dense cluster of semantically similar establishments. TYPE_BUSINESS_CORRIDOR features are distinguished from TYPE_COLLOQUIAL_AREA features because the corridors are not under the political hierarchy, are allowed to be nameless, and may not correspond to well-known real world locations. For more details, see go/geo-corridors-schema.", - "An address template feature provides region-specific conventions for structuring addresses. These features aren't necessarily defined by physical geographic features, so they are classified as meta-features.", - "A transit agency operates a number of lines, typically all in the same city, region or country. See also transitagency.proto", - "A feature whose geometry is planned to replace the geometry on another feature.", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "DEPRECATED", - "RESERVED", - "A portal of entry or exit to another feature. Examples: - Subway station entrance. - Parking lot entrance.", - "Cartographic features are used to capture real-world objects for which there is no current desire to model any specific attributes. These are only useful to make the map tiles look pretty.", - "DEPRECATED", - "Also see skitrail.proto", - "Also see skilift.proto", - "Also see skiboundary.proto", - "", - "Starting with TYPE_TARMAC, we use longer IDs, so that we can expand the number of feature types under TYPE_CARTOGRAPHIC.", - "Use TYPE_COMPOUND_GROUND and appropriate gcids for the next two.", - "DEPRECATED", - "DEPRECATED", - "", - "Sub-types within a golf course.", - "", - "", - "", - "", - "Use TYPE_ESTABLISHMENT_POI and gcid:golf_shop for golf shops instead.", - "DEPRECATED", - "DEPRECATED", - "", - "", - "", - "", - "", - "", - "Subtype within a zoo - a cage or fenced-off or otherwise delineated area containing animals.", - "A line for a cartographic detail. For example the international date line. Such features should have polyline geometry.", - "ABSTRACT This type is being replaced by TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2", - "DEPRECATED This type has been replaced by TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds", - "DEPRECATED", - "An establishment that has a physical location. Note that it *may* also have a service area (e.g. a restaurant that offers both dine-in and delivery). This type of business is also known as a \"hybrid\" Service Area Business. Establishment POIs can be referenced by TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the reciprocal relation of the RELATION_OCCUPIES.", - "NOTE(tcain): Using value 0xD441, since we could find ourselves with a need to differentiate service areas from online-only at this level in the future, but still benefit from being able to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI.", - "The root of types of features that are in the sky, rather than on the earth. There will eventually be a hierarchy of types here.", - "Features responsible for monitoring traffic on roads (usually for speed). Includes cameras at particular points as well as monitors that cover larger spans. Features of this type should have a corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera or gcid:speed_camera_zone). This type was originally named as TYPE_ROAD_CAMERA.", - "ABSTRACT", - "Note that this type does not distinguish the nature of the statue (religious, historical, memorial, tourist, ...).", - "Open space used for events, gathering, or as market-place.", - "A feature used to represent a logical level, e.g. floor.", - "ABSTRACT", - "e.g. campus, compound, parcel.", - "e.g. single family dwelling, office building.", - "e.g. suite, room, hallway, cubicle.", - "A terminal point represents a good location for a user to meet a taxi, ridesharing vehicle, or general driver.", - "An area controlled in some way by an authoritative source, such as a government-designated COVID containment zone or an area under government sanctions. Features of this type should have one or more gcids corresponding to their specific regulation, and client handling of these features may vary based on the type of regulation.", - "A grouping of TYPE_BORDER features (\"border segments\"), which together represent a border between two features of the same type.", - "A generic feature type for any geo-type that cannot be modeled under existing feature types. No new feature type should be created within feature proto after this type.", - "DEPRECATED", - "A feature of completely unknown type. This should only be used when absolutely necessary. One example in which this type is useful is in the Chinese importer, which must heuristically segment addresses into components - it often does not know what types to make those components. Please note that the Oyster address formatter does not currently support address components of TYPE_UNKNOWN well." - ], - "type": "string" - }, - "index": { - "description": "Indicates which entity this message belongs to: encoded_mid[index].", - "format": "int32", - "type": "integer" - }, - "latE7": { - "description": "Latitude and longitude of the location. Same format as geostore.PointProto.", - "format": "uint32", - "type": "integer" - }, - "lngE7": { - "format": "uint32", - "type": "integer" - }, - "oysterId": { - "$ref": "GeostoreFeatureIdProto", - "description": "Oyster Feature ID of the location." - } - }, - "type": "object" - }, - "RepositoryWebrefWebrefDocumentInfo": { - "description": "All information that applies globally to the document. Next available tag: 11", - "id": "RepositoryWebrefWebrefDocumentInfo", - "properties": { - "documentMetadata": { - "$ref": "RepositoryWebrefDocumentMetadata", - "description": "Information about the document copied from the docjoin. This will never be populated when WebrefEntities appears inside a CompositeDoc, but may we used when it stands alone." - }, - "extensions": { - "$ref": "Proto2BridgeMessageSet", - "description": "Optional extensions (e.g. taxonomic classifications)." - }, - "webrefParsedContentSentence": { - "description": "The content (CONTENT section 0) as parsed by WebrefParser. Only used by //r/w/postprocessing/idf/idf-pipeline for document ngram idf computation. Populated when the annotator is run with webref_populate_parsed_content Each webref_parsed_content_sentence represents one sentence of the context where saft annotations were used to determine the sentence boundaries. See r/w/universal/processors/saft/saft-sentence-helper.h for details.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefWebrefEntities": { - "description": "Represents a collection of entities returned by the WebRef service. Next available tag: 14.", - "id": "RepositoryWebrefWebrefEntities", - "properties": { - "annotationStats": { - "$ref": "RepositoryWebrefWebrefAnnotationStats", - "description": "Detailed annotation statistics that can, e.g., be used to tune the WebRef scoring logic based on existing (Model-0) annotations." - }, - "annotatorCheckpointFingerprints": { - "description": "Fingerprints checkpointing annotator stages, can be used to track the source of diffs.", - "items": { - "$ref": "RepositoryWebrefAnnotatorCheckpointFprint" - }, - "type": "array" - }, - "category": { - "description": "Categories of the document or query. This replaces the category_score found under EntityAnnotations.", - "items": { - "$ref": "RepositoryWebrefCategoryAnnotation" - }, - "type": "array" - }, - "dateRange": { - "description": "Dates ranges that are most relevant to the document. E.g. on a document about Dune the 2021 movie, this might hold the release date of that movie.", - "items": { - "$ref": "RepositoryWebrefSemanticDateRange" - }, - "type": "array" - }, - "documentInfo": { - "$ref": "RepositoryWebrefWebrefDocumentInfo", - "description": "Information that applies globally to the document. The exclude_field option is for Goldmine AnnotationsFinder to exclude document_info from retrieving annotation entities" - }, - "entity": { - "description": "The annotated entities, with associated confidence scores and metadata. This is the primary output of WebRef/QRef. In case of Webref output, entities are sorted by decreasing topicality score.", - "items": { - "$ref": "RepositoryWebrefWebrefEntity" - }, - "type": "array" - }, - "rangeAnnotations": { - "description": "These messages contain non-entity annotations of ranges in the document. This might be used to hold part-of-speech annotations, stopword annotations, and other range based information. The exclude_field option is for Goldmine AnnotationsFinder to exclude ranged_annotations from retrieving annotation entities", - "items": { - "$ref": "RepositoryWebrefRangeAnnotations" - }, - "type": "array" - }, - "status": { - "$ref": "RepositoryWebrefWebrefStatus", - "description": "The status message returned by the annotator. Might not be populated on success." - }, - "stuff": { - "$ref": "Proto2BridgeMessageSet", - "description": "A generic container to hold extra result data." - }, - "tripleAnnotations": { - "$ref": "RepositoryWebrefTripleAnnotations", - "description": "Triples inferred from the document When the annotator recognizes phrases, lists or tables associated with a property or relationship for an entity it generates triples that encode that information. This generated data is only substantiated by the document vs KG data which has been verified from multiple sources and/or human curators." - } - }, - "type": "object" - }, - "RepositoryWebrefWebrefEntity": { - "description": "All information about a single entity available to WebRef. Next available tag: 7", - "id": "RepositoryWebrefWebrefEntity", - "properties": { - "annotatedRelationship": { - "description": "Information about links (e.g. implications) between the annotated entities.", - "items": { - "$ref": "RepositoryWebrefWebrefEntityRelationship" - }, - "type": "array" - }, - "annotations": { - "$ref": "RepositoryWebrefEntityAnnotations", - "description": "All annotations of this entity on the given document." - }, - "collections": { - "$ref": "RepositoryWebrefWebrefEntityCollections", - "description": "Information about the collections of this entity." - }, - "entityJoin": { - "$ref": "RepositoryWebrefEntityJoin", - "description": "Metadata and raw signals used by the annotator. Intended for internal use. Steer clear of adding new dependencies on fields in this proto, especially external dependencies. If you are a Refx client and would like to consume entity metadata, consider querying TopicServer instead." - }, - "id": { - "$ref": "RepositoryWebrefWebrefEntityId", - "description": "An identifier (usually a MID) for the entity. Consider using GetWebrefEntityMid() in the adjacent webref-entities-util.h to read this." - }, - "mrf": { - "description": "MRF equivalent representations of this entity as a compound, one for each unique MRF representation. Populated for compounds. Each MRF expression contains a minimum FunctionCall structure wrapped in a nameless Argument without signals and range data. This is not meant to be directly usable as MRF, use QueryJoinToMeaningStructConverter to expand it into a usable form. References to entities are made as component_reference ArgumentValue. Each compound Mention of this entity (not all of its mentions need be compounds, some may be plain entity mentions) have one or more compound_value fields claiming these MRF expressions via their mrf_index. The compound_value has nested components, one for each unique component_reference.index in the MRF expression. The processing expectation is that each ArgumentValue which has a component_reference has its contents discarded and replaced with the MRF for the target entity and mention named by the compound_value.component. If the target is not a compound, the ArgumentValue becomes a simple mid value and the signals are taken from the entity and the mention. If the target is a compound itself, the expansion continues recursively. If the target is a compound with multiple MRFs, a cartesian product of recursive expansions may need to be produced. Along with the component_reference we also emit an example value, but this is purely for human consumption so it's easier to understand what the full compound is like. The processing expectation remains that the ArgumentValue containing a component_reference is completely discarded and rebuilt with the reference target value. If the target has more than one MRF expression, it's not specified which one will be used as an example, except that the choice is guaranteed to be deterministic from run to run.", - "items": { - "$ref": "KnowledgeAnswersIntentQueryArgument" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefWebrefEntityCollections": { - "id": "RepositoryWebrefWebrefEntityCollections", - "properties": { - "collection": { - "items": { - "$ref": "RepositoryWebrefKGCollection" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefWebrefEntityId": { - "description": "The identifier of a WebrefEntity (see webref-entities.proto). IMPORTANT: Please consider reading this proto through GetWebrefEntityMid() in webref-entities-util.h, because this proto may: a) contain both freebase_mid and concept_id (this is frequently the case to avoid breaking downstream clients), b) only contain freebase_mid or only contain concept_id (as the other one is technically redundant), c) contain neither of them or be missing entirely (potentially in future).", - "id": "RepositoryWebrefWebrefEntityId", - "properties": { - "conceptId": { - "description": "The MID in integer format. Nowadays, this field contains the equivalent representation of `freebase_mid`, i.e. what metaweb::ParseId() returns.", - "format": "uint64", - "type": "string" - }, - "freebaseMid": { - "description": "The MID in the same format that is returned by metaweb::MidToString(), e.g. \"/m/02mjmr\" or \"/g/11b6vyscgb\" or \"/t/24bjj59_jbj9f\".", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefWebrefEntityRelationship": { - "description": "Information regarding links between annotated entities. Next available tag: 5", - "id": "RepositoryWebrefWebrefEntityRelationship", - "properties": { - "entityIndex": { - "description": "The index of the entry in WebrefEntities.entity that the entity carrying this field is linked to. This field must be set.", - "format": "int32", - "type": "integer" - }, - "linkMetadata": { - "$ref": "RepositoryWebrefEntityLinkMetadata", - "description": "Information about the link." - }, - "linkWeight": { - "description": "The weight of the link.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "RepositoryWebrefWebrefMustangAttachment": { - "description": "*** THIS ATTACHMENT IS DEPRECATED, SEE go/udr/migrate-wma. ***. We still allow legacy use case to exist (no forced migration), but we will not accept any new usage of WMA, incl. from existing clients. UDR has the same features and can be used similarly: - To consume the topical entities (+properties, incl. hitcat, browsy, ...) go/udr/migrate-wma provides a migration with minimal changes. - To consume IQL, please consult go/udr/superroot#access and go/pianno team. The top-level proto used to store WebRef entities and IQL expressions in Mustang/TG. The proto uses packed repeated fields and variable-length integers in order to be as compact as possible. See http://b/5802389 and b/7473898 for details on other approaches that were considered and space/readability/extensibility trade-offs made. Note: It is not recommeded to read this proto directly. Clients of the attachment should use the decoder instead: repository/webref/tools/kc/indexing/webref-attachment-decoder.h Next available tag: 25", - "id": "RepositoryWebrefWebrefMustangAttachment", - "properties": { - "categoryConfidenceE2": { - "deprecated": true, - "description": "The confidence of the category. In the range [0, 100].", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "categoryEncodedMid": { - "deprecated": true, - "description": "See go/category-annotations-api about the story behind various types of category annotations that are provided using the catmid token and category_encoded_mid fields below. Some of these annotation types are experimental, so please contact related-entities@ if you consider using this data. For production uses, please: 1. Add your use-case to go/hits-clients. 2. Subscribe to hits-users@ to receive general updates and info about deprecations. To convert it to the string form use metaweb::MidToString(encoded_mid) defined in metaweb/util/mid/mid.h The uint64-encoded MIDs of HitCat categories. See google3/repository/webref/hits/hitcat/category.textproto for the complete list of HitCat categories. Should have the same number of elements as the category_confidence_e2 field.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "confidenceE2": { - "description": "The confidence scores of all entities in the encoded_mid array. For space reasons this is also represented as a fixed-point integer with two decimal precision. Convert it to confidence_score using the following formula: float confidence_score = confidence_e2 / 100.0f Should have the same number of elements as the encoded_mid field.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "encodedMid": { - "description": "The int64-encoded MIDs of the entities in the document sorted by topicality score. To convert it to the string form use metaweb::MidToString(encoded_mid) defined in metaweb/util/mid/mid.h Should have the same number of elements as the topicality_e2 field.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "entityMetadata": { - "description": "Per-entity metadata. Not packed (not every entity has metadata). If you'd like to add per-document metadata, see document_metadata instead.", - "items": { - "$ref": "RepositoryWebrefWebrefAttachmentMetadata" - }, - "type": "array" - }, - "iqlAttachment": { - "$ref": "KnowledgeAnswersIntentQueryIndexingIQLAttachment", - "deprecated": true, - "description": "A sub-proto to encode IQL expressions. To be used by Pianno page-level intents and Webref Compounds." - }, - "isAuthorIndex": { - "description": "The indices of all the reference entities in encoded_mid that are authors of the page. Not packed as in most cases when populated, it contains 1 element.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "isPublisherIndex": { - "description": "The indices of all the reference entities in encoded_mid that are publishers of the page (e.g. /m/cnn on \"http://www.cnn.com/foo/bar\"). Not packed as in most cases when populated, it contains 1 element.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "referencePageIndex": { - "description": "Only populated when the document is a reference page for an entity. Contains the indices of all reference entities in the encoded_mid and topicality_e2 arrays. Not packed as in most cases when populated, it contains 1 element.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "topicalityE2": { - "description": "The topicality scores of all entities in the encoded_mid array. For space reasons this is represented as a fixed-point integer with two decimal points precision. Convert it to topicality_score using the following formula: float topicality_score = topicality_e2 / 100.f Should have the same number of elements as the encoded_mid field.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "unboundIntentMid": { - "deprecated": true, - "description": "The uint64-encoded MID of the unbound intents generated by Pianno. An unbound intent is the annotation of an intent without slots arguments (e.g. Age) declared in Intent Catalog. See go/pianno-asteroid-belt-migration for details. We only keep the top unbound intents with the highest orbit scores. Should have the same number of elements as unbound_intent_score_e2.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "unboundIntentScoreE2": { - "deprecated": true, - "description": "The confidence of the unbound intent. represented as a fixed-point integer with two decimal precision. In the range [0, 100]. Should have the same number of elements as unbound_intent_mid.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefWebrefOutlinkInfo": { - "description": "Information about the outlinks for one specific target URL, from a given annotated document. Next available tag: 7", - "id": "RepositoryWebrefWebrefOutlinkInfo", - "properties": { - "byteLength": { - "description": "The length in bytes of such a link (including internal spaces); e.g. if the link text is \"click here\" then the length is 10.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "byteOffset": { - "description": "The byte offset of the start of a link with this target URL, in the content of the annotated document.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "isNofollow": { - "description": "Whether this is a nofollow link (https://en.wikipedia.org/wiki/Nofollow). If the page has multiple links to the same url, all of them must be nofollow to set this field.", - "type": "boolean" - }, - "topicalityWeight": { - "description": "The topicality_weight for each link with this target URL.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "url": { - "description": "The target URL of the link.", - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefWebrefOutlinkInfos": { - "description": "Information about the outlinks of an annotated document. Next available tag: 3", - "id": "RepositoryWebrefWebrefOutlinkInfos", - "properties": { - "outlinkInfo": { - "description": "Information about each target URL referred to in the document's outlinks. If a given URL has multiple links, they are grouped in a single WebrefLinkInfo.", - "items": { - "$ref": "RepositoryWebrefWebrefOutlinkInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "RepositoryWebrefWebrefStatus": { - "id": "RepositoryWebrefWebrefStatus", - "properties": { - "dataEpoch": { - "description": "The epoch of the Webref static data (the name-filter.data file). As of Dec 2020 in prod Goldmine (in webref_daily_full_model_static_data) this value is over from the alpha model static data, since this is where most of the parts come from. I.e. the value does not correspond to the actual model being used.", - "type": "string" - }, - "utilStatus": { - "$ref": "UtilStatusProto", - "description": "Error that occurred during the annotation. This field is only populated by QRef (i.e. under QueryJoin.status) and never by WebRef (i.e. under WebrefEntities.status) anymore, which instead reports errors (and soon also taints) through standard Goldmine mechanisms." - }, - "version": { - "description": "The version number of the annotator (the cl the binary was built from). Must be enabled via a command line flag. See also the Goldmine's indexing::annotations::AnnotationMeta proto.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RepositoryWebrefWikipediaCategory": { - "description": "Information about a Wikipedia category (typically at the bottom of the page).", - "id": "RepositoryWebrefWikipediaCategory", - "properties": { - "categoryName": { - "type": "string" - } - }, - "type": "object" - }, - "RepositoryWebrefWikipediaGeocode": { - "description": "Geocodes extracted from the wikijoins.", - "id": "RepositoryWebrefWikipediaGeocode", - "properties": { - "location": { - "$ref": "GeostorePointProto", - "description": "The location as extracted from the wikijoins." - }, - "sourceUrl": { - "description": "The source contains the url field from the wikijoins.", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScamCoscamConjunction": { - "description": "////////////////////////////////////////////////////////////////////////////// Conjunction: a single AND clause that contains multiple disjunctions.", - "id": "ResearchScamCoscamConjunction", - "properties": { - "disjunctionId": { - "description": "disjunction_id / is_positive *MUST* have the same length. They specify a set of disjunctions that make up this conjunction. The conjunction will be active iff *all* of the positive disjunctions are active and *all* of the negative disjunctions are inactive.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "isPositive": { - "items": { - "type": "boolean" - }, - "type": "array" - } - }, - "type": "object" - }, - "ResearchScamCoscamDisjunction": { - "description": "////////////////////////////////////////////////////////////////////////////// Disjunction: a single OR clause that contains multiple group:token tuples.", - "id": "ResearchScamCoscamDisjunction", - "properties": { - "key": { - "description": "key - a uint64 key that uniquely identifies this disjunction.", - "format": "uint64", - "type": "string" - }, - "tokenGroups": { - "description": "groups - the group:token tuples that make up this disjunction. The disjunction will be active if *any* off the group:token tuples are present in a request.", - "items": { - "$ref": "ResearchScamCoscamTokenGroup" - }, - "type": "array" - } - }, - "type": "object" - }, - "ResearchScamCoscamEasyConjunction": { - "description": "Each EasyConjunction represents an AND-of-ORs block.", - "id": "ResearchScamCoscamEasyConjunction", - "properties": { - "disjunctions": { - "description": "disjunctions is the set of OR clauses that", - "items": { - "$ref": "ResearchScamCoscamEasyDisjunction" - }, - "type": "array" - } - }, - "type": "object" - }, - "ResearchScamCoscamEasyDisjunction": { - "description": "Each EasyDisjunction represents one OR clause.", - "id": "ResearchScamCoscamEasyDisjunction", - "properties": { - "isPositive": { - "description": "If is_positive is set to false, then the entire disjunction is negated, and will be true only if none of its members is true.", - "type": "boolean" - }, - "tokenGroups": { - "description": "token_groups - the group:token tuples that make up this disjunction. The disjunction will be active if *any* off the group:token tuples are present in a request.", - "items": { - "$ref": "ResearchScamCoscamTokenGroup" - }, - "type": "array" - } - }, - "type": "object" - }, - "ResearchScamCoscamEasyRestrictDefinition": { - "description": "Each EasyRestrictDefinition represents an OR-of-ANDs-of-ORs block.", - "id": "ResearchScamCoscamEasyRestrictDefinition", - "properties": { - "conjunctions": { - "description": "conjunctions is the set of AND-of-ORs blocks.", - "items": { - "$ref": "ResearchScamCoscamEasyConjunction" - }, - "type": "array" - } - }, - "type": "object" - }, - "ResearchScamCoscamRestrictDefinition": { - "description": "////////////////////////////////////////////////////////////////////////////// RestrictDefinition: the set of conjunctions and disjunctions that define a single OR-of-ANDs-of-ORs restrict definition.", - "id": "ResearchScamCoscamRestrictDefinition", - "properties": { - "conjunctions": { - "description": "conjunctions - each conjunction is an AND-of-ORs; if any of these conjunctions match, then the entire restrict matches.", - "items": { - "$ref": "ResearchScamCoscamConjunction" - }, - "type": "array" - }, - "disjunctions": { - "description": "disjunctions - each disjunction is an OR clause.", - "items": { - "$ref": "ResearchScamCoscamDisjunction" - }, - "type": "array" - }, - "subsKey": { - "description": "subs_key - ignore. Only used for testing.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScamCoscamRestrictTokensV2": { - "description": "////////////////////////////////////////////////////////////////////////////// RestrictTokensV2: a set of group:token tuples, collated by group.", - "id": "ResearchScamCoscamRestrictTokensV2", - "properties": { - "tokenGroups": { - "description": "token_groups - group:token tuples, collated by group.", - "items": { - "$ref": "ResearchScamCoscamTokenGroup" - }, - "type": "array" - } - }, - "type": "object" - }, - "ResearchScamCoscamTokenGroup": { - "id": "ResearchScamCoscamTokenGroup", - "properties": { - "debugTokenStrings": { - "description": "debug_token_strings - (optional) strings that should be used for human-friendly printing. NOT used by the matching engine!", - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "name - the name of the token group.", - "type": "string" - }, - "tokens": { - "description": "tokens - a list of tokens, stored by their Fingerprint2011 hash.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ResearchScamCustomRestrictEvaluationStats": { - "description": "The custom restrict evaluation stats.", - "id": "ResearchScamCustomRestrictEvaluationStats", - "properties": {}, - "type": "object" - }, - "ResearchScamCustomRestrictNamespace": { - "description": "The custom restrict namespace proto. Note that custom restrict don't have to be symmetric. That is, this proto is always needed in the query, but only optionally in database datapoints, as some custom restrict implementations may use alternative data sources, instead of |GenericFeatureVector.restrict_tokens.v3.custom_namespaces| field.", - "id": "ResearchScamCustomRestrictNamespace", - "properties": { - "namespace": { - "description": "The name of this namespacey", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScamGenericFeatureVector": { - "description": "===================================================================== # GenericFeatureVector Last tag used: 23", - "id": "ResearchScamGenericFeatureVector", - "properties": { - "classLabel": { - "description": "The class label of this datapoint. This should be populated if ScaM is being used for nearest-neighbor-based classification.", - "type": "string" - }, - "crowding": { - "$ref": "ResearchScamGenericFeatureVectorCrowding" - }, - "dataIdStr": { - "description": "Optional point id that can contain an arbitrary (unrestricted in content) value except when the data is provided via SSTable (sharded or not). In the case of SSTable the data_id_str must be set for _all_ points in all shards or the SSTable keys will be used as the values for the data_id_str of the respective points. In either SSTable case--data_id_str provided explicitly or via the key--the values must be unique across all shards.", - "format": "byte", - "type": "string" - }, - "expirationTimestamp": { - "description": "A timestamp after which this datapoint is considered no longer valid and is eligible for deletion. The exact meaning varies with application/configuration.", - "format": "google-datetime", - "type": "string" - }, - "featureDim": { - "description": " - Optionally explicitly specifies the dimensionality of this vector. For dense vectors, this is ignored and, dimensionality is inferred from the number of values specified, and must be identical to this, or unspecified. For sparse vectors, the default value is correct for most users, and allows use of 64-bit hash values for feature indices. If you're using sparse vectors with a limited range of dimension indices and want to do K-Means clustering with them, you may want to specify this explicitly.", - "format": "uint64", - "type": "string" - }, - "featureIndex": { - "description": " - for SPARSE vectors, specifies indices of the nonzero dimensions whose values are specified by the , , or field. This field is not used when specifying dense vectors.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "featureType": { - "description": "Describes the type of feature values.", - "enum": [ - "UNKNOWN", - "INT64", - "FLOAT", - "DOUBLE", - "STRING", - "BINARY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "featureValueDouble": { - "items": { - "format": "double", - "type": "number" - }, - "type": "array" - }, - "featureValueFloat": { - "description": "Actual feature vector. Only one of the following should be populated. This list has to be kept in sync with FeatureType enum. NOTES: Binary features are stored as ones or zeroes in feature_value_int64. Floating point values (feature_value_float, feature_value_double) may not be NaN.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "featureValueInt64": { - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "featureValueString": { - "format": "byte", - "type": "string" - }, - "fixedPointMetadata": { - "$ref": "ResearchScamGenericFeatureVectorFixedPointMetadata" - }, - "internalOnlyIsSecondaryPartition": { - "description": "copybara:strip_begin INTERNAL USE ONLY! The ScaM Team reserves the right to remove this field and reuse its proto tag without notice. DO NOT USE outside of build_shards_pipeline! This field is used inside build_shards_pipeline to indicate whether this GFV is residing in its secondary (vs. primary) partition. copybara:strip_end", - "type": "boolean" - }, - "normType": { - "description": "Describes if data has been normalized and the type.", - "enum": [ - "NONE", - "UNITL2NORM", - "STDGAUSSNORM", - "UNITL1NORM" - ], - "enumDescriptions": [ - "", - "", - "mean=0, population std. dev. = 1", - "" - ], - "type": "string" - }, - "queryMetadata": { - "$ref": "ResearchScamQueryMetadata", - "description": "copybara:strip_begin A field that contains metadata information when the datapoint is acting as a query. copybara:strip_end" - }, - "restrictTokens": { - "$ref": "ResearchScamGenericFeatureVectorRestrictTokens", - "description": "copybara:strip_end_and_replace reserved 15;" - }, - "tokens": { - "deprecated": true, - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "userinfo": { - "description": "This field allows application-specific metadata to be stored in a GFV. This information may be used by custom binaries or in pre- or postprocessing outside of ScaM. Use cases include but are not limited to: * Dataset IDs, if multiple datasets are multiplexed into one physical file or network location. * An alternative, possibly more human-readable representation of the data represented by this GFV, for e.g. debugging purposes. * Outputting the contents of this field verbatim to the metadata field of the NearestNeighbors.Neighbor proto.", - "format": "byte", - "type": "string" - }, - "weight": { - "deprecated": true, - "description": "DEPRECATED fields. Ignored by ScaM binaries. Do not use.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ResearchScamGenericFeatureVectorCrowding": { - "description": "This subproto contains configuration for crowding. Crowding is a constraint on a neighbor list produced by nearest neighbor search requiring that no more than some value k' of the k neighbors returned have the same value of crowding_attribute.", - "id": "ResearchScamGenericFeatureVectorCrowding", - "properties": { - "crowdingAttribute": { - "description": "The value of the crowding attribute for this document. The maximum number of neighbors to return per crowding attribute value (per_crowding_attribute_num_neighbors) is configured per-query. This field is ignored if per_crowding_attribute_num_neighbors is larger than the total number of neighbors to return for a given query.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScamGenericFeatureVectorFixedPointMetadata": { - "description": "Metadata that may be populated if this GFV was transformed into fixed-point from a floating-point GFV.", - "id": "ResearchScamGenericFeatureVectorFixedPointMetadata", - "properties": { - "squaredL2Norm": { - "description": "The squared L2 norm of the original (pre-fixed-point transformation) GFV. Used for computing squared L2 distance.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ResearchScamGenericFeatureVectorRestrictTokens": { - "description": "copybara:strip_begin RestrictTokens - used to perform \"restricted searches\" where boolean rules are used to filter the subset of the database eligible for matching. We currently support V1 and V3 restrict systems. V3 restrict is a superset of V1 restrict. New users are encouraged to use V3 directly for its rich features and cleaner semantics. See the document go/scam-v3-restricts, or read the comments in //research/scam/proto/restricts.proto for details. Nevertheless, V1 restrict is still supported by ScaM team. There's some minor tradeoff of performance between V1 and V3. User may prefer V1 over V3 if performance is the first priority. However, the CPU cost between V1 and V3 should be very minor. --------------------------------------------------------------------------- The semantics of V1 restrict is described below: V1 \"forward\" restricts: The dataset defines a many:many mapping between the database points and a token space. Each token names a set of tokens and each database point is a member of zero-to-many tokens. Queries specify zero-to-many whitelist and blacklist tokens that activate database points according to the following rules: * If whitelist_token is populated, the search will be restricted to points named by at least one whitelist token. If whitelist_token is empty, all points are whitelisted by default. * If blacklist_token is populated, it overrides the whitelist. Points named by a blacklisted token are *not* searched. * Note that, if neither whitelist_token nor blacklist_token is populated, the search remains unrestricted. --------------------------------------------------------------------------- V1 \"reverse\" restricts: Each database point is whitelisted and/or blacklisted for zero or more tokens, specified by whitelist_token and blacklist_token fields. Each query specifies zero or more tokens, and the same rules apply: * If a point's whitelist_token is populated, the point will only be searched if the query has at least one matching whitelist token. If whitelist_token is empty, the point is always whitelisted by default. * If a point's blacklist_token is populated, it overrides the whitelist. The point will be ignored for any query with a matching blacklist token. * Note that, if neither whitelist_token nor blacklist_token is populated, the point will always be searched. NEXT ID TO USE: 9", - "id": "ResearchScamGenericFeatureVectorRestrictTokens", - "properties": { - "blacklistToken": { - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "definition": { - "$ref": "ResearchScamCoscamRestrictDefinition", - "description": "DEPRECATED" - }, - "easyDefinition": { - "$ref": "ResearchScamCoscamEasyRestrictDefinition", - "description": "DEPRECATED" - }, - "tokenMembership": { - "description": "B) Token Definitions (V1 Restricts) In \"forward\" mode: defined on database points In \"reverse\" mode: defined on queries", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "tokens": { - "$ref": "ResearchScamCoscamRestrictTokensV2", - "description": "DEPRECATED" - }, - "v3": { - "$ref": "ResearchScamV3Restrict", - "description": "Only ONE of the following sections should be used: A) V3 restricts. Defined in //research/scam/proto/restricts.proto" - }, - "v3CompatibleNamespace": { - "description": "If this field is not empty, when query is in V1 restricts while database is in V3 restricts, SCaM will update V1 query to V3 automatically instead of sending error messages. When updating query from V1 to V3, SCaM server will use this field to fillin the 'namespace' field.", - "type": "string" - }, - "whitelistToken": { - "description": "C) Whitelist / Blacklist Definitions (V1 Restricts) In \"forward\" mode: defined on queries In \"reverse\" mode: defined on database points", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ResearchScamNearestNeighbors": { - "description": "All nearest neighbors for one data point. Last tag used: 5", - "id": "ResearchScamNearestNeighbors", - "properties": { - "docid": { - "description": "Data point for which we computed nearest neighbors. This field is set based on the data_id_str field in the QueryRequest GFV (or SSTable key if data_id_str is not present), and thus can be arbitrary data, e.g. docid, URL, query string.", - "format": "byte", - "type": "string" - }, - "metadata": { - "description": "Metadata about the query. This field is populated if and only if: 1) ScaM is running in offline query-database or online mode and; 2) The metadata is directly fetched from the userinfo field inside GFV and; 3) MetadataConfig.userinfo.set_user_info_for_query is set to true. The field name is kept as \"metadata\" for consistency with neighbors.", - "format": "byte", - "type": "string" - }, - "neighbor": { - "description": "All its neighbors.", - "items": { - "$ref": "ResearchScamNearestNeighborsNeighbor" - }, - "type": "array" - }, - "neighborSelectionOverride": { - "$ref": "ResearchScamNeighborSelectionOverride", - "description": "Propagate neighbor selection override information during offline search." - }, - "query": { - "$ref": "ResearchScamGenericFeatureVector", - "description": "The query vector for which we computed nearest neighbors." - }, - "retrievedVersion": { - "description": "The version ID of the server that responded to this query, if one was specified. This field is not populated for offline (i.e. Flume rather than RPC) search.", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScamNearestNeighborsNeighbor": { - "id": "ResearchScamNearestNeighborsNeighbor", - "properties": { - "crowdingAttribute": { - "description": "If crowding is enabled, the crowding attribute of this neighbor will be stored here.", - "format": "int64", - "type": "string" - }, - "distance": { - "description": "This could be exact or approximate distance.", - "format": "double", - "type": "number" - }, - "docid": { - "description": "Neighbor data point. This field is set based on the data_id_str field in the GFV of the data point in the database (or SSTable key if data_id_str is not present), and thus can be arbitrary data, e.g. docid, URL, query string.", - "format": "byte", - "type": "string" - }, - "gfv": { - "$ref": "ResearchScamGenericFeatureVector", - "description": "The field isn't populated by default, but when enabled (eg, in the ground-truth pipeline), this field provides the original database GFV corresponding to this result." - }, - "metadata": { - "description": "Metadata about the neighbor. This is returned under some configurations as a serialized proto. The specific proto depends on which metadata is configured to be returned.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScamNeighborSelectionOverride": { - "description": "Last used tag = 13", - "id": "ResearchScamNeighborSelectionOverride", - "properties": { - "approxEpsilonDistance": { - "description": "The distance threshold to use for approximate search before exact reordering is performed, if exact reordering is performed. If this is not set and exact reordering is enabled, a reasonable default value will be chosen using a heuristic specified in ScamConfig.ExactReordering.NeighborSelectionOverrideHeuristics. This field is ignored if exact reordering is not enabled. This value must be non-NaN if set.", - "format": "float", - "type": "number" - }, - "approxNumNeighbors": { - "description": "The number of neighbors to find via approximate search before exact reordering is performed. If this is not set and exact reordering is enabled, a reasonable default value will be chosen using the heuristic specified in ScamConfig.ExactReordering.NeighborSelectionOverrideHeuristics. This field is ignored if exact reordering is not enabled. This value must be \u003e 0 if set.", - "format": "int32", - "type": "integer" - }, - "epsilonDistance": { - "description": "The maximum distance at which to return a neighbor. If this proto is used, at least one of this and num_neighbors must be set. The default is infinity, effectively returning num_neighbors neighbors regardless of distance. This value must be non-NaN if set.", - "format": "float", - "type": "number" - }, - "numNeighbors": { - "description": "The maximum number of neighbors to return. If this proto is used, at least one of this and epsilon_distance must be set. The default is the largest value representable as an int32, effectively returning all neighbors within epsilon_distance. This value must be \u003e 0 if set.", - "format": "int32", - "type": "integer" - }, - "numSingleShardNeighbors": { - "description": "If populated, this is the maximum number of neighbors that may be returned from a single shard. If not populated, up to num_neighbors neighbors are returned from each shard. Setting this to a smaller value than num_neighbors will increase speed at the expense of accuray by requiring cross-shard merging of fewer neighbors. If this value is set, num_neighbors must also be set and this value must be \u003c= num_neighbors and \u003e= num_neighbors / number of shards. If set, this value must always be \u003e 0. ", - "format": "int32", - "type": "integer" - }, - "perCrowdingAttributeNumNeighbors": { - "description": "The maximum number of neighbors to return for a single value of the crowding attribute. The crowding attribute is specified per-datapoint in the GenericFeatureVector proto, or the Document proto for sparse logistic models. Crowding is described more thoroughly in research/scam/utils/crowding_top_n.h. NOTES: Crowding is effectivley enabled if this value is less than num_neighbors.", - "format": "int32", - "type": "integer" - }, - "perCrowdingAttributePreReorderingNumNeighbors": { - "description": "The maximum number of neighbors to return from the approximate portion of the nearest-neighbor search algorithm, within each shard, for a single value of the crowding attribute, before performing exact reordering. Ignored if exact reordering is disabled for this dataset.", - "format": "int32", - "type": "integer" - }, - "scoringExtensionMetadata": { - "$ref": "ResearchScamScoringExtensionMetadata", - "description": "The scoring extension metadata overrides for single machine classical scam database." - }, - "treeXHybridCentersToSearch": { - "description": "Note: currently not implemented for all database shard subclasses! Contact ScaM before using. Provides prematched centers_to_search for tree-X hybrid searchers. Ignores any overwrites related to centroid matching since they are already matched. `tree_x_hybrid_centers_to_search` should match by size with `tree_x_hybrid_distances`.", - "items": { - "format": "uint32", - "type": "integer" - }, - "type": "array" - }, - "treeXHybridDistances": { - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "treeXHybridLeavesSearchedOverride": { - "description": "Note: currently not implemented for all database shard subclasses! Contact ScaM before using. Overrides max_spill_centers for tree-X hybrid searchers configured with FIXED_NUMBER_OF_CENTERS spilling. The max_spill_centers in the ScaM config is used if this field isn't set. Only valid if: * Used on a tree-X hybrid ScaM config with FIXED_NUMBER_OF_CENTERS. * Value is greater than zero and at most equal to num_children.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ResearchScamNumericRestrictNamespace": { - "id": "ResearchScamNumericRestrictNamespace", - "properties": { - "namespace": { - "description": "The name of this namespace.", - "type": "string" - }, - "op": { - "description": "This MUST be specified for queries and must NOT be specified for database points.", - "enum": [ - "OP_UNSPECIFIED", - "LESS", - "LESS_EQUAL", - "EQUAL", - "GREATER_EQUAL", - "GREATER", - "NOT_EQUAL" - ], - "enumDescriptions": [ - "", - "Database points are eligible iff their value is \u003c the query's.", - "Database points are eligible iff their value is \u003c= the query's.", - "Database points are eligible iff their value is == the query's.", - "Database points are eligible iff their value is \u003e= the query's.", - "Database points are eligible iff their value is \u003e the query's.", - "Database points are eligible iff their value is != the query's." - ], - "type": "string" - }, - "valueDouble": { - "format": "double", - "type": "number" - }, - "valueFloat": { - "format": "float", - "type": "number" - }, - "valueInt": { - "description": "NOTE: Integers are represented in 64 bits here, but if all integer values for a given namespace fit in a narrower integer type (e.g. int8), we use the narrower integer type internally, increasing performance.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScamOnlineSearchLatencyStats": { - "description": "Structure to hold the response time for a node. Last used: 3", - "id": "ResearchScamOnlineSearchLatencyStats", - "properties": { - "cpuTime": { - "description": "An estimate of the CPU time used for this query on the machine associated with task_id, from when the query was received to when the response was ready to send, in seconds. Caveats: 1. Does not account for CPU time spent serializing, deserializing, compressing or decompressing protos within Stubby. 2. Does not account for cleanup time after response has been sent.", - "format": "double", - "type": "number" - }, - "taskId": { - "description": "Task number associated with response time measurements.", - "format": "int32", - "type": "integer" - }, - "wallTime": { - "description": "Wall time taken on the machine associated with task_id from when the query was received to when the response was ready to send, in seconds. This time excludes the time spent sending the response and the time to perform cleanup operations after the response is sent.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "ResearchScamQueryMetadata": { - "description": "Metadata to encode query-specific information. This may include NeighborSelectionOverride, pre-computed query tokenization, etc..", - "id": "ResearchScamQueryMetadata", - "properties": { - "neighborSelectionOverride": { - "$ref": "ResearchScamNeighborSelectionOverride" - } - }, - "type": "object" - }, - "ResearchScamQueryResponse": { - "description": "Response to a query. The main result is the nearest neighbor list, but we also optionally include debugging information if the appropriate field is set in the request. Last used: 8", - "id": "ResearchScamQueryResponse", - "properties": { - "latency": { - "description": "Debugging fields: The wall and CPU time used by each query on each machine. For successful queries, there will be one entry here for each machine that the query used if QueryRequest.enable_latency_stats was enabled. For unsuccessful queries, the contents of this field will be undefined. NOTE: The following accounting rules apply in batched mode, assuming there are ", - "items": { - "$ref": "ResearchScamOnlineSearchLatencyStats" - }, - "type": "array" - }, - "numDeadlineExceededMachines": { - "description": "The number of non-root machines for which a DEADLINE_EXCEEDED error occurred when they were contacted. This value does NOT include machines for which no reply was received because their parent machine timed out. Therefore, num_total_machines may be larger than num_ok_machines + num_unreachable_machines + num_deadline_exceeded_machines.", - "format": "uint32", - "type": "integer" - }, - "numOkMachines": { - "description": "Number of machines that contributed to the results; this might be less than the total number of machines if a machine has failed. The impact of a single machine failure could be larger than just one machine, if it happens to be one of the machines involved in distributing the query and collecting results.", - "format": "uint32", - "type": "integer" - }, - "numTotalMachines": { - "description": "The number of machines used in this service for the dataset that was queried. If everything went right, this should be equal to num_ok_machines. If num_ok_machines \u003c num_total_machines, some neighbors may be missing from results.", - "format": "uint32", - "type": "integer" - }, - "numUnreachableMachines": { - "description": "The number of non-root machines for which an UNREACHABLE error occurred when they were contacted. This value does NOT include machines that were implicitly unreachable because their parent machine was not reachable. Therefore, num_total_machines may be larger than num_ok_machines + num_unreachable_machines + num_deadline_exceeded_machines.", - "format": "uint32", - "type": "integer" - }, - "restrictStats": { - "description": "The number of \"active\" datapoints for each dataset, i.e. points that are whitelisted by restricts and could be returned if they were close enough to the query. For successful queries, there will be one entry here for each dataset queried, if QueryRequest.enable_restrict_stats was true. For partially-successful successful queries, this field will contain results", - "items": { - "$ref": "ResearchScamRestrictStats" - }, - "type": "array" - }, - "results": { - "description": "The results for each dataset searched. If per_dataset_parameters was empty in QueryRequest then this will have one entry, the results for dataset 0. If per_dataset_parameters was not empty in QueryRequest, this will contain the results for each dataset queried, in order corresponding to the order of QueryRequest.per_dataset_parameters.", - "items": { - "$ref": "ResearchScamNearestNeighbors" - }, - "type": "array" - }, - "status": { - "$ref": "UtilStatusProto", - "description": "USEFUL ONLY IN CUSTOM BINARIES. In the stock ScaM server binary, all errors are relayed via the RPC's status. Thus, if RPC's status is ok, this field is guaranteed to be ok and if RPC's status is an error, no QueryResponse will be returned. The status of this query. This is useful when using a batched postprocessing lambda, which may ignore erroneous subqueries, continue postprocessing the valid ones and return OkStatus. In this case, this field will inform the client of any invalid subqueries." - } - }, - "type": "object" - }, - "ResearchScamRestrictEvaluationInfo": { - "description": "Structre to hold the detailed information for restrict evaluation for a given query and dataset.", - "id": "ResearchScamRestrictEvaluationInfo", - "properties": { - "applyTokenStats": { - "$ref": "ResearchScamRestrictEvaluationInfoApplyTokenStats" - }, - "customRestrictStats": { - "$ref": "ResearchScamCustomRestrictEvaluationStats", - "description": "The evaluation results for all custom restricts. It's up to the individual custom restrict implementation and configuration to populate this field accordingly." - }, - "directLookupStats": { - "$ref": "ResearchScamRestrictEvaluationInfoDirectLookupStats" - } - }, - "type": "object" - }, - "ResearchScamRestrictEvaluationInfoApplyTokenStats": { - "description": "The aggregated stats for token namespace restricts.", - "id": "ResearchScamRestrictEvaluationInfoApplyTokenStats", - "properties": { - "bijectiveMatches": { - "format": "uint64", - "type": "string" - }, - "bitmapMatches": { - "format": "uint64", - "type": "string" - }, - "noMatches": { - "format": "uint64", - "type": "string" - }, - "nonCompactMatches": { - "format": "uint64", - "type": "string" - }, - "vectorDatapointCount": { - "format": "uint64", - "type": "string" - }, - "vectorMatches": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScamRestrictEvaluationInfoDirectLookupStats": { - "description": "NOTE: add stats for numeric restrict if needed. The stats for direct lookup restricts.", - "id": "ResearchScamRestrictEvaluationInfoDirectLookupStats", - "properties": { - "directLookupDocidsCount": { - "description": "The number of docids in the direct lookup request.", - "format": "uint64", - "type": "string" - }, - "directLookupMatches": { - "description": "The number of datapoints found for direct lookup request.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScamRestrictStats": { - "description": "TODO(qhliao) move this proto to research/scam/proto/restricts.proto Structure to hold the number of active and total datapoints for a given dataset, as defined below. Last used: 3", - "id": "ResearchScamRestrictStats", - "properties": { - "evaluationInfo": { - "$ref": "ResearchScamRestrictEvaluationInfo", - "description": "Information about the evaluation of the restricts for this query. Could be used for production (e.g., custom restrict pass certain information to the downstream). copybara:strip_end" - }, - "numActiveDatapoints": { - "description": "The number of datapoints that are whitelisted by restricts specified for this query, across all shards for which the query executed successfully. In other words, this represents the number of datapoints that could potentially be returned if they were close enough to the query according to the selected distance measure. If restricts are disabled, this will be equal to num_total_datapoints.", - "format": "uint64", - "type": "string" - }, - "numTotalDatapoints": { - "description": "The number of total datapoints in all shards of this dataset for which the query executed successfully. This is returned for convenience so that a ratio can be easily computed, and so that num_active_datapoints can be put in perspective for partially successful queries, i.e. queries where only some shards were successful.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScamScoringExtensionMetadata": { - "description": "Parameters to adjust the scoring extension configuration for ScaM. Next ID: 2", - "id": "ResearchScamScoringExtensionMetadata", - "properties": { - "postScoringExtensionNumNeighbors": { - "description": "The number of neighbors to return post scoring extension.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ResearchScamTokenNamespace": { - "id": "ResearchScamTokenNamespace", - "properties": { - "bytesBlocklistTokens": { - "description": "If present, override |string_blacklist_tokens|.", - "items": { - "format": "byte", - "type": "string" - }, - "type": "array" - }, - "bytesTokens": { - "description": "If present, override |string_tokens|", - "items": { - "format": "byte", - "type": "string" - }, - "type": "array" - }, - "namespace": { - "description": "//////////////////////////////////////////////////////////////////////////// NAMESPACE - the string name of the namespace that this proto is specifying, such as \"color\", \"shape\", \"geo\", or \"tags\". Recall that your overall query is an AND across namespaces.", - "type": "string" - }, - "stringBlacklistTokens": { - "description": "New use cases should prefer |bytes_tokens|, go/fast/11#bytes-vs-string When migrate, need to be consistent in both dataset and query.", - "items": { - "type": "string" - }, - "type": "array" - }, - "stringTokens": { - "description": "New use cases should prefer |bytes_tokens|, go/fast/11#bytes-vs-string When migrate, need to be consistent in both dataset and query.", - "items": { - "type": "string" - }, - "type": "array" - }, - "uint64BlacklistTokens": { - "description": "TODO(qhliao) rename to |uint64_blocklist_tokens| eventually.", - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - }, - "uint64Tokens": { - "items": { - "format": "uint64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ResearchScamV3Restrict": { - "description": "//////////////////////////////////////////////////////////////////////////// Note that: * Your overall query is an AND across namespaces across types. * Namespaces names are independent across different restrict types (token, numeric and custom).", - "id": "ResearchScamV3Restrict", - "properties": { - "customNamespaces": { - "description": "This field allows custom restrict extension. - It is up to the extension to decide whether OK to specify the same custom namespace more than once per instance of the V3Restrict proto. - Unrecorgniazed (in |V3RestrictsConfig.custom_restrict_namespace_configs|) and unregistered (in factory function registry) custom namespace name will fail dataset loading (instead of being ignored silently). See go/scam-restrict-plugin for more details.", - "items": { - "$ref": "ResearchScamCustomRestrictNamespace" - }, - "type": "array" - }, - "namespaces": { - "description": "A repeating field, where each entry specifies the set of tokens, within a single namespace, that apply to the query, or database point, on which this V3Restrict proto is defined. * Explicitly specifying a namespace with 0 tokens is identical to omitting that namespace. ie, \"{ns:}\" == \"\". * It is an error to specify the same namespace more than once per instance of the V3Restrict proto.", - "items": { - "$ref": "ResearchScamTokenNamespace" - }, - "type": "array" - }, - "numericNamespaces": { - "description": "This field allows restricts to be based on numeric comparisons rather than categorical tokens. HINT: To allow a range of values in a namespace (e.g. 42 \u003c= x \u003c 128), specify the same namespace twice in the query, e.g.: {namespace: \"x\" op: LESS value_int: 128 } {namespace: \"x\" op: GREATER_EQUAL value_int: 42 }", - "items": { - "$ref": "ResearchScamNumericRestrictNamespace" - }, - "type": "array" - } - }, - "type": "object" - }, - "ResearchScienceSearchCatalog": { - "description": "Information on the catalog that this dataset comes from. Next ID: 5", - "id": "ResearchScienceSearchCatalog", - "properties": { - "description": { - "description": "catalog description", - "type": "string" - }, - "mid": { - "description": "catalog mid", - "type": "string" - }, - "name": { - "description": "catalog name", - "type": "string" - }, - "url": { - "description": "catalog url", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScienceSearchCitation": { - "description": "Reference to the citation in Google scholar.", - "id": "ResearchScienceSearchCitation", - "properties": { - "citation": { - "type": "string" - }, - "safeHtmlCitation": { - "$ref": "WebutilHtmlTypesSafeHtmlProto", - "description": "The citation after HTML sanitation. Used only by the front-end." - } - }, - "type": "object" - }, - "ResearchScienceSearchDataDownload": { - "description": "The dataset in downloadable form. There can be multiple data download entries for different file types. Next ID: 6", - "id": "ResearchScienceSearchDataDownload", - "properties": { - "contentSize": { - "description": "Size of the download, as a string from the provider. May include units.", - "type": "string" - }, - "downloadUrl": { - "description": "URL for downloading the data", - "type": "string" - }, - "fileFormat": { - "description": "File format at the link (ASCII, CSV, etc.)", - "type": "string" - }, - "fileFormatClass": { - "description": "Pragmatic classification of file formats - for filtering purposes", - "enum": [ - "CLASS_UNDEFINED", - "CLASS_TABULAR", - "CLASS_DOCUMENT", - "CLASS_STRUCTURED", - "CLASS_IMAGE", - "CLASS_TEXT", - "CLASS_ARCHIVE", - "CLASS_PRESENTATION", - "CLASS_VIDEO", - "CLASS_AUDIO", - "CLASS_GEOSPATIAL", - "CLASS_MEDICAL_IMAGING", - "CLASS_COMPBIO", - "CLASS_OTHER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Special class for file formats not fitting into any other class" - ], - "type": "string" - }, - "parsedContentSize": { - "$ref": "ResearchScienceSearchDataSize", - "description": "Parsed content size" - } - }, - "type": "object" - }, - "ResearchScienceSearchDataSize": { - "description": "Data size information, consists of a numeric value and a unit. Next ID: 3", - "id": "ResearchScienceSearchDataSize", - "properties": { - "size": { - "description": "Data size value, in the provided size unit", - "format": "double", - "type": "number" - }, - "unit": { - "description": "The data size unit", - "enum": [ - "UNIT_UNSPECIFIED", - "BYTE", - "KB", - "MB", - "GB", - "TB", - "PB", - "EB", - "KIB", - "MIB", - "GIB", - "TIB", - "PIB", - "EIB" - ], - "enumDescriptions": [ - "", - "", - "Decimal: Enum value is 10 followed by its power", - "", - "", - "", - "", - "", - "Binary: Enum value is 2 followed by its power", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "ResearchScienceSearchDate": { - "description": "Representation of fields that contain dates. The formattes version, if present, contains ISO 8601 formatted date or range. Otherwise, it is an unformatted string. Next ID: 3", - "id": "ResearchScienceSearchDate", - "properties": { - "formatted": { - "type": "string" - }, - "unformatted": { - "type": "string" - } - }, - "type": "object" - }, - "ResearchScienceSearchFieldOfStudyInfo": { - "description": "Stores the classification info of each field of study label.", - "id": "ResearchScienceSearchFieldOfStudyInfo", - "properties": { - "classificationSource": { - "description": "The classification source that determines the field of study label.", - "enum": [ - "UNKNOWN", - "INFERENCE", - "KNOWLEDGE_GRAPH" - ], - "enumDescriptions": [ - "", - "The classification result is determined by model inference.", - "The classification result is determined by knowledge graph mids." - ], - "type": "string" - }, - "isAboveThreshold": { - "description": "If set to true, it means that the probability is at least the threshold value specified from the corresponding saved model config. Thresholds for different fields may be different.", - "enum": [ - "BOOLEAN_WITH_UNDEFINED_UNDEFINED", - "BOOLEAN_WITH_UNDEFINED_TRUE", - "BOOLEAN_WITH_UNDEFINED_FALSE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "label": { - "description": "A label that represents the field of study.", - "enum": [ - "UNKNOWN_FIELD_OF_STUDY_LABEL", - "HUMANITIES", - "SOCIAL_AND_BEHAVIOURAL_SCIENCE", - "BIOLOGY", - "MEDICINE", - "AGRICULTURE_FORESTRY_HORTICULTURE_AND_VETERINARY_MEDICINE", - "CHEMISTRY", - "PHYSICS", - "MATHEMATICS", - "GEOSCIENCES_AND_GEOGRAPHY", - "MECHANICAL_AND_INDUSTRIAL_ENGINEERING", - "THERMAL_ENGINEERING_AND_PROCESS_ENGINEERING", - "MATERIALS_SCIENCE_AND_ENGINEERING", - "COMPUTER_SCIENCE_ELECTRICAL_AND_SYSTEM_ENGINEERING", - "CONSTRUCTION_ENGINEERING_AND_ARCHITECTURE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "probability": { - "description": "A score between [0, 1] outputted from the classifier indicating the probability for being a YES instance.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "ResearchScienceSearchLicense": { - "description": "Distribution license information. Next ID: 6", - "id": "ResearchScienceSearchLicense", - "properties": { - "id": { - "description": "A fingerprint id generated based on the license_class, URL or text. Since the knowledge graph requires a unique string id for the license but any filed of license can be empty, a fingerprint id can serve as a compact identifier representing the non-empty sub-fields.", - "type": "string" - }, - "licenseClass": { - "description": "A value from a controlled vocabulary that uniquely identifies a license. Unless this is set to LICENSE_CLASS_UNDEFINED_NO_MATCH or LICENSE_CLASS_UNDEFINED_CONTRADICTING_MATCHES other fields in this message should be empty.", - "enum": [ - "LICENSE_CLASS_UNDEFINED_NO_MATCH", - "LICENSE_CLASS_UNDEFINED_CONTRADICTING_MATCHES", - "LICENSE_CLASS_CC0_V_1_0", - "LICENSE_CLASS_PDDL_V_1_0", - "LICENSE_CLASS_CC_BY_V_1_0", - "LICENSE_CLASS_CC_BY_V_2_0", - "LICENSE_CLASS_CC_BY_V_2_5", - "LICENSE_CLASS_CC_BY_V_3_0", - "LICENSE_CLASS_CC_BY_V_4_0", - "LICENSE_CLASS_CC_BY_SA_V_1_0", - "LICENSE_CLASS_CC_BY_SA_V_2_0", - "LICENSE_CLASS_CC_BY_SA_V_2_5", - "LICENSE_CLASS_CC_BY_SA_V_3_0", - "LICENSE_CLASS_CC_BY_SA_V_4_0", - "LICENSE_CLASS_CC_BY_NC_V_1_0", - "LICENSE_CLASS_CC_BY_NC_V_2_0", - "LICENSE_CLASS_CC_BY_NC_V_2_5", - "LICENSE_CLASS_CC_BY_NC_V_3_0", - "LICENSE_CLASS_CC_BY_NC_V_4_0", - "LICENSE_CLASS_CC_BY_NC_SA_V_1_0", - "LICENSE_CLASS_CC_BY_NC_SA_V_2_0", - "LICENSE_CLASS_CC_BY_NC_SA_V_2_5", - "LICENSE_CLASS_CC_BY_NC_SA_V_3_0", - "LICENSE_CLASS_CC_BY_NC_SA_V_4_0", - "LICENSE_CLASS_CC_BY_ND_V_1_0", - "LICENSE_CLASS_CC_BY_ND_V_2_0", - "LICENSE_CLASS_CC_BY_ND_V_2_5", - "LICENSE_CLASS_CC_BY_ND_V_3_0", - "LICENSE_CLASS_CC_BY_ND_V_4_0", - "LICENSE_CLASS_CC_BY_ND_NC_V_1_0", - "LICENSE_CLASS_CC_BY_NC_ND_V_2_0", - "LICENSE_CLASS_CC_BY_NC_ND_V_2_5", - "LICENSE_CLASS_CC_BY_NC_ND_V_3_0", - "LICENSE_CLASS_CC_BY_NC_ND_V_4_0", - "LICENSE_CLASS_CC_PDM_V_1_0", - "LICENSE_CLASS_OPEN_GOVERNMENT_LICENSE_V_1_0", - "LICENSE_CLASS_OPEN_GOVERNMENT_LICENSE_V_2_0", - "LICENSE_CLASS_OPEN_GOVERNMENT_LICENSE_V_3_0", - "LICENSE_CLASS_OPEN_GOVERNMENT_LICENSE_CANADA_V_2_0", - "LICENSE_CLASS_OPEN_GOVERNMENT_LICENSE_J_V_1_0", - "LICENSE_CLASS_OPEN_GOVERNMENT_LICENSE_NT_V_1_0", - "LICENSE_CLASS_DL_DE_BY_V_1_0", - "LICENSE_CLASS_DL_DE_BY_V_2_0", - "LICENSE_CLASS_DL_DE_ZERO_V_2_0", - "LICENSE_CLASS_LO_OL_V_1_0", - "LICENSE_CLASS_LO_OL_V_2_0", - "LICENSE_CLASS_US_PD_V_1_0", - "LICENSE_CLASS_OCL_V_1_0", - "LICENSE_CLASS_ODC_PDDL_V_1_0", - "LICENSE_CLASS_ODC_BY_V_1_0", - "LICENSE_CLASS_ODC_ODBL_V_1_0", - "LICENSE_CLASS_MIT_V_1_0", - "LICENSE_CLASS_APACHE_V_2_0", - "LICENSE_CLASS_B40_ODL_BY_V_1_0" - ], - "enumDescriptions": [ - "Special value for when the metadata provided does not match any license class", - "Special value for when the metadata provided matches more than one license class", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Version 1.0 has \"nd\" before \"nc\"", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "V1.0 doesn't exist", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "licenseMid": { - "description": "mid for the license.", - "type": "string" - }, - "text": { - "description": "The text (usually, the name) of the distribution license.", - "type": "string" - }, - "url": { - "description": "The url for the distribution license.", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScienceSearchLocation": { - "description": "Describes the spatial information about a value in spatial-coverage definition of a dataset. Next ID: 9", - "id": "ResearchScienceSearchLocation", - "properties": { - "boxCoordinates": { - "description": "Coordinates of the corners of the polygon in the form \"lat1 long1 lat2 long2\"", - "type": "string" - }, - "circleCoordinates": { - "description": "Coordinates for the circle area defined by its center and radius: \"lat long, radius\"", - "type": "string" - }, - "containedInMid": { - "description": "mids for locations that contain loctions in .", - "items": { - "type": "string" - }, - "type": "array" - }, - "locationMid": { - "description": "mids for locations covering the dataset, contained in the . A region may contain multiple locations that are identified by mids.", - "items": { - "type": "string" - }, - "type": "array" - }, - "locationMidLabel": { - "description": "Labels (in the preferred language of the dataset) for the mids in .", - "items": { - "type": "string" - }, - "type": "array" - }, - "locationName": { - "description": "The original name for the area covered by the dataset.", - "type": "string" - }, - "locationSource": { - "enum": [ - "UNKNOWN", - "METADATA", - "WEBREF", - "NAME" - ], - "enumDescriptions": [ - "", - "The location mid is retrieved from the spatial fields in metadata.", - "The location mid is retrieved from WebRef.", - "The location mid is retrieved from the dataset name." - ], - "type": "string" - }, - "pointCoordinates": { - "description": "Latitude and longitude for a single point in the form of \"lat,long\".", - "type": "string" - }, - "unformattedCoordinates": { - "description": "Unformatted coordinates describing the region.", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScienceSearchNavboostQueryInfo": { - "description": "The information representing one navboost query for the dataset source_url.", - "id": "ResearchScienceSearchNavboostQueryInfo", - "properties": { - "impCount": { - "description": "imp_count stores an estimate of the number of impressions for this tuple.", - "format": "float", - "type": "number" - }, - "lccCount": { - "description": "lcc_count stores an estimate of the number of long clicks for this tuple. NOTE: It is similar to query_doc_count, but calculated in different manner.", - "format": "float", - "type": "number" - }, - "query": { - "description": "The query string.", - "type": "string" - }, - "queryCount": { - "description": "The query_count stores the counts on this query.", - "format": "float", - "type": "number" - }, - "queryDocCount": { - "description": "The query_doc_count stores the number of long-clicks on this pair.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ResearchScienceSearchOrganization": { - "description": "Organization, such as the source of a dataset or a funder NOTE: source_organization_mid and source_organization_mid_label should always have the same length: the mid and label correspond to each other. We don't use a map for consistency with Location and if we switch to map, we should switch to it in both. Next ID: 6", - "id": "ResearchScienceSearchOrganization", - "properties": { - "organizationMid": { - "description": "KG mid for the organization or person.", - "items": { - "type": "string" - }, - "type": "array" - }, - "organizationMidLabel": { - "description": "Label (in the preferred language of the dataset) for the mid.", - "items": { - "type": "string" - }, - "type": "array" - }, - "organizationName": { - "description": "Unreconciled organization name. We store it here only if there are no organization_mid values present.", - "type": "string" - }, - "organizationUrl": { - "description": "Original organization url", - "type": "string" - }, - "originalOrganizationName": { - "description": "Original name before reconciliation; empty if not reconciled.", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScienceSearchReconciledMetadata": { - "description": "A proto for storing inferred and reconciled metadata for Science Search. Next available tag: 74", - "id": "ResearchScienceSearchReconciledMetadata", - "properties": { - "alternateName": { - "description": "Alternate names and acronyms for the dataset.", - "items": { - "type": "string" - }, - "type": "array" - }, - "authorList": { - "description": "A string representation of the authors of the dataset, collected from author and creator in raw metadata. The exact format (e.g., comma-separated, etc.) is up to the extender that populates this field. The assumption is that this string may appear in the UI \"as is\".", - "type": "string" - }, - "basicFieldsHash": { - "description": "A hash of the fields copied by BasicMetadataExtender and the importers. See cs/research/science_search/backend/extender/basic_metadata_extender.h for the list of fields.", - "format": "uint64", - "type": "string" - }, - "catalog": { - "$ref": "ResearchScienceSearchCatalog", - "description": "Catalog that this dataset is a part of." - }, - "compactIdentifier": { - "description": "Compact Identifiers (for example \"RRID:SCR_002088\") that can be resolved by Identifiers.org or N2T.net meta-resolvers.", - "items": { - "type": "string" - }, - "type": "array" - }, - "compactIdentifierFromCitation": { - "description": "Compact Identifier(s) extracted from the citation field. Like in the case of DOI(s) those identify the articles related to the dataset rather than the dataset itself.", - "items": { - "type": "string" - }, - "type": "array" - }, - "coverageEndDate": { - "$ref": "ResearchScienceSearchDate" - }, - "coverageStartDate": { - "$ref": "ResearchScienceSearchDate", - "description": "The start and end date that the dataset covers. If the dataset covers a single timepoint, then start and end dates are the same. Use the ISO 8601 format for dates (e.g., 2006-05-23)." - }, - "dataDownload": { - "description": "The dataset in downloadable form. There can be multiple data download entries for different file types.", - "items": { - "$ref": "ResearchScienceSearchDataDownload" - }, - "type": "array" - }, - "datasetClassificationFieldsHash": { - "description": "A hash of the raw metadata fields used by the QualityExtender.", - "format": "uint64", - "type": "string" - }, - "datasetClassificationScore": { - "description": "Probability that the entity is in fact a dataset (in contrast to spam or website labelled as dataset that does not describe a dataset).", - "format": "double", - "type": "number" - }, - "dateCreated": { - "$ref": "ResearchScienceSearchDate", - "description": "The date when the dataset was created." - }, - "dateModified": { - "$ref": "ResearchScienceSearchDate", - "description": "The date when the dataset was modified." - }, - "datePublished": { - "$ref": "ResearchScienceSearchDate", - "description": "The date when the dataset was published." - }, - "dateUpdated": { - "$ref": "ResearchScienceSearchDate", - "description": "Most recent of the three dates (published, created, modified)" - }, - "denylistStatus": { - "items": { - "enum": [ - "UNKNOWN_STATUS", - "FILE_NAME", - "NO_DESCRIPTION", - "DENYLIST_REGEX_MATCH", - "DENYLIST_NAME_MATCH", - "NAME_SIZE_OUT_OF_BOUNDS", - "DESCRIPTION_TOO_SHORT", - "NOT_IN_CATALOG_FOR_DOMAIN", - "MIRRORS_POPULAR_DATASET" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "Dataset name is a file name and there are no other names.", - "Dataset has no description.", - "Dataset id matches a regex on the denylist. NO LONGER USED", - "Dataset name matches a regex on the denylist.", - "Dataset name is too short or too long.", - "Dataset description is too short.", - "The dataset comes from a known domain but is not included in the catalog for that domain.", - "The dataset is a mirror of an excessively mirrored popular dataset" - ], - "type": "string" - }, - "type": "array" - }, - "description": { - "description": "Description of the dataset.", - "items": { - "type": "string" - }, - "type": "array" - }, - "descriptionInHtml": { - "description": "Description of the dataset converted to HTML.", - "items": { - "type": "string" - }, - "type": "array" - }, - "doi": { - "description": "The DOI for the dataset. We assume that there is only one.", - "type": "string" - }, - "doiFromCitation": { - "description": "DOI(s) extracted from the citation field. In contrast to the \"doi\" field these DOIs identify the articles related to the dataset rather than the dataset itself.", - "items": { - "type": "string" - }, - "type": "array" - }, - "fieldOfStudy": { - "description": "Field of study: a general, high-level classification of the dataset. This is only populated during indexing time and it is only populated if the classification_source is KNOWLEDGE_GRAPH or it's above inference threshold.", - "items": { - "$ref": "ResearchScienceSearchFieldOfStudyInfo" - }, - "type": "array" - }, - "fingerprint": { - "description": "The fingerprint of basic fields from DatasetMetadata, including: - name - description DEPRECATED", - "format": "uint64", - "type": "string" - }, - "funder": { - "description": "Funder of the dataset.", - "items": { - "$ref": "ResearchScienceSearchOrganization" - }, - "type": "array" - }, - "hasCroissantFormat": { - "description": "Indicates if the dataset has croissant format (https://github.com/mlcommons/croissant). Use optional so that explicitly setting to false will ensure the value is passed along to the KG instead of being indistinguisable from being unset and thus not set in the KG.", - "type": "boolean" - }, - "hasTableSummaries": { - "description": "Indicates if the dataset has table summaries. This field is only populated during indexing time.", - "type": "boolean" - }, - "id": { - "description": "A unique id for the dataset. For the data from Spore, this is the spore id, such as, for example \"http://accession.nodc.noaa.gov/8500223#__sid=js0\" REQUIRED", - "type": "string" - }, - "identifierFromSource": { - "description": "An identifier as provided by the dataset itself.", - "items": { - "type": "string" - }, - "type": "array" - }, - "imageUrl": { - "description": "The image urls provided by the dataset (e.g., for thumbnail images).", - "items": { - "type": "string" - }, - "type": "array" - }, - "indexInCluster": { - "description": "Index of this dataset in its cluster of replicas.", - "format": "int32", - "type": "integer" - }, - "isAccessibleForFree": { - "description": "Indicates if the dataset is available for free or behind a paywal http://schema.org/isAccessibleForFree", - "enum": [ - "BOOLEAN_WITH_UNDEFINED_UNDEFINED", - "BOOLEAN_WITH_UNDEFINED_TRUE", - "BOOLEAN_WITH_UNDEFINED_FALSE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "isBasedOn": { - "description": "A resource (most likely another dataset) from which this dataset is derived or from which it is a modification or adaption. http://schema.org/isBasedOn", - "items": { - "type": "string" - }, - "type": "array" - }, - "isInferred": { - "description": "Indicates whether the metadata was inferred using an ML model rather than from the schema.org fields. Use optional so that explicitly setting to false will ensure the value is passed along to the KG instead of being indistinguisable from being unset and thus not set in the KG. This field was originally non-optional; changing to optional is backwards compatible, but protos created prior to being optional won't have has_is_inferred() (go/proto-proposals/proto3-presence#wire-format-semantic-changes).", - "type": "boolean" - }, - "keyword": { - "description": "Keywords describing the dataset.", - "items": { - "type": "string" - }, - "type": "array" - }, - "languageCode": { - "description": "The 2-letter language code for the source page for the dataset. Same as the language code in source_url_docjoin_info. Populated only when generating output for indexing.", - "type": "string" - }, - "license": { - "description": "License for the dataset.", - "items": { - "$ref": "ResearchScienceSearchLicense" - }, - "type": "array" - }, - "licenseDeprecated": { - "description": "License for the dataset. DEPRECATED", - "items": { - "type": "string" - }, - "type": "array" - }, - "locationReconciledForName": { - "description": "Indicates if the location has been reconciled for the dataset name. This is used by LocationExtender to avoid re-annotating the dataset name.", - "type": "boolean" - }, - "measurementTechnique": { - "description": "A technique or technology used in a Dataset corresponding to the method used for measuring the corresponding variable(s) (described using variableMeasured). http://schema.org/measurementTechnique", - "items": { - "type": "string" - }, - "type": "array" - }, - "mentionedUrls": { - "description": "Mentioned URLs in the description.", - "items": { - "type": "string" - }, - "type": "array" - }, - "metadataType": { - "enum": [ - "UNKNOWN_DATASET_TYPE", - "DATASET_TYPE", - "TABLE_TYPE", - "FIGURE_TYPE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "name": { - "description": "The names of the dataset.", - "items": { - "type": "string" - }, - "type": "array" - }, - "numberOfDatasetsAtSourceUrl": { - "description": "The number of datasets at the same source url as this dataset.", - "format": "int32", - "type": "integer" - }, - "numberOfScholarCitations": { - "description": "The number of articles that reference this dataset.", - "format": "int32", - "type": "integer" - }, - "publication": { - "items": { - "$ref": "ResearchScienceSearchCitation" - }, - "type": "array" - }, - "relatedArticleUrl": { - "description": "The url for the article that (likely) describes this dataset.", - "type": "string" - }, - "replica": { - "description": "The info of replicas of this dataset.", - "items": { - "$ref": "ResearchScienceSearchReplica" - }, - "type": "array" - }, - "sameAs": { - "description": "Ids for other instances (not different versions) of this dataset.", - "items": { - "type": "string" - }, - "type": "array" - }, - "scholarQuery": { - "description": "Query string to send to Scholar to obtain the best approximation of citations to the dataset.", - "type": "string" - }, - "scholarlyArticle": { - "$ref": "ResearchScienceSearchScholarlyArticle", - "description": "For tables and figures, contains all of the metadata for a scholarly article that was the source of this table or figure. This field is populated only if metadata_type is 'TABLE' or 'FIGURE'." - }, - "sourceOrganization": { - "description": "Source of the dataset: unifies provider, creator, author, publisher etc.", - "items": { - "$ref": "ResearchScienceSearchOrganization" - }, - "type": "array" - }, - "sourceUrl": { - "description": "Source url from which we gathered the metadata", - "type": "string" - }, - "sourceUrlDocjoinInfo": { - "$ref": "ResearchScienceSearchSourceUrlDocjoinInfo", - "description": "All the information extracted from docjoin, for the source_url of this dataset, aka DatasetMetadata.source_url." - }, - "spatialCoverage": { - "description": "Locations that describe spatial coverage of the data. If the data covers multiple locations then each value corresponds to one such location, describing its coordinates, mid, etc.", - "items": { - "$ref": "ResearchScienceSearchLocation" - }, - "type": "array" - }, - "topSalientTermLabel": { - "description": "Top salient term labels that describe the dataset document body.", - "items": { - "type": "string" - }, - "type": "array" - }, - "url": { - "description": "urls for the dataset, including doi.", - "items": { - "type": "string" - }, - "type": "array" - }, - "variable": { - "description": "Variables that the data in the dataset captures (e.g., pressure, salinity, temperature). For now, these are just strings.", - "items": { - "type": "string" - }, - "type": "array" - }, - "versionClusterInfo": { - "$ref": "ResearchScienceSearchVersionClusterInfo", - "description": "Information on the version cluster that the dataset is a part of. This field is populated during the indexing time; the field is populated only if the dataset is part of a version cluster." - }, - "versionEmbeddingFieldsHash": { - "description": "A hash of the raw metadata fields used by the VersionEmbeddingExtender.", - "format": "uint64", - "type": "string" - }, - "versionEmbeddingVector": { - "description": "An embedding for the dataset to be used by the VersionAggregator.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "versionsSimhash": { - "description": "A simhash value of the fields used for identifying versions of a dataset. This will be used by the VersionClusterInfoWriter.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScienceSearchReplica": { - "description": "Stores the information about a dataset replica. Next ID: 5", - "id": "ResearchScienceSearchReplica", - "properties": { - "catalogName": { - "description": "The name of the catalog that the replica comes from.", - "type": "string" - }, - "catalogUrl": { - "description": "The url of the catalog that the replica comes from.", - "type": "string" - }, - "indexInCluster": { - "description": "The index of this replica in a cluster of replicas.", - "format": "int32", - "type": "integer" - }, - "url": { - "description": "Url for the replica.", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScienceSearchScholarlyArticle": { - "description": "Data and associated metadata for a scholarly pdf article.", - "id": "ResearchScienceSearchScholarlyArticle", - "properties": { - "citation": { - "$ref": "ScienceCitation", - "description": "Proto containing all of the Scholar Metadata for this article." - }, - "figureOrTableImage": { - "description": "contains the image of the figure or table cropped out of the pdf page encoded as a PNG.", - "format": "byte", - "type": "string" - }, - "figureOrTableOcrText": { - "description": "Contains the text (as detected by OCR) contained inside the image of the figure or table.", - "type": "string" - }, - "landingPageUrl": { - "description": "The url of the landing page for the scholarly article.", - "type": "string" - }, - "pageNumber": { - "description": "The page number where the table and figure is located in the original pdf document.", - "format": "int32", - "type": "integer" - }, - "pdfDownloadUrl": { - "description": "The url where the pdf file is located for the scholarly article.", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScienceSearchSourceUrlDocjoinInfo": { - "description": "The proto containing all the information we extracted from docjoin, for the source_url of the dataset. NEXT TAG: 18", - "id": "ResearchScienceSearchSourceUrlDocjoinInfo", - "properties": { - "dataSource": { - "enum": [ - "UNKNOWN", - "RAFFIA_PROXY_SERVICE", - "SPORE_DUMP", - "INFERRED" - ], - "enumDescriptions": [ - "", - "Fetched through Raffia proxy service (go/raffia-proxy).", - "Fetched through the data dump by Spore team, aka '/namespace/custom_corpus/prod/clients/tpkit/science_search/export-spore/ttl=3d/...'", - "Inferred using ML" - ], - "type": "string" - }, - "displayUrl": { - "description": "The url used to display in the google search results. ", - "type": "string" - }, - "docid": { - "description": "The docid of the document. ", - "format": "uint64", - "type": "string" - }, - "indexTier": { - "description": "Index tiers (BASE, UNIFIED_ZEPPELIN, etc) that the document belongs to. NOTE: Each document may belong to multiple tiers. NOTE: The original data type is an enum CompositeDoc::SubIndexType. However we don't want to depend on segindexer/compositedoc.proto because the proto is too large. Instead, we use CompositeDoc::SubIndexType_Name( subindexid) to convert into a string representation. To convert string back to CompositeDoc::SubIndexType, use CompositeDoc::SubIndexType_Parse.", - "items": { - "type": "string" - }, - "type": "array" - }, - "languageCode": { - "description": "The language of the document in the string representation of LanguageCode. Converts from Language Enum to LanguageCode through i18n/identifiers/langenclanguagecodeconverter.h Please use i18n/identifiers/languagecodeconverter.h for converting between LanguageCode and string representation.", - "type": "string" - }, - "latestPageUpdateDate": { - "description": "The syntactic date of a dataset document that reflects the publication date of the content.", - "type": "string" - }, - "navboostQuery": { - "description": "A sequence of Navboost queries for the dataset source_url.", - "items": { - "$ref": "ResearchScienceSearchNavboostQueryInfo" - }, - "type": "array" - }, - "pagerank": { - "description": "The page rank of the document. DEPRECATED in favour of Pagerank_NS. Do not use as it is no longer maintained in docjoins and can break at any moment.", - "format": "int32", - "type": "integer" - }, - "pagerankNs": { - "description": "The production pagerank value of the document. ", - "format": "int32", - "type": "integer" - }, - "petacatInfo": { - "$ref": "FatcatCompactDocClassification", - "description": "Petacat classifications for the web document. Normally the results from calling Petacat come in a PetacatResponse, which is very flexible and extensible. This proto takes most of the flexibility away - only rephil clusters, taxonomic classifications, and binary classifications, with discretized weights." - }, - "salientTerms": { - "$ref": "QualitySalientTermsSalientTermSet", - "deprecated": true, - "description": "A set of salient terms extracted fromthe document. DEPRECATEAD. Moved to DatasetMetadata for performance reasons." - }, - "scholarInfo": { - "$ref": "ScienceIndexSignal", - "description": "Science per-doc data for inclusion in websearch. " - }, - "sporeGraphMid": { - "deprecated": true, - "description": "A set of entities from WebRef annotations that are in SPORE_GRAPH.", - "items": { - "type": "string" - }, - "type": "array" - }, - "title": { - "description": "The title of the document. ", - "type": "string" - }, - "topEntity": { - "deprecated": true, - "description": "A set of top entities from WebrefAnnotation, top is defined by topicality score, see go/topicality-score for detail. DEPRECATED. See label_to_mids_map instead.", - "items": { - "$ref": "RepositoryWebrefWebrefEntity" - }, - "type": "array" - }, - "url": { - "description": "The url of the document. ", - "type": "string" - }, - "webrefEntity": { - "description": "A set of entities copied from WebRefEntities on cDoc.", - "items": { - "$ref": "ResearchScienceSearchSourceUrlDocjoinInfoWebrefEntityInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "ResearchScienceSearchSourceUrlDocjoinInfoWebrefEntityInfo": { - "description": "The mid and description of a WebRefEntity.", - "id": "ResearchScienceSearchSourceUrlDocjoinInfoWebrefEntityInfo", - "properties": { - "deprecatedEntityType": { - "deprecated": true, - "description": "DEPRECATED. See entity_type instead.", - "enum": [ - "UNKNOWN", - "FIELD_OF_STUDY", - "GEO", - "ORGANIZATION" - ], - "enumDescriptions": [ - "", - "/collection/field_of_studies in KG.", - "/collection/geo/* in KG.", - "/collection/organization/* in KG" - ], - "type": "string" - }, - "description": { - "description": "The English description of the mid from the KG.", - "type": "string" - }, - "entityCollectionType": { - "items": { - "enum": [ - "UNKNOWN", - "FIELD_OF_STUDY", - "GEO", - "ORGANIZATION" - ], - "enumDescriptions": [ - "", - "/collection/field_of_studies in KG.", - "/collection/geo/* in KG.", - "/collection/organization/* in KG" - ], - "type": "string" - }, - "type": "array" - }, - "kgCollection": { - "description": "HRID of the KG collections", - "items": { - "type": "string" - }, - "type": "array" - }, - "mid": { - "description": "The KG identifier of the WebrefEntity.", - "type": "string" - } - }, - "type": "object" - }, - "ResearchScienceSearchVersionClusterInfo": { - "description": "Stores the information about each cluster of versions. Versions are defined in go/s2-versioning. Next available tag: 4", - "id": "ResearchScienceSearchVersionClusterInfo", - "properties": { - "indexInVersionCluster": { - "description": "Index of this dataset in its cluster of versions.", - "format": "int32", - "type": "integer" - }, - "numVersions": { - "description": "The number of versions in a Version Cluster. This is equivalent to cluster size.", - "format": "int32", - "type": "integer" - }, - "versionClusterId": { - "description": "A fingerprint id of the cluster of versions this dataset belongs to. This is a hash of a dataset_id in the cluster.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "RichsnippetsDataObject": { - "description": "Next ID: 11", - "id": "RichsnippetsDataObject", - "properties": { - "AccessKey": { - "deprecated": true, - "type": "string" - }, - "attribute": { - "items": { - "$ref": "RichsnippetsDataObjectAttribute" - }, - "type": "array" - }, - "source": { - "enum": [ - "PAGEMAP", - "MICROFORMAT", - "RDFA", - "METATAGS", - "SCRAPED", - "MICRODATA", - "AUTO_THUMBNAIL", - "JSON_LD" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "This is gerenated by auto selecting a thumbnail. We put the src of the image in cse_image DataObject type.", - "" - ], - "type": "string" - }, - "type": { - "description": "The object type.", - "type": "string" - } - }, - "type": "object" - }, - "RichsnippetsDataObjectAttribute": { - "description": "Other attributes of the object.", - "id": "RichsnippetsDataObjectAttribute", - "properties": { - "cdata": { - "format": "byte", - "type": "string" - }, - "idata": { - "description": "idata holds integer data under the attribute name, and could be interpreted differently according to the attribute name. Example: stores the ImadeData.docid used to generate thumbnails. idata will not be automatically converted into xml (the default behavior), but the behavior can be overwritten if necessary.", - "format": "uint64", - "type": "string" - }, - "name": { - "type": "string" - }, - "subobject": { - "$ref": "Proto2BridgeMessageSet", - "description": "A data object can have other data objects nested inside it. This is needed to represent Microformats and RDFa which have nestings e.g., a review with a business with an address, or a review with a rating object. See the Webmaster Central 2009/05 blog on \"Introducing Rich Snippets\"." - }, - "tokenize": { - "description": "Whether we should tokenize the value and cdata when generating restricts from this attribute.", - "type": "boolean" - }, - "value": { - "description": "Either of cdata or value should be present.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "RichsnippetsPageMap": { - "id": "RichsnippetsPageMap", - "properties": { - "DataObject": { - "items": { - "$ref": "RichsnippetsDataObject" - }, - "type": "array" - }, - "ignoreDataObject": { - "description": "If ignore_data_object is set to true, pagemap attachment is processed regardless of whether data object is present or not.", - "type": "boolean" - }, - "src": { - "deprecated": true, - "enum": [ - "REGULAR", - "KOREA_RICH" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "templatetype": { - "items": { - "$ref": "RichsnippetsPageMapTemplateType" - }, - "type": "array" - } - }, - "type": "object" - }, - "RichsnippetsPageMapTemplateType": { - "description": "Unused fields", - "id": "RichsnippetsPageMapTemplateType", - "properties": { - "src": { - "deprecated": true, - "type": "string" - } - }, - "type": "object" - }, - "S3AudioLanguageS3AudioLanguage": { - "description": "S3 based Audio language information about a Watch Page.", - "id": "S3AudioLanguageS3AudioLanguage", - "properties": { - "language": { - "description": "Audio language of video classified by Automatic Language Identification. It corresponds to the langid_result in S3LangIdSignals.", - "enum": [ - "ENGLISH", - "DANISH", - "DUTCH", - "FINNISH", - "FRENCH", - "GERMAN", - "HEBREW", - "ITALIAN", - "JAPANESE", - "KOREAN", - "NORWEGIAN", - "POLISH", - "PORTUGUESE", - "RUSSIAN", - "SPANISH", - "SWEDISH", - "CHINESE", - "CZECH", - "GREEK", - "ICELANDIC", - "LATVIAN", - "LITHUANIAN", - "ROMANIAN", - "HUNGARIAN", - "ESTONIAN", - "TG_UNKNOWN_LANGUAGE", - "UNKNOWN_LANGUAGE", - "BULGARIAN", - "CROATIAN", - "SERBIAN", - "IRISH", - "GALICIAN", - "TAGALOG", - "TURKISH", - "UKRAINIAN", - "HINDI", - "MACEDONIAN", - "BENGALI", - "INDONESIAN", - "LATIN", - "MALAY", - "MALAYALAM", - "WELSH", - "NEPALI", - "TELUGU", - "ALBANIAN", - "TAMIL", - "BELARUSIAN", - "JAVANESE", - "OCCITAN", - "URDU", - "BIHARI", - "GUJARATI", - "THAI", - "ARABIC", - "CATALAN", - "ESPERANTO", - "BASQUE", - "INTERLINGUA", - "KANNADA", - "PUNJABI", - "SCOTS_GAELIC", - "SWAHILI", - "SLOVENIAN", - "MARATHI", - "MALTESE", - "VIETNAMESE", - "FRISIAN", - "SLOVAK", - "CHINESE_T", - "FAROESE", - "SUNDANESE", - "UZBEK", - "AMHARIC", - "AZERBAIJANI", - "GEORGIAN", - "TIGRINYA", - "PERSIAN", - "BOSNIAN", - "SINHALESE", - "NORWEGIAN_N", - "PORTUGUESE_P", - "PORTUGUESE_B", - "XHOSA", - "ZULU", - "GUARANI", - "SESOTHO", - "TURKMEN", - "KYRGYZ", - "BRETON", - "TWI", - "YIDDISH", - "SERBO_CROATIAN", - "SOMALI", - "UIGHUR", - "KURDISH", - "MONGOLIAN", - "ARMENIAN", - "LAOTHIAN", - "SINDHI", - "RHAETO_ROMANCE", - "AFRIKAANS", - "LUXEMBOURGISH", - "BURMESE", - "KHMER", - "TIBETAN", - "DHIVEHI", - "CHEROKEE", - "SYRIAC", - "LIMBU", - "ORIYA", - "ASSAMESE", - "CORSICAN", - "INTERLINGUE", - "KAZAKH", - "LINGALA", - "MOLDAVIAN", - "PASHTO", - "QUECHUA", - "SHONA", - "TAJIK", - "TATAR", - "TONGA", - "YORUBA", - "CREOLES_AND_PIDGINS_ENGLISH_BASED", - "CREOLES_AND_PIDGINS_FRENCH_BASED", - "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", - "CREOLES_AND_PIDGINS_OTHER", - "MAORI", - "WOLOF", - "ABKHAZIAN", - "AFAR", - "AYMARA", - "BASHKIR", - "BISLAMA", - "DZONGKHA", - "FIJIAN", - "GREENLANDIC", - "HAUSA", - "HAITIAN_CREOLE", - "INUPIAK", - "INUKTITUT", - "KASHMIRI", - "KINYARWANDA", - "MALAGASY", - "NAURU", - "OROMO", - "RUNDI", - "SAMOAN", - "SANGO", - "SANSKRIT", - "SISWANT", - "TSONGA", - "TSWANA", - "VOLAPUK", - "ZHUANG", - "KHASI", - "SCOTS", - "GANDA", - "MANX", - "MONTENEGRIN", - "AKAN", - "IGBO", - "MAURITIAN_CREOLE", - "HAWAIIAN", - "CEBUANO", - "EWE", - "GA", - "HMONG", - "KRIO", - "LOZI", - "LUBA_LULUA", - "LUO_KENYA_AND_TANZANIA", - "NEWARI", - "NYANJA", - "OSSETIAN", - "PAMPANGA", - "PEDI", - "RAJASTHANI", - "SESELWA_CREOLE_FRENCH", - "TUMBUKA", - "VENDA", - "WARAY_PHILIPPINES", - "NUM_LANGUAGES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Norwegian\" = \"no\" normally implies Bokmål (\"nb\"). See also NORWEGIAN_N. Consider using IsNorwegianLanguage().", - "", - "WARNING: \"Portuguese\" in the enum Language implies the Iberian variant, while Google and industry standard practice is for \"pt\" to imply Brazilian, for the much larger population. The old LanguageCode() function returns \"pt\" for legacy reasons. The III LanguageEnumLanguageCodeConverter converts it to \"pt-PT\" to preserve the semantics. Converting between this legacy enum and industry-standard language tags cannot preserve the distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage().", - "", - "", - "", - "\"Chinese\" normally implies simplified Han characters (\"zh-Hans\"). See also CHINESE_T. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage().", - "", - "", - "", - "", - "", - "", - "Serbian is commonly written in two scripts. The default is Cyrillic (\"sr\" = \"sr-Cyrl\"). It is also often written with Latin letters (\"sr-Latn\"). This enum does not convey that distinction.", - "", - "", - "TAGALOG is used to mean both Tagalog (tl) and Filipino (fil). These are nearly the same; Filipino is the official language, and \"fil\" is normally used for UI settings etc. The old LanguageCode() function returns \"tl\".", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Bihari\" is not a language: There are several different languages spoken in and around the Indian state of Bihar. This is like saying \"Swiss\" to mean German+French+Italian+Romansh.", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Chinese written in traditional Han characters (\"zh-Hant\"). See also CHINESE. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "UI only. LangId language: CROATIAN (28)", - "", - "Norwegian Nynorsk (\"nn\"). See also NORWEGIAN. Consider using IsNorwegianLanguage(). UI only. LangId language: NORWEGIAN (10)", - "Portuguese in Portugal (\"pt-PT\"). See the WARNING at PORTUGUESE. Avoid a distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "Portuguese in Brazil (\"pt-BR\"). Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "", - "UI only.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "", - "This has been documented as \"Kurmanji (kmr) + Sorani (ckb) + Kurdish (ku)\". There are several kinds of Kurdish languages. \"ku\" normally implies Northern Kurdish = Kurmanji (kmr) which is normally written in Latin letters. \"ckb\" is Central Kurdish (largely in Iraq) which is normally written in Arabic letters (thus right-to-left).", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "sometimes spelled Divehi; lang of Maldives", - "", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "\"Moldavian\" is the same language as Romanian. In language tags, \"ro-MD\" can be used but is not normally necessary. Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage(). UI only. LangId language: ROMANIAN (22)", - "", - "", - "UI only.", - "", - "", - "", - "", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only. More commonly called Luganda.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "Translate only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "Translate only.", - "Translate only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "Always keep this at the end. It is not a" - ], - "type": "string" - }, - "languageConfidence": { - "description": "Confidence interval of the recognized language.", - "enum": [ - "UNKNOWN_CONFIDENCE", - "NOT_CONFIDENT", - "CONFIDENT", - "HIGHLY_CONFIDENT" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "speechClass": { - "description": "Type of detected speech.", - "enum": [ - "UNKNOWN", - "NO_SPEECH", - "HAS_SPEECH_FOR_ASR" - ], - "enumDescriptions": [ - "Unspecified, or string label not recognized.", - "", - "Currently corresponds to simple speech" - ], - "type": "string" - } - }, - "type": "object" - }, - "SafesearchImageOffensiveAnnotation": { - "id": "SafesearchImageOffensiveAnnotation", - "properties": { - "hatefulDerogatoryScore": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "SafesearchInternalImageSignals": { - "description": "A proto that stores SafeSearch internal signals that are not exported to clients.", - "id": "SafesearchInternalImageSignals", - "properties": { - "imageEntitiesViolenceScore": { - "format": "float", - "type": "number" - }, - "offensiveAnnotation": { - "$ref": "SafesearchImageOffensiveAnnotation" - }, - "starburstPornScore": { - "description": "Additional SafeSearch signals that are used to compute final scores.", - "format": "float", - "type": "number" - }, - "starburstViolenceScore": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "SafesearchVideoClassifierOutput": { - "description": "Flexible multi-vertical classification output. The output for each vertical should be defined as a proto extension to this proto. When defining an extension for a new vertical please follow the format: message NewVertical { extend safesearch.VideoClassifierOutput { optional NewVertical classifier_output_extension = ; } optional safesearch.VideoVerticalOutput vertical_output = 1; } SafeSearch verticals only: Please also update this message with a new extension declaration. For more details on extension declaration please refer to http://go/proto-proposals/extension-declarations. Please refer to http://go/proto2-extensions for details on message extensions. LINT.IfChange next extension id: 7", - "id": "SafesearchVideoClassifierOutput", - "properties": {}, - "type": "object" - }, - "SafesearchVideoContentSignals": { - "description": "SafeSearch video content classification scores are computed based on go/golden7 video features. To access these scores see the library at: google3/quality/safesearch/video/api/video_score_info.h Next ID: 6", - "id": "SafesearchVideoContentSignals", - "properties": { - "internalMultiLabelClassification": { - "$ref": "SafesearchVideoContentSignalsMultiLabelClassificationInfo" - }, - "isAbuseWithHighConfidence": { - "description": "This is used by Amarna to determine whether it should notify Raffia for immediate reprocessing. This field will be generated in Amarna's image_metadata corpus and exported to references_video_search corpus and written to ExportState.module_state.critical_metadata_checksum for determining whether Amarna should immediately notify Raffia whenever is_abuse_with_high_confidence's value changes.", - "type": "boolean" - }, - "scores": { - "additionalProperties": { - "format": "float", - "type": "number" - }, - "deprecated": true, - "type": "object" - }, - "versionTag": { - "enum": [ - "UNKNOWN", - "V20220330", - "V20220620", - "V20230910", - "V20231030" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "videoClassifierOutput": { - "$ref": "SafesearchVideoClassifierOutput", - "description": "Output of all SafeSearch video classifiers in Amarna." - } - }, - "type": "object" - }, - "SafesearchVideoContentSignalsMultiLabelClassificationInfo": { - "description": "Information about multi-label classification result (the scores and whether frame features were used).", - "id": "SafesearchVideoContentSignalsMultiLabelClassificationInfo", - "properties": { - "frameFeaturesPresent": { - "type": "boolean" - }, - "output": { - "$ref": "SafesearchVideoContentSignalsMultiLabelOutput" - } - }, - "type": "object" - }, - "SafesearchVideoContentSignalsMultiLabelOutput": { - "description": "Output of Multi-Label video classifier.", - "id": "SafesearchVideoContentSignalsMultiLabelOutput", - "properties": { - "ageIndeterminate": { - "format": "float", - "type": "number" - }, - "csam": { - "format": "float", - "type": "number" - }, - "porn": { - "format": "float", - "type": "number" - }, - "racy": { - "format": "float", - "type": "number" - }, - "violence": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "ScienceCitation": { - "id": "ScienceCitation", - "properties": { - "AbstractCitationSource": { - "description": "The source of abstract text that is chosen by science docid assigner.", - "format": "int32", - "type": "integer" - }, - "AbstractDisplay": { - "enum": [ - "UNKNOWN_ABSTRACT_DISPLAY", - "MAIN_ABSTRACT_DISPLAY", - "GRAPHICAL_ABSTRACT_DISPLAY", - "SUMMARY_ABSTRACT_DISPLAY", - "HIGHLIGHTS_ABSTRACT_DISPLAY" - ], - "enumDescriptions": [ - "", - "Main author written abstract.", - "Abstract in form of image or graphic explanation.", - "Summary for the paper. Usually not the main author written abstract.", - "Highlights for a paper, often bulletized." - ], - "type": "string" - }, - "AbstractHtml": { - "description": "Version of abstract field for display. Contains unsanitized XML/HTML.", - "type": "string" - }, - "AbstractHtmlLeftOver": { - "description": "Leftovers from AbstractHtml. These are usually unrecognized xml/html entities or xml/html tags", - "type": "string" - }, - "AbstractLanguage": { - "type": "string" - }, - "AbstractSource": { - "enum": [ - "NO_ABSTRACT", - "METADATA_ABSTRACT", - "LABELED_HTML_ABSTRACT", - "LABELED_PDF_ABSTRACT", - "UNLABELED_HTML_ABSTRACT", - "UNLABELED_PDF_ABSTRACT", - "HTML_TEXT_BLOCK", - "PDF_TEXT_BLOCK" - ], - "enumDescriptions": [ - "", - "xml or html metatags", - "", - "", - "based on introduction/keywords/other mark", - "", - "first long block of text", - "" - ], - "type": "string" - }, - "AbstractText": { - "type": "string" - }, - "AbstractTypeFromSource": { - "description": "The original (unnormalized) type of an abstract. AbstractDisplay holds a normalized type deduced from things like tagnames, tag-attributes, keywords in documents or the placement of the abstract in the document. This field is meant for the type of the abstract identified explicitly by the source document. E.g., the value of the 'abstract-type' attribute from a tag in XML ('primary abstract', 'summary', 'highlights' etc.).", - "type": "string" - }, - "AlternateVersionID": { - "description": "Fingerprint of the URL after applying crawl and aggregate rewrites. Different citations with the same AlternateVersionID must have the same VersionID, but not necessarily vice versa. Omitted when identical to the VersionID.", - "format": "uint64", - "type": "string" - }, - "Anchors": { - "description": "All the anchor text (before, after, formal, etc) for this citation in the referring page.", - "items": { - "$ref": "ScienceCitationAnchor" - }, - "type": "array" - }, - "ArxivSection": { - "description": "e.g. hep-ph", - "type": "string" - }, - "AuthorListHasEtAl": { - "description": "whether this citation had an \"et al\" in the author list", - "type": "boolean" - }, - "AuthorMetatagLeftOver": { - "type": "string" - }, - "BaseGlobalID": { - "description": "Global document identifier - only available when building increments over a known base index. This id is from the base index.", - "format": "uint64", - "type": "string" - }, - "BaseLocalID": { - "description": "Set when building an incremental index. Whereas BaseGlobalID is the ID of the corresponding base cluster, the local ID is the ID of an individual citation within that base cluster that corresponds to this reparse.", - "format": "uint64", - "type": "string" - }, - "BorrowedAuthors": { - "description": "one bit per author", - "format": "int32", - "type": "integer" - }, - "BorrowedFields": { - "description": "OR of FieldType", - "format": "int32", - "type": "integer" - }, - "Chapter": { - "type": "string" - }, - "CitationSource": { - "description": "citation src: dblp/crossref/paper etc", - "format": "int32", - "type": "integer" - }, - "CitationSourceCrawlTimestamp": { - "description": "Seconds since the epoch, should be consistent with CitationSourceUrl.", - "format": "int64", - "type": "string" - }, - "CitationSourceUrl": { - "description": "url where record came from", - "type": "string" - }, - "CitationSrc": { - "description": "DEPRECATED: use CitationSource", - "type": "string" - }, - "ClearedReason": { - "enum": [ - "CLEARED_REASON_NONE", - "CLEARED_REASON_TOC" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "ClusterDiscoveryDate": { - "description": "Used for logging, recommendations, and sort-by-date. Contains the earliest discovery date of the cluster, adjusted for earlier publication dates. Stored in Universal time scale (100 ns ticks since 0001 AD) because Unix timestamp would lead to negative dates for pre-1970 docs.", - "format": "int64", - "type": "string" - }, - "ConferenceId": { - "description": "Identifier for conference series - issn-lite", - "type": "string" - }, - "ConferenceNumber": { - "description": "27 in the \"27th conference on magical realism\"", - "format": "int32", - "type": "integer" - }, - "CrawledDocid": { - "description": "If a citation is merged from a crawled version and a metadata version, keep the normal docid fp of the crawled version for clustering FP of normal docid of crawl version", - "format": "uint64", - "type": "string" - }, - "DEPRECATEDMetadataSourceFile": { - "type": "string" - }, - "DEPRECATEDPublisherDisplayName": { - "description": "these fields moved to DownloadURL where they belong", - "type": "string" - }, - "DOI": { - "description": "Digital Object Identifier", - "type": "string" - }, - "DblpId": { - "type": "string" - }, - "DocumentID": { - "description": "Local document identifier - url fingerprint if we know the url, or fingerprint of all fields if we don't. Different urls have different local docids.", - "format": "uint64", - "type": "string" - }, - "DspaceID": { - "description": "Dspace uses handle.net handles", - "type": "string" - }, - "Edition": { - "type": "string" - }, - "Editor": { - "items": { - "type": "string" - }, - "type": "array" - }, - "FileCreationDay": { - "format": "int32", - "type": "integer" - }, - "FileCreationMonth": { - "description": "zero-indexed field", - "format": "int32", - "type": "integer" - }, - "FileCreationYear": { - "description": "date of creation of the pdf/doc", - "format": "int32", - "type": "integer" - }, - "ISBN": { - "type": "string" - }, - "ISBNVariant": { - "items": { - "type": "string" - }, - "type": "array" - }, - "ISSN": { - "type": "string" - }, - "ISSNVariant": { - "items": { - "type": "string" - }, - "type": "array" - }, - "IncrementalExpected": { - "description": "Is this article expected to have been indexed in the incremental?", - "type": "boolean" - }, - "JOI": { - "type": "string" - }, - "Keywords": { - "items": { - "type": "string" - }, - "type": "array" - }, - "LCCN": { - "description": "library of congress call number", - "type": "string" - }, - "Language": { - "type": "string" - }, - "LegalCitation": { - "$ref": "LegalCitation", - "description": "The ScienceCitation is how metadata passes through the scholar system. For legal, we use the normal ScienceCitation for the metadata/citation of legal journals. For court/government documents (like opinions or statues), we wrap it in the following embedded message" - }, - "LevelOfDiscussion": { - "description": "If this is a target reference, the level of discussion of this reference.", - "format": "int32", - "type": "integer" - }, - "Note": { - "description": "random string data - unparsed", - "type": "string" - }, - "NumBackwardLinks": { - "description": "for display in gws", - "format": "int32", - "type": "integer" - }, - "NumBackwardLinksFromLegal": { - "description": "hack for legal rollout", - "format": "int32", - "type": "integer" - }, - "NumBackwardLinksInWoS": { - "description": "numcited in WoS", - "format": "int32", - "type": "integer" - }, - "NumForwardLinks": { - "description": "for display in gws", - "format": "int32", - "type": "integer" - }, - "NumGoodEmbeddedRefs": { - "description": "good embedded refs", - "format": "int32", - "type": "integer" - }, - "NumHostedPages": { - "description": "If set, then we host this many pages of this citation's content. Note that this field may be set to 0, in which case we should be hosting this content but have failed. DEPRECATED, moved to DownloadURL", - "format": "int32", - "type": "integer" - }, - "NumKeyQuotes": { - "description": "for display in gws", - "format": "int32", - "type": "integer" - }, - "NumRelated": { - "description": "for display in gws", - "format": "int32", - "type": "integer" - }, - "NumRelated2": { - "description": "for experiments", - "format": "int32", - "type": "integer" - }, - "NumRelated3": { - "description": "for experiments", - "format": "int32", - "type": "integer" - }, - "NumSectionRefs": { - "description": "refs in marked section", - "format": "int32", - "type": "integer" - }, - "NumVersions": { - "description": "for display in gws", - "format": "int32", - "type": "integer" - }, - "Number": { - "description": "can be 1-3", - "type": "string" - }, - "OnlineDay": { - "format": "int32", - "type": "integer" - }, - "OnlineMonth": { - "description": "OnlineMonth is a zero-indexed field (0 is January).", - "format": "int32", - "type": "integer" - }, - "OnlineYear": { - "format": "int32", - "type": "integer" - }, - "OtherID": { - "description": "eg ERIC doc number or TR number", - "type": "string" - }, - "PMCID": { - "type": "string" - }, - "PMID": { - "description": "Pubmed ID", - "type": "string" - }, - "Pages": { - "description": "Using string to handle all kinds of page specifications. Internal structure is not really needed.", - "type": "string" - }, - "ParseSource": { - "format": "int32", - "type": "integer" - }, - "PatentApplicationNumber": { - "description": "Note that an issued patent has a PatentNumber and can also have a PatentApplicationNumber, whereas a patent application has a PatentApplicationNumber and can also have a PatentPublicationNumber.", - "type": "string" - }, - "PatentClassification": { - "description": "patent classification e.g., \"B24B 3100\"", - "items": { - "type": "string" - }, - "type": "array" - }, - "PatentCountry": { - "description": "2-letter country code where patent was issued, see ocean/metadata/patent_record.proto::Patent_Record::country_code for EPO one patent pertains to a list of countries.", - "items": { - "type": "string" - }, - "type": "array" - }, - "PatentNumber": { - "description": "number according to USPTO/EPO/JPO scheme.", - "type": "string" - }, - "PatentOffice": { - "description": "one of the above", - "format": "int32", - "type": "integer" - }, - "PatentPublicationNumber": { - "type": "string" - }, - "PublicationDay": { - "description": "for patents, publicationD/M/Y is the date of issue, not application", - "format": "int32", - "type": "integer" - }, - "PublicationMonth": { - "description": "month from bibtex PublicationMonth is a zero-indexed field (0 is January).", - "format": "int32", - "type": "integer" - }, - "PublicationVenue": { - "description": "where published - subsumes booktitle, howpublished and journal from bibtex", - "type": "string" - }, - "PublicationVenueVariant": { - "items": { - "type": "string" - }, - "type": "array" - }, - "PublicationYear": { - "description": "year from bibtext full year", - "format": "int32", - "type": "integer" - }, - "PublisherAddress": { - "description": "address from bibtex", - "type": "string" - }, - "PublisherId": { - "type": "string" - }, - "PublisherOrg": { - "description": "subsumes organization, school and institution from bibtex", - "type": "string" - }, - "PubvenueID": { - "description": "local journal number", - "type": "string" - }, - "ReviewTypeReason": { - "description": "bitmap of ReviewArticleTypeReasons", - "format": "uint32", - "type": "integer" - }, - "SICI": { - "type": "string" - }, - "Series": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "TitleHtml": { - "description": "Version of title for display. Contains unsanitized HTML/XML.", - "type": "string" - }, - "TitleHtmlLeftOver": { - "description": "Leftovers from TitleHtml. These are usually unrecognized xml/html entities or xml/html tags", - "type": "string" - }, - "TranslatedAuthorListHasEtAl": { - "description": "etal marker for the translated author list - just in case", - "type": "boolean" - }, - "Type": { - "description": "ArticleType", - "format": "int32", - "type": "integer" - }, - "UnmatchedEmailAddr": { - "description": "Email addresses found in the document that we weren't able to match", - "items": { - "type": "string" - }, - "type": "array" - }, - "UnmatchedInstitution": { - "description": "Author affiliations found in the document that we weren't able to match up to specific authors.", - "items": { - "type": "string" - }, - "type": "array" - }, - "VersionID": { - "description": "Document version identifier - fingerprint of an id computed from the url, or of bibliographic data from a publisher. Different urls for the same article from the same source have the same version id (e.g., abstract, pdf version, and html version).", - "format": "uint64", - "type": "string" - }, - "Volume": { - "format": "int32", - "type": "integer" - }, - "WOSID": { - "description": "Web of Science ID", - "type": "string" - }, - "WorldViewable": { - "description": "Is this version of the article world viewable?", - "type": "boolean" - }, - "accessurl": { - "items": { - "$ref": "ScienceCitationAccessURL" - }, - "type": "array" - }, - "alternateabstract": { - "items": { - "$ref": "ScienceCitationAlternateAbstract" - }, - "type": "array" - }, - "alternatetitle": { - "items": { - "$ref": "ScienceCitationAlternateTitle" - }, - "type": "array" - }, - "author": { - "items": { - "$ref": "ScienceCitationAuthor" - }, - "type": "array" - }, - "category": { - "items": { - "$ref": "ScienceCitationCategory" - }, - "type": "array" - }, - "downloadurl": { - "items": { - "$ref": "ScienceCitationDownloadURL" - }, - "type": "array" - }, - "funding": { - "items": { - "$ref": "ScienceCitationFunding" - }, - "type": "array" - }, - "referencediscussion": { - "items": { - "$ref": "ScienceCitationReferenceDiscussion" - }, - "type": "array" - }, - "subject": { - "items": { - "$ref": "ScienceCitationSubject" - }, - "type": "array" - }, - "translatedauthor": { - "items": { - "$ref": "ScienceCitationTranslatedAuthor" - }, - "type": "array" - }, - "unioncatalog": { - "items": { - "$ref": "ScienceCitationUnionCatalog" - }, - "type": "array" - } - }, - "type": "object" - }, - "ScienceCitationAccessURL": { - "description": "User-defined URL and its last access data for citation manager.", - "id": "ScienceCitationAccessURL", - "properties": { - "AccessDay": { - "format": "int32", - "type": "integer" - }, - "AccessMonth": { - "description": "AccessMonth is a zero-indexed field (0 is January).", - "format": "int32", - "type": "integer" - }, - "AccessYear": { - "format": "int32", - "type": "integer" - }, - "UrlStr": { - "type": "string" - } - }, - "type": "object" - }, - "ScienceCitationAlternateAbstract": { - "description": "There are templated functions that fill the abstract fields designed to take either ScienceCitation or ScienceCitation::AlternateAbstract, so these field names must match those used for the primary abstract.", - "id": "ScienceCitationAlternateAbstract", - "properties": { - "AbstractDisplay": { - "enum": [ - "UNKNOWN_ABSTRACT_DISPLAY", - "MAIN_ABSTRACT_DISPLAY", - "GRAPHICAL_ABSTRACT_DISPLAY", - "SUMMARY_ABSTRACT_DISPLAY", - "HIGHLIGHTS_ABSTRACT_DISPLAY" - ], - "enumDescriptions": [ - "", - "Main author written abstract.", - "Abstract in form of image or graphic explanation.", - "Summary for the paper. Usually not the main author written abstract.", - "Highlights for a paper, often bulletized." - ], - "type": "string" - }, - "AbstractHtml": { - "description": "Version of abstract field for display. This may contain XML/HTML tags.", - "type": "string" - }, - "AbstractHtmlLeftOver": { - "description": "Leftovers from AbstractHtml. These are usually unrecognized xml/html entities or xml/html tags", - "type": "string" - }, - "AbstractLanguage": { - "type": "string" - }, - "AbstractText": { - "type": "string" - }, - "AbstractTypeFromSource": { - "description": "The original (unnormalized) type of an abstract. AbstractDisplay holds a normalized type deduced from things like tagnames, tag-attributes, keywords in documents or the placement of the abstract in the document. This field is meant for the type of the abstract identified explicitly by the source document. E.g., the value of the 'abstract-type' attribute from a tag in XML ('primary abstract', 'summary', 'highlights' etc.).", - "type": "string" - } - }, - "type": "object" - }, - "ScienceCitationAlternateTitle": { - "description": "alternate titles (including language where available)", - "id": "ScienceCitationAlternateTitle", - "properties": { - "Language": { - "type": "string" - }, - "Title": { - "type": "string" - }, - "TitleHtml": { - "description": "Version of title for display. Contains unsanitized HTML/XML.", - "type": "string" - }, - "TitleHtmlLeftOver": { - "description": "Leftovers from TitleHtml. These are usually unrecognized xml/html entities or xml/html tags", - "type": "string" - } - }, - "type": "object" - }, - "ScienceCitationAnchor": { - "description": "The anchor class holds content relevant to a citation, for example, the text before or after the citation that explains what the citation is about.", - "id": "ScienceCitationAnchor", - "properties": { - "DEPRECATEDSrcFP": { - "description": "Fingerprint of the referral document. The fingerprint should resist to small variance in the document content. DO NOT USE IT!", - "format": "uint64", - "type": "string" - }, - "count": { - "description": "Number of times this anchor text appears, only consider the text itself", - "format": "int32", - "type": "integer" - }, - "face": { - "description": "font face bitmask: kBold, kItalic, etc.", - "format": "int32", - "type": "integer" - }, - "size": { - "description": "font size, in px", - "format": "int32", - "type": "integer" - }, - "text": { - "description": "Space-delimited anchor words. Text that needs segmentation (like CJK or Thai) is unsegmented. Generated by ScienceParseUtils::AppendTokenSeqToString()", - "type": "string" - }, - "type": { - "description": "one of the \"Type\" value defined below.", - "format": "int32", - "type": "integer" - }, - "weight": { - "description": "weight of the anchor by looking where we get this anchor text. It can be PR, court level, year, or the combination of differerent aspects. weights are 1 - 128 defined as \"Weights\"", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ScienceCitationAuthor": { - "description": "author names should be in the order specified in the paper", - "id": "ScienceCitationAuthor", - "properties": { - "Comment": { - "type": "string" - }, - "Department": { - "description": "not in bibtex - from paper", - "type": "string" - }, - "Email": { - "type": "string" - }, - "GuessOrderType": { - "description": "Tracks the GuessNameOrder case used to parse this author name, defaults to 0 simply means that GuessNameOrder wasn't used.", - "format": "int32", - "type": "integer" - }, - "ID": { - "description": "Author ID. Formatted as idtype:id", - "items": { - "type": "string" - }, - "type": "array" - }, - "Institution": { - "description": "not in bibtex - from paper", - "type": "string" - }, - "IsCJKForeignName": { - "type": "boolean" - }, - "IsCorrespondingAuthor": { - "type": "boolean" - }, - "LastName": { - "type": "string" - }, - "OtherNames": { - "type": "string" - }, - "SourceText": { - "type": "string" - }, - "Type": { - "description": "Type is one of the contributors types. Writers are the default.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ScienceCitationCategory": { - "id": "ScienceCitationCategory", - "properties": { - "Name": { - "type": "string" - }, - "Type": { - "description": "ontology/set of categories for the category", - "type": "string" - } - }, - "type": "object" - }, - "ScienceCitationDownloadURL": { - "description": "Download URL mentioned in citation; we keep up to K of them LINT.IfChange", - "id": "ScienceCitationDownloadURL", - "properties": { - "BrokenLandingPage": { - "description": "set if we know the landing page is broken", - "type": "boolean" - }, - "CanonicalUrlfp": { - "format": "uint64", - "type": "string" - }, - "ContentChecksum": { - "description": "checksum of the page", - "format": "uint64", - "type": "string" - }, - "ContentType": { - "description": "makes gws display nicer :)", - "format": "int32", - "type": "integer" - }, - "CrawlTimestamp": { - "description": "seconds since the epoch", - "format": "int64", - "type": "string" - }, - "DMCANotice": { - "description": "metatag: URL; result was taken down", - "type": "string" - }, - "DisplayOrg": { - "description": "publisher display name", - "type": "string" - }, - "DisplayPriority": { - "description": "display preference score", - "format": "int32", - "type": "integer" - }, - "DownloadDay": { - "format": "int32", - "type": "integer" - }, - "DownloadMonth": { - "description": "DownloadMonth is a zero-indexed field (0 is January).", - "format": "int32", - "type": "integer" - }, - "DownloadYear": { - "description": "no abbrv", - "format": "int32", - "type": "integer" - }, - "ExcerptContent": { - "description": "first few lines of abstract'ish excerpt", - "type": "string" - }, - "ExcerptDebugLabel": { - "description": "label for excerpt (abstract, summary, ..)", - "type": "string" - }, - "FirstDiscovered": { - "description": "seconds since the epoch", - "format": "int64", - "type": "string" - }, - "HostedNumPages": { - "description": "explicit zero means hosting failed", - "format": "int32", - "type": "integer" - }, - "HostedStartPage": { - "format": "int32", - "type": "integer" - }, - "HtmlTitle": { - "description": "html title of the page", - "type": "string" - }, - "InPrevIndex": { - "description": "is url included in a previous index", - "type": "boolean" - }, - "IndexPriority": { - "description": "indexing preference score", - "format": "int32", - "type": "integer" - }, - "LegalMustInclude": { - "description": "e.g., in law_articles.pat", - "type": "boolean" - }, - "LikelyAheadPrint": { - "description": "Whether this is likely the URL for an ahead print, at indexing time.", - "type": "boolean" - }, - "LikelyDifferentMetricsVenue": { - "description": "In the context of a given venue in Scholar Metrics, whether this URL likely does not link to the current venue.", - "type": "boolean" - }, - "LikelyLegalJournal": { - "description": "e.g., in legal_journals.pat", - "type": "boolean" - }, - "LikelyNoCache": { - "description": "badurls_nocache at indexing time", - "type": "boolean" - }, - "LikelyNoIndex": { - "description": "badurls_noreturngws at indexing time", - "type": "boolean" - }, - "LikelyWorldViewable": { - "description": "Likely to be free-to-read for everyone, after accounting for library links etc.", - "type": "boolean" - }, - "LongChunkCount": { - "description": "number of long paragraphs", - "format": "int32", - "type": "integer" - }, - "MaybeNoIndexReparse": { - "description": "Incremental only: mark as NoIndexed if this is a reparse and the base version is NoIndexed.", - "type": "boolean" - }, - "MetadataUrl": { - "description": "url of publisher metadata file", - "type": "string" - }, - "MustInclude": { - "description": "e.g., in science_articles.pat", - "type": "boolean" - }, - "NoArchive": { - "description": "metatag: don't show cached version", - "type": "boolean" - }, - "NoIndex": { - "description": "metatag: don't display this url", - "type": "boolean" - }, - "NoSnippet": { - "description": "metatag: don't show snippet", - "type": "boolean" - }, - "OceanView": { - "$ref": "ScienceOceanView", - "description": "describes whether url is viewable in ocean" - }, - "OutLinkCount": { - "description": "number of external URLs (in PDF).", - "format": "int32", - "type": "integer" - }, - "PageCount": { - "description": "Number of pages in the pdf2html conversion output. Only set for PDFs. For a partitioned PDF, this is the page count of the entire volume.", - "format": "int32", - "type": "integer" - }, - "ReferencesInPrevIndex": { - "description": "were references parsed in a previous index", - "type": "boolean" - }, - "Type": { - "description": "ArticleType for this particular url", - "format": "int32", - "type": "integer" - }, - "UrlAfterRedirects": { - "type": "string" - }, - "UrlStr": { - "type": "string" - }, - "WordCount": { - "description": "number of words in content/body", - "format": "int32", - "type": "integer" - }, - "WorldViewable": { - "description": "metatag: is viewable by world", - "type": "boolean" - } - }, - "type": "object" - }, - "ScienceCitationFunding": { - "id": "ScienceCitationFunding", - "properties": { - "Agency": { - "description": "values are from FundingAgency enum", - "format": "int32", - "type": "integer" - }, - "AgencyName": { - "description": "Text name of the agency. For analysis. Plus for agencies that don't have an enum.", - "type": "string" - }, - "DebugExtractionInfo": { - "description": "Funding entries for the same agency and grant number can be merged during our extraction process so we maintain a record of all the deduped ExtractionInfo messages within the remaining entry.", - "items": { - "$ref": "ScienceCitationFundingExtractionInfo" - }, - "type": "array" - }, - "DebugFundingTextBlock": { - "description": "Text block from which the funding entry was extracted. Intended to be used for offline analysis. DEPRECATED", - "type": "string" - }, - "GrantNumber": { - "type": "string" - }, - "Recipient": { - "description": "funding recipient", - "type": "string" - }, - "SourceText": { - "description": "Original text for the funding acknowledgement", - "type": "string" - }, - "UrlBasedFundingSource": { - "description": "Whether this funding info was added because this article was at the exclusive repository for this agency.", - "type": "boolean" - } - }, - "type": "object" - }, - "ScienceCitationFundingExtractionInfo": { - "description": "Holds information about the source of the funding entry.", - "id": "ScienceCitationFundingExtractionInfo", - "properties": { - "ClearedFunding": { - "description": "Set when we clear all extracted funding from this citation in the parser.", - "enum": [ - "UNSPECIFIED_REASON", - "SHORT_ARTICLE" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "DebugFundingTextBlock": { - "description": "Text block context from which the funding entry was extracted. Optionally filled and intended to be used for offline analysis.", - "type": "string" - }, - "DocPart": { - "enum": [ - "UNSPECIFIED_DOC_PART", - "DOC_PREFIX", - "BEFORE_REFS", - "AFTER_REFS", - "DOC_SUFFIX", - "ACK_SECTION" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "ParseSection": { - "enum": [ - "UNKNOWN", - "ACKNOWLEDGEMENT", - "FOOTNOTE", - "NEAR_REFS", - "BODY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "Source": { - "enum": [ - "UNSPECIFIED", - "HTML", - "HTML_METADATA", - "PDF", - "XML_METADATA", - "XML_TEXT", - "URL_BASED_FUNDING" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "ScienceCitationReferenceDiscussion": { - "description": "If this is a source document, the levels of discussion of the references this document cites.", - "id": "ScienceCitationReferenceDiscussion", - "properties": { - "Level": { - "format": "int32", - "type": "integer" - }, - "TargetID": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "ScienceCitationSubject": { - "description": "subject classification", - "id": "ScienceCitationSubject", - "properties": { - "Name": { - "description": "e.g., \"eng\"", - "type": "string" - }, - "Probability": { - "description": "[0,1]", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "ScienceCitationTranslatedAuthor": { - "description": "translated author names. we usually get these for non-english papers which provide english title/author/abstract info", - "id": "ScienceCitationTranslatedAuthor", - "properties": { - "Department": { - "type": "string" - }, - "Email": { - "type": "string" - }, - "GuessOrderType": { - "format": "int32", - "type": "integer" - }, - "Institution": { - "type": "string" - }, - "Language": { - "type": "string" - }, - "LastName": { - "type": "string" - }, - "OtherNames": { - "type": "string" - }, - "SourceText": { - "type": "string" - }, - "Type": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ScienceCitationUnionCatalog": { - "description": "Create UnionCatalog as a group if we want to later add book level informations.", - "id": "ScienceCitationUnionCatalog", - "properties": { - "CanonicalUrlfp": { - "format": "uint64", - "type": "string" - }, - "MetadataUrl": { - "description": "url of catalog metadata file", - "type": "string" - }, - "NumLibraries": { - "description": "Information about the number of libraries the citation appears. It should be useful for ranking.", - "format": "int32", - "type": "integer" - }, - "Subject": { - "description": "Categories classification of the citation", - "items": { - "type": "string" - }, - "type": "array" - }, - "Url": { - "description": "UnionCatalog url to display to users", - "type": "string" - } - }, - "type": "object" - }, - "ScienceIndexSignal": { - "id": "ScienceIndexSignal", - "properties": { - "HtmlTitleFp": { - "description": "Fingerprint of the html title of the page. This is useful for checking if we have the same version of the page as websearch.", - "format": "int64", - "type": "string" - }, - "IndexSelectionScore": { - "description": "Index selection score for websearch, bigger is better: (0.5,1.0] - prefer selection into the base index, (0.0,0.5] - prefer selection into the supplemental index.", - "format": "float", - "type": "number" - }, - "NumBackwardLinks": { - "description": "Summary statistics.", - "format": "int32", - "type": "integer" - }, - "NumRelated": { - "format": "int32", - "type": "integer" - }, - "NumVersions": { - "format": "int32", - "type": "integer" - }, - "PublicationDay": { - "format": "int32", - "type": "integer" - }, - "PublicationMonth": { - "format": "int32", - "type": "integer" - }, - "PublicationYear": { - "description": "Publication date.", - "format": "int32", - "type": "integer" - }, - "RemoveLink": { - "description": "Remove this URL from the index - error page, broken landing page, etc. DEPRECATED, was never used or even filled correctly.", - "type": "boolean" - }, - "ScholarId": { - "description": "For links from websearch to scholar.", - "format": "uint64", - "type": "string" - }, - "Title": { - "description": "Title of the article. Its only filled in when the html title of the page isn't good.", - "type": "string" - }, - "VisiblePrefixTerms": { - "description": "Length of document prefix that most users are likely to see. Only filled in when we index subscription fulltext but most users see abstracts. This is a conservative guesstimate - e.g., ACM shows fulltext to university/company subscribers (including Google employees) based on user's IP address, but we don't know subscriber IPs, so ACM's PDF pages would have ~500 in this field (estimated length of abstract).", - "format": "int32", - "type": "integer" - }, - "author": { - "items": { - "$ref": "ScienceIndexSignalAuthor" - }, - "type": "array" - } - }, - "type": "object" - }, - "ScienceIndexSignalAuthor": { - "id": "ScienceIndexSignalAuthor", - "properties": { - "LastName": { - "type": "string" - }, - "OtherNames": { - "type": "string" - } - }, - "type": "object" - }, - "ScienceOceanView": { - "description": "Describes the viewability of ocean content.", - "id": "ScienceOceanView", - "properties": { - "countryview": { - "items": { - "$ref": "ScienceOceanViewCountryView" - }, - "type": "array" - } - }, - "type": "object" - }, - "ScienceOceanViewCountryView": { - "id": "ScienceOceanViewCountryView", - "properties": { - "CountryCode": { - "description": "No CountryCode means default viewability. two letter code", - "type": "string" - }, - "ViewType": { - "description": "enum in ocean::LocaleViewability::ViewType", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SdrEmbedding": { - "id": "SdrEmbedding", - "properties": { - "compressedEmbeddings": { - "$ref": "QualityRankembedMustangMustangRankEmbedInfo" - }, - "values": { - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "version": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SdrPageAnchorsDocInfo": { - "id": "SdrPageAnchorsDocInfo", - "properties": { - "articleness": { - "format": "float", - "type": "number" - }, - "pageAnchors": { - "items": { - "$ref": "SdrPageAnchorsSitelink" - }, - "type": "array" - }, - "qscore": { - "format": "float", - "type": "number" - }, - "sitelinkWrapper": { - "items": { - "$ref": "SdrPageAnchorsSitelinkWrapper" - }, - "type": "array" - }, - "textRichness": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "SdrPageAnchorsSitelink": { - "id": "SdrPageAnchorsSitelink", - "properties": { - "embedding": { - "$ref": "SdrEmbedding", - "description": "Needed for relevance scoring." - }, - "geometryScore": { - "description": "aggregate score from Section Geometry.", - "format": "float", - "type": "number" - }, - "headingAbbrvScore": { - "description": "Heading Abbreviation score.", - "format": "float", - "type": "number" - }, - "hpScore": { - "description": "Needed for heading/passage filtering.", - "format": "float", - "type": "number" - }, - "level": { - "format": "int32", - "type": "integer" - }, - "scrollTo": { - "$ref": "SdrScrollTo" - }, - "sectionHeight": { - "description": "Needed for Geometry Scoring and backoffs. from Section Geometry.", - "format": "int32", - "type": "integer" - }, - "text": { - "description": "Heading/Reformulated text is needed to display.", - "type": "string" - } - }, - "type": "object" - }, - "SdrPageAnchorsSitelinkWrapper": { - "description": "This wrapper is used for passing in additional information to generate embeddings in Goldmine.", - "id": "SdrPageAnchorsSitelinkWrapper", - "properties": { - "abbreviatedHeadingText": { - "type": "string" - }, - "abbrvEmbedding": { - "$ref": "SdrEmbedding" - }, - "headingEmbedding": { - "$ref": "SdrEmbedding" - }, - "normalizedHeadingText": { - "type": "string" - }, - "passageEmbedding": { - "$ref": "SdrEmbedding" - }, - "passageText": { - "type": "string" - } - }, - "type": "object" - }, - "SdrScrollTo": { - "description": "Data needed to construct a go/scroll-to text fragment. The url fragment is: #:~:text=[prefix-,]text_start,text_end", - "id": "SdrScrollTo", - "properties": { - "onpageMatches": { - "$ref": "SdrScrollToOnPageMatches" - }, - "prefix": { - "description": "Prefix to help with disambiguating between multiple text matches on page. Optional.", - "type": "string" - }, - "suffix": { - "description": "Suffix to help with disambiguating between multiple text matches on page. Optional.", - "type": "string" - }, - "textEnd": { - "description": "End of the text span to be highlighted. Optional.", - "type": "string" - }, - "textStart": { - "description": "Start of the text span to be highlighted.", - "type": "string" - } - }, - "type": "object" - }, - "SdrScrollToOnPageMatches": { - "description": "Number of matches in the page when using text alone, prefix + text, text + suffix, and prefix + text + suffix. The match is case-insensitive to align with go/scroll-to behavior.", - "id": "SdrScrollToOnPageMatches", - "properties": { - "text": { - "format": "int32", - "type": "integer" - }, - "textWithPrefix": { - "format": "int32", - "type": "integer" - }, - "textWithPrefixSuffix": { - "format": "int32", - "type": "integer" - }, - "textWithSuffix": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SearchPolicyRankableSensitivity": { - "description": "Encapsulates sensitivity mode, source, and other metadata, used for ranking when there are multiple sensitivies set by default sources (eg, followon, query understanding, attentional entity).", - "id": "SearchPolicyRankableSensitivity", - "properties": { - "accountProvenance": { - "description": "Propagated from knowledge.answers.sensitivity.Sensitivity account_provenance. Any ambiguity between the data here and dasher_user should be resolved by the conversion to pToken in http://source/search?q=symbol:CreatePTokenFromSensitivity", - "items": { - "$ref": "QualityQrewriteAccountProvenance" - }, - "type": "array" - }, - "attentionalEntity": { - "$ref": "SearchPolicyRankableSensitivityAttentionalEntity" - }, - "dasherUser": { - "description": "True iff the query is from a Dasher user.", - "type": "boolean" - }, - "followon": { - "$ref": "SearchPolicyRankableSensitivityFollowOn" - }, - "groundingProvider": { - "$ref": "SearchPolicyRankableSensitivityGroundingProvider" - }, - "prefilter": { - "$ref": "SearchPolicyRankableSensitivityPrefilter", - "deprecated": true - }, - "qu": { - "$ref": "SearchPolicyRankableSensitivityQueryUnderstanding" - }, - "sensitivityMode": { - "description": "Key of a sensitivity.", - "enum": [ - "UNKNOWN", - "INIT", - "NONE", - "SEND_EMAIL", - "SEARCH_EMAIL", - "SENSITIVE_AOG_CONVERSATION", - "SMART_HOME_PROVIDE_PIN", - "SEARCH_DRIVE", - "READ_MESSAGE", - "SEND_MESSAGE", - "BROADCAST", - "CALL", - "NOTES_AND_LISTS", - "DEVICE_ACTIONS_AUTH", - "INTERPRETER_MODE", - "VOICE_MATCH_ENROLLMENT", - "REMINDERS", - "DESIGNED_FOR_FAMILY", - "CALENDAR", - "HEALTH_AND_FITNESS", - "MEDIA_PROVIDER_SPOTIFY", - "APP_ACTION_HEALTH", - "DG_HOME_FEED", - "SEARCH_GSUITE", - "ASSISTANT_SURVEY", - "ASSISTANT_MEMORY", - "DEPRECATED_SENSITIVE_HEALTH_CONVERSATION", - "DEPRECATED_READ_CALENDAR", - "DEPRECATED_WRITE_CALENDAR" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true - ], - "enumDescriptions": [ - "Should only happen when the variable is uninitialized.", - "Indicates that there is no sensitivity mode yet.", - "Indicates that no sensitivity mode is active.", - "Indicates that we are in send email sensitivity mode.", - "Indicates that we are in search email sensitivity mode.", - "Indicates that we are in AoG conversation with sensitivity mode active. go/ael-limited-logging", - "Home Automation pin/paraphrase anwsering query.", - "The sensitivity mode for searching Google Drive documents.", - "Indicates that we are in read message sensitivity mode.", - "Indicates that we are in send message sensitivity mode.", - "Indicates that we are in broadcast sensitivity mode.", - "Indicates that we are in call sensitivity mode.", - "Indicates that we are in Notes and Lists sensitivity mode.", - "Indicates that we are in device actions auth sensitivity mode.", - "Indicates that we are in Interpreter Mode sensitivity mode.", - "Indicates the we are in voice match enrollment sensitivity mode.", - "Indicates that we are in Reminders sensitivity mode.", - "Indicates that we are in designed for family sensistivity mode (i.e. the query relates to kids content).", - "Indicates that we are in calendar sensitivity mode (covers read \u0026 write).", - "Indicates that we are in health and fitness sensitivity mode.", - "Indicates that we are in 3P media provider Spotify sensitivity mode. This mode is set when a play-media query is intended to be fulfilled by Spotify app when one of the following conditions is met: 1) The query explicitly asks to play on Spotify app. 2) Spotify is the preferred provider for the user. 3) The query requests a Spotify exclusive content. Please see Policy requirements (go/sp-policy-spotify) and design doc (go/spotify-podcast-limited-logging) for reference.", - "Indicates that we are in app action health sensitivity mode.", - "Indicates that we are in Dragonglass home feed sensitivity mode.", - "Indicates that we are in searching G Suite entities mode. This mode covers Drive documents search, email search, and calendar search.", - "Indicates that we are in Assistant CSAT survey sensitivity mode.", - "Indicates that we are in Assistant Memory sensitivity mode. Contact: assistant-memory@google.com", - "The following enum values have been deprecated and removed. Replaced by HEALTH_AND_FITNESS (b/147649824)", - "Replaced by CALENDAR (b/144898723)", - "" - ], - "type": "string" - }, - "syntheticIntent": { - "$ref": "SearchPolicyRankableSensitivitySyntheticIntent" - }, - "winningFulfillment": { - "$ref": "SearchPolicyRankableSensitivityFulfillment" - } - }, - "type": "object" - }, - "SearchPolicyRankableSensitivityAttentionalEntity": { - "description": "Attentional entities (AE) can be pulled from arguments of interpretations, entities annotated by Aqua or QRef annotators, and entities mentioned in Assistant's response and annotated by the fulfillment logic (see https://g3doc.corp.google.com/quality/dialog_manager/attentional_entities/g3doc/overview.md#overview). Sensitivity of AEs can be marked by (1) feature developers in a Monastery frame, (2) code to infer the sensitivity from Argument provenance, and (3) entity annotators, such as Aqua annotator and QRef annotator. See go/sensitive-ae.", - "id": "SearchPolicyRankableSensitivityAttentionalEntity", - "properties": { - "aeOrigin": { - "enum": [ - "UNKNOWN_ORIGIN", - "MONASTERY_VERTICAL_DEVELOPER", - "ARGUMENT_PROVENANCE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "SearchPolicyRankableSensitivityFollowOn": { - "description": "Sensitivity is marked at end of the last turn. See go/followon-sensitivity for more details.", - "id": "SearchPolicyRankableSensitivityFollowOn", - "properties": { - "blockNonV2SearchBackends": { - "description": "Should e2e search candidates running in parallel with QU (eg. GBot) be blocked.", - "type": "boolean" - }, - "ignoreQueryUnderstanding": { - "description": "Iff true this follow-on sensitivity will rank above the ones determined by query understanding (QU).", - "type": "boolean" - } - }, - "type": "object" - }, - "SearchPolicyRankableSensitivityFulfillment": { - "description": "Marks that this sensitivity is from fulfillment.", - "id": "SearchPolicyRankableSensitivityFulfillment", - "properties": {}, - "type": "object" - }, - "SearchPolicyRankableSensitivityGroundingProvider": { - "description": "Marks that sensitivity is from a Grounding Provider.", - "id": "SearchPolicyRankableSensitivityGroundingProvider", - "properties": {}, - "type": "object" - }, - "SearchPolicyRankableSensitivityPrefilter": { - "description": "Deprecated, do not use.", - "id": "SearchPolicyRankableSensitivityPrefilter", - "properties": { - "propagateOnly": { - "type": "boolean" - } - }, - "type": "object" - }, - "SearchPolicyRankableSensitivityQueryUnderstanding": { - "description": "Sensitivity is produced by QU.", - "id": "SearchPolicyRankableSensitivityQueryUnderstanding", - "properties": { - "intentOnlyNoPii": { - "description": "QU dectects a sensitive intent with no sensitive content (eg., [Send email]). This flag is only used to trigger a sensitive feature because as a precaution all sensitive features should check current sensitivity mode before triggering; but will NOT block any backends, which means all other features can compete fairly.", - "type": "boolean" - }, - "rewrittenQuery": { - "description": "The rewritten query this sensitivity is for. Note different query rewrites could produce different sensitivities.", - "type": "string" - } - }, - "type": "object" - }, - "SearchPolicyRankableSensitivitySyntheticIntent": { - "description": "Marks that this sensitivity is from a synthetic intent.", - "id": "SearchPolicyRankableSensitivitySyntheticIntent", - "properties": {}, - "type": "object" - }, - "SecurityCredentialsAllAuthenticatedUsersProto": { - "description": "Represents a principal who has authenticated as any kind of user which the application understands. This is typically used for \"wiki-like\" security, where anyone is allowed access so long as they can be held accountable for that access. Since the purpose is knowing whom to blame, it is up to the application to decide what kinds of users it knows how to blame. For example, an application might choose to include GAIA users in \"all authenticated users\", but not include MDB users. Nothing here.", - "id": "SecurityCredentialsAllAuthenticatedUsersProto", - "properties": {}, - "type": "object" - }, - "SecurityCredentialsCapTokenHolderProto": { - "description": "Represents a principal which possesses a particular secret string whose cryptographic hash is specified here. CapTokens (\"Capability Tokens\") are used in ACLProto. It's expected that ACLs with CapTokenHolders will strongly enforce them by Keystore-wrapping crypto keys for the corresponding CapTokens.", - "id": "SecurityCredentialsCapTokenHolderProto", - "properties": { - "tokenHmacSha1Prefix": { - "description": "The hash of the corresponding capability token. The value is defined to be identical to the one in acl.proto's CapTokenMetadata: 10-byte prefix of HMAC-SHA1 of the token. The HMAC key is the following fixed (non-secret) 512-bit value: 79b1c8f4 82baf523 b8a9ab4a e960f438 c45be041 11f1f222 e8a3f64d aeb05e3d c3576acc ec649194 aede422c 4e48e0d1 ff21234a a6ed6b49 a7fa592e efd7bba3", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsChatProto": { - "description": "Represents the invitees or other users associated with a Babel Chat (see http://goto/babel). Corresponds to GroupType CHAT in //social/graph/storage/proto/data.proto.", - "id": "SecurityCredentialsChatProto", - "properties": { - "chatId": { - "description": "Chat IDs consist of alphanumeric characters and colons. Currently required.", - "type": "string" - }, - "memberType": { - "description": "The type of Chat members to consider, e.g. \"all members\" vs. \"invitee\" These are defined by legacy_relation_id values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in social/graph/storage/proto/id.proto. See chat.pb (defined in production/config/cdd/socialgraph/mixer_config/prod/node_type_config) for all valid edge types associated with chat. Currently required.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SecurityCredentialsCircleProto": { - "description": "Represents a Google+ Circle. Currently (12/2011), a Circle is identical to the ContactGroup with matching parameters, but Circle must only be used for true Circles and not other Focus groups, and should be preferred over ContactGroup where applicable. Soon it may become more efficient to check membership in a Circle than in a ContactGroup (see http://go/superglue). Support for this principal type is currently (12/2011) incomplete -- e.g., Keystore does not support it yet (see b/5703421).", - "id": "SecurityCredentialsCircleProto", - "properties": { - "circleId": { - "description": "Circle ID is unique only relative to the owner's Gaia ID. Currently required.", - "format": "int64", - "type": "string" - }, - "ownerGaiaId": { - "description": "The owner of the circle. Currently required.", - "format": "int64", - "type": "string" - }, - "requiredConsistencyTimestampUsec": { - "description": "If present, then tests for membership in this circle must use data known to be at least as fresh as the given (FBS-assigned) timestamp. See http://go/fbs-consistent-read-after-important-write Before using this, be sure that any service checking authorization against this circle supports checking consistency timestamps. For example, as of 12/2011, Keystore only supports this for the Moonshine configuration, and in others authorization checks will fail if the timestamp is present.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsCloudPrincipalProto": { - "description": "Principal associated with a Cloud Principal representing third party user.", - "id": "SecurityCredentialsCloudPrincipalProto", - "properties": { - "id": { - "description": "Format: \"{identity-pool}:{subject}#\" Details: go/cloud-principal-identifiers", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsContactGroupProto": { - "description": "A group of contacts for a given user, as described in http://cs/p#google3/focus/backend/proto/backend.proto Historically (and in still-existing ACLs), this was used to represent Google+ circles as well as contact groups, but this use is now deprecated. New code should use the CIRCLE principal type to represent Google+ circles.", - "id": "SecurityCredentialsContactGroupProto", - "properties": { - "groupId": { - "description": "Group ID is unique only relative to the owner's Gaia ID.", - "format": "int64", - "type": "string" - }, - "ownerGaiaId": { - "format": "int64", - "type": "string" - }, - "requiredConsistencyTimestampUsec": { - "description": "If present, then tests for membership in this ContactGroup must use data known to be at least as fresh as the given (FBS-assigned) timestamp. See http://go/fbs-consistent-read-after-important-write Before using this, be sure that any service checking authorization against this group supports checking consistency timestamps. For example, as of 12/2011, Keystore only supports this for the Moonshine configuration, and in others authorization checks will fail if the timestamp is present.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsEmailOwnerProto": { - "description": "Represents a verified owner of the given email address. Note that a single address may have many owners, and a single user may own many addresses. (All lower-case, in display form -- see com.google.gaia.client.GaiaEmail)", - "id": "SecurityCredentialsEmailOwnerProto", - "properties": { - "email": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsEventProto": { - "description": "Represents the invitees or other users associated with a Google+ Event (see http://goto/events-backend-design).", - "id": "SecurityCredentialsEventProto", - "properties": { - "eventId": { - "description": "Event IDs consist of alphanumeric characters and colons. Currently required.", - "type": "string" - }, - "memberType": { - "description": "The type of Event members to consider, e.g. \"all members\" vs. \"owners\" vs. \"admins\". These are defined by legacy_relation_id values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in social/graph/storage/proto/id.proto. See event.pb (defined in production/config/cdd/socialgraph/mixer_config/prod/node_type_config) for all valid edge types associated with event. Currently required.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SecurityCredentialsGaiaGroupProto": { - "id": "SecurityCredentialsGaiaGroupProto", - "properties": { - "groupId": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsGaiaUserProto": { - "description": "A Gaia account, which may represent a user, device, service account, etc. For prod (@prod.google.com) accounts, use MdbUserProto instead.", - "id": "SecurityCredentialsGaiaUserProto", - "properties": { - "userId": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsHostProto": { - "description": "Represents a single host. Optionally, the MDB owner of the host can be specified.", - "id": "SecurityCredentialsHostProto", - "properties": { - "hostName": { - "description": "Lower-case, fully qualified hostname.", - "type": "string" - }, - "hostOwner": { - "description": "If present, then any checks that compare this Principal to LOAS peer info must confirm the peer's machine owner is equal to 'host_owner'. If absent, then any peer machine owner is acceptable.", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsLdapGroupProto": { - "id": "SecurityCredentialsLdapGroupProto", - "properties": { - "groupName": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsLdapUserProto": { - "id": "SecurityCredentialsLdapUserProto", - "properties": { - "userName": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsMdbGroupProto": { - "description": "An entity from the MDB namespace that is to be interpreted as a group. If using this for authorization, you should do an exact match of the peer role against group_name or any of the names in the Chubby expansion of the MDB group named group_name.", - "id": "SecurityCredentialsMdbGroupProto", - "properties": { - "groupName": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsMdbUserProto": { - "description": "An entity from the MDB namespace that is to be interpreted as a user. If using this for authorization, you should only do an exact match on the peer role against user_name.", - "id": "SecurityCredentialsMdbUserProto", - "properties": { - "gaiaId": { - "description": "Do not set this field. Contact credentials-eng@ if you believe you absolutely need to use it. This is the @prod.google.com Gaia ID that corresponds to the MDB user, see go/authn-merge for details. This field may always be safely ignored when performing an authorization check.", - "format": "int64", - "type": "string" - }, - "userName": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsOAuthConsumerProto": { - "description": "Represents an OAuth consumer, a/k/a AuthSub target. These principals are identified by domain name (e.g., example.com). Historically, Dasher domain GAIA group IDs have been used instead, but that doesn't work: http://go/tricky-gaia-ids", - "id": "SecurityCredentialsOAuthConsumerProto", - "properties": { - "domain": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsPostiniUserProto": { - "description": "See http://s/?fileprint=//depot/google3/security/authentication/postini/auth_token.proto", - "id": "SecurityCredentialsPostiniUserProto", - "properties": { - "postiniUserId": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsPrincipalProto": { - "description": "A Principal represents something to which permissions are assigned, often but not always a user or group of some kind. It is most appropriate for use in ACLs and authorization checks. Callers should prefer to use the wrapper classes in google3/security/credentials/public/principal.h google3/java/com/google/security/credentials/Principal.java google3/security/credentials/go/principal.go unless direct proto access is essential. If you update this protocol buffer, please update the wrapper classes as well. LINT.IfChange", - "id": "SecurityCredentialsPrincipalProto", - "properties": { - "allAuthenticatedUsers": { - "$ref": "SecurityCredentialsAllAuthenticatedUsersProto", - "description": "scope = ALL_AUTHENTICATED_USERS" - }, - "capTokenHolder": { - "$ref": "SecurityCredentialsCapTokenHolderProto", - "description": "scope = CAP_TOKEN_HOLDER" - }, - "chat": { - "$ref": "SecurityCredentialsChatProto", - "description": "scope = CHAT" - }, - "circle": { - "$ref": "SecurityCredentialsCircleProto", - "description": "scope = CIRCLE" - }, - "cloudPrincipal": { - "$ref": "SecurityCredentialsCloudPrincipalProto", - "description": "scope = CLOUD_PRINCIPAL" - }, - "contactGroup": { - "$ref": "SecurityCredentialsContactGroupProto", - "description": "scope = CONTACT_GROUP" - }, - "emailOwner": { - "$ref": "SecurityCredentialsEmailOwnerProto", - "description": "scope = EMAIL_OWNER" - }, - "event": { - "$ref": "SecurityCredentialsEventProto", - "description": "scope = EVENT" - }, - "gaiaGroup": { - "$ref": "SecurityCredentialsGaiaGroupProto", - "description": "scope = GAIA_GROUP" - }, - "gaiaUser": { - "$ref": "SecurityCredentialsGaiaUserProto", - "description": "scope = GAIA_USER" - }, - "host": { - "$ref": "SecurityCredentialsHostProto", - "description": "scope = HOST" - }, - "ldapGroup": { - "$ref": "SecurityCredentialsLdapGroupProto", - "description": "scope = LDAP_GROUP" - }, - "ldapUser": { - "$ref": "SecurityCredentialsLdapUserProto", - "description": "scope = LDAP_USER" - }, - "mdbGroup": { - "$ref": "SecurityCredentialsMdbGroupProto", - "description": "scope = MDB_GROUP" - }, - "mdbUser": { - "$ref": "SecurityCredentialsMdbUserProto", - "description": "scope = MDB_USER" - }, - "oauthConsumer": { - "$ref": "SecurityCredentialsOAuthConsumerProto", - "description": "scope = OAUTH_CONSUMER;" - }, - "postiniUser": { - "$ref": "SecurityCredentialsPostiniUserProto", - "description": "scope = POSTINI_USER" - }, - "rbacRole": { - "$ref": "SecurityCredentialsRbacRoleProto", - "description": "scope = RBAC_ROLE" - }, - "rbacSubject": { - "$ref": "SecurityCredentialsRbacSubjectProto", - "description": "scope = RBAC_SUBJECT" - }, - "resourceRole": { - "$ref": "SecurityCredentialsResourceRoleProto", - "description": "scope = RESOURCE_ROLE" - }, - "scope": { - "description": "This is only optional because required enums cannot be extended. Currently required.", - "enum": [ - "INVALID", - "GAIA_USER", - "GAIA_GROUP", - "LDAP_USER", - "LDAP_GROUP", - "MDB_USER", - "MDB_GROUP", - "POSTINI_USER", - "CONTACT_GROUP", - "SIMPLE_SECRET_HOLDER", - "SIGNING_KEY_POSSESSOR", - "ALL_AUTHENTICATED_USERS", - "OAUTH_CONSUMER", - "HOST", - "SOCIAL_GRAPH_NODE", - "EMAIL_OWNER", - "CAP_TOKEN_HOLDER", - "CIRCLE", - "SQUARE", - "EVENT", - "RESOURCE_ROLE", - "CHAT", - "YOUTUBE_USER", - "UNUSED_ZWIEBACK_SESSION", - "ZWIEBACK_SESSION", - "RBAC_ROLE", - "RBAC_SUBJECT", - "CLOUD_PRINCIPAL" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "next tag: 29" - ], - "type": "string" - }, - "signingKeyPossessor": { - "$ref": "SecurityCredentialsSigningKeyPossessorProto", - "description": "scope = SIGNING_KEY_POSSESSOR" - }, - "simpleSecretHolder": { - "$ref": "SecurityCredentialsSimpleSecretHolderProto", - "description": "scope = SIMPLE_SECRET_HOLDER" - }, - "socialGraphNode": { - "$ref": "SecurityCredentialsSocialGraphNodeProto", - "description": "scope = SOCIAL_GRAPH_NODE" - }, - "square": { - "$ref": "SecurityCredentialsSquareProto", - "description": "scope = SQUARE" - }, - "youtubeUser": { - "$ref": "SecurityCredentialsYoutubeUserProto", - "description": "scope = YOUTUBE_USER" - }, - "zwiebackSession": { - "$ref": "SecurityCredentialsZwiebackSessionProto", - "description": "scope = ZWIEBACK_SESSION" - } - }, - "type": "object" - }, - "SecurityCredentialsRbacRoleProto": { - "description": "Principal associated with a given RBAC role. This principal is used by Sphinx Provisioning Service for RBAC provisionable (go/sphinx-rbacz).", - "id": "SecurityCredentialsRbacRoleProto", - "properties": { - "name": { - "deprecated": true, - "type": "string" - }, - "objectId": { - "deprecated": true, - "type": "string" - }, - "rbacNamespace": { - "deprecated": true, - "description": "DEPRECATED as of 01.11.2019", - "type": "string" - }, - "rbacRoleName": { - "description": "Format: \"role/z?\" - \"role\" is the Sphinx globally unique name of the Sphinx role that provisions the RBAC role. - \"/z?\" suffix indicates which Zanzibar environment stores the role membership data (\"/zd\": dev, \"/zs\": staging, \"/zp\": prod, \"/zt\": local test instance). Example: \"mysystem_myrole/zp\"", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsRbacSubjectProto": { - "description": "Principal associated with a given RBAC subject. This principal is used by Sphinx Provisioning Service for RBAC provisionable (go/sphinx-rbacz).", - "id": "SecurityCredentialsRbacSubjectProto", - "properties": { - "username": { - "description": "Format \"username\" without \"@domain\", e.g., \"bogdand\".", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsResourceRoleProto": { - "description": "A type of sharing target that points to some resource's ACL. Used to refer to the set of Principals that have the given privilege ('role_id') for the given resource ('application_id', 'object_id', 'object_part'). The meaning of 'role_id' is interpreted only by implementations of AclRpcService and is usually dependent on 'application_id' All fields except object_part are required. If present, object_part must be non-empty.", - "id": "SecurityCredentialsResourceRoleProto", - "properties": { - "applicationId": { - "type": "string" - }, - "objectId": { - "type": "string" - }, - "objectPart": { - "type": "string" - }, - "roleId": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SecurityCredentialsSigningKeyPossessorProto": { - "description": "Represents a principal who possesses a signing key corresponding to the verification key or keyset described here.", - "id": "SecurityCredentialsSigningKeyPossessorProto", - "properties": { - "keymasterKeyType": { - "description": "This value must be from the KeyMetadata.Type enum in keymaster.proto.", - "format": "int32", - "type": "integer" - }, - "serializedVerificationKey": { - "description": "The actual verification key bytes corresponding to the above type.", - "format": "byte", - "type": "string" - }, - "serializedVerificationKeyset": { - "description": "The binary serialized Keymaster SerializedReader of a public keyset. The keyset must contain exactly one key. N.B.: If this field is populated, serialized_verification_key should be set to the empty string and keymaster_key_type should be set to zero.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsSimpleSecretHolderProto": { - "description": "Represents a principal which possesses a particular, presumably secret, string. Useful for things like \"auth keys,\" used for anonymous sharing. Since representing this principal with the actual secret included reveals the secret, it's best if the requisite condition is enforced in some other way, for example via Keystore wrapping attributes (Keystore will unwrap only if the specified secret, aka \"attribute\", is presented). All that's stored here is an identifying label.", - "id": "SecurityCredentialsSimpleSecretHolderProto", - "properties": { - "label": { - "$ref": "SecurityCredentialsSimpleSecretLabelProto", - "description": "A descriptive label to help identify a relevant ACL entry or otherwise disambiguate this instance." - } - }, - "type": "object" - }, - "SecurityCredentialsSimpleSecretLabelProto": { - "description": "SimpleSecretProto (in authenticator.proto) and SimpleSecretHolderProto (below) share the notion of a \"label\", which identifies a particular secret without (hopefully) revealing the secret. Note that a SimpleSecretLabel only disambiguates between secrets used to get access to some particular object. Two different secrets that apply to two different objects could have the same label. For example, in the common sharing model, each object has no more than one \"auth key\". Therefore, the label for an auth key simply has type = AUTH_KEY with no additional information. In theory, we could add some sort of resource ID to SimpleSecretLabel to make it more explicit. However, in practice, this is never really needed. A SimpleSecret for one object is never used to authorize a request on some other object, so there is no ambiguity. Also, since SimpleSecrets must obviously be unguessable, there is no risk that a SimpleSecret intended for one object will accidentally grant access to another.", - "id": "SecurityCredentialsSimpleSecretLabelProto", - "properties": { - "capabilityId": { - "description": "***DEPRECATED (3-Oct-2011) *** This field should be deleted when code stops using CAP_TOKEN labels. Used when type = CAP_TOKEN. When a CAP_TOKEN label appears in a SimpleSecretHolder Principal, |capability_id| must be filled in to identify one of the capabilities on the ACL. When a CAP_TOKEN label appears in a SimpleSecret Authenticator, it is NOT necessary to fill in |capability_id| -- ACL Service will find the ID by searching all capabilities on the ACL for one associated with the token given by the SimpleSecret's secret data. If |capability_id| is specified, though, then the Authenticator will only be accepted if it actually matches that particular token ID.", - "format": "int32", - "type": "integer" - }, - "genericLabel": { - "description": "Used when type = GENERIC_SECRET", - "format": "byte", - "type": "string" - }, - "inviteId": { - "description": "Used when type == INVITE.", - "format": "int64", - "type": "string" - }, - "type": { - "description": "This is optional because required enums cannot be extended.", - "enum": [ - "INVALID", - "AUTH_KEY", - "INVITE", - "GENERIC_SECRET", - "CAP_TOKEN", - "REKE" - ], - "enumDescriptions": [ - "Used as a default value.", - "The singleton auth key for a common-sharing ACL. No other fields of SimpleSecretLabelProto need to be filled in, since there is only one of these per ACL. The corresponding secret is the auth key encoded in 64-bit big-endian.", - "A common-sharing invite token. |invite_id| (below) must be set to identify the invite. The corresponding secret is the SecretMaterial, as defined by InviteToken.SecretMaterial in acl.proto, encoded in 64-bit big-endian. If there is no SecretMaterial, the secret should be omitted; in this case the invite ID itself is the secret, which is less secure.", - "A generic secret value. Do not use this if any more specific type is appropriate.", - "***DEPRECATED (3-Oct-2011)*** Use the new CapTokenProto and CapTokenHolderProto instead. A capability token. The corresponding secret is an arbitrary-length random byte string (recommended: 128 bits). |capability_id| may be filled in (see below). See CapTokenMetadata in acl.proto.", - "Identifies a principal that can perform a successful REKE handshake. The holder is not authenticated by presenting a SimpleSecretProto, but rather by knowing either the REKE resumption ticket secret or the private key corresponding to a public key specified outside the PrincipalProto. For more information, see: http://goto.google.com/loas2cert" - ], - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsSocialGraphNodeProto": { - "description": "Represents a user pseudonym. Pseudonyms are linked accounts on Google and third-party services (e.g. YouTube or Twitter) and are described by a Social Graph Node.", - "id": "SecurityCredentialsSocialGraphNodeProto", - "properties": { - "sgnDomain": { - "description": "The fields from ccc/socialgraph/socialgraphnode.proto:SgnNode that uniquely identify a social graph node. The 'ident' field is not included here because its value can be changed.", - "type": "string" - }, - "sgnPk": { - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsSquareProto": { - "description": "Represents the set of members (of a given type) in a Google+ Square (see http://go/squares). A Square with default member_type is currently (1/2012) identical to the GaiaGroup with the same ID, but that is expected to change soon (see http://go/superglue). Support for this principal type is currently (1/2012) incomplete -- e.g., Keystore does not support it yet (see b/5703421).", - "id": "SecurityCredentialsSquareProto", - "properties": { - "memberType": { - "description": "The type of Square members to consider, e.g. \"all members\" vs. \"owners\" vs. \"admins\". These are defined by legacy_relation_id values in social.graph.storage.EdgeTypeEnum.EdgeType enum options in social/graph/storage/proto/id.proto. See square.pb (defined in production/config/cdd/socialgraph/mixer_config/prod/node_type_config) for all valid edge types associated with square. Currently required.", - "format": "int32", - "type": "integer" - }, - "squareId": { - "description": "Currently required.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsYoutubeUserProto": { - "id": "SecurityCredentialsYoutubeUserProto", - "properties": { - "youtubeUserId": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "SecurityCredentialsZwiebackSessionProto": { - "description": "See go/zwieback. New uses of Zwieback sessions must be approved via go/zwieback-request.", - "id": "SecurityCredentialsZwiebackSessionProto", - "properties": { - "zwiebackSessionId": { - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "SentenceBoundaryAnnotations": { - "description": "Sentence boundaries.", - "id": "SentenceBoundaryAnnotations", - "properties": { - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Used for application-specific information about the whole set of SentenceBoundaryAnnotations. Example: SAFT Team uses this to store an nlp_saft.Document proto giving any processing errors encountered." - }, - "instance": { - "items": { - "$ref": "SentenceBoundaryAnnotationsInstance" - }, - "type": "array" - } - }, - "type": "object" - }, - "SentenceBoundaryAnnotationsInstance": { - "id": "SentenceBoundaryAnnotationsInstance", - "properties": { - "begin": { - "format": "int32", - "type": "integer" - }, - "cleanText": { - "description": "A clean version of .text() generated by using CleanText() and stripping unnecessary whitespace.", - "type": "string" - }, - "context": { - "description": "Plain text context from the page within which the annotation occurred.", - "type": "string" - }, - "contextBegin": { - "description": "Byte offsets for the clean text context above.", - "format": "int32", - "type": "integer" - }, - "contextEnd": { - "format": "int32", - "type": "integer" - }, - "end": { - "format": "int32", - "type": "integer" - }, - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Used for application-specific information about this annotation." - }, - "text": { - "description": "Original UTF-8 document text occurring in the range [begin, end).", - "type": "string" - }, - "toIndex": { - "description": "Used to mark the annotations selected to be indexed.", - "type": "boolean" - } - }, - "type": "object" - }, - "SentimentSentiment": { - "description": "This proto contains the sentiment and emotions that the user is exhibiting at the time of the query. NEXT ID: 4", - "id": "SentimentSentiment", - "properties": { - "polarity": { - "description": "Polarity represents the sentiment towards the subject.", - "enum": [ - "UNKNOWN", - "VERY_POSITIVE", - "POSITIVE", - "NEUTRAL", - "NEGATIVE", - "VERY_NEGATIVE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "userBehaviors": { - "$ref": "SentimentSentimentBehaviors" - }, - "userEmotions": { - "$ref": "SentimentSentimentEmotions", - "description": "The emotions that the user is feeling." - } - }, - "type": "object" - }, - "SentimentSentimentBehaviors": { - "description": "The set of behavior signals that the user is expressing/demonstrating that is detected by the sentiment analysis. These signals are used to help assistant determine the proper response behavior. NEXT ID = 2", - "id": "SentimentSentimentBehaviors", - "properties": { - "politeness": { - "description": "The degree to which the user is showing politeness.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "SentimentSentimentEmotions": { - "description": "Basic emotions. NEXT ID: 7", - "id": "SentimentSentimentEmotions", - "properties": { - "anger": { - "format": "uint32", - "type": "integer" - }, - "disgust": { - "format": "uint32", - "type": "integer" - }, - "fear": { - "format": "uint32", - "type": "integer" - }, - "happiness": { - "format": "uint32", - "type": "integer" - }, - "sadness": { - "format": "uint32", - "type": "integer" - }, - "surprise": { - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "ShingleInfoPerDocData": { - "description": "This message represents shingle-related information obtained from a document.", - "id": "ShingleInfoPerDocData", - "properties": { - "numShingles": { - "description": "Total number of shingles in the document.", - "format": "int32", - "type": "integer" - }, - "source": { - "description": "A list of all sources.", - "items": { - "$ref": "ShingleSource" - }, - "type": "array" - } - }, - "type": "object" - }, - "ShingleSource": { - "description": "This message represents a source of shingles. Used by ShingleInfoPerDocData.", - "id": "ShingleSource", - "properties": { - "id": { - "description": "Hash-value of the URL.", - "format": "int32", - "type": "integer" - }, - "numShingles": { - "description": "Number of shingles originating from this source.", - "format": "int32", - "type": "integer" - }, - "timestamp": { - "description": "First-seen timestamp of the source.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ShoppingWebentityShoppingAnnotationInferredImage": { - "description": "Images inferred from context instead of propagated from Shopping backends. The same image might be inferred via different means; then it may appear multiple times in Offer.inferred_images list with different values of inferred_image_type field.", - "id": "ShoppingWebentityShoppingAnnotationInferredImage", - "properties": { - "inferredImageId": { - "format": "uint64", - "type": "string" - }, - "inferredImageSource": { - "enum": [ - "INFERRED_IMAGE_SOURCE_UNKNOWN", - "INFERRED_IMAGE_SOURCE_WEB_INDEX", - "INFERRED_IMAGE_SOURCE_OVERLAY", - "INFERRED_IMAGE_SOURCE_SCARAB" - ], - "enumDescriptions": [ - "", - "Web Index images are extracted from WebIndex docjoins. It has a tendency to be less precise due to docjoin canonicalization combining data from different crawled webpages.", - "Each offer should have a dedicated docjoin which reduces the chances of mistakes, either when matching an offer with a web document or due to docjoin canonicalization. But image selection for overlay could be slightly different to the WEB_INDEX source, and overlay coverage could affect the source as well.", - "Scarab crawls HTML landing pages of the offers and extract images using three types of extractors: Crawzall, schema_dot_org, and open_graph. It extracts only image URLs (without image docid). Images crawled by scarab might not be WEB_INDEX or OVERLAY because scarab retrieves the data directly from the landing page and is not connected with index or overlays." - ], - "type": "string" - }, - "inferredImageType": { - "enum": [ - "INFERRED_IMAGE_TYPE_UNKNOWN", - "INFERRED_IMAGE_TYPE_NEARDUP_STARBURST_V3", - "INFERRED_IMAGE_TYPE_STRIDE_EXTRACTION", - "INFERRED_IMAGE_TYPE_CRAWLED_OFFER_DUPLICATE", - "INFERRED_IMAGE_TYPE_NEARDUP_FOR_INFERRED_IMAGES", - "INFERRED_IMAGE_TYPE_OTHER_ML_MATCHED_IMAGES", - "INFERRED_IMAGE_TYPE_PRODUCT_BLOCKS", - "INFERRED_IMAGE_TYPE_SCHEMA_DOT_ORG", - "INFERRED_IMAGE_TYPE_CRAWZALL", - "INFERRED_IMAGE_TYPE_OPEN_GRAPH", - "INFERRED_IMAGE_TYPE_NEARDUP_STARBURST_V5", - "INFERRED_IMAGE_TYPE_ANCHOR_IMAGE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "neardupInfo": { - "description": "This field will only be populated if the inferred image is a neardup of an inferred image. It stores the type and source of the images it is a neardup of.", - "items": { - "$ref": "ShoppingWebentityShoppingAnnotationInferredImageNeardupInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "ShoppingWebentityShoppingAnnotationInferredImageNeardupInfo": { - "id": "ShoppingWebentityShoppingAnnotationInferredImageNeardupInfo", - "properties": { - "inferredImageSource": { - "enum": [ - "INFERRED_IMAGE_SOURCE_UNKNOWN", - "INFERRED_IMAGE_SOURCE_WEB_INDEX", - "INFERRED_IMAGE_SOURCE_OVERLAY", - "INFERRED_IMAGE_SOURCE_SCARAB" - ], - "enumDescriptions": [ - "", - "Web Index images are extracted from WebIndex docjoins. It has a tendency to be less precise due to docjoin canonicalization combining data from different crawled webpages.", - "Each offer should have a dedicated docjoin which reduces the chances of mistakes, either when matching an offer with a web document or due to docjoin canonicalization. But image selection for overlay could be slightly different to the WEB_INDEX source, and overlay coverage could affect the source as well.", - "Scarab crawls HTML landing pages of the offers and extract images using three types of extractors: Crawzall, schema_dot_org, and open_graph. It extracts only image URLs (without image docid). Images crawled by scarab might not be WEB_INDEX or OVERLAY because scarab retrieves the data directly from the landing page and is not connected with index or overlays." - ], - "type": "string" - }, - "inferredImageType": { - "enum": [ - "INFERRED_IMAGE_TYPE_UNKNOWN", - "INFERRED_IMAGE_TYPE_NEARDUP_STARBURST_V3", - "INFERRED_IMAGE_TYPE_STRIDE_EXTRACTION", - "INFERRED_IMAGE_TYPE_CRAWLED_OFFER_DUPLICATE", - "INFERRED_IMAGE_TYPE_NEARDUP_FOR_INFERRED_IMAGES", - "INFERRED_IMAGE_TYPE_OTHER_ML_MATCHED_IMAGES", - "INFERRED_IMAGE_TYPE_PRODUCT_BLOCKS", - "INFERRED_IMAGE_TYPE_SCHEMA_DOT_ORG", - "INFERRED_IMAGE_TYPE_CRAWZALL", - "INFERRED_IMAGE_TYPE_OPEN_GRAPH", - "INFERRED_IMAGE_TYPE_NEARDUP_STARBURST_V5", - "INFERRED_IMAGE_TYPE_ANCHOR_IMAGE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "ShoppingWebentityShoppingAnnotationOfferAvailabilityInfo": { - "id": "ShoppingWebentityShoppingAnnotationOfferAvailabilityInfo", - "properties": { - "availability": { - "enum": [ - "AVAILABILITY_UNKNOWN", - "AVAILABILITY_IN_STOCK", - "AVAILABILITY_LIMITED", - "AVAILABILITY_OUT_OF_STOCK", - "AVAILABILITY_BACKORDER", - "AVAILABILITY_PREORDER", - "AVAILABILITY_ON_DISPLAY_TO_ORDER" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "ShoppingWebentityShoppingAnnotationProductImage": { - "description": "Images from the product-level representation (i.e. GPC). These images are currently only annotated 1) when no offers are available 2) on the product level", - "id": "ShoppingWebentityShoppingAnnotationProductImage", - "properties": { - "imageDocid": { - "format": "uint64", - "type": "string" - }, - "productImageType": { - "enum": [ - "PRODUCT_IMAGE_TYPE_UNKNOWN", - "PRODUCT_IMAGE_GPC", - "PRODUCT_IMAGE_TYPE_MULTIBANG_ENTITY_INFERRED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "ShoppingWebentityShoppingAnnotationProductRating": { - "description": "Information about a rating provided for a product. This can represent an aggregated rating if count is set. Next Id: 7", - "id": "ShoppingWebentityShoppingAnnotationProductRating", - "properties": { - "count": { - "description": "Number of ratings/reviews aggregated to create this product rating. If there are no ratings yet, this field will be explicitly set to zero, so whether this field is set should be checked using has_count.", - "format": "int64", - "type": "string" - }, - "maxValueMillis": { - "format": "int64", - "type": "string" - }, - "minValueMillis": { - "description": "The lower and upper bounds of the rating values that could be submitted for the product. (Note that it is not the min/max ratings submitted for the product, it is the min/max that can hypothetically be submitted.)", - "format": "int64", - "type": "string" - }, - "source": { - "enum": [ - "PRODUCT_RATING_SOURCE_UNKNOWN", - "PRODUCT_RATING_SOURCE_CRAWLED_DATA" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "value": { - "deprecated": true, - "description": "The value of this rating normalized between 0 and 5. This will not be set if count is set to 0.", - "format": "double", - "type": "number" - }, - "valueMillis": { - "description": "The non-normalized aggregated value of the ratings for this product.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ShoppingWebentityShoppingAnnotationSoriVersionId": { - "description": "Versioning Information used for Logging Purposes. See go/sori-logjoining.", - "id": "ShoppingWebentityShoppingAnnotationSoriVersionId", - "properties": { - "f1CommitTimestampMicros": { - "format": "int64", - "type": "string" - }, - "opaqueSoriId": { - "$ref": "AdsShoppingReportingOffersSerializedSoriId" - } - }, - "type": "object" - }, - "Sitemap": { - "description": "Note: If you are going to populate any new field in this proto, you probably need to go through the go/dj-new-field and go/index-changes process.", - "id": "Sitemap", - "properties": { - "DEPRECATEDSourceTitle": { - "description": "DEPRECATED DEPRECATED DEPRECATED In case you didn't realize, these fields are (and have been for some time) deprecated. We'll stop pushing their data to production soon (probably Feb/09) and after a few weeks we'll probably remove them.", - "type": "string" - }, - "TargetGroups": { - "description": "One Sitemap can contain multiple TargetGroups, but only one of them will be displayed to the user - this decision will be made at displaying time and can take into account various factors, such as the users' language and country, currently running experiments, etc.", - "items": { - "$ref": "QualitySitemapTargetGroup" - }, - "type": "array" - }, - "deprecatedTarget": { - "items": { - "$ref": "SitemapDEPRECATED_Target" - }, - "type": "array" - }, - "pageAnchorsDocInfo": { - "$ref": "SdrPageAnchorsDocInfo", - "description": "This field is populated in the Sitemap MDU subpopulator from cdoc data. This is used to store page anchors information for TopicTagsScrolltoFlow." - }, - "searchInSite": { - "description": "Enable site search.", - "type": "boolean" - }, - "sitemapType": { - "enum": [ - "ORIGINAL", - "EXPANDED", - "TABLE_OF_CONTENTS", - "WEBANSWER" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "sourceOrgfp": { - "description": "prevents cross-domain forwarding", - "format": "uint64", - "type": "string" - }, - "sourceUrl": { - "type": "string" - }, - "subresultList": { - "$ref": "QualitySitemapSubresultList", - "description": "This field is populated in the Sitemap MDU subpopulator from cdoc data. It's not set in the cdoc Sitemap." - } - }, - "type": "object" - }, - "SitemapDEPRECATED_Target": { - "id": "SitemapDEPRECATED_Target", - "properties": { - "DEPRECATEDAnchor": { - "type": "string" - }, - "DEPRECATEDRunningAnchor": { - "type": "boolean" - }, - "DEPRECATEDTitle": { - "type": "string" - }, - "displaytitle": { - "type": "string" - }, - "score": { - "description": "optional, exclude to save space", - "format": "int32", - "type": "integer" - }, - "url": { - "type": "string" - } - }, - "type": "object" - }, - "SmartphonePerDocData": { - "description": "This message is used for storing smartphone related information. Note: MobilePerDocData is a similar message, but it's for lowend mobile.", - "id": "SmartphonePerDocData", - "properties": { - "DEPRECATEDDesktopCanonicalDocid": { - "deprecated": true, - "description": "If set, this page is a smartphone dup, a page serving equivalent contents as another URL (desktop canonical), but in smartphone-optimized style. This field holds the docid of the desktop canonical.", - "format": "uint64", - "type": "string" - }, - "DEPRECATEDMobileHomepageDocid": { - "deprecated": true, - "description": "Mobile URL for homepages, predicted by the URL rewrite rules. See go/mobile-homepage-prediction.", - "format": "uint64", - "type": "string" - }, - "adsDensityInterstitialViolationStrength": { - "description": "Indicates if the page is violating mobile ads density interstitial policy and the violation strength. See go/interstitials-for-ads and http://ariane/268642 for details. To save indexing space, we convert the double values in [0.0, 1.0] to integers in range [0, 1000] by using floor(value * 1000).", - "format": "int32", - "type": "integer" - }, - "isErrorPage": { - "description": "Indicates if the page serves error to smartphone crawler. go/ramsey-sp404demotion", - "type": "boolean" - }, - "isN1Redirect": { - "description": "Indicates if the page has mobile N-1 redirection. go/ramsey-n1demotion", - "type": "boolean" - }, - "isSmartphoneOptimized": { - "description": "Indicates if the page is rendered in a friendly manner on smartphones. We use this field as tri-state: \"unset\" means the rendering result classification is not available, and \"set as false\" means that the page is rendered in unfriendly manner on smartphones. See also go/modena-ranking.", - "type": "boolean" - }, - "isWebErrorMobileContent": { - "description": "Indicates if the current URL serves error page to desktop crawler and non error page to smartphone crawler.", - "type": "boolean" - }, - "maximumFlashRatio": { - "description": "The ratio of the area of the largest Flash to the render area.", - "format": "double", - "type": "number" - }, - "violatesMobileInterstitialPolicy": { - "description": "Indicates if the page is violating mobile interstitial policy and should be demoted. See go/interstitials-ranking-dd for details.", - "type": "boolean" - } - }, - "type": "object" - }, - "SmearedWebLandingPageEntry": { - "description": "For legacy purposes, cdocs contain a repeated list of *Entry, whereas it's more convenient elsewhere to contain this information within its own protocol buffer.", - "id": "SmearedWebLandingPageEntry", - "properties": { - "imagesearchDocid": { - "description": "Source imagesearch docid", - "format": "uint64", - "type": "string" - }, - "webDocid": { - "description": "Docid of web landing page", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "SnapshotBox": { - "description": "A simple 2D box represented by an (x, y) co-ordinate, width and height. Copied from htmlrender_webkit_headless_proto.Document to avoid additional dependency.", - "id": "SnapshotBox", - "properties": { - "height": { - "format": "int32", - "type": "integer" - }, - "width": { - "format": "int32", - "type": "integer" - }, - "x": { - "format": "int32", - "type": "integer" - }, - "y": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SnapshotImageNode": { - "id": "SnapshotImageNode", - "properties": { - "boundingBox": { - "$ref": "SnapshotBox" - }, - "isExternal": { - "description": "An image is considered external iff both: 1. The image appears in a link that is not in the same org as the document, or the target URL is in a different org. 2. The image src is not in the same org as the document.", - "type": "boolean" - }, - "url": { - "description": "The absolute url of the image as present in the page.", - "type": "string" - } - }, - "type": "object" - }, - "SnapshotSnapshotDocument": { - "id": "SnapshotSnapshotDocument", - "properties": { - "imageNode": { - "items": { - "$ref": "SnapshotImageNode" - }, - "type": "array" - }, - "metaNoPreview": { - "type": "boolean" - }, - "metaNoSnippet": { - "description": "These are set from tags in the web page:", - "type": "boolean" - }, - "teradoc": { - "$ref": "TeragoogleDocumentInfo", - "description": "If this is present it supercedes all the above data." - }, - "textNode": { - "items": { - "$ref": "SnapshotTextNode" - }, - "type": "array" - }, - "title": { - "type": "string" - } - }, - "type": "object" - }, - "SnapshotSnapshotMetadata": { - "id": "SnapshotSnapshotMetadata", - "properties": { - "countDistinctResources": { - "description": "The number of distinct resources fetched to render the content. This may aid the calculation of total page load time for user experience. For example, if total_content_length is only a few dozen kilobytes, but that is from fetching 100 distinct resources, total page load time might be much higher than the total_content_length would otherwise infer.", - "format": "uint32", - "type": "integer" - }, - "crawlTimestamp": { - "description": "The time at which the main resource of the Snapshot was fetched, in seconds since epoch. Note that the various page dependencies may have been fetched at much earlier points in time (hours, maybe days) and that this could be off from the actual rendering time.", - "format": "uint64", - "type": "string" - }, - "snapshotDocument": { - "$ref": "SnapshotSnapshotDocument" - }, - "snapshotQualityScore": { - "description": "The score here corresponds to the score in Snapshot, a number between 0.0 and 1.0 (higher the better).", - "format": "float", - "type": "number" - }, - "totalContentSize": { - "description": "Number of bytes fetched to render the content. For example, to render a web page, this value would include the HTML, stylesheets, images, and all other dependencies. This can be used to calculate a coarse estimate of the total page load time a user might experience.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "SnapshotTextNode": { - "description": "The SnapshotDocument contains a list of TextNode's. Each node contains a string of text of the webpage, its bounding box in the agove snapshot image, and its font size (in number of pixels in the snapshot, which could be a fraction number since the snapshot image is typically shrinked). This list of text nodes are extracted from the output from the rendering service: htmlrender_webkit_headless_proto.Document The extraction is done by TrimDocument defined in ./shared/doctrimmer.cc", - "id": "SnapshotTextNode", - "properties": { - "boundingBox": { - "$ref": "SnapshotBox" - }, - "fontSize": { - "format": "float", - "type": "number" - }, - "inLink": { - "description": "One if the current text node is within a link; otherwise zero/not present.", - "format": "int32", - "type": "integer" - }, - "maxSplit": { - "description": "A value in the range [0,7] (zero if not present) indicating the most \"powerful\" splitting tag since the last text node. See \"enum Category\" in mustang/snippets/taginfo.h.", - "format": "int32", - "type": "integer" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "SnippetExtraInfo": { - "id": "SnippetExtraInfo", - "properties": { - "candidateInfo": { - "description": "Candidates are ordered by their id.", - "items": { - "$ref": "SnippetExtraInfoSnippetCandidateInfo" - }, - "type": "array" - }, - "containUserQuotes": { - "description": "Indicates that the snippet candidates all contain uesr quotes.", - "type": "boolean" - }, - "containVulgarCandidates": { - "description": "Indicates if there are any vulgar snippet candidates.", - "type": "boolean" - }, - "disableNg3Scoring": { - "description": "Indicates that SR side should disable the ng3 scoring and soly rely on the SnippetBrain scoring for selecting the final candidate. E.g. this can happen when the offline snippet generation routine is triggered.", - "type": "boolean" - }, - "disableQueryFeatures": { - "description": "Indicates whether the query relevance features is disabled or not in Muppet scoring.", - "type": "boolean" - }, - "forceLeadingTextOrMeta": { - "description": "Indicates to not add any new candidates in SnippetFlow.", - "type": "boolean" - }, - "snippetBrainSelectedCandidateIndex": { - "description": "Snippet candidate index selected by snippet brain model. This field will get populated in SnippetFlow in superroot. go/snippets-brain", - "format": "int32", - "type": "integer" - }, - "snippetsbrainModelInfo": { - "$ref": "SnippetExtraInfoSnippetsBrainModelInfo", - "description": "SnippetsBrain model information for snippets popup debug." - } - }, - "type": "object" - }, - "SnippetExtraInfoSnippetCandidateInfo": { - "description": "Next ID: 15", - "id": "SnippetExtraInfoSnippetCandidateInfo", - "properties": { - "boldedRanges": { - "description": "Bolded ranges in the printed snippet lines.", - "items": { - "$ref": "QualitySnippetsTruncationSnippetBoldedRange" - }, - "type": "array" - }, - "extendedSnippet": { - "$ref": "SnippetExtraInfoSnippetCandidateInfoExtendedSnippet" - }, - "id": { - "description": "Candidate identifier number, unique among all snippet candidates under each document in each request. What does this number mean: - Muppet candidates: This equals to the candidate's rank by Muppet snippets scorer. - Superroot candidates: No specific meaning, this number should be larger than that of Muppet candidates. This field is used to: - Verify whether snippet brain chooses a different snippet from Muppet (the one chosen by Muppet is always in id 0). - Print debugging information and sort candidates in debug output.", - "format": "int32", - "type": "integer" - }, - "isMuppetSelectedSnippet": { - "description": "If this snippet is chosen by Muppet.", - "type": "boolean" - }, - "isSnippetBrainBoldingTriggered": { - "description": "If SnippetsBrain bolding model triggered and a bolding span is generated.", - "type": "boolean" - }, - "listInfo": { - "$ref": "MustangReposWwwSnippetsOrganicListSnippetResponse", - "description": "List information for this candidate, only populated for RADISH_LIST snippets." - }, - "scoringInfo": { - "$ref": "SnippetExtraInfoSnippetScoringInfo" - }, - "sentenceStarts": { - "description": "Sentence starting positions in the printed snippet lines.", - "items": { - "$ref": "QualitySnippetsTruncationSnippetBoldedRangePosition" - }, - "type": "array" - }, - "snippet": { - "description": "Muppet fills snippet lines in `snippet` field.", - "items": { - "type": "string" - }, - "type": "array" - }, - "snippetText": { - "description": "`snippet_text` will be filled by snippet brain flow in SR for model scoring and debugging purpose.", - "type": "string" - }, - "snippetType": { - "enum": [ - "SNIPPET_TYPE_UNSPECIFIED", - "SEQUENCE", - "SEQUENCE_V2", - "FULL", - "META", - "LEADING_TEXT", - "FULL_V2", - "SAFT_SENTENCE", - "RADISH_SENTENCE", - "RADISH_LIST", - "RADISH_TABLE", - "ANNOTATED_FULL", - "OFFLINE_RADISH_SENTENCE", - "OFFLINE_RADISH_LIST", - "OFFLINE_RADISH_TABLE", - "OFFLINE_LEADING_TEXT", - "PEREGRINE", - "LLM_EXTRACTIVE" - ], - "enumDescriptions": [ - "For historical reason, this `SNIPPET_TYPE_UNSPECIFIED` type is defined as value 15 instead of 0.", - "A sequence snippet is generated from query term matches (from meta and body sections) and typically consists of multiple tidbits. Currently we only keep one single best combination of the retrieved tidbits.", - "", - "A full snippet is also generated from query term matches. Unlike the sequence snippet, this only consists of one expanded tidbit that are scored as the best single tidbit among the retrieved tidbits.", - "This is a leading text of meta description.", - "This is a leading text of main body text (skipping headers), and its starting position is typically identified in the indexing phase.", - "Similar to FULL snippet, but this allows multiple candidates.", - "saft sentences.", - "Candidates created from radish attachment.", - "", - "", - "Candidates from quality_snippets.SnippetSpansInfo.", - "Candidates created from the `OfflineCandidate` message at the goldmine, with different candidate sources.", - "", - "", - "", - "Candidates generated by SnippetFlow in SR.", - "As of Jul 2023, an experimental candidate that generated by a ML model." - ], - "type": "string" - } - }, - "type": "object" - }, - "SnippetExtraInfoSnippetCandidateInfoExtendedSnippet": { - "description": "The extended version of this snippet.", - "id": "SnippetExtraInfoSnippetCandidateInfoExtendedSnippet", - "properties": { - "numChars": { - "format": "int32", - "type": "integer" - }, - "snippetText": { - "type": "string" - } - }, - "type": "object" - }, - "SnippetExtraInfoSnippetScoringInfo": { - "description": "Next ID: 9", - "id": "SnippetExtraInfoSnippetScoringInfo", - "properties": { - "brainNg3Score": { - "format": "float", - "type": "number" - }, - "brainScore": { - "description": "The below fields are populated by SnippetFlow in superroot. Score generated from snippet brain model. go/snippets-brain", - "format": "float", - "type": "number" - }, - "features": { - "$ref": "QualityPreviewRanklabSnippet", - "description": "Snippets ranklab features generated by scorer V2." - }, - "finalScore": { - "description": "Final snippet score by chooser.", - "format": "float", - "type": "number" - }, - "rankBySnippetFlow": { - "description": "Final rank given by SnippetFlow.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SnippetExtraInfoSnippetsBrainModelInfo": { - "description": "Log model name, partition and input processor used to generate SnippetsBrain scores, if SnippetsBrain debugging is enabled.", - "id": "SnippetExtraInfoSnippetsBrainModelInfo", - "properties": { - "ng3ModelName": { - "type": "string" - }, - "snippetsbrainModelName": { - "description": "The below fields are populated by SnippetFlow in superroot.", - "type": "string" - }, - "snippetsbrainModelPartition": { - "type": "string" - }, - "snippetsbrainTokenizerType": { - "type": "string" - } - }, - "type": "object" - }, - "SnippetsLeadingtextLeadingTextAnnotation": { - "description": "Leading text which may consist of multiple pieces.", - "id": "SnippetsLeadingtextLeadingTextAnnotation", - "properties": { - "piece": { - "items": { - "$ref": "SnippetsLeadingtextLeadingTextAnnotationPiece" - }, - "type": "array" - }, - "pieceType": { - "enum": [ - "SEPARATED", - "JOINED" - ], - "enumDescriptions": [ - "Two pieces are separated.", - "Two pieces should be joined together." - ], - "type": "string" - }, - "type": { - "description": "Type of this leading text. Should be an enum of LeadingTextInfo.LeadingTextType", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SnippetsLeadingtextLeadingTextAnnotationPiece": { - "id": "SnippetsLeadingtextLeadingTextAnnotationPiece", - "properties": { - "begin": { - "description": "A piece of leading text is text within [begin, end). For example, a document is \"ABCDEF\". If we want to set leading text as 'CD', the value of begin is byte offset of 'C', the value of end is byte offset of 'E'. end == -1 means to the end of document.", - "format": "int32", - "type": "integer" - }, - "beginText": { - "description": "UTF8 text, for alignment when using reusableinfo. Those text are not available in docjoins.", - "type": "string" - }, - "end": { - "format": "int32", - "type": "integer" - }, - "endText": { - "type": "string" - }, - "matchedPattern": { - "description": "Matched dom path string for debugging.", - "type": "string" - } - }, - "type": "object" - }, - "SnippetsLeadingtextLeadingTextInfo": { - "id": "SnippetsLeadingtextLeadingTextInfo", - "properties": { - "beginPos": { - "description": "Leading text start position, byte offset of page content. The offset is got in ParseMaster. So it is the offset after the content is converted to UTF8.", - "format": "int32", - "type": "integer" - }, - "leadingtext": { - "description": "Note: You can also use it to save multiple leading text candidates.", - "items": { - "$ref": "SnippetsLeadingtextLeadingTextAnnotation" - }, - "type": "array" - }, - "text": { - "description": "UTF8 text, for alignment when using reusableinfo. The text is not available in docjoins.", - "type": "string" - }, - "type": { - "description": "Type of leading text which is optimized for this type of document.", - "enum": [ - "INVALID", - "NORMAL", - "HOMEPAGE", - "DICTIONARY", - "WIKI", - "SECTION_BOOST", - "IN_LIST", - "LOW", - "SALIENT_NUGGET", - "SCHEMA_ORG_DESC", - "SCHEMA_ORG_ANSWER", - "PDF" - ], - "enumDescriptions": [ - "", - "Default leading text type.", - "Leading text for home page.", - "Leading text for dictionary page.", - "Leading text for wiki page.", - "Leading text which gets section boost bonus.", - "Leading text inside a list.", - "Leading text has very low geometric altitude.", - "Salient leading text that matches a salient nugget pattern. Leading text offsets will be stored in LeadingTextAnnotation::Piece, with PieceType SEPARATED.", - "Leading text from schema.org description.", - "Leading text from schema.org answer.", - "Leading text for PDF document." - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialCommonAttachmentAttachment": { - "description": "An Attachment represents a linked entity associated with a piece of social content. This may be a 1st-party or 3rd-party entity. In the Papyrus context, an Attachment is part of a Cent, and sits alongside the main content of the cent, which is represented as a sequence of Segments. Right now an Attachment is just a wrapper around an Embed, but we provide the extra layer of abstraction since, as Embeds move to separate storage in Briefcase, we may want to add additional fields that are not part of the Embed proper, but that (for example) relate to the usage of the linked content within the particular post/cent.", - "id": "SocialCommonAttachmentAttachment", - "properties": { - "embedItem": { - "$ref": "EmbedsEmbedClientItem", - "description": "An embed represents an external entity. See go/es-embeds." - }, - "id": { - "description": "An id to uniquely identify an attachment when several attachments are in a collection.", - "type": "string" - } - }, - "type": "object" - }, - "SocialCommonFormatting": { - "description": "Formatting information for a segment.", - "id": "SocialCommonFormatting", - "properties": { - "bold": { - "type": "boolean" - }, - "highlight": { - "description": "This indicates that the segment should be rendered as highlighted or visually emphasized.", - "type": "boolean" - }, - "italics": { - "type": "boolean" - }, - "strikethrough": { - "type": "boolean" - }, - "style": { - "description": "If set, this indicates that the segment should be rendered with the specified style. The absence of an explicit style represents \"no style\", i.e. the segment can be rendered with the default style chosen by the application.", - "enum": [ - "UNKNOWN_STYLE", - "HEADING_1", - "HEADING_2", - "HEADING_3", - "HEADING_4" - ], - "enumDescriptions": [ - "This represents a style that is unknown (e.g. a new style was introduced but not supported by older mobile app versions) and should generally not be used as a value in a proto. If the segment does not need to be rendered with a special style, the 'style' field should simply be left unset. A reasonable fallback for an unknown style is to render the segment in the default style.", - "The most important heading to the least important heading.", - "", - "", - "" - ], - "type": "string" - }, - "underline": { - "type": "boolean" - } - }, - "type": "object" - }, - "SocialCommonHashtagData": { - "description": "Hashtag metadata, for HASHTAG segments. For a hashtag, the \"text\" field should contain the display text, and the search_text field should represent the topic being referenced, without the hash symbol; for example, we might have: text = \"#Google\" hashtag_data.search_text = \"Google\" Another example: text = \"#pikachu\" hashtag_data.search_text = \"Pokemon\" Both strings should be considered part of the searchable text. In go/sbe, both are indexed and searchable.", - "id": "SocialCommonHashtagData", - "properties": { - "searchText": { - "type": "string" - } - }, - "type": "object" - }, - "SocialCommonLinkData": { - "description": "Link metadata, for LINK segments. Anchor text should be stored in the \"text\" field of the Segment, which can also serve as a fallback.", - "id": "SocialCommonLinkData", - "properties": { - "attachment": { - "$ref": "SocialCommonAttachmentAttachment", - "description": "An Attachment represents the structured entity to which we are linking. It contains an Embed (apps/tacotown/proto/embeds/embed_client.proto) with fields specific to the appropriate type of linked entity. For example, if we are linking to a photo album, the Embed may include the album ID and gaia ID of the creator. Clients that understand the Embed type within the Attachment may construct and/or decorate their link appropriately e.g. to make use of type-specific functionality or first-party integrations. The link_target and (if appropriate) display_url fields must still be set even when an Attachment is present, so that clients who do not know how to interpret the Attachment can fall back to those fields, and render the Segment as an ordinary web link. N.B. Even when an Attachment is present, the intention of a \"LINK\" Segment is for the Segment to be presented inline with the rest of the text of a post or comment, with a clickable link or other UI suitable for inlining (though the client may modify the UI based on Attachment data, e.g. to add appropriate hovers, icons, etc.). When an entity is intended to be rendered separately from the main body of the post/comment, a separate Attachment proto can be added outside the set of Segments. N.B. Within the Attachment, fields of EmbedClientItem have their own visibility annotations, which should be enforced separately from Segment visibility annotations. See: apps/tacotown/proto/embeds/embed_annotations.proto" - }, - "attachmentRenderHint": { - "description": "The hint to use when rendering the associated attachment. Ignored if there is no associated attachment.", - "enum": [ - "ATTACHMENT_RENDER_HINT_UNKNOWN", - "ATTACHMENT_RENDER_HINT_AFTER", - "ATTACHMENT_RENDER_HINT_INTERLEAVED" - ], - "enumDescriptions": [ - "No rendering hint; should not be used (equivalent to having no hint)", - "Render any associated attachment at the end of the block, after all sibling Segments. Leave the link in place in the text and render it normally as well.", - "Render any associated attachment inline in the text in place of the link text, forcing a line break before and after the attachment so the text and the attachment are \"interleaved\". If this is not possible, render as if AFTER." - ], - "type": "string" - }, - "displayUrl": { - "description": "If we wish to show the user a different (e.g. shortened) version of the URL for display purposes, then that version should be set here. If this field isn't set, link_target will be used for both purposes.", - "type": "string" - }, - "linkTarget": { - "description": "link_target is the URL to navigate to when clicked. This could be the original URL, or a URL signed by the GWS URL signing service.", - "type": "string" - }, - "linkType": { - "description": "LinkType is an optional field that provides additional information regarding link target. For example, link type can be identified as the SELF_LINK when the request was executed from the same link as the link target.", - "enum": [ - "UNKNOWN_LINK_TYPE", - "SELF_LINK" - ], - "enumDeprecated": [ - false, - true - ], - "enumDescriptions": [ - "No link type specified.", - "This indicates that the link target points to the same object related to this segment. Example: A YouTube link with text=\"0.07\" and link_target: \"https://www.youtube.com/watch?v=leHVmSqd4_w\u0026t=0m07s\" points to the same YouTube video where this segment appears. See http://go/ignore-badwords-filtering-for-selflink for adding link_type design document. ====== WARNING !!! WARNING !!! WARNING !!! WARNING !!! WARNING !!! ====== For YouTube use cases only: " - ], - "type": "string" - }, - "title": { - "description": "Title is an optional field that provides a short string that describes the link or its destination. User interfaces often use title as a tooltip or for accessibility purposes. However, they are of course free to present this data in any form. This field is plain text.", - "type": "string" - } - }, - "type": "object" - }, - "SocialCommonSearchLinkData": { - "description": "SearchLink metadata, for SEARCH_LINK segments. For a search link, the \"text\" field should contain the display text. This is currently not indexed.", - "id": "SocialCommonSearchLinkData", - "properties": { - "kgEntityConfidence": { - "description": "For lightweight scoring in serving time.", - "format": "float", - "type": "number" - }, - "mid": { - "description": "MID of the KG entity being linked.", - "type": "string" - }, - "queryBroadnessScore": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "SocialCommonSegment": { - "id": "SocialCommonSegment", - "properties": { - "formatting": { - "$ref": "SocialCommonFormatting", - "description": "Formatting to be applied when rendering the Segment. For all segment types, this is the standard way of representing that the Segment should be rendered in bold, italics, etc." - }, - "hashtagData": { - "$ref": "SocialCommonHashtagData", - "description": "For HASHTAG type:" - }, - "linkData": { - "$ref": "SocialCommonLinkData", - "description": "Type-specific metadata. At most one of these should be populated, and the one that is populated should correspond to the type of the Segment. For LINK type:" - }, - "searchLinkData": { - "$ref": "SocialCommonSearchLinkData", - "description": "For SEARCH_LINK type:" - }, - "text": { - "description": "Text content of the Segment. As a general rule, this field should contain the actual text that should be rendered in the UI. Thus, for a hashtag, it should be \"#Foo\", and for a link, it should be the display text. Clients that do not understand a particular segment type may use this text, along with the Formatting info below, as a fallback for display. The field is not required -- if all relevant information is carried in other metadata fields and there is no need for a fallback, or it is not practical for a fallback to be provided for any other reason, the field may be left blank. A standard example would be a user reference being transmitted between server layers, where a gaia-ID representation may be sufficient and there is no need for a textual fallback. In such a case, it would be valid and useful - though not required - for servers to compute and populate a fallback on the serving path.", - "type": "string" - }, - "type": { - "description": "Type of Segment.", - "enum": [ - "TEXT", - "LINE_BREAK", - "LINK", - "USER_MENTION", - "ALL_USER_MENTION", - "HASHTAG", - "SEARCH_LINK" - ], - "enumDescriptions": [ - "A TEXT segment represents plain-text subject to particular formatting constraints (as represented in the \"formatting\" field of the Segment).", - "A LINE_BREAK segment is simply a placeholder to represent a line break between other segments. The \"text\" variable may be set to a newline as a fallback, but clients that understand this segment type should simply insert a line break without needing to reference any fields.", - "A LINK segment represents a link to a web entity. The \"text\" field should be used for anchor text. Additional link data should be put in the link_data protobuf.", - "A USER_MENTION segment represents a reference to a (possibly non-Gaia, possibly off-network) user. The \"text\" field may be populated as a fallback, but information identifying the user should be contained in the user_mention_data protobuf. (The set of fields that are populated in user_mention_data may differ depending on the context in which the segment is viewed, but the interpretation of the fields is uniform. See comments over UserMentionData).", - "An ALL_USER_MENTION segment represents a reference to all users in the context, that is, the conversation, discussion, or other context containing the segment. For example, an ALL_USER_MENTION segment (\"@all\") can be useful to ping all participants in a conversation if the notification setting of the conversation is not set to ping on normal messages. An ALL_USER_MENTION should be treated as a USER_MENTION for all users who receives the segment.", - "A HASHTAG segment represents a structured reference to a topic. The \"text\" field should represent display text (e.g. \"#Google\"), and additional metadata should be put in the Segment's hashtag_data field.", - "A SEARCH_LINK segment respresents a link to search results for a KG entity. The \"text\" field should represent the part of the comment where the KG entity is extracted from, and additional metadata of the entity should be put in the Segment's search_link_data field." - ], - "type": "string" - }, - "userMentionData": { - "$ref": "SocialCommonUserMentionData", - "description": "For USER_MENTION type:" - } - }, - "type": "object" - }, - "SocialCommonSegments": { - "description": "Segments (go/social-segments) represent structured social content, e.g. the contents of a G+ stream post or chat message. A single post or message may consist of a sequence of segments, each representing a type of content, e.g. plain text, hash tag, mention, etc. Segments correspond approximately to units of content delimited by HTML tags, so that a piece of bolded text would be a distinct Segment, a link would be a distinct Segment, and so forth. A single Segment may have multiple such qualifiers; e.g. it may be a bold link; in this case, information about all such qualifiers will be encoded in the Segment proto.", - "id": "SocialCommonSegments", - "properties": { - "segments": { - "items": { - "$ref": "SocialCommonSegment" - }, - "type": "array" - } - }, - "type": "object" - }, - "SocialCommonUserMentionData": { - "description": "Person metadata, for USER_MENTION segments. Should always contain at least one of user_gaia_id, user_id, email or user. The exact set of populated fields may differ depending on the context and the level in the serving stack; for example, emails will be elided on the viewing path. But as a general rule, a proto having any one of the four is valid, subject to the standard constraints of the applied annotations -- that is, communication between servers and clients will ignore jspb.ignore fields, and communication between servers and other servers (or between servers and storage) will ignore client_only fields. For more on the annotations, see the comments in social/common/segment_annotations.proto", - "id": "SocialCommonUserMentionData", - "properties": { - "email": { - "type": "string" - }, - "user": { - "$ref": "SecurityCredentialsPrincipalProto", - "description": "If the principal is backed by a gaia id, DO NOT use this field. Use user_gaia_id/user_id fields instead." - }, - "userGaiaId": { - "description": "An unobfuscated gaia ID:", - "format": "int64", - "type": "string" - }, - "userId": { - "description": "An obfuscated gaia ID:", - "type": "string" - } - }, - "type": "object" - }, - "SocialDiscoveryExternalEntityKey": { - "description": "An entity key with an obfuscated gaia id that can be used externally.", - "id": "SocialDiscoveryExternalEntityKey", - "properties": { - "email": { - "type": "string" - }, - "phone": { - "type": "string" - }, - "profileId": { - "description": "Obfuscated GAIA id.", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiAppContactData": { - "description": "Contains a mimetype supported by a third-party app together with additional ids and other data that the apps use to complete the action for the given mimetype. For example, an app_specific_endpoint_id that corresponds to a WhatsApp Profile. Full Design: go/3p-contact-upload LINT.IfChange", - "id": "SocialGraphApiAppContactData", - "properties": { - "data": { - "description": "Set of column-name and value for the given mimetype. The semantic meaning of the column values is mime-type specific. For example they may contain app_specific_endpoint_ids for WhatsApp. This is uploaded from CP2 http://go/cp2-data1 through http://go/cp2-data14.", - "items": { - "$ref": "SocialGraphApiDataColumn" - }, - "type": "array" - }, - "mimetype": { - "description": "The mimetype of the action defined by the third-party app.", - "enum": [ - "UNKNOWN_MIMETYPE", - "WHATSAPP_PROFILE", - "WHATSAPP_VOIP_CALL", - "WHATSAPP_VIDEO_CALL", - "LINE_PROFILE", - "LINE_VOICE", - "LINE_VIDEO", - "HIKE_MESSAGE", - "HIKE_MESSAGE_ASSISTANT", - "HIKE_VOICE_CALL", - "HIKE_VIDEO_CALL", - "TELEGRAM_ANDROID_PROFILE", - "THREEMA_PROFILE", - "VIBER_OUT_CALL_NONE", - "VIBER_NUMBER_CALL", - "VIBER_NUMBER_MESSAGE", - "VIBER_OUT_CALL", - "VIBER_GOOGLE_VOICE_MESSAGE", - "WECHAT_VOICEACTION", - "LINKEDIN_ANDROID_MESSAGING", - "VK_SENDMSG", - "TACHYON_PHONE_AUDIO", - "TACHYON_PHONE" - ], - "enumDescriptions": [ - "", - "vnd.android.cursor.item/vnd.com.whatsapp.profile", - "vnd.android.cursor.item/vnd.com.whatsapp.voip.call", - "vnd.android.cursor.item/vnd.com.whatsapp.video.call", - "vnd.android.cursor.item/vnd.jp.naver.line.android.profile", - "vnd.android.cursor.item/vnd.jp.naver.line.android.call.voice", - "vnd.android.cursor.item/vnd.jp.naver.line.android.call.video", - "vnd.android.cursor.item/com.hike.chat.stickers.message", - "vnd.android.cursor.item/com.hike.chat.stickers.message.gassistant", - "vnd.android.cursor.item/com.hike.chat.stickers.voice_call", - "vnd.android.cursor.item/com.hike.chat.stickers.video_call", - "vnd.android.cursor.item/vnd.org.telegram.messenger.android.profile", - "vnd.android.cursor.item/vnd.ch.threema.app.profile", - "vnd.android.cursor.item/vnd.com.viber.voip.viber_out_call_none_viber", - "vnd.android.cursor.item/vnd.com.viber.voip.viber_number_call", - "vnd.android.cursor.item/vnd.com.viber.voip.viber_number_message", - "vnd.android.cursor.item/vnd.com.viber.voip.viber_out_call_viber", - "vnd.android.cursor.item/vnd.com.viber.voip.google_voice_message", - "vnd.android.cursor.item/vnd.com.tencent.mm.chatting.voiceaction", - "vnd.android.cursor.item/vnd.com.linkedin.android.messaging", - "vnd.android.cursor.item/vnd.com.vkontakte.android.assistant.sendmsg", - "vnd.android.cursor.item/com.google.android.apps.tachyon.phone.audio", - "vnd.android.cursor.item/com.google.android.apps.tachyon.phone" - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiDataColumn": { - "description": "LINT.IfChange", - "id": "SocialGraphApiDataColumn", - "properties": { - "columnName": { - "description": "The name of the column in CP2 for raw_contact_data.", - "enum": [ - "UNKNOWN_COLUMN", - "DATA1", - "DATA2", - "DATA3", - "DATA4", - "DATA5", - "DATA6", - "DATA7", - "DATA8", - "DATA9", - "DATA10", - "DATA11", - "DATA12", - "DATA13", - "DATA14" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "DATA15 is not included since it is a BLOB." - ], - "type": "string" - }, - "value": { - "description": "The value of the data inside column.", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoAndroidDeviceInfo": { - "id": "SocialGraphApiProtoAndroidDeviceInfo", - "properties": { - "id": { - "description": "This string will represent either the device make and model in the case of FSA2, or the device model in the case of FSA1.", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoBirthdayDecoration": { - "id": "SocialGraphApiProtoBirthdayDecoration", - "properties": { - "birthdayDecorationVisibility": { - "enum": [ - "BIRTHDAY_DECORATION_VISIBILITY_UNSPECIFIED", - "BIRTHDAY_DECORATION_VISIBILITY_NONE", - "BIRTHDAY_DECORATION_VISIBILITY_SAME_AS_BIRTHDAY_VISIBILITY" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoContactCreateContext": { - "description": "The ContactEditContext message is a wrapper around the generic ContactMutationContext data to represent when and where a contact create was performed.", - "id": "SocialGraphApiProtoContactCreateContext", - "properties": { - "mutationContext": { - "$ref": "SocialGraphApiProtoContactMutationContext" - } - }, - "type": "object" - }, - "SocialGraphApiProtoContactDeletionContext": { - "description": "The ContactDeletionContext message is a wrapper around the generic ContactMutationContext data, and will include any needed delete specific data. NOTE: Before using this message please review go/people-api-contact-deletion-context", - "id": "SocialGraphApiProtoContactDeletionContext", - "properties": { - "mutationContext": { - "$ref": "SocialGraphApiProtoContactMutationContext", - "description": "The general mutation context data" - } - }, - "type": "object" - }, - "SocialGraphApiProtoContactEditContext": { - "description": "The ContactEditContext message is a wrapper around the generic ContactMutationContext data to represent when and where a contact edit was performed.", - "id": "SocialGraphApiProtoContactEditContext", - "properties": { - "mutationContext": { - "$ref": "SocialGraphApiProtoContactMutationContext" - } - }, - "type": "object" - }, - "SocialGraphApiProtoContactMutationContext": { - "description": "This message is the generic mutation message which will encapsulate the fields which are shared between the create, update, and delete actions, including source of change, timestamp, and metadata messages passed in from the source for any source specific data (such as phone name/model from FSA).", - "id": "SocialGraphApiProtoContactMutationContext", - "properties": { - "androidDeviceInfo": { - "$ref": "SocialGraphApiProtoAndroidDeviceInfo", - "description": "Android device info should always be set when using either ANDROID_FSA1 or ANDROID_FSA2 as the source of the delete." - }, - "hostAppInfo": { - "$ref": "SocialGraphApiProtoHostAppInfo", - "description": "Host app info should always be set when using CONTACTS_COMPANION as the source." - }, - "source": { - "description": "The source of a mutate should provide all needed information a user should know, and should be enough information for the front end to generate a proper human readable string to describe the mutate to the user.", - "enum": [ - "UNKNOWN_SOURCE", - "CONTACT_MERGE", - "WEB_CONTACTS", - "CONTACTS_COMPANION", - "HEALER_DUPLICATES", - "HEALER_OTHER_CONTACT", - "HEALER_CONTACT_LIMIT", - "THIRD_PARTY", - "ANDROID_FSA1", - "ANDROID_FSA2", - "GMAIL_WEB_CONTACTS", - "CARBON_IMPORT_CONTACTS", - "IOS", - "MAC_OS_X", - "WINDOWS_PC", - "WINDOWS_PHONE", - "JUNK_EMAIL_CLEANUP", - "INTERNAL_TESTING", - "ONE_PICK", - "ASSISTANT_SMART_DEVICE_MANAGEMENT_API" - ], - "enumDescriptions": [ - "Writes should never set UNKNOWN explicitly. This field shall be used implicitly for writes while clients are still being converted over, but once all clients have been updated to properly write source values this will be enforced by a validator. This value may be set on reads for any contacts which do not have a proper source set.", - "Contact merge is for deletes and mutates which are caused by the contact merge action, either through an accepted suggestion or a manual merge by the user. more info: go/contact-merge owner: contacts-plus-be-eng@google.com", - "Web contacts refers to contacts.google.com ui contact manager. owner: people-web@google.com", - "Refers to the Contacts Companion sidebar found on many Google applications (Gmail, docs, etc) more info: go/companiondelete owner: contactsplus-eng@google.com", - "Automated healer which deletes exact duplicates of contacts. owner: focus-backend-eng@google.com", - "Generic enum for all healers which only delete other contacts (Automatically created contacts, which have no group labels). As they should never be seen by users, they do not need unique strings. owner: focus-backend-eng@google.com", - "HEALER_CONTACT_LIMIT source is used for deleting contacts that cause a domain to exceed safe domain shared contact limits. owner: people-directory-dev-team@google.com", - "The THIRD_PARTY source provides a general bucket for third party application contact mutates, which are generally handled by contact APIs exposed to third-party apps, like People API 3P, GData or CardDAV. If this source is chosen you may also set a client name in the third_party_info message to have the front end display the name of the client. As this will be seen by the user the client name should not be provided unless it is safe and human readable. If a client name is not sent, a default place holder \"Deleted/modified by a third party application\" or equivalent will be used instead. owner: people-api@google", - "Android FSA1 mutates are a two way sync action with older android devices. These mutates pass back a phone model string (e.g. SG1014) for denoting what type of phone the mutate came from. When this value is chosen, the phone model should be set in the PhoneInfo message whenever possible. owner: people-api@google", - "FSA2 based mutates are handled by internal people API calls. When this value is set, the PhoneInfo message should also be set, and the string value for phone identification should be set to the device name, which will be passed back from FSA2. owner: people-api@google", - "HTML Gmail ui (moose) has a contact manager built in which users can use to manage their contacts. url: https://mail.google.com/mail/u/2/h/ owner: gmail-fe-eng@google.com", - "This action handles importing IOS device backups from drive into an Android device. more info: http://sites/prod/google.com/carbon/home and go/drive-ios-migration owner: apps-backup-eng@google.com", - "9 through 12 are only to be used for carddav default client project lookups and will be removed following the completion of go/carddav-default-project-number. b/145776595 owner: people-api@google.com", - "", - "", - "", - "Junk email contact clean up actions is for contacts which are deleted via contacts assistant suggested junk email contact clean up assistant. This action is served through google web contacts and the android contacts app. more info: go/assistants-junk-contacts owner: contacts-plus-be-eng@google.com", - "This option is a generic value to be used for internal Google tests.", - "\"OnePick is a consistent, centralized Google solution connecting applications (e.g., G Suite) to data sources (e.g., Drive, Contacts, Photos, Calendar) on the web.\" This supports an iframe on gmail to edit contactgroups (including deleting the contained contacts) inside of the compose email dialog. more info: go/onepick owner: onepick-eng@google.com", - "Assistant Settings will delete contacts and relationships + guests for Assistant Hospitality devices. Initially, this will be used to manage the contacts for go/merrill-prd, go/merrill-console-ux-prd. Screenshot: http://screen/ufej8N9aOMw owner: assistant-hospitality@, assistant-communication@" - ], - "type": "string" - }, - "thirdPartyInfo": { - "$ref": "SocialGraphApiProtoThirdPartyInfo", - "description": "Third party info should always be set when using THIRD_PARTY as the source." - }, - "timestamp": { - "description": "Timestamp representing when the contact was mutated. This should not be set on write, as it is the job of focus backend to determine this timestamp. This field will be populated on read with the data written by FBS.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoContactPromptSettings": { - "id": "SocialGraphApiProtoContactPromptSettings", - "properties": { - "contactActiveState": { - "description": "Indicates if any reminders are active for entire contact. This will affect both connection reminders and date reminders such as birthday reminders. This is required.", - "enum": [ - "UNKNOWN_ACTIVE_STATE", - "ACTIVE", - "DISABLED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoContactState": { - "description": "Contact state and related metadata. See go/fbs-contacts-trash.", - "id": "SocialGraphApiProtoContactState", - "properties": { - "deletionContext": { - "$ref": "SocialGraphApiProtoContactDeletionContext", - "description": "A trashed contact may have deletion context set, which indicates where and when the contact was trashed. Deletion context is cleared when the contact is untrashed." - }, - "deletionState": { - "enum": [ - "DEFAULT", - "TRASHED" - ], - "enumDescriptions": [ - "Contacts which don't fall into any other state.", - "Contacts are trashed. Trashed contacts are retained for 30 days to allow users to review and recover them, after which they are automatically wiped out. Trashed contacts are not returned on reads unless explicitly requested." - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoDailyRecurrence": { - "description": "Pattern for a DAILY (or every N day) recurrence. Time of the day that the notification will occur is taken from the Prompt that owns this recurrence. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)", - "id": "SocialGraphApiProtoDailyRecurrence", - "properties": {}, - "type": "object" - }, - "SocialGraphApiProtoDecorationOverlay": { - "description": "Settings that control how a SIBS decoration overlay is displayed.", - "id": "SocialGraphApiProtoDecorationOverlay", - "properties": { - "overlay": { - "$ref": "SocialGraphApiProtoPhotoOverlay", - "description": "Settings that describe how the decoration should be overlaid on the photo." - }, - "sibsId": { - "description": "SIBS ID of the decoration that is overlaid on the photo.", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoDelegatedGroupId": { - "description": "Represents a delegated group id, delegated groups refer to groups that are owned by another gaiaId, but this user has access to.", - "id": "SocialGraphApiProtoDelegatedGroupId", - "properties": { - "id": { - "description": "Required. The id for a delegated group.", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoDisplayNameSource": { - "id": "SocialGraphApiProtoDisplayNameSource", - "properties": { - "source": { - "enum": [ - "DISPLAY_NAME_SOURCE_UNSPECIFIED", - "LIMITED_PROFILE", - "LIMITED_PROFILE_FULL_NAME", - "LIMITED_PROFILE_SHORTENED_NAME" - ], - "enumDeprecated": [ - false, - true, - false, - false - ], - "enumDescriptions": [ - "", - "DEPRECATED(b/248135053): in favor of `LIMITED_PROFILE_FULL_NAME`, and `LIMITED_PROFILE_SHORTENED_NAME`", - "The source is the limited profile, and the full name is visible.", - "The source is the limited profile, and it's a shortened name." - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoHostAppInfo": { - "id": "SocialGraphApiProtoHostAppInfo", - "properties": { - "hostAppName": { - "description": "This string will represent the info for the host app to the Companion sidebar", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoImageReference": { - "description": "A reference to a photo in either Photos Backend or SGI storage. This message should be treated as an opaque blob to avoid a dependency on a specific storage backend. This version of ImageReference is visible outside of SGBE. Do not add fields that should not be exposed outside of Profile Service and Image Service. See the SGBE-internal version here: http://google3/social/graph/image/proto/image_reference.proto", - "id": "SocialGraphApiProtoImageReference", - "properties": { - "contentVersion": { - "description": "Identifies the most recent version of this photo. Use this as a FIFE param (ie -iv12) to prevent reads of a stale version.", - "format": "int64", - "type": "string" - }, - "mediaId": { - "description": "Unique identifier for the photo. For now, this will always be a Photos Backend media key.", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoLimitedProfileNameSettings": { - "id": "SocialGraphApiProtoLimitedProfileNameSettings", - "properties": { - "partialNameOptions": { - "$ref": "SocialGraphApiProtoPartialNameOptions", - "description": "Required. Describes which shortening option the user implicitly chose for their limited profile. E.g., if 'John Doe' chose 'John D.', they implicitly chose: partial_name_options { given_name_spec { show_all: true } family_name_spec: { show_initial: true truncation_indicator: PERIOD } } While we'll in all cases serve the actual name chosen by the user for limited profiles (stored below), we'll use this information to recompute the default limited profile to be rendered to users when they change their core name." - }, - "verbatimFullName": { - "description": "The actual textual name that was chosen by the user in the UI. E.g., if 'John Doe' chose 'John D.', this holds 'John D.'. While `partial_name_options` allows the limited profile name to be computed from the core name, the resulting shortened name might change across different versions of the name shortening logic, and we want to preserve the user's choice verbatim whenever possible. This field will be cleared when the two conditions below are met: (1) A successful core name change is not accompanied by a limited profile settings update and (2) The shortened name computed from `partial_name_options` yields a different result than what is originally stored in `verbatim_full_name`. When this happens, the limited profile is effectively *disabled*. E.g., if 'John Doe' from the example above changes their name to 'Jane Doe' and no LimitedProfileSettings are provided, `Jane D.` is the resulting shortened name. Therefore `verbatim_full_name` will be cleared and the limited profile settings will be disabled. On the other hand, if they change their name to `John Dõe`, the resulting shortened name remains `John D.`, and `verbatim_full_name` is kept as is.", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoLimitedProfilePictureSettings": { - "id": "SocialGraphApiProtoLimitedProfilePictureSettings", - "properties": { - "profilePictureOption": { - "enum": [ - "PROFILE_PICTURE_OPTION_UNSPECIFIED", - "STANDARD_PROFILE_PICTURE", - "MONOGRAM" - ], - "enumDescriptions": [ - "", - "Display the same picture used in the core profile. If there is no picture in the core profile, it will fallback to the `MONOGRAM` option below, so as to avoid revealing more initials than the limited profile does.", - "Display a monogram photo. The monogram will be computed from the short name, as to not leak information from the core name. E.g., if the core name is `John Doe` and the limited profile name is `Doe`, the monogram will show `D` (versus `J` that would be shown for `John Doe`)." - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoLimitedProfileSettings": { - "description": "Next ID: 10", - "id": "SocialGraphApiProtoLimitedProfileSettings", - "properties": { - "androidMessages": { - "description": "Created with user input in Android Messages.", - "type": "boolean" - }, - "disableReason": { - "description": "Indicates why the limited profile has been disabled. Will be set iff the limited profile is disabled. Note: When mutating limited profiles, in order to disable them, MutateDataRequest.DisableLimitedProfile must be true. Currently, disables are only performed server-side, so this is read-only for clients.", - "enum": [ - "DISABLE_REASON_UNSPECIFIED", - "INCOMPATIBLE_NAME_ONLY_MUTATION", - "NAME_ABUSE_VIOLATION" - ], - "enumDescriptions": [ - "", - "This means that a core name mutation was performed with no mutation to LimitedProfileSettings and the limited profile name recomputed from the existing `name_settings` was different from the one previously chosen by the user (stored in `verbatim_name`).", - "The Limited Profile name violates some Google policy. Note: regular checks for name violation are performed in FBS when the LimitedProfileSettings are created and prevent the mutation from succeeding (i.e., we DO NOT store LP settings with `NAME_ABUSE_VIOLATION` as disable reason in this case). This disable reason exists instead so that we can respond manually to any abuse escalation involving LP names." - ], - "type": "string" - }, - "gpayOobe": { - "description": "Created with user input in GPay OOBE. This is not currently used because GPay does not setup mini profile, this might change in the future.", - "type": "boolean" - }, - "lastUpdateTime": { - "description": "Timestamp indicating when the settings were last stored. Read-only field.", - "format": "google-datetime", - "type": "string" - }, - "legacyDiscoverability": { - "description": "A user who had legacy discoverability had a Limited Profile autogenerated for them, either through a healer or in the live path in FBS.", - "enum": [ - "AUTOGEN_STATUS_UNSPECIFIED", - "AUTOGEN_UNCONFIRMED", - "AUTOGEN_CONFIRMED" - ], - "enumDescriptions": [ - "", - "The LP was autogenerated and not yet surfaced and acted on by the user. LPs in this state are subject to disabling in certain conditions.", - "The autogenerated LP ws surfaced to the user and they performed some action on it. E.g. it was displayed in Whitepages UI and the user disabled discoverability." - ], - "type": "string" - }, - "myAccount": { - "description": "Created with user input in MyAccount UI.", - "type": "boolean" - }, - "nameSettings": { - "$ref": "SocialGraphApiProtoLimitedProfileNameSettings", - "description": "Required. Defines how the name should be formatted in the limited profile." - }, - "profilePictureSettings": { - "$ref": "SocialGraphApiProtoLimitedProfilePictureSettings", - "deprecated": true, - "description": "DEPRECATED. Profile picture choices are controlled through the ACL of the Photo field." - } - }, - "type": "object" - }, - "SocialGraphApiProtoMonthlyDayRecurrence": { - "description": "Pattern for a MONTHLY recurrence. This Monthly reccurence supports: 1. Absolute days of the month (i.e. the 1st and 15th) 2. Relative day from the end of the month (i.e. -1 for last day, -2 for second-to-last day). Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)", - "id": "SocialGraphApiProtoMonthlyDayRecurrence", - "properties": { - "monthDay": { - "description": "Absolute day of the month (if positive) or relative day from the end of the month (if negative). Example: 2nd and 20th of the month [2, 20]. Example: Last day of the month [-1]. Positive values should correspond to actual calendar day number (indexing starts at 1).", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "useLastDayIfMonthDayPastEnd": { - "description": "If true, month_day beyond the end of month (i.e. month_day=31 in February) will default to the last day of the month.", - "type": "boolean" - } - }, - "type": "object" - }, - "SocialGraphApiProtoMonthlyRecurrence": { - "description": "A MONTHLY recurrence can be one of a MonthlyDayRecurrence or MonthlyWeekdayRecurrence but not both. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)", - "id": "SocialGraphApiProtoMonthlyRecurrence", - "properties": { - "monthlyDayRecurrence": { - "$ref": "SocialGraphApiProtoMonthlyDayRecurrence" - }, - "monthlyWeekdayRecurrence": { - "$ref": "SocialGraphApiProtoMonthlyWeekdayRecurrence" - } - }, - "type": "object" - }, - "SocialGraphApiProtoMonthlyWeekdayRecurrence": { - "description": "Pattern for a MONTHLY recurrence. This Monthly reccurence supports: 1. The nth specific weekday of the month. For example, the 3rd Wednesday of the month. This represents the 3rd instance of a Wednesday of the month, regardless of what weekday the month started on. It does not necessarily mean the Wednesday on the 3rd week of the month. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)", - "id": "SocialGraphApiProtoMonthlyWeekdayRecurrence", - "properties": { - "weekDay": { - "description": "The nth occurrence of week_day to match. I.e. For 3rd Wednesday of the month, week_day = WEDNESDAY and week_day_number = 3. Values beyond the end of the month are skipped.", - "enum": [ - "DAY_OF_WEEK_UNSPECIFIED", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ], - "enumDescriptions": [ - "The day of the week is unspecified.", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday" - ], - "type": "string" - }, - "weekDayNumber": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SocialGraphApiProtoNamePronunciationAudioMetadata": { - "description": "Metadata for a user's name pronunciation audio. Proto message is shared between merged_person and FBS.", - "id": "SocialGraphApiProtoNamePronunciationAudioMetadata", - "properties": { - "audioSource": { - "description": "Stored. Updated on pronunciation creates and updates.", - "enum": [ - "SOURCE_UNSPECIFIED", - "USER_GENERATED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "audioState": { - "description": "Stored.", - "enum": [ - "STATE_UNSPECIFIED", - "ENABLED", - "DISABLED_FOR_NAME_CHANGE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoNotificationTrigger": { - "description": "Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)", - "id": "SocialGraphApiProtoNotificationTrigger", - "properties": { - "daysBeforeActiveDate": { - "description": "Positive number of days before active date. The value 0 will denote a notification on the same day.", - "format": "int32", - "type": "integer" - }, - "notificationTimeOfDay": { - "$ref": "GoogleTypeTimeOfDay", - "description": "Time of day that notification is sent to user. This is local to the user's device." - } - }, - "type": "object" - }, - "SocialGraphApiProtoPartialNameOptions": { - "description": "For general information about Limited Profiles, see go/limited-profiles-api. LINT.IfChange", - "id": "SocialGraphApiProtoPartialNameOptions", - "properties": { - "language": { - "description": "IETF BCP-47 language code that should be used for localizing the name computation (go/bcp-47). If not provided, we'll use the name origin detector to infer it. If unable to detect, \"en\" will be assumed.", - "type": "string" - }, - "parsedDisplayNameSpec": { - "$ref": "SocialGraphApiProtoPartialNameOptionsParsedDisplayNameSpec" - }, - "twoPartNameSpec": { - "$ref": "SocialGraphApiProtoPartialNameOptionsTwoPartNameSpec" - } - }, - "type": "object" - }, - "SocialGraphApiProtoPartialNameOptionsNamePartSpec": { - "description": "Specifies how each piece of the name should be handled. Names are structured into given name and family name and this allows an independent specification for each of these pieces. Very limited preprocessing is done for this option (leading whitespace trimming mostly). Composed names are treated as a single unit and are not broken down.", - "id": "SocialGraphApiProtoPartialNameOptionsNamePartSpec", - "properties": { - "hideAll": { - "description": "Completely omit that part of the name.", - "type": "boolean" - }, - "showAll": { - "description": "Show the complete name. Note that this does not express the same semantics as show_first_n_chars=length_of_name, because when regenerating a shortened name the new name could have more characters, thus yielding a different result.", - "type": "boolean" - }, - "showFirstNChars": { - "description": "Show first `n` characters. Same note about characters referring to \"grapheme_clusters\" applies.", - "format": "int32", - "type": "integer" - }, - "showInitial": { - "description": "Show only the initial, i.e., a single character. Note that \"character\" refers to \"user-perceived\" characters, aka a \"grapheme cluster\". See go/morphology for more details.", - "type": "boolean" - }, - "truncationIndicator": { - "description": "Which truncation indicator to use after the shortened piece of the name. Will be ignored for the `hide_all` or `show_all` options.", - "enum": [ - "TRUNCATION_INDICATOR_UNSPECIFIED", - "ELLIPSIS", - "PERIOD" - ], - "enumDescriptions": [ - "", - "Add an ellipsis after a partial name, e.g., `Joh… Do…`. The actual character(s) that will be used for the ellipsis are locale-aware and will vary according to the provided/inferred language.", - "Add a period after a partial name, e.g. `J. D.`" - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoPartialNameOptionsParsedDisplayNameSpec": { - "description": "These options use more sophisticated logic from a location-aware name detector to parse the full name of a user into structured parts and operate on those parts. For more information on how names are parsed, see the NameOccurrence proto definition: http://google3/quality/peoplesearch/namedetector/detector/proto/name_occurrence.proto?l=50\u0026rcl=334484707 In general, when parsing display names the following rules will apply to *all* specs: - Hyphenated names are broken down: \"Angelina Jollie-Pit\" is pre-processed as \"Angelina Jollie Pitt\"; - Prefixes are ignored: \"Prof. Albus Dumbledore\" is pre-processed as \"Albus Dumbledore\"; - Auxiliaries are ignored: \"Luís de Camões\" is pre-processed as \"Luís Camões\". Next ID: 8", - "id": "SocialGraphApiProtoPartialNameOptionsParsedDisplayNameSpec", - "properties": { - "allInitialsFromParsedName": { - "description": "Extract an initial from each parsed name. For example, \"Niels Henrik David Bohr\" yields \"N. H. D. B.\". Other special cases are treated as follows:", - "type": "boolean" - }, - "firstInitialAndFirstLastName": { - "description": "Show the initial of the very first name and the first last name, e.g. \"Hugo Daniel Hernandez Garcia\" yields \"H. Hernandez\".", - "type": "boolean" - }, - "firstInitialAndVeryLastName": { - "description": "Show the initial of the very first name and the very last name, e.g. \"Ana Maria Silva\" yields \"A. Silva\".", - "type": "boolean" - }, - "knowledgeGraphNameShortening": { - "description": "Shorten the display name using the Knowledge Graph name shortener (go/short-names).", - "type": "boolean" - }, - "truncationIndicator": { - "description": "Which truncation indicator to use after each shortened part of the name. Will be ignored for the `knowledge_graph_name_shortening` option.", - "enum": [ - "TRUNCATION_INDICATOR_UNSPECIFIED", - "ELLIPSIS", - "PERIOD" - ], - "enumDescriptions": [ - "", - "Add an ellipsis after a partial name, e.g., `Joh… Do…`. The actual character(s) that will be used for the ellipsis are locale-aware and will vary according to the provided/inferred language.", - "Add a period after a partial name, e.g. `J. D.`" - ], - "type": "string" - }, - "veryFirstNameAndAllInitials": { - "description": "Show the full very first name and all the other initials, e.g. \"Ana Maria Silva\" yields \"Ana M. S.\".", - "type": "boolean" - }, - "veryFirstNameOnly": { - "description": "Show the very first name only, e.g. \"Ana Maria Silva\" yields \"Ana\".", - "type": "boolean" - } - }, - "type": "object" - }, - "SocialGraphApiProtoPartialNameOptionsTwoPartNameSpec": { - "description": "Holds the name specs for the two parts of a name, as they are structured in storage (given and family).", - "id": "SocialGraphApiProtoPartialNameOptionsTwoPartNameSpec", - "properties": { - "familyNameSpec": { - "$ref": "SocialGraphApiProtoPartialNameOptionsNamePartSpec" - }, - "givenNameSpec": { - "$ref": "SocialGraphApiProtoPartialNameOptionsNamePartSpec" - } - }, - "type": "object" - }, - "SocialGraphApiProtoPhotoOverlay": { - "description": "Settings that control how a photo overlay is displayed.", - "id": "SocialGraphApiProtoPhotoOverlay", - "properties": { - "relativePosition": { - "$ref": "SocialGraphApiProtoRelativePosition", - "description": "Top left position of the overlay relative to the user's avatar." - }, - "relativeScale": { - "$ref": "SocialGraphApiProtoRelativeScale", - "description": "Scale of the overlay relative to the user's avatar." - } - }, - "type": "object" - }, - "SocialGraphApiProtoPrompt": { - "description": "Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)", - "id": "SocialGraphApiProtoPrompt", - "properties": { - "activeState": { - "description": "Indicates if this prompt is active regardless of its reccurrence date, dismiss date or notification triggers. This is required.", - "enum": [ - "UNKNOWN_ACTIVE_STATE", - "ACTIVE", - "DISABLED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "content": { - "$ref": "SocialGraphApiProtoPromptContent" - }, - "lastDismissDate": { - "$ref": "GoogleTypeDate", - "description": "The most recent day the user dismissed this prompt. Empty means the user has never dismissed the prompt." - }, - "notificationTriggers": { - "description": "If this is empty, only the \"Prompt Spark\" will be displayed (in the time-range read from per type config), no push notifications will be shown. If push notification are configured with this field, the \"Prompt Spark\" time-range will be determined by earliest notification value here.", - "items": { - "$ref": "SocialGraphApiProtoNotificationTrigger" - }, - "type": "array" - }, - "purpose": { - "description": "Read-only. This is derived from the containing field value.", - "enum": [ - "UNKNOWN_PURPOSE", - "BIRTHDAY", - "ANNIVERSARY", - "SIGNIFICANT_DATE", - "CONNECTION_FREQUENCY" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "recurrence": { - "$ref": "SocialGraphApiProtoRecurrence", - "description": "How frequently will this prompt occur and how many times." - }, - "uniquePromptId": { - "description": "Prompt ID is generated by server on initial mutate.", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoPromptContent": { - "description": "Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) and in Custard response to client apps that read Prompts.", - "id": "SocialGraphApiProtoPromptContent", - "properties": { - "title": { - "description": "Title of prompt/spark being sent.", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoPronounData": { - "description": "Design doc: go/pronouns-backend Represents a user's preferred pronouns.", - "id": "SocialGraphApiProtoPronounData", - "properties": { - "pronounEntry": { - "items": { - "$ref": "SocialGraphApiProtoPronounEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "SocialGraphApiProtoPronounEntry": { - "id": "SocialGraphApiProtoPronounEntry", - "properties": { - "languageCode": { - "description": "Locale option in which the pronouns were set, in the BCP-47 format. Set by the client at write time.", - "type": "string" - }, - "pronounType": { - "description": "The pronoun entry type that the user has selected. This indicates which locale-independent classification of pronoun was selected (or optionally, if it is a custom field).", - "enum": [ - "UNKNOWN", - "CUSTOM", - "FEMININE", - "MASCULINE", - "NEUTRAL" - ], - "enumDescriptions": [ - "Unknown pronoun type", - "User has defined their own pronouns using custom field entry, available in the \"value\" field.", - "go/keep-sorted start User has selected a feminine pronoun (she/her in English)", - "User has selected a masculine pronoun (he/him in English)", - "User has selected a neutral pronoun (they/them in English) go/keep-sorted end" - ], - "type": "string" - }, - "value": { - "description": "The user's preferred pronouns. Eg. \"they / them\". This is a human-readable string to be displayed as the user's pronoun. Set at write-time, regardless of pronoun-type. Value is returned as it was set (no localization).", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoPronunciation": { - "description": "Stores the pronunciation as phoneme for the given word/text. Next ID: 8", - "id": "SocialGraphApiProtoPronunciation", - "properties": { - "learningSessionId": { - "description": "All pronunciations with the same learning_session_id were learnt in the same learning flow, e.g. multiple name segments learnt simultaneously from a recording in the Your People UI.", - "type": "string" - }, - "learningSource": { - "enum": [ - "LEARNING_SOURCE_UNKNOWN", - "EXPLICIT_YOUR_PEOPLE_UI", - "INFERRED_COMMS_DIALOG" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "locale": { - "description": "The locale used when learning the pronunciation. BCP-47 language code, e.g. \"en-US\".", - "type": "string" - }, - "phonemes": { - "description": "Phoneme sequence representing how the user pronounces |token|. Format is specified by the phonology_type type field, e.g. go/psampa is the preferred phonology type used by the TTS team.", - "type": "string" - }, - "phonologyType": { - "enum": [ - "PHONOLOGY_TYPE_UNKNOWN", - "PSAMPA" - ], - "enumDescriptions": [ - "", - "Used in PronBuffet. Preferred phonology type to pass to TTS." - ], - "type": "string" - }, - "spellingHint": { - "description": "An optional user-specified spelling of this token, to improve pronunciation learning success rate. E.g. the token may be \"Jana\" and the spelling hint \"jah-nah\".", - "type": "string" - }, - "token": { - "description": "Corresponds to a word segment of the contact name. E.g. for a contact with given name \"John Doe\", last name \"Smith\" and nickname \"Best Dad\", |token| can be any of {John, Doe, Smith, Best, Dad}.", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoPronunciations": { - "description": "Container proto for repeated pronunciation objects. For example, a set of pronunciations that can be added to a single name field.", - "id": "SocialGraphApiProtoPronunciations", - "properties": { - "pronunciation": { - "items": { - "$ref": "SocialGraphApiProtoPronunciation" - }, - "type": "array" - } - }, - "type": "object" - }, - "SocialGraphApiProtoRecurrence": { - "description": "Flexible Recurrence proto to be used with People Prompts. Examples: Single recurrence that occurs on a specific date: single_recurrence { date { year: 2022 month: 11 day: 17 } } Yearly recurrence such as a birthday or anniversary: yearly_recurrence { monthly_pattern { monthly_day_recurrence { month_day: 17 } } months: JULY } Weekly reccurrence such as: every two weeks on Monday: every: 2 weekly_recurrence { week_day: MONDAY } Monthly recurrence such as: third Thursday of every month: monthly_recurrence { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 3 } } Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService) The canonical recurrence validation function is located here: http://google3/java/com/google/social/people/prompts/util/PromptValidators.java?q=func:%5CbvalidateRecurrence%5Cb", - "id": "SocialGraphApiProtoRecurrence", - "properties": { - "dailyRecurrence": { - "$ref": "SocialGraphApiProtoDailyRecurrence" - }, - "every": { - "description": "Multiplier on the frequency of the recurrence. Use this to specify patterns that recur every X days, months, years, etc. Must be a positive int. Example: [remind me to call mom every 2nd week]. If this field isn't set, it will default to 1 (every day,every week, etc). This field is ignored when recurrence_data is a SingleRecurrence. Optional.", - "format": "int32", - "type": "integer" - }, - "monthlyRecurrence": { - "$ref": "SocialGraphApiProtoMonthlyRecurrence" - }, - "recurrenceEndDate": { - "$ref": "GoogleTypeDateTime", - "description": "Ends at abstract DateTime. (inclusive)" - }, - "recurrenceStart": { - "$ref": "GoogleTypeDateTime", - "description": "The start of the recurrence can be represented as a DateTime. This field is ignored when recurrence_data is a SingleRecurrence." - }, - "repeatCount": { - "description": "Will repeat only a finite number of times. This is the original number of times the recurrence will repeat and not how many times are left for it to repeat. This end type is not currently supported.", - "format": "int32", - "type": "integer" - }, - "repeatForever": { - "$ref": "SocialGraphApiProtoRecurrenceRepeatForever", - "description": "Will continue to repeat until prompt is deleted." - }, - "singleRecurrence": { - "$ref": "SocialGraphApiProtoSingleRecurrence" - }, - "weeklyRecurrence": { - "$ref": "SocialGraphApiProtoWeeklyRecurrence" - }, - "yearlyRecurrence": { - "$ref": "SocialGraphApiProtoYearlyRecurrence" - } - }, - "type": "object" - }, - "SocialGraphApiProtoRecurrenceRepeatForever": { - "description": "An internal message to signal that this recurrence has no end date.", - "id": "SocialGraphApiProtoRecurrenceRepeatForever", - "properties": {}, - "type": "object" - }, - "SocialGraphApiProtoRelativePosition": { - "description": "Position relative to the user's avatar. 0 = top/left, 1 = bottom/right.", - "id": "SocialGraphApiProtoRelativePosition", - "properties": { - "x": { - "format": "float", - "type": "number" - }, - "y": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "SocialGraphApiProtoRelativeScale": { - "description": "Scale relative to the user's avatar. x and y range from 0 (exclusive) to 1 (inclusive).", - "id": "SocialGraphApiProtoRelativeScale", - "properties": { - "x": { - "format": "float", - "type": "number" - }, - "y": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "SocialGraphApiProtoSearchProfileData": { - "description": "Data contained in every search profile. go/janata-profile-in-sgbe.", - "id": "SocialGraphApiProtoSearchProfileData", - "properties": { - "description": { - "description": "A free-text summary that the user inputs. E.g. \"Coder by day, jazz guitarist by night.\"", - "type": "string" - }, - "education": { - "items": { - "$ref": "SocialGraphApiProtoSearchProfileEducation" - }, - "type": "array" - }, - "interest": { - "items": { - "$ref": "SocialGraphApiProtoSearchProfileEntity" - }, - "type": "array" - }, - "language": { - "description": "Indicates the language of this search profile. Use ISO-639 2-letter language code to specifying the language that this profile is created in.", - "type": "string" - }, - "location": { - "items": { - "$ref": "SocialGraphApiProtoSearchProfileLocation" - }, - "type": "array" - }, - "metadata": { - "$ref": "SocialGraphApiProtoSearchProfileMetadata" - }, - "occupation": { - "items": { - "$ref": "SocialGraphApiProtoSearchProfileEntity" - }, - "type": "array" - }, - "publicEmail": { - "description": "This is the email that the user has chosen to display on their \"SearchCard\" publicly.", - "items": { - "type": "string" - }, - "type": "array" - }, - "publicPhoneNumber": { - "description": "This is the phone number that the user has chosen to display on their \"SearchCard\" publicly.", - "items": { - "type": "string" - }, - "type": "array" - }, - "socialLink": { - "items": { - "$ref": "SocialGraphApiProtoSearchProfileSocialLink" - }, - "type": "array" - }, - "website": { - "items": { - "type": "string" - }, - "type": "array" - }, - "workplace": { - "items": { - "$ref": "SocialGraphApiProtoSearchProfileWorkplace" - }, - "type": "array" - } - }, - "type": "object" - }, - "SocialGraphApiProtoSearchProfileEducation": { - "description": "Wraps information about a user's eductational background.", - "id": "SocialGraphApiProtoSearchProfileEducation", - "properties": { - "endTime": { - "$ref": "GoogleTypeDate" - }, - "fieldOfStudy": { - "items": { - "$ref": "SocialGraphApiProtoSearchProfileEntity" - }, - "type": "array" - }, - "institution": { - "$ref": "SocialGraphApiProtoSearchProfileEntity" - }, - "startTime": { - "$ref": "GoogleTypeDate" - } - }, - "type": "object" - }, - "SocialGraphApiProtoSearchProfileEntity": { - "description": "This proto represents either a KG-entity, as represented by it's MID, or free-string text.", - "id": "SocialGraphApiProtoSearchProfileEntity", - "properties": { - "countryCode": { - "description": "Corresponding country code. Refer to go/people-search-dashboard for code list.", - "type": "string" - }, - "entity": { - "description": "Corresponding mid in KG.", - "type": "string" - }, - "name": { - "description": "Custom name of entity if there is no corresponding place/entity in KG (mid)", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "SocialGraphApiProtoSearchProfileLocation": { - "description": "Wraps information about a user's location, if they have chosen to share it on their SearchCard.", - "id": "SocialGraphApiProtoSearchProfileLocation", - "properties": { - "endTime": { - "$ref": "GoogleTypeDate" - }, - "lengthOfStay": { - "format": "google-duration", - "type": "string" - }, - "place": { - "$ref": "SocialGraphApiProtoSearchProfileEntity" - }, - "point": { - "$ref": "SocialGraphApiProtoSearchProfileLocationInfo" - }, - "startTime": { - "$ref": "GoogleTypeDate" - }, - "type": { - "enum": [ - "LOCATION_TYPE_UNKNOWN", - "HOMETOWN", - "CURRENT", - "PAST" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoSearchProfileLocationInfo": { - "id": "SocialGraphApiProtoSearchProfileLocationInfo", - "properties": { - "lat": { - "description": "Degrees [-90 .. 90]", - "format": "double", - "type": "number" - }, - "lon": { - "description": "Degrees [-180 .. 180]", - "format": "double", - "type": "number" - }, - "radius": { - "description": "Meters", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "SocialGraphApiProtoSearchProfileMetadata": { - "description": "This proto represents metadata of the users SearchProfile like profile state, GOG account id etc.,", - "id": "SocialGraphApiProtoSearchProfileMetadata", - "properties": { - "accountId": { - "description": "Unique contributor account id allocated by presence/janata infrastructure. This will be used in the frontend for various actions like reporting errors, photo uploads etc., go/boba-janata, go/cleanup-contributor-creation", - "type": "string" - }, - "accountMid": { - "description": "Account KG entity mid assigned to this user required by old janata serving stack. This is not required anymore for serving. But might need it for historical purposes. See https://hume.google.com/edit/g/11gg6cyvch for more details.", - "type": "string" - }, - "aresId": { - "description": "Ares id used for tracking the auto moderation.", - "type": "string" - }, - "state": { - "description": "Current state of the Search Profile.", - "items": { - "$ref": "SocialGraphApiProtoSearchProfileState" - }, - "type": "array" - } - }, - "type": "object" - }, - "SocialGraphApiProtoSearchProfileSocialLink": { - "description": "Wraps social profile information about the user.", - "id": "SocialGraphApiProtoSearchProfileSocialLink", - "properties": { - "link": { - "type": "string" - }, - "type": { - "enum": [ - "SOCIAL_LINK_TYPE_UNKNOWN", - "FACEBOOK", - "INSTAGRAM", - "LINKEDIN", - "PINTERIST", - "SOUNDCLOUD", - "TWITTER", - "YOUTUBE", - "PINTEREST", - "JUMPROPE", - "TIKTOK", - "WORDPRESS", - "FIREWORK", - "SNAPCHAT" - ], - "enumDeprecated": [ - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "DEPRECATED(b/158738685): Misspelling, use PINTEREST below instead.", - "", - "", - "", - "", - "go/3rd-profile-sgbe-cc-sync", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoSearchProfileState": { - "id": "SocialGraphApiProtoSearchProfileState", - "properties": { - "changeTimestamp": { - "description": "Timestamp of when the state was changed.", - "format": "google-datetime", - "type": "string" - }, - "displayTimestamp": { - "description": "This will be used to display status to the user at a set time. If set to a value after `change_timestamp`, the change will not be 'reflected' until this time.", - "format": "google-datetime", - "type": "string" - }, - "type": { - "description": "State that the UserProfile was changed to.", - "enum": [ - "UNKNOWN_PROFILE_STATE", - "STATE_DRAFT", - "STATE_FAILED_PHONE_VERIFICATION", - "STATE_FAILED_ID_VERIFICATION", - "STATE_FAILED_CONTENT_VERIFICATION", - "STATE_NEEDS_MANUAL_REVIEW", - "STATE_PUBLIC", - "STATE_DELETED", - "STATE_CONTENT_VERIFICATION_REQUIRED", - "STATE_REJECTED_FOR_IMPERSONATION", - "STATE_REQUIRES_ID_VERIFICATION" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoSearchProfileWorkplace": { - "description": "Wraps information about a user working at a specific place.", - "id": "SocialGraphApiProtoSearchProfileWorkplace", - "properties": { - "company": { - "$ref": "SocialGraphApiProtoSearchProfileEntity" - }, - "endTime": { - "$ref": "GoogleTypeDate" - }, - "startTime": { - "$ref": "GoogleTypeDate" - } - }, - "type": "object" - }, - "SocialGraphApiProtoSingleRecurrence": { - "description": "This prompt will occur one time only. Could be a single event such as a graduation or a single connection reminder e.g. remind me to call X on 2022/03/19. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)", - "id": "SocialGraphApiProtoSingleRecurrence", - "properties": { - "date": { - "$ref": "GoogleTypeDate" - } - }, - "type": "object" - }, - "SocialGraphApiProtoSyncInfo": { - "description": "LINT.IfChange", - "id": "SocialGraphApiProtoSyncInfo", - "properties": { - "sourceId": { - "description": "CP2 sourceid column.", - "type": "string" - }, - "sync1": { - "description": "CP2 sync1 column.", - "type": "string" - }, - "sync2": { - "description": "CP2 sync2 column.", - "type": "string" - }, - "sync3": { - "description": "CP2 sync3 column.", - "type": "string" - }, - "sync4": { - "description": "CP2 sync4 column.", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoThirdPartyInfo": { - "id": "SocialGraphApiProtoThirdPartyInfo", - "properties": { - "clientName": { - "deprecated": true, - "description": "Not to be used. We have since moved to a lookup string at read time approach as opposed to storing data at write time. b/146072927", - "type": "string" - }, - "projectNumber": { - "description": "Project number of the third party application performing the delete to be looked up via ClientAuthConfig during display time for users to know the current name of an application which has deleted contact data.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoUsageInfo": { - "description": "Usage information. This is currently used for device contacts. Next ID: 3", - "id": "SocialGraphApiProtoUsageInfo", - "properties": { - "lastTimeContacted": { - "description": "Last time a contact was contacted.", - "format": "google-datetime", - "type": "string" - }, - "timesContacted": { - "description": "Number of times a contact was contacted.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphApiProtoWeeklyRecurrence": { - "description": "Pattern for a WEEKLY recurrence. You must specify at least one week_day. Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)", - "id": "SocialGraphApiProtoWeeklyRecurrence", - "properties": { - "weekDay": { - "description": "Set of weekdays the recurrence applies to.", - "items": { - "enum": [ - "DAY_OF_WEEK_UNSPECIFIED", - "MONDAY", - "TUESDAY", - "WEDNESDAY", - "THURSDAY", - "FRIDAY", - "SATURDAY", - "SUNDAY" - ], - "enumDescriptions": [ - "The day of the week is unspecified.", - "Monday", - "Tuesday", - "Wednesday", - "Thursday", - "Friday", - "Saturday", - "Sunday" - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "SocialGraphApiProtoYearlyRecurrence": { - "description": "Pattern for a YEARLY recurrence. A YEARLY recurrence is specified using a monthly pattern and a set of months the pattern applies to. Some examples: \"Every January 16\" : monthly_pattern { monthly_day_recurrence { month_day: 16 } } months: JANUARY \"Fourth Thursday of November and December\" : monthly_pattern { monthly_weekday_recurrence { week_day: THURSDAY week_day_number: 4 } } months: NOVEMBER months: DECEMBER Used in PeopleAPI layers + FBS/ContactsService (not in ProfileService)", - "id": "SocialGraphApiProtoYearlyRecurrence", - "properties": { - "monthlyPattern": { - "$ref": "SocialGraphApiProtoMonthlyRecurrence", - "description": "The monthly pattern to recur." - }, - "months": { - "description": "The months of the year to apply the pattern.", - "items": { - "enum": [ - "MONTH_UNSPECIFIED", - "JANUARY", - "FEBRUARY", - "MARCH", - "APRIL", - "MAY", - "JUNE", - "JULY", - "AUGUST", - "SEPTEMBER", - "OCTOBER", - "NOVEMBER", - "DECEMBER" - ], - "enumDescriptions": [ - "The unspecified month.", - "The month of January.", - "The month of February.", - "The month of March.", - "The month of April.", - "The month of May.", - "The month of June.", - "The month of July.", - "The month of August.", - "The month of September.", - "The month of October.", - "The month of November.", - "The month of December." - ], - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "SocialGraphWireProtoPeopleapiAffinityMetadata": { - "description": "Extra ranking info returned with affinity data. This info is returned by DAS and passed to PAPI clients (Yenta), where it is used for ranking and filtering device and server suggestions together.", - "id": "SocialGraphWireProtoPeopleapiAffinityMetadata", - "properties": { - "clientInteractionInfo": { - "$ref": "SocialGraphWireProtoPeopleapiAffinityMetadataClientInteractionInfo", - "description": "Information regarding client interactions." - }, - "cloudDeviceDataInfo": { - "$ref": "SocialGraphWireProtoPeopleapiAffinityMetadataCloudDeviceDataInfo", - "description": "Device information about the candidate available in the cloud." - }, - "cloudScore": { - "description": "Affinity score for the cloud contact.", - "format": "double", - "type": "number" - }, - "suggestionConfidence": { - "description": "Indicator of the confidence in suggestion relevance.", - "enum": [ - "CONFIDENCE_UNSPECIFIED", - "CONFIDENCE_LOW", - "CONFIDENCE_MEDIUM", - "CONFIDENCE_HIGH" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphWireProtoPeopleapiAffinityMetadataClientInteractionInfo": { - "id": "SocialGraphWireProtoPeopleapiAffinityMetadataClientInteractionInfo", - "properties": { - "isDirectClientInteraction": { - "description": "Whether this suggestion is an edge directly from the client. E.g., a suggestion with which the user shared a photo on photos app.", - "type": "boolean" - } - }, - "type": "object" - }, - "SocialGraphWireProtoPeopleapiAffinityMetadataCloudDeviceDataInfo": { - "id": "SocialGraphWireProtoPeopleapiAffinityMetadataCloudDeviceDataInfo", - "properties": { - "deviceScore": { - "description": "The partial affinity score only counting device features.", - "format": "double", - "type": "number" - }, - "isDeviceDataKnown": { - "description": "Whether device data about this candidate were available in the cloud.", - "type": "boolean" - } - }, - "type": "object" - }, - "SocialGraphWireProtoPeopleapiExtensionAppsWaldoExtendedData": { - "description": "Waldo-related extension data.", - "id": "SocialGraphWireProtoPeopleapiExtensionAppsWaldoExtendedData", - "properties": { - "availabilities": { - "$ref": "GoogleInternalAppsWaldoV1alphaUserAvailabilities" - } - }, - "type": "object" - }, - "SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedData": { - "description": "Dynamite-related extension data.", - "id": "SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedData", - "properties": { - "avatarUrl": { - "description": "Avatar image URL for a Google Group, based on the member count.", - "type": "string" - }, - "description": { - "description": "Short description of this bot. Only set if EntityType == BOT.", - "type": "string" - }, - "developerName": { - "description": "Display name of bot developer. Only set if EntityType == BOT.", - "type": "string" - }, - "dndState": { - "enum": [ - "UNKNOWN_DND_STATE", - "AVAILABLE", - "DND" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "entityType": { - "enum": [ - "UNKNOWN_ENTITY_TYPE", - "PERSON", - "GOOGLE_GROUP", - "BOT" - ], - "enumDescriptions": [ - "", - "Regular user.", - "Google Group.", - "Dynamite bot." - ], - "type": "string" - }, - "isMembershipVisibleToCaller": { - "description": "Whether caller has visibility into the direct members of the roster. NEXT TAG: 11", - "type": "boolean" - }, - "memberCount": { - "deprecated": true, - "description": "DEPRECATED: use segmented_membership_counts instead. Number of members (direct or indirect) in a Google Group. Only an estimate for large groups (currently \u003e 1K direct / indirect members).", - "format": "int64", - "type": "string" - }, - "organizationInfo": { - "$ref": "AppsDynamiteSharedOrganizationInfo" - }, - "presence": { - "enum": [ - "UNDEFINED_PRESENCE", - "ACTIVE", - "INACTIVE", - "UNKNOWN", - "SHARING_DISABLED" - ], - "enumDescriptions": [ - "", - "", - "", - "Not a Dynamite user, or if the user has been invited but never logged into Dynamite ever before.", - "The user has disabled presence sharing. This is currently only possible via the Classic setting to disable sharing your last active time (see external docs here: https://support.google.com/hangouts/answer/6083257?hl=en)." - ], - "type": "string" - }, - "segmentedMembershipCounts": { - "$ref": "AppsDynamiteSharedSegmentedMembershipCounts", - "description": "Represents the direct membership counts of a Google Group. May contain counts based on member type and membership state." - } - }, - "type": "object" - }, - "SocialGraphWireProtoPeopleapiExtensionPaisaExtendedData": { - "description": "Next tag number: 3", - "id": "SocialGraphWireProtoPeopleapiExtensionPaisaExtendedData", - "properties": { - "actorId": { - "description": "Actor ID of the person, if available (if the person has used the Paisa app).", - "type": "string" - }, - "subtitle": { - "description": "Display subtitle, which may be used in suggestion/autocompletion results. Generally, this will be the Actor's registered Paisa phone number, in unmasked or masked form (e.g. +1 ***-***-1234) depending on visibility rules.", - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphWireProtoPeopleapiExtensionPeopleStackExtendedData": { - "deprecated": true, - "id": "SocialGraphWireProtoPeopleapiExtensionPeopleStackExtendedData", - "properties": { - "familyStatus": { - "description": "Whether the person is in the same family as the requesting user. Family here refers to https://families.google.com/families. This information is read from SuperGlue, and can be consumed by clients, e.g. Assistant and Photos. If this field is not set, the person is not in the user's family.", - "enum": [ - "FAMILY_STATUS_UNSPECIFIED", - "FAMILY_MEMBER" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "hiddenKeys": { - "description": "The full list of hidden keys associated with this person. These are the external equivalent to the keys stored by the ConnectionLabelService, and they can be passed to the MutateConnectionLabel endpoint to unhide this person. This field will only be set if hide_type is HIDDEN.", - "items": { - "$ref": "SocialDiscoveryExternalEntityKey" - }, - "type": "array" - }, - "hideType": { - "description": "If this field is not set, the person is visible (implicit).", - "enum": [ - "HIDE_TYPE_UNSPECIFIED", - "HIDDEN" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialGraphWireProtoPeopleapiExtensionPeopleStackPersonExtendedData": { - "description": "NEXT_ID: 6", - "id": "SocialGraphWireProtoPeopleapiExtensionPeopleStackPersonExtendedData", - "properties": { - "birthdayStatus": { - "description": "Whether the person has birthday field populated.", - "enum": [ - "BIRTHDAY_STATUS_UNSPECIFIED", - "HAS_BIRTHDAY" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "familyStatus": { - "description": "Whether the person is in the same family as the requesting user. Family here refers to https://families.google.com/families. This information is read from SuperGlue, and can be consumed by clients, e.g. Assistant and Photos. If this field is not set, the person is not in the user's family.", - "enum": [ - "FAMILY_STATUS_UNSPECIFIED", - "FAMILY_MEMBER" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "hiddenKeys": { - "description": "The full list of hidden keys associated with this person. These are the external equivalent to the keys stored by the ConnectionLabelService, and they can be passed to the MutateConnectionLabel endpoint to unhide this person. This field will only be set if hide_type is HIDDEN.", - "items": { - "$ref": "SocialDiscoveryExternalEntityKey" - }, - "type": "array" - }, - "hideType": { - "description": "If this field is not set, the person is visible (implicit).", - "enum": [ - "HIDE_TYPE_UNSPECIFIED", - "HIDDEN" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "suggestionConfidence": { - "enum": [ - "CONFIDENCE_UNSPECIFIED", - "CONFIDENCE_LOW", - "CONFIDENCE_MEDIUM", - "CONFIDENCE_HIGH" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialPersonalizationKnexAnnotation": { - "id": "SocialPersonalizationKnexAnnotation", - "properties": { - "item": { - "items": { - "$ref": "SocialPersonalizationKnexAnnotationItem" - }, - "type": "array" - } - }, - "type": "object" - }, - "SocialPersonalizationKnexAnnotationItem": { - "description": "Next Tag: 8", - "id": "SocialPersonalizationKnexAnnotationItem", - "properties": { - "confidence": { - "format": "float", - "type": "number" - }, - "description": { - "description": "Description of the item for debugging. Note that this field is populated only in a few select places.", - "type": "string" - }, - "equivalentMid": { - "description": "If this field exists, then there exists a commonly used MID (typically a public MID, i.e., one in /m/) that approximates the meaning for this particular k'nex topic. For example, the value of this field for k'nex topic Tennis (/t/236) is /m/07bs0. The difference between k'nex /m/07bs0 and webref /m/07bs0 is as follows. If a content is annotated with webref /m/07bs0, then the content has to explicitly mention \"Tennis\" in some way, whereas if a content is annotated with k'nex /m/07bs0, then the content simply needs to talk about stuff related to tennis. Note that this field is not populated for all queries. For example, the compound concept \"Tennis in California\" does not have an associated mid. This field is intended to help external clients transit to k'nex.", - "format": "uint64", - "type": "string" - }, - "generality": { - "description": "A score that measures how broad / narrow a topic is, independent of the document and/or user profile. This is an experimental score and is not populated by default. Currently, it is in the range of [0, 1], where the higher the score is, the more general a topic is. Please talk to sherlock-dev@ before using this score. Populated when debug_level \u003e 0.", - "format": "float", - "type": "number" - }, - "mid": { - "description": "This is an MID in the /t/ namespace. We will migrate them to /g/ in Q3'15.", - "format": "uint64", - "type": "string" - }, - "relatedEntity": { - "items": { - "$ref": "SocialPersonalizationKnexAnnotationItemTopic" - }, - "type": "array" - }, - "topicality": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "SocialPersonalizationKnexAnnotationItemTopic": { - "id": "SocialPersonalizationKnexAnnotationItemTopic", - "properties": { - "mid": { - "format": "uint64", - "type": "string" - }, - "score": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "SocialStanzaDeliveryRestriction": { - "description": "Restrictions that affect the delivery of the stanza. By default, Stanzas are publishable, which means that they are eligible for indexing, aggregation, and other delivery options (Goops, Moonshine, notifications). A stanza can be created in a \"do not publish\" state; the stanza will not be published anywhere. The restriction can subsequently be removed with an UpdateStanza call, at which point the post will be treated as if it were newly created. A few notes/limitations about this option: 1. Client should keep a stanza unpublishable for a small period of time (if possible to) so that our ranking system does not consider this as a stale post (thus downranking the post). 2. Client should keep the number of unpublishable stanzas to a minimum, to reduce under-serving. 3. Updating a stanza from publishable to unpublishable after creation is not supported 4. At this time, publishing options are only supported on root stanzas; let us know if you require this for child stanzas. 5. Similarly, this is only supported as a global restriction. It may not be set as a per-destination-stream restriction.", - "id": "SocialStanzaDeliveryRestriction", - "properties": { - "doNotPublish": { - "type": "boolean" - } - }, - "type": "object" - }, - "SocialStanzaModerationInfo": { - "description": "ModerationInfo stores the information of moderation for a stanza in a specific destination stream. Including who moderated and why.", - "id": "SocialStanzaModerationInfo", - "properties": { - "moderationReason": { - "description": "The reason why this stanza was moderated provided by client.", - "type": "string" - }, - "moderator": { - "$ref": "SecurityCredentialsPrincipalProto" - }, - "moderatorType": { - "description": "Type of moderation. Semantically REQUIRED, http://go/required At write time, only ModeratorType.AUTO_MODERATOR is allowed. For all other cases, this information is inferred from the request at write time.", - "enum": [ - "MODERATOR_TYPE_UNKNOWN", - "SYSTEM", - "MODERATOR", - "SYSTEM_BADWORD_BLACKLIST", - "AUTO_MODERATOR" - ], - "enumDescriptions": [ - "", - "Moderated by system - premod channel, preapproved/banned users etc.", - "Moderated by the Channel moderator.", - "Moderated by system - didn't pass bad words filtering.", - "Automatic moderation triggered on behalf of the moderator" - ], - "type": "string" - } - }, - "type": "object" - }, - "SocialStanzaStanzaRestriction": { - "description": "Contains various restriction information about a stanza, derived from properties of the stanza, the viewer and the creator. Restrictions stored in this message are not related to direct/indirect relationship between the viewer and the creator of stanza. Some examples are: - Abusive - Legal - Racy - Content not suitable for age - Porn - Blocked by country/geo of viewer. - Restricted by stanza creator (not the user specific block). - etc... Please see go/stanza-abuse-flow for more details.", - "id": "SocialStanzaStanzaRestriction", - "properties": { - "abuseTypes": { - "description": "The abuses.", - "items": { - "$ref": "AbuseiamAbuseType" - }, - "type": "array" - }, - "appealState": { - "description": "The appeal state.", - "enum": [ - "UNKNOWN_APPEAL_STATE", - "APPEALED", - "APPEAL_REJECTED", - "APPEAL_APPROVED" - ], - "enumDescriptions": [ - "Unknown appeal state.", - "The user has appealed and is waiting for review.", - "The user appeal has been rejected by G+ admin.", - "The user appeal has been approved by G+ admin." - ], - "type": "string" - }, - "contentRestriction": { - "$ref": "AbuseiamContentRestriction", - "description": "Field to explain various restrictions of the Stanza. Some examples of restrictions are: - Not permitted because of legal restrictions of geography/country of viewer or creator. - Content not suitable for current viewer i.e. porn, abusive, racy. - Creator restricted the content to an age group. - etc..." - }, - "deleteReason": { - "description": "Delete reasons. This is a repeated field because an stanza can be deleted multiple times due to different reasons such as user_delete, admin_delete.", - "items": { - "enum": [ - "UNKNOWN_DELETE_REASON", - "USER_ACCOUNT_DELETE", - "OWNER_DELETE", - "SPAM_ADMIN_DELETE", - "SPAM_ADMIN_DELETE_CHILD_PORN", - "SYSTEM_DELETE", - "USER_ACCOUNT_DISABLE", - "DESTINATION_STREAM_OWNER_DELETE", - "SBE_ADMIN_TAKEDOWN", - "CLIENT_ADMIN_TAKEDOWN", - "SPAM_ADMIN_SUSPEND", - "ANCESTOR_DELETE", - "USER_PRODUCT_DOWNGRADE", - "USER_PRODUCT_SUSPENDED", - "ENTITY_STATE_CHANGE", - "ENTITY_ADMIN_DELETED", - "ENTITY_DELETED_DUE_TO_CLASSIFICATION", - "ENTITY_PURGED", - "USER_UNDERAGE", - "YOUTUBE_CHANNEL_HIDDEN", - "YOUTUBE_SERVICE_REMOVED", - "YOUTUBE_LIGHTWEIGHT_DELETED", - "YOUTUBE_LIGHTWEIGHT_HIDDEN" - ], - "enumDescriptions": [ - "", - "Deletion due to users deleting or downgrading their account. May not be a permanent delete. Maps to Reason.USER_ACCOUNT_DELETE. This is not supported when DeleteOperation type is UNDO_DELETE.", - "Deletion due to stanza owners deleting their stanzas. Maps to Reason.ACTIVITY_OWNER_DELETE, Reason.USER_DELETE", - "Deletion due to AIA DELETE verdicts on abusive stanzas. Maps to Reason.ACTIVITY_OWNER_MARKED_COMMENT_SPAM, Reason.ACTIVITY_SPAM_ADMIN_DELETE, Reason.COMMENT_SPAM_ADMIN_DELETE, Reason.SQUARE_ADMIN_MARKED_COMMENT_SPAM This is not supported when DeleteOperation type is UNDO_DELETE.", - "Deletion due to AIA DELETE verdicts on items categorized as child porn. A separate delete reason is needed for this due to the extra sensitive content, for which extra care must be taken when requested. Maps to Reason.CHILD_PORN This is not supported when DeleteOperation type is UNDO_DELETE.", - "Deletion from an offline job. The precise reason is not reflected here Maps to Reason.SYSTEM_DELETE. May only be sent in deletion (or undeletion) requests that include a SuperDAT with the \"stanza.delete\" permission. (See go/sbe-policies#authority-selector-policies for more information.)", - "Deletion due to users account being disabled, likely by system for abuse. User can still access their own content. Maps to Reason.GAIA_DISABLE_USER", - "Deletion due to destination stream owner of the stanza destination stream deleting the stanza (go/delete_stream).", - "Deleting due to emergency take down to mitigate production breakage. This can only be used as big red button under emergency, please read and follow the procedure in go/sbe-brb before using.", - "Used by clients to allow non-owner admins to take down stanzas. Not purgeable and stanza remains visible to owner. Maps to Reason.CLIENT_ADMIN_TAKEDOWN.", - "Deletion due to SUSPEND verdicts on abusive stanzas. Stanza will be purged after 120 days. Maps to Reason.SPAM_ADMIN_SUSPEND This is not supported when DeleteOperation type is UNDO_DELETE.", - "Deletion due to ancestor owner deleting a child. This operation can be undone within 30 days. Maps to Reason.ACTIVITY_OWNER_MARKED_COMMENT_SPAM.", - "Deleted because the user is no longer registered for the product/service. Maps to Reason.USER_SERVICE_DOWNGRADE", - "Deleted because the user is suspended for the product/service. Maps to Reason.USER_SERVICE_SUSPENDED. See go/gaia/serviceid#service-flag", - "Deletions due to the state of the entity. For example, private YT video is not allowed to have stanzas. Maps to Reason.ENTITY_STATE_CHANGE", - "Deletions due to the entity that the stanza is attached is soft deleted by actions carried out internally. For example, YT video is not allowed to have stanzas if it has flag marked comments_disabled_internally.", - "Deletion due to automatic classification of the associated client entity. For example, YT video is not allowed to have stanzas if it is marked as crosswalk (i.e video is classified as kids friendly and thus comments are disabled).", - "Deleted because some upstream process has purged the entity that this stanza is attached to. For example, if YT purges a video or channel from their system, and thus the stanza should be marked for deletion. Semantically this delete reason should have a short retention period if it is used, because presumably the upstream process expects the entity is gone.", - "Deleted because the user was underage. This is typically used to delete stanzas for underage users that were converted to Griffin (supervised).", - "Deleted because the YouTube user has hidden their channel. This reason may only be used by channel hide flow.", - "Deleted because the YouTube user has gone through service removal. This reason may only be used by service removal flow.", - "Deleted because the YouTube user's account was converted to Lightweight and should be considered deleted. This currently includes lightweight conversion through Escape Hatch or during channel transfer. This operation is not reversible and data is purged after 30 days.", - "Deleted because the YouTube user's account was converted to Lightweight and should be considered hidden. This currently includes Griffin U13 conversions. This operation is reversible and data is retained for 7 years since the user can restore their account after graduation from Griffin." - ], - "type": "string" - }, - "type": "array" - }, - "deliveryRestriction": { - "$ref": "SocialStanzaDeliveryRestriction", - "description": "Delivery restrictions, if present." - }, - "destinationStream": { - "$ref": "AppsPeopleActivityBackendDestinationStream" - }, - "moderationInfo": { - "$ref": "SocialStanzaModerationInfo", - "description": "The moderation info. At write time, this field is only allowed to be set when moderator_type is AUTO_MODERATOR. For other moderator types, moderation_reason is the only field that can be set by clients." - }, - "moderationState": { - "description": "The moderation state.", - "enum": [ - "UNKNOWN_MODERATION_STATE", - "NEW", - "APPROVED", - "REJECTED", - "HOLD" - ], - "enumDescriptions": [ - "Unknown moderation state.", - "Default state for a new message which has not been otherwise tagged. Such content will be displayed (in the associated destination stream) unless marked as abusive.", - "Explicitly approved for display by the owner/moderator. Such content will be displayed (in the associated destination stream) even if marked as abusive, and should therefore only be used when such abuse states should be overridden.", - "Explicitly rejected for display by the owner/moderator. Such content will be displayed to no one in the associated destination stream except the content's author.", - "Held for the owner/moderator for review. Such content will be displayed (in the default stream view) only to its author." - ], - "type": "string" - } - }, - "type": "object" - }, - "SpamBrainData": { - "description": "This holds SpamBrain values which are populated in docjoins. The data is populated at sitechunked host level and sitechunked domain level in the doc_attachments, and saved in Perdocdata in respective fields.", - "id": "SpamBrainData", - "properties": { - "site": { - "description": "Sitechunker site granularity for this result", - "type": "string" - }, - "versionedData": { - "description": "Versioned scores of SB classifiers", - "items": { - "$ref": "SpamBrainScore" - }, - "type": "array" - } - }, - "type": "object" - }, - "SpamBrainScore": { - "id": "SpamBrainScore", - "properties": { - "modelName": { - "enum": [ - "UNDEFINED", - "MAIN_V6" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "sbScore": { - "description": "The value corresponding to this version.", - "format": "float", - "type": "number" - }, - "versionId": { - "description": "The version id (derived from the epoch - larger number means newer score)", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "SpamCookbookAction": { - "description": "This protocol buffer indicates actions that we take based on Cookbook recipes (see http://cookbook/) matching a particular document.", - "id": "SpamCookbookAction", - "properties": { - "dropInServing": { - "type": "boolean" - } - }, - "type": "object" - }, - "SpamMuppetjoinsMuppetSignals": { - "id": "SpamMuppetjoinsMuppetSignals", - "properties": { - "hackedDateNautilus": { - "format": "int32", - "type": "integer" - }, - "hackedDateRaiden": { - "format": "int32", - "type": "integer" - }, - "raidenScore": { - "format": "double", - "type": "number" - }, - "site": { - "type": "string" - } - }, - "type": "object" - }, - "SpeechS3LanguageIdentificationResult": { - "description": "Response proto for the LangId service running on a Greco server in prod. Next Tag: 6", - "id": "SpeechS3LanguageIdentificationResult", - "properties": { - "endTimeUsec": { - "description": "The end time of the input audio that this result refers to. This value should increase across LanguageIdentificationResult emitted by the Greco server running LangId, and reflects the server having processed more of the input audio.", - "format": "int64", - "type": "string" - }, - "rankedTopSupportedLanguages": { - "description": "Ranked list of top-N language codes. Ranking is based on ConfidenceIntervals of supported languages, and N is defined in the LanguageIdentificationConfig.", - "items": { - "$ref": "SpeechS3Locale" - }, - "type": "array" - }, - "startTimeUsec": { - "description": "Global start time. This value should be fixed across all LanguageIdentificationResults for a given utterance.", - "format": "int64", - "type": "string" - }, - "topLanguageConfidence": { - "description": "Confidence interval of the top recognized language.", - "enum": [ - "UNKNOWN_CONFIDENCE", - "NOT_CONFIDENT", - "CONFIDENT", - "HIGHLY_CONFIDENT" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "voicedUtterance": { - "description": "Identifies when the provided audio sample does or doesn't contain voiced samples. E.g. an unvoice utterance happens when the EOS signal is received before any frame because all frames were filtered by the endpointer. For events where voiced_utterance is false, ranked_top_supported_languages is defined but scores are not to be trusted. All LanguageIdentificationResults contains a valid value of voiced_utterance.", - "type": "boolean" - } - }, - "type": "object" - }, - "SpeechS3Locale": { - "id": "SpeechS3Locale", - "properties": { - "format": { - "description": "The format of the string in \"locale\". Should be one of LocaleFormat.", - "format": "int32", - "type": "integer" - }, - "locale": { - "type": "string" - } - }, - "type": "object" - }, - "SpeechWaveHeader": { - "description": "A general-purpose buffer to contain sequences of samples. When representing a waveform, the samples are the scalar values of an acoustic signal. When representing a sequence of feature frames, the samples are vector-valued frames.", - "id": "SpeechWaveHeader", - "properties": { - "atomicSize": { - "description": "Size of atomic type, in bytes.", - "format": "int32", - "type": "integer" - }, - "atomicType": { - "description": "Numeric type of data elements (if generic)", - "type": "string" - }, - "bitRate": { - "description": "For compressed signals with fixed bitrate, this is the number of bits per second.", - "format": "float", - "type": "number" - }, - "byteOrder": { - "description": "Byte-order of the atomic_type When atomic_type == \"char\", byte_order should be always \"1\". When atomic_type == \"int16\", byte_order can be either \"01\" (Intel) or \"10\" (Motorola). Byte order should default to Intel when in question.", - "type": "string" - }, - "details": { - "description": "Typically contains the parameter settings of the program that created the file.", - "type": "string" - }, - "dimension": { - "description": "Array dimensions for a single sample. * For audio samples: * mono: rank==0, dimension==[1] * stereo: rank==0, dimension==[2] (samples are interleaved) * For typical ASR features representing energy, 12 MFCC coefficients, and first and second derivatives: * rank==1 and dimension==[39].", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "elementsPerSample": { - "description": "The number of atomic elements stored per sample. This is the product of all the entries in the dimension array. Written \"out of order\" in this file to be close to the dimension field, from which it can always be computed.", - "format": "int32", - "type": "integer" - }, - "rank": { - "description": "The rank of each sample. For a waveform (signals that are sequences of scalar values), this is 0. For vector-valued signals (used as signals containing sequences of features, for example), this is 1. scalar=0, vector=1, matrix=2, ...", - "format": "int32", - "type": "integer" - }, - "sampleCoding": { - "description": "Sample encoding. Can be \"ulaw\".", - "type": "string" - }, - "sampleRate": { - "description": "For periodic signals, this is the number samples per second, else 0.0", - "format": "float", - "type": "number" - }, - "sampleSize": { - "description": "Size of a single sample, in bytes.", - "format": "int32", - "type": "integer" - }, - "sampleType": { - "description": "Structure of each sample. \"generic\" means that the samples are multi-dimensional arrays of atomic_type with the specified rank.", - "type": "string" - }, - "startTime": { - "description": "Time origin for the signal, in seconds. Warning: Using float can result in rounding errors: float's smallest distance between two representable values (1 ULP; see https://en.wikipedia.org/wiki/Unit_in_the_last_place) between 1024 and 2048 (representing ~17-34 min) is 0.0001220703125, what is approximately double of what we need to represent 1 sample in a 16 kHz sample rate audio. The error is double in the 2048s-4096s, 4x in the 4096s-8192s range etc. Higher sample rate encounters rounding errors earlier: with 96 kHz, rounding errors start at ~2 min (128s).", - "format": "float", - "type": "number" - }, - "totalSamples": { - "description": "The number of samples in file. Can be inferred for generics from file size.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "StorageGraphBfgAuthorityFeedbackMetadata": { - "description": "go/entity-authority NB: currently all facts associated with Authority Feedback are externally traceable to the requests from which they originate.", - "id": "StorageGraphBfgAuthorityFeedbackMetadata", - "properties": {}, - "type": "object" - }, - "StorageGraphBfgLegalRequestMetadata": { - "id": "StorageGraphBfgLegalRequestMetadata", - "properties": { - "bugId": { - "description": "The buganizer ID associated with this legal request. This is required.", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "StorageGraphBfgLivegraphProvenanceMetadata": { - "description": "Metadata on source assertions that isn't part of the user-visible Triple payload, and that doesn't really represent data provenance, but that's used to affect the way Livegraph and possibly other horizontal KG infra systems *process* the triple. Read: fields below really shouldn't be part of the cross-system Triple proto at all. But because Triple is used both as an internal and an external KG API, we at least want to \"hide\" those fields that ought to be purely part of the internal source \u003c-\u003e LG contract. Next id: 6", - "id": "StorageGraphBfgLivegraphProvenanceMetadata", - "properties": { - "directWriteRecordIds": { - "description": "If one triple is directly-written after recon by LG without going through Composer, we add the record id it's from. Otherwise, it's empty. Note: 1) LG will dedup record ids before updating it. So this field shouldn't see duplicated record ids. 2) This is used internally by LG only. So if set by clients, they will be dropped by LG.", - "items": { - "type": "string" - }, - "type": "array" - }, - "lgInternalWriterId": { - "description": "Identifies the LG internal writers that asserted the triple. This is the same as 'origin_id' in LG. This will only be populated by the LG writers to FactStore", - "format": "uint64", - "type": "string" - }, - "provenanceOnlyAddition": { - "description": "Whether this provenance is a provenance only addition or not. A provenance is considered an \"addition\" if it belongs to a triple that we expect FactStore to contain on its own (i.e through some inference), and thus we will *not* attempt to write it explicitly. This is a composer only populated field. Clients are not expected to populate this field.", - "type": "boolean" - }, - "triangulationKey": { - "description": "Triples typically have a single triangulation key. This field supports \u003e 1 keys to allow staged transition to a different key scheme. To successfully triangulate in the Livegraph Composer, the triple must have \u003e=3 instances and each triple instance having a pairwise disjoint set of triangulation keys. The triangulation keys supplied for a single input triple are treated part of the same set, so a single triple cannot self-triangulate, regardless of how many triangulation keys it has. Note2: If a triple has multiple provenances, each one is expected to set the same triangulation_keys. ", - "items": { - "type": "string" - }, - "type": "array" - }, - "weakData": { - "description": "WARNING! The feature is still under active development and the exact semantics may be subject to change pending KE Design Review. Data marked as weak will be less preferred to regular data which does not have the marker. This allows ingesting data with a lower chance of negatively affecting existing features and products, at the cost of potentially not showing the data when competing data is available. Specifically, weak data is less preferred by conflict resolution inside of Livegraph composition. Additionally, RefX triggering will prefer to trigger based on signals computed from regular data. Aside from data providers choosing to mark their data as weak, Livegraph and RefX are the only horizontal systems expected to use this information. Please contact livegraph-team@ if you see a need for this to change. See go/weak-data for more information.", - "type": "boolean" - } - }, - "type": "object" - }, - "StorageGraphBfgLlmPolicyMetadata": { - "description": "Metadata fields for LLM related data usage restrictions. See go/bard-kg-data-acl for more details.", - "id": "StorageGraphBfgLlmPolicyMetadata", - "properties": { - "dataAccessRestrictions": { - "description": "Bitmap of LlmDataAccessRestriction.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "StorageGraphBfgLmsPolicyMetadata": { - "description": "Metadata fields for LMS. See go/lms-online-restrictions for details.", - "id": "StorageGraphBfgLmsPolicyMetadata", - "properties": { - "clientIdsAllowed": { - "items": { - "type": "string" - }, - "type": "array" - }, - "isEditorial": { - "type": "boolean" - }, - "modificationsAllowed": { - "description": "Int values corresponds to the values of image_repository.licensed.api.restrictions.Modification enum.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "regionsAllowed": { - "$ref": "KeGovernanceTypedRegions" - }, - "regionsDisallowed": { - "$ref": "KeGovernanceTypedRegions" - }, - "requiresAttribution": { - "type": "boolean" - }, - "requiresFirstPartyOnly": { - "type": "boolean" - }, - "requiresLinkback": { - "type": "boolean" - }, - "requiresShareAlike": { - "type": "boolean" - } - }, - "type": "object" - }, - "StorageGraphBfgPolicyMetadata": { - "description": "Metadata about data governance policies. For more context, see go/ke-triple-dg-policy-and-metadata. If any attribute is not set, then there's no specific restrictions associated with the missing attribute. For example, if `availability_start_timestamp` is not set, the data won't be embargoed automatically; if `availability_end_timestamp` is not set, they won't expire automatically. LINT.IfChange", - "id": "StorageGraphBfgPolicyMetadata", - "properties": { - "availabilityEndTimestamp": { - "description": "Timestamp after which data with this policy cannot be used. This value must be strictly larger/later than availability_start_time, if both are set.", - "format": "google-datetime", - "type": "string" - }, - "availabilityStartTimestamp": { - "description": "Timestamp before which data with this policy cannot be used. This value must be strictly smaller/earlier than availability_end_time, if both are set.", - "format": "google-datetime", - "type": "string" - }, - "legalAllowedRegions": { - "description": "List of regions in which the data with this policy is allowed to be used, while the data need to be removed in all regions outside this list according to legal request. This field should be used when the data is only allowed in a few regions and it is inconvenient to enumerate all of the regions in `legal_removal_regions` field. `legal_allowed_regions` and `legal_removal_region` together should include all possible regions, setting one field implies the other. Please set only one of them so the other field's values are implied. See details: http://go/ke-allowed-countries-policy-1p WARNING: This field is for legal purposes only. Please do not populate it without consulting ke-data-governance@.", - "items": { - "$ref": "KeGovernanceTypedRegions" - }, - "type": "array" - }, - "legalRemovalRegions": { - "description": "List of regions in which the data with this policy need to be removed according to legal request. WARNING: This field is for legal purposes only. Please do not populate it without consulting ke-data-governance@.", - "items": { - "$ref": "KeGovernanceTypedRegions" - }, - "type": "array" - }, - "llmPolicyMetadata": { - "$ref": "StorageGraphBfgLlmPolicyMetadata", - "description": "Policy metadata fields for LLM related data usage restrictions. Only expected to be used by SCP internally -- please consult ke-data-governance@ before populating this field." - }, - "lmsPolicyMetadata": { - "$ref": "StorageGraphBfgLmsPolicyMetadata", - "description": "Policy metadata fields for LMS data. Only expected to be used by LMS providers -- please consult ke-data-governance@ before populating this field." - }, - "policyDataScopeKeys": { - "description": "This triple is protected by the policies with PolicyDataScope identified by these global unique ids.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "policySourceType": { - "description": "Policy metadata are VERTICAL by default. Vertical policy makers / providers does not need to set this field explicitly.", - "enum": [ - "UNKNOWN", - "VERTICAL", - "HORIZONTAL" - ], - "enumDescriptions": [ - "", - "A vertical policy metadata describes data usage requirements for data provided by a vertical. When there are multiple vertical policies, usually as a result of vertical sources providing the same data, the policies are evaluated disjunctively.", - "A horizontal policy metadata describes requirements to be applied horizontally. Typical horizontal policies are legal-related, such that data usage restrictions must be respected at all times. When there are multiple horizontal policies, they are evaluated conjunctively. When both horizontal and vertical policy metadata are present, their evaluation results are connecteted conjunctively, e.g. Evaluate(..., horizontal_metadata_1..) AND Evaluate(..., horizontal_metadata_2..) AND Evaluate(..., horizontal_metadata_3..) … AND (Evaluate(..., vertical_metadata_1..) OR Evaluate(..., vertical_metadata_2..) OR Evaluate(..., vertical_metadata_3..) …)" - ], - "type": "string" - }, - "rwjPolicyMetadata": { - "$ref": "StorageGraphBfgRwjPolicyMetadata", - "description": "Policy metadata fields for Real World Journey (RWJ) data. Only expected to be used by RWJ providers -- please consult ke-data-governance@ before populating this field." - }, - "umpPolicyMetadata": { - "$ref": "StorageGraphBfgUmpPolicyMetadata", - "description": "Policy metadata fields for UMP data. Only expected to be used by UMP providers -- please consult ke-data-governance@ before populating this field." - } - }, - "type": "object" - }, - "StorageGraphBfgPublicInformationMetadata": { - "id": "StorageGraphBfgPublicInformationMetadata", - "properties": { - "attributionUrl": { - "description": "Publicly-visible URLs claiming this fact. Can not be empty -- at least one URL must be provided.", - "items": { - "type": "string" - }, - "type": "array" - }, - "lastVerifiedDate": { - "description": "Most recent date at which 'attribution_url's were verified, as UNIX epoch time in milliseconds. This is required.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "StorageGraphBfgRwjPolicyMetadata": { - "description": "Metadata fields for Real World Journey. See go/rwj-kg-dg for details.", - "id": "StorageGraphBfgRwjPolicyMetadata", - "properties": { - "eligibleSurfaces": { - "description": "Int values correspond to the usecases used in CDS. See: google3/googlebase/verticals/model/usecase_id.proto.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "StorageGraphBfgSpiiCertification": { - "description": "A fact about potentially sensitive personal info (http://what/SPII) can be \"certified\" iff it meets specific requirements. See go/kg-spii-certification for details.", - "id": "StorageGraphBfgSpiiCertification", - "properties": { - "authorityFeedback": { - "$ref": "StorageGraphBfgAuthorityFeedbackMetadata", - "description": "This fact was provided via KGO / Entity Authority." - }, - "legalRequest": { - "$ref": "StorageGraphBfgLegalRequestMetadata", - "description": "This fact was provided via a legal request." - }, - "publicInformation": { - "$ref": "StorageGraphBfgPublicInformationMetadata", - "description": "This fact is public information. (See go/kg-spii-certification for a description of what qualifies as public information -- simply finding a fact online is not sufficient to certify a fact as public.)" - } - }, - "type": "object" - }, - "StorageGraphBfgTripleProvenance": { - "description": "a message containing information about the source of this triple. Note for freebase data: that this is an unpacking of the creator/attribution chain. The creator below is the actual creator of the attribution node, and the rest of the attribution data sits along side. Next id: 22", - "id": "StorageGraphBfgTripleProvenance", - "properties": { - "accessRequired": { - "description": "Data providers shall use this to specify access requirement.", - "enum": [ - "ACCESS_REQUIREMENT_UNSPECIFIED", - "LEGACY_RESTRICTION", - "LEGAL_UNSERVABLE_UNTIL_FURTHER_REVIEW", - "CONTRACTUAL_PRERELEASE_MUSIC_DATA", - "CONTRACTUAL_PRERELEASE_MUSIC_DATA_GPM", - "CONTRACTUAL_STATS_LLC_DATA", - "LEGAL_PUBLIC_DOMAIN_US", - "LEGAL_GEO_NOT_SERVABLE_IN_CHINA", - "ACCESS_REQUIREMENT_OUT_OF_RANGE", - "SPII_SEARCH_PUBLIC_INTEREST", - "SPII_KGO", - "SPII_WALDREF", - "CONTRACTUAL_OPTA_DATA_MIGRATION", - "CONTRACTUAL_STATS_DATA_MIGRATION", - "TECHNICAL_DEBT_SIRIUS_MIGRATION", - "TECHNICAL_IN_DEVELOPMENT_GEO_KG_UGC", - "MOMA_RESTRICTED_TVC", - "MOMA_UNRESTRICTED_TVC", - "MOMA_FTE", - "AOG_TEST_DATA", - "CONTRACTUAL_NETFLIX_DATA", - "CONTRACTUAL_NETFLIX_GRACENOTE", - "CONTRACTUAL_SPOTIFY_PODCAST_DATA", - "CONTRACTUAL_IPG_DATA", - "CONTRACTUAL_YOUVIEW_DATA", - "CONTRACTUAL_YOUTUBE_ALC_DATA", - "CREATOR_PRESENCE_DATA", - "YOUTUBE_PODCASTS_DATA", - "TECHNICAL_UNRECONCILED_MEDIA_ACTION", - "CONTRACTUAL_AUDIBLE_DATA", - "CONTRACTUAL_SEARCH_NETFLIX_DATA", - "CONTRACTUAL_ASSISTANT_MEDIA_ACTIONS", - "CONTRACTUAL_ANDROID_TV_NETFLIX_DATA", - "CONTRACTUAL_GOOGLE_PLAY_MOVIES_DATA", - "CONTRACTUAL_RANKING_PROVIDER_POPULARITY_DATA", - "CONTRACTUAL_CARBON_INDEX_DATA", - "CONTRACTUAL_CARBON_INDEX_APP", - "TRAVEL_ACTIVITY_DATA", - "CONTRACTUAL_AOG_FOOD_ORDERING_DATA", - "CONTRACTUAL_YETI_DATA", - "CONTRACTUAL_BBC_PROVIDER_METADATA", - "JANATA_USER_GENERATED_DATA", - "TRIANGULATION_LOSERS_FOR_REFX", - "CONTRACTUAL_PRERELEASE_YT_SHOWS", - "SPII_LOSERS_FOR_REFX", - "SHOPPING_PRODUCT_IMAGE", - "SHOPPING_PRODUCT_DESCRIPTION", - "SHOPPING_PRODUCT_ATTRIBUTE", - "SHOPPING_ON_DOT_COM_ONLY", - "SHOPPING_ORGANIC_ONLY", - "SHOPPING_ORGANIC_ON_DOT_COM_ONLY", - "SHOPPING_PRE_RELEASE_PRODUCT", - "SHOPPING_DO_NOT_PUBLISH_TO_TOPIC_SERVER", - "LMS_POLICY_ACKED_ONLY", - "MINED_PEOPLE", - "LIMITED_FOR_SEMANTIC_UNDERSTANDING", - "ISOLATION_S3_MEDIA_ACTION", - "ISOLATION_S3_REAL_ESTATE", - "ISOLATION_S3_AUTOS", - "ISOLATION_S3_NLWEB", - "ISOLATION_S3_RECOMEDIA", - "ISOLATION_S3_GEO_CARS", - "ISOLATION_YOUTUBE_OTT", - "ISOLATION_YOUTUBE_MUSIC_BASS_ENTITIES", - "ISOLATION_FINANCIAL_DATA", - "ISOLATION_MEDICAL", - "ISOLATION_G4C", - "ISOLATION_EXPERIMENT_ONLY", - "ISOLATION_KE_INTERNAL", - "ISOLATION_WEB_CHANNELS", - "ISOLATION_ONRAMP_DICTIONARY_EXPERIMENT", - "ISOLATION_S3_TRAVEL_HOTEL_ROOMS", - "ISOLATION_PKG_ANDROID_AUTO_EMBEDDED_SIGNED_IN", - "ISOLATION_PKG_ANDROID_AUTO_EMBEDDED_SIGNED_OUT", - "ISOLATION_PKG_APP_NAMES", - "ISOLATION_PKG_ASSISTANT_CONTACT_AFFINITY_WITH_METADATA", - "ISOLATION_PKG_ASSISTANT_DEVICE_SETTINGS", - "ISOLATION_PKG_ASSISTANT_LIST_NAMES_FOR_SPEECH_BIASING", - "ISOLATION_PKG_ASSISTANT_SETTINGS_FOOTPRINTS", - "ISOLATION_PKG_ASSISTANT_SETTINGS_NICKNAME", - "ISOLATION_PKG_CALENDAR_EVENTS_FOR_QUERY_ANNOTATION", - "ISOLATION_PKG_CALENDAR_EVENTS_FOR_SPEECH_BIASING", - "ISOLATION_PKG_CALENDARS_FOR_QUERY_ANNOTATION", - "ISOLATION_PKG_CALENDARS_FOR_SPEECH_BIASING", - "ISOLATION_PKG_ASSISTANT_SETTINGS_DEVICE_SETTINGS", - "PKG_ASSISTANT_CONTACT_AFFINITY_FOOTPRINTS", - "ISOLATION_PKG_CONTACT_AGGREGATED_SIGNALS", - "ISOLATION_PKG_CONTENT_INTERESTS", - "ISOLATION_PKG_DEVICE_INSTALLED_APPS", - "ISOLATION_PKG_DISCOVER_SMART_HOME_DEVICES", - "ISOLATION_PKG_DYNAMIC_ENTITIES", - "ISOLATION_PKG_FLIGHT_LEG_RESERVATIONS", - "ISOLATION_PKG_FOCUS_OWNER_PROFILE", - "ISOLATION_PKG_FORMATTED_ADDRESS", - "ISOLATION_PKG_GAIA", - "ISOLATION_PKG_GELLER_ANSWERS", - "ISOLATION_PKG_ASSISTANT_EPHEMERAL_SUGGESTIONS", - "ISOLATION_PKG_GMAIL_BILLS", - "ISOLATION_PKG_GMAIL_ORDERS", - "ISOLATION_PKG_HABITS", - "ISOLATION_PKG_HANDBAG_ENTITIES", - "ISOLATION_PKG_HERON_INTENTS_AND_TYPES", - "ISOLATION_PKG_HOTEL_RESERVATIONS", - "ISOLATION_PKG_HOUSEHOLD", - "ISOLATION_PKG_LAMS_PREFERENCES", - "ISOLATION_PKG_LOCATION_SHARING_CONTACTS", - "ISOLATION_PKG_MAPS_ALIAS_FOOTPRINTS", - "ISOLATION_PKG_MAPS_SEARCH_LOCATIONS", - "ISOLATION_PKG_LOCAL_LEAF_PAGE_VIEW_LOCATIONS", - "ISOLATION_PKG_MEDIA_HABITUAL_CACHE", - "ISOLATION_PKG_MEDIA_LIBRARY", - "ISOLATION_PKG_MEDIA_USER_CONTEXT_INFO", - "ISOLATION_PKG_MEDIA_USER_ENTITIES", - "ISOLATION_PKG_PARKING_LOCATIONS", - "ISOLATION_PKG_PEOPLE_API", - "ISOLATION_PKG_PEOPLE_API_CONTACT_ANNOTATIONS", - "ISOLATION_PKG_PEOPLE_API_GET_PEOPLE_BY_IDS", - "ISOLATION_PKG_PERSONAL_CONTACT_ANNOTATIONS", - "ISOLATION_PKG_PERSONAL_PLACES", - "ISOLATION_PKG_PERSONAL_SHARED_CONTACT_ANNOTATIONS", - "ISOLATION_PKG_PERSONALIZED_PRONUNCIATIONS", - "ISOLATION_PKG_PLAY_AUDIO_BOOKS", - "ISOLATION_PKG_PWS_ASSISTANT_CONTACTS_FOOTPRINTS", - "ISOLATION_PKG_ASSISTANT_UPP_PERSONAL_TOP_ENTITIES", - "PKG_RESERVATION_DATA", - "ISOLATION_PKG_GI_HOTEL_RESERVATION_DATA", - "ISOLATION_PKG_GI_FLIGHT_RESERVATION_DATA", - "ISOLATION_PKG_GI_CAR_RENTAL_RESERVATION_DATA", - "ISOLATION_PKG_GI_TRANSPORTATION_RESERVATION_DATA", - "ISOLATION_PKG_GI_RESTAURANT_RESERVATION_DATA", - "ISOLATION_PKG_RESTAURANT_RESERVATIONS", - "ISOLATION_PKG_SELF_ENTITIES", - "ISOLATION_PKG_SOCIAL_EVENT_RESERVATIONS", - "ISOLATION_PKG_SOCIAL_GRAPH_PEOPLE_API", - "ISOLATION_PKG_STADIA_CONTACTS", - "ISOLATION_PKG_STARLIGHT_BULK_LOOKUP", - "ISOLATION_PKG_STARLIGHT_BULK_LOOKUP_CONSISTENT", - "ISOLATION_PKG_STARLIGHT_BULK_LOOKUP_CONSISTENT_CONTACTS", - "ISOLATION_PKG_STARLIGHT_COMPOSITE", - "ISOLATION_PKG_STARLIGHT_COMPOSITE_FACE_LABELS", - "ISOLATION_PKG_STARLIGHT_FACE_LABELS", - "ISOLATION_PKG_STARLIGHT_QUERY", - "ISOLATION_PKG_STARLIGHT_TOP_CONTACTS", - "ISOLATION_PKG_STARLIGHT_VISIBLE_TO_GUESTS", - "ISOLATION_PKG_STRUCTURED_MEMORY_FOOTPRINTS", - "ISOLATION_PKG_TEACH_AND_LEARN_ENTITIES", - "ISOLATION_PKG_TYPED_QUERIES", - "ISOLATION_PKG_ASSISTANT_ROUTINES", - "ISOLATION_PKG_VANITY_COLLECTIONS", - "ISOLATION_PKG_WEBSEARCH", - "ISOLATION_PKG_WHITEPAGES_PHONE_NUMBER", - "ISOLATION_PKG_VOICE_PROFILE", - "ISOLATION_PKG_YOUTUBE_ASSISTANT_CONTEXT", - "ISOLATION_PKG_YOUTUBE_ASSISTANT_XWALKSAFE_CONTEXT", - "ISOLATION_PKG_YOUTUBE_MUSIC_LOCKER", - "ISOLATION_PKG_YOUTUBE_PLAYLISTS", - "ISOLATION_PKG_YOUTUBE_PLAYLIST_SEARCH", - "ISOLATION_PKG_YOUTUBE_PRIVATE_PLAYLISTS", - "ISOLATION_PKG_YOUTUBE_PUBLIC_AND_PRIVATE_PLAYLISTS", - "ISOLATION_S3_CREATOR_PRESENCE", - "ISOLATION_S12Y_RECIPE_INGREDIENT_INSIGHTS", - "ISOLATION_SCOUTS_SOCIETAL_CONTEXT_ENTITIES", - "ISOLATION_ASTROLOGY_HOROSCOPE", - "ISOLATION_LLM_GENERATED_TVM_SYNOPSIS", - "ISOLATION_GENERATED_DATA", - "UMP_TESTING_ONLY", - "INTENTJOINS_NB_SIGNALS", - "ADS_INTEGRITY_ANNOTATION", - "COVID_MAPS_SENSITIVE", - "KE_TRUST", - "SENSITIVE_ENTITIES_CLASSIFICATION", - "ISOLATION_S3_DATASEARCH", - "VIRTUALCARE_US", - "NETFLIX_AVAILABILITY_MEDIA_ACTION", - "ACCC_RISKY_DATA", - "AU_ACCC_RISKY_FOR_DISPLAY", - "GEO_FEATURE_RESTRICTION", - "RIGHTS_MANAGEMENT_100", - "RIGHTS_MANAGEMENT_101", - "RIGHTS_MANAGEMENT_102", - "RIGHTS_MANAGEMENT_INSIDER_RISK", - "RIGHTS_MANAGEMENT_EBF_DATA", - "RIGHTS_MANAGEMENT_LLM_DATA_ACCESS_RESTRICTION", - "DICTIONARY_DATA_OXFORD", - "DICTIONARY_DATA_LE_ROBERT", - "ENTITY_TEXT_FEATURES", - "AR_ONBOARDING_TEST", - "AR_ONBOARDING_TEST_2", - "MATERIALIZED_ENRICHER_INTERNAL", - "MATERIALIZED_SCUBED_INTERNAL" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "A legacy restriction that hasn't been migrated to AccessRequirement applies to the corresponding Triple. This value is invalid on data being ingested by KG, except in the cases where the data is provided by an allowed data provider. Subject to renaming as usage becomes clearer.", - "WARNING! Legally or contractually sensitive data that has not been cleared for *any* product use cases. Data tagged here may be used for specific learning models (e.g., RefX systems), but can never be served. All data parked here are expected to either lose their AccessRequirement tags, or be given more appropriate (possibly new) ones. YOU MUST NEVER serve this data. If there is data parked here that you believe requires serving, YOU MUST CONTACT kg-legal@ to figure out the team responsible for that data and go through a new legal-onboarding review.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. Pre-release music album data from YouTube Music Label deals. YOU MUST CONTACT abobb@ before reading or writing this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. Pre-release music album data from Metajam Embargoed data. YOU MUST CONTACT abobb@ before reading or writing this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. Stats LLC's data is subject to simba/deal.do?cmd=view\u0026id=189236. YOU MUST CONTACT kg-legal@ before reading or writing this data. Tags: Sports, Golf, Basketball, Baseball, Football, Hockey, Soccer", - "WARNING! Data subject to nuanced legal rules. DO NOT use without permission and understanding of usage constraints. This data is subject to public-domain restrictions particular to the United States. YOU MUST CONTACT kg-legal@ before reading or writing this data.", - "DEPRECATED! Not set anymore, see b/129694010 for some details. If you encounter code that looks at this access requirement, please consider cleaning it up. As of 2019-06-18, there is no triple in Livegraph with this restriction set anymore. WARNING! Legally sensitive Geo data. Data tagged with this value MUST not be served in China. Context: https://goto.google.com/geo-china-policy https://goto.google.com/kg-geo-china-policy YOU MUST CONTACT yegor@ or wafarris@ before reading or writing this data.", - "Represents an out-of-range value. This may be returned by a server in situations where it's not feasible to round-trip an unknown enum value. It should generally not be specified as a requested access, since behavior is undefined in that case.", - "WARNING! These properties are classified as Sensitive Personal Data under GDPR (go/gdpr-spii-kg-announce). Do not use this data without review from counsel. Search has vetted this SPII, but you need to check that you are in Search PA and your product's use of the data is consistent with PA-specific limitations. See go/gdpr-kg-diagram for an overview of what data may be covered by this restriction. No one should write data with this AccessRequirement; it is asserted programmatically in Livegraph at composition time using a policy-based classifier. YOU MUST CONTACT kg-legal@ before reading data with this acl.", - "WARNING! These properties are classified as Sensitive Personal Data under GDPR (go/gdpr-spii-kg-announce). Do not use this data without review from counsel. This data is included in KG with Search-specific user consent. Product counsel must determine whether the scope of the consent is consistent with use in a product. See go/gdpr-kg-diagram for an overview of what data may be covered by this restriction. No one should write data with this AccessRequirement; it is asserted programmatically in Livegraph at composition time using a policy-based classifier. YOU MUST CONTACT kg-legal@ before reading data with this acl.", - "WARNING! These properties may contain data classified as Sensitive Personal Data under GDPR (go/gdpr-spii-kg-announce). Do not use this data without review from counsel. YOU MUST CONTACT kg-legal@ before reading data with this acl.", - "Access controls for the migration of OPTA-\u003eSTATS data. These tags are transient, and all evidence of their existence will be destroyed after go/opta-data-rollout completes. YOU MUST CONTACT yonatans@ before reading or writing this data.", - "", - "DEPRECATED! Not set anymore. Used to be set on triples from the \"geo\" process feeding into Livegraph for the Sirius project (forward geocoding in TopicServer) prior to full launch.", - "Access controls for data being injected by Geo's KG UGC pipe while it is being fleshed out (allow Geo to onboard his data to Livegraph but filtering which clients can fetch it from TopicServer). This is an access restriction we use while developing or QAing the Events UGC flow end-to-end. Only maps will fetch the data through TopicServer, and we will not allow this data to enter RefX, nor will it be shown to users. When prod experiments exist, we will migrate to that instead. YOU MUST CONTACT poucet@ before reading or writing this data.", - "Access requirement for Moma. Moma triples is only internally available. More details about Moma data access is here: go/moma-tvc-access YOU MUST CONTACT moma-kg-eng@ before reading or writing this data. Available for restricted TVCs.", - "Available for unrestricted TVCs.", - "Available for FTE.", - "Access Requirement for AoG Test data. AoG test data is only available to developers who sign up for AoG previews. More details at - go/feeds-tod. This is a short-term solution until Topic Server supports experiments in prod. YOU MUST CONTACT se-catalog-feeds@ before reading or writing this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. In order to handle such data, see: go/ma-access-controls-prd Netflix data is subject to SIMBA 400184 and 355494. YOU MUST CONTACT nebiat@ before reading or writing this data.", - "This is an access restriction to avoid any usage of Netflix deeplinks from data aggregator Gracenote (TMS) accidentally without knowing the context. YOU MUST CONTACT ump-data-team@ before reading or using this data.", - "This is an access restriction requirement for the licensed Spotify podcast data. The license requires that the Spotify feed data cannot be used to promote other providers. YOU MUST CONTACT ke-media-actions@ before reading or using this data.", - "This is an access restriction to avoid any usage of media data from a special TV aggregator IPG without knowing the context. YOU MUST CONTACT go/ump before reading or writing this data.", - "This is an access restriction to avoid any usage of media data from a special LiveTV data provider Youview without knowing the context. YOU MUST CONTACT go/ump before reading or writing this data.", - "This is an access restriction to avoid any leakage of data for the testing and dogfooding of Youtube ALC data. YOU MUST CONTACT go/ump before reading or writing this data.", - "DEPRECATED! Not set anymore. Deprecated in favor of ISOLATION_S3_CREATOR_PRESENCE.", - "Youtube Podcasts metadata. YOU MUST CONTACT who/kvk, who/mbonanni and g/ytm-podcasts-understanding before reading or writing this data.", - "Access controls for data being injected by the Media Actions team without being reconciled against existing entities. This is an access restriction we use to insert triples into KG that improves Media Actions triggering on the Assistant, but that would otherwise cause quality issues on Search (due to the lack of proper reconciliation). While triples tagged with this access restriction will typically only be used on the Assistant, this access restriction should not be used for contractually sensitive data. In order to handle such data, see: go/ma-access-controls-prd See go/ma-launch-small-providers and go/ma-acl for context. YOU MUST CONTACT ke-media-actions@ before reading or writing this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. Audible's data is subject to simba/deal.do?cmd=view\u0026id=417794. YOU MUST CONTACT kg-legal@ before reading or writing this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. Netflix for search data is subject to simba//#documents/list/dealId=500038. YOU MUST CONTACT knowledge-legal@ before reading or writing this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. YOU MUST CONTACT ke-media-actions@ before reading or writing this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. YOU MUST CONTACT kennethchiu@ before reading or writing this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. This is an access restriction we add Google Play Movies metadata into KG. For now it should be used ONLY for Android TV/Amati/Sabrina. In order to handle such data, see: b/34183296 Since it is google internal data, it doesn't have SIMBA DEAL ID. YOU MUST CONTACT ke-media-actions@ before reading or writing this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. This is an access restriction to access provider provided popularity score to rank entities within a provider's catalog. go/ps-to-kg , b/154547652 YOU MUST CONTACT ke-media-actions@ before reading or writing this data.", - "Data ingested by Carbon Index for internal processing and aggregation, not fit for display on any surface irrespective of attribution. YOU MUST CONTACT area120-carbonindex-eng@ before reading this data.", - "Data fit for display on the Carbon Index frontend to trusted testers, with proper attribution and controls. YOU MUST CONTACT area120-carbonindex-eng@ before reading this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. YOU MUST CONTACT travel-ttd-ecosystem-team@ before reading or writing this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. YOU MUST CONTACT fo-partner-eng@ before reading or writing this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. This is an access restriction for accessing Yeti publisher image data in KG. For now it should be used ONLY for Yeti. YOU MUST CONTACT stadia-knowledge-eng@ before reading or writing this data.", - "This ACL was used to evaluating UMP GetMedia API changes for the BBC exclusive provider metadata launch. The evaluation was done and we don't cover BBC provider metadata with this ACL anymore in production.", - "WARNING! User generated data. DO NOT use without permission and understanding of usage constraints. This data is from the Janata feature and contains information that a user chose to disclose as pubilc about themselves. YOU MUST CONTACT npp-lr@ before reading or writing data with this acl.", - "WARNING! DO NOT use without permission and understanding of usage constraints. This is data that needed to be triangulated but lacked support from three different data sources. The purpose of this ACL is to allow RefX to access even the data that lacks triangulation. More background on this can be found at go/baike-triangulation. YOU MUST CONTACT lg-composition@ before reading or writing data with this acl.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. YouTube Red Original prerealeased shows, seasons and episodes. YOU MUST CONTACT ajithm@ before reading or writing data with this acl.", - "WARNING! DO NOT use without permission and understanding of usage constraints. This is for facts deemed Sensitive Personal Data (SPII) which have been removed from the graph. The purpose of this ACL is to allow RefX to access this data for proper query attribution \u0026 reconciliation decisions, even though it's not part of KG. YOU MUST CONTACT kg-legal@ before reading data with this acl.", - "WARNING! Use of Shopping product images can carry unique legal risks. DO NOT use without permission and understanding of usage constraints. Before reading or writing this data, you MUST follow the Shopping Commerce data access request process by completing the questionnaire at go/shopping-commerce-data-access-request.", - "WARNING! Use of Shopping product descriptions can carry unique legal risks. DO NOT use without permission and understanding of usage constraints. Before reading or writing this data, you MUST follow the Shopping Commerce data access request process by completing the questionnaire at go/shopping-commerce-data-access-request.", - "WARNING! Some Shopping product attributes are provided under license from Gladson or Multi-Ad and cannot be modified without written notice to the licensor. DO NOT modify without permission and understanding of usage constraints. If you plan to modify this data, you MUST follow the Shopping Commerce data access request process by completing the questionnaire at go/shopping-commerce-data-access-request.", - "", - "WARNING! These Shopping entities may only appear in organic experiences on any surface. DO NOT use without permission and understanding of the unique legal risks and usage constraints. Before reading or writing this data, you MUST follow the Shopping Commerce data access request process by completing the questionnaire at go/shopping-commerce-data-access-request.", - "WARNING! These Shopping entities may only appear in organic experiences on Google.com and the Google Search App. DO NOT use without permission and understanding of the unique legal risks and usage constraints. Before reading or writing this data, you MUST follow the Shopping Commerce data access request process by completing the questionnaire at go/shopping-commerce-data-access-request.", - "WARNING! These data are extracted from extremely high-traffic product announcements and can only be used in specifically-designed features. DO NOT use with permission and understanding of the usage constraints. YOU MUST CONTACT product-data-everywhere-eng@ before reading or writing this data.", - "This special access requirement is temporarily used to block shopping data from publishing to the topic server. This access requirement can be removed after the launch of the entity based filtering (in Polygraph). See this email thread for more context: http://g/livegraph-team/oaqrGm9Mabs/iMlGY7D_BgAJ YOU MUST CONTACT product-data-everywhere-eng@ before writing the data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints found at go/lms-access-policy and communicating your use case at go/lms-onboarding. YOU MUST CONTACT lms-legal@ and licensed-media-service-team@ before reading or writing this data.", - "WARNING! Data about people which was algorithmically mined from web documents - do not use this data without review from counsel and without first consulting with entwild-eng@. No one besides Entwild (go/entwild) should be writing triples with this AccessRequirement. YOU MUST CONTACT kg-legal@, as well as entwild-eng@ before reading data with this acl.", - "WARNING! Legally or contractually sensitive data that has not been cleared for *any* product use cases. Data tagged here may be used only for specific learning models (e.g., RefX systems), and may be served for such purposes in Topic Server, but should never be displayed to external users. YOU MUST NEVER surface this data in a user-visible product. YOU MUST CONTACT kg-legal@ before reading or writing this data.", - "Access requirements for the verticals using S-Cubed. YOU MUST CONTACT scubed-team@ before reading or writing this data.", - "", - "", - "", - "`ISOLATION_S3_RECOMEDIA` data should not be copied or used for analysis over time. Please contact recomedia-eng@ for questions.", - "", - "The following group of access requirements are for Onramp data from YouTube systems that is only meant to be served back to YouTube via the YouTube Knowledge Service. YOU MUST NOT use these AR unless you are go/ytks. Please contact yt-knowledge-service@ and yt-aperture@ for questions. YouTube OTT (go/ott-platform)", - "YouTube Music Bass Entities (go/bass-entities)", - "Access control for the Financial data that uses custom schema which is used mainly by the Google Finance team for gradually ingesting data. Reach out to fgc-be@ if you have any questions.", - "For Medical KG (go/med-kg) isolated data. Data stored under this AR is licensed and should be used only after pcounsel review. Contact: medical-nlp@.", - "Deprecated: use ISOLATION_MEDICAL instead.", - "Using gradual integration (go/gradual-integration) requires setting up an AccessRequirement. This value can be used for experimentation before the CL to add the new value has been submitted. See go/gradual-integration#accessrequirement for how to add a new value. WARNING: should NOT be used in production.", - "**DO NOT USE** This is an access restriction to be used by KE internally to specially treat OnRamp client's access requirements. It is asserted programmatically in Livegraph at accept record time. Clients should NOT assert this on their input triples; nor should they use this to query TopicServer or in KG batch pathquery.", - "Access controls for web channels entities. go/webchannels-infra-prd. See go/webchannels-kg-integration for details. Please contact web-channels-infra@ before reading or writing this data.", - "WARNING! Sensitive data under strict contractual usage agreements. DO NOT use without permission and understanding of usage constraints. Access controls for dictionary entities. Design proposal:go/word-osrp-proposal, schema details:go/kg-dict-schema Please contact dictionary-lr@ before reading or writing this data.", - "Access controls for Hotel Rooms entities. Please contact hotels-rooms-eng@ before reading or writing this data. DD: go/hotel-room-photos-gps", - "Access controls for Personal KG data source isolation. The ISOLATION_PKG data sources *DO NOT* flow through LiveGraph and must be written or read by Personal KG only. Please keep the list sorted. PKG ARs should be in the range [15001, 20000]. Next id: 15045 YOU MUST CONTACT pkg-service-team@ before using these ARs.", - "", - "", - "", - "", - "For data from user's lists e.g. list name.", - "", - "", - "", - "", - "For data from user's calendars e.g. calendar name.", - "", - "", - "PWG approval for client use cases for contact affinity footprints must include explicit call outs and approval for type of traffic. Currently this is NOT allowed for non-Assistant traffic.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "For PersonalContactAnnotations from FocusNameServlet. For personal contacts that are not visible to guest.", - "", - "For \"visible to guest\" contact vertical.", - "", - "", - "", - "For personal top entities generated by Assistant user profile platform.", - "PWG approval for client use cases for reservation data must include explicit approval for this type of traffic. Note: Prefer to use the ISOLATION_PKG_GI_*_RESERVATION_DATA value below for the specific reservation type needed, rather than this value, since those trigger individual Gmail Intelligence fetchers rather than all of them.", - "PWG approval for client use cases for reservation data must include explicit approval for this type of traffic.", - "PWG approval for client use cases for reservation data must include explicit approval for this type of traffic.", - "PWG approval for client use cases for reservation data must include explicit approval for this type of traffic.", - "PWG approval for client use cases for reservation data must include explicit approval for this type of traffic.", - "PWG approval for client use cases for reservation data must include explicit approval for this type of traffic.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "PWG-YouTube approval required for all use cases involving this data.", - "For personal playlists from YouTube's PlaylistService that have public visibility, PWG-YouTube approval required for all usecases involving this data.", - "For personal playlists from YouTube's PlaylistService \"Search\" endpoint. PWG-YouTube approval required for all usecases involving this data.", - "For personal playlists from YouTube's PlaylistService that have private visibility. PWG-YouTube approval required for all usecases involving this data.", - "For data from YouTube's PlaylistService that has either public or private visibility (i.e. the combination of ISOLATION_PKG_YOUTUBE_PLAYLISTS and ISOLATION_PKG_YOUTUBE_PRIVATE_PLAYLISTS). PWG-YouTube approval required for all usecases involving this data.", - "Access controls for Creator Channel's S-Cubed corpus data. See more in go/uro-access-required. YOU MUST CONTACT milk-tea@ before reading or writing this data", - "For Search sustainability's food choice feature, Recipe Ingredient Insights. Assign existing KG entities feature types to classify triggering behavior and insights. Owned by marubin@ and s12y-eng@ See go/rii-kg-triggering-migration for more information.", - "Access controls for SCOUTS Societal Context Repository entities. Please contact johnhenry-eng@ before reading or writing this data. DD: go/scouts-kg-integration-dd", - "Access controls for Astrology Horoscope features. Please contact search-india-verticals@ before reading or writing this data. DD: go/daily-horoscope-dd", - "TODO(b/304563444) Deprecate ISOLATION_LLM_GENERATED_TVM_SYNOPSIS if it's not used. Prefer using ISOLATION_GENERATED_DATA even for generated tvm synopsis. Access controls for LLM generated tvm synopsis. DD: go/i18n-tvm-descriptions Please contact dkrish-team@ before reading or writing this data.", - "Access controls for LLM generated data. Please contact UMP team(go/ump-contacts) before reading or writing this data.", - "This access control is used to guard data used by the Unified Media Platform team (ke-media-actions-serving@) for testing new features. It should never be used for purposes other than testing. More context at go/fake-media-provider.", - "Access controls for the IntentJoins Navboost data. YOU MUST CONTACT intentjoins-eng@ before reading or writing this data.", - "Access controls for Ads Integrity annotation data. Ads Integrity annotations are only available for Ads Integrity policy enforcement. See go/ai-political-km for more details. YOU MUST CONTACT ai-pacg@ before reading or writing this data.", - "Access controls for statistical information related to COVID-19 that can only be displayed in certain products. YOU MUST CONTACT talcohen@ before reading or writing this data.", - "Access control for KE Trust related scores. YOU MUST CONTACT ke-trust-team@ before reading this data. AND YOU SHOULD NOT write to it.", - "Access control for Sensitive Entities Database predicates See go/sed-prd for details YOU MUST CONTACT sensitive-entities-team@ before reading this data. SHOULD NOT write to it.", - "Access controls for the S-Cubed Data Search. See more in go/uro-access-required. YOU MUST CONTACT scubed-team@ before reading or writing this data", - "Access controls for VirtualCare provider data bound by contractual agreements. The data can only be used in US and currently only VirtualCare product is authorized to use the data. YOU MUST CONTACT virtualcare-eng@ and kg-legal@ before reading this data. AND YOU SHOULD NOT WRITE TO IT", - "This is an access restriction to avoid any usage of a special virtual media action provider NETFLIX_AVAILABILITY accidentally without knowing the context. see: go/nflx-availability-acl for context YOU MUST CONTACT ke-wedia@ before reading or writing this data.", - "DEPRECATED in favor of AU_ACCC_RISKY_FOR_DISPLAY", - "Triples labeled with this AccessRequirement may be risky to be displayed in Australia. YOU MUST CONTACT richardfang@, mattmaly@, shutongyu@ before reading this data. **AND YOU SHOULD NOT WRITE TO IT**", - "Maps data that should not be displayed under specific circumstances. YOU MUST CONTACT geo-irt@ before reading this data.", - "Access controls for rights management policies. See http://go/ke-rights-management-pilot for more context. YOU MUST CONTACT ke-data-governance@google.com before writing this data, and the RIGHTS_MANAGEMENT_* ARs should NOT be specified explicitly for reading. Corresponding to policy id = 100.", - "Corresponding to policy id = 101.", - "Corresponding to policy id = 102.", - "Access controls for some subset KG, only applied to individual/Human access. Refer to go/kg-insider-data-access-policy for more details.", - "Access controls for triples that are selected in entity based visibility filter.", - "Access controls for triples subject to LLM data access restrictions. Currently only kg-snapshot will populate this AR.", - "", - "", - "Access controls for EntityTextFeatures computed by the Enricher. YOU MUST CONTACT deepkg-infra-dev@ before reading or writing data with this ACL.", - "This AccessRequirement is used for testing purpose only. Please do not use it on data.", - "", - "Data materialized by PQM13n for Enricher. Design proposal: go/enricher-m13n-ar. YOU MUST CONTACT ke-data-platform-access@ before reading or writing data with this acl.", - "Data materialized by PQM13n for Scubed. Design proposal: go/scubed-m13n-ar. YOU MUST CONTACT ke-data-platform-access@ before reading or writing data with this acl." - ], - "type": "string" - }, - "accessRequiredInt": { - "description": "For KE internal use only. Data providers shall *not* set this. At ingress, LG Record service will read access_required and properly translate it to access_required_int. KE horizontal systems shall use this field instead of access_required; so that binaries would not depend on the release of a newly introduced AccessRequirement enum. (go/easy-ar-onboarding)", - "format": "int32", - "type": "integer" - }, - "authoringTimestamp": { - "deprecated": true, - "format": "int64", - "type": "string" - }, - "creator": { - "description": "Freebase: the freebase user id in the form '/user/userid' KG: the Google LDAP of the developer or MDB group that set up the triplification and import pipeline for this data source.", - "type": "string" - }, - "dataset": { - "description": "Freebase \u0026 KG: the dataset the assertion was loaded from", - "type": "string" - }, - "extractionPattern": { - "deprecated": true, - "format": "byte", - "type": "string" - }, - "extractionTimestamp": { - "deprecated": true, - "format": "int64", - "type": "string" - }, - "freebaseAttribution": { - "deprecated": true, - "description": "Below are deprecated Provenance fields. They are not indexed or served in KE infrastructure (they are stripped at ingress in Livegraph).", - "type": "string" - }, - "isSupportingData": { - "description": "Indicates that the corresponding data is supporting evidence for reconciliation only, and is *not* an assertion that should be visible to other systems or to external users. Note that this also means that no provenances indicating supporting data will be visible in the composed graph. Please see go/supporting-kg-triples-design-doc for additional details and background. If a triple is sent to Livegraph with multiple provenances each of them must have is_supporting_data bit set for it to be considered valid supporting evidence triple.", - "type": "boolean" - }, - "lgMetadata": { - "$ref": "StorageGraphBfgLivegraphProvenanceMetadata", - "description": "Internal metadata used by Livegraph and possibly other horizontal KG infra systems. This is not part of the logical triple or its provenance, and contents may not be visible downstream of LG." - }, - "policyMetadata": { - "$ref": "StorageGraphBfgPolicyMetadata", - "description": "Metadata specifying data governance policies. This information will be processed and enforced in KE systems. For more context, see go/ke-triple-dg-policy-and-metadata. WARNING: This field is WIP and please do not populate it without consulting ke-data-governance@." - }, - "process": { - "description": "Used to uniquely identify data sources. Freebase: the OAuth application KG: the name of the source directory the triple was loaded from (eg, \"amg\", \"tms \", \"collections\"). KV: identifier of an extraction system, e.g., SAFT or Tractzor.", - "type": "string" - }, - "provenanceExtension": { - "$ref": "Proto2BridgeMessageSet", - "deprecated": true - }, - "rankingToken": { - "description": "'ranking_token' (which must be accompanied by the 'process' field above or will be ignored) is used to distinguish subsets of data within a single process, solely for the purposes of composition in Livegraph. This field is useful when partitioning of data is needed, but using a separate process is intractable due to organizational or infrastructure limitations. For example, if a process such as \"geo\" wishes to distinguish some of their /type/object/name triples as higher priority in Composer's conflict resolution rules, then they can add a config entry with a dedicated ranking_token and tag the relevant triples with that ranking_token. This field should only be used in conjunction with a Composer-side configuration to use it for value selection. It is not appropriate to use this field as free-form metadata. This value must match [[:alnum:]][[:alnum:]_-]{0,127} (i.e., [a-zA-Z0-9]+[a-zA-Z0-9_-]* and must be less than 128 characters in length) , or else its containing triple will be considered malformed and will be rejected by Livegraph at ingress. As of 2018-02-14, this field is used within Livegraph's Composer and is exposed in Livegraph's Lookup APIs to aid debugging, but it is not indexed or served by TopicServer. ", - "type": "string" - }, - "requiresTriangulation": { - "description": "When specified as part of triples input to Livegraph (go/livegraph), this indicates that the triple needs to be triangulated by 3 different sources before it can be served in production. A triple's source is identified by its URL(provenance.source).host(). Please see go/baike-triangulation for more background on this. WARNING: If you're a new client trying to enable triangulation for your feed, please contact lg-composition@/kashk@ before using this feature. ", - "type": "boolean" - }, - "restrictions": { - "items": { - "enum": [ - "REQUIRES_CITATION", - "REQUIRES_PCOUNSEL_REVIEW", - "REQUIRES_ACCESS_CONTROL", - "UNRESTRICTED_WITHIN_GOOGLE_NO_3P_USE" - ], - "enumDeprecated": [ - false, - false, - true, - false - ], - "enumDescriptions": [ - "", - "WARNING for data providers: the REQUIRES_PCOUNSEL_REVIEW mechanism is outdated and has many drawbacks. Please prefer other data governance solutions (go/ke-data-governance for details) before deciding to use this field for new data onboarding. Feel free to reach out to g/ke-data-governance for any questions.", - "Not used in KE infra.", - "" - ], - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "Freebase \u0026 KG: if the triples were extracted from the web, the source URL where the assertion was found. (generally empty in freebase-sourced triples) TopicServer will serve/populate/retain if REQUIRES_CITATION is also set, or if the process is explicitly allowed. http://g/topic-server/vn9PBWtVKqI/arQEDqKTAgAJ", - "type": "string" - }, - "sourceCategory": { - "items": { - "enum": [ - "THIRD_PARTY", - "CURATION", - "PARTNER_FEED", - "EXTRACTION" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "sourceDocId": { - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "spiiCertification": { - "$ref": "StorageGraphBfgSpiiCertification" - } - }, - "type": "object" - }, - "StorageGraphBfgUmpPolicyMetadata": { - "description": "Metadata fields for UMP. A piece of data satisfies UMP policy if: (data access region is in the `regions_allowed` list) AND (data access time \u003e= availability_start_timestamp) AND (data access time \u003c availability_end_timestamp)", - "id": "StorageGraphBfgUmpPolicyMetadata", - "properties": { - "availabilityEnds": { - "description": "Timestamp after which data with this policy cannot be used.", - "format": "google-datetime", - "type": "string" - }, - "availabilityStarts": { - "description": "Timestamp before which data with this policy cannot be used.", - "format": "google-datetime", - "type": "string" - }, - "regionsAllowed": { - "$ref": "KeGovernanceTypedRegions" - } - }, - "type": "object" - }, - "SuperrootPodcastsRecommendationsPodcastRecsFeatures": { - "description": "LINT.IfChange Next ID: 101", - "id": "SuperrootPodcastsRecommendationsPodcastRecsFeatures", - "properties": { - "averageDurationSecondsEpisode": { - "description": "Average duration listened per episode. Ignores duration \u003c 10s. Computed offline", - "format": "int64", - "type": "string" - }, - "averageDurationSecondsShow": { - "description": "Average duration listened per show. Ignores duration \u003c 10s. Computed offline", - "format": "int64", - "type": "string" - }, - "averageFractionEpisode": { - "description": "Average fraction of podcast listened per episode. Ignores duration \u003c 10s. Computed offline", - "format": "double", - "type": "number" - }, - "averageFractionShow": { - "description": "Average fraction of podcast listened per show. Ignores duration \u003c 10s. Computed offline", - "format": "double", - "type": "number" - }, - "balancedLift": { - "description": "Per cluster lift where the lift_squashing_factor is set to 0.4", - "format": "double", - "type": "number" - }, - "categoryMatch": { - "description": "category_match is a 0 to 1 score depicting how much of the user's listening history matches the categories of this podcast recommendation.", - "format": "double", - "type": "number" - }, - "clusterFeedMinutes": { - "description": "The total minutes listened to this podcast show by users in this cluster", - "format": "int64", - "type": "string" - }, - "colistenedShowColistenAffinity": { - "description": "This captures the probability that this show could have been listened by the user in lieu of what they have subscribed or listened to.", - "format": "float", - "type": "number" - }, - "colistenedShowLevelRank": { - "description": "This captures the rank of the podcast show in the colisten candidate generator.", - "format": "int64", - "type": "string" - }, - "convAiToxicitySevereScore": { - "format": "float", - "type": "number" - }, - "csaiScore": { - "description": "Score of csai safe search score go/safesearch", - "format": "double", - "type": "number" - }, - "dnnShowLevelRank": { - "description": "Ordinal rank features like this have been found to be useful in Hermione Recipes, where the top ranked items from a candidate generator is always retained. Ranks are integral values starting with 1 for the highest affinity show.", - "format": "int64", - "type": "string" - }, - "dnnV2aScore": { - "description": "Dot product of user embedding and podcast show embedding from the two tower model v2a", - "format": "float", - "type": "number" - }, - "dnnV2aScoreSigmoid": { - "description": "Sigmoid of the score obtained by dot product of user embedding and show embedding. See https://b.corp.google.com/issues/158602034#comment2 for intuition.", - "format": "float", - "type": "number" - }, - "durationTotalSecondsEpisode": { - "description": "Total duration listened for this episode by all users. Ignores duration \u003c 10s. Computed offline", - "format": "int64", - "type": "string" - }, - "durationTotalSecondsShow": { - "description": "Total duration listened for this show by all users. Ignores duration \u003c 10s. Computed offline", - "format": "int64", - "type": "string" - }, - "episodeDurationSec": { - "description": "The duration of a single episode, in seconds. - For show documents, this is a duration of a typical recent episode, or an approximation thereof. - For episode documents, this is the duration of the episode itself.", - "format": "int64", - "type": "string" - }, - "episodeImpressions": { - "description": "Number of all episode impressions.", - "format": "int64", - "type": "string" - }, - "episodeImpressionsPastWeek": { - "description": "Number of episode impressions during the past week.", - "format": "int64", - "type": "string" - }, - "episodesPublishedPerMonth": { - "description": "How frequently are podcasts published by this show. To see publishing frequency calculation go here: http://shortn/_6zzfyEpBRq", - "format": "int64", - "type": "string" - }, - "explicitShow": { - "description": "Whether the show is marked as explicit by the authors", - "enum": [ - "EXPLICIT_NO", - "EXPLICIT_YES", - "EXPLICIT_CLEAN" - ], - "enumDescriptions": [ - "Show/episode without explicit content. The default.", - "Show/episode with explicit content.", - "\"Clean\" version of an otherwise explicit show/episode." - ], - "type": "string" - }, - "feedPagerank": { - "description": "Scaled pagerank score for the feed url in [0..1]. Not to be confused with pagerank above, which measures the pagerank for the feed's homepage.", - "format": "double", - "type": "number" - }, - "finalReactionBoostScore": { - "description": "final reaction boost score computed from positive_reaction_boost_score and negative_reaction_boost_score. The score will be applied as a multiplier on the ranking score to adjust the ranking.", - "format": "float", - "type": "number" - }, - "fractionTotalEpisode": { - "description": "Some of all fraction of this listened by users. Ignores duration \u003c 10s. Computed offline", - "format": "double", - "type": "number" - }, - "fractionTotalShow": { - "description": "Some of all fraction of this show listened by users. Ignores duration \u003c 10s. Computed offline", - "format": "double", - "type": "number" - }, - "fringeScore": { - "description": "Score of fringe safe search score go/safesearch", - "format": "double", - "type": "number" - }, - "globalProb": { - "description": "Probability of a random user listening to this podcast randomly", - "format": "double", - "type": "number" - }, - "inClusterProb": { - "description": "Probability of a random user from this cluster listening to this podcast randomly (K-means specific feature)", - "format": "double", - "type": "number" - }, - "isCanonical": { - "description": "A binary value based on whether this is a canonical source for a cluster.", - "type": "boolean" - }, - "kmeansShowLevelRank": { - "description": "Ranks are integral values starting with 1 for the highest affinity show.", - "format": "int64", - "type": "string" - }, - "languageMatch": { - "description": "How much of user listening history match the language of this episode", - "format": "double", - "type": "number" - }, - "linkOwnershipVerified": { - "description": "Ownership verification status for the episode page URL.", - "type": "boolean" - }, - "listenTimeMin": { - "description": "Number of minutes of podcasts listened by the user", - "format": "int32", - "type": "integer" - }, - "listenedShowLevelRank": { - "description": "The rank of the show in the top listened shows candidate generator. Ranks are integral values starting with 1 for the highest affinity show.", - "format": "int64", - "type": "string" - }, - "listenedShowListeningAffinity": { - "description": "This captures the fraction of total listening time accounted for by this show.", - "format": "float", - "type": "number" - }, - "locationFeatureId": { - "description": "Feature ID of a location. For more info, see go/feature-id.", - "type": "string" - }, - "longUserListeningWebrefSimilarity": { - "description": "Match score between user listening mids and episode webref entities, where the listening can have happened at any time in the past. Values are in a 0.0 to 1.0 range.", - "format": "double", - "type": "number" - }, - "medicalScore": { - "description": "Score of medical safe search score go/safesearch", - "format": "double", - "type": "number" - }, - "mediumUserListeningWebrefSimilarity": { - "description": "Match score between user listening mids and episode webref entities, where the listening is limited to last two mohths activity. Values are in a 0.0 to 1.0 range.", - "format": "double", - "type": "number" - }, - "negativeReactionBoostScore": { - "description": "boost score from the similarity between the candidate and the shows with user negative feedback, currently the score will be applied directly to the final ranking score: go/podcast-reaction-reranking-v1, but can be used as reranker model feature in the future.", - "format": "float", - "type": "number" - }, - "nicheLift": { - "description": "Per cluster lift where the lift_squashing_factor is set to +2", - "format": "double", - "type": "number" - }, - "numListenersInKmeansCluster": { - "description": "The number of users in this k-means cluster.", - "format": "int64", - "type": "string" - }, - "numListenersToShowInKmeansCluster": { - "description": "The number of users in the k-means cluster who have listened to this feed.", - "format": "int64", - "type": "string" - }, - "numListens": { - "description": "Number of podcasts listened by the user", - "format": "int32", - "type": "integer" - }, - "numSubscribersShow": { - "description": "From: indexing/speech/proto/colisten-matrix.proto The number of subscribers for this podcast series.", - "format": "int64", - "type": "string" - }, - "numUniqueListenersShow": { - "description": "From: indexing/speech/proto/colisten-matrix.proto Absolute number of unique listeners during the past month.", - "format": "int64", - "type": "string" - }, - "offensiveScore": { - "description": "Score of offensive safe search score go/safesearch", - "format": "double", - "type": "number" - }, - "peDurationScoreEpisode": { - "format": "float", - "type": "number" - }, - "peDurationScoreShow": { - "format": "float", - "type": "number" - }, - "peDurationTotalScoreEpisode": { - "format": "float", - "type": "number" - }, - "peDurationTotalScoreShow": { - "format": "float", - "type": "number" - }, - "peFractionScoreEpisode": { - "format": "float", - "type": "number" - }, - "peFractionScoreShow": { - "format": "float", - "type": "number" - }, - "peFractionTotalScoreEpisode": { - "format": "float", - "type": "number" - }, - "peFractionTotalScoreShow": { - "format": "float", - "type": "number" - }, - "peListenScoreEpisode": { - "format": "float", - "type": "number" - }, - "peListenScoreShow": { - "description": "Anima User Embedding based features. Dot product of Anima User Embedding and podcast embeddings from UserEmbeddingBasedSignals (podcasts/quality/proto/ranking_signals.proto)", - "format": "float", - "type": "number" - }, - "peListenTotalScoreEpisode": { - "format": "float", - "type": "number" - }, - "peListenTotalScoreShow": { - "format": "float", - "type": "number" - }, - "popularLift": { - "description": "Per cluster lift where the lift_squashing_factor is set to -3", - "format": "double", - "type": "number" - }, - "pornScore": { - "description": "Score of porn safe search score go/safesearch", - "format": "double", - "type": "number" - }, - "positiveReactionBoostScore": { - "description": "boost score from the similarity between the candidate and the shows with user positive feedback, currently the score will be applied directly to the final ranking score: go/podcast-reaction-reranking-v1, but can be used as reranker model feature in the future.", - "format": "float", - "type": "number" - }, - "queryLanguage": { - "description": "This is the language extracted from the query_language.", - "type": "string" - }, - "rank": { - "description": "The index in the list of most popular podcasts.", - "format": "int64", - "type": "string" - }, - "rankPercentContrib": { - "description": "rank_percent_contrib = 100 / ( 1 + rank_percent ) Here rank_percent was derived from show level data in Wernicke corpus So if rank_percent of a feed was 3, then the feature value would be: 100 / (1 + 3) = 25. This indicator falls off quickly from 100 to almost 1 as we go from rank_percent 0 to 100.", - "format": "double", - "type": "number" - }, - "recentUserListeningWebrefSimilarity": { - "description": "Match score between user listening mids and episode webref entities, where the listening is limited to recent activity. Values are in a 0.0 to 1.0 range.", - "format": "double", - "type": "number" - }, - "secondsSincePublication": { - "description": "A reranking feature showing the age of the episode that is being recommended. This is computed as (current time - publication_time) publication_time of the episode is defined: (http://shortn/_S46Ouk5ZWW) publication_time is specified as seconds since Unix Epoch.", - "format": "int64", - "type": "string" - }, - "showBaseQuality": { - "description": "Base quality of the document, used as a multiplier for the query-specific score. Should be in [0, 1] range. See: http://g3doc/indexing/moonshine/generic/g3doc/doc/scoring", - "format": "double", - "type": "number" - }, - "showImpressions": { - "description": "Number of show episode impressions.", - "format": "int64", - "type": "string" - }, - "showImpressionsPastWeek": { - "description": "Number of show impressions during the past week.", - "format": "int64", - "type": "string" - }, - "showLanguage": { - "description": "Language of the show from show data.", - "type": "string" - }, - "showOnlyImpressions": { - "description": "Show only impressions. Doesn't include shows of episode impressions.", - "format": "int64", - "type": "string" - }, - "showOnlyImpressionsPastWeek": { - "format": "int64", - "type": "string" - }, - "showPopularRank": { - "description": "Expresses the absolute popularity rank within all documents.", - "format": "int64", - "type": "string" - }, - "spoofScore": { - "description": "Score of spoof safe search score go/safesearch", - "format": "double", - "type": "number" - }, - "subscribedShowListeningAffinity": { - "description": "This captures the fraction of total listening time accounted for by this subscribed show.", - "format": "float", - "type": "number" - }, - "subscriptionShowLevelRank": { - "description": "The rank of the show in the subscription candidate generator. Ranks are integral values starting with 1 for the highest subscribed affinity show.", - "format": "int64", - "type": "string" - }, - "surface": { - "type": "string" - }, - "trendingScorePercent": { - "description": "Show level trending score percent from Wernicke corpus.", - "format": "int64", - "type": "string" - }, - "ulpLanguage": { - "description": "Inferred language preferences of the user with their probabilities.", - "items": { - "$ref": "SuperrootPodcastsRecommendationsPodcastRecsFeaturesUserLanguage" - }, - "type": "array" - }, - "ulpLanguageMatch": { - "description": "How much of ulp match the language of this episode", - "format": "float", - "type": "number" - }, - "userClusterDistance": { - "description": "The distance between user's Anima embedding and the centroid of the cluster in k-means.", - "format": "float", - "type": "number" - }, - "userInterestsSalientSimilarity": { - "description": "Match score between user interest mids and episode salient entities. in a 0.0 to 1.0 range.", - "format": "double", - "type": "number" - }, - "userInterestsWebrefSimilarity": { - "description": "Match score between user interest mids and episode webref entities. in a 0.0 to 1.0 range.", - "format": "double", - "type": "number" - }, - "userLanguage": { - "description": "Language of shows in user history and how much they listened to each.", - "items": { - "$ref": "SuperrootPodcastsRecommendationsPodcastRecsFeaturesUserLanguage" - }, - "type": "array" - }, - "violenceScore": { - "description": "Score of violence safe search score go/safesearch", - "format": "double", - "type": "number" - }, - "vulgarScore": { - "description": "Score of vulgar safe search score go/safesearch", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "SuperrootPodcastsRecommendationsPodcastRecsFeaturesUserLanguage": { - "id": "SuperrootPodcastsRecommendationsPodcastRecsFeaturesUserLanguage", - "properties": { - "lang": { - "type": "string" - }, - "score": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "TelephoneNumber": { - "id": "TelephoneNumber", - "properties": { - "areaCode": { - "description": "The local \"area code\", if there is such a concept.", - "type": "string" - }, - "countryCode": { - "description": "The international direct dialing code for the country, as per ITU E.164: http://www.itu.int/itudoc/itu-t/ob-lists/icc/e164_763.html", - "format": "int32", - "type": "integer" - }, - "extension": { - "description": "Extension (to be dialed after connection).", - "type": "string" - }, - "nationalPrefix": { - "description": "To call this number from within the same country, the national call prefix may be necessary. This is 1 in the US, 0 in the UK, etc. In the US, it's reasonable to omit the leading 1 when writing the number, but in other countries it is less optional.", - "type": "string" - }, - "number": { - "description": "The actual number, broken down into sections as per local convention. Note that the actual formatting of these sections (hyphen vs space, usage of parentheses) will vary according to local custom.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "TeragoogleDocumentInfo": { - "description": "The docshards are a FlatSSTable from (64-bit) urlfp to data containing the information found in this protocol buffer. (It's not actually one of these PBs for various performance reasons; instead, the DocumentFormat class handles serialization and deserialization in our own way) Next available ID: 37", - "id": "TeragoogleDocumentInfo", - "properties": { - "attachment": { - "items": { - "$ref": "TeragoogleDocumentInfoAttachment" - }, - "type": "array" - }, - "averageTermWeight": { - "description": "The average weight of terms in the document. If not available, there will be no term weight averaging: font sizes will be taken literally from the document HTML.", - "format": "int32", - "type": "integer" - }, - "doc": { - "$ref": "GDocumentBase", - "description": "The document itself. If present, the docservers parse the contents to create a mustang repository." - }, - "extendedDocid": { - "description": "The serialized ExtendedDocId, needed to construct a proper docinfo response if the docinfo request is missing it and it's present.", - "format": "byte", - "type": "string" - }, - "globalDocid": { - "description": "the global docid, we need it in the docservers (Continuum mode) to construct proper docinfo response when the docinfo request does not contain a valid global docid", - "format": "uint64", - "type": "string" - }, - "originalEncoding": { - "description": "If the original encoding isn't UTF8", - "format": "int32", - "type": "integer" - }, - "section": { - "items": { - "$ref": "TeragoogleDocumentInfoSection" - }, - "type": "array" - }, - "sectionType": { - "description": "Indicates format of 'tokens' field in all Section entries.", - "enum": [ - "MDU", - "TOKENSPACE", - "TERADOC" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "TeragoogleDocumentInfoAttachment": { - "description": "Misc. attachments to be added to the dynamic repository the docservers build. These override any attachments created by parsing the GDocumentBase.", - "id": "TeragoogleDocumentInfoAttachment", - "properties": { - "name": { - "type": "string" - }, - "options": { - "$ref": "TeragoogleRepositoryAttachmentOptions" - }, - "value": { - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "TeragoogleDocumentInfoSection": { - "description": "Sections to be added to the dynamic repository the docservers build. 'tokens' is either a sequence of tokens encoded using the TokenSequenceEncoder (MDU), or a TokenspaceRepository (depends on what's set in section_type. If 'doc' is present, then the contents of these sections override what was created by parsing 'doc'.", - "id": "TeragoogleDocumentInfoSection", - "properties": { - "fieldName": { - "description": "List of field repository (subsection) names within the section.", - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "type": "string" - }, - "tokens": { - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "TeragoogleRepositoryAttachmentOptions": { - "description": "Compression type to be applied to section/attachment.", - "id": "TeragoogleRepositoryAttachmentOptions", - "properties": { - "compression": { - "enum": [ - "COMPRESSION_NONE", - "COMPRESSION_ZIPPY" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "TitleSizeParams": { - "description": "Data related to title sizing calculations in Muppet.", - "id": "TitleSizeParams", - "properties": { - "muppetTitleLengthInDeciems": { - "description": "Total max length of title in deciems", - "format": "int32", - "type": "integer" - }, - "muppetTitleNumLines": { - "description": "Number of lines for title", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ToolBarPerDocData": { - "description": "DO NOT USE THIS FOR ANYTHING LIVE WITHOUT PERMISSION! If you want to use this for anything user-facing file a logs-access ticket describing what you want to do. This data is currently only available in the freshdocs pipeline, so it will only be present in instant mustang and certain librarian shards. Email freshdocs-indexing with questions.", - "id": "ToolBarPerDocData", - "properties": { - "VisitorsPastDay": { - "description": "Indicates how many distinct toolbar visitors this page had in the past day. Will only be present if the number is reasonably large.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "TravelFlightsAirlineConfig": { - "description": "Next ID: 29", - "id": "TravelFlightsAirlineConfig", - "properties": { - "alliance": { - "description": "STAR_ALLIANCE", - "enum": [ - "UNKNOWN", - "AIRUNION", - "ARAB_AIR_CARRIERS_ORGANIZATION", - "ARABESK_AIRLINE_ALLIANCE", - "CENTRAL_MOUNTAIN_AIR", - "CONTINENTAL_AIRLINES", - "EAGLE_AIR", - "FEDEX_EXPRESS", - "GRUPO_TACA", - "JAT_AIRWAYS", - "LUFTHANSA_REGIONAL", - "ONEWORLD", - "QUALIFLYER", - "SIX", - "SKYTEAM", - "SKYTEAM_CARGO", - "STAR_ALLIANCE", - "TUI_AIRLINES", - "WOW_ALLIANCE" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Also noted as '6'", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "baggageCarryonLimitationsUrls": { - "$ref": "TravelFlightsNameCatalogProto", - "description": "Default url for baggage fee information." - }, - "baggageFeeUrls": { - "$ref": "TravelFlightsNameCatalogProto", - "description": "Default url for baggage fee information." - }, - "countryCode": { - "description": "ISO 3166-1 alpha-2 country code in which this airline is domestic.", - "type": "string" - }, - "countryContactInfo": { - "description": "LocalizedContactInfo allows localization by country and language. Once the data is ready, we will start filling both fields. After that the old field will be deprecated and deleted at some point.", - "items": { - "$ref": "TravelFlightsAirlineConfigCountryContactInfo" - }, - "type": "array" - }, - "dupFlag": { - "description": "true, if this carrier's IATA code is a \"controlled duplicate\" (goto/controlled-duplicate).", - "type": "boolean" - }, - "fareFamilyUrls": { - "$ref": "TravelFlightsNameCatalogProto", - "deprecated": true - }, - "fqtvPartnerCode": { - "description": "IATA codes of airlines who this airline's travel can be credited to for mileage accrual.", - "items": { - "type": "string" - }, - "type": "array" - }, - "greenFaresInfo": { - "$ref": "TravelFlightsAirlineConfigGreenFaresInfo" - }, - "iataCode": { - "description": "Note that some iata_codes are reused (`dup_flag` field). For details, including how to resolve collisions for airlines shown in Google Flights, see: go/controlled-duplicate go/flights-data/airlines#resolving-iata-code-collisions cs/go/controlled-duplicate U2 - some have no IATA code", - "type": "string" - }, - "icaoCode": { - "description": "EZY - some have no ICAO code", - "type": "string" - }, - "innovataCode": { - "description": "U2! - with optional dedup sign ('!')", - "type": "string" - }, - "localizedContactInfo": { - "items": { - "$ref": "TravelFlightsAirlineConfigLocalizedContactInfo" - }, - "type": "array" - }, - "mid": { - "description": "Note: fields #16 and #17 are ununused. The identifier of the airline, e.g. /m/07y2s for United Populated using airlines_mids.csv.", - "type": "string" - }, - "names": { - "$ref": "TravelFlightsNameCatalogProto", - "description": "EasyJet/イージージェット" - }, - "passengerAssistanceUrls": { - "$ref": "TravelFlightsNameCatalogProto", - "description": "Default url for passenger assistance information." - }, - "popularity": { - "description": "Number of flights with this airline over the next 180 days.", - "format": "int32", - "type": "integer" - }, - "shortNames": { - "$ref": "TravelFlightsNameCatalogProto", - "description": "KLM - instead of 'KLM Royal Dutch Airlines'" - }, - "sustainabilityProgramUrls": { - "$ref": "TravelFlightsNameCatalogProto", - "description": "URLs for airlines' sustainability programs." - }, - "type": { - "enum": [ - "SCHEDULED_PASSENGER", - "NON_SCHEDULED_PASSENGER", - "SCHEDULED_CARGO", - "NON_SCHEDULED_CARGO", - "NON_AIRLINE_LOAD_DEVICE", - "CRS", - "SCHEDULED_PASSENGER_CARGO", - "NON_SCHEDULED_PASSENGER_CARGO", - "RAILWAY", - "AIRLINE_PREFIX", - "UNRECOGNIZED" - ], - "enumDescriptions": [ - "A", - "B", - "C", - "D", - "G", - "H", - "I", - "J", - "K", - "O", - "next id: 12" - ], - "type": "string" - }, - "urls": { - "$ref": "TravelFlightsNameCatalogProto", - "description": "http://www.airfrance.us/" - }, - "waiverSummaryUrls": { - "$ref": "TravelFlightsNameCatalogProto", - "description": "Default url for waiver information." - } - }, - "type": "object" - }, - "TravelFlightsAirlineConfigContactInfo": { - "id": "TravelFlightsAirlineConfigContactInfo", - "properties": { - "data": { - "description": "Typically, formatted phone number.", - "type": "string" - }, - "type": { - "enum": [ - "PHONE_PRIMARY", - "PHONE_TTY" - ], - "enumDescriptions": [ - "Primary phone number.", - "TTY(Teletype) number for hearing/speech impaired users." - ], - "type": "string" - } - }, - "type": "object" - }, - "TravelFlightsAirlineConfigCountryContactInfo": { - "description": "Airline contact info grouped by country.", - "id": "TravelFlightsAirlineConfigCountryContactInfo", - "properties": { - "contactInfo": { - "items": { - "$ref": "TravelFlightsAirlineConfigContactInfo" - }, - "type": "array" - }, - "countryCode": { - "description": "Two char country code, e.g. \"US\"", - "type": "string" - } - }, - "type": "object" - }, - "TravelFlightsAirlineConfigGreenFaresInfo": { - "id": "TravelFlightsAirlineConfigGreenFaresInfo", - "properties": { - "bonusMilesProgramName": { - "type": "string" - }, - "bonusMilesQuantity": { - "format": "int64", - "type": "string" - }, - "bonusMilesQuantityType": { - "enum": [ - "BONUS_MILES_QUANTITY_TYPE_UNDEFINED", - "ABSOLUTE", - "PERCENTAGE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "bonusMilesType": { - "enum": [ - "BONUS_MILES_TYPE_UNDEFINED", - "MILES", - "POINTS" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "contributionFraming": { - "enum": [ - "CONTRIBUTION_FRAMING_UNDEFINED", - "SAF", - "CARBON_COMPENSATION" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "TravelFlightsAirlineConfigLocalizedContactInfo": { - "description": "Airline contact info grouped by language. The language locale subcode will determine the country.", - "id": "TravelFlightsAirlineConfigLocalizedContactInfo", - "properties": { - "contactInfo": { - "items": { - "$ref": "TravelFlightsAirlineConfigContactInfo" - }, - "type": "array" - }, - "language": { - "description": "IETF BCP-47, e.g. \"en\" or \"zh-HK-Hant\"", - "type": "string" - } - }, - "type": "object" - }, - "TravelFlightsNameCatalogEntry": { - "id": "TravelFlightsNameCatalogEntry", - "properties": { - "language": { - "type": "string" - }, - "text": { - "type": "string" - } - }, - "type": "object" - }, - "TravelFlightsNameCatalogProto": { - "id": "TravelFlightsNameCatalogProto", - "properties": { - "name": { - "items": { - "$ref": "TravelFlightsNameCatalogEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "TrawlerClientServiceInfo": { - "description": "ClientServiceInfo is meant for trawler/harpoon clients which are in turn services to store some data specific to their clients. E.g., Kodachrome may serve multiple other clients. In this case they can store their client name here. Webmirror may also store the feed name here even though a feed is technically not a service client. ClientServiceInfo is in nature similar to ClientInfo, except it's stored in FetchReplyData (i.e., trawler logs), whereas ClientInfo is copied to FetchReply (outside FetchReplyData), thus it's not stored in trawler logs.", - "id": "TrawlerClientServiceInfo", - "properties": { - "DelegatedProjectName": { - "description": "Project delegation name to support bandwidth enforcement. Harpoon will call SetDelegatedUser() with the specified DelegatedProjectName and a domain associated with the RequestorID provided in the client capatibility file.", - "type": "string" - }, - "ServiceClientID": { - "type": "string" - }, - "clientLabels": { - "items": { - "$ref": "TrawlerClientServiceInfoClientLabels" - }, - "type": "array" - } - }, - "type": "object" - }, - "TrawlerClientServiceInfoClientLabels": { - "description": "ClientLabels contains client-specified key/value pairs, used to annotate individual FetchRequests and FetchReplies. This is primarily useful when the Multiverse Nexus performs postprocessing of fetchreplies. ClientLabels essentially allow clients to use the Nexus UI to slice statistics computed on fetchreplies by the specified key/value pairs. Note: we don't use \"map\" type here delibrately in order to avoid the non-deterministric serialization of the \"map\" field. See b/69064361 for more details.", - "id": "TrawlerClientServiceInfoClientLabels", - "properties": { - "labelsDeprecated": { - "additionalProperties": { - "$ref": "TrawlerClientServiceInfoClientLabelsClientLabelValues" - }, - "deprecated": true, - "description": "======================== End of Deprecated Part ========================", - "type": "object" - }, - "name": { - "type": "string" - }, - "values": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "TrawlerClientServiceInfoClientLabelsClientLabelValues": { - "description": "===================== Beginning of Deprecated Part ======================", - "id": "TrawlerClientServiceInfoClientLabelsClientLabelValues", - "properties": { - "value": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "TrawlerContentRangeInfo": { - "description": "Parsed version of a Content-Range field, which in http might look like: Content-Range: bytes 500-999/3156", - "id": "TrawlerContentRangeInfo", - "properties": { - "EndPos": { - "format": "int64", - "type": "string" - }, - "StartPos": { - "description": "In ContentRange, the first byte is 0 (rather than 1), and the positions are inclusive. Thus, length is EndPos+1-StartPos", - "format": "int64", - "type": "string" - }, - "TotalLength": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "TrawlerCrawlTimes": { - "description": "This is similar to CrawlDates group in FetchReplyData, except that 1) it's a message; 2) it's filled in each Redirects hop; and 3) the timestamps are in ms rather than seconds since Unix Epoch.", - "id": "TrawlerCrawlTimes", - "properties": { - "NotChangedTimeMs": { - "description": "fetched from the web. Time when the page was last", - "format": "int64", - "type": "string" - }, - "OriginalCrawlTimeMs": { - "description": "Time when the page was", - "format": "int64", - "type": "string" - }, - "ReuseTimeMs": { - "description": "checked but found to be the same as before. If set, timestamp to indicate", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "TrawlerEvent": { - "description": "Event is for logging interesting events that happen during a url fetch. Interesting events include \"fetch start\", \"url rejected\", etc. The events are written to binary logs together with the request and reply messages. If the same event occurs multiple times consecutively, We record the time of the first three instances in EarliestTimeStamp but omit the rest. We keep track the total number of occurrences in NumOccurrences and the timestamp of the last occurrence is kept in TimeStamp field.", - "id": "TrawlerEvent", - "properties": { - "ID": { - "format": "uint64", - "type": "string" - }, - "Msg": { - "type": "string" - }, - "NumOccurrences": { - "format": "int32", - "type": "integer" - }, - "OldestTimeStampInUS": { - "description": "Limited to 3.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "TimeStampInUS": { - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "TrawlerFetchBodyData": { - "id": "TrawlerFetchBodyData", - "properties": { - "compression": { - "enum": [ - "NO_COMPRESSION", - "ZLIB_COMPRESSION", - "HTML_DICTIONARY_COMPRESSION" - ], - "enumDescriptions": [ - "", - "RFC 1950", - "RFC 1950 with html-dictionary" - ], - "type": "string" - }, - "content": { - "format": "byte", - "type": "string" - }, - "uncompressedSize": { - "description": "Size hint. Set if compression != NO_COMPRESSION", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "TrawlerFetchReplyData": { - "description": "Fetcher -\u003e FetchClient FetchReplyData is the metadata for a reply from a FetchRequest. For metadata + document body, FetchReply is further below. NOTE: FetchReplyData (and FetchReply) is the output interface from Multiverse. Teams outside Multiverse/Trawler should not create fake FetchReplies. Trawler: When adding new fields here, it is recommended that at least the following be rebuilt and pushed: - cron_fetcher_index mapreduces: so that UrlReplyIndex, etc. retain the new fields - tlookup, tlookup_server: want to be able to return the new fields - logviewer, fetchutil: annoying to get back 'tag88:' in results -------------------------- Next Tag: 125 -----------------------", - "id": "TrawlerFetchReplyData", - "properties": { - "BadSSLCertificate": { - "description": "This field, if non-empty, contains the SSL certificate chain from the server. The filed should be serialized SSLCertificateInfo protobuf, although it used to be text format. Hence, one should ideally use trawler::CertificateUtil to check this field and understand in more detail. This field is populated in two cases: (1) something is wrong with the server certificate and we cannot verify the server's identity. In this case the URL most likely won't display in a browser; (2) if you turned on WantSSLCertificateChain in the FetchRequest. In this case the server certificate may be perfectly fine (despite the field name). This is for the initial hop; additional hops are in Redirects group.", - "format": "byte", - "type": "string" - }, - "ClientServiceInfo": { - "$ref": "TrawlerClientServiceInfo", - "description": "Some client specific data that's set by client in the FetchRequest, and we just copy it here verbatim. This is similar to ClientInfo that we copy from FetchRequest to FetchReply, but this is copied to FetchReplyData, thus stored in trawler logs so can be useful for debugging cases." - }, - "CompressedBody": { - "description": "Is the associated body compressed ?", - "type": "boolean" - }, - "CrawlTimes": { - "$ref": "TrawlerCrawlTimes" - }, - "DNSHost": { - "description": "Sometimes the hostid and destination IP in the FetchReplyData are not for the hostname in the url. If that's the case DNSHost will be the host that we have used when resolving hostid and DNS. Right now there are two cases: (1) malware team provides a proxy IP:Port to us, so DNSHost will be the proxy IP; and (2) PSS team provides a reference DNS host; so DNSHost will be the reference DNS host.", - "type": "string" - }, - "DownloadTime": { - "description": "The download time for this fetch (ms). This is the RTT time between fetcher and HOPE, note it does not include time from redirects, just initial hop. If you want the sum of the DownloadTime values for all fetches in the redirect chain, then use the DownLoadTime value in the FetchStats.", - "format": "int32", - "type": "integer" - }, - "EgressRegion": { - "description": "If present, the edge region that we have used.", - "type": "string" - }, - "EligibleGeoCrawlEgressRegion": { - "description": "If present, it means this host might be eligible for geo crawl. However, this does not mean we enable geo-crawl for this request. Check \"GeoCrawlEgressRegion\" instead to see if this fetch is conducted via geo crawl.", - "type": "string" - }, - "Endpoints": { - "$ref": "TrawlerTCPIPInfo", - "description": "------- If fetched, the IP from which we fetched, as well as source IP and ports. It is recommended to use trawler::DestinationIP()/HasDestinationIP() accessors, which return a proper IPAddress." - }, - "Events": { - "items": { - "$ref": "TrawlerEvent" - }, - "type": "array" - }, - "FetchPatternFp": { - "description": "With the introduction of fetch pattern based hostload exceptions, one hostid may have multiple hostload buckets, each with its own hostload. In this case, FetchPatternFp will be set to identify the hostload bucket within the hostid. Note this field is only meaningful for the HostBucketData which is recorded only when the client requests to have as part of reply. However, this field is useful for certain stats gathering, so we choose to always record it if its value is available during the fetch.", - "format": "uint64", - "type": "string" - }, - "FlooEgressRegion": { - "description": "If present, fetch was conducted using floonet and this is the location of floonet egress point we used.", - "type": "string" - }, - "GeoCrawlEgressRegion": { - "description": "If present, the last hop of the fetch was conducted using floonet and this is the location of floonet egress point. It is different from EgressRegion and FlooEgressREgion because it is a Trawler transparent routing configured in the geo crawl rules(go/da-geo-crawl).", - "type": "string" - }, - "GeoCrawlFallback": { - "description": "Whether we fallback from geo crawl to local crawl during fetch. The fallback could happen in any hops and there can be at most one fallback because once fallback happens, we will not try geo-crawl anymore.", - "type": "boolean" - }, - "GeoCrawlLocationAttempted": { - "description": "Set only when GeoCrawlFallback is true. Logs the geo crawl location we attempted but failed for this request.", - "type": "string" - }, - "HSTSInfo": { - "description": "Set to: o HSTS_STATUS_NONE if there was no HSTS policy match for the URL's host. o HSTS_STATUS_AVAILABLE if there was an HSTS policy, but the URL was not rewritten from HTTP to HTTPS because enable_hsts was not set in client capability config. o HSTS_STATUS_REWRITTEN if the HSTS policy was followed and url was rewritten from HTTP to HTTPS. This field only pertains to the current URL fetch and does not explain a redirect's HSTS status. However, FetchReplyData.Redirects have their own HSTSInfo.", - "enum": [ - "HSTS_STATUS_NONE", - "HSTS_STATUS_AVAILABLE", - "HSTS_STATUS_REWRITTEN" - ], - "enumDescriptions": [ - "No HSTS policy available for this fetch.", - "There is an HSTS policy for this fetch but the fetch URL was not applied.", - "There is an HSTS policy for this fetch and the URL was rewritten from HTTP -\u003e HTTPS." - ], - "type": "string" - }, - "HTTPTrailers": { - "description": "The received HTTP trailers if available.", - "items": { - "$ref": "TrawlerFetchReplyDataHTTPHeader" - }, - "type": "array" - }, - "HopCacheKeyForLookup": { - "description": "Returns the cache key used when doing cache lookup/update, on a per-hop basis (initial hop) Note this field will not be set if cache lookup/update is disabled/skipped.", - "format": "uint64", - "type": "string" - }, - "HopCacheKeyForUpdate": { - "format": "uint64", - "type": "string" - }, - "HopReuseInfo": { - "description": "Returns trawler::ReuseInfo with status of IMS/IMF/cache query, on a per-hop basis (initial hop) For example, if the URL redirect chain is [URL A] --\u003e [URL B] --\u003e [URL C], this field stores the reuse info of [URL A].", - "enum": [ - "RUI_NONE", - "RUI_IMS_CACHE_CURRENT", - "RUI_IMS_NOT_MODIFIED", - "RUI_IMS_CHANGED", - "RUI_IMF_NOCACHE", - "RUI_IMF_CACHE_CURRENT", - "RUI_IMF_HIT", - "RUI_IMF_CHANGED", - "RUI_IMF_POST_HIT_ERROR", - "RUI_CACHE_CURRENT", - "RUI_CACHE_EXPIRED", - "RUI_CACHE_NOCACHE", - "RUI_CACHE_UNUSABLE", - "RUI_IMF_UNUSABLE", - "NUM_REUSE_INFO_VALS" - ], - "enumDescriptions": [ - "Neither IMS or IMF were enabled", - "IMS Had IMS enabled; but had cache hit;", - "so didn't need to do the fetch Did IMS and got back 304", - "Did IMS and got back non-304", - "IMF - UseBigTableIMF set IMF enabled; but result wasn't in the cache", - "IMF enabled; but cached copy was current", - "IMF enabled; had older cached copy;", - "but got back 304; returned content IMF enabled; had older cached copy;", - "got back non-304; indicating change Got back 304 on IMF; but cached copy failed;", - "ACCEPTABLE AGE; no IMF Cache hit", - "Had content; but older than max", - "No content in cache", - "Cache entry; but not usable", - "Cache entry for IMF; but not usable", - "*** don't forget to update." - ], - "type": "string" - }, - "HopRobotsInfo": { - "description": "Extra information in robots.txt for this page (integer: or'ed together of type trawler::RobotsInfo) on a per-hop basis (initial hop)", - "format": "int32", - "type": "integer" - }, - "HostBucketData": { - "$ref": "TrawlerHostBucketData", - "description": "Data about the host bucket this request is in (if desired) Please talk with Trawler team before considering using this, since what we fill in here is subject to change." - }, - "HostId": { - "description": "If known, the trawler::HostId that identifies the host (initial hop).", - "format": "uint64", - "type": "string" - }, - "HttpProtocol": { - "description": "The http protocol we send to fetch this URL. This will only be set if the request is using http", - "enum": [ - "PROTO_GET", - "PROTO_POST", - "PROTO_HEAD", - "PROTO_PUT", - "PROTO_DELETE", - "PROTO_PATCH", - "PROTO_OPTIONS", - "FIRST_PROTO", - "NUM_PROTOS" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "We list this after PROTO_* values to make sure", - "HTTPProtocolType_Name(0) returns the correct string." - ], - "type": "string" - }, - "HttpRequestHeaders": { - "description": "The HTTP headers we sent to fetch this URL (initial hop). Not normally filled in, unless FetchParams.WantSentHeaders is set.", - "type": "string" - }, - "HttpResponseHeaders": { - "description": "HTTP headers from the response (initial hop). Trawler does not fill this in; this is intended as a placeholder for crawls like webmirror that fill in and want to track this across redirect hops.", - "type": "string" - }, - "HttpVersion": { - "description": "Stores the HTTP version we used in the final hop.", - "enum": [ - "HTTP_11", - "HTTP_10", - "HTTP_09", - "HTTP_2", - "HTTP_AUTO", - "FIRST_VERSION", - "NUM_VERSIONS" - ], - "enumDescriptions": [ - "", - "", - "??? do we want this ???", - "EXPERIMENTAL, DO NOT USE unless you have talked to", - "trawler-dev@. Allow fetcher to automatically select HTTP protocol", - "version. The selection is based on prior knowledge and dynamic server response. Basically, if the client and the host is configured to allow HTTP/2 traffic, we will select HTTP/2 and send HTTP/2 traffic; and we will fallback to HTTP/1 if we found the server does not support HTTP/2 through ALPN. HTTP Version selection will be applied to each redirect hop. More details about HTTP/2 traffic configuration can be found in: googledata/googlebot/http2_traffic_control_file. We list this after HTTP_* values to make sure", - "HTTPVersion_Name(0) returns the correct string." - ], - "type": "string" - }, - "ID": { - "description": "Same as the ID of the matching request (used for matching internal fetchclient data in request/reply)", - "format": "uint64", - "type": "string" - }, - "LastUrlStatus": { - "$ref": "TrawlerFetchStatus", - "description": "Crawl status of the last url on chain" - }, - "PolicyData": { - "description": "Trawler can optionally add a policy label to a FetchReply. Some uses: - \"spam\" label via trawler_site_info - \"roboted:googlebot\" label as a signal to crawls supporting multiple useragents that it's not safe to share the fetch replies with googlebot crawls.", - "items": { - "$ref": "TrawlerPolicyData" - }, - "type": "array" - }, - "PostData": { - "description": "If the fetch uses HTTP POST, PUT, or PATCH protocol, and WantPostData is true, the POST data will be copied here. This is only for initial hop. If there are redirects, HTTP POST will be changed to GET on subsequent hops, and the PostData will be cleared. There is only one exception, if the HTTP response code to the POST request is 307 (a new code introduced in RFC7321, sec. 6.4.7), we will preserve the request method and the PostData for the next hop.", - "format": "byte", - "type": "string" - }, - "PredictedDownloadTimeMs": { - "description": "This is available only if a fetch results in TIMEOUT_WEB, and we were able to predict, based on content length and bandwidth we were using, how much time (in ms) would be needed to download the entire content.", - "format": "int32", - "type": "integer" - }, - "ProtocolVersionFallback": { - "description": "Whether we fallback from HTTP/2 to HTTP/1.1 during fetch. The fallback could happen in any hops and there can be at most one fallback because once fallback happens, we will not try HTTP/2 anymore.", - "type": "boolean" - }, - "RedirectSourceFetchId": { - "description": "If this fetch was a result of a redirect, we populate the parent ID here.", - "format": "uint64", - "type": "string" - }, - "RequestorID": { - "description": "RequestorId is the same on as in the request that triggers this reply -- mainly for diagnostics purpose", - "type": "string" - }, - "RequestorIPAddressPacked": { - "description": "Machine that sent Trawler this request, for logging. An IPAddress object, packed as a string.", - "format": "byte", - "type": "string" - }, - "ReuseInfo": { - "description": "-------- Returns trawler::ReuseInfo with status of IMS/IMF/cache query. Consider using HopReuseInfo instead, which has per-redirect hop detail. If there's URL redirection, this field stores the reuse info of the last hop. For example, if the and URL redirect chain is [URL A] --\u003e [URL B] --\u003e [URL C], this field stores the reuse info of [URL C].", - "enum": [ - "RUI_NONE", - "RUI_IMS_CACHE_CURRENT", - "RUI_IMS_NOT_MODIFIED", - "RUI_IMS_CHANGED", - "RUI_IMF_NOCACHE", - "RUI_IMF_CACHE_CURRENT", - "RUI_IMF_HIT", - "RUI_IMF_CHANGED", - "RUI_IMF_POST_HIT_ERROR", - "RUI_CACHE_CURRENT", - "RUI_CACHE_EXPIRED", - "RUI_CACHE_NOCACHE", - "RUI_CACHE_UNUSABLE", - "RUI_IMF_UNUSABLE", - "NUM_REUSE_INFO_VALS" - ], - "enumDescriptions": [ - "Neither IMS or IMF were enabled", - "IMS Had IMS enabled; but had cache hit;", - "so didn't need to do the fetch Did IMS and got back 304", - "Did IMS and got back non-304", - "IMF - UseBigTableIMF set IMF enabled; but result wasn't in the cache", - "IMF enabled; but cached copy was current", - "IMF enabled; had older cached copy;", - "but got back 304; returned content IMF enabled; had older cached copy;", - "got back non-304; indicating change Got back 304 on IMF; but cached copy failed;", - "ACCEPTABLE AGE; no IMF Cache hit", - "Had content; but older than max", - "No content in cache", - "Cache entry; but not usable", - "Cache entry for IMF; but not usable", - "*** don't forget to update." - ], - "type": "string" - }, - "RobotsInfo": { - "description": "Extra information in robots.txt for this page (ORed together bits from trawler::RobotsInfo). e.g. nosnippet vs. noarchive vs nofollow vs noindex vs disallow Consider using HopRobotsInfo instead, which has per-redirect hop detail.", - "format": "int32", - "type": "integer" - }, - "RobotsStatus": { - "$ref": "TrawlerFetchStatus", - "description": "Status of the robots.txt fetch. Currently, this is present if: - Certain robots error cases, such as URL_TIMEOUT-TIMEOUT_ROBOTS or URL_UNREACHABLE-UNREACHABLE_ROBOTS_ERROR. - If WantRobotsBody is set in the FetchParams." - }, - "RobotsTxt": { - "description": "The robots.txt we used for this URL (initial hop). Not normally filled in unless WantRobotsBody is set. This is mostly for debugging purposes and should not be used for large volumes of traffic.", - "format": "byte", - "type": "string" - }, - "Status": { - "$ref": "TrawlerFetchStatus", - "description": "Status of the fetch - refers to the final status at the end of the redirect chain." - }, - "ThrottleClient": { - "$ref": "TrawlerThrottleClientData", - "description": "If present, Client API will enforce the contained constraints" - }, - "ThrownAwayBytes": { - "description": "Sometimes we throw away content because we cannot store it in the internal buffers. These is how many bytes we have thrown away for this factor.", - "format": "int64", - "type": "string" - }, - "TimestampInMS": { - "description": "When this reply came back from fetcher NOTE: TimestampInMS is used for internal debugging. To see when a document was crawled, check CrawlDates.", - "format": "int64", - "type": "string" - }, - "TotalFetchedSize": { - "description": "How many raw bytes we read from the connection to the server when we fetched the page. Includes everything: HTTP headers, overhead for HTTP chunked encoding, whatever compressed/uncompressed form (i.e. gzip/deflate accept-encoding) the content was sent in, etc. This is NOT the same as the size of the uncompressed FetchReply::Body - if the webserver used gzip encoding, this value might be much smaller, since it only counts the compressed wire size. To illustrate, think of 3 sizes: 1) TotalFetchedSize - amount Trawler read over the wire from the server. If they used gzip/deflate, this might be 4-5x smaller than the body. 2) UnTruncatedSize/CutoffSize - how big is the full document, after uncompressing any gzip/deflate encoding? If truncated, this is reflected in CutoffSize. 3) FetchReply::Body size - most crawls enable Trawler compression to save storage space (gzip + a google html dictionary). The body size that the end Trawler client sees is post-compression.", - "format": "int64", - "type": "string" - }, - "TransparentRewrites": { - "description": "If the url got rewriten by transparent rewrites, here it is the series of rewrites it got through. The fetched one is the last", - "items": { - "type": "string" - }, - "type": "array" - }, - "TrawlerPrivate": { - "$ref": "TrawlerTrawlerPrivateFetchReplyData", - "description": "For logging only; not present in the actual fetcher response" - }, - "Url": { - "description": "The original url in the request we are answering. Even though \"optional,\" url must be filled in on all well-formed replies. Trawler guarantees that it is filled in, and basically every client expects it (CHECKs in some cases). -\u003e Not filling this field in is a bug, if you share this data with other crawls/pipelines. You should expect everybody else to require a url.", - "type": "string" - }, - "UrlEncoding": { - "description": "Encoding info for the original url itself. Bitfield encoding; see UrlEncoding::{Set,Get}Value in webutil/urlencoding.", - "format": "int32", - "type": "integer" - }, - "UseHtmlCompressDictionary": { - "description": "Use the special compression dictionary for uncompressing this. (trawler::kHtmlCompressionDict. Use trawler::FetchReplyUncompressor to uncompress; crawler/trawler/public/fetchreply-util.h)", - "type": "boolean" - }, - "crawldates": { - "$ref": "TrawlerFetchReplyDataCrawlDates", - "deprecated": true - }, - "deliveryReport": { - "$ref": "TrawlerFetchReplyDataDeliveryReport", - "description": "Transfer operation detailed report." - }, - "fetchstats": { - "$ref": "TrawlerFetchReplyDataFetchStats" - }, - "originalProtocolUrl": { - "description": "If the input url in FetchRequest is Amazon S3 protocol or Apple Itunes protocol, we will translate it into https url and log it as https url. In the meantime we will store the original s3/itunes url in this field. Before sending back to client, the Url will be translated back to s3 and this field will be cleard.", - "type": "string" - }, - "partialresponse": { - "$ref": "TrawlerFetchReplyDataPartialResponse" - }, - "protocolresponse": { - "$ref": "TrawlerFetchReplyDataProtocolResponse" - }, - "redirects": { - "items": { - "$ref": "TrawlerFetchReplyDataRedirects" - }, - "type": "array" - }, - "trafficType": { - "description": "Traffic type of this fetch.", - "enum": [ - "TRAFFIC_TYPE_UNSPECIFIED", - "TRAFFIC_TYPE_NO_FETCH", - "TRAFFIC_TYPE_ONEOFF_CRAWL", - "TRAFFIC_TYPE_DISCOVERY", - "TRAFFIC_TYPE_REFRESH" - ], - "enumDescriptions": [ - "", - "Not fetch traffic is consisted of requests that we schedule it as notification for clients, but not need to actually fetch.", - "As the name suggests, oneoff crawl means client just needs to crawl the URLs once.", - "Discovery traffic is consisted of the new URLs discovered by Multiverse, that we have never seen in the crawl history.", - "The context of refresh crawl is that client needs to check the content of some URLs periodically, so they refresh those URLs regularly." - ], - "type": "string" - }, - "webioInfo": { - "$ref": "TrawlerFetchReplyDataWebIOInfo" - } - }, - "type": "object" - }, - "TrawlerFetchReplyDataCrawlDates": { - "description": "Reuse information returned if UrlState == CRAWLED, specifying when we may have reused from cache. See also ReuseInfo below. NOTE: Please use the CrawlTimes below. CrawlDates is deprecated. use CrawlTimes instead!", - "id": "TrawlerFetchReplyDataCrawlDates", - "properties": { - "NotChangedDate": { - "description": "fetched from the web. Timestamp indicates when", - "format": "int32", - "type": "integer" - }, - "OriginalCrawlDate": { - "description": "Timestamp when the page was", - "format": "int32", - "type": "integer" - }, - "ReuseDate": { - "description": "the page was last checked but found to be the same as before. If set, timestamp to indicate", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "TrawlerFetchReplyDataDeliveryReport": { - "description": "Depending on which Data Acquisition API the client uses, the fetched content can be delivered to the client in the RPC, via Goops, or copied to the client's storage system (possibly after transformation). In the latter case, DeliveryReport will contain info about the delivery status, such as whether we have permission error, whether the destination storage is out of quota, etc).", - "id": "TrawlerFetchReplyDataDeliveryReport", - "properties": { - "events": { - "description": "The events store the detail of messages (usually error).", - "items": { - "$ref": "TrawlerEvent" - }, - "type": "array" - }, - "filePath": { - "description": "The complete path (include the file name) of the file downloaded. For requests that require delivery, this path will be the user specified location. For requests that use Multiverse default storage, this path will be the managed by Multiverse.", - "type": "string" - }, - "status": { - "description": "Status of the transfer action.", - "enum": [ - "TRANSFER_UNSPECIFIED", - "TRANSFER_OK", - "TRANSFER_UNAVAILABLE", - "TRANSFER_INTERNAL", - "TRANSFER_INVALID_DESTINATION", - "TRANSFER_PERMISSION_DENIED", - "TRANSFER_RESOURCE_EXHAUSTED", - "TRANSFER_NOT_ATTEMPTED" - ], - "enumDescriptions": [ - "", - "Everything looks good!", - "The service is currently unavailable. This is most likely a transient condition, which can be corrected by retrying with a backoff. Note that it is not always safe to retry non-idempotent operations.", - "Internal errors. This means that some invariants expected by the underlying system have been broken.", - "File can't be moved to the specified destination. Most likely due to an invalid destination or invalid destination configuration.", - "The request does not have valid authentication credentials for the operation.", - "Some resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.", - "The transfer did not start, typically because of the fetch failure." - ], - "type": "string" - } - }, - "type": "object" - }, - "TrawlerFetchReplyDataFetchStats": { - "description": "The fetcher keeps track of various time intervals spent in the states of the fetcher url control flow. Sometimes flows branch out into more than one flow (next flow), and we aggregate all the time intervals spent in a specific state for all the flows to get the time interval for the state. The time interval for a state is therefore not the time interval of an individual flow, if the WaitNextFlow time is non zero. The WaitNextFlow interval included here is the time spent by one flow waiting for another flow. Although the WaitNextFlow time is the time spent by a flow in the WaitNextFlow state, its also equivalent to the entire timeline of another flow. It is the time spent in the various states of another flow. In computing the total time spent in the primary flow, one must omit the WaitNextFlow time, since it is already included in the form of slices of individual state time intervals in the aggregated time intervals for other states, and will result in double counting.", - "id": "TrawlerFetchReplyDataFetchStats", - "properties": { - "BotOverheadMS": { - "description": "Overhead spent RPCing with the Bot/proxy.", - "format": "int32", - "type": "integer" - }, - "ClientControlflowStats": { - "$ref": "TrawlerFetchReplyDataFetchStatsClientStateStats" - }, - "ConnectTimeMs": { - "description": "Report only with first request on connection, so that we keep track of the connect time with a host. Sometimes a connection is initiated by a prior request that times out before the connection is established. Another request can get scheduled on a connection that is already in the process of being established but has no request scheduled onto it. We want to keep track of the entire connect time even if a request didn't need to wait for the entire connection establishment time. Sometimes a connection may get established before the first request uses it. We tag along the connect time with the first request using the connection. ConnectTimeMs also includes SSL negotiation time.", - "format": "int32", - "type": "integer" - }, - "ControlflowStats": { - "$ref": "TrawlerFetchReplyDataFetchStatsStateStats" - }, - "DownLoadTime": { - "description": "DownLoadTime = Share of connect time + ServerResponseTimeMs + TransferTimeMs (see below) in ms", - "format": "int32", - "type": "integer" - }, - "EdgeEgressOverheadMs": { - "description": "Overhead spent routing the request from HOPE to edge egress nodes, which open connection to webservers. This is only set for edge fetches (e.g., through Floonet egress nodes).", - "format": "int32", - "type": "integer" - }, - "SSLConnectTimeMs": { - "description": "ConnectTimeMs includes TCP connect time + SSL time, whereas SSLConnectTimeMs includes only the latter.", - "format": "int32", - "type": "integer" - }, - "ServerResponseTimeMs": { - "description": "Time between the request send and the receipt of the first fragment of the response. For HTTP responses the first fragment is the first fragment of the response payload (the headers are ignored).", - "format": "int32", - "type": "integer" - }, - "TransferTimeMs": { - "description": "Time to receive the entire response payload starting the clock on receiving the first fragment.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "TrawlerFetchReplyDataFetchStatsClientStateStats": { - "description": "Records stats about state changes on the client side if there're any. For example, there's a state of cache lookup when using private-cache client library.", - "id": "TrawlerFetchReplyDataFetchStatsClientStateStats", - "properties": { - "WaitContentCacheUsec": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "TrawlerFetchReplyDataFetchStatsStateStats": { - "description": "The following are only populated if Params.WantStateStats is true.", - "id": "TrawlerFetchReplyDataFetchStatsStateStats", - "properties": { - "EndTrackingTimeUsec": { - "format": "int64", - "type": "string" - }, - "StartTrackingTimeUsec": { - "description": "Start and end timestamp tracking the delays for this request.", - "format": "int64", - "type": "string" - }, - "WaitCompressTimeUsec": { - "format": "int32", - "type": "integer" - }, - "WaitContentCacheUsec": { - "format": "int32", - "type": "integer" - }, - "WaitCredentialTimeUsec": { - "format": "int32", - "type": "integer" - }, - "WaitDNSTimeUsec": { - "format": "int32", - "type": "integer" - }, - "WaitFetchClientUsec": { - "format": "int32", - "type": "integer" - }, - "WaitForCachedContentStreamingUsec": { - "format": "int32", - "type": "integer" - }, - "WaitForFetchUsec": { - "format": "int32", - "type": "integer" - }, - "WaitHostIdTimeUsec": { - "format": "int32", - "type": "integer" - }, - "WaitNextFlowUsec": { - "format": "int32", - "type": "integer" - }, - "WaitRobotsCacheTimeUsec": { - "description": "obsolete. Not set.", - "format": "int32", - "type": "integer" - }, - "WaitRobotsFetchTimeUsec": { - "description": "obsolete. Not set.", - "format": "int32", - "type": "integer" - }, - "WaitRobotsTimeUsec": { - "format": "int32", - "type": "integer" - }, - "WaitScheduleTimeUsec": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "TrawlerFetchReplyDataHTTPHeader": { - "description": "header : value", - "id": "TrawlerFetchReplyDataHTTPHeader", - "properties": { - "key": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "type": "object" - }, - "TrawlerFetchReplyDataPartialResponse": { - "description": "---------------------------------------------------------------------- PartialResponse is used with streaming responses in LargeFileFetchAdapter. Rather than fitting entirely in a single FetchReply, there is a series of FetchReplies until IsFinalResponse. Each group of responses will have a unique FetchID to link them.", - "id": "TrawlerFetchReplyDataPartialResponse", - "properties": { - "BodyLocation": { - "description": "If set, indicates where the fetched body is, e.g. a CNS file path. FetchReply.Body should be empty in this case. In the case where client does not support streaming but the content is too large to be accumulated in memory, we keep writing the streaming chunks to some storage unit and notify client when it is done.", - "type": "string" - }, - "ChunkNumber": { - "description": "Fetch number in this series of fetches", - "format": "int32", - "type": "integer" - }, - "ContentRange": { - "$ref": "TrawlerContentRangeInfo", - "description": "If there is a Content-Range header, the ranges in it" - }, - "ETag": { - "description": "Any ETag seen in the headers", - "type": "string" - }, - "FetchID": { - "description": "ID which links all partial fetches for this url", - "format": "uint64", - "type": "string" - }, - "IsFinalResponse": { - "description": "Is this the final response for this fetch?", - "type": "boolean" - } - }, - "type": "object" - }, - "TrawlerFetchReplyDataProtocolResponse": { - "description": "Group with protocol specific response (determined by the protocol of the url that generated the content we return).", - "id": "TrawlerFetchReplyDataProtocolResponse", - "properties": { - "Code": { - "description": "Response code. We emulate the HTTP response codes for all protocols that we know. -- HTTP: response code for the downloaded page. -- FTP: similar with HTTP: 200 - OK, 40X - errors (not found, etc), 500 - server unavailable", - "format": "int32", - "type": "integer" - }, - "ContentType": { - "description": "Content type as inferred by the fetcher (webutil/http/content-type.proto)", - "enum": [ - "CONTENT_FIRST_TYPE", - "CONTENT_GOOGLE_ERROR", - "CONTENT_GOOGLE_EMPTY", - "CONTENT_GOOGLE_OTHER", - "CONTENT_TEXT_HTML", - "CONTENT_TEXT_PLAIN", - "CONTENT_APPLICATION_POSTSCRIPT", - "CONTENT_APPLICATION_PDF", - "CONTENT_TEXT_WML", - "CONTENT_GOOGLE_WHITEPAGE", - "CONTENT_TEXT_HDML", - "CONTENT_TEXT_PDF", - "CONTENT_GOOGLE_USENET", - "CONTENT_IMAGE", - "CONTENT_IMAGE_THUMBNAIL", - "CONTENT_AUDIO_MP3", - "CONTENT_TEXT_POSTSCRIPT", - "CONTENT_APPLICATION_MSWORD", - "CONTENT_TEXT_MSWORD", - "CONTENT_APPLICATION_MS_POWERPOINT", - "CONTENT_TEXT_MS_POWERPOINT", - "CONTENT_APPLICATION_RTF", - "CONTENT_TEXT_RTF", - "CONTENT_APPLICATION_MS_EXCEL", - "CONTENT_TEXT_MS_EXCEL", - "CONTENT_TEXT_OTHER", - "CONTENT_APPLICATION_XSHOCKWAVEFLASH", - "CONTENT_TEXT_XSHOCKWAVEFLASH", - "CONTENT_APPLICATION_XGZIP", - "CONTENT_IMAGE_JPEG", - "CONTENT_IMAGE_XDJVU", - "CONTENT_SCAN_ATTR", - "CONTENT_SCAN_FAKE_HTML", - "CONTENT_GOOGLE_QECONOMY", - "CONTENT_GOOGLE_FROOGLE_OFFER", - "CONTENT_GOOGLE_DPL", - "CONTENT_GOOGLE_YP", - "CONTENT_APPLICATION_XML", - "CONTENT_GOOGLE_OCEAN_METADATA", - "CONTENT_GOOGLE_LOCALSEARCH", - "CONTENT_BINARY_OTHER", - "CONTENT_APPLICATION_ATOM_XML", - "CONTENT_APPLICATION_RDF_XML", - "CONTENT_APPLICATION_RSS_XML", - "CONTENT_APPLICATION_XHTML_XML", - "CONTENT_APPLICATION_OCTET_STREAM", - "CONTENT_TEXT_XML", - "CONTENT_GOOGLE_OCEAN_DOC", - "CONTENT_IMAGE_PNG", - "CONTENT_IMAGE_GIF", - "CONTENT_IMAGE_TIFF", - "CONTENT_APPLICATION_ZIP_ARCHIVE", - "CONTENT_TEXT_ZIP_ARCHIVE", - "CONTENT_APPLICATION_XGZIP_ARCHIVE", - "CONTENT_TEXT_XGZIP_ARCHIVE", - "CONTENT_APPLICATION_XTAR_ARCHIVE", - "CONTENT_TEXT_XTAR_ARCHIVE", - "CONTENT_APPLICATION_XCOMPRESS_ARCHIVE", - "CONTENT_TEXT_XCOMPRESS_ARCHIVE", - "CONTENT_APPLICATION_WAP_XHTML", - "CONTENT_APPLICATION_XJAVASCRIPT", - "CONTENT_APPLICATION_JAVASCRIPT", - "CONTENT_APPLICATION_ECMASCRIPT", - "CONTENT_TEXT_JAVASCRIPT", - "CONTENT_TEXT_ECMASCRIPT", - "CONTENT_APPLICATION_KML", - "CONTENT_APPLICATION_KMZ_ARCHIVE", - "CONTENT_TEXT_KML", - "CONTENT_APPLICATION_DWF", - "CONTENT_DRAWING_DWF", - "CONTENT_TEXT_DWF", - "CONTENT_APPLICATION_ODF", - "CONTENT_TEXT_ODF", - "CONTENT_GOOGLE_NEW", - "CONTENT_APPLICATION_OPENXML_WORD", - "CONTENT_TEXT_OPENXML_WORD", - "CONTENT_APPLICATION_OPENXML_EXCEL", - "CONTENT_TEXT_OPENXML_EXCEL", - "CONTENT_APPLICATION_OPENXML_POWERPOINT", - "CONTENT_TEXT_OPENXML_POWERPOINT", - "CONTENT_APPLICATION_OPENXML", - "CONTENT_TEXT_CSS", - "CONTENT_APPLICATION_JSON", - "CONTENT_TEXT_CROSS_DOMAIN_POLICY", - "CONTENT_APPLICATION_GPX_XML", - "CONTENT_APPLICATION_ENDNOTE_STYLE", - "CONTENT_TEXT_ENDNOTE_STYLE", - "CONTENT_APPLICATION_XPROTOBUFFER", - "CONTENT_APPLICATION_OPENSEARCHDESCRIPTION_XML", - "CONTENT_TEXT_CACHE_MANIFEST", - "CONTENT_VIDEO_3GPP", - "CONTENT_APPLICATION_ADOBE_ACSM", - "CONTENT_MODEL_DWFX", - "CONTENT_IMAGE_SVG_XML", - "CONTENT_APPLICATION_XHWP", - "CONTENT_TEXT_XHWP", - "CONTENT_APPLICATION_EPUB_ZIP", - "CONTENT_APPLICATION_X_WINDOWS_EXECUTABLE", - "CONTENT_APPLICATION_TEX_LATEX", - "CONTENT_TEXT_TEX_LATEX", - "CONTENT_APPLICATION_SAFEBROWSING_UPDATE", - "CONTENT_APPLICATION_SAFEBROWSING_CHUNK", - "CONTENT_APPLICATION_SAFEBROWSING_KEY", - "CONTENT_VIDEO_X_MS_ASF", - "CONTENT_APPLICATION_XBZIP", - "CONTENT_APPLICATION_OCTET_STREAM_COMPRESSIBLE", - "CONTENT_IMAGE_X_ICON", - "CONTENT_APPLICATION_ICS", - "CONTENT_IMAGE_WEBP", - "CONTENT_IMAGE_BMP", - "CONTENT_FONT_TTF", - "CONTENT_FONT_OTF", - "CONTENT_FONT_WOFF", - "CONTENT_FONT_WOFF2", - "CONTENT_APPLICATION_CSP_REPORT", - "CONTENT_VIDEO_MP2T", - "CONTENT_TEXT_X_VCALENDAR", - "CONTENT_FONT_EOT", - "CONTENT_APPLICATION_XMPEG_URL", - "CONTENT_APPLICATION_X_BROTLI_DICT_COMPRESSED", - "CONTENT_VIDEO_MP4", - "CONTENT_AUDIO_MP4", - "CONTENT_APPLICATION_MANIFEST_JSON", - "CONTENT_APPLICATION_MS_TNEF", - "CONTENT_TEXT_EPUB_ZIP", - "CONTENT_APPLICATION_FB2_XML", - "CONTENT_TEXT_FB2_XML", - "CONTENT_APPLICATION_WASM", - "CONTENT_APPLICATION_GEO_JSON", - "CONTENT_TEXT_CSV", - "CONTENT_APPLICATION_XPROTOBUF", - "CONTENT_VIDEO_WEBM", - "CONTENT_AUDIO_WEBM", - "CONTENT_TEXT_CONVERTED_XML", - "CONTENT_NUM_TYPES" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "Initialization value, never used", - "empty page", - "none of the types below, unknown", - "", - "", - "", - "", - "", - "", - "", - "PDF converted to HTML", - "", - "image, not one of the image types", - "below", - "", - "POSTSCRIPT converted to HTML", - "", - "MSWORD converted to HTML", - "", - "POWERPOINT converted to HTML", - "", - "RTF converted to HTML", - "", - "EXCEL converted to HTML", - "unknown content type converted to HTML", - "", - "SWF converted to HTML", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "ZIP_ARCHIVE converted to HTML", - "", - "XGZIP_ARCHIVE converted to HTML", - "", - "XTAR_ARCHIVE converted to HTML", - "", - "XCOMPRESS_ARCHIVE converted to HTML", - "", - "", - "", - "", - "", - "", - "", - "", - "KML/KMZ converted to HTML", - "", - "", - "DWF converted to HTML", - "OASIS OpenDocument formats", - "(16 real MIME types) ODF converted to HTML", - "", - "", - "OPENXML_WORD converted to HTML", - "", - "OPENXML_EXCEL converted to HTML", - "", - "OPENXML_POWERPOINT converted to HTML", - "Generic office 2007 document.", - "", - "", - "", - "http://www.topografix.com/GPX/1/1/", - "", - "ENDNOTE_STYLE converted to HTML", - "Use CONTENT_APPLICATION_XPROTOBUF instead. See go/spectrejs#use-canonical-content-types.", - "http://go/searchdomaincheck", - "HTML 5 - http://whatwg.org", - "", - "Adobe Content Server message", - "", - "http://www.w3.org/TR/SVG/intro.html#MIMEType", - "Hangul Word Processor", - "HWP converted to HTML", - "", - "Windows executable files.", - "LaTeX or TeX", - "LaTeX or TeX content converted to html", - "SafeBrowsing update response", - "SafeBrowsing chunk data", - "SafeBrowsing key response", - "MS Advanced Systems Format container.", - "For Bzip2 compressed files.", - "For binary content", - "that is OK to be compressed. Equivalent to application/octet-stream but listed in net/http/compression_content_types.textproto as safe to gzip.", - "Calendar files.", - "", - "BMP image files.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Brotli compound dict.", - "Used to return streams compressed with brotli and a shared dictionary between client and server. Used by AGSA, Google Go and other clients in the interim period before the standardization of shared brotli. Handles the video/mp4 content type", - "Handles the audio/mp4 content type", - "Handles the manifest content type", - "Handles the application/ms-tnef type", - "EPUB converted to HTML", - "http://fictionbook.org/index.php/Eng:FictionBook", - "FB2 converted to HTML", - "WebAssembly binary format", - "GeoJSON", - "Comma-separated values (CSV)", - "Binary protocol buffers", - "Handles the video/webm content type", - "Handles the audio/webm content type", - "CONTENT_APPLICATION_XML or", - "CONTENT_TEXT_XML converted to HTML. Add new content types above this" - ], - "type": "string" - }, - "CutoffSize": { - "description": "Where did we cut off? Includes headers plus truncated but uncompressed content. Present if and only if we truncated the document.", - "format": "int64", - "type": "string" - }, - "HttpVersion": { - "deprecated": true, - "description": "DEPRECATED, see field 113. Stores the HTTP version we used in the final hop.", - "enum": [ - "HTTP_11", - "HTTP_10", - "HTTP_09", - "HTTP_2", - "HTTP_AUTO", - "FIRST_VERSION", - "NUM_VERSIONS" - ], - "enumDescriptions": [ - "", - "", - "??? do we want this ???", - "EXPERIMENTAL, DO NOT USE unless you have talked to", - "trawler-dev@. Allow fetcher to automatically select HTTP protocol", - "version. The selection is based on prior knowledge and dynamic server response. Basically, if the client and the host is configured to allow HTTP/2 traffic, we will select HTTP/2 and send HTTP/2 traffic; and we will fallback to HTTP/1 if we found the server does not support HTTP/2 through ALPN. HTTP Version selection will be applied to each redirect hop. More details about HTTP/2 traffic configuration can be found in: googledata/googlebot/http2_traffic_control_file. We list this after HTTP_* values to make sure", - "HTTPVersion_Name(0) returns the correct string." - ], - "type": "string" - }, - "ProtocolVersionFallback": { - "deprecated": true, - "description": "DEPRECATED, see field 114. Whether we fallback from HTTP/2 to HTTP/1.1 during fetch. The fallback could happen in any hops and there can be at most one fallback because once fallback happens, we will not try HTTP/2 anymore.", - "type": "boolean" - }, - "UnTruncatedSize": { - "description": "The amount of data we got from the webserver before any truncation, but after undoing any HTTP gzip/deflate encoding. For HTTP, this includes headers and uncompressed content. Content size is excluded if content was not successfully fetched. See description above TotalFetchedSize for comparison.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "TrawlerFetchReplyDataRedirects": { - "description": "The sequence of redirects fetched, if applicable. This includes url plus stats for each hop after the first hop. NOTE: This can be one redirect longer than the chain of redirects *followed*, in the case where there was a redirect at the end of the chain that the fetcher detected but did not follow.", - "id": "TrawlerFetchReplyDataRedirects", - "properties": { - "BadSSLCertificate": { - "description": "The server SSL certificate chain in SSLCertificateInfo protobuf format. See this field in FetchReplyData (i.e., the initial hop) for more description on when it will be populated.", - "format": "byte", - "type": "string" - }, - "CrawlTimes": { - "$ref": "TrawlerCrawlTimes", - "description": "Per redirect hop timestamps. This" - }, - "DownloadTime": { - "description": "Download time of this fetch (ms)", - "format": "int32", - "type": "integer" - }, - "Endpoints": { - "$ref": "TrawlerTCPIPInfo", - "description": "## stats If fetched, ip info." - }, - "HSTSInfo": { - "description": "This specifies if the url in a redirect was rewritten to HTTPS because of an HSTS policy for the domain. See comments on FetchReplyData.HSTSInfo for how this field's values. A redirect that was rewritten with HSTS will have HSTS_STATUS_REWRITTEN ## here.", - "enum": [ - "HSTS_STATUS_NONE", - "HSTS_STATUS_AVAILABLE", - "HSTS_STATUS_REWRITTEN" - ], - "enumDescriptions": [ - "No HSTS policy available for this fetch.", - "There is an HSTS policy for this fetch but the fetch URL was not applied.", - "There is an HSTS policy for this fetch and the URL was rewritten from HTTP -\u003e HTTPS." - ], - "type": "string" - }, - "HTTPResponseCode": { - "description": "The HTTP response code for this hop. We need this since multiple response codes may have the same redirect type (e.g., 302 and 307 are both REDIRECT_TEMPORARILY), but clients may want to know which one was received. Note this is set only for the hops that are followed (i.e., TargetUrl is present). If the last redirect hop was not followed the fetch status will be URL_NOT_FOLLOWED, and the response code will be in the top level ProtocolResponse field.", - "format": "int32", - "type": "integer" - }, - "HopPageNoIndexInfo": { - "description": "Extra trawler::PageNoIndexInfo for this hop. Integer: ORed together bits from trawler::PageNoIndexInfo. The information specified by this field comes from the http header or content of the source url, not the \"TargetUrl\" in this Redirects group.", - "format": "int32", - "type": "integer" - }, - "HopReuseInfo": { - "description": "trawler::ReuseInfo with status of IMS/IMF/cache query, for this hop.", - "enum": [ - "RUI_NONE", - "RUI_IMS_CACHE_CURRENT", - "RUI_IMS_NOT_MODIFIED", - "RUI_IMS_CHANGED", - "RUI_IMF_NOCACHE", - "RUI_IMF_CACHE_CURRENT", - "RUI_IMF_HIT", - "RUI_IMF_CHANGED", - "RUI_IMF_POST_HIT_ERROR", - "RUI_CACHE_CURRENT", - "RUI_CACHE_EXPIRED", - "RUI_CACHE_NOCACHE", - "RUI_CACHE_UNUSABLE", - "RUI_IMF_UNUSABLE", - "NUM_REUSE_INFO_VALS" - ], - "enumDescriptions": [ - "Neither IMS or IMF were enabled", - "IMS Had IMS enabled; but had cache hit;", - "so didn't need to do the fetch Did IMS and got back 304", - "Did IMS and got back non-304", - "IMF - UseBigTableIMF set IMF enabled; but result wasn't in the cache", - "IMF enabled; but cached copy was current", - "IMF enabled; had older cached copy;", - "but got back 304; returned content IMF enabled; had older cached copy;", - "got back non-304; indicating change Got back 304 on IMF; but cached copy failed;", - "ACCEPTABLE AGE; no IMF Cache hit", - "Had content; but older than max", - "No content in cache", - "Cache entry; but not usable", - "Cache entry for IMF; but not usable", - "*** don't forget to update." - ], - "type": "string" - }, - "HopRobotsInfo": { - "description": "Extra trawler::RobotsInfo for this hop. Integer: ORed together bits from trawler::RobotsInfo", - "format": "int32", - "type": "integer" - }, - "HostId": { - "description": "If known, the hostid for this hop", - "format": "uint64", - "type": "string" - }, - "HttpRequestHeaders": { - "description": "The http headers we sent for fetching this redirect hop. Not normally filled in, unless FetchParams.WantSentHeaders is set.", - "type": "string" - }, - "HttpResponseHeaders": { - "description": "The http headers we received from this redirect hop. Trawler does not fill this in; this is intended as a placeholder for crawls like webmirror that fill in and want to track this across redirect hops.", - "type": "string" - }, - "RawTargetUrl": { - "description": "bytes: can contain bad encoding.", - "format": "byte", - "type": "string" - }, - "RefreshTime": { - "description": "Refresh time in meta redirect tag", - "format": "int32", - "type": "integer" - }, - "RobotsTxt": { - "description": "The robots.txt we used for this fetch. Not normally filled in unless WantRobotsBody is set.", - "format": "byte", - "type": "string" - }, - "SourceBody": { - "$ref": "TrawlerFetchBodyData", - "description": "For meta-redirects, this field may contain the body of the source document. Currently only filled client side and not implemented (yet) for server-side redirects." - }, - "TargetUrl": { - "description": "Difference between the following two fields: TargetUrl is set when we have followed the redirect target, and the url is canonicalized. RawTargetUrl is set in either of the following two cases: (1) The url has not be been followed. For example, the redirect is intended to be handled by the client. In the fetch reply response, you will see the url's status as URL_NOT_FOLLOWED-NOT_FOLLOWED*. (2) The extracted redirect url is different from its *canonicalized* form. For example, if the target url contains fragments, then this RawTargetUrl will have the fragments. Redirect target", - "type": "string" - }, - "Type": { - "description": "URL and redirect type", - "enum": [ - "REDIRECT_NONE", - "REDIRECT_EMPTY", - "REDIRECT_TOO_LONG", - "REDIRECT_PERMANENT", - "REDIRECT_TEMPORARILY", - "REDIRECT_META", - "REDIRECT_BAD_URL", - "REDIRECT_HTTP_REFRESH", - "REDIRECT_SCRIPT", - "REDIRECT_CUSTOM", - "REDIRECT_META_FRAGMENT", - "NUM_REDIRECT_TYPES" - ], - "enumDescriptions": [ - "No redirect", - "Looks like a redirect but is empty", - "Looks like a redirect but is too long", - "Permanent redirect (301)", - "Temp redirect (302 + meta here)", - "Redirect with tag", - "Looks like a redirect but target is a bad URL", - "HTTP \"Refresh:\" header; similar to meta refresh", - "Redirect derived from a script section", - "Redirect derived from a Google-specific rule", - "Redirect from meta name=fragment", - "*** don't forget to update." - ], - "type": "string" - } - }, - "type": "object" - }, - "TrawlerFetchReplyDataWebIOInfo": { - "description": "WebIO is the new hostload model introduced in 2023. It measures the occupancy of 1 outgoing fetch connection for 1 minute.", - "id": "TrawlerFetchReplyDataWebIOInfo", - "properties": { - "webio": { - "format": "float", - "type": "number" - }, - "webioPercentageTier": { - "enum": [ - "WEBIO_TIER_1", - "WEBIO_TIER_2", - "WEBIO_TIER_3", - "WEBIO_TIER_4", - "WEBIO_NUM_TIERS" - ], - "enumDescriptions": [ - "Utilization 90-100%", - "Utilization 70%-90%", - "Utilization 30%-70%", - "Utilization 0%-30%", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "TrawlerFetchStatus": { - "id": "TrawlerFetchStatus", - "properties": { - "Reason": { - "description": "The Reason field gives further clarifying details about why or how the fetch had the given outcome. For instance, if State is URL_ERROR - was it a 404/NotFound or a DNS error? The Reason field is present iff State != URL_CRAWLED. For a given crawl status of URL_FOO, the Reason value will be one of the various FetchFooReason enum values from crawler/trawler/trawler_enums.proto", - "format": "int32", - "type": "integer" - }, - "State": { - "description": "The State field describes the basic outcome of a fetch (URL_CRAWLED, URL_ROBOTED, URL_ERROR, etc). The value is one of the UrlStatusType enum values from crawler/trawler/trawler_enums.proto Note, there are several combinations of this Status/Reason tuple that could mean that your content is crawled or can be bucketed in a particular type of error. So instead of comparing the enumeration values manually, we suggest to use the predicate functions such as IsContentCrawled() provided in crawler/trawler/public/basictypes.h (see details there).", - "enum": [ - "URL_CRAWLED", - "URL_ERROR", - "URL_ROBOTED", - "URL_UNREACHABLE", - "URL_TIMEOUT", - "URL_REJECTED", - "URL_NOT_FOLLOWED", - "NUM_STATE_TYPES" - ], - "enumDescriptions": [ - "", - "Error fetching; most commonly 404;", - "but many other possible reasons. Roboted out.", - "Fetch error; 5xx; truncated response; etc.", - "Timeout while fetching.", - "Internally Rejected (by fetcher/fetchproxy)", - "based on capacity or permissions. Redirects/retries-related: we crawled something", - "*** don't forget to update." - ], - "type": "string" - } - }, - "type": "object" - }, - "TrawlerHostBucketData": { - "description": "============================ Next Tag: 22 ============================ Data about the scheduling host bucket a URL was in (if the client wants to use this, e.g. for more intelligent scheduling, etc).", - "id": "TrawlerHostBucketData", - "properties": { - "ClientTrafficFraction": { - "description": "How much existing traffic", - "format": "float", - "type": "number" - }, - "ClientWeightFraction": { - "description": "belong to the client How much weight the client", - "format": "float", - "type": "number" - }, - "CurrentActiveConnections": { - "description": "How many connections are actively used for downloading ?", - "format": "int32", - "type": "integer" - }, - "IsFull": { - "description": "Is this bucket currently full ?", - "type": "boolean" - }, - "LastScheduleIntervalMs": { - "description": "How many ms ago we last scheduled a url", - "format": "int64", - "type": "string" - }, - "MaxActiveConnections": { - "description": "The current hostload value (# of connections) - if negative does not apply", - "format": "float", - "type": "number" - }, - "MediumTermLoad": { - "description": "The load the recent times (the actual hostload that we apply is MaxActiveConnections / MediumTermLoad) - a hostload of 1.00 is normal, while over 1.0 is higher than normal load", - "format": "float", - "type": "number" - }, - "MinInterRequestSecs": { - "description": "The min delay between requests (in secs) - if negative does not apply", - "format": "float", - "type": "number" - }, - "NonFullIntervalMs": { - "description": "If is full, when is becoming non-full (in ms)", - "format": "int64", - "type": "string" - }, - "TotalCapacityQps": { - "description": "The following four fields attempt to make things simpler for clients to estimate available capacity. They are not populated yet as of 2013/08/21. Even after they are populated, they may change. So talk to trawler-dev@ before you use the fields. Total qps for this hostid", - "format": "float", - "type": "number" - }, - "TotalUsedQps": { - "description": "Currently used qps", - "format": "float", - "type": "number" - }, - "urllist": { - "items": { - "$ref": "TrawlerHostBucketDataUrlList" - }, - "type": "array" - } - }, - "type": "object" - }, - "TrawlerHostBucketDataUrlList": { - "description": "Per each list that wishes to schedule url we return one of these:", - "id": "TrawlerHostBucketDataUrlList", - "properties": { - "ClientCanCrawl": { - "description": "Is this client/requestorid allowed to crawl now? (based on resource use)", - "type": "boolean" - }, - "IsDefaultNode": { - "description": "Is this the 'default' user's list", - "type": "boolean" - }, - "IsListForUrl": { - "description": "Was this the list that a given request landed in?", - "type": "boolean" - }, - "NumCurrentFetches": { - "description": "# of current active fetches", - "format": "int32", - "type": "integer" - }, - "NumUrls": { - "description": "# of urls currently in the queue", - "format": "int32", - "type": "integer" - }, - "PartnerTotalCapacityQps": { - "description": "Total qps for this partner dedicated hostload, for non partner it will be -1.0.", - "format": "float", - "type": "number" - }, - "PartnerTotalUsedQps": { - "description": "Currently used qps for this partner dedicated hostlaod, for non partner it will be -1.0.", - "format": "float", - "type": "number" - }, - "RequestType": { - "description": "The type of the request (low latency vs. high throughput)", - "enum": [ - "HIGH_THROUGHPUT", - "LOW_LATENCY", - "LATENCY_SENSITIVE", - "NUM_REQUEST_TYPES" - ], - "enumDescriptions": [ - "Note: keep in sync with default in trawler.proto", - "", - "Only set this if you get approval from trawler team and using", - "trawler base tier Best effort low latency hostload. *** don't forget to update." - ], - "type": "string" - }, - "RequestorFp": { - "description": "The fp64 of the requestor string", - "format": "uint64", - "type": "string" - } - }, - "type": "object" - }, - "TrawlerLoggedVPCDestination": { - "description": "Information about VPC fetches tracked for logging purposes.", - "id": "TrawlerLoggedVPCDestination", - "properties": { - "cloudRegion": { - "type": "string" - }, - "vnid": { - "$ref": "NetFabricRpcVirtualNetworkId" - } - }, - "type": "object" - }, - "TrawlerMultiverseClientIdentifier": { - "description": "Contain Multiverse client information, such as topic name. Can include other information such as crawl policy id in the future.", - "id": "TrawlerMultiverseClientIdentifier", - "properties": { - "crawlPolicyId": { - "format": "int32", - "type": "integer" - }, - "crawlPolicyName": { - "type": "string" - }, - "hyperdriveAppName": { - "description": "Hyperdrive Analytics.", - "type": "string" - }, - "hyperdriveTableName": { - "type": "string" - }, - "topicId": { - "description": "Propagate the id instead of the string name to save storage resource. TODO (b/317133951) consider deprecate the two fields in string above.", - "format": "int32", - "type": "integer" - }, - "topicName": { - "type": "string" - }, - "trafficType": { - "enum": [ - "TRAFFIC_TYPE_UNSPECIFIED", - "TRAFFIC_TYPE_NO_FETCH", - "TRAFFIC_TYPE_ONEOFF_CRAWL", - "TRAFFIC_TYPE_DISCOVERY", - "TRAFFIC_TYPE_REFRESH" - ], - "enumDescriptions": [ - "", - "Not fetch traffic is consisted of requests that we schedule it as notification for clients, but not need to actually fetch.", - "As the name suggests, oneoff crawl means client just needs to crawl the URLs once.", - "Discovery traffic is consisted of the new URLs discovered by Multiverse, that we have never seen in the crawl history.", - "The context of refresh crawl is that client needs to check the content of some URLs periodically, so they refresh those URLs regularly." - ], - "type": "string" - } - }, - "type": "object" - }, - "TrawlerOriginalClientParams": { - "description": "The information about the original client who starts the request.", - "id": "TrawlerOriginalClientParams", - "properties": { - "clientCell": { - "type": "string" - }, - "clientIp": { - "type": "string" - }, - "clientRpcType": { - "description": "through which RPC request", - "enum": [ - "UNKNOWN_RPC", - "PUSH_URL_TO_CRAWL", - "PUSH_BATCH_TO_CRAWL", - "CRAWL_URL", - "STREAM_FETCH_URL", - "LEGACY_STREAM_FETCH_URL", - "SUBSCRIBE_URL_ONCE", - "FEEDS_TRANSFER" - ], - "enumDescriptions": [ - "", - "CrawlService.PushUrlToCrawl.", - "CrawlService.PushBatchToCrawl.", - "CrawlService.CrawlUrl.", - "CrawlService.StreamFetchUrl.", - "CrawlService.LegacyStreamFetchUrl.", - "CrawlService.SubscribeUrlOnce.", - "FeedsTransfer.BatchTransfer." - ], - "type": "string" - }, - "clientUsername": { - "type": "string" - } - }, - "type": "object" - }, - "TrawlerPolicyData": { - "description": "Trawler can add a policy label to a FetchReply. The two main cases are: - \"spam\" label added for specific spammer IPs listed in trawler_site_info, which most crawls auto-reject. - \"roboted:useragent\" (e.g. \"roboted:googlebot\") if InfoOnlyUserAgents field is set in FetchParams", - "id": "TrawlerPolicyData", - "properties": { - "ExtraData": { - "description": "in roboted case, the RobotsInfo", - "format": "int32", - "type": "integer" - }, - "Label": { - "description": "\"spam\" or \"roboted:googlebot\"", - "type": "string" - } - }, - "type": "object" - }, - "TrawlerSSLCertificateInfo": { - "description": "This protobuf specifies the results of https certificate validation, typically used for the BadSSLCertificate field in FetchReplyData. -------------------------- Next Tag: 13 -------------------------------", - "id": "TrawlerSSLCertificateInfo", - "properties": { - "ALPNNegotiatedProtocol": { - "description": "ALPN negotiated protocol, see https://tools.ietf.org/html/rfc7301 The value will either be empty, or one of the protocol names sent by the client that the server accepted. Examples include \"h2\" and \"acme-tls/1\".", - "type": "string" - }, - "CertificateChain": { - "description": "If present, this consists of the remote webserver's X.509 certificate chain in DER format. The chain stored here is the *reversed* result of SSL_get_peer_cert_chain(). That is to say, it is the chain presented by the peer (which may differ from the chain that was built and verified), but in leaf-last order. Typically the root cert will not be included. But do not assume anything, because servers do all manner of weird things. (For example on the beginning of the chain, there might be also some irrelevant certificates besides the root certificate.) Certificates may be the empty string, indicating an encoding failure. See also |IsTruncated|. Certs can be loaded with util/sig/cert.h Cert::LoadBinaryCert(), converted to ASCII PEM format (CertificateUtil::CertificateToPEM()) or shown as text at the commandline by piping them into 'openssl x509 -text -inform DER'.", - "items": { - "format": "byte", - "type": "string" - }, - "type": "array" - }, - "ErrorMessages": { - "description": "ErrorMessages contains errors from HTTPS validation. Examples of such errors include invalid certificates, failure to build a certificate chain, certificates that do not match the expected hostname, and internal errors. If ErrorMessages is empty, HTTPS validation succeeded. Otherwise, it failed. This is the only guarantee about the contents of this field, though legacy code exists that embeds invalid assumptions, b/70904498. New code should not do anything with this field other than test whether it is empty and display its value to humans. If you need to know more about the details of a particular HTTPS validation, you can revalidate |CertificateChain| independently.", - "items": { - "type": "string" - }, - "type": "array" - }, - "IsTruncated": { - "description": "This SSLCertificateInfo had its fields truncated because it was too large. It is no longer set (cl/205356251) but may be true in old records.", - "type": "boolean" - }, - "OCSPResponse": { - "description": "Stapled OCSP response obtained during the TLS handshake, if any. An OCSP (Online Certificate Status Protocol) response is an indication, signed by the issuing CA, that the certificate has not been revoked. A TLS handshake extension allows servers to \"staple\" a response to the certificate served in the handshake, saving the need for the client to fetch it itself from the CA. This field contain the stapled OCSP response if the server served one. See RFC6066, Section 8 for the data format: https://tools.ietf.org/html/rfc6066#section-8", - "format": "byte", - "type": "string" - }, - "SCTList": { - "description": "SCTList obtained during the TLS handshake, if any. See RFC6962, Section 3.3 for the data format: https://tools.ietf.org/html/rfc6962#section-3.3", - "format": "byte", - "type": "string" - }, - "SSLCipherSuite": { - "format": "int32", - "type": "integer" - }, - "SSLCipherSuiteName": { - "type": "string" - }, - "SSLProtocolVersion": { - "description": "Details about the SSL/TLS protocol and cipher. See RFC5246 and google3/crawler/trawler/hope/proto/ssl.proto for more details.", - "format": "int32", - "type": "integer" - }, - "SSLProtocolVersionName": { - "description": "The names of the SSL protocol version and cipher suite. These strings are implementation defined and may be subject to change.", - "type": "string" - } - }, - "type": "object" - }, - "TrawlerTCPIPInfo": { - "description": "To keep track of fetch connection endpoints. Note: You can use trawler::SourceIP(info) or trawler::DestinationIP(info) (as well as HasSourceIP/HasDestinationIP) in basictypes.h instead of accessing the packed strings directly. This will return a proper IPAddress. Never use the fixed32 based Source/Destination-IP in new code as they will go away (only IPv4).", - "id": "TrawlerTCPIPInfo", - "properties": { - "DestinationIPAddressPacked": { - "description": "Address of the destination host. Extract with trawler::DestinationIP() or decode with PackedStringToIPAddress().", - "format": "byte", - "type": "string" - }, - "DestinationPort": { - "format": "int32", - "type": "integer" - }, - "SourceIPAddressPacked": { - "description": "Source address of the crawl machine we originated the fetch from. Extract with trawler::SourceIP() or decode with PackedStringToIPAddress().", - "format": "byte", - "type": "string" - }, - "SourcePort": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "TrawlerThrottleClientData": { - "id": "TrawlerThrottleClientData", - "properties": { - "IsBandwidthThrottle": { - "type": "boolean" - }, - "MaxAllowedRate": { - "description": "Max doc_requestor urls/second allowed from this client to this fetcher.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "TrawlerTrawlerPrivateFetchReplyData": { - "description": "This is an optional container of arbitrary data that can be added to a FetchReplyData. This data is meant to be logged, but not sent back in a fetch reply (it should be added *after* the reply is prepared). Use FetchResponsePreparatorImpl::AddTrawlerPrivateDataToFetchReplyData to add. See also the comment in fetch_response_preparator_impl.cc. Next Tag: 49", - "id": "TrawlerTrawlerPrivateFetchReplyData", - "properties": { - "BotGroupName": { - "description": "If we fetched using BotFetchAgent, what is the BotGroupName?", - "type": "string" - }, - "BotHostname": { - "description": "This is the HOPE server that we sent the url to. We log the HOPE backend cell and hope server shard number (e.g., 'qf:6'). This allows us to understand how we are balancing our load to the HOPE servers.", - "type": "string" - }, - "CacheRequestorID": { - "description": "Present if the reply is from the trawler cache. This is the requestorid of the trawler client that populated the cache with the data we are reusing.", - "type": "string" - }, - "FetcherTaskNumber": { - "description": "Which Trawler fetcher task fetched this URL.", - "format": "int32", - "type": "integer" - }, - "HSTSHeaderValue": { - "description": "HTTP Strict-Transport-Security (RFC6797) header value. We log this so we can generate a list of hosts that prefer HTTPS over HTTP.", - "type": "string" - }, - "HadInMemCacheHit": { - "type": "boolean" - }, - "HintIPAddress": { - "description": "If we do not have Endpoints in FetchReplyData (e.g., url rejected due to hostload limit), do we have a guess of the server IPAddress (e.g., from robots fetch)? This helps us classify URLs based on country code, etc. The field is filled with IPAddress::ToPackedString().", - "format": "byte", - "type": "string" - }, - "Is5xxHostId": { - "description": "Represents if the HostId belongs to HostId set in 5xx url patterns, it can work as a tag when emitting requestor minute summary, this helps us to aggregate traffic affected by 5xx patterns, and test if there are any fetching changes.", - "type": "boolean" - }, - "IsRobotsFetch": { - "description": "Was this an internally-initiated robots.txt fetch?", - "type": "boolean" - }, - "PostDataSize": { - "description": "What's the post data size (in bytes) if it's a post request.", - "format": "int64", - "type": "string" - }, - "Producer": { - "description": "Note TrawlerPrivateFetchReplyData is never sent back to clients. The following field is just for Trawler and Multiverse internal tracking, and clients should not look at this field at all.", - "enum": [ - "UNKNOWN_SUBSYSTEM_NAME", - "TRAWLER_HARPOON_FETCHER", - "WEBMIRROR_DISPATCHER", - "WEBMIRROR_CRAWL_ENGINE", - "MULTIVERSE_TRAWLER_FETCHPROXY", - "MULTIVERSE_FRONTEND_SERVER" - ], - "enumDescriptions": [ - "May be used as a placeholder for the actual", - "sub-system name when the FetchReply is generated in the Trawler/Harpoon client library.", - "", - "", - "", - "" - ], - "type": "string" - }, - "ProxyInstance": { - "description": "If set, this fetch was done through a proxy (e.g., fetchproxy).", - "type": "string" - }, - "RequestUserName": { - "description": "Log the loas username in trawler private to help with debugging. Store the username in trawler private so clients won't see it from FetchReply. To reduce disk usage, we only log the loas username if the requestorid being used does not have ClientUsernameRestrictions.", - "type": "string" - }, - "ResponseBytes": { - "description": "The number of bytes we sent back to the client.", - "format": "int64", - "type": "string" - }, - "RobotsBody": { - "description": "If this was a robots.txt fetch (IsRobotsFetch above), this may contain the robots.txt body. (It may not, for instance, 404s are omitted; current policy is URL_CRAWLED + partially crawled) This includes http headers + body.", - "type": "string" - }, - "RpcEndDeadlineLeftMs": { - "description": "RPC deadline left at the end of url control flow. Can be useful for debugging rpc deadline exceeded error received by clients, this field is only recorded if it's small enough.", - "format": "int32", - "type": "integer" - }, - "RpcStartDeadlineLeftMs": { - "description": "RPC deadline left at the start of url control flow. Can be useful for debugging rpc deadline exceeded error received by clients, this field is only recorded if RpcEndDeadlineLeftMs is small enough.", - "format": "int32", - "type": "integer" - }, - "ServerSignature": { - "description": "An arbitrary string signature identifying the remote server type/version. In the case of HTTP, this would be the contents of the \"Server:\" header.", - "type": "string" - }, - "TrawlerInstance": { - "description": "Which Trawler cell was this response fetched in? (e.g. \"HR\" or \"YQ\")", - "type": "string" - }, - "UserAgentSent": { - "description": "The useragent string sent to the remote webserver. It corresponds to UserAgentToSend field in FetchParams.", - "type": "string" - }, - "UserAgentSentFp": { - "description": "The fp2011 of useragent sent to the remote webserver, note it corresponds to UserAgentToSend field in FetchParams", - "format": "uint64", - "type": "string" - }, - "authenticationInfo": { - "description": "Stores the OAuth authentication method.", - "enum": [ - "AUTHORIZATION_UNKNOWN", - "AUTHORIZATION_REQUEST_HEADER", - "AUTHORIZATION_POST_BODY", - "AUTHORIZATION_QUERY_PARAMETER" - ], - "enumDescriptions": [ - "", - "When sending the access token in the \"Authorization\" request header field defined by HTTP/1.1 [RFC2617], the client uses the \"Bearer\" authentication scheme to transmit the access token. GET /resource HTTP/1.1 Host: server.example.com Authorization: Bearer mF_9.B5f-4.1JqM", - "When sending the access token in the HTTP request entity-body, the client adds the access token to the request-body using the \"access_token\" parameter. POST /resource HTTP/1.1 Host: server.example.com Content-Type: application/x-www-form-urlencoded access_token=mF_9.B5f-4.1JqM", - "Adds the access token to the request URI query component. GET /resource?access_token=mF_9.B5f-4.1JqM HTTP/1.1 Host: server.example.com" - ], - "type": "string" - }, - "bypassedHostOverfull": { - "description": "Cache hit for this url, bypassed host_overfull error.", - "type": "boolean" - }, - "cacheAcceptableAfterDate": { - "description": "Corresponds to AcceptableAfterDate field in FetchParams.", - "format": "int32", - "type": "integer" - }, - "cacheAcceptableAge": { - "description": "Corresponds to AcceptableAge field in FetchParams.", - "format": "int32", - "type": "integer" - }, - "cacheHitType": { - "description": "Only set if the fetch uses cache content (is_cache_fetch is true).", - "enum": [ - "CACHE_HIT_NONE", - "FETCHER_IN_MEMORY_HIT", - "CACHE_PROXY_CACHE_SERVER_HIT", - "CACHE_PROXY_LARGE_STORE_HIT", - "CACHE_SERVER_HIT" - ], - "enumDescriptions": [ - "There isn't a cache hit.", - "Cache hit comes from fetcher side", - "local in-memory cache. Cache hit comes from cache proxy, the", - "endpoint of cache storage is cacheserver. Cache hit comes from cache proxy, the", - "endpoint of cache storage is large store (CNS). Cache hit comes from cacheserver" - ], - "type": "string" - }, - "cdnProvider": { - "enum": [ - "NON_CDN", - "CLOUDFLARE" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "concurrentStreamNum": { - "description": "How many concurrent streams are on the connection when the request finishes (including this request). Export this value to monitor the stream multiplexing for HTTP/2.", - "format": "int64", - "type": "string" - }, - "credentialId": { - "description": "Log the credential id", - "type": "string" - }, - "dependentFetchType": { - "description": "Dependent fetch type", - "enum": [ - "DEPENDENT_UNSPECIFIED", - "DEPENDENT_COMPOSITE_FETCH" - ], - "enumDescriptions": [ - "", - "A flag set by Webmirror to indicate this fetch is associated with a top-level fetch (aka. composite fetch). Unified reporting may choose to ignore a fetch if this flag was set. Notice this is a short-term solution. Composite fetch is a client feature, we should eventually use the logs generated by Webmirror as the source of truth. See go/da-reporting-data-generation for more details." - ], - "type": "string" - }, - "downloadFileName": { - "description": "If the response header contains Content-Disposition header \"attachment; filename=\"google.zip\": the download_file_name would be \"google.zip\"", - "type": "string" - }, - "googleExtendedObeyWildcardRobotsStatus": { - "description": "We check if Google-Extended is allowed to crawl this URL, wildcard rules are obeyed, this is for internal analysis. Check RobotsTxtClient::RobotsStatus for the meaning of number.", - "format": "int32", - "type": "integer" - }, - "googleExtendedRobotsStatus": { - "description": "We check if Google-Extended is allowed to crawl this URL and store the result here, wildcard rules are not obeyed, this is for internal analysis. Check RobotsTxtClient::RobotsStatus for the meaning of number.", - "format": "int32", - "type": "integer" - }, - "httpVersion": { - "description": "Stores the HTTP version we used in the last hop.", - "enum": [ - "HTTP_11", - "HTTP_10", - "HTTP_09", - "HTTP_2", - "HTTP_AUTO", - "FIRST_VERSION", - "NUM_VERSIONS" - ], - "enumDescriptions": [ - "", - "", - "??? do we want this ???", - "EXPERIMENTAL, DO NOT USE unless you have talked to", - "trawler-dev@. Allow fetcher to automatically select HTTP protocol", - "version. The selection is based on prior knowledge and dynamic server response. Basically, if the client and the host is configured to allow HTTP/2 traffic, we will select HTTP/2 and send HTTP/2 traffic; and we will fallback to HTTP/1 if we found the server does not support HTTP/2 through ALPN. HTTP Version selection will be applied to each redirect hop. More details about HTTP/2 traffic configuration can be found in: googledata/googlebot/http2_traffic_control_file. We list this after HTTP_* values to make sure", - "HTTPVersion_Name(0) returns the correct string." - ], - "type": "string" - }, - "isBidiStreamingFetch": { - "description": "Whether this is a bidirectional streaming fetch.", - "type": "boolean" - }, - "isDedicatedHostload": { - "type": "boolean" - }, - "isFloonetFetch": { - "description": "Whether or not this is a Floonet fetch request. Floonet requests have inherent lower availability (due to HOPE rejections when HOPE is in degraded mode, and other Floonet specific reasons). Therefore, it is important for debugging and for our availability SLO to know whether of not it is a floonet fetch. IMPORTANT NOTE: This field is only currently set for traffic that explicitly requires Floonet and can not failover to use Googlebot (i.e. \"transparent\" or \"implicit\" Floonet fetches).", - "type": "boolean" - }, - "isFromGrpcProxy": { - "description": "Whether or not this response is sent from gRPC proxy service.", - "type": "boolean" - }, - "isVpcTraffic": { - "description": "Set if the fetch goes through the virtual private cloud path so we can track the VPC traffic.", - "type": "boolean" - }, - "largeStoreHitLocation": { - "description": "Set to the hit location (CNS filename) if cache comes from large store.", - "type": "string" - }, - "multiverseClientIdentifier": { - "$ref": "TrawlerMultiverseClientIdentifier", - "description": "Multiverse client information" - }, - "numDroppedReplies": { - "description": "Number of times we drop the content of a stream reply or the final reply, which can only be caused by REJECTED_NO_RPC_BUFFERS now.", - "format": "int64", - "type": "string" - }, - "originalClientParams": { - "$ref": "TrawlerOriginalClientParams", - "description": "Store the original client information." - }, - "prodRegion": { - "description": "Log the prod region (only for regional harpoon requestor ids)", - "type": "string" - }, - "resourceBucket": { - "description": "If the requestor shares resource bucket with other requestorids, we will store the resource bucket name in these fields.", - "type": "string" - }, - "subResourceBucket": { - "type": "string" - }, - "tier": { - "description": "Service tier info will be used in traffic grapher for ploting per tier graph.", - "enum": [ - "SERVICE_TIER_UNKNOWN", - "SERVICE_TIER_TRAWLER", - "SERVICE_TIER_HARPOON", - "SERVICE_TIER_PARTNER" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "vpcDestination": { - "$ref": "TrawlerLoggedVPCDestination", - "description": "The following are vpc information that's only set if is_vpc_traffic is true." - } - }, - "type": "object" - }, - "UniversalsearchNewPackerKnowledgeResultSupport": { - "description": "Information about the result support for a given interpretation.", - "id": "UniversalsearchNewPackerKnowledgeResultSupport", - "properties": { - "debug": { - "description": "A debug message that summarizes how the score was computed. Populated if result was matched and in debug mode.", - "type": "string" - }, - "docid": { - "description": "The docid of the result, if available.", - "format": "uint64", - "type": "string" - }, - "estimatedNaviness": { - "description": "The naviness for this result. Each matcher can determine the naviness to use for the result. This can be copied directly from the result, or estimated based on clicks or some other heuristic. The value should be between 0 and 1 and should indicate the probability that the user will click on that result. The estimated_naviness is used to break ties when between results with the same rank.", - "format": "float", - "type": "number" - }, - "provenance": { - "description": "All provenances of this result support.", - "items": { - "$ref": "UniversalsearchNewPackerKnowledgeResultSupportProvenance" - }, - "type": "array" - }, - "rank": { - "description": "The 0 based rank for this result. When the source is MAIN_GSR this corresponds to the index of the result in the generic search response specific in AddKnowledgePackerPreprocessors. Otherwise, the rank should be estimated so the result is closest in importance to the web result at the same rank.", - "format": "int32", - "type": "integer" - }, - "score": { - "description": "A score from 0 to 1 inclusive that represents the strength of the result support. A score of one indicates this result is entirely about this interpretation.", - "format": "float", - "type": "number" - }, - "source": { - "description": "The source of the result support.", - "enum": [ - "MAIN_GSR", - "LIVE_RESULT", - "NEWS", - "CLIR_GSR", - "CONTEXTBOOST_RESULT", - "SUPPORT_FROM_KSCORER", - "PERSONALIZED_RESULT" - ], - "enumDeprecated": [ - false, - true, - true, - true, - true, - true, - true - ], - "enumDescriptions": [ - "MAIN_GSR is the generic search response specified in AddKnowledgePackerPreprocessors. This will normally be universal::kResponseWeb but can also be universal::kResponseQuimbyTextWeb or potentially another response depending on the search mode.", - "DEPRECATED", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "url": { - "description": "The result url when available.", - "type": "string" - } - }, - "type": "object" - }, - "UniversalsearchNewPackerKnowledgeResultSupportProvenance": { - "description": "Information about provenance of a result support.", - "id": "UniversalsearchNewPackerKnowledgeResultSupportProvenance", - "properties": { - "entityGroupType": { - "description": "Entity group type of the supported entity. This field should only be set for support on entities.", - "enum": [ - "QUESTION", - "ANSWER", - "INTENT" - ], - "enumDescriptions": [ - "The entity group corresponds to a question entity.", - "The entity group corresponds to an answer entity.", - "The entity group corresponds to an intent entity." - ], - "type": "string" - }, - "fromAnswer": { - "deprecated": true, - "description": "===== Deprecated Fields ===== The bool flag indicating whether the ResultSupport comes from answer entities.", - "type": "boolean" - }, - "name": { - "description": "The provenance provider name.", - "type": "string" - } - }, - "type": "object" - }, - "UrlPoisoningData": { - "description": "Url poisoning information. This information is sparse: if num_spam_siblings is not populated, none of the following fields will be populated. Next tag: 6", - "id": "UrlPoisoningData", - "properties": { - "NotChangedTimeMs": { - "description": "fetched from the web. Time when the page was last", - "format": "int64", - "type": "string" - }, - "OriginalCrawlTimeMs": { - "description": "Time when the page was", - "format": "int64", - "type": "string" - }, - "ReuseTimeMs": { - "description": "checked but found to be the same as before. If set, timestamp to indicate", - "format": "int64", - "type": "string" - }, - "numSpamSiblings": { - "format": "int32", - "type": "integer" - }, - "url": { - "description": "when it is fetched from the repository. URL of the document for debugging", - "type": "string" - } - }, - "type": "object" - }, - "UtilStatusProto": { - "description": "Wire-format for a Status object", - "id": "UtilStatusProto", - "properties": { - "canonicalCode": { - "description": "The canonical error code (see codes.proto) that most closely corresponds to this status. This may be missing, and in the common case of the generic space, it definitely will be.", - "format": "int32", - "type": "integer" - }, - "code": { - "description": "Numeric code drawn from the space specified below. Often, this is the canonical error space, and code is drawn from google3/util/task/codes.proto", - "format": "int32", - "type": "integer" - }, - "message": { - "description": "Detail message", - "type": "string" - }, - "messageSet": { - "$ref": "Proto2BridgeMessageSet", - "description": "message_set associates an arbitrary proto message with the status." - }, - "space": { - "description": "The following are usually only present when code != 0 Space to which this status belongs", - "type": "string" - } - }, - "type": "object" - }, - "VendingConsumerProtoTrustedGenomeAnnotation": { - "description": "------------------------------------------------------------------------------ Proto message containing the trusted genome entities that belong to an app. Document type: ANDROID_APP See go/gd-server-design for more info. ## Next tag: 4", - "id": "VendingConsumerProtoTrustedGenomeAnnotation", - "properties": { - "policy": { - "$ref": "VendingConsumerProtoTrustedGenomePolicy", - "description": "The list of trusted genome policy." - }, - "testCode": { - "description": "The list of test code, used to log when serving. The test code is set in both control and experiment annotations when they are different.", - "items": { - "enum": [ - "UNKNOWN", - "RESERVED", - "RESERVED_2", - "RESERVED_3", - "CRSCORE_EQ_0", - "CRSCORE_GT_0", - "STORIES_IN_MOVIES_HOME", - "RELATED_X_DC_CLUSTERS_IN_MOVIE_DETAILS_PAGES", - "TC_IN_PSS_CHECK_A", - "TC_IN_PSS_CHECK_B", - "QUERY_IS_BOOTS_ELIGIBLE", - "QUERY_HAS_SELECTED_BOOTS_CHIP", - "QUERY_HAS_ONLY_UNSELECTED_BOOTS_CHIPS", - "SPONSORED_ADS_CLUSTER", - "IRON_THRONE_QUERY", - "GUIDED_DISCOVERY", - "BOOKS_AUTHOR_QUERY", - "BOOTS_PROD_V1_QUERY", - "SHOULD_SEE_LIVE_OP_CLUSTER_CANDIDATES", - "ENTERTAINMENT_CLUSTER_TRIGGERING", - "BOOTS_EN_IN", - "BOOTS_EN_GB", - "BOOTS_EN_PH", - "BOOTS_EN_CA", - "ENTERTAINMENT_CLUSTER_CONTAINER_SEARCH_ENABLED", - "SEARCH_NAV_SPONSORED_ADS_CLUSTER", - "TOP_CHART_RANKING_INFO", - "APPS_PUB_QUERY", - "ABUSIVE_QUERY_SQUASHING_EVENT", - "APP_SUPPORTS_INSTANT_LAUNCH", - "LOW_RESULT_CLUSTER", - "PERSONALIZED_CLUSTER", - "GAME_SEEKING_PERSONALIZED_CLUSTER_AT_EVENT_LEVEL", - "VX_CLUSTER", - "MOVIES_GROOT_20", - "MOVIES_GROOT_10", - "MOVIES_GROOT_5", - "MOVIES_GROOT_3", - "MOVIES_GROOT_1", - "MOVIES_DORA_SEARCH", - "MOVIES_MDP_SEARCH", - "MOVIES_ORGANIC_SEARCH", - "FULL_PAGE_REPLACEMENT", - "AUDIOBOOKS_KIDS_CATEGORICAL_SEARCH", - "ZERO_RESULT", - "BOOTS_I18N_100_THRESH", - "DISPLAY_ADS_RESPONSE_RECEIVED_EVENT_LEVEL", - "BEST_SELLER_CART_TAG_FOR_MENDEL_AT_EVENT_LEVEL", - "ABUSIVE_QUERY", - "HOME_SPONSORED_ADS_CLUSTER_NO_ADS", - "BOOKS_XSELL_ELIGIBLE_APP", - "NAV_EXT_EVENT", - "ADS_CUSTOM_DETAILS_PAGE_ASSETS_SERVED_EVENT_LEVEL", - "BOOKS_DETAILS_PAGE_SIMILAR_CLUSTER", - "BOOKS_DETAILS_PAGE_POST_ACQUIRE_SIMILAR_CLUSTER", - "APPS_PERSONALIZED_TOPIC_QUERY_EVENT_LEVEL", - "APPS_PERSONALIZED_TG_QUERY_EVENT_LEVEL", - "APPS_PERSONALIZED_ALL_GAME_QUERIES_EVENT_LEVEL", - "APPS_PERSONALIZED_CATEGORICAL_GAME_SEEKING_QUERIES_EVENT_LEVEL", - "APPS_PERSONALIZED_APP_SEEKING_QUERIES_EVENT_LEVEL", - "APPS_PERSONALIZED_GAME_SEEKING_QUERIES_EVENT_LEVEL", - "APPS_PERSONALIZED_CATEGORICAL_NON_TG_QUERIES_EVENT_LEVEL", - "BOOKS_ELIGIBLE_FOR_BUNDLE_EVENT_LEVEL", - "GAMES_PROFILE_CREATION_EVENT", - "MOVIES_QUERY_ELIGIBLE_FOR_APPS_CLUSTER", - "MOVIES_WALLE_SEARCH", - "TRUSTED_ENTITY_SEARCH_QUERY_EVENT", - "BUNDLE_FBT_DISCOUNT", - "BUNDLE_SERIES_DISCOUNT", - "APPS_SEARCH_TOPIC_RFY_CLUSTER_AT_EVENT_LEVEL", - "APPS_SEARCH_MINI_TOP_CHARTS_CLUSTER_AT_EVENT_LEVEL", - "APPS_SEARCH_TOPIC_RFY_CLUSTER_COUNTERFACTUAL", - "APPS_SEARCH_MINI_TOP_CHARTS_CLUSTER_COUNTERFACTUAL", - "GEARHEAD_TOOLTIP_ASSISTANT_FIRST_RUN", - "GEARHEAD_TOOLTIP_ASSISTANT_NTH_RUN", - "GEARHEAD_TOOLTIP_ASSISTANT_NTH_RUN_BUTTON", - "GEARHEAD_TOOLTIP_LAUNCHER_FIRST_RUN", - "GEARHEAD_TOOLTIP_LAUNCHER_NTH_RUN", - "GEARHEAD_TOOLTIP_NOTIFICATION_FIRST_RUN", - "GEARHEAD_TOOLTIP_NOTIFICATION_NEW", - "GEARHEAD_TOOLTIP_NOTIFICATION_NTH_NEW", - "KIDS_AGE_SCORE_BONUS_AT_EVENT_LEVEL", - "KIDS_QUALITY_TAG_SCORE_BONUS_AT_EVENT_LEVEL", - "LB_TARGETED_AT_EVENT_LEVEL", - "LB_IMPRESSED_AT_EVENT_LEVEL", - "GEARHEAD_INPUT_TOUCH_PRESENT", - "GEARHEAD_INPUT_ROTARY_PRESENT", - "GEARHEAD_INPUT_TOUCHPAD_PRESENT", - "GEARHEAD_INPUT_TOUCH_ABSENT", - "GEARHEAD_INPUT_ROTARY_ABSENT", - "GEARHEAD_INPUT_TOUCHPAD_ABSENT", - "CANCEL_SUBSCRIPTION_CONFIRMATION_DIALOG_SHOWN_WHEN_ELIGIBLE_FOR_ENTITLEMENT_BENEFITS_EVENT_LEVEL_AT_EVENT_LEVEL", - "SMART_FOP_AT_EVENT_LEVEL", - "VX_CLUSTER_IN_APPS_SERP_IMPRESSION", - "KIDS_CONTENT_SEEKING_QUERY", - "KIDS_CONTENT_SEEKING_QUERY_TREATMENT_APPLIED", - "PREFERRED_FOP", - "REDEEM_NOT_ENROLLED_TO_LOYALTY", - "GEARHEAD_TOOLTIP_SETTINGS", - "SEARCH_MDP_TRIGGERED_EVENT_LEVEL", - "DEVELOPER_PAGE_AT_EVENT_LEVEL", - "BOOKS_FREE_FIXED_DURATION_RENTAL_EVENT_LEVEL", - "BOOKS_FREE_FIXED_DATE_RENTAL_EVENT_LEVEL", - "BOOKS_PRICE_DROP_EVENT_LEVEL", - "TG_VALIDATED_CRISPR_TAG_AT_EVENT_LEVEL", - "GEARHEAD_TOOLTIP_ASSISTANT_DIALER_FIRST_OPEN", - "GEARHEAD_TOOLTIP_ASSISTANT_MEDIA_OPEN", - "GEARHEAD_WIDESCREEN_DISPLAY", - "GEARHEAD_TOOLTIP_ASSISTANT_PHONE_CALL_ENDED", - "SERIES_BUNDLE_MULTI_TIER_DISCOUNT_EVENT_LEVEL", - "GEARHEAD_TOOLTIP_FEEDBACK", - "GEARHEAD_TOOLTIP_ASSISTANT_MEDIA_REC_FIRST_RUN", - "GEARHEAD_WORK_PROFILE_DETECTED", - "GEARHEAD_WORK_PROFILE_DETECTED_AND_COMPATIBLE", - "GEARHEAD_WORK_PROFILE_QUERYING_ALLOWED", - "PLAY_ADS_REENGAGEMENT_COUNTERFACTUAL", - "PLAY_ADS_THIRD_LIST_VIEW_ADS_COUNTERFACTUAL", - "GEARHEAD_TOOLTIP_ASSISTANT_LAUNCHER_OPEN", - "GEARHEAD_MULTIPLE_CALLABLE_PHONE_ACCOUNTS_DETECTED", - "GEARHEAD_USER_HAS_SELECTED_OUTGOING_PHONE_ACCOUNT", - "GEARHEAD_TOOLTIP_ASSISTANT_LONG_DRIVE_START", - "GEARHEAD_TOOLTIP_DIALER_MULTI_SIM", - "GEARHEAD_AUDIO_SERVICE_MIGRATION", - "GEARHEAD_TOOLTIP_ASSISTANT_MEDIA_REC_MEDIA_IDLE", - "GEARHEAD_DO_NOT_DISTURB_CALLS_ENABLED", - "REGIONAL_NAV_EXT_EVENT_LEVEL", - "GEARHEAD_TOOLTIP_BUGREPORT", - "GENERAL_QUERY_PAGINATION_EVENT_LEVEL", - "GEARHEAD_SESSION_ELIGIBLE_FOR_MEDIA_AUTOPLAY", - "GEARHEAD_AUDIO_FLOW_CONTROL_PERMIT_UNAVAILABLE", - "SHOULD_SEE_SEARCH_MEDIA_RESULT_CLUSTER", - "FRESH_RESULTS_SEEKING_SEARCH_QUERY_EVENT_LEVEL", - "GOOGLE_FUNDED_BUNDLE_DISCOUNT_BUCKET_1_EVENT_LEVEL", - "GOOGLE_FUNDED_BUNDLE_DISCOUNT_BUCKET_2_EVENT_LEVEL", - "GOOGLE_FUNDED_BUNDLE_DISCOUNT_BUCKET_3_EVENT_LEVEL", - "GOOGLE_FUNDED_BUNDLE_DISCOUNT_BUCKET_4_EVENT_LEVEL", - "GOOGLE_FUNDED_BUNDLE_DISCOUNT_BUCKET_5_EVENT_LEVEL", - "GOOGLE_FUNDED_BUNDLE_DISCOUNT_BUCKET_6_EVENT_LEVEL", - "TRUSTED_GENOME_RELATED_QUERY_CLUSTER_EVENT", - "NAV_TG_RELATED_QUERY_EVENT", - "PROMOTABLE_APPS_EVENT", - "PROMOTABLE_APPS_STRONG_CAT_EVENT", - "INLINE_DETAILS_TQUALITY_CHECK_PASS", - "INLINE_DETAILS_TQUALITY_CHECK_FAIL", - "INLINE_DETAILS_IS_INLINE_URL", - "EDITORS_CHOICE_CLUSTER_SERP_EVENT_LEVEL", - "BESTK_CLUSTER_SERP_EVENT_LEVEL", - "LIVEOPS_CLUSTER_SERP_EVENT_LEVEL", - "LIVEOPS_CLUSTER_SERP_TRIGGERING_EVENT_LEVEL", - "QUICKPICKS_CLUSTER_SERP_EVENT_LEVEL", - "INLINE_DETAILS_AQUALITY_CHECK_PASS", - "INLINE_DETAILS_AQUALITY_CHECK_FAIL", - "FRESH_RESULTS_SEEKING_CURRENT_YEAR_EVENT_LEVEL", - "FILTER_TQ_FAILURE_APP", - "EDITORIAL_CONTENT_CLUSTER_FHR_SERP_EVENT_LEVEL", - "HAVE_LOCALIZATION_QUALITY_DIFF_AT_FILTER", - "PGSS_DETAILS_PAGE_TQUALITY_UNKNOWN_EVENT_LEVEL", - "PGSS_DETAILS_PAGE_TQUALITY_FAILED_EVENT_LEVEL", - "PGSS_DETAILS_PAGE_TQUALITY_PASSED_EVENT_LEVEL", - "PGSS_DETAILS_PAGE_AQUALITY_UNKNOWN_EVENT_LEVEL", - "PGSS_DETAILS_PAGE_AQUALITY_FAILED_EVENT_LEVEL", - "PGSS_DETAILS_PAGE_AQUALITY_PASSED_EVENT_LEVEL", - "PGSS_PRE_INSTALL_LOW_QUALITY_DEEP_LINK_DETAILS_PAGE_EVENT_LEVEL", - "INLINE_DETAILS_CALLER_AQUALITY_CHECK_PASS", - "INLINE_DETAILS_CALLER_AQUALITY_CHECK_FAIL", - "HSDP_AD_NETWORK_CALLER_TABLET_AQUALITY_CHECK_PASS", - "HSDP_AD_NETWORK_CALLER_TABLET_AQUALITY_CHECK_FAIL", - "HSDP_INDEPENDENT_APP_TABLET_AQUALITY_CHECK_UNKNOWN", - "HSDP_INDEPENDENT_APP_TABLET_AQUALITY_CHECK_PASS", - "HSDP_INDEPENDENT_APP_TABLET_AQUALITY_CHECK_FAIL", - "PTP_CLUSTER_SERP_P13N_RANKING_EVENT_LEVEL", - "BROAD_INTENT_REWEIGHTING_EVENT_LEVEL", - "QUERY_DEPENDENT_SNIPPET_EVENT_LEVEL", - "EXPANDED_DEV_SUCCESS_CLUSTER_EVENT_LEVEL", - "COLLAPSED_DEV_SUCCESS_CLUSTER_EVENT_LEVEL", - "TRIGGERED_DEV_SUCCESS_CLUSTER_EVENT_LEVEL", - "BROAD_INTENT_GAMES_TIMESPENT_EVENT_LEVEL", - "GEARHEAD_ATTEMPT_USB_RECOVERY", - "MDP_P13N_ALL_EVENT_LEVEL", - "MDP_P13N_GAME_QUERY_L5_EVENT_LEVEL", - "MDP_P13N_GAME_QUERY_L6_EVENT_LEVEL", - "MDP_P13N_GAME_QUERY_L7_EVENT_LEVEL", - "MDP_P13N_GAME_QUERY_L8_EVENT_LEVEL", - "MDP_P13N_GAME_QUERY_L9_EVENT_LEVEL", - "MDP_P13N_RERANKING_UNKNOWN_EVENT_LEVEL", - "MDP_P13N_RERANKING_CATEGORICAL_EVENT_LEVEL", - "MDP_P13N_RERANKING_NAVIGATIONAL_EVENT_LEVEL", - "MDP_P13N_RERANKING_MULTI_NAVIGATIONAL_EVENT_LEVEL", - "MDP_P13N_RERANKING_NAVIGATIONAL_EXT_EVENT_LEVEL", - "SECOND_PASS_POLARIS_RERANKING_EVENT_LEVEL", - "SECOND_PASS_POLARIS_WITH_RANKING_CHANGE_EVENT_LEVEL", - "GEARHEAD_TOOLTIP_COOLWALK_DASHBOARD_UNAVAILABLE", - "TIMESLICED_SAFE_SELF_UPDATE", - "NORMAL_SELF_UPDATE", - "SECOND_PASS_BROAD_INTENT_QUERY_EVENT_LEVEL", - "SECOND_PASS_REWEIGHTING_TRIGGERED_EVENT_LEVEL", - "GEARHEAD_TOOLTIP_COOLWALK_RAIL_WIDGET", - "INLINE_DETAILS_TQUALITY_CHECK_UNKNOWN", - "SUPERROOT_PDS_SHORT_DESCRIPTION_EVENT_LEVEL", - "PGSS_SHORT_DESCRIPTION_DIFF_EVENT_LEVEL", - "SECOND_PASS_QUALITY_REWEIGTHING_EVENT_LEVEL", - "SECOND_PASS_QUALITY_REWEIGTHING_MDP_EVENT_LEVEL", - "PLAY_STORE_IAP_SALES_MINI_DETAILS_PAGE_EVENT_LEVEL", - "UNACK_IN_APP_SUBSCRIPTION_WARNING_DETAIL_PAGE_EVENT_LEVEL", - "PACKAGE_NAME_SEARCH_EVENT_LEVEL", - "ZERO_COPY_NOT_SUFFICIENT_EVENT_LEVEL", - "ZERO_COPY_ALLOWS_INSTALL_EVENT_LEVEL", - "ZERO_COPY_NOT_REQUIRED_EVENT_LEVEL", - "SHOULD_SEE_SCREENSHOT_XSELL_CLUSTER_LOW_Q_DP_EVENT_LEVEL", - "SHOULD_SEE_RICH_LIST_XSELL_CLUSTER_LOW_Q_DP_EVENT_LEVEL", - "DEVICE_TIER_HIGH_EVENT_LEVEL", - "DEVICE_TIER_MED_EVENT_LEVEL", - "DEVICE_TIER_LOW_EVENT_LEVEL", - "QUERY_TYPE_UNKNOWN_EVENT_LEVEL", - "QUERY_TYPE_CATEGORICAL_EVENT_LEVEL", - "QUERY_TYPE_NAVIGATIONAL_EVENT_LEVEL", - "QUERY_TYPE_MULTI_NAVIGATIONAL_EVENT_LEVEL", - "QUERY_TYPE_NAVIGATIONAL_EXT_EVENT_LEVEL", - "MR_HIGH_QUALITY_ZERO_EVENT_LEVEL", - "MR_HIGH_QUALITY_ONE_OR_TWO_EVENT_LEVEL", - "MR_HIGH_QUALITY_TRHEE_OR_MORE_EVENT_LEVEL", - "MR_HIGH_QUALITY_TOP_EVENT_LEVEL", - "MR_HIGH_RELEVANCE_ZERO_EVENT_LEVEL", - "MR_HIGH_RELEVANCE_ONE_OR_TWO_EVENT_LEVEL", - "MR_HIGH_RELEVANCE_TRHEE_OR_MORE_EVENT_LEVEL", - "MR_HIGH_RELEVANCE_TOP_EVENT_LEVEL", - "SR_HIGH_QUALITY_ZERO_EVENT_LEVEL", - "SR_HIGH_QUALITY_ONE_OR_TWO_EVENT_LEVEL", - "SR_HIGH_QUALITY_TRHEE_OR_MORE_EVENT_LEVEL", - "SR_HIGH_QUALITY_TOP_EVENT_LEVEL", - "SR_HIGH_RELEVANCE_ZERO_EVENT_LEVEL", - "SR_HIGH_RELEVANCE_ONE_OR_TWO_EVENT_LEVEL", - "SR_HIGH_RELEVANCE_TRHEE_OR_MORE_EVENT_LEVEL", - "SR_HIGH_RELEVANCE_TOP_EVENT_LEVEL", - "RAM_0GB_TO_1GB_EVENT_LEVEL", - "RAM_1GB_TO_2GB_EVENT_LEVEL", - "RAM_2GB_TO_3GB_EVENT_LEVEL", - "RAM_3GB_TO_4GB_EVENT_LEVEL", - "RAM_4GB_TO_6GB_EVENT_LEVEL", - "RAM_6GB_AND_MORE_EVENT_LEVEL", - "LOW_STORAGE_AT_INSTALL_PREPROCESSING_EVENT_LEVEL", - "DSA_P13N_OPTED_IN_AT_EVENT_LEVEL", - "DSA_P13N_OPTED_OUT_AT_EVENT_LEVEL", - "USER_P13N_SETTING_UNSPECIFIED_AT_EVENT_LEVEL", - "BOOKS_USER_P13N_SETTING_UNSPECIFIED_AT_EVENT_LEVEL", - "USER_P13N_SETTING_ON_AT_EVENT_LEVEL", - "BOOKS_USER_P13N_SETTING_ON_AT_EVENT_LEVEL", - "USER_P13N_SETTING_OFF_AT_EVENT_LEVEL", - "BOOKS_USER_P13N_SETTING_OFF_AT_EVENT_LEVEL", - "BATTLESTAR_GAME_IN_MDP_EVENT_LEVEL", - "BATTLESTAR_PSEUDO_CREDIT_OFFER_IN_DP_EVENT_LEVEL", - "REVIEW_HIGHLIGHTS_TRIGGERING_EVENT_LEVEL", - "TRUSTED_VERTICAL_VPN_INTENT_EVENT_LEVEL", - "TRUSTED_VERTICAL_LOAN_INTENT_EVENT_LEVEL", - "SERP_YOUTUBE_VIDEO_CLUSTER_POPULATED_EVENT_LEVEL", - "LOWQ_APPS_DEMOTION_EVENT_LEVEL", - "QUERY_TYPE_MDP_EVENT_LEVEL", - "QUERY_TYPE_NON_MDP_EVENT_LEVEL", - "NAV_CARD_EVENT_LEVEL", - "MDP_WITH_LIVE_OPS_EVER_INSTALLED_USERS_EVENT_LEVEL", - "MDP_WITH_LIVE_OPS_NEVER_INSTALLED_USERS_EVENT_LEVEL", - "BROAD_RELATED_QUERIES_CLUSTER_EVENT", - "SUPPLEMENTAL_TG_RETRIEVAL_EVENT_LEVEL", - "FIRST_PARTY_OFFERS_REQUEST_TRIGGER_EVENT_LEVEL", - "REVIEW_SUMMARY_HIGHLIGHTS_CLICK_EVENT_LEVEL", - "BATTLESTAR_SELF_SHARE_EVENT_LEVEL", - "SUPPLEMENTAL_TG_ANNOTATION_FOR_WEAR_EVENT_LEVEL", - "PGS_THIRD_PARTY_REVIEW_EVENT_LEVEL", - "GAME_HUB_DEVELOPER_VIDEO_AT_EVENT_LEVEL", - "BATTLESTAR_GAME_CENTRIC_BOTTOM_SHEET_ASSETS_EVENT_LEVEL", - "GAME_HUB_DEVELOPER_VIDEO_ELIGIBLE_AT_EVENT_LEVEL", - "FOP_ORDERING_RECOMMENDATION_ELIGIBLE_EVENT_LEVEL", - "FOP_ORDERING_NO_RECOMMENDATION_EVENT_LEVEL", - "FOP_ORDERING_RECOMMENDATION_OUTDATED_EVENT_LEVEL", - "FOP_ORDERING_RECOMMENDATION_SAME_FOP_EVENT_LEVEL", - "FOP_ORDERING_STORED_VALUE_EVENT_LEVEL", - "GEARHEAD_DUPLEX_COMPATIBLE_DIALER_ENABLED", - "CUSTOMER_UPDATE_CHALLENGE_EVENT_LEVEL", - "EXPERIMENTAL_TG_QUERY_EVENT_LEVEL", - "FEATURED_PRODUCTS_LIVE_OPS_CLIENT_AT_EVENT_LEVEL", - "DEVICE_INSTALL_P13N_EVENT_LEVEL", - "IMPRESSION_CAP_EVENT_LEVEL", - "APP_QUESTION_ANSWERS_GUIDE_EVENT_LEVEL", - "FCC_FIRST_PARTY_CATEGORICAL_SEARCH_OFFERS_EVENT_LEVEL", - "BOOKS_SEARCH_SERIES_INTERPRETATION_EVENT_LEVEL", - "DETAILS_GAME_HUB_STREAM_AT_EVENT_LEVEL", - "DETAILS_GAME_HUB_DEVELOPER_VIDEOS_CLUSTER_AT_EVENT_LEVEL", - "DETAILS_GAME_HUB_EDITORIAL_CONTENT_CLUSTER_AT_EVENT_LEVEL", - "DETAILS_GAME_HUB_LIVE_OPS_CLUSTER_AT_EVENT_LEVEL", - "DETAILS_GAME_HUB_POINTS_SPEND_PROMOTION_CLUSTER_AT_EVENT_LEVEL", - "DETAILS_GAME_HUB_QUESTIONS_AND_ANSWERS_MODULE_AT_EVENT_LEVEL", - "DETAILS_GAME_HUB_ELIGIBLE_AT_EVENT_LEVEL", - "CATEGORY_HIGHLIGHT_UI_SERP_EVENT_LEVEL", - "CATEGORY_HIGHLIGHT_UI_DP_EVENT_LEVEL", - "SOUR_PATCH_KIDS_UI_SERP_EVENT_LEVEL", - "SOUR_PATCH_KIDS_UI_UI_DP_EVENT_LEVEL", - "SOUR_PATCH_KIDS_DP_CLICK_EVENT_LEVEL", - "GEARHEAD_VOICEPLATE_2_ENABLED_EVENT_LEVEL", - "SOUR_PATCH_KIDS_SERP_CLICK_EVENT_LEVEL", - "TIMEWORTHY_APP_GAME_SEEKING_QUERY_EVENT_LEVEL", - "BATTLESTAR_PROGRAMMATIC_FCC_EVENT", - "TOP_DEVELOPER_BOOST_V4_EVENT_LEVEL", - "GAME_SEEKING_QUERY_EVENT_LEVEL", - "TIMEWORTHY_APP_SEEKING_QUERY_EVENT_LEVEL", - "TIME_SPENT_V3_NON_MDP_EVENT_LEVEL", - "TIME_SPENT_V3_MDP_EVENT_LEVEL", - "MDP_MEDIA_AND_ENTERTAINMENT_EVENT_LEVEL", - "ZERO_PREFIX_SUGGEST_OFFERS_EVENT_LEVEL", - "EVENT_LEVEL_TEST_CODE_LIMIT", - "ENTERTAINMENT_CLUSTER_TRIGGERING_AT_SESSION_LEVEL", - "BEST_SELLER_CART_TAG_AT_SESSION_LEVEL", - "SHOULD_SEE_BOOKS_WISHLIST_CLUSTER", - "PRIMETIME_CONTENT_IN_DETAILS_PAGES", - "SEARCH_NON_NAV_SPONSORED_ADS_CLUSTER", - "BOOTS_NO_DIFF_AT_SESSION_LEVEL", - "ABUSIVE_QUERY_SQUASHING_AT_SESSION_LEVEL", - "CART_ABANDONMENT_TEST_CODE", - "APP_SUPPORTS_INSTANT_LAUNCH_AT_SESSION_LEVEL", - "LOW_RESULT_CLUSTER_AT_SESSION_LEVEL", - "PERSONALIZED_CLUSTER_AT_SESSION_LEVEL", - "GAME_SEEKING_PERSONALIZED_CLUSTER_AT_SESSION_LEVEL", - "VX_CLUSTER_AT_SESSION_LEVEL", - "MOVIES_GROOT_20_AT_SESSION_LEVEL", - "MOVIES_GROOT_10_AT_SESSION_LEVEL", - "MOVIES_GROOT_5_AT_SESSION_LEVEL", - "MOVIES_GROOT_3_AT_SESSION_LEVEL", - "MOVIES_GROOT_1_AT_SESSION_LEVEL", - "GEARHEAD_MESSAGING_AUTO_REPLY_CANDIDATE", - "MOVIES_DORA_SEARCH_AT_SESSION_LEVEL", - "MOVIES_MDP_SEARCH_AT_SESSION_LEVEL", - "MOVIES_ORGANIC_SEARCH_AT_SESSION_LEVEL", - "BUY_NOW_BUTTON", - "AUDIOBOOKS_KIDS_CATEGORICAL_SEARCH_AT_SESSION_LEVEL", - "ZERO_RESULT_AT_SESSION_LEVEL", - "ABUSIVE_QUERY_AT_SESSION_LEVEL", - "HOME_SPONSORED_ADS_CLUSTER_NO_ADS_AT_SESSION_LEVEL", - "BOOKS_XSELL_ELIGIBLE_APP_AT_SESSION_LEVEL", - "PURCHASABLE_SUBSCRIPTIONS_IN_DETAILS_PAGE_SESSION_LEVEL", - "NAV_EXT_SESSION", - "FAST_REINSTALL_TEST_CODE", - "APPS_DETAILS_PAGE_PROMOTION_SESSION_LEVEL", - "BOOKS_DETAILS_PAGE_PROMOTION_SESSION_LEVEL", - "DETAILS_PAGE_PROMOTION_SESSION_LEVEL", - "SHOULD_SEE_LIVE_OPS_V2_CLUSTER", - "BOOKS_DETAILS_PAGE_SIMILAR_CLUSTER_AT_SESSION_LEVEL", - "BOOKS_DETAILS_PAGE_POST_ACQUIRE_SIMILAR_CLUSTER_AT_SESSION_LEVEL", - "FLOATING_HIGHLIGHTS_ROW_TRIGGERING_AT_SESSION_LEVEL", - "APPS_DETAILS_PAGE_EXISTING_PROMOTION_SESSION_LEVEL", - "BOOKS_DETAILS_PAGE_EXISTING_PROMOTION_SESSION_LEVEL", - "BOOKS_ELIGIBLE_FOR_BUNDLE", - "FALLBACK_FOP_OPTIONS_RECOMMENDED", - "SHOULD_SEE_PREREG_LIVE_OPS_EH", - "SHOULD_SEE_PREREG_LIVE_OPS_DP", - "HERO_CARD_CLUSTER_AT_SESSION_LEVEL", - "FALLBACK_FOP_OPTIONS_AVAILABLE", - "SWOOP_10P_OFF_SESSION_LEVEL", - "SWOOP_25P_OFF_SESSION_LEVEL", - "SWOOP_50P_OFF_SESSION_LEVEL", - "SWOOP_75P_OFF_SESSION_LEVEL", - "CANCEL_SUBSCRIPTION_CONFIRMATION_DIALOG_SHOWN_WHEN_ELIGIBLE_FOR_ENTITLEMENT_BENEFITS", - "PREREGISTRATION_AT_SESSION_LEVEL", - "GAMES_PROFILE_CREATION", - "IN_APP_SALE_IN_CART", - "MOVIES_MAX_NUMBER_MEESEEKS_CLUSTERS_SHOWN", - "MOVIES_MAX_NUMBER_BYW_CLUSTERS_SHOWN", - "RANDOM_FOP_OPTIONS_RECOMMENDED", - "MOVIES_QUERY_ELIGIBLE_FOR_APPS_CLUSTER_AT_SESSION_LEVEL", - "INSTANT_BANNER_ELIGIBLE", - "SUGGEST_NAV_SUGGEST_TRIGGERED", - "TRUSTED_ENTITY_SEARCH_QUERY", - "BURNSIE_ADD_FOP_PROMOTION_SESSION_LEVEL", - "MOVIES_WALLE_SEARCH_AT_SESSION_LEVEL", - "BUNDLE_FBT_DISCOUNT_AT_SESSION_LEVEL", - "BUNDLE_SERIES_DISCOUNT_AT_SESSION_LEVEL", - "MOVIES_REPEATED_BUYER", - "SUBSCRIPTION_CANCELLATION_PROMOTION_SESSION_LEVEL", - "SUBSCRIPTION_RETRY_FOP_FOR_DCB_AS_PRIMARY_SESSION_LEVEL", - "SUBSCRIPTION_DCB_AS_ADD_FOP_OPTION_SESSION_LEVEL", - "APPS_SEARCH_TOPIC_RFY_CLUSTER_AT_SESSION_LEVEL", - "APPS_SEARCH_MINI_TOP_CHARTS_CLUSTER_AT_SESSION_LEVEL", - "APPS_PERSONALIZED_TOPIC_QUERY_SESSION_LEVEL", - "APPS_PERSONALIZED_TG_QUERY_SESSION_LEVEL", - "APPS_PERSONALIZED_ALL_GAME_QUERIES_SESSION_LEVEL", - "APPS_PERSONALIZED_CATEGORICAL_GAME_SEEKING_QUERIES_SESSION_LEVEL", - "APPS_PERSONALIZED_APP_SEEKING_QUERIES_SESSION_LEVEL", - "APPS_PERSONALIZED_GAME_SEEKING_QUERIES_SESSION_LEVEL", - "APPS_PERSONALIZED_CATEGORICAL_NON_TG_QUERIES_SESSION_LEVEL", - "PLAY_STORE_SHOW_CART", - "MOVIES_RENTER", - "APPS_SEARCH_TOPIC_RFY_CLUSTER_COUNTERFACTUAL_AT_SESSION_LEVEL", - "APPS_SEARCH_MINI_TOP_CHARTS_CLUSTER_COUNTERFACTUAL_AT_SESSION_LEVEL", - "FREE_TRIAL_SUBSCRIPTION_CANCELATION_APP_INSTALLED", - "FREE_TRIAL_SUBSCRIPTION_CANCELATION_APP_NOT_INSTALLED", - "NON_FREE_TRIAL_SUBSCRIPTION_CANCELATION_APP_INSTALLED", - "NON_FREE_TRIAL_SUBSCRIPTION_CANCELATION_APP_NOT_INSTALLED", - "CLIENT_NOTIFICATION_APP_UNINSTALLED_WITH_SUBSCRIPTION", - "PURCHASABLE_SUBSCRIPTIONS_IN_DETAILS_PAGE_APP_1_AT_SESSION_LEVEL", - "PURCHASABLE_SUBSCRIPTIONS_IN_DETAILS_PAGE_APP_3_AT_SESSION_LEVEL", - "KIDS_AGE_SCORE_BONUS", - "UPDATE_SUBSCRIPTION_INSTRUMENT_PAYMENT_DECLINED_FOP_IMPRESSION", - "UPDATE_SUBSCRIPTION_INSTRUMENT_PAYMENT_DECLINED_FOP_MESSAGE_IMPRESSION", - "KIDS_QUALITY_TAG_SCORE_BONUS_AT_SESSION_LEVEL", - "SHOULD_SEE_REVIEW_MORE_LINK", - "INCENTIVIZED_OPTIN_INTERSTITIAL_AT_SESSION_LEVEL", - "PREMIUM_GAME_HOME", - "LB_TARGETED_AT_SESSION_LEVEL", - "PCD_APP_DETAILS", - "MIXED_AUDIENCE_APP_DETAILS", - "LB_IMPRESSED_AT_SESSION_LEVEL", - "HERO_CARD_CLUSTER_INSTANT_ELIGIBLE", - "LOYALTY_SHOULD_NOT_SEE_FREE_TRIAL_SUBSCRIPTION_POINTS_EARN_MESSAGE", - "MOVIES_USER_INTERESTS_NONE_AT_SESSION_LEVEL", - "MOVIES_USER_INTERESTS_LOW_AT_SESSION_LEVEL", - "MOVIES_USER_INTERESTS_MEDIUM_AT_SESSION_LEVEL", - "MOVIES_USER_INTERESTS_HIGH_AT_SESSION_LEVEL", - "MOVIES_BOY_SEEDS_NONE_AT_SESSION_LEVEL", - "MOVIES_BOY_SEEDS_LOW_AT_SESSION_LEVEL", - "MOVIES_BOY_SEEDS_MEDIUM_AT_SESSION_LEVEL", - "MOVIES_BOY_SEEDS_HIGH_AT_SESSION_LEVEL", - "RENEWAL_REMINDER_SET_IN_CANCEL_FLOW", - "RENEWAL_REMINDER_CAN_BE_SET_IN_CANCEL_FLOW", - "PLAY_PASS_SIGNUP_INTERSTITIAL_ELIGIBLE_SESSION_LEVEL", - "PLAY_PASS_SIGNUP_INTERSTITIAL_TARGETED_SESSION_LEVEL", - "PLAY_PASS_IPD_ELIGIBLE_SESSION_LEVEL", - "PLAY_PASS_FHR_ELIGIBLE_SESSION_LEVEL", - "DOUBLE_WIDE_SCREENSHOT_CLUSTER_TRIGGERING_AT_SESSION_LEVEL", - "TRIPLE_WIDE_VIDEO_CLUSTER_TRIGGERING_AT_SESSION_LEVEL", - "WIDE_MEDIA_CLUSTER_TRIGGERING_AT_SESSION_LEVEL", - "SMART_FOP_AT_SESSION_LEVEL", - "BILLING_PROFILE_DCB_ELIGIBLE", - "LOYALTY_UPSELL_AFTER_IN_APP_PURCHASE_AT_SESSION_LEVEL", - "SHOULD_SEE_APPS_COMPARISON_CLUSTER", - "RESIGNUP_FROM_SUBS_CENTER", - "VX_CLUSTER_IN_APPS_SERP_IMPRESSION_SESSIONS", - "PARTNER_REWARD_ON_LOYALTY_SIGNUP_PAGE", - "UGC_CLUSTER_AT_SESSION_LEVEL", - "REGIONAL_TRENDING_CLUSTER", - "USABLE_ANON_ML_FOP_OPTIONS_FOUND", - "ANON_ML_FOP_OPTIONS_RECOMMENDED", - "BUY_BUTTON_CLICK", - "TV_BUTTON_CLICK", - "LOYALTY_SEES_POINTS_EARN_PROMOTIONS_AT_SESSION_LEVEL", - "KIDS_CONTENT_SEEKING_QUERY_SESSION", - "KIDS_CONTENT_SEEKING_QUERY_TREATMENT_APPLIED_SESSION", - "UGC_CLUSTER_NON_FIRST_PAGE_AT_SESSION_LEVEL", - "UGC_CLUSTER_ELIGIBLE_AT_SESSION_LEVEL", - "LOYALTY_SEES_FREE_TRIAL_SUBSCRIPTION_AT_SESSION_LEVEL", - "APPS_SEARCH_FILTERS_TRIGGERED", - "APPS_SEARCH_FILTERS_ACTIVATED", - "PLAY_SUBMANAGEMENT_LOG_HOOK_SESSION_EXAMPLE", - "LOYALTY_SIGNUP_INTERSTITIAL_AT_SESSION_LEVEL", - "BOOTS_CHIPS_NOT_TRIGGERED_COUNTERFACTUAL", - "BOOTS_CHIPS_TRIGGERED_COUNTERFACTUAL", - "APPS_SEARCH_FILTERS_NOT_TRIGGERED", - "PREFERRED_FOP_AT_SESSION_LEVEL", - "REDEEM_NOT_ENROLLED_TO_LOYALTY_AT_SESSION_LEVEL", - "VIDEO_CLUSTER_EXPANDED", - "LOYALTY_UPSELL_SEEN_AT_SESSION_LEVEL", - "TRIPLE_WIDE_SCREENSHOT_CLUSTER_TRIGGERING_AT_SESSION_LEVEL", - "LOYALTY_LIVE_OPS_RETURNED_AT_SESSION_LEVEL", - "SEARCH_MDP_TRIGGERED_SESSION_LEVEL", - "PROMOLINK_CDP_SESSION_LEVEL", - "PROMOLINK_CDP_TITLE_PAGE_SESSION_LEVEL", - "PROMOLINK_CDP_TOPIC_PAGE_SESSION_LEVEL", - "PROMOLINK_CDP_GENERIC_PAGE_SESSION_LEVEL", - "WMC_INSTANT_PREVIEW_CLUSTER_AT_SESSION_LEVEL", - "POINTS_PROMOTION_CONTENT_PAGE_AT_SESSION_LEVEL", - "SEARCH_SYN_APPS_SESSION_LEVEL", - "IN_APP_OFFER_AT_SESSION_LEVEL", - "IN_APP_OFFER_APP_1_AT_SESSION_LEVEL", - "IN_APP_OFFER_APP_2_AT_SESSION_LEVEL", - "IN_APP_OFFER_APP_3_AT_SESSION_LEVEL", - "IN_APP_OFFER_APP_4_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_GAMELOFT_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_EVONY_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_ASPHALT_9_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_MAGIC_RAMPAGE_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_LAST_SURVIVOR_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_SUMMONERS_WAR_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_TOWER_OF_GOD_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_JACKPOT_WORLD_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_LOTSA_SLOTS_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_CASH_FRENZY_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_WAR_PLANET_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_ESKYFUN_LEGENDS_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_MAHJONG_VILLAGE_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_ONE_PUNCH_MAN_KR_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_ONE_PUNCH_MAN_TW_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_GRAND_CROSS_AT_SESSION_LEVEL", - "IN_APP_OFFER_ELIGIBLE_AT_SESSION_LEVEL", - "IN_APP_OFFER_ELIGIBLE_APP_1_AT_SESSION_LEVEL", - "IN_APP_OFFER_ELIGIBLE_APP_2_AT_SESSION_LEVEL", - "IN_APP_OFFER_ELIGIBLE_APP_3_AT_SESSION_LEVEL", - "IN_APP_OFFER_ELIGIBLE_APP_4_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_GAMELOFT_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_EVONY_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_ASPHALT_9_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_MAGIC_RAMPAGE_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_LAST_SURVIVOR_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_SUMMONERS_WAR_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_TOWER_OF_GOD_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_JACKPOT_WORLD_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_LOTSA_SLOTS_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_CASH_FRENZY_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_WAR_PLANET_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_ESKYFUN_LEGENDS_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_MAHJONG_VILLAGE_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_ONE_PUNCH_MAN_KR_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_ONE_PUNCH_MAN_TW_AT_SESSION_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_GRAND_CROSS_AT_SESSION_LEVEL", - "IN_APP_OFFER_SAVED_AT_SESSION_LEVEL", - "IN_APP_OFFER_SAVED_APP_1_AT_SESSION_LEVEL", - "IN_APP_OFFER_SAVED_APP_2_AT_SESSION_LEVEL", - "IN_APP_OFFER_SAVED_APP_3_AT_SESSION_LEVEL", - "IN_APP_OFFER_SAVED_APP_4_AT_SESSION_LEVEL", - "QUICK_BUY_AT_SESSION_LEVEL", - "DEVELOPER_PAGE_AT_SESSION_LEVEL", - "GAMES_SUBNAV_SHUFFLE_APPLIED", - "APPS_SUBNAV_SHUFFLE_APPLIED", - "BOOKS_FREE_FIXED_DURATION_RENTAL_SESSION_LEVEL", - "BOOKS_FREE_FIXED_DATE_RENTAL_SESSION_LEVEL", - "PAYMENTS_DELAYED_CHARGING_AT_SESSION_LEVEL", - "BOOKS_PRICE_DROP_SESSION_LEVEL", - "NON_EMPTY_HOME_STREAM_LIVE_OPS_CLUSTER_SERVED", - "SHOULD_SEE_LIVE_OPS_CARD_IN_SEARCH_MDP", - "CART_ABANDONMENT_SUBSCRIPTION_ONE_TIME_PASS_SESSION_LEVEL", - "MY_REVIEWS_PAGE_VISIT_USER_LEVEL", - "SERIES_BUNDLE_MULTI_TIER_DISCOUNT_SESSION_LEVEL", - "GOOGLE_PROMOTIONS_ELIGIBLE_SESSION_LEVEL", - "USER_TRIGGERED_IAP_PROMOTION_RETRIEVAL_SESSION_LEVEL", - "IAP_HAS_UNREDEEMED_PROMOTIONS_CLIENT_SESSION_LEVEL", - "SUBSCRIPTION_UPDATE_FOP_FOR_DCB_AS_PRIMARY_SIGNUP_SESSION_LEVEL", - "SUBSCRIPTION_UPDATE_FOP_FOR_DCB_AS_PRIMARY_SUB_CENTER_SESSION_LEVEL", - "RENEW_TASK_DELAYED_SUBSCRIPTION_TARGETED", - "RENEW_TASK_DELAYED_SUBSCRIPTION_NOT_TARGETED", - "PRE_AUTH_TASK_DELAYED_SUBSCRIPTION_TARGETED", - "PRE_AUTH_TASK_DELAYED_SUBSCRIPTION_NOT_TARGETED", - "REDEEM_REDIRECT_CHALLENGE_AT_SESSION_LEVEL", - "PLAY_STORE_IAP_SALES", - "PLAY_STORE_IAP_SALES_APP_1", - "PLAY_STORE_IAP_SALES_MINI_DETAILS_PAGE", - "CROSS_DEVICE_INSTALL_OPTIONS_FETCHED_IN_SESSION", - "CROSS_DEVICE_INSTALL_OPTIONS_ITEM_FIELDS_TRIGGERED", - "OTHER_DEVICES_SUBNAV_RETURNED_IN_SESSION", - "GEARHEAD_FRX_SENSITIVE_PERMISSION_SCREEN_SEEN", - "POST_PURCHASE_ITEM_UPSELL_SESSION_LEVEL", - "POST_PURCHASE_ITEM_UPSELL_WAVE_2_SESSION_LEVEL", - "POST_PURCHASE_ITEM_UPSELL_WAVE_2_SESSION_LEVEL_2", - "PLAY_PASS_SIGNUP_INTERSTITIAL_SHOWN_SESSION_LEVEL", - "FETCH_PROMOTION_BANNER_FROM_P3_SESSION_LEVEL", - "AVP_SWOOP_10P_OFF_SESSION_LEVEL", - "AVP_SWOOP_25P_OFF_SESSION_LEVEL", - "AVP_SWOOP_50P_OFF_SESSION_LEVEL", - "AVP_SWOOP_75P_OFF_SESSION_LEVEL", - "CLUSTER_TRIGGER_CONDITION_IS_PARENT", - "CDP_ENABLE_PREFETCH_SESSION_LEVEL", - "P13N_INTERSTITIAL_SESSION_LEVEL", - "GEARHEAD_SKIP_LEGACY_FRX_FOR_CAKEWALK", - "FEATURED_SUBSCRIPTIONS_PRESENT", - "SHOULD_NOT_SEE_HOME_LIVE_OPS_CLUSTER", - "SHOULD_SEE_HOME_LIVE_OPS_CLUSTER_K1_2", - "SHOULD_SEE_HOME_LIVE_OPS_CLUSTER_K1", - "SHOULD_SEE_HOME_LIVE_OPS_CLUSTER_K2", - "SHOULD_SEE_HOME_LIVE_OPS_CLUSTER_K3_4", - "SHOULD_SEE_HOME_LIVE_OPS_CLUSTER_GTE_K5", - "SHOULD_NOT_SEE_HOME_OFFER_CLUSTER", - "SHOULD_SEE_HOME_OFFER_CLUSTER_K1", - "SHOULD_SEE_HOME_OFFER_CLUSTER_K2", - "SHOULD_SEE_HOME_OFFER_CLUSTER_K3_4", - "SHOULD_SEE_HOME_OFFER_CLUSTER_GTE_K5", - "SHOULD_NOT_SEE_DEALS_HOME_OFFER", - "SHOULD_SEE_DEALS_HOME_OFFER_K1", - "SHOULD_SEE_DEALS_HOME_OFFER_K2", - "SHOULD_SEE_DEALS_HOME_OFFER_K3_4", - "SHOULD_SEE_DEALS_HOME_OFFER_GTE_K5", - "SHOULD_SEE_DEALS_HOME_GAME_K1", - "SHOULD_SEE_DEALS_HOME_GAME_K2", - "SHOULD_SEE_DEALS_HOME_GAME_K3", - "SHOULD_SEE_DEALS_HOME_GAME_K4", - "SHOULD_SEE_DEALS_HOME_GAME_GTE_K5", - "SHOULD_SEE_DEALS_HOME_APP_K1", - "SHOULD_SEE_DEALS_HOME_APP_K2", - "SHOULD_SEE_DEALS_HOME_APP_K3", - "SHOULD_SEE_DEALS_HOME_APP_K4", - "SHOULD_SEE_DEALS_HOME_APP_GTE_K5", - "SHOULD_SEE_DEALS_HOME_EVER_INSTALL_K1", - "SHOULD_SEE_DEALS_HOME_EVER_INSTALL_K2", - "SHOULD_SEE_DEALS_HOME_EVER_INSTALL_K3", - "SHOULD_SEE_DEALS_HOME_EVER_INSTALL_K4", - "SHOULD_SEE_DEALS_HOME_EVER_INSTALL_GTE_K5", - "SHOULD_SEE_DEALS_HOME_NEVER_INSTALL_K1", - "SHOULD_SEE_DEALS_HOME_NEVER_INSTALL_K2", - "SHOULD_SEE_DEALS_HOME_NEVER_INSTALL_K3", - "SHOULD_SEE_DEALS_HOME_NEVER_INSTALL_K4", - "SHOULD_SEE_DEALS_HOME_NEVER_INSTALL_GTE_K5", - "USE_SUBSCRIPTION_NEW_DOCUMENT_FORMAT_SESSION_LEVEL", - "USE_SUBSCRIPTION_NEW_DOCUMENT_FORMAT_PREVIEW_BATCH_SESSION_LEVEL", - "USE_SUBSCRIPTION_NEW_DOCUMENT_FORMAT_SKU_DETAILS_SESSION_LEVEL", - "USE_SUBSCRIPTION_NEW_DOCUMENT_FORMAT_PREVIEW_BATCH_SKU_DETAILS_SESSION_LEVEL", - "USE_SUBSCRIPTION_NEW_DOCUMENT_FORMAT_FOR_ALL_SUBS_SESSION_LEVEL", - "LEON_LIVEOPS_DEAL_STATE_SYNC_SESSION_LEVEL", - "SURVEY_AHC_AT_SESSION_LEVEL", - "PLAY_PASS_CART_MAREKTING_BANNER_ELIGIBLE_AND_SHOWN_CART_SESSION_LEVEL", - "PLAY_PASS_PERKS_VOUCHER_IN_CART_SESSION_LEVEL", - "PLAY_SEARCH_MDP_TRIGGERING", - "PLAY_SEARCH_NON_MDP_TRIGGERING", - "PRICE_TRANSPARENCY_IS_OFFER_PERSONALIZED_SESSION_LEVEL", - "GEARHEAD_SKIP_LEGACY_FRX_FOR_CAKEWALK_USB_CANDIDATE", - "PLAY_PASS_PARENT_FOCUSED_SPLASH_PAGE_SESSION_LEVEL", - "PLAY_PASS_SPLASH_PAGE_FOR_UNICORN_SESSION_LEVEL", - "REVIEW_SUBMITTED_SESSION_LEVEL", - "REVIEW_TOPIC_FILTER_SELECTED_SESSION_LEVEL", - "PLAY_SEARCH_GENERAL_QUERY_PAGINATION_SESSION_LEVEL", - "IN_CART_EXCHANGE_OPTIONS_ELIGIBLE_SESSION_LEVEL", - "PLAY_SEARCH_MULTINAV_PAGINATION_SESSION_LEVEL", - "REGIONAL_NAV_EXT_SESSION_LEVEL", - "IAP_SKU_DEALS_LIVE_OP_DEALS_HOME_SESSION_LEVEL", - "IAP_SKU_DEALS_LIVE_OP_GAMES_HOME_SESSION_LEVEL", - "FEATURING_AHC_OR_FHR_TRIGGERED_SESSION_LEVEL", - "ALLOWLIST_EXPANSION_FOR_P13N_INTERSTITIAL_SESSION_LEVEL", - "SURVEY_RECS_LIST_AT_SESSION_LEVEL", - "GEARHEAD_FRX_RUNNING_CW175_IN_GH", - "RANDOM_SHUFFLE_CLUSTERS_ON_TARGET_USERS_SESSION_LEVEL", - "RANDOM_SHUFFLE_CLUSTERS_AND_APPS_ON_TARGET_USERS_SESSION_LEVEL", - "ALLOWLIST_EXPANSION_FOR_P13N_NOTIFICATIONS_SESSION_LEVEL", - "FRESH_RESULTS_SEEKING_SEARCH_QUERY_SESSION_LEVEL", - "GOOGLE_FUNDED_BUNDLE_DISCOUNT_BUCKET_1_SESSION_LEVEL", - "GOOGLE_FUNDED_BUNDLE_DISCOUNT_BUCKET_2_SESSION_LEVEL", - "GOOGLE_FUNDED_BUNDLE_DISCOUNT_BUCKET_3_SESSION_LEVEL", - "GOOGLE_FUNDED_BUNDLE_DISCOUNT_BUCKET_4_SESSION_LEVEL", - "GOOGLE_FUNDED_BUNDLE_DISCOUNT_BUCKET_5_SESSION_LEVEL", - "GOOGLE_FUNDED_BUNDLE_DISCOUNT_BUCKET_6_SESSION_LEVEL", - "TRUSTED_GENOME_RELATED_QUERY_CLUSTER_SESSION", - "NAV_TG_RELATED_QUERY_SESSION", - "PROMOTABLE_APPS_SESSION", - "PROMOTABLE_APPS_STRONG_CAT_SESSION", - "GROWTH_COFFEE_CARD_IN_PURCHASE_FLOW_SESSION_LEVEL", - "GROWTH_COFFEE_CARD_IN_PURCHASE_FLOW_SERVER_SESSION_LEVEL", - "LIVE_OPS_ROI_HOLDBACK", - "EDITORS_CHOICE_CLUSTER_SERP_SESSION_LEVEL", - "BESTK_CLUSTER_SERP_SESSION_LEVEL", - "LIVEOPS_CLUSTER_SERP_SESSION_LEVEL", - "LIVEOPS_CLUSTER_SERP_TRIGGERING_SESSION_LEVEL", - "QUICKPICKS_CLUSTER_SERP_SESSION_LEVEL", - "WIDE_MEDIA_CLUSTER_INVALID_VIDEO_ASSET_SESSION_LEVEL", - "ALTERNATE_DEVICE_PRESENT_SESSION_LEVEL", - "MULTIPLE_ALTERNATE_DEVICES_PER_FORM_FACTOR_SESSION_LEVEL", - "APPS_SEARCH_DISCOVERY_CLUSTER_TRIGGERED_SESSION_LEVEL", - "SUGGEST_CROSS_FORM_FACTOR_APPS_WEAR_SUGGESTIONS_ENABLED", - "SUGGEST_CROSS_FORM_FACTOR_APPS_WEAR_SUGGESTIONS_AVAILABLE", - "SUGGEST_CROSS_FORM_FACTOR_APPS_TV_SUGGESTIONS_ENABLED", - "SUGGEST_CROSS_FORM_FACTOR_APPS_TV_SUGGESTIONS_AVAILABLE", - "SUGGEST_APPS_SUBTEXT_SUGGESTIONS_SESSION_LEVEL", - "SUGGEST_ZERO_PREFIX_LIVE_OPS_AVAILABLE", - "INLINE_DETAILS_TQUALITY_CHECK_PASS_SESSION_LEVEL", - "INLINE_DETAILS_TQUALITY_CHECK_FAIL_SESSION_LEVEL", - "INLINE_DETAILS_AQUALITY_CHECK_PASS_SESSION_LEVEL", - "INLINE_DETAILS_AQUALITY_CHECK_FAIL_SESSION_LEVEL", - "INLINE_DETAILS_CALLER_AQUALITY_CHECK_PASS_SESSION_LEVEL", - "INLINE_DETAILS_CALLER_AQUALITY_CHECK_FAIL_SESSION_LEVEL", - "HSDP_AD_NETWORK_CALLER_TABLET_AQUALITY_CHECK_PASS_SESSION_LEVEL", - "HSDP_AD_NETWORK_CALLER_TABLET_AQUALITY_CHECK_FAIL_SESSION_LEVEL", - "HSDP_INDEPENDENT_APP_TABLET_AQUALITY_CHECK_UNKNOWN_SESSION_LEVEL", - "HSDP_INDEPENDENT_APP_TABLET_AQUALITY_CHECK_PASS_SESSION_LEVEL", - "HSDP_INDEPENDENT_APP_TABLET_AQUALITY_CHECK_FAIL_SESSION_LEVEL", - "INLINE_DETAILS_IS_INLINE_URL_SESSION_LEVEL", - "SENT_EMAIL_ENTER_GRACE_PERIOD_SESSION_LEVEL", - "SENT_EMAIL_ENTER_SUSPENDED_PERIOD_SESSION_LEVEL", - "SENT_EMAIL_ENTER_SUSPENDED_PERIOD_WITHOUT_GRACE_PERIOD_SESSION_LEVEL", - "ANALYTICS_AD_LINKING_RECOMMENDATION_ELIGIBLE_SESSION_LEVEL", - "EDITORIAL_FCC_AT_SESSION_LEVEL", - "FRESH_RESULTS_SEEKING_CURRENT_YEAR_SESSION_LEVEL", - "FILTER_TQ_FAILURE_APP_SESSION_LEVEL", - "EDITORIAL_CONTENT_CLUSTER_FHR_SERP_SESSION_LEVEL", - "HAVE_LOCALIZATION_QUALITY_DIFF_AT_FILTER_SESSION_LEVEL", - "EXPERIMENTAL_TG_QUERY_SESSION_LEVEL", - "NAV_CARD_HIGH_QUALITY_MDP_SESSION_LEVEL", - "NAV_CARD_POLARIS_GS_TITLE_MDP_SESSION_LEVEL", - "HAS_DECLINE_REASON_IN_PAYMENT_DECLINE_EMAIL_SESSION_LEVEL", - "QUEST_CONTENT_CARD_IN_DEALS_HOME_SESSION_LEVEL", - "PRE_INSTALL_LOW_QUALITY_DEEP_LINK_DETAILS_PAGE_SESSION_LEVEL", - "COLLAPSED_DETAILS_PAGE_EXPANDED_BY_SHOW_MORE_SESSION_LEVEL", - "COLLAPSED_DETAILS_PAGE_EXPANDED_BY_INSTALL_SESSION_LEVEL", - "PGSS_PRE_INSTALL_LOW_QUALITY_DEEP_LINK_DETAILS_PAGE_SESSION_LEVEL", - "PGSS_DETAILS_PAGE_TQUALITY_UNKNOWN_SESSION_LEVEL", - "PGSS_DETAILS_PAGE_TQUALITY_FAILED_SESSION_LEVEL", - "PGSS_DETAILS_PAGE_TQUALITY_PASSED_SESSION_LEVEL", - "PGSS_DETAILS_PAGE_AQUALITY_UNKNOWN_SESSION_LEVEL", - "PGSS_DETAILS_PAGE_AQUALITY_FAILED_SESSION_LEVEL", - "PGSS_DETAILS_PAGE_AQUALITY_PASSED_SESSION_LEVEL", - "QUERY_DEPENDENT_SNIPPET_SESSION_LEVEL", - "FOP_STEERING_PROMOTION_INITIAL_BILLING_PROFILE_SESSION_LEVEL", - "FOP_STEERING_PROMOTION_CART_ADD_FOP_SESSION_LEVEL", - "FOP_STEERING_PROMOTION_CART_CHANGE_FOP_SESSION_LEVEL", - "FOP_STEERING_PROMOTION_CART_APPLY_PROMOTION_SESSION_LEVEL", - "PTP_CLUSTER_SERP_P13N_RANKING_SESSION_LEVEL", - "QUERY_DEPENDENT_SNIPPET_FRONT_END_SESSION_LEVEL", - "SUBS_HIGH_CHURN_FOP_OPTIONS_AVAILABLE_SESSION_LEVEL", - "SUBS_HIGH_CHURN_FOP_OPTIONS_AVAILABLE_SESSION_LEVEL_V2", - "SUBS_HIGH_CHURN_FOP_OPTIONS_AVAILABLE_WITH_EXISTING_FOP_SESSION_LEVEL", - "SUBS_HIGH_CHURN_FOP_OPTIONS_AVAILABLE_WITHOUT_EXISTING_FOP_SESSION_LEVEL", - "FOPLESS_USER_WITH_DCB_OR_EWALLET_OR_STORE_VALUE_SESSION_LEVEL", - "MDP_WITHOUT_QUALITY_SESSION_LEVEL", - "MDP_WITH_HIGH_QUALITY_SESSION_LEVEL", - "MDP_WITH_MEDIUM_QUALITY_SESSION_LEVEL", - "MDP_WITH_LOW_QUALITY_SESSION_LEVEL", - "MDP_TRIGGERED_AND_GAME_SEEKING_SESSION_LEVEL", - "PLAY_SEARCH_GENERAL_QUERY_MDP_PAGINATION_WITH_GAME_SEEKING_RYF_CLUSTER_SESSION_LEVEL", - "PLAY_SEARCH_GENERAL_QUERY_NON_MDP_PAGINATION_WITH_GAME_SEEKING_RYF_CLUSTER_SESSION_LEVEL", - "PSS_GENERAL_PAGINATION_SESSION_LEVEL", - "PSS_GENERAL_PAGINATION_GAME_SEEKING_SESSION_LEVEL", - "INLINE_ADD_PAYMENT_CREDIT_CARD_ELIGIBLE", - "INLINE_ADD_PAYMENT_CARRIER_BILLING_ELIGIBLE", - "INLINE_ADD_PAYMENT_EWALLET_ELIGIBLE", - "INLINE_ADD_PAYMENT_NO_ELIGIBLE_TYPE", - "SHOULD_NOT_SEE_NOW_CONTENT_AH", - "SHOULD_SEE_NOW_CONTENT_AH_K1", - "SHOULD_SEE_NOW_CONTENT_AH_K2", - "SHOULD_SEE_NOW_CONTENT_AH_K3_4", - "SHOULD_SEE_NOW_CONTENT_AH_GTE_K5", - "SHOULD_NOT_SEE_NOW_CONTENT_GH", - "SHOULD_SEE_NOW_CONTENT_GH_K1", - "SHOULD_SEE_NOW_CONTENT_GH_K2", - "SHOULD_SEE_NOW_CONTENT_GH_K3_4", - "SHOULD_SEE_NOW_CONTENT_GH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_NEW_RELEASE_AH_K1", - "SHOULD_SEE_NOW_CONTENT_NEW_RELEASE_AH_K2", - "SHOULD_SEE_NOW_CONTENT_NEW_RELEASE_AH_K3_4", - "SHOULD_SEE_NOW_CONTENT_NEW_RELEASE_AH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_NEW_RELEASE_GH_K1", - "SHOULD_SEE_NOW_CONTENT_NEW_RELEASE_GH_K2", - "SHOULD_SEE_NOW_CONTENT_NEW_RELEASE_GH_K3_4", - "SHOULD_SEE_NOW_CONTENT_NEW_RELEASE_GH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_EDITORIAL_AH_K1", - "SHOULD_SEE_NOW_CONTENT_EDITORIAL_AH_K2", - "SHOULD_SEE_NOW_CONTENT_EDITORIAL_AH_K3_4", - "SHOULD_SEE_NOW_CONTENT_EDITORIAL_AH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_EDITORIAL_GH_K1", - "SHOULD_SEE_NOW_CONTENT_EDITORIAL_GH_K2", - "SHOULD_SEE_NOW_CONTENT_EDITORIAL_GH_K3_4", - "SHOULD_SEE_NOW_CONTENT_EDITORIAL_GH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_LIVE_OPS_AH_K1", - "SHOULD_SEE_NOW_CONTENT_LIVE_OPS_AH_K2", - "SHOULD_SEE_NOW_CONTENT_LIVE_OPS_AH_K3_4", - "SHOULD_SEE_NOW_CONTENT_LIVE_OPS_AH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_LIVE_OPS_GH_K1", - "SHOULD_SEE_NOW_CONTENT_LIVE_OPS_GH_K2", - "SHOULD_SEE_NOW_CONTENT_LIVE_OPS_GH_K3_4", - "SHOULD_SEE_NOW_CONTENT_LIVE_OPS_GH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_PRE_REGISTRATION_AH_K1", - "SHOULD_SEE_NOW_CONTENT_PRE_REGISTRATION_AH_K2", - "SHOULD_SEE_NOW_CONTENT_PRE_REGISTRATION_AH_K3_4", - "SHOULD_SEE_NOW_CONTENT_PRE_REGISTRATION_AH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_PRE_REGISTRATION_GH_K1", - "SHOULD_SEE_NOW_CONTENT_PRE_REGISTRATION_GH_K2", - "SHOULD_SEE_NOW_CONTENT_PRE_REGISTRATION_GH_K3_4", - "SHOULD_SEE_NOW_CONTENT_PRE_REGISTRATION_GH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_WEEKLY_REWARD_AH_K1", - "SHOULD_SEE_NOW_CONTENT_WEEKLY_REWARD_AH_K2", - "SHOULD_SEE_NOW_CONTENT_WEEKLY_REWARD_AH_K3_4", - "SHOULD_SEE_NOW_CONTENT_WEEKLY_REWARD_AH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_WEEKLY_REWARD_GH_K1", - "SHOULD_SEE_NOW_CONTENT_WEEKLY_REWARD_GH_K2", - "SHOULD_SEE_NOW_CONTENT_WEEKLY_REWARD_GH_K3_4", - "SHOULD_SEE_NOW_CONTENT_WEEKLY_REWARD_GH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_QUEST_GH_K1", - "SHOULD_SEE_NOW_CONTENT_QUEST_GH_K2", - "SHOULD_SEE_NOW_CONTENT_QUEST_GH_K3_4", - "SHOULD_SEE_NOW_CONTENT_QUEST_GH_GTE_K5", - "SHOULD_NOT_SEE_TOP_NOW_CONTENT_AH", - "SHOULD_SEE_TOP_NOW_CONTENT_AH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_AH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_AH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_AH_GTE_K5", - "SHOULD_NOT_SEE_TOP_NOW_CONTENT_GH", - "SHOULD_SEE_TOP_NOW_CONTENT_GH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_GH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_GH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_GH_GTE_K5", - "SHOULD_SEE_TOP_NOW_CONTENT_NEW_RELEASE_AH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_NEW_RELEASE_AH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_NEW_RELEASE_AH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_NEW_RELEASE_AH_GTE_K5", - "SHOULD_SEE_TOP_NOW_CONTENT_NEW_RELEASE_GH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_NEW_RELEASE_GH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_NEW_RELEASE_GH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_NEW_RELEASE_GH_GTE_K5", - "SHOULD_SEE_TOP_NOW_CONTENT_EDITORIAL_AH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_EDITORIAL_AH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_EDITORIAL_AH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_EDITORIAL_AH_GTE_K5", - "SHOULD_SEE_TOP_NOW_CONTENT_EDITORIAL_GH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_EDITORIAL_GH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_EDITORIAL_GH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_EDITORIAL_GH_GTE_K5", - "SHOULD_SEE_TOP_NOW_CONTENT_LIVE_OPS_AH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_LIVE_OPS_AH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_LIVE_OPS_AH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_LIVE_OPS_AH_GTE_K5", - "SHOULD_SEE_TOP_NOW_CONTENT_LIVE_OPS_GH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_LIVE_OPS_GH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_LIVE_OPS_GH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_LIVE_OPS_GH_GTE_K5", - "SHOULD_SEE_TOP_NOW_CONTENT_PRE_REGISTRATION_AH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_PRE_REGISTRATION_AH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_PRE_REGISTRATION_AH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_PRE_REGISTRATION_AH_GTE_K5", - "SHOULD_SEE_TOP_NOW_CONTENT_PRE_REGISTRATION_GH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_PRE_REGISTRATION_GH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_PRE_REGISTRATION_GH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_PRE_REGISTRATION_GH_GTE_K5", - "SHOULD_SEE_TOP_NOW_CONTENT_MERCH_NEW_RELEASE_AH", - "SHOULD_SEE_TOP_NOW_CONTENT_MERCH_PRE_REGISTRATION_AH", - "SHOULD_SEE_TOP_NOW_CONTENT_MERCH_LIVE_OPS_AH", - "SHOULD_SEE_TOP_NOW_CONTENT_MERCH_NEW_RELEASE_GH", - "SHOULD_SEE_TOP_NOW_CONTENT_MERCH_PRE_REGISTRATION_GH", - "SHOULD_SEE_TOP_NOW_CONTENT_MERCH_LIVE_OPS_GH", - "SHOULD_SEE_TOP_NOW_CONTENT_WEEKLY_REWARD_AH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_WEEKLY_REWARD_AH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_WEEKLY_REWARD_AH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_WEEKLY_REWARD_AH_GTE_K5", - "SHOULD_SEE_TOP_NOW_CONTENT_WEEKLY_REWARD_GH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_WEEKLY_REWARD_GH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_WEEKLY_REWARD_GH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_WEEKLY_REWARD_GH_GTE_K5", - "SHOULD_SEE_TOP_NOW_CONTENT_QUEST_GH_K1", - "SHOULD_SEE_TOP_NOW_CONTENT_QUEST_GH_K2", - "SHOULD_SEE_TOP_NOW_CONTENT_QUEST_GH_K3_4", - "SHOULD_SEE_TOP_NOW_CONTENT_QUEST_GH_GTE_K5", - "SHOULD_NOT_SEE_NOW_CONTENT_NH", - "SHOULD_SEE_NOW_CONTENT_NH_K1", - "SHOULD_SEE_NOW_CONTENT_NH_K2", - "SHOULD_SEE_NOW_CONTENT_NH_K3_4", - "SHOULD_SEE_NOW_CONTENT_NH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_NEW_RELEASE_NH_K1", - "SHOULD_SEE_NOW_CONTENT_NEW_RELEASE_NH_K2", - "SHOULD_SEE_NOW_CONTENT_NEW_RELEASE_NH_K3_4", - "SHOULD_SEE_NOW_CONTENT_NEW_RELEASE_NH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_EDITORIAL_NH_K1", - "SHOULD_SEE_NOW_CONTENT_EDITORIAL_NH_K2", - "SHOULD_SEE_NOW_CONTENT_EDITORIAL_NH_K3_4", - "SHOULD_SEE_NOW_CONTENT_EDITORIAL_NH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_LIVE_OPS_NH_K1", - "SHOULD_SEE_NOW_CONTENT_LIVE_OPS_NH_K2", - "SHOULD_SEE_NOW_CONTENT_LIVE_OPS_NH_K3_4", - "SHOULD_SEE_NOW_CONTENT_LIVE_OPS_NH_GTE_K5", - "SHOULD_SEE_NOW_CONTENT_PRE_REGISTRATION_NH_K1", - "SHOULD_SEE_NOW_CONTENT_PRE_REGISTRATION_NH_K2", - "SHOULD_SEE_NOW_CONTENT_PRE_REGISTRATION_NH_K3_4", - "SHOULD_SEE_NOW_CONTENT_PRE_REGISTRATION_NH_GTE_K5", - "SHOULD_NOT_SEE_NOW_CLUSTER_CONTENT_NH", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_NH_K1", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_NH_K2", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_NH_K3_4", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_NH_GTE_K5", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_NEW_RELEASE_NH_K1", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_NEW_RELEASE_NH_K2", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_NEW_RELEASE_NH_K3_4", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_NEW_RELEASE_NH_GTE_K5", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_EDITORIAL_NH_K1", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_EDITORIAL_NH_K2", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_EDITORIAL_NH_K3_4", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_EDITORIAL_NH_GTE_K5", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_LIVE_OPS_NH_K1", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_LIVE_OPS_NH_K2", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_LIVE_OPS_NH_K3_4", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_LIVE_OPS_NH_GTE_K5", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_PRE_REGISTRATION_NH_K1", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_PRE_REGISTRATION_NH_K2", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_PRE_REGISTRATION_NH_K3_4", - "SHOULD_SEE_NOW_CLUSTER_CONTENT_PRE_REGISTRATION_NH_GTE_K5", - "FEATURED_PRODUCTS_LIVE_OPS_AT_SESSION_LEVEL", - "FEATURED_PRODUCTS_LIVE_OPS_QUERY_AT_SESSION_LEVEL", - "FEATURED_PRODUCTS_LIVE_OPS_CLIENT_AT_SESSION_LEVEL", - "BUYFLOW_AUTH_RECOVERY_CLIENT_AT_SESSION_LEVEL", - "SUPPLEMENTAL_TG_RETRIEVAL_SESSION_LEVEL", - "FIRST_PARTY_OFFERS_REQUEST_TRIGGER_SESSION_LEVEL", - "WALLET_WELLBEING_ALERT_SESSION_LEVEL", - "BROAD_INTENT_REWEIGHTING_SESSION_LEVEL", - "DYNASTY_DEVICE_HANDOFF_SESSION_LEVEL", - "EXPANDED_DEV_SUCCESS_CLUSTER_SESSION_LEVEL", - "COLLAPSED_DEV_SUCCESS_CLUSTER_SESSION_LEVEL", - "TRIGGERED_DEV_SUCCESS_CLUSTER_SESSION_LEVEL", - "PLANOGRAM_MERCH_AMERICAS_GAMES_PAYPAL_SESSION_LEVEL", - "BROAD_INTENT_GAMES_TIMESPENT_SESSION_LEVEL", - "ELIGIBLE_FOR_MANAGE_IN_APP_DETAILS_SESSION_LEVEL", - "ELIGIBLE_FOR_ACC_SESSION_LEVEL", - "ELIGIBLE_FOR_ACQUISITION_ACC_SESSION_LEVEL", - "ELIGIBLE_FOR_REENGAGEMENT_ACC_SESSION_LEVEL", - "MDP_P13N_ALL_SESSION_LEVEL", - "MDP_P13N_GAME_QUERY_L5_SESSION_LEVEL", - "MDP_P13N_GAME_QUERY_L6_SESSION_LEVEL", - "MDP_P13N_GAME_QUERY_L7_SESSION_LEVEL", - "MDP_P13N_GAME_QUERY_L8_SESSION_LEVEL", - "MDP_P13N_GAME_QUERY_L9_SESSION_LEVEL", - "MDP_P13N_RERANKING_UNKNOWN_SESSION_LEVEL", - "MDP_P13N_RERANKING_CATEGORICAL_SESSION_LEVEL", - "MDP_P13N_RERANKING_NAVIGATIONAL_SESSION_LEVEL", - "MDP_P13N_RERANKING_MULTI_NAVIGATIONAL_SESSION_LEVEL", - "MDP_P13N_RERANKING_NAVIGATIONAL_EXT_SESSION_LEVEL", - "YOUTUBE_FROM_LANDING_PAGE_SESSION_LEVEL", - "SECOND_PASS_POLARIS_RERANKING_SESSION_LEVEL", - "SECOND_PASS_POLARIS_WITH_RANKING_CHANGE_SESSION_LEVEL", - "PLAY_BOOKS_READING_PROGRESS_TOOLTIP_SESSION_LEVEL", - "NAV_SEARCH_D2D_EMBEDDING_BOOST_SESSION_LEVEL", - "HAS_NO_BACKUP_FOP_FOR_ORDER_SESSION_LEVEL", - "SECOND_PASS_BROAD_INTENT_QUERY_SESSION_LEVEL", - "SECOND_PASS_REWEIGHTING_TRIGGERED_SESSION_LEVEL", - "BOOKS_SEARCH_PAGE_DORA_QUERY_SESSION_LEVEL", - "INLINE_DETAILS_TQUALITY_CHECK_UNKNOWN_SESSION_LEVEL", - "APPS_LAUNCHER_CLUSTER_AT_SESSION_LEVEL", - "SUPERROOT_PDS_SHORT_DESCRIPTION_SESSION_LEVEL", - "PGSS_SHORT_DESCRIPTION_DIFF_SESSION_LEVEL", - "WEAR_AQ_SEARCH_PHONE_DEVICE_WITH_WEAR_FILTER", - "WEAR_AQ_SEARCH_WEAR_DEVICE", - "WEAR_AQ_SEARCH_COMBINED", - "NAV_ADS_DUPLICATE_SERVED_SESSION_LEVEL", - "NAV_ADS_NON_DUPLICATE_SERVED_SESSION_LEVEL", - "NAV_ADS_NO_AD_SERVED_SESSION_LEVEL", - "PAYMENTS_TOS_ACCEPTANCE_SESSION_LEVEL", - "WEBSKY_SEARCH_THIRD_PARTY_CONTENT_ELIGIBLE_QUERY_SESSION_LEVEL", - "SHORTEN_COMMERCE_CACHE_TTL_SESSION_LEVEL", - "SKIP_CHECK_MARK_SCREEN_FOR_BACKUP_FLOW_SESSION_LEVEL", - "ONE_CLICK_BACKUP_FOP_SESSION_LEVEL", - "KIDS_LAUNCHER_USER_FEATURES_PRESENT", - "KIDS_LAUNCHER_USER_FEATURES_MISSING", - "SECOND_PASS_QUALITY_REWEIGTHING_SESSION_LEVEL", - "SECOND_PASS_QUALITY_REWEIGTHING_MDP_SESSION_LEVEL", - "UNACK_IN_APP_SUBSCRIPTION_WARNING_DETAIL_PAGE_SESSION_LEVEL", - "ELIGIBLE_FOR_FORM_FACTOR_FILTER_ON_TOP_CHARTS", - "PACKAGE_NAME_SEARCH_SESSION_LEVEL", - "SUBSCRIPTION_PENDING_ACKNOWLEDGEMENT_EMAIL_SESSION_LEVEL", - "SUBSCRIPTION_PENDING_ACKNOWLEDGEMENT_NOTIFICATION_SESSION_LEVEL", - "ZERO_COPY_NOT_SUFFICIENT_SESSION_LEVEL", - "ZERO_COPY_ALLOWS_INSTALL_SESSION_LEVEL", - "ZERO_COPY_NOT_REQUIRED_SESSION_LEVEL", - "BOOKS_SEARCH_SERIES_EXPANSION_SESSION_LEVEL", - "SHOULD_SEE_SCREENSHOT_XSELL_CLUSTER_LOW_Q_DP_SESSION_LEVEL", - "SHOULD_SEE_RICH_LIST_XSELL_CLUSTER_LOW_Q_DP_SESSION_LEVEL", - "DEVICE_TIER_HIGH_SESSION_LEVEL", - "DEVICE_TIER_MED_SESSION_LEVEL", - "DEVICE_TIER_LOW_SESSION_LEVEL", - "QUERY_TYPE_UNKNOWN_SESSION_LEVEL", - "QUERY_TYPE_CATEGORICAL_SESSION_LEVEL", - "QUERY_TYPE_NAVIGATIONAL_SESSION_LEVEL", - "QUERY_TYPE_MULTI_NAVIGATIONAL_SESSION_LEVEL", - "QUERY_TYPE_NAVIGATIONAL_EXT_SESSION_LEVEL", - "MR_HIGH_QUALITY_ZERO_SESSION_LEVEL", - "MR_HIGH_QUALITY_ONE_OR_TWO_SESSION_LEVEL", - "MR_HIGH_QUALITY_TRHEE_OR_MORE_SESSION_LEVEL", - "MR_HIGH_QUALITY_TOP_SESSION_LEVEL", - "MR_HIGH_RELEVANCE_ZERO_SESSION_LEVEL", - "MR_HIGH_RELEVANCE_ONE_OR_TWO_SESSION_LEVEL", - "MR_HIGH_RELEVANCE_TRHEE_OR_MORE_SESSION_LEVEL", - "MR_HIGH_RELEVANCE_TOP_SESSION_LEVEL", - "SR_HIGH_QUALITY_ZERO_SESSION_LEVEL", - "SR_HIGH_QUALITY_ONE_OR_TWO_SESSION_LEVEL", - "SR_HIGH_QUALITY_TRHEE_OR_MORE_SESSION_LEVEL", - "SR_HIGH_QUALITY_TOP_SESSION_LEVEL", - "SR_HIGH_RELEVANCE_ZERO_SESSION_LEVEL", - "SR_HIGH_RELEVANCE_ONE_OR_TWO_SESSION_LEVEL", - "SR_HIGH_RELEVANCE_TRHEE_OR_MORE_SESSION_LEVEL", - "SR_HIGH_RELEVANCE_TOP_SESSION_LEVEL", - "RAM_0GB_TO_1GB_SESSION_LEVEL", - "RAM_1GB_TO_2GB_SESSION_LEVEL", - "RAM_2GB_TO_3GB_SESSION_LEVEL", - "RAM_3GB_TO_4GB_SESSION_LEVEL", - "RAM_4GB_TO_6GB_SESSION_LEVEL", - "RAM_6GB_AND_MORE_SESSION_LEVEL", - "FOP_ORDERING_RECOMMENDATION_ELIGIBLE_SESSION_LEVEL", - "FOP_ORDERING_NO_RECOMMENDATION_SESSION_LEVEL", - "FOP_ORDERING_RECOMMENDATION_OUTDATED_SESSION_LEVEL", - "FOP_ORDERING_RECOMMENDATION_SAME_FOP_SESSION_LEVEL", - "FOP_ORDERING_STORED_VALUE_SESSION_LEVEL", - "DMA_PRE_CONSENT_PROMPT_SHOWN_SESSION_LEVEL", - "DMA_PRE_CONSENT_DECISION_MADE_SESSION_LEVEL", - "DMA_PRE_CONSENT_FLOW_DISMISSED_SESSION_LEVEL", - "BOOKS_LOYALTY_PROMO_BANNER_UNENROLLED_SESSION_LEVEL", - "BOOKS_LOYALTY_PROMO_BANNER_MULTIPLIER_SESSION_LEVEL", - "BOOKS_LOYALTY_PROMO_BANNER_BOOSTER_SESSION_LEVEL", - "BOOKS_LOYALTY_PROMO_BANNER_WEEKLY_PRIZE_SESSION_LEVEL", - "MDP_WITH_LIVE_OPS_EVER_INSTALLED_USERS_SESSION_LEVEL", - "MDP_WITH_LIVE_OPS_NEVER_INSTALLED_USERS_SESSION_LEVEL", - "LOW_STORAGE_AT_INSTALL_PREPROCESSING_SESSION_LEVEL", - "DSA_P13N_OPTED_IN_AT_SESSION_LEVEL", - "DSA_P13N_OPTED_OUT_AT_SESSION_LEVEL", - "LANGUAGE_SWITCHER_SERVED_SESSION_LEVEL", - "HAS_INSUFFICIENT_STORED_VALUE_BALANCE_BEFORE_RENEWAL_SESSION_LEVEL", - "USER_P13N_SETTING_UNSPECIFIED_AT_SESSION_LEVEL", - "BOOKS_USER_P13N_SETTING_UNSPECIFIED_AT_SESSION_LEVEL", - "USER_P13N_SETTING_ON_AT_SESSION_LEVEL", - "BOOKS_USER_P13N_SETTING_ON_AT_SESSION_LEVEL", - "USER_P13N_SETTING_OFF_AT_SESSION_LEVEL", - "BOOKS_USER_P13N_SETTING_OFF_AT_SESSION_LEVEL", - "BATTLESTAR_GAME_IN_MDP_SESSION_LEVEL", - "BATTLESTAR_PSEUDO_CREDIT_OFFER_IN_DP_SESSION_LEVEL", - "BATTLESTAR_BOTTOMSHEET_FROM_FCP_AUTOSEND", - "BATTLESTAR_BOTTOMSHEET_FHR_ON_FPC", - "BATTLESTAR_MERCH_FCP_FROM_FCC_CONTROL", - "REVIEW_HIGHLIGHTS_SESSION_LEVEL", - "BOOKS_NOTIFICATION_RECEIVED_SESSION_LEVEL", - "LANGUAGE_SWITCHER_ELIGIBLE_SESSION_LEVEL", - "SUBS_OFFER_ON_BUYFLOW_AT_SESSION_LEVEL", - "SUBS_OFFER_ON_BUYFLOW_ELIGIBLE_AT_SESSION_LEVEL", - "SUBS_OFFER_ON_BUYFLOW_EXPLORATION_AT_SESSION_LEVEL", - "SUBS_OFFER_ON_BUYFLOW_EXPLORATION_ELIGIBLE_AT_SESSION_LEVEL", - "TRUSTED_VERTICAL_VPN_INTENT_SESSION_LEVEL", - "TRUSTED_VERTICAL_LOAN_INTENT_SESSION_LEVEL", - "FOP_PARTNER_PROMOTION_SESSION_LEVEL", - "SERP_YOUTUBE_VIDEO_CLUSTER_POPULATED_SESSION_LEVEL", - "LOWQ_APPS_DEMOTION_SESSION_LEVEL", - "PLANOGRAM_MERCH_TW_DYNASTY_EXTRA_FEATURING", - "AMPLIFY_FORM_OF_PAYMENT_ELIGIBLE_SESSION_LEVEL", - "AMPLIFY_FORM_OF_PAYMENT_ELIGIBLE_WITH_OFFER_SESSION_LEVEL", - "QUERY_TYPE_MDP_SESSION_LEVEL", - "QUERY_TYPE_NON_MDP_SESSION_LEVEL", - "NAV_CARD_SESSION_LEVEL", - "CART_WITH_BROKEN_FOP_SESSION_LEVEL", - "IS_ELIGIBLE_FOR_DYNAMIC_AUTH_SESSION_LEVEL", - "FREE_TRIAL_SUBSCRIPTION_CART_WITH_CARD_SESSION_LEVEL", - "CLICKED_INSTALL_IN_DEEP_LINK_DETAILS", - "ONE_TIME_PRODUCT_VARIANT_OFFER_DARK_LAUNCH_SESSION_LEVEL", - "ONE_TIME_PRODUCT_VARIANT_OFFER_LAUNCH_SESSION_LEVEL", - "AMPLIFY_FORM_OF_PAYMENT_ABANDONMENT_ELIGIBLE_SESSION_LEVEL", - "SUBSCRIPTION_FREE_TRIAL_OFFER_HIGHLIGHT_SESSION_LEVEL", - "SUBSCRIPTION_INTRO_PRICE_OFFER_HIGHLIGHT_SESSION_LEVEL", - "SUBSCRIPTION_CANCELLATION_ELIGIBLE_FOR_RENEWAL_REMINDER", - "SUBSCRIPTION_CANCELLATION_NOT_ELIGIBLE_FOR_RENEWAL_REMINDER", - "USER_HAS_SET_RENEWAL_REMINDER", - "REVIEW_SUMMARY_HIGHLIGHTS_CLICK_SESSION_LEVEL", - "O2_MIGRATION_CARDS_CONTROL", - "O2_MIGRATION_CARDS_TREATMENT_TRIGGER_LATENCY", - "BATTLESTAR_SELF_SHARE_SESSION_LEVEL", - "APPS_NEW_USER_ONBOARDING_FCP_V2", - "SUPPLEMENTAL_TG_ANNOTATION_FOR_WEAR_SESSION_LEVEL", - "SEARCH_ADS_NON_MDP_RUC_RATE_SESSION_LEVEL", - "PGS_THIRD_PARTY_REVIEW_SESSION_LEVEL", - "GAME_HUB_DEVELOPER_VIDEO_AT_SESSION_LEVEL", - "BATTLESTAR_GAME_CENTRIC_BOTTOM_SHEET_ASSETS_SESSION_LEVEL", - "CART_ABANDONMENT_SUBSCRIPTION_BENEFITS_SESSION_LEVEL", - "GAME_HUB_DEVELOPER_VIDEO_ELIGIBLE_AT_SESSION_LEVEL", - "SHOULD_SEE_FIRST_PARTY_PROMO_LIVE_OP_SUBSCRIPTION_SESSION_LEVEL", - "SUBS_PAYMENT_DECLINE_SESSION_LEVEL", - "CART_ABANDONMENT_REMINDER_PARTNER_APPS_SESSION_LEVEL", - "CART_ABANDONMENT_REMINDER_POPULAR_APPS_SESSION_LEVEL_V2", - "CART_ABANDONMENT_REMINDER_SESSION_LEVEL_V3", - "CART_ABANDONMENT_REMINDER_SESSION_LEVEL_V4", - "SUBSCRIPTION_OFFER_SWITCH_DATA_PRESENT_SESSION_LEVEL", - "BOOKS_READ_NOW_DUAL_FORMAT_REQUEST_SESSION_LEVEL", - "BOOKS_READ_NOW_WITH_HEADER_REQUEST_SESSION_LEVEL", - "FCC_FIRST_PARTY_CATEGORICAL_SEARCH_OFFERS_SESSION_LEVEL", - "MERCH_NOMADS_CN_EXP_CLUSTER_TARGETED_AT_SESSION_LEVEL", - "MERCH_NOMADS_CN_PROD_CLUSTER_TARGETED_AT_SESSION_LEVEL", - "MULTI_COLUMN_HP_GH_FIRST_4_ROWS_SESSION_LEVEL", - "MULTI_COLUMN_HP_AH_FIRST_4_ROWS_SESSION_LEVEL", - "PENDING_CARD_CHALLENGE_TYPE_INSTRUMENT_3D_SECURE1_SESSION_LEVEL", - "PENDING_CARD_CHALLENGE_TYPE_INSTRUMENT_3D_SECURE2_SESSION_LEVEL", - "PENDING_CARD_CHALLENGE_TYPE_INSTRUMENT_CVN_SESSION_LEVEL", - "PENDING_CARD_CHALLENGE_TYPE_INSTRUMENT_PIN_SESSION_LEVEL", - "PENDING_CARD_CHALLENGE_TYPE_INSTRUMENT_REDIRECT_SESSION_LEVEL", - "PENDING_CARD_CHALLENGE_TYPE_OTHERS_SESSION_LEVEL", - "PLAY_SEARCH_SPAM_QUERY_LOW_QUALITY_APP_DEMOTION_SESSION_LEVEL", - "PLAY_SEARCH_SPAM_QUERY_HIGH_QUALITY_APP_BOOST_SESSION_LEVEL", - "PLAY_SEARCH_BROADEN_SPAM_QUERY_LOW_QUALITY_APP_DEMOTION_SESSION_LEVEL", - "PLAY_SEARCH_GLOBAL_NAV_EXT_LOW_QUALITY_APP_DEMOTION_SESSION_LEVEL", - "FCC_QUEST_ON_CLIENT_SESSION_LEVEL", - "PURCHASE_ADD_FOP_OPTIONS_SCREEN_SESSION_LEVEL", - "PURCHASE_ADD_FOP_OPTIONS_SCREEN_FOPLESS_SESSION_LEVEL", - "PLAY_PASS_SUPERHERO_CLUSTER_APP_WITH_VIDEO", - "PLAY_PASS_SUPERHERO_CLUSTER_APP_WITH_PROMOTIONAL_DESCRIPTION", - "CART_ABANDONMENT_ITEM_RECOMMENDATION_SESSION_LEVEL", - "BATTLESTAR_GAME_CENTRIC_CUJ_EMAIL_SESSION_LEVEL", - "PREREGISTRATION_START_PURCHASE_FLOW_ON_CLICK", - "CUSTOMER_UPDATE_CHALLENGE_SESSION_LEVEL", - "WEBSKY_DISPLAY_SUBSCRIPTION_ENTITLEMENT_BENEFITS_SESSION_LEVEL", - "BATTLESTAR_BOTTOMSHEET_LARGER_LOADING_STATE", - "BATTLESTAR_BOTTOMSHEET_GDP_RIBBON_ONLY_CTA_CLICKABLE", - "PLAY_ONBOARDING_FLOW_NEW_ACCOUNT_SESSION_LEVEL", - "PLAY_EVERBOARDING_FLOW_ORGANIC_OPEN_SESSION_LEVEL", - "PLAY_EVERBOARDING_FLOW_POTENTIAL_IMPRESSION_SESSION_LEVEL", - "PLAY_EVERBOARDING_FLOW_ELIGIBLE_SESSION_LEVEL", - "PLAY_EVERBOARDING_FLOW_NEED_AUTH_SESSION_LEVEL", - "PLAY_EVERBOARDING_FLOW_USER_CAN_AUTH_NEED_AUTH_SESSION_LEVEL", - "PLAY_EVERBOARDING_FLOW_NEED_FOP_SESSION_LEVEL", - "PLAY_EVERBOARDING_FLOW_NEED_AUTH_AND_FOP_SESSION_LEVEL", - "BECAUSE_YOU_PLAYED_FIRST_3_ROWS_SESSION_LEVEL", - "BECAUSE_YOU_INSTALLED_FIRST_3_ROWS_SESSION_LEVEL", - "LOYALTY_WEEKLY_REWARDS_ICC_FORMAT_NOW_HOME_SESSION_LEVEL", - "MULTILINE_SUBSCRIPTION_ADDON_TITLE_SESSION_LEVEL", - "PAYTM_WALLET_FAILURE_SESSION_LEVEL", - "CART_ABANDONMENT_SUBSCRIPTION_BENEFITS_SESSION_LEVEL_V2", - "MULTILINE_SUBSCRIPTION_BASIC_RESTORE_ENABLED_SESSION_LEVEL", - "SUBSCRIPTION_ENTITLEMENT_BENEFIT_HOLDBACK_SPOTIFY_SESSION_LEVEL", - "DECLINE_MESSAGE_IN_SUBSCENTER_FIX_FLOW_SESSION_LEVEL_V1", - "SAVE_FOR_LATER_CART_ABANDONMENT_SCREEN_SESSION_LEVEL", - "CROSS_FORM_FACTOR_DETAILS_PAGEN_SESSION_LEVEL", - "CART_ABANDONMENT_NOTIFICATION_SESSION_LEVEL", - "CART_ABANDONMENT_NOTIFICATION_SESSION_LEVEL_V2", - "SEARCH_SUGGEST_XFF_TV_ONLY_IMPRESSED_SESSION_LEVEL", - "SEARCH_SUGGEST_XFF_TV_DEVICE_AVAILABLE", - "DECLINE_RECOVERY_BETTER_CTA_ELIGIBLE_SESSION_LEVEL", - "DECLINE_RECOVERY_SUGGEST_NEXT_FOP_ELIGIBLE_SESSION_LEVEL", - "ALLOW_RENEWAL_WITH_NO_INSTRUMENT_SESSION_LEVEL", - "MDP_MEDIA_AND_ENTERTAINMENT_SESSION_LEVEL", - "PLAY_BOOKS_READING_PRACTICE_AVAILABLE_IN_KID_READER_SESSION_LEVEL", - "IMPRESSION_CAP_SESSION_LEVEL", - "REVIEW_SAMPLE_IS_RATING_ALIGNED_SESSION_LEVEL", - "APP_QUESTION_ANSWERS_GUIDE_SESSION_LEVEL", - "ELIGIBILITY_AS_A_SERVICE_3P_LIVEOPS_SESSION_LEVEL", - "BOOKS_RATING_OR_WISHLIST_USAGE_PSS_SESSION_LEVEL", - "BOOKS_RATING_OR_WISHLIST_USAGE_PGSS_SESSION_LEVEL", - "ELIGIBLE_FOR_POLARIS_CROSS_SELL_CLUSTER_SESSION_LEVEL", - "DYNAMIC_CANCEL_FLOW_COUNTERFACTUAL_SESSION_LEVEL", - "DYNAMIC_CANCEL_ONE_CLICK_FLOW_SHOWN_SESSION_LEVEL", - "BOOKS_SEARCH_SERIES_INTERPRETATION_SESSION_LEVEL", - "TOP_SELLER_MESSAGE_SOCIAL_PROOF_BUY_FLOW_SESSION_LEVEL", - "BEST_SELLER_MESSAGE_SOCIAL_PROOF_BUY_FLOW_SESSION_LEVEL", - "POPULAR_ITEM_MESSAGE_SOCIAL_PROOF_BUY_FLOW_SESSION_LEVEL", - "TRENDING_NOW_MESSAGE_SOCIAL_PROOF_BUY_FLOW_SESSION_LEVEL", - "X_SOLD_TODAY_MESSAGE_SOCIAL_PROOF_BUY_FLOW_SESSION_LEVEL", - "X_PEOPLE_BOUGHT_AGAIN_MESSAGE_SOCIAL_PROOF_BUY_FLOW_SESSION_LEVEL", - "TOP_SELLING_MESSAGE_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", - "BEST_SELLING_MESSAGE_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", - "POPULAR_MESSAGE_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", - "TRENDING_MESSAGE_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", - "X_SOLD_LAST_WEEK_MESSAGE_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", - "X_PEOPLE_BOUGHT_MULTIPLE_MESSAGE_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", - "X_PEOPLE_BOUGHT_MULTIPLE_MESSAGE_LOW_TIER_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", - "X_PEOPLE_BOUGHT_MULTIPLE_MESSAGE_MID_TIER_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", - "X_PEOPLE_BOUGHT_MULTIPLE_MESSAGE_HIGH_TIER_SOCIAL_PROOF_V2_BUY_FLOW_SESSION_LEVEL", - "DETAILS_GAME_HUB_STREAM_AT_SESSION_LEVEL", - "DETAILS_GAME_HUB_DEVELOPER_VIDEOS_CLUSTER_AT_SESSION_LEVEL", - "DETAILS_GAME_HUB_EDITORIAL_CONTENT_CLUSTER_AT_SESSION_LEVEL", - "DETAILS_GAME_HUB_LIVE_OPS_CLUSTER_AT_SESSION_LEVEL", - "DETAILS_GAME_HUB_POINTS_SPEND_PROMOTION_CLUSTER_AT_SESSION_LEVEL", - "DETAILS_GAME_HUB_QUESTIONS_AND_ANSWERS_MODULE_AT_SESSION_LEVEL", - "LOYALTY_WEEKLY_REWARDS_FCC_FORMAT_NOW_CAROUSEL_SESSION_LEVEL", - "DETAILS_GAME_HUB_ELIGIBLE_AT_SESSION_LEVEL", - "CATEGORY_HIGHLIGHT_UI_SERP_SESSION_LEVEL", - "CATEGORY_HIGHLIGHT_UI_DP_SESSION_LEVEL", - "SUBSCRIPTION_ENTITLEMENT_BENEFITS_IN_DECLINE_EMAIL_SESSION_LEVEL", - "SOUR_PATCH_KIDS_UI_SERP_SESSION_LEVEL", - "SOUR_PATCH_KIDS_UI_DP_SESSION_LEVEL", - "JUSTIFIED_RECS_CLUSTER_SESSION_LEVEL", - "USER_INTEREST_PICKER_SUBMISSION_ON_CLICK_SESSION_LEVEL", - "SOUR_PATCH_KIDS_UI_DP_CLICK_SESSION_LEVEL", - "INITIAL_PURCHASE_FLOW_DEVICE_ORIENTATION_IN_LANDSCAPE_SESSION_LEVEL", - "BOOKS_SERIES_COMMERCE_PAGE_VISIT_SESSION_LEVEL", - "SOUR_PATCH_KIDS_UI_SERP_CLICK_SESSION_LEVEL", - "FORM_FACTOR_DETAILS_PAGE_SESSION_LEVEL", - "FORM_FACTOR_WEAR_PAGE_SESSION_LEVEL", - "DEFAULT_CAMPAIGN_DETAILS_PAGE_SESSION_LEVEL", - "CONTEXTUAL_ADD_FOP_SESSION_LEVEL", - "SIMILAR_WATCH_FACE_SESSION_LEVEL", - "APP_SUBSCRIPTION_CART_ABANDONMENT_OFFER_SESSION_LEVEL", - "PLAY_PASS_SUBSCRIPTION_CART_ABANDONMENT_OFFER_SESSION_LEVEL", - "TIMEWORTHY_APP_GAME_SEEKING_QUERY_SESSION_LEVEL", - "CORPUS_WIDE_CAMPAIGN_DETAILS_PAGE_SESSION_LEVEL", - "NAV_ADS_REQUEST_ELIGIBLE_FOR_NARROW_IMAGE_AD_FORMAT", - "NAV_ADS_REQUEST_ELIGIBLE_FOR_WIDE_IMAGE_AD_FORMAT", - "SUBSCRIBE_INSTALL_MIGRATION_SESSION_LEVEL", - "SUBSCRIPTION_SUBSCRIBE_MORE_SAVE_MORE_SESSION_LEVEL", - "SEARCH_TERM_CUSTOM_LISTING_SESSION_LEVEL", - "APPS_LAUNCHER_CLUSTER_ON_CLIENT_SESSION_LEVEL", - "APPS_LAUNCHER_CLUSTER_CANDIDATE_AT_SESSION_LEVEL", - "BATTLESTAR_PROGRAMMATIC_FCC_SESSION", - "PLAY_DOUGH_FOP_PARTNER_PROMOTION_SESSION_LEVEL", - "TOP_DEVELOPER_BOOST_V4_SESSION_LEVEL", - "GAME_SEEKING_QUERY_SESSION_LEVEL", - "TIMEWORTHY_APP_SEEKING_QUERY_SESSION_LEVEL", - "TIME_SPENT_V3_NON_MDP_SESSION_LEVEL", - "TIME_SPENT_V3_MDP_SESSION_LEVEL", - "CURRENCY_CONVERSION_FOR_DISABLED_CARTS_SESSION_LEVEL", - "SESSION_LEVEL_TEST_CODE_LIMIT", - "CART_ABANDONMENT_USER_LEVEL", - "IN_APP_PRODUCTS_IN_DETAILS_PAGE_USER_LEVEL", - "BOOKS_DETAILS_PAGE_PROMOTION_USER_LEVEL", - "BURNSIE_ADD_FOP_PROMOTION_USER_LEVEL", - "BOOKS_DETAILS_PAGE_EXISTING_PROMOTION_USER_LEVEL", - "SWOOP_CAMPAIGN_10P_OFF_USER_LEVEL", - "SWOOP_CAMPAIGN_25P_OFF_USER_LEVEL", - "SWOOP_CAMPAIGN_50P_OFF_USER_LEVEL", - "SWOOP_CAMPAIGN_75P_OFF_USER_LEVEL", - "PURCHASABLE_SUBSCRIPTIONS_IN_DETAILS_PAGE_WAVE_2_USER_LEVEL", - "CART_ABANDONMENT_ELIGIBLE_USER_LEVEL", - "APPS_DETAILS_PAGE_PROMOTION_EXP_2_USER_LEVEL", - "APPS_DETAILS_PAGE_EXISTING_PROMOTION_EXP_2_USER_LEVEL", - "APPS_DETAILS_PAGE_PROMOTION_EXP_2_IN_APP_ITEM_NEVERS_USER_LEVEL", - "APPS_PERSONALIZED_TOPIC_QUERY_USER_LEVEL", - "APPS_PERSONALIZED_TG_QUERY_USER_LEVEL", - "APPS_PERSONALIZED_ALL_GAME_QUERIES_USER_LEVEL", - "APPS_PERSONALIZED_CATEGORICAL_GAME_SEEKING_QUERIES_USER_LEVEL", - "APPS_PERSONALIZED_CATEGORICAL_NON_TG_QUERIES_USER_LEVEL", - "SUBSCRIPTION_CANCELLATION_PROMOTION_USER_LEVEL", - "SUBSCRIPTION_UPDATE_FOP_FOR_DCB_AS_PRIMARY_SIGNUP_USER_LEVEL", - "SUBSCRIPTION_UPDATE_FOP_FOR_DCB_AS_PRIMARY_USER_LEVEL", - "SUBSCRIPTION_RETRY_FOP_FOR_DCB_AS_PRIMARY_USER_LEVEL", - "SUBSCRIPTION_DCB_AS_ADD_FOP_OPTION_USER_LEVEL", - "PURCHASABLE_SUBSCRIPTIONS_IN_DETAILS_PAGE_APP_1_AT_USER_LEVEL", - "PURCHASABLE_SUBSCRIPTIONS_IN_DETAILS_PAGE_APP_3_AT_USER_LEVEL", - "DETAILS_PAGE_PROMOTION_HOLDBACK_USER_LEVEL", - "LB_TARGETED_AT_USER_LEVEL", - "LB_IMPRESSED_AT_USER_LEVEL", - "MOVIES_USER_INTERESTS_NONE_AT_USER_LEVEL", - "MOVIES_USER_INTERESTS_LOW_AT_USER_LEVEL", - "MOVIES_USER_INTERESTS_MEDIUM_AT_USER_LEVEL", - "MOVIES_USER_INTERESTS_HIGH_AT_USER_LEVEL", - "MOVIES_BOY_SEEDS_NONE_AT_USER_LEVEL", - "MOVIES_BOY_SEEDS_LOW_AT_USER_LEVEL", - "MOVIES_BOY_SEEDS_MEDIUM_AT_USER_LEVEL", - "MOVIES_BOY_SEEDS_HIGH_AT_USER_LEVEL", - "PLAY_PASS_SIGNUP_INTERSTITIAL_ELIGIBLE_USER_LEVEL", - "PLAY_PASS_SIGNUP_INTERSTITIAL_TARGETED_USER_LEVEL", - "PLAY_PASS_IPD_ELIGIBLE_USER_LEVEL", - "PLAY_PASS_FHR_ELIGIBLE_USER_LEVEL", - "LOYALTY_UPSELL_AFTER_IN_APP_PURCHASE_AT_USER_LEVEL", - "PROMOTION_BANNER_ELIGIBLE_USER_LEVEL", - "LOYALTY_SEES_POINTS_EARN_PROMOTIONS_AT_USER_LEVEL", - "LOYALTY_SEES_FREE_TRIAL_SUBSCRIPTION_AT_USER_LEVEL", - "LOYALTY_SIGNUP_INTERSTITIAL_AT_USER_LEVEL", - "PLAY_SUBMANAGEMENT_LOG_HOOK_USER_EXAMPLE", - "NEW_USER_FOP_PROMOTION_SEEN", - "LOYALTY_UPSELL_SEEN_AT_USER_LEVEL", - "LOYALTY_ELIGIBLE_TO_SEE_UPSELL_AT_USER_LEVEL", - "LOYALTY_LIVE_OPS_RETURNED_AT_USER_LEVEL", - "PROMOLINK_CDP_USER_LEVEL", - "PROMOLINK_CDP_TITLE_PAGE_USER_LEVEL", - "PROMOLINK_CDP_TOPIC_PAGE_USER_LEVEL", - "PROMOLINK_CDP_GENERIC_PAGE_USER_LEVEL", - "POINTS_PROMOTION_CONTENT_PAGE_AT_USER_LEVEL", - "IN_APP_OFFER_AT_USER_LEVEL", - "IN_APP_OFFER_APP_1_AT_USER_LEVEL", - "IN_APP_OFFER_APP_2_AT_USER_LEVEL", - "IN_APP_OFFER_APP_3_AT_USER_LEVEL", - "IN_APP_OFFER_APP_4_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_GAMELOFT_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_EVONY_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_ASPHALT_9_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_MAGIC_RAMPAGE_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_LAST_SURVIVOR_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_SUMMONERS_WAR_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_TOWER_OF_GOD_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_JACKPOT_WORLD_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_LOTSA_SLOTS_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_CASH_FRENZY_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_WAR_PLANET_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_ESKYFUN_LEGENDS_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_MAHJONG_VILLAGE_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_ONE_PUNCH_MAN_KR_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_ONE_PUNCH_MAN_TW_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_APP_GRAND_CROSS_AT_USER_LEVEL", - "IN_APP_OFFER_ELIGIBLE_AT_USER_LEVEL", - "IN_APP_OFFER_ELIGIBLE_APP_1_AT_USER_LEVEL", - "IN_APP_OFFER_ELIGIBLE_APP_2_AT_USER_LEVEL", - "IN_APP_OFFER_ELIGIBLE_APP_3_AT_USER_LEVEL", - "IN_APP_OFFER_ELIGIBLE_APP_4_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_GAMELOFT_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_EVONY_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_ASPHALT_9_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_MAGIC_RAMPAGE_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_LAST_SURVIVOR_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_SUMMONERS_WAR_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_TOWER_OF_GOD_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_JACKPOT_WORLD_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_LOTSA_SLOTS_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_CASH_FRENZY_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_WAR_PLANET_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_ESKYFUN_LEGENDS_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_MAHJONG_VILLAGE_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_ONE_PUNCH_MAN_KR_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_ONE_PUNCH_MAN_TW_AT_USER_LEVEL", - "IN_APP_OFFER_BATTLESTAR_ELIGIBLE_APP_GRAND_CROSS_AT_USER_LEVEL", - "IN_APP_OFFER_SAVED_AT_USER_LEVEL", - "IN_APP_OFFER_SAVED_APP_1_AT_USER_LEVEL", - "IN_APP_OFFER_SAVED_APP_2_AT_USER_LEVEL", - "IN_APP_OFFER_SAVED_APP_3_AT_USER_LEVEL", - "IN_APP_OFFER_SAVED_APP_4_AT_USER_LEVEL", - "SHOULD_SEE_FIRST_PARTY_PROMO_LIVE_OP_ON_SERP_MDP_USER_LEVEL", - "SHOULD_SEE_FIRST_PARTY_PROMO_LIVE_OP_ON_APP_DP_USER_LEVEL", - "CART_ABANDONMENT_SUBSCRIPTION_ONE_TIME_PASS_USER_LEVEL", - "GOOGLE_PROMOTIONS_ELIGIBLE_USER_LEVEL", - "USER_TRIGGERED_IAP_PROMOTION_RETRIEVAL_USER_LEVEL", - "LOYALTY_IAP_UPSELL_USER_LEVEL", - "IAP_HAS_UNREDEEMED_PROMOTIONS_CLIENT_USER_LEVEL", - "PLAY_STORE_IAP_SALES_USER_LEVEL", - "PLAY_STORE_IAP_SALES_APP_1_USER_LEVEL", - "PLAY_STORE_IAP_SALES_MINI_DETAILS_PAGE_USER_LEVEL", - "PLAY_GROWTH_IS_SCHEDULED", - "GEARHEAD_VISUAL_PREVIEW_UNCHAINED_ELIGIBLE", - "POST_PURCHASE_ITEM_UPSELL_USER_LEVEL", - "POST_PURCHASE_ITEM_UPSELL_WAVE_2_USER_LEVEL", - "POST_PURCHASE_ITEM_UPSELL_WAVE_2_USER_LEVEL_2", - "PLAY_PASS_SIGNUP_INTERSTITIAL_SHOWN_USER_LEVEL", - "DISABLE_TOPUP_EXPERIMENT_CONTROL_GROUP_USER_LEVEL", - "DISABLE_TOPUP_EXPERIMENT_TREATMENT_GROUP_USER_LEVEL", - "AVP_SWOOP_CAMPAIGN_10P_OFF_USER_LEVEL", - "AVP_SWOOP_CAMPAIGN_25P_OFF_USER_LEVEL", - "AVP_SWOOP_CAMPAIGN_50P_OFF_USER_LEVEL", - "AVP_SWOOP_CAMPAIGN_75P_OFF_USER_LEVEL", - "CDP_ENABLE_PREFETCH_USER_LEVEL", - "P13N_INTERSTITIAL_USER_LEVEL", - "PLAY_EVENT_SERVICE_LOG_HOOK_USER_EXAMPLE", - "FEATURED_SUBSCRIPTIONS_PRESENT_USER_LEVEL", - "USE_SUBSCRIPTION_NEW_DOCUMENT_FORMAT_USER_LEVEL", - "USE_SUBSCRIPTION_NEW_DOCUMENT_FORMAT_PREVIEW_BATCH_USER_LEVEL", - "USE_SUBSCRIPTION_NEW_DOCUMENT_FORMAT_SKU_DETAILS_USER_LEVEL", - "USE_SUBSCRIPTION_NEW_DOCUMENT_FORMAT_PREVIEW_BATCH_SKU_DETAILS_USER_LEVEL", - "USE_SUBSCRIPTION_NEW_DOCUMENT_FORMAT_FOR_ALL_SUBS_USER_LEVEL", - "LEON_LIVEOPS_DEAL_STATE_SYNC_USER_LEVEL", - "SURVEY_AHC_AT_USER_LEVEL", - "PLAY_PASS_CART_MAREKTING_BANNER_ELIGIBLE_AND_SHOWN_CART_USER_LEVEL", - "PLAY_PASS_PERKS_VOUCHER_IN_CART_USER_LEVEL", - "PLAY_PASS_PARENT_FOCUSED_SPLASH_PAGE_USER_LEVEL", - "PLAY_PASS_SPLASH_PAGE_FOR_UNICORN_USER_LEVEL", - "IN_CART_EXCHANGE_OPTIONS_ELIGIBLE_USER_LEVEL", - "GE_STAMP_CARD_INDIVIDUALIZATION_COUNTERFACTUAL", - "GE_USER_BUYER_STATE_UNKNOWN", - "GE_USER_BUYER_STATE_NEVER", - "GE_USER_BUYER_STATE_NEW", - "GE_USER_BUYER_STATE_CHURN", - "GE_USER_BUYER_STATE_REPEAT", - "GE_USER_VALUE_SEGMENT_UNKNOWN", - "GE_USER_VALUE_SEGMENT_LOW", - "GE_USER_VALUE_SEGMENT_MEDIUM", - "GE_USER_VALUE_SEGMENT_HIGH", - "GE_USER_VALUE_SEGMENT_NEVER", - "GE_POINTS_BOOSTER_MODEL_LAUNCH", - "GE_MULTIPLIER_EXPLORATION_WITH_ALL_NEGATIVE_GAINS", - "GE_IS_SCHEDULED_UNKNOWN_SURFACE", - "GE_IS_SCHEDULED_LEON", - "GE_IS_SCHEDULED_NOTIFICATION", - "GE_IS_SCHEDULED_CART_ABANDONMENT", - "GE_IS_SCHEDULED_SWOOP", - "GE_IS_SCHEDULED_LIVE_OP", - "GE_IS_SCHEDULED_REDEEM_SAVE", - "GE_IS_SCHEDULED_APP_HERO_CARD", - "GE_IS_SCHEDULED_POINTS_BOOSTER", - "GE_IS_SCHEDULED_INTERSTITIAL", - "GE_IS_SCHEDULED_COFFEE_CARD", - "GE_IS_SCHEDULED_QUEST", - "GE_IS_SCHEDULED_LOYALTY_MULTIPLIER", - "GE_IS_SCHEDULED_POST_PURCHASE_OFFER", - "GE_IS_SCHEDULED_OFFER_PLATFORM_POINTS_BOOSTER", - "GE_IS_USER_OPT_IN_P13N", - "GE_LOYALTY_PURCHASE_QUEST_INDIVIDUALIZATION_EXPERIMENT", - "GE_POST_PURCHASE_OFFER_INDIVIDUALIZATION_EXPERIMENT", - "IAP_SKU_DEALS_LIVE_OP_DEALS_HOME_USER_LEVEL", - "IAP_SKU_DEALS_LIVE_OP_GAMES_HOME_USER_LEVEL", - "FEATURING_AHC_OR_FHR_TRIGGERED_USER_LEVEL", - "ALLOWLIST_EXPANSION_FOR_P13N_INTERSTITIAL_USER_LEVEL", - "SURVEY_RECS_LIST_AT_USER_LEVEL", - "DEV_OFFER_SWGOH_USER_LEVEL", - "ALLOWLIST_EXPANSION_FOR_P13N_NOTIFICATIONS_USER_LEVEL", - "GROWTH_COFFEE_CARD_IN_PURCHASE_FLOW_USER_LEVEL", - "GROWTH_COFFEE_CARD_IN_PURCHASE_FLOW_SERVER_USER_LEVEL", - "GROWTH_CORPUS_WIDE_STAMP_CARD_PURCHASE_FLOW_CLIENT_USER_LEVEL", - "GROWTH_CORPUS_WIDE_STAMP_CARD_PURCHASE_FLOW_SERVER_USER_LEVEL", - "GROWTH_CORPUS_WIDE_STAMP_CARD_GAMES_HOME_USER_LEVEL", - "LOYALTY_PURCHASE_QUEST_GAMES_HOME_USER_LEVEL", - "LOYALTY_CORPUS_WIDE_STAMP_CARD_GAMES_HOME_CLIENT_USER_LEVEL", - "GROWTH_CORPUS_WIDE_STAMP_CARD_GAMES_HOME_SERVER_USER_LEVEL", - "LOYALTY_PURCHASE_QUEST_GAMES_HOME_SERVER_USER_LEVEL", - "LOYALTY_PURCHASE_QUEST_SERP_SERVER_USER_LEVEL", - "LOYALTY_CORPUS_WIDE_STAMP_CARD_GAMES_HOME_SERVER_USER_LEVEL", - "LOYALTY_CORPUS_WIDE_STAMP_CARD_DETAILS_PAGE_SERVER_USER_LEVEL", - "SUBSCRIPTION_ENGAGEMENT_QUEST_LOYALTY_EARN_TAB_USER_LEVEL", - "SUBSCRIPTION_ENGAGEMENT_QUEST_LOYALTY_EARN_TAB_AT_QUEST_PLATFORM_USER_LEVEL", - "SUBSCRIPTION_ENGAGEMENT_QUEST_NOTIFICATION_AT_QUEST_PLATFORM_USER_LEVEL", - "SUBS_HIGH_CHURN_FOP_OPTIONS_AVAILABLE_USER_LEVEL", - "SUBS_HIGH_CHURN_FOP_OPTIONS_AVAILABLE_USER_LEVEL_V2", - "SUBS_HIGH_CHURN_FOP_OPTIONS_AVAILABLE_WITH_EXISTING_FOP_USER_LEVEL", - "SUBS_HIGH_CHURN_FOP_OPTIONS_AVAILABLE_WITHOUT_EXISTING_FOP_USER_LEVEL", - "FOPLESS_USER_WITH_DCB_OR_EWALLET_OR_STORE_VALUE_USER_LEVEL", - "WIDE_MEDIA_CLUSTER_INVALID_VIDEO_ASSET_USER_LEVEL", - "WEBSKY_SEARCH_THIRD_PARTY_CONTENT_ELIGIBLE_QUERY_USER_LEVEL", - "EDITORIAL_FCC_AT_USER_LEVEL", - "QUEST_CONTENT_CARD_IN_DEALS_HOME_USER_LEVEL", - "FOP_STEERING_PROMOTION_INITIAL_BILLING_PROFILE_USER_LEVEL_V2", - "FOP_STEERING_PROMOTION_CART_ADD_FOP_USER_LEVEL_V2", - "FOP_STEERING_PROMOTION_CART_CHANGE_FOP_USER_LEVEL_V2", - "FOP_STEERING_PROMOTION_CART_APPLY_PROMOTION_USER_LEVEL_V2", - "FOP_STEERING_PROMOTION_USER_LEVEL", - "FOP_STEERING_PROMOTION_EXCLUDE_CUJ4_USER_LEVEL", - "SUBSCRIPTION_PENDING_ACKNOWLEDGEMENT_EMAIL_USER_LEVEL", - "SUBSCRIPTION_PENDING_ACKNOWLEDGEMENT_NOTIFICATION_USER_LEVEL", - "LOYALTY_STAMP_CARD_IN_PURCHASE_FLOW_USER_LEVEL", - "HAS_MONETIZATION_BEHAVIOR_USER_LEVEL", - "HAS_MONETIZATION_BEHAVIOR_LAST_180D_USER_LEVEL", - "HAS_LAST_28D_CART_ABANDONMENT_USER_LEVEL", - "HAS_LAST_7D_CART_ABANDONMENT_USER_LEVEL", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_SNOOZE_V4_1", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_SNOOZE_V4_2", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_MUTABLE_CONDITIONS_FOR_ARM_2", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_MUTABLE_CONDITIONS_FOR_ARM_2A", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_MUTABLE_CONDITIONS_FOR_ARM_3", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_MUTABLE_CONDITIONS_FOR_ARM_3A", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_MUTABLE_CONDITIONS_FOR_ARM_2_V2", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_MUTABLE_CONDITIONS_FOR_ARM_2A_V2", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_MUTABLE_CONDITIONS_FOR_ARM_3_V2", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_MUTABLE_CONDITIONS_FOR_ARM_3A_V2", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_MUTABLE_CONDITIONS_FOR_ARM_2A_V3", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_MUTABLE_CONDITIONS_FOR_ARM_3A_V3", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_MUTABLE_CONDITIONS_FOR_ARM_3_V4", - "LINK_BIOMETRICS_NEW_SETUP_USER_LEVEL_BEFORE_MUTABLE_CONDITIONS_FOR_ARM_3A_V4", - "POST_SUCCESS_ADD_BACKUP_FLOW_USER_LEVEL", - "SKIP_CHECK_MARK_SCREEN_WITH_BACKUP_FLOW_USER_LEVEL", - "IS_ELIGIBLE_FOR_ONE_CLICK_BACKUP_FOP_USER_LEVEL", - "LOYALTY_STAMP_CARD_IN_PURCHASE_FLOW_SERVER_USER_LEVEL", - "ELIGIBLE_FOR_MANAGE_IN_APP_DETAILS_USER_LEVEL", - "PLAY_ONBOARDING_QUEST_GAMES_HOME_USER_LEVEL", - "SERVED_GPP_ONBOARDING_QUEST_USER_LEVEL", - "PLAY_ONBOARDING_QUEST_GAMES_HOME_SERVER_USER_LEVEL", - "PCH_O2_WITH_CRE_USER_LEVEL", - "MERCH_USER_JOURNEY_SPEND_USER_LEVEL", - "MERCH_USER_JOURNEY_PUBG_NPU", - "MERCH_USER_JOURNEY_PUBG_REPEAT_SPEND", - "MERCH_USER_JOURNEY_APEX_NEW_ACTIVE_USERS", - "MERCH_USER_JOURNEY_APEX_NEW_CHURN", - "MERCH_USER_JOURNEY_PUBG_NEW_USERS", - "MERCH_USER_JOURNEY_PUBG_ADVANCED_AND_CHURN", - "MERCH_USER_JOURNEY_FREE_FIRE_ADVANCED_AND_CHURN", - "MERCH_USER_JOURNEY_GARENA_REPEAT", - "MERCH_USER_JOURNEY_NIKKE_NEW_UPDATE", - "MERCH_USER_JOURNEY_NIKKE_ADVANCED_UPDATE", - "MERCH_USER_JOURNEY_POKEMON_GO_ADVANCED_AND_CHURN", - "NOTIFICATION_COMICS_BUYER_CAMPAIGN_TARGET", - "NOTIFICATION_COMICS_NEVER_CAMPAIGN_TARGET", - "NOTIFICATION_SOCIAL_BUYER_CAMPAIGN_TARGET", - "NOTIFICATION_SOCIAL_NEVER_CAMPAIGN_TARGET", - "PLAY_GAMES_ACHIEVEMENT_LOYALTY_QUEST_USER_LEVEL", - "PLAY_BOOKS_READING_PROGRESS_TOOLTIP_USER_LEVEL", - "IAP_SKU_DEALS_LIVE_OP_GAMES_HOME_USER_LEVEL1", - "POST_PURCHASE_OFFER_POST_PURCHASE_CONFIRMATION_DIALOG_SERVER_USER_LEVEL", - "POST_PURCHASE_OFFER_POST_PURCHASE_OFFER_SAVED_DIALOG_SERVER_USER_LEVEL", - "POST_PURCHASE_OFFER_VALUE_PROMOTION_DIALOG_SHOWN_SERVER_USER_LEVEL", - "MDP_P13N_RERANKING_UNKNOWN_USER_LEVEL", - "MDP_P13N_RERANKING_CATEGORICAL_USER_LEVEL", - "MDP_P13N_RERANKING_NAVIGATIONAL_USER_LEVEL", - "MDP_P13N_RERANKING_MULTI_NAVIGATIONAL_USER_LEVEL", - "MDP_P13N_RERANKING_NAVIGATIONAL_EXT_USER_LEVEL", - "PLAY_ONBOARDING_QUEST_PLATFORM_SERVING_USER_LEVEL", - "APPS_LAUNCHER_CLUSTER_AT_USER_LEVEL", - "TRIGGERED_DEV_SUCCESS_CLUSTER_USER_LEVEL", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_INVALID_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_0_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_1_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_2_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_3_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_4_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_5_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_6_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_7_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_8_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_9_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_10_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_11_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_12_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_13_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_14_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_15_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_16_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_17_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_18_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_19_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_20_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_21_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_22_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_23_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_24_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_25_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_26_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_27_USER_LEVEL_V2", - "PREPERIOD_PAGE_VISIT_28D_FREQUENCY_28_USER_LEVEL_V2", - "HAS_REINSTALL_APP_PASSING_FILTERING_USER_LEVEL", - "HAS_RECOMMENDED_APP_WITH_OOP_REINSTALL_ELIGIBILITY_USER_LEVEL", - "HAS_PAST_OOP_SPEND_ON_GAME_USER_LEVEL", - "HAS_PAST_OOP_SPEND_ON_APPLICATION_USER_LEVEL", - "NOTIFICATION_PREDICTED_REV_GAIN_FILTERING_USER_LEVEL", - "NOTIFICATION_PUBLICITY_GAIN_DISABLED_USER_LEVEL", - "UNACK_IN_APP_SUBSCRIPTION_WARNING_DETAIL_PAGE_USER_LEVEL", - "PURCHASE_READINESS_ADD_FOP_USER_LEVEL", - "PURCHASE_READINESS_ADD_AUTH_USER_LEVEL", - "PURCHASE_READINESS_ADD_FOP_AUTH_USER_LEVEL", - "SUBS_PAYMENT_DECLINE_USER_LEVEL", - "SUBS_PAYMENT_DECLINE_V2_USER_LEVEL", - "SUBS_PAYMENT_DECLINE_USER_LEVEL_V3", - "SUBS_PAYMENT_DECLINE_USER_LEVEL_V4", - "SUBS_PAYMENT_DECLINE_USER_LEVEL_V5", - "CART_ABANDONMENT_REMINDER_PARTNER_APPS_USER_LEVEL", - "CART_ABANDONMENT_REMINDER_POPULAR_APPS_USER_LEVEL_V2", - "CART_ABANDONMENT_REMINDER_SUBS_USER_LEVEL", - "CART_ABANDONMENT_REMINDER_USER_LEVEL_V3", - "CART_ABANDONMENT_REMINDER_IAP_USER_LEVEL", - "CART_ABANDONMENT_REMINDER_USER_LEVEL_V4", - "CONTEXTUAL_ADD_FOP_USER_LEVEL", - "SUBSCRIPTION_OFFER_SWITCH_DATA_PRESENT_USER_LEVEL", - "FCC_FIRST_PARTY_CATEGORICAL_SEARCH_OFFERS_USER_LEVEL", - "MERCH_CONTENT_EXP_ACTIVE_PUBG_USER_LEVEL", - "MERCH_CONTENT_EXP_ACTIVE_GENSHIN_USER_LEVEL", - "MERCH_CONTENT_EXP_ACTIVE_ROBLOX_USER_LEVEL", - "MERCH_CONTENT_EXP_ACTIVE_POKEMON_GO_USER_LEVEL", - "DMA_PRE_CONSENT_PROMPT_SHOWN_USER_LEVEL", - "DMA_PRE_CONSENT_DECISION_MADE_USER_LEVEL", - "DMA_PRE_CONSENT_FLOW_DISMISSED_USER_LEVEL", - "DSA_P13N_OPTED_IN_AT_USER_LEVEL", - "DSA_P13N_OPTED_OUT_AT_USER_LEVEL", - "LIVEOPS_INSTALL_NOTIFICATION_USER_LEVEL", - "USER_P13N_SETTING_UNSPECIFIED_AT_USER_LEVEL", - "BOOKS_USER_P13N_SETTING_UNSPECIFIED_AT_USER_LEVEL", - "USER_P13N_SETTING_ON_AT_USER_LEVEL", - "BOOKS_USER_P13N_SETTING_ON_AT_USER_LEVEL", - "USER_P13N_SETTING_OFF_AT_USER_LEVEL", - "BOOKS_USER_P13N_SETTING_OFF_AT_USER_LEVEL", - "LIVEOPS_CLUSTER_SERP_TRIGGERING_USER_LEVEL", - "BOOKS_NOTIFICATION_RECEIVED_USER_LEVEL", - "LIVEOPS_INSTALL_NOTIFICATION_CHURNED_USER_LEVEL", - "SUBS_OFFER_ON_BUYFLOW_AT_USER_LEVEL", - "SUBS_OFFER_ON_BUYFLOW_ELIGIBLE_AT_USER_LEVEL", - "SUBS_OFFER_ON_BUYFLOW_EXPLORATION_AT_USER_LEVEL", - "SUBS_OFFER_ON_BUYFLOW_EXPLORATION_ELIGIBLE_AT_USER_LEVEL", - "FCC_QUEST_ON_CLIENT_USER_LEVEL", - "FOP_PARTNER_PROMOTION_USER_LEVEL", - "BOOKS_LOYALTY_PROMO_BANNER_WEEKLY_PRIZE_USER_LEVEL", - "IS_ELIGIBLE_FOR_DYNAMIC_AUTH_USER_LEVEL", - "FREE_TRIAL_SUBSCRIPTION_CART_WITH_CARD_USER_LEVEL", - "GE_LIVEOPS_PSPEND_USER_LEVEL", - "IS_ELIGIBLE_FOR_RENEWAL_REMINDER_USER_LEVEL", - "FEATURED_PRODUCTS_LIVE_OPS_AT_USER_LEVEL", - "FEATURED_PRODUCTS_LIVE_OPS_QUERY_AT_USER_LEVEL", - "FEATURED_PRODUCTS_LIVE_OPS_CLIENT_AT_USER_LEVEL", - "FIRST_PARTY_OFFERS_REQUEST_TRIGGER_USER_LEVEL", - "IS_ELIGIBLE_FOR_APP_TARGETED_REWARD_USER_LEVEL", - "IS_ELIGIBLE_FOR_APP_TARGETED_REWARD_ZYNGA_USER_LEVEL", - "IS_ELIGIBLE_FOR_APP_TARGETED_REWARD_SUPERCELL_USER_LEVEL", - "IS_ELIGIBLE_FOR_APP_TARGETED_REWARD_KING_USER_LEVEL", - "IS_ELIGIBLE_FOR_APP_TARGETED_REWARD_MINICLIP_USER_LEVEL", - "IS_APP_TARGETED_REWARD_BANNER_VISIBLE_USER_LEVEL", - "GAME_HUB_DEVELOPER_VIDEO_AT_USER_LEVEL", - "CART_ABANDONMENT_SUBSCRIPTION_BENEFITS_USER_LEVEL", - "GAME_HUB_DEVELOPER_VIDEO_ELIGIBLE_AT_USER_LEVEL", - "SHOULD_SEE_FIRST_PARTY_PROMO_LIVE_OP_SUBSCRIPTION_USER_LEVEL", - "LIVE_OP_SUBSCRIPTION_OFFER_ON_SUBS_NEVER_USERS_USER_LEVEL", - "LIVE_OP_SUBSCRIPTION_OFFER_ON_SUBS_NEVER_USERS_USER_LEVEL_V2", - "LIVE_OP_SUBSCRIPTION_OFFER_ON_NEVER_NEVER_USERS_USER_LEVEL", - "MERCH_NOMADS_CN_EXP_CLUSTER_TARGETED_AT_USER_LEVEL", - "MERCH_NOMADS_CN_PROD_CLUSTER_TARGETED_AT_USER_LEVEL", - "NOTIFICATION_GUM_FINE_TUNING_MODEL_USER_LEVEL", - "ELIGIBLE_FOR_COMICS_CLUSTER_AH_USER_LEVEL", - "HIGH_COMIC_APP_USAGE_USER_LEVEL", - "MODERATE_COMIC_APP_USAGE_USER_LEVEL", - "COMIC_SAMPLING_PICCOMA_INSTALLED_USER_LEVEL", - "COMIC_SAMPLING_MANGA_ONE_INSTALLED_USER_LEVEL", - "COMIC_SAMPLING_MAGAPOKE_INSTALLED_USER_LEVEL", - "COMIC_SAMPLING_JUMP_INSTALLED_USER_LEVEL", - "COMIC_SAMPLING_LINE_MANGA_INSTALLED_USER_LEVEL", - "COMIC_SAMPLING_ANY_INSTALLED_USER_LEVEL", - "REDEEM_SAVE_BUYER_SPEND_MODEL_USER_LEVEL", - "PURCHASE_ADD_FOP_OPTIONS_SCREEN_USER_LEVEL", - "PURCHASE_ADD_FOP_OPTIONS_SCREEN_FOPLESS_USER_LEVEL", - "PURCHASE_ADD_FOP_OPTIONS_SCREEN_USER_LEVEL_DELEGATED_PAYMENT", - "CART_ABANDONMENT_ITEM_RECOMMENDATION_USER_LEVEL", - "CART_ABANDONMENT_ITEM_RECOMMENDATION_LOWER_PRICED_USER_LEVEL", - "CART_ABANDONMENT_ITEM_RECOMMENDATION_POPULAR_USER_LEVEL", - "HAS_INSUFFICIENT_STORED_VALUE_BALANCE_BEFORE_RENEWAL_USER_LEVEL", - "IS_ELIGIBLE_FOR_ONE_CLICK_BAKCUP_FOP_IN_FIX_FLOW_USER_LEVEL", - "WEBSKY_DISPLAY_SUBSCRIPTION_ENTITLEMENT_BENEFITS_USER_LEVEL", - "HAS_INSUFFICIENT_STORED_VALUE_BALANCE_BEFORE_RENEWAL_V2_USER_LEVEL", - "LOYALTY_WEEKLY_REWARDS_ICC_FORMAT_NOW_HOME_USER_LEVEL", - "PREREGISTRATION_SHOULD_SEE_NOTIFICATION_DIALOG_USER_LEVEL", - "MULTILINE_SUBSCRIPTION_ADDON_TITLE_USER_LEVEL", - "UNIFIED_ITEM_RECOMMENDATION_USER_LEVEL", - "UNIFIED_ITEM_RECOMMENDATION_LOWER_PRICED_USER_LEVEL", - "UNIFIED_ITEM_RECOMMENDATION_POPULAR_USER_LEVEL", - "CART_WITH_BROKEN_FOP_USER_LEVEL", - "CART_WITH_BROKEN_FOP_USER_LEVEL_V2", - "USER_WITH_BROKEN_FOP_USER_LEVEL", - "USER_WITH_CART_WITH_BROKEN_FOP_USER_LEVEL", - "CART_ABANDONMENT_SUBSCRIPTION_BENEFITS_USER_LEVEL_V2", - "DECLINE_MESSAGE_IN_SUBSCENTER_FIX_FLOW_USER_LEVEL", - "MULTILINE_SUBSCRIPTION_BASIC_RESTORE_ENABLED_USER_LEVEL", - "SUBSCRIPTION_ENTITLEMENT_BENEFIT_HOLDBACK_SPOTIFY_USER_LEVEL", - "SAVE_FOR_LATER_CART_ABANDONMENT_SCREEN_USER_LEVEL", - "CART_ABANDONMENT_NOTIFICATION_USER_LEVEL", - "CART_ABANDONMENT_NOTIFICATION_USER_LEVEL_V2", - "PLAY_ONBOARDING_FLOW_NEW_ACCOUNT_ON_DEVICE_USER_LEVEL", - "PLAY_ONBOARDING_FLOW_USER_LEVEL", - "PLAY_EVERBOARDING_FLOW_ORGANIC_OPEN_USER_LEVEL", - "PLAY_EVERBOARDING_FLOW_POTENTIAL_IMPRESSION_USER_LEVEL", - "PLAY_EVERBOARDING_FLOW_ELIGIBLE_USER_LEVEL", - "PLAY_EVERBOARDING_FLOW_NEED_AUTH_USER_LEVEL", - "PLAY_EVERBOARDING_FLOW_USER_CAN_AUTH_NEED_AUTH_USER_LEVEL", - "PLAY_EVERBOARDING_FLOW_NEED_FOP_USER_LEVEL", - "PLAY_EVERBOARDING_FLOW_NEED_AUTH_AND_FOP_USER_LEVEL", - "ALLOW_RENEWAL_WITH_NO_INSTRUMENT_USER_LEVEL", - "MDP_MEDIA_AND_ENTERTAINMENT_USER_LEVEL", - "NUDGE_PAYTM_WALLET_FAILURE_TO_UPI_USER_LEVEL", - "HAS_INSUFFICIENT_STORED_VALUE_BALANCE_BEFORE_RENEWAL_V3_USER_LEVEL", - "ELIGIBILITY_AS_A_SERVICE_3P_LIVEOPS_USER_LEVEL", - "DYNAMIC_CANCEL_FLOW_COUNTERFACTUAL_USER_LEVEL", - "DYNAMIC_CANCEL_ONE_CLICK_FLOW_SHOWN_USER_LEVEL", - "DETAILS_GAME_HUB_STREAM_AT_USER_LEVEL", - "DETAILS_GAME_HUB_DEVELOPER_VIDEOS_CLUSTER_AT_USER_LEVEL", - "DETAILS_GAME_HUB_EDITORIAL_CONTENT_CLUSTER_AT_USER_LEVEL", - "DETAILS_GAME_HUB_LIVE_OPS_CLUSTER_AT_USER_LEVEL", - "DETAILS_GAME_HUB_POINTS_SPEND_PROMOTION_CLUSTER_AT_USER_LEVEL", - "DETAILS_GAME_HUB_QUESTIONS_AND_ANSWERS_MODULE_AT_USER_LEVEL", - "DETAILS_GAME_HUB_ELIGIBLE_AT_USER_LEVEL", - "CATEGORY_HIGHLIGHT_UI_SERP_USER_LEVEL", - "CATEGORY_HIGHLIGHT_UI_DP_USER_LEVEL", - "SUBSCRIPTION_ENTITLEMENT_BENEFITS_IN_DECLINE_EMAIL_USER_LEVEL", - "SOUR_PATCH_KIDS_UI_SERP_USER_LEVEL", - "SOUR_PATCH_KIDS_UI_DP_USER_LEVEL", - "FORM_FACTOR_DETAILS_PAGE_USER_LEVEL", - "FORM_FACTOR_WEAR_PAGE_USER_LEVEL", - "APP_SUBSCRIPTION_CART_ABANDONMENT_OFFER_USER_LEVEL", - "PLAY_PASS_SUBSCRIPTION_CART_ABANDONMENT_OFFER_USER_LEVEL", - "SUBSCRIPTION_SUBSCRIBE_MORE_SAVE_MORE_USER_LEVEL", - "GH_ECC_HIGH_SPEND_GAMERS_USER_LEVEL", - "GH_ECC_LOW_SPEND_GAMERS_USER_LEVEL", - "GH_ECC_HIGH_VALUE_GAMERS_USER_LEVEL", - "GH_ECC_MEDIUM_VALUE_GAMERS_USER_LEVEL", - "GH_ECC_PREDICTED_HIGH_VALUE_GAMERS_USER_LEVEL", - "GH_ECC_PREDICTED_MEDIUM_VALUE_GAMERS_USER_LEVEL", - "GH_ECC_HIGH_VALUE_GAMERS_2P_VIDEO_ELIGIBLE_USER_LEVEL", - "GH_ECC_MEDIUM_VALUE_GAMERS_2P_VIDEO_ELIGIBLE_USER_LEVEL", - "GH_ECC_PREDICTED_HIGH_VALUE_GAMERS_2P_VIDEO_ELIGIBLE_USER_LEVEL", - "GH_ECC_PREDICTED_MEDIUM_VALUE_GAMERS_2P_VIDEO_ELIGIBLE_USER_LEVEL", - "GAME_SPEND_STATE_ACTIVE_NEW", - "GAME_SPEND_STATE_ACTIVE_RETAINED", - "GAME_SPEND_STATE_ACTIVE_RESURRECTED", - "GAME_SPEND_STATE_INACTIVE_DORMANT", - "GAME_SPEND_STATE_INACTIVE_LAPSED", - "GAME_SPEND_STATE_INACTIVE_CHURNED", - "GAME_SPEND_TIER_HIGH", - "GAME_SPEND_TIER_LOW", - "GAME_SPEND_HIGH_VALUE_GAMER", - "GAME_SPEND_MEDIUM_VALUE_GAMER", - "GAME_SPEND_LOW_VALUE_GAMER", - "APPS_LAUNCHER_CLUSTER_ON_CLIENT_USER_LEVEL", - "APPS_LAUNCHER_CLUSTER_CANDIDATE_AT_USER_LEVEL", - "SUBSCRIPTION_ENTER_GRACE_PERIOD_GLOBO_USER_LEVEL", - "SUBSCRIPTION_ENTER_ACCOUNT_HOLD_GLOBO_USER_LEVEL", - "PLAY_DOUGH_FOP_PARTNER_PROMOTION_USER_LEVEL", - "USER_LEVEL_TEST_CODE_LIMIT", - "HAS_ALLOWLIST_REINSTALL_USER_LEVEL", - "LOYALTY_WEEKLY_REWARDS_FCC_FORMAT_NOW_CAROUSEL_USER_LEVEL", - "IAB_AUTH_RECOVERY_V2_USER_LEVEL", - "USER_INTEREST_PICKER_SUBMISSION_ON_CLICK_USER_LEVEL", - "BOOKS_SERIES_COMMERCE_PAGE_VISIT_USER_LEVEL", - "BLOCK_SUBSCRIPTION_FOR_PAYMENT_PROFILE_CLOSURE_USER_LEVEL", - "BOOKS_GROWTH_NOTIFICATION_USER_LEVEL", - "BOOKS_GROWTH_NOTIFICATION_HOLDBACK_USER_LEVEL", - "FCC_CAT_SEARCH_USER_BUYER_STATE_ACTIVE_BUYER", - "FCC_CAT_SEARCH_USER_BUYER_STATE_DORMANT_BUYER", - "FCC_CAT_SEARCH_USER_BUYER_STATE_LAPSED_BUYER", - "FCC_CAT_SEARCH_USER_BUYER_STATE_CHURNED_BUYER", - "WIN_SUPER_WEEKLY_PRIZE_USER_LEVEL", - "CLAIM_SUPER_WEEKLY_PRIZE_USER_LEVEL", - "LOYALTY_HIGHLY_SUSPICIOUS_USER_RISK_VERDICT", - "LOYALTY_FRAUDULENT_USER_RISK_VERDICT", - "FIRST_PURCHASE_PROMOTION_LIVEOPS_USER_LIVEL", - "FIRST_PURCHASE_PROMOTION_NOTIFICATION_USER_LEVEL", - "CORPUS_WIDE_CAMPAIGN_DETAILS_PAGE_USER_LEVEL", - "CRICKET_AFFINITY_USER_LEVEL", - "NON_CRICKET_AFFINITY_USER_LEVEL", - "SUBSCRIBE_INSTALL_MIGRATION_USER_LEVEL", - "WEBSKY_IAP_SALES_MVP_USER_LEVEL", - "ZERO_PREFIX_SUGGEST_OFFERS_USER_LEVEL", - "FCC_CAT_SEARCH_USER_BUYER_STATE_ACTIVE_BUYER_V2", - "FCC_CAT_SEARCH_USER_BUYER_STATE_DORMANT_BUYER_V2", - "FCC_CAT_SEARCH_USER_BUYER_STATE_LAPSED_BUYER_V2", - "FCC_CAT_SEARCH_USER_BUYER_STATE_CHURNED_BUYER_V2", - "FCC_SHORT_LIVE_OP_CLUSTER_SHOWN_SESSION_LEVEL", - "FEATURED_PRODUCT_LIVE_OP_NOT_SHOWN_SESSION_LEVEL", - "FEATURED_PRODUCT_LIVE_OP_SHOWN_SESSION_LEVEL", - "DETAILS_PAGE_LIVE_OP_CLUSTER_SHOWN_SESSION_LEVEL", - "PLAY_PASS_FREE_TRIAL_OFFER_SHOWN_SESSION_LEVEL", - "PLAY_PASS_PAID_OFFER_SHOWN_SESSION_LEVEL", - "FEATURED_PRODUCTS_LIVE_OPS_METADATA_SESSION_LEVEL", - "VIDEO_ADS_SERVED_SESSION_LEVEL", - "VIDEO_ADS_NOT_SERVED_SESSION_LEVEL", - "ZERO_PREFIX_SUGGEST_OFFERS_SESSION_LEVEL" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "useful always", - "useful always", - "useful always", - "useful always", - "useful always", - "useful always", - "", - "", - "", - "", - "Query is eligible to show Boots chips", - "", - "", - "", - "Create test code for go/it-design experiment", - "go/guided-discovery-design for details.", - "", - "", - "User has live op cluster candidates.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Details page of an app eligible for Books XSell", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Indicates triggering of Topic RFY cluster", - "Triggered Mini Topcharts in apps search.", - "", - "", - "User eligible for Assistant first-run tooltip", - "User eligible for Assistant nth-run tooltip", - "User eligible for Assistant nth-run button tooltip", - "User eligible for Launcher first run tooltip", - "User eligible for Launcher nth run tooltip", - "User eligible for Notification first run tooltip", - "User eligible for Notification new tooltip", - "User eligible for Notification nth new tooltip", - "", - "", - "leon banner is targeted at event level.", - "", - "User input has touch hardware", - "User input has rotary hardware", - "User input has touchpad hardware", - "User input lacks touch hardware", - "User input lacks rotary hardware", - "User input lacks touchpad hardware", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Indicates a work profile was detected while running Android Auto", - "Indicates Android Auto has detected a work profile, and could query for work data, but might (or might not) need to prompt for permissions first. Also indicates Android Auto has permission to post any needed permission prompts.", - "Indicates Android Auto has permission to query work data, and show it to the user", - "", - "", - "", - "Indicates that Android Auto has detected multiple phone accounts, which are capable of placing/receiving calls. VOIP accounts are not included.", - "Indicates that a phone with multiple callable accounts has a default account specified for placing outgoing calls. This means account disambiguation generally won't be needed when placing a call from Android Auto.", - "", - "Indicates that Android Auto has displayed a multi-SIM calling tooltip.", - "", - "", - "", - "", - "", - "", - "Indicates that the Android Auto session is eligible to receive media autoplay (i.e. system requesting playback automatically)", - "", - "Indicates that some organic search results have generated large-format cluster candidates (i.e. to be shown as search results with media).", - "Event level test code for tracking fresh results seeking search queries.", - "Google funded series bundle discount bucket.", - "", - "", - "", - "", - "", - "Event level test code that indicates that a tg related query search cluster could be shown.", - "Event level test code that indicates that tg related queries could be inserted to related query cluster for navigational search.", - "Event level testcode for promotable apps in search. STRONG_CAT and CAT are for strong CAT and general CAT query slices.", - "", - "Event level test codes containing result of tquality lookup during market details url matching. A failed tquality result suppresses inline details.", - "", - "Event level test code indicating external details URL is an inline URL.", - "", - "", - "", - "", - "", - "Event level test codes containing result of aQuality lookup during market details url matching. A failed aQuality result suppresses inline details.", - "", - "Event level test code for tracking fresh results seeking within the current year search queries.", - "Event level test code for when we filtered \u003e=1 apps due to tq failure.", - "Event level test code for Editorial Content/Articles in SERP (FHR)", - "Event level test code for apps with different quality score in different language at filter.", - "The following are used by the server side.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Event level test code for cluster, p13n ranking.", - "TestCode for Broad Intent Reweighting Event Level.", - "Event level test code for query dependent snippet.", - "Event level test code for dev success cluster.", - "", - "", - "TestCode for Broad Intent Games TimeSpent Event Level.", - "USB connection recovery.", - "MDP P13N", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Second pass polaris reranking event level.", - "Second pass polaris with ranking change event level.", - "Tooltip for unavailable dashboard support for selected navigation app.", - "Test code used when /selfUpdate endpoint last returned self_update_mode = TIMESLICED_SAFE_SELF_UPDATE, indicating that a safe self-update should be attempted.", - "Test code used when /selfUpdate endpoint last returned self_update_mode = NORMAL_SELF_UPDATE, indicating that either no self update is available or a normal self update should be performed.", - "Test code for second pass broad intent query event level.", - "Test code for second pass reweighting triggered event level.", - "Tooltip for notifying user of the rail widget setting.", - "Event level test codes containing result of tquality lookup during market details url matching. An unknown result means the lookup found nothing.", - "Event level test code when Short Description is populated in Superroot.", - "Event level test code when Short Description fetched in PGSS is different from that fetched in Superroot.", - "Event level test code that indicates second pass quality reweigthing is triggered.", - "Event level test code that indicates second pass quality reweigthing is triggered.", - "IAP Sales MDP user-level test code. Design: go/play-store-iap-sales-integration-dd", - "Unack Warning Message event-level test code. Design: go/unack-warning-message-on-dp-dd", - "Event level test code that indicates package name search is triggered. This test code is only added when - Package name search is triggered AND - The organic response didn't place the package name app at the top.", - "Event level test codes for go/zero-copy", - "", - "", - "", - "", - "Event level test code for high device tier.", - "Event level test code for med device tier.", - "Event level test code for low device tier.", - "Event level test code for UNKNOWN query type.", - "Event level test code for CATEGORICAL query type.", - "Event level test code for NAVIGATIONAL query type.", - "Event level test code for MULTI_NAVIGATIONAL query type.", - "Event level test code for NAVIGATIONAL_EXT query type.", - "Event level test code for 0 high quality result after modular ranking.", - "Event level test code for 1-2 high quality results after modular ranking.", - "Event level test code for 3 or more high quality results after modular ranking.", - "Event level test code when top result is high quality after modular ranking.", - "Event level test code for 0 high relevance result after modular ranking.", - "Event level test code for 1-2 high relevance results after modular ranking.", - "Event level test code for 3 or more high relevance results after modular ranking.", - "Event level test code when top result is high relevance after modular ranking.", - "Event level test code for 0 high quality result after Twiddlers.", - "Event level test code for 1-2 high quality results after Twiddlers.", - "Event level test code for 3 or more high quality results after Twiddlers.", - "Event level test code when top result is high quality after modular ranking.", - "Event level test code for 0 high relevance result after Twiddlers.", - "Event level test code for 1-2 high relevance results after Twiddlers.", - "Event level test code for 3 or more high relevance results after Twiddlers.", - "Event level test code when top result is high relevance after Twiddlers.", - "Event level test code for RAM between 0GB and 1GB.", - "Event level test code for RAM between 1GB and 2GB.", - "Event level test code for RAM between 2GB and 3GB.", - "Event level test code for RAM between 3GB and 4GB.", - "Event level test code for RAM between 4GB and 6GB.", - "Event level test code for RAM between 6GB and more.", - "Low storage at install preprocessing stage.", - "Event-level test code for DSA p13n opt in.", - "Event-level test code for DSA p13n opt out.", - "Event-level test code corresponding to com.google.play.consent.proto.Setting.SETTING_UNSPECIFIED.", - "", - "Event-level test code corresponding to com.google.play.consent.proto.Setting.SETTING_ON.", - "", - "Event-level test code corresponding to com.google.play.consent.proto.Setting.SETTING_OFF.", - "", - "Event-level test code corresponding to an MDP showing for a game also available on Battlestar.", - "Event-level test code corresponding to the details page ribbon showing a pseudo credit offer promotion for Battlestar games.", - "Event-level test code to track triggering of review highlights.", - "Event-level test code to track triggering of VPN Intent trusted vertical message.", - "Event-level test code to track triggering of LOAN Intent trusted vertical message.", - "Event-level test code to track triggering of SERP YouTube video cluster.", - "Event-level test code to track triggering of lowQ apps demotion.", - "Test code for MDP query event level.", - "Test code for non-MDP query event level.", - "Test code for nav card at event level.", - "Event-level test code for logging MDP LiveOps shown to ever-installed users on SERP", - "Event-level test code for logging MDP LiveOps shown to never-installed users on SERP", - "Broad Related Queries TestCode", - "Event-level test code for Supplemental TG Retrieval.", - "Event-level test code for logging when a request is sent to P3 server.", - "Event-level test code for user-review highlights summary clicks.", - "Event-level test code corresponding to the self share bottom sheet appearing for Battlestar games (screenshot: https://screenshot.googleplex.com/3RRHu4jPLgocYc2).", - "Event-level test code for Supplemental TG Annotation for wear apps seeking or queries from wear.", - "Event-level test code for the presence of a third-party review.", - "Event-level test code for Game Hub Developer Video cluster.", - "Event-level test code corresponding to game-centric email icon assets appearing in the bottom sheet for a selected list of Battlestar games.", - "Event-level test code for Game Hub Developer Video cluster eligibility.", - "Event level test codes for FOP Ordering (swapping the default FOP).", - "", - "", - "", - "", - "Test code for sessions where a phone dialer that doesn't turn screen on during phone calls is enabled.", - "Event-level test code for the presence of customer update challenge.", - "Event-level test code for experimental tg query.", - "Client-side event level test code for Featured Products LiveOps.", - "Event-level code for Device-Install based P13n", - "Impression Cap Event Level Test Code.", - "Event-level test code for the App Q\u0026A Guide.", - "Event-level test code for 1P fcc categorical search offers.", - "Event-level test code that indicates if the user has issued a books search query for which QRewrite returns series interpretation.", - "Event-level test code for Details Game Hub Stream.", - "Event-level test code for Details Game Hub Developer Videos Cluster.", - "Event-level test code for Details Game Hub Editorial Content Cluster.", - "Event-level test code for Details Game Hub Live Ops Cluster.", - "Event-level test code for Details Game Hub Points Spend Promotion Cluster.", - "Event-level test code for Details Game Hub Questions and Answers Module.", - "Event-level test code for Details Game Hub eligibility.", - "Event-level test code for category highlight UI feature on SERP.", - "Event-level test code for category highlight UI feature on DP.", - "Event-level test code for review highlight UI feature on SERP.", - "Event-level test code for review highlight UI feature on DP.", - "Event-level test code for review highlights clicks on DP.", - "Event-level test code for using voiceplate 2.0 in AAP", - "Event-level test code for review highlights clicks on SERP.", - "Event-level test code for timeworthy App and Game seeking query.", - "Event-level test code for Battlestar's Programmatic FCC. go/bstar-game-fcc", - "Event level test code for Top Developer Boost V4.", - "Event-level test code for Game Seeking query (2nd Pass).", - "Event-level test code for Timeworthy App Seeking query (2nd Pass).", - "Event-level test code for when Time Spent 2.0 V3 is triggered for non-MDP query.", - "Event-level test code for when Time Spent 2.0 V3 is triggered for MDP query.", - "Event-level test code for M\u0026E in MDP", - "Event-level test code for Zero Prefix Suggest Offers", - "", - "", - "", - "", - "", - "", - "", - "Testcode for abusive query squashing experiment", - "Cart abandonment flow for purchase flow.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Details page of an app eligible for Books XSell", - "", - "", - "", - "User saw/would have seen the details page promotion in App", - "Details Page. User saw/would have seen the details page promotion in Books", - "", - "", - "", - "", - "", - "User saw/would have seen the promotion that was redeemd from", - "non details page in App Details Page. User saw/would have seen the promotion that was redeemd from", - "non details page in Books Details Page.", - "", - "", - "", - "", - "", - "", - "User eligible for 25% off for next renewal", - "User eligible for 50% off for next renewal", - "User eligible for 75% off for next renewal", - "", - "", - "", - "User saw/would have seen an in-app sale.", - "", - "", - "", - "", - "", - "At least one navigational suggestion was returned.", - "", - "Uer sees/should have seen promotion for Burnsie(Prompt for", - "", - "", - "", - "", - "", - "Subscription retry fop flow when the primary fop is dcb.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Distigunish who see the incentivized opt-in prompt", - "", - "leon banner is targeted at session level.", - "User visited a child directed app details page.", - "User visited a mixed audience app details page.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Gameplay video cluster.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Test Codes for in-app offers at session level.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "see go/reordering-subnav-tabs", - "see go/reordering-subnav-tabs", - "", - "", - "", - "", - "", - "", - "User saw/would have seen the subscription one time pass offer", - "", - "", - "", - "", - "", - "Subscription update fop flow at signup when the primary fop", - "is dcb. Subscription update fop flow at sub center when the primary", - "", - "", - "", - "", - "", - "Test codes for the feature and each early-access partners for the Play Store IAP sales project. go/play-store-iap-sales-dd", - "", - "IAP Sales MDP user-level test code. Design: go/play-store-iap-sales-integration-dd", - "Test codes for cross-device features. See go/play-cross-device.", - "", - "Test code for other devices subnav. Logged for eligible users when home subnavs are fetched.", - "", - "", - "", - "", - "Test code logged on client side for users who see the Play Pass signup interstitial.", - "", - "User eligible for 10% off for next renewal", - "User eligible for 25% off for next renewal", - "User eligible for 50% off for next renewal", - "User eligible for 75% off for next renewal", - "", - "", - "", - "Indicates Cakewalk that legacy (phone screen) FRX was skipped in favor of the updated HU-only FRX (Cakewalk 2.0)", - "", - "LiveOps/Offer user coverage metrics. See: go/liveops-user-coverage", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Test code for tracking the new subscription document format in GetSkuDetails, Acquire and SubscriptionDocumentsFetcher flows", - "", - "", - "", - "", - "", - "", - "Test code for tracking eligible users who are shown the cart with marketing banner.", - "Test code for tracking users shown Play Pass perks icon in cart.", - "Testcode for slicing MDP triggering queries in Play search.", - "Testcode for slicing non-MDP triggering queries in Play search.", - "Testcode for slicing requests where the offer is considered to be personalized to the users, either by google or by Play Billing Library developers.", - "Indicates that legacy (phone screen) FRX could be skipped during a session, ignoring the feature flag and other conditions that differ between experiment arms. This will allow us to compare metrics between Cakewalk users in the experiment group and *potential* Cakewalk users in the control group.", - "Test code for tracking sessions which are supposed to show a Play Pass parent-focused splash page.", - "", - "Test code for tracking sessions where a review is submitted.", - "", - "Test code for tracking sessions where the page is paginated by general query pagination.", - "Test code for tracking sessions where in cart exchange options are available.", - "Test code fpr tracking sessions where the page is being paginated by multinav pagination.", - "", - "Session level test code for tracking users who should see the IAP Sku Deals liveops card.", - "Session level test code for tracking users who should see the IAP Sku Games Home liveops card.", - "Test code for tracking sessions where featuring AHC or FHR is triggered.", - "Session level test code for tracking users who have p13n interstitials impressions.", - "Session-level test code logged when PRS returns a survey RecsList.", - "", - "Session-level test code logged when randomly shuffle clusters on target users.", - "Session-level test code logged when randomly shuffle both clusters and apps on target users.", - "Session level test code for tracking users who have p13n Notifications candidates.", - "Session level test code for tracking fresh results seeking search queries.", - "Google funded series bundle discount bucket.", - "", - "", - "", - "", - "", - "Session level test code that indicates that a tg related query search cluster could be shown.", - "Session level test code that indicates that tg related queries could be inserted to related query cluster for navigational search.", - "Event level test code that indicates promotable apps boosting is enabled. STRONG_CAT and CAT are for strong CAT and general CAT query slices.", - "", - "Session level test code for Growth Coffee Card Phase 1 launch, for tracking users who made eligible purchases and are eligible for the GCC in purchase flow.", - "Session level test code for Growth Coffee Card, for tracking users who made eligible purchases and are eligible for the GCC in purchase flow. This test code is logged on server side.", - "Test code for live ops ROI holdback experiment. Record the test code if user was in control/treatment and was eligible to see at least one liveop prior to filtering. For more info, see: go/roi-design", - "", - "", - "", - "", - "", - "Session level test code logged when the wide media card has invalid video asset in the asset agnostic 3x experiment.", - "Session level test code that indicates that the user has at least one alternate form factor device.", - "Session level test code that indicates that the user has at more than one alternate form factor devices per form factor.", - "Session level test code that indicates that an apps discovery cluster was triggered on the search page.", - "Session level test code that indicates that cross form factor wear Suggestion is enabled. b/222328256 for more details.", - "Session level test code that indicates that at least one cross form factor wear suggestion is available. b/222328256 for more details.", - "Session level test code that indicates that cross form factor tv Suggestion is enabled. b/257494005 for more details.", - "Session level test code that indicates that at least one cross form factor tv suggestion is available. b/257494005 for more details.", - "Session level test code that indicates the subtext is triggered for that group of suggestions. Could either be for XFF Cat, Nav or legacy subtext.", - "Session level test code that indicates that the user has been shown some zero prefix liveops.", - "Session level test codes containing result of tQuality lookup during market details url matching. A failed tQuality result suppresses inline details.", - "", - "Session level test codes containing result of aQuality lookup during market details url matching. A failed aQuality result suppresses inline details.", - "", - "", - "", - "", - "", - "", - "", - "", - "Session level test code indicating external details URL is an inline URL.", - "Session level test code that indicates that decline email is sent when the subscription enters grace period.", - "Session level test code that indicates that decline email is sent when the subscription enters suspended period.", - "Session level test code that indicates that decline email is sent when the subscription enters suspended period without going through grace period.", - "Session level test code that indicates that user was eligible for ad linking recommendation.", - "Session level test code that indicates that a user was served an editorial FCC (Flexible Content Cluster).", - "Session level test code for tracking fresh results seeking within the current year search queries.", - "Event level test code for when we filtered \u003e=1 apps due to tq failure.", - "Session level test code for Editorial Content/Articles in SERP (FHR)", - "Session level test code for apps with different quality score in different language at filter.", - "Session level test code for Experimental TG Query.", - "Session level test code for nav card with high quality canonical mdp app.", - "Session level test code for nav card with polaris Gold/Silver title mdp app.", - "Session level test code that indicates the decline reason is populated to payment decline email.", - "Session level test code for Quest Content Card launch on Deals Home, for tracking users who made eligible purchases and are eligible for the QCC.", - "For low quality deep link details page. go/low-quality-deep-link-details-page Whether the details page comes from a deep link and its app is low quality.", - "Whether the collapsed details page expands.", - "", - "Server-side counter part of low quality deep link details page session.", - "The following are used by the server side.", - "", - "", - "", - "", - "", - "Session level test code for query dependent snippet.", - "Session level test code for Fop Steering Promotion with initial billing profile.", - "Session level test code for Fop Steering Promotion displayed in cart with add fop action.", - "Session level test code for Fop Steering Promotion displayed in cart with change fop action.", - "Session level test code for Fop Steering Promotion displayed in cart with apply promotion action.", - "Session level test code for cluster, p13n ranking.", - "Session level test code for query dependent snippet. It is logged when the front end shows at least 1 query dependent snippet.", - "Session level test code that indicates that at least one high churn fop options is available for user when visiting add fop page for subscription purchase. Deprecated, use 10779 instead.", - "", - "", - "", - "Test code to be applied for all fopless users with DCB, e-wallet or store value during purchase flow.", - "Session level test code for quality modulated MDP. It is logged when the front end receives a MDP without quality information.", - "Session level test code for quality modulated MDP. It is logged when the front end receives a MDP with high quality.", - "Session level test code for quality modulated MDP. It is logged when the front end receives a MDP with medium quality.", - "Session level test code for quality modulated MDP. It is logged when the front end receives a MDP with low quality.", - "Session level test code for headroom experiment. It is logged when MDP is triggered and the search is categorized as game seeking.", - "Session level test code for rfy cluster which is displayed above general query pagination for queries which are game seeking.", - "", - "Session level test code that indicates the related query cluster is supposed to be displayed at the manual pagination location.", - "Besides (10794), the query is also game seeking.", - "Session level test code that marks eligibility of inline payment add. Eligibility bucketed based on payment method types.", - "", - "", - "", - "Session level test codes for Now! content coverage metrics. Any Now! content on Apps Home.", - "", - "", - "", - "", - "Any Now! content on Games Home.", - "", - "", - "", - "", - "New release Now! content on Apps Home.", - "", - "", - "", - "New release Now! content on Games Home.", - "", - "", - "", - "Editorial Now! content on Apps Home.", - "", - "", - "", - "Editorial Now! content on Games Home.", - "", - "", - "", - "Live Ops Now! content on Apps Home.", - "", - "", - "", - "Live Ops Now! content on Games Home.", - "", - "", - "", - "Pre-registration now! content on Apps Home.", - "", - "", - "", - "Pre-registration now! content on Games Home.", - "", - "", - "", - "Weekly Reward Now! content on Apps Home.", - "", - "", - "", - "Weekly Reward Now! content on Games Home.", - "", - "", - "", - "Quest Now! content on Games Home.", - "", - "", - "", - "Session level test codes for top of page Now! content coverage metrics. Any Now! content on Top of Apps Home.", - "", - "", - "", - "", - "Any Now! content on Top of Games Home.", - "", - "", - "", - "", - "New release Now! content on Top of Apps Home.", - "", - "", - "", - "New release Now! content on Top of Games Home.", - "", - "", - "", - "Editorial Now! content on Top of Apps Home.", - "", - "", - "", - "Editorial Now! content on Top of Games Home.", - "", - "", - "", - "Live Ops Now! content on Top of Apps Home.", - "", - "", - "", - "Live Ops Now! content on Top of Games Home.", - "", - "", - "", - "Pre-registration now! content on Top of Apps Home.", - "", - "", - "", - "Pre-registration now! content on Top of Games Home.", - "", - "", - "", - "Merch featuring Now! content on Top of Apps Home.", - "", - "", - "Merch featuring Now! content on Top of Games Home.", - "", - "", - "Weekly Reward Now! content on Top of Apps Home.", - "", - "", - "", - "Weekly Reward Now! content on Top of Games Home.", - "", - "", - "", - "Quest Now! content on Top of Games Home.", - "", - "", - "", - "Session level test codes for Now! Home content coverage metrics. Any Now! content on NOW! Home.", - "", - "", - "", - "", - "New release Now! content on NOW! Home.", - "", - "", - "", - "Editorial Now! content on NOW! Home.", - "", - "", - "", - "Live Ops Now! content on NOW! Home.", - "", - "", - "", - "Pre-registration Now! content on NOW! Home.", - "", - "", - "", - "Session level test codes for Now! Cluster content coverage metrics on Now! Home Any Now! cluster content on Now! Home", - "", - "", - "", - "", - "New release Now! content on NOW! Home.", - "", - "", - "", - "Editorial Now! content on NOW! Home.", - "", - "", - "", - "Live Ops Now! content on NOW! Home.", - "", - "", - "", - "Pre-registration Now! content on NOW! Home.", - "", - "", - "", - "Session level test code for Featured Products LiveOps.", - "", - "Client-side session level test code for Featured Products LiveOps.", - "Client-side session-level test code for buyflow auth recovery.", - "Session-level test code for Supplemental TG Retrieval.", - "Session level test code for First Party Promotional Offers.", - "TestCode for slicing the users cohorts that should have received a budget Warning alert", - "TestCode for Broad Intent Reweighting Session Level.", - "TestCode for Dynasty Device Handoff Session Level.", - "Session level test code for dev success cluster.", - "", - "", - "Session level test code for merch run planogram experiment", - "TestCode for Broad Intent Games TimeSpent Session Level.", - "Session level test code for eligible users for manage in-app details", - "Session level test code for users are eligible for ACC", - "Session level test code for users are eligible for acquisition ACC", - "Session level test code for users are eligible for reengagement ACC", - "MDP P13N", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Second pass polaris reranking session level.", - "Second pass polaris with ranking change session level.", - "Session level test code for reading progress tooltip.", - "Session level test code for Nav search d2d embedding boost.", - "Session level test code for orders that don’t have a backup fop.", - "Test code for second pass broad intent query session level.", - "Test code for second pass reweighting triggered session level.", - "Test code for Books search queries that trigger Dora categorical search.", - "Session level test code containing result of tQuality lookup during market details url matching. Unknown means the lookup found nothing.", - "Session-level test code that indicates a user was served an Apps Launcher Cluster.", - "Session level test code when Short Description is populated in Superroot.", - "Session level test code when Short Description fetched in PGSS is different from that fetched in Superroot.", - "Session level test code for queries from phone device with wear filter", - "Session level test code for queries from wear device", - "Session level test code for all queries using wear aq", - "Session-level test code indicating that the user was served a Nav Ad with a app or game that is the same as the MDP on stream.", - "Session-level test code indicating that the user was served a Nav Ad with an app or game that differs from the MDP on stream.", - "Session-level test code indicating that the user was not served a Nav Ad.", - "Session-level test code for Payment Tos.", - "Session level test code that indicates a user's search query qualifies them to see third party content in Websky search stream.", - "Session-level test code for shortening Phonesky commerce cache TTL.", - "Session level test code for skip check mark screen for backup flow.", - "Session level test code for one click backup fop.", - "Session-level test code related to Google Kids Space PRS processor, indicating whether that the user had the required user features for ranking model.", - "", - "Session level test code that indicates second pass quality reweigthing is triggered.", - "Session level test code that indicates second pass quality reweigthing is triggered.", - "Unack Warning Message session-level test code. Design: go/unack-warning-message-on-dp-dd", - "Session level test code that indicates this user is eligible to be shown form factor filters on top charts.", - "Session level test code that indicates package name search is triggered. This test code is only added when - Package name search is triggered AND - The organic response didn't place the package name app at the top.", - "Session level test code that indicates if a user would get an email if the pending acknowledgement email experiment was enabled.", - "Session level test code that indicates if a user would get a notification if the pending acknowledgement notification experiment was enabled.", - "Session level test codes for go/zero-copy", - "", - "", - "Session level test code that indicates if the user has issued a books search query that triggers ebook or audiobook series search.", - "", - "", - "Session level test code for high device tier.", - "Session level test code for med device tier.", - "Session level test code for low device tier.", - "Session level test code for UNKNOWN query type.", - "Session level test code for CATEGORICAL query type.", - "Session level test code for NAVIGATIONAL query type.", - "Session level test code for MULTI_NAVIGATIONAL query type.", - "Session level test code for NAVIGATIONAL_EXT query type.", - "Session level test code for 0 high quality result after modular ranking.", - "Session level test code for 1-2 high quality results after modular ranking.", - "Session level test code for 3 or more high quality results after modular ranking.", - "Session level test code when top result is high quality after modular ranking.", - "Session level test code for 0 high relevance result after modular ranking.", - "Session level test code for 1-2 high relevance results after modular ranking.", - "Session level test code for 3 or more high relevance results after modular ranking.", - "Session level test code when top result is high relevance after modular ranking.", - "Session level test code for 0 high quality result after Twiddlers.", - "Session level test code for 1-2 high quality results after Twiddlers.", - "Session level test code for 3 or more high quality results after Twiddlers.", - "Session level test code when top result is high quality after modular ranking.", - "Session level test code for 0 high relevance result after Twiddlers.", - "Session level test code for 1-2 high relevance results after Twiddlers.", - "Session level test code for 3 or more high relevance results after Twiddlers.", - "Session level test code when top result is high relevance after Twiddlers.", - "Session level test code for RAM between 0GB and 1GB.", - "Session level test code for RAM between 1GB and 2GB.", - "Session level test code for RAM between 2GB and 3GB.", - "Session level test code for RAM between 3GB and 4GB.", - "Session level test code for RAM between 4GB and 6GB.", - "Session level test code for RAM between 6GB and more.", - "Session level test codes for FOP Ordering (swapping the default FOP)", - "", - "", - "", - "", - "Session level test code for DMA PreConsent Interstitial experiment. go/playpreconsent", - "", - "", - "Session level test codes for Books Loyalty promo banner experiments.", - "", - "", - "", - "Session level test codes for logging MDP with LiveOps shown to users who have installed the app on SERP.", - "Session level test codes for logging MDP with LiveOps shown to users who have never installed the app on SERP.", - "Low storage at install preprocessing stage.", - "Session-level test code for DSA p13n opt in.", - "Session-level test code for DSA p13n opt out.", - "Session level test code for Language Switcher indicating that the user was served with the module on cart screen.", - "Session level test code that indicates the stored value balance is insufficient for next renewal.", - "Session-level test code corresponding to com.google.play.consent.proto.Setting.SETTING_UNSPECIFIED.", - "", - "Session-level test code corresponding to com.google.play.consent.proto.Setting.SETTING_ON.", - "", - "Session-level test code corresponding to com.google.play.consent.proto.Setting.SETTING_OFF.", - "", - "Session-level test code corresponding to an MDP showing for a game also available on Battlestar.", - "Session-level test code corresponding to the details page ribbon showing a pseudo credit offer promotion for Battlestar games.", - "Session-level test code tracking the Battlestar bottomsheet automatically loading on a participating editorial page (FCP).", - "Session-level test code for FCP containing an FHR capable of invoking the Battlestar bottomsheet.", - "Session-level test code for when an FCP is accessed via clicking a Phonesky FCC programmed by Merch without any experimental features.", - "Session-level test code for review highlights", - "Session level test code for users who receive a Books notification.", - "Session level test code indicating that the user is eligible for language switcher on cart screen.", - "Session level test code for traking the users who did see subs offer on buyflow. This is a Commerce client level test code.", - "Session level test code for traking the users who are eligible to subs offer on buyflow. This is a P3 server level test code.", - "Session level test code for traking the users who did see subs offer on buyflow on PRS exploration launch. This is a Commerce client level test code.", - "Session level test code for traking the users who are eligible to subs offer on buyflowon PRS exploration launch. This is a P3 server level test code.", - "Session-level test code to track triggering of VPN Intent trusted vertical message.", - "Session-level test code to track triggering of LOAN Intent trusted vertical message.", - "Session level test code for FOP Partner Promo.", - "Session-level test code to track triggering of SERP YouTube video cluster.", - "Session-level test code to track triggering of lowQ apps demotion.", - "Session level test code for merch run planogram experiment for extra featuring of hit2 dynasty in TW.", - "Session-level test code indicating that there is some Fop eligible for amplification. Amplification may or may not be visible to the user if some experiment flags are disabled.", - "Session-level test code indicating that there is some Fop eligible for amplification with an offer. Amplification may or may not be visible to the user if some experiment flags are disabled.", - "Test code for MDP query session level.", - "Test code for non MDP query session level.", - "Test code for nav card at session level.", - "Session level test code indicating that user starts the purchase with a cart that has broken existing form of payment.", - "Session level test code for users who are eligible for dynamic auth.", - "Session level test code for carts that are eligible for dynamic auth regardless of our auth decision.", - "Session level test code for users who click install in the details page for the post-install redirection experiment.", - "", - "", - "Session level test code that indicates the user is eligible for an abandonment screen for a form of payment to be amplified.", - "Session level test code for subscription with free trial offer highlight buyflow.", - "Session level test code for subscription with intro price offer highlight buyflow.", - "Session level test code for users who are eligible to get a renewal reminder.", - "Session level test code for users who are not eligible to get a renewal reminder.", - "Session level test code for users who chose to set a renewal reminder.", - "Session-level test code for user-review highlights summary clicks.", - "Session level test code for tagging o2 cards migration. Test code for tagging control arm, 50625421.", - "Test code for tagging treatment arm, 50662743.", - "Session-level test code corresponding to the self share bottom sheet appearing for Battlestar games.", - "Session-level test code for replacing onboarding simple collection with FCP. This is the second pass at this experiment but the first that will be using testcodes. Experiment doc: http://shortn/_gaPqTWPfuI.", - "Session-level test code for Supplemental TG Annotation for wear apps seeking or queries from wear.", - "Session-level test code to slice when ruc_rate (conversion_rate * rrpi) \u003e 0.8 for non-mdp search traffic", - "Session-level test code for a third-party review.", - "Session-level test code for Game Hub Developer Video cluster.", - "Session-level test code corresponding to game-centric email icon assets appearing in the bottom sheet for a selected list of Battlestar games.", - "Session-level for showing subscription benefits in cart abandonment. Deprecated. Use CART_ABANDONMENT_SUBSCRIPTION_BENEFITS_SESSION_LEVEL_V2", - "Session-level test code for Game Hub Developer Video cluster eligibility.", - "Session-level for showing 1P LiveOps subscription offer.", - "Session-level test code for Subscription Payment Decline Reminder.", - "Session-level test code for Cart Abandonment Reminder.", - "", - "", - "", - "Session-level test code for OfferSwitchData in CreateCarts", - "Session-level test code for Books legacy clients that request both ebook and audiobook format clusters from the Books Read PSS response.", - "Session-level test code for legacy clients that request header placeholder clusters from the Read Now PSS response.", - "Session-level test code for 1P fcc categorical search offers.", - "Session-level test code for Merch Nomads CN Exp Cluster targeting check.", - "Session-level test code for Merch Nomads CN Prod Cluster targeting check.", - "Session-level test code for Multi-Column Apps Home experiments.", - "Session-level test code for Multi-Column Apps Home experiments.", - "Session-level test code for card tranction with pending user action.", - "", - "", - "", - "", - "", - "Session-level test codes for Play search spam-query low quality app demotion experiments.", - "", - "", - "", - "Session level test code for FCC Quest experiment client side tracking. See go/qcc-to-fcc-migration-client.", - "Session-level test code marking sessions where users see the add new fop option screen during purchase flow. This will be used for ranking of add fop options experiments.", - "", - "Session-level test code for when an app is eligible to have its video and description displayed in the Play Pass superhero cluster.", - "", - "Session-level test code for SKU Recommendation in Cart Abandonment.", - "Session-level test code for Battlestar signup email with game centric personalization.", - "Session-level test code for preregistration release notification click triggering purchase flow.", - "Session-level test code for the presence of customer update challenge.", - "Session-level test code for displaying sub-entitlement benefits on websky.", - "Session-level test code for displaying the Battlestar signup bottomsheet more prominently while loading.", - "Session-level test code for making the Battlestar Games Details Page ribbon only invoke the bottomsheet when the CTA text is clicked.", - "Session-level test code for accounts opening Store first time on device.", - "Session-level test code to identify the users who start the Play everboarding flow.", - "Session-level test code to identify the users go pass the post-snooze check during an everboarding flow.", - "Session-level test code to identify the users who are eligible to be shown the everboarding flow, e.g. passed snooze check, need to add purchase auth or fop etc.", - "Session-level test code to identify the users who need to add purchase auth but do not need anything else that we check for everboarding.", - "Session-level test code to identify the users who has biometric auth enrolled to the device and need to add purchase auth but do not need anything else that we check for everboarding.", - "Session-level test code to identify the users who need to add a fop but do not need anything else that we check for everboarding.", - "User-level test code to identify the users who need to add a purchase auth and a fop.", - "Session-level test code for Because You Played experiments.", - "Session-level test code for Because You Played experiments.", - "Session-level test code for loyalty weekly rewards ICC format in Now! home.", - "Session-level test code for multiline addon title.", - "Session-level test code for Paytm wallet failures.", - "Session-level for showing subscription benefits in cart abandonment.", - "Session_level test code for multiline basic restore enabled.", - "Session level test code for Spotify entitlement benefit holdback.", - "Session-level test code thst indicates decline message is popluated in subscenter.", - "Session level test code for Save For Later cart abandonment screen.", - "Test codes for form factor details page. See go/play-xff-dp-serving.", - "Session-level test code for generating cart abandonment notification candidates. Deprecated. Use CART_ABANDONMENT_NOTIFICATION_SESSION_LEVEL_V2.", - "Session-level test code for cart abandonment notification impressions.", - "Session-level test code for xff TV-only suggestion impressed.", - "", - "Session-level test code for better decline recovery cta eligibility.", - "Session-level test code for next ranked FOP suggestion eligibility.", - "Session-level test code for allowing renewal with no instrument.", - "Session-level test code for M\u0026E in MDP.", - "Session-level test code for kid reader session for an ebook volume and device locale that support reading practice.", - "Impression Cap Session Level Test Code.", - "Session-level test code for tracking rating-aligned ReviewSamples.", - "Session-level test code for the App Q\u0026A Guide.", - "Session-level test code for EaaS 3P LiveOps Event.", - "Session-level test code for Books recommendations requests by users who have star-rating and/or wishlist usage. PSS version.", - "Session-level test code for Books recommendations requests by users who have star-rating and/or wishlist usage. PGSS version.", - "Session-level test code for Polaris cross sell cluster Event.", - "Session Level test code for dynamic cancel flow counterfactual.", - "Session Level test code for dynamic cancel flow experience.", - "Session level test code that indicates if the user has issued a books search query for which QRewrite returns series interpretation.", - "", - "", - "", - "", - "", - "", - "Session level test code that indicates if the SKU that a user saw qualified for the \"Top selling\" Social Proof message.", - "Session level test code that indicates if the SKU that a user saw qualified for the \"Best selling\" Social Proof message.", - "Session level test code that indicates if the SKU that a user saw qualified for the \"Popular\" Social Proof message.", - "Session level test code that indicates if the SKU that a user saw qualified for the \"Trending\" Social Proof message.", - "Session level test code that indicates if the SKU that a user saw qualified for the \"X sold last week\" Social Proof message.", - "Session level test code that indicates if the SKU that a user saw qualified for the \"X people bought multiple\" Social Proof message.", - "Session level test code that indicates if the SKU that a user saw qualified for the low-tier \"X people bought multiple\" Social Proof message.", - "Session level test code that indicates if the SKU that a user saw qualified for the mid-tier \"X people bought multiple\" Social Proof message.", - "Session level test code that indicates if the SKU that a user saw qualified for the high-tier \"X people bought multiple\" Social Proof message.", - "Session-level test code for Details Game Hub Stream.", - "Session-level test code for Details Game Hub Developer Videos Cluster.", - "Session-level test code for Details Game Hub Editorial Content Cluster.", - "Session-level test code for Details Game Hub Live Ops Cluster.", - "Session-level test code for Details Game Hub Points Spend Promotion Cluster.", - "Session-level test code for Details Game Hub Questions and Answers Module.", - "Session level test code for loyalty weekly rewards FCC format on Now! Carousel.", - "Session-level test code for Details Game Hub eligibility.", - "Session-level test code for category highlight UI feature on SERP.", - "Session-level test code for category highlight UI feature on DP.", - "Session level test code for orders that have entitlement benefits in decline email.", - "Session-level test code for review highlight UI feature on SERP.", - "Session-level test code for review highlight UI feature on DP.", - "Session level test code for GetRecs requests that return a justified cluster.", - "Session level test code for user interest picker submission click.", - "Session-level test code for review highlight click on DP.", - "Session-level test code tagging users whose initial device orientation is landscape when they are about to enter the purchase flow.", - "Session level test code for a books series commerce page visit.", - "Session-level test code for review highlight click on SERP.", - "Test codes for form factor details page. See go/play-xff-dp-serving.", - "Session-level test code for form factor wear subpage.", - "Session-level test code tagging users who saw the default campaign details page.", - "Session-level test code for contextual add fop feature where the payment schedule module is added on the instant fop screen.", - "Test codes for similar watch face on details page. See go/similar_wfs_on_dp.", - "Test code for app subscription cart abandonment offer", - "Test code for Play Pass subscription cart abandonment offer", - "Session-level test code for timeworthy App and Game seeking query.", - "Session-level test code tagging users who saw the corpus wide campaign details pages, including default CDP and stamp card DP.", - "Session-level test code for nav ads image format eligibility", - "Session-level test code for nav ads image format eligibility", - "Session-level test code for Subscribe \u0026 Install migration go/subscribe-install-migration-design.", - "Session-level test code for Subscribe More Save More offers. go/subscribe-more-save-more-experiment", - "Session-level test code for search-term-targeted custom store listing experiments. See go/search-term-csl-serving.", - "Session-level test code for apps launcher cluster experiment client side tracking. See go/horizontal-game-library-experiment.", - "Session-level test code that indicates an Apps Launcher Cluster candidate was generated on the server side. To be used for comparing the counterfactual and treatment arms.", - "Session-level test code for Battlestar Programmatic FCC go/bstar-game-fcc", - "Session level test code for FOP Partner Promo, logged in PlayDough.", - "Session level test code for Top Developer Boost V4.", - "Session-level test code for Game Seeking query (2nd Pass).", - "Session-level test code for Timeworthy App Seeking query (2nd Pass).", - "Session-level test code for when Time Spent 2.0 V3 is triggered for non-MDP query.", - "Session-level test code for when Time Spent 2.0 V3 is triggered for MDP query.", - "Session-level test code for when currency conversion is required for a disabled cart.", - "", - "Cart abandonment flow for purchase flow.", - "User saw/would have seen the in app products section in App", - "Details Page. User saw/would have seen the details page promotion in Books", - "Suer saw/should have seem promotion for Burnsie(Prompt for", - "non details page in App Details Page. User saw/would have seen the promotion that was redeemd from", - "non details page in Books Details Page. User saw/would have seen the 10% off swoop campaign.", - "go/subs-swoop-experiment User saw/would have seen the 25% off swoop campaign.", - "go/subs-swoop-experiment User saw/would have seen the 50% off swoop campaign.", - "go/subs-swoop-experiment User saw/would have seen the 75% off swoop campaign.", - "User saw/would have seen the \"wave 2\" purchasable", - "available to the app for the current user. It helps us to slice metrics for the S\u0026I UDPR migration (a client change). Context: https://screenshot.googleplex.com/APAqqLFYpXjfmWQ. User is eligible for some campaign, and passes surface", - "DEPRECATED. Use campaign-specific test codes (20034-20036).", - "User saw/would have seen the promotion that was redeemd from", - "non details page in App Details Page. User saw/would have seen the details page in-app item", - "promotion for Lapsed Buyers in App Details Page.", - "", - "", - "", - "", - "Subscription cancellation flow for purchase flow per user.", - "Subscription update fop flow at signup when the primary fop", - "is dcb. Subscription update fop flow when the primary fop is dcb.", - "Subscription retry fop flow when the primary fop is dcb.", - "", - "", - "", - "User level test code for Details Page Global Holdback.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Test codes for in-app offers at user level.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "User saw/would have seen the subscription one time pass offer", - "", - "", - "", - "", - "Test codes for the feature and each early-access partners for the Play Store IAP sales project. go/play-store-iap-sales-dd", - "", - "IAP Sales MDP user-level test code. Design: go/play-store-iap-sales-integration-dd", - "", - "Test code for when a user was eligible for visual preview while in motion. E.g. received a notification and had visual preview setting enabled.", - "", - "", - "", - "Test code logged on client side for users who see the Play Pass signup interstitial.", - "Test codes for seeing the effects of disabling topup in select countries.", - "", - "User saw/would have seen the 10% off swoop campaign.", - "http://shortn/_L6kJNPGsS0 User saw/would have seen the 25% off swoop campaign.", - "http://shortn/_L6kJNPGsS0 User saw/would have seen the 50% off swoop campaign.", - "http://shortn/_L6kJNPGsS0 User saw/would have seen the 75% off swoop campaign.", - "", - "", - "", - "", - "Test code for tracking the new subscription document format in GetSkuDetails, Acquire and SubscriptionDocumentsFetcher flows", - "", - "", - "", - "", - "", - "", - "Test code for tracking banner eligible users who are shown the cart.", - "Test code for tracking users shown Play Pass perks icon in cart.", - "Test code for tracking users who see a Play Pass parent-focused splash page.", - "", - "", - "", - "Test code GE ranker service unknown users.", - "Test code GE ranker service never users.", - "Test code GE ranker service new users.", - "Test code GE ranker service churn users.", - "Test code GE ranker service repeat users.", - "Test code GE ranker service unknown user value segment.", - "Test code GE ranker service low user value segment.", - "Test code GE ranker service medium user value segment.", - "Test code GE ranker service high user value segment.", - "Test code GE ranker service never user value segment.", - "Test code GE points booster model launch.", - "Test code GE multiplier model exploration due to all negative predicted gains.", - "Test codes for GE surfaces.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Test codes for GE DSA opt-in users.", - "Test code for the loyalty purchase quest I15n experiment", - "Test code for the P3-GE Post Purchase Offer integration / i15n experiment", - "User level test code for tracking users who should see the IAP Sku Deals liveops card.", - "User level test code for tracking users who should see the IAP Sku Games Home liveops card.", - "User level test code for tracking users who should see the featuring AHC or FHR.", - "User level test code for tracking users who have p13n interstitials impressions.", - "User-level test code logged when PRS returns a survey RecsList.", - "User level test code logged when the Dev Offer EAP campaign is about to be returned.", - "User level test code for tracking users who have p13n Notifications candidates.", - "User level test code for Growth Coffee Card Phase 1 launch, for tracking users who made eligible purchases and are eligible for the GCC in purchase flow.", - "User level test code for Growth Coffee Card, for tracking users who made eligible purchases and are eligible for the GCC in purchase flow. This test code is logged on server side.", - "User level test code for Corpus Wide Growth Stamp Card, for tracking users who made eligible purchases and are eligible for the GSC in purchase flow. This test code is logged on client side.", - "User level test code for Corpus Wide Growth Stamp Card, for tracking users who made eligible purchases and are eligible for the GSC in purchase flow. This test code is logged on server side.", - "User level test code for Corpus Wide Growth Stamp Card, for tracking users who are eligible for the GSC in Games Home. This test code is logged on client side.", - "User level test code for Loyalty Purchase Quest, for tracking users who are eligible for the LPQ in Games Home. This test code is logged on client side.", - "User level test code for Corpus Wide Loyalty Stamp Card, for tracking users who are eligible for the LSC in Games Home. This test code is logged on client side.", - "User level test code for Corpus Wide Growth Stamp Card, for tracking users who are eligible for the GSC in Games Home. This test code is logged on server side.", - "User level test code for Loyalty Purchase Quest, for tracking users who are eligible for the LPQ in Games Home. This test code is logged on server side.", - "User level test code for Loyalty Purchase Quest, for tracking users who are eligible for the LPQ in SERP. This test code is logged on server side.", - "User level test code for Corpus Wide Loyalty Stamp Card, for tracking users who are eligible for the LSC in Games Home. This test code is logged on server side.", - "User level test code for Corpus Wide Loyalty Stamp Card, for tracking users who are eligible for the LSC in Apps Details Page. This test code is logged on server side.", - "User level test code for Subscription Engagement Quest on Loyalty home. The test code is logged on PGSS server side. go/subs-engagement-quest-demo", - "User level test code for Subscription Engagement Quest on Loyalty home. The test code is logged on Quest Platform server side. go/subs-engagement-quest-demo", - "User level test code for Subscription Engagement Quest on notification. The test code is logged on Quest Platform server side. go/subs-engagement-quest-demo", - "User level test code that indicates that at least one high churn fop options is available for user when visiting add fop page for subscription purchase. Deprecated, use 20361 instead.", - "", - "", - "", - "Test code to be applied for all fopless users with DCB, e-wallet or store value during purchase flow.", - "User level test code logged when the wide media card has invalid video asset in the asset agnostic 3x experiment.", - "User level test code that indicates a user's search query qualifies them to see third party content in Websky search stream.", - "User level test code that indicates that a user was served an editorial FCC (Flexible Content Cluster).", - "User level test code for Quest Content Card launch on Deals Home, for tracking users who made eligible purchases and are eligible for the QCC.", - "", - "", - "", - "", - "User level test code for Fop Steering Promotion in all user journeys; Users are tagged on unredeemed fop steering promotion impression.", - "User level test code for Fop Steering Promotion in CUJ 1~3; excluding CUJ4. Users are tagged on unredeemed fop steering promotion impression.", - "User level test code that indicates if a user would get an email if the pending acknowledgement email experiment was enabled.", - "User level test code that indicates if a user would get a notification if the pending acknowledgement notification experiment was enabled.", - "User level test code for Quest Platform Loyalty Stamp Card in Purchase flow.", - "User level test code for users who have made any monetization behavior(sub, iap) before (controlled by fsUlyssesBuyerState), used for AH/GH monetization experiments.", - "User level test code for users who have made any monetization behavior(sub, iap) for the last 180 days (controlled by ULYSSES_OOP_SPEND_PER_PURCHASE_180D), used for AH/GH monetization experiments.", - "User level test code for users who have any purchase card abandon behavior in the last 28 day (controlled by LAST_28D_CART_ABANDONMENT_BACKEND), used for AH/GH monetization experiments.", - "User level test code for users who have any purchase card abandon behavior in the last 7 day (controlled by LAST_7D_CART_ABANDONMENT_BACKEND), used for AH/GH monetization experiments.", - "User level test code for link biometrics before snooze.", - "User level test code for link biometrics before mutable_conditions.", - "User level test code for link biometrics before mutable_conditions for arm 2.", - "User level test code for link biometrics before mutable_conditions for arm 2a.", - "User level test code for link biometrics before mutable_conditions for arm 3.", - "User level test code for link biometrics before mutable_conditions for arm 3a.", - "User level test code for link biometrics before mutable_conditions for arm 2 and counterfactual arm 2.", - "User level test code for link biometrics before mutable_conditions for arm 2a and counterfactual arm 2a.", - "User level test code for link biometrics before mutable_conditions for arm 3 and counterfactual arm 3.", - "User level test code for link biometrics before mutable_conditions for arm 3a and counterfactual arm 3a.", - "User level test code for link biometrics before mutable_conditions for arm 2a and counterfactual arm 2a.", - "User level test code for link biometrics before mutable_conditions for arm 3a and counterfactual arm 3a.", - "User level test code for link biometrics before mutable_conditions for arm 3 and counterfactual arm 3.", - "User level test code for link biometrics before mutable_conditions for arm 3a and counterfactual arm 3a.", - "User level test code for post success add backup flow.", - "User level test code for skipping ckechmark screen with backup flow.", - "User level test code for users who are eligible for one-click backup fop.", - "Test code for Loyalty Stamp Card, for tracking users who made eligible purchases and are eligible for the LSC in purchase flow.", - "User level test code for eligible users for manage in-app details", - "User level test code for Play Onboarding quest, tracking users who are eligible for Play Onboarding quest in Games Home", - "User level test code for users who have been served GPP onboarding quest.", - "User level test code for Play Onboarding quest, tracking users who are eligible for Play Onboarding quest in Games Home. This test code is logged on the server side.", - "User level test code for tracking users who are being shown PersistentCartHeader through purchase flow. This test code is logged on the server side.", - "User level test code for Merch user journey experiment. This test code is logged on the Growth Engine server side.", - "User level test code for slicing different cohorts for Merch user journey experiments. This test code is logged on the Growth Engine server side. Testcode for cohort id 69660.", - "Testcode for cohort id 69659.", - "Testcode for cohort id 67267.", - "Testcode for cohort id 67268.", - "Testcode for cohort id 70703.", - "Testcode for cohort id 70704.", - "Testcode for cohort id 69661.", - "Testcode for cohort id 69662.", - "Testcode for cohort id 70706.", - "Testcode for cohort id 70708.", - "Testcode for cohort id 69738.", - "Testcode for cohort id 76050.", - "Testcode for cohort id 76051.", - "Testcode for cohort id 75562.", - "Testcode for cohort id 75563.", - "User level test code for Non-Play Growth Events experiment (go/npge-prd). Logged on the server side and applied to users that visit Loyalty Home and are eligible to receive a quest with Play Games Achievement tasks, regardless of whether the quest was shown or held back.", - "User level test code for reading progress tooltip.", - "User level test code for tracking users who should see the IAP Sku Games Home liveops card.", - "Post purchase offer test codes User level test code to track the user who sees the post purcahse offer redemption dialog for post purchase offer experiment.", - "User level test code to track the user who sees the post purcahse offer saved dialog for post purchase offer experiment.", - "User level test code to track the user who sees the value promotion dialog, including loyalty upsell, post purcahse offer and so on for post purchase offer experiment.", - "MDP P13N reranking.", - "", - "", - "", - "", - "User level test code for Play Onboarding quest, tracking users who are eligible in any serving flow via Quest Platform.", - "User-level test code that indicates a user was served an Apps Launcher Cluster.", - "", - "User level test codes for pre-period user page visit frequency in past 28 days (v2).", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "User level test code for reinstall enablement. If user has any eligible reinstall passing the per user filtering logic, testcode will be logged. Note that the filtering logic are controlled by gcl flags. Ex. Play Games Home: http://shortn/_2aGCRQqToq. This test code only knows if any app passes the filtering but not which filtering params are applied.", - "User level test code for tagging users who have any app which is recommended by PRS and has reinstall eligibility when is_app_with_historical_oop_purchase restriction is turned on.", - "User-level test code for tagging users with previous OOP spend on games.", - "User-level test code for tagging users with previous OOP spend on applications.", - "User level test code for notification campaign gain filtering experiments. If GE decision changed after applying predicted revenue gain filtering on notification campaigns, log test code.", - "User level test code for notification campaign gain filtering experiments. If GE decision changed after disabling publicity gain in notification campaign benefit calculation, log test code.", - "Unack Warning Message user-level test code. Design: go/unack-warning-message-on-dp-dd", - "User-level test code for user who is eligible for adding Form of Payment from Purchase Readiness Reminder.", - "User-level test code for user who is eligible for adding Auth Settings from Purchase Readiness Reminder.", - "User-level test code for user who is eligible for adding Form of Payment and then adding Auth Settings from Purchase Readiness Reminder.", - "User level test code for Subscription Payment Decline Reminder.", - "", - "", - "", - "", - "User level test code for Cart Abandonment Reminder.", - "", - "", - "", - "", - "", - "User level test code for Contextual Add Fop feature where the payment schedule module is added on the instant fop screen.", - "User level test code for OfferSwitchData in CreateCarts", - "User level test code for 1P fcc categorical search offers.", - "User-level test code for running content experiments for merch curated clusters.", - "", - "", - "", - "User-level test codes for DMA PreConsent experiment. go/playpreconsent", - "", - "", - "User-level test code for DSA p13n opt in.", - "User-level test code for DSA p13n opt out.", - "User level test code for live-ops install notification experiments. If GE decision changed after enabling ranking using the notification install model prediction, log test code.", - "User-level test code corresponding to com.google.play.consent.proto.Setting.SETTING_UNSPECIFIED.", - "", - "User-level test code corresponding to com.google.play.consent.proto.Setting.SETTING_ON.", - "", - "User-level test code corresponding to com.google.play.consent.proto.Setting.SETTING_OFF.", - "", - "User level test code for cat search live ops cluster triggering.", - "User level test code for users who have received a Books notification.", - "User level test code for live-ops install notification Churn experiments. If GE decision changed after enabling ranking using the notification install model prediction for churned users, log test code.", - "User level test code for traking the users who did see subs offer on buyflow. This is a Commerce client level test code.", - "User level test code for traking the users who are eligible to subs offer on buyflow. This is a P3 server level test code.", - "User level test code for traking the users who did see subs offer on buyflow on PRS exploration launch. This is a Commerce client level test code.", - "User level test code for traking the users who are eligible to subs offer on buyflowon PRS exploration launch. This is a P3 server level test code.", - "User level test code for FCC Quest experiment client side tracking. See go/qcc-to-fcc-migration-client.", - "User level test code for FOP Partner Promo.", - "User level test code for users who have seen a Loyalty weekly prize banner.", - "User level test code for users who are eligible for dynamic auth.", - "User level test code for users with carts that are eligible for dynamic auth regardless of our auth decision.", - "User level test code for LiveOps pSpend uplift experiment. If GE campaign decision changed after enabling pSpend model, log test code.", - "User level test code for users who are eligible to see the renewal reminder button.", - "User level test code for Featured Products LiveOps.", - "", - "Client-side User level test code for Featured Products LiveOps.", - "User level test code for first party promotional offers.", - "User level test code for those users that are eligible for a targerted reward for an app. Test code will be logged in PGS. More info: go/growth-boosters-ptdr", - "", - "", - "", - "", - "", - "User-level test code for Game Hub Developer Video cluster.", - "User-level for showing subscription benefits in cart abandonment. Deprecated. CART_ABANDONMENT_SUBSCRIPTION_BENEFITS_USER_LEVEL_V2", - "User-level test code for Game Hub Developer Video cluster eligibility.", - "User-level for showing 1P LiveOps subscription offer.", - "User-level test code for LiveOp Subscription offer on Subs-Never users. This is a P3 server level test code. Deprecated. LIVE_OP_SUBSCRIPTION_OFFER_ON_SUBS_NEVER_USERS_USER_LEVEL_V2", - "User-level test code for LiveOp Subscription offer on Subs-Never users.", - "User-level test code for LiveOp Subscription offer on Never-Never users.", - "User-level test code for Merch Nomads CN Exp Cluster targeting check.", - "User-level test code for Merch Nomads CN Prod Cluster targeting check.", - "User level test code for GUM fine tuning model study in Notification surface, tracking users who actually get different experience between control and treatment.", - "User-level test code for users eligible for the Comics cluster on AH.", - "User-level test code for users with high Comics app usage (e.g. \u003e=15 in last 28d ays).", - "User-level test code for users with high Comics app usage (e.g. \u003e=10 in last 28d ays).", - "User-level test code for users who had Piccoma installed for the Comics Sampling Cluster Experiment.", - "User-level test code for users who had Manga One installed for the Comics Sampling Cluster Experiment.", - "User-level test code for users who had Magapoke installed for the Comics Sampling Cluster Experiment.", - "User-level test code for users who had Jump+ installed for the Comics Sampling Cluster Experiment.", - "User-level test code for users who had Line Manga installed for the Comics Sampling Cluster Experiment.", - "User-level test code for users who had any of the 5 manga apps listed above installed for the Comics Sampling Cluster Experiment.", - "User level test code for Redeem Save buyer offer study, tracking users who actually get different experience between control and treatment.", - "User-level test code marking users who have seen the add new fop option screen during purchase flow. This will be used for ranking of add fop options experiments.", - "", - "User-level test code for users who have seen the add new fop option screen during purchase flow. This is equivalent to above PURCHASE_ADD_FOP_OPTIONS_SCREEN_USER_LEVEL, but defined explicitly for Delegated Payment to prevent historical tagging dilution.", - "User level test code for SKU Recommendation in Cart Abandonment, currently used for popular after abandon candidates.", - "User level test code for SKU Recommendation in Cart Abandonment, specifically for lower-priced candidates.", - "User level test code for SKU Recommendation in Cart Abandonment, specifically for most popular candidates.", - "User level test code for stored value top-up email reminder.", - "User level test code for users who are eligible for one-click backup fop in fix flow", - "User level test code for displaying sub-entitlement benefits on websky.", - "User level test code for stored value top-up email reminder (V2).", - "User level test code for loyalty weekly rewards ICC format in Now! home.", - "User level test code for users who should have seen preregistration notification dialog.", - "User level test code for multiline addon title.", - "User level test code for unified SKU Recommendations. Used when user is eligible for any SKU Recommendation, currently either cart-abandonment or post-success upsell.", - "", - "", - "User level test code indicating that user starts the purchase with a cart that has broken existing form of payment.", - "", - "User level test code indicating that user has a broken FOP of any kind (expired, needs address validation, insufficient balance, etc).", - "User level test code indicating that user has a cart woth broken FOP of any kind (expired, needs address validation, insufficient balance, etc).", - "User-level for showing subscription benefits in cart abandonment.", - "User-level test code for users who see the decline message in subscenter.", - "User level test code for multiline basic restore enabled.", - "User level test code for Spotify entitlement benefit holdback.", - "User level test code for Save For Later cart abandonment screen.", - "User-level test code for generating cart abandonment notification candidates. Deprecated. Use CART_ABANDONMENT_NOTIFICATION_USER_LEVEL_V2.", - "User-level test code for cart abandonment notification impressions.", - "User-level test code to identify new accounts on device.", - "User-level test code to identify new accounts on device.", - "User-level test code to identify the users who start the Play everboarding flow.", - "User-level test code to identify the users go pass the post-snooze check during an everboarding flow.", - "User-level test code to identify the users who are eligible to be shown the everboarding flow, e.g. passed snooze check, need to add purchase auth or fop etc.", - "User-level test code to identify the users who need to add purchase auth but do not need anything else that we check for everboarding.", - "User-level test code to identify the users who has biometric auth enrolled to the device and need to add purchase auth but do not need anything else that we check for everboarding.", - "User-level test code to identify the users who need to add a fop but do not need anything else that we check for everboarding.", - "User-level test code to identify the users who need to add a purchase auth and a fop.", - "User-level test code for allowing renewal with no instrument.", - "User-level test code for M\u0026E in MDP.", - "User level test code to track users who saw the nudge screen when they faced a Paytm wallet failure. go/nudge-failed-paytm-wallets-dd.", - "User level test code for stored value top-up email reminder (V3).", - "User level test code for EaaS 3P LiveOps Event.", - "User Level test code for dynamic cancel counterfactual.", - "User Level test code for dynamic cancel flow experience.", - "User-level test code for Details Game Hub Stream.", - "User-level test code for Details Game Hub Developer Videos Cluster.", - "User-level test code for Details Game Hub Editorial Content Cluster.", - "User-level test code for Details Game Hub Live Ops Cluster.", - "User-level test code for Details Game Hub Points Spend Promotion Cluster.", - "User-level test code for Details Game Hub Questions and Answers Module.", - "User-level test code for Details Game Hub eligibility.", - "User-level test code for category highlight UI feature on SERP.", - "User-level test code for category highlight UI feature on DP.", - "User level test code for users that experience entitlement benefits in decline email.", - "User-level test code for review highlight UI feature on SERP.", - "User-level test code for review highlight UI feature on DP.", - "Test codes for form factor details page. See go/play-xff-dp-serving.", - "User-level test code for form factor wear subpage.", - "Test code for app subscription cart abandonment offer", - "Test code for Play Pass subscription cart abandonment offer", - "User level test code for Subscribe More Save More offers. go/solar-experiment-plan", - "User level test code for TopGun cohort id: 76766 (High Spend Gamers).", - "User level test code for TopGun cohort id: 76767 (Low Spend Gamers).", - "User level test code for TopGun cohort id: 77001 (High Value Gamers).", - "User level test code for TopGun cohort id: 77002 (Medium Value Gamers).", - "User level test code for TopGun cohort id: 77235 (Predicted High Value Gamers).", - "User level test code for TopGun cohort id: 77236 (Predicted Medium Value Gamers).", - "User level test code for HVG eligible for 2P videos.", - "User level test code for MVG eligible for 2P videos.", - "User level test code for pHVG eligible for 2P videos.", - "User level test code for pMVG eligible for 2P videos.", - "Test code for Game Spend State Active New.", - "Test code for Game Spend State Active Retained.", - "Test code for Game Spend State Active Resurrected.", - "Test code for Game Spend State Inactive Dormant.", - "Test code for Game Spend State Inactive Lapsed.", - "Test code for Game Spend State Inactive Churned.", - "Test code for Game Spend Tier High", - "Test code for Game Spend Tier Lower", - "Test code for Game Spend High Value Gamer", - "Test code for Game Spend Medium Value Gamer", - "Test code for Game Spend Low Value Gamer", - "User level test code for apps launcher cluster experiment client side tracking. See go/horizontal-game-library-experiment.", - "User-level test code that indicates an Apps Launcher Cluster candidate was generated on the server side. To be used for comparing the counterfactual and treatment arms.", - "User level test code for users who enter grace period of globo subs.", - "User level test code for users who enter account hold of globo subs.", - "User level test code for FOP Partner Promo, logged in PlayDough.", - "", - "User level test code for reinstall apps/games based on an allowlist. Users who see or are supposed to see reinstall from this allowlist in RFY clusters be associated with this test code.", - "User level test code for loyalty weekly rewards FCC format on Now! Carousel.", - "User level test code to identify users who have encountered auth failures during in-app billing flows.", - "User level test code for user interest picker submission click.", - "User level test code for a Books series commerce page visit.", - "User level test code for blocking subscription for payment profile closure.", - "User level test codes for Play Books Growth experiments.", - "", - "Test code Fcc cat search experiment, active buyer.", - "Test code Fcc cat search experiment, dormant buyer.", - "Test code Fcc cat search experiment, lapsed buyer.", - "Test code Fcc cat search experiment, churned buyer.", - "User level test codes for Super Weekly Prize Loyalty Engagement Program.", - "", - "User level test code for tracking whether GPP user is assigned to HIGHLY_SUSPICIOUS when evaluated by risk service.", - "User level test code for tracking whether GPP user is assigned to FRAUDULENT when evaluated by risk service.", - "User level test code for First Purchase Promotion LiveOps Promotion.", - "User level test code for First Purchase Promotion Notification Promotion.", - "User level test code tagging users who saw the corpus wide campaign details pages, including default CDP and stamp card DP.", - "User level test code tagging users who have an affinity to cricket apps. go/cricket-affinity-logging", - "User level test code tagging users who do not have an affinity to cricket apps. go/cricket-affinity-logging", - "User level test code for Subscribe \u0026 Install migration go/subscribe-install-migration-design.", - "User level test code for the MVP launch of IAP sales on Websky details page. go/support-iap-sales-on-websky-details-page.", - "User level test code for Zero Prefix Suggest Offers", - "Test code Fcc cat search experiment, active buyer.", - "Test code Fcc cat search experiment, dormant buyer.", - "Test code Fcc cat search experiment, lapsed buyer.", - "Test code Fcc cat search experiment, churned buyer.", - "Session level test code used to identify users who were shown the FCC short liveops cluster on an apps details page. Deprecated use DETAILS_PAGE_LIVE_OP_CLUSTER_SHOWN_SESSION_LEVEL instead.", - "Session level test code used to identify users who were eligible to view featured products liveops but were not shown the liveop in the FCC short liveops cluster on an apps details page.", - "Session level test code used to identify users who were shown featured products liveops in the FCC short liveops cluster on an apps details page.", - "Session level test code used to identify users who were shown the liveops cluster on an apps details page.", - "Session level test code used to identify users who were shown Play Pass free trial signup offer.", - "Session level test code used to identify users who were shown Play Pass paid signup offer.", - "Session level test code for Featured Products LiveOps metadata.", - "Session-level test code indicating that the user was served a video ad for basic video details page experiment.", - "Session-level test code indicating that the user was not served a video ad for basic video details page experiment.", - "Session-level test code for Zero Prefix Suggest Offers" - ], - "type": "string" - }, - "type": "array" - }, - "trustedGenomeHierarchy": { - "description": "The list of trusted genome hierarchy. One trusted_genome_hierarchy may contain one or multiple entities. This is required for TG 2.0 tags.", - "items": { - "$ref": "VendingConsumerProtoTrustedGenomeHierarchy" - }, - "type": "array" - } - }, - "type": "object" - }, - "VendingConsumerProtoTrustedGenomeEntity": { - "description": "Proto message containing the id, localized title, score, and hierarchy level of a trusted genome entity. Next ID: 12", - "id": "VendingConsumerProtoTrustedGenomeEntity", - "properties": { - "categoryId": { - "description": "The category id matching this trusted genome entity. e.g. Action tag with id /m/025zzc matches category of id GAME_ACTION", - "type": "string" - }, - "id": { - "description": "The identifier of a play trusted genome entity. Required.", - "type": "string" - }, - "isLocalized": { - "description": "Indicate whether the trusted genome entity has localized title.", - "type": "boolean" - }, - "level": { - "description": "The level of the entity. E.g. in hierarchy like Action -\u003e Platformer \u003e Endless Runner. Action is level 1, Platformer is level 2 and Endless Runner is level 3. Currently, only APP_TAXONOMY and GAME_TAXONOMY type may have the levels. For entity that does not have hierarchy, its level is 1. Required.", - "format": "int32", - "type": "integer" - }, - "predicateName": { - "description": "The name of the relation between the app and the entity. Required.", - "type": "string" - }, - "queryText": { - "description": "The localized query string for this trusted genome entity. This query will be used when we want to bring users to SERP on click.", - "type": "string" - }, - "recsTopicId": { - "description": "The corresponding recs topics created from the trusted genome entity if available.", - "items": { - "type": "string" - }, - "type": "array" - }, - "score": { - "description": "The confidence score of the entity to the app.", - "format": "float", - "type": "number" - }, - "title": { - "description": "The localized title. Required.", - "type": "string" - }, - "userVisible": { - "description": "This boolean is used to decide whether this entity will be shown on user-facing features in the Store or not.", - "type": "boolean" - } - }, - "type": "object" - }, - "VendingConsumerProtoTrustedGenomeHierarchy": { - "description": "Proto message containing one or multiple trusted genome entity. This is used to capture entities that belong to the same type and have parent-children relationship in the taxonomy. e.g. One hierarchy may include 3 entities with Game_Taxonomy Type: (1) Action (Level 1) (2) Platformer (Level 2 under Action) (3) Endless Runner (Level 3 under Platformer) e.g. One hierarchy may also include only 1 entity with Game_Graphic_Style: (1) Anime (No level information) Next ID: 5", - "id": "VendingConsumerProtoTrustedGenomeHierarchy", - "properties": { - "entity": { - "description": "List of entities (one or multiple) that belong in the same hierarchy. The entries will be ordered such that the first entry will be of level 1, and the second entry will be of level 2, and so on. Required", - "items": { - "$ref": "VendingConsumerProtoTrustedGenomeEntity" - }, - "type": "array" - }, - "hierarchyType": { - "description": "The (hierarchy-level) type of this Trusted Genome hierarchy. Will only be populated when meeting certain criteria, e.g. 'GD2_Game_Main' means this hierarchy of entities can serve as the main game genre for Game Discovery 2.0.", - "enum": [ - "UNKNOWN_HIERARCHY_TYPE", - "GD2_GAME_MAIN", - "GD2_GAME_SUB" - ], - "enumDescriptions": [ - "", - "Indicates this can be used as the main genre in Game Discovery 2.0 (GD2). See http://shortn/_3Aj6GDRdxM for more info.", - "Indicates this can be used as the sub genre in Game Discovery 2.0 (GD2). Specifically, sub genre tags are only limited to 'Casual' \u0026 'Arcade' and their children genres. See http://shortn/_3Aj6GDRdxM for more info." - ], - "type": "string" - }, - "source": { - "description": "The source of this Trusted Genome hierarchy.", - "enum": [ - "UNKNOWN_TRUSTED_GENOME_SOURCE", - "TRUSTED_GENOME_2", - "VALIDATED_DEVELOPER", - "DEVELOPER_PROVIDED" - ], - "enumDescriptions": [ - "", - "Source of truth for App KG annotations, a.k.a. TG2. See go/play-genome-g3doc for details.", - "If the categories provided by rater platform and developers are matched.", - "If there is no rater provided category or the categories provided by rater platform and developers are NOT matched." - ], - "type": "string" - }, - "trustedGenomeType": { - "description": "The (entity-level) type of trusted genome entities in this hierarchy. Required.", - "enum": [ - "UNKNOWN_ENTITY_TYPE", - "APP_TAXONOMY", - "APP_ATTRIBUTE", - "GAME_TAXONOMY", - "GAMEPLAY_ELEMENT", - "GAMEPLAY_MODE", - "GAME_GRAPHIC_STYLE", - "GAME_THEME_SETTING", - "GAME_CONNECTIVITY", - "GAME_DIMENSIONAL_PLANES", - "GAME_MONETIZATION", - "ACCESSIBLITY", - "ASSISTANT", - "CHROMEBOOK_COMPATIBILITY", - "GLOBAL_ATTRIBUTE", - "WEAR" - ], - "enumDescriptions": [ - "", - "============================= Apps =======================// Apps taxonomy. e.g. Air travel.", - "Apps attribute, it can be universal, e.g. VR, or it can be category specific, e.g. Beauty type makeup.", - "============================= Games =======================// Game taxonomy. e.g. Action.", - "Gameplay element. e.g. Arcade.", - "Gameplay mode. e.g. Single player", - "Game graphic stype. e.g. Anime", - "Game theme setting. e.g. Fantasy", - "Game connectivity. e.g. Offline", - "Game dimensional planes. e.g. 3D", - "Game monetization. e.g. subscription, try before you buy.", - "============================= General =======================// Accessiblity. e.g. Blind-Friendly", - "Assistant tags, e.g. Assistant-Enabled", - "Chrome OS compatibility tags. e.g. Optimized for Chromebooks", - "Global attribute shared between both App and Game. e.g. Companion App", - "Wear OS compatibility tags. e.g. Wear Standalone" - ], - "type": "string" - } - }, - "type": "object" - }, - "VendingConsumerProtoTrustedGenomePolicy": { - "description": "Proto message containing policy related information.", - "id": "VendingConsumerProtoTrustedGenomePolicy", - "properties": { - "localizedRegionOverride": { - "description": "Override text for region for special treatment. Override will be used in special cases for example regions are too long to show in UI, the override will be \"CA/NV/...\" to cut it short. By keeping a region override string we'll have more flexibility to adjust what we show on UI. Optional.", - "type": "string" - }, - "policyType": { - "description": "Policy type. e.g. Government Endorsed, Apollo Required.", - "items": { - "enum": [ - "UNKNOWN_POLICY_TYPE", - "GOVERNMENT_COMMISSIONED", - "APOLLO_APPROVED", - "APOLLO_EXPRESS" - ], - "enumDescriptions": [ - "", - "Government Commissioned", - "Apollo Approved", - "Apollo ENX Approved" - ], - "type": "string" - }, - "type": "array" - }, - "targetRegion": { - "description": "Contains target region for the current policy. Optional", - "items": { - "$ref": "VendingConsumerProtoTrustedGenomePolicyTargetRegion" - }, - "type": "array" - } - }, - "type": "object" - }, - "VendingConsumerProtoTrustedGenomePolicyTargetRegion": { - "id": "VendingConsumerProtoTrustedGenomePolicyTargetRegion", - "properties": { - "localizedRegion": { - "description": "Localized name for targeted regions. e.g. San Francisco Bay Area Required.", - "type": "string" - }, - "mid": { - "description": "Associated KG entity mid for region. e.g. /m/06pvr", - "type": "string" - } - }, - "type": "object" - }, - "VideoAmbisonicsAmbisonicsMetadata": { - "id": "VideoAmbisonicsAmbisonicsMetadata", - "properties": { - "channelMap": { - "description": "Maps channel indexes of an audio stream to indexes corresponding to the specified ambisonics channel ordering scheme. For example: A 1st order pheriphonic ambisonics format is configured with 4 audio channels corresponding to ambisonic components W, X, Y, Z respectively. The channel_ordering scheme is specified as CHANNEL_ORDERING_ACN (which implies a W, Y, Z, X ordering). Therefore the channel_map is [0, 3, 1, 2].", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "channelOrdering": { - "enum": [ - "CHANNEL_ORDERING_UNKNOWN", - "CHANNEL_ORDERING_ACN" - ], - "enumDescriptions": [ - "", - "Ambisonic Channel Number" - ], - "type": "string" - }, - "nonDiegeticStereo": { - "type": "boolean" - }, - "normalization": { - "enum": [ - "NORMALIZATION_UNKNOWN", - "NORMALIZATION_SN3D" - ], - "enumDescriptions": [ - "", - "Schmidt semi-normalisation" - ], - "type": "string" - }, - "numChannels": { - "format": "int32", - "type": "integer" - }, - "order": { - "format": "int32", - "type": "integer" - }, - "type": { - "enum": [ - "TYPE_UNKNOWN", - "TYPE_PERIPHONIC", - "TYPE_HORIZONTAL" - ], - "enumDescriptions": [ - "", - "Full 360 degree sphere (x,y,z)", - "Planar horizontal-only plan (x,y)" - ], - "type": "string" - }, - "version": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoAssetsVenomACL": { - "description": "Valid fields in ACL are \"mdb/groupname\", or \"user/username\", e.g., \"mdb/youtube-prod\", or \"user/alice\".", - "id": "VideoAssetsVenomACL", - "properties": { - "owner": { - "description": "REQUIRED: the current owner of this video. Please note that owner does not get implicit reader/writer access. You must set them explicitly.", - "type": "string" - }, - "reader": { - "description": "Allowed readers of this video.", - "items": { - "type": "string" - }, - "type": "array" - }, - "writer": { - "description": "Allowed writers of this video.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoAssetsVenomSettings": { - "description": "Describes ingredient level settings. Clients are authoritative in defining Settings. See go/venom-trustme for how Settings and ProcessingCharacteristics work together. If your Settings extension contains PII fields, please 1) Annotate them appropriately with DataPol, and 2) Add your BUILD target to google3/video/assets/venom/proto/settings/BUILD:pii See google3/video/assets/venom/proto/settings/ for extension messages.", - "id": "VideoAssetsVenomSettings", - "properties": {}, - "type": "object" - }, - "VideoAssetsVenomTransition": { - "description": "As video mutations are reconciled by Venom, we can tell if the ingredient did or did not reach certain objectives. When processing has completed, all objectives will have a corresponding transition. All transitions are reset for every mutation, but will take into account assets outside of that mutation. For example, if Asset X fails, and was part of \"OBJECTIVE_PRIMARY_ASSETS_DONE\", a rerun of Asset Y is destined to result in OUTCOME_FAILED, regardless of the fate of Asset Y. Some phenonema have effects on most or all Objectives. For example, a bad input file will result on OUTCOME_INFEASIBLE across the board (eventually, for now it's just GO_LIVE and DO_ALL, work in progress), and a failure to produce Format 18 will cause OUTCOME_FAILED across most Objectives.", - "id": "VideoAssetsVenomTransition", - "properties": { - "objective": { - "description": "The objective this transition is about. REQUIRED.", - "enum": [ - "OBJECTIVE_UNKNOWN", - "OBJECTIVE_INGREDIENT_DO_ALL", - "OBJECTIVE_INGREDIENT_GO_LIVE", - "OBJECTIVE_INGREDIENT_VALIDATED", - "OBJECTIVE_PRIMARY_ASSETS_DONE", - "OBJECTIVE_PRIMARY_TRANSCODES_DONE", - "OBJECTIVE_PREVIEW_DONE", - "OBJECTIVE_TRANSMUXED_DONE", - "OBJECTIVE_MEDIA_INFO_DONE", - "OBJECTIVE_PRIMARY_720P_TRANSCODES_DONE", - "OBJECTIVE_BASIC_1080P_TRANSCODES_DONE", - "OBJECTIVE_PRIMARY_1080P_TRANSCODES_DONE", - "OBJECTIVE_PRIMARY_2K_TRANSCODES_DONE", - "OBJECTIVE_PRIMARY_4K_TRANSCODES_DONE", - "OBJECTIVE_PRIMARY_ASSETS_4K_TRANSCODES_DONE", - "OBJECTIVE_PRIMARY_8K_TRANSCODES_DONE", - "OBJECTIVE_FINGERPRINTS_DONE", - "OBJECTIVE_CHECKSUMS_DONE", - "OBJECTIVE_CLAIM_DONE", - "OBJECTIVE_THUMBNAILS_DONE", - "OBJECTIVE_LIVE_STITCHABLE_ASSETS_DONE", - "OBJECTIVE_CRAWL_ASSETS_DONE", - "OBJECTIVE_VITAL_ASSETS_DONE", - "OBJECTIVE_SAM_FEATURES_DONE", - "OBJECTIVE_SPEECH_RECOGNITION_DONE", - "OBJECTIVE_MULTI_TRACK_AUDIO_DONE", - "OBJECTIVE_SHORTS_READY", - "OBJECTIVE_720P_TRANSCODES_ONLY_DONE", - "OBJECTIVE_WORKSPACE_STORYBOARD_DONE", - "OBJECTIVE_CAPTIONS_DONE", - "OBJECTIVE_AUDIO_DONE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Should not happen.", - "Put all the assets in a satisfactory state.", - "Enough was done on the ingredient for the video to be playable.", - "The validation asset is ready.", - "The most important transcodes and other assets have been completed. Drives \"is_fully_processed\" in VAPI. Limited to UGC and Reels. Also used to atomically publish all latency-sensitive transcodes after an edit.", - "Subset of OBJECTIVE_PRIMARY_ASSETS_DONE including transcode assets only.", - "A representation for the video in advance of all completed assets is ready.", - "The transmuxed transcode for the video, used for faster playback in certain early GO_LIVE scenarios, is playable. This is currently limited to Photos.", - "Basic media information is available -- a rare single-asset objective, to advertise a video's general information as quickly as possible.", - "Subset of OBJECTIVE_PRIMARY_ASSETS_DONE for 720p resolution and below.", - "Distilled set of assets at 1080p.", - "Subset of OBJECTIVE_PRIMARY_ASSETS_DONE for 1080p resolution and below.", - "Subset of OBJECTIVE_PRIMARY_ASSETS_DONE for 2K resolution and below.", - "Subset of OBJECTIVE_PRIMARY_ASSETS_DONE for 4K resolution and below.", - "A union of OBJECTIVE_PRIMARY_ASSETS_DONE and OBJECTIVE_PRIMARY_4K_TRANSCODES_DONE.", - "Deprecated.", - "Fingerprint assets are complete.", - "ASSET_CHECKSUMS is complete. Only transmitted for SIGNIFICANCE_MAJOR_USER_INITATED changes.", - "Deprecated.", - "All thumbnails are complete.", - "All live server stitchable ad assets are complete.", - "All requested crawl assets for Amarna are complete. This is only needed for genus which is shared by Amarna and other clients. As of 10/2020, YT UGC is the only genus, and crawl assets include MOVING_THUMBNAIL_{8K, 30K, 90K, 300K_24FPS} and ASSET_TIMED_ANCHOR_THUMBNAIL_SPORTS_MOMENT.", - "A super set of OBJECTIVE_PRIMARY_ASSETS_DONE and a few other assets that are important for tracking the health of a video. Note: This is for internal health tracking and *not* intended for clients.", - "The set of features that Smart Auto Midrolls depends on for generating midroll ad breaks.", - "", - "All assets requested for multi-track audio content.", - "Minimum processing needed for a Shorts video to be considered ready.", - "The video is considered playable at 720p.", - "ASSET_WORKSPACE_STORYBOARD is complete. Only transmitted for WEBDRIVE sourced videos.", - "Captions have been successfully generated for the video.", - "DASH audio asset complete." - ], - "type": "string" - }, - "outcome": { - "description": "Whether the objective is reached or not. REQUIRED.", - "enum": [ - "OUTCOME_UNKNOWN", - "OUTCOME_SUCCESS", - "OUTCOME_FAILED", - "OUTCOME_INFEASIBLE", - "OUTCOME_NOT_REQUESTED", - "OUTCOME_PENDING" - ], - "enumDescriptions": [ - "Should not happen.", - "We managed to put the video in the state described by the transition. All assets are in STATE_DONE or have a good reason not to be. No asset is stuck in STATE_MISSING or STATE_DIRTY, and Venom has determined that all assets in either STATE_NOT_APPLICABLE (common) or were not requested (less common) are acceptable (e.g. not marked \"must_succeed\" in TrustMe).", - "Venom failed to put the video in the state described by the transition, due to failures in one or more assets. These are failures within video processing, rather than client issues. Venom won’t try any further, until another mutation occurs. This almost always indicates that assets failed in Viper/Kronos, and ran out of retries. Failure of some consistency checks within Venom can also cause this Outcome, in theory. Both OUTCOME_INFEASIBLE and OUTCOME_NOT_REQUESTED dominate this value, when different assets have differing fates.", - "* an asset marked as \"must_succeed\" in TrustMe is declared Not Applicable by Viper/Kronos. e.g.: a video so low-res we can't even make itag 18. The GENUS_DRIVE adapter has similar logic if *all* assets are somehow declared not applicable (http://google3/video/assets/venom/internal/genera/drive.cc?l=224\u0026rcl=368933695). These scenarios are not common. We didn’t put the video in the state described by the transition and won’t try any further, until another mutation occurs. This happens if we discovered that the State can’t possibly be reached for this specific video (for instance, it’s not even a video, it’s out of spec or it’s a live stream that can’t be archived,...)", - "One of the following has occurred: 1) at least one \"must_succeed\" asset (as defined by TrustMe) was not requested by the client, or 2) no assets defined in the Objective were requested whatsoever. 3) no assets are associated with the Objective whatsoever Deleting assets is considered equivalent to never having requested them. For most genera, this a sign of a serious bug in asset declaration, either TrustMe data, client code, or backfill request. However, Photos and HVC have a few expected use cases.", - "We are waiting to complete a transition. This is a temporary condition that should move to one of OUTCOME_SUCCESS, OUTCOME_FAILED, or OUTCOME_INFEASIBLE once processing on the video is able to complete. It's unlikely we will transition to OUTCOME_NOT_REQUESTED from here, because that outcome is determined immediately on first audit." - ], - "type": "string" - }, - "reason": { - "description": "An optional debug string indicating the reason for this transition. This is typically omitted for OUTCOME_SUCCESS. e.g. \"The video's content is invalid due to failed blobstore cloning.\"", - "type": "string" - } - }, - "type": "object" - }, - "VideoAssetsVenomVideoId": { - "description": "A VideoId is the unique identifier of a video. Privacy: VideoIds are visible in logs, notifications, etc and must not contain PII.", - "id": "VideoAssetsVenomVideoId", - "properties": { - "id": { - "description": "REQUIRED. IDs have some constraints: - must be parseable as a youtube ID (basically a base64-encoded string which maps to a 64-bit integer, see google3/video/tools/video_id.h):", - "format": "byte", - "type": "string" - }, - "ns": { - "description": "LINT.ThenChange( //depot/google3/googledata/production/playbooks/video-assets/clients.md, //depot/google3/video/assets/venom/proto/namespace.proto ) REQUIRED.", - "enum": [ - "NS_UNKNOWN", - "NS_YOUTUBE", - "NS_YOUTUBE_MEDIA", - "NS_KIDS_HUB", - "NS_GMAIL", - "NS_YOUTUBE_DIRECTOR", - "NS_DCLK_VIDEO_ADS", - "NS_TESTING", - "NS_HVC_INGESTION", - "NS_DRIVE", - "NS_ASK_QNA", - "NS_LOCAL_VIDEO", - "NS_PLAY_AUDIOBOOKS", - "NS_HANGOUTS_CHAT", - "NS_VIDEO_INTEREST_FEED", - "NS_RECORDER", - "NS_STAMP", - "NS_CRAWL", - "NS_PHOTOS", - "NS_MATERIAL_GALLERY", - "NS_YT_REFERENCE", - "NS_LENSLETS_VIDEOS", - "NS_BLOGGER", - "NS_OCEAN", - "NS_OCEAN_DEV", - "NS_ADORA", - "NS_WEB_VIDEO_ADS", - "NS_STUDIO", - "NS_YT_TDSD_REFERENCE", - "NS_WEB_STORY", - "NS_NEST_CAMERA_CLOUD", - "NS_AREA120_BLUEBIRD", - "NS_ARTS_AND_CULTURE", - "NS_DAI_PODCAST", - "NS_DEMO", - "NS_KARTO", - "NS_CONTRIB_SERVICE_SHARED", - "NS_CONTRIB_SERVICE_GEO_UGC", - "NS_CONTRIB_SERVICE_BARD_STORAGE", - "NS_CONTRIB_SERVICE_FLYBY", - "NS_CONTRIB_SERVICE_SHOPSTREAM", - "NS_SEARCH_SPORTS", - "NS_BUSINESSMESSAGING", - "NS_AERIAL_VIEW", - "NS_DOCS_FLIX_RENDER", - "NS_SHOPPING" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Default (invalid) namespace if the field is not set.", - "YouTube video ID. This is the public, encrypted, ID.", - "YouTube media content: videos in this namespace are _NOT_ visible directly to users, but act as the primary video for video aliases in the NS_YOUTUBE namespace. IDs in this namespace are independent from regular YouTube IDs.", - "", - "", - "", - "Namespace for the Truman project.", - "Used for Bandaid probe test videos.", - "Namespace for Play Movies.", - "", - "Namespace for AskJoe Video Q\u0026A.", - "Namespace for local imagery aka Photo/Video On Maps.", - "", - "Namespace for Hangouts Chat (Dynamite)", - "Namespace for Interest Feed Inline Video.", - "Namespace for Recorder - User generated local News content.", - "Namespace for STAMP - AMP Stories.", - "Namespace for Non-YouTube videos processed through Amarna.", - "", - "", - "Namespace for 'A-' References; audio or video references that are not playable on YouTube, and only used as references for ContentID claiming.", - "", - "", - "", - "Namespace for Ocean / Play Books dev/staging content. Needed because the Books staging server talks only to the prod video streaming environment.", - "", - "Namespace for Web Video Ads.", - "Namespace for RichMedia Studio.", - "Namespace for TDSD references. These are not playable on YouTube, and are only used for generating ContentID fingerprints.", - "Namespace for Kahani Web Stories.", - "Namespace for Nest Camera Cloud.", - "Namespace for Area120 project Bluebird", - "Namespace for Google Arts \u0026 Culture.", - "Namespace for Dynamic Ad Insertion Podcasts.", - "Namespace for the Demo tier used by new clients to try things out.", - "Namespace for Karto videos.", - "Namespace for shared ContribService UGC videos.", - "Namespace for GEO UGC videos processed by ContribService.", - "Namespace for BARD UGC videos processed by ContribService.", - "Namespace for FlyBy (Local Top Ads) videos processed by ContribService.", - "Namespace for Shopstream videos processed by ContribService.", - "Namespace for Search Sports vertical videos.", - "Namespace for Business Messaging videos.", - "Namespace for Geo Aerial View", - "Namespace for Flix Render (Docs)", - "Namespace for CDS videos processed through Amarna. END: Client namespaces -- Do NOT edit this comment go/vp-ide-reference#codegen-comments Please receive approval via go/vp-newclients before adding a new namespace." - ], - "type": "string" - } - }, - "type": "object" - }, - "VideoAudioStream": { - "description": "Next tag: 10", - "id": "VideoAudioStream", - "properties": { - "bitrate": { - "description": "Audio bitrate in bits/s.", - "format": "int64", - "type": "string" - }, - "channels": { - "description": "Number of audio channels.", - "format": "int32", - "type": "integer" - }, - "codecId": { - "description": "Audio codec ID. Uses the numeric value corresponding to the CodecId enum object, in order to avoid the dependency on vsi/videostreaminfo.proto. http://cs/symbol:CodecId%20f:google3/video/vidproc/vsi/videostreaminfo.proto", - "format": "int32", - "type": "integer" - }, - "contentType": { - "description": "Content type of the stream. Only populated with valid \"acont\" xtag values at the moment. Supported acont xtag values can be found in google3/video/storage/common/xtag_validation.cc. Examples: \"original\", \"dubbed\", \"descriptive\", \"commentary\", etc.", - "type": "string" - }, - "language": { - "description": "Language, examples: \"eng\", \"en\", \"enG\", etc.", - "type": "string" - }, - "lengthSec": { - "description": "Audio length, in seconds. This value is derived from metadata in the source video, and often differs from the actual duration of any given transcode. In videos without valid timestamps, this value is not calculable, and is reported as zero.", - "format": "double", - "type": "number" - }, - "loudness1770Lkfs": { - "format": "float", - "type": "number" - }, - "sampleRate": { - "description": "Audio sample rate.", - "format": "int64", - "type": "string" - }, - "streamIndex": { - "description": "Index of the stream in the file, 0-based.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoClipInfo": { - "description": "Generic clip information contains a key string and a value string.", - "id": "VideoClipInfo", - "properties": { - "key": { - "format": "byte", - "type": "string" - }, - "value": { - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "VideoClosedCaptions": { - "id": "VideoClosedCaptions", - "properties": { - "videoHasClosedCaptions": { - "type": "boolean" - } - }, - "type": "object" - }, - "VideoContentSearchAnchorCommonFeatureSet": { - "description": "Contains anchor level features that apply to all anchor types. Next id: 22.", - "id": "VideoContentSearchAnchorCommonFeatureSet", - "properties": { - "anchorQbstDistance": { - "description": "QBST distance between the anchor and the top navboost query of the video if exists, or the video title otherwise.", - "format": "float", - "type": "number" - }, - "asrAverageBabelSimilarityScore": { - "description": "Average of babel similarity between the anchor and all asr sentences.", - "format": "float", - "type": "number" - }, - "asrMaximumBabelSimilarityScore": { - "description": "Maximum babel similarity between the anchor and the asr sentences.", - "format": "float", - "type": "number" - }, - "bleurtFeatures": { - "$ref": "VideoContentSearchBleurtFeatures", - "description": "Features needed for Bleurt inference." - }, - "bleurtScore": { - "description": "The Bleurt inference score generated using the bleurt_features.", - "format": "float", - "type": "number" - }, - "descartesScoreWithTitle": { - "description": "Descartes similarity score between video title and anchor label.", - "format": "float", - "type": "number" - }, - "descriptionAverageBabelSimilarityScore": { - "description": "Average of babel similarity between the anchor and all description sentences.", - "format": "float", - "type": "number" - }, - "descriptionMaximumBabelSimilarityScore": { - "description": "Maximum babel similarity between the anchor and the description sentences.", - "format": "float", - "type": "number" - }, - "dolphinDescriptivenessScore": { - "description": "The predicted descriptiveness and usefulness rating scores generated by the Unified Dolphin model. Rating template: experimental/video/video_anchors_oneside_without_thumbnail/template.jhtml", - "format": "float", - "type": "number" - }, - "dolphinEnsembleScore": { - "description": "If the dolphin model is an ensemble model, this contains the scores associated to each individual ensemble model.", - "items": { - "$ref": "VideoContentSearchDolphinEnsembleScore" - }, - "type": "array" - }, - "dolphinFeatures": { - "$ref": "VideoContentSearchDolphinFeatures", - "description": "The features used to generate the Dolphin score." - }, - "dolphinScore": { - "description": "The score generated by the Dolphin callout model.", - "format": "float", - "type": "number" - }, - "dolphinUsefulnessScore": { - "format": "float", - "type": "number" - }, - "labelPhraseEmbedding": { - "description": "A phrase embedding for the anchor label. The model used to generate the embedding can be found in VideoAnchorSets: video_score_info.common_features.label_phrase_embedding_model", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "mumDescriptivenessScore": { - "description": "The predicted descriptiveness of the anchor using the MUM unified scoring model.", - "format": "float", - "type": "number" - }, - "mumUsefulnessScore": { - "description": "The predicted usefulness of the anchor using the MUM unified scoring model.", - "format": "float", - "type": "number" - }, - "retentionScore": { - "description": "A score that is correlated with retention probability of the interval associated with this anchor (start time to end time). Retention probability of an interval is 1 - (probability the user does not watch the interval all the way through, given they started watching it). This score may be predicted by a model, or calculated from actual retention data.", - "format": "float", - "type": "number" - }, - "saftDocument": { - "$ref": "NlpSaftDocument", - "description": "A saft document generated from the anchor label." - }, - "timedLabelFeatures": { - "description": "For annotating labels and their timing and context info. For example, this is used for anchor labels within a passage.", - "items": { - "$ref": "VideoContentSearchCaptionLabelFeatures" - }, - "type": "array" - }, - "timestamp": { - "items": { - "$ref": "VideoContentSearchAnchorCommonFeatureSetLabelSpanTimestamp" - }, - "type": "array" - }, - "titleAnchorBabelMatchScore": { - "description": "Babel similarity between the anchor and the video title.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchAnchorCommonFeatureSetLabelSpanTimestamp": { - "description": "When an anchor label has a long duration (for example, labels that contain multiple sentences), this field stores the mapping between label segments and the start time.", - "id": "VideoContentSearchAnchorCommonFeatureSetLabelSpanTimestamp", - "properties": { - "asrConfidence": { - "description": "The ASR confidence for the label span, if available.", - "format": "float", - "type": "number" - }, - "isSentenceStart": { - "description": "Whether or not this token is the first token in a sentence.", - "type": "boolean" - }, - "labelBeginCharIndex": { - "description": "The character index range for the span. The end index is exclusive.", - "format": "int64", - "type": "string" - }, - "labelEndCharIndex": { - "format": "int64", - "type": "string" - }, - "timeMs": { - "description": "The time of the span.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchAnchorThumbnail": { - "description": "Properties of the thumbnail image to show for an anchor.", - "id": "VideoContentSearchAnchorThumbnail", - "properties": { - "imagesearchDocid": { - "description": "Serving docid for the thumbnail in the images-tbn tables.", - "format": "uint64", - "type": "string" - }, - "isThumbnailMissing": { - "description": "Set to true when no thumbnail could be generated for this anchor.", - "type": "boolean" - }, - "servingMetadata": { - "$ref": "ImageBaseThumbnailMetadata", - "description": "Metadata about the anchor thumbnail computed by Amarna, including dimensions and the size in bytes." - }, - "thumbnailInfo": { - "$ref": "VideoContentSearchAnchorThumbnailInfo", - "description": "Information about the thumbnail anchor." - }, - "timestampMs": { - "description": "Millisecond timestamp of the frame used for the thumbnail.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoContentSearchAnchorThumbnailInfo": { - "id": "VideoContentSearchAnchorThumbnailInfo", - "properties": { - "colorEntropy": { - "description": "Entropy of the clustered color distribution.", - "format": "float", - "type": "number" - }, - "imageData": { - "$ref": "ImageData", - "description": "Thumbnail image data for SafeSearch classification." - }, - "isUnsafe": { - "description": "Convenience field that consolidates signals for whether this thumbnail is safe.", - "type": "boolean" - }, - "starburstV4Embedding": { - "$ref": "DrishtiDenseFeatureData", - "description": "64d float vector of starburst v4 embedings." - }, - "thumbnailBytes": { - "description": "The raw data for a thumbnail.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchAnchorsCommonFeatureSet": { - "description": "Contains anchor set level features that apply to all anchor types.", - "id": "VideoContentSearchAnchorsCommonFeatureSet", - "properties": { - "dolphinDescriptivenessStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the Dolphin descriptiveness scores of the anchors in the set." - }, - "dolphinUsefulnessStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the Dolphin usefulness scores of the anchors in the set." - }, - "mumDescriptivenessStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the MUM descriptiveness scores of the anchors in the set." - }, - "mumUsefulnessStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the MUM usefulness scores of the anchors in the set." - } - }, - "type": "object" - }, - "VideoContentSearchAnchorsThumbnailInfo": { - "id": "VideoContentSearchAnchorsThumbnailInfo", - "properties": { - "hasMissingStarburst": { - "description": "Whether or not any of the anchor thumbnails have missing Starburst embeddings.", - "type": "boolean" - }, - "hasMissingThumbnails": { - "description": "Whether or not any of the anchors have missing thumbnails.", - "type": "boolean" - }, - "thumbnailDiversity": { - "description": "A score representing how diverse a set of thumbnails is. This is currently defined as one minus the median pairwise cosine similarity between thumbnail Starburst embeddings.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchAspect": { - "description": "Product aspect.", - "id": "VideoContentSearchAspect", - "properties": { - "fallbackAspect": { - "description": "Product aspect to be used if non of the other aspects exist.", - "type": "string" - }, - "saftAspect": { - "description": "Product aspect produced by running SAFT annotation.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchAsrCaption": { - "description": "Contains token-level information about ASR captions.", - "id": "VideoContentSearchAsrCaption", - "properties": { - "confidence": { - "description": "The confidence score of the token: between 0 and 1.", - "format": "float", - "type": "number" - }, - "durationMs": { - "description": "The duration that the token is spoken for.", - "format": "float", - "type": "number" - }, - "startTimeMs": { - "description": "The time in the video at which the token starts being spoken.", - "format": "int32", - "type": "integer" - }, - "text": { - "description": "The speech token.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchBleurtFeatures": { - "description": "Contains features needed for Bleurt inference.", - "id": "VideoContentSearchBleurtFeatures", - "properties": { - "candidate": { - "type": "string" - }, - "reference": { - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchCaptionEntityAnchorFeatures": { - "description": "Features and debug info for individual caption entity video anchors.", - "id": "VideoContentSearchCaptionEntityAnchorFeatures", - "properties": { - "asrMentionText": { - "description": "If the description anchor has been recognized as an entity and that entity has also been mention in the ASR, this is the mention text from the ASR.", - "type": "string" - }, - "asrMentionTranscriptOffset": { - "description": "The start index of the ASR entity mention from the beginning of the ASR transcript. The index is included so that individual mentions that share the same mid and time can be distinguished which happens when an entity is mentioned multiple times in an ASR sentence. Each mid/asr_mention_transcript_offset will be unique.", - "format": "int32", - "type": "integer" - }, - "asrSentence": { - "description": "The nearest ASR sentence.", - "type": "string" - }, - "asrStartTime": { - "description": "The begin time in ms of the ASR sentence.", - "format": "int32", - "type": "integer" - }, - "bertScores": { - "description": "The result of the BERT inference using the title, ASR sentence and entity mention text.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "broadness": { - "description": "A score to help determine how specific this entity is.", - "format": "float", - "type": "number" - }, - "durationCoverage": { - "description": "The percentage of the video covered by the span of the first mention to the last mention.", - "format": "float", - "type": "number" - }, - "entityConnectedness": { - "description": "The webref connectedness score of the entity.", - "format": "float", - "type": "number" - }, - "entityDescription": { - "description": "A short text describing the entity.", - "type": "string" - }, - "entityInfo": { - "$ref": "VideoContentSearchCaptionEntityDocInfo", - "description": "Information about how many documents the entity occurred in and how many total mentions the entity has across the entire video corpus." - }, - "entityMentionInDescription": { - "description": "Whether or not the entity mention text appears in the description of the video.", - "type": "boolean" - }, - "estimatedMentionTime": { - "description": "The estimated begin time in ms of the entity mention using the text offset divided by the ASR duration.", - "format": "int32", - "type": "integer" - }, - "groupCohesion": { - "description": "Average similarity between this anchor and other anchors in the set.", - "format": "float", - "type": "number" - }, - "hypernymConfidence": { - "description": "The confidence of the hypernym used as the set label.", - "format": "float", - "type": "number" - }, - "hypernymCount": { - "description": "Number of hypernyms used for calculating similarity.", - "format": "float", - "type": "number" - }, - "hyperpediaSalientTermsSimilarity": { - "description": "The cosine similarity between the document salient terms and the hyperpedia hypernyms for a given entity.", - "format": "float", - "type": "number" - }, - "inWebrefEntities": { - "description": "Whether or not this entity is in the webref entities.", - "type": "boolean" - }, - "isOracleEntity": { - "description": "True if the given entity appears as an Oracle followup query.", - "type": "boolean" - }, - "isProduct": { - "description": "Whether this entity counts as a 'product' for the purpose of dividing entities between the 'related topics' and 'products in this video' features.", - "type": "boolean" - }, - "maxMentionConfidence": { - "description": "The maximum confidence of all of the entity mentions in the transcript.", - "format": "float", - "type": "number" - }, - "mentionConfidence": { - "description": "The confidence that the ASR mention matches the given mid.", - "format": "float", - "type": "number" - }, - "mentions": { - "description": "Number of times an entity is mentioned in the ASR transcript.", - "format": "int32", - "type": "integer" - }, - "msFromLastAnchor": { - "description": "The duration in ms between this anchor and the previous anchor or the beginning of the video if this is the first anchor.", - "format": "int32", - "type": "integer" - }, - "nextAsrSentence": { - "description": "The ASR sentence after asr_sentence or \"\" if it is the last sentence.", - "type": "string" - }, - "otherAsrMentionText": { - "description": "The ASR text of each mention of the entity.", - "items": { - "type": "string" - }, - "type": "array" - }, - "otherEstimatedMentionTimes": { - "description": "Each time the entity was mentioned.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "previousAsrSentence": { - "description": "The ASR sentence before asr_sentence or \"\" if it is the first sentence.", - "type": "string" - }, - "trustedNameConfidence": { - "description": "The confidence that the ASR mention is a trusted name.", - "format": "float", - "type": "number" - }, - "webrefEntityTopicality": { - "description": "The webref entity topicality score if the entity is a webref entity and 0 if not.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchCaptionEntityAnchorSetFeatures": { - "description": "Features and debug info for clusters of caption entity video anchors.", - "id": "VideoContentSearchCaptionEntityAnchorSetFeatures", - "properties": { - "aggregateScore": { - "description": "The total score used for filtering and selecting entity sets.", - "format": "float", - "type": "number" - }, - "clusterSize": { - "description": "The prefiltered size of the entity set.", - "format": "int32", - "type": "integer" - }, - "entitiesInWebrefEntities": { - "description": "The number of entities in the anchor set that are in the webref entities.", - "format": "int32", - "type": "integer" - }, - "entityMentionInDescriptionCount": { - "description": "The number of anchors where the entity mention text appears in the description of the video.", - "type": "boolean" - }, - "groupCohesion": { - "description": "The average cosine similarity between hypernyms of members of the set.", - "format": "float", - "type": "number" - }, - "hypernym": { - "description": "The most prominent hypernym across the entities in the set.", - "type": "string" - }, - "hypernymSalience": { - "description": "The salience of the best hypernym for the set.", - "format": "float", - "type": "number" - }, - "medianMentions": { - "description": "Median number of times any member of the set was mentioned in the ASR transcript.", - "format": "int32", - "type": "integer" - }, - "mentionSalience": { - "description": "Mentions divided by the total number of entity mentions in the video.", - "format": "float", - "type": "number" - }, - "salience": { - "description": "Salience of the set computed by aggregating the hypernyms from each member and calculating the cosine similarity with the salient terms.", - "format": "float", - "type": "number" - }, - "topHypernym": { - "description": "The top N hypernyms for the entities in the set.", - "items": { - "type": "string" - }, - "type": "array" - }, - "totalMentions": { - "description": "Number of times any member of the group was mentioned in the ASR transcript.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoContentSearchCaptionEntityDocInfo": { - "description": "Contains information about document appearances of an entity.", - "id": "VideoContentSearchCaptionEntityDocInfo", - "properties": { - "entityDocCount": { - "description": "The number of documents where this entity was mentioned at least once.", - "format": "int64", - "type": "string" - }, - "entityMentionCount": { - "description": "The number of times the entity was mentioned across the entire corpus.", - "format": "int64", - "type": "string" - }, - "mid": { - "description": "The entity id.", - "type": "string" - }, - "totalDocCount": { - "description": "The number of documents in the corpus.", - "format": "int64", - "type": "string" - }, - "totalMentionCount": { - "description": "The number of mentions of any entity across the entire corpus.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchCaptionInfo": { - "description": "Contains transcript-level data about a video whether it comes from ASR or closed captions.", - "id": "VideoContentSearchCaptionInfo", - "properties": { - "asrCaption": { - "items": { - "$ref": "VideoContentSearchAsrCaption" - }, - "type": "array" - }, - "saftDocument": { - "$ref": "NlpSaftDocument" - } - }, - "type": "object" - }, - "VideoContentSearchCaptionLabelFeatures": { - "description": "Contains timing and text for a given label.", - "id": "VideoContentSearchCaptionLabelFeatures", - "properties": { - "alignedOcrTexts": { - "description": "OCR anchors with overlapping time-window with this anchor", - "items": { - "$ref": "VideoContentSearchOCRText" - }, - "type": "array" - }, - "alignedTime": { - "description": "The time stamp in milliseconds for the reference text (e.g. description anchor time).", - "format": "int64", - "type": "string" - }, - "contextText": { - "description": "Text around the aligned_time of a long duration, say [-15 minutes, +15 minutes]", - "type": "string" - }, - "labelText": { - "description": "The main label text for the feature.", - "type": "string" - }, - "textSimilarityFeatures": { - "$ref": "VideoContentSearchTextSimilarityFeatures", - "description": "Identified matching text by similarity." - }, - "textSpanAtAlignedTime": { - "description": "The text span in the passage starting from the aligned time.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchCaptionSpanAnchorFeatures": { - "id": "VideoContentSearchCaptionSpanAnchorFeatures", - "properties": { - "dolphinFeatures": { - "$ref": "VideoContentSearchSpanDolphinFeatures", - "description": "The features used to construct the inference example." - }, - "dolphinScores": { - "$ref": "VideoContentSearchSpanDolphinScores", - "description": "The inference result from the Dolphin span model." - }, - "embeddingDistance": { - "description": "Embedding distances (e.g. cosine distance) to the other anchors of the same video.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "postGapInMs": { - "description": "Time gap in ms to the next anchor. Always positive number.", - "format": "int32", - "type": "integer" - }, - "preGapInMs": { - "description": "Time gap in ms to the previous anchor. Always a positive number.", - "format": "int32", - "type": "integer" - }, - "saftBeginTokenIndex": { - "description": "The range of tokens in video_info.saft_doc for the anchor label.", - "format": "int32", - "type": "integer" - }, - "saftEndTokenIndex": { - "format": "int32", - "type": "integer" - }, - "saftTranscriptEndCharOffset": { - "format": "int32", - "type": "integer" - }, - "saftTranscriptStartCharOffset": { - "description": "The range of characters in video_info.saft_transcript for the anchor label.", - "format": "int32", - "type": "integer" - }, - "spanAsrConfidenceStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the ASR confidence for the selected candidate." - }, - "spanDolphinScore": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the Dolphin span token scores for the selected candidate." - }, - "wordCount": { - "description": "Word count of the span text, tokenized with SAFT.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoContentSearchCaptionSpanAnchorSetFeatures": { - "id": "VideoContentSearchCaptionSpanAnchorSetFeatures", - "properties": { - "anchorSetDolphinScoreStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the dolphin scores over the anchor set." - } - }, - "type": "object" - }, - "VideoContentSearchCommentAnchorSetFeatures": { - "description": "A message containing set-level comment anchor features. Next ID: 3", - "id": "VideoContentSearchCommentAnchorSetFeatures", - "properties": { - "replies": { - "items": { - "$ref": "VideoContentSearchCommentAnchorSetFeaturesComment" - }, - "type": "array" - }, - "rootComment": { - "$ref": "VideoContentSearchCommentAnchorSetFeaturesComment" - } - }, - "type": "object" - }, - "VideoContentSearchCommentAnchorSetFeaturesComment": { - "description": "A structure that represents a comment. Fields 1 through 6 are designed to store responses from the 3P YouTube Data API (see https://developers.google.com/youtube/v3/docs/comments). Field 7 is used to store the Google-internal representation of the comment; if it is populated, then all other fields may be empty. Next ID: 8", - "id": "VideoContentSearchCommentAnchorSetFeaturesComment", - "properties": { - "commentId": { - "description": "The ID that YouTube uses to uniquely identify the comment.", - "type": "string" - }, - "likeCount": { - "description": "The total number of likes (positive ratings) the comment has received.", - "format": "int32", - "type": "integer" - }, - "miniStanza": { - "$ref": "YoutubeCommentsClusteringMiniStanza", - "description": "The MiniStanza object that represents the comment. If populated, all other fields in this message may be empty." - }, - "publishedAt": { - "description": "The date and time when the comment was orignally published, specified in ISO 8601 format.", - "type": "string" - }, - "textDisplay": { - "description": "The comment's text, in HTML.", - "type": "string" - }, - "textOriginal": { - "description": "The original, raw text of the comment.", - "type": "string" - }, - "updatedAt": { - "description": "The date and time when the comment was last updated, specified in ISO 8601 format.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchDescriptionAnchorFeatures": { - "id": "VideoContentSearchDescriptionAnchorFeatures", - "properties": { - "entityTextCoverage": { - "description": "When the description anchor text has been recognized as an entity, how much of the description anchor text is covered by the entity mention.", - "format": "float", - "type": "number" - }, - "inAsr": { - "description": "Whether or not a mention of the description anchor exists in the ASR.", - "type": "boolean" - }, - "isDescriptionAnchor": { - "description": "Whether or not the anchor was created from the description for use in training data. This will be set to true for positive examples and false for negative examples.", - "type": "boolean" - }, - "spanToAsrTime": { - "description": "The distance from the ASR sentence to the description anchor time in ms.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoContentSearchDescriptionAnchorSetFeatures": { - "id": "VideoContentSearchDescriptionAnchorSetFeatures", - "properties": { - "asrAnchorCount": { - "description": "The number of description anchors that were matched to captions in the ASR.", - "format": "int32", - "type": "integer" - }, - "asrAnchorFraction": { - "description": "The fraction of anchors that were matched to captions in the ASR.", - "format": "float", - "type": "number" - }, - "uniqueAsrMidCount": { - "description": "The number of unique mids which where matched to description anchors.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoContentSearchDescriptionSpanInfo": { - "description": "Metadata about the span when the anchor source is description span.", - "id": "VideoContentSearchDescriptionSpanInfo", - "properties": { - "contextTokenCount": { - "description": "The number of tokens in the context (sentence) where the description span is extracted from.", - "format": "int32", - "type": "integer" - }, - "dolphinScores": { - "$ref": "VideoContentSearchSpanDolphinScores", - "description": "The inference result from the Dolphin span model if the anchor's source is description span." - }, - "spanDolphinScoreStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the Dolphin span token scores for the selected candidate. Currently, dolphin_scores in DescriptionSpanInfo would only contain a single span candidate so this field is essentially the copy of the score_stats for that span candidate." - }, - "spanTokenCount": { - "description": "The number of tokens in the description span. The description span is formed from non-contiguous segment spans of a sentence (context), where each segment span's score satifsies the min span thresholds.", - "format": "int32", - "type": "integer" - }, - "spanTokenCountRatio": { - "description": "The ratio of span_token_count / context_token_count.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchDolphinEnsembleScore": { - "description": "Contains information about the scores from each individual dolphin ensemble model.", - "id": "VideoContentSearchDolphinEnsembleScore", - "properties": { - "dolphinScore": { - "description": "The score generated by the Dolphin callout model.", - "format": "float", - "type": "number" - }, - "modelName": { - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchDolphinFeatures": { - "id": "VideoContentSearchDolphinFeatures", - "properties": { - "altQuery": { - "description": "The alt query used for building the Dolphin example.", - "type": "string" - }, - "answer": { - "description": "The answer used for building the Dolphin example.", - "type": "string" - }, - "query": { - "description": "The query used for building the Dolphin example.", - "type": "string" - }, - "timeMs": { - "description": "The time stamp of the video anchor in milliseconds.", - "format": "int64", - "type": "string" - }, - "title": { - "description": "The title used for building the Dolphin example.", - "type": "string" - }, - "url": { - "description": "The url of the video.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchDolphinScoringConfig": { - "id": "VideoContentSearchDolphinScoringConfig", - "properties": { - "descriptivenessOutputKey": { - "description": "The output put keys for Dolphin PredictResponse", - "type": "string" - }, - "ensembleModelNames": { - "description": "If the dolphin model is an ensemble model (e.g. Video QnA model which consists of 4 teacher models), stores each individual model name.", - "items": { - "type": "string" - }, - "type": "array" - }, - "inferenceBatchSize": { - "description": "The inference batch size to use for inference methods that handle batching.", - "format": "int32", - "type": "integer" - }, - "inferenceMethod": { - "description": "The method to use for inference. This must be set or inference will fail.", - "enum": [ - "NONE", - "RPC", - "IN_PROCESS" - ], - "enumDescriptions": [ - "", - "Use a remote model server (for example, TPU server) to run inference. If this mode is used, service_bns should be set.", - "Run inference in the flume workers. If this is used, model_path should be set." - ], - "type": "string" - }, - "maxRpcRetries": { - "description": "Holds value of flag --max_rpc_retries.", - "format": "int32", - "type": "integer" - }, - "modelName": { - "description": "Model name used for ModelSpec in PredictRequest used in the PredictionService API.", - "type": "string" - }, - "modelPath": { - "description": "Only used when using the bulk_inference API. See go/dolphin-models to learn about the different dolphin models.", - "type": "string" - }, - "outputKey": { - "description": "TODO(alexiaxu) To deprecate this field in the future Output key for Dolphin PredictResponse.", - "type": "string" - }, - "rpcDeadlineSeconds": { - "description": "Holds value of flag --rpc_deadline (converted to seconds).", - "format": "double", - "type": "number" - }, - "serviceBns": { - "description": "Tensorflow inference BNS address when using PredictionService API.", - "type": "string" - }, - "usefulnessOutputKey": { - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchEntityAnnotations": { - "description": "Entity annotations for one of the mids representing an anchor label or a query text.", - "id": "VideoContentSearchEntityAnnotations", - "properties": { - "category": { - "description": "The Webref category that this entity belongs to e.g. \"/moka/software\".", - "type": "string" - }, - "confidence": { - "description": "The overall confidence that this entity is annotated somewhere in the label.", - "format": "float", - "type": "number" - }, - "isRestricted": { - "description": "Whether or not this entity belongs to a set of blocklisted categories.", - "type": "boolean" - }, - "mid": { - "description": "The Webref entity mid.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchEntityGroupInfo": { - "id": "VideoContentSearchEntityGroupInfo", - "properties": { - "collectionId": { - "description": "Collection id.", - "type": "string" - }, - "label": { - "description": "Label for this anchor group.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchFrameSimilarityInterval": { - "description": "Frame-level similarities info for each topic for an interval of frames.", - "id": "VideoContentSearchFrameSimilarityInterval", - "properties": { - "frameSimilarity": { - "description": "The similarity between this topic and starburst features for frames in [frames[frame_level_starburst_start_index], frames[frame_level_starburst_start_index + len(frame_similarity)].", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "framesEndTimestampMs": { - "description": "Timestamp in milliseconds for the last frame in this frame interval.", - "format": "int64", - "type": "string" - }, - "framesStarburstStartIndex": { - "description": "The index of the first frame within this interval of similar frames. VideoMultimodalTopicFeatures.frame_starburst_data.", - "format": "int32", - "type": "integer" - }, - "framesStartTimestampMs": { - "description": "Timestamp in milliseconds for the first frame in this frame interval.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchFrameStarburstData": { - "description": "Starburst frame-level dense data.", - "id": "VideoContentSearchFrameStarburstData", - "properties": { - "denseVector": { - "description": "Raw float feature vector of the starburst representation.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "sbVersion": { - "description": "Starburst version. Possible values are: STARBURST_TEXT_V4 STARBURST_TEXT_V4_5 STARBURST_TEXT_V4_PLC STARBURST_TEXT_V5", - "enum": [ - "SIGNAL_VERSION_UNSPECIFIED", - "RAID_V1", - "RAID_V2", - "RAID_V2_2", - "RAID_V2_NEST", - "RAID_V3", - "RAID_FOREGROUND_SEGMENTER_V1", - "RAID_FOREGROUND_SEGMENTER_V2", - "RAID_PRODUCT_SEGMENTER_V1", - "RAID_PRODUCT_SEGMENTER_V2", - "BARCODE_V1", - "BARCODE_V2", - "BARCODE_V3", - "LOGO_DEEPLOGO", - "LOGO_V1", - "LOGO_V2", - "LOGO_V2_PLUS", - "LOGO_MNET_V2", - "LOGO_MNET_V2_HATE_SYMBOLS", - "ICA_HNET", - "ICA_INET", - "ICA_KNET", - "ICA_LNET", - "ICA_OIDV6_GNET", - "ICA_ONET", - "ICA_PNET", - "ICA_PNET_SENSITIVE", - "ICA_RNET", - "NIMA_VQ_V1", - "NIMA_AVA_V1", - "NIMA_VQ_V2", - "NIMA_AVA_V2", - "ATT_GMAIL", - "ATT_MS", - "IM2SHOP_LOCAL_V1", - "IM2SHOP_LOCAL_V2", - "NIMBY_RAW_V0", - "NIMBY_RAW_V1", - "NIMBY_TOKENIZER_V0", - "NIMBY_TOKENIZER_V1", - "IM2QUERY_LABELED_PRODUCTS_V1", - "IM2QUERY_LABELED_PRODUCTS_V2", - "PLACE_EMB_V1", - "PLACE_EMB_V2", - "STARBURST_V3", - "STARBURST_V4", - "STARBURST_V4_01", - "STARBURST_VISUAL_V4", - "STARBURST_VISUAL_V5", - "STARBURST_V5", - "STARBURST_V5_5", - "STARBURST_V6", - "ATTRIBUTE_EMBEDDING_V1", - "PHOTOCAT_V1", - "PHOTOCAT_V3", - "PHOTOCAT_V4", - "PHOTOCAT_V5", - "STARBURST_TEXT_V4", - "STARBURST_TEXT_V4_5", - "STARBURST_TEXT_V4_PLC", - "STARBURST_TEXT_V5", - "STARBURST_TEXT_V5_PLC", - "COLLAGE_V1", - "SHOPPING_COLOR_INFO_V1_V2", - "SHOPPING_COLOR_INFO_V3", - "SHOPPING_COLOR_INFO_V3_WITHOUT_PER_DOMAIN_OUTPUTS", - "SHOPPING_COLOR_SAMPLING_V1", - "FOODNET_WIC_V1", - "FOODNET_WIC_V2", - "SINGLE_IMAGE_HOLISTIC_STABLE", - "SINGLE_IMAGE_HOLISTIC_EXP", - "MOKA_ATTRIBUTES_V1", - "MOKA_ATTRIBUTES_V1_1", - "MOKA_ATTRIBUTES_V1_2", - "MOKA_ATTRIBUTES_V2", - "GNN_OCR_EMB_V1", - "AKSARA_RPN_LAYOUT", - "GCN_LAYOUT", - "FACE_DETECTION_V1", - "FACE_DETECTION_LANDMARKLESS_V2", - "FACE_DETECTION_V2", - "PRODUCT_POSE_SHOE_V1", - "GOCR_LATEST", - "GOCR_STABLE", - "PAGEBURST_V1", - "PAGEBURST_V2", - "ADSBURST_V09", - "ADSBURST_COMP_V09", - "ADSBURST_V1_COMP", - "ADSBURST_V1_CONCAT", - "ADSBURST_BASIC_COAT4_V0", - "ADSBURST_HUBBLE_V1_COMP", - "ADSBURST_HUBBLE_V1_CONCAT", - "ADSBURST_DISCOVERY_UNCOMFORTABLE_V1", - "ADSBURST_DISCOVERY_NERV_SUBS_V1", - "ADSBURST_BASIC_TEXT_TOWER_V0", - "ADSBURST_V2", - "ADSBURST_V2_128D", - "ADSBURST_V2_64D", - "ADSBURST_V2_32D", - "ADSBURST_V2_1", - "ADSBURST_V2_1_128D", - "ADSBURST_V2_1_64D", - "ADSBURST_V2_1_32D", - "SHOPPING_IMAGE_TRANSFORMATION_UNCROP", - "SHOPPING_IMAGE_TRANSFORMATION_V2", - "SCREENAI_V1", - "SCREENAI_V2", - "SCREENAI_V2_MOBILE", - "SCREENAI_CLASSIFIER_V1", - "PERSONNET_V4", - "PERSONNET_V5", - "DEEP_IMAGE_ENGAGINGNESS_V1" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "UNSPECIFIED case for default value 0.", - "Raid versions.", - "", - "", - "Trained on RAID + Nest combined data, which improved detector performance on surveillance video frames.", - "", - "", - "", - "", - "", - "Barcode versions.", - "", - "", - "Logo versions.", - "DeepLogo", - "LogoMNet V1", - "LogoMNet V1 model with V2 index.", - "LogoMNet V2", - "LogoMNet V2 with hate symbol recognition.", - "ICA versions.", - "", - "", - "", - "", - "", - "", - "", - "", - "Nima versions.", - "", - "", - "", - "Attachment icon versions.", - "", - "Im2Shop local feature versions.", - "", - "NIMBY versions. The original version of the NIMBY raw feature from Q3 2019.", - "\"Mobile NIMBY\": A lightweight NIMBY model that take grayscale inputs. The output dimension is the same as NIMBY_V0, but the embeddings are different. Significant latency wins over NIMBY_V0 and also some quality wins.", - "The original version of NIMBY Tokens from Q3 2019.", - "\"Mobile NIMBY Tokens\": A lightweight NIMBY model that take grayscale inputs. The output dimension is the same as NIMBY_V0, but the embeddings are different. Significant latency wins over NIMBY_V0 and also some quality wins.", - "Im2Query labeled products versions.", - "", - "Place embedding versions.", - "", - "Starburst versions. LINT.IfChange", - "", - "Starburstv4 with stretch resize.", - "", - "", - "", - "", - "LINT.ThenChange(//depot/google3/image/content/proto/image_content.proto)", - "Attribute embedding versions.", - "PhotoCat versions. The photocat v1 signal is based on the photocat qic v1 model trained from the Starburst v3 embeddings and the ICA labels.", - "The photocat v3 signal is based on the photocat qic v3 model trained from the Starburst v4.5 embeddings.", - "The photocat v4 signal is based on the photocat qic v4 model trained from the Starburst v5 embeddings.", - "The photocat v5 signal is based on the photocat qic v5 model trained from the Starburst v5.5 embeddings.", - "Starburst text co-embedding versions.", - "", - "", - "", - "", - "Image collage model versions.", - "ColorInfo versions", - "When both SHOPPING_COLOR_INFO_V3_WITHOUT_PER_DOMAIN_OUTPUTS and SHOPPING_COLOR_INFO_V3 are in the request, SHOPPING_COLOR_INFO_V3's response is returned.", - "", - "", - "FoodNet whole image classifier versions.", - "", - "Single Image Holistic versions.", - "", - "Moka attributes.", - "", - "", - "", - "GNN OCR embedding.", - "OCR Page layout analysis versions.", - "", - "Face Detection versions. These versions are only used with module_wanted: \"face_detection\", with the intent of deprecating module_wanted: \"face_detection_nextgen\". When using FACE_DETECTION_V1, models with and without landmarks are specified by setting the \"Source\" value in VisualSearchRequestContext.face_detection_options to either FACESSD or FACESSD_LANDMARKLESS. Going forward, all new versions of face detectors will use the following enums to indicate whether the model produces landmarks, with a version numbering specifying how recent that model is. E.g. FACE_DETECTION_V3 will use a newer face detection model than FACE_DETECTION_V2, while FACE_DETECTION_LANDMARKLESS_V3 will use a newer landmarkless face detection model than FACE_DETECTION_LANDMARKLESS_V2.", - "", - "", - "Pursuit product pose versions.", - "GOCR versions.", - "", - "Pageburst versions.", - "", - "Adsburst versions.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Shopping image transformation versions.", - "", - "ScreenAI versions. IconNet.", - "IconNet, any image size.", - "IconNet, mobile image size.", - "ScreenAI classifier versions.", - "PersonNet versions.", - "", - "Deep image engagingness versions." - ], - "type": "string" - }, - "timestampMs": { - "description": "Timestamp in milliseconds for this frame.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchGenerativePredictionFeatures": { - "id": "VideoContentSearchGenerativePredictionFeatures", - "properties": { - "passage": { - "description": "Features for inferences from generative models.", - "type": "string" - }, - "predictions": { - "description": "Inference results.", - "items": { - "type": "string" - }, - "type": "array" - }, - "target": { - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchGenerativeTopicPredictionFeatures": { - "description": "The inference result features coming from the prediction service that generates the topics.", - "id": "VideoContentSearchGenerativeTopicPredictionFeatures", - "properties": { - "groundTruthTopic": { - "description": "This field is present if we already have a ground truth topic from the training data.", - "type": "string" - }, - "modelName": { - "description": "The name of the model where the predictions come from.", - "type": "string" - }, - "predictions": { - "description": "Inference results from the prediction service. Since we generally use beam search with beam_size \u003e 1, this field is repeated to capture all the generated topic beams.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoContentSearchInstructionAnchorFeatures": { - "description": "Anchor-level Metadata about Instruction anchors. TODO(keyvana) Update this proto.", - "id": "VideoContentSearchInstructionAnchorFeatures", - "properties": {}, - "type": "object" - }, - "VideoContentSearchInstructionTrainingDataAnchorFeatures": { - "description": "Anchor-level metadata about the instruction anchors. Each instruction passage anchor can contain multiple instruction steps and multiple description anchors and thus the following fields are defined as repeated.", - "id": "VideoContentSearchInstructionTrainingDataAnchorFeatures", - "properties": { - "bestAsrAndDescriptionAnchorsMatchInfo": { - "description": "The match info about the description anchor matches with the ASR n-grams in the instruction passage. Each element represents the best match between a given description anchor and all qualified n-grams within the passage.", - "items": { - "$ref": "VideoContentSearchSimilarityMatchInfo" - }, - "type": "array" - }, - "bestDescriptionAndInstructionAnchorsMatchInfo": { - "description": "The match info about the description anchor matches with the instruction anchors in a instruction passage. Each element represents the best match between a given description anchor and all the instruction anchors in the passage.", - "items": { - "$ref": "VideoContentSearchSimilarityMatchInfo" - }, - "type": "array" - }, - "instructionAnchorsMatchInfo": { - "description": "The match info about the instruction steps matches with the ASR. Each instruction step corresponds to a step extracted from a web doc. Each instruction passage can contain multiple instruction step matches thus the repeated field.", - "items": { - "$ref": "VideoContentSearchSimilarityMatchInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoContentSearchListAnchorFeatures": { - "description": "Anchor-level Metadata about list description anchors.", - "id": "VideoContentSearchListAnchorFeatures", - "properties": { - "babelMatch": { - "$ref": "VideoContentSearchTextMatchInfo", - "description": "The babel match info of the list anchor with its matched ASR text." - }, - "descriptionSpanInfo": { - "$ref": "VideoContentSearchDescriptionSpanInfo", - "description": "The description span metadata about list anchor when the anchor source is DESCRIPTION_SPANS." - }, - "listItemIndex": { - "description": "The list item index of this anchor in the video description.", - "format": "int32", - "type": "integer" - }, - "matchScores": { - "description": "The metadata about this list item's matches with different ASR snippets. This is currently used in the base model (DTW) to generate candidate anchors.", - "items": { - "$ref": "VideoContentSearchMatchScores" - }, - "type": "array" - }, - "pretriggerScore": { - "description": "The score from the pretrigger model.", - "format": "float", - "type": "number" - }, - "titleAnchorBabelMatchScore": { - "description": "Babel similarity between the anchor and the video title.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchListAnchorSetFeatures": { - "description": "Cluster-level Metadata about list anchors. Next id: 15.", - "id": "VideoContentSearchListAnchorSetFeatures", - "properties": { - "aggregatedSpanText": { - "description": "The following fields are used for description span anchors, The aggregated span token texts over all the span candidates of the anchor set.", - "type": "string" - }, - "anchorSetSpanScoreStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the span scores over the anchor set. This summary is calculated over the aggregation of the individual token spans belonging to the span candidates of anchors." - }, - "babelMatchScoreStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "Median, average and standard deviation of babel_match_score among anchors in the same VideoAnchors cluster." - }, - "contextTokenCountStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the context token counts over the anchor set." - }, - "durationSpanRatio": { - "description": "The ratio of anchors timespan duration over the total duration of the video. Anchors timespan duration is defined as the time span from the first anchor to the last anchor in VideoAnchors.", - "format": "float", - "type": "number" - }, - "durationToPredictedTimeMsStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "Median, average and standard deviation of duration_to_predicted_time_ms among anchors in the same VideoAnchors cluster." - }, - "listAnchorSource": { - "description": "The source of anchors extracted from the video descriptions.", - "enum": [ - "UNKNOWN_SOURCE", - "ORDERED_LIST_PARSER", - "DESCRIPTION_SPANS", - "STEPS_PARSER", - "DESCRIPTION_LIST_EXTRACTION" - ], - "enumDescriptions": [ - "", - "Anchors that are generated from ordered list parser of webanswers.", - "Anchors that are generated from applying the span model to the video description.", - "Anchors that are generated from the steps parser that extracts certain template list patterns for a video description.", - "Anchors generated by extracting ordered list elements from video description." - ], - "type": "string" - }, - "listDescriptionItemsSize": { - "description": "The total number of list items mentioned in the video description. Not all these list items are necessarily found as list anchors.", - "format": "int32", - "type": "integer" - }, - "matchedListDescriptionAnchorsRatio": { - "description": "The number of matched anchors in the list anchors over the total number of post-filtering list items in the video description, i.e. matched_list_description_anchors_ratio = matched_list_description_anchors_size / post_filtering_list_description_items_size.", - "format": "float", - "type": "number" - }, - "matchedListDescriptionAnchorsSize": { - "description": "The number of matched list anchors found in the ASR. The matched list anchors are a subset of the post-filtering list items in the video description, and as such matched_list_description_anchors_size \u003c= post_filtering_list_description_items_size.", - "format": "int32", - "type": "integer" - }, - "postFilteringListDescriptionItemsSize": { - "description": "The total number of list items in the video description that are actually considered for matching. This is a subset of list items in the video description that passed filterings such as language filtering, i.e. post_filtering_list_description_items_size \u003c= list_description_items_size", - "format": "int32", - "type": "integer" - }, - "pretriggerScoreStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "Median, average and standard deviation of pretrigger_score among anchors in the same cluster." - }, - "spanTokenCountRatioStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the span token count ratios over the anchor set." - }, - "spanTokenCountStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the span token counts over the anchor set." - } - }, - "type": "object" - }, - "VideoContentSearchListTrainingDataAnchorFeatures": { - "description": "Anchor-level metadata about the description anchors used as list items to build training data for list anchors.", - "id": "VideoContentSearchListTrainingDataAnchorFeatures", - "properties": { - "descriptionAnchorTimeMs": { - "description": "The timestamp of when the description anchor is annotated to appear in the video in ms.", - "format": "int32", - "type": "integer" - }, - "descriptionAnchorTimeToMatchedTimeMs": { - "description": "The time gap of when the description anchor is annotated to appear in the video (description_anchor_time_ms) from when it's matched in the ASR as the list anchor.", - "format": "int64", - "type": "string" - }, - "editDistance": { - "description": "Closest edit distance between the anchor generated by description span and the description anchor where the span anchor must be within small threshold time difference of the description anchor timestamp.", - "format": "int32", - "type": "integer" - }, - "editDistanceRatio": { - "description": "edit_distance over the description anchor's label length.", - "format": "float", - "type": "number" - }, - "matchedDescriptionText": { - "description": "The description anchor text used for matching to Span anchor text.", - "type": "string" - }, - "matchedSpanText": { - "description": "The description span anchor text that was the best match for the nearby description anchor.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchListTrainingDataSetFeatures": { - "description": "Cluster-level metadata about the description anchors used as list items to build training data for list anchors.", - "id": "VideoContentSearchListTrainingDataSetFeatures", - "properties": { - "editDistanceRatioStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "Summary of the edit_distance_ratios of the description spans from their best matched description anchor texts." - }, - "editDistanceStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "Summary of the edit_distances of the description spans from their best matched description anchor texts." - }, - "matchedDescriptionAnchorsTimegapStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "Median, average and standard deviation of time gaps of when the description anchors is annotated to appear in the video (description_anchor_time_ms) from when they are matched in the ASR as the list description anchors." - }, - "numDescriptionAnchors": { - "description": "Number of description anchors in the description of this video.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoContentSearchMatchScores": { - "id": "VideoContentSearchMatchScores", - "properties": { - "matchInfo": { - "items": { - "$ref": "VideoContentSearchTextMatchInfo" - }, - "type": "array" - }, - "method": { - "description": "The method used for matching, e.g. 'babel', 'nlp', 'neon', ßß'phonetic'.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchMetricStats": { - "description": "Median, mean and standard deviation of a feature value.", - "id": "VideoContentSearchMetricStats", - "properties": { - "max": { - "format": "float", - "type": "number" - }, - "mean": { - "format": "float", - "type": "number" - }, - "median": { - "format": "float", - "type": "number" - }, - "min": { - "format": "float", - "type": "number" - }, - "stddev": { - "format": "float", - "type": "number" - }, - "sum": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchMultimodalTopicFeatures": { - "description": "Multimodal features for a single generated topic. Next ID: 8", - "id": "VideoContentSearchMultimodalTopicFeatures", - "properties": { - "frameSimilarityInterval": { - "description": "The list of frame sequence similarities to this topic. The list of frames are picked to be around the topic timestamp. The set of frames selected are thresholded at a value to ensure the selected frame intervals are similar to the query.", - "items": { - "$ref": "VideoContentSearchFrameSimilarityInterval" - }, - "type": "array" - }, - "generativeTopicPredictionFeatures": { - "description": "The inference results from the prediction services that generate the topics.", - "items": { - "$ref": "VideoContentSearchGenerativeTopicPredictionFeatures" - }, - "type": "array" - }, - "navboostAnchorFeatures": { - "$ref": "VideoContentSearchNavboostAnchorFeatures", - "description": "Features related to queries generated using document navboost data with timed anchors. Only populated if the query was generated using this approach." - }, - "topic": { - "description": "The text of the generated topic.", - "type": "string" - }, - "topicEndMs": { - "description": "End time of the topic.", - "format": "int64", - "type": "string" - }, - "topicStartMs": { - "description": "Start time of the topic.", - "format": "int64", - "type": "string" - }, - "videoQuerySource": { - "description": "How the query was generated.", - "enum": [ - "UNKNOWN_QUERY_SOURCE", - "NAVBOOST_ANCHOR", - "ORACLE", - "GENERATED_NAVBOOST_ANCHOR", - "GENERATED_AQUARIUM_RETRIEVAL", - "ORACLE_PER_RESULT", - "ENTITY_ANCHOR", - "PRODUCT_ANCHOR", - "ANCHOR", - "RANKEMBED_GENERATED_NAVBOOST_ANCHOR", - "GENERATED_ORACLE_ANCHOR" - ], - "enumDescriptions": [ - "", - "Queries generated from a combination of video anchors and navboost queries.", - "Queries from Oracle result-set followups.", - "Queries generated with a generative model using Navboost-anchors as training data.", - "Queries generated with a generative model with training data from a retrieval model fetching queries with Aquarium and scoring them against video passages.", - "Queries from Oracle per-result followups.", - "Queries from entities extracted by Webref from the video transcript.", - "Queries extracted from different data sources for the Related Products feature.", - "Queries from the anchor text directly.", - "Queries generated from the rankembed nearest neighbor candidates of the Navboost-anchors.", - "Queries generated with a generative model using Oracle followups as training data." - ], - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchMultimodalTopicTrainingFeatures": { - "description": "Multimodal features for a single generated topic used to build training data.", - "id": "VideoContentSearchMultimodalTopicTrainingFeatures", - "properties": { - "maxFrameSimilarityInterval": { - "$ref": "VideoContentSearchFrameSimilarityInterval", - "description": "The similarity info for the frame with maximum similarity to the topic in its visual interval. The repeated similarity field in this proto has a single value corresponding to the maximum similarity. This similarity score is used to filter and pick the training data examples." - }, - "normalizedTopic": { - "description": "The topic/query normalized for Navboost and QBST lookups as well as fetching of the Rankembed nearest neighbors.", - "type": "string" - }, - "qbstTermsOverlapFeatures": { - "$ref": "VideoContentSearchQbstTermsOverlapFeatures", - "description": "QBST terms overlap features for a candidate query." - }, - "rankembedNearestNeighborsFeatures": { - "$ref": "VideoContentSearchRankEmbedNearestNeighborsFeatures", - "description": "Rankembed similarity features for a candidate nearest neighbor rankembed query." - }, - "saftEntityInfo": { - "$ref": "VideoContentSearchSaftEntityInfo", - "description": "The information about the saft entity annotation for this topic." - }, - "topicDenseVector": { - "description": "Raw float feature vector of the topic's co-text embedding representation in the Starburst space.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoContentSearchNamedEntity": { - "description": "Message for SAFT named entities.", - "id": "VideoContentSearchNamedEntity", - "properties": { - "entityType": { - "description": "Type name: e.g. /saft/person for a person's name.", - "type": "string" - }, - "text": { - "description": "Text referring to an entity of type entity_type;", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchNavboostAnchorFeatures": { - "description": "Features for queries generated using document navboost data with timed anchors.", - "id": "VideoContentSearchNavboostAnchorFeatures", - "properties": { - "anchorText": { - "description": "The anchor text used in the generated query.", - "type": "string" - }, - "navboostText": { - "description": "The navboost query used in the generated query.", - "type": "string" - }, - "source": { - "description": "How the navboost-anchor query was constructed.", - "enum": [ - "UNKNOWN_NAVBOOST_ANCHOR_SOURCE", - "ANCHOR_TEXT", - "NAVBOOST_AND_ANCHOR_TEXT", - "ANCHOR_SIMILAR_QUERY", - "NAVBOOST_AND_ANCHOR_SIMILAR_QUERY" - ], - "enumDescriptions": [ - "", - "The cleaned anchor text.", - "The cleaned anchor text concatenated with a navboost query for the video.", - "A similar query to the cleaned anchor text.", - "A similar query to the navboost-anchor concatenation." - ], - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchOCRText": { - "description": "Contains OCR text, its start time and additional details about position/fonts", - "id": "VideoContentSearchOCRText", - "properties": { - "ocrFeature": { - "$ref": "VideoContentSearchOnScreenTextFeature", - "description": "Additional details about position/font/color etc. for the OCR text" - }, - "ocrText": { - "description": "The OCR recognized text label", - "type": "string" - }, - "timeMs": { - "description": "The time in ms at which the OCR text appears on the frame", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchOcrAsrFeature": { - "id": "VideoContentSearchOcrAsrFeature", - "properties": { - "minCharEditDistance": { - "description": "The minimum char edit distance between the normalized OCR text and candidate word strings taken from a time window around the OCR appearance.", - "format": "int32", - "type": "integer" - }, - "minCharEditDistanceAsrText": { - "description": "The matched ASR candidate for minimum char edit distance.", - "type": "string" - }, - "minCharEditDistancePercent": { - "description": "The min_char_edit_distance divided by the length of the OCR string.", - "format": "float", - "type": "number" - }, - "ocrTextNormalizedForCharMatch": { - "description": "The normalized OCR text which was used to match the candidate.", - "type": "string" - }, - "ocrTextNormalizedForCharMatchLength": { - "description": "The length of the normalized OCR text.", - "format": "int32", - "type": "integer" - }, - "pretriggerScore": { - "description": "The score from the pretrigger model.", - "format": "float", - "type": "number" - }, - "wordOverlapAsrText": { - "description": "The ASR text that was used for the word overlap calculation.", - "type": "string" - }, - "wordOverlapCount": { - "description": "The number of words found both in the OCR text and the ASR in a time window around OCR appearance.", - "format": "int32", - "type": "integer" - }, - "wordOverlapPercent": { - "description": "The word_overlap_count divided by the number of words in the OCR text.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchOcrAsrSetFeature": { - "id": "VideoContentSearchOcrAsrSetFeature", - "properties": { - "normalizedWordOverlapScore": { - "description": "The word_overlap_score divided by the greatest word_overlap_score for any cluster in the VideoAnchorSets.", - "format": "float", - "type": "number" - }, - "wordOverlapScore": { - "description": "A score based on the number of overlapped words between the OCR and ASR for anchors in the cluster.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchOcrDescriptionTrainingDataAnchorFeatures": { - "description": "Metadata about the join of description anchors and OCR data which is used to build training data.", - "id": "VideoContentSearchOcrDescriptionTrainingDataAnchorFeatures", - "properties": { - "editDistance": { - "description": "The string edit distance from the anchor label to the nearest OCR text.", - "format": "int32", - "type": "integer" - }, - "editDistanceRatio": { - "description": "edit_distance over the description anchor's label length.", - "format": "float", - "type": "number" - }, - "matchedDescriptionText": { - "description": "The description anchor text used for matching to OCR text.", - "type": "string" - }, - "matchedFrameTimeMs": { - "description": "The time of the selected OCR frame in ms. The best frame in a window around the target description anchor will be selected.", - "format": "int32", - "type": "integer" - }, - "matchedOcrText": { - "description": "The OCR text that was the best match for the nearby description anchor.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchOcrDescriptionTrainingDataSetFeatures": { - "description": "Metadata about the join of description anchors and OCR data for a set of description anchors.", - "id": "VideoContentSearchOcrDescriptionTrainingDataSetFeatures", - "properties": { - "maxEditDistance": { - "description": "The max edit distance of any description anchor to its closest OCR text.", - "format": "int32", - "type": "integer" - }, - "maxEditDistanceRatio": { - "description": "The maximum of (edit distance of any description anchor to its closest OCR text over description anchor label length).", - "format": "float", - "type": "number" - }, - "medianEditDistance": { - "description": "The median edit distance of any description anchor to its closest OCR text.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoContentSearchOcrVideoFeature": { - "description": "Features for video level info.", - "id": "VideoContentSearchOcrVideoFeature", - "properties": { - "averageTextAreaRatio": { - "description": "Average text area ratio throughout video frames. Text area ratio for a frame is defined by sum(text area) / image area.", - "format": "float", - "type": "number" - }, - "clusterIdToFrameSize": { - "additionalProperties": { - "format": "int32", - "type": "integer" - }, - "description": "Cluster id to the num of frames in each cluster.", - "type": "object" - }, - "durationInMs": { - "description": "Total time of this video in milliseconds.", - "format": "int32", - "type": "integer" - }, - "langIdDetectedLanguage": { - "description": "Video level detected language by lang id, aggregated from each frame.", - "type": "string" - }, - "numClusters": { - "description": "The number of ShotInfo clusters.", - "format": "int32", - "type": "integer" - }, - "numFrames": { - "description": "The number of video frames contained in ShotInfo cluster.", - "format": "int32", - "type": "integer" - }, - "ocrDetectedLanguage": { - "description": "Video level detected language, aggregated from each frame.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchOnScreenTextClusterFeature": { - "description": "Features for the set of OnScreenText.", - "id": "VideoContentSearchOnScreenTextClusterFeature", - "properties": { - "averageConfidence": { - "description": "Average confidence.", - "format": "float", - "type": "number" - }, - "averageDurationRatio": { - "format": "float", - "type": "number" - }, - "averageHorizontalPosition": { - "format": "float", - "type": "number" - }, - "averageOcrTextLength": { - "deprecated": true, - "description": "Deprecated. Please use ocr_text_length_stats.median instead. The average length of anchor labels. average_ocr_text_length is deprecated, because now ocr_text_length_stats has a field for holding the same value.", - "format": "float", - "type": "number" - }, - "averageOfAverageTextHeightRatio": { - "deprecated": true, - "description": "Deprecated. Please use text_height_ratio_stats.mean instead. Average value of text height ratio (over image height), which is taken average over the same text. average_of_average_text_height_ratio is deprecated, because now text_height_ratio_stats has a field for keeping the same value.", - "format": "float", - "type": "number" - }, - "averageVerticalPosition": { - "description": "Average of label center position.", - "format": "float", - "type": "number" - }, - "clusterRatio": { - "description": "The number of anchors in the cluster over the number of anchors in the video.", - "format": "float", - "type": "number" - }, - "clusterSize": { - "description": "The number of anchors in the cluster.", - "format": "int32", - "type": "integer" - }, - "countingNumberRatio": { - "description": "The number of anchors that had a counting number over the number of anchors in total.", - "format": "float", - "type": "number" - }, - "durationMsStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "Median, average and standard deviation of duration_ms among anchors in the same cluster." - }, - "frameSizeRatio": { - "description": "Frame size ratio over total frames in video.", - "format": "float", - "type": "number" - }, - "logOcrTextLengthStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "Average and standard deviation of logarithm of the length of labels among anchors in the same cluster." - }, - "logTextHeightRatioStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "Average and standard deviation of log(average_text_height_ratio) among anchors in the same cluster." - }, - "logp1000DurationMsStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "Average and standard deviation of log(1000 + duration_ms) among anchors in the same cluster. Since duration_ms can be zero, 1000 is added before applying logarithm." - }, - "maxVideoDurationRatioBetweenAnchors": { - "description": "The maximum ratio of duration between two consecutive anchors to video duration. This is calculated after all anchor filtering has been completed.", - "format": "float", - "type": "number" - }, - "maximumDurationRatio": { - "description": "Stats for ratio of frame time intervals, over total video time.", - "format": "float", - "type": "number" - }, - "medianClusteringDistance": { - "description": "The median cluster distance for the anchors in the cluster. The way the distance is calculated will vary depending on the clustering method.", - "format": "float", - "type": "number" - }, - "medianDurationRatio": { - "format": "float", - "type": "number" - }, - "medianOfAverageTextHeightRatio": { - "deprecated": true, - "description": "Deprecated. Please use text_height_ratio_stats.median instead. Median value of text height ratio (over image height), which is taken average over the same text. median_of_average_text_height_ratio is deprecated, because now text_height_ratio_stats has a field for keeping the same value.", - "format": "float", - "type": "number" - }, - "ocrAsrFeature": { - "$ref": "VideoContentSearchOcrAsrSetFeature", - "description": "Features for the overlap between OCR and ASR." - }, - "ocrTextLengthStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "Median, average and standard deviation of the length of labels among anchors in the same cluster." - }, - "stddevDurationRatio": { - "format": "float", - "type": "number" - }, - "textHeightRatioStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "Median, average and standard deviation of average_text_height_ratio among anchors in the same cluster." - } - }, - "type": "object" - }, - "VideoContentSearchOnScreenTextFeature": { - "description": "Keep feature values which are useful to filter titles, labels.", - "id": "VideoContentSearchOnScreenTextFeature", - "properties": { - "averageAngle": { - "description": "The average of rotation angles (degree) of texts.", - "format": "float", - "type": "number" - }, - "averageConfidence": { - "description": "Average value of confidence.", - "format": "float", - "type": "number" - }, - "averageFontsize": { - "description": "Font size or weight information. This is extracted from internal message, so may not be available in future.", - "format": "float", - "type": "number" - }, - "averageFontweight": { - "format": "float", - "type": "number" - }, - "averageHeightRatio": { - "format": "float", - "type": "number" - }, - "backgroundBlue": { - "format": "float", - "type": "number" - }, - "backgroundGray": { - "format": "float", - "type": "number" - }, - "backgroundGreen": { - "format": "float", - "type": "number" - }, - "backgroundRed": { - "format": "float", - "type": "number" - }, - "boxHeightRatio": { - "format": "float", - "type": "number" - }, - "boxWidthRatio": { - "description": "Box width and height ratio, against to the frame size, so the value range is [0, 1]. If this text feature consists of multiple text boxes, the box width / height is a union of each text box.", - "format": "float", - "type": "number" - }, - "centerHorizontalPositionRatio": { - "description": "Horizontal position of the center of this text, by ratio [0.0, 1.0].", - "format": "float", - "type": "number" - }, - "centerVerticalPositionRatio": { - "description": "Vertical position of the center of this text, by ratio [0.0, 1.0].", - "format": "float", - "type": "number" - }, - "countingNumber": { - "description": "Counting number in this anchor's original label.", - "format": "int32", - "type": "integer" - }, - "countingNumberOooRatio": { - "description": "# of numbered anchors that are not out-of-order / # of all the numbered anchors. If no counting number is detected, this will be empty.", - "format": "float", - "type": "number" - }, - "countingNumberPrefix": { - "description": "Prefix for counting number in this anchor's label. If no counting number is detected, this will be empty.", - "type": "string" - }, - "countingNumberSuffix": { - "description": "Suffix for counting number in this anchor's label. If no counting number is detected, this will be empty.", - "type": "string" - }, - "durationMs": { - "description": "Duration time in millisec.", - "format": "int32", - "type": "integer" - }, - "foregroundBlue": { - "format": "float", - "type": "number" - }, - "foregroundGray": { - "description": "Color information, normalized to [0-1]. This color information is extracted from the largest word in the line entities of PageLayout message. See goodoc::PageLayoutEntity::Colors for details.", - "format": "float", - "type": "number" - }, - "foregroundGreen": { - "format": "float", - "type": "number" - }, - "foregroundRed": { - "format": "float", - "type": "number" - }, - "hadUrlInLabel": { - "description": "Whether or not this anchor had URL in its label before the label fixing step.", - "type": "boolean" - }, - "handwrittenTextRatio": { - "description": "# of LINE entities that are recognized as handwritten texts over # of merged LINE entities.", - "format": "float", - "type": "number" - }, - "isCountingNumberOoo": { - "description": "Whether or not the counting number in this anchor's label is out-of-order. If no counting number is detected, this will be empty.", - "type": "boolean" - }, - "languages": { - "description": "Languages predicted by OCR. \"repeated\" is employed for this field because LINE entities of PageLayout message are sometimes annotated with multiple languages, and also two VideoAnchor that are annotated with different languages can be merged into one VideoAnchor. When two VideoAnchor are merged into one, the weight field values of the new VideoAnchor will be the average of weight field values weighted by merged_line_count.", - "items": { - "$ref": "GoodocLanguageCombinationLanguage" - }, - "type": "array" - }, - "leftPositionRatio": { - "description": "Left position of this text, by ratio [0, 1].", - "format": "float", - "type": "number" - }, - "medianClusteringDistance": { - "description": "The median distance between this anchor and other anchors in the cluster. The way the distance is calculated will vary depending on the clustering method.", - "format": "float", - "type": "number" - }, - "mergedLineCount": { - "description": "The number of LINE entities used for this text.", - "format": "int32", - "type": "integer" - }, - "nTextsInSameFrame": { - "description": "# of OCR texts that appear in the same frame. If duration of this OCR text is not zero, the maximum number among multiple frames where this OCR text appears is set to this field.", - "format": "int32", - "type": "integer" - }, - "occurrenceCount": { - "description": "The number of OCR texts that have the same text among temporally-merged OCR texts.", - "format": "float", - "type": "number" - }, - "occurrenceRatio": { - "description": "occurrence_count over the number of anchors merged to this anchor.", - "format": "float", - "type": "number" - }, - "ocrAsrFeature": { - "$ref": "VideoContentSearchOcrAsrFeature", - "description": "Features for the overlap between OCR and ASR." - }, - "originalLabel": { - "description": "The label this VideoAnchor originally had before label clearning steps.", - "type": "string" - }, - "relativeShotTimeMsPosteriorToEndTime": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "relativeShotTimeMsPosteriorToStartTime": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "relativeShotTimeMsPriorToEndTime": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "relativeShotTimeMsPriorToStartTime": { - "deprecated": true, - "description": "Shot boundary time nearest to OnScreenText's start and end time. The time is relative to each OnScreenText's start / end time (ex. -1 means shot time exists prior to the start / end time). If shot time and start/end time is the same, 0 is set in 'prior' field. If no shot info is available, the below fields are not set.", - "format": "int32", - "type": "integer" - }, - "shotInfoCountDuringText": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "topOcrLanguage": { - "description": "OCR language that has the highest weight.", - "type": "string" - }, - "topPositionRatio": { - "description": "Note that top-left position is (0, 0) for position values. Top position of this text, by ratio [0, 1].", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchQbstTermsOverlapFeatures": { - "description": "QBST terms overlap features for the candidate query.", - "id": "VideoContentSearchQbstTermsOverlapFeatures", - "properties": { - "qbstAnchorOverlap": { - "description": "Fraction of salient terms of original query covered by anchor text.", - "format": "float", - "type": "number" - }, - "qbstNavboostOverlap": { - "description": "Fraction of salient terms of original query covered by top navboost query of the video.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchQnaAnchorFeatures": { - "description": "Features for individual Q\u0026A anchors. Next ID: 23", - "id": "VideoContentSearchQnaAnchorFeatures", - "properties": { - "answer": { - "description": "Segment of text from the ASR.", - "type": "string" - }, - "descartesDotScore": { - "deprecated": true, - "format": "float", - "type": "number" - }, - "descartesRankingScore": { - "deprecated": true, - "format": "float", - "type": "number" - }, - "dolphinModelType": { - "enum": [ - "DOLPHIN_MODEL_TYPE_UNKNOWN", - "VIDEO_QA_TEACHER_V2", - "VIDEO_QA_V11" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "dolphinScore": { - "description": "Dolphin score calculated using the question as the query, the ASR passage as the answer. See go/dolphin-models to learn more.", - "format": "float", - "type": "number" - }, - "editDistance": { - "description": "Edit distance of the question and the title from 0 to 1 where 1 is most similar.", - "format": "float", - "type": "number" - }, - "endMs": { - "description": "End time in milliseconds relative to the beginning of the video.", - "format": "int64", - "type": "string" - }, - "ensembleScore": { - "format": "float", - "type": "number" - }, - "isDuplicateOfTitle": { - "description": "True if question_title_similarity is less than 0.2.", - "type": "boolean" - }, - "neonScore": { - "description": "Neon similarity of question and title.", - "format": "float", - "type": "number" - }, - "pointwiseNormalizedGapScore": { - "description": "Pointwise GAP normalized score. Score ranges from 0 to 1 and corresponds to GAP precision. See go/wa-cgap-to-pgap-migration to learn more.", - "format": "float", - "type": "number" - }, - "qbstScore": { - "description": "QBST similarity of question and title.", - "format": "float", - "type": "number" - }, - "queryCount": { - "description": "NavBoostFeature f_query_count for questions that are NavBoost queries.", - "format": "float", - "type": "number" - }, - "queryDocCount": { - "description": "NavBoostFeature f_query_doc_count for questions that are NavBoost queries.", - "format": "float", - "type": "number" - }, - "question": { - "description": "Question from Related Questions SSTable or NavBoost.", - "type": "string" - }, - "questionTitleSimilarity": { - "deprecated": true, - "format": "float", - "type": "number" - }, - "questionType": { - "enum": [ - "UNKNOWN", - "ENTITY", - "NAVBOOST", - "GLUE_WEBANS", - "INSTANT_NAVBOOST" - ], - "enumDescriptions": [ - "", - "Questions sourced from joining WebRef entities in CDocs with the Related Question's E2Q table.", - "Questions sourced from the CDoc's NavBoost queries.", - "Questions from WebAnswer queries that bypass D2Q filtering.", - "Questions sourced from the CDoc's Instant NavBoost queries." - ], - "type": "string" - }, - "startMs": { - "description": "Start time in milliseconds relative to the beginning of the video.", - "format": "int64", - "type": "string" - }, - "videoDurationMs": { - "description": "Duration of the video.", - "format": "int64", - "type": "string" - }, - "videoTitle": { - "description": "Video title.", - "type": "string" - }, - "webrefMid": { - "description": "Mid corresponding to the WebRef entity from the CDoc that was used to source the question.", - "type": "string" - }, - "webrefTopicalityScore": { - "description": "The WebRef entity topicality score. Learn more about this score at: http://go/topicality-score", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchQnaAnchorSetFeatures": { - "description": "Debug info for Q\u0026A anchors. Next ID: 15", - "id": "VideoContentSearchQnaAnchorSetFeatures", - "properties": { - "backgroundEncodingPath": { - "description": "Path to Descartes background encoding in the form of a serialized drishti.DenseFeatureData proto. This is generated by the flume_generate_background_encoding binary.", - "type": "string" - }, - "descartesModelVersion": { - "description": "This field is used for debugging which model the decartes_model_score is generated from. You can learn more about the Descartes model at go/descartes-qa.", - "type": "string" - }, - "descartesScoreThreshold": { - "description": "Descartes score threshold for determining whether to output a QA pair as an anchor. This currently effects only the Descartes ranking score.", - "format": "float", - "type": "number" - }, - "dolphinConfig": { - "$ref": "VideoContentSearchDolphinScoringConfig", - "description": "The configuration used for fetching Dolphin scores." - }, - "ensembleModelPath": { - "description": "Path to Ranklab ensemble model used in post-trigger step.", - "type": "string" - }, - "ensembleModelScoreThreshold": { - "description": "Minimum score for video anchor to pass the post-trigger step. Calculated by training a logisitic regression model with 95% precision. Training colab can be found at go/video-qa-ensemble.", - "format": "float", - "type": "number" - }, - "minEntityTopicalityScore": { - "description": "Threshold for determining whether to consider an entity from a CDoc for sourcing questions on that topic. Learn more about this score at: http://go/topicality-score", - "format": "float", - "type": "number" - }, - "minQuestionDistance": { - "description": "Threshold for determining whether questions belong in the same cluster.", - "format": "float", - "type": "number" - }, - "relatedQuestionsSstablePath": { - "description": "Path to the Related Questions SSTable that maps entities to questions.", - "type": "string" - }, - "spanDurationSecs": { - "description": "The duration threshold for merging captions.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchRankEmbedNearestNeighborsFeatures": { - "description": "Rankembed neighbor neighbor features for the candidate query.", - "id": "VideoContentSearchRankEmbedNearestNeighborsFeatures", - "properties": { - "anchorReSimilarity": { - "description": "Rankembed similarity between the rankembed neighbor and the video anchor.", - "format": "float", - "type": "number" - }, - "navQueryReSimilarity": { - "description": "Rankembed similarity between the rankembed neighbor and the top navboost query of the video.", - "format": "float", - "type": "number" - }, - "reSimilarity": { - "description": "Rankembed similarity between the rankembed neighbor and the original query candidate.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchSaftEntityInfo": { - "description": "Saft named-entities info for a given topic.", - "id": "VideoContentSearchSaftEntityInfo", - "properties": { - "canonicalEntityName": { - "description": "Representative canonical name for the entity.", - "type": "string" - }, - "entitySalience": { - "description": "Score indicating the saliency (centrality) of this entity to the original_text.", - "format": "double", - "type": "number" - }, - "entityTypeName": { - "description": "The type name, like \"/saft/person\", \"/saft/art\". See README.entity-types for the inventory of SAFT type tags.", - "type": "string" - }, - "mentionText": { - "description": "Representative entity name mention extracted from original_text.", - "type": "string" - }, - "mentionType": { - "description": "SAFT Mention type.", - "enum": [ - "NAM", - "NOM", - "PRE", - "PRO", - "CMC", - "NRP", - "VRB", - "IMP" - ], - "enumDeprecated": [ - false, - false, - true, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "name mention (proper noun)", - "nominal mention (common noun)", - "pre-nominal mention", - "pronominal mention", - "conjoined mention construction", - "mention of a non-referential pronoun", - "Verbal mention (head of verb phrase antecedents in discourse deixis).", - "Implicit mention (e.g., elliptical subjects in pro-drop languages). The facet in the phrase indicates its role with respect to the phrase token." - ], - "type": "string" - }, - "mid": { - "description": "Freebase MID for entity if this the saft entity corresponds to a Webref KG mid. This field is not always populated and is taken from FREEBASE_MID mid in EntityProfile in the saft entity annotation.", - "type": "string" - }, - "originalText": { - "description": "The original input text (e.g. the anchor text) where the saft entity annotation was run on.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchShoppingOpinionsAnchorFeatures": { - "description": "Features for an individual Shopping Opinions Anchor. This file is used for video anchor use case. Next Id: 34", - "id": "VideoContentSearchShoppingOpinionsAnchorFeatures", - "properties": { - "anchorLabel": { - "description": "The anchor label.", - "type": "string" - }, - "anchorLabelFirstMentionPos": { - "description": "The first anchor_label mention position (word index, 0-based). It is computed from the snippet_sub_segment if exists. Otherwise it is computed from the snippet. It is not populated if there is no such mention.", - "format": "int32", - "type": "integer" - }, - "anchorLabelSentiment": { - "description": "The sentiment score of the anchor label, with range: [-1, 1]. If using Lumin Pro/Con tags as the anchor labels, the \"Pro\" Lumin tag will have a score of 1 and Con Lumin tag will have a score of -1.", - "format": "float", - "type": "number" - }, - "anchorLabelWordsMentions": { - "description": "The number of times words in anchor label (that is not a stopword) being mentioned in the snippet.", - "format": "int32", - "type": "integer" - }, - "anchorOrAspectFirstMentionPos": { - "description": "The smaller number of anchor_label_first_mention_pos and lumin_aspect_first_mention_pos.", - "format": "int32", - "type": "integer" - }, - "anchorOrAspectWordsMentions": { - "description": "The number of times words in anchor label or Lumin aspect (that is not a stopword) being mentioned in the snippet. If a word exists in both anchor label and Lumin aspect, it shall be only counted once for a mention in the snippet.", - "format": "int32", - "type": "integer" - }, - "aspect": { - "$ref": "VideoContentSearchAspect", - "description": "Product aspect being discussed by this Shopping Opinions." - }, - "asrForProConExtraction": { - "description": "The asr with sentence break that was used for pro/con extraction.", - "type": "string" - }, - "babelSimilarityScore": { - "description": "The Babel similarity score between the snippet and the anchor label.", - "format": "float", - "type": "number" - }, - "conScore": { - "description": "The classification score of the anchor being a con opinion.", - "format": "float", - "type": "number" - }, - "grampusScore": { - "description": "The score from the Grampus model if the pro/con is extracted by Grampus.", - "format": "float", - "type": "number" - }, - "isCon": { - "description": "Whether the anchor is classified as a con opinion.", - "type": "boolean" - }, - "isPro": { - "description": "Whether the anchor is classified as a pro opinion.", - "type": "boolean" - }, - "isProConWhenExtractedFromMum": { - "description": "True if the anchor is considered as pro or con when extracted from MUM.", - "type": "boolean" - }, - "luminAspect": { - "description": "The lumin aspect of the Pro/Con Lumin tag. e.g. \"weight\".", - "type": "string" - }, - "luminAspectFirstMentionPos": { - "description": "The first Lumin aspect mention position (word index, 0-based). It is computed from the snippet_sub_segment if exists. Otherwise it is computed from the snippet. It is not populated if there is no such mention.", - "format": "int32", - "type": "integer" - }, - "luminAspectWordsMentions": { - "description": "The number of times words in Lumin aspect (that is not a stopword) being mentioned in the snippet.", - "format": "int32", - "type": "integer" - }, - "luminScore": { - "description": "The Lumin model score for the anchor label against the segment.", - "format": "float", - "type": "number" - }, - "mumProductAspect": { - "description": "The product aspect of the pro/con generated using the MUM model.", - "type": "string" - }, - "mumScore": { - "description": "The score from the MUM model if the pro/con anchor is extracted by MUM.", - "format": "float", - "type": "number" - }, - "opinionsDolphinDescriptivenessScore": { - "description": "Scores from Opinions Dolphin scorer. Opinions Dolphin scorer is built by finetuning the Dolphin-based Video Anchor Unified Scorer V2 on the Opinions anchors ratings. It outputs two scores, which are optimized for descriptiveness and usefulness ratings respectively. 'descriptiveness_score' measures how well the anchor label describes the video section. 'usefulness_score' measures how useful the anchor label is for jumping to an important section in the video. go/vs-opinions-migration-report", - "format": "float", - "type": "number" - }, - "opinionsDolphinUsefulnessScore": { - "format": "float", - "type": "number" - }, - "proScore": { - "description": "The classification score of the anchor being a pro opinion.", - "format": "float", - "type": "number" - }, - "productNameFromTitle": { - "description": "The product name from title extracted by the grampus model.", - "type": "string" - }, - "question": { - "description": "The question used to score this video segment.", - "type": "string" - }, - "snippet": { - "description": "The ASR for the selected segment window.", - "type": "string" - }, - "snippetQaScore": { - "description": "The QA model score for the selected segment window against the question.", - "format": "float", - "type": "number" - }, - "snippetSentimentScore": { - "description": "The go/scarlett sentiment score of the selected segment window. Positive score represents positive sentiment. Negative score represents negative sentiment.", - "format": "float", - "type": "number" - }, - "snippetSubSegment": { - "description": "The ASR for the best matched sub segment inside the selected segment.", - "type": "string" - }, - "snippetSubSegmentQaScore": { - "description": "The QA model score for the best sub segment against the question.", - "format": "float", - "type": "number" - }, - "snippetSubSegmentSentimentScore": { - "description": "The go/scarlett sentiment score of the best matched sub segment. Positive score represents positive sentiment. Negative score represents negative sentiment.", - "format": "float", - "type": "number" - }, - "snippetSubSegmentWordCount": { - "description": "The number of words in the ASR for the best matched sub segment.", - "format": "int32", - "type": "integer" - }, - "snippetWordCount": { - "description": "The number of words in the ASR for the selected segment window.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoContentSearchSimilarityMatchInfo": { - "id": "VideoContentSearchSimilarityMatchInfo", - "properties": { - "instructionStartMs": { - "description": "The timestamp of when the first token in the token sequence is spoken in the video.", - "format": "int32", - "type": "integer" - }, - "instructionText": { - "description": "The instruction step text coming from the web document. Currently only populated for best_description_and_instruction_anchors_match_info.", - "type": "string" - }, - "referenceText": { - "description": "The reference text used for matching against token_sequence (e.g. description anchor text or instruction step text).", - "type": "string" - }, - "referenceTextTimeMs": { - "description": "The timestamp of when the reference text is pointing in the video (e.g. this is the description anchor timestamp when reference_text is description anchor. For instruction step used as the reference, no timestamps exists and thus this field is not populated).", - "format": "int32", - "type": "integer" - }, - "scoringMethodName": { - "description": "Similarity scorer name.", - "type": "string" - }, - "similarityScore": { - "description": "The similarity score given by the scoring method specified by the message scoring_method_name.", - "format": "float", - "type": "number" - }, - "stepIndex": { - "description": "The index of the step in HowToInstructions that this token_sequence corresponds to.", - "format": "int32", - "type": "integer" - }, - "tokenSequence": { - "description": "The matched token sequence text in ASR.", - "type": "string" - }, - "tokenSequenceLength": { - "description": "The length of the tokens in the token sequence.", - "format": "int32", - "type": "integer" - }, - "tokenStartPos": { - "description": "The token offset of the matched token sequence from the beginning of the document.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoContentSearchSpanDolphinFeatures": { - "id": "VideoContentSearchSpanDolphinFeatures", - "properties": { - "passage": { - "description": "The text passage from ASR.", - "type": "string" - }, - "title": { - "description": "The title of the video.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchSpanDolphinScores": { - "id": "VideoContentSearchSpanDolphinScores", - "properties": { - "spanCandidate": { - "description": "The span candidates extracted from the list of span tokens. Each token is added to a span if its score is above a certain threshold.", - "items": { - "$ref": "VideoContentSearchSpanDolphinScoresSpanCandidate" - }, - "type": "array" - }, - "spanToken": { - "description": "The token-score pairs for the passage.", - "items": { - "$ref": "VideoContentSearchSpanDolphinScoresSpanToken" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoContentSearchSpanDolphinScoresSpanCandidate": { - "id": "VideoContentSearchSpanDolphinScoresSpanCandidate", - "properties": { - "asrConfidenceStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the token asr_confidence scores that make up the candidate." - }, - "scoreStats": { - "$ref": "VideoContentSearchMetricStats", - "description": "A summary of the token scores that make up the candidate." - }, - "sourcePassage": { - "description": "The passage text from which this span candidate belongs to. In case of description spans, this field stores the sentence containing the span candidate where the sentence is a subset of the passage used for generating the span candidate.", - "type": "string" - }, - "text": { - "description": "The span candidate text.", - "type": "string" - }, - "timeMs": { - "description": "The start time for the span candidate.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchSpanDolphinScoresSpanToken": { - "id": "VideoContentSearchSpanDolphinScoresSpanToken", - "properties": { - "asrConfidence": { - "description": "The ASR confidence for the token, if available.", - "format": "float", - "type": "number" - }, - "isSentenceStart": { - "description": "Whether or not this token is the first token in a sentence.", - "type": "boolean" - }, - "score": { - "description": "A score correlated with the probability that the token is part of a span candidate.", - "format": "float", - "type": "number" - }, - "text": { - "description": "The token text.", - "type": "string" - }, - "timeMs": { - "description": "The start time of the passage with this token.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchSportsKeyMomentsAnchorSetFeatures": { - "description": "Features for a set of Sports Key Moments (SKM) Anchors. Each instance of this object should be associated with a VideoAnchorSets object. Next ID: 3", - "id": "VideoContentSearchSportsKeyMomentsAnchorSetFeatures", - "properties": { - "prefilterClassificationLabel": { - "description": "The Prefilter classification label associated with the video that contains the VideoAnchorSets this object is asociated with. E.g. \"basketball\".", - "type": "string" - }, - "tensorflowModelVersion": { - "description": "Version of the underlying TensorFlow model.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchTextMatchInfo": { - "id": "VideoContentSearchTextMatchInfo", - "properties": { - "durationToPredictedTimeMs": { - "description": "The time gap of the matched_time_ms from the predicted timestamp of when this anchor should appear in the video.", - "format": "int64", - "type": "string" - }, - "matchScore": { - "description": "The float similarty score from the anchor label to matched_asr_text.", - "format": "float", - "type": "number" - }, - "matchedAsrStartPos": { - "description": "The start token offset from the beginning of ASR where matched_asr_text starts.", - "format": "int32", - "type": "integer" - }, - "matchedAsrText": { - "description": "The ASR text that was a candidate match for the list anchor.", - "type": "string" - }, - "matchedAsrTimeMs": { - "description": "The timestamp of the matched ASR in the video in milliseconds.", - "format": "int64", - "type": "string" - }, - "matchedAsrTimeRatio": { - "description": "The ratio of the matched_asr_time_ms over the total duration of the video.", - "format": "float", - "type": "number" - }, - "matchedAsrTokenCount": { - "description": "The number of tokens in matched_asr_text", - "format": "int32", - "type": "integer" - }, - "matchedDescriptionItemIndexRatio": { - "description": "The ratio of the video description item index this match corresponds to over the total number of list description items for the video.", - "format": "float", - "type": "number" - }, - "matchedDescriptionText": { - "description": "The video description text matched with the ASR that's used as the anchor label.", - "type": "string" - }, - "matchedDescriptionTokenCount": { - "description": "The number of tokens in matched_description_text.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoContentSearchTextSimilarityFeatures": { - "id": "VideoContentSearchTextSimilarityFeatures", - "properties": { - "hypothesisText": { - "description": "The hypothesis text that was used for the token overlap calculation.", - "type": "string" - }, - "hypothesisTextTime": { - "description": "The time in ms for the hypothesis_text.", - "format": "int64", - "type": "string" - }, - "referenceText": { - "type": "string" - }, - "scoringMethodName": { - "description": "Similarity scorer name.", - "type": "string" - }, - "similarityScore": { - "description": "The similarity score given by the scoring method specified by the message scoring_method_name.", - "format": "float", - "type": "number" - }, - "tokenMatchCount": { - "description": "Token by token matching stats. Exact matched token count.", - "format": "int32", - "type": "integer" - }, - "tokenMatchPercent": { - "description": "The token_overlap_count divided by the number of tokens in the hypothesis text.", - "format": "float", - "type": "number" - }, - "wordAlignment": { - "description": "Word by word alignment.", - "items": { - "$ref": "VideoContentSearchTokenAlignment" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoContentSearchTokenAlignment": { - "description": "Token by token mapping between hypothesis text and reference text.", - "id": "VideoContentSearchTokenAlignment", - "properties": { - "hypothesisIndex": { - "description": "Index of the token in hypothesis text.", - "format": "int32", - "type": "integer" - }, - "hypothesisToken": { - "description": "Token in hypothesis.", - "type": "string" - }, - "referenceIndex": { - "description": "Index of the word in reference.", - "format": "int32", - "type": "integer" - }, - "referenceToken": { - "description": "Token in label.", - "type": "string" - }, - "tokenIsMatched": { - "description": "Whether it's a perfect match.", - "type": "boolean" - } - }, - "type": "object" - }, - "VideoContentSearchTokenTimingInfo": { - "description": "Token level timing information for ASR spans. This is expected to be extracted from PseudoVideoData in the CDoc. Next ID: 5", - "id": "VideoContentSearchTokenTimingInfo", - "properties": { - "confidence": { - "description": "Generated from th PseudoVideoData Timestamp Confidence field, which is quantized values in range 0-127. To convert to range 0-1 this field divides the PseudoVideoData Timestamp Confidence field by 127.", - "format": "float", - "type": "number" - }, - "durationMs": { - "format": "int64", - "type": "string" - }, - "startMs": { - "format": "int64", - "type": "string" - }, - "text": { - "description": "Should be a single token.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchVideoActions": { - "description": "Video level info for online pipeline usage. For example: skip pattern as defined in https://schema.org/SeekToAction.", - "id": "VideoContentSearchVideoActions", - "properties": { - "skipPatternStartOffsetInput": { - "description": "startOffset_input name as defined in https://schema.org/SeekToAction", - "type": "string" - }, - "skipToTimePattern": { - "description": "Skip to time pattern as defined in https://schema.org/SeekToAction", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchVideoAnchor": { - "description": "Next ID: 23", - "id": "VideoContentSearchVideoAnchor", - "properties": { - "anchorScore": { - "description": "The score indicating anchor confidence.", - "format": "float", - "type": "number" - }, - "anchorType": { - "description": "Specifies the type of the anchor.", - "enum": [ - "UNKNOWN", - "DESCRIPTION_ANCHOR", - "LIST", - "OCR", - "LIST_ENTITY", - "CAPTION_ENTITY", - "KEY_MOMENT", - "QUESTION_AND_ANSWER", - "MARKUP", - "OCR_ASR", - "ASR_SPAN", - "INSTRUCTION", - "DESCRIPTION_SPAN", - "EXPERIMENTAL_MORE_VIDEO_ANSWERS", - "SHOPPING_OPINIONS", - "GENERATED_QUERY", - "HIGHLIGHTED_SNIPPET", - "SHORT_TOPIC_HEADING_GROUP", - "SHOPPING_ASR_SPAN", - "RADISH_QA", - "GENERATIVE_ASR", - "ASR_TRANSCRIPT", - "COMMENT", - "GENERATIVE_ASR_V2", - "SUMMARY_SEGMENT", - "OCR_EDU", - "ASR_SPAN_EDU", - "GENERATIVE_ASR_I18N", - "YT_AUTO_CHAPTERS", - "OCR_I18N" - ], - "enumDescriptions": [ - "", - "Anchors with the time stamps in the video description.", - "The lists of text items in the video description.", - "The OCR text items in the video content.", - "The entity mids from Oraclemania or Lisztomania.", - "The entity mids from the captions.", - "Sports Key Moments (go/skm-dd) anchors.", - "Anchors where the labels are questions that are answered in the video segment.", - "Anchors generated from the schema.org markup: https://schema.org/Clip", - "Anchors created with a combination of OCR and ASR from the video content.", - "Anchors created from ASR spans.", - "Anchors created from Instruction steps in the video.", - "Anchors created from Description spans.", - "Anchors created from MoreVideoAnswers. This is used for MVA experiment, will be deprecated after its LE.", - "Anchors created for shopping opinions (pros/cons).", - "Anchors from queries generated from video content.", - "Anchor that is created from highlighting matching metadata against the query.", - "Merged anchors where the labels are short topic heading. This can be used as AnchorTypeVersionSpec.merging_group_type.", - "Anchors created from shopping asr span model. This may be merged with ASR span anchor online.", - "QUESTION_AND_ANSWER anchors that are generated via Radish in Goldmine.", - "Generative ASR anchors.", - "Anchors where each timed anchor represents one sentence in the ASR transcript.", - "Anchors extracted from a YouTube comment.", - "Generative ASR anchors V2.", - "Anchors pointing to the conclusion/summary part of the video. (go/vs-find-summary-segment)", - "OCR and ASR anchors generated for educational videos in edu Raffia Overlay.", - "", - "Anchors for i18n languages", - "Anchors derived from Youtube chapters that were auto-generated.", - "OCR anchors for i18n" - ], - "type": "string" - }, - "contextText": { - "description": "Context text from ASR of long duration, used for longT5 models.", - "type": "string" - }, - "destinationUrl": { - "description": "When set, this is the link that should be used when clicking on a video anchor. This should jump to the given time in the video.", - "type": "string" - }, - "duration": { - "description": "The duration of the video anchor in milliseconds.", - "format": "int64", - "type": "string" - }, - "entityScore": { - "description": "The score indicating the usefulness of the entity identified by 'mid'.", - "format": "float", - "type": "number" - }, - "filterReason": { - "description": "If is_filtered is true, this field illustrates the reasons.", - "items": { - "enum": [ - "UNKNOWN_REASON", - "DISPLAY_SIZE_LIMIT", - "THUMBNAIL_MISSING", - "THUMBNAIL_UNSAFE", - "LABEL_UNSAFE", - "TITLE_DUPLICATE_AND_CLOSE_TO_START", - "POLICY", - "INVALID_TIMESTAMP", - "NO_ANCHOR_DESTINATION_URL", - "LABEL_WITH_RESTRICTED_ENTITIES", - "LABEL_WITH_PERSON_NAMES", - "LABEL_IN_VIDEO_WITH_RESTRICTED_PETACATS", - "LABEL_REMOVED_BY_GENERAL_SAFE_SEARCH", - "LABEL_REMOVED_BY_FRINGE_SAFE_SEARCH", - "LABEL_REMOVED_BY_OFFENSIVE_SAFE_SEARCH", - "LABEL_IN_VIDEO_GENERAL_SAFE_SEARCH" - ], - "enumDescriptions": [ - "", - "Only limited number of video anchors are shown. Anchors could be filtered to reduce the number. Or the anchors are too few to be shown.", - "Anchors are filtered because their thumbnails are missing.", - "Anchors are filtered because their thumbnails are unsafe.", - "Anchors are filtered because their labels are unsafe.", - "This is specific to video Q\u0026A anchors. Anchors are filtered when their labels are similar to the video titles and located close to the starts of the videos.", - "Anchors are filtered due to policy violation (e.g. EUCD).", - "Timestamps that are invalid, e.g. negative timestamps or timestamps that are past the video duration.", - "No destination_url is set.", - "Anchors are filtered because their labels contain restricted entities.", - "Anchors are filtered because their labels contain person names", - "Anchors are filtered because the video has restricted petacat items.", - "Anchors are filtered because the label has violations by safe search.", - "Anchors are filtered because the label is fringe (more restricted than the general safe search threshold).", - "Anchors are filtered because the label is offsive (more restricted than the general safe search threshold).", - "Anchors are filtered bacause the video title has violations by safe search." - ], - "type": "string" - }, - "type": "array" - }, - "isFiltered": { - "description": "If true, the anchor is filtered and not served online.", - "type": "boolean" - }, - "isSafe": { - "description": "Convenience field that consolidates signals for whether this label is safe.", - "type": "boolean" - }, - "isScutiBad": { - "description": "whether this label is bad by go/scuti", - "type": "boolean" - }, - "label": { - "description": "The text label of the video anchor.", - "type": "string" - }, - "labelScore": { - "description": "The score indicating label confidence.", - "format": "float", - "type": "number" - }, - "mid": { - "description": "The mid of the video anchor.", - "type": "string" - }, - "namedEntity": { - "description": "Specifies named enitities the label has.", - "items": { - "$ref": "VideoContentSearchNamedEntity" - }, - "type": "array" - }, - "precisionScore": { - "description": "The precision for which the anchor should trigger. For example, if the desired precision is 95%, anchors with precision_score \u003c 0.95 should be removed.", - "format": "float", - "type": "number" - }, - "scoreInfo": { - "$ref": "VideoContentSearchVideoAnchorScoreInfo", - "description": "Additional scoring info used for debugging." - }, - "starburstFeatures": { - "$ref": "VideoContentSearchVisualFeatures", - "description": "Visual tokens for the anchor. Eg. starbust feature vectors for several frames concatenated together." - }, - "thumbnail": { - "$ref": "VideoContentSearchAnchorThumbnail", - "description": "Data about the thumbnail to display for this anchor." - }, - "thumbnailUrl": { - "description": "The url for a frame to display for this anchor.", - "type": "string" - }, - "time": { - "description": "The time stamp of the video anchor in milliseconds.", - "format": "int64", - "type": "string" - }, - "tokenTimingInfo": { - "description": "Timing info for each token in the anchor label.", - "items": { - "$ref": "VideoContentSearchTokenTimingInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoContentSearchVideoAnchorRatingScore": { - "description": "Aggregated rating score, used in training pipeline, etc.", - "id": "VideoContentSearchVideoAnchorRatingScore", - "properties": { - "averageBookmarkUsefulness": { - "description": "Average score of bookmark usefulness.", - "format": "float", - "type": "number" - }, - "averageDescriptionQuality": { - "description": "Average score of description quality.", - "format": "float", - "type": "number" - }, - "furballUrl": { - "description": "Furball URL(s) of the rating score (may have been rated more than once)", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoContentSearchVideoAnchorScoreInfo": { - "description": "Message to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchor data, it should be put here. Next ID: 27", - "id": "VideoContentSearchVideoAnchorScoreInfo", - "properties": { - "anchorCommonFeatureSet": { - "$ref": "VideoContentSearchAnchorCommonFeatureSet", - "description": "Common features for any anchor types." - }, - "attachments": { - "$ref": "Proto2BridgeMessageSet", - "description": "Additional attachments which extend MessageSet." - }, - "babelCheckpointPath": { - "description": "The path to the particular babel checkpoint", - "type": "string" - }, - "captionEntityAnchorFeatures": { - "$ref": "VideoContentSearchCaptionEntityAnchorFeatures", - "description": "Training features and debug info for caption entity anchors." - }, - "captionSpanAnchorFeatures": { - "$ref": "VideoContentSearchCaptionSpanAnchorFeatures", - "description": "Features for caption span anchors for use in training." - }, - "descriptionAnchorFeatures": { - "$ref": "VideoContentSearchDescriptionAnchorFeatures", - "description": "Description anchor features for use in training." - }, - "filterReason": { - "description": "A description of why the anchor was removed. This is intended for debugging anchor sets which use multiple heuristics to filter anchors.", - "items": { - "type": "string" - }, - "type": "array" - }, - "filtered": { - "description": "Whether or not the anchor will be removed in the final proto.", - "type": "boolean" - }, - "generativeFeatures": { - "description": "Generated predictions from generative models", - "items": { - "$ref": "VideoContentSearchGenerativePredictionFeatures" - }, - "type": "array" - }, - "instructionAnchorFeatures": { - "$ref": "VideoContentSearchInstructionAnchorFeatures", - "description": "Anchor level features for Instruction anchors." - }, - "instructionTrainingDataAnchorFeatures": { - "$ref": "VideoContentSearchInstructionTrainingDataAnchorFeatures", - "description": "Training data features for Instruction anchors." - }, - "labelLanguage": { - "description": "Detected language of label", - "type": "string" - }, - "labelTransformation": { - "items": { - "$ref": "VideoContentSearchVideoAnchorScoreInfoLabelTransformation" - }, - "type": "array" - }, - "listAnchorFeatures": { - "$ref": "VideoContentSearchListAnchorFeatures", - "description": "List anchor features." - }, - "listTrainingDataAnchorFeatures": { - "$ref": "VideoContentSearchListTrainingDataAnchorFeatures", - "description": "Anchor level metadata about the description anchors used to build training data for list anchors." - }, - "multimodalTopicFeatures": { - "$ref": "VideoContentSearchMultimodalTopicFeatures", - "description": "Multimodal features for a generated topic." - }, - "multimodalTopicTrainingFeatures": { - "$ref": "VideoContentSearchMultimodalTopicTrainingFeatures", - "description": "Features for a generated topic used to build training data for multimodal topics." - }, - "normalizedBabelEmbedding": { - "description": "Normalized babel embedding of anchor.label(). If the label has more than one sentences, the embedding will be the averaged normalized embedding of each sentence.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "ocrAnchorFeature": { - "$ref": "VideoContentSearchOnScreenTextFeature", - "description": "OCR anchor features." - }, - "ocrDescriptionTrainingDataAnchorFeatures": { - "$ref": "VideoContentSearchOcrDescriptionTrainingDataAnchorFeatures", - "description": "Anchor level metadata about the join of description anchors and OCR data which is used to build training data." - }, - "opinionsAnchorFeatures": { - "$ref": "VideoContentSearchShoppingOpinionsAnchorFeatures", - "description": "Shopping Opinions anchor features." - }, - "qnaAnchorFeatures": { - "$ref": "VideoContentSearchQnaAnchorFeatures", - "description": "Q\u0026A anchor features for use in training." - }, - "ratingScore": { - "$ref": "VideoContentSearchVideoAnchorRatingScore", - "description": "Human rating score, used for training." - }, - "safeSearchClassifierOutput": { - "$ref": "ClassifierPornQueryMultiLabelClassifierOutput", - "description": "The output of Safe Search's MultiLabelClassifier." - }, - "textSimilarityFeatures": { - "description": "ASR matching feature for any anchor types.", - "items": { - "$ref": "VideoContentSearchTextSimilarityFeatures" - }, - "type": "array" - }, - "thumbnailInfo": { - "$ref": "VideoContentSearchAnchorThumbnailInfo", - "description": "Information about the thumbnail anchor." - } - }, - "type": "object" - }, - "VideoContentSearchVideoAnchorScoreInfoLabelTransformation": { - "description": "Used to store the label before label cleaning or other transformations. If the label goes through multiple transformations, the original_label vector will include the transformations in chronological order.", - "id": "VideoContentSearchVideoAnchorScoreInfoLabelTransformation", - "properties": { - "description": { - "description": "A label for the transformation.", - "type": "string" - }, - "sourceLabel": { - "description": "The label that was transformated from.", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchVideoAnchorSetRatingScore": { - "description": "Aggregated set level rating score, used in training pipeline, etc.", - "id": "VideoContentSearchVideoAnchorSetRatingScore", - "properties": { - "averageSetDescriptionQuality": { - "description": "Average score of set level description quality.", - "format": "float", - "type": "number" - }, - "averageSetNavigationUsefulness": { - "description": "Average score of how useful the set is for navigation.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoContentSearchVideoAnchorSets": { - "description": "One video can have multiple types of text anchors. For example, https://www.youtube.com/watch?v=Rtk0I5PVOIc has both list anchors and OCR anchors.", - "id": "VideoContentSearchVideoAnchorSets", - "properties": { - "videoActions": { - "$ref": "VideoContentSearchVideoActions" - }, - "videoAnchors": { - "items": { - "$ref": "VideoContentSearchVideoAnchors" - }, - "type": "array" - }, - "videoInfo": { - "$ref": "VideoContentSearchVideoInfo" - }, - "videoScoreInfo": { - "$ref": "VideoContentSearchVideoScoreInfo" - } - }, - "type": "object" - }, - "VideoContentSearchVideoAnchors": { - "description": "A video can have a list of text anchors, which have different anchor types. Next ID: 15", - "id": "VideoContentSearchVideoAnchors", - "properties": { - "anchorType": { - "enum": [ - "UNKNOWN", - "DESCRIPTION_ANCHOR", - "LIST", - "OCR", - "LIST_ENTITY", - "CAPTION_ENTITY", - "KEY_MOMENT", - "QUESTION_AND_ANSWER", - "MARKUP", - "OCR_ASR", - "ASR_SPAN", - "INSTRUCTION", - "DESCRIPTION_SPAN", - "EXPERIMENTAL_MORE_VIDEO_ANSWERS", - "SHOPPING_OPINIONS", - "GENERATED_QUERY", - "HIGHLIGHTED_SNIPPET", - "SHORT_TOPIC_HEADING_GROUP", - "SHOPPING_ASR_SPAN", - "RADISH_QA", - "GENERATIVE_ASR", - "ASR_TRANSCRIPT", - "COMMENT", - "GENERATIVE_ASR_V2", - "SUMMARY_SEGMENT", - "OCR_EDU", - "ASR_SPAN_EDU", - "GENERATIVE_ASR_I18N", - "YT_AUTO_CHAPTERS", - "OCR_I18N" - ], - "enumDescriptions": [ - "", - "Anchors with the time stamps in the video description.", - "The lists of text items in the video description.", - "The OCR text items in the video content.", - "The entity mids from Oraclemania or Lisztomania.", - "The entity mids from the captions.", - "Sports Key Moments (go/skm-dd) anchors.", - "Anchors where the labels are questions that are answered in the video segment.", - "Anchors generated from the schema.org markup: https://schema.org/Clip", - "Anchors created with a combination of OCR and ASR from the video content.", - "Anchors created from ASR spans.", - "Anchors created from Instruction steps in the video.", - "Anchors created from Description spans.", - "Anchors created from MoreVideoAnswers. This is used for MVA experiment, will be deprecated after its LE.", - "Anchors created for shopping opinions (pros/cons).", - "Anchors from queries generated from video content.", - "Anchor that is created from highlighting matching metadata against the query.", - "Merged anchors where the labels are short topic heading. This can be used as AnchorTypeVersionSpec.merging_group_type.", - "Anchors created from shopping asr span model. This may be merged with ASR span anchor online.", - "QUESTION_AND_ANSWER anchors that are generated via Radish in Goldmine.", - "Generative ASR anchors.", - "Anchors where each timed anchor represents one sentence in the ASR transcript.", - "Anchors extracted from a YouTube comment.", - "Generative ASR anchors V2.", - "Anchors pointing to the conclusion/summary part of the video. (go/vs-find-summary-segment)", - "OCR and ASR anchors generated for educational videos in edu Raffia Overlay.", - "", - "Anchors for i18n languages", - "Anchors derived from Youtube chapters that were auto-generated.", - "OCR anchors for i18n" - ], - "type": "string" - }, - "entityGroupInfo": { - "$ref": "VideoContentSearchEntityGroupInfo", - "description": "The list of entity groups derived from the caption entities." - }, - "experimentalPredictedQuerylessTocUsefulness": { - "description": "Same as above, but used for experimenting with new models.", - "format": "float", - "type": "number" - }, - "filterReason": { - "description": "If is_filtered is true, this field illustrates the reasons.", - "items": { - "enum": [ - "UNKNOWN_REASON", - "DISPLAY_SIZE_LIMIT", - "THUMBNAIL_MISSING", - "THUMBNAIL_UNSAFE", - "LABEL_UNSAFE", - "TITLE_DUPLICATE_AND_CLOSE_TO_START", - "POLICY", - "INVALID_TIMESTAMP", - "NO_ANCHOR_DESTINATION_URL", - "LABEL_WITH_RESTRICTED_ENTITIES", - "LABEL_WITH_PERSON_NAMES", - "LABEL_IN_VIDEO_WITH_RESTRICTED_PETACATS", - "LABEL_REMOVED_BY_GENERAL_SAFE_SEARCH", - "LABEL_REMOVED_BY_FRINGE_SAFE_SEARCH", - "LABEL_REMOVED_BY_OFFENSIVE_SAFE_SEARCH", - "LABEL_IN_VIDEO_GENERAL_SAFE_SEARCH" - ], - "enumDescriptions": [ - "", - "Only limited number of video anchors are shown. Anchors could be filtered to reduce the number. Or the anchors are too few to be shown.", - "Anchors are filtered because their thumbnails are missing.", - "Anchors are filtered because their thumbnails are unsafe.", - "Anchors are filtered because their labels are unsafe.", - "This is specific to video Q\u0026A anchors. Anchors are filtered when their labels are similar to the video titles and located close to the starts of the videos.", - "Anchors are filtered due to policy violation (e.g. EUCD).", - "Timestamps that are invalid, e.g. negative timestamps or timestamps that are past the video duration.", - "No destination_url is set.", - "Anchors are filtered because their labels contain restricted entities.", - "Anchors are filtered because their labels contain person names", - "Anchors are filtered because the video has restricted petacat items.", - "Anchors are filtered because the label has violations by safe search.", - "Anchors are filtered because the label is fringe (more restricted than the general safe search threshold).", - "Anchors are filtered because the label is offsive (more restricted than the general safe search threshold).", - "Anchors are filtered bacause the video title has violations by safe search." - ], - "type": "string" - }, - "type": "array" - }, - "isFiltered": { - "description": "If true, the anchor set is filtered and not served online.", - "type": "boolean" - }, - "mergedAnchorsSources": { - "description": "The anchor sources being used to generate this merged anchors. This field is filled only when this is a merged anchor.", - "items": { - "enum": [ - "UNKNOWN", - "DESCRIPTION_ANCHOR", - "LIST", - "OCR", - "LIST_ENTITY", - "CAPTION_ENTITY", - "KEY_MOMENT", - "QUESTION_AND_ANSWER", - "MARKUP", - "OCR_ASR", - "ASR_SPAN", - "INSTRUCTION", - "DESCRIPTION_SPAN", - "EXPERIMENTAL_MORE_VIDEO_ANSWERS", - "SHOPPING_OPINIONS", - "GENERATED_QUERY", - "HIGHLIGHTED_SNIPPET", - "SHORT_TOPIC_HEADING_GROUP", - "SHOPPING_ASR_SPAN", - "RADISH_QA", - "GENERATIVE_ASR", - "ASR_TRANSCRIPT", - "COMMENT", - "GENERATIVE_ASR_V2", - "SUMMARY_SEGMENT", - "OCR_EDU", - "ASR_SPAN_EDU", - "GENERATIVE_ASR_I18N", - "YT_AUTO_CHAPTERS", - "OCR_I18N" - ], - "enumDescriptions": [ - "", - "Anchors with the time stamps in the video description.", - "The lists of text items in the video description.", - "The OCR text items in the video content.", - "The entity mids from Oraclemania or Lisztomania.", - "The entity mids from the captions.", - "Sports Key Moments (go/skm-dd) anchors.", - "Anchors where the labels are questions that are answered in the video segment.", - "Anchors generated from the schema.org markup: https://schema.org/Clip", - "Anchors created with a combination of OCR and ASR from the video content.", - "Anchors created from ASR spans.", - "Anchors created from Instruction steps in the video.", - "Anchors created from Description spans.", - "Anchors created from MoreVideoAnswers. This is used for MVA experiment, will be deprecated after its LE.", - "Anchors created for shopping opinions (pros/cons).", - "Anchors from queries generated from video content.", - "Anchor that is created from highlighting matching metadata against the query.", - "Merged anchors where the labels are short topic heading. This can be used as AnchorTypeVersionSpec.merging_group_type.", - "Anchors created from shopping asr span model. This may be merged with ASR span anchor online.", - "QUESTION_AND_ANSWER anchors that are generated via Radish in Goldmine.", - "Generative ASR anchors.", - "Anchors where each timed anchor represents one sentence in the ASR transcript.", - "Anchors extracted from a YouTube comment.", - "Generative ASR anchors V2.", - "Anchors pointing to the conclusion/summary part of the video. (go/vs-find-summary-segment)", - "OCR and ASR anchors generated for educational videos in edu Raffia Overlay.", - "", - "Anchors for i18n languages", - "Anchors derived from Youtube chapters that were auto-generated.", - "OCR anchors for i18n" - ], - "type": "string" - }, - "type": "array" - }, - "predictedQuerylessTocUsefulness": { - "description": "The score that predicts the usefulness of this anchor set on the Huh table of contents eval without considering the query.", - "format": "float", - "type": "number" - }, - "score": { - "description": "The quality of the anchor set.", - "format": "float", - "type": "number" - }, - "scoreInfo": { - "$ref": "VideoContentSearchVideoAnchorsScoreInfo", - "description": "Additional scoring info used for debugging." - }, - "shouldServeThumbnails": { - "description": "Whether or not thumbnails should be displayed when serving anchors.", - "type": "boolean" - }, - "thumbnailForced": { - "description": "This field indicates that the thumbnail should be hidden but is forced to show.", - "type": "boolean" - }, - "thumbnailSetInfo": { - "$ref": "VideoContentSearchAnchorsThumbnailInfo", - "description": "Information about the set of thumbnails." - }, - "videoAnchor": { - "items": { - "$ref": "VideoContentSearchVideoAnchor" - }, - "type": "array" - }, - "videoIntroduction": { - "$ref": "VideoContentSearchVideoIntroduction", - "description": "Information about the video's introduction segment." - } - }, - "type": "object" - }, - "VideoContentSearchVideoAnchorsScoreInfo": { - "description": "Message to contain scoring / debugging information. If you want to add information which is not directly used in the final VideoAnchors data, it should be put here. Next ID: 14", - "id": "VideoContentSearchVideoAnchorsScoreInfo", - "properties": { - "anchorsCommonFeatureSet": { - "$ref": "VideoContentSearchAnchorsCommonFeatureSet", - "description": "Common set-level features for any anchor types." - }, - "captionEntityAnchorSetFeatures": { - "$ref": "VideoContentSearchCaptionEntityAnchorSetFeatures", - "description": "Training features and debug info for caption entity anchors." - }, - "captionSpanAnchorSetFeatures": { - "$ref": "VideoContentSearchCaptionSpanAnchorSetFeatures" - }, - "commentAnchorSetFeatures": { - "$ref": "VideoContentSearchCommentAnchorSetFeatures", - "description": "Set-level features for comment anchors." - }, - "descriptionAnchorSetFeatures": { - "$ref": "VideoContentSearchDescriptionAnchorSetFeatures", - "description": "Description anchor features for use in training." - }, - "filtered": { - "description": "Whether or not the anchors will be removed in the final proto.", - "type": "boolean" - }, - "listAnchorSetFeatures": { - "$ref": "VideoContentSearchListAnchorSetFeatures", - "description": "Set-level features for list anchors." - }, - "listTrainingDataSetFeatures": { - "$ref": "VideoContentSearchListTrainingDataSetFeatures", - "description": "Set level metadata about the description anchors used to build training data for List Description anchors." - }, - "ocrAnchorClusterFeature": { - "$ref": "VideoContentSearchOnScreenTextClusterFeature", - "description": "OCR anchor cluster features." - }, - "ocrDescriptionTrainingDataSetFeatures": { - "$ref": "VideoContentSearchOcrDescriptionTrainingDataSetFeatures", - "description": "Set level metadata about the join of description anchors and OCR data which is used to build training data." - }, - "qnaAnchorSetFeatures": { - "$ref": "VideoContentSearchQnaAnchorSetFeatures", - "description": "Metadata such as model versions for Q\u0026A anchors." - }, - "ratingScore": { - "$ref": "VideoContentSearchVideoAnchorSetRatingScore", - "description": "Human rating score, used for training." - }, - "sportsKeyMomentsAnchorSetFeatures": { - "$ref": "VideoContentSearchSportsKeyMomentsAnchorSetFeatures" - } - }, - "type": "object" - }, - "VideoContentSearchVideoCommonFeatures": { - "description": "Contains video level features that apply to all anchor types.", - "id": "VideoContentSearchVideoCommonFeatures", - "properties": { - "anchorCount": { - "description": "The total number of anchors in all video anchor sets.", - "format": "int32", - "type": "integer" - }, - "captionInfo": { - "$ref": "VideoContentSearchCaptionInfo", - "description": "The caption data for the video transcript. The models used for unified scorer. Should be a filepath that contains saved_model.pb and a variables/ folder" - }, - "labelPhraseEmbeddingModel": { - "description": "The model used for generating label_phrase_embedding.", - "type": "string" - }, - "unifiedScoringBertModels": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoContentSearchVideoGeneratedQueryFeatures": { - "description": "Contains video level features for generated queries that are applied at the video level.", - "id": "VideoContentSearchVideoGeneratedQueryFeatures", - "properties": { - "filterReason": { - "description": "A description of why the video was removed. This is intended for debugging generated queries that are filtered at the video level.", - "items": { - "type": "string" - }, - "type": "array" - }, - "prefilteredPassageCount": { - "description": "The total number of passages that were input to generating queries for this video. This count might be bigger than the total number of anchors in the video as some of the anchors might have been filtered by the pipeline.", - "format": "int32", - "type": "integer" - }, - "titleEntityAnnotations": { - "$ref": "VideoContentSearchEntityAnnotations", - "description": "Entity annotations for one of the mids representing the video title. This entity is either one of the blocklisted entities if at least of the mentioned entities in the title belongs to the blocklisted categories, or is the highest confidence entity for the title." - }, - "totalRestrictedQueries": { - "description": "The total number of queries that belong to the blocklisted categories for this video.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoContentSearchVideoInfo": { - "description": "This message holds metadata and signals of one video. It is typically used for holding debug data in tables produced by offline pipelines related to video anchors. Please never populate this message into the search serving stack. Next ID: 31", - "id": "VideoContentSearchVideoInfo", - "properties": { - "amarnaDocid": { - "description": "A hash of the video bytes used as a key to Amarna's video_metadata table.", - "type": "string" - }, - "asrLanguage": { - "description": "Language information, extracted from content_based_metadata.speech_properties.", - "type": "string" - }, - "crapsData": { - "$ref": "QualityNavboostCrapsCrapsData", - "description": "Craps data from the video cdoc." - }, - "description": { - "description": "Video description.", - "type": "string" - }, - "docLanguage": { - "description": "Language information, extracted from DocProperties.", - "type": "string" - }, - "durationMs": { - "description": "Video duration in ms.", - "format": "float", - "type": "number" - }, - "hasAsr": { - "description": "Whether or not automatic speech recognition has been generated for this video.", - "type": "boolean" - }, - "hasDescriptionAnchors": { - "description": "Whether or not the video has description anchors.", - "type": "boolean" - }, - "isSafe": { - "description": "Convenience field that is false if any of the video's anchors have their is_safe field set to false.", - "type": "boolean" - }, - "isWatchpage": { - "description": "Whether or not this is watchpage.", - "type": "boolean" - }, - "navqueries": { - "description": "Navqueries for the video.", - "items": { - "type": "string" - }, - "type": "array" - }, - "nsr": { - "description": "NSR for the video page document.", - "format": "float", - "type": "number" - }, - "numViews": { - "description": "Number of views.", - "format": "int64", - "type": "string" - }, - "pseudoVideoData": { - "$ref": "PseudoVideoData", - "description": "ASR with timing info for each token copied from doc_videos.content_based_metadata.transcript_asr." - }, - "saftDoc": { - "$ref": "NlpSaftDocument", - "description": "The Saft document generated from the anchor labels." - }, - "saftTranscript": { - "description": "The transcript used to generate the Saft doc.", - "type": "string" - }, - "salientTermSet": { - "$ref": "QualitySalientTermsSalientTermSet", - "description": "Salient term set from the document. This message contains a lot of data and dependencies, so sub-messages are disabled in model evaluation in scorer." - }, - "subindexid": { - "description": "The subindexid from the cdoc. Stored as an int to avoid a cyclical dependency. Should be convertible to CompositeDoc.SubIndexType.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "title": { - "description": "Video title.", - "type": "string" - }, - "titleLanguage": { - "description": "Video title language Language information, set automatically by the SAFT LangID.", - "type": "string" - }, - "transcriptAnnotations": { - "$ref": "QualityWebanswersTranscriptAnnotations", - "description": "Transcript annotations that include information about the ASR including timing and entity mentions." - }, - "uniqueChromeViews": { - "description": "Number of unique visits in Chrome.", - "format": "int32", - "type": "integer" - }, - "url": { - "description": "Document url.", - "type": "string" - }, - "verticalItem": { - "description": "Top petacat verticals of the video produced by indexing/ml/vertical, sorted in descending order by vertical confidence.", - "items": { - "$ref": "IndexingMlVerticalVerticalItem" - }, - "type": "array" - }, - "videoGenre": { - "description": "Genre of the video from the page metadata. Concatenate all with a comma separator if there are multiple genres.", - "type": "string" - }, - "videoType": { - "enum": [ - "UNKNOWN", - "LISTICLE", - "INSTRUCTION", - "SPORTS", - "SINGLE_PRODUCT_RESEARCH", - "EDU" - ], - "enumDescriptions": [ - "", - "The video shows a list of things (e.g. top 10 disney movies, etc.).", - "How-to or other educational video.", - "Video containing sports footage.", - "Shopping video that reviews a single product.", - "Educational video from /raffia/educational-videos." - ], - "type": "string" - }, - "videoUrl": { - "description": "Video url. Note that VideoInfo::url is a page url that has this video, while this is a video file url.", - "type": "string" - }, - "webrefEntities": { - "$ref": "RepositoryWebrefWebrefEntities", - "description": "Represents a collection of entities returned by the WebRef service. This message contains a lot of data and dependencies, so sub-messages are disabled in model evaluation in scorer." - } - }, - "type": "object" - }, - "VideoContentSearchVideoIntroduction": { - "description": "Specifies whether a video has an introduction part that can be skipped. An introduction is the beginning part of a video that can be safely skipped without impacting user's understanding of the overall video content.", - "id": "VideoContentSearchVideoIntroduction", - "properties": { - "hasIntro": { - "description": "If set to true, it means the video has an introduction spanning from intro_start_ms to intro_end_ms.", - "type": "boolean" - }, - "introEndMs": { - "description": "Timestamp of the end of an introduction. Will only be set if has_intro is true. Indicates video may be skipped to this timestamp with minimal impact on understanding the overall video contents.", - "format": "int64", - "type": "string" - }, - "introStartMs": { - "description": "Timestamp of the beginning of an introduction. Will only be set if has_intro is true. This value may be nonzero.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoContentSearchVideoMultimodalTopicFeatures": { - "description": "Video-level Multimodal features for generated topics. Next ID: 2", - "id": "VideoContentSearchVideoMultimodalTopicFeatures", - "properties": { - "frameStarburstData": { - "description": "Starburst vectors. Sorted by timestamp.", - "items": { - "$ref": "VideoContentSearchFrameStarburstData" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoContentSearchVideoScoreInfo": { - "description": "Video level scoring info.", - "id": "VideoContentSearchVideoScoreInfo", - "properties": { - "commonFeatures": { - "$ref": "VideoContentSearchVideoCommonFeatures", - "description": "Anchor scoring features that apply to all anchor types." - }, - "ocrVideoFeature": { - "$ref": "VideoContentSearchOcrVideoFeature", - "description": "OCR specific video level feature." - }, - "safeSearchClassifierOutput": { - "$ref": "ClassifierPornQueryMultiLabelClassifierOutput", - "description": "The output of Safe Search's MultiLabelClassifier for video title." - }, - "version": { - "description": "The version of this VideoAnchorSets in spanner.", - "type": "string" - }, - "videoGeneratedQueryFeatures": { - "$ref": "VideoContentSearchVideoGeneratedQueryFeatures", - "description": "Video-level features that apply to all the generated queries within this VideoAnchorSets." - }, - "videoMultimodalTopicFeatures": { - "$ref": "VideoContentSearchVideoMultimodalTopicFeatures", - "description": "Video-level features for Multimodal topics." - } - }, - "type": "object" - }, - "VideoContentSearchVisualFeatures": { - "description": "Startburst visual tokens or features, more details in go/starburst-mum-user-guide", - "id": "VideoContentSearchVisualFeatures", - "properties": { - "features": { - "description": "Starburst features semantic or visual/", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "starbustVersion": { - "enum": [ - "UNKNOWN_VERSION", - "STARBURST_V1", - "STARBURST_V2", - "STARBURST_V3", - "STARBURST_V4", - "STARBURST_VISUAL_V4", - "STARBURST_VISUAL_V5", - "STARBURST_V5", - "STARBURST_V5_5", - "STARBURST_V6", - "STARBURST_EXP" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "tokens": { - "description": "Starburst visual tokens", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoCrawlVideoInlinePlaybackMetadata": { - "description": "This message is used to store information about Inline Playback in the VideoWebAttachment portion of the websearch index. LINT.IfChange", - "id": "VideoCrawlVideoInlinePlaybackMetadata", - "properties": { - "expirationTimestampSec": { - "description": "Timestamp (measured in seconds since epoch) when a video may not be used for inline playback in the interest feed.", - "format": "int64", - "type": "string" - }, - "googleAnalyticsId": { - "description": "Publisher's Google Analytics Id to which we can report view metrics.", - "type": "string" - }, - "playbackCountryBlacklist": { - "description": "All two-letter codes for countries where this video may NOT be played.", - "items": { - "type": "string" - }, - "type": "array" - }, - "playbackCountryWhitelist": { - "description": "All two-letter codes for countries where this video may be played. If empty, then all countries not on the blacklist are allowed for playback.", - "items": { - "type": "string" - }, - "type": "array" - }, - "transcodeItags": { - "description": "Set of transcodes which are available for the video.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "vastTag": { - "description": "VAST tag for ads to be played along with this video. Currently, we only support VAST tags from Doubleclick and FreeWheel.", - "type": "string" - }, - "videoId": { - "description": "Identifier video is known by in the video infrastructure. The format given here is the YoutubeId format (base-64) used in Venom; for Viper/Bandaid/ StreamingURLService, convert to ContentIdHex.", - "type": "string" - }, - "videoUrlOnExternalCdn": { - "description": "Set if the video is hosted on an external CDN, in which case it is not to be transcoded and hosted at Google for the Interest Feed.", - "type": "string" - } - }, - "type": "object" - }, - "VideoDoViDecoderConfiguration": { - "description": "Decoder configuration for Dolby Vision encoded by any codec. Dolby Vision defines a separate profile \u0026 level hierarchy regardless of the base codec. See Dolby Vision profiles, levels and compatibility: https://dolby.my.salesforce.com/sfc/p/#700000009YuG/a/4u000000l6G4/4R18riPaaW3gxpVx7XwyQLdEITLFjB.w.Si0LoQR5j8 Dolby Vision DASH streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolbyvisioninmpegdashspecification_v2_0_public_20190107.pdf HTTP Live Streaming: https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby-vision-streams-within-the-http-live-streaming-format-v2.0-13-november-2018.pdf Dolby Vision bitstreams: https://professional.dolby.com/siteassets/pdfs/dolbyvisionstreamsinisobmffspecification-v2.1.2.pdf", - "id": "VideoDoViDecoderConfiguration", - "properties": { - "blPresentFlag": { - "description": "If a track contains the base layer substream.", - "type": "boolean" - }, - "dvBlSignalCompatibilityId": { - "description": "Whether the stream is compatible with other sets of standard.", - "format": "uint32", - "type": "integer" - }, - "dvLevel": { - "format": "uint32", - "type": "integer" - }, - "dvProfile": { - "format": "uint32", - "type": "integer" - }, - "dvVersionMajor": { - "description": "Specifies the major version number of the Dolby Vision specification that the stream complies with.", - "format": "uint32", - "type": "integer" - }, - "dvVersionMinor": { - "description": "Specifies the minor version number of the Dolby Vision specification that the stream complies with.", - "format": "uint32", - "type": "integer" - }, - "elPresentFlag": { - "description": "If a track contains the enhancement layer substream.", - "type": "boolean" - }, - "fourccTag": { - "description": "dvhe, dvh1, dvav, dva1: https://screenshot.googleplex.com/ipMGXFqLX9E", - "type": "string" - }, - "rpuPresentFlag": { - "description": "If a track contains the reference picture unit substream.", - "type": "boolean" - } - }, - "type": "object" - }, - "VideoFileColorInfo": { - "description": "A message holding all of the color information about a signal: -Color primaries identify the meaning of red, green, and blue ( and the white point). -The transfer characteristic identifies the mapping used to go between linear and coded values of light. -The matrix coefficients identifies, e.g., the conversion between Ycbcr to RGB (in the space of the primaries) -And the color range defines the min/max of the levels used.", - "id": "VideoFileColorInfo", - "properties": { - "matrixCoefficients": { - "enum": [ - "COLOR_MATRIX_COEFFICIENTS_RGB", - "COLOR_MATRIX_COEFFICIENTS_BT709", - "COLOR_MATRIX_COEFFICIENTS_UNSPECIFIED", - "COLOR_MATRIX_COEFFICIENTS_FCC", - "COLOR_MATRIX_COEFFICIENTS_BT470BG", - "COLOR_MATRIX_COEFFICIENTS_SMPTE170M", - "COLOR_MATRIX_COEFFICIENTS_SMPTE240M", - "COLOR_MATRIX_COEFFICIENTS_YCOCG", - "COLOR_MATRIX_COEFFICIENTS_BT2020_NCL", - "COLOR_MATRIX_COEFFICIENTS_BT2020_CL", - "COLOR_MATRIX_COEFFICIENTS_SMPTE2085", - "COLOR_MATRIX_COEFFICIENTS_CHROMA_DERIVED_NCL", - "COLOR_MATRIX_COEFFICIENTS_CHROMA_DERIVED_CL", - "COLOR_MATRIX_COEFFICIENTS_ICTCP" - ], - "enumDescriptions": [ - "", - "Also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B.", - "", - "", - "Also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL \u0026 / SECAM / IEC 61966-2-4 xvYCC601.", - "Also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC / / functionally identical to above.", - "", - "Used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16.", - "ITU-R BT2020 non-constant luminance system.", - "ITU-R BT2020 constant luminance system.", - "SMPTE 2085, Y'D'zD'x", - "Chromaticity-derived non-constant luminance.", - "Chromaticity-derived constant luminance.", - "ITU-R BT.[HDR-TV] ICtCp" - ], - "type": "string" - }, - "primaries": { - "enum": [ - "COLOR_PRIMARIES_BT709", - "COLOR_PRIMARIES_UNSPECIFIED", - "COLOR_PRIMARIES_BT470M", - "COLOR_PRIMARIES_BT470BG", - "COLOR_PRIMARIES_SMPTE170M", - "COLOR_PRIMARIES_SMPTE240M", - "COLOR_PRIMARIES_FILM", - "COLOR_PRIMARIES_BT2020", - "COLOR_PRIMARIES_SMPTEST428_1", - "COLOR_PRIMARIES_SMPTE431", - "COLOR_PRIMARIES_SMPTE432", - "COLOR_PRIMARIES_JEDEC_P22" - ], - "enumDescriptions": [ - "Also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP177 Annex B.", - "", - "", - "Also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL \u0026 SECAM.", - "Also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC.", - "Functionally identical to above.", - "Color filters using Illuminant C.", - "ITU-R BT2020.", - "SMPTE ST428-1.", - "SMPTE ST431-2", - "SMPTE ST432-1", - "JEDEC P22 phosphors" - ], - "type": "string" - }, - "range": { - "enum": [ - "COLOR_RANGE_UNSPECIFIED", - "COLOR_RANGE_MPEG", - "COLOR_RANGE_JPEG" - ], - "enumDescriptions": [ - "", - "The normal 219*2^(n-8) \"MPEG\" YUV ranges.", - "The normal 2^n-1 \"JPEG\" YUV ranges." - ], - "type": "string" - }, - "transferCharacteristics": { - "enum": [ - "COLOR_TRANSFER_CHARACTERISTICS_BT709", - "COLOR_TRANSFER_CHARACTERISTICS_UNSPECIFIED", - "COLOR_TRANSFER_CHARACTERISTICS_GAMMA22", - "COLOR_TRANSFER_CHARACTERISTICS_GAMMA28", - "COLOR_TRANSFER_CHARACTERISTICS_SMPTE170M", - "COLOR_TRANSFER_CHARACTERISTICS_SMPTE240M", - "COLOR_TRANSFER_CHARACTERISTICS_LINEAR", - "COLOR_TRANSFER_CHARACTERISTICS_LOG", - "COLOR_TRANSFER_CHARACTERISTICS_LOG_SQRT", - "COLOR_TRANSFER_CHARACTERISTICS_IEC61966_2_4", - "COLOR_TRANSFER_CHARACTERISTICS_BT1361_ECG", - "COLOR_TRANSFER_CHARACTERISTICS_IEC61966_2_1", - "COLOR_TRANSFER_CHARACTERISTICS_BT2020_10", - "COLOR_TRANSFER_CHARACTERISTICS_BT2020_12", - "COLOR_TRANSFER_CHARACTERISTICS_SMPTEST2084", - "COLOR_TRANSFER_CHARACTERISTICS_SMPTEST428_1", - "COLOR_TRANSFER_CHARACTERISTICS_ARIB_STD_B67" - ], - "enumDescriptions": [ - "Also ITU-R BT1361.", - "", - "Also ITU-R BT470M / ITU-R BT1700 625 PAL \u0026 SECAM.", - "Also ITU-R BT470BG.", - "Also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC.", - "", - "Linear transfer characteristics.", - "Logarithmic transfer characteristic (100:1 range).", - "Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range).", - "IEC 61966-2-4.", - "ITU-R BT1361 Extended Colour Gamut.", - "IEC 61966-2-1 (sRGB or sYCC).", - "ITU-R BT2020 for 10 bit system.", - "ITU-R BT2020 for 12 bit system.", - "SMPTE ST 2084 for 10, 12, 14 and 16 bit systems.", - "SMPTE ST 428-1.", - "ARIB STD-B67, known as \"Hybrid log-gamma\"." - ], - "type": "string" - } - }, - "type": "object" - }, - "VideoFileContentLightLevel": { - "description": "A message holding the equivalent of the content light level information in HEVC or its representation in matroska/webm. This gives coarse stats on the luminance levels in the content and may be used as a hint by algorithms \u0026 displays to tone map.", - "id": "VideoFileContentLightLevel", - "properties": { - "maxContentLightLevel": { - "description": "Defines the maximum content light level (in cd/m^2) over the entire video.", - "format": "int32", - "type": "integer" - }, - "maxFrameAverageLightLevel": { - "description": "The maximum (over entire video) of the frame average light level.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoFileFramePackingArrangement": { - "description": "Information on Frame Packing arrangement", - "id": "VideoFileFramePackingArrangement", - "properties": { - "gridOffset0Horizontal": { - "description": "Grid positions", - "format": "int32", - "type": "integer" - }, - "gridOffset0Vertical": { - "format": "int32", - "type": "integer" - }, - "gridOffset1Horizontal": { - "format": "int32", - "type": "integer" - }, - "gridOffset1Vertical": { - "format": "int32", - "type": "integer" - }, - "interpretation": { - "description": "Content interpretation", - "enum": [ - "FPA_INTERPRET_UNKNOWN", - "FPA_INTERPRET_LEFT_FIRST", - "FPA_INTERPRET_RIGHT_FIRST" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "quincunxSampling": { - "description": "Quincunx sampling flag indicating if quincunx sampling is used", - "type": "boolean" - }, - "type": { - "description": "Arrangement type", - "enum": [ - "FPA_NONE", - "FPA_CHECKERBOARD", - "FPA_COL_ALTERNATION", - "FPA_ROW_ALTERNATION", - "FPA_SIDE_BY_SIDE", - "FPA_TOP_TO_BOTTOM", - "FPA_FRAME_ALTERNATION" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "VideoFileHDR10PlusStats": { - "description": "Stats on HDR10+ (SMPTE 2094-40:2016 standard) over video frames.", - "id": "VideoFileHDR10PlusStats", - "properties": { - "applicationVersion": { - "description": "Application version is set to max version over all frames.", - "format": "int32", - "type": "integer" - }, - "averageTargetedSystemDisplayMaximumLuminance": { - "description": "The average of the nominal maximum display luminance of the targeted system display over all frames.", - "format": "double", - "type": "number" - }, - "masteringDisplayActualPeakLuminanceFlag": { - "description": "This flag is set if any frame has it.", - "type": "boolean" - }, - "maxNumWindows": { - "format": "int32", - "type": "integer" - }, - "targetedSystemDisplayActualPeakLuminanceFlag": { - "description": "This flag is set if any frame has it.", - "type": "boolean" - } - }, - "type": "object" - }, - "VideoFileMasteringDisplayMetadata": { - "description": "A message holding information about the mastering display color volume. This metadata can be used when tone mapping an HDR signal to a display with a different gamut or brightness characteristics than the mastering display. This message is capable of containing SMPTE 2086 metadata.", - "id": "VideoFileMasteringDisplayMetadata", - "properties": { - "blue": { - "$ref": "VideoFileMasteringDisplayMetadataCIE1931Coordinate", - "description": "Coordinates of the blue primary of the mastering display." - }, - "green": { - "$ref": "VideoFileMasteringDisplayMetadataCIE1931Coordinate", - "description": "Coordinates of the green primary of the mastering display." - }, - "maxLuminance": { - "description": "Maximum luminance of the display (in cd/m^2).", - "format": "float", - "type": "number" - }, - "minLuminance": { - "description": "Minimum luminance of the display (in cd/m^2).", - "format": "float", - "type": "number" - }, - "red": { - "$ref": "VideoFileMasteringDisplayMetadataCIE1931Coordinate", - "description": "Coordinates of the red primary of the mastering display." - }, - "whitePoint": { - "$ref": "VideoFileMasteringDisplayMetadataCIE1931Coordinate", - "description": "Coordinates of the white point of the mastering display." - } - }, - "type": "object" - }, - "VideoFileMasteringDisplayMetadataCIE1931Coordinate": { - "description": "Representation of a color coordinate in CIE1931 color space.", - "id": "VideoFileMasteringDisplayMetadataCIE1931Coordinate", - "properties": { - "x": { - "format": "float", - "type": "number" - }, - "y": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoFileSphericalMetadata": { - "description": "Globally allowed spherical meta data.", - "id": "VideoFileSphericalMetadata", - "properties": { - "clampedOptimalFovBounds": { - "$ref": "VideoFileSphericalMetadataFOVBounds", - "description": "Like above, but with high-pass motion filtering applied and yaw rotation limited to +/- 15-degrees" - }, - "cubemap": { - "$ref": "VideoFileSphericalMetadataCubemapProjection" - }, - "deprecatedCroppedArea": { - "$ref": "VideoFileSphericalMetadataCroppedArea", - "deprecated": true - }, - "deprecatedInitialView": { - "$ref": "VideoFileSphericalMetadataViewDirection", - "deprecated": true, - "description": "InitialView is from v1 spec, and is more or less equivalent to Pose from v2 spec. Therefore, InitialView found in xml metadata would populate the pose field in this proto." - }, - "equirect": { - "$ref": "VideoFileSphericalMetadataEquirectProjection" - }, - "fullPanoHeightPixels": { - "format": "int32", - "type": "integer" - }, - "fullPanoWidthPixels": { - "description": "Dimensions of the full video frame.", - "format": "int32", - "type": "integer" - }, - "mesh": { - "$ref": "VideoFileSphericalMetadataMeshProjection" - }, - "metadataSource": { - "description": "Metadata source v2(svhd)", - "type": "string" - }, - "optimalFovBounds": { - "$ref": "VideoFileSphericalMetadataFOVBounds", - "description": "If video contains Wally-sanitized mesh and camera motion metadata (see go/wally-format ), this contains the optimal FOV (smallest FOV that encompass all combinations of input mesh FOV and rotations). This field will only be present if full FfmpegAnalyze is performed." - }, - "pose": { - "$ref": "VideoFileSphericalMetadataPose" - }, - "projectionType": { - "description": "Mapping type used to map the sphere to the rectangular video E.g., \"equirectangular\", http://en.wikipedia.org/wiki/Equirectangular_projection This is kept as string so that we can retain values that are unknown to us.", - "type": "string" - }, - "sourceCount": { - "description": "The number of camera sources used to generate this video.", - "format": "int32", - "type": "integer" - }, - "spherical": { - "description": "Whether the video is spherical or not.", - "type": "boolean" - }, - "stereoMode": { - "description": "The stereo mode.", - "enum": [ - "STEREO_MODE_UNKNOWN", - "STEREO_MODE_MONO", - "STEREO_MODE_LEFT_RIGHT", - "STEREO_MODE_TOP_BOTTOM" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - }, - "stitched": { - "description": "Whether the video has already been stitched.", - "type": "boolean" - }, - "stitchingSoftware": { - "description": "The stitching software.", - "type": "string" - }, - "timestamp": { - "description": "Epoch Timestamp of when the first frame in the video was recorded", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoFileSphericalMetadataCroppedArea": { - "description": "The cropping coordinates, in pixels.", - "id": "VideoFileSphericalMetadataCroppedArea", - "properties": { - "height": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "left": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "top": { - "deprecated": true, - "format": "int32", - "type": "integer" - }, - "width": { - "deprecated": true, - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoFileSphericalMetadataCubemapProjection": { - "description": "Specifies usage of cubemap projection.", - "id": "VideoFileSphericalMetadataCubemapProjection", - "properties": { - "layout": { - "description": "Values 0 to 255 are reserved for current and future layouts. Value of 0 corresponds to a grid with 3 columns and 2 rows as follows: | right face | left face | up face | | down face | front face | back face |", - "format": "uint32", - "type": "integer" - }, - "padding": { - "description": "Number of pixels to pad from the edge of each cube face", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoFileSphericalMetadataEquirectProjection": { - "description": "Specifies usage of equirectangular projection. More specifically, these are the proportion of projection cropped from each edge not covered by the video frame. For uncropped frame, all values are 0. For v1 metadata, this contains CroppedArea information (CroppedAreaLeftPixels, CroppedAreaTopPixels, CroppedAreaImageWidthPixels, CroppedAreaImageHeightPixels)", - "id": "VideoFileSphericalMetadataEquirectProjection", - "properties": { - "projectionBoundsBottom": { - "format": "uint32", - "type": "integer" - }, - "projectionBoundsLeft": { - "format": "uint32", - "type": "integer" - }, - "projectionBoundsRight": { - "format": "uint32", - "type": "integer" - }, - "projectionBoundsTop": { - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoFileSphericalMetadataFOVBounds": { - "id": "VideoFileSphericalMetadataFOVBounds", - "properties": { - "endTiltInDegrees": { - "format": "double", - "type": "number" - }, - "endYawInDegrees": { - "format": "double", - "type": "number" - }, - "startTiltInDegrees": { - "format": "double", - "type": "number" - }, - "startYawInDegrees": { - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "VideoFileSphericalMetadataMeshProjection": { - "description": "Specifies usage of mesh projection. \"content\" contains the mshp atom: version/flags, CRC, compression method, description of the mesh(es) (vertices, coordinates corresponding to each vertex, and vertex lists to describe the projection). See go/pir-spec for mshp atom data layout.", - "id": "VideoFileSphericalMetadataMeshProjection", - "properties": { - "bounds": { - "$ref": "VideoFileSphericalMetadataFOVBounds", - "description": "Once mesh is analyzed, this field contains the bounds of the mesh(es) In case of stereo mesh, this will be the aggregate of both eye meshes" - }, - "content": { - "format": "byte", - "type": "string" - }, - "type": { - "description": "The mesh type field will only be populated when we have done analysis on the mesh. If this field is missing, mesh analysis has not been done.", - "enum": [ - "MESH_TYPE_UNKNOWN", - "MESH_TYPE_WALLY_FISHEYE", - "MESH_TYPE_WALLY_CROPPED_EQUIRECT", - "MESH_TYPE_WALLY_FOVEATED" - ], - "enumDescriptions": [ - "", - "Wally mesh: see go/wally-format and go/wallymesh.", - "", - "go/wally-foveated-mesh-dd" - ], - "type": "string" - } - }, - "type": "object" - }, - "VideoFileSphericalMetadataPose": { - "description": "Specifies the compass heading, pitch \u0026 roll for the origin of the projection. The origin for the \"equirectangular\" projection is the center of the image. The origin for the other projection types is defined as the location in the image that corresponds to the origin of an \"equirectangular\" projection.", - "id": "VideoFileSphericalMetadataPose", - "properties": { - "headingDegrees": { - "format": "float", - "type": "number" - }, - "pitchDegrees": { - "format": "float", - "type": "number" - }, - "rollDegrees": { - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoFileSphericalMetadataViewDirection": { - "id": "VideoFileSphericalMetadataViewDirection", - "properties": { - "headingDegrees": { - "format": "int32", - "type": "integer" - }, - "pitchDegrees": { - "format": "int32", - "type": "integer" - }, - "rollDegrees": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoGoogleVideoClipInfo": { - "description": "YT app video information. (go/yt-create-vsi-data)", - "id": "VideoGoogleVideoClipInfo", - "properties": { - "aloudLoggingId": { - "description": "Used to track videos produced via Aloud dubbing.", - "type": "string" - }, - "appVersion": { - "description": "YT app version (ie. YT Create app version).", - "type": "string" - }, - "assetLoggingId": { - "description": "List of YT media asset logging ids.", - "items": { - "type": "string" - }, - "type": "array" - }, - "dubbingLoggingId": { - "description": "Used to track videos produced via Universal Dubbing.", - "type": "string" - }, - "productType": { - "description": "Product used to create this video clip.", - "enum": [ - "PRODUCT_TYPE_NONE", - "PRODUCT_TYPE_YT_CREATE", - "PRODUCT_TYPE_DUBBING", - "PRODUCT_TYPE_ALOUD" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "VideoLegosLegosAnnotationsSet": { - "id": "VideoLegosLegosAnnotationsSet", - "properties": { - "featureSetName": { - "type": "string" - }, - "legosAnnotations": { - "$ref": "YoutubeDiscoveryLegosLegosAnnotations" - } - }, - "type": "object" - }, - "VideoLegosLegosAnnotationsSets": { - "id": "VideoLegosLegosAnnotationsSets", - "properties": { - "annotationsSet": { - "items": { - "$ref": "VideoLegosLegosAnnotationsSet" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoMediaInfo": { - "description": "Feel free to ignore this lint warning if only the trivia (e.g., comments) is is changed. LINT.IfChange", - "id": "VideoMediaInfo", - "properties": { - "audioStream": { - "description": "Each entry corresponds to one audio stream in the original media file.", - "items": { - "$ref": "VideoAudioStream" - }, - "type": "array" - }, - "containerId": { - "description": "Container type of the file, e.g. FLV, H264, MP3. Uses the numeric value corresponding to the ContainerId enum objects, in order to avoid the dependency on vsi/videostreaminfo.proto. http://cs/symbol:ContainerId%20f:google3/video/vidproc/vsi/videostreaminfo.proto", - "format": "int32", - "type": "integer" - }, - "fileSize": { - "description": "Media file size in bytes.", - "format": "int64", - "type": "string" - }, - "overview": { - "$ref": "VideoMediaOverview", - "description": "This is a high-level description of the media. It does not contain PII." - }, - "videoStream": { - "description": "Each entry corresponds to one video stream (usually just one) in the original media file.", - "items": { - "$ref": "VideoVideoStream" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoMediaOverview": { - "description": "Next ID: 19 IMPORTANT: This file is used in scattered directories, such that it is risky to add values to any enumerated type. (First of all, compilation breaks on switch statements without default clauses.) Run a global tap presubmit: tap_presubmit -p all --train -c before submitting. Also check out the blame layer of previous updates for hints on what other files to changes.", - "id": "VideoMediaOverview", - "properties": { - "aspectRatio": { - "enum": [ - "ASPECT_RATIO_UNKNOWN", - "ASPECT_RATIO_1_1", - "ASPECT_RATIO_3_2", - "ASPECT_RATIO_4_3", - "ASPECT_RATIO_16_9" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "audioOverview": { - "items": { - "$ref": "VideoMediaOverviewAudioOverview" - }, - "type": "array" - }, - "authoringTool": { - "enum": [ - "AUTHORING_TOOL_UNKNOWN", - "AUTHORING_TOOL_GWD", - "AUTHORING_TOOL_UNIVERSAL_DUBBING", - "AUTHORING_TOOL_ALOUD" - ], - "enumDescriptions": [ - "", - "Google Web Designer", - "Universal Dubbing", - "Aloud" - ], - "type": "string" - }, - "colorDynamicRange": { - "enum": [ - "COLOR_DYNAMIC_RANGE_UNKNOWN", - "COLOR_DYNAMIC_RANGE_STANDARD", - "COLOR_DYNAMIC_RANGE_HIGH" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "creationTimeStampUsec": { - "description": "Creation timestamp of this media_info, in Unix timestamp since epoch.", - "format": "int64", - "type": "string" - }, - "dataOverview": { - "items": { - "$ref": "VideoMediaOverviewDataOverview" - }, - "type": "array" - }, - "frameRate": { - "enum": [ - "FRAME_RATE_UNKNOWN", - "FRAME_RATE_STANDARD", - "FRAME_RATE_HIGH", - "FRAME_RATE_ULTRA_HIGH" - ], - "enumDescriptions": [ - "", - "less than 40 fps.", - "40 \u003c= fps \u003c 80", - "80 \u003c= fps" - ], - "type": "string" - }, - "hasChapters": { - "description": "Currently used by originals replacement pipeline to exclude all videos containing chapter info.", - "type": "boolean" - }, - "mediaClipInfoOverview": { - "$ref": "VideoMediaOverviewMediaClipInfoOverview" - }, - "orientation": { - "description": "The orientation is annotated based on the final displayed resolution of the video file. A video will be labelled PORTRAIT whenever the height is greater than the width. The orientation is only labelled UNKNOWN in the case that the video stream had some transformation that was not a rotation in the video stream.", - "enum": [ - "ORIENTATION_UNKNOWN", - "ORIENTATION_PORTRAIT", - "ORIENTATION_LANDSCAPE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "origin": { - "enum": [ - "ORIGIN_UNKNOWN", - "ORIGIN_CLIENT", - "ORIGIN_UPLOAD", - "ORIGIN_PROCESSING" - ], - "enumDescriptions": [ - "", - "Provided by the client.", - "Assessed during upload before all bytes are available.", - "Assessed during processing." - ], - "type": "string" - }, - "projection": { - "enum": [ - "PROJECTION_UNKNOWN", - "PROJECTION_RECTANGULAR", - "PROJECTION_SPHERICAL", - "PROJECTION_PARTIALLY_SPHERICAL" - ], - "enumDescriptions": [ - "", - "a regular, non projected video", - "360 content", - "go/3d180" - ], - "type": "string" - }, - "resolution": { - "description": "The resolution for a video takes into account the displayed video size, and takes into account the orientation. For example: - A 1920x1080 video will have ORIENTATION_LANDSCAPE and RESOLUTION_1080P - A 1080x1920 video will have ORIENTATION_PORTRAIT and RESOLUTION_1080P - A 1080x1080 video will have ORIENTATION_LANDSCAPE and RESOLUTION_1080P", - "enum": [ - "RESOLUTION_UNKNOWN", - "RESOLUTION_ULTRA_LOW", - "RESOLUTION_LOW", - "RESOLUTION_SD", - "RESOLUTION_720P", - "RESOLUTION_1080P", - "RESOLUTION_2K", - "RESOLUTION_4K", - "RESOLUTION_8K" - ], - "enumDescriptions": [ - "", - "Common Interchange Format or smaller.", - "Below standard definition, larger than CIF.", - "Ever-larger levels of resolution. Check multiple values to check \"1080p or higher\", for example.", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "spatialAudioMode": { - "enum": [ - "SPATIAL_AUDIO_MODE_UNKNOWN", - "SPATIAL_AUDIO_MODE_NON_SPATIAL", - "SPATIAL_AUDIO_MODE_SPATIAL" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "stereoMode": { - "enum": [ - "STEREO_MODE_UNKNOWN", - "STEREO_MODE_TWO_D", - "STEREO_MODE_SIDE_BY_SIDE", - "STEREO_MODE_TOP_BOTTOM" - ], - "enumDescriptions": [ - "", - "", - "3-D. Always left-to-right.", - "3-D. Bottom-to-top not supported." - ], - "type": "string" - }, - "timedtextOverview": { - "items": { - "$ref": "VideoMediaOverviewTimedTextOverview" - }, - "type": "array" - }, - "videoOverview": { - "items": { - "$ref": "VideoMediaOverviewVideoOverview" - }, - "type": "array" - }, - "wallyMeshType": { - "description": "This only applies when: projection = PROJECTION_PARTIALLY_SPHERICAL", - "enum": [ - "MESH_TYPE_UNKNOWN", - "MESH_TYPE_WALLY_FISHEYE", - "MESH_TYPE_WALLY_CROPPED_EQUIRECT" - ], - "enumDescriptions": [ - "", - "Wally mesh: see go/wally-format and go/wallymesh.", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "VideoMediaOverviewAudioOverview": { - "description": "Audio stream description with no PII.", - "id": "VideoMediaOverviewAudioOverview", - "properties": { - "channels": { - "description": "Number of audio channels.", - "format": "int32", - "type": "integer" - }, - "contentType": { - "description": "Content type of the audio track extracted from VSI. This is only populated with valid \"acont\" xtag values at the moment, i.e., if VSI reports an invalid string, we ignore it. Supported acont xtag values can be found in google3/video/storage/common/xtag_validation.cc. Examples: \"original\", \"dubbed\", \"descriptive\", \"commentary\", etc.", - "type": "string" - }, - "language": { - "description": "Language of the audio track extracted from VSI. Populated if it's deemed a valid code by ISO639-2b, ISO639-2t or III library.", - "type": "string" - }, - "loudness1770Lkfs": { - "format": "double", - "type": "number" - }, - "roundedUpOriginalDurationSec": { - "description": "Approximate audio length, has the same caveats as its video equivalent.", - "format": "int32", - "type": "integer" - }, - "spatialAudioMode": { - "enum": [ - "SPATIAL_AUDIO_MODE_UNKNOWN", - "SPATIAL_AUDIO_MODE_NON_SPATIAL", - "SPATIAL_AUDIO_MODE_SPATIAL" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "VideoMediaOverviewDataOverview": { - "description": "Data stream description with no PII. Currently used by originals replacement pipeline to exclude all clips that have data streams. Fields in proto are used to exclude clips with certain types of data streams.", - "id": "VideoMediaOverviewDataOverview", - "properties": { - "hasCameraMotionMetadata": { - "description": "Whether the data stream has camera motion metadata (dynamic) or not (static). Some Wally/VR180 videos do.", - "type": "boolean" - }, - "hasOzoAudio": { - "description": "If true, source contains metadata for OZO spatial audio support. See b/62393568 for more information about the OZO spatial audio format. Note that SpatialAudioMode is independent of this format.", - "type": "boolean" - } - }, - "type": "object" - }, - "VideoMediaOverviewMediaClipInfoOverview": { - "description": "Video clip info description with no PII.", - "id": "VideoMediaOverviewMediaClipInfoOverview", - "properties": { - "hasGeolocation": { - "description": "Corresponds to vsi.video_clip_info().has_geolocation()", - "type": "boolean" - } - }, - "type": "object" - }, - "VideoMediaOverviewTimedTextOverview": { - "description": "Timed text stream description with no PII. Currently used by originals replacement pipeline to exclude all clips that have timed text streams. Add fields to proto if we want to only exclude clips with certain types of timed text streams in the future.", - "id": "VideoMediaOverviewTimedTextOverview", - "properties": {}, - "type": "object" - }, - "VideoMediaOverviewVideoOverview": { - "description": "Video stream description with no PII.", - "id": "VideoMediaOverviewVideoOverview", - "properties": { - "aspectRatio": { - "enum": [ - "ASPECT_RATIO_UNKNOWN", - "ASPECT_RATIO_1_1", - "ASPECT_RATIO_3_2", - "ASPECT_RATIO_4_3", - "ASPECT_RATIO_16_9" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "averageFps": { - "description": "Prefer average_fps to match the logic used in transcoder for format profile frame rate checks. First added for Photos, see b/165839654.", - "format": "double", - "type": "number" - }, - "codecId": { - "format": "int32", - "type": "integer" - }, - "colorDynamicRange": { - "enum": [ - "COLOR_DYNAMIC_RANGE_UNKNOWN", - "COLOR_DYNAMIC_RANGE_STANDARD", - "COLOR_DYNAMIC_RANGE_HIGH" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "fps": { - "format": "double", - "type": "number" - }, - "height": { - "format": "int32", - "type": "integer" - }, - "resolution": { - "enum": [ - "RESOLUTION_UNKNOWN", - "RESOLUTION_ULTRA_LOW", - "RESOLUTION_LOW", - "RESOLUTION_SD", - "RESOLUTION_720P", - "RESOLUTION_1080P", - "RESOLUTION_2K", - "RESOLUTION_4K", - "RESOLUTION_8K" - ], - "enumDescriptions": [ - "", - "Common Interchange Format or smaller.", - "Below standard definition, larger than CIF.", - "Ever-larger levels of resolution. Check multiple values to check \"1080p or higher\", for example.", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "roundedUpOriginalDurationSec": { - "description": "Approximate video length. Data is rounded up to the next second, to avoid being PII. (Long ago, YTFE set a precedent of rounding up durations, rather than rounding to the closest second.) This value is derived from metadata in the source video, and often differs from the actual duration of any given transcode. In videos without valid timestamps, this value is not calculable, and is reported as zero. Prefer the value from MediaInfo::VideoStream over this value, which was added to resolve b/202864365.", - "format": "int32", - "type": "integer" - }, - "videoHasClosedCaptions": { - "type": "boolean" - }, - "width": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoPerDocData": { - "id": "VideoPerDocData", - "properties": { - "coreSignals": { - "$ref": "MediaIndexVideoCoreSignals" - }, - "frames": { - "$ref": "MediaIndexVideoFrames" - } - }, - "type": "object" - }, - "VideoPipelineViperThumbnailerColumnData": { - "id": "VideoPipelineViperThumbnailerColumnData", - "properties": { - "frameBlobRefs": { - "description": "The blobRef where the representative frame is stored. This is repeated in order to support multiple thumbnails in the future.", - "items": { - "$ref": "BlobstoreBlobRef" - }, - "type": "array" - }, - "frameFileList": { - "$ref": "VideoThumbnailsFrameFileList", - "description": "Video frame files (based on file_dir_to_save_frames parameter)" - }, - "frameTypeGenerated": { - "description": "Frame type generated (VR/360/3D/default).", - "enum": [ - "FRAME_TYPE_DEFAULT", - "FRAME_TYPE_VR", - "FRAME_TYPE_360", - "FRAME_TYPE_3D", - "FRAME_TYPE_VR180_LEFT_RIGHT", - "FRAME_TYPE_VR180_TOP_BOTTOM" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "generatedFromDrishtiThumbnailer": { - "description": "True if the thumbnails are generated from drishti_thumbnailer.", - "type": "boolean" - }, - "highResPreviewThumbnailGenerated": { - "type": "boolean" - }, - "hq720Generated": { - "description": "hq720.jpg is a 1280x720 pixel image generated only when the input video resolution is 1280x720 or higher.", - "type": "boolean" - }, - "hqdefaultGenerated": { - "description": "The flags below indicate whether certain optional thumbnail images were generated. hqdefault.jpg is a 480x360 pixel high quality image which should normally be always generated.", - "type": "boolean" - }, - "hvcBackupGenerated": { - "description": "True if a set of backup HVC thumbnails is generated.", - "type": "boolean" - }, - "improvedVerticalGenerated": { - "description": "True if the thumbnails are generated with background crop and scrim.", - "type": "boolean" - }, - "maxresdefaultGenerated": { - "description": "maxresdefault.jpg is an image of the same resolution as the input video. It is generated only when the input video is significantly higher-resolution than 640x480.", - "type": "boolean" - }, - "maxresdefaultHeight": { - "description": "Height of the generated maxresdefault thumbnail.", - "format": "int32", - "type": "integer" - }, - "maxresdefaultWidth": { - "description": "Width of the generated maxresdefault thumbnail.", - "format": "int32", - "type": "integer" - }, - "movingThumbnailGenerated": { - "description": "True if moving thumbnails are generated.", - "type": "boolean" - }, - "privateThumbnailsGenerated": { - "description": "True if private thumbnails were generated and stored in the thumbnail database.", - "type": "boolean" - }, - "publicThumbnailsGenerated": { - "description": "True if public thumbnails were generated and stored in the thumbnail database.", - "type": "boolean" - }, - "rerunStatus": { - "description": "Analysis result of running the rerun thumbnailer", - "enum": [ - "RERUN_FAILED", - "RERUN_NO_ACTION_CUSTOM_THUMB", - "RERUN_NO_ACTION_ALREADY_EXISTS", - "RERUN_NO_ACTION_RECOMPUTE_DISABLED", - "RERUN_NO_ACTION_DEFAULT_THUMBNAILS_MISSING", - "RERUN_NO_ACTION_DEFAULT_THUMBNAILS_TIMESTAMP_MISSING", - "RERUN_NO_ACTION_THUMBNAIL_SERVICE_FAILURE", - "RERUN_NO_ACTION_UNUSUAL_THUMBNAIL_DATA", - "RERUN_PERFORM_EXTRACTION" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "sddefaultGenerated": { - "description": "sddefault.jpg is a 640x480 pixel image generated only when the input video resolution is 640x480 or higher.", - "type": "boolean" - }, - "storyboardGenerated": { - "description": "This flag indicates if storyboard mosaic images were generated and stored in the thumbnail database.", - "type": "boolean" - }, - "storyboardNumLevels": { - "description": "Number of levels of storyboard generated (0 if policy default).", - "format": "int32", - "type": "integer" - }, - "storyboardPolicy": { - "description": "Policy number that governed the storyboard generation. If zero, no policy was used and the storyboard format is not fully specified by the parameters contained in this message.", - "format": "int32", - "type": "integer" - }, - "storyboardVersion": { - "description": "Version of the storyboard.", - "format": "int32", - "type": "integer" - }, - "storyboardVideoDurationMs": { - "description": "Video duration of the video.", - "format": "int32", - "type": "integer" - }, - "storyboardVideoHeight": { - "description": "Height of the video that was storyboarded.", - "format": "int32", - "type": "integer" - }, - "storyboardVideoWidth": { - "description": "Width of the video that was storyboarded.", - "format": "int32", - "type": "integer" - }, - "webpGenerated": { - "description": "This flag indicates if images in WebP format were created and stored in the thumbnail database.", - "type": "boolean" - } - }, - "type": "object" - }, - "VideoPipelineViperVSIColumnData": { - "id": "VideoPipelineViperVSIColumnData", - "properties": { - "info": { - "$ref": "VideoVideoStreamInfo" - }, - "inputReadTime": { - "description": "Total time taken in seconds to read the input", - "format": "double", - "type": "number" - }, - "partialFile": { - "description": "Was the VSI computed on a partial file ?", - "type": "boolean" - }, - "totalVsiTime": { - "description": "Total time (of all attempts) taken in seconds to compute VSI", - "format": "double", - "type": "number" - }, - "vsiStats": { - "items": { - "$ref": "VideoPipelineViperVSIColumnDataVsiStats" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoPipelineViperVSIColumnDataVsiStats": { - "description": "The stats of each output vsi.", - "id": "VideoPipelineViperVSIColumnDataVsiStats", - "properties": { - "partialVsi": { - "description": "True if the output vsi is a partial vsi.", - "type": "boolean" - }, - "vsiTime": { - "description": "The time (in secondes) from vsi_engine init to vsi written to output buffer.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "VideoRational32": { - "id": "VideoRational32", - "properties": { - "denominator": { - "format": "int32", - "type": "integer" - }, - "numerator": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoSEIMessage": { - "description": "This SEI message only takes the payload type and the sum of the payload sizes for all SEI messages of this type. More informations, such as timestamp, payload, may be added in the future.", - "id": "VideoSEIMessage", - "properties": { - "count": { - "description": "message count of each payloadtype", - "format": "int32", - "type": "integer" - }, - "cumulativeSize": { - "description": "If the video stream has multiple SEI messages with the same payload type, this is the sum of all these payloads' sizes.", - "format": "int64", - "type": "string" - }, - "payloadtype": { - "description": "use int type in case there are payload types that are not included in the SEIPayloadType enum below. The enum can be used for lookup", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoStorageLoudnessData": { - "description": "Measurement of loudness. Next tag = 3", - "id": "VideoStorageLoudnessData", - "properties": { - "itu1770LoudnessDb": { - "description": "Loudness measured using ITU-R BS. 1770", - "format": "float", - "type": "number" - }, - "perceptualLoudnessDb": { - "description": "Perceived loudness of audio measured using replaygain.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "VideoThumbnailsFrameFile": { - "description": "Individual video frame saved in an image file.", - "id": "VideoThumbnailsFrameFile", - "properties": { - "filename": { - "type": "string" - }, - "height": { - "format": "int32", - "type": "integer" - }, - "msOffset": { - "format": "int32", - "type": "integer" - }, - "width": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoThumbnailsFrameFileList": { - "description": "List of individual video frames, each saved as an image file", - "id": "VideoThumbnailsFrameFileList", - "properties": { - "frameFiles": { - "items": { - "$ref": "VideoThumbnailsFrameFile" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoThumbnailsThumbnailScore": { - "description": "LINT.IfChange Score calculated from a thumbnail. NextID: 16", - "id": "VideoThumbnailsThumbnailScore", - "properties": { - "checksum": { - "description": "Checksum of the thumbnail bytes used to identify which image the score belongs to. Only filled when thumbnail version is 0.", - "format": "uint64", - "type": "string" - }, - "colorSampling": { - "description": "Color sampling score encoded as uint32. Encode/Decode using youtube::color::RgbToUint / UIntToRgb. Field is only relevant for TYPE_COLOR_SAMPLING.", - "format": "uint32", - "type": "integer" - }, - "denseFeatures": { - "description": "Thumbnail dense features.", - "items": { - "format": "float", - "type": "number" - }, - "type": "array" - }, - "denseGeneralExtraFeatures": { - "$ref": "DrishtiFeatureExtra", - "description": "FeatureExtra extension for dense features." - }, - "externalImageId": { - "description": "A unique identifier for the image that is independent of the resolution. The Image ID accompanies the image bytes through its lifecycle, from creation till vanishing. Image ID is not based on image content; it is different than checksum (e.g. two different images with the same bytes may not have the same image ID). This ID is used as a unique identifier for clients such as T\u0026S and classifiers. For more info refer to go/thumbnail-id-ts-ab-testing Note: Image ID's are still in development and are currently not exposed externally (may be done in the future). Please contact yt-thumbnails-core@ before using it. Do not use externally or in logs before contacting yt-thumbnails-core@", - "type": "string" - }, - "isAssigned": { - "description": "If true, score is manually assigned.", - "type": "boolean" - }, - "isInstant": { - "description": "If true, score will be instantly indexed by YouTube search indexer.", - "type": "boolean" - }, - "modelVersion": { - "enum": [ - "MODEL_VERSION_UNKNOWN", - "MODEL_VERSION_ONE", - "MODEL_VERSION_TWO", - "MODEL_VERSION_THREE", - "MODEL_VERSION_FOUR", - "MODEL_RACY_WATCHPAGE_2018_01_15", - "MODEL_RACY_WATCHPAGE_2020_04_20", - "MODEL_RACY_WATCHPAGE_2020_04_20A", - "MODEL_RACY_WATCHPAGE_2020_04_20_FLAGGED", - "MODEL_RACY_WATCHPAGE_2021_05_04", - "MODEL_RACY_WATCHPAGE_2021_05_04_FLAGGED", - "MODEL_RACY_WATCHPAGE_2021_05_04_FLAGGED_SHORTS", - "MODEL_RACY_WATCHPAGE_2021_05_04_FLAGGED_HOME", - "MODEL_RACY_WATCHPAGE_2021_05_04_FLAGGED_WATCHNEXT", - "MODEL_RACY_WATCHPAGE_V4", - "MODEL_RACY_WATCHPAGE_V5", - "MODEL_RACY_WATCHPAGE_V5_FLAGGED", - "MODEL_RACY_WATCHPAGE_IMMERSIVE_LIVE_V1", - "MODEL_RACY_WATCHPAGE_IMMERSIVE_LIVE_WF_V1", - "MODEL_RACY_WATCHPAGE_IMMERSIVE_LIVE_V1_FLAGGED", - "MODEL_RACY_WATCHPAGE_RELEASE", - "MODEL_RACY_SHORTS_WATCHPAGE_V1", - "MODEL_RACY_SHORTS_WATCHPAGE_V1_FLAGGED", - "MODEL_RACY_SHORTS_WATCHPAGE_V2", - "MODEL_RACY_SHORTS_WATCHPAGE_V2_FLAGGED", - "MODEL_RACY_SHORTS_WATCHPAGE_V3", - "MODEL_RACY_SHORTS_WATCHPAGE_NF_V3", - "MODEL_RACY_SHORTS_WATCHPAGE_WF_V3", - "MODEL_RACY_SHORTS_WATCHPAGE_V3_FLAGGED", - "MODEL_RACY_SHORTS_WATCHPAGE_NF_V3_FLAGGED", - "MODEL_RACY_SHORTS_WATCHPAGE_WF_V3_FLAGGED", - "MODEL_RACY_SHORTS_WATCHPAGE_RELEASE", - "MODEL_RACY_THUMB_2019_04_02", - "MODEL_RACY_THUMB_2019_08_12", - "MODEL_RACY_THUMB_2019_08_12A", - "MODEL_RACY_THUMB_2019_08_12B", - "MODEL_RACY_THUMB_2019_08_12C", - "MODEL_RACY_THUMB_2019_08_12D", - "MODEL_RACY_THUMB_2019_08_12E", - "MODEL_RACY_THUMB_2019_08_12_CALIBRATED", - "MODEL_RACY_THUMB_2019_08_12_FLAGGED", - "MODEL_RACY_THUMB_RELEASE", - "MODEL_QUALITY_2019_09_24", - "MODEL_QUALITY_2019_11_11", - "MODEL_QUALITY_2020_11_12", - "MODEL_RACY_THUMB_2019_08_12_4A", - "MODEL_RACY_THUMB_2019_08_12_4B", - "MODEL_RACY_THUMB_2019_08_12_4C", - "MODEL_RACY_THUMB_2019_08_12_UPDATEDSS", - "MODEL_RACY_THUMB_2019_04_02_ABLATE_ALL", - "MODEL_RACY_THUMB_2019_04_02_ABLATE_V3", - "MODEL_RACY_THUMB_2019_08_12_ABLATE_HUMAN_RATING", - "MODEL_RACY_THUMB_2019_08_12_ABLATE_USER_FLAGGING", - "MODEL_RACY_THUMB_2020_02_24", - "MODEL_RACY_THUMB_2020_02_24_CALIBRATED", - "MODEL_RACY_THUMB_2020_02_24_FLAGGED", - "MODEL_RACY_THUMB_2020_02_24_EFF", - "MODEL_RACY_THUMB_V5", - "MODEL_THUMB_EMBEDDING_20201201", - "MODEL_PQC_20210816_0", - "MODEL_VERSION_TEST" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - true, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "First version for each score type (except racy_watchpage). Score is calibrated to between [0, 1] (go/improve-yt-thumb-racy-scorer).", - "Second version for golden thumbnail features.", - "Third version for golden thumbnail features.", - "Fourth version for golden thumbnail features.", - "Models described in go/racy:", - "Racy watchpage score v5 using racy watchpage model v2 (go/racy-watchpage-v2).", - "Historical: Used before 07/01/2020. Racy watchpage model v2, experimenting calibration to precision.", - "Flagged racy watchpage score v5 using racy watchpage model v2.", - "Racy watchpage score v6 using racy watchpage model v3 (go/racy-watchpage-v3).", - "Flagged racy watchpage score v6 using racy watchpage model v3.", - "Flagged racy watchpage score v6 using racy watchpage model v3 and shorts video reports.", - "Flagged racy watchpage score v6 using racy watchpage model v3 calibrated for home.", - "Flagged racy watchpage score v6 using racy watchpage model v3 calibrated for watchnext.", - "Racy watchpage model v4 (go/racy-watchpage-v4).", - "Racy watchpage model v5.", - "", - "Racy watchpage immersive-live model v1.", - "", - "", - "Racy watchpage release version.", - "LINT.IfChange Racy shorts watchpage model v1.", - "", - "Racy shorts watchpage model v2.", - "", - "Racy shorts watchpage model v3.", - "", - "", - "", - "", - "", - "Racy shorts watchpage release version.", - "LINT.ThenChange(//depot/google3/video/thumbnails/features/util/consts.h) Racy thumb model which corresponds to https://mldash.corp.google.com/experiments/156747527161891342", - "Racy thumb model V3 based on cotraining. https://mldash.corp.google.com/experiments/2626243069925683800", - "Historical: Used before 05/06/2020. Racy thumb model V3 based on cotraining. Variant 1. https://mldash.corp.google.com/experiments/2626243069925683800", - "Historical: Used before 05/06/2020. Racy thumb model V3 based on cotraining. Variant 2. https://mldash.corp.google.com/experiments/2626243069925683800", - "Historical: Used before 05/06/2020. Racy thumb model V3 based on cotraining. Variant 3. https://mldash.corp.google.com/experiments/2626243069925683800", - "Historical: Used before 05/06/2020. Racy thumb model V3 based on cotraining. Variant 4. https://mldash.corp.google.com/experiments/2626243069925683800", - "Historical: Used before 05/06/2020. Racy thumb model V3 based on cotraining. Variant 5. https://mldash.corp.google.com/experiments/2626243069925683800", - "Racy thumb model V3 after calibration.", - "Flagged racy watchpage model using racy thumbnail V3 score.", - "Racy thumbnail release version.", - "Quality thumb model V2 trained using search page quality ratings.", - "", - "Quality thumb model V3.", - "Historical: Used before 05/06/2020. Racy thumb model V3 based on cotraining. Variant 4A. https://mldash.corp.google.com/experiments/2626243069925683800", - "Historical: Used before 05/06/2020. Racy thumb model V3 based on cotraining. Variant 4B. https://mldash.corp.google.com/experiments/2626243069925683800", - "Historical: Used before 05/06/2020. Racy thumb model V3 based on cotraining. Variant 4C. https://mldash.corp.google.com/experiments/2626243069925683800", - "Historical: Used before 05/06/2020. Racy thumb model V3 based on cotraining. Variant for Safesearch Update.", - "Historical: Used before 03/11/2020.", - "Historical: Used before 03/11/2020.", - "Historical: Used before 03/11/2020.", - "Historical: Used before 03/11/2020.", - "Racy thumb model V4 based on unified training.", - "Racy thumb model V4 based on unified training after calibration with MODEL_VERSION_ONE.", - "Flagged racy watchpage model using racy thumbnail V4 score.", - "Historical: Used before 03/25/2020.", - "Racy thumb model V5 (go/racy-thumb-v5)", - "First thumbnail-Query embedding ready for SxS.", - "Porn Query Classifier (go/pqc).", - "Model version for test data that shouldn't be used in production." - ], - "type": "string" - }, - "overwriteReason": { - "enum": [ - "REASON_NO_OVERWRITE", - "REASON_UNKNOWN", - "REASON_RACY_WARTCHPAGE_RATING", - "REASON_RACY_THUMBNAIL_RATING", - "REASON_THUMBNAIL_REPORT", - "REASON_VIDEO_REPORT", - "REASON_CLUSTER_HEURISTIC" - ], - "enumDescriptions": [ - "", - "", - "", - "Overwrite using CorpusTable::kDefaultThumbnailRacyRatingScoreCol.", - "Overwrite using thumbnail user reports and elmo score.", - "Overwrite using video user reports and elmo score.", - "Overwrite using cluster heuristics" - ], - "type": "string" - }, - "quantizedFeatures": { - "description": "Thumbnail quantized dense features, available in TYPE_STARBURST_COMPRESSED", - "format": "byte", - "type": "string" - }, - "score": { - "format": "double", - "type": "number" - }, - "sparseFeatures": { - "$ref": "DrishtiSparseFeatureData", - "description": "Thumbnail sparse features, available in TYPE_STARBURST" - }, - "thumbnailSet": { - "enum": [ - "SET_UNKNOWN", - "SET_ONE", - "SET_TWO", - "SET_THREE", - "SET_DEFAULT" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "thumbnailVersion": { - "description": "Version number of the thumbnail. Should be consistent with the version number in the ytimg_content column family.", - "format": "uint64", - "type": "string" - }, - "type": { - "enum": [ - "TYPE_UNKNOWN", - "TYPE_RACY", - "TYPE_QUALITY", - "TYPE_JOY_FACE", - "TYPE_EYE_OPEN", - "TYPE_FACE_RATIO", - "TYPE_SHARPNESS", - "TYPE_COLORFULNESS", - "TYPE_NIMA", - "TYPE_STARBURST", - "TYPE_RACY_RATING", - "TYPE_RACY_WATCHPAGE", - "TYPE_RACY_LOCKUP", - "TYPE_RACY_WATCHPAGE_FLAGGED", - "TYPE_STARBURST_EMBEDDING", - "TYPE_FACE", - "TYPE_FDENSE_PCA", - "TYPE_FDENSE_PCA_MOE", - "TYPE_FNET_LOGREG", - "TYPE_FNET_TOPICALITY", - "TYPE_LOGO", - "TYPE_NEAR_DUP", - "TYPE_OCR", - "TYPE_OCR_UNIGRAMS", - "TYPE_OCR_UNIGRAMS_NON_TRIVIAL", - "TYPE_PINKY_FRAMING", - "TYPE_PQC_PORN_CHANNEL_DISPLAY_NAME", - "TYPE_PQC_PORN_DESCRIPTION", - "TYPE_PQC_PORN_TITLE", - "TYPE_PQC_VIOLENCE_CHANNEL_DISPLAY_NAME", - "TYPE_PQC_VIOLENCE_DESCRIPTION", - "TYPE_PQC_VIOLENCE_TITLE", - "TYPE_SAFESEARCH", - "TYPE_SAFESEARCH_PINKY", - "TYPE_STARBURST_COMPRESSED", - "TYPE_STARBURST_TOKENS", - "TYPE_MACRO_MARKERS", - "TYPE_THUMB_QUERY_EMBEDDING", - "TYPE_COLOR_SAMPLING", - "TYPE_ENGAGINESS" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "go/nima.", - "", - "go/thumb-safety-continuous-racy-model (\"Signal Export\").", - "", - "", - "Historical: Used before 05/08/2020.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Porn Query Classifier (go/pqc) scores.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "VideoTimedtextS4ALIResults": { - "id": "VideoTimedtextS4ALIResults", - "properties": { - "langResults": { - "description": "The complete list of language scores, sorted from high score to low.", - "items": { - "$ref": "VideoTimedtextS4LangScore" - }, - "type": "array" - }, - "speechClass": { - "description": "What kind of speech (if any) was detected.", - "enum": [ - "UNKNOWN", - "NO_SPEECH", - "HAS_SPEECH_FOR_ASR" - ], - "enumDescriptions": [ - "Unspecified, or string label not recognized.", - "", - "Currently corresponds to simple speech" - ], - "type": "string" - } - }, - "type": "object" - }, - "VideoTimedtextS4LangScore": { - "id": "VideoTimedtextS4LangScore", - "properties": { - "confidence": { - "description": "A score between 0.0 and 1.0; the relative probability that this is the language of the video. This should not be interpreted as an absolute probability. For instance, scores may be calculated for all languages even for videos for which no speech was detected.", - "format": "float", - "type": "number" - }, - "langCode": { - "description": "The language code for one of the languages supported by automatic language identification.", - "type": "string" - } - }, - "type": "object" - }, - "VideoUserDataRegisteredItuTT35": { - "description": "This message contains user data registered itu-t t.35 data", - "id": "VideoUserDataRegisteredItuTT35", - "properties": { - "count": { - "description": "Counts itu-t t.35 message with the same country code and provider code", - "format": "int32", - "type": "integer" - }, - "countryCode": { - "format": "int32", - "type": "integer" - }, - "providerCode": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoUserDataUnregistered": { - "description": "This message contains unregistered user data identified by a UUID", - "id": "VideoUserDataUnregistered", - "properties": { - "count": { - "description": "Counts user data with the same uuid and payload If payload size is larger than limit, the payload will be 'Payload size is larger than limit: ' + limit size Count will be for user data with same uuid and payload exceeds limit in this case", - "format": "int32", - "type": "integer" - }, - "payload": { - "description": "Payload may not be filled in Payload may contain user data", - "format": "byte", - "type": "string" - }, - "uuid": { - "type": "string" - } - }, - "type": "object" - }, - "VideoVideoClipInfo": { - "description": "VideoClipInfo : meta information extracted from video file Next id: 26", - "id": "VideoVideoClipInfo", - "properties": { - "artist": { - "description": "Lists the artist of the original subject of the file.", - "format": "byte", - "type": "string" - }, - "audioVendorId": { - "description": "Audio vendor ID", - "format": "byte", - "type": "string" - }, - "author": { - "description": "Different containers use different video clip info. The following fields include info from popular formats: AVI, MOV, and WMV.", - "format": "byte", - "type": "string" - }, - "comment": { - "format": "byte", - "type": "string" - }, - "commissioned": { - "description": "Lists the name of the person or organization that commissioned the subject of the file.", - "format": "byte", - "type": "string" - }, - "copyright": { - "description": "Records the copyright information for the file.", - "format": "byte", - "type": "string" - }, - "digitizationTime": { - "format": "byte", - "type": "string" - }, - "director": { - "format": "byte", - "type": "string" - }, - "engineer": { - "description": "The engineer who worked on the file.", - "format": "byte", - "type": "string" - }, - "geolocation": { - "$ref": "VideoVideoGeoLocation", - "description": "Optional geo-location information in WGS 84." - }, - "info": { - "format": "byte", - "type": "string" - }, - "keywords": { - "description": "Provides a list of keywords that refer to the file or subject of the file.", - "format": "byte", - "type": "string" - }, - "make": { - "description": "The camera make such as Apple, Samsung etc.", - "format": "byte", - "type": "string" - }, - "medium": { - "description": "Describes the original subject of the file.", - "format": "byte", - "type": "string" - }, - "metadata": { - "description": "Container level metadata", - "items": { - "$ref": "VideoClipInfo" - }, - "type": "array" - }, - "model": { - "description": "The camera model such as iPhone7 or Pixel, etc.", - "format": "byte", - "type": "string" - }, - "performer": { - "format": "byte", - "type": "string" - }, - "producer": { - "format": "byte", - "type": "string" - }, - "requirements": { - "format": "byte", - "type": "string" - }, - "software": { - "description": "Identifies the name of the software packages used to create the file.", - "format": "byte", - "type": "string" - }, - "sourceProvider": { - "description": "Identifies the name of the person or organization who supplied the original subject of the file.", - "format": "byte", - "type": "string" - }, - "subject": { - "description": "Describes the contents of the file.", - "format": "byte", - "type": "string" - }, - "technician": { - "description": "Identifies the technician who digitized the subject file.", - "format": "byte", - "type": "string" - }, - "title": { - "format": "byte", - "type": "string" - }, - "videoVendorId": { - "description": "Video vendor ID", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "VideoVideoGeoLocation": { - "description": "Generic geo-location information. This is error-prone due to the fact that is uses signed integer fields, which are not supported by proto1 API and are cast to unsigned integers. Consider using the metadata_util function directly, which fills out a version 2 API proto.", - "id": "VideoVideoGeoLocation", - "properties": { - "altitudeE2": { - "description": "Altitude is in meters and multiplied by 100 (i.e., in centimeters). Up till 10 km this fits in 3 bytes.", - "format": "int32", - "type": "integer" - }, - "latitudeE7": { - "description": "Latitude and longitude are in degrees and multiplied by 10^7. This gives the worst precision of about 1 cm at the equator.", - "format": "int32", - "type": "integer" - }, - "longitudeE7": { - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoVideoStream": { - "id": "VideoVideoStream", - "properties": { - "bitrate": { - "description": "Video bitrate in bits/s.", - "format": "int64", - "type": "string" - }, - "codecId": { - "description": "Video codec ID. Uses the numeric value corresponding to the CodecId enum object, in order to avoid the dependency on vsi/videostreaminfo.proto. http://cs/symbol:CodecId%20f:google3/video/vidproc/vsi/videostreaminfo.proto", - "format": "int32", - "type": "integer" - }, - "fps": { - "description": "Video frame per second, obtained by parsing video header information. The value can be inaccurate for some types of codecs. See comments at http://cs/symbol:video_fps%20f:google3/video/vidproc/vsi/videostreaminfo.proto", - "format": "double", - "type": "number" - }, - "height": { - "format": "int32", - "type": "integer" - }, - "lengthSec": { - "description": "Video length, in seconds. This value is derived from metadata in the source video, and often differs from the actual duration of any given transcode. In videos without valid timestamps, this value is not calculable, and is reported as zero.", - "format": "double", - "type": "number" - }, - "streamIndex": { - "description": "Index of the stream in the file, 0-based.", - "format": "int64", - "type": "string" - }, - "width": { - "description": "The video stream's width and height. Important notes: 1) These are the coded dimensions of the video stream and DO NOT take into account any rotation metadata that may be present in the video container. Prefer to use the MediaOverview::resolution and MediaOverview::orientation when possible. 2) In the case you want detailed displayed width/height information, you can use the MediaOverview::orientation to determine the displayed dimensions. E.g., in the case of PORTRAIT orientation: displayed_width = min(width, height) displayed_height = max(width, height) And for LANDSCAPE orientation: displayed_width = max(width, height) displayed_height = min(width, height)", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoVideoStreamInfo": { - "description": "Note that when a VSI is from a user video, the information reflects the info in that source. Fields like lengths, fps, etc. are not guaranteed to be the same as those of transcodes. If the relevant info in source is too broken, the corresponding fields (e.g., lengths) could be unset or with the default value, meaning VSI cannot compute them from the given info. Next id: 84", - "id": "VideoVideoStreamInfo", - "properties": { - "audioBitrate": { - "description": "audio bitrate in bits/s", - "format": "double", - "type": "number" - }, - "audioChannels": { - "description": "audio channels", - "format": "int32", - "type": "integer" - }, - "audioCodecId": { - "description": "Primary audio codec information Fields 15-20, 41-42, 48, 52-53 for audio will be obsolete soon. Please start using the new repeated audio_stream and video_stream. For now, audio_stream(0) will match these fields. Primary audio codec information starts:", - "enum": [ - "CODEC_ID_NONE", - "CODEC_ID_MPEG1VIDEO", - "CODEC_ID_MPEG2VIDEO", - "CODEC_ID_MPEG2VIDEO_XVMC", - "CODEC_ID_H261", - "CODEC_ID_H263", - "CODEC_ID_RV10", - "CODEC_ID_RV20", - "CODEC_ID_MJPEG", - "CODEC_ID_MJPEGB", - "CODEC_ID_LJPEG", - "CODEC_ID_SP5X", - "CODEC_ID_JPEGLS", - "CODEC_ID_MPEG4", - "CODEC_ID_RAWVIDEO", - "CODEC_ID_MSMPEG4V1", - "CODEC_ID_MSMPEG4V2", - "CODEC_ID_MSMPEG4V3", - "CODEC_ID_WMV1", - "CODEC_ID_WMV2", - "CODEC_ID_H263P", - "CODEC_ID_H263I", - "CODEC_ID_FLV1", - "CODEC_ID_SVQ1", - "CODEC_ID_SVQ3", - "CODEC_ID_DVVIDEO", - "CODEC_ID_HUFFYUV", - "CODEC_ID_CYUV", - "CODEC_ID_H264", - "CODEC_ID_INDEO3", - "CODEC_ID_VP3", - "CODEC_ID_THEORA", - "CODEC_ID_ASV1", - "CODEC_ID_ASV2", - "CODEC_ID_FFV1", - "CODEC_ID_4XM", - "CODEC_ID_VCR1", - "CODEC_ID_CLJR", - "CODEC_ID_MDEC", - "CODEC_ID_ROQ", - "CODEC_ID_INTERPLAY_VIDEO", - "CODEC_ID_XAN_WC3", - "CODEC_ID_XAN_WC4", - "CODEC_ID_RPZA", - "CODEC_ID_CINEPAK", - "CODEC_ID_WS_VQA", - "CODEC_ID_MSRLE", - "CODEC_ID_MSVIDEO1", - "CODEC_ID_IDCIN", - "CODEC_ID_8BPS", - "CODEC_ID_SMC", - "CODEC_ID_FLIC", - "CODEC_ID_TRUEMOTION1", - "CODEC_ID_VMDVIDEO", - "CODEC_ID_MSZH", - "CODEC_ID_ZLIB", - "CODEC_ID_QTRLE", - "CODEC_ID_SNOW", - "CODEC_ID_TSCC", - "CODEC_ID_ULTI", - "CODEC_ID_QDRAW", - "CODEC_ID_VIXL", - "CODEC_ID_QPEG", - "CODEC_ID_XVID", - "CODEC_ID_PNG", - "CODEC_ID_PPM", - "CODEC_ID_PBM", - "CODEC_ID_PGM", - "CODEC_ID_PGMYUV", - "CODEC_ID_PAM", - "CODEC_ID_FFVHUFF", - "CODEC_ID_RV30", - "CODEC_ID_RV40", - "CODEC_ID_VC1", - "CODEC_ID_WMV3", - "CODEC_ID_LOCO", - "CODEC_ID_WNV1", - "CODEC_ID_AASC", - "CODEC_ID_INDEO2", - "CODEC_ID_FRAPS", - "CODEC_ID_TRUEMOTION2", - "CODEC_ID_BMP", - "CODEC_ID_CSCD", - "CODEC_ID_MMVIDEO", - "CODEC_ID_ZMBV", - "CODEC_ID_AVS", - "CODEC_ID_SMACKVIDEO", - "CODEC_ID_NUV", - "CODEC_ID_KMVC", - "CODEC_ID_FLASHSV", - "CODEC_ID_CAVS", - "CODEC_ID_JPEG2000", - "CODEC_ID_VMNC", - "CODEC_ID_VP5", - "CODEC_ID_VP6", - "CODEC_ID_VP6F", - "CODEC_ID_TARGA", - "CODEC_ID_DSICINVIDEO", - "CODEC_ID_TIERTEXSEQVIDEO", - "CODEC_ID_TIFF", - "CODEC_ID_GIF", - "CODEC_ID_FFH264", - "CODEC_ID_DXA", - "CODEC_ID_DNXHD", - "CODEC_ID_THP", - "CODEC_ID_SGI", - "CODEC_ID_C93", - "CODEC_ID_BETHSOFTVID", - "CODEC_ID_PTX", - "CODEC_ID_TXD", - "CODEC_ID_VP6A", - "CODEC_ID_AMV", - "CODEC_ID_VB", - "CODEC_ID_PCX", - "CODEC_ID_SUNRAST", - "CODEC_ID_INDEO4", - "CODEC_ID_INDEO5", - "CODEC_ID_MIMIC", - "CODEC_ID_RL2", - "CODEC_ID_8SVX_EXP", - "CODEC_ID_8SVX_FIB", - "CODEC_ID_ESCAPE124", - "CODEC_ID_DIRAC", - "CODEC_ID_BFI", - "CODEC_ID_CMV", - "CODEC_ID_MOTIONPIXELS", - "CODEC_ID_TGV", - "CODEC_ID_TGQ", - "CODEC_ID_TQI", - "CODEC_ID_AURA", - "CODEC_ID_AURA2", - "CODEC_ID_V210X", - "CODEC_ID_TMV", - "CODEC_ID_V210", - "CODEC_ID_DPX", - "CODEC_ID_MAD", - "CODEC_ID_FRWU", - "CODEC_ID_VP8", - "CODEC_ID_APPLE_PRORES_NQ", - "CODEC_ID_APPLE_PRORES_HQ", - "CODEC_ID_FLASHSV2", - "CODEC_ID_CDGRAPHICS", - "CODEC_ID_R210", - "CODEC_ID_ANM", - "CODEC_ID_BINKVIDEO", - "CODEC_ID_IFF_ILBM", - "CODEC_ID_IFF_BYTERUN1", - "CODEC_ID_KGV1", - "CODEC_ID_YOP", - "CODEC_ID_PICTOR", - "CODEC_ID_APPLE_PRORES_LT", - "CODEC_ID_APPLE_PRORES_PROXY", - "CODEC_ID_APPLE_PRORES_4444", - "CODEC_ID_APPLE_PIXLET", - "CODEC_ID_G2M", - "CODEC_ID_PRORES", - "CODEC_ID_ANSI", - "CODEC_ID_A64_MULTI", - "CODEC_ID_A64_MULTI5", - "CODEC_ID_R10K", - "CODEC_ID_MXPEG", - "CODEC_ID_LAGARITH", - "CODEC_ID_JV", - "CODEC_ID_DFA", - "CODEC_ID_WMV3IMAGE", - "CODEC_ID_VC1IMAGE", - "CODEC_ID_UTVIDEO", - "CODEC_ID_BMV_VIDEO", - "CODEC_ID_VBLE", - "CODEC_ID_DXTORY", - "CODEC_ID_V410", - "CODEC_ID_XWD", - "CODEC_ID_CDXL", - "CODEC_ID_XBM", - "CODEC_ID_ZEROCODEC", - "CODEC_ID_MSS1", - "CODEC_ID_MSA1", - "CODEC_ID_TSCC2", - "CODEC_ID_MTS2", - "CODEC_ID_CLLC", - "CODEC_ID_MSS2", - "CODEC_ID_Y41P", - "CODEC_ID_ESCAPE130", - "CODEC_ID_EXR", - "CODEC_ID_AVRP", - "CODEC_ID_AVUI", - "CODEC_ID_AYUV", - "CODEC_ID_V308", - "CODEC_ID_V408", - "CODEC_ID_YUV4", - "CODEC_ID_SANM", - "CODEC_ID_PAF_VIDEO", - "CODEC_ID_AVRN", - "CODEC_ID_CPIA", - "CODEC_ID_VP9", - "CODEC_ID_H265", - "CODEC_ID_CFHD", - "CODEC_ID_AV1", - "CODEC_ID_AIC", - "CODEC_ID_ALIAS_PIX", - "CODEC_ID_APNG", - "CODEC_ID_BRENDER_PIX", - "CODEC_ID_CLEARVIDEO", - "CODEC_ID_DDS", - "CODEC_ID_DXV", - "CODEC_ID_FIC", - "CODEC_ID_FITS", - "CODEC_ID_FMVC", - "CODEC_ID_GDV", - "CODEC_ID_HAP", - "CODEC_ID_HNM4_VIDEO", - "CODEC_ID_HQ_HQA", - "CODEC_ID_HQX", - "CODEC_ID_M101", - "CODEC_ID_MAGICYUV", - "CODEC_ID_MSCC", - "CODEC_ID_MVC1", - "CODEC_ID_MVC2", - "CODEC_ID_PIXLET", - "CODEC_ID_PSD", - "CODEC_ID_RSCC", - "CODEC_ID_SCPR", - "CODEC_ID_SCREENPRESSO", - "CODEC_ID_SGIRLE", - "CODEC_ID_SHEERVIDEO", - "CODEC_ID_SMVJPEG", - "CODEC_ID_SPEEDHQ", - "CODEC_ID_SRGC", - "CODEC_ID_TARGA_Y216", - "CODEC_ID_TDSC", - "CODEC_ID_TRUEMOTION2RT", - "CODEC_ID_VP7", - "CODEC_ID_BITPACKED", - "CODEC_ID_WEBP", - "CODEC_ID_XFACE", - "CODEC_ID_XPM", - "CODEC_ID_YLC", - "CODEC_ID_012V", - "CODEC_ID_AVS2", - "CODEC_ID_IMM4", - "CODEC_ID_MWSC", - "CODEC_ID_PROSUMER", - "CODEC_ID_RASC", - "CODEC_ID_WCMV", - "CODEC_ID_MSP2", - "CODEC_ID_VQC", - "CODEC_ID_CDTOONS", - "CODEC_ID_SIREN", - "CODEC_ID_PGX", - "CODEC_ID_ADPCM_IMA_CUNNING", - "CODEC_ID_VMIX", - "CODEC_ID_DERF_DPCM", - "CODEC_ID_MEDIA100", - "CODEC_ID_FTR", - "CODEC_ID_DFPWM", - "CODEC_ID_PDV", - "CODEC_ID_APAC", - "CODEC_ID_ADPCM_ARGO", - "CODEC_ID_ADPCM_IMA_SSI", - "CODEC_ID_SGA_VIDEO", - "CODEC_ID_PHOTOCD", - "CODEC_ID_PCM_SGA", - "CODEC_ID_NOTCHLC", - "CODEC_ID_OSQ", - "CODEC_ID_MISC4", - "CODEC_ID_PHM", - "CODEC_ID_MV30", - "CODEC_ID_GEM", - "CODEC_ID_MVDV", - "CODEC_ID_ACELP_KELVIN", - "CODEC_ID_PFM", - "CODEC_ID_ADPCM_IMA_APM", - "CODEC_ID_IMM5", - "CODEC_ID_ANULL", - "CODEC_ID_ARBC", - "CODEC_ID_VBN", - "CODEC_ID_FASTAUDIO", - "CODEC_ID_LSCR", - "CODEC_ID_RKA", - "CODEC_ID_ARGO", - "CODEC_ID_WBMP", - "CODEC_ID_MSNSIREN", - "CODEC_ID_ADPCM_IMA_ALP", - "CODEC_ID_BONK", - "CODEC_ID_QOI", - "CODEC_ID_RTV1", - "CODEC_ID_VNULL", - "CODEC_ID_HCOM", - "CODEC_ID_ADPCM_AGM", - "CODEC_ID_ADPCM_IMA_MTF", - "CODEC_ID_HYMT", - "CODEC_ID_WADY_DPCM", - "CODEC_ID_RADIANCE_HDR", - "CODEC_ID_MVHA", - "CODEC_ID_VP4", - "CODEC_ID_MOBICLIP", - "CODEC_ID_ADPCM_IMA_MOFLEX", - "CODEC_ID_HCA", - "CODEC_ID_IPU", - "CODEC_ID_WAVARC", - "CODEC_ID_SIMBIOSIS_IMX", - "CODEC_ID_CBD2_DPCM", - "CODEC_ID_PCM_VIDC", - "CODEC_ID_CRI", - "CODEC_ID_AGM", - "CODEC_ID_ADPCM_XMD", - "CODEC_ID_ADPCM_IMA_ACORN", - "CODEC_ID_ADPCM_ZORK", - "CODEC_ID_QOA", - "CODEC_ID_VVC", - "CODEC_ID_LEAD", - "CODEC_ID_UNKNOWN", - "CODEC_ID_PCM_S16LE", - "CODEC_ID_PCM_S16BE", - "CODEC_ID_PCM_U16LE", - "CODEC_ID_PCM_U16BE", - "CODEC_ID_PCM_S8", - "CODEC_ID_PCM_U8", - "CODEC_ID_PCM_MULAW", - "CODEC_ID_PCM_ALAW", - "CODEC_ID_PCM_S32LE", - "CODEC_ID_PCM_S32BE", - "CODEC_ID_PCM_U32LE", - "CODEC_ID_PCM_U32BE", - "CODEC_ID_PCM_S24LE", - "CODEC_ID_PCM_S24BE", - "CODEC_ID_PCM_U24LE", - "CODEC_ID_PCM_U24BE", - "CODEC_ID_PCM_S24DAUD", - "CODEC_ID_PCM_ZORK", - "CODEC_ID_PCM_S16LE_PLANAR", - "CODEC_ID_PCM_DVD", - "CODEC_ID_PCM_F32BE", - "CODEC_ID_PCM_F32LE", - "CODEC_ID_PCM_F64BE", - "CODEC_ID_PCM_F64LE", - "CODEC_ID_PCM_BLURAY", - "CODEC_ID_PCM_LXF", - "CODEC_ID_S302M", - "CODEC_ID_PCM_S8_PLANAR", - "CODEC_ID_PCM_S24LE_PLANAR", - "CODEC_ID_PCM_S32LE_PLANAR", - "CODEC_ID_PCM_S16BE_PLANAR", - "CODEC_ID_PCM_S64LE", - "CODEC_ID_PCM_S64BE", - "CODEC_ID_PCM_F16LE", - "CODEC_ID_PCM_F24LE", - "CODEC_ID_ADPCM_IMA_QT", - "CODEC_ID_ADPCM_IMA_WAV", - "CODEC_ID_ADPCM_IMA_DK3", - "CODEC_ID_ADPCM_IMA_DK4", - "CODEC_ID_ADPCM_IMA_WS", - "CODEC_ID_ADPCM_IMA_SMJPEG", - "CODEC_ID_ADPCM_MS", - "CODEC_ID_ADPCM_4XM", - "CODEC_ID_ADPCM_XA", - "CODEC_ID_ADPCM_ADX", - "CODEC_ID_ADPCM_EA", - "CODEC_ID_ADPCM_G726", - "CODEC_ID_ADPCM_CT", - "CODEC_ID_ADPCM_SWF", - "CODEC_ID_ADPCM_YAMAHA", - "CODEC_ID_ADPCM_SBPRO_4", - "CODEC_ID_ADPCM_SBPRO_3", - "CODEC_ID_ADPCM_SBPRO_2", - "CODEC_ID_ADPCM_THP", - "CODEC_ID_ADPCM_IMA_AMV", - "CODEC_ID_ADPCM_EA_R1", - "CODEC_ID_ADPCM_EA_R3", - "CODEC_ID_ADPCM_EA_R2", - "CODEC_ID_ADPCM_IMA_EA_SEAD", - "CODEC_ID_ADPCM_IMA_EA_EACS", - "CODEC_ID_ADPCM_EA_XAS", - "CODEC_ID_ADPCM_EA_MAXIS_XA", - "CODEC_ID_ADPCM_IMA_ISS", - "CODEC_ID_ADPCM_G722", - "CODEC_ID_ADPCM_IMA_APC", - "CODEC_ID_VIMA", - "CODEC_ID_ADPCM_AFC", - "CODEC_ID_ADPCM_IMA_OKI", - "CODEC_ID_ADPCM_DTK", - "CODEC_ID_ADPCM_IMA_RAD", - "CODEC_ID_ADPCM_G726LE", - "CODEC_ID_ADPCM_THP_LE", - "CODEC_ID_ADPCM_PSX", - "CODEC_ID_ADPCM_AICA", - "CODEC_ID_ADPCM_IMA_DAT4", - "CODEC_ID_ADPCM_MTAF", - "CODEC_ID_ADPCM_VIMA", - "CODEC_ID_AMR_NB", - "CODEC_ID_AMR_WB", - "CODEC_ID_RA_144", - "CODEC_ID_RA_288", - "CODEC_ID_ROQ_DPCM", - "CODEC_ID_INTERPLAY_DPCM", - "CODEC_ID_XAN_DPCM", - "CODEC_ID_SOL_DPCM", - "CODEC_ID_GREMLIN_DPCM", - "CODEC_ID_SDX2_DPCM", - "CODEC_ID_MP2", - "CODEC_ID_MP3", - "CODEC_ID_AAC", - "CODEC_ID_MPEG4AAC_DEPRECATED", - "CODEC_ID_AC3", - "CODEC_ID_DTS", - "CODEC_ID_VORBIS", - "CODEC_ID_DVAUDIO", - "CODEC_ID_WMAV1", - "CODEC_ID_WMAV2", - "CODEC_ID_MACE3", - "CODEC_ID_MACE6", - "CODEC_ID_VMDAUDIO", - "CODEC_ID_SONIC", - "CODEC_ID_SONIC_LS", - "CODEC_ID_FLAC", - "CODEC_ID_MP3ADU", - "CODEC_ID_MP3ON4", - "CODEC_ID_SHORTEN", - "CODEC_ID_ALAC", - "CODEC_ID_WESTWOOD_SND1", - "CODEC_ID_GSM", - "CODEC_ID_QDM2", - "CODEC_ID_COOK", - "CODEC_ID_TRUESPEECH", - "CODEC_ID_TTA", - "CODEC_ID_SMACKAUDIO", - "CODEC_ID_QCELP", - "CODEC_ID_WAVPACK", - "CODEC_ID_DSICINAUDIO", - "CODEC_ID_ASAO", - "CODEC_ID_NELLYMOSER", - "CODEC_ID_WMAVOICE", - "CODEC_ID_WMAPRO", - "CODEC_ID_WMALOSSLESS", - "CODEC_ID_IMC", - "CODEC_ID_MUSEPACK7", - "CODEC_ID_MLP", - "CODEC_ID_GSM_MS", - "CODEC_ID_ATRAC3", - "CODEC_ID_VOXWARE", - "CODEC_ID_APE", - "CODEC_ID_MUSEPACK8", - "CODEC_ID_SPEEX", - "CODEC_ID_ATRAC3P", - "CODEC_ID_EAC3", - "CODEC_ID_SIPR", - "CODEC_ID_MP1", - "CODEC_ID_TWINVQ", - "CODEC_ID_TRUEHD", - "CODEC_ID_MP4ALS", - "CODEC_ID_ATRAC1", - "CODEC_ID_BINKAUDIO_RDFT", - "CODEC_ID_BINKAUDIO_DCT", - "CODEC_ID_AAC_LATM", - "CODEC_ID_QDMC", - "CODEC_ID_CELT", - "CODEC_ID_G723_1", - "CODEC_ID_G729", - "CODEC_ID_BMV_AUDIO", - "CODEC_ID_RALF", - "CODEC_ID_IAC", - "CODEC_ID_ILBC", - "CODEC_ID_FFWAVESYNTH", - "CODEC_ID_8SVX_RAW", - "CODEC_ID_PAF_AUDIO", - "CODEC_ID_OPUS", - "CODEC_ID_ATRAC3AL", - "CODEC_ID_ATRAC3PAL", - "CODEC_ID_DOLBY_E", - "CODEC_ID_DSD_LSBF", - "CODEC_ID_DSD_MSBF", - "CODEC_ID_DSD_LSBF_PLANAR", - "CODEC_ID_DSD_MSBF_PLANAR", - "CODEC_ID_DSS_SP", - "CODEC_ID_DST", - "CODEC_ID_EVRC", - "CODEC_ID_INTERPLAY_ACM", - "CODEC_ID_METASOUND", - "CODEC_ID_ON2AVC", - "CODEC_ID_TAK", - "CODEC_ID_XMA1", - "CODEC_ID_XMA2", - "CODEC_ID_COMFORT_NOISE", - "CODEC_ID_APTX", - "CODEC_ID_APTX_HD", - "CODEC_ID_SBC", - "CODEC_ID_ATRAC9", - "CODEC_ID_CODEC2", - "CODEC_ID_OGGTHEORA_DEPRECATED", - "CODEC_ID_DVD_SUBTITLE", - "CODEC_ID_DVB_SUBTITLE", - "CODEC_ID_TEXT", - "CODEC_ID_XSUB", - "CODEC_ID_SSA", - "CODEC_ID_MOV_TEXT", - "CODEC_ID_HDMV_PGS_SUBTITLE", - "CODEC_ID_DVB_TELETEXT", - "CODEC_ID_SRT", - "CODEC_ID_MICRODVD", - "CODEC_ID_EIA_608", - "CODEC_ID_JACOSUB", - "CODEC_ID_SAMI", - "CODEC_ID_REALTEXT", - "CODEC_ID_SUBVIEWER", - "CODEC_ID_SUBRIP", - "CODEC_ID_WEBVTT", - "CODEC_ID_ASS", - "CODEC_ID_MPL2", - "CODEC_ID_PJS", - "CODEC_ID_STL", - "CODEC_ID_SUBVIEWER1", - "CODEC_ID_VPLAYER", - "CODEC_ID_TTML", - "CODEC_ID_TTF", - "CODEC_ID_BINTEXT", - "CODEC_ID_XBIN", - "CODEC_ID_IDF", - "CODEC_ID_OTF", - "CODEC_ID_PROBE", - "CODEC_ID_MPEG2TS", - "CODEC_ID_MPEG4SYSTEMS", - "CODEC_ID_FFMETADATA", - "CODEC_ID_FFMPEG_OUT_OF_SYNC", - "CODEC_ID_WRAPPED_AVFRAME", - "CODEC_ID_CAMM" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_MPEG4", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: removed from upstream", - "", - "", - "", - "", - "deprecated: removed from upstream", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "moved to audio codecs section in upstream", - "moved to audio codecs section in upstream", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "various pcm \"codecs\"", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "various adpcm codecs", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "AMR", - "", - "RealAudio codecs", - "", - "various DPCM codecs", - "", - "", - "", - "", - "", - "audio codecs", - "preferred ID for MPEG Audio layer 1, 2 or 3", - "", - "Use CODEC_ID_AAC instead", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Not in ffmpeg as of rev 20544.", - "Start of out of order with ffmpeg", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "End of out of order with ffmpeg", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Removed in ffmpeg rev 5877.", - "subtitle codecs", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "other specific kind of codecs (generally used for attachments)", - "", - "", - "", - "", - "\u003c codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it", - "_FAKE_ codec to indicate a raw MPEG2 transport stream (only used by libavformat)", - "_FAKE_ codec to indicate a MPEG-4 Systems stream (only used by libavformat)", - "Dummy codec for streams containing only metadata information.", - "this one indicates an error in the mapping between this enum and libavcodec's", - "AVFrames wrapped in AVPacket", - "Camera motion metadata (http://go/wally-format)" - ], - "type": "string" - }, - "audioEndTimestamp": { - "format": "int64", - "type": "string" - }, - "audioFrameSize": { - "description": "audio frame size", - "format": "int64", - "type": "string" - }, - "audioLength": { - "description": "audio length in seconds Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).", - "format": "double", - "type": "number" - }, - "audioNumberOfFrames": { - "description": "Number of audio frames. Ffmpeg does not report the number of frames accurately. video::TranscodedVideoFileInformation calls Google's analyzer to get information of both audio and video frame numbers.", - "format": "int64", - "type": "string" - }, - "audioSampleRate": { - "description": "audio sample rate", - "format": "int64", - "type": "string" - }, - "audioSampleSize": { - "description": "Number of meaningful bits per decoded audio sample. This is an implicit conceptual meaning. This is *NOT* the same as ffmpeg's internal sample format that is used when actually decoding with ffmpeg.", - "format": "int32", - "type": "integer" - }, - "audioStartTimestamp": { - "format": "int64", - "type": "string" - }, - "audioStream": { - "items": { - "$ref": "VideoVideoStreamInfoAudioStream" - }, - "type": "array" - }, - "audioStreamCodecTag": { - "format": "int64", - "type": "string" - }, - "avDistance": { - "description": "Audio-Video interleaving distance between packets (in bytes)", - "format": "int64", - "type": "string" - }, - "avLength": { - "description": "Audio and video length in seconds. It's the max of the audio and video length. Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).", - "format": "double", - "type": "number" - }, - "averageVideoFps": { - "description": "Average video fps from analyzing entire file.", - "format": "double", - "type": "number" - }, - "buildLabel": { - "description": "Build label of the VSI mpm.", - "type": "string" - }, - "containerId": { - "description": "Container Id.", - "enum": [ - "CONTAINER_ID_NONE", - "CONTAINER_ID_FOURXM", - "CONTAINER_ID_AIFF", - "CONTAINER_ID_AMR", - "CONTAINER_ID_ASF", - "CONTAINER_ID_AU", - "CONTAINER_ID_AUDIO", - "CONTAINER_ID_AVI", - "CONTAINER_ID_AVISYNTH", - "CONTAINER_ID_AVS", - "CONTAINER_ID_DAUD", - "CONTAINER_ID_DC1394", - "CONTAINER_ID_DSICIN", - "CONTAINER_ID_DV1394", - "CONTAINER_ID_DV", - "CONTAINER_ID_EA", - "CONTAINER_ID_FFM", - "CONTAINER_ID_FLIC", - "CONTAINER_ID_FLV", - "CONTAINER_ID_GIF", - "CONTAINER_ID_VIDEO_GRAB_DEVICE", - "CONTAINER_ID_GXF", - "CONTAINER_ID_IDCIN", - "CONTAINER_ID_ROQ", - "CONTAINER_ID_IMAGE2", - "CONTAINER_ID_IMAGE2PIPE", - "CONTAINER_ID_IMAGE", - "CONTAINER_ID_IMAGEPIPE", - "CONTAINER_ID_IPMOVIE", - "CONTAINER_ID_MATROSKA", - "CONTAINER_ID_MM", - "CONTAINER_ID_MMF", - "CONTAINER_ID_MOV", - "CONTAINER_ID_MP3", - "CONTAINER_ID_MPEGPS", - "CONTAINER_ID_MPEGTS", - "CONTAINER_ID_MTV", - "CONTAINER_ID_MXF", - "CONTAINER_ID_NSV", - "CONTAINER_ID_NUT", - "CONTAINER_ID_NUV", - "CONTAINER_ID_OGG", - "CONTAINER_ID_STR", - "CONTAINER_ID_SHORTEN", - "CONTAINER_ID_FLAC", - "CONTAINER_ID_AC3", - "CONTAINER_ID_DTS", - "CONTAINER_ID_AAC", - "CONTAINER_ID_H261", - "CONTAINER_ID_H263", - "CONTAINER_ID_M4V", - "CONTAINER_ID_H264", - "CONTAINER_ID_MPEGVIDEO", - "CONTAINER_ID_MJPEG", - "CONTAINER_ID_INGENIENT", - "CONTAINER_ID_PCM_S16LE", - "CONTAINER_ID_PCM_S16BE", - "CONTAINER_ID_PCM_U16LE", - "CONTAINER_ID_PCM_U16BE", - "CONTAINER_ID_PCM_S8", - "CONTAINER_ID_PCM_U8", - "CONTAINER_ID_PCM_MULAW", - "CONTAINER_ID_PCM_ALAW", - "CONTAINER_ID_RAWVIDEO", - "CONTAINER_ID_RM", - "CONTAINER_ID_SDP", - "CONTAINER_ID_REDIR", - "CONTAINER_ID_SEGAFILM", - "CONTAINER_ID_VMD", - "CONTAINER_ID_SMACKER", - "CONTAINER_ID_SOL", - "CONTAINER_ID_SWF", - "CONTAINER_ID_TTA", - "CONTAINER_ID_V4L2", - "CONTAINER_ID_VOC", - "CONTAINER_ID_WAV", - "CONTAINER_ID_WC3", - "CONTAINER_ID_WSAUD", - "CONTAINER_ID_WSVQA", - "CONTAINER_ID_WV", - "CONTAINER_ID_YUV4MPEGPIPE", - "CONTAINER_ID_TIERTEXSEQ", - "CONTAINER_ID_WEBM", - "CONTAINER_ID_EAC3", - "CONTAINER_ID_AA", - "CONTAINER_ID_ACM", - "CONTAINER_ID_ACT", - "CONTAINER_ID_ADF", - "CONTAINER_ID_ADP", - "CONTAINER_ID_ADS", - "CONTAINER_ID_ADX", - "CONTAINER_ID_AEA", - "CONTAINER_ID_AFC", - "CONTAINER_ID_AIX", - "CONTAINER_ID_ANM", - "CONTAINER_ID_APC", - "CONTAINER_ID_APE", - "CONTAINER_ID_APNG", - "CONTAINER_ID_AQTITLE", - "CONTAINER_ID_ASF_O", - "CONTAINER_ID_ASS", - "CONTAINER_ID_AST", - "CONTAINER_ID_AVR", - "CONTAINER_ID_BETHSOFTVID", - "CONTAINER_ID_BFI", - "CONTAINER_ID_BIN", - "CONTAINER_ID_BINK", - "CONTAINER_ID_BIT", - "CONTAINER_ID_BMV", - "CONTAINER_ID_BFSTM", - "CONTAINER_ID_BRSTM", - "CONTAINER_ID_BOA", - "CONTAINER_ID_C93", - "CONTAINER_ID_CAF", - "CONTAINER_ID_CAVSVIDEO", - "CONTAINER_ID_CDG", - "CONTAINER_ID_CDXL", - "CONTAINER_ID_CINE", - "CONTAINER_ID_CONCAT", - "CONTAINER_ID_DATA", - "CONTAINER_ID_DCSTR", - "CONTAINER_ID_DFA", - "CONTAINER_ID_DIRAC", - "CONTAINER_ID_DNXHD", - "CONTAINER_ID_DSF", - "CONTAINER_ID_DSS", - "CONTAINER_ID_DTSHD", - "CONTAINER_ID_DVBSUB", - "CONTAINER_ID_DVBTXT", - "CONTAINER_ID_DXA", - "CONTAINER_ID_EA_CDATA", - "CONTAINER_ID_EPAF", - "CONTAINER_ID_FFMETADATA", - "CONTAINER_ID_FILMSTRIP", - "CONTAINER_ID_FITS", - "CONTAINER_ID_FRM", - "CONTAINER_ID_FSB", - "CONTAINER_ID_G722", - "CONTAINER_ID_G723_1", - "CONTAINER_ID_G726", - "CONTAINER_ID_G726LE", - "CONTAINER_ID_G729", - "CONTAINER_ID_GDV", - "CONTAINER_ID_GENH", - "CONTAINER_ID_GSM", - "CONTAINER_ID_HEVC", - "CONTAINER_ID_HNM", - "CONTAINER_ID_ICO", - "CONTAINER_ID_IDF", - "CONTAINER_ID_IFF", - "CONTAINER_ID_ILBC", - "CONTAINER_ID_ALIAS_PIX", - "CONTAINER_ID_BRENDER_PIX", - "CONTAINER_ID_IRCAM", - "CONTAINER_ID_ISS", - "CONTAINER_ID_IV8", - "CONTAINER_ID_IVF", - "CONTAINER_ID_IVR", - "CONTAINER_ID_JACOSUB", - "CONTAINER_ID_JV", - "CONTAINER_ID_LMLM4", - "CONTAINER_ID_LOAS", - "CONTAINER_ID_LRC", - "CONTAINER_ID_LVF", - "CONTAINER_ID_LXF", - "CONTAINER_ID_MGSTS", - "CONTAINER_ID_MICRODVD", - "CONTAINER_ID_MJPEG_2000", - "CONTAINER_ID_MLP", - "CONTAINER_ID_MLV", - "CONTAINER_ID_MPC", - "CONTAINER_ID_MPC8", - "CONTAINER_ID_MPEGTSRAW", - "CONTAINER_ID_MPJPEG", - "CONTAINER_ID_MPL2", - "CONTAINER_ID_MPSUB", - "CONTAINER_ID_MSF", - "CONTAINER_ID_MSNWCTCP", - "CONTAINER_ID_MTAF", - "CONTAINER_ID_MUSX", - "CONTAINER_ID_MV", - "CONTAINER_ID_MVI", - "CONTAINER_ID_MXG", - "CONTAINER_ID_NC", - "CONTAINER_ID_NISTSPHERE", - "CONTAINER_ID_OMA", - "CONTAINER_ID_PAF", - "CONTAINER_ID_ALAW", - "CONTAINER_ID_MULAW", - "CONTAINER_ID_F64BE", - "CONTAINER_ID_F64LE", - "CONTAINER_ID_F32BE", - "CONTAINER_ID_F32LE", - "CONTAINER_ID_S32BE", - "CONTAINER_ID_S32LE", - "CONTAINER_ID_S24BE", - "CONTAINER_ID_S24LE", - "CONTAINER_ID_S16BE", - "CONTAINER_ID_S16LE", - "CONTAINER_ID_S8", - "CONTAINER_ID_U32BE", - "CONTAINER_ID_U32LE", - "CONTAINER_ID_U24BE", - "CONTAINER_ID_U24LE", - "CONTAINER_ID_U16BE", - "CONTAINER_ID_U16LE", - "CONTAINER_ID_U8", - "CONTAINER_ID_PJS", - "CONTAINER_ID_PMP", - "CONTAINER_ID_PVA", - "CONTAINER_ID_PVF", - "CONTAINER_ID_QCP", - "CONTAINER_ID_R3D", - "CONTAINER_ID_REALTEXT", - "CONTAINER_ID_REDSPARK", - "CONTAINER_ID_RL2", - "CONTAINER_ID_RPL", - "CONTAINER_ID_RSD", - "CONTAINER_ID_RSO", - "CONTAINER_ID_RTP", - "CONTAINER_ID_RTSP", - "CONTAINER_ID_S337M", - "CONTAINER_ID_SAMI", - "CONTAINER_ID_SAP", - "CONTAINER_ID_SBG", - "CONTAINER_ID_SCC", - "CONTAINER_ID_SDR2", - "CONTAINER_ID_SDS", - "CONTAINER_ID_SDX", - "CONTAINER_ID_FILM_CPK", - "CONTAINER_ID_SHN", - "CONTAINER_ID_SIFF", - "CONTAINER_ID_SLN", - "CONTAINER_ID_SMJPEG", - "CONTAINER_ID_SMUSH", - "CONTAINER_ID_SOX", - "CONTAINER_ID_SPDIF", - "CONTAINER_ID_SRT", - "CONTAINER_ID_STL", - "CONTAINER_ID_SUBVIEWER1", - "CONTAINER_ID_SUBVIEWER", - "CONTAINER_ID_SUP", - "CONTAINER_ID_SVAG", - "CONTAINER_ID_TAK", - "CONTAINER_ID_TEDCAPTIONS", - "CONTAINER_ID_THP", - "CONTAINER_ID_3DOSTR", - "CONTAINER_ID_TMV", - "CONTAINER_ID_TRUEHD", - "CONTAINER_ID_TXD", - "CONTAINER_ID_V210", - "CONTAINER_ID_V210X", - "CONTAINER_ID_VAG", - "CONTAINER_ID_VC1", - "CONTAINER_ID_VC1TEST", - "CONTAINER_ID_VIVO", - "CONTAINER_ID_VOBSUB", - "CONTAINER_ID_VPK", - "CONTAINER_ID_VPLAYER", - "CONTAINER_ID_VQF", - "CONTAINER_ID_W64", - "CONTAINER_ID_WC3MOVIE", - "CONTAINER_ID_WEBM_DASH_MANIFEST", - "CONTAINER_ID_WEBVTT", - "CONTAINER_ID_WSD", - "CONTAINER_ID_WTV", - "CONTAINER_ID_WVE", - "CONTAINER_ID_XA", - "CONTAINER_ID_XBIN", - "CONTAINER_ID_XMV", - "CONTAINER_ID_XVAG", - "CONTAINER_ID_XWMA", - "CONTAINER_ID_YOP", - "CONTAINER_ID_AMRNB", - "CONTAINER_ID_AMRWB", - "CONTAINER_ID_APTX", - "CONTAINER_ID_NSP", - "CONTAINER_ID_TY", - "CONTAINER_ID_APTX_HD", - "CONTAINER_ID_AVS2", - "CONTAINER_ID_CODEC2", - "CONTAINER_ID_CODEC2RAW", - "CONTAINER_ID_SBC", - "CONTAINER_ID_SER", - "CONTAINER_ID_AV1", - "CONTAINER_ID_OBU", - "CONTAINER_ID_GOOGLE_INDEX", - "CONTAINER_ID_MEDIASAMPLE", - "CONTAINER_ID_TOOTHLESS", - "CONTAINER_ID_MEDIASAMPLE_DEPRECATED" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Note: CONTAINER_ID_MOV refers to any MPEG 4 variant. Currently VideoStreamInfo does not have enough information to distinguish between the variants.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Note: CONTAINER_ID_DTS refers to the format for DTS audio codec. It does NOT refer to ADTS container for AAC codec.", - "Note: CONTAINER_ID_AAC refers to the ADTS format for AAC codec.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Google Proto types Detects ASCII Proto of video_pipeline::MediaProcessingFfmpegInput", - "A stream of video_file::Mediasamples. google3/video/vidproc/ffmpeg/formats/streaming_mediasample_format.h", - "Binary proto of video::toothless::ToothlessStreamManifest format currently has no probe in ffmpeg and cannot be detected by VSI. google3/video/vidproc/ffmpeg/formats/toothless_demuxer.proto", - "" - ], - "type": "string" - }, - "containerType": { - "description": "Name of the container format guessed by ffmpeg.", - "type": "string" - }, - "containsChapters": { - "description": "If the video contains chapters info.", - "type": "boolean" - }, - "dataStream": { - "items": { - "$ref": "VideoVideoStreamInfoDataStream" - }, - "type": "array" - }, - "displayHeight": { - "format": "int32", - "type": "integer" - }, - "displayWidth": { - "description": "final display video width and height if explicitly set in the video otherwise this can be calculated from source width/height and video_pixel_aspect_ratio", - "format": "int32", - "type": "integer" - }, - "fileHeaderFingerprint": { - "description": "Input file header fingerprint", - "format": "uint64", - "type": "string" - }, - "fileMagic": { - "description": "The file type string returned by libmagic, a third party library. It might accidentally include some user content. Some normal file_magic examples: -- RIFF (little-endian) data, AVI, 1016 x 696, 30.00 fps, video: XviD, audio: (stereo, 48000 Hz) -- MPEG sequence, v2, program multiplex -- ISO Media, MPEG v4 system, iTunes AVC-LC -- Microsoft Windows Movie Maker project file", - "type": "string" - }, - "fileModifiedTime": { - "description": "Input file modification time", - "format": "int64", - "type": "string" - }, - "fileName": { - "deprecated": true, - "description": "Input file name. DEPRECATED; don't expect the file name to be correct.", - "type": "string" - }, - "fileSize": { - "description": "Input file size in bytes", - "format": "int64", - "type": "string" - }, - "fileType": { - "description": "High-level file type guessed by looking at the file headers and libmagic.", - "format": "int32", - "type": "integer" - }, - "googleVideoClipInfo": { - "$ref": "VideoGoogleVideoClipInfo", - "description": "YT app created video information," - }, - "imageStream": { - "items": { - "$ref": "VideoVideoStreamInfoVideoStream" - }, - "type": "array" - }, - "isAsf": { - "description": "True if the video is likely to be an ASF file.", - "type": "boolean" - }, - "isImageFile": { - "description": "True if the video is actually an image file (JPEG, PNG, GIF, etc) and not a video file.", - "type": "boolean" - }, - "isVideoInsaneSize": { - "description": "Check if a video size insane or not. It is set if the input file is an MOV file.", - "type": "boolean" - }, - "level": { - "format": "int32", - "type": "integer" - }, - "metadata": { - "$ref": "VideoVideoStreamInfoMetadata" - }, - "numAudioStreams": { - "description": "Total number of audio streams in the file", - "format": "int32", - "type": "integer" - }, - "numDataStreams": { - "description": "Total number of data streams in the file", - "format": "int32", - "type": "integer" - }, - "numImageStreams": { - "description": "Total number of image streams in the file", - "format": "int32", - "type": "integer" - }, - "numTimedtextStreams": { - "description": "Total number of timedtext streams in the file", - "format": "int32", - "type": "integer" - }, - "numVideoStreams": { - "description": "Total number of video streams in the file", - "format": "int32", - "type": "integer" - }, - "parsedByFfmpeg": { - "description": "If this field is not set, then only base video file information has been generated (and ffmpeg parsing hasn't yet been done). If this is set to 'false', then ffmpeg failed to parse the file - otherwise it will set to 'true'", - "type": "boolean" - }, - "parsedByInHouseParsers": { - "description": "True if the file was successfully parsed by in-house parsers. Unset if parsing wasn't attepmted.", - "type": "boolean" - }, - "partialFile": { - "description": "By default we assume that the entire file was given computing the VSI - if that is not true this flag should be set to true.", - "type": "boolean" - }, - "pixFmt": { - "description": "Pixel format for the video stream.", - "enum": [ - "PIX_FMT_NONE", - "PIX_FMT_YUV420P", - "PIX_FMT_YUYV422", - "PIX_FMT_RGB24", - "PIX_FMT_BGR24", - "PIX_FMT_YUV422P", - "PIX_FMT_YUV444P", - "PIX_FMT_RGB32", - "PIX_FMT_YUV410P", - "PIX_FMT_YUV411P", - "PIX_FMT_RGB565", - "PIX_FMT_RGB555", - "PIX_FMT_GRAY8", - "PIX_FMT_MONOWHITE", - "PIX_FMT_MONOBLACK", - "PIX_FMT_PAL8", - "PIX_FMT_YUVJ420P", - "PIX_FMT_YUVJ422P", - "PIX_FMT_YUVJ444P", - "PIX_FMT_XVMC_MPEG2_MC", - "PIX_FMT_XVMC_MPEG2_IDCT", - "PIX_FMT_UYVY422", - "PIX_FMT_UYYVYY411", - "PIX_FMT_BGR32", - "PIX_FMT_BGR565", - "PIX_FMT_BGR555", - "PIX_FMT_BGR8", - "PIX_FMT_BGR4", - "PIX_FMT_BGR4_BYTE", - "PIX_FMT_RGB8", - "PIX_FMT_RGB4", - "PIX_FMT_RGB4_BYTE", - "PIX_FMT_NV12", - "PIX_FMT_NV21", - "PIX_FMT_RGB32_1", - "PIX_FMT_BGR32_1", - "PIX_FMT_GRAY16BE", - "PIX_FMT_GRAY16LE", - "PIX_FMT_YUV440P", - "PIX_FMT_YUVJ440P", - "PIX_FMT_YUVA420P", - "PIX_FMT_VDPAU_H264", - "PIX_FMT_VDPAU_MPEG1", - "PIX_FMT_VDPAU_MPEG2", - "PIX_FMT_VDPAU_WMV3", - "PIX_FMT_VDPAU_VC1", - "PIX_FMT_RGB48BE", - "PIX_FMT_RGB48LE", - "PIX_FMT_RGB565BE", - "PIX_FMT_RGB555BE", - "PIX_FMT_BGR565BE", - "PIX_FMT_BGR555BE", - "PIX_FMT_VAAPI_MOCO", - "PIX_FMT_VAAPI_IDCT", - "PIX_FMT_VAAPI_VLD", - "PIX_FMT_YUV420P16LE", - "PIX_FMT_YUV420P16BE", - "PIX_FMT_YUV422P16LE", - "PIX_FMT_YUV422P16BE", - "PIX_FMT_YUV444P16LE", - "PIX_FMT_YUV444P16BE", - "PIX_FMT_VDPAU_MPEG4", - "PIX_FMT_DXVA2_VLD", - "PIX_FMT_RGB444LE", - "PIX_FMT_RGB444BE", - "PIX_FMT_BGR444LE", - "PIX_FMT_BGR444BE", - "PIX_FMT_GRAY8A", - "PIX_FMT_BGR48BE", - "PIX_FMT_BGR48LE", - "PIX_FMT_YUV420P9BE", - "PIX_FMT_YUV420P9LE", - "PIX_FMT_YUV420P10BE", - "PIX_FMT_YUV420P10LE", - "PIX_FMT_YUV422P10BE", - "PIX_FMT_YUV422P10LE", - "PIX_FMT_YUV444P9BE", - "PIX_FMT_YUV444P9LE", - "PIX_FMT_YUV444P10BE", - "PIX_FMT_YUV444P10LE", - "PIX_FMT_YUV422P9BE", - "PIX_FMT_YUV422P9LE", - "PIX_FMT_VDA_VLD", - "PIX_FMT_RGBA64BE", - "PIX_FMT_RGBA64LE", - "PIX_FMT_BGRA64BE", - "PIX_FMT_BGRA64LE", - "PIX_FMT_GBRP", - "PIX_FMT_GBRP9BE", - "PIX_FMT_GBRP9LE", - "PIX_FMT_GBRP10BE", - "PIX_FMT_GBRP10LE", - "PIX_FMT_GBRP16BE", - "PIX_FMT_GBRP16LE", - "PIX_FMT_0RGB", - "PIX_FMT_RGB0", - "PIX_FMT_0BGR", - "PIX_FMT_BGR0", - "PIX_FMT_YUVA444P", - "PIX_FMT_YUVA422P", - "PIX_FMT_YUV420P12BE", - "PIX_FMT_YUV420P12LE", - "PIX_FMT_YUV420P14BE", - "PIX_FMT_YUV420P14LE", - "PIX_FMT_YUV422P12BE", - "PIX_FMT_YUV422P12LE", - "PIX_FMT_YUV422P14BE", - "PIX_FMT_YUV422P14LE", - "PIX_FMT_YUV444P12BE", - "PIX_FMT_YUV444P12LE", - "PIX_FMT_YUV444P14BE", - "PIX_FMT_YUV444P14LE", - "PIX_FMT_GBRP12BE", - "PIX_FMT_GBRP12LE", - "PIX_FMT_GBRP14BE", - "PIX_FMT_GBRP14LE", - "PIX_FMT_ARGB", - "PIX_FMT_RGBA", - "PIX_FMT_ABGR", - "PIX_FMT_BGRA", - "PIX_FMT_RGB565LE", - "PIX_FMT_RGB555LE", - "PIX_FMT_BGR565LE", - "PIX_FMT_BGR555LE", - "PIX_FMT_VAAPI", - "PIX_FMT_YA8", - "PIX_FMT_Y400A", - "PIX_FMT_YUVA420P9BE", - "PIX_FMT_YUVA420P9LE", - "PIX_FMT_YUVA422P9BE", - "PIX_FMT_YUVA422P9LE", - "PIX_FMT_YUVA444P9BE", - "PIX_FMT_YUVA444P9LE", - "PIX_FMT_YUVA420P10BE", - "PIX_FMT_YUVA420P10LE", - "PIX_FMT_YUVA422P10BE", - "PIX_FMT_YUVA422P10LE", - "PIX_FMT_YUVA444P10BE", - "PIX_FMT_YUVA444P10LE", - "PIX_FMT_YUVA420P16BE", - "PIX_FMT_YUVA420P16LE", - "PIX_FMT_YUVA422P16BE", - "PIX_FMT_YUVA422P16LE", - "PIX_FMT_YUVA444P16BE", - "PIX_FMT_YUVA444P16LE", - "PIX_FMT_VDPAU", - "PIX_FMT_XYZ12LE", - "PIX_FMT_XYZ12BE", - "PIX_FMT_NV16", - "PIX_FMT_NV20LE", - "PIX_FMT_NV20BE", - "PIX_FMT_YVYU422", - "PIX_FMT_VDA", - "PIX_FMT_YA16BE", - "PIX_FMT_YA16LE", - "PIX_FMT_GBRAP", - "PIX_FMT_GBRAP16BE", - "PIX_FMT_GBRAP16LE", - "PIX_FMT_QSV", - "PIX_FMT_MMAL", - "PIX_FMT_D3D11VA_VLD", - "PIX_FMT_CUDA", - "PIX_FMT_YUVJ411P", - "PIX_FMT_BAYER_BGGR8", - "PIX_FMT_BAYER_RGGB8", - "PIX_FMT_BAYER_GBRG8", - "PIX_FMT_BAYER_GRBG8", - "PIX_FMT_BAYER_BGGR16LE", - "PIX_FMT_BAYER_BGGR16BE", - "PIX_FMT_BAYER_RGGB16LE", - "PIX_FMT_BAYER_RGGB16BE", - "PIX_FMT_BAYER_GBRG16LE", - "PIX_FMT_BAYER_GBRG16BE", - "PIX_FMT_BAYER_GRBG16LE", - "PIX_FMT_BAYER_GRBG16BE", - "PIX_FMT_XVMC", - "PIX_FMT_YUV440P10LE", - "PIX_FMT_YUV440P10BE", - "PIX_FMT_YUV440P12LE", - "PIX_FMT_YUV440P12BE", - "PIX_FMT_AYUV64LE", - "PIX_FMT_AYUV64BE", - "PIX_FMT_VIDEOTOOLBOX", - "PIX_FMT_P010LE", - "PIX_FMT_P010BE", - "PIX_FMT_GBRAP12BE", - "PIX_FMT_GBRAP12LE", - "PIX_FMT_GBRAP10BE", - "PIX_FMT_GBRAP10LE", - "PIX_FMT_MEDIACODEC", - "PIX_FMT_GRAY12BE", - "PIX_FMT_GRAY12LE", - "PIX_FMT_GRAY10BE", - "PIX_FMT_GRAY10LE", - "PIX_FMT_P016LE", - "PIX_FMT_P016BE", - "PIX_FMT_D3D11", - "PIX_FMT_GRAY9BE", - "PIX_FMT_GRAY9LE", - "PIX_FMT_GBRPF32BE", - "PIX_FMT_GBRPF32LE", - "PIX_FMT_GBRAPF32BE", - "PIX_FMT_GBRAPF32LE", - "PIX_FMT_DRM_PRIME", - "PIX_FMT_GACCEL", - "PIX_FMT_OPENCL", - "PIX_FMT_GRAY14BE", - "PIX_FMT_GRAY14LE", - "PIX_FMT_GRAYF32BE", - "PIX_FMT_GRAYF32LE", - "PIX_FMT_VULKAN", - "PIX_FMT_ID_FFMPEG_OUT_OF_SYNC" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "this one indicates an error in the mapping between this enum and libavcodec's" - ], - "type": "string" - }, - "profile": { - "description": "video profile", - "enum": [ - "PROFILE_UNKNOWN", - "PROFILE_AAC_MAIN", - "PROFILE_AAC_LOW", - "PROFILE_AAC_SSR", - "PROFILE_AAC_LTP", - "PROFILE_AAC_HE", - "PROFILE_AAC_HE_V2", - "PROFILE_AAC_LD", - "PROFILE_AAC_ELD", - "PROFILE_AVC_CONSTRAINED", - "PROFILE_AVC_INTRA", - "PROFILE_AVC_BASELINE", - "PROFILE_AVC_CONSTRAINED_BASELINE", - "PROFILE_AVC_MAIN", - "PROFILE_AVC_EXTENDED", - "PROFILE_AVC_HIGH", - "PROFILE_AVC_HIGH10", - "PROFILE_AVC_HIGH10_INTRA", - "PROFILE_AVC_HIGH422", - "PROFILE_AVC_HIGH422_INTRA", - "PROFILE_AVC_HIGH444", - "PROFILE_HIGH444_PREDICTIVE", - "PROFILE_AVC_HIGH444_INTRA", - "PROFILE_AVC_CAVLC444", - "PROFILE_VP9_0", - "PROFILE_VP9_1", - "PROFILE_VP9_2", - "PROFILE_VP9_3", - "PROFILE_HEVC_MAIN", - "PROFILE_HEVC_MAIN_10", - "PROFILE_HEVC_MAIN_STILL_PICTURE", - "PROFILE_HEVC_REXT", - "PROFILE_DOVI_5" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "(1 \u003c\u003c 8) constrained mode set bit", - "(1 \u003c\u003c 11) intra mode set bit", - "", - "PROFILE_AVC_CONSTRAINED_BASELINE = PROFILE_AVC_BASELINE | PROFILE_AVC_CONSTRAINED", - "", - "", - "", - "", - "PROFILE_AVC_HIGH10_INTRA = PROFILE_AVC_HIGH10 | PROFILE_AVC_INTRA", - "", - "PROFILE_AVC_HIGH422_INTRA = PROFILE_AVC_HIGH422 | PROFILE_AVC_INTRA", - "", - "", - "PROFILE_AVC_HIGH444_INTRA = PROFILE_AVC_HIGH444 | PROFILE_AVC_INTRA", - "", - "Since profile IDs might collide from different codecs, the profile IDs listed below are not identical to the numeric numbers defined in the spec due to collision. Next Profile ID: 10008 PROFILES for VP9. 0", - "1", - "2", - "3", - "1", - "2", - "3", - "4", - "DOVI Profile 5 can only be played as Dolby Vision so it has its own Profile." - ], - "type": "string" - }, - "timedtextStream": { - "items": { - "$ref": "VideoVideoStreamInfoTimedTextStream" - }, - "type": "array" - }, - "videoBitrate": { - "description": "video bitrate in bits/s", - "format": "double", - "type": "number" - }, - "videoClipInfo": { - "$ref": "VideoVideoClipInfo", - "description": "Video clip information, such as copyright, title, and author." - }, - "videoCodecId": { - "description": "Primary video codec information Fields 1-2, 4-10, 28, 37, 44, 49, 51, 54-55, 57-62, 69 will be obsolete soon. Please start using the new repeated video_stream. For now, video_stream(0) will match these fields. Note however that some of the fields in VideoStream are not populated correctly yet in videostreaminfo.cc, but that will be handled gradually.", - "enum": [ - "CODEC_ID_NONE", - "CODEC_ID_MPEG1VIDEO", - "CODEC_ID_MPEG2VIDEO", - "CODEC_ID_MPEG2VIDEO_XVMC", - "CODEC_ID_H261", - "CODEC_ID_H263", - "CODEC_ID_RV10", - "CODEC_ID_RV20", - "CODEC_ID_MJPEG", - "CODEC_ID_MJPEGB", - "CODEC_ID_LJPEG", - "CODEC_ID_SP5X", - "CODEC_ID_JPEGLS", - "CODEC_ID_MPEG4", - "CODEC_ID_RAWVIDEO", - "CODEC_ID_MSMPEG4V1", - "CODEC_ID_MSMPEG4V2", - "CODEC_ID_MSMPEG4V3", - "CODEC_ID_WMV1", - "CODEC_ID_WMV2", - "CODEC_ID_H263P", - "CODEC_ID_H263I", - "CODEC_ID_FLV1", - "CODEC_ID_SVQ1", - "CODEC_ID_SVQ3", - "CODEC_ID_DVVIDEO", - "CODEC_ID_HUFFYUV", - "CODEC_ID_CYUV", - "CODEC_ID_H264", - "CODEC_ID_INDEO3", - "CODEC_ID_VP3", - "CODEC_ID_THEORA", - "CODEC_ID_ASV1", - "CODEC_ID_ASV2", - "CODEC_ID_FFV1", - "CODEC_ID_4XM", - "CODEC_ID_VCR1", - "CODEC_ID_CLJR", - "CODEC_ID_MDEC", - "CODEC_ID_ROQ", - "CODEC_ID_INTERPLAY_VIDEO", - "CODEC_ID_XAN_WC3", - "CODEC_ID_XAN_WC4", - "CODEC_ID_RPZA", - "CODEC_ID_CINEPAK", - "CODEC_ID_WS_VQA", - "CODEC_ID_MSRLE", - "CODEC_ID_MSVIDEO1", - "CODEC_ID_IDCIN", - "CODEC_ID_8BPS", - "CODEC_ID_SMC", - "CODEC_ID_FLIC", - "CODEC_ID_TRUEMOTION1", - "CODEC_ID_VMDVIDEO", - "CODEC_ID_MSZH", - "CODEC_ID_ZLIB", - "CODEC_ID_QTRLE", - "CODEC_ID_SNOW", - "CODEC_ID_TSCC", - "CODEC_ID_ULTI", - "CODEC_ID_QDRAW", - "CODEC_ID_VIXL", - "CODEC_ID_QPEG", - "CODEC_ID_XVID", - "CODEC_ID_PNG", - "CODEC_ID_PPM", - "CODEC_ID_PBM", - "CODEC_ID_PGM", - "CODEC_ID_PGMYUV", - "CODEC_ID_PAM", - "CODEC_ID_FFVHUFF", - "CODEC_ID_RV30", - "CODEC_ID_RV40", - "CODEC_ID_VC1", - "CODEC_ID_WMV3", - "CODEC_ID_LOCO", - "CODEC_ID_WNV1", - "CODEC_ID_AASC", - "CODEC_ID_INDEO2", - "CODEC_ID_FRAPS", - "CODEC_ID_TRUEMOTION2", - "CODEC_ID_BMP", - "CODEC_ID_CSCD", - "CODEC_ID_MMVIDEO", - "CODEC_ID_ZMBV", - "CODEC_ID_AVS", - "CODEC_ID_SMACKVIDEO", - "CODEC_ID_NUV", - "CODEC_ID_KMVC", - "CODEC_ID_FLASHSV", - "CODEC_ID_CAVS", - "CODEC_ID_JPEG2000", - "CODEC_ID_VMNC", - "CODEC_ID_VP5", - "CODEC_ID_VP6", - "CODEC_ID_VP6F", - "CODEC_ID_TARGA", - "CODEC_ID_DSICINVIDEO", - "CODEC_ID_TIERTEXSEQVIDEO", - "CODEC_ID_TIFF", - "CODEC_ID_GIF", - "CODEC_ID_FFH264", - "CODEC_ID_DXA", - "CODEC_ID_DNXHD", - "CODEC_ID_THP", - "CODEC_ID_SGI", - "CODEC_ID_C93", - "CODEC_ID_BETHSOFTVID", - "CODEC_ID_PTX", - "CODEC_ID_TXD", - "CODEC_ID_VP6A", - "CODEC_ID_AMV", - "CODEC_ID_VB", - "CODEC_ID_PCX", - "CODEC_ID_SUNRAST", - "CODEC_ID_INDEO4", - "CODEC_ID_INDEO5", - "CODEC_ID_MIMIC", - "CODEC_ID_RL2", - "CODEC_ID_8SVX_EXP", - "CODEC_ID_8SVX_FIB", - "CODEC_ID_ESCAPE124", - "CODEC_ID_DIRAC", - "CODEC_ID_BFI", - "CODEC_ID_CMV", - "CODEC_ID_MOTIONPIXELS", - "CODEC_ID_TGV", - "CODEC_ID_TGQ", - "CODEC_ID_TQI", - "CODEC_ID_AURA", - "CODEC_ID_AURA2", - "CODEC_ID_V210X", - "CODEC_ID_TMV", - "CODEC_ID_V210", - "CODEC_ID_DPX", - "CODEC_ID_MAD", - "CODEC_ID_FRWU", - "CODEC_ID_VP8", - "CODEC_ID_APPLE_PRORES_NQ", - "CODEC_ID_APPLE_PRORES_HQ", - "CODEC_ID_FLASHSV2", - "CODEC_ID_CDGRAPHICS", - "CODEC_ID_R210", - "CODEC_ID_ANM", - "CODEC_ID_BINKVIDEO", - "CODEC_ID_IFF_ILBM", - "CODEC_ID_IFF_BYTERUN1", - "CODEC_ID_KGV1", - "CODEC_ID_YOP", - "CODEC_ID_PICTOR", - "CODEC_ID_APPLE_PRORES_LT", - "CODEC_ID_APPLE_PRORES_PROXY", - "CODEC_ID_APPLE_PRORES_4444", - "CODEC_ID_APPLE_PIXLET", - "CODEC_ID_G2M", - "CODEC_ID_PRORES", - "CODEC_ID_ANSI", - "CODEC_ID_A64_MULTI", - "CODEC_ID_A64_MULTI5", - "CODEC_ID_R10K", - "CODEC_ID_MXPEG", - "CODEC_ID_LAGARITH", - "CODEC_ID_JV", - "CODEC_ID_DFA", - "CODEC_ID_WMV3IMAGE", - "CODEC_ID_VC1IMAGE", - "CODEC_ID_UTVIDEO", - "CODEC_ID_BMV_VIDEO", - "CODEC_ID_VBLE", - "CODEC_ID_DXTORY", - "CODEC_ID_V410", - "CODEC_ID_XWD", - "CODEC_ID_CDXL", - "CODEC_ID_XBM", - "CODEC_ID_ZEROCODEC", - "CODEC_ID_MSS1", - "CODEC_ID_MSA1", - "CODEC_ID_TSCC2", - "CODEC_ID_MTS2", - "CODEC_ID_CLLC", - "CODEC_ID_MSS2", - "CODEC_ID_Y41P", - "CODEC_ID_ESCAPE130", - "CODEC_ID_EXR", - "CODEC_ID_AVRP", - "CODEC_ID_AVUI", - "CODEC_ID_AYUV", - "CODEC_ID_V308", - "CODEC_ID_V408", - "CODEC_ID_YUV4", - "CODEC_ID_SANM", - "CODEC_ID_PAF_VIDEO", - "CODEC_ID_AVRN", - "CODEC_ID_CPIA", - "CODEC_ID_VP9", - "CODEC_ID_H265", - "CODEC_ID_CFHD", - "CODEC_ID_AV1", - "CODEC_ID_AIC", - "CODEC_ID_ALIAS_PIX", - "CODEC_ID_APNG", - "CODEC_ID_BRENDER_PIX", - "CODEC_ID_CLEARVIDEO", - "CODEC_ID_DDS", - "CODEC_ID_DXV", - "CODEC_ID_FIC", - "CODEC_ID_FITS", - "CODEC_ID_FMVC", - "CODEC_ID_GDV", - "CODEC_ID_HAP", - "CODEC_ID_HNM4_VIDEO", - "CODEC_ID_HQ_HQA", - "CODEC_ID_HQX", - "CODEC_ID_M101", - "CODEC_ID_MAGICYUV", - "CODEC_ID_MSCC", - "CODEC_ID_MVC1", - "CODEC_ID_MVC2", - "CODEC_ID_PIXLET", - "CODEC_ID_PSD", - "CODEC_ID_RSCC", - "CODEC_ID_SCPR", - "CODEC_ID_SCREENPRESSO", - "CODEC_ID_SGIRLE", - "CODEC_ID_SHEERVIDEO", - "CODEC_ID_SMVJPEG", - "CODEC_ID_SPEEDHQ", - "CODEC_ID_SRGC", - "CODEC_ID_TARGA_Y216", - "CODEC_ID_TDSC", - "CODEC_ID_TRUEMOTION2RT", - "CODEC_ID_VP7", - "CODEC_ID_BITPACKED", - "CODEC_ID_WEBP", - "CODEC_ID_XFACE", - "CODEC_ID_XPM", - "CODEC_ID_YLC", - "CODEC_ID_012V", - "CODEC_ID_AVS2", - "CODEC_ID_IMM4", - "CODEC_ID_MWSC", - "CODEC_ID_PROSUMER", - "CODEC_ID_RASC", - "CODEC_ID_WCMV", - "CODEC_ID_MSP2", - "CODEC_ID_VQC", - "CODEC_ID_CDTOONS", - "CODEC_ID_SIREN", - "CODEC_ID_PGX", - "CODEC_ID_ADPCM_IMA_CUNNING", - "CODEC_ID_VMIX", - "CODEC_ID_DERF_DPCM", - "CODEC_ID_MEDIA100", - "CODEC_ID_FTR", - "CODEC_ID_DFPWM", - "CODEC_ID_PDV", - "CODEC_ID_APAC", - "CODEC_ID_ADPCM_ARGO", - "CODEC_ID_ADPCM_IMA_SSI", - "CODEC_ID_SGA_VIDEO", - "CODEC_ID_PHOTOCD", - "CODEC_ID_PCM_SGA", - "CODEC_ID_NOTCHLC", - "CODEC_ID_OSQ", - "CODEC_ID_MISC4", - "CODEC_ID_PHM", - "CODEC_ID_MV30", - "CODEC_ID_GEM", - "CODEC_ID_MVDV", - "CODEC_ID_ACELP_KELVIN", - "CODEC_ID_PFM", - "CODEC_ID_ADPCM_IMA_APM", - "CODEC_ID_IMM5", - "CODEC_ID_ANULL", - "CODEC_ID_ARBC", - "CODEC_ID_VBN", - "CODEC_ID_FASTAUDIO", - "CODEC_ID_LSCR", - "CODEC_ID_RKA", - "CODEC_ID_ARGO", - "CODEC_ID_WBMP", - "CODEC_ID_MSNSIREN", - "CODEC_ID_ADPCM_IMA_ALP", - "CODEC_ID_BONK", - "CODEC_ID_QOI", - "CODEC_ID_RTV1", - "CODEC_ID_VNULL", - "CODEC_ID_HCOM", - "CODEC_ID_ADPCM_AGM", - "CODEC_ID_ADPCM_IMA_MTF", - "CODEC_ID_HYMT", - "CODEC_ID_WADY_DPCM", - "CODEC_ID_RADIANCE_HDR", - "CODEC_ID_MVHA", - "CODEC_ID_VP4", - "CODEC_ID_MOBICLIP", - "CODEC_ID_ADPCM_IMA_MOFLEX", - "CODEC_ID_HCA", - "CODEC_ID_IPU", - "CODEC_ID_WAVARC", - "CODEC_ID_SIMBIOSIS_IMX", - "CODEC_ID_CBD2_DPCM", - "CODEC_ID_PCM_VIDC", - "CODEC_ID_CRI", - "CODEC_ID_AGM", - "CODEC_ID_ADPCM_XMD", - "CODEC_ID_ADPCM_IMA_ACORN", - "CODEC_ID_ADPCM_ZORK", - "CODEC_ID_QOA", - "CODEC_ID_VVC", - "CODEC_ID_LEAD", - "CODEC_ID_UNKNOWN", - "CODEC_ID_PCM_S16LE", - "CODEC_ID_PCM_S16BE", - "CODEC_ID_PCM_U16LE", - "CODEC_ID_PCM_U16BE", - "CODEC_ID_PCM_S8", - "CODEC_ID_PCM_U8", - "CODEC_ID_PCM_MULAW", - "CODEC_ID_PCM_ALAW", - "CODEC_ID_PCM_S32LE", - "CODEC_ID_PCM_S32BE", - "CODEC_ID_PCM_U32LE", - "CODEC_ID_PCM_U32BE", - "CODEC_ID_PCM_S24LE", - "CODEC_ID_PCM_S24BE", - "CODEC_ID_PCM_U24LE", - "CODEC_ID_PCM_U24BE", - "CODEC_ID_PCM_S24DAUD", - "CODEC_ID_PCM_ZORK", - "CODEC_ID_PCM_S16LE_PLANAR", - "CODEC_ID_PCM_DVD", - "CODEC_ID_PCM_F32BE", - "CODEC_ID_PCM_F32LE", - "CODEC_ID_PCM_F64BE", - "CODEC_ID_PCM_F64LE", - "CODEC_ID_PCM_BLURAY", - "CODEC_ID_PCM_LXF", - "CODEC_ID_S302M", - "CODEC_ID_PCM_S8_PLANAR", - "CODEC_ID_PCM_S24LE_PLANAR", - "CODEC_ID_PCM_S32LE_PLANAR", - "CODEC_ID_PCM_S16BE_PLANAR", - "CODEC_ID_PCM_S64LE", - "CODEC_ID_PCM_S64BE", - "CODEC_ID_PCM_F16LE", - "CODEC_ID_PCM_F24LE", - "CODEC_ID_ADPCM_IMA_QT", - "CODEC_ID_ADPCM_IMA_WAV", - "CODEC_ID_ADPCM_IMA_DK3", - "CODEC_ID_ADPCM_IMA_DK4", - "CODEC_ID_ADPCM_IMA_WS", - "CODEC_ID_ADPCM_IMA_SMJPEG", - "CODEC_ID_ADPCM_MS", - "CODEC_ID_ADPCM_4XM", - "CODEC_ID_ADPCM_XA", - "CODEC_ID_ADPCM_ADX", - "CODEC_ID_ADPCM_EA", - "CODEC_ID_ADPCM_G726", - "CODEC_ID_ADPCM_CT", - "CODEC_ID_ADPCM_SWF", - "CODEC_ID_ADPCM_YAMAHA", - "CODEC_ID_ADPCM_SBPRO_4", - "CODEC_ID_ADPCM_SBPRO_3", - "CODEC_ID_ADPCM_SBPRO_2", - "CODEC_ID_ADPCM_THP", - "CODEC_ID_ADPCM_IMA_AMV", - "CODEC_ID_ADPCM_EA_R1", - "CODEC_ID_ADPCM_EA_R3", - "CODEC_ID_ADPCM_EA_R2", - "CODEC_ID_ADPCM_IMA_EA_SEAD", - "CODEC_ID_ADPCM_IMA_EA_EACS", - "CODEC_ID_ADPCM_EA_XAS", - "CODEC_ID_ADPCM_EA_MAXIS_XA", - "CODEC_ID_ADPCM_IMA_ISS", - "CODEC_ID_ADPCM_G722", - "CODEC_ID_ADPCM_IMA_APC", - "CODEC_ID_VIMA", - "CODEC_ID_ADPCM_AFC", - "CODEC_ID_ADPCM_IMA_OKI", - "CODEC_ID_ADPCM_DTK", - "CODEC_ID_ADPCM_IMA_RAD", - "CODEC_ID_ADPCM_G726LE", - "CODEC_ID_ADPCM_THP_LE", - "CODEC_ID_ADPCM_PSX", - "CODEC_ID_ADPCM_AICA", - "CODEC_ID_ADPCM_IMA_DAT4", - "CODEC_ID_ADPCM_MTAF", - "CODEC_ID_ADPCM_VIMA", - "CODEC_ID_AMR_NB", - "CODEC_ID_AMR_WB", - "CODEC_ID_RA_144", - "CODEC_ID_RA_288", - "CODEC_ID_ROQ_DPCM", - "CODEC_ID_INTERPLAY_DPCM", - "CODEC_ID_XAN_DPCM", - "CODEC_ID_SOL_DPCM", - "CODEC_ID_GREMLIN_DPCM", - "CODEC_ID_SDX2_DPCM", - "CODEC_ID_MP2", - "CODEC_ID_MP3", - "CODEC_ID_AAC", - "CODEC_ID_MPEG4AAC_DEPRECATED", - "CODEC_ID_AC3", - "CODEC_ID_DTS", - "CODEC_ID_VORBIS", - "CODEC_ID_DVAUDIO", - "CODEC_ID_WMAV1", - "CODEC_ID_WMAV2", - "CODEC_ID_MACE3", - "CODEC_ID_MACE6", - "CODEC_ID_VMDAUDIO", - "CODEC_ID_SONIC", - "CODEC_ID_SONIC_LS", - "CODEC_ID_FLAC", - "CODEC_ID_MP3ADU", - "CODEC_ID_MP3ON4", - "CODEC_ID_SHORTEN", - "CODEC_ID_ALAC", - "CODEC_ID_WESTWOOD_SND1", - "CODEC_ID_GSM", - "CODEC_ID_QDM2", - "CODEC_ID_COOK", - "CODEC_ID_TRUESPEECH", - "CODEC_ID_TTA", - "CODEC_ID_SMACKAUDIO", - "CODEC_ID_QCELP", - "CODEC_ID_WAVPACK", - "CODEC_ID_DSICINAUDIO", - "CODEC_ID_ASAO", - "CODEC_ID_NELLYMOSER", - "CODEC_ID_WMAVOICE", - "CODEC_ID_WMAPRO", - "CODEC_ID_WMALOSSLESS", - "CODEC_ID_IMC", - "CODEC_ID_MUSEPACK7", - "CODEC_ID_MLP", - "CODEC_ID_GSM_MS", - "CODEC_ID_ATRAC3", - "CODEC_ID_VOXWARE", - "CODEC_ID_APE", - "CODEC_ID_MUSEPACK8", - "CODEC_ID_SPEEX", - "CODEC_ID_ATRAC3P", - "CODEC_ID_EAC3", - "CODEC_ID_SIPR", - "CODEC_ID_MP1", - "CODEC_ID_TWINVQ", - "CODEC_ID_TRUEHD", - "CODEC_ID_MP4ALS", - "CODEC_ID_ATRAC1", - "CODEC_ID_BINKAUDIO_RDFT", - "CODEC_ID_BINKAUDIO_DCT", - "CODEC_ID_AAC_LATM", - "CODEC_ID_QDMC", - "CODEC_ID_CELT", - "CODEC_ID_G723_1", - "CODEC_ID_G729", - "CODEC_ID_BMV_AUDIO", - "CODEC_ID_RALF", - "CODEC_ID_IAC", - "CODEC_ID_ILBC", - "CODEC_ID_FFWAVESYNTH", - "CODEC_ID_8SVX_RAW", - "CODEC_ID_PAF_AUDIO", - "CODEC_ID_OPUS", - "CODEC_ID_ATRAC3AL", - "CODEC_ID_ATRAC3PAL", - "CODEC_ID_DOLBY_E", - "CODEC_ID_DSD_LSBF", - "CODEC_ID_DSD_MSBF", - "CODEC_ID_DSD_LSBF_PLANAR", - "CODEC_ID_DSD_MSBF_PLANAR", - "CODEC_ID_DSS_SP", - "CODEC_ID_DST", - "CODEC_ID_EVRC", - "CODEC_ID_INTERPLAY_ACM", - "CODEC_ID_METASOUND", - "CODEC_ID_ON2AVC", - "CODEC_ID_TAK", - "CODEC_ID_XMA1", - "CODEC_ID_XMA2", - "CODEC_ID_COMFORT_NOISE", - "CODEC_ID_APTX", - "CODEC_ID_APTX_HD", - "CODEC_ID_SBC", - "CODEC_ID_ATRAC9", - "CODEC_ID_CODEC2", - "CODEC_ID_OGGTHEORA_DEPRECATED", - "CODEC_ID_DVD_SUBTITLE", - "CODEC_ID_DVB_SUBTITLE", - "CODEC_ID_TEXT", - "CODEC_ID_XSUB", - "CODEC_ID_SSA", - "CODEC_ID_MOV_TEXT", - "CODEC_ID_HDMV_PGS_SUBTITLE", - "CODEC_ID_DVB_TELETEXT", - "CODEC_ID_SRT", - "CODEC_ID_MICRODVD", - "CODEC_ID_EIA_608", - "CODEC_ID_JACOSUB", - "CODEC_ID_SAMI", - "CODEC_ID_REALTEXT", - "CODEC_ID_SUBVIEWER", - "CODEC_ID_SUBRIP", - "CODEC_ID_WEBVTT", - "CODEC_ID_ASS", - "CODEC_ID_MPL2", - "CODEC_ID_PJS", - "CODEC_ID_STL", - "CODEC_ID_SUBVIEWER1", - "CODEC_ID_VPLAYER", - "CODEC_ID_TTML", - "CODEC_ID_TTF", - "CODEC_ID_BINTEXT", - "CODEC_ID_XBIN", - "CODEC_ID_IDF", - "CODEC_ID_OTF", - "CODEC_ID_PROBE", - "CODEC_ID_MPEG2TS", - "CODEC_ID_MPEG4SYSTEMS", - "CODEC_ID_FFMETADATA", - "CODEC_ID_FFMPEG_OUT_OF_SYNC", - "CODEC_ID_WRAPPED_AVFRAME", - "CODEC_ID_CAMM" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_MPEG4", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: removed from upstream", - "", - "", - "", - "", - "deprecated: removed from upstream", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "moved to audio codecs section in upstream", - "moved to audio codecs section in upstream", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "various pcm \"codecs\"", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "various adpcm codecs", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "AMR", - "", - "RealAudio codecs", - "", - "various DPCM codecs", - "", - "", - "", - "", - "", - "audio codecs", - "preferred ID for MPEG Audio layer 1, 2 or 3", - "", - "Use CODEC_ID_AAC instead", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Not in ffmpeg as of rev 20544.", - "Start of out of order with ffmpeg", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "End of out of order with ffmpeg", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Removed in ffmpeg rev 5877.", - "subtitle codecs", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "other specific kind of codecs (generally used for attachments)", - "", - "", - "", - "", - "\u003c codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it", - "_FAKE_ codec to indicate a raw MPEG2 transport stream (only used by libavformat)", - "_FAKE_ codec to indicate a MPEG-4 Systems stream (only used by libavformat)", - "Dummy codec for streams containing only metadata information.", - "this one indicates an error in the mapping between this enum and libavcodec's", - "AVFrames wrapped in AVPacket", - "Camera motion metadata (http://go/wally-format)" - ], - "type": "string" - }, - "videoEndTimestamp": { - "format": "int64", - "type": "string" - }, - "videoFps": { - "description": "video frame per second, obtained by parsing video header information. It could be inaccurate for some types of codecs, notably, WMV, ASF, and FLV. It will be inaccurate for videos that does not have constant frame rate since it is the smallest framerate that can accurately represent all timestamps (see ffmpeg doc for AVStream.r_frame_rate). Also frame rate can be parsed from headers and can be wrong if it is not available there since ffmpeg uses a heuristic for determining it.", - "format": "double", - "type": "number" - }, - "videoFrameSize": { - "description": "video frame size", - "format": "int64", - "type": "string" - }, - "videoHasBFrames": { - "description": "video has b frames", - "type": "boolean" - }, - "videoHasFragments": { - "description": "video (MOV) has fragments", - "type": "boolean" - }, - "videoHasLeadingMoovAtom": { - "description": "video (MOV) has moov atom before mdat atom allowing streaming transcoding", - "type": "boolean" - }, - "videoHasNonMonotonicDts": { - "description": "video has non-monotonic DTS (potential problem)", - "type": "boolean" - }, - "videoHasNonMonotonicPts": { - "description": "video has non-monotonic PTS.", - "type": "boolean" - }, - "videoHasNonZeroStartEditList": { - "description": "video (MOV) has a possibly av desync issue due to edit lists not starting at 0", - "type": "boolean" - }, - "videoHasPossibleOpenGop": { - "description": "video has possible open GOP", - "type": "boolean" - }, - "videoHasVariableAspectRatio": { - "description": "video has frames with different aspect ratios.", - "type": "boolean" - }, - "videoHeight": { - "format": "int32", - "type": "integer" - }, - "videoInterlace": { - "description": "Information on interlaced video.", - "enum": [ - "INTERLACE_NONE", - "INTERLACE_PIC_AFF", - "INTERLACE_MB_AFF" - ], - "enumDescriptions": [ - "No interlace", - "Adaptive frame-field coding in picture level", - "Adaptive frame-field coding in macroblock level" - ], - "type": "string" - }, - "videoLength": { - "description": "video length in seconds Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).", - "format": "double", - "type": "number" - }, - "videoNumberOfFrames": { - "description": "Number of Video frames Warning: running video::FfmpegVideoFileInformation() won't set this info Ffmpeg tool does not report the number of frames accurately. We can't rely on fps and video length. So we will set this after we processed every frame using the filter framework", - "format": "int64", - "type": "string" - }, - "videoNumberOfInvisibleFrames": { - "description": "Invisible frame count Keep a count of frames that are not displayed should the full frame count be needed for the video stream. The only codec currently reporting this value is VP8 with alternate reference frames enabled", - "format": "int32", - "type": "integer" - }, - "videoPixelAspectRatio": { - "description": "video pixel aspect ratio", - "format": "double", - "type": "number" - }, - "videoRotation": { - "description": "Is the video rotated ?", - "enum": [ - "ROTATION_NONE", - "ROTATION_OTHER", - "ROTATION_CW_90", - "ROTATION_CCW_90", - "ROTATION_180" - ], - "enumDescriptions": [ - "No rotation", - "Unspecified non-identity rotation", - "Rotate clockwise by 90 degrees", - "Rotate counter-clockwise by 90 degrees", - "Rotate 180 degrees" - ], - "type": "string" - }, - "videoStartTimestamp": { - "description": "Start/end timestamps of audio/video in ms.", - "format": "int64", - "type": "string" - }, - "videoStream": { - "items": { - "$ref": "VideoVideoStreamInfoVideoStream" - }, - "type": "array" - }, - "videoStreamCodecTag": { - "format": "int32", - "type": "integer" - }, - "videoWidth": { - "description": "source video width and height", - "format": "int32", - "type": "integer" - }, - "videostreaminfoVersion": { - "description": "Version number of the videostreaminfo application that generated this protobuf.", - "format": "int32", - "type": "integer" - }, - "yPsnr": { - "description": "Luma PSNR of the transcoded file.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "VideoVideoStreamInfoAudioStream": { - "description": "Next id: 25", - "id": "VideoVideoStreamInfoAudioStream", - "properties": { - "ambisonics": { - "$ref": "VideoAmbisonicsAmbisonicsMetadata", - "description": "Optional ambisonics metadata." - }, - "bitrate": { - "description": "audio bitrate in bits/s", - "format": "int64", - "type": "string" - }, - "channelPosition": { - "items": { - "enum": [ - "CHANNEL_UNKNOWN", - "CHANNEL_FRONT_LEFT", - "CHANNEL_FRONT_RIGHT", - "CHANNEL_FRONT_CENTER", - "CHANNEL_LOW_FREQUENCY", - "CHANNEL_BACK_LEFT", - "CHANNEL_BACK_RIGHT", - "CHANNEL_FRONT_LEFT_OF_CENTER", - "CHANNEL_FRONT_RIGHT_OF_CENTER", - "CHANNEL_BACK_CENTER", - "CHANNEL_SIDE_LEFT", - "CHANNEL_SIDE_RIGHT", - "CHANNEL_TOP_CENTER", - "CHANNEL_TOP_FRONT_LEFT", - "CHANNEL_TOP_FRONT_CENTER", - "CHANNEL_TOP_FRONT_RIGHT", - "CHANNEL_TOP_BACK_LEFT", - "CHANNEL_TOP_BACK_CENTER", - "CHANNEL_TOP_BACK_RIGHT", - "CHANNEL_STEREO_LEFT", - "CHANNEL_STEREO_RIGHT", - "CHANNEL_WIDE_LEFT", - "CHANNEL_WIDE_RIGHT", - "CHANNEL_SURROUND_DIRECT_LEFT", - "CHANNEL_SURROUND_DIRECT_RIGHT", - "CHANNEL_LOW_FREQUENCY_2" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "type": "array" - }, - "channels": { - "description": "number of audio channels", - "format": "int32", - "type": "integer" - }, - "clockDiscontinuityUs": { - "description": "some container allows for a clock discontinuity. In this case, the end_timestamp may not be the correct DTS of the stream.", - "format": "int64", - "type": "string" - }, - "codecFourcc": { - "type": "string" - }, - "codecId": { - "description": "Primary audio codec information", - "enum": [ - "CODEC_ID_NONE", - "CODEC_ID_MPEG1VIDEO", - "CODEC_ID_MPEG2VIDEO", - "CODEC_ID_MPEG2VIDEO_XVMC", - "CODEC_ID_H261", - "CODEC_ID_H263", - "CODEC_ID_RV10", - "CODEC_ID_RV20", - "CODEC_ID_MJPEG", - "CODEC_ID_MJPEGB", - "CODEC_ID_LJPEG", - "CODEC_ID_SP5X", - "CODEC_ID_JPEGLS", - "CODEC_ID_MPEG4", - "CODEC_ID_RAWVIDEO", - "CODEC_ID_MSMPEG4V1", - "CODEC_ID_MSMPEG4V2", - "CODEC_ID_MSMPEG4V3", - "CODEC_ID_WMV1", - "CODEC_ID_WMV2", - "CODEC_ID_H263P", - "CODEC_ID_H263I", - "CODEC_ID_FLV1", - "CODEC_ID_SVQ1", - "CODEC_ID_SVQ3", - "CODEC_ID_DVVIDEO", - "CODEC_ID_HUFFYUV", - "CODEC_ID_CYUV", - "CODEC_ID_H264", - "CODEC_ID_INDEO3", - "CODEC_ID_VP3", - "CODEC_ID_THEORA", - "CODEC_ID_ASV1", - "CODEC_ID_ASV2", - "CODEC_ID_FFV1", - "CODEC_ID_4XM", - "CODEC_ID_VCR1", - "CODEC_ID_CLJR", - "CODEC_ID_MDEC", - "CODEC_ID_ROQ", - "CODEC_ID_INTERPLAY_VIDEO", - "CODEC_ID_XAN_WC3", - "CODEC_ID_XAN_WC4", - "CODEC_ID_RPZA", - "CODEC_ID_CINEPAK", - "CODEC_ID_WS_VQA", - "CODEC_ID_MSRLE", - "CODEC_ID_MSVIDEO1", - "CODEC_ID_IDCIN", - "CODEC_ID_8BPS", - "CODEC_ID_SMC", - "CODEC_ID_FLIC", - "CODEC_ID_TRUEMOTION1", - "CODEC_ID_VMDVIDEO", - "CODEC_ID_MSZH", - "CODEC_ID_ZLIB", - "CODEC_ID_QTRLE", - "CODEC_ID_SNOW", - "CODEC_ID_TSCC", - "CODEC_ID_ULTI", - "CODEC_ID_QDRAW", - "CODEC_ID_VIXL", - "CODEC_ID_QPEG", - "CODEC_ID_XVID", - "CODEC_ID_PNG", - "CODEC_ID_PPM", - "CODEC_ID_PBM", - "CODEC_ID_PGM", - "CODEC_ID_PGMYUV", - "CODEC_ID_PAM", - "CODEC_ID_FFVHUFF", - "CODEC_ID_RV30", - "CODEC_ID_RV40", - "CODEC_ID_VC1", - "CODEC_ID_WMV3", - "CODEC_ID_LOCO", - "CODEC_ID_WNV1", - "CODEC_ID_AASC", - "CODEC_ID_INDEO2", - "CODEC_ID_FRAPS", - "CODEC_ID_TRUEMOTION2", - "CODEC_ID_BMP", - "CODEC_ID_CSCD", - "CODEC_ID_MMVIDEO", - "CODEC_ID_ZMBV", - "CODEC_ID_AVS", - "CODEC_ID_SMACKVIDEO", - "CODEC_ID_NUV", - "CODEC_ID_KMVC", - "CODEC_ID_FLASHSV", - "CODEC_ID_CAVS", - "CODEC_ID_JPEG2000", - "CODEC_ID_VMNC", - "CODEC_ID_VP5", - "CODEC_ID_VP6", - "CODEC_ID_VP6F", - "CODEC_ID_TARGA", - "CODEC_ID_DSICINVIDEO", - "CODEC_ID_TIERTEXSEQVIDEO", - "CODEC_ID_TIFF", - "CODEC_ID_GIF", - "CODEC_ID_FFH264", - "CODEC_ID_DXA", - "CODEC_ID_DNXHD", - "CODEC_ID_THP", - "CODEC_ID_SGI", - "CODEC_ID_C93", - "CODEC_ID_BETHSOFTVID", - "CODEC_ID_PTX", - "CODEC_ID_TXD", - "CODEC_ID_VP6A", - "CODEC_ID_AMV", - "CODEC_ID_VB", - "CODEC_ID_PCX", - "CODEC_ID_SUNRAST", - "CODEC_ID_INDEO4", - "CODEC_ID_INDEO5", - "CODEC_ID_MIMIC", - "CODEC_ID_RL2", - "CODEC_ID_8SVX_EXP", - "CODEC_ID_8SVX_FIB", - "CODEC_ID_ESCAPE124", - "CODEC_ID_DIRAC", - "CODEC_ID_BFI", - "CODEC_ID_CMV", - "CODEC_ID_MOTIONPIXELS", - "CODEC_ID_TGV", - "CODEC_ID_TGQ", - "CODEC_ID_TQI", - "CODEC_ID_AURA", - "CODEC_ID_AURA2", - "CODEC_ID_V210X", - "CODEC_ID_TMV", - "CODEC_ID_V210", - "CODEC_ID_DPX", - "CODEC_ID_MAD", - "CODEC_ID_FRWU", - "CODEC_ID_VP8", - "CODEC_ID_APPLE_PRORES_NQ", - "CODEC_ID_APPLE_PRORES_HQ", - "CODEC_ID_FLASHSV2", - "CODEC_ID_CDGRAPHICS", - "CODEC_ID_R210", - "CODEC_ID_ANM", - "CODEC_ID_BINKVIDEO", - "CODEC_ID_IFF_ILBM", - "CODEC_ID_IFF_BYTERUN1", - "CODEC_ID_KGV1", - "CODEC_ID_YOP", - "CODEC_ID_PICTOR", - "CODEC_ID_APPLE_PRORES_LT", - "CODEC_ID_APPLE_PRORES_PROXY", - "CODEC_ID_APPLE_PRORES_4444", - "CODEC_ID_APPLE_PIXLET", - "CODEC_ID_G2M", - "CODEC_ID_PRORES", - "CODEC_ID_ANSI", - "CODEC_ID_A64_MULTI", - "CODEC_ID_A64_MULTI5", - "CODEC_ID_R10K", - "CODEC_ID_MXPEG", - "CODEC_ID_LAGARITH", - "CODEC_ID_JV", - "CODEC_ID_DFA", - "CODEC_ID_WMV3IMAGE", - "CODEC_ID_VC1IMAGE", - "CODEC_ID_UTVIDEO", - "CODEC_ID_BMV_VIDEO", - "CODEC_ID_VBLE", - "CODEC_ID_DXTORY", - "CODEC_ID_V410", - "CODEC_ID_XWD", - "CODEC_ID_CDXL", - "CODEC_ID_XBM", - "CODEC_ID_ZEROCODEC", - "CODEC_ID_MSS1", - "CODEC_ID_MSA1", - "CODEC_ID_TSCC2", - "CODEC_ID_MTS2", - "CODEC_ID_CLLC", - "CODEC_ID_MSS2", - "CODEC_ID_Y41P", - "CODEC_ID_ESCAPE130", - "CODEC_ID_EXR", - "CODEC_ID_AVRP", - "CODEC_ID_AVUI", - "CODEC_ID_AYUV", - "CODEC_ID_V308", - "CODEC_ID_V408", - "CODEC_ID_YUV4", - "CODEC_ID_SANM", - "CODEC_ID_PAF_VIDEO", - "CODEC_ID_AVRN", - "CODEC_ID_CPIA", - "CODEC_ID_VP9", - "CODEC_ID_H265", - "CODEC_ID_CFHD", - "CODEC_ID_AV1", - "CODEC_ID_AIC", - "CODEC_ID_ALIAS_PIX", - "CODEC_ID_APNG", - "CODEC_ID_BRENDER_PIX", - "CODEC_ID_CLEARVIDEO", - "CODEC_ID_DDS", - "CODEC_ID_DXV", - "CODEC_ID_FIC", - "CODEC_ID_FITS", - "CODEC_ID_FMVC", - "CODEC_ID_GDV", - "CODEC_ID_HAP", - "CODEC_ID_HNM4_VIDEO", - "CODEC_ID_HQ_HQA", - "CODEC_ID_HQX", - "CODEC_ID_M101", - "CODEC_ID_MAGICYUV", - "CODEC_ID_MSCC", - "CODEC_ID_MVC1", - "CODEC_ID_MVC2", - "CODEC_ID_PIXLET", - "CODEC_ID_PSD", - "CODEC_ID_RSCC", - "CODEC_ID_SCPR", - "CODEC_ID_SCREENPRESSO", - "CODEC_ID_SGIRLE", - "CODEC_ID_SHEERVIDEO", - "CODEC_ID_SMVJPEG", - "CODEC_ID_SPEEDHQ", - "CODEC_ID_SRGC", - "CODEC_ID_TARGA_Y216", - "CODEC_ID_TDSC", - "CODEC_ID_TRUEMOTION2RT", - "CODEC_ID_VP7", - "CODEC_ID_BITPACKED", - "CODEC_ID_WEBP", - "CODEC_ID_XFACE", - "CODEC_ID_XPM", - "CODEC_ID_YLC", - "CODEC_ID_012V", - "CODEC_ID_AVS2", - "CODEC_ID_IMM4", - "CODEC_ID_MWSC", - "CODEC_ID_PROSUMER", - "CODEC_ID_RASC", - "CODEC_ID_WCMV", - "CODEC_ID_MSP2", - "CODEC_ID_VQC", - "CODEC_ID_CDTOONS", - "CODEC_ID_SIREN", - "CODEC_ID_PGX", - "CODEC_ID_ADPCM_IMA_CUNNING", - "CODEC_ID_VMIX", - "CODEC_ID_DERF_DPCM", - "CODEC_ID_MEDIA100", - "CODEC_ID_FTR", - "CODEC_ID_DFPWM", - "CODEC_ID_PDV", - "CODEC_ID_APAC", - "CODEC_ID_ADPCM_ARGO", - "CODEC_ID_ADPCM_IMA_SSI", - "CODEC_ID_SGA_VIDEO", - "CODEC_ID_PHOTOCD", - "CODEC_ID_PCM_SGA", - "CODEC_ID_NOTCHLC", - "CODEC_ID_OSQ", - "CODEC_ID_MISC4", - "CODEC_ID_PHM", - "CODEC_ID_MV30", - "CODEC_ID_GEM", - "CODEC_ID_MVDV", - "CODEC_ID_ACELP_KELVIN", - "CODEC_ID_PFM", - "CODEC_ID_ADPCM_IMA_APM", - "CODEC_ID_IMM5", - "CODEC_ID_ANULL", - "CODEC_ID_ARBC", - "CODEC_ID_VBN", - "CODEC_ID_FASTAUDIO", - "CODEC_ID_LSCR", - "CODEC_ID_RKA", - "CODEC_ID_ARGO", - "CODEC_ID_WBMP", - "CODEC_ID_MSNSIREN", - "CODEC_ID_ADPCM_IMA_ALP", - "CODEC_ID_BONK", - "CODEC_ID_QOI", - "CODEC_ID_RTV1", - "CODEC_ID_VNULL", - "CODEC_ID_HCOM", - "CODEC_ID_ADPCM_AGM", - "CODEC_ID_ADPCM_IMA_MTF", - "CODEC_ID_HYMT", - "CODEC_ID_WADY_DPCM", - "CODEC_ID_RADIANCE_HDR", - "CODEC_ID_MVHA", - "CODEC_ID_VP4", - "CODEC_ID_MOBICLIP", - "CODEC_ID_ADPCM_IMA_MOFLEX", - "CODEC_ID_HCA", - "CODEC_ID_IPU", - "CODEC_ID_WAVARC", - "CODEC_ID_SIMBIOSIS_IMX", - "CODEC_ID_CBD2_DPCM", - "CODEC_ID_PCM_VIDC", - "CODEC_ID_CRI", - "CODEC_ID_AGM", - "CODEC_ID_ADPCM_XMD", - "CODEC_ID_ADPCM_IMA_ACORN", - "CODEC_ID_ADPCM_ZORK", - "CODEC_ID_QOA", - "CODEC_ID_VVC", - "CODEC_ID_LEAD", - "CODEC_ID_UNKNOWN", - "CODEC_ID_PCM_S16LE", - "CODEC_ID_PCM_S16BE", - "CODEC_ID_PCM_U16LE", - "CODEC_ID_PCM_U16BE", - "CODEC_ID_PCM_S8", - "CODEC_ID_PCM_U8", - "CODEC_ID_PCM_MULAW", - "CODEC_ID_PCM_ALAW", - "CODEC_ID_PCM_S32LE", - "CODEC_ID_PCM_S32BE", - "CODEC_ID_PCM_U32LE", - "CODEC_ID_PCM_U32BE", - "CODEC_ID_PCM_S24LE", - "CODEC_ID_PCM_S24BE", - "CODEC_ID_PCM_U24LE", - "CODEC_ID_PCM_U24BE", - "CODEC_ID_PCM_S24DAUD", - "CODEC_ID_PCM_ZORK", - "CODEC_ID_PCM_S16LE_PLANAR", - "CODEC_ID_PCM_DVD", - "CODEC_ID_PCM_F32BE", - "CODEC_ID_PCM_F32LE", - "CODEC_ID_PCM_F64BE", - "CODEC_ID_PCM_F64LE", - "CODEC_ID_PCM_BLURAY", - "CODEC_ID_PCM_LXF", - "CODEC_ID_S302M", - "CODEC_ID_PCM_S8_PLANAR", - "CODEC_ID_PCM_S24LE_PLANAR", - "CODEC_ID_PCM_S32LE_PLANAR", - "CODEC_ID_PCM_S16BE_PLANAR", - "CODEC_ID_PCM_S64LE", - "CODEC_ID_PCM_S64BE", - "CODEC_ID_PCM_F16LE", - "CODEC_ID_PCM_F24LE", - "CODEC_ID_ADPCM_IMA_QT", - "CODEC_ID_ADPCM_IMA_WAV", - "CODEC_ID_ADPCM_IMA_DK3", - "CODEC_ID_ADPCM_IMA_DK4", - "CODEC_ID_ADPCM_IMA_WS", - "CODEC_ID_ADPCM_IMA_SMJPEG", - "CODEC_ID_ADPCM_MS", - "CODEC_ID_ADPCM_4XM", - "CODEC_ID_ADPCM_XA", - "CODEC_ID_ADPCM_ADX", - "CODEC_ID_ADPCM_EA", - "CODEC_ID_ADPCM_G726", - "CODEC_ID_ADPCM_CT", - "CODEC_ID_ADPCM_SWF", - "CODEC_ID_ADPCM_YAMAHA", - "CODEC_ID_ADPCM_SBPRO_4", - "CODEC_ID_ADPCM_SBPRO_3", - "CODEC_ID_ADPCM_SBPRO_2", - "CODEC_ID_ADPCM_THP", - "CODEC_ID_ADPCM_IMA_AMV", - "CODEC_ID_ADPCM_EA_R1", - "CODEC_ID_ADPCM_EA_R3", - "CODEC_ID_ADPCM_EA_R2", - "CODEC_ID_ADPCM_IMA_EA_SEAD", - "CODEC_ID_ADPCM_IMA_EA_EACS", - "CODEC_ID_ADPCM_EA_XAS", - "CODEC_ID_ADPCM_EA_MAXIS_XA", - "CODEC_ID_ADPCM_IMA_ISS", - "CODEC_ID_ADPCM_G722", - "CODEC_ID_ADPCM_IMA_APC", - "CODEC_ID_VIMA", - "CODEC_ID_ADPCM_AFC", - "CODEC_ID_ADPCM_IMA_OKI", - "CODEC_ID_ADPCM_DTK", - "CODEC_ID_ADPCM_IMA_RAD", - "CODEC_ID_ADPCM_G726LE", - "CODEC_ID_ADPCM_THP_LE", - "CODEC_ID_ADPCM_PSX", - "CODEC_ID_ADPCM_AICA", - "CODEC_ID_ADPCM_IMA_DAT4", - "CODEC_ID_ADPCM_MTAF", - "CODEC_ID_ADPCM_VIMA", - "CODEC_ID_AMR_NB", - "CODEC_ID_AMR_WB", - "CODEC_ID_RA_144", - "CODEC_ID_RA_288", - "CODEC_ID_ROQ_DPCM", - "CODEC_ID_INTERPLAY_DPCM", - "CODEC_ID_XAN_DPCM", - "CODEC_ID_SOL_DPCM", - "CODEC_ID_GREMLIN_DPCM", - "CODEC_ID_SDX2_DPCM", - "CODEC_ID_MP2", - "CODEC_ID_MP3", - "CODEC_ID_AAC", - "CODEC_ID_MPEG4AAC_DEPRECATED", - "CODEC_ID_AC3", - "CODEC_ID_DTS", - "CODEC_ID_VORBIS", - "CODEC_ID_DVAUDIO", - "CODEC_ID_WMAV1", - "CODEC_ID_WMAV2", - "CODEC_ID_MACE3", - "CODEC_ID_MACE6", - "CODEC_ID_VMDAUDIO", - "CODEC_ID_SONIC", - "CODEC_ID_SONIC_LS", - "CODEC_ID_FLAC", - "CODEC_ID_MP3ADU", - "CODEC_ID_MP3ON4", - "CODEC_ID_SHORTEN", - "CODEC_ID_ALAC", - "CODEC_ID_WESTWOOD_SND1", - "CODEC_ID_GSM", - "CODEC_ID_QDM2", - "CODEC_ID_COOK", - "CODEC_ID_TRUESPEECH", - "CODEC_ID_TTA", - "CODEC_ID_SMACKAUDIO", - "CODEC_ID_QCELP", - "CODEC_ID_WAVPACK", - "CODEC_ID_DSICINAUDIO", - "CODEC_ID_ASAO", - "CODEC_ID_NELLYMOSER", - "CODEC_ID_WMAVOICE", - "CODEC_ID_WMAPRO", - "CODEC_ID_WMALOSSLESS", - "CODEC_ID_IMC", - "CODEC_ID_MUSEPACK7", - "CODEC_ID_MLP", - "CODEC_ID_GSM_MS", - "CODEC_ID_ATRAC3", - "CODEC_ID_VOXWARE", - "CODEC_ID_APE", - "CODEC_ID_MUSEPACK8", - "CODEC_ID_SPEEX", - "CODEC_ID_ATRAC3P", - "CODEC_ID_EAC3", - "CODEC_ID_SIPR", - "CODEC_ID_MP1", - "CODEC_ID_TWINVQ", - "CODEC_ID_TRUEHD", - "CODEC_ID_MP4ALS", - "CODEC_ID_ATRAC1", - "CODEC_ID_BINKAUDIO_RDFT", - "CODEC_ID_BINKAUDIO_DCT", - "CODEC_ID_AAC_LATM", - "CODEC_ID_QDMC", - "CODEC_ID_CELT", - "CODEC_ID_G723_1", - "CODEC_ID_G729", - "CODEC_ID_BMV_AUDIO", - "CODEC_ID_RALF", - "CODEC_ID_IAC", - "CODEC_ID_ILBC", - "CODEC_ID_FFWAVESYNTH", - "CODEC_ID_8SVX_RAW", - "CODEC_ID_PAF_AUDIO", - "CODEC_ID_OPUS", - "CODEC_ID_ATRAC3AL", - "CODEC_ID_ATRAC3PAL", - "CODEC_ID_DOLBY_E", - "CODEC_ID_DSD_LSBF", - "CODEC_ID_DSD_MSBF", - "CODEC_ID_DSD_LSBF_PLANAR", - "CODEC_ID_DSD_MSBF_PLANAR", - "CODEC_ID_DSS_SP", - "CODEC_ID_DST", - "CODEC_ID_EVRC", - "CODEC_ID_INTERPLAY_ACM", - "CODEC_ID_METASOUND", - "CODEC_ID_ON2AVC", - "CODEC_ID_TAK", - "CODEC_ID_XMA1", - "CODEC_ID_XMA2", - "CODEC_ID_COMFORT_NOISE", - "CODEC_ID_APTX", - "CODEC_ID_APTX_HD", - "CODEC_ID_SBC", - "CODEC_ID_ATRAC9", - "CODEC_ID_CODEC2", - "CODEC_ID_OGGTHEORA_DEPRECATED", - "CODEC_ID_DVD_SUBTITLE", - "CODEC_ID_DVB_SUBTITLE", - "CODEC_ID_TEXT", - "CODEC_ID_XSUB", - "CODEC_ID_SSA", - "CODEC_ID_MOV_TEXT", - "CODEC_ID_HDMV_PGS_SUBTITLE", - "CODEC_ID_DVB_TELETEXT", - "CODEC_ID_SRT", - "CODEC_ID_MICRODVD", - "CODEC_ID_EIA_608", - "CODEC_ID_JACOSUB", - "CODEC_ID_SAMI", - "CODEC_ID_REALTEXT", - "CODEC_ID_SUBVIEWER", - "CODEC_ID_SUBRIP", - "CODEC_ID_WEBVTT", - "CODEC_ID_ASS", - "CODEC_ID_MPL2", - "CODEC_ID_PJS", - "CODEC_ID_STL", - "CODEC_ID_SUBVIEWER1", - "CODEC_ID_VPLAYER", - "CODEC_ID_TTML", - "CODEC_ID_TTF", - "CODEC_ID_BINTEXT", - "CODEC_ID_XBIN", - "CODEC_ID_IDF", - "CODEC_ID_OTF", - "CODEC_ID_PROBE", - "CODEC_ID_MPEG2TS", - "CODEC_ID_MPEG4SYSTEMS", - "CODEC_ID_FFMETADATA", - "CODEC_ID_FFMPEG_OUT_OF_SYNC", - "CODEC_ID_WRAPPED_AVFRAME", - "CODEC_ID_CAMM" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_MPEG4", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: removed from upstream", - "", - "", - "", - "", - "deprecated: removed from upstream", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "moved to audio codecs section in upstream", - "moved to audio codecs section in upstream", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "various pcm \"codecs\"", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "various adpcm codecs", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "AMR", - "", - "RealAudio codecs", - "", - "various DPCM codecs", - "", - "", - "", - "", - "", - "audio codecs", - "preferred ID for MPEG Audio layer 1, 2 or 3", - "", - "Use CODEC_ID_AAC instead", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Not in ffmpeg as of rev 20544.", - "Start of out of order with ffmpeg", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "End of out of order with ffmpeg", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Removed in ffmpeg rev 5877.", - "subtitle codecs", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "other specific kind of codecs (generally used for attachments)", - "", - "", - "", - "", - "\u003c codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it", - "_FAKE_ codec to indicate a raw MPEG2 transport stream (only used by libavformat)", - "_FAKE_ codec to indicate a MPEG-4 Systems stream (only used by libavformat)", - "Dummy codec for streams containing only metadata information.", - "this one indicates an error in the mapping between this enum and libavcodec's", - "AVFrames wrapped in AVPacket", - "Camera motion metadata (http://go/wally-format)" - ], - "type": "string" - }, - "codecString": { - "description": "RFC6381 Codec string.", - "type": "string" - }, - "contentType": { - "description": "Specifies the content_type of the audio stream as given in the metadata.", - "type": "string" - }, - "decodeOffset": { - "description": "The bytes offset of the end of the first decodable packet.", - "format": "int64", - "type": "string" - }, - "endTimestamp": { - "format": "int64", - "type": "string" - }, - "frameSize": { - "description": "audio frame size", - "format": "int64", - "type": "string" - }, - "language": { - "description": "Specifies the language of the audio stream as given in the metadata.", - "type": "string" - }, - "length": { - "description": "audio length in seconds Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).", - "format": "double", - "type": "number" - }, - "metadata": { - "description": "Metadata for audio elementary stream;", - "items": { - "$ref": "VideoClipInfo" - }, - "type": "array" - }, - "numberOfFrames": { - "description": "Number of audio frames.", - "format": "int64", - "type": "string" - }, - "profile": { - "enum": [ - "PROFILE_UNKNOWN", - "PROFILE_AAC_MAIN", - "PROFILE_AAC_LOW", - "PROFILE_AAC_SSR", - "PROFILE_AAC_LTP", - "PROFILE_AAC_HE", - "PROFILE_AAC_HE_V2", - "PROFILE_AAC_LD", - "PROFILE_AAC_ELD", - "PROFILE_AVC_CONSTRAINED", - "PROFILE_AVC_INTRA", - "PROFILE_AVC_BASELINE", - "PROFILE_AVC_CONSTRAINED_BASELINE", - "PROFILE_AVC_MAIN", - "PROFILE_AVC_EXTENDED", - "PROFILE_AVC_HIGH", - "PROFILE_AVC_HIGH10", - "PROFILE_AVC_HIGH10_INTRA", - "PROFILE_AVC_HIGH422", - "PROFILE_AVC_HIGH422_INTRA", - "PROFILE_AVC_HIGH444", - "PROFILE_HIGH444_PREDICTIVE", - "PROFILE_AVC_HIGH444_INTRA", - "PROFILE_AVC_CAVLC444", - "PROFILE_VP9_0", - "PROFILE_VP9_1", - "PROFILE_VP9_2", - "PROFILE_VP9_3", - "PROFILE_HEVC_MAIN", - "PROFILE_HEVC_MAIN_10", - "PROFILE_HEVC_MAIN_STILL_PICTURE", - "PROFILE_HEVC_REXT", - "PROFILE_DOVI_5" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "(1 \u003c\u003c 8) constrained mode set bit", - "(1 \u003c\u003c 11) intra mode set bit", - "", - "PROFILE_AVC_CONSTRAINED_BASELINE = PROFILE_AVC_BASELINE | PROFILE_AVC_CONSTRAINED", - "", - "", - "", - "", - "PROFILE_AVC_HIGH10_INTRA = PROFILE_AVC_HIGH10 | PROFILE_AVC_INTRA", - "", - "PROFILE_AVC_HIGH422_INTRA = PROFILE_AVC_HIGH422 | PROFILE_AVC_INTRA", - "", - "", - "PROFILE_AVC_HIGH444_INTRA = PROFILE_AVC_HIGH444 | PROFILE_AVC_INTRA", - "", - "Since profile IDs might collide from different codecs, the profile IDs listed below are not identical to the numeric numbers defined in the spec due to collision. Next Profile ID: 10008 PROFILES for VP9. 0", - "1", - "2", - "3", - "1", - "2", - "3", - "4", - "DOVI Profile 5 can only be played as Dolby Vision so it has its own Profile." - ], - "type": "string" - }, - "sampleRate": { - "description": "audio sample rate", - "format": "int64", - "type": "string" - }, - "sampleSize": { - "description": "Number of meaningful bits per decoded audio sample. This is an implicit conceptual meaning. This is *NOT* the same as ffmpeg's internal sample format that is used when actually decoding with ffmpeg.", - "format": "int32", - "type": "integer" - }, - "startTimestamp": { - "description": "Start/end timestamps of audio in ms.", - "format": "int64", - "type": "string" - }, - "streamCodecTag": { - "format": "int64", - "type": "string" - }, - "streamIndex": { - "description": "Index of the stream in the file. it is 0 based.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoVideoStreamInfoDataStream": { - "description": "Data streams refer to additional data separate from audio and video streams For example: camera motion metadata (see http://go/wally-format) Available tags: 4+", - "id": "VideoVideoStreamInfoDataStream", - "properties": { - "codecFourcc": { - "type": "string" - }, - "codecId": { - "description": "Codec information", - "enum": [ - "CODEC_ID_NONE", - "CODEC_ID_MPEG1VIDEO", - "CODEC_ID_MPEG2VIDEO", - "CODEC_ID_MPEG2VIDEO_XVMC", - "CODEC_ID_H261", - "CODEC_ID_H263", - "CODEC_ID_RV10", - "CODEC_ID_RV20", - "CODEC_ID_MJPEG", - "CODEC_ID_MJPEGB", - "CODEC_ID_LJPEG", - "CODEC_ID_SP5X", - "CODEC_ID_JPEGLS", - "CODEC_ID_MPEG4", - "CODEC_ID_RAWVIDEO", - "CODEC_ID_MSMPEG4V1", - "CODEC_ID_MSMPEG4V2", - "CODEC_ID_MSMPEG4V3", - "CODEC_ID_WMV1", - "CODEC_ID_WMV2", - "CODEC_ID_H263P", - "CODEC_ID_H263I", - "CODEC_ID_FLV1", - "CODEC_ID_SVQ1", - "CODEC_ID_SVQ3", - "CODEC_ID_DVVIDEO", - "CODEC_ID_HUFFYUV", - "CODEC_ID_CYUV", - "CODEC_ID_H264", - "CODEC_ID_INDEO3", - "CODEC_ID_VP3", - "CODEC_ID_THEORA", - "CODEC_ID_ASV1", - "CODEC_ID_ASV2", - "CODEC_ID_FFV1", - "CODEC_ID_4XM", - "CODEC_ID_VCR1", - "CODEC_ID_CLJR", - "CODEC_ID_MDEC", - "CODEC_ID_ROQ", - "CODEC_ID_INTERPLAY_VIDEO", - "CODEC_ID_XAN_WC3", - "CODEC_ID_XAN_WC4", - "CODEC_ID_RPZA", - "CODEC_ID_CINEPAK", - "CODEC_ID_WS_VQA", - "CODEC_ID_MSRLE", - "CODEC_ID_MSVIDEO1", - "CODEC_ID_IDCIN", - "CODEC_ID_8BPS", - "CODEC_ID_SMC", - "CODEC_ID_FLIC", - "CODEC_ID_TRUEMOTION1", - "CODEC_ID_VMDVIDEO", - "CODEC_ID_MSZH", - "CODEC_ID_ZLIB", - "CODEC_ID_QTRLE", - "CODEC_ID_SNOW", - "CODEC_ID_TSCC", - "CODEC_ID_ULTI", - "CODEC_ID_QDRAW", - "CODEC_ID_VIXL", - "CODEC_ID_QPEG", - "CODEC_ID_XVID", - "CODEC_ID_PNG", - "CODEC_ID_PPM", - "CODEC_ID_PBM", - "CODEC_ID_PGM", - "CODEC_ID_PGMYUV", - "CODEC_ID_PAM", - "CODEC_ID_FFVHUFF", - "CODEC_ID_RV30", - "CODEC_ID_RV40", - "CODEC_ID_VC1", - "CODEC_ID_WMV3", - "CODEC_ID_LOCO", - "CODEC_ID_WNV1", - "CODEC_ID_AASC", - "CODEC_ID_INDEO2", - "CODEC_ID_FRAPS", - "CODEC_ID_TRUEMOTION2", - "CODEC_ID_BMP", - "CODEC_ID_CSCD", - "CODEC_ID_MMVIDEO", - "CODEC_ID_ZMBV", - "CODEC_ID_AVS", - "CODEC_ID_SMACKVIDEO", - "CODEC_ID_NUV", - "CODEC_ID_KMVC", - "CODEC_ID_FLASHSV", - "CODEC_ID_CAVS", - "CODEC_ID_JPEG2000", - "CODEC_ID_VMNC", - "CODEC_ID_VP5", - "CODEC_ID_VP6", - "CODEC_ID_VP6F", - "CODEC_ID_TARGA", - "CODEC_ID_DSICINVIDEO", - "CODEC_ID_TIERTEXSEQVIDEO", - "CODEC_ID_TIFF", - "CODEC_ID_GIF", - "CODEC_ID_FFH264", - "CODEC_ID_DXA", - "CODEC_ID_DNXHD", - "CODEC_ID_THP", - "CODEC_ID_SGI", - "CODEC_ID_C93", - "CODEC_ID_BETHSOFTVID", - "CODEC_ID_PTX", - "CODEC_ID_TXD", - "CODEC_ID_VP6A", - "CODEC_ID_AMV", - "CODEC_ID_VB", - "CODEC_ID_PCX", - "CODEC_ID_SUNRAST", - "CODEC_ID_INDEO4", - "CODEC_ID_INDEO5", - "CODEC_ID_MIMIC", - "CODEC_ID_RL2", - "CODEC_ID_8SVX_EXP", - "CODEC_ID_8SVX_FIB", - "CODEC_ID_ESCAPE124", - "CODEC_ID_DIRAC", - "CODEC_ID_BFI", - "CODEC_ID_CMV", - "CODEC_ID_MOTIONPIXELS", - "CODEC_ID_TGV", - "CODEC_ID_TGQ", - "CODEC_ID_TQI", - "CODEC_ID_AURA", - "CODEC_ID_AURA2", - "CODEC_ID_V210X", - "CODEC_ID_TMV", - "CODEC_ID_V210", - "CODEC_ID_DPX", - "CODEC_ID_MAD", - "CODEC_ID_FRWU", - "CODEC_ID_VP8", - "CODEC_ID_APPLE_PRORES_NQ", - "CODEC_ID_APPLE_PRORES_HQ", - "CODEC_ID_FLASHSV2", - "CODEC_ID_CDGRAPHICS", - "CODEC_ID_R210", - "CODEC_ID_ANM", - "CODEC_ID_BINKVIDEO", - "CODEC_ID_IFF_ILBM", - "CODEC_ID_IFF_BYTERUN1", - "CODEC_ID_KGV1", - "CODEC_ID_YOP", - "CODEC_ID_PICTOR", - "CODEC_ID_APPLE_PRORES_LT", - "CODEC_ID_APPLE_PRORES_PROXY", - "CODEC_ID_APPLE_PRORES_4444", - "CODEC_ID_APPLE_PIXLET", - "CODEC_ID_G2M", - "CODEC_ID_PRORES", - "CODEC_ID_ANSI", - "CODEC_ID_A64_MULTI", - "CODEC_ID_A64_MULTI5", - "CODEC_ID_R10K", - "CODEC_ID_MXPEG", - "CODEC_ID_LAGARITH", - "CODEC_ID_JV", - "CODEC_ID_DFA", - "CODEC_ID_WMV3IMAGE", - "CODEC_ID_VC1IMAGE", - "CODEC_ID_UTVIDEO", - "CODEC_ID_BMV_VIDEO", - "CODEC_ID_VBLE", - "CODEC_ID_DXTORY", - "CODEC_ID_V410", - "CODEC_ID_XWD", - "CODEC_ID_CDXL", - "CODEC_ID_XBM", - "CODEC_ID_ZEROCODEC", - "CODEC_ID_MSS1", - "CODEC_ID_MSA1", - "CODEC_ID_TSCC2", - "CODEC_ID_MTS2", - "CODEC_ID_CLLC", - "CODEC_ID_MSS2", - "CODEC_ID_Y41P", - "CODEC_ID_ESCAPE130", - "CODEC_ID_EXR", - "CODEC_ID_AVRP", - "CODEC_ID_AVUI", - "CODEC_ID_AYUV", - "CODEC_ID_V308", - "CODEC_ID_V408", - "CODEC_ID_YUV4", - "CODEC_ID_SANM", - "CODEC_ID_PAF_VIDEO", - "CODEC_ID_AVRN", - "CODEC_ID_CPIA", - "CODEC_ID_VP9", - "CODEC_ID_H265", - "CODEC_ID_CFHD", - "CODEC_ID_AV1", - "CODEC_ID_AIC", - "CODEC_ID_ALIAS_PIX", - "CODEC_ID_APNG", - "CODEC_ID_BRENDER_PIX", - "CODEC_ID_CLEARVIDEO", - "CODEC_ID_DDS", - "CODEC_ID_DXV", - "CODEC_ID_FIC", - "CODEC_ID_FITS", - "CODEC_ID_FMVC", - "CODEC_ID_GDV", - "CODEC_ID_HAP", - "CODEC_ID_HNM4_VIDEO", - "CODEC_ID_HQ_HQA", - "CODEC_ID_HQX", - "CODEC_ID_M101", - "CODEC_ID_MAGICYUV", - "CODEC_ID_MSCC", - "CODEC_ID_MVC1", - "CODEC_ID_MVC2", - "CODEC_ID_PIXLET", - "CODEC_ID_PSD", - "CODEC_ID_RSCC", - "CODEC_ID_SCPR", - "CODEC_ID_SCREENPRESSO", - "CODEC_ID_SGIRLE", - "CODEC_ID_SHEERVIDEO", - "CODEC_ID_SMVJPEG", - "CODEC_ID_SPEEDHQ", - "CODEC_ID_SRGC", - "CODEC_ID_TARGA_Y216", - "CODEC_ID_TDSC", - "CODEC_ID_TRUEMOTION2RT", - "CODEC_ID_VP7", - "CODEC_ID_BITPACKED", - "CODEC_ID_WEBP", - "CODEC_ID_XFACE", - "CODEC_ID_XPM", - "CODEC_ID_YLC", - "CODEC_ID_012V", - "CODEC_ID_AVS2", - "CODEC_ID_IMM4", - "CODEC_ID_MWSC", - "CODEC_ID_PROSUMER", - "CODEC_ID_RASC", - "CODEC_ID_WCMV", - "CODEC_ID_MSP2", - "CODEC_ID_VQC", - "CODEC_ID_CDTOONS", - "CODEC_ID_SIREN", - "CODEC_ID_PGX", - "CODEC_ID_ADPCM_IMA_CUNNING", - "CODEC_ID_VMIX", - "CODEC_ID_DERF_DPCM", - "CODEC_ID_MEDIA100", - "CODEC_ID_FTR", - "CODEC_ID_DFPWM", - "CODEC_ID_PDV", - "CODEC_ID_APAC", - "CODEC_ID_ADPCM_ARGO", - "CODEC_ID_ADPCM_IMA_SSI", - "CODEC_ID_SGA_VIDEO", - "CODEC_ID_PHOTOCD", - "CODEC_ID_PCM_SGA", - "CODEC_ID_NOTCHLC", - "CODEC_ID_OSQ", - "CODEC_ID_MISC4", - "CODEC_ID_PHM", - "CODEC_ID_MV30", - "CODEC_ID_GEM", - "CODEC_ID_MVDV", - "CODEC_ID_ACELP_KELVIN", - "CODEC_ID_PFM", - "CODEC_ID_ADPCM_IMA_APM", - "CODEC_ID_IMM5", - "CODEC_ID_ANULL", - "CODEC_ID_ARBC", - "CODEC_ID_VBN", - "CODEC_ID_FASTAUDIO", - "CODEC_ID_LSCR", - "CODEC_ID_RKA", - "CODEC_ID_ARGO", - "CODEC_ID_WBMP", - "CODEC_ID_MSNSIREN", - "CODEC_ID_ADPCM_IMA_ALP", - "CODEC_ID_BONK", - "CODEC_ID_QOI", - "CODEC_ID_RTV1", - "CODEC_ID_VNULL", - "CODEC_ID_HCOM", - "CODEC_ID_ADPCM_AGM", - "CODEC_ID_ADPCM_IMA_MTF", - "CODEC_ID_HYMT", - "CODEC_ID_WADY_DPCM", - "CODEC_ID_RADIANCE_HDR", - "CODEC_ID_MVHA", - "CODEC_ID_VP4", - "CODEC_ID_MOBICLIP", - "CODEC_ID_ADPCM_IMA_MOFLEX", - "CODEC_ID_HCA", - "CODEC_ID_IPU", - "CODEC_ID_WAVARC", - "CODEC_ID_SIMBIOSIS_IMX", - "CODEC_ID_CBD2_DPCM", - "CODEC_ID_PCM_VIDC", - "CODEC_ID_CRI", - "CODEC_ID_AGM", - "CODEC_ID_ADPCM_XMD", - "CODEC_ID_ADPCM_IMA_ACORN", - "CODEC_ID_ADPCM_ZORK", - "CODEC_ID_QOA", - "CODEC_ID_VVC", - "CODEC_ID_LEAD", - "CODEC_ID_UNKNOWN", - "CODEC_ID_PCM_S16LE", - "CODEC_ID_PCM_S16BE", - "CODEC_ID_PCM_U16LE", - "CODEC_ID_PCM_U16BE", - "CODEC_ID_PCM_S8", - "CODEC_ID_PCM_U8", - "CODEC_ID_PCM_MULAW", - "CODEC_ID_PCM_ALAW", - "CODEC_ID_PCM_S32LE", - "CODEC_ID_PCM_S32BE", - "CODEC_ID_PCM_U32LE", - "CODEC_ID_PCM_U32BE", - "CODEC_ID_PCM_S24LE", - "CODEC_ID_PCM_S24BE", - "CODEC_ID_PCM_U24LE", - "CODEC_ID_PCM_U24BE", - "CODEC_ID_PCM_S24DAUD", - "CODEC_ID_PCM_ZORK", - "CODEC_ID_PCM_S16LE_PLANAR", - "CODEC_ID_PCM_DVD", - "CODEC_ID_PCM_F32BE", - "CODEC_ID_PCM_F32LE", - "CODEC_ID_PCM_F64BE", - "CODEC_ID_PCM_F64LE", - "CODEC_ID_PCM_BLURAY", - "CODEC_ID_PCM_LXF", - "CODEC_ID_S302M", - "CODEC_ID_PCM_S8_PLANAR", - "CODEC_ID_PCM_S24LE_PLANAR", - "CODEC_ID_PCM_S32LE_PLANAR", - "CODEC_ID_PCM_S16BE_PLANAR", - "CODEC_ID_PCM_S64LE", - "CODEC_ID_PCM_S64BE", - "CODEC_ID_PCM_F16LE", - "CODEC_ID_PCM_F24LE", - "CODEC_ID_ADPCM_IMA_QT", - "CODEC_ID_ADPCM_IMA_WAV", - "CODEC_ID_ADPCM_IMA_DK3", - "CODEC_ID_ADPCM_IMA_DK4", - "CODEC_ID_ADPCM_IMA_WS", - "CODEC_ID_ADPCM_IMA_SMJPEG", - "CODEC_ID_ADPCM_MS", - "CODEC_ID_ADPCM_4XM", - "CODEC_ID_ADPCM_XA", - "CODEC_ID_ADPCM_ADX", - "CODEC_ID_ADPCM_EA", - "CODEC_ID_ADPCM_G726", - "CODEC_ID_ADPCM_CT", - "CODEC_ID_ADPCM_SWF", - "CODEC_ID_ADPCM_YAMAHA", - "CODEC_ID_ADPCM_SBPRO_4", - "CODEC_ID_ADPCM_SBPRO_3", - "CODEC_ID_ADPCM_SBPRO_2", - "CODEC_ID_ADPCM_THP", - "CODEC_ID_ADPCM_IMA_AMV", - "CODEC_ID_ADPCM_EA_R1", - "CODEC_ID_ADPCM_EA_R3", - "CODEC_ID_ADPCM_EA_R2", - "CODEC_ID_ADPCM_IMA_EA_SEAD", - "CODEC_ID_ADPCM_IMA_EA_EACS", - "CODEC_ID_ADPCM_EA_XAS", - "CODEC_ID_ADPCM_EA_MAXIS_XA", - "CODEC_ID_ADPCM_IMA_ISS", - "CODEC_ID_ADPCM_G722", - "CODEC_ID_ADPCM_IMA_APC", - "CODEC_ID_VIMA", - "CODEC_ID_ADPCM_AFC", - "CODEC_ID_ADPCM_IMA_OKI", - "CODEC_ID_ADPCM_DTK", - "CODEC_ID_ADPCM_IMA_RAD", - "CODEC_ID_ADPCM_G726LE", - "CODEC_ID_ADPCM_THP_LE", - "CODEC_ID_ADPCM_PSX", - "CODEC_ID_ADPCM_AICA", - "CODEC_ID_ADPCM_IMA_DAT4", - "CODEC_ID_ADPCM_MTAF", - "CODEC_ID_ADPCM_VIMA", - "CODEC_ID_AMR_NB", - "CODEC_ID_AMR_WB", - "CODEC_ID_RA_144", - "CODEC_ID_RA_288", - "CODEC_ID_ROQ_DPCM", - "CODEC_ID_INTERPLAY_DPCM", - "CODEC_ID_XAN_DPCM", - "CODEC_ID_SOL_DPCM", - "CODEC_ID_GREMLIN_DPCM", - "CODEC_ID_SDX2_DPCM", - "CODEC_ID_MP2", - "CODEC_ID_MP3", - "CODEC_ID_AAC", - "CODEC_ID_MPEG4AAC_DEPRECATED", - "CODEC_ID_AC3", - "CODEC_ID_DTS", - "CODEC_ID_VORBIS", - "CODEC_ID_DVAUDIO", - "CODEC_ID_WMAV1", - "CODEC_ID_WMAV2", - "CODEC_ID_MACE3", - "CODEC_ID_MACE6", - "CODEC_ID_VMDAUDIO", - "CODEC_ID_SONIC", - "CODEC_ID_SONIC_LS", - "CODEC_ID_FLAC", - "CODEC_ID_MP3ADU", - "CODEC_ID_MP3ON4", - "CODEC_ID_SHORTEN", - "CODEC_ID_ALAC", - "CODEC_ID_WESTWOOD_SND1", - "CODEC_ID_GSM", - "CODEC_ID_QDM2", - "CODEC_ID_COOK", - "CODEC_ID_TRUESPEECH", - "CODEC_ID_TTA", - "CODEC_ID_SMACKAUDIO", - "CODEC_ID_QCELP", - "CODEC_ID_WAVPACK", - "CODEC_ID_DSICINAUDIO", - "CODEC_ID_ASAO", - "CODEC_ID_NELLYMOSER", - "CODEC_ID_WMAVOICE", - "CODEC_ID_WMAPRO", - "CODEC_ID_WMALOSSLESS", - "CODEC_ID_IMC", - "CODEC_ID_MUSEPACK7", - "CODEC_ID_MLP", - "CODEC_ID_GSM_MS", - "CODEC_ID_ATRAC3", - "CODEC_ID_VOXWARE", - "CODEC_ID_APE", - "CODEC_ID_MUSEPACK8", - "CODEC_ID_SPEEX", - "CODEC_ID_ATRAC3P", - "CODEC_ID_EAC3", - "CODEC_ID_SIPR", - "CODEC_ID_MP1", - "CODEC_ID_TWINVQ", - "CODEC_ID_TRUEHD", - "CODEC_ID_MP4ALS", - "CODEC_ID_ATRAC1", - "CODEC_ID_BINKAUDIO_RDFT", - "CODEC_ID_BINKAUDIO_DCT", - "CODEC_ID_AAC_LATM", - "CODEC_ID_QDMC", - "CODEC_ID_CELT", - "CODEC_ID_G723_1", - "CODEC_ID_G729", - "CODEC_ID_BMV_AUDIO", - "CODEC_ID_RALF", - "CODEC_ID_IAC", - "CODEC_ID_ILBC", - "CODEC_ID_FFWAVESYNTH", - "CODEC_ID_8SVX_RAW", - "CODEC_ID_PAF_AUDIO", - "CODEC_ID_OPUS", - "CODEC_ID_ATRAC3AL", - "CODEC_ID_ATRAC3PAL", - "CODEC_ID_DOLBY_E", - "CODEC_ID_DSD_LSBF", - "CODEC_ID_DSD_MSBF", - "CODEC_ID_DSD_LSBF_PLANAR", - "CODEC_ID_DSD_MSBF_PLANAR", - "CODEC_ID_DSS_SP", - "CODEC_ID_DST", - "CODEC_ID_EVRC", - "CODEC_ID_INTERPLAY_ACM", - "CODEC_ID_METASOUND", - "CODEC_ID_ON2AVC", - "CODEC_ID_TAK", - "CODEC_ID_XMA1", - "CODEC_ID_XMA2", - "CODEC_ID_COMFORT_NOISE", - "CODEC_ID_APTX", - "CODEC_ID_APTX_HD", - "CODEC_ID_SBC", - "CODEC_ID_ATRAC9", - "CODEC_ID_CODEC2", - "CODEC_ID_OGGTHEORA_DEPRECATED", - "CODEC_ID_DVD_SUBTITLE", - "CODEC_ID_DVB_SUBTITLE", - "CODEC_ID_TEXT", - "CODEC_ID_XSUB", - "CODEC_ID_SSA", - "CODEC_ID_MOV_TEXT", - "CODEC_ID_HDMV_PGS_SUBTITLE", - "CODEC_ID_DVB_TELETEXT", - "CODEC_ID_SRT", - "CODEC_ID_MICRODVD", - "CODEC_ID_EIA_608", - "CODEC_ID_JACOSUB", - "CODEC_ID_SAMI", - "CODEC_ID_REALTEXT", - "CODEC_ID_SUBVIEWER", - "CODEC_ID_SUBRIP", - "CODEC_ID_WEBVTT", - "CODEC_ID_ASS", - "CODEC_ID_MPL2", - "CODEC_ID_PJS", - "CODEC_ID_STL", - "CODEC_ID_SUBVIEWER1", - "CODEC_ID_VPLAYER", - "CODEC_ID_TTML", - "CODEC_ID_TTF", - "CODEC_ID_BINTEXT", - "CODEC_ID_XBIN", - "CODEC_ID_IDF", - "CODEC_ID_OTF", - "CODEC_ID_PROBE", - "CODEC_ID_MPEG2TS", - "CODEC_ID_MPEG4SYSTEMS", - "CODEC_ID_FFMETADATA", - "CODEC_ID_FFMPEG_OUT_OF_SYNC", - "CODEC_ID_WRAPPED_AVFRAME", - "CODEC_ID_CAMM" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_MPEG4", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: removed from upstream", - "", - "", - "", - "", - "deprecated: removed from upstream", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "moved to audio codecs section in upstream", - "moved to audio codecs section in upstream", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "various pcm \"codecs\"", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "various adpcm codecs", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "AMR", - "", - "RealAudio codecs", - "", - "various DPCM codecs", - "", - "", - "", - "", - "", - "audio codecs", - "preferred ID for MPEG Audio layer 1, 2 or 3", - "", - "Use CODEC_ID_AAC instead", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Not in ffmpeg as of rev 20544.", - "Start of out of order with ffmpeg", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "End of out of order with ffmpeg", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Removed in ffmpeg rev 5877.", - "subtitle codecs", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "other specific kind of codecs (generally used for attachments)", - "", - "", - "", - "", - "\u003c codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it", - "_FAKE_ codec to indicate a raw MPEG2 transport stream (only used by libavformat)", - "_FAKE_ codec to indicate a MPEG-4 Systems stream (only used by libavformat)", - "Dummy codec for streams containing only metadata information.", - "this one indicates an error in the mapping between this enum and libavcodec's", - "AVFrames wrapped in AVPacket", - "Camera motion metadata (http://go/wally-format)" - ], - "type": "string" - }, - "streamCodecTag": { - "format": "int64", - "type": "string" - }, - "streamIndex": { - "description": "Index of the stream in the file", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoVideoStreamInfoMetadata": { - "id": "VideoVideoStreamInfoMetadata", - "properties": { - "luts": { - "$ref": "VideoVideoStreamInfoMetadataLutAttachments" - }, - "videoFpa": { - "$ref": "VideoFileFramePackingArrangement", - "description": "Information on Frame Packing arrangement" - } - }, - "type": "object" - }, - "VideoVideoStreamInfoMetadataLutAttachments": { - "description": "An attached 3D look up table", - "id": "VideoVideoStreamInfoMetadataLutAttachments", - "properties": { - "lut": { - "items": { - "$ref": "VideoVideoStreamInfoMetadataLutAttachmentsLut3D" - }, - "type": "array" - } - }, - "type": "object" - }, - "VideoVideoStreamInfoMetadataLutAttachmentsLut3D": { - "description": "Description and encoding of a 3d lut.", - "id": "VideoVideoStreamInfoMetadataLutAttachmentsLut3D", - "properties": { - "data": { - "description": "Lut data, sanitized and encoded in google's binary coded form of 3D look-up tables.", - "format": "byte", - "type": "string" - }, - "fileName": { - "description": "Original file name of the lut (present in the original file)", - "type": "string" - }, - "size": { - "description": "The size (in each dimension) of the lut. For a 3D cube of size NxNxN, this will be N. If the value is -1, then the file was determined to be invalid. This is useful for logging files where the input could not be parsed, and is useful for to indicate info of the 3D lut without having to decode/inspect the binary data.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "VideoVideoStreamInfoTimedTextStream": { - "description": "Timed text streams refer to the streams that are separated from audio and video streams. Closed caption streams embedded in video streams (e.g. MPEG-2 - Line 21) do not belong here.", - "id": "VideoVideoStreamInfoTimedTextStream", - "properties": { - "codecId": { - "description": "Codec information.", - "enum": [ - "CODEC_ID_NONE", - "CODEC_ID_MPEG1VIDEO", - "CODEC_ID_MPEG2VIDEO", - "CODEC_ID_MPEG2VIDEO_XVMC", - "CODEC_ID_H261", - "CODEC_ID_H263", - "CODEC_ID_RV10", - "CODEC_ID_RV20", - "CODEC_ID_MJPEG", - "CODEC_ID_MJPEGB", - "CODEC_ID_LJPEG", - "CODEC_ID_SP5X", - "CODEC_ID_JPEGLS", - "CODEC_ID_MPEG4", - "CODEC_ID_RAWVIDEO", - "CODEC_ID_MSMPEG4V1", - "CODEC_ID_MSMPEG4V2", - "CODEC_ID_MSMPEG4V3", - "CODEC_ID_WMV1", - "CODEC_ID_WMV2", - "CODEC_ID_H263P", - "CODEC_ID_H263I", - "CODEC_ID_FLV1", - "CODEC_ID_SVQ1", - "CODEC_ID_SVQ3", - "CODEC_ID_DVVIDEO", - "CODEC_ID_HUFFYUV", - "CODEC_ID_CYUV", - "CODEC_ID_H264", - "CODEC_ID_INDEO3", - "CODEC_ID_VP3", - "CODEC_ID_THEORA", - "CODEC_ID_ASV1", - "CODEC_ID_ASV2", - "CODEC_ID_FFV1", - "CODEC_ID_4XM", - "CODEC_ID_VCR1", - "CODEC_ID_CLJR", - "CODEC_ID_MDEC", - "CODEC_ID_ROQ", - "CODEC_ID_INTERPLAY_VIDEO", - "CODEC_ID_XAN_WC3", - "CODEC_ID_XAN_WC4", - "CODEC_ID_RPZA", - "CODEC_ID_CINEPAK", - "CODEC_ID_WS_VQA", - "CODEC_ID_MSRLE", - "CODEC_ID_MSVIDEO1", - "CODEC_ID_IDCIN", - "CODEC_ID_8BPS", - "CODEC_ID_SMC", - "CODEC_ID_FLIC", - "CODEC_ID_TRUEMOTION1", - "CODEC_ID_VMDVIDEO", - "CODEC_ID_MSZH", - "CODEC_ID_ZLIB", - "CODEC_ID_QTRLE", - "CODEC_ID_SNOW", - "CODEC_ID_TSCC", - "CODEC_ID_ULTI", - "CODEC_ID_QDRAW", - "CODEC_ID_VIXL", - "CODEC_ID_QPEG", - "CODEC_ID_XVID", - "CODEC_ID_PNG", - "CODEC_ID_PPM", - "CODEC_ID_PBM", - "CODEC_ID_PGM", - "CODEC_ID_PGMYUV", - "CODEC_ID_PAM", - "CODEC_ID_FFVHUFF", - "CODEC_ID_RV30", - "CODEC_ID_RV40", - "CODEC_ID_VC1", - "CODEC_ID_WMV3", - "CODEC_ID_LOCO", - "CODEC_ID_WNV1", - "CODEC_ID_AASC", - "CODEC_ID_INDEO2", - "CODEC_ID_FRAPS", - "CODEC_ID_TRUEMOTION2", - "CODEC_ID_BMP", - "CODEC_ID_CSCD", - "CODEC_ID_MMVIDEO", - "CODEC_ID_ZMBV", - "CODEC_ID_AVS", - "CODEC_ID_SMACKVIDEO", - "CODEC_ID_NUV", - "CODEC_ID_KMVC", - "CODEC_ID_FLASHSV", - "CODEC_ID_CAVS", - "CODEC_ID_JPEG2000", - "CODEC_ID_VMNC", - "CODEC_ID_VP5", - "CODEC_ID_VP6", - "CODEC_ID_VP6F", - "CODEC_ID_TARGA", - "CODEC_ID_DSICINVIDEO", - "CODEC_ID_TIERTEXSEQVIDEO", - "CODEC_ID_TIFF", - "CODEC_ID_GIF", - "CODEC_ID_FFH264", - "CODEC_ID_DXA", - "CODEC_ID_DNXHD", - "CODEC_ID_THP", - "CODEC_ID_SGI", - "CODEC_ID_C93", - "CODEC_ID_BETHSOFTVID", - "CODEC_ID_PTX", - "CODEC_ID_TXD", - "CODEC_ID_VP6A", - "CODEC_ID_AMV", - "CODEC_ID_VB", - "CODEC_ID_PCX", - "CODEC_ID_SUNRAST", - "CODEC_ID_INDEO4", - "CODEC_ID_INDEO5", - "CODEC_ID_MIMIC", - "CODEC_ID_RL2", - "CODEC_ID_8SVX_EXP", - "CODEC_ID_8SVX_FIB", - "CODEC_ID_ESCAPE124", - "CODEC_ID_DIRAC", - "CODEC_ID_BFI", - "CODEC_ID_CMV", - "CODEC_ID_MOTIONPIXELS", - "CODEC_ID_TGV", - "CODEC_ID_TGQ", - "CODEC_ID_TQI", - "CODEC_ID_AURA", - "CODEC_ID_AURA2", - "CODEC_ID_V210X", - "CODEC_ID_TMV", - "CODEC_ID_V210", - "CODEC_ID_DPX", - "CODEC_ID_MAD", - "CODEC_ID_FRWU", - "CODEC_ID_VP8", - "CODEC_ID_APPLE_PRORES_NQ", - "CODEC_ID_APPLE_PRORES_HQ", - "CODEC_ID_FLASHSV2", - "CODEC_ID_CDGRAPHICS", - "CODEC_ID_R210", - "CODEC_ID_ANM", - "CODEC_ID_BINKVIDEO", - "CODEC_ID_IFF_ILBM", - "CODEC_ID_IFF_BYTERUN1", - "CODEC_ID_KGV1", - "CODEC_ID_YOP", - "CODEC_ID_PICTOR", - "CODEC_ID_APPLE_PRORES_LT", - "CODEC_ID_APPLE_PRORES_PROXY", - "CODEC_ID_APPLE_PRORES_4444", - "CODEC_ID_APPLE_PIXLET", - "CODEC_ID_G2M", - "CODEC_ID_PRORES", - "CODEC_ID_ANSI", - "CODEC_ID_A64_MULTI", - "CODEC_ID_A64_MULTI5", - "CODEC_ID_R10K", - "CODEC_ID_MXPEG", - "CODEC_ID_LAGARITH", - "CODEC_ID_JV", - "CODEC_ID_DFA", - "CODEC_ID_WMV3IMAGE", - "CODEC_ID_VC1IMAGE", - "CODEC_ID_UTVIDEO", - "CODEC_ID_BMV_VIDEO", - "CODEC_ID_VBLE", - "CODEC_ID_DXTORY", - "CODEC_ID_V410", - "CODEC_ID_XWD", - "CODEC_ID_CDXL", - "CODEC_ID_XBM", - "CODEC_ID_ZEROCODEC", - "CODEC_ID_MSS1", - "CODEC_ID_MSA1", - "CODEC_ID_TSCC2", - "CODEC_ID_MTS2", - "CODEC_ID_CLLC", - "CODEC_ID_MSS2", - "CODEC_ID_Y41P", - "CODEC_ID_ESCAPE130", - "CODEC_ID_EXR", - "CODEC_ID_AVRP", - "CODEC_ID_AVUI", - "CODEC_ID_AYUV", - "CODEC_ID_V308", - "CODEC_ID_V408", - "CODEC_ID_YUV4", - "CODEC_ID_SANM", - "CODEC_ID_PAF_VIDEO", - "CODEC_ID_AVRN", - "CODEC_ID_CPIA", - "CODEC_ID_VP9", - "CODEC_ID_H265", - "CODEC_ID_CFHD", - "CODEC_ID_AV1", - "CODEC_ID_AIC", - "CODEC_ID_ALIAS_PIX", - "CODEC_ID_APNG", - "CODEC_ID_BRENDER_PIX", - "CODEC_ID_CLEARVIDEO", - "CODEC_ID_DDS", - "CODEC_ID_DXV", - "CODEC_ID_FIC", - "CODEC_ID_FITS", - "CODEC_ID_FMVC", - "CODEC_ID_GDV", - "CODEC_ID_HAP", - "CODEC_ID_HNM4_VIDEO", - "CODEC_ID_HQ_HQA", - "CODEC_ID_HQX", - "CODEC_ID_M101", - "CODEC_ID_MAGICYUV", - "CODEC_ID_MSCC", - "CODEC_ID_MVC1", - "CODEC_ID_MVC2", - "CODEC_ID_PIXLET", - "CODEC_ID_PSD", - "CODEC_ID_RSCC", - "CODEC_ID_SCPR", - "CODEC_ID_SCREENPRESSO", - "CODEC_ID_SGIRLE", - "CODEC_ID_SHEERVIDEO", - "CODEC_ID_SMVJPEG", - "CODEC_ID_SPEEDHQ", - "CODEC_ID_SRGC", - "CODEC_ID_TARGA_Y216", - "CODEC_ID_TDSC", - "CODEC_ID_TRUEMOTION2RT", - "CODEC_ID_VP7", - "CODEC_ID_BITPACKED", - "CODEC_ID_WEBP", - "CODEC_ID_XFACE", - "CODEC_ID_XPM", - "CODEC_ID_YLC", - "CODEC_ID_012V", - "CODEC_ID_AVS2", - "CODEC_ID_IMM4", - "CODEC_ID_MWSC", - "CODEC_ID_PROSUMER", - "CODEC_ID_RASC", - "CODEC_ID_WCMV", - "CODEC_ID_MSP2", - "CODEC_ID_VQC", - "CODEC_ID_CDTOONS", - "CODEC_ID_SIREN", - "CODEC_ID_PGX", - "CODEC_ID_ADPCM_IMA_CUNNING", - "CODEC_ID_VMIX", - "CODEC_ID_DERF_DPCM", - "CODEC_ID_MEDIA100", - "CODEC_ID_FTR", - "CODEC_ID_DFPWM", - "CODEC_ID_PDV", - "CODEC_ID_APAC", - "CODEC_ID_ADPCM_ARGO", - "CODEC_ID_ADPCM_IMA_SSI", - "CODEC_ID_SGA_VIDEO", - "CODEC_ID_PHOTOCD", - "CODEC_ID_PCM_SGA", - "CODEC_ID_NOTCHLC", - "CODEC_ID_OSQ", - "CODEC_ID_MISC4", - "CODEC_ID_PHM", - "CODEC_ID_MV30", - "CODEC_ID_GEM", - "CODEC_ID_MVDV", - "CODEC_ID_ACELP_KELVIN", - "CODEC_ID_PFM", - "CODEC_ID_ADPCM_IMA_APM", - "CODEC_ID_IMM5", - "CODEC_ID_ANULL", - "CODEC_ID_ARBC", - "CODEC_ID_VBN", - "CODEC_ID_FASTAUDIO", - "CODEC_ID_LSCR", - "CODEC_ID_RKA", - "CODEC_ID_ARGO", - "CODEC_ID_WBMP", - "CODEC_ID_MSNSIREN", - "CODEC_ID_ADPCM_IMA_ALP", - "CODEC_ID_BONK", - "CODEC_ID_QOI", - "CODEC_ID_RTV1", - "CODEC_ID_VNULL", - "CODEC_ID_HCOM", - "CODEC_ID_ADPCM_AGM", - "CODEC_ID_ADPCM_IMA_MTF", - "CODEC_ID_HYMT", - "CODEC_ID_WADY_DPCM", - "CODEC_ID_RADIANCE_HDR", - "CODEC_ID_MVHA", - "CODEC_ID_VP4", - "CODEC_ID_MOBICLIP", - "CODEC_ID_ADPCM_IMA_MOFLEX", - "CODEC_ID_HCA", - "CODEC_ID_IPU", - "CODEC_ID_WAVARC", - "CODEC_ID_SIMBIOSIS_IMX", - "CODEC_ID_CBD2_DPCM", - "CODEC_ID_PCM_VIDC", - "CODEC_ID_CRI", - "CODEC_ID_AGM", - "CODEC_ID_ADPCM_XMD", - "CODEC_ID_ADPCM_IMA_ACORN", - "CODEC_ID_ADPCM_ZORK", - "CODEC_ID_QOA", - "CODEC_ID_VVC", - "CODEC_ID_LEAD", - "CODEC_ID_UNKNOWN", - "CODEC_ID_PCM_S16LE", - "CODEC_ID_PCM_S16BE", - "CODEC_ID_PCM_U16LE", - "CODEC_ID_PCM_U16BE", - "CODEC_ID_PCM_S8", - "CODEC_ID_PCM_U8", - "CODEC_ID_PCM_MULAW", - "CODEC_ID_PCM_ALAW", - "CODEC_ID_PCM_S32LE", - "CODEC_ID_PCM_S32BE", - "CODEC_ID_PCM_U32LE", - "CODEC_ID_PCM_U32BE", - "CODEC_ID_PCM_S24LE", - "CODEC_ID_PCM_S24BE", - "CODEC_ID_PCM_U24LE", - "CODEC_ID_PCM_U24BE", - "CODEC_ID_PCM_S24DAUD", - "CODEC_ID_PCM_ZORK", - "CODEC_ID_PCM_S16LE_PLANAR", - "CODEC_ID_PCM_DVD", - "CODEC_ID_PCM_F32BE", - "CODEC_ID_PCM_F32LE", - "CODEC_ID_PCM_F64BE", - "CODEC_ID_PCM_F64LE", - "CODEC_ID_PCM_BLURAY", - "CODEC_ID_PCM_LXF", - "CODEC_ID_S302M", - "CODEC_ID_PCM_S8_PLANAR", - "CODEC_ID_PCM_S24LE_PLANAR", - "CODEC_ID_PCM_S32LE_PLANAR", - "CODEC_ID_PCM_S16BE_PLANAR", - "CODEC_ID_PCM_S64LE", - "CODEC_ID_PCM_S64BE", - "CODEC_ID_PCM_F16LE", - "CODEC_ID_PCM_F24LE", - "CODEC_ID_ADPCM_IMA_QT", - "CODEC_ID_ADPCM_IMA_WAV", - "CODEC_ID_ADPCM_IMA_DK3", - "CODEC_ID_ADPCM_IMA_DK4", - "CODEC_ID_ADPCM_IMA_WS", - "CODEC_ID_ADPCM_IMA_SMJPEG", - "CODEC_ID_ADPCM_MS", - "CODEC_ID_ADPCM_4XM", - "CODEC_ID_ADPCM_XA", - "CODEC_ID_ADPCM_ADX", - "CODEC_ID_ADPCM_EA", - "CODEC_ID_ADPCM_G726", - "CODEC_ID_ADPCM_CT", - "CODEC_ID_ADPCM_SWF", - "CODEC_ID_ADPCM_YAMAHA", - "CODEC_ID_ADPCM_SBPRO_4", - "CODEC_ID_ADPCM_SBPRO_3", - "CODEC_ID_ADPCM_SBPRO_2", - "CODEC_ID_ADPCM_THP", - "CODEC_ID_ADPCM_IMA_AMV", - "CODEC_ID_ADPCM_EA_R1", - "CODEC_ID_ADPCM_EA_R3", - "CODEC_ID_ADPCM_EA_R2", - "CODEC_ID_ADPCM_IMA_EA_SEAD", - "CODEC_ID_ADPCM_IMA_EA_EACS", - "CODEC_ID_ADPCM_EA_XAS", - "CODEC_ID_ADPCM_EA_MAXIS_XA", - "CODEC_ID_ADPCM_IMA_ISS", - "CODEC_ID_ADPCM_G722", - "CODEC_ID_ADPCM_IMA_APC", - "CODEC_ID_VIMA", - "CODEC_ID_ADPCM_AFC", - "CODEC_ID_ADPCM_IMA_OKI", - "CODEC_ID_ADPCM_DTK", - "CODEC_ID_ADPCM_IMA_RAD", - "CODEC_ID_ADPCM_G726LE", - "CODEC_ID_ADPCM_THP_LE", - "CODEC_ID_ADPCM_PSX", - "CODEC_ID_ADPCM_AICA", - "CODEC_ID_ADPCM_IMA_DAT4", - "CODEC_ID_ADPCM_MTAF", - "CODEC_ID_ADPCM_VIMA", - "CODEC_ID_AMR_NB", - "CODEC_ID_AMR_WB", - "CODEC_ID_RA_144", - "CODEC_ID_RA_288", - "CODEC_ID_ROQ_DPCM", - "CODEC_ID_INTERPLAY_DPCM", - "CODEC_ID_XAN_DPCM", - "CODEC_ID_SOL_DPCM", - "CODEC_ID_GREMLIN_DPCM", - "CODEC_ID_SDX2_DPCM", - "CODEC_ID_MP2", - "CODEC_ID_MP3", - "CODEC_ID_AAC", - "CODEC_ID_MPEG4AAC_DEPRECATED", - "CODEC_ID_AC3", - "CODEC_ID_DTS", - "CODEC_ID_VORBIS", - "CODEC_ID_DVAUDIO", - "CODEC_ID_WMAV1", - "CODEC_ID_WMAV2", - "CODEC_ID_MACE3", - "CODEC_ID_MACE6", - "CODEC_ID_VMDAUDIO", - "CODEC_ID_SONIC", - "CODEC_ID_SONIC_LS", - "CODEC_ID_FLAC", - "CODEC_ID_MP3ADU", - "CODEC_ID_MP3ON4", - "CODEC_ID_SHORTEN", - "CODEC_ID_ALAC", - "CODEC_ID_WESTWOOD_SND1", - "CODEC_ID_GSM", - "CODEC_ID_QDM2", - "CODEC_ID_COOK", - "CODEC_ID_TRUESPEECH", - "CODEC_ID_TTA", - "CODEC_ID_SMACKAUDIO", - "CODEC_ID_QCELP", - "CODEC_ID_WAVPACK", - "CODEC_ID_DSICINAUDIO", - "CODEC_ID_ASAO", - "CODEC_ID_NELLYMOSER", - "CODEC_ID_WMAVOICE", - "CODEC_ID_WMAPRO", - "CODEC_ID_WMALOSSLESS", - "CODEC_ID_IMC", - "CODEC_ID_MUSEPACK7", - "CODEC_ID_MLP", - "CODEC_ID_GSM_MS", - "CODEC_ID_ATRAC3", - "CODEC_ID_VOXWARE", - "CODEC_ID_APE", - "CODEC_ID_MUSEPACK8", - "CODEC_ID_SPEEX", - "CODEC_ID_ATRAC3P", - "CODEC_ID_EAC3", - "CODEC_ID_SIPR", - "CODEC_ID_MP1", - "CODEC_ID_TWINVQ", - "CODEC_ID_TRUEHD", - "CODEC_ID_MP4ALS", - "CODEC_ID_ATRAC1", - "CODEC_ID_BINKAUDIO_RDFT", - "CODEC_ID_BINKAUDIO_DCT", - "CODEC_ID_AAC_LATM", - "CODEC_ID_QDMC", - "CODEC_ID_CELT", - "CODEC_ID_G723_1", - "CODEC_ID_G729", - "CODEC_ID_BMV_AUDIO", - "CODEC_ID_RALF", - "CODEC_ID_IAC", - "CODEC_ID_ILBC", - "CODEC_ID_FFWAVESYNTH", - "CODEC_ID_8SVX_RAW", - "CODEC_ID_PAF_AUDIO", - "CODEC_ID_OPUS", - "CODEC_ID_ATRAC3AL", - "CODEC_ID_ATRAC3PAL", - "CODEC_ID_DOLBY_E", - "CODEC_ID_DSD_LSBF", - "CODEC_ID_DSD_MSBF", - "CODEC_ID_DSD_LSBF_PLANAR", - "CODEC_ID_DSD_MSBF_PLANAR", - "CODEC_ID_DSS_SP", - "CODEC_ID_DST", - "CODEC_ID_EVRC", - "CODEC_ID_INTERPLAY_ACM", - "CODEC_ID_METASOUND", - "CODEC_ID_ON2AVC", - "CODEC_ID_TAK", - "CODEC_ID_XMA1", - "CODEC_ID_XMA2", - "CODEC_ID_COMFORT_NOISE", - "CODEC_ID_APTX", - "CODEC_ID_APTX_HD", - "CODEC_ID_SBC", - "CODEC_ID_ATRAC9", - "CODEC_ID_CODEC2", - "CODEC_ID_OGGTHEORA_DEPRECATED", - "CODEC_ID_DVD_SUBTITLE", - "CODEC_ID_DVB_SUBTITLE", - "CODEC_ID_TEXT", - "CODEC_ID_XSUB", - "CODEC_ID_SSA", - "CODEC_ID_MOV_TEXT", - "CODEC_ID_HDMV_PGS_SUBTITLE", - "CODEC_ID_DVB_TELETEXT", - "CODEC_ID_SRT", - "CODEC_ID_MICRODVD", - "CODEC_ID_EIA_608", - "CODEC_ID_JACOSUB", - "CODEC_ID_SAMI", - "CODEC_ID_REALTEXT", - "CODEC_ID_SUBVIEWER", - "CODEC_ID_SUBRIP", - "CODEC_ID_WEBVTT", - "CODEC_ID_ASS", - "CODEC_ID_MPL2", - "CODEC_ID_PJS", - "CODEC_ID_STL", - "CODEC_ID_SUBVIEWER1", - "CODEC_ID_VPLAYER", - "CODEC_ID_TTML", - "CODEC_ID_TTF", - "CODEC_ID_BINTEXT", - "CODEC_ID_XBIN", - "CODEC_ID_IDF", - "CODEC_ID_OTF", - "CODEC_ID_PROBE", - "CODEC_ID_MPEG2TS", - "CODEC_ID_MPEG4SYSTEMS", - "CODEC_ID_FFMETADATA", - "CODEC_ID_FFMPEG_OUT_OF_SYNC", - "CODEC_ID_WRAPPED_AVFRAME", - "CODEC_ID_CAMM" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_MPEG4", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: removed from upstream", - "", - "", - "", - "", - "deprecated: removed from upstream", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "moved to audio codecs section in upstream", - "moved to audio codecs section in upstream", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "various pcm \"codecs\"", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "various adpcm codecs", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "AMR", - "", - "RealAudio codecs", - "", - "various DPCM codecs", - "", - "", - "", - "", - "", - "audio codecs", - "preferred ID for MPEG Audio layer 1, 2 or 3", - "", - "Use CODEC_ID_AAC instead", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Not in ffmpeg as of rev 20544.", - "Start of out of order with ffmpeg", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "End of out of order with ffmpeg", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Removed in ffmpeg rev 5877.", - "subtitle codecs", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "other specific kind of codecs (generally used for attachments)", - "", - "", - "", - "", - "\u003c codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it", - "_FAKE_ codec to indicate a raw MPEG2 transport stream (only used by libavformat)", - "_FAKE_ codec to indicate a MPEG-4 Systems stream (only used by libavformat)", - "Dummy codec for streams containing only metadata information.", - "this one indicates an error in the mapping between this enum and libavcodec's", - "AVFrames wrapped in AVPacket", - "Camera motion metadata (http://go/wally-format)" - ], - "type": "string" - }, - "metadata": { - "description": "Metadata for the stream.", - "items": { - "$ref": "VideoClipInfo" - }, - "type": "array" - }, - "streamCodecTag": { - "format": "int64", - "type": "string" - }, - "streamIndex": { - "description": "Index of the stream in the file. it is 0 based.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "VideoVideoStreamInfoVideoStream": { - "description": "TODO(yanghu) add 25/50/75 percentiles of FPS to have a 5 number summary. Next id: 48", - "id": "VideoVideoStreamInfoVideoStream", - "properties": { - "averageFps": { - "description": "This represents the canonical frame rate of the video. This is named average_fps for historical reasons, and may not actually be the arithmetic mean. For variable frame rate videos, the algorithm may change again in future. Currently, full vsi set it with arithmetic mean, and partial vsi set it with median.", - "format": "double", - "type": "number" - }, - "bitrate": { - "description": "video bitrate in bits/s", - "format": "int64", - "type": "string" - }, - "bitstreamColorInfo": { - "$ref": "VideoFileColorInfo", - "description": "Contains the color information obtained after inspection of the bitstream in cases where there may be inconsistencies between container and coded bitstream that are resolved in favor of the container." - }, - "cleanAperture": { - "$ref": "VideoVideoStreamInfoVideoStreamCleanAperture" - }, - "clockDiscontinuityUs": { - "description": "some container allows for a clock discontinuity. In this case, the end_timestamp may not be the correct DTS of the stream.", - "format": "int64", - "type": "string" - }, - "closedCaptions": { - "$ref": "VideoClosedCaptions" - }, - "closedGopSize": { - "$ref": "VideoVideoStreamInfoVideoStreamStatistics", - "description": "closed_gop_size refers to chunkable boundaries for each specified codec and may actually contain one or more GOPs, e.g. for H.264, closed_gop_size will denote the distance (frame count) between two IDR frames." - }, - "codecFourcc": { - "type": "string" - }, - "codecId": { - "description": "Primary video codec information", - "enum": [ - "CODEC_ID_NONE", - "CODEC_ID_MPEG1VIDEO", - "CODEC_ID_MPEG2VIDEO", - "CODEC_ID_MPEG2VIDEO_XVMC", - "CODEC_ID_H261", - "CODEC_ID_H263", - "CODEC_ID_RV10", - "CODEC_ID_RV20", - "CODEC_ID_MJPEG", - "CODEC_ID_MJPEGB", - "CODEC_ID_LJPEG", - "CODEC_ID_SP5X", - "CODEC_ID_JPEGLS", - "CODEC_ID_MPEG4", - "CODEC_ID_RAWVIDEO", - "CODEC_ID_MSMPEG4V1", - "CODEC_ID_MSMPEG4V2", - "CODEC_ID_MSMPEG4V3", - "CODEC_ID_WMV1", - "CODEC_ID_WMV2", - "CODEC_ID_H263P", - "CODEC_ID_H263I", - "CODEC_ID_FLV1", - "CODEC_ID_SVQ1", - "CODEC_ID_SVQ3", - "CODEC_ID_DVVIDEO", - "CODEC_ID_HUFFYUV", - "CODEC_ID_CYUV", - "CODEC_ID_H264", - "CODEC_ID_INDEO3", - "CODEC_ID_VP3", - "CODEC_ID_THEORA", - "CODEC_ID_ASV1", - "CODEC_ID_ASV2", - "CODEC_ID_FFV1", - "CODEC_ID_4XM", - "CODEC_ID_VCR1", - "CODEC_ID_CLJR", - "CODEC_ID_MDEC", - "CODEC_ID_ROQ", - "CODEC_ID_INTERPLAY_VIDEO", - "CODEC_ID_XAN_WC3", - "CODEC_ID_XAN_WC4", - "CODEC_ID_RPZA", - "CODEC_ID_CINEPAK", - "CODEC_ID_WS_VQA", - "CODEC_ID_MSRLE", - "CODEC_ID_MSVIDEO1", - "CODEC_ID_IDCIN", - "CODEC_ID_8BPS", - "CODEC_ID_SMC", - "CODEC_ID_FLIC", - "CODEC_ID_TRUEMOTION1", - "CODEC_ID_VMDVIDEO", - "CODEC_ID_MSZH", - "CODEC_ID_ZLIB", - "CODEC_ID_QTRLE", - "CODEC_ID_SNOW", - "CODEC_ID_TSCC", - "CODEC_ID_ULTI", - "CODEC_ID_QDRAW", - "CODEC_ID_VIXL", - "CODEC_ID_QPEG", - "CODEC_ID_XVID", - "CODEC_ID_PNG", - "CODEC_ID_PPM", - "CODEC_ID_PBM", - "CODEC_ID_PGM", - "CODEC_ID_PGMYUV", - "CODEC_ID_PAM", - "CODEC_ID_FFVHUFF", - "CODEC_ID_RV30", - "CODEC_ID_RV40", - "CODEC_ID_VC1", - "CODEC_ID_WMV3", - "CODEC_ID_LOCO", - "CODEC_ID_WNV1", - "CODEC_ID_AASC", - "CODEC_ID_INDEO2", - "CODEC_ID_FRAPS", - "CODEC_ID_TRUEMOTION2", - "CODEC_ID_BMP", - "CODEC_ID_CSCD", - "CODEC_ID_MMVIDEO", - "CODEC_ID_ZMBV", - "CODEC_ID_AVS", - "CODEC_ID_SMACKVIDEO", - "CODEC_ID_NUV", - "CODEC_ID_KMVC", - "CODEC_ID_FLASHSV", - "CODEC_ID_CAVS", - "CODEC_ID_JPEG2000", - "CODEC_ID_VMNC", - "CODEC_ID_VP5", - "CODEC_ID_VP6", - "CODEC_ID_VP6F", - "CODEC_ID_TARGA", - "CODEC_ID_DSICINVIDEO", - "CODEC_ID_TIERTEXSEQVIDEO", - "CODEC_ID_TIFF", - "CODEC_ID_GIF", - "CODEC_ID_FFH264", - "CODEC_ID_DXA", - "CODEC_ID_DNXHD", - "CODEC_ID_THP", - "CODEC_ID_SGI", - "CODEC_ID_C93", - "CODEC_ID_BETHSOFTVID", - "CODEC_ID_PTX", - "CODEC_ID_TXD", - "CODEC_ID_VP6A", - "CODEC_ID_AMV", - "CODEC_ID_VB", - "CODEC_ID_PCX", - "CODEC_ID_SUNRAST", - "CODEC_ID_INDEO4", - "CODEC_ID_INDEO5", - "CODEC_ID_MIMIC", - "CODEC_ID_RL2", - "CODEC_ID_8SVX_EXP", - "CODEC_ID_8SVX_FIB", - "CODEC_ID_ESCAPE124", - "CODEC_ID_DIRAC", - "CODEC_ID_BFI", - "CODEC_ID_CMV", - "CODEC_ID_MOTIONPIXELS", - "CODEC_ID_TGV", - "CODEC_ID_TGQ", - "CODEC_ID_TQI", - "CODEC_ID_AURA", - "CODEC_ID_AURA2", - "CODEC_ID_V210X", - "CODEC_ID_TMV", - "CODEC_ID_V210", - "CODEC_ID_DPX", - "CODEC_ID_MAD", - "CODEC_ID_FRWU", - "CODEC_ID_VP8", - "CODEC_ID_APPLE_PRORES_NQ", - "CODEC_ID_APPLE_PRORES_HQ", - "CODEC_ID_FLASHSV2", - "CODEC_ID_CDGRAPHICS", - "CODEC_ID_R210", - "CODEC_ID_ANM", - "CODEC_ID_BINKVIDEO", - "CODEC_ID_IFF_ILBM", - "CODEC_ID_IFF_BYTERUN1", - "CODEC_ID_KGV1", - "CODEC_ID_YOP", - "CODEC_ID_PICTOR", - "CODEC_ID_APPLE_PRORES_LT", - "CODEC_ID_APPLE_PRORES_PROXY", - "CODEC_ID_APPLE_PRORES_4444", - "CODEC_ID_APPLE_PIXLET", - "CODEC_ID_G2M", - "CODEC_ID_PRORES", - "CODEC_ID_ANSI", - "CODEC_ID_A64_MULTI", - "CODEC_ID_A64_MULTI5", - "CODEC_ID_R10K", - "CODEC_ID_MXPEG", - "CODEC_ID_LAGARITH", - "CODEC_ID_JV", - "CODEC_ID_DFA", - "CODEC_ID_WMV3IMAGE", - "CODEC_ID_VC1IMAGE", - "CODEC_ID_UTVIDEO", - "CODEC_ID_BMV_VIDEO", - "CODEC_ID_VBLE", - "CODEC_ID_DXTORY", - "CODEC_ID_V410", - "CODEC_ID_XWD", - "CODEC_ID_CDXL", - "CODEC_ID_XBM", - "CODEC_ID_ZEROCODEC", - "CODEC_ID_MSS1", - "CODEC_ID_MSA1", - "CODEC_ID_TSCC2", - "CODEC_ID_MTS2", - "CODEC_ID_CLLC", - "CODEC_ID_MSS2", - "CODEC_ID_Y41P", - "CODEC_ID_ESCAPE130", - "CODEC_ID_EXR", - "CODEC_ID_AVRP", - "CODEC_ID_AVUI", - "CODEC_ID_AYUV", - "CODEC_ID_V308", - "CODEC_ID_V408", - "CODEC_ID_YUV4", - "CODEC_ID_SANM", - "CODEC_ID_PAF_VIDEO", - "CODEC_ID_AVRN", - "CODEC_ID_CPIA", - "CODEC_ID_VP9", - "CODEC_ID_H265", - "CODEC_ID_CFHD", - "CODEC_ID_AV1", - "CODEC_ID_AIC", - "CODEC_ID_ALIAS_PIX", - "CODEC_ID_APNG", - "CODEC_ID_BRENDER_PIX", - "CODEC_ID_CLEARVIDEO", - "CODEC_ID_DDS", - "CODEC_ID_DXV", - "CODEC_ID_FIC", - "CODEC_ID_FITS", - "CODEC_ID_FMVC", - "CODEC_ID_GDV", - "CODEC_ID_HAP", - "CODEC_ID_HNM4_VIDEO", - "CODEC_ID_HQ_HQA", - "CODEC_ID_HQX", - "CODEC_ID_M101", - "CODEC_ID_MAGICYUV", - "CODEC_ID_MSCC", - "CODEC_ID_MVC1", - "CODEC_ID_MVC2", - "CODEC_ID_PIXLET", - "CODEC_ID_PSD", - "CODEC_ID_RSCC", - "CODEC_ID_SCPR", - "CODEC_ID_SCREENPRESSO", - "CODEC_ID_SGIRLE", - "CODEC_ID_SHEERVIDEO", - "CODEC_ID_SMVJPEG", - "CODEC_ID_SPEEDHQ", - "CODEC_ID_SRGC", - "CODEC_ID_TARGA_Y216", - "CODEC_ID_TDSC", - "CODEC_ID_TRUEMOTION2RT", - "CODEC_ID_VP7", - "CODEC_ID_BITPACKED", - "CODEC_ID_WEBP", - "CODEC_ID_XFACE", - "CODEC_ID_XPM", - "CODEC_ID_YLC", - "CODEC_ID_012V", - "CODEC_ID_AVS2", - "CODEC_ID_IMM4", - "CODEC_ID_MWSC", - "CODEC_ID_PROSUMER", - "CODEC_ID_RASC", - "CODEC_ID_WCMV", - "CODEC_ID_MSP2", - "CODEC_ID_VQC", - "CODEC_ID_CDTOONS", - "CODEC_ID_SIREN", - "CODEC_ID_PGX", - "CODEC_ID_ADPCM_IMA_CUNNING", - "CODEC_ID_VMIX", - "CODEC_ID_DERF_DPCM", - "CODEC_ID_MEDIA100", - "CODEC_ID_FTR", - "CODEC_ID_DFPWM", - "CODEC_ID_PDV", - "CODEC_ID_APAC", - "CODEC_ID_ADPCM_ARGO", - "CODEC_ID_ADPCM_IMA_SSI", - "CODEC_ID_SGA_VIDEO", - "CODEC_ID_PHOTOCD", - "CODEC_ID_PCM_SGA", - "CODEC_ID_NOTCHLC", - "CODEC_ID_OSQ", - "CODEC_ID_MISC4", - "CODEC_ID_PHM", - "CODEC_ID_MV30", - "CODEC_ID_GEM", - "CODEC_ID_MVDV", - "CODEC_ID_ACELP_KELVIN", - "CODEC_ID_PFM", - "CODEC_ID_ADPCM_IMA_APM", - "CODEC_ID_IMM5", - "CODEC_ID_ANULL", - "CODEC_ID_ARBC", - "CODEC_ID_VBN", - "CODEC_ID_FASTAUDIO", - "CODEC_ID_LSCR", - "CODEC_ID_RKA", - "CODEC_ID_ARGO", - "CODEC_ID_WBMP", - "CODEC_ID_MSNSIREN", - "CODEC_ID_ADPCM_IMA_ALP", - "CODEC_ID_BONK", - "CODEC_ID_QOI", - "CODEC_ID_RTV1", - "CODEC_ID_VNULL", - "CODEC_ID_HCOM", - "CODEC_ID_ADPCM_AGM", - "CODEC_ID_ADPCM_IMA_MTF", - "CODEC_ID_HYMT", - "CODEC_ID_WADY_DPCM", - "CODEC_ID_RADIANCE_HDR", - "CODEC_ID_MVHA", - "CODEC_ID_VP4", - "CODEC_ID_MOBICLIP", - "CODEC_ID_ADPCM_IMA_MOFLEX", - "CODEC_ID_HCA", - "CODEC_ID_IPU", - "CODEC_ID_WAVARC", - "CODEC_ID_SIMBIOSIS_IMX", - "CODEC_ID_CBD2_DPCM", - "CODEC_ID_PCM_VIDC", - "CODEC_ID_CRI", - "CODEC_ID_AGM", - "CODEC_ID_ADPCM_XMD", - "CODEC_ID_ADPCM_IMA_ACORN", - "CODEC_ID_ADPCM_ZORK", - "CODEC_ID_QOA", - "CODEC_ID_VVC", - "CODEC_ID_LEAD", - "CODEC_ID_UNKNOWN", - "CODEC_ID_PCM_S16LE", - "CODEC_ID_PCM_S16BE", - "CODEC_ID_PCM_U16LE", - "CODEC_ID_PCM_U16BE", - "CODEC_ID_PCM_S8", - "CODEC_ID_PCM_U8", - "CODEC_ID_PCM_MULAW", - "CODEC_ID_PCM_ALAW", - "CODEC_ID_PCM_S32LE", - "CODEC_ID_PCM_S32BE", - "CODEC_ID_PCM_U32LE", - "CODEC_ID_PCM_U32BE", - "CODEC_ID_PCM_S24LE", - "CODEC_ID_PCM_S24BE", - "CODEC_ID_PCM_U24LE", - "CODEC_ID_PCM_U24BE", - "CODEC_ID_PCM_S24DAUD", - "CODEC_ID_PCM_ZORK", - "CODEC_ID_PCM_S16LE_PLANAR", - "CODEC_ID_PCM_DVD", - "CODEC_ID_PCM_F32BE", - "CODEC_ID_PCM_F32LE", - "CODEC_ID_PCM_F64BE", - "CODEC_ID_PCM_F64LE", - "CODEC_ID_PCM_BLURAY", - "CODEC_ID_PCM_LXF", - "CODEC_ID_S302M", - "CODEC_ID_PCM_S8_PLANAR", - "CODEC_ID_PCM_S24LE_PLANAR", - "CODEC_ID_PCM_S32LE_PLANAR", - "CODEC_ID_PCM_S16BE_PLANAR", - "CODEC_ID_PCM_S64LE", - "CODEC_ID_PCM_S64BE", - "CODEC_ID_PCM_F16LE", - "CODEC_ID_PCM_F24LE", - "CODEC_ID_ADPCM_IMA_QT", - "CODEC_ID_ADPCM_IMA_WAV", - "CODEC_ID_ADPCM_IMA_DK3", - "CODEC_ID_ADPCM_IMA_DK4", - "CODEC_ID_ADPCM_IMA_WS", - "CODEC_ID_ADPCM_IMA_SMJPEG", - "CODEC_ID_ADPCM_MS", - "CODEC_ID_ADPCM_4XM", - "CODEC_ID_ADPCM_XA", - "CODEC_ID_ADPCM_ADX", - "CODEC_ID_ADPCM_EA", - "CODEC_ID_ADPCM_G726", - "CODEC_ID_ADPCM_CT", - "CODEC_ID_ADPCM_SWF", - "CODEC_ID_ADPCM_YAMAHA", - "CODEC_ID_ADPCM_SBPRO_4", - "CODEC_ID_ADPCM_SBPRO_3", - "CODEC_ID_ADPCM_SBPRO_2", - "CODEC_ID_ADPCM_THP", - "CODEC_ID_ADPCM_IMA_AMV", - "CODEC_ID_ADPCM_EA_R1", - "CODEC_ID_ADPCM_EA_R3", - "CODEC_ID_ADPCM_EA_R2", - "CODEC_ID_ADPCM_IMA_EA_SEAD", - "CODEC_ID_ADPCM_IMA_EA_EACS", - "CODEC_ID_ADPCM_EA_XAS", - "CODEC_ID_ADPCM_EA_MAXIS_XA", - "CODEC_ID_ADPCM_IMA_ISS", - "CODEC_ID_ADPCM_G722", - "CODEC_ID_ADPCM_IMA_APC", - "CODEC_ID_VIMA", - "CODEC_ID_ADPCM_AFC", - "CODEC_ID_ADPCM_IMA_OKI", - "CODEC_ID_ADPCM_DTK", - "CODEC_ID_ADPCM_IMA_RAD", - "CODEC_ID_ADPCM_G726LE", - "CODEC_ID_ADPCM_THP_LE", - "CODEC_ID_ADPCM_PSX", - "CODEC_ID_ADPCM_AICA", - "CODEC_ID_ADPCM_IMA_DAT4", - "CODEC_ID_ADPCM_MTAF", - "CODEC_ID_ADPCM_VIMA", - "CODEC_ID_AMR_NB", - "CODEC_ID_AMR_WB", - "CODEC_ID_RA_144", - "CODEC_ID_RA_288", - "CODEC_ID_ROQ_DPCM", - "CODEC_ID_INTERPLAY_DPCM", - "CODEC_ID_XAN_DPCM", - "CODEC_ID_SOL_DPCM", - "CODEC_ID_GREMLIN_DPCM", - "CODEC_ID_SDX2_DPCM", - "CODEC_ID_MP2", - "CODEC_ID_MP3", - "CODEC_ID_AAC", - "CODEC_ID_MPEG4AAC_DEPRECATED", - "CODEC_ID_AC3", - "CODEC_ID_DTS", - "CODEC_ID_VORBIS", - "CODEC_ID_DVAUDIO", - "CODEC_ID_WMAV1", - "CODEC_ID_WMAV2", - "CODEC_ID_MACE3", - "CODEC_ID_MACE6", - "CODEC_ID_VMDAUDIO", - "CODEC_ID_SONIC", - "CODEC_ID_SONIC_LS", - "CODEC_ID_FLAC", - "CODEC_ID_MP3ADU", - "CODEC_ID_MP3ON4", - "CODEC_ID_SHORTEN", - "CODEC_ID_ALAC", - "CODEC_ID_WESTWOOD_SND1", - "CODEC_ID_GSM", - "CODEC_ID_QDM2", - "CODEC_ID_COOK", - "CODEC_ID_TRUESPEECH", - "CODEC_ID_TTA", - "CODEC_ID_SMACKAUDIO", - "CODEC_ID_QCELP", - "CODEC_ID_WAVPACK", - "CODEC_ID_DSICINAUDIO", - "CODEC_ID_ASAO", - "CODEC_ID_NELLYMOSER", - "CODEC_ID_WMAVOICE", - "CODEC_ID_WMAPRO", - "CODEC_ID_WMALOSSLESS", - "CODEC_ID_IMC", - "CODEC_ID_MUSEPACK7", - "CODEC_ID_MLP", - "CODEC_ID_GSM_MS", - "CODEC_ID_ATRAC3", - "CODEC_ID_VOXWARE", - "CODEC_ID_APE", - "CODEC_ID_MUSEPACK8", - "CODEC_ID_SPEEX", - "CODEC_ID_ATRAC3P", - "CODEC_ID_EAC3", - "CODEC_ID_SIPR", - "CODEC_ID_MP1", - "CODEC_ID_TWINVQ", - "CODEC_ID_TRUEHD", - "CODEC_ID_MP4ALS", - "CODEC_ID_ATRAC1", - "CODEC_ID_BINKAUDIO_RDFT", - "CODEC_ID_BINKAUDIO_DCT", - "CODEC_ID_AAC_LATM", - "CODEC_ID_QDMC", - "CODEC_ID_CELT", - "CODEC_ID_G723_1", - "CODEC_ID_G729", - "CODEC_ID_BMV_AUDIO", - "CODEC_ID_RALF", - "CODEC_ID_IAC", - "CODEC_ID_ILBC", - "CODEC_ID_FFWAVESYNTH", - "CODEC_ID_8SVX_RAW", - "CODEC_ID_PAF_AUDIO", - "CODEC_ID_OPUS", - "CODEC_ID_ATRAC3AL", - "CODEC_ID_ATRAC3PAL", - "CODEC_ID_DOLBY_E", - "CODEC_ID_DSD_LSBF", - "CODEC_ID_DSD_MSBF", - "CODEC_ID_DSD_LSBF_PLANAR", - "CODEC_ID_DSD_MSBF_PLANAR", - "CODEC_ID_DSS_SP", - "CODEC_ID_DST", - "CODEC_ID_EVRC", - "CODEC_ID_INTERPLAY_ACM", - "CODEC_ID_METASOUND", - "CODEC_ID_ON2AVC", - "CODEC_ID_TAK", - "CODEC_ID_XMA1", - "CODEC_ID_XMA2", - "CODEC_ID_COMFORT_NOISE", - "CODEC_ID_APTX", - "CODEC_ID_APTX_HD", - "CODEC_ID_SBC", - "CODEC_ID_ATRAC9", - "CODEC_ID_CODEC2", - "CODEC_ID_OGGTHEORA_DEPRECATED", - "CODEC_ID_DVD_SUBTITLE", - "CODEC_ID_DVB_SUBTITLE", - "CODEC_ID_TEXT", - "CODEC_ID_XSUB", - "CODEC_ID_SSA", - "CODEC_ID_MOV_TEXT", - "CODEC_ID_HDMV_PGS_SUBTITLE", - "CODEC_ID_DVB_TELETEXT", - "CODEC_ID_SRT", - "CODEC_ID_MICRODVD", - "CODEC_ID_EIA_608", - "CODEC_ID_JACOSUB", - "CODEC_ID_SAMI", - "CODEC_ID_REALTEXT", - "CODEC_ID_SUBVIEWER", - "CODEC_ID_SUBRIP", - "CODEC_ID_WEBVTT", - "CODEC_ID_ASS", - "CODEC_ID_MPL2", - "CODEC_ID_PJS", - "CODEC_ID_STL", - "CODEC_ID_SUBVIEWER1", - "CODEC_ID_VPLAYER", - "CODEC_ID_TTML", - "CODEC_ID_TTF", - "CODEC_ID_BINTEXT", - "CODEC_ID_XBIN", - "CODEC_ID_IDF", - "CODEC_ID_OTF", - "CODEC_ID_PROBE", - "CODEC_ID_MPEG2TS", - "CODEC_ID_MPEG4SYSTEMS", - "CODEC_ID_FFMETADATA", - "CODEC_ID_FFMPEG_OUT_OF_SYNC", - "CODEC_ID_WRAPPED_AVFRAME", - "CODEC_ID_CAMM" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_MPEG4", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: removed from upstream", - "", - "", - "", - "", - "deprecated: removed from upstream", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "moved to audio codecs section in upstream", - "moved to audio codecs section in upstream", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "deprecated: use CODEC_ID_PRORES", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "various pcm \"codecs\"", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "various adpcm codecs", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "AMR", - "", - "RealAudio codecs", - "", - "various DPCM codecs", - "", - "", - "", - "", - "", - "audio codecs", - "preferred ID for MPEG Audio layer 1, 2 or 3", - "", - "Use CODEC_ID_AAC instead", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Not in ffmpeg as of rev 20544.", - "Start of out of order with ffmpeg", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "End of out of order with ffmpeg", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Removed in ffmpeg rev 5877.", - "subtitle codecs", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "other specific kind of codecs (generally used for attachments)", - "", - "", - "", - "", - "\u003c codec_id is not known (like CODEC_ID_NONE) but lavf should attempt to identify it", - "_FAKE_ codec to indicate a raw MPEG2 transport stream (only used by libavformat)", - "_FAKE_ codec to indicate a MPEG-4 Systems stream (only used by libavformat)", - "Dummy codec for streams containing only metadata information.", - "this one indicates an error in the mapping between this enum and libavcodec's", - "AVFrames wrapped in AVPacket", - "Camera motion metadata (http://go/wally-format)" + true + ], + "enumDescriptions": [ + "This value is required by protobuf best practices", + "Internal Spanner", + "Cloud Sql with a Postgres Sql instance" + ], + "type": "string" + }, + "documentCreatorDefaultRole": { + "description": "Optional. The default role for the person who create a document.", + "enum": [ + "DOCUMENT_CREATOR_DEFAULT_ROLE_UNSPECIFIED", + "DOCUMENT_ADMIN", + "DOCUMENT_EDITOR", + "DOCUMENT_VIEWER" + ], + "enumDescriptions": [ + "Unspecified, will be default to document admin role.", + "Document Admin, same as contentwarehouse.googleapis.com/documentAdmin.", + "Document Editor, same as contentwarehouse.googleapis.com/documentEditor.", + "Document Viewer, same as contentwarehouse.googleapis.com/documentViewer." + ], + "type": "string" + }, + "enableCalUserEmailLogging": { + "description": "Optional. Whether to enable CAL user email logging.", + "type": "boolean" + }, + "kmsKey": { + "description": "Optional. The KMS key used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the kms_key is left empty, no encryption will be enforced.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1InitializeProjectResponse": { + "description": "Response message for projectService.InitializeProject", + "id": "GoogleCloudContentwarehouseV1InitializeProjectResponse", + "properties": { + "message": { + "description": "The message of the project initialization process.", + "type": "string" + }, + "state": { + "description": "The state of the project initialization process.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED", + "CANCELLED", + "RUNNING" + ], + "enumDescriptions": [ + "Clients should never see this.", + "Finished project initialization without error.", + "Finished project initialization with an error.", + "Client canceled the LRO.", + "Ask the customer to check the operation for results." ], "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1IntegerArray": { + "description": "Integer values.", + "id": "GoogleCloudContentwarehouseV1IntegerArray", + "properties": { + "values": { + "description": "List of integer values.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1IntegerTypeOptions": { + "description": "Configurations for an integer property.", + "id": "GoogleCloudContentwarehouseV1IntegerTypeOptions", + "properties": {}, + "type": "object" + }, + "GoogleCloudContentwarehouseV1InvalidRule": { + "description": "A triggered rule that failed the validation check(s) after parsing.", + "id": "GoogleCloudContentwarehouseV1InvalidRule", + "properties": { + "error": { + "description": "Validation error on a parsed expression.", + "type": "string" + }, + "rule": { + "$ref": "GoogleCloudContentwarehouseV1Rule", + "description": "Triggered rule." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1ListDocumentSchemasResponse": { + "description": "Response message for DocumentSchemaService.ListDocumentSchemas.", + "id": "GoogleCloudContentwarehouseV1ListDocumentSchemasResponse", + "properties": { + "documentSchemas": { + "description": "The document schemas from the specified parent.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1DocumentSchema" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1ListLinkedSourcesRequest": { + "description": "Response message for DocumentLinkService.ListLinkedSources.", + "id": "GoogleCloudContentwarehouseV1ListLinkedSourcesRequest", + "properties": { + "pageSize": { + "description": "The maximum number of document-links to return. The service may return fewer than this value. If unspecified, at most 50 document-links will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListLinkedSources` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListLinkedSources` must match the call that provided the page token.", + "type": "string" + }, + "requestMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", + "description": "The meta information collected about the document creator, used to enforce access control for the service." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1ListLinkedSourcesResponse": { + "description": "Response message for DocumentLinkService.ListLinkedSources.", + "id": "GoogleCloudContentwarehouseV1ListLinkedSourcesResponse", + "properties": { + "documentLinks": { + "description": "Source document-links.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1DocumentLink" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1ListLinkedTargetsRequest": { + "description": "Request message for DocumentLinkService.ListLinkedTargets.", + "id": "GoogleCloudContentwarehouseV1ListLinkedTargetsRequest", + "properties": { + "requestMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", + "description": "The meta information collected about the document creator, used to enforce access control for the service." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1ListLinkedTargetsResponse": { + "description": "Response message for DocumentLinkService.ListLinkedTargets.", + "id": "GoogleCloudContentwarehouseV1ListLinkedTargetsResponse", + "properties": { + "documentLinks": { + "description": "Target document-links.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1DocumentLink" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1ListRuleSetsResponse": { + "description": "Response message for RuleSetService.ListRuleSets.", + "id": "GoogleCloudContentwarehouseV1ListRuleSetsResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "ruleSets": { + "description": "The rule sets from the specified parent.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1RuleSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1ListSynonymSetsResponse": { + "description": "Response message for SynonymSetService.ListSynonymSets.", + "id": "GoogleCloudContentwarehouseV1ListSynonymSetsResponse", + "properties": { + "nextPageToken": { + "description": "A page token, received from a previous `ListSynonymSets` call. Provide this to retrieve the subsequent page.", + "type": "string" }, - "codecString": { - "description": "RFC6381 Codec string.", + "synonymSets": { + "description": "The synonymSets from the specified parent.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1SynonymSet" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1LockDocumentRequest": { + "description": "Request message for DocumentService.LockDocument.", + "id": "GoogleCloudContentwarehouseV1LockDocumentRequest", + "properties": { + "collectionId": { + "description": "The collection the document connects to.", "type": "string" }, - "colorInfo": { - "$ref": "VideoFileColorInfo" + "lockingUser": { + "$ref": "GoogleCloudContentwarehouseV1UserInfo", + "description": "The user information who locks the document." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1MapProperty": { + "description": "Map property value. Represents a structured entries of key value pairs, consisting of field names which map to dynamically typed values.", + "id": "GoogleCloudContentwarehouseV1MapProperty", + "properties": { + "fields": { + "additionalProperties": { + "$ref": "GoogleCloudContentwarehouseV1Value" + }, + "description": "Unordered map of dynamically typed values.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1MapTypeOptions": { + "description": "Configurations for a Map property.", + "id": "GoogleCloudContentwarehouseV1MapTypeOptions", + "properties": {}, + "type": "object" + }, + "GoogleCloudContentwarehouseV1MergeFieldsOptions": { + "description": "Options for merging updated fields.", + "id": "GoogleCloudContentwarehouseV1MergeFieldsOptions", + "properties": { + "replaceMessageFields": { + "description": "When merging message fields, the default behavior is to merge the content of two message fields together. If you instead want to use the field from the source message to replace the corresponding field in the destination message, set this flag to true. When this flag is set, specified submessage fields that are missing in source will be cleared in destination.", + "type": "boolean" }, - "contentLightLevel": { - "$ref": "VideoFileContentLightLevel" + "replaceRepeatedFields": { + "description": "When merging repeated fields, the default behavior is to append entries from the source repeated field to the destination repeated field. If you instead want to keep only the entries from the source repeated field, set this flag to true. If you want to replace a repeated field within a message field on the destination message, you must set both replace_repeated_fields and replace_message_fields to true, otherwise the repeated fields will be appended.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline": { + "description": "The configuration of processing documents in Document Warehouse with DocAi processors pipeline.", + "id": "GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline", + "properties": { + "documents": { + "description": "The list of all the resource names of the documents to be processed. Format: projects/{project_number}/locations/{location}/documents/{document_id}.", + "items": { + "type": "string" + }, + "type": "array" }, - "decodeOffset": { - "description": "The bytes offset of the end of the first decodable packet.", - "format": "int64", + "exportFolderPath": { + "description": "The Cloud Storage folder path used to store the exported documents before being sent to CDW. Format: `gs:///`.", "type": "string" }, - "displayHeight": { - "format": "int32", - "type": "integer" - }, - "displayWidth": { - "description": "final display video width and height if explicitly set in the video otherwise this can be calculated from source width/height and video_pixel_aspect_ratio", - "format": "int32", - "type": "integer" + "processorInfo": { + "$ref": "GoogleCloudContentwarehouseV1ProcessorInfo", + "description": "The CDW processor information." }, - "doviConfiguration": { - "$ref": "VideoDoViDecoderConfiguration", - "description": "Dolby Vision configuration if stream is compatible." + "processorResultsFolderPath": { + "description": "The Cloud Storage folder path used to store the raw results from processors. Format: `gs:///`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1ProcessorInfo": { + "description": "The DocAI processor information.", + "id": "GoogleCloudContentwarehouseV1ProcessorInfo", + "properties": { + "documentType": { + "description": "The processor will process the documents with this document type.", + "type": "string" }, - "endTimestamp": { - "format": "int64", + "processorName": { + "description": "The processor resource name. Format is `projects/{project}/locations/{location}/processors/{processor}`, or `projects/{project}/locations/{location}/processors/{processor}/processorVersions/{processorVersion}`", "type": "string" }, - "flip": { - "description": "Should the video be mirrored horizontally / vertically? When rotation and flip both are present for a video, it is assumed that the flip is applied first, and then the rotation.", + "schemaName": { + "description": "The Document schema resource name. All documents processed by this processor will use this schema. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1ProjectStatus": { + "description": "Status of a project, including the project state, dbType, aclMode and etc.", + "id": "GoogleCloudContentwarehouseV1ProjectStatus", + "properties": { + "accessControlMode": { + "description": "Access control mode.", "enum": [ - "FLIP_NONE", - "FLIP_HORIZONTAL", - "FLIP_VERTICAL" + "ACL_MODE_UNKNOWN", + "ACL_MODE_UNIVERSAL_ACCESS", + "ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_BYOID", + "ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_GCI" ], "enumDescriptions": [ - "No mirroring.", - "Frame should be mirrored horizontally when displayed.", - "Frame should be mirrored vertically when displayed." + "This value is required by protobuf best practices", + "Universal Access: No document level access control.", + "Document level access control with customer own Identity Service.", + "Document level access control using Google Cloud Identity." ], "type": "string" }, - "fps": { - "description": "video frame per second, obtained by parsing video header information. It could be inaccurate for some types of codecs, notably, WMV, ASF, and FLV. It will be inaccurate for videos that does not have constant frame rate since it is the smallest framerate that can accurately represent all timestamps (see ffmpeg doc for AVStream.r_frame_rate). Also frame rate can be parsed from headers and can be wrong if it is not available there since ffmpeg uses a heuristic for determining it.", - "format": "double", - "type": "number" + "databaseType": { + "description": "Database type.", + "enum": [ + "DB_UNKNOWN", + "DB_INFRA_SPANNER", + "DB_CLOUD_SQL_POSTGRES" + ], + "enumDeprecated": [ + false, + false, + true + ], + "enumDescriptions": [ + "This value is required by protobuf best practices", + "Internal Spanner", + "Cloud Sql with a Postgres Sql instance" + ], + "type": "string" }, - "frameSize": { - "description": "video frame size", - "format": "int64", + "documentCreatorDefaultRole": { + "description": "The default role for the person who create a document.", "type": "string" }, - "gopSize": { - "$ref": "VideoVideoStreamInfoVideoStreamStatistics", - "description": "Statistics about gop sizes of the video." + "location": { + "description": "The location of the queried project.", + "type": "string" }, - "hasBFrames": { - "description": "video has b frames", + "qaEnabled": { + "description": "If the qa is enabled on this project.", "type": "boolean" }, - "hdr10PlusStats": { - "$ref": "VideoFileHDR10PlusStats", - "description": "Stats on HDR10+ over video frames." - }, - "height": { - "format": "int32", - "type": "integer" - }, - "interlace": { - "description": "Information on interlaced video.", + "state": { + "description": "State of the project.", "enum": [ - "INTERLACE_NONE", - "INTERLACE_PIC_AFF", - "INTERLACE_MB_AFF" + "PROJECT_STATE_UNSPECIFIED", + "PROJECT_STATE_PENDING", + "PROJECT_STATE_COMPLETED", + "PROJECT_STATE_FAILED", + "PROJECT_STATE_DELETING", + "PROJECT_STATE_DELETING_FAILED", + "PROJECT_STATE_DELETED", + "PROJECT_STATE_NOT_FOUND" ], "enumDescriptions": [ - "No interlace", - "Adaptive frame-field coding in picture level", - "Adaptive frame-field coding in macroblock level" + "Default status, required by protobuf best practices.", + "The project is in the middle of a provision process.", + "All dependencies have been provisioned.", + "A provision process was previously initiated, but failed.", + "The project is in the middle of a deletion process.", + "A deleting process was initiated, but failed.", + "The project is deleted.", + "The project is not found." ], "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1Property": { + "description": "Property of a document.", + "id": "GoogleCloudContentwarehouseV1Property", + "properties": { + "dateTimeValues": { + "$ref": "GoogleCloudContentwarehouseV1DateTimeArray", + "description": "Date time property values. It is not supported by CMEK compliant deployment." }, - "isInsaneSize": { - "description": "Check if a video size insane or not. It is set if the input file is an MOV file.", - "type": "boolean" + "enumValues": { + "$ref": "GoogleCloudContentwarehouseV1EnumArray", + "description": "Enum property values." }, - "ituTT35": { - "description": "User data registered Itu-T T.35 SEI message", - "items": { - "$ref": "VideoUserDataRegisteredItuTT35" - }, - "type": "array" + "floatValues": { + "$ref": "GoogleCloudContentwarehouseV1FloatArray", + "description": "Float property values." }, - "length": { - "description": "video length in seconds Note that when the VSI is from users videos, it is not guaranteed to be the same as transcode lengths and it could be 0 when the full VSI cannot compute the length from the source header and timestamps (for example when header and timestamps are too broken).", - "format": "double", - "type": "number" + "integerValues": { + "$ref": "GoogleCloudContentwarehouseV1IntegerArray", + "description": "Integer property values." }, - "level": { - "format": "int32", - "type": "integer" + "mapProperty": { + "$ref": "GoogleCloudContentwarehouseV1MapProperty", + "description": "Map property values." }, - "masteringDisplayMetadata": { - "$ref": "VideoFileMasteringDisplayMetadata" + "name": { + "description": "Required. Must match the name of a PropertyDefinition in the DocumentSchema.", + "type": "string" }, - "maxFps": { - "description": "Maximum instantaneous frame rate seen from analyzing the entire stream.", - "format": "double", - "type": "number" + "propertyValues": { + "$ref": "GoogleCloudContentwarehouseV1PropertyArray", + "description": "Nested structured data property values." }, - "metadata": { - "description": "Metadata for video elementary stream;", + "textValues": { + "$ref": "GoogleCloudContentwarehouseV1TextArray", + "description": "String/text property values." + }, + "timestampValues": { + "$ref": "GoogleCloudContentwarehouseV1TimestampArray", + "description": "Timestamp property values. It is not supported by CMEK compliant deployment." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1PropertyArray": { + "description": "Property values.", + "id": "GoogleCloudContentwarehouseV1PropertyArray", + "properties": { + "properties": { + "description": "List of property values.", "items": { - "$ref": "VideoClipInfo" + "$ref": "GoogleCloudContentwarehouseV1Property" }, "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1PropertyDefinition": { + "description": "Defines the metadata for a schema property.", + "id": "GoogleCloudContentwarehouseV1PropertyDefinition", + "properties": { + "dateTimeTypeOptions": { + "$ref": "GoogleCloudContentwarehouseV1DateTimeTypeOptions", + "description": "Date time property. It is not supported by CMEK compliant deployment." }, - "minFps": { - "description": "Minimum instantaneous frame rate seen from analyzing the entire stream.", - "format": "double", - "type": "number" - }, - "numberOfFrames": { - "description": "Number of video frames.", - "format": "int64", + "displayName": { + "description": "The display-name for the property, used for front-end.", "type": "string" }, - "numberOfInvisibleFrames": { - "description": "Invisible frame count Keep a count of frames that are not displayed should the full frame count be needed for the video stream. The only codec currently reporting this value is VP8 with alternate reference frames enabled", - "format": "int32", - "type": "integer" + "enumTypeOptions": { + "$ref": "GoogleCloudContentwarehouseV1EnumTypeOptions", + "description": "Enum/categorical property." }, - "pixFmt": { - "description": "Pixel format for the video stream.", - "enum": [ - "PIX_FMT_NONE", - "PIX_FMT_YUV420P", - "PIX_FMT_YUYV422", - "PIX_FMT_RGB24", - "PIX_FMT_BGR24", - "PIX_FMT_YUV422P", - "PIX_FMT_YUV444P", - "PIX_FMT_RGB32", - "PIX_FMT_YUV410P", - "PIX_FMT_YUV411P", - "PIX_FMT_RGB565", - "PIX_FMT_RGB555", - "PIX_FMT_GRAY8", - "PIX_FMT_MONOWHITE", - "PIX_FMT_MONOBLACK", - "PIX_FMT_PAL8", - "PIX_FMT_YUVJ420P", - "PIX_FMT_YUVJ422P", - "PIX_FMT_YUVJ444P", - "PIX_FMT_XVMC_MPEG2_MC", - "PIX_FMT_XVMC_MPEG2_IDCT", - "PIX_FMT_UYVY422", - "PIX_FMT_UYYVYY411", - "PIX_FMT_BGR32", - "PIX_FMT_BGR565", - "PIX_FMT_BGR555", - "PIX_FMT_BGR8", - "PIX_FMT_BGR4", - "PIX_FMT_BGR4_BYTE", - "PIX_FMT_RGB8", - "PIX_FMT_RGB4", - "PIX_FMT_RGB4_BYTE", - "PIX_FMT_NV12", - "PIX_FMT_NV21", - "PIX_FMT_RGB32_1", - "PIX_FMT_BGR32_1", - "PIX_FMT_GRAY16BE", - "PIX_FMT_GRAY16LE", - "PIX_FMT_YUV440P", - "PIX_FMT_YUVJ440P", - "PIX_FMT_YUVA420P", - "PIX_FMT_VDPAU_H264", - "PIX_FMT_VDPAU_MPEG1", - "PIX_FMT_VDPAU_MPEG2", - "PIX_FMT_VDPAU_WMV3", - "PIX_FMT_VDPAU_VC1", - "PIX_FMT_RGB48BE", - "PIX_FMT_RGB48LE", - "PIX_FMT_RGB565BE", - "PIX_FMT_RGB555BE", - "PIX_FMT_BGR565BE", - "PIX_FMT_BGR555BE", - "PIX_FMT_VAAPI_MOCO", - "PIX_FMT_VAAPI_IDCT", - "PIX_FMT_VAAPI_VLD", - "PIX_FMT_YUV420P16LE", - "PIX_FMT_YUV420P16BE", - "PIX_FMT_YUV422P16LE", - "PIX_FMT_YUV422P16BE", - "PIX_FMT_YUV444P16LE", - "PIX_FMT_YUV444P16BE", - "PIX_FMT_VDPAU_MPEG4", - "PIX_FMT_DXVA2_VLD", - "PIX_FMT_RGB444LE", - "PIX_FMT_RGB444BE", - "PIX_FMT_BGR444LE", - "PIX_FMT_BGR444BE", - "PIX_FMT_GRAY8A", - "PIX_FMT_BGR48BE", - "PIX_FMT_BGR48LE", - "PIX_FMT_YUV420P9BE", - "PIX_FMT_YUV420P9LE", - "PIX_FMT_YUV420P10BE", - "PIX_FMT_YUV420P10LE", - "PIX_FMT_YUV422P10BE", - "PIX_FMT_YUV422P10LE", - "PIX_FMT_YUV444P9BE", - "PIX_FMT_YUV444P9LE", - "PIX_FMT_YUV444P10BE", - "PIX_FMT_YUV444P10LE", - "PIX_FMT_YUV422P9BE", - "PIX_FMT_YUV422P9LE", - "PIX_FMT_VDA_VLD", - "PIX_FMT_RGBA64BE", - "PIX_FMT_RGBA64LE", - "PIX_FMT_BGRA64BE", - "PIX_FMT_BGRA64LE", - "PIX_FMT_GBRP", - "PIX_FMT_GBRP9BE", - "PIX_FMT_GBRP9LE", - "PIX_FMT_GBRP10BE", - "PIX_FMT_GBRP10LE", - "PIX_FMT_GBRP16BE", - "PIX_FMT_GBRP16LE", - "PIX_FMT_0RGB", - "PIX_FMT_RGB0", - "PIX_FMT_0BGR", - "PIX_FMT_BGR0", - "PIX_FMT_YUVA444P", - "PIX_FMT_YUVA422P", - "PIX_FMT_YUV420P12BE", - "PIX_FMT_YUV420P12LE", - "PIX_FMT_YUV420P14BE", - "PIX_FMT_YUV420P14LE", - "PIX_FMT_YUV422P12BE", - "PIX_FMT_YUV422P12LE", - "PIX_FMT_YUV422P14BE", - "PIX_FMT_YUV422P14LE", - "PIX_FMT_YUV444P12BE", - "PIX_FMT_YUV444P12LE", - "PIX_FMT_YUV444P14BE", - "PIX_FMT_YUV444P14LE", - "PIX_FMT_GBRP12BE", - "PIX_FMT_GBRP12LE", - "PIX_FMT_GBRP14BE", - "PIX_FMT_GBRP14LE", - "PIX_FMT_ARGB", - "PIX_FMT_RGBA", - "PIX_FMT_ABGR", - "PIX_FMT_BGRA", - "PIX_FMT_RGB565LE", - "PIX_FMT_RGB555LE", - "PIX_FMT_BGR565LE", - "PIX_FMT_BGR555LE", - "PIX_FMT_VAAPI", - "PIX_FMT_YA8", - "PIX_FMT_Y400A", - "PIX_FMT_YUVA420P9BE", - "PIX_FMT_YUVA420P9LE", - "PIX_FMT_YUVA422P9BE", - "PIX_FMT_YUVA422P9LE", - "PIX_FMT_YUVA444P9BE", - "PIX_FMT_YUVA444P9LE", - "PIX_FMT_YUVA420P10BE", - "PIX_FMT_YUVA420P10LE", - "PIX_FMT_YUVA422P10BE", - "PIX_FMT_YUVA422P10LE", - "PIX_FMT_YUVA444P10BE", - "PIX_FMT_YUVA444P10LE", - "PIX_FMT_YUVA420P16BE", - "PIX_FMT_YUVA420P16LE", - "PIX_FMT_YUVA422P16BE", - "PIX_FMT_YUVA422P16LE", - "PIX_FMT_YUVA444P16BE", - "PIX_FMT_YUVA444P16LE", - "PIX_FMT_VDPAU", - "PIX_FMT_XYZ12LE", - "PIX_FMT_XYZ12BE", - "PIX_FMT_NV16", - "PIX_FMT_NV20LE", - "PIX_FMT_NV20BE", - "PIX_FMT_YVYU422", - "PIX_FMT_VDA", - "PIX_FMT_YA16BE", - "PIX_FMT_YA16LE", - "PIX_FMT_GBRAP", - "PIX_FMT_GBRAP16BE", - "PIX_FMT_GBRAP16LE", - "PIX_FMT_QSV", - "PIX_FMT_MMAL", - "PIX_FMT_D3D11VA_VLD", - "PIX_FMT_CUDA", - "PIX_FMT_YUVJ411P", - "PIX_FMT_BAYER_BGGR8", - "PIX_FMT_BAYER_RGGB8", - "PIX_FMT_BAYER_GBRG8", - "PIX_FMT_BAYER_GRBG8", - "PIX_FMT_BAYER_BGGR16LE", - "PIX_FMT_BAYER_BGGR16BE", - "PIX_FMT_BAYER_RGGB16LE", - "PIX_FMT_BAYER_RGGB16BE", - "PIX_FMT_BAYER_GBRG16LE", - "PIX_FMT_BAYER_GBRG16BE", - "PIX_FMT_BAYER_GRBG16LE", - "PIX_FMT_BAYER_GRBG16BE", - "PIX_FMT_XVMC", - "PIX_FMT_YUV440P10LE", - "PIX_FMT_YUV440P10BE", - "PIX_FMT_YUV440P12LE", - "PIX_FMT_YUV440P12BE", - "PIX_FMT_AYUV64LE", - "PIX_FMT_AYUV64BE", - "PIX_FMT_VIDEOTOOLBOX", - "PIX_FMT_P010LE", - "PIX_FMT_P010BE", - "PIX_FMT_GBRAP12BE", - "PIX_FMT_GBRAP12LE", - "PIX_FMT_GBRAP10BE", - "PIX_FMT_GBRAP10LE", - "PIX_FMT_MEDIACODEC", - "PIX_FMT_GRAY12BE", - "PIX_FMT_GRAY12LE", - "PIX_FMT_GRAY10BE", - "PIX_FMT_GRAY10LE", - "PIX_FMT_P016LE", - "PIX_FMT_P016BE", - "PIX_FMT_D3D11", - "PIX_FMT_GRAY9BE", - "PIX_FMT_GRAY9LE", - "PIX_FMT_GBRPF32BE", - "PIX_FMT_GBRPF32LE", - "PIX_FMT_GBRAPF32BE", - "PIX_FMT_GBRAPF32LE", - "PIX_FMT_DRM_PRIME", - "PIX_FMT_GACCEL", - "PIX_FMT_OPENCL", - "PIX_FMT_GRAY14BE", - "PIX_FMT_GRAY14LE", - "PIX_FMT_GRAYF32BE", - "PIX_FMT_GRAYF32LE", - "PIX_FMT_VULKAN", - "PIX_FMT_ID_FFMPEG_OUT_OF_SYNC" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "this one indicates an error in the mapping between this enum and libavcodec's" - ], - "type": "string" + "floatTypeOptions": { + "$ref": "GoogleCloudContentwarehouseV1FloatTypeOptions", + "description": "Float property." }, - "pixelAspectRatio": { - "description": "video pixel aspect ratio", - "format": "double", - "type": "number" + "integerTypeOptions": { + "$ref": "GoogleCloudContentwarehouseV1IntegerTypeOptions", + "description": "Integer property." }, - "profile": { - "enum": [ - "PROFILE_UNKNOWN", - "PROFILE_AAC_MAIN", - "PROFILE_AAC_LOW", - "PROFILE_AAC_SSR", - "PROFILE_AAC_LTP", - "PROFILE_AAC_HE", - "PROFILE_AAC_HE_V2", - "PROFILE_AAC_LD", - "PROFILE_AAC_ELD", - "PROFILE_AVC_CONSTRAINED", - "PROFILE_AVC_INTRA", - "PROFILE_AVC_BASELINE", - "PROFILE_AVC_CONSTRAINED_BASELINE", - "PROFILE_AVC_MAIN", - "PROFILE_AVC_EXTENDED", - "PROFILE_AVC_HIGH", - "PROFILE_AVC_HIGH10", - "PROFILE_AVC_HIGH10_INTRA", - "PROFILE_AVC_HIGH422", - "PROFILE_AVC_HIGH422_INTRA", - "PROFILE_AVC_HIGH444", - "PROFILE_HIGH444_PREDICTIVE", - "PROFILE_AVC_HIGH444_INTRA", - "PROFILE_AVC_CAVLC444", - "PROFILE_VP9_0", - "PROFILE_VP9_1", - "PROFILE_VP9_2", - "PROFILE_VP9_3", - "PROFILE_HEVC_MAIN", - "PROFILE_HEVC_MAIN_10", - "PROFILE_HEVC_MAIN_STILL_PICTURE", - "PROFILE_HEVC_REXT", - "PROFILE_DOVI_5" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "(1 \u003c\u003c 8) constrained mode set bit", - "(1 \u003c\u003c 11) intra mode set bit", - "", - "PROFILE_AVC_CONSTRAINED_BASELINE = PROFILE_AVC_BASELINE | PROFILE_AVC_CONSTRAINED", - "", - "", - "", - "", - "PROFILE_AVC_HIGH10_INTRA = PROFILE_AVC_HIGH10 | PROFILE_AVC_INTRA", - "", - "PROFILE_AVC_HIGH422_INTRA = PROFILE_AVC_HIGH422 | PROFILE_AVC_INTRA", - "", - "", - "PROFILE_AVC_HIGH444_INTRA = PROFILE_AVC_HIGH444 | PROFILE_AVC_INTRA", - "", - "Since profile IDs might collide from different codecs, the profile IDs listed below are not identical to the numeric numbers defined in the spec due to collision. Next Profile ID: 10008 PROFILES for VP9. 0", - "1", - "2", - "3", - "1", - "2", - "3", - "4", - "DOVI Profile 5 can only be played as Dolby Vision so it has its own Profile." - ], + "isFilterable": { + "description": "Whether the property can be filtered. If this is a sub-property, all the parent properties must be marked filterable.", + "type": "boolean" + }, + "isMetadata": { + "description": "Whether the property is user supplied metadata. This out-of-the box placeholder setting can be used to tag derived properties. Its value and interpretation logic should be implemented by API user.", + "type": "boolean" + }, + "isRepeatable": { + "description": "Whether the property can have multiple values.", + "type": "boolean" + }, + "isRequired": { + "description": "Whether the property is mandatory. Default is 'false', i.e. populating property value can be skipped. If 'true' then user must populate the value for this property.", + "type": "boolean" + }, + "isSearchable": { + "description": "Indicates that the property should be included in a global search.", + "type": "boolean" + }, + "mapTypeOptions": { + "$ref": "GoogleCloudContentwarehouseV1MapTypeOptions", + "description": "Map property." + }, + "name": { + "description": "Required. The name of the metadata property. Must be unique within a document schema and is case insensitive. Names must be non-blank, start with a letter, and can contain alphanumeric characters and: /, :, -, _, and .", "type": "string" }, - "rationalFps": { - "$ref": "VideoRational32", - "description": "The nominal frame rate ('fps' field) represented as a fraction." + "propertyTypeOptions": { + "$ref": "GoogleCloudContentwarehouseV1PropertyTypeOptions", + "description": "Nested structured data property." }, - "rotation": { - "description": "Is the video rotated ?", + "retrievalImportance": { + "description": "The retrieval importance of the property during search.", "enum": [ - "ROTATION_NONE", - "ROTATION_OTHER", - "ROTATION_CW_90", - "ROTATION_CCW_90", - "ROTATION_180" + "RETRIEVAL_IMPORTANCE_UNSPECIFIED", + "HIGHEST", + "HIGHER", + "HIGH", + "MEDIUM", + "LOW", + "LOWEST" ], "enumDescriptions": [ - "No rotation", - "Unspecified non-identity rotation", - "Rotate clockwise by 90 degrees", - "Rotate counter-clockwise by 90 degrees", - "Rotate 180 degrees" + "No importance specified. Default medium importance.", + "Highest importance.", + "Higher importance.", + "High importance.", + "Medium importance.", + "Low importance (negative).", + "Lowest importance (negative)." ], "type": "string" }, - "seiMessage": { - "description": "video SEI payload types and total payload size of a type this is only for H.264 and H.265", + "schemaSources": { + "description": "The mapping information between this property to another schema source.", "items": { - "$ref": "VideoSEIMessage" + "$ref": "GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource" }, "type": "array" }, - "spherical": { - "$ref": "VideoFileSphericalMetadata", - "description": "Optional spherical video information." + "textTypeOptions": { + "$ref": "GoogleCloudContentwarehouseV1TextTypeOptions", + "description": "Text/string property." }, - "startTimestamp": { - "description": "Start/end timestamps of audio/video in ms.", - "format": "int64", + "timestampTypeOptions": { + "$ref": "GoogleCloudContentwarehouseV1TimestampTypeOptions", + "description": "Timestamp property. It is not supported by CMEK compliant deployment." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource": { + "description": "The schema source information.", + "id": "GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource", + "properties": { + "name": { + "description": "The schema name in the source.", "type": "string" }, - "streamCodecTag": { - "format": "int64", + "processorType": { + "description": "The Doc AI processor type name.", "type": "string" - }, - "streamIndex": { - "description": "Index of the stream in the file. it is 0 based.", - "format": "int64", + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1PropertyFilter": { + "id": "GoogleCloudContentwarehouseV1PropertyFilter", + "properties": { + "condition": { + "description": "The filter condition. The syntax for this expression is a subset of SQL syntax. Supported operators are: `=`, `!=`, `\u003c`, `\u003c=`, `\u003e`, `\u003e=`, and `~~` where the left of the operator is a property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. `~~` is the LIKE operator. The right of the operator must be a string. The only supported property data type for LIKE is text_values. It provides semantic search functionality by parsing, stemming and doing synonyms expansion against the input query. It matches if the property contains semantic similar content to the query. It is not regex matching or wildcard matching. For example, \"property.company ~~ \\\"google\\\"\" will match records whose property `property.compnay` have values like \"Google Inc.\", \"Google LLC\" or \"Google Company\". Supported functions are `LOWER([property_name])` to perform a case insensitive match and `EMPTY([property_name])` to filter on the existence of a key. Boolean expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR NOT D) AND E\"), a maximum of 100 comparisons or functions are allowed in the expression. The expression must be \u003c 6000 bytes in length. Only properties that are marked filterable are allowed (PropertyDefinition.is_filterable). Property names do not need to be prefixed by the document schema id (as is the case with histograms), however property names will need to be prefixed by its parent hierarchy, if any. For example: top_property_name.sub_property_name. Sample Query: `(LOWER(driving_license)=\"class \\\"a\\\"\" OR EMPTY(driving_license)) AND driving_years \u003e 10` CMEK compliant deployment only supports: * Operators: `=`, `\u003c`, `\u003c=`, `\u003e`, and `\u003e=`. * Boolean expressions: AND and OR.", "type": "string" }, - "userDataUnregistered": { - "description": "User data unregistered SEI message", + "documentSchemaName": { + "description": "The Document schema name Document.document_schema_name. Format: projects/{project_number}/locations/{location}/documentSchemas/{document_schema_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1PropertyTypeOptions": { + "description": "Configurations for a nested structured data property.", + "id": "GoogleCloudContentwarehouseV1PropertyTypeOptions", + "properties": { + "propertyDefinitions": { + "description": "Required. List of property definitions.", "items": { - "$ref": "VideoUserDataUnregistered" + "$ref": "GoogleCloudContentwarehouseV1PropertyDefinition" }, "type": "array" - }, - "width": { - "description": "source video width and height", - "format": "int32", - "type": "integer" } }, "type": "object" }, - "VideoVideoStreamInfoVideoStreamCleanAperture": { - "id": "VideoVideoStreamInfoVideoStreamCleanAperture", + "GoogleCloudContentwarehouseV1PublishAction": { + "description": "Represents the action responsible for publishing messages to a Pub/Sub topic.", + "id": "GoogleCloudContentwarehouseV1PublishAction", "properties": { - "height": { - "format": "int32", - "type": "integer" + "messages": { + "description": "Messages to be published.", + "items": { + "type": "string" + }, + "type": "array" }, - "horizontalOffset": { - "format": "int32", - "type": "integer" + "topicId": { + "description": "The topic id in the Pub/Sub service for which messages will be published to.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1QAResult": { + "description": "Additional result info for the question-answering feature.", + "id": "GoogleCloudContentwarehouseV1QAResult", + "properties": { + "confidenceScore": { + "description": "The calibrated confidence score for this document, in the range [0., 1.]. This represents the confidence level for whether the returned document and snippet answers the user's query.", + "format": "float", + "type": "number" }, - "verticalOffset": { + "highlights": { + "description": "Highlighted sections in the snippet.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1QAResultHighlight" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1QAResultHighlight": { + "description": "A text span in the search text snippet that represents a highlighted section (answer context, highly relevant sentence, etc.).", + "id": "GoogleCloudContentwarehouseV1QAResultHighlight", + "properties": { + "endIndex": { + "description": "End index of the highlight, exclusive.", "format": "int32", "type": "integer" }, - "width": { + "startIndex": { + "description": "Start index of the highlight.", "format": "int32", "type": "integer" } }, "type": "object" }, - "VideoVideoStreamInfoVideoStreamStatistics": { - "id": "VideoVideoStreamInfoVideoStreamStatistics", + "GoogleCloudContentwarehouseV1RemoveFromFolderAction": { + "description": "Represents the action responsible for remove a document from a specific folder.", + "id": "GoogleCloudContentwarehouseV1RemoveFromFolderAction", "properties": { - "max": { - "format": "int64", + "condition": { + "description": "Condition of the action to be executed.", "type": "string" }, - "mean": { - "format": "double", - "type": "number" - }, - "min": { - "format": "int64", + "folder": { + "description": "Name of the folder under which new document is to be added. Format: projects/{project_number}/locations/{location}/documents/{document_id}.", "type": "string" } }, "type": "object" }, - "VideoYoutubeCommentsClassificationProtoSmartSuggestion": { - "id": "VideoYoutubeCommentsClassificationProtoSmartSuggestion", + "GoogleCloudContentwarehouseV1RequestMetadata": { + "description": "Meta information is used to improve the performance of the service.", + "id": "GoogleCloudContentwarehouseV1RequestMetadata", "properties": { - "diversificationThreshold": { - "description": "Diversification threshold used in prediction. Additional responses which are closer than the threshold to the already selected responses will be skipped.", - "format": "float", - "type": "number" - }, - "likelihoodBiasWeight": { - "description": "Bias weight used in prediction.", - "format": "float", - "type": "number" - }, - "replyContent": { - "description": "Content of the reply snippet (could include emoji as well as text).", - "type": "string" - }, - "score": { - "description": "Model score for the predicted reply snippet.", - "format": "double", - "type": "number" + "userInfo": { + "$ref": "GoogleCloudContentwarehouseV1UserInfo", + "description": "Provides user unique identification and groups information." } }, "type": "object" }, - "VideoYoutubeCommentsClassificationProtoYouTubeCommentSmartReply": { - "description": "Smart reply suggestions for comment.", - "id": "VideoYoutubeCommentsClassificationProtoYouTubeCommentSmartReply", + "GoogleCloudContentwarehouseV1ResponseMetadata": { + "description": "Additional information returned to client, such as debugging information.", + "id": "GoogleCloudContentwarehouseV1ResponseMetadata", "properties": { - "smartSuggestions": { - "description": "The order of the reply snippets in the list determines how they should be displayed in the UI and the client is not supposed to re-order the list using the scores.", - "items": { - "$ref": "VideoYoutubeCommentsClassificationProtoSmartSuggestion" - }, - "type": "array" - }, - "suggestionListIdentifier": { - "description": "Identifier (language_code, channel_id, etc) for the suggestion list from which the top k suggestions are selected.", + "requestId": { + "description": "A unique id associated with this call. This id is logged for tracking purpose.", "type": "string" } }, "type": "object" }, - "VideoYoutubeCommentsRankingCTRMetrics": { - "description": "Used for stanza KV pair. Next tag: 7.", - "id": "VideoYoutubeCommentsRankingCTRMetrics", + "GoogleCloudContentwarehouseV1Rule": { + "description": "Represents the rule for a content warehouse trigger.", + "id": "GoogleCloudContentwarehouseV1Rule", "properties": { - "downvotes": { - "format": "int64", + "actions": { + "description": "List of actions that are executed when the rule is satisfied.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1Action" + }, + "type": "array" + }, + "condition": { + "description": "Represents the conditional expression to be evaluated. Expression should evaluate to a boolean result. When the condition is true actions are executed. Example: user_role = \"hsbc_role_1\" AND doc.salary \u003e 20000", "type": "string" }, - "impressions": { - "format": "int64", + "description": { + "description": "Short description of the rule and its context.", + "type": "string" + }, + "ruleId": { + "description": "ID of the rule. It has to be unique across all the examples. This is managed internally.", "type": "string" }, - "measureWindow": { + "triggerType": { + "description": "Identifies the trigger type for running the policy.", "enum": [ "UNKNOWN", - "THREE_DAYS", - "SEVEN_DAYS", - "FULL_HISTORY" + "ON_CREATE", + "ON_UPDATE", + "ON_CREATE_LINK", + "ON_DELETE_LINK" ], "enumDescriptions": [ - "", - "", - "", - "" + "Trigger for unknown action.", + "Trigger for create document action.", + "Trigger for update document action.", + "Trigger for create link action.", + "Trigger for delete link action." ], "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1RuleActionsPair": { + "description": "Represents a rule and outputs of associated actions.", + "id": "GoogleCloudContentwarehouseV1RuleActionsPair", + "properties": { + "actionOutputs": { + "description": "Outputs of executing the actions associated with the above rule.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1ActionOutput" + }, + "type": "array" }, - "teaserClicks": { - "format": "int64", - "type": "string" + "rule": { + "$ref": "GoogleCloudContentwarehouseV1Rule", + "description": "Represents the rule." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1RuleEngineOutput": { + "description": "Records the output of Rule Engine including rule evaluation and actions result.", + "id": "GoogleCloudContentwarehouseV1RuleEngineOutput", + "properties": { + "actionExecutorOutput": { + "$ref": "GoogleCloudContentwarehouseV1ActionExecutorOutput", + "description": "Output from Action Executor containing rule and corresponding actions execution result." }, - "teaserImpressions": { - "format": "int64", + "documentName": { + "description": "Name of the document against which the rules and actions were evaluated.", "type": "string" }, - "upvotes": { - "format": "int64", - "type": "string" + "ruleEvaluatorOutput": { + "$ref": "GoogleCloudContentwarehouseV1RuleEvaluatorOutput", + "description": "Output from Rule Evaluator containing matched, unmatched and invalid rules." } }, "type": "object" }, - "WWWDocInfo": { - "description": "Some per-doc info is returned for all www DocInfo requests. Next id: 94", - "id": "WWWDocInfo", + "GoogleCloudContentwarehouseV1RuleEvaluatorOutput": { + "description": "Represents the output of the Rule Evaluator.", + "id": "GoogleCloudContentwarehouseV1RuleEvaluatorOutput", "properties": { - "additionalSafesearchStats": { - "description": "Additional stats output by SafeSearch. See classifier/porn/public/porn-attachments.h.", + "invalidRules": { + "description": "A subset of triggered rules that failed the validation check(s) after parsing.", "items": { - "format": "uint32", - "type": "integer" + "$ref": "GoogleCloudContentwarehouseV1InvalidRule" }, "type": "array" }, - "authMethod": { - "description": "Sometimes called secureid", - "format": "int32", - "type": "integer" + "matchedRules": { + "description": "A subset of triggered rules that are evaluated true for a given request.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1Rule" + }, + "type": "array" }, - "badMetadescription": { - "description": "Bad meta flag", - "type": "boolean" + "triggeredRules": { + "description": "List of rules fetched from database for the given request trigger type.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1Rule" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1RuleSet": { + "description": "Represents a set of rules from a single customer.", + "id": "GoogleCloudContentwarehouseV1RuleSet", + "properties": { + "description": { + "description": "Short description of the rule-set.", + "type": "string" }, - "bodySize": { - "description": "Size of document", - "format": "int32", - "type": "integer" + "name": { + "description": "The resource name of the rule set. Managed internally. Format: projects/{project_number}/locations/{location}/ruleSet/{rule_set_id}. The name is ignored when creating a rule set.", + "type": "string" }, - "bodyTitleLanguages": { + "rules": { + "description": "List of rules given by the customer.", "items": { - "type": "string" + "$ref": "GoogleCloudContentwarehouseV1Rule" }, "type": "array" }, - "boilerplateMetadescription": { - "deprecated": true, - "type": "boolean" + "source": { + "description": "Source of the rules i.e., customer name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1RunPipelineMetadata": { + "description": "Metadata message of RunPipeline method.", + "id": "GoogleCloudContentwarehouseV1RunPipelineMetadata", + "properties": { + "exportToCdwPipelineMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata", + "description": "The pipeline metadata for Export-to-CDW pipeline." }, - "colorDetectionResult": { - "description": "Detected color in the image in RGB565 format in the lower 16 bits.", - "format": "uint32", + "failedFileCount": { + "description": "Number of files that have failed at some point in the pipeline.", + "format": "int32", "type": "integer" }, - "contentType": { - "description": "If not present, then the type", - "format": "int64", - "type": "string" + "gcsIngestPipelineMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata", + "description": "The pipeline metadata for GcsIngest pipeline." }, - "coupledUrl": { - "description": "Url of coupled doc (e.g. image)", - "type": "string" + "individualDocumentStatuses": { + "description": "The list of response details of each document.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus" + }, + "type": "array" }, - "coupledUrlEncoding": { + "processWithDocAiPipelineMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata", + "description": "The pipeline metadata for Process-with-DocAi pipeline." + }, + "totalFileCount": { + "description": "Number of files that were processed by the pipeline.", "format": "int32", "type": "integer" }, - "crawlTime": { - "description": "Last time this doc crawled", - "format": "int64", + "userInfo": { + "$ref": "GoogleCloudContentwarehouseV1UserInfo", + "description": "User unique identification and groups information." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata": { + "description": "The metadata message for Export-to-CDW pipeline.", + "id": "GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata", + "properties": { + "docAiDataset": { + "description": "The output CDW dataset resource name.", "type": "string" }, - "cropData": { - "description": "Thumbnail cropping information.", - "format": "uint32", - "type": "integer" + "documents": { + "description": "The input list of all the resource names of the documents to be exported.", + "items": { + "type": "string" + }, + "type": "array" }, - "dataVersion": { + "outputPath": { + "description": "The output Cloud Storage folder in this pipeline.", "type": "string" - }, - "docVersionId": { - "description": "Fields generated by the docserver, but whose meaning is unclear. Sometimes last crawl time", - "format": "int64", + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata": { + "description": "The metadata message for GcsIngest pipeline.", + "id": "GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata", + "properties": { + "inputPath": { + "description": "The input Cloud Storage folder in this pipeline. Format: `gs:///`.", "type": "string" - }, - "encoding": { - "format": "int64", + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus": { + "description": "The status of processing a document.", + "id": "GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus", + "properties": { + "documentId": { + "description": "Document identifier of an existing document.", "type": "string" }, - "failsSafeSearch": { - "deprecated": true, - "description": "fails_safe_search is never filled in production.", - "format": "int64", - "type": "string" + "status": { + "$ref": "GoogleRpcStatus", + "description": "The status processing the document." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata": { + "description": "The metadata message for Process-with-DocAi pipeline.", + "id": "GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata", + "properties": { + "documents": { + "description": "The input list of all the resource names of the documents to be processed.", + "items": { + "type": "string" + }, + "type": "array" }, - "fileTypeId": { - "description": "If converted to TEXT or HTML", - "format": "int64", - "type": "string" + "processorInfo": { + "$ref": "GoogleCloudContentwarehouseV1ProcessorInfo", + "description": "The DocAI processor to process the documents with." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1RunPipelineRequest": { + "description": "Request message for DocumentService.RunPipeline.", + "id": "GoogleCloudContentwarehouseV1RunPipelineRequest", + "properties": { + "exportCdwPipeline": { + "$ref": "GoogleCloudContentwarehouseV1ExportToCdwPipeline", + "description": "Export docuemnts from Document Warehouse to CDW for training purpose." }, - "foreignMetadescription": { - "deprecated": true, - "description": "Indicate if the meta description in a different language than its page.", - "type": "boolean" + "gcsIngestPipeline": { + "$ref": "GoogleCloudContentwarehouseV1GcsIngestPipeline", + "description": "Cloud Storage ingestion pipeline." }, - "fuzzyMetadescription": { - "deprecated": true, - "type": "boolean" + "gcsIngestWithDocAiProcessorsPipeline": { + "$ref": "GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline", + "description": "Use DocAI processors to process documents in Cloud Storage and ingest them to Document Warehouse." }, - "googleLabelData": { - "description": "Addition to support google label per-search-result annotation.", - "format": "byte", - "type": "string" + "processWithDocAiPipeline": { + "$ref": "GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline", + "description": "Use a DocAI processor to process documents in Document Warehouse, and re-ingest the updated results into Document Warehouse." }, - "hasBadSslCertificate": { - "description": "If true, the original document has a bad SSL certificate.", - "type": "boolean" + "requestMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", + "description": "The meta information collected about the end user, used to enforce access control for the service." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1SearchDocumentsRequest": { + "description": "Request message for DocumentService.SearchDocuments.", + "id": "GoogleCloudContentwarehouseV1SearchDocumentsRequest", + "properties": { + "documentQuery": { + "$ref": "GoogleCloudContentwarehouseV1DocumentQuery", + "description": "Query used to search against documents (keyword, filters, etc.)." + }, + "histogramQueries": { + "description": "An expression specifying a histogram request against matching documents. Expression syntax is an aggregation function call with histogram facets and other options. The following aggregation functions are supported: * `count(string_histogram_facet)`: Count the number of matching entities for each distinct attribute value. Data types: * Histogram facet (aka filterable properties): Facet names with format \u003cschema id\u003e.\u003cfacet\u003e. Facets will have the format of: `a-zA-Z`. If the facet is a child facet, then the parent hierarchy needs to be specified separated by dots in the prefix after the schema id. Thus, the format for a multi- level facet is: \u003cschema id\u003e.\u003cparent facet name\u003e. \u003cchild facet name\u003e. Example: schema123.root_parent_facet.middle_facet.child_facet * DocumentSchemaId: (with no schema id prefix) to get histograms for each document type (returns the schema id path, e.g. projects/12345/locations/us-west/documentSchemas/abc123). Example expression: * Document type counts: count('DocumentSchemaId') * For schema id, abc123, get the counts for MORTGAGE_TYPE: count('abc123.MORTGAGE_TYPE')", + "items": { + "$ref": "GoogleCloudContentwarehouseV1HistogramQuery" + }, + "type": "array" }, - "imageHeight": { - "description": "image height", + "offset": { + "description": "An integer that specifies the current offset (that is, starting result location, amongst the documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. The maximum allowed value is 5000. Otherwise an error is thrown. For example, 0 means to return results starting from the first matching document, and 10 means to return from the 11th document. This can be used for pagination, (for example, pageSize = 10 and offset = 10 means to return from the second page).", "format": "int32", "type": "integer" }, - "imageLicenseInfo": { - "$ref": "ImageSearchImageLicenseInfo", - "description": "Image license info such as license url and how to acquire the license." - }, - "imagePublisher": { + "orderBy": { + "description": "The criteria determining how search results are sorted. For non-empty query, default is `\"relevance desc\"`. For empty query, default is `\"upload_date desc\"`. Supported options are: * `\"relevance desc\"`: By relevance descending, as determined by the API algorithms. * `\"upload_date desc\"`: By upload date descending. * `\"upload_date\"`: By upload date ascending. * `\"update_date desc\"`: By last updated date descending. * `\"update_date\"`: By last updated date ascending. * `\"retrieval_importance desc\"`: By retrieval importance of properties descending. This feature is still under development, please do not use unless otherwise instructed to do so.", "type": "string" }, - "imageSize": { - "description": "size in bytes;", - "format": "int32", - "type": "integer" - }, - "imageWidth": { - "description": "image width", + "pageSize": { + "description": "A limit on the number of documents returned in the search results. Increasing this value above the default value of 10 can increase search response time. The value can be between 1 and 100.", "format": "int32", "type": "integer" }, - "indexingTs": { - "description": "The timestamp (the time since the Epoch, in microseconds) when the docjoin is exported from indexing. This is mainly exported and used by Youtube Search. See MustangBasicInfo.indexing_ts for more details.", - "format": "int64", + "pageToken": { + "description": "The token specifying the current offset within search results. See SearchDocumentsResponse.next_page_token for an explanation of how to obtain the next set of query results.", "type": "string" }, - "ip": { - "description": "If ipaddr is set, ip should be ignored (it should not be set). Ipaddr should be either 4- or 16-byte string for IPv4 or IPv6 addresses. If ipaddr is not set, ip is set to the IPv4 address for the host.", + "qaSizeLimit": { + "description": "Experimental, do not use. The limit on the number of documents returned for the question-answering feature. To enable the question-answering feature, set [DocumentQuery].is_nl_query to true.", "format": "int32", "type": "integer" }, - "ipaddr": { - "format": "byte", - "type": "string" - }, - "isAnimated": { - "description": "Is this image animated?", - "type": "boolean" - }, - "isHostedImage": { - "description": "Hosted Images related fields.", - "type": "boolean" - }, - "isPorn": { - "description": "Doc porn classification.", - "type": "boolean" - }, - "isRoboted": { - "description": "Is disallowed for crawling according to host's robots.txt.", - "type": "boolean" - }, - "isSitePorn": { - "deprecated": true, - "description": "Consider the page classification is_porn as an alternative for is_site_porn, and talk to safesearch@google.com for additional information if needed.", - "type": "boolean" + "requestMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", + "description": "The meta information collected about the end user, used to enforce access control and improve the search quality of the service." }, - "isSoftporn": { - "description": "Doc softporn classification.", + "requireTotalSize": { + "description": "Controls if the search document request requires the return of a total size of matched documents. See SearchDocumentsResponse.total_size. Enabling this flag may adversely impact performance. Hint: If this is used with pagination, set this flag on the initial query but set this to false on subsequent page calls (keep the total count locally). Defaults to false.", "type": "boolean" }, - "language": { - "deprecated": true, - "description": "go/iii-td b/130371355", - "format": "int64", + "totalResultSize": { + "description": "Controls if the search document request requires the return of a total size of matched documents. See SearchDocumentsResponse.total_size.", + "enum": [ + "TOTAL_RESULT_SIZE_UNSPECIFIED", + "ESTIMATED_SIZE", + "ACTUAL_SIZE" + ], + "enumDescriptions": [ + "Total number calculation will be skipped.", + "Estimate total number. The total result size will be accurated up to 10,000. This option will add cost and latency to your request.", + "It may adversely impact performance. The limit is 1000,000." + ], "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1SearchDocumentsResponse": { + "description": "Response message for DocumentService.SearchDocuments.", + "id": "GoogleCloudContentwarehouseV1SearchDocumentsResponse", + "properties": { + "histogramQueryResults": { + "description": "The histogram results that match with the specified SearchDocumentsRequest.histogram_queries.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1HistogramQueryResult" + }, + "type": "array" }, - "languageTag": { - "description": "This returns the most probable language for the document. The complete set of languages is in the GenericSearchResponse. (If some future use requires all languages from the doc request, note that fetching that will require decoding the entire per-doc data attachment, which is a performance hit) Use docinfo-util.h to set \u0026 read language fields. Language tag as defined by http://www.unicode.org/reports/tr35/#Identifiers and https://tools.ietf.org/html/bcp47 If not present, then use language.", - "type": "string" + "matchingDocuments": { + "description": "The document entities that match the specified SearchDocumentsRequest.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument" + }, + "type": "array" }, - "lastModTime": { - "description": "Unused by gws", - "format": "int64", + "metadata": { + "$ref": "GoogleCloudContentwarehouseV1ResponseMetadata", + "description": "Additional information for the API invocation, such as the request tracking id." + }, + "nextPageToken": { + "description": "The token that specifies the starting position of the next page of results. This field is empty if there are no more results.", "type": "string" }, - "licensedWebImagesOptInState": { - "description": "Indicates the web-master opt-in state of this image. This project is still in MVP stage, please contact us licensed-media-team@ before use.", - "enum": [ - "IMAGES_OPTIN_NONE", - "IMAGES_OPTIN_FULL", - "PAGE_SNIPPET_CONTROL_SIZE_NONE", - "PAGE_SNIPPET_CONTROL_SIZE_STANDARD", - "PAGE_SNIPPET_CONTROL_SIZE_LARGE", - "IMAGE_TAG_SNIPPET_CONTROL_SIZE_NONE", - "IMAGE_TAG_SNIPPET_CONTROL_SIZE_STANDARD", - "IMAGE_TAG_SNIPPET_CONTROL_SIZE_LARGE" - ], - "enumDescriptions": [ - "DEFAULT", - "", - "Followings are extracted from page snippet restriction. Publisher explicitly requires a no-image treatment.", - "Translates to 50k pixels.", - "Translates to 300k pixels.", - "Followings are extracted from per image tag snippet restriction. Publisher explicitly requires a no-image treatment.", - "Translates to 50k pixels.", - "Translates to 300k pixels." - ], + "questionAnswer": { + "description": "Experimental. Question answer from the query against the document.", "type": "string" }, - "lowQualityMetadescription": { - "deprecated": true, - "type": "boolean" + "totalSize": { + "description": "The total number of matched documents which is available only if the client set SearchDocumentsRequest.require_total_size to `true` or set SearchDocumentsRequest.total_result_size to `ESTIMATED_SIZE` or `ACTUAL_SIZE`. Otherwise, the value will be `-1`. Typically a UI would handle this condition by displaying \"of many\", for example: \"Displaying 10 of many\".", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument": { + "description": "Document entry with metadata inside SearchDocumentsResponse", + "id": "GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument", + "properties": { + "document": { + "$ref": "GoogleCloudContentwarehouseV1Document", + "description": "Document that matches the specified SearchDocumentsRequest. This document only contains indexed metadata information." }, - "metaDescriptionLanguages": { - "description": "If meta description/body title were detected to be in a different language from the document language (the 'language' field above) in RosettaLanguageAnnotator, the detected languages are populated here. Note: as of ariane/154728, no more than one language is populated for each field.", + "matchedTokenPageIndices": { + "description": "Return the 1-based page indices where those pages have one or more matched tokens.", "items": { + "format": "int64", "type": "string" }, "type": "array" }, - "nearbyText": { - "description": "Nearby text of the image on landing page. Used to construct Scroll to Image urls.", - "type": "string" - }, - "noimageframeoverlayreason": { - "description": "If not 0, we should not show the image in overlay mode in image snippets.", - "format": "int32", - "type": "integer" + "qaResult": { + "$ref": "GoogleCloudContentwarehouseV1QAResult", + "description": "Experimental. Additional result info if the question-answering feature is enabled." }, - "nsrSitechunk": { - "description": "Sitechunk used by NSR. For most pages this is equivalent HOST_LEVEL_V3 sitechunk. Main difference is that, for sites like youtube.com and vimeo.com, nsr_sitechunks are channel level (based on schema.org markup, not url alone). See go/nsr-chunks for more details.", + "searchTextSnippet": { + "description": "Contains snippets of text from the document full raw text that most closely match a search query's keywords, if available. All HTML tags in the original fields are stripped when returned in this field, and matching query keywords are enclosed in HTML bold tags. If the question-answering feature is enabled, this field will instead contain a snippet that answers the user's natural-language query. No HTML bold tags will be present, and highlights in the answer snippet can be found in QAResult.highlights.", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1SetAclRequest": { + "description": "Request message for DocumentService.SetAcl.", + "id": "GoogleCloudContentwarehouseV1SetAclRequest", + "properties": { + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "Required. REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. This refers to an Identity and Access (IAM) policy, which specifies access controls for the Document. You can set ACL with condition for projects only. Supported operators are: `=`, `!=`, `\u003c`, `\u003c=`, `\u003e`, and `\u003e=` where the left of the operator is `DocumentSchemaId` or property name and the right of the operator is a number or a quoted string. You must escape backslash (\\\\) and quote (\\\") characters. Boolean expressions (AND/OR) are supported up to 3 levels of nesting (for example, \"((A AND B AND C) OR D) AND E\"), a maximum of 10 comparisons are allowed in the expression. The expression must be \u003c 6000 bytes in length. Sample condition: `\"DocumentSchemaId = \\\"some schema id\\\" OR SchemaId.floatPropertyName \u003e= 10\"`" }, - "partialBoilerplateMetadescription": { - "deprecated": true, + "projectOwner": { + "description": "For Set Project ACL only. Authorization check for end user will be ignored when project_owner=true.", "type": "boolean" }, - "pornStats": { - "description": "'porn_stats' is used in porn demotion and filtering. See classifier/porn/public/porn-attachments.h.", - "format": "int32", - "type": "integer" + "requestMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", + "description": "The meta information collected about the end user, used to enforce access control for the service." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1SetAclResponse": { + "description": "Response message for DocumentService.SetAcl.", + "id": "GoogleCloudContentwarehouseV1SetAclResponse", + "properties": { + "metadata": { + "$ref": "GoogleCloudContentwarehouseV1ResponseMetadata", + "description": "Additional information for the API invocation, such as the request tracking id." }, - "qualityWithoutAdjustment": { - "description": "Quality score (also known as QScore, see go/qscore-faq).", - "format": "float", - "type": "number" + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "The policy will be attached to a resource (e.g. projecct, document)." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1SynonymSet": { + "description": "Represents a list of synonyms for a given context. For example a context \"sales\" could contain: Synonym 1: sale, invoice, bill, order Synonym 2: money, credit, finance, payment Synonym 3: shipping, freight, transport Each SynonymSets should be disjoint", + "id": "GoogleCloudContentwarehouseV1SynonymSet", + "properties": { + "context": { + "description": "This is a freeform field. Example contexts can be \"sales,\" \"engineering,\" \"real estate,\" \"accounting,\" etc. The context can be supplied during search requests.", + "type": "string" }, - "referrerUrl": { - "description": "Url of referring doc", + "name": { + "description": "The resource name of the SynonymSet This is mandatory for google.api.resource. Format: projects/{project_number}/locations/{location}/synonymSets/{context}.", "type": "string" }, - "relatedimages": { + "synonyms": { + "description": "List of Synonyms for the context.", "items": { - "$ref": "WWWDocInfoRelatedImages" + "$ref": "GoogleCloudContentwarehouseV1SynonymSetSynonym" }, "type": "array" - }, - "rootpageDuplicateMetadescription": { - "description": "True if the meta-description is duplicated on many other pages and this page is the rootpage of such pages which have the same meta-description.", - "type": "boolean" - }, - "seenNoarchive": { - "description": "Has noarchive meta robots flag", - "type": "boolean" - }, - "seenNoindex": { - "description": "Has noindex meta robots flag", - "type": "boolean" - }, - "seenNoodp": { - "deprecated": true, - "description": "NOTE(kinoue): ODP/GWD snippet is unlaunched as of June 2017. This is no longer used.", - "type": "boolean" - }, - "seenNopreview": { - "description": "Has nopreview meta robots flag", - "type": "boolean" - }, - "seenNosnippet": { - "description": "Has nosnippet meta robots flag", - "type": "boolean" - }, - "seenNotranslate": { - "description": "Has notranslate meta robots flag", - "type": "boolean" - }, - "shoppingAttachment": { - "$ref": "QualityShoppingShoppingAttachment" - }, - "shoppingOffers": { - "deprecated": true, - "description": "Shopping offer info from Inventory \u0026 Policy Service.", + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1SynonymSetSynonym": { + "description": "Represents a list of words given by the customer All these words are synonyms of each other.", + "id": "GoogleCloudContentwarehouseV1SynonymSetSynonym", + "properties": { + "words": { + "description": "For example: sale, invoice, bill, order", "items": { - "$ref": "ImageMustangShoppingOffer" + "type": "string" }, "type": "array" - }, - "subindex": { - "description": "Subindex id of the document should be one of the values defined by enum CompositeDoc::SubIndexType. Used for superroot/gws logging if a shard has documents from multiple indices.", - "format": "int32", - "type": "integer" - }, - "thumbHeight": { - "description": "thumbnail height", - "format": "int32", - "type": "integer" - }, - "thumbWidth": { - "description": "Additions for image search.", - "format": "int32", - "type": "integer" - }, - "thumbnail": { + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1TextArray": { + "description": "String/text values.", + "id": "GoogleCloudContentwarehouseV1TextArray", + "properties": { + "values": { + "description": "List of text values.", "items": { - "$ref": "WWWDocInfoThumbnail" + "type": "string" }, "type": "array" - }, - "title": { - "description": "Landing page title.", - "type": "string" - }, - "unionBuildTime": { - "format": "int64", - "type": "string" - }, - "url": { - "description": "Url", - "type": "string" - }, - "urlAfterRedirects": { - "description": "empty =\u003e same as url", - "type": "string" - }, - "urlEncoding": { - "description": "See webutil/urlencoding", - "format": "int32", - "type": "integer" - }, - "visibleImage": { - "description": "If an image request, was the coupled image visible on the page?", - "type": "boolean" - }, - "visualType": { - "description": "Is this doc visual RTL? See enum VisualType in visualtype.h. Default is NOT_VISUAL_DOCUMENT.", - "format": "int64", - "type": "string" } }, "type": "object" }, - "WWWDocInfoRelatedImages": { - "description": "Return related images.", - "id": "WWWDocInfoRelatedImages", + "GoogleCloudContentwarehouseV1TextTypeOptions": { + "description": "Configurations for a text property.", + "id": "GoogleCloudContentwarehouseV1TextTypeOptions", + "properties": {}, + "type": "object" + }, + "GoogleCloudContentwarehouseV1TimeFilter": { + "description": "Filter on create timestamp or update timestamp of documents.", + "id": "GoogleCloudContentwarehouseV1TimeFilter", "properties": { - "imageDocid": { - "format": "uint64", - "type": "string" - }, - "thumbHeight": { - "format": "int32", - "type": "integer" - }, - "thumbType": { + "timeField": { + "description": "Specifies which time field to filter documents on. Defaults to TimeField.UPLOAD_TIME.", "enum": [ - "THUMBNAIL_TYPE_DEFAULT", - "THUMBNAIL_TYPE_AREA_50K", - "THUMBNAIL_TYPE_400", - "THUMBNAIL_TYPE_800", - "THUMBNAIL_TYPE_ORIGINAL", - "THUMBNAIL_TYPE_ORIGINAL_HQ", - "THUMBNAIL_TYPE_FAVICON_16", - "THUMBNAIL_TYPE_FAVICON_28", - "THUMBNAIL_TYPE_FAVICON_32", - "THUMBNAIL_TYPE_FAVICON_64", - "THUMBNAIL_TYPE_FAVICON_ORIGINAL", - "THUMBNAIL_TYPE_FAVICON_16_DARK", - "THUMBNAIL_TYPE_FAVICON_28_DARK", - "THUMBNAIL_TYPE_FAVICON_32_DARK", - "THUMBNAIL_TYPE_FAVICON_64_DARK", - "THUMBNAIL_TYPE_FAVICON_ORIGINAL_DARK", - "THUMBNAIL_TYPE_1080", - "THUMBNAIL_TYPE_1600_HQ", - "THUMBNAIL_TYPE_AREA_300K", - "THUMBNAIL_TYPE_AREA_50K_ALPHA", - "THUMBNAIL_TYPE_AREA_50K_SYNTHETIC_ALPHA", - "THUMBNAIL_TYPE_AREA_2M", - "THUMBNAIL_TYPE_AREA_2M_METADATA", - "THUMBNAIL_TYPE_800_ALPHA_WHITE", - "THUMBNAIL_TYPE_ORIGINAL_ALPHA_WHITE", - "THUMBNAIL_TYPE_ANIMATED_H144", - "THUMBNAIL_TYPE_ORIGINAL_HQ_LICENSED", - "THUMBNAIL_TYPE_TENOR_250K_GIF", - "THUMBNAIL_TYPE_TENOR_100K_OPTIMIZED_GIF", - "THUMBNAIL_TYPE_TENOR_30K_OPTIMIZED_THUMBNAIL_GIF", - "THUMBNAIL_TYPE_TENOR_45K_OPTIMIZED_90P_GIF", - "THUMBNAIL_TYPE_TENOR_50K_OPTIMIZED_100P_GIF", - "THUMBNAIL_TYPE_TENOR_100K_OPTIMIZED_200P_GIF", - "THUMBNAIL_TYPE_TENOR_50K_OPTIMIZED_100W_GIF", - "THUMBNAIL_TYPE_TENOR_100K_OPTIMIZED_200W_GIF", - "THUMBNAIL_TYPE_TENOR_45K_PREVIEW_GIF", - "THUMBNAIL_TYPE_TENOR_250K_MEDIUM_GIF", - "THUMBNAIL_TYPE_AREA_2M_WEBP", - "THUMBNAIL_TYPE_AREA_2M_WEBP_METADATA", - "THUMBNAIL_TYPE_AREA_2M_AVIF", - "THUMBNAIL_TYPE_AREA_2M_AVIF_METADATA", - "THUMBNAIL_TYPE_AREA_50K_WEBP", - "THUMBNAIL_TYPE_AREA_50K_AVIF", - "THUMBNAIL_TYPE_ORIGINAL_HQ_KG" + "TIME_FIELD_UNSPECIFIED", + "CREATE_TIME", + "UPDATE_TIME", + "DISPOSITION_TIME" ], "enumDescriptions": [ - "DEPRECATED - use THUMBNAIL_TYPE_AREA_50K if possible. The default thumbnail type is deprecated and no longer served by SFFE. For legacy users (e.g. imagesearch heirloom UI) you must request a downsized THUMBNAIL_TYPE_AREA_50K thumbnail.", - "This is the most common thumbnail type, used in image search results. It is defined to have 50625 pixels (= 225 x 225).", - "This refers to a thumbnail that fits in a 400x400 box.", - "This refers to a thumbnail that fits in a 800x800 box.", - "This refers to re-encoding original image to JPEG at the same size (up to 10000x10000). Output quality may be lower.", - "Re-encode image at the same size as original (up to 10000x10000) but with high-quality (q=90). This was introduced by TYPHOON client and is expected only for very few images in our table (under 10k). If you plan to use this contact amarna-dev@ and/or crt@", - "These refer to favicon thumbnails of 16x16, 32x32 or 64x64. If the original image is an ico file containing multiple embedded images including 16x16, 32x32 or 64x64, these thumbnails are derived from the embedded image of the corresponding size. (If no such embedded image is found, prefer the closest size that's larger. If still no such size exists, prefer largest.) If no such size exists, these thumbnails are rescaled to an image whose maximum dimension is 16, 28, 32 or 64.", - "", - "", - "", - "This type of favicon will preserve the size of the original image.", - "These refer to favicon thumbnails for dark mode. This triggers dark mode on the SVG decoding (and otherwise, the same as the above favicon types)", - "", - "", - "", - "", - "This refers to a thumbnail that fits in a 1080x1080 box.", - "This refers to a thumbnail that fits in a 1600x1600 box and is encoded with high-quality (q=90). Contact amarna-dev@/crt@/bingwang@ for using it.", - "This uses the same MaxAreaSizer as THUMBNAIL_TYPE_AREA_50K. The exact area is defined to be 307200 (= 640 x 480).", - "This is like THUMBNAIL_TYPE_AREA_50K, but with an alpha channel.", - "DEPRECATED - Please do not introduce new requests for this type. It will be eliminated soon. Until then, it will behave like the AREA_50K_ALPHA type -- use that instead.", - "This refers to a thumbnail with at most 2073600 pixels (=1920*1080). The image will be scaled down to 2M while preserving the aspect ratio if it's too large. If the thumbnail is in JPEG format, it is encoded with quality = 85. Besides, it supports alpha channel by default and does not convert lossless formats to JPEG.", - "Similar to THUMBNAIL_TYPE_AREA_2M, but with the source image metadata propagated.", - "In alpha-white thumbs, colors are remapped in RGBA to be more transparent the closer they are to white. This is for use with white-background images, so that the perceived background color can be darkened by rendering over gray. See go/alpha-white-thumbs for details and limitations. Sizing matches non-ALPHA_WHITE equivalents.", - "", - "Height-scaled animated thumb types, encoded as H264 previews. Suffix gives height, e.g. _H144 indicates height 144. Width is a scaled multiple-of-8 value so the thumb has approximately the same aspect ratio as the original. For more info, see http://go/animated-thumbs.", - "New thumbnail type for licensed contents. From a thumbnail generation perspective this behaves similarly to THUMBNAIL_TYPE_ORIGINAL_HQ, but it exists as a separate thumbnail type to enable takedowns requested by owner. WARNING: This type is primarily used by go/licensed-media-service and is subject to policy changes. Please contact g/license-media-service-team before using.", - "Tenor gifs go/tenor-integration-binary-serving-discussion", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Similar to THUMBNAIL_TYPE_AREA_2M but pre-transcoded to WebP and AVIF format, as those two format can be slow to transcode in serving time. Currently only generated for AMP images. These two thumbnails are static images despite that their formats support animation.", - "Similar to THUMBNAIL_TYPE_AREA_2M_WEBP, but with the source image metadata propagated.", - "AVIF is not yet a supported input for SCS serving time thumbnailing, trying to do so will give errors.", - "Similar to THUMBNAIL_TYPE_AREA_2M_AVIF, but with the source image metadata propagated.", - "WebP format. Currently only generated for navboost images.", - "AVIF format. Currently only generated for navboost images.", - "WARNING: This type is dedicated to KG_IMAGE client. http://b/234653726" + "Default value.", + "Earliest document create time.", + "Latest document update time.", + "Time when document becomes mutable again." ], "type": "string" }, - "thumbWidth": { - "format": "int32", - "type": "integer" + "timeRange": { + "$ref": "GoogleTypeInterval" } }, "type": "object" }, - "WWWDocInfoThumbnail": { - "id": "WWWDocInfoThumbnail", + "GoogleCloudContentwarehouseV1TimestampArray": { + "description": "Timestamp values.", + "id": "GoogleCloudContentwarehouseV1TimestampArray", "properties": { - "expirationTimestampMicros": { - "format": "int64", - "type": "string" - }, - "height": { - "format": "int32", - "type": "integer" - }, - "type": { - "description": "The type here corresponds to image_base::ThumbnailType defined in image/base/thumbnail-type.proto.", - "format": "int32", - "type": "integer" - }, - "width": { - "format": "int32", - "type": "integer" + "values": { + "description": "List of timestamp values.", + "items": { + "$ref": "GoogleCloudContentwarehouseV1TimestampValue" + }, + "type": "array" } }, "type": "object" }, - "WWWMetaTag": { - "description": "We can return the content attribute for some or all meta tags.", - "id": "WWWMetaTag", + "GoogleCloudContentwarehouseV1TimestampTypeOptions": { + "description": "Configurations for a timestamp property.", + "id": "GoogleCloudContentwarehouseV1TimestampTypeOptions", + "properties": {}, + "type": "object" + }, + "GoogleCloudContentwarehouseV1TimestampValue": { + "description": "Timestamp value type.", + "id": "GoogleCloudContentwarehouseV1TimestampValue", "properties": { - "content": { + "textValue": { + "description": "The string must represent a valid instant in UTC and is parsed using java.time.format.DateTimeFormatter.ISO_INSTANT. e.g. \"2013-09-29T18:46:19Z\"", "type": "string" }, - "name": { + "timestampValue": { + "description": "Timestamp value", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "WWWResultInfoMinimalAestheticsAdjusterInfo": { - "description": "Minimal copy of ImageAestheticsAdjusterInfo (http://google3/quality/scoring/proto/image-data.proto;l=966;rcl=618955078) for use by web twiddlers. NextID: 8", - "id": "WWWResultInfoMinimalAestheticsAdjusterInfo", + "GoogleCloudContentwarehouseV1UpdateDocumentMetadata": { + "description": "Metadata object for UpdateDocument request (currently empty).", + "id": "GoogleCloudContentwarehouseV1UpdateDocumentMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudContentwarehouseV1UpdateDocumentRequest": { + "description": "Request message for DocumentService.UpdateDocument.", + "id": "GoogleCloudContentwarehouseV1UpdateDocumentRequest", "properties": { - "boost": { - "description": "final boost = *(all boosts)", - "format": "float", - "type": "number" - }, - "deepTagCollageBoost": { - "format": "float", - "type": "number" + "cloudAiDocumentOption": { + "$ref": "GoogleCloudContentwarehouseV1CloudAIDocumentOption", + "description": "Request Option for processing Cloud AI Document in Document Warehouse. This field offers limited support for mapping entities from Cloud AI Document to Warehouse Document. Please consult with product team before using this field and other available options." }, - "deepTagCollageScore": { - "format": "float", - "type": "number" + "document": { + "$ref": "GoogleCloudContentwarehouseV1Document", + "description": "Required. The document to update." }, - "eqBoost": { - "format": "float", - "type": "number" + "requestMetadata": { + "$ref": "GoogleCloudContentwarehouseV1RequestMetadata", + "description": "The meta information collected about the end user, used to enforce access control for the service." }, - "eqExpansionOrganicBoost": { - "format": "float", - "type": "number" + "updateOptions": { + "$ref": "GoogleCloudContentwarehouseV1UpdateOptions", + "description": "Options for the update operation." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1UpdateDocumentResponse": { + "description": "Response message for DocumentService.UpdateDocument.", + "id": "GoogleCloudContentwarehouseV1UpdateDocumentResponse", + "properties": { + "document": { + "$ref": "GoogleCloudContentwarehouseV1Document", + "description": "Updated document after executing update request." }, - "eqExpansionStar": { - "format": "float", - "type": "number" + "metadata": { + "$ref": "GoogleCloudContentwarehouseV1ResponseMetadata", + "description": "Additional information for the API invocation, such as the request tracking id." }, - "tqBoost": { - "format": "float", - "type": "number" + "ruleEngineOutput": { + "$ref": "GoogleCloudContentwarehouseV1RuleEngineOutput", + "description": "Output from Rule Engine recording the rule evaluator and action executor's output. Refer format in: google/cloud/contentwarehouse/v1/rule_engine.proto" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest": { + "description": "Request message for DocumentSchemaService.UpdateDocumentSchema.", + "id": "GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest", + "properties": { + "documentSchema": { + "$ref": "GoogleCloudContentwarehouseV1DocumentSchema", + "description": "Required. The document schema to update with." } }, "type": "object" }, - "WWWResultInfoSubImageDocInfo": { - "description": "The following message contains info of sub image docs, it is populated in query_state and consumed in web image boost twiddler: (go/WebImageBoostTwiddler). NextID: 31", - "id": "WWWResultInfoSubImageDocInfo", + "GoogleCloudContentwarehouseV1UpdateOptions": { + "description": "Options for Update operations.", + "id": "GoogleCloudContentwarehouseV1UpdateOptions", "properties": { - "additionalSafesearchSignals": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" + "mergeFieldsOptions": { + "$ref": "GoogleCloudContentwarehouseV1MergeFieldsOptions", + "description": "Options for merging." }, - "aestheticsAdjusterInfo": { - "$ref": "WWWResultInfoMinimalAestheticsAdjusterInfo" + "updateMask": { + "description": "Field mask for merging Document fields. For the `FieldMask` definition, see https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "type": "string" }, - "bestThumbnailType": { - "description": "The best thumbnail type is either 300K or 50K.", + "updateType": { + "description": "Type for update.", "enum": [ - "THUMBNAIL_TYPE_DEFAULT", - "THUMBNAIL_TYPE_AREA_50K", - "THUMBNAIL_TYPE_400", - "THUMBNAIL_TYPE_800", - "THUMBNAIL_TYPE_ORIGINAL", - "THUMBNAIL_TYPE_ORIGINAL_HQ", - "THUMBNAIL_TYPE_FAVICON_16", - "THUMBNAIL_TYPE_FAVICON_28", - "THUMBNAIL_TYPE_FAVICON_32", - "THUMBNAIL_TYPE_FAVICON_64", - "THUMBNAIL_TYPE_FAVICON_ORIGINAL", - "THUMBNAIL_TYPE_FAVICON_16_DARK", - "THUMBNAIL_TYPE_FAVICON_28_DARK", - "THUMBNAIL_TYPE_FAVICON_32_DARK", - "THUMBNAIL_TYPE_FAVICON_64_DARK", - "THUMBNAIL_TYPE_FAVICON_ORIGINAL_DARK", - "THUMBNAIL_TYPE_1080", - "THUMBNAIL_TYPE_1600_HQ", - "THUMBNAIL_TYPE_AREA_300K", - "THUMBNAIL_TYPE_AREA_50K_ALPHA", - "THUMBNAIL_TYPE_AREA_50K_SYNTHETIC_ALPHA", - "THUMBNAIL_TYPE_AREA_2M", - "THUMBNAIL_TYPE_AREA_2M_METADATA", - "THUMBNAIL_TYPE_800_ALPHA_WHITE", - "THUMBNAIL_TYPE_ORIGINAL_ALPHA_WHITE", - "THUMBNAIL_TYPE_ANIMATED_H144", - "THUMBNAIL_TYPE_ORIGINAL_HQ_LICENSED", - "THUMBNAIL_TYPE_TENOR_250K_GIF", - "THUMBNAIL_TYPE_TENOR_100K_OPTIMIZED_GIF", - "THUMBNAIL_TYPE_TENOR_30K_OPTIMIZED_THUMBNAIL_GIF", - "THUMBNAIL_TYPE_TENOR_45K_OPTIMIZED_90P_GIF", - "THUMBNAIL_TYPE_TENOR_50K_OPTIMIZED_100P_GIF", - "THUMBNAIL_TYPE_TENOR_100K_OPTIMIZED_200P_GIF", - "THUMBNAIL_TYPE_TENOR_50K_OPTIMIZED_100W_GIF", - "THUMBNAIL_TYPE_TENOR_100K_OPTIMIZED_200W_GIF", - "THUMBNAIL_TYPE_TENOR_45K_PREVIEW_GIF", - "THUMBNAIL_TYPE_TENOR_250K_MEDIUM_GIF", - "THUMBNAIL_TYPE_AREA_2M_WEBP", - "THUMBNAIL_TYPE_AREA_2M_WEBP_METADATA", - "THUMBNAIL_TYPE_AREA_2M_AVIF", - "THUMBNAIL_TYPE_AREA_2M_AVIF_METADATA", - "THUMBNAIL_TYPE_AREA_50K_WEBP", - "THUMBNAIL_TYPE_AREA_50K_AVIF", - "THUMBNAIL_TYPE_ORIGINAL_HQ_KG" + "UPDATE_TYPE_UNSPECIFIED", + "UPDATE_TYPE_REPLACE", + "UPDATE_TYPE_MERGE", + "UPDATE_TYPE_INSERT_PROPERTIES_BY_NAMES", + "UPDATE_TYPE_REPLACE_PROPERTIES_BY_NAMES", + "UPDATE_TYPE_DELETE_PROPERTIES_BY_NAMES", + "UPDATE_TYPE_MERGE_AND_REPLACE_OR_INSERT_PROPERTIES_BY_NAMES" ], "enumDescriptions": [ - "DEPRECATED - use THUMBNAIL_TYPE_AREA_50K if possible. The default thumbnail type is deprecated and no longer served by SFFE. For legacy users (e.g. imagesearch heirloom UI) you must request a downsized THUMBNAIL_TYPE_AREA_50K thumbnail.", - "This is the most common thumbnail type, used in image search results. It is defined to have 50625 pixels (= 225 x 225).", - "This refers to a thumbnail that fits in a 400x400 box.", - "This refers to a thumbnail that fits in a 800x800 box.", - "This refers to re-encoding original image to JPEG at the same size (up to 10000x10000). Output quality may be lower.", - "Re-encode image at the same size as original (up to 10000x10000) but with high-quality (q=90). This was introduced by TYPHOON client and is expected only for very few images in our table (under 10k). If you plan to use this contact amarna-dev@ and/or crt@", - "These refer to favicon thumbnails of 16x16, 32x32 or 64x64. If the original image is an ico file containing multiple embedded images including 16x16, 32x32 or 64x64, these thumbnails are derived from the embedded image of the corresponding size. (If no such embedded image is found, prefer the closest size that's larger. If still no such size exists, prefer largest.) If no such size exists, these thumbnails are rescaled to an image whose maximum dimension is 16, 28, 32 or 64.", - "", - "", - "", - "This type of favicon will preserve the size of the original image.", - "These refer to favicon thumbnails for dark mode. This triggers dark mode on the SVG decoding (and otherwise, the same as the above favicon types)", - "", - "", - "", - "", - "This refers to a thumbnail that fits in a 1080x1080 box.", - "This refers to a thumbnail that fits in a 1600x1600 box and is encoded with high-quality (q=90). Contact amarna-dev@/crt@/bingwang@ for using it.", - "This uses the same MaxAreaSizer as THUMBNAIL_TYPE_AREA_50K. The exact area is defined to be 307200 (= 640 x 480).", - "This is like THUMBNAIL_TYPE_AREA_50K, but with an alpha channel.", - "DEPRECATED - Please do not introduce new requests for this type. It will be eliminated soon. Until then, it will behave like the AREA_50K_ALPHA type -- use that instead.", - "This refers to a thumbnail with at most 2073600 pixels (=1920*1080). The image will be scaled down to 2M while preserving the aspect ratio if it's too large. If the thumbnail is in JPEG format, it is encoded with quality = 85. Besides, it supports alpha channel by default and does not convert lossless formats to JPEG.", - "Similar to THUMBNAIL_TYPE_AREA_2M, but with the source image metadata propagated.", - "In alpha-white thumbs, colors are remapped in RGBA to be more transparent the closer they are to white. This is for use with white-background images, so that the perceived background color can be darkened by rendering over gray. See go/alpha-white-thumbs for details and limitations. Sizing matches non-ALPHA_WHITE equivalents.", - "", - "Height-scaled animated thumb types, encoded as H264 previews. Suffix gives height, e.g. _H144 indicates height 144. Width is a scaled multiple-of-8 value so the thumb has approximately the same aspect ratio as the original. For more info, see http://go/animated-thumbs.", - "New thumbnail type for licensed contents. From a thumbnail generation perspective this behaves similarly to THUMBNAIL_TYPE_ORIGINAL_HQ, but it exists as a separate thumbnail type to enable takedowns requested by owner. WARNING: This type is primarily used by go/licensed-media-service and is subject to policy changes. Please contact g/license-media-service-team before using.", - "Tenor gifs go/tenor-integration-binary-serving-discussion", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Similar to THUMBNAIL_TYPE_AREA_2M but pre-transcoded to WebP and AVIF format, as those two format can be slow to transcode in serving time. Currently only generated for AMP images. These two thumbnails are static images despite that their formats support animation.", - "Similar to THUMBNAIL_TYPE_AREA_2M_WEBP, but with the source image metadata propagated.", - "AVIF is not yet a supported input for SCS serving time thumbnailing, trying to do so will give errors.", - "Similar to THUMBNAIL_TYPE_AREA_2M_AVIF, but with the source image metadata propagated.", - "WebP format. Currently only generated for navboost images.", - "AVIF format. Currently only generated for navboost images.", - "WARNING: This type is dedicated to KG_IMAGE client. http://b/234653726" + "Defaults to full replace behavior, ie. FULL_REPLACE.", + "Fully replace all the fields (including previously linked raw document). Any field masks will be ignored.", + "Merge the fields into the existing entities.", + "Inserts the properties by names.", + "Replace the properties by names.", + "Delete the properties by names.", + "For each of the property, replaces the property if the it exists, otherwise inserts a new property. And for the rest of the fields, merge them based on update mask and merge fields options." ], "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1UpdateRuleSetRequest": { + "description": "Request message for RuleSetService.UpdateRuleSet.", + "id": "GoogleCloudContentwarehouseV1UpdateRuleSetRequest", + "properties": { + "ruleSet": { + "$ref": "GoogleCloudContentwarehouseV1RuleSet", + "description": "Required. The rule set to update." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1UserInfo": { + "description": "The user information.", + "id": "GoogleCloudContentwarehouseV1UserInfo", + "properties": { + "groupIds": { + "description": "The unique group identifications which the user is belong to. The format is \"group:yyyy@example.com\";", + "items": { + "type": "string" + }, + "type": "array" }, - "crops": { - "format": "uint32", - "type": "integer" - }, - "deepCropBytes": { - "description": "Deepcrop thumbnail cropping hints.", - "format": "byte", - "type": "string" - }, - "dimeScore": { - "description": "EQ* v3: Deep Image Engagingness(DImE) go/deep-image-engagingness-slides", - "format": "float", - "type": "number" - }, - "docid": { - "format": "uint64", + "id": { + "description": "A unique user identification string, as determined by the client. The maximum number of allowed characters is 255. Allowed characters include numbers 0 to 9, uppercase and lowercase letters, and restricted special symbols (:, @, +, -, _, ~) The format is \"user:xxxx@example.com\";", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1Value": { + "description": "`Value` represents a dynamically typed value which can be either be a float, a integer, a string, or a datetime value. A producer of value is expected to set one of these variants. Absence of any variant indicates an error.", + "id": "GoogleCloudContentwarehouseV1Value", + "properties": { + "booleanValue": { + "description": "Represents a boolean value.", + "type": "boolean" }, - "documentTrust": { - "format": "float", - "type": "number" - }, - "eqStar": { - "description": "EQ* is a unified signal to capture the emotional quality (e.g. inspiration, lifestyle, context, etc.) of an image. For more information, please refer to go/image-inspiration-ranking-framework.", - "format": "float", - "type": "number" + "datetimeValue": { + "$ref": "GoogleTypeDateTime", + "description": "Represents a datetime value." }, - "estRelevance": { - "description": "Estimated Image Relevance ranging between 0.0 (Off-Topic) to 1.0 (Very Useful).", - "format": "float", - "type": "number" + "enumValue": { + "$ref": "GoogleCloudContentwarehouseV1EnumValue", + "description": "Represents an enum value." }, - "estSigmaU": { - "description": "Estimated Sigma U calculated from U*.", + "floatValue": { + "description": "Represents a float value.", "format": "float", "type": "number" }, - "flowOutput": { - "$ref": "ImageContentFlowProtoProd" - }, - "height": { + "intValue": { + "description": "Represents a integer value.", "format": "int32", "type": "integer" }, - "height50k": { - "format": "uint32", - "type": "integer" - }, - "humanModelScore": { - "description": "DeepTags human model score. go/VisualShoppingImageAttributes", - "format": "float", - "type": "number" - }, - "imageUrl": { + "stringValue": { + "description": "Represents a string value.", "type": "string" }, - "ocrTokensCount": { - "format": "int32", - "type": "integer" - }, - "pamirNormalizedScore": { - "format": "float", - "type": "number" - }, - "pornSignals": { - "description": "Encoded Safe Search annotations of the image. See image/safesearch/overall/public/image_porn_attachments.h for decoding functions.", - "format": "int32", - "type": "integer" - }, - "safeForUniversal": { - "description": "Result is not on the Images Universal blacklist. For more comprehensive filtering of IU images, including this bit, see superroot/impls/images/quality/safesearch/iu_inappropriate_filter_lib.h", - "type": "boolean" - }, - "salience": { - "description": "Salient score, indicating how important an image is to the page it's on. Check go/salient-images-design-doc for details.", - "format": "float", - "type": "number" - }, - "salientColorInfo": { - "description": "4-bytes: (low order on the left) RRRRRRRR GGGGGGGG BBBBBBBB SS where R: 8-bits encoding color 'r' G: 8-bits encoding color 'g' B: 8-bits encoding color 'b' S: 2-bits encoding the color source - 00 = from color detection result - 01 = from cairo This field has the salient color information.", - "format": "uint32", - "type": "integer" - }, - "score": { - "format": "float", - "type": "number" + "timestampValue": { + "$ref": "GoogleCloudContentwarehouseV1TimestampValue", + "description": "Represents a timestamp value." + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1WeightedSchemaProperty": { + "description": "Specifies the schema property name.", + "id": "GoogleCloudContentwarehouseV1WeightedSchemaProperty", + "properties": { + "documentSchemaName": { + "description": "The document schema name.", + "type": "string" }, - "tqStar": { - "description": "TQ* is a signal to capture the technical quality (e.g. exposure, sharpness, composition, etc.) of an image. For more information, please refer to go/tqstar.", - "format": "float", - "type": "number" + "propertyNames": { + "description": "The property definition names in the schema.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1beta1CreateDocumentMetadata": { + "description": "Metadata object for CreateDocument request (currently empty).", + "id": "GoogleCloudContentwarehouseV1beta1CreateDocumentMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudContentwarehouseV1beta1InitializeProjectResponse": { + "description": "Response message for projectService.InitializeProject", + "id": "GoogleCloudContentwarehouseV1beta1InitializeProjectResponse", + "properties": { + "message": { + "description": "The message of the project initialization process.", + "type": "string" }, - "tradFrac": { - "format": "float", - "type": "number" + "state": { + "description": "The state of the project initialization process.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED", + "CANCELLED", + "RUNNING" + ], + "enumDescriptions": [ + "Clients should never see this.", + "Finished project initialization without error.", + "Finished project initialization with an error.", + "Client canceled the LRO.", + "Ask the customer to check the operation for results." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContentwarehouseV1beta1UpdateDocumentMetadata": { + "description": "Metadata object for UpdateDocument request (currently empty).", + "id": "GoogleCloudContentwarehouseV1beta1UpdateDocumentMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudDocumentaiV1Barcode": { + "description": "Encodes the detailed information of a barcode.", + "id": "GoogleCloudDocumentaiV1Barcode", + "properties": { + "format": { + "description": "Format of a barcode. The supported formats are: - `CODE_128`: Code 128 type. - `CODE_39`: Code 39 type. - `CODE_93`: Code 93 type. - `CODABAR`: Codabar type. - `DATA_MATRIX`: 2D Data Matrix type. - `ITF`: ITF type. - `EAN_13`: EAN-13 type. - `EAN_8`: EAN-8 type. - `QR_CODE`: 2D QR code type. - `UPC_A`: UPC-A type. - `UPC_E`: UPC-E type. - `PDF417`: PDF417 type. - `AZTEC`: 2D Aztec code type. - `DATABAR`: GS1 DataBar code type.", + "type": "string" }, - "width": { - "format": "int32", - "type": "integer" + "rawValue": { + "description": "Raw value encoded in the barcode. For example: `'MEBKM:TITLE:Google;URL:https://www.google.com;;'`.", + "type": "string" }, - "width50k": { - "description": "Width and height of the AREA_50K thumbnail for this image.", - "format": "uint32", - "type": "integer" + "valueFormat": { + "description": "Value format describes the format of the value that a barcode encodes. The supported formats are: - `CONTACT_INFO`: Contact information. - `EMAIL`: Email address. - `ISBN`: ISBN identifier. - `PHONE`: Phone number. - `PRODUCT`: Product. - `SMS`: SMS message. - `TEXT`: Text string. - `URL`: URL address. - `WIFI`: Wifi information. - `GEO`: Geo-localization. - `CALENDAR_EVENT`: Calendar event. - `DRIVER_LICENSE`: Driver's license.", + "type": "string" } }, "type": "object" }, - "WWWSnippetResponse": { - "description": "Per-document response for a www DocInfo request. Next field position: 55", - "id": "WWWSnippetResponse", + "GoogleCloudDocumentaiV1BoundingPoly": { + "description": "A bounding polygon for the detected image annotation.", + "id": "GoogleCloudDocumentaiV1BoundingPoly", "properties": { - "answerDocMatches": { - "description": "A list of answers that had at least one hit in the document. Answers are identified by their index into the QRewriteQueryParams_AnswerSnippetInfo array (see //query/proto/query-params.proto).", + "normalizedVertices": { + "description": "The bounding polygon normalized vertices.", "items": { - "format": "int32", - "type": "integer" + "$ref": "GoogleCloudDocumentaiV1NormalizedVertex" }, "type": "array" }, - "chosenBodyTidbits": { - "description": "Tidbits chosen from the document body. Consists of repeated [begin, end) half-open ranges in token offsets from the beginning of the document.", + "vertices": { + "description": "The bounding polygon vertices.", "items": { - "format": "int32", - "type": "integer" + "$ref": "GoogleCloudDocumentaiV1Vertex" }, "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1Document": { + "description": "Document represents the canonical document resource in Document AI. It is an interchange format that provides insights into documents and allows for collaboration between users and Document AI to iterate and optimize for quality.", + "id": "GoogleCloudDocumentaiV1Document", + "properties": { + "content": { + "description": "Optional. Inline document content, represented as a stream of bytes. Note: As with all `bytes` fields, protobuffers use a pure binary representation, whereas JSON representations use base64.", + "format": "byte", + "type": "string" }, - "docInfo": { - "$ref": "WWWDocInfo" + "entities": { + "description": "A list of entities detected on Document.text. For document shards, entities in this list may cross shard boundaries.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentEntity" + }, + "type": "array" }, - "docPreviewRestrictions": { - "$ref": "QualityDniDocPreviewRestrictions", - "description": "DocPreviewRestrictions for canonical url." + "entityRelations": { + "description": "Placeholder. Relationship among Document.entities.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentEntityRelation" + }, + "type": "array" }, - "docPreviewRestrictionsForAmp": { - "$ref": "QualityDniDocPreviewRestrictions", - "description": "DocPreviewRestrictions for amp result." + "error": { + "$ref": "GoogleRpcStatus", + "description": "Any error that occurred while processing this document." }, - "events": { - "description": "Bitfield of snippet events and the various events. See SnippetEvents in ./snippets/defines.h for details on the contents.", - "format": "uint64", + "mimeType": { + "description": "An IANA published [media type (MIME type)](https://www.iana.org/assignments/media-types/media-types.xhtml).", "type": "string" }, - "extraInfo": { - "$ref": "ExtraSnippetInfoResponse", - "description": "If requested, the extra snippet info" - }, - "findyTidbits": { - "description": "A bitvector of the tidbits in the snippet that are appropriate for the Quick Scroll (Findy) Chrome extension. Typically these contain \"extra body matches\", i.e., important query items not in the title.", - "format": "int32", - "type": "integer" - }, - "hasMessageType": { - "description": "Additional available data (message type ids)", + "pages": { + "description": "Visual page layout for the Document.", "items": { - "format": "int32", - "type": "integer" + "$ref": "GoogleCloudDocumentaiV1DocumentPage" }, "type": "array" }, - "info": { - "$ref": "Proto2BridgeMessageSet", - "description": "Additional data. Currently, this is used for sitelinks, localinfo, manybox, discussion metadata, richsnippets, similarpages and breadcrumbs." + "revisions": { + "description": "Placeholder. Revision history of this document.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentRevision" + }, + "type": "array" }, - "isLoginPage": { - "description": "True if the document represents a login page.", - "type": "boolean" + "shardInfo": { + "$ref": "GoogleCloudDocumentaiV1DocumentShardInfo", + "description": "Information about the sharding if this document is sharded part of a larger document. If the document is not sharded, this message is not specified." }, - "isValidResult": { - "description": "Assume this is true unless we discover that the result doesn't match the the query, in which case this result is invalid despite having returned docinfo.", - "type": "boolean" + "text": { + "description": "Optional. UTF-8 encoded text in reading order from the document.", + "type": "string" }, - "keyword": { - "description": "Document keywords", + "textChanges": { + "description": "Placeholder. A list of text corrections made to Document.text. This is usually used for annotating corrections to OCR mistakes. Text changes for a given revision may not overlap with each other.", "items": { - "type": "string" + "$ref": "GoogleCloudDocumentaiV1DocumentTextChange" }, "type": "array" }, - "listSnippet": { - "$ref": "ListSnippetResponse", + "textStyles": { "deprecated": true, - "description": "List snippet data." + "description": "Styles for the Document.text.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentStyle" + }, + "type": "array" + }, + "uri": { + "description": "Optional. Currently supports Google Cloud Storage URI of the form `gs://bucket_name/object_name`. Object versioning is not supported. For more information, refer to [Google Cloud Storage Request URIs](https://cloud.google.com/storage/docs/reference-uris).", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentEntity": { + "description": "An entity that could be a phrase in the text or a property that belongs to the document. It is a known entity type, such as a person, an organization, or location.", + "id": "GoogleCloudDocumentaiV1DocumentEntity", + "properties": { + "confidence": { + "description": "Optional. Confidence of detected Schema entity. Range `[0, 1]`.", + "format": "float", + "type": "number" }, - "listSummary": { - "description": "List summary phrase for list pages.", + "id": { + "description": "Optional. Canonical id. This will be a unique value in the entity list for this document.", "type": "string" }, - "longStructuredSnippet": { - "$ref": "LongStructuredSnippet", - "description": "Returned if want_long_structured_snippets. If present, caller should ignore the normal snippet." + "mentionId": { + "description": "Optional. Deprecated. Use `id` field instead.", + "type": "string" }, - "matchesBitmapEncoded": { - "description": "Bitmap representing matches to leaf query terms within document (body section and url). It gets populated if query_matches_info = true.", - "format": "byte", + "mentionText": { + "description": "Optional. Text value of the entity e.g. `1600 Amphitheatre Pkwy`.", "type": "string" }, - "matchesBitmapSize": { - "format": "int32", - "type": "integer" + "normalizedValue": { + "$ref": "GoogleCloudDocumentaiV1DocumentEntityNormalizedValue", + "description": "Optional. Normalized entity value. Absent if the extracted value could not be converted or the type (e.g. address) is not supported for certain parsers. This field is also only populated for certain supported document types." + }, + "pageAnchor": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageAnchor", + "description": "Optional. Represents the provenance of this entity wrt. the location on the page where it was found." }, - "metaTags": { - "description": "Meta tags", + "properties": { + "description": "Optional. Entities can be nested to form a hierarchical data structure representing the content in the document.", "items": { - "$ref": "WWWMetaTag" + "$ref": "GoogleCloudDocumentaiV1DocumentEntity" }, "type": "array" }, - "numTokensSkippedByInDocRestrictionsInPrinting": { - "description": "Similar to num_tokens_skipped_by_in_doc_restrictions_in_scoring, but this number is for tokens skipped during printing, since printer owns its own token info manager which populates tokens.", - "format": "int32", - "type": "integer" - }, - "numTokensSkippedByInDocRestrictionsInScoring": { - "description": "Number of tokens that is skipped because of in doc restrictions during scoring. This is an estimate, as the list of tokens is cached in TokenInfoManager. We should only monitor the cases where this number is too big or non-zero.", - "format": "int32", - "type": "integer" - }, - "numberOfPages": { - "format": "int32", - "type": "integer" + "provenance": { + "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", + "description": "Optional. The history of this annotation." }, - "obsoleteLocalinfo": { - "description": "LocalWWWInfo", - "type": "string" + "redacted": { + "description": "Optional. Whether the entity will be redacted for de-identification purposes.", + "type": "boolean" }, - "obsoleteManybox": { - "description": "ManyboxData", - "type": "string" + "textAnchor": { + "$ref": "GoogleCloudDocumentaiV1DocumentTextAnchor", + "description": "Optional. Provenance of the entity. Text anchor indexing into the Document.text." }, - "obsoleteSitemap": { - "description": "These fields were previously optional messages, but CL 2388905 moved them into the MessageSet. However, at this time, old Mustang binaries are still deployed in production and probably will be around for awhile. So, servers which need to talk to old binaries and need to use these fields need to check both the obsolete versions and the MessageSet version. Sitemap", + "type": { + "description": "Required. Entity type from a schema e.g. `Address`.", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentEntityNormalizedValue": { + "description": "Parsed and normalized entity value.", + "id": "GoogleCloudDocumentaiV1DocumentEntityNormalizedValue", + "properties": { + "addressValue": { + "$ref": "GoogleTypePostalAddress", + "description": "Postal address. See also: https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.proto" }, - "odp": { - "deprecated": true, - "description": "Was odp used in the snippets? DEPRECATED - this is no longer populated as of June 2017.", + "booleanValue": { + "description": "Boolean value. Can be used for entities with binary values, or for checkboxes.", "type": "boolean" }, - "orionEntities": { - "$ref": "OrionDocEntitiesProto", - "deprecated": true, - "description": "DEPRECATED If requested, the orion entities" + "dateValue": { + "$ref": "GoogleTypeDate", + "description": "Date value. Includes year, month, day. See also: https://github.com/googleapis/googleapis/blob/master/google/type/date.proto" }, - "scienceInfo": { - "$ref": "ScienceIndexSignal", - "description": "Abbreviated bibliographic data from Google Scholar." + "datetimeValue": { + "$ref": "GoogleTypeDateTime", + "description": "DateTime value. Includes date, time, and timezone. See also: https://github.com/googleapis/googleapis/blob/master/google/type/datetime.proto" }, - "sectionHeadingAnchorName": { - "description": "If requested, the snippet generator may take note of query items present in an entry in an on-page table-of-contents (i.e. a series of on-page links to named anchors.) If so, these two fields contain the formatted and highlighted entry and the name of the on-page anchor it links to, respectively. This may be used by GWS to show a direct link to that named anchor on the page.", - "type": "string" + "floatValue": { + "description": "Float value.", + "format": "float", + "type": "number" }, - "seenNotTerm": { - "description": "Did a negative query term match the meta description?", - "type": "boolean" + "integerValue": { + "description": "Integer value.", + "format": "int32", + "type": "integer" }, - "sentimentSnippets": { - "deprecated": true, - "description": "DEPRECATED Sentiment snippets", - "items": { - "$ref": "RepositoryAnnotationsMustangSentimentSnippetAnnotations" - }, - "type": "array" + "moneyValue": { + "$ref": "GoogleTypeMoney", + "description": "Money value. See also: https://github.com/googleapis/googleapis/blob/master/google/type/money.proto" }, - "siteDisplayName": { - "description": "The domain-level display name of the website, such as \"Google\" for google.com. See go/site-display-name for more details. As of Aug 2023, this field is being deprecated in favor of `info.[AlternativeTitlesResponse].site_display_name_response` field, which also contains host-level site display names with additional information.", + "text": { + "description": "Optional. An optional field to store a normalized string. For some entity types, one of respective `structured_value` fields may also be populated. Also not all the types of `structured_value` will be normalized. For example, some processors may not generate `float` or `integer` normalized text by default. Below are sample formats mapped to structured values. - Money/Currency type (`money_value`) is in the ISO 4217 text format. - Date type (`date_value`) is in the ISO 8601 text format. - Datetime type (`datetime_value`) is in the ISO 8601 text format.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentEntityRelation": { + "description": "Relationship between Entities.", + "id": "GoogleCloudDocumentaiV1DocumentEntityRelation", + "properties": { + "objectId": { + "description": "Object entity id.", "type": "string" }, - "snippetBylineDate": { - "description": "Byline date for time sensitive snippets. Most of the time it originates from quality_timebased::SyntacticDate and it is floored to PT midnight.", - "format": "int64", + "relation": { + "description": "Relationship description.", "type": "string" }, - "snippetExtraInfo": { - "$ref": "SnippetExtraInfo" + "subjectId": { + "description": "Subject entity id.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentPage": { + "description": "A page in a Document.", + "id": "GoogleCloudDocumentaiV1DocumentPage", + "properties": { + "blocks": { + "description": "A list of visually detected text blocks on the page. A block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageBlock" + }, + "type": "array" }, - "snippetHighlightMatchesBitmap": { - "description": "List of bitmaps representing matches to leaf query terms within each of the highlighted snippet text fragments. Consecutive bitmaps correspond to consecutive text fragments. It gets populated iff return_query_snippet_highlight_matches = true. Example: document body section: \"This cafe has pet friendly patio.\" squery: (a (o dog :o pet :syn:general) friendly :o (o restaurant :o cafe :syn:general)) Let's assume the returned snippet text contains the whole document body section where two fragments get highlighted as follows: \"This *cafe* has *pet friendly* patio.\" Then, the returned snippet_highlight_matches_bitmap[] list will have two bitmaps: bitmap[0] = \u003c\"cafe\" -\u003e leaf term with index 4\u003e = {encoded: DenseEncode(\"00001\"), size: 5} bitmap[1] = \u003c\"pet\" and \"friendly\" -\u003e leaf terms with indexes 1 and 2\u003e = {encoded: DenseEncode(\"011\"), size: 3}", + "detectedBarcodes": { + "description": "A list of detected barcodes.", "items": { - "$ref": "WWWSnippetResponseBitmapPB" + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedBarcode" }, "type": "array" }, - "snippetPageNumber": { - "description": "If requested the page number on which the snippet begins. (Only for documents such as PDFs where page numbers are well-defined.)", - "format": "int32", - "type": "integer" + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" + }, + "type": "array" }, - "snippetPrefixCharCount": { - "description": "Character counts of snippet prefix, if any. E.g. section heading, list summary, byline date.", - "format": "int32", - "type": "integer" + "dimension": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageDimension", + "description": "Physical dimension of the page." }, - "snippetRenderedToken": { - "description": "How tokens are rendered in generating snippet.", + "formFields": { + "description": "A list of visually detected form fields on the page.", "items": { - "$ref": "MustangSnippetsRenderedToken" + "$ref": "GoogleCloudDocumentaiV1DocumentPageFormField" }, "type": "array" }, - "snippethash": { - "description": "A hash for duplicate detection. Two results with the same content can return different snippets if, for example, one has an ODP entry and the other does not. Gws can use this value reliably to filter duplicates. It is a hash of body only tidbits.", - "format": "int64", - "type": "string" - }, - "snippetsRanklabFeatures": { - "$ref": "MustangReposWwwSnippetsSnippetsRanklabFeatures", - "description": "Records features to analyze titles/snippets in ranklab." + "image": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageImage", + "description": "Rendered image for this page. This image is preprocessed to remove any skew, rotation, and distortions such that the annotation bounding boxes can be upright and axis-aligned." }, - "squeryFingerprint": { - "deprecated": true, - "description": "This field is never set.", - "format": "uint64", - "type": "string" + "imageQualityScores": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageImageQualityScores", + "description": "Image quality scores." }, - "titleLengthAdjustedForBrowserWidth": { - "description": "True if the title length is already adjusted for the browser width. If it is true, GWS needs not truncate the title.", - "type": "boolean" + "layout": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for the page." }, - "titleRenderedToken": { - "deprecated": true, - "description": "How tokens are rendered in generating title. Note: In rendering a title, the page title part and the site/host/domain title part can be flipped after initial rendering. The flip, if happened, may not be reflected in this field. That is, this field may contain the tokens in the original, pre-flip, order.", + "lines": { + "description": "A list of visually detected text lines on the page. A collection of tokens that a human would perceive as a line.", "items": { - "$ref": "MustangSnippetsRenderedToken" + "$ref": "GoogleCloudDocumentaiV1DocumentPageLine" }, "type": "array" }, - "titleSizeParams": { - "$ref": "TitleSizeParams", - "description": "Will only be set when `title_use_num_of_chars` is false." - }, - "truncatedTitle": { - "description": "Only for desktop web search. Please refer to Title.keep_original_title_and_populate_truncated_one for more details.", - "type": "string" - } - }, - "type": "object" - }, - "WWWSnippetResponseBitmapPB": { - "description": "Encoded bitmap.", - "id": "WWWSnippetResponseBitmapPB", - "properties": { - "encoded": { - "format": "byte", - "type": "string" - }, - "size": { + "pageNumber": { + "description": "1-based index for current Page in a parent Document. Useful when a page is taken out of a Document for individual processing.", "format": "int32", "type": "integer" - } - }, - "type": "object" - }, - "WatchpageLanguageWatchPageLanguageModelPredictions": { - "description": "Next ID: 4", - "id": "WatchpageLanguageWatchPageLanguageModelPredictions", - "properties": { - "languageScore": { - "description": "A list of watchpage languages predicted arranged according to their scores.", + }, + "paragraphs": { + "description": "A list of visually detected text paragraphs on the page. A collection of lines that a human would perceive as a paragraph.", "items": { - "$ref": "WatchpageLanguageWatchPageLanguageModelPredictionsLanguageScore" + "$ref": "GoogleCloudDocumentaiV1DocumentPageParagraph" }, "type": "array" }, - "usesSpeechSignals": { - "description": "Does the prediction uses speech signals like audio language.", - "type": "boolean" + "provenance": { + "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", + "deprecated": true, + "description": "The history of this page." }, - "version": { - "description": "An identifier to recognize the model version used for this prediction.", - "enum": [ - "UNKNOWN_MODEL", - "V2" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "WatchpageLanguageWatchPageLanguageModelPredictionsLanguageScore": { - "description": "Next ID: 3", - "id": "WatchpageLanguageWatchPageLanguageModelPredictionsLanguageScore", - "properties": { - "score": { - "description": "Score for the predicted language by the WatchPage Language model.", - "format": "float", - "type": "number" + "symbols": { + "description": "A list of visually detected symbols on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageSymbol" + }, + "type": "array" }, - "watchpageLanguage": { - "description": "The language predicted by the WatchPage Language model.", - "enum": [ - "ENGLISH", - "DANISH", - "DUTCH", - "FINNISH", - "FRENCH", - "GERMAN", - "HEBREW", - "ITALIAN", - "JAPANESE", - "KOREAN", - "NORWEGIAN", - "POLISH", - "PORTUGUESE", - "RUSSIAN", - "SPANISH", - "SWEDISH", - "CHINESE", - "CZECH", - "GREEK", - "ICELANDIC", - "LATVIAN", - "LITHUANIAN", - "ROMANIAN", - "HUNGARIAN", - "ESTONIAN", - "TG_UNKNOWN_LANGUAGE", - "UNKNOWN_LANGUAGE", - "BULGARIAN", - "CROATIAN", - "SERBIAN", - "IRISH", - "GALICIAN", - "TAGALOG", - "TURKISH", - "UKRAINIAN", - "HINDI", - "MACEDONIAN", - "BENGALI", - "INDONESIAN", - "LATIN", - "MALAY", - "MALAYALAM", - "WELSH", - "NEPALI", - "TELUGU", - "ALBANIAN", - "TAMIL", - "BELARUSIAN", - "JAVANESE", - "OCCITAN", - "URDU", - "BIHARI", - "GUJARATI", - "THAI", - "ARABIC", - "CATALAN", - "ESPERANTO", - "BASQUE", - "INTERLINGUA", - "KANNADA", - "PUNJABI", - "SCOTS_GAELIC", - "SWAHILI", - "SLOVENIAN", - "MARATHI", - "MALTESE", - "VIETNAMESE", - "FRISIAN", - "SLOVAK", - "CHINESE_T", - "FAROESE", - "SUNDANESE", - "UZBEK", - "AMHARIC", - "AZERBAIJANI", - "GEORGIAN", - "TIGRINYA", - "PERSIAN", - "BOSNIAN", - "SINHALESE", - "NORWEGIAN_N", - "PORTUGUESE_P", - "PORTUGUESE_B", - "XHOSA", - "ZULU", - "GUARANI", - "SESOTHO", - "TURKMEN", - "KYRGYZ", - "BRETON", - "TWI", - "YIDDISH", - "SERBO_CROATIAN", - "SOMALI", - "UIGHUR", - "KURDISH", - "MONGOLIAN", - "ARMENIAN", - "LAOTHIAN", - "SINDHI", - "RHAETO_ROMANCE", - "AFRIKAANS", - "LUXEMBOURGISH", - "BURMESE", - "KHMER", - "TIBETAN", - "DHIVEHI", - "CHEROKEE", - "SYRIAC", - "LIMBU", - "ORIYA", - "ASSAMESE", - "CORSICAN", - "INTERLINGUE", - "KAZAKH", - "LINGALA", - "MOLDAVIAN", - "PASHTO", - "QUECHUA", - "SHONA", - "TAJIK", - "TATAR", - "TONGA", - "YORUBA", - "CREOLES_AND_PIDGINS_ENGLISH_BASED", - "CREOLES_AND_PIDGINS_FRENCH_BASED", - "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", - "CREOLES_AND_PIDGINS_OTHER", - "MAORI", - "WOLOF", - "ABKHAZIAN", - "AFAR", - "AYMARA", - "BASHKIR", - "BISLAMA", - "DZONGKHA", - "FIJIAN", - "GREENLANDIC", - "HAUSA", - "HAITIAN_CREOLE", - "INUPIAK", - "INUKTITUT", - "KASHMIRI", - "KINYARWANDA", - "MALAGASY", - "NAURU", - "OROMO", - "RUNDI", - "SAMOAN", - "SANGO", - "SANSKRIT", - "SISWANT", - "TSONGA", - "TSWANA", - "VOLAPUK", - "ZHUANG", - "KHASI", - "SCOTS", - "GANDA", - "MANX", - "MONTENEGRIN", - "AKAN", - "IGBO", - "MAURITIAN_CREOLE", - "HAWAIIAN", - "CEBUANO", - "EWE", - "GA", - "HMONG", - "KRIO", - "LOZI", - "LUBA_LULUA", - "LUO_KENYA_AND_TANZANIA", - "NEWARI", - "NYANJA", - "OSSETIAN", - "PAMPANGA", - "PEDI", - "RAJASTHANI", - "SESELWA_CREOLE_FRENCH", - "TUMBUKA", - "VENDA", - "WARAY_PHILIPPINES", - "NUM_LANGUAGES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Norwegian\" = \"no\" normally implies Bokmål (\"nb\"). See also NORWEGIAN_N. Consider using IsNorwegianLanguage().", - "", - "WARNING: \"Portuguese\" in the enum Language implies the Iberian variant, while Google and industry standard practice is for \"pt\" to imply Brazilian, for the much larger population. The old LanguageCode() function returns \"pt\" for legacy reasons. The III LanguageEnumLanguageCodeConverter converts it to \"pt-PT\" to preserve the semantics. Converting between this legacy enum and industry-standard language tags cannot preserve the distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage().", - "", - "", - "", - "\"Chinese\" normally implies simplified Han characters (\"zh-Hans\"). See also CHINESE_T. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage().", - "", - "", - "", - "", - "", - "", - "Serbian is commonly written in two scripts. The default is Cyrillic (\"sr\" = \"sr-Cyrl\"). It is also often written with Latin letters (\"sr-Latn\"). This enum does not convey that distinction.", - "", - "", - "TAGALOG is used to mean both Tagalog (tl) and Filipino (fil). These are nearly the same; Filipino is the official language, and \"fil\" is normally used for UI settings etc. The old LanguageCode() function returns \"tl\".", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Bihari\" is not a language: There are several different languages spoken in and around the Indian state of Bihar. This is like saying \"Swiss\" to mean German+French+Italian+Romansh.", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Chinese written in traditional Han characters (\"zh-Hant\"). See also CHINESE. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "UI only. LangId language: CROATIAN (28)", - "", - "Norwegian Nynorsk (\"nn\"). See also NORWEGIAN. Consider using IsNorwegianLanguage(). UI only. LangId language: NORWEGIAN (10)", - "Portuguese in Portugal (\"pt-PT\"). See the WARNING at PORTUGUESE. Avoid a distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "Portuguese in Brazil (\"pt-BR\"). Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "", - "UI only.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "", - "This has been documented as \"Kurmanji (kmr) + Sorani (ckb) + Kurdish (ku)\". There are several kinds of Kurdish languages. \"ku\" normally implies Northern Kurdish = Kurmanji (kmr) which is normally written in Latin letters. \"ckb\" is Central Kurdish (largely in Iraq) which is normally written in Arabic letters (thus right-to-left).", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "sometimes spelled Divehi; lang of Maldives", - "", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "\"Moldavian\" is the same language as Romanian. In language tags, \"ro-MD\" can be used but is not normally necessary. Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage(). UI only. LangId language: ROMANIAN (22)", - "", - "", - "UI only.", - "", - "", - "", - "", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only. More commonly called Luganda.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "Translate only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "Translate only.", - "Translate only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "Always keep this at the end. It is not a" - ], - "type": "string" - } - }, - "type": "object" - }, - "WatchpageLanguageWatchPageLanguageResult": { - "description": "Next ID: 3", - "id": "WatchpageLanguageWatchPageLanguageResult", - "properties": { - "predictions": { - "description": "Versioned WatchPageLanguageResults. This is to experiment and launch new models. The first prediction is the latest production version.", + "tables": { + "description": "A list of visually detected tables on the page.", "items": { - "$ref": "WatchpageLanguageWatchPageLanguageModelPredictions" + "$ref": "GoogleCloudDocumentaiV1DocumentPageTable" }, "type": "array" }, - "watchpageLanguage": { - "description": "The language predicted by the V1 WatchPage Language model. For new and experimental versions use versioned_language_result.", - "enum": [ - "ENGLISH", - "DANISH", - "DUTCH", - "FINNISH", - "FRENCH", - "GERMAN", - "HEBREW", - "ITALIAN", - "JAPANESE", - "KOREAN", - "NORWEGIAN", - "POLISH", - "PORTUGUESE", - "RUSSIAN", - "SPANISH", - "SWEDISH", - "CHINESE", - "CZECH", - "GREEK", - "ICELANDIC", - "LATVIAN", - "LITHUANIAN", - "ROMANIAN", - "HUNGARIAN", - "ESTONIAN", - "TG_UNKNOWN_LANGUAGE", - "UNKNOWN_LANGUAGE", - "BULGARIAN", - "CROATIAN", - "SERBIAN", - "IRISH", - "GALICIAN", - "TAGALOG", - "TURKISH", - "UKRAINIAN", - "HINDI", - "MACEDONIAN", - "BENGALI", - "INDONESIAN", - "LATIN", - "MALAY", - "MALAYALAM", - "WELSH", - "NEPALI", - "TELUGU", - "ALBANIAN", - "TAMIL", - "BELARUSIAN", - "JAVANESE", - "OCCITAN", - "URDU", - "BIHARI", - "GUJARATI", - "THAI", - "ARABIC", - "CATALAN", - "ESPERANTO", - "BASQUE", - "INTERLINGUA", - "KANNADA", - "PUNJABI", - "SCOTS_GAELIC", - "SWAHILI", - "SLOVENIAN", - "MARATHI", - "MALTESE", - "VIETNAMESE", - "FRISIAN", - "SLOVAK", - "CHINESE_T", - "FAROESE", - "SUNDANESE", - "UZBEK", - "AMHARIC", - "AZERBAIJANI", - "GEORGIAN", - "TIGRINYA", - "PERSIAN", - "BOSNIAN", - "SINHALESE", - "NORWEGIAN_N", - "PORTUGUESE_P", - "PORTUGUESE_B", - "XHOSA", - "ZULU", - "GUARANI", - "SESOTHO", - "TURKMEN", - "KYRGYZ", - "BRETON", - "TWI", - "YIDDISH", - "SERBO_CROATIAN", - "SOMALI", - "UIGHUR", - "KURDISH", - "MONGOLIAN", - "ARMENIAN", - "LAOTHIAN", - "SINDHI", - "RHAETO_ROMANCE", - "AFRIKAANS", - "LUXEMBOURGISH", - "BURMESE", - "KHMER", - "TIBETAN", - "DHIVEHI", - "CHEROKEE", - "SYRIAC", - "LIMBU", - "ORIYA", - "ASSAMESE", - "CORSICAN", - "INTERLINGUE", - "KAZAKH", - "LINGALA", - "MOLDAVIAN", - "PASHTO", - "QUECHUA", - "SHONA", - "TAJIK", - "TATAR", - "TONGA", - "YORUBA", - "CREOLES_AND_PIDGINS_ENGLISH_BASED", - "CREOLES_AND_PIDGINS_FRENCH_BASED", - "CREOLES_AND_PIDGINS_PORTUGUESE_BASED", - "CREOLES_AND_PIDGINS_OTHER", - "MAORI", - "WOLOF", - "ABKHAZIAN", - "AFAR", - "AYMARA", - "BASHKIR", - "BISLAMA", - "DZONGKHA", - "FIJIAN", - "GREENLANDIC", - "HAUSA", - "HAITIAN_CREOLE", - "INUPIAK", - "INUKTITUT", - "KASHMIRI", - "KINYARWANDA", - "MALAGASY", - "NAURU", - "OROMO", - "RUNDI", - "SAMOAN", - "SANGO", - "SANSKRIT", - "SISWANT", - "TSONGA", - "TSWANA", - "VOLAPUK", - "ZHUANG", - "KHASI", - "SCOTS", - "GANDA", - "MANX", - "MONTENEGRIN", - "AKAN", - "IGBO", - "MAURITIAN_CREOLE", - "HAWAIIAN", - "CEBUANO", - "EWE", - "GA", - "HMONG", - "KRIO", - "LOZI", - "LUBA_LULUA", - "LUO_KENYA_AND_TANZANIA", - "NEWARI", - "NYANJA", - "OSSETIAN", - "PAMPANGA", - "PEDI", - "RAJASTHANI", - "SESELWA_CREOLE_FRENCH", - "TUMBUKA", - "VENDA", - "WARAY_PHILIPPINES", - "NUM_LANGUAGES" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Norwegian\" = \"no\" normally implies Bokmål (\"nb\"). See also NORWEGIAN_N. Consider using IsNorwegianLanguage().", - "", - "WARNING: \"Portuguese\" in the enum Language implies the Iberian variant, while Google and industry standard practice is for \"pt\" to imply Brazilian, for the much larger population. The old LanguageCode() function returns \"pt\" for legacy reasons. The III LanguageEnumLanguageCodeConverter converts it to \"pt-PT\" to preserve the semantics. Converting between this legacy enum and industry-standard language tags cannot preserve the distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage().", - "", - "", - "", - "\"Chinese\" normally implies simplified Han characters (\"zh-Hans\"). See also CHINESE_T. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage().", - "", - "", - "", - "", - "", - "", - "Serbian is commonly written in two scripts. The default is Cyrillic (\"sr\" = \"sr-Cyrl\"). It is also often written with Latin letters (\"sr-Latn\"). This enum does not convey that distinction.", - "", - "", - "TAGALOG is used to mean both Tagalog (tl) and Filipino (fil). These are nearly the same; Filipino is the official language, and \"fil\" is normally used for UI settings etc. The old LanguageCode() function returns \"tl\".", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "\"Bihari\" is not a language: There are several different languages spoken in and around the Indian state of Bihar. This is like saying \"Swiss\" to mean German+French+Italian+Romansh.", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Chinese written in traditional Han characters (\"zh-Hant\"). See also CHINESE. Consider using IsChineseLanguage().", - "", - "", - "", - "", - "", - "", - "UI only.", - "", - "UI only. LangId language: CROATIAN (28)", - "", - "Norwegian Nynorsk (\"nn\"). See also NORWEGIAN. Consider using IsNorwegianLanguage(). UI only. LangId language: NORWEGIAN (10)", - "Portuguese in Portugal (\"pt-PT\"). See the WARNING at PORTUGUESE. Avoid a distinction between PORTUGUESE and PORTUGUESE_P. Relying on it is a bug. Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "Portuguese in Brazil (\"pt-BR\"). Consider using IsPortugueseLanguage(). UI only. LangId language: PORTUGUESE (12)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "", - "UI only.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "", - "This has been documented as \"Kurmanji (kmr) + Sorani (ckb) + Kurdish (ku)\". There are several kinds of Kurdish languages. \"ku\" normally implies Northern Kurdish = Kurmanji (kmr) which is normally written in Latin letters. \"ckb\" is Central Kurdish (largely in Iraq) which is normally written in Arabic letters (thus right-to-left).", - "", - "", - "", - "", - "UI only.", - "", - "", - "", - "", - "", - "sometimes spelled Divehi; lang of Maldives", - "", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "\"Moldavian\" is the same language as Romanian. In language tags, \"ro-MD\" can be used but is not normally necessary. Avoid making a distinction between ROMANIAN and MOLDAVIAN. Consider using IsRomanianLanguage(). UI only. LangId language: ROMANIAN (22)", - "", - "", - "UI only.", - "", - "", - "", - "", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "This is a vague group of languages, not one language. UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "UI only. More commonly called Luganda.", - "UI only.", - "UI only. LangId language: SERBIAN (29)", - "UI only.", - "UI only.", - "UI only.", - "UI only.", - "Translate only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "CLD only.", - "Translate only.", - "Translate only.", - "CLD only.", - "Translate only.", - "CLD only.", - "CLD only.", - "CLD only.", - "Translate only.", - "Always keep this at the end. It is not a" - ], - "type": "string" + "tokens": { + "description": "A list of visually detected tokens on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageToken" + }, + "type": "array" + }, + "transforms": { + "description": "Transformation matrices that were applied to the original document image to produce Page.image.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageMatrix" + }, + "type": "array" + }, + "visualElements": { + "description": "A list of detected non-text visual elements e.g. checkbox, signature etc. on the page.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageVisualElement" + }, + "type": "array" } }, "type": "object" }, - "WeboftrustLiveResultDocBoostData": { - "description": "Page boosting using Live Results data. Attaching this proto to a document indicates that a Live Result feed exists for that document, and that this feed has sufficient reliability to warrant potential boosting of the document rank. Next ID: 3", - "id": "WeboftrustLiveResultDocBoostData", + "GoogleCloudDocumentaiV1DocumentPageAnchor": { + "description": "Referencing the visual context of the entity in the Document.pages. Page anchors can be cross-page, consist of multiple bounding polygons and optionally reference specific layout element types.", + "id": "GoogleCloudDocumentaiV1DocumentPageAnchor", "properties": { - "boostLevel": { - "description": "Identifies the degree to which the existence of this LiveResult should boost a query's score (when the query is performed within the hot_times range). This field is always in the range [0,1]. A missing field, a value of 0, or a value outside the legal range indicates that no boosting is performed. A value of 1 indicates that the maximum level of boosting will be applied. This field will be updated from time to time based on CTR and other signals.", - "format": "float", - "type": "number" - }, - "hotTimes": { - "$ref": "WeboftrustTimeRange", - "description": "Specifies the time range within which this LiveResult is relevant. Used for deciding whether the rank of the corresponding page should be boosted. For example, this range can be set to encompass a few days before and after a sports game to which the page refers. If this field is missing, no boosting is performed. Specifying that a page should always be boosted is not recommended, but can be accomplished by setting hot_times.start_unix_time=0 and hot_time.end_unix_time=0x7fffffff. Note that multiple time ranges can be implemented by adding several LiveResultDocBoostData messages to the LiveResultsDocAttachments proto. If overlapping time ranges are used, the proto containing the highest boost level will be used." + "pageRefs": { + "description": "One or more references to visual page elements", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageAnchorPageRef" + }, + "type": "array" } }, "type": "object" }, - "WeboftrustLiveResultProviderDocAttachment": { - "description": "Per-provider attachment of a LiveResult. Used to identify pages for which result-based triggering of Live Results should appear. Theoretically there can be more than one attachment per web document, so we keep them as a repeated field of the LiveResultsDocAttachment. Next ID: 4", - "id": "WeboftrustLiveResultProviderDocAttachment", + "GoogleCloudDocumentaiV1DocumentPageAnchorPageRef": { + "description": "Represents a weak reference to a page element within a document.", + "id": "GoogleCloudDocumentaiV1DocumentPageAnchorPageRef", "properties": { - "providerId": { - "format": "uint64", + "boundingPoly": { + "$ref": "GoogleCloudDocumentaiV1BoundingPoly", + "description": "Optional. Identifies the bounding polygon of a layout element on the page. If `layout_type` is set, the bounding polygon must be exactly the same to the layout element it's referring to." + }, + "confidence": { + "description": "Optional. Confidence of detected page element, if applicable. Range `[0, 1]`.", + "format": "float", + "type": "number" + }, + "layoutId": { + "deprecated": true, + "description": "Optional. Deprecated. Use PageRef.bounding_poly instead.", "type": "string" }, - "tag": { - "description": "Tag that specifies the use-case within provider's data. It appears as a string in Alexandria signal and in the DocJoins. During the indexing stage this field will be converted to a 64-bit fingerprint to save space. See the \"tag_fp\" field, below.", + "layoutType": { + "description": "Optional. The type of the layout element that is being referenced if any.", + "enum": [ + "LAYOUT_TYPE_UNSPECIFIED", + "BLOCK", + "PARAGRAPH", + "LINE", + "TOKEN", + "VISUAL_ELEMENT", + "TABLE", + "FORM_FIELD" + ], + "enumDescriptions": [ + "Layout Unspecified.", + "References a Page.blocks element.", + "References a Page.paragraphs element.", + "References a Page.lines element.", + "References a Page.tokens element.", + "References a Page.visual_elements element.", + "Refrrences a Page.tables element.", + "References a Page.form_fields element." + ], "type": "string" }, - "tagFp": { - "description": "A fingerprint of the \"tag\" field, automatically calculated during the indexing stage. Will be used as a key for fetching the data.", - "format": "uint64", + "page": { + "description": "Required. Index into the Document.pages element, for example using `Document.pages` to locate the related page element. This field is skipped when its value is the default `0`. See https://developers.google.com/protocol-buffers/docs/proto3#json.", + "format": "int64", "type": "string" } }, "type": "object" }, - "WeboftrustLiveResultsDocAttachments": { - "description": "Message to which we attach to web documents in order to decide which LiveResult to trigger. Next ID: 3", - "id": "WeboftrustLiveResultsDocAttachments", + "GoogleCloudDocumentaiV1DocumentPageBlock": { + "description": "A block has a set of lines (collected into paragraphs) that have a common line-spacing and orientation.", + "id": "GoogleCloudDocumentaiV1DocumentPageBlock", "properties": { - "docBoost": { - "description": "Information about potential rank boosting for the document by virtue of its Live Result feed.", + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", "items": { - "$ref": "WeboftrustLiveResultDocBoostData" + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" }, "type": "array" }, - "providerAttachment": { - "description": "Identifies a Live Result which is to be attached to the document.", - "items": { - "$ref": "WeboftrustLiveResultProviderDocAttachment" - }, - "type": "array" + "layout": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for Block." + }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", + "deprecated": true, + "description": "The history of this annotation." } }, "type": "object" }, - "WeboftrustTimeRange": { - "description": "Time range (start time and end time). Used to indicate the times in which a LiveResult is considered \"hot\" and thus a potential for boosting. Specified as Unix time (seconds since midnight, January 1, 1970). Time zone is same as that for query_start_time (i.e., GMT). Next ID: 3", - "id": "WeboftrustTimeRange", + "GoogleCloudDocumentaiV1DocumentPageDetectedBarcode": { + "description": "A detected barcode.", + "id": "GoogleCloudDocumentaiV1DocumentPageDetectedBarcode", "properties": { - "endUnixTime": { - "format": "int64", - "type": "string" + "barcode": { + "$ref": "GoogleCloudDocumentaiV1Barcode", + "description": "Detailed barcode information of the DetectedBarcode." }, - "startUnixTime": { - "description": "Start and end times should always appear. Marked as optional to avoid breaking code.", - "format": "int64", - "type": "string" + "layout": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for DetectedBarcode." } }, "type": "object" }, - "WebutilHtmlTypesSafeHtmlProto": { - "description": "IMPORTANT: It is unsafe to accept this message from an untrusted source, since it's trivial for an attacker to forge serialized messages that don't fulfill the type's safety contract -- for example, it could contain attacker controlled script. A system which receives a SafeHtmlProto implicitly trusts the producer of the SafeHtmlProto. So, it's generally safe to return this message in RPC responses, but generally unsafe to accept it in RPC requests.", - "id": "WebutilHtmlTypesSafeHtmlProto", + "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage": { + "description": "Detected language for a structural component.", + "id": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage", "properties": { - "privateDoNotAccessOrElseSafeHtmlWrappedValue": { - "description": "IMPORTANT: Never set or read this field, even from tests, it is private. See documentation at the top of .proto file for programming language packages with which to create or read this message.", + "confidence": { + "description": "Confidence of detected language. Range `[0, 1]`.", + "format": "float", + "type": "number" + }, + "languageCode": { + "description": "The [BCP-47 language code](https://www.unicode.org/reports/tr35/#Unicode_locale_identifier), such as `en-US` or `sr-Latn`.", "type": "string" } }, "type": "object" }, - "WirelessTranscoderFetchFetchMetadata": { - "id": "WirelessTranscoderFetchFetchMetadata", + "GoogleCloudDocumentaiV1DocumentPageDimension": { + "description": "Dimension for the page.", + "id": "GoogleCloudDocumentaiV1DocumentPageDimension", "properties": { - "name": { - "type": "string" + "height": { + "description": "Page height.", + "format": "float", + "type": "number" }, - "value": { - "format": "byte", + "unit": { + "description": "Dimension unit.", "type": "string" + }, + "width": { + "description": "Page width.", + "format": "float", + "type": "number" } }, "type": "object" }, - "WirelessTranscoderFetchFetchSourceInfo": { - "description": "To tag which fetcher satisfied this fetch request with optional detail.", - "id": "WirelessTranscoderFetchFetchSourceInfo", + "GoogleCloudDocumentaiV1DocumentPageFormField": { + "description": "A form field detected on the page.", + "id": "GoogleCloudDocumentaiV1DocumentPageFormField", "properties": { - "detail": { - "description": "Provides fetcher-specific detail about how source satisfied the request.", + "correctedKeyText": { + "description": "Created for Labeling UI to export key text. If corrections were made to the text identified by the `field_name.text_anchor`, this field will contain the correction.", "type": "string" }, - "source": { - "description": "The fetcher that ultimately satisfied this fetch request.", + "correctedValueText": { + "description": "Created for Labeling UI to export value text. If corrections were made to the text identified by the `field_value.text_anchor`, this field will contain the correction.", + "type": "string" + }, + "fieldName": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for the FormField name. e.g. `Address`, `Email`, `Grand total`, `Phone number`, etc." + }, + "fieldValue": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for the FormField value." + }, + "nameDetectedLanguages": { + "description": "A list of detected languages for name together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", + "description": "The history of this annotation." + }, + "valueDetectedLanguages": { + "description": "A list of detected languages for value together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "valueType": { + "description": "If the value is non-textual, this field represents the type. Current valid values are: - blank (this indicates the `field_value` is normal text) - `unfilled_checkbox` - `filled_checkbox`", "type": "string" } }, "type": "object" }, - "YoutubeBackstageSuperVodCommentInfo": { - "description": "Contains information about comment that is posted through a Super Thanks purchase. Next ID: 7", - "id": "YoutubeBackstageSuperVodCommentInfo", + "GoogleCloudDocumentaiV1DocumentPageImage": { + "description": "Rendered image contents for this page.", + "id": "GoogleCloudDocumentaiV1DocumentPageImage", "properties": { - "currencyCode": { - "description": "Currency code the user uses to purchase this Super Thanks item.", + "content": { + "description": "Raw byte content of the image.", + "format": "byte", "type": "string" }, - "entitlementId": { - "deprecated": true, - "description": "The ID of the Super Thanks entitlement. It uniquely identifies a Super Thanks purchase. This field is deprecated in favor of transaction_id, see go/st-deprecate-ent-id.", - "type": "string" + "height": { + "description": "Height of the image in pixels.", + "format": "int32", + "type": "integer" }, - "priceInMicros": { - "description": "Price of Super Thanks item the user purchases in micros.", - "format": "uint64", + "mimeType": { + "description": "Encoding [media type (MIME type)](https://www.iana.org/assignments/media-types/media-types.xhtml) for the image.", "type": "string" }, - "superVodItemId": { - "description": "The Super Thanks item the user purchases, it represents price tier.", - "type": "string" + "width": { + "description": "Width of the image in pixels.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentPageImageQualityScores": { + "description": "Image quality scores for the page image.", + "id": "GoogleCloudDocumentaiV1DocumentPageImageQualityScores", + "properties": { + "detectedDefects": { + "description": "A list of detected defects.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect" + }, + "type": "array" }, - "transactionId": { - "description": "The ID of the Super Thanks transaction. It uniquely identifies a Super Thanks purchase.", - "type": "string" + "qualityScore": { + "description": "The overall quality score. Range `[0, 1]` where `1` is perfect quality.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect": { + "description": "Image Quality Defects", + "id": "GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect", + "properties": { + "confidence": { + "description": "Confidence of detected defect. Range `[0, 1]` where `1` indicates strong confidence that the defect exists.", + "format": "float", + "type": "number" }, - "version": { - "description": "Which version of experiment this Super Thanks comment is posted in.", - "enum": [ - "UNSPECIFIED_VERSION", - "V1_DEFAULT_MESSAGE", - "V2_DECORATED_DEFAULT_MESSAGE", - "V3_USER_GENERATED_MESSAGE" - ], - "enumDeprecated": [ - false, - true, - false, - false - ], - "enumDescriptions": [ - "", - "DEPRECATED since decorated comments are fully launched. Comments previously posted with this enum value will continue to exist. Undecorated Comment. When user buys a Super Thanks, a comment with default message will be automatically posted on behalf of the user.", - "Decorated Comment. When user buys a Super Thanks, a comment with default message and a special decoration will be automatically posted on behalf of the user. https://screenshot.googleplex.com/6aYvGnX5Bp9bT9Q", - "UGC. When user buys a Super Thanks, they can write their own UGC comment which will be decorated and automatically posted on behalf of the user." - ], + "type": { + "description": "Name of the defect type. Supported values are: - `quality/defect_blurry` - `quality/defect_noisy` - `quality/defect_dark` - `quality/defect_faint` - `quality/defect_text_too_small` - `quality/defect_document_cutoff` - `quality/defect_text_cutoff` - `quality/defect_glare`", "type": "string" } }, "type": "object" }, - "YoutubeCommentsApiCommentEnforcementStatus": { - "description": "Derived fields that encapsulate the possible enforcement states of a Comment. Used to influence the viewer experience. NextID: 11 ----- CommentDemotedRestriction Summary ----- Demoted Restriction hides live chat messages from being shown in Top Chat.", - "id": "YoutubeCommentsApiCommentEnforcementStatus", + "GoogleCloudDocumentaiV1DocumentPageLayout": { + "description": "Visual element describing a layout unit on a page.", + "id": "GoogleCloudDocumentaiV1DocumentPageLayout", "properties": { - "demotedRestrictionSeverity": { - "description": "Output only. The severity of the active demotion. At most one CommentDemotedRestriction can be active at any time. Only supported for Comments with an associated ChatEvent.", - "enum": [ - "SEVERITY_UNSPECIFIED", - "MINOR", - "MEDIUM", - "MAJOR" - ], - "enumDescriptions": [ - "", - "Verdict with minor level severity. Restriction is active only when QPS\u003e=10. Maps to DO_NOT_PROMOTE verdict.", - "Verdict with medium level severity. Restriction is active only when QPS\u003e=4. Maps to DEMOTE verdict.", - "Verdict with major level severity. Restriction is active at any QPS. Maps to DO_NOT_INDEX verdict." - ], - "readOnly": true, - "type": "string" - }, - "exemptFromHold": { - "description": "Output only. True if the comment is auto-approved by creator-defined roles and is not subject to automod hold.", - "readOnly": true, - "type": "boolean" + "boundingPoly": { + "$ref": "GoogleCloudDocumentaiV1BoundingPoly", + "description": "The bounding polygon for the Layout." }, - "held": { - "description": "Output only. True if the comment is held and going to be reviewed by channel owner or moderators. The issuers that can hold entity comments are: 1) TNS 2) AUTOMOD, 3) CHANNEL_SETTINGS, 4) CHANNEL_MODERATOR, 5)GLOBAL, 6) ISSUER_UNSPECIFIED. The issuers that can hold live chat are // 1) AUTOMOD, 2) GLOBAL, 3) ISSUER_UNSPECIFIED. Issuer definitions: https://source.corp.google.com/piper///depot/google3/video/youtube/comments/api/proto/comment_restriction_issuer.proto;rcl=586954033;l=15 This is used to infer the SBE moderation_state for entity comment and live chat.", - "readOnly": true, - "type": "boolean" + "confidence": { + "description": "Confidence of the current Layout within context of the object this layout is for. e.g. confidence can be for a single token, a table, a visual element, etc. depending on context. Range `[0, 1]`.", + "format": "float", + "type": "number" }, - "heldForCreatorReviewStatus": { - "description": "Output only. The moderation state of comments that have been held. Currently only effective for live chat because we can not tell the rejected creator review status for entity comments from current data model.", + "orientation": { + "description": "Detected orientation for the Layout.", "enum": [ - "HELD_FOR_CREATOR_REVIEW_STATUS_UNSPECIFIED", - "HELD", - "APPROVED", - "REJECTED" + "ORIENTATION_UNSPECIFIED", + "PAGE_UP", + "PAGE_RIGHT", + "PAGE_DOWN", + "PAGE_LEFT" ], "enumDescriptions": [ - "", - "The comment should be held for creator review.", - "The comment was manually approved by a privileged user.", - "The comment was manually rejected by a privileged user." + "Unspecified orientation.", + "Orientation is aligned with page up.", + "Orientation is aligned with page right. Turn the head 90 degrees clockwise from upright to read.", + "Orientation is aligned with page down. Turn the head 180 degrees from upright to read.", + "Orientation is aligned with page left. Turn the head 90 degrees counterclockwise from upright to read." ], - "readOnly": true, "type": "string" }, - "moderated": { - "description": "Output only. True if the comment is moderated and not overridden by creator reviews.", - "readOnly": true, - "type": "boolean" - }, - "moderatedByBlockedWords": { - "description": "Output only. True if the comment is moderated due to any of the creator-defined blocked words.", - "readOnly": true, - "type": "boolean" - }, - "moderatedByChatRemoval": { - "description": "Output only. Live Chat only. True only if the live chat message is directly moderated by a privileged user from Live Chat chat room. go/ytfexit-live-chat-moderation#remove-chat-messages", - "readOnly": true, - "type": "boolean" - }, - "moderatedByTns": { - "description": "Output only. True if the comment is moderated by TnS. Maps to SBE Spam http://google3/video/youtube/comments/backstage/backend/lib/stream_v2/stream_item_reader.cc?l=597", - "readOnly": true, - "type": "boolean" + "textAnchor": { + "$ref": "GoogleCloudDocumentaiV1DocumentTextAnchor", + "description": "Text anchor indexing into the Document.text." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentPageLine": { + "description": "A collection of tokens that a human would perceive as a line. Does not cross column boundaries, can be horizontal, vertical, etc.", + "id": "GoogleCloudDocumentaiV1DocumentPageLine", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" + }, + "type": "array" }, - "rejected": { - "description": "Output only. True if the comment is rejected or taken down by TNS.", - "readOnly": true, - "type": "boolean" + "layout": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for Line." }, - "userModerationDecision": { - "$ref": "YoutubeCommentsApiCommentEnforcementStatusUserModerationDecision", - "description": "Output only. The moderation decision on comments from privileged users. This field can be used to take place of `held_for_creator_review_status` for live chat, together with `held_by_non_tns`.", - "readOnly": true + "provenance": { + "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", + "deprecated": true, + "description": "The history of this annotation." } }, "type": "object" }, - "YoutubeCommentsApiCommentEnforcementStatusUserModerationDecision": { - "id": "YoutubeCommentsApiCommentEnforcementStatusUserModerationDecision", + "GoogleCloudDocumentaiV1DocumentPageMatrix": { + "description": "Representation for transformation matrix, intended to be compatible and used with OpenCV format for image manipulation.", + "id": "GoogleCloudDocumentaiV1DocumentPageMatrix", "properties": { - "moderationStatus": { - "description": "The moderation status of comments due to privileged user decision. Privileged user can manually reject comments in multiple ways or approve held comments.", - "enum": [ - "MODERATION_STATUS_UNSPECIFIED", - "APPROVED", - "REJECTED" - ], - "enumDescriptions": [ - "", - "The comment is manually approved by a privileged user.", - "The comment is manually rejected by a privileged user." - ], - "type": "string" + "cols": { + "description": "Number of columns in the matrix.", + "format": "int32", + "type": "integer" }, - "rejectType": { - "description": "For comments with REJECTED status, it can result from privileged users directly rejecting comments or reviewing comments that have been held, for both entity comment and live chat, but reject type is only captured for live chat because we are not able to distinguish the 2 types from data model for entity comment.", - "enum": [ - "REJECT_TYPE_UNSPECIFIED", - "DIRECT_REJECT", - "REVIEW_HELD_AND_REJECT" - ], - "enumDescriptions": [ - "", - "", - "" - ], + "data": { + "description": "The matrix data.", + "format": "byte", "type": "string" + }, + "rows": { + "description": "Number of rows in the matrix.", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "This encodes information about what data type the matrix uses. For example, 0 (CV_8U) is an unsigned 8-bit image. For the full list of OpenCV primitive data types, please refer to https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "YoutubeCommentsApiCommentModeratedRestriction": { - "description": "Data representing a comment moderated restriction. A moderated comment is hidden from all viewers except for comment author. A comment can be moderated due to multiple moderated restrictions from multiple issuers. Each is represented by a CommentModeratedRestriction entry which is uniquely identified by the external comment id and the create time in the storage. Conceptually, there should be exactly one moderated restriction for a specific reason per issuer per reviewable value and this constraint will be enforced in the Comment API endpoints. For more context see go/yt-comment-restriction-data-model ## Next id: 11. ## Spanner primary key attributes", - "id": "YoutubeCommentsApiCommentModeratedRestriction", + "GoogleCloudDocumentaiV1DocumentPageParagraph": { + "description": "A collection of lines that a human would perceive as a paragraph.", + "id": "GoogleCloudDocumentaiV1DocumentPageParagraph", "properties": { - "autoModEnforcements": { - "description": "Live chat auto moderation only. The HOLD decisions and whether they are enforced correspondingly.", + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", "items": { - "$ref": "YoutubeCommentsApiCommentModeratedRestrictionAutoModDecisionEnforcement" + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" }, "type": "array" }, - "createTime": { - "description": "Required. The creation time of this restriction.", - "format": "google-datetime", - "type": "string" - }, - "externalCommentId": { - "description": "Required. The external ID of the comment that this restriction described.", - "type": "string" - }, - "issuer": { - "$ref": "YoutubeCommentsApiCommentRestrictionIssuer", - "description": "Required. The system who moderated the comment. For CommentModeratedRestriction all issuer enums apply.\"Issuer\" is different from the grouping for permission check, which will be enforced via Boq Scaffolding RpcSecurityPolicy." - }, - "reason": { - "$ref": "YoutubeCommentsApiCommentRestrictionReason", - "description": "Required. The specific restriction reason why the comment is moderated. When Automod issues multiple HOLD decisions for a chat message, they always share the same reason." - }, - "reviewable": { - "description": "True if moderation comes from T\u0026S, Automod, and some of channel owner settings and comments will be put into \"Held For Review\" queue for channel owner review. After any creator review, this restriction will remain in this status to capture the original restriction. True maps to ModerationState=HOLD in Stanza. False if moderation results from channel owner manual opertation or author in hidden user list, and maps to ModerationState=REJECTED in Stanza.", - "type": "boolean" + "layout": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for Paragraph." }, - "status": { - "description": "Required. For moderated restriction on comment and live chat but not issued by Automod, the field should be always set to ACTIVE. For Automod moderation on live chat, the restriction is active as long as one of the HOLD decisions is enforced. Can only be changed by upcoming QPS threshold configuration changes and backfills.", - "enum": [ - "STATUS_UNSPECIFIED", - "ACTIVE", - "DORMANT" - ], - "enumDescriptions": [ - "TODO(b/272779130) Do not use for new use cases. For existing data, treat as ACTIVE before backfill.", - "The restriction is enforced to restrict the visibility of the chat message.", - "Only used for live chat auto moderation. The restriction is not enforced and dormant at this moment due to not meeting QPS requirement at creation time. This is still persisted in case the requirement is changed and needs backfill, rather than retaining restriction history. The backfill might bring dormant restrictions to active status." - ], - "type": "string" + "provenance": { + "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", + "deprecated": true, + "description": "The history of this annotation." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentPageSymbol": { + "description": "A detected symbol.", + "id": "GoogleCloudDocumentaiV1DocumentPageSymbol", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" + }, + "type": "array" }, - "updateTime": { - "description": "The timestamp when this restriction is updated.", - "format": "google-datetime", - "type": "string" + "layout": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for Symbol." } }, "type": "object" }, - "YoutubeCommentsApiCommentModeratedRestrictionAutoModDecisionEnforcement": { - "description": "Whether a HOLD decision is enforced based on the decision name and QPS requirement. For LiveChat, there could be multiple Automod moderations generated at chat message creation time. Only HOLD decisions are persisted. At most one HOLD decision can be enforced based on write QPS.", - "id": "YoutubeCommentsApiCommentModeratedRestrictionAutoModDecisionEnforcement", + "GoogleCloudDocumentaiV1DocumentPageTable": { + "description": "A table representation similar to HTML table structure.", + "id": "GoogleCloudDocumentaiV1DocumentPageTable", "properties": { - "enforced": { - "description": "Whether or not the decision is enforced.", - "type": "boolean" + "bodyRows": { + "description": "Body rows of the table.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageTableTableRow" + }, + "type": "array" }, - "name": { - "description": "Current the enforcement rule depends on live chat write QPS at chat message creation time. Enforce MEDIAN when QPS\u003c=4. Enforce HIGH_RECALL when QPS\u003e4 AND QPS\u003c=10. Enforce ULTRA_HIGH_RECALL when QPS\u003e10.", - "enum": [ - "UNKNOWN_DECISION_NAME", - "HIGH_RECALL", - "MEDIAN", - "ULTRA_HIGH_RECALL" - ], - "enumDescriptions": [ - "", - "The name of a decision with high recall/low precision, used for holding more chat messages.", - "The name of a decision with median precision/recall. Currently it is used in auto moderation product.", - "The name of a decision with very high recall/very low precision. Used for very high QPS streams." - ], - "type": "string" + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "headerRows": { + "description": "Header rows of the table.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageTableTableRow" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for Table." + }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", + "deprecated": true, + "description": "The history of this table." } }, "type": "object" }, - "YoutubeCommentsApiCommentRestrictionIssuer": { - "description": "The restriction issuers here identify \"who\" issues the restriction. It represents restriction granularity at the issuer level so restrictions from different issuers will not override each other.", - "id": "YoutubeCommentsApiCommentRestrictionIssuer", + "GoogleCloudDocumentaiV1DocumentPageTableTableCell": { + "description": "A cell representation inside the table.", + "id": "GoogleCloudDocumentaiV1DocumentPageTableTableCell", "properties": { - "channelModeratorDetails": { - "$ref": "YoutubeCommentsApiCommentRestrictionIssuerChannelModeratorDetails", - "description": "Only set when the issuer type is CHANNEL_MODERATOR." + "colSpan": { + "description": "How many columns this cell spans.", + "format": "int32", + "type": "integer" + }, + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" + }, + "type": "array" }, - "channelOwnerDetails": { - "$ref": "YoutubeCommentsApiCommentRestrictionIssuerChannelOwnerDetails", - "description": "Only set when the issuer type is CHANNEL_OWNER." + "layout": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for TableCell." }, - "issuer": { - "enum": [ - "ISSUER_UNSPECIFIED", - "GLOBAL", - "TNS", - "CHANNEL_OWNER", - "CHANNEL_MODERATOR", - "CHANNEL_SETTINGS", - "AUTOMOD", - "EXPIRY_JOBS" - ], - "enumDescriptions": [ - "", - "Legacy issuer. Indicates restriction can be removed by any issuer.", - "Restriction issued by YT TnS Ares and policy enforcement system.", - "Manual moderation from channel owner of comment parent entity.", - "Manual moderation from channel moderator of comment parent entity.", - "Channel settings of comment parent entity on moderating comments. e.g. Blocked links, blocked words.", - "A machine-learning powered tool that automatically applies moderation decisions to comments. See go/ytc-adjustable-automod", - "Batch job used to reject old comments in the Held for review queue. See b/161294242." - ], - "type": "string" + "rowSpan": { + "description": "How many rows this cell spans.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "YoutubeCommentsApiCommentRestrictionIssuerChannelModeratorDetails": { - "description": "Channel moderator info details. Supports audit log functionality that shows moderator activity.", - "id": "YoutubeCommentsApiCommentRestrictionIssuerChannelModeratorDetails", + "GoogleCloudDocumentaiV1DocumentPageTableTableRow": { + "description": "A row of table cells.", + "id": "GoogleCloudDocumentaiV1DocumentPageTableTableRow", "properties": { - "externalChannelId": { - "type": "string" + "cells": { + "description": "Cells that make up this row.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageTableTableCell" + }, + "type": "array" } }, "type": "object" }, - "YoutubeCommentsApiCommentRestrictionIssuerChannelOwnerDetails": { - "description": "Channel owner info details. Supports audit log functionality that shows creator activity.", - "id": "YoutubeCommentsApiCommentRestrictionIssuerChannelOwnerDetails", + "GoogleCloudDocumentaiV1DocumentPageToken": { + "description": "A detected token.", + "id": "GoogleCloudDocumentaiV1DocumentPageToken", "properties": { - "externalChannelId": { - "type": "string" + "detectedBreak": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak", + "description": "Detected break at the end of a Token." + }, + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" + }, + "type": "array" + }, + "layout": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for Token." + }, + "provenance": { + "$ref": "GoogleCloudDocumentaiV1DocumentProvenance", + "deprecated": true, + "description": "The history of this annotation." + }, + "styleInfo": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo", + "description": "Text style attributes." } }, "type": "object" }, - "YoutubeCommentsApiCommentRestrictionReason": { - "description": "The restriction issuers here identify \"why\" the restriction is issued. Most reasons are specific to one type of issuer but some of them are shared among multiple issuers.", - "id": "YoutubeCommentsApiCommentRestrictionReason", + "GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak": { + "description": "Detected break at the end of a Token.", + "id": "GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak", "properties": { - "reason": { + "type": { + "description": "Detected break type.", "enum": [ - "REASON_UNSPECIFIED", - "OTHER_ABUSE", - "CHILD_PORN", - "COPYRIGHT", - "COUNTERFEIT", - "COURT_ORDER", - "CTM", - "DANGEROUS", - "DEFAMATION", - "EATING_DISORDERS", - "GOVERNMENT_ORDER", - "HARASSMENT", - "HATE", - "IMPERSONATION", - "LOCAL_LAWS", - "LOW_QUALITY", - "LOW_QUALITY_HIGH_RECALL", - "MALWARE", - "MISLEADING", - "PEDOPHILIA", - "PHISHING", - "PORNOGRAPHY", - "PRIVACY", - "QUOTA_EXCEEDED", - "REGULATED", - "SPAM", - "SUICIDE_AND_SELF_HARM", - "TRADEMARK", - "UNSAFE_RACY", - "UNWANTED_SOFTWARE", - "UNWANTED_CONTENT", - "VIOLENCE", - "VIOLENT_EXTREMISM", - "BLOCKED_LINKS", - "BLOCKED_WORDS", - "ENABLED_HOLD_ALL", - "HIDDEN_USER_LIST", - "PRIVILEGED_USER_REJECTED", - "ABOVE_REJECT_INAPPROPRIATE_SCORE", - "TOO_MANY_BAD_CHARS", - "EXPIRED_FOR_REVIEW" + "TYPE_UNSPECIFIED", + "SPACE", + "WIDE_SPACE", + "HYPHEN" ], "enumDescriptions": [ - "", - "TnS specific reasons. generic abuse that isn't enumerated here.", - "illegal child porn images.", - "", - "Promotion of counterfeit product claims.", - "Third-party court orders.", - "Circumvention of Technological measures claims. Circumventing protection mechanisms on copyrighted work.", - "Content depicts or provides instructions to complete activities that are dangerous and/or widely illegal, e.g. prostitution, bomb-making, suicide.", - "Defamation claims.", - "Content that demonstrates eating disorders", - "Government request, regardless of reason.", - "Consistent harassing behavior directed towards a person.", - "", - "", - "Other misc country-specific laws.", - "Reasons applies to AutoMod and TnS. go/ytc-adjustable-automod-backend-design Low quality/Annoying content. Used by TnS and AutoMod. Maps to AUTOMOD_SYSTEM_HOLD", - "AutoMod specific reasons. Maps to AUTOMOD_SYSTEM_HOLD_MORE", - "MALWARE includes viruses, worms, trojans, adware and even potentially unwanted software which may not necessarily be harmful.", - "Policy to cover specific types of misinformation that actuates real world harm in ways that are not purely digital. 1) Misleading content related to civic and democratic processes, 2) Misleading health or medical content, 3) Deceptively manipulated media.", - "Not illegal, but image or text content promoting or related to young pornography.", - "", - "", - "Local privacy laws.", - "", - "Contains regulated products and services, such as pharmaceuticals, alcohol, tobacco, etc. For details, https://sites.google.com/a/google.com/crt-policy-site/regulated", - "", - "Content that demonstrates suicide and self harm", - "Trademark violations where Google could be liable.", - "Content that is unsafe because it is sexually suggestive/racy.", - "The software is deceptive, promising a value proposition that it does not meet, or tries to trick users into installing it or it piggybacks on the installation of another program, or doesn’t tell the user about all of its principal and significant functions or affects the user’s system in unexpected ways, or collects or transmits private information without the user’s knowledge, or bundled with other software and its presence is not disclosed.", - "Content includes spammy commercial content, such as links to MFA pages, affiliate links, ads or solicitation, or otherwise off-topic or irrelevant content.", - "", - "Content that recruits or solicits terrorists; specific and detailed instructions on how to make a bomb; terrorists who document their attacks; praising acts of mass violence; content that shows captured hostages posted with the intent to solicit demands, threaten, or intimidate.", - "Comment contains links in a list of \"blocked links\" in YouTube Studio \u003e Settings \u003e Community.", - "Creator setting specific reasons. go/ytc-nextgen-community-settings-storage Comment contains words in a list of \"blocked words\" in YouTube Studio \u003e Settings \u003e Community.", - "Held because the moderation policy is \"Hold all comments for review\".", - "Comment from listed hidden users.", - "A privileged user, which can only be parent entity owner for ENTITY_COMMENT, but can be either parent entity channel owner or channel moderator for CHAT_MESSAGE CommentType, manually rejected the Comment. Their decision overrides any system flagging.", - "Automod rejected due to above inappropriate score rejection threshold. Maps to ModerationReason.ABOVE_REJECT_INAPPROPRIATE_SCORE.", - "Automod rejected due to containing more than allowed bad characters. Maps to ModerationReason.TOO_MANY_BAD_CHARS.", - "Batch job rejecting comments older than 60d in the Held for Review queue." + "Unspecified break type.", + "A single whitespace.", + "A wider whitespace.", + "A hyphen that indicates that a token has been split across lines." ], "type": "string" } }, "type": "object" }, - "YoutubeCommentsClusteringMiniStanza": { - "description": "Intended to be simpler to work with than the ExportedStanza it's derived from See documentation: https://g3doc.corp.google.com/company/teams/youtube/community_intelligence/eng_resources/data_sources.md#ministanza Next available: 84", - "id": "YoutubeCommentsClusteringMiniStanza", - "properties": { - "ansibleScores": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "TnS Ansible scores map. Keyed by various model names.", - "type": "object" + "GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo": { + "description": "Font and other text style attributes.", + "id": "GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo", + "properties": { + "backgroundColor": { + "$ref": "GoogleTypeColor", + "description": "Color of the background." }, - "automodScores": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "deprecated": true, - "description": "Automod scores map. Keyed by various model names. Deprecated. Consider using low_quality_scores instead.", - "type": "object" + "bold": { + "description": "Whether the text is bold (equivalent to font_weight is at least `700`).", + "type": "boolean" }, - "channelDiscussionId": { - "description": "The channel this channel discussion comment belongs to. Note that this will match channel_id for such comments.", - "type": "string" + "fontSize": { + "description": "Font size in points (`1` point is `¹⁄₇₂` inches).", + "format": "int32", + "type": "integer" }, - "channelId": { - "description": "The channel of the video or post this comment belongs to. In certain circumstances a video can belong to multiple channels, this channel_id does not handle that situation well. go/yt-identity-overview for further reading.", + "fontType": { + "description": "Name or style of the font.", "type": "string" }, - "channelProfileQualityScores": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "Channel profile quality scores map. Keyed by various model names.", - "type": "object" + "fontWeight": { + "description": "TrueType weight on a scale `100` (thin) to `1000` (ultra-heavy). Normal is `400`, bold is `700`.", + "format": "int32", + "type": "integer" + }, + "handwritten": { + "description": "Whether the text is handwritten.", + "type": "boolean" + }, + "italic": { + "description": "Whether the text is italic.", + "type": "boolean" }, - "charEntropy": { - "description": "Char entropy of the comment.", + "letterSpacing": { + "description": "Letter spacing in points.", "format": "double", "type": "number" }, - "commentClassification": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "Comment classification mapping all secondary keys to values. E.g. {\"joke_v1\":0.8, \"joke_v2\":0.7, \"question_v1\":0.3}.", - "type": "object" + "pixelFontSize": { + "description": "Font size in pixels, equal to _unrounded font_size_ * _resolution_ ÷ `72.0`.", + "format": "double", + "type": "number" }, - "commentClassificationBuckets": { - "description": "List of pre-defined classification score buckets to which the comment belongs. E.g. satisfaction_v1_percentile_80.", - "items": { - "type": "string" - }, - "type": "array" + "smallcaps": { + "description": "Whether the text is in small caps. This feature is not supported yet.", + "type": "boolean" }, - "commentClassificationRanking": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "Comment classification for ranking mapping all secondary keys to values. E.g. {\"joke_v1\":0.8, \"joke_v2\":0.7, \"question_v1\":0.3}.", - "type": "object" + "strikeout": { + "description": "Whether the text is strikethrough. This feature is not supported yet.", + "type": "boolean" + }, + "subscript": { + "description": "Whether the text is a subscript. This feature is not supported yet.", + "type": "boolean" + }, + "superscript": { + "description": "Whether the text is a superscript. This feature is not supported yet.", + "type": "boolean" }, - "commentEnforcementStatus": { - "$ref": "YoutubeCommentsApiCommentEnforcementStatus", - "description": "Contains the current status of comment enforcement. This provides a summary/aggregation of all restrictions (one per comment), while CommentModeratedRestriction provides the history of restrictions (multiple per comment). Extracted from http://shortn/_m5yiWa8ENR" + "textColor": { + "$ref": "GoogleTypeColor", + "description": "Color of the text." }, - "commentModeratedRestrictions": { - "description": "Contains various comment moderated restrictions. Only available in the Atlas version. Extracted from http://shortn/_2LzgPEF5K3", + "underlined": { + "description": "Whether the text is underlined.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentPageVisualElement": { + "description": "Detected non-text visual elements e.g. checkbox, signature etc. on the page.", + "id": "GoogleCloudDocumentaiV1DocumentPageVisualElement", + "properties": { + "detectedLanguages": { + "description": "A list of detected languages together with confidence.", "items": { - "$ref": "YoutubeCommentsApiCommentModeratedRestriction" + "$ref": "GoogleCloudDocumentaiV1DocumentPageDetectedLanguage" }, "type": "array" }, - "commentType": { - "description": "Whether the comment is on a video, post, or other product.", - "enum": [ - "UNKNOWN_PRODUCT_TYPE", - "UNSUPPORTED_PRODUCT_TYPE", - "YT_VIDEO_COMMENT", - "YT_CHANNEL_DISCUSSION", - "YT_BACKSTAGE_COMMENT", - "YT_LIVE_CHAT", - "YT_LIVE_CHAT_CONFIG", - "YT_CHANNEL_CONFIG", - "YT_POST_COMMENT" - ], - "enumDescriptions": [ - "", - "Product which the model currently does not support for moderation.", - "YouTube video comments.", - "YouTube channel discussions.", - "YouTube backstage comments.", - "YouTube live chat messages.", - "YouTube live chat configurations: contains the kv pair indicating whether auto moderation is enabled.", - "YouTube channel configurations: contains channel configured badwords and moderators.", - "YouTube post comments (using the unified comment system)." - ], - "type": "string" + "layout": { + "$ref": "GoogleCloudDocumentaiV1DocumentPageLayout", + "description": "Layout for VisualElement." }, - "content": { - "description": "The text content of the comment.", + "type": { + "description": "Type of the VisualElement.", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentProvenance": { + "description": "Structure to identify provenance relationships between annotations in different revisions.", + "id": "GoogleCloudDocumentaiV1DocumentProvenance", + "properties": { + "id": { + "deprecated": true, + "description": "The Id of this operation. Needs to be unique within the scope of the revision.", + "format": "int32", + "type": "integer" }, - "contentUpdateTimestamp": { - "description": "The stanza content last update timestamp, as observed by the server. Note that for many comments older than Nov. 2014 this is unset in the original stanza. MiniStanza tries to be consistent with the original so for such comments it remains unset in MiniStanza. If you use this field you should check has_content_update_timestamp().", - "format": "google-datetime", - "type": "string" + "parents": { + "description": "References to the original elements that are replaced.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentProvenanceParent" + }, + "type": "array" }, - "coverageSamplingEligible": { - "description": "Whether or not this comment is eligible for comment classifier coverage sampling (in Kapla). Refer to go/coverage-monitoring-for-kapla-comment-classifiers for more information.", - "type": "boolean" + "revision": { + "deprecated": true, + "description": "The index of the revision that produced this element.", + "format": "int32", + "type": "integer" }, - "creationDevice": { - "description": "The creation device. Derived from shares:yt_creation_device", + "type": { + "description": "The type of provenance operation.", "enum": [ - "UNKNOWN_INTERFACE", - "WEB", - "WEB_GAMING", - "WEB_MUSIC", - "WEB_MUSIC_EMBEDDED_PLAYER", - "WEB_REMIX", - "WEB_EXPERIMENTS", - "WEB_MOVIES", - "WEB_HEROES", - "WEB_CREATOR", - "WEB_LIVE_STREAMING", - "WEB_KIDS", - "WEB_INTERNAL_ANALYTICS", - "WEB_PARENT_TOOLS", - "WEB_PHONE_VERIFICATION", - "WEB_SHOPPING_EXTENSION", - "WEB_EMBEDDED_PLAYER", - "WEB_EFFECT_MAKER", - "WEB_PLAYABLES_PORTAL", - "WEB_UNPLUGGED", - "WEB_UNPLUGGED_ONBOARDING", - "WEB_UNPLUGGED_OPS", - "WEB_UNPLUGGED_PUBLIC", - "MWEB", - "MWEB_TIER_2", - "ANDROID", - "ANDROID_CASUAL", - "ANDROID_CREATOR", - "ANDROID_GAMING", - "ANDROID_KIDS", - "ANDROID_INSTANT", - "ANDROID_MUSIC", - "ANDROID_TESTSUITE", - "ANDROID_UNPLUGGED", - "ANDROID_VR", - "ANDROID_WITNESS", - "ANDROID_SPORTS", - "ANDROID_LITE", - "ANDROID_MOVIES", - "ANDROID_EMBEDDED_PLAYER", - "ANDROID_PRODUCER", - "IOSAPPLE", - "IOS", - "IOS_CREATOR", - "IOS_DIRECTOR", - "IOS_GAMING", - "IOS_INSTANT", - "IOS_KIDS", - "IOS_LIVE_CREATION_EXTENSION", - "IOS_MESSAGES_EXTENSION", - "IOS_MUSIC", - "IOS_TABLOID", - "IOS_UNPLUGGED", - "IOS_WITNESS", - "IOS_SPORTS", - "IOS_EMBEDDED_PLAYER", - "IOS_MOVIES", - "IOS_PILOT_STUDIO", - "IOS_UPTIME", - "IOS_PRODUCER", - "OTHERAPP", - "TVHTML5", - "TVHTML5_AUDIO", - "TVHTML5_CAST", - "TVHTML5_KIDS", - "TVHTML5_FOR_KIDS", - "TVHTML5_MOVIES", - "TVHTML5_SIMPLY", - "TVHTML5_SIMPLY_EMBEDDED_PLAYER", - "TVHTML5_UNPLUGGED", - "TVHTML5_VR", - "TVHTML5_YONGLE", - "TVLITE", - "TV_UNPLUGGED_CAST", - "TV_UNPLUGGED_ANDROID", - "XL", - "ROKU_MOVIES", - "CC_MOVIES", - "TVANDROID", - "ANDROID_TV", - "ANDROID_TV_KIDS", - "ANDROID_TV_MOVIES", - "XBOX", - "XBOXONEGUIDE", - "CLIENTX", - "TVAPPLE", - "TVAPPLE_MOVIES", - "AIRPLAY_MOVIES", - "WEB_MUSIC_ANALYTICS", - "MUSIC_INTEGRATIONS", - "WEB_HANGOUTS_MEET", - "KAIOS_LAUNCHER", - "WEB_GVP_ADS", - "ANDROID_GVP_ADS", - "IOS_GVP_ADS", - "VAST_GVP_ADS", - "GOOGLE_ASSISTANT", - "GOOGLE_LIST_RECS", - "GOOGLE_MEDIA_ACTIONS", - "MEDIA_CONNECT_FRONTEND", - "GOOGLE_TV" + "OPERATION_TYPE_UNSPECIFIED", + "ADD", + "REMOVE", + "UPDATE", + "REPLACE", + "EVAL_REQUESTED", + "EVAL_APPROVED", + "EVAL_SKIPPED" ], "enumDeprecated": [ - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false, false, false, false, true, - false, - false, - false, - false, - false, - true, - true, - false, - false, - false, - false, - false, - false, - true, - false, - true, - false, - false, - true, - false, true, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false + true ], "enumDescriptions": [ - "", - "Targeted for desktop. youtube.com", - "", - "Legacy YouTube Music playback page for shares. Deprecated with", - "unbundling (2017). For music.youtube.com, see WEB_REMIX. Music embedded web player: music.youtube.com/embed. Never launched, deprecated since ~ 2022.", - "YouTube Music web app.", - "", - "Play Movies: go/avi.", - "YT Heroes: go/yt-heroes.", - "YouTube Creator Studio Desktop app.", - "YouTube Live Streaming Desktop app (go/rotom).", - "YouTube Kids web app.", - "YouTube Internal Analytics", - "YT Parent Tools web app (go/parent-zone-prd).", - "YouTube Phone Verification web app", - "(go/wexit-phone-verify). YouTube Shopping Extension Client", - "go/yt-shopping-chrome-extension", - "YouTube Effect Maker web app.", - "YouTube Playables Portal web app.", - "Unplugged web clients. Sign-in, member experience (Polymer app).", - "Onboarding web app.", - "Unplugged ops tools.", - "Public web experience (e.g. browse).", - "Targeted for mobile and/or tablet devices. m.youtube.com for smart phones and tablets", - "MWEB_TIER_2 is deprecated, turned down August 2019, go/future-of-v2", - "Android Main app", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "Play Movies: go/avi.", - "", - "Producer: go/yt-producer", - "Apple-controlled app for iOS, deprecated in ~2013", - "iOS Main App (YouTube-controlled)", - "", - "", - "", - "", - "", - "", - "Integration with Apple iMessage app: go/ytios-imessage-extension-design Deprecated since January 2024.", - "TL bgoodrich@", - "", - "", - "", - "", - "go/ytios-embedded-player", - "Play Movies: go/avi.", - "go/pilot", - "go/uptime", - "Producer: go/yt-producer", - "ANDROID_EMBEDDED_PLAYER used to be OTHERAPP. Android embeds viewed on devices that have not upgraded the YouTube Main App in a long time still report as OTHERAPP. (Legacy embeds use the ClientName ANDROID and the SoftwareInterface OTHERAPP.) This may have been used in other contexts in the past (e.g. players created by third-parties), but the third-party case is unsupported today. Do not use this client name for new apps.", - "Targeted for TV and/or game console devices. youtube.com/tv", - "youtube.com/tv, on display-less Cast receivers.", - "youtube.com/tv, on Cast Receivers.", - "Kids youtube app.", - "Kids mode within the TVHTML5 app.", - "Play Movies: go/avi.", - "go/yt-simply.", - "go/yt-simply-embedded-design", - "Unplugged Living Room app.", - "NOT USED, /tv based VR devices log TVHTML5.", - "go/yongle go/yongle-playback.", - "youtube.com/leanbacklite", - "Unplugged Chromecast app", - "Unplugged Android TV app", - "youtube.com/xl. No longer available.", - "Play Movies: go/avi.", - "Chromecast Play Movies: go/avi.", - "Old Google TV app. No longer available.", - "Android TV app, introduced at I/O 2014.", - "Kids Android TV app.", - "Play Movies: go/avi.", - "Silverlight Xbox 360 app. No longer available.", - "Xbox One launcher app.", - "clientx.corp.google.com", - "Apple TV app", - "Play Movies: go/avi.", - "Play Movies: go/avi.", - "Music Analytics (charts.youtube.com)", - "Music Integrations (go/music-integrations).", - "Hangouts meet broadcast (go/yt-thor-broadcast)", - "YouTube Launcher on KaiOS phones.", - "GVP clients (IMA and GMA SDKs) go/gvp-sdk These are ad SDKs used by non-YouTube publishers to play ads, including YouTube hosted ads. The main interaction with YouTube is for TrueView, which increments YouTube viewcount of the ad video after the delay is reached. Thus, the ad SDKs send requests to the viewcount/VSS pipeline. IMA SDK", - "GMA SDK Android", - "GMA SDK iOS", - "VAST based SDKs", - "Middleware or Frontend Server Clients Google Assistant integration with Voz", - "List Recs Service Clients", - "Media Actions Service Clients", - "YouTube Media Connect Frontend (YMCFE)", - "Google TV clients New Google TV devices (go/gtv-deck). This is added to support go/gtv-ads." + "Operation type unspecified. If no operation is specified a provenance entry is simply used to match against a `parent`.", + "Add an element.", + "Remove an element identified by `parent`.", + "Updates any fields within the given provenance scope of the message. It overwrites the fields rather than replacing them. Use this when you want to update a field value of an entity without also updating all the child properties.", + "Currently unused. Replace an element identified by `parent`.", + "Deprecated. Request human review for the element identified by `parent`.", + "Deprecated. Element is reviewed and approved at human review, confidence will be set to 1.0.", + "Deprecated. Element is skipped in the validation process." ], "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentProvenanceParent": { + "description": "The parent element the current element is based on. Used for referencing/aligning, removal and replacement operations.", + "id": "GoogleCloudDocumentaiV1DocumentProvenanceParent", + "properties": { + "id": { + "deprecated": true, + "description": "The id of the parent provenance.", + "format": "int32", + "type": "integer" }, - "creationTimeInSeconds": { - "description": "The time when the comment is created.", - "format": "int64", + "index": { + "description": "The index of the parent item in the corresponding item list (eg. list of entities, properties within entities, etc.) in the parent revision.", + "format": "int32", + "type": "integer" + }, + "revision": { + "description": "The index of the index into current revision's parent_ids list.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentRevision": { + "description": "Contains past or forward revisions of this document.", + "id": "GoogleCloudDocumentaiV1DocumentRevision", + "properties": { + "agent": { + "description": "If the change was made by a person specify the name or id of that person.", "type": "string" }, - "detailedLanguageCode": { - "deprecated": true, - "description": "The language code with extra script details. This is derived from detailed_language_code if it's populated, otherwise the same as language_code. E.g. mr-Latn", + "createTime": { + "description": "The time that the revision was created, internally generated by doc proto storage at the time of create.", + "format": "google-datetime", "type": "string" }, - "distillerEngagements": { - "$ref": "AppsPeopleActivityStreamqualityDistillerEngagements", - "description": "All distiller engagements like reports and downvotes." + "humanReview": { + "$ref": "GoogleCloudDocumentaiV1DocumentRevisionHumanReview", + "description": "Human Review information of this revision." + }, + "id": { + "description": "Id of the revision, internally generated by doc proto storage. Unique within the context of the document.", + "type": "string" }, - "eligibleQualifiedTeaserFilters": { - "description": "The qualified comment teaser filters that this comment is eligible for. Refer to go/comment-teaser-design for more information.", + "parent": { + "deprecated": true, + "description": "The revisions that this revision is based on. This can include one or more parent (when documents are merged.) This field represents the index into the `revisions` field.", "items": { - "type": "string" + "format": "int32", + "type": "integer" }, "type": "array" }, - "empiricalCtrs": { - "$ref": "VideoYoutubeCommentsRankingCTRMetrics", - "description": "Comments empirical CTRs." - }, - "endUserDeleted": { - "description": "Whether a comment is deleted by the end user.", - "type": "boolean" - }, - "hasCreatorHeart": { - "description": "Indicator for whether there is creator heart on this comment.", - "type": "boolean" - }, - "hasCreatorReply": { - "description": "If the comment has a creator reply.", - "type": "boolean" - }, - "impersonationScores": { - "additionalProperties": { - "format": "double", - "type": "number" + "parentIds": { + "description": "The revisions that this revision is based on. Must include all the ids that have anything to do with this revision - eg. there are `provenance.parent.revision` fields that index into this field.", + "items": { + "type": "string" }, - "description": "Impersonation scores map. Keyed by secondary key (score type).", - "type": "object" - }, - "isAuthorSponsor": { - "description": "If the author is a channel member (sponsor).", - "type": "boolean" - }, - "isDeleted": { - "description": "Whether a comment is from deleted shares. See stanza_restrictions for more specific information and is_publicly_visible for comments which are allowed to be seen by everyone.", - "type": "boolean" - }, - "isPinned": { - "description": "Whether the comment is pinned. This is derived from YTMS and may be out of sync with other fields (a day early or behind).", - "type": "boolean" - }, - "isPubliclyVisible": { - "description": "If the post is publicly visible.", - "type": "boolean" - }, - "isReply": { - "description": "Whether the comment is a reply.", - "type": "boolean" - }, - "isSubscriber": { - "description": "If the comment author is publicly subscribed to the channel.", - "type": "boolean" + "type": "array" }, - "languageCode": { - "description": "Unicode CLDR language code of the segments, as implemented by //depot/google3/java/com/google/i18n/identifiers/LanguageCode.java This is derived from user_content and should be considered the canonical language code of the comment.", + "processor": { + "description": "If the annotation was made by processor identify the processor by its resource name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentRevisionHumanReview": { + "description": "Human Review information of the document.", + "id": "GoogleCloudDocumentaiV1DocumentRevisionHumanReview", + "properties": { + "state": { + "description": "Human review state. e.g. `requested`, `succeeded`, `rejected`.", "type": "string" }, - "lastReplyTimestampUsec": { - "description": "The time when last reply is created.", + "stateMessage": { + "description": "A message providing more details about the current state of processing. For example, the rejection reason when the state is `rejected`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentShardInfo": { + "description": "For a large document, sharding may be performed to produce several document shards. Each document shard contains this field to detail which shard it is.", + "id": "GoogleCloudDocumentaiV1DocumentShardInfo", + "properties": { + "shardCount": { + "description": "Total number of shards.", "format": "int64", "type": "string" }, - "lowQualityDecisions": { - "additionalProperties": { - "type": "boolean" - }, - "description": "Low quality decisions. Keyed by decision types corresponding to secondary keys.", - "type": "object" - }, - "lowQualityScores": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "Comment low quality scores. Keyed by various model names. Rename from the old automod_scores.", - "type": "object" - }, - "mentionedTimestampCommentSecond": { - "description": "Timed comments for the \"mentioned\" secondary key.", - "format": "int32", - "type": "integer" - }, - "misinfoScores": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "Misinfo scores map. Keyed by various model names.", - "type": "object" - }, - "mustDeleteComments": { - "description": "Whether a comment's author channel is deleted. Populated from http://shortn/_YttLvbraAI.", - "type": "boolean" + "shardIndex": { + "description": "The 0-based index of this shard.", + "format": "int64", + "type": "string" }, - "numDislikes": { - "description": "Number of dislikes the comment has. num_likes and num_dislikes are retrieved from a different source than other fields and may be out of sync (a day early or behind).", - "format": "int32", - "type": "integer" + "textOffset": { + "description": "The index of the first character in Document.text in the overall document global text.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentStyle": { + "description": "Annotation for common text style attributes. This adheres to CSS conventions as much as possible.", + "id": "GoogleCloudDocumentaiV1DocumentStyle", + "properties": { + "backgroundColor": { + "$ref": "GoogleTypeColor", + "description": "Text background color." }, - "numLikes": { - "description": "Number of likes the comment has. num_likes and num_dislikes are retrieved from a different source than other fields and may be out of sync (a day early or behind).", - "format": "int32", - "type": "integer" + "color": { + "$ref": "GoogleTypeColor", + "description": "Text color." }, - "numRepliers": { - "description": "Number of different repliers the comment has.", - "format": "int32", - "type": "integer" + "fontFamily": { + "description": "Font family such as `Arial`, `Times New Roman`. https://www.w3schools.com/cssref/pr_font_font-family.asp", + "type": "string" }, - "numReplies": { - "description": "Number of non-abusive replies the comment has.", - "format": "int32", - "type": "integer" + "fontSize": { + "$ref": "GoogleCloudDocumentaiV1DocumentStyleFontSize", + "description": "Font size." }, - "numSubscribersBucket": { - "description": "Bucketed number of subscribers held by comment author.", - "format": "int32", - "type": "integer" + "fontWeight": { + "description": "[Font weight](https://www.w3schools.com/cssref/pr_font_weight.asp). Possible values are `normal`, `bold`, `bolder`, and `lighter`.", + "type": "string" }, - "offlineEngagementScores": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "Offline engagement scores map. Keyed by various model names.", - "type": "object" + "textAnchor": { + "$ref": "GoogleCloudDocumentaiV1DocumentTextAnchor", + "description": "Text anchor indexing into the Document.text." }, - "parentId": { - "description": "The parent stanza's stanza_id, empty for top-level posts (non-replies). Prefer is_reply field for checking if a comment is a reply since that is unaffected by surrogatization. For replies to replies, this is the root stanza_id (not guaranteed AFAIK).", + "textDecoration": { + "description": "[Text decoration](https://www.w3schools.com/cssref/pr_text_text-decoration.asp). Follows CSS standard. ", "type": "string" }, - "postId": { - "description": "The post this comment belongs to.", + "textStyle": { + "description": "[Text style](https://www.w3schools.com/cssref/pr_font_font-style.asp). Possible values are `normal`, `italic`, and `oblique`.", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentStyleFontSize": { + "description": "Font size with unit.", + "id": "GoogleCloudDocumentaiV1DocumentStyleFontSize", + "properties": { + "size": { + "description": "Font size for the text.", + "format": "float", + "type": "number" }, - "segments": { - "$ref": "SocialCommonSegments", - "description": "A textual content for the context." - }, - "sensitivityScores": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "Sensitivity scores map for smart reply sensitivity scores. Keyed by model names. See (g3doc/company/teams/expander/research/conversation/sensitive.md) for more information on sensitivity scores.", - "type": "object" - }, - "sentiment": { - "$ref": "YoutubeCommentsSentimentSentiment", - "description": "Sentiment. This omits entity_sentiment and keeps only the polarity, magnitude, and score. Sentiment as currently implemented is not debiased and has limited language coverage. Please read go/comments-sentiment-access before using." - }, - "shortReplyVideoId": { - "description": "Associated Short Reply video ID if the comment represents a Short Reply. See go/yt-comment-sticker-m2.", + "unit": { + "description": "Unit for the font size. Follows CSS naming (such as `in`, `px`, and `pt`).", "type": "string" - }, - "smartReplies": { - "additionalProperties": { - "$ref": "VideoYoutubeCommentsClassificationProtoYouTubeCommentSmartReply" - }, - "description": "Smart replies for this comment. Keyed by model names.", - "type": "object" - }, - "stanzaId": { - "description": "Refers to the stanza this data is derived from.", + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentTextAnchor": { + "description": "Text reference indexing into the Document.text.", + "id": "GoogleCloudDocumentaiV1DocumentTextAnchor", + "properties": { + "content": { + "description": "Contains the content of the text span so that users do not have to look it up in the text_segments. It is always populated for formFields.", "type": "string" }, - "stanzaRestrictions": { - "deprecated": true, - "description": "Contains various restriction information about a stanza.", + "textSegments": { + "description": "The text segments from the Document.text.", "items": { - "$ref": "SocialStanzaStanzaRestriction" + "$ref": "GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment" }, "type": "array" - }, - "subject": { - "$ref": "SecurityCredentialsPrincipalProto", - "description": "The author of the comment Prefer using yt_author_channel_id instead of subject when possible." - }, - "subjectIsVideoOwner": { - "description": "Whether the comment is authored by the creator.", - "type": "boolean" - }, - "subscriptionTimestamp": { - "description": "The timestamp (in seconds) when the author subscribed to the channel.", + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment": { + "description": "A text segment in the Document.text. The indices may be out of bounds which indicate that the text extends into another document shard for large sharded documents. See ShardInfo.text_offset", + "id": "GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment", + "properties": { + "endIndex": { + "description": "TextSegment half open end UTF-8 char index in the Document.text.", "format": "int64", "type": "string" }, - "superThanksInfo": { - "$ref": "YoutubeBackstageSuperVodCommentInfo", - "description": "Super Thanks related info if a comment is posted through a Super Thanks purchase." - }, - "textEmbedding": { - "additionalProperties": { - "$ref": "YoutubeCommentsRankingYouTubeCommentTextEmbedding" - }, - "description": "Comment text embedding.", - "type": "object" - }, - "textLength": { - "description": "Text length of the comment in UTF-16 code points. The encoding could change in the future.", - "format": "int32", - "type": "integer" - }, - "textQualityScores": { - "$ref": "YoutubeCommentsRankingYouTubeCommentTextQualityAnnotation", - "description": "Predicted probability of the comment being flagged based on the text." - }, - "textQualityScores2": { - "$ref": "YoutubeCommentsRankingYouTubeCommentTextQualityAnnotation", - "deprecated": true, - "description": "Predicted probability of the comment being flagged based on the text. For testing the new annotation process only." - }, - "videoId": { - "description": "The video this comment belongs to.", + "startIndex": { + "description": "TextSegment start UTF-8 char index in the Document.text.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1DocumentTextChange": { + "description": "This message is used for text changes aka. OCR corrections.", + "id": "GoogleCloudDocumentaiV1DocumentTextChange", + "properties": { + "changedText": { + "description": "The text that replaces the text identified in the `text_anchor`.", "type": "string" }, - "wordEntropy": { - "description": "Word entropy of the comment.", - "format": "double", - "type": "number" - }, - "ytAuthorChannelId": { - "description": "The youtube channel id of the comment author. One person can have multiple channels and one channel can have multiple users. go/yt-identity-overview for further reading.", - "type": "string" + "provenance": { + "deprecated": true, + "description": "The history of this annotation.", + "items": { + "$ref": "GoogleCloudDocumentaiV1DocumentProvenance" + }, + "type": "array" }, - "ytCommentQualityScore": { - "description": "Existing quality corpus scores.", - "format": "double", + "textAnchor": { + "$ref": "GoogleCloudDocumentaiV1DocumentTextAnchor", + "description": "Provenance of the correction. Text anchor indexing into the Document.text. There can only be a single `TextAnchor.text_segments` element. If the start and end index of the text segment are the same, the text change is inserted before that index." + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1NormalizedVertex": { + "description": "A vertex represents a 2D point in the image. NOTE: the normalized vertex coordinates are relative to the original image and range from 0 to 1.", + "id": "GoogleCloudDocumentaiV1NormalizedVertex", + "properties": { + "x": { + "description": "X coordinate.", + "format": "float", "type": "number" }, - "ytCommentQualityScore2": { - "format": "double", + "y": { + "description": "Y coordinate (starts from the top of the image).", + "format": "float", "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDocumentaiV1Vertex": { + "description": "A vertex represents a 2D point in the image. NOTE: the vertex coordinates are in the same scale as the original image.", + "id": "GoogleCloudDocumentaiV1Vertex", + "properties": { + "x": { + "description": "X coordinate.", + "format": "int32", + "type": "integer" }, - "ytCommentQualityScore3": { - "format": "double", - "type": "number" + "y": { + "description": "Y coordinate (starts from the top of the image).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "id": "GoogleIamV1AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "GoogleIamV1AuditLogConfig" + }, + "type": "array" }, - "ytReplyToItemId": { - "description": "For replies to replies, this contains the parent reply's id. The parent_id field is actually the root stanza_id (not guaranteed AFAIK).", + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", "type": "string" } }, "type": "object" }, - "YoutubeCommentsRankingYouTubeCommentTextEmbedding": { - "description": "Comment text embedding.", - "id": "YoutubeCommentsRankingYouTubeCommentTextEmbedding", + "GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "GoogleIamV1AuditLogConfig", "properties": { - "textEmbedding": { - "description": "Comment text embedding.", + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", "items": { - "format": "float", - "type": "number" + "type": "string" }, "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" } }, "type": "object" }, - "YoutubeCommentsRankingYouTubeCommentTextQualityAnnotation": { - "description": "Text quality scores for a single comment.", - "id": "YoutubeCommentsRankingYouTubeCommentTextQualityAnnotation", + "GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "GoogleIamV1Binding", "properties": { - "flagPredictionScore": { - "description": "Score produced by the user flag prediction model.", - "format": "float", - "type": "number" + "condition": { + "$ref": "GoogleTypeExpr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", + "items": { + "type": "string" + }, + "type": "array" }, - "flagPredictionVersion": { - "description": "Version identifier of the flag prediction model.", + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", "type": "string" } }, "type": "object" }, - "YoutubeCommentsSentimentSentiment": { - "description": "Sentiment information extracted from the annotated content by Goldmine. This mirrors nlp_sentiment.SentimentAnnotation. Next tag: 5.", - "id": "YoutubeCommentsSentimentSentiment", + "GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time \u003c timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time \u003c timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "GoogleIamV1Policy", "properties": { - "entitySentiment": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", "items": { - "$ref": "YoutubeCommentsSentimentSentimentEntitySentimentAnnotation" + "$ref": "GoogleIamV1AuditConfig" }, "type": "array" }, - "magnitude": { - "description": "Total magnitude of the sentiment. A positive number representing the total intensity of sentiment regardless of positive vs negative polarity.", - "format": "float", - "type": "number" + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", + "items": { + "$ref": "GoogleIamV1Binding" + }, + "type": "array" }, - "polarity": { - "description": "Polarity of the sentiment. Value is between -1.0 and 1.0 inclusive, with larger numbers representing more positive sentiment and negative numbers representing negative sentiment.", - "format": "float", - "type": "number" + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" }, - "score": { - "description": "The average score over sentences. This combines the polarity and magnitude signals into one value. Bounded between -1.0 and 1.0.", - "format": "float", - "type": "number" + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "YoutubeCommentsSentimentSentimentEntitySentimentAnnotation": { - "description": "An entity level sentiment annotation containing the sentiment values aggregated over all mentions of an entity. Next tag: 7.", - "id": "YoutubeCommentsSentimentSentimentEntitySentimentAnnotation", + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "GoogleLongrunningOperation", "properties": { - "entityName": { - "description": "The representative entity name. This can be blank for cases when there is no explicit name like \"I\" or \"it\". The mentions' tokens can be used to get more details about each entity.", + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", "type": "string" }, - "magnitude": { - "description": "Total magnitude of the sentiment.", - "format": "float", - "type": "number" + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" }, - "mentionSentiment": { + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", "items": { - "$ref": "YoutubeCommentsSentimentSentimentEntitySentimentAnnotationMentionSentimentAnnotation" + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" }, "type": "array" }, - "mid": { - "description": "MID for this entity, if available.", + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", "type": "string" - }, - "polarity": { - "description": "Polarity of the sentiment. See above for detail.", - "format": "float", - "type": "number" - }, - "score": { - "description": "The per entity score between -1.0 and 1.0. Combines the signal from polarity and magnitude values.", - "format": "float", - "type": "number" } }, "type": "object" }, - "YoutubeCommentsSentimentSentimentEntitySentimentAnnotationMentionSentimentAnnotation": { - "description": "A mention level sentiment annotation containing the sentiment values for a single entity mention. // Next tag: 6.", - "id": "YoutubeCommentsSentimentSentimentEntitySentimentAnnotationMentionSentimentAnnotation", + "GoogleTypeColor": { + "description": "Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:\u0026red green:\u0026green blue:\u0026blue alpha:\u0026alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha \u003c= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red \u003c\u003c 16) | (green \u003c\u003c 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i \u003c missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ...", + "id": "GoogleTypeColor", "properties": { - "endToken": { - "description": "Token end index in corresponding SAFT document (inclusive).", - "format": "int64", - "type": "string" - }, - "magnitude": { - "description": "Total magnitude of the sentiment.", + "alpha": { + "description": "The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0).", "format": "float", "type": "number" }, - "polarity": { - "description": "Polarity of the sentiment. See above for detail.", + "blue": { + "description": "The amount of blue in the color as a value in the interval [0, 1].", "format": "float", "type": "number" }, - "score": { - "description": "The per mention score between -1.0 and 1.0. Combines the signal from polarity and magnitude values.", + "green": { + "description": "The amount of green in the color as a value in the interval [0, 1].", "format": "float", "type": "number" }, - "startToken": { - "description": "Token start index in corresponding SAFT document.", - "format": "int64", - "type": "string" + "red": { + "description": "The amount of red in the color as a value in the interval [0, 1].", + "format": "float", + "type": "number" } }, "type": "object" }, - "YoutubeDiscoveryLegosLegosAnnotation": { - "description": "The annotation of a document by a given entity, for a given type of relationship.", - "id": "YoutubeDiscoveryLegosLegosAnnotation", + "GoogleTypeDate": { + "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", + "id": "GoogleTypeDate", "properties": { - "entity": { - "$ref": "YoutubeDiscoveryLegosLegosEntity", - "description": "The entity annotating the document." - }, - "format": { - "$ref": "YoutubeDiscoveryLegosLegosFormatRelationship", - "description": "The annotation is a format annotation, i.e. it tells the format of the video." - }, - "present": { - "$ref": "YoutubeDiscoveryLegosLegosPresentRelationship", - "description": "The annotation is present in the video. Semantic Legos and Presence Legos naturally overlap and can contain the same entities. However, we do not enforce a strict subset relation." + "day": { + "description": "Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant.", + "format": "int32", + "type": "integer" }, - "semantic": { - "$ref": "YoutubeDiscoveryLegosLegosSemanticRelationship", - "description": "The annotation is a semantic annotation, i.e. it tells what the document is about and what the reasons to watch the video are. The annotation should be valid for the complete annotated document, not simply a part of the document such as a video segment." + "month": { + "description": "Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.", + "format": "int32", + "type": "integer" }, - "taxonomic": { - "$ref": "YoutubeDiscoveryLegosLegosTaxonomicRelationship", - "description": "The annotation is a taxonomic annotation, i.e. it tells to which class of the Legos taxonomy the document belongs to." + "year": { + "description": "Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "YoutubeDiscoveryLegosLegosAnnotations": { - "description": "A collection of annotations returned by Legos for a document.", - "id": "YoutubeDiscoveryLegosLegosAnnotations", + "GoogleTypeDateTime": { + "description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", + "id": "GoogleTypeDateTime", "properties": { - "annotations": { - "description": "The annotations for this document. For a given (entity, relationship type) pair, there will be at most one annotation. The list has no particular order.", - "items": { - "$ref": "YoutubeDiscoveryLegosLegosAnnotation" - }, - "type": "array" + "day": { + "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", + "format": "int32", + "type": "integer" + }, + "hours": { + "description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + }, + "timeZone": { + "$ref": "GoogleTypeTimeZone", + "description": "Time zone." + }, + "utcOffset": { + "description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.", + "format": "google-duration", + "type": "string" + }, + "year": { + "description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "YoutubeDiscoveryLegosLegosEntity": { - "description": "The identification of a Knowledge Graph (KG) entity in Legos.", - "id": "YoutubeDiscoveryLegosLegosEntity", + "GoogleTypeExpr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "GoogleTypeExpr", "properties": { - "debugName": { - "deprecated": true, - "description": "DO NOT USE THIS FIELD. The entity name here can be random garbage and when it's actually a name it will be in a random language (most of the time English but not always). This field is going away soon. For a replacement you should probably use the following RPC: cs/symbol:Ytpedia.GetNames please read go/ytks-calling details on how to call it and don't hesitate to write to us for help with this (or in any case before starting to send real traffic to us) at: g/yt-knowledge-service", + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", "type": "string" }, - "kgId": { - "description": "The ID of the Knowledge Graph entity. Note: this is the primary ID at generation time. See https://sites.google.com/a/google.com/knowledge-graph/data/primary_ids", + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", "type": "string" } }, "type": "object" }, - "YoutubeDiscoveryLegosLegosFormatRelationship": { - "description": "Description of a format Legos annotation. http://go/legos/formats.md", - "id": "YoutubeDiscoveryLegosLegosFormatRelationship", + "GoogleTypeInterval": { + "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", + "id": "GoogleTypeInterval", "properties": { - "confidence": { - "description": "Format classification confidence score, in the 0-1 range. A score of XX% means that we expect at least XX% of the documents annotated with this format to be correctly annotated; i.e. thresholding at XX% yields a precision of at least XX%.", - "format": "float", - "type": "number" + "endTime": { + "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "YoutubeDiscoveryLegosLegosPresentRelationship": { - "description": "Description of a present Legos annotation.", - "id": "YoutubeDiscoveryLegosLegosPresentRelationship", + "GoogleTypeMoney": { + "description": "Represents an amount of money with its currency type.", + "id": "GoogleTypeMoney", "properties": { - "confidence": { - "description": "Confidence score. Thresholding at the confidence score at 0.XX yields annotations of precision of at least XX%.", - "format": "float", - "type": "number" + "currencyCode": { + "description": "The three-letter currency code defined in ISO 4217.", + "type": "string" }, - "contexts": { - "description": "Extra context about how the entity relates to the document. Typically vertical-specific. Please refrain from populating this field as we're working on migrating most of the use cases to the LegosEntity proto so clients don't have to scan all relationships to know which annotations they may be interested in.", - "items": { - "$ref": "YoutubeDiscoveryLegosLegosSemanticRelationshipContext" - }, - "type": "array" + "nanos": { + "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", + "format": "int32", + "type": "integer" + }, + "units": { + "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "format": "int64", + "type": "string" } }, "type": "object" }, - "YoutubeDiscoveryLegosLegosSemanticRelationship": { - "description": "Description of a semantic Legos annotation. http://go/legos/project.md#semantic-intent-annotations", - "id": "YoutubeDiscoveryLegosLegosSemanticRelationship", + "GoogleTypePostalAddress": { + "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "id": "GoogleTypePostalAddress", "properties": { - "confidence": { - "description": "Confidence score. Thresholding at the confidence score at 0.XX yields annotations of precision of at least XX%. Only filled in the intent definition Legos. Please use IsSemanticAnnotationAtConfidenceThreshold() from video/youtube/discovery/legos/annotations/public/legos_annotations_util.h to obtain only intent definition Legos. For more information on the migration please look at go/legos-intent-migration.", - "format": "float", - "type": "number" + "addressLines": { + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "items": { + "type": "string" + }, + "type": "array" + }, + "administrativeArea": { + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "type": "string" }, - "contexts": { + "languageCode": { + "description": "Optional. BCP-47 language code of the contents of this address (if known). This is often the UI language of the input form or is expected to match one of the languages used in the address' country/region, or their transliterated equivalents. This can affect formatting in certain countries, but is not critical to the correctness of the data and will never affect any validation or other non-formatting related operations. If this value is not known, it should be omitted (rather than specifying a possibly incorrect default). Examples: \"zh-Hant\", \"ja\", \"ja-Latn\", \"en\".", + "type": "string" + }, + "locality": { + "description": "Optional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use address_lines.", + "type": "string" + }, + "organization": { + "description": "Optional. The name of the organization at the address.", + "type": "string" + }, + "postalCode": { + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "type": "string" + }, + "recipients": { + "description": "Optional. The recipient at the address. This field may, under certain circumstances, contain multiline information. For example, it might contain \"care of\" information.", "items": { - "$ref": "YoutubeDiscoveryLegosLegosSemanticRelationshipContext" + "type": "string" }, "type": "array" }, - "topicalityScore": { - "deprecated": true, - "description": "DEPRECATED. Please use confidence instead. Will be set to the same value as confidence in early January 2019. See go/legos-intent-migration for more information.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "YoutubeDiscoveryLegosLegosSemanticRelationshipContext": { - "description": "Extra context about how the entity relates to the document. Typically vertical-specific.", - "id": "YoutubeDiscoveryLegosLegosSemanticRelationshipContext", - "properties": { - "subject": { - "$ref": "YoutubeDiscoveryLegosLegosEntity", - "description": "The subject of the semantic relationship. This is set when the relationship is derived from some other entity. The exact meaning of this field depends on the ContextType." + "regionCode": { + "description": "Required. CLDR region code of the country/region of the address. This is never inferred and it is up to the user to ensure the value is correct. See https://cldr.unicode.org/ and https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html for details. Example: \"CH\" for Switzerland.", + "type": "string" }, - "type": { - "description": "The type of semantic relationship between the document and the entity. This allows one to retrieve vertical-specific fine-grained information about the document.", - "enum": [ - "UNKNOWN_CONTEXT_TYPE", - "MUSIC_RECORDING_CLUSTER", - "MUSIC_EXACT_RECORDING", - "MUSIC_PRIMARY_RECORDING", - "MUSIC_RECORDING_ARTIST", - "MUSIC_FEATURED_ARTIST", - "MUSIC_GENERATED_REMIX_ARTIST", - "MUSIC_COMPOSITION", - "MUSIC_ORIGINAL_ARTIST_OF_COVER", - "MUSIC_ORIGINAL_RECORDING_CLUSTER_OF_COVER", - "MUSIC_OFFICIAL_VIDEO", - "MUSIC_OFFICIAL_AUDIO", - "MUSIC_OFFICIAL_EXACT_RECORDING_WITHOUT_CLUSTER", - "MUSIC_LYRICS_VIDEO", - "MUSIC_LIVE_RECORDING", - "MUSIC_REMIX_RECORDING", - "MUSIC_KARAOKE_VERSION", - "MUSIC_INSTRUMENTAL_RECORDING", - "MUSIC_REMIX_ARTIST", - "MUSIC_BOLLYWOOD_ACTOR", - "MUSIC_UGC_SONG", - "MUSIC_ART_TRACK_OR_PREMIUM_CLAIM", - "SHORT_VIDEO_BACKGROUND_MUSIC", - "SHORT_VIDEO_BACKGROUND_MUSIC_COMPOSITION", - "SHORT_VIDEO_BACKGROUND_MUSIC_EXACT_RECORDING", - "MUSIC_BASS_TOP_LEVEL_GENRE", - "MUSIC_BASS_SUBGENRE", - "CREATOR_OFFICIAL_CHANNEL", - "CREATOR_VEVO_SINGLE_CHANNEL", - "CREATOR_OTHER_SINGLE_CHANNEL", - "CREATOR_MULTIPLE_CHANNEL", - "TV_SHOW_FOOTAGE", - "TV_SHOW_GENRE", - "MOVIE_GENRE", - "GAMING_TOP_VIDEO_GAME", - "GAMING_IS_ITEM_EQUIPPED_BY", - "GAMING_IS_ITEM_USED_BY", - "GAMING_IS_ALLIED_CHARACTER_OF", - "GAMING_IS_CHARACTER_CONTROLLED_BY", - "LEGOS_OVERRIDE_LIVE_SPORTS", - "KG_SOCIAL_MEDIA_PROFILE", - "PERSON_CREATOR", - "PREMIUM_TVOD_MOVIE", - "PREMIUM_AVOD_MOVIE", - "PREMIUM_TVOD_SHOW", - "PREMIUM_MOVIE_ACTOR", - "PREMIUM_MOVIE_DIRECTOR", - "PREMIUM_MOVIE_GENRE", - "PUBLIC_FIGURE_UPLOADER", - "PUBLIC_FIGURE_ABOUT", - "RESPONSIBILITY_CLARIFICATION_NEEDED", - "CLARIFY_TFX_MODEL", - "DENORM_VIDEO_GAME_TO_VIDEO_GAME_GENRES", - "DENORM_VIDEO_GAME_TO_VIDEO_GAME_SERIES", - "DENORM_PRODUCT_LINE_TO_BRAND", - "DENORM_ORGANIZATION_TO_BRAND", - "DENORM_PODCAST_SERIES_TO_PODCAST", - "DENORM_COVID_VACCINE", - "DENORM_PRODUCT_TO_DOMINANT_PRODUCT_CATEGORY", - "DENORM_PRODUCT_TO_PRODUCT_CATEGORY", - "DENORMALIZATIONS", - "SHOPPING_PRODUCT", - "SHOPPING_PRODUCT_LINE", - "SHOPPING_BRAND", - "SHOPPING_CATEGORY", - "CREATOR_SHOPPING_PRODUCT", - "VSU_SHOPPING_PRODUCT", - "GEO_TYPE_RESTAURANT_OR_CAFE", - "GEO_TYPE_ESTABLISHMENT_POI", - "GEO_TYPES_COLLECTION_TRAVEL_AND_TOURISM", - "GEO_TYPE_ENTERTAINMENT_AND_RECREATION", - "GEO_TYPES_COLLECTION_BUSINESSES", - "GEO_TYPES_COLLECTION_POTENTIALLY_SENSITIVE", - "GEO_TYPE", - "GEO_TYPES_COLLECTION_SMALL_POLITICALS", - "ADDED_DURING_GEO_ENTITIES_PROMOTION", - "DENORM_LOCATION_TO_CONTAINING_COUNTRY", - "DENORM_LOCATION_TO_CONTAINING_REGION", - "DENORM_LOCATION_TO_CONTAINING_CITY", - "MOVIE", - "TV_SHOW", - "SPORT_TEAM", - "SPORT_LEAGUE", - "ELECTIONS_ANNOTATION_PRE_RULES", - "HAS_A_VOTING_MID", - "GEO_LEGOS_TEST_SET_V2_POLITICAL", - "GEO_LEGOS_TEST_SET_V2_TRAVEL_DESTINATIONS", - "GEO_LEGOS_TEST_SET_V2_DINING", - "GEO_LEGOS_TEST_SET_V2_HOTEL", - "TRAVEL_INTEREST", - "PERSON" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - true, - true, - true, - true, - true, - true, - false, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "", - "The entity refers to the recording cluster featured on the video. We will always create a supplementary RECORDING_CLUSTER when an EXACT_RECORDING annotation is present by denormalizing KG data. LegosAnnotation.LegosSemanticRelationship.Context.subject should be empty.", - "The mid refers to exact recording featured on the video. LegosAnnotation.LegosSemanticRelationship.Context.subject should point to the recording cluster. The subject can be empty, if no recording cluster exists.", - "The entity refers to the primary_recording of the recording cluster featured on the video. This exists only for backward compatibility until WebRef, QRef and all its clients migrate to /music/recording_cluster. LegosAnnotation.LegosSemanticRelationship.Context.subject should point to the recording cluster.", - "The entity refers to the musical artist performing a recording featured on the video. LegosAnnotation.LegosSemanticRelationship.Context.subject should point to the recording cluster of the featured recording, if known.", - "The entity refers to the featured artist relationship mined from KG, featured on the video. LegosAnnotation.LegosSemanticRelationship.Context.subject should point to the recording cluster of the featured recording, if known.", - "Original artist from a video that was AI Generated to ressemble the artist's type.", - "The entity refers to composition of the recording featured on the video. LegosAnnotation.LegosSemanticRelationship.Context.subject should point to the recording cluster of the featured recording, if known.", - "The entity refers to the original musical artist for which the recording is a cover of. LegosAnnotation.LegosSemanticRelationship.Context.subject should point to the recording cluster of the cover recording, if known.", - "The entity refers to the original musical recording cluster for which the recording is a cover of. LegosAnnotation.LegosSemanticRelationship.Context.subject should point to the recording cluster of the cover recording, if known.", - "The entity refers to the musical recording cluster for which the recording is an official video of.", - "The entity refers to the musical recording cluster for which the recording is an official audio-only (no visuals) video of. Typically an Art Track.", - "The mid refers to exact recording for which the video is an official video. The subject is empty because the recording cluster does not exist yet. This context should only exist in the beginning of the lifetime of a recording.", - "The entity refers to the musical recording cluster for which the recording is a lyrics video of.", - "The entity refers to the musical recording cluster and the video is featuring a live recording of this recording cluster.", - "The entity refers to the musical recording cluster and the video features a remix recording of this recording cluster.", - "The entity refers to the original musical recording cluster for which the recording is a karaoke version of.", - "The entity refers to the original musical recording cluster for which the recording is an instrumental version of.", - "The entity refers to the remix artist relationship mined from KG, doing the remix and only exists for a recording. LegosAnnotation.LegosSemanticRelationship.Context.subject should point to the recording made by this remixer, if known.", - "The entity refers to /film/actor that are associated with music videos from allowed Bollywood music channels. Allowlist: google3/googledata/video/youtube/discovery/metadata_aggregation/lists/bollywood_music_channels.txt", - "Information whether a song is user generated content or not. This information was originally carried with a Legos extension but since it's getting deprecated (b/153987502), context is now used for this.", - "Information whether the song was an art-track or the song was found in a premium claim on the video (the content owner is the owner of the video). This context is used to replace Disco2 Detours extension which is getting deprecated (b/153987502).", - "The entity refers to the recording cluster featured on a Short form video, where the music is playing in the background. This context is an equivalent of MUSIC_RECORDING_CLUSTER for background music on Shorts.", - "The entity refers to a composition present on a Short form video, where the music is playing in the background. LegosAnnotation.LegosSemanticRelationship.Context.subject should point to the SHORT_VIDEO_BACKGROUND_MUSIC recording cluster of the featured recording, if known. This context is an equivalent of MUSIC_COMPOSITION for background music on Shorts.", - "The entity refers to an exact recording featured on a Short form video, where the music is playing in the background. LegosAnnotation.LegosSemanticRelationship.Context.subject should point to the SHORT_VIDEO_BACKGROUND_MUSIC recording cluster of the featured recording, if known. This context is an equivalent of MUSIC_EXACT_RECORDING for background music on Shorts.", - "Context for music genres that come from Music Classification team.", - "", - "The entity refers to a creator who has uploaded this video on their verified official channel. go/avg-use-cases go/artist-channels contact: ytm-classification-eng@google.com", - "The entity refers to a creator who has uploaded this video on a VEVO channel with no other creators. go/avg-use-cases go/artist-channels contact: ytm-classification-eng@google.com", - "The entity refers to a creator who has uploaded this video on a channel that they are verified to control, but not their official channel go/avg-use-cases go/artist-channels contact: ytm-classification-eng@google.com", - "The entity refers to a creator who has uploaded this video on a channel that they are verified to be related to, but may not control exclusively go/avg-use-cases go/artist-channels contact: ytm-classification-eng@google.com", - "Deprecated. The context is currently unused and very sparse populated. We plan to delete it.", - "The entity refers to a TV show genre added from a TV show annotated on this video. Note that this does not imply that TV_SHOW_FOOTAGE is present on any annotation for this video; the show may have been obtained using metadata methods and we don't know for sure that footage is present.", - "The entity refers to a movie genre added from a movie annotated on this video. Note that this might also trigger for shoulder content such as trailers or interviews.", - "The entity refers to the top scored game title(s) for a particular gaming related video.", - "Deprecated. The experiment on top of this has not launched.", - "Deprecated. The experiment on top of this has not launched.", - "Deprecated. The experiment on top of this has not launched.", - "Deprecated. The experiment on top of this has not launched.", - "The entity refers to a Legos annotation that is manually requested by the live discovery team for sports live streams.", - "The entity refers to a creator who has uploaded this video on one of their channels that is present as a social profile in KG, e.g. https://screenshot.googleplex.com/RCNN3YPizpe.png. Annotations with this context may overlap with CREATOR_OFFICIAL_CHANNEL which is Disco3 specific.", - "Deprecated context, do not use.", - "The video is a premium TVOD (Transaction-based Video On Demand) movie described by the entity. Premium movies and shows are owned by the YT Popcorn team (go/popcorn).", - "The video is a premium AVOD (Advertisement-based Video On Demand) movie described by the entity. Premium movies and shows are owned by the YT Popcorn team (go/popcorn).", - "The video is a premium TVOD (Transaction-based Video On Demand) show described by the entity. Premium movies and shows are owned by the YT Popcorn team (go/popcorn).", - "The entity is a genre, actor or director mid that has been inferred from the presence of a movie mid, in a premium movie. See go/legos-premium-movie-associations. Premium movies and shows are owned by the YT Popcorn team (go/popcorn).", - "", - "", - "The video is by the public figure who owns the uploading channel.", - "The entity owns a channel part of the Public Figure corpus.", - "The video needs clarification about the entity. This typically means we should display a message establishing facts or scientific consensus about the entity next to the video. NOTE: this is not a public context type yet. Please reach out to yt-knowledge-responsibility-features@google.com before using it. Its semantics and precision are very specific and subject to change without warning.", - "Deprecated context, do not use.", - "Video game genre entity that has been denormalized from a video game.", - "Video game series entity that has been denormalized from a video game.", - "Brand entity that has been denormalized by a product-related entity.", - "Brand entity that has been denormalized by an organization entity.", - "Podcast entity that has been denormalized from a base Podcast by KG type.", - "Covid vaccine entity denormalized from a particular vaccine (e.g. Sputnik).", - "Dominant product category denormalized from a particular product.", - "Product category denormalized from a particular product.", - "Generic KG denormalization, scored by doc cooccurrence. For testing only! If it looks good it should be launched with its own context. In the meantime you can see the type in the debugger trace.", - "This context indicates when a Legos is of type /business/variant_cluster. Further product related KG types will be added in the future and the context will stop corresponding to a single KG type. Furthermore, the context is only applied, if the entity passes additional filtering (e.g. requiring a name).", - "This context indicates that a Legos annotation is of a product line See go/shopping-kg-schema#product-lines.", - "This context indicates that a Legos annotation is of a shopping brand. See go/shopping-kg-schema#brands.", - "This context indicates that a Legos annotation is of a shopping category. See go/shopping-kg-schema#product-categories.", - "This context indicates that a Legos annotation comes from a creator shopping product annotation (go/shoptube).", - "This context indicates that a Legos annotation was output by VSU.", - "Deprecated. See b/244583433. Instead, consider relying on GEO_TYPE and looking up individual KG types in YTKS.", - "Deprecated. See b/244583433. Instead, consider relying on GEO_TYPE and looking up individual KG types in YTKS.", - "Deprecated. See b/244583433. Instead, consider relying on GEO_TYPE and looking up individual KG types in YTKS.", - "Deprecated. See b/244583433. Instead, consider relying on GEO_TYPE and looking up individual KG types in YTKS.", - "Deprecated. See b/244583433. Instead, consider relying on GEO_TYPE and looking up individual KG types in YTKS.", - "Deprecated. See b/244583433. Instead, consider relying on GEO_TYPE and looking up individual KG types in YTKS.", - "Context used by Geo that indicates if an entity is a geo feature.", - "Deprecated. See b/244583433. Instead, consider relying on GEO_TYPE and looking up individual KG types in YTKS.", - "Deprecated. See b/244583433. Instead, consider relying on GEO_TYPE and looking up individual KG types in YTKS.", - "Assigned to an entity that has been denormalized from an entity which it geographically contains according to the containing entity's type.", - "", - "", - "This context indicates that a Legos annotation is of a movie.", - "This context indicates that a Legos annotation is of a tv show.", - "This context indicates that a Legos annotation is of a sport team.", - "This context indicates that a Legos annotation is of a sport league.", - "To help with monitoring: marks preexisting annotations before applying rules that increase recall for this mid.", - "", - "To use in Geo Legos launch report. Each context defines a slice of docs to subsample in a test.", - "", - "", - "", - "A broad travel lego context stands for travel experiences, activities etc. This is not about a geo location but more of a reason why people want to visit a place. For example, \"amusement park\", \"surfing\", \"honeymoon\".", - "A real-life person. This context can annotate anyone as long as they have a KG entity, there is no filter on notability." - ], + "revision": { + "description": "The schema revision of the `PostalAddress`. This must be set to 0, which is the latest revision. All new revisions **must** be backward compatible with old revisions.", + "format": "int32", + "type": "integer" + }, + "sortingCode": { + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "type": "string" + }, + "sublocality": { + "description": "Optional. Sublocality of the address. For example, this can be neighborhoods, boroughs, districts.", "type": "string" } }, "type": "object" }, - "YoutubeDiscoveryLegosLegosTaxonomicRelationship": { - "description": "Description of a taxonomic Legos annotation. http://go/legos/project.md#taxonomy-annotations", - "id": "YoutubeDiscoveryLegosLegosTaxonomicRelationship", + "GoogleTypeTimeZone": { + "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", + "id": "GoogleTypeTimeZone", "properties": { - "isRedundant": { - "description": "Set to true if the taxonomy annotation is redundant amongst the set of other taxonomy annotations for the same document, i.e. if there is at least one other taxonomy annotation that is a child node of this one.", - "type": "boolean" + "id": { + "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "type": "string" }, - "score": { - "description": "A score, in the 0-1 range, used to rank taxonomy annotations.", - "format": "double", - "type": "number" + "version": { + "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "type": "string" } }, "type": "object" diff --git a/contentwarehouse/v1/contentwarehouse-gen.go b/contentwarehouse/v1/contentwarehouse-gen.go index bdde9c62656..ef68d249732 100644 --- a/contentwarehouse/v1/contentwarehouse-gen.go +++ b/contentwarehouse/v1/contentwarehouse-gen.go @@ -259,136261 +259,6133 @@ type ProjectsLocationsSynonymSetsService struct { s *Service } -type AbuseiamAbuseType struct { - // Possible values: - // "NONE" - no abuse - // "OTHER_ABUSE" - generic abuse that isn't enumerated here - // "CHILD_PORN" - illegal child porn images - // "PORNOGRAPHY" - // "SPAM" - // "PHISHING" - // "HATE" - // "TOS_OTHER" - To be only used for Multi-Image Review. - // "MALWARE" - MALWARE includes viruses, worms, trojans, adware and even - // potentially unwanted software which may not necessarily be harmful. - // "MALICIOUS_JAVASCRIPT" - // "NOT_FAMILY_SAFE" - DEPRECATED - For safe searches, etc. - // "IMPERSONATION" - // "PEDOPHILIA" - Not illegal, but image or text content - // "PERSONAL_INFO" - promoting or related to young pornography Personally - // identifiable information - // "COPYRIGHT" - // "HIGH_RISK" - High risk reviews for any client. - // "VIOLENCE" - // "UNSAFE_RACY" - Content that is unsafe because it is sexually - // "UNSAFE_OTHER" - suggestive/racy Content that is unsafe for other reasons - // than - // "FAKE_USER" - being sexually suggestive/racy. Category for users who are - // not real - // "NAME_VIOLATION" - User's name that violates policy. - // "PLUSONE_VIOLATION" - Violates PLUSONE policy. - // "DEFAMATION" - Defamation claims - // "TRADEMARK" - Trademark violations where Google could be - // "COURT_ORDER" - liable Third-party court orders - // "GOVERNMENT_ORDER" - Government request, regardless of reason - // "LOCAL_LAWS" - Other misc country-specific laws - // "PRIVACY" - Local privacy laws - // "ES_BLACKLIST" - Internal type to check es content against - // "ES_COMMENTS_BLACKLIST" - the ocelot blocklist. Internal type. - // "HARASSMENT" - Consistent harassing behaviour directed - // "COMPROMISED" - towards a person. Hijacked or Compromised profile. - // "LOW_QUALITY" - Low quality/Annoying content. - // "API_VIOLATION" - Violates APIARY policy. - // "REGULATED" - Contains regulated products and services, such as - // pharmaceuticals, alcohol, tobacco, etc. For details, - // https://sites.google.com/a/google.com/crt-policy-site/regulated - // "CAROUSEL_FRAME_BLACKLIST" - Internal type. - // "QUOTA_EXCEEDED" - Quota exceeded for the action. - // "FOUNTAIN_BLACKLIST" - Internal type. - // "COPPA_REGULATED" - Contains content regulated by COPPA. - // "DOXXING" - Revealing personal/protected information. - // "SOFT_HATE" - Pattern of behavior verdicts. Used to aggregate verdicts - // that aren't typically bad enough for one of the above verdicts, but - // something we want to keep track of in cases of rotten behavior. Hate without - // incitement - // "SOFT_HARASSMENT" - Harassment that does meet the harm bar. - // "OBNOXIOUS" - Obnoxious, Lousy behavior, not against TOS. - // "UNWANTED" - Content targeted at a person who considered - // "NOT_UNICORN_SAFE" - Not safe for kids. - // "FAKE_ENGAGEMENT" - Engagements that are not organic. - // "COUNTERFEIT" - Promotion of counterfeit product claims. - // "CTM" - Circumvention of Technological measures - Id string `json:"id,omitempty"` - // Subtype: Optional client specific subtype of abuse that is too specific to - // belong in the above enumeration. For example, some client may want to - // differentiate nudity from graphic sex, but both are PORNOGRAPHY. - Subtype string `json:"subtype,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AbuseiamAbuseType) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamAbuseType - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AbuseiamAgeRestriction struct { - // AgeYears: This restriction applies if the user is between [min_age_years, - // age_years) years old. - AgeYears int64 `json:"ageYears,omitempty"` - MinAgeYears int64 `json:"minAgeYears,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgeYears") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// CloudAiPlatformTenantresourceCloudSqlInstanceConfig: The identity to +// configure a CloudSQL instance provisioned via SLM Terraform. +type CloudAiPlatformTenantresourceCloudSqlInstanceConfig struct { + // CloudSqlInstanceConnectionName: Output only. The CloudSQL instance + // connection name. + CloudSqlInstanceConnectionName string `json:"cloudSqlInstanceConnectionName,omitempty"` + // CloudSqlInstanceName: Input/Output [Optional]. The CloudSQL instance name + // within SLM instance. If not set, a random UUIC will be generated as instance + // name. + CloudSqlInstanceName string `json:"cloudSqlInstanceName,omitempty"` + // KmsKeyReference: Input [Optional]. The KMS key name or the KMS grant name + // used for CMEK encryption. Only set this field when provisioning new CloudSQL + // instances. For existing CloudSQL instances, this field will be ignored + // because CMEK re-encryption is not supported. + KmsKeyReference string `json:"kmsKeyReference,omitempty"` + // MdbRolesForCorpAccess: Input [Optional]. MDB roles for corp access to + // CloudSQL instance. + MdbRolesForCorpAccess []string `json:"mdbRolesForCorpAccess,omitempty"` + // SlmInstanceName: Output only. The SLM instance's full resource name. + SlmInstanceName string `json:"slmInstanceName,omitempty"` + // SlmInstanceTemplate: Input [Required]. The SLM instance template to + // provision CloudSQL. + SlmInstanceTemplate string `json:"slmInstanceTemplate,omitempty"` + // SlmInstanceType: Input [Required]. The SLM instance type to provision + // CloudSQL. + SlmInstanceType string `json:"slmInstanceType,omitempty"` + // ForceSendFields is a list of field names (e.g. + // "CloudSqlInstanceConnectionName") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted from + // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgeYears") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "CloudSqlInstanceConnectionName") + // to include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamAgeRestriction) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamAgeRestriction +func (s *CloudAiPlatformTenantresourceCloudSqlInstanceConfig) MarshalJSON() ([]byte, error) { + type NoMethod CloudAiPlatformTenantresourceCloudSqlInstanceConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AbuseiamAndRestriction struct { - // Child: This restriction applies if all of the children apply. - Child []*AbuseiamUserRestriction `json:"child,omitempty"` - // ForceSendFields is a list of field names (e.g. "Child") to unconditionally +// CloudAiPlatformTenantresourceGcsBucketConfig: The identity to configure a +// GCS bucket. +type CloudAiPlatformTenantresourceGcsBucketConfig struct { + Admins []string `json:"admins,omitempty"` + // BucketName: Input/Output [Optional]. The name of a GCS bucket with max + // length of 63 chars. If not set, a random UUID will be generated as bucket + // name. + BucketName string `json:"bucketName,omitempty"` + // EntityName: Input/Output [Optional]. Only needed for per-entity tenant GCP + // resources. During Deprovision API, the on-demand deletion will only cover + // the tenant GCP resources with the specified entity name. + EntityName string `json:"entityName,omitempty"` + // KmsKeyReference: Input/Output [Optional]. The KMS key name or the KMS grant + // name used for CMEK encryption. Only set this field when provisioning new GCS + // bucket. For existing GCS bucket, this field will be ignored because CMEK + // re-encryption is not supported. + KmsKeyReference string `json:"kmsKeyReference,omitempty"` + // TtlDays: Input/Output [Optional]. Only needed when the content in bucket + // need to be garbage collected within some amount of days. + TtlDays int64 `json:"ttlDays,omitempty"` + // Viewers: Input/Output [Required]. IAM roles (viewer/admin) put on the + // bucket. + Viewers []string `json:"viewers,omitempty"` + // ForceSendFields is a list of field names (e.g. "Admins") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Child") to include in API + // NullFields is a list of field names (e.g. "Admins") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamAndRestriction) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamAndRestriction - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AbuseiamClient: A client is be a Google product, or subproduct that provides -// content for AbuseIAm to classify. -type AbuseiamClient struct { - // Possible values: - // "ABUSE_TEAM" - // "SEARCH" - Web Search. - // "GROUPS" - // "PROFILES" - // "WRITELY" - Being superseded by KIX soon. - // "EXPLORER" - Blobs stored by explorer. - // "URL_SHORTENER" - // "USENET" - // "PHOTOS" - // "ANDROID_MARKET" - // "ES" - Emerald Sea. - // "BABEL" - // "STRATUS" - Stratus uses the corpus name as subservice. - // "GMAIL" - Gmail. - // "GJOBS" - Garage, or G+ Jobs. - Id string `json:"id,omitempty"` - // Subservice: The name of the subservice within a client. This subservice can - // be used to affect the flow of decision script, or selection of backend - // classifiers. For example, StreetView may want to specify a panel is - // insufficiently blurred (maybe there is a lisense plate or public sex, etc), - // which requires manual review then the subservice might be "blurring". - Subservice string `json:"subservice,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AbuseiamClient) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamClient +func (s *CloudAiPlatformTenantresourceGcsBucketConfig) MarshalJSON() ([]byte, error) { + type NoMethod CloudAiPlatformTenantresourceGcsBucketConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AbuseiamConstantRestriction struct { - // Type: A constant of type TRUE always applies, and of type FALSE never - // applies. +// CloudAiPlatformTenantresourceIamPolicyBinding: The dynamic IAM bindings to +// be granted after tenant projects are created. +type CloudAiPlatformTenantresourceIamPolicyBinding struct { + // Members: Input/Output [Required]. The member service accounts with the roles + // above. Note: placeholders are same as the resource above. + Members []string `json:"members,omitempty"` + // Resource: Input/Output [Required]. The resource name that will be accessed + // by members, which also depends on resource_type. Note: placeholders are + // supported in resource names. For example, ${tpn} will be used when the + // tenant project number is not ready. + Resource string `json:"resource,omitempty"` + // ResourceType: Input/Output [Required]. Specifies the type of resource that + // will be accessed by members. // // Possible values: - // "ALWAYS_TRUE" - // "ALWAYS_FALSE" - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally + // "RESOURCE_TYPE_UNSPECIFIED" + // "PROJECT" - The value of resource field is the ID or number of a project. + // Format is + // "SERVICE_ACCOUNT" - The value of resource field is the resource name of a + // service account. Format is projects//serviceAccounts/ + // "GCS_BUCKET" - The value of resource field is the name of a GCS bucket + // (not its resource name). Format is . + // "SERVICE_CONSUMER" - The value of resource field is the resource name of a + // service consumer. Format is services//consumers/ + // "AR_REPO" - The value of the resource field is the AR Image Uri which + // identifies an AR REPO. Allowed formats are: /// ///: ///@ + ResourceType string `json:"resourceType,omitempty"` + // Role: Input/Output [Required]. The role for members below. + Role string `json:"role,omitempty"` + // ForceSendFields is a list of field names (e.g. "Members") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "Members") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamConstantRestriction) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamConstantRestriction +func (s *CloudAiPlatformTenantresourceIamPolicyBinding) MarshalJSON() ([]byte, error) { + type NoMethod CloudAiPlatformTenantresourceIamPolicyBinding return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AbuseiamContentRestriction: Pair of Verdicts used for ProjectR age/geo -// gating. See http://go/projectr for more information. -type AbuseiamContentRestriction struct { - // AdminVerdict: Takedowns specified by admins via AbuseIAm - AdminVerdict []*AbuseiamVerdict `json:"adminVerdict,omitempty"` - // UserVerdict: User-specified takedowns - UserVerdict []*AbuseiamVerdict `json:"userVerdict,omitempty"` - // ForceSendFields is a list of field names (e.g. "AdminVerdict") to +// CloudAiPlatformTenantresourceInfraSpannerConfig: The configuration for a +// spanner database provisioning. Next ID: 8 +type CloudAiPlatformTenantresourceInfraSpannerConfig struct { + // CreateDatabaseOptions: Input [Optional]. The options to create a spanner + // database. Note: give the right options to ensure the right KMS key access + // audit logging and AxT logging in expected logging category. + CreateDatabaseOptions *CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions `json:"createDatabaseOptions,omitempty"` + // KmsKeyReference: Input [Optional]. The KMS key name or the KMS grant name + // used for CMEK encryption. Only set this field when provisioning new Infra + // Spanner databases. For existing Infra Spanner databases, this field will be + // ignored because CMEK re-encryption is not supported. For example, + // projects//locations//keyRings//cryptoKeys/ + KmsKeyReference string `json:"kmsKeyReference,omitempty"` + // SdlBundlePath: Input [Required]. The file path to the spanner SDL bundle. + SdlBundlePath string `json:"sdlBundlePath,omitempty"` + // SpannerBorgServiceAccount: Input [Optional]. The spanner borg service + // account for delegating the kms key to. For example, + // spanner-infra-cmek-nonprod@system.gserviceaccount.com, for the nonprod + // universe. + SpannerBorgServiceAccount string `json:"spannerBorgServiceAccount,omitempty"` + SpannerLocalNamePrefix string `json:"spannerLocalNamePrefix,omitempty"` + SpannerNamespace string `json:"spannerNamespace,omitempty"` + // SpannerUniverse: Input [Required]. Every database in Spanner can be + // identified by the following path name: /span//: + SpannerUniverse string `json:"spannerUniverse,omitempty"` + // ForceSendFields is a list of field names (e.g. "CreateDatabaseOptions") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AdminVerdict") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "CreateDatabaseOptions") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamContentRestriction) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamContentRestriction +func (s *CloudAiPlatformTenantresourceInfraSpannerConfig) MarshalJSON() ([]byte, error) { + type NoMethod CloudAiPlatformTenantresourceInfraSpannerConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AbuseiamEvaluation: Backends return Evaluations to AbuseIAm. One of the -// things Evaluations are used for is to explain Verdicts. -type AbuseiamEvaluation struct { - AbuseType *AbuseiamAbuseType `json:"abuseType,omitempty"` - // Backend: Who creates this Evaluation. This field is required. - // - // Possible values: - // "UNKNOWN" - // "ADMIN" - Eval directly from the AbuseIAm server. - // "OCELOT" - // "SPAMIAM" - // "MANUAL_REVIEW" - // "PORN_CLASSIFIER" - Text-based porn classifier. - // "GIBBERISH_DETECTOR" - Language model-based gibberish detector. - // "BADWORD" - Deprecated. Please use PATTERNLIST instead. - // "IMAGE_PORN_CLASSIFIER" - // "FIFE_IMAGE_FETCHER" - // "RULE" - For miscellaneous rules in decision scripts - // "FOCUS" - that are not separate backends. - // "PATTERNLIST" - Check texts against a list of regex patterns. - // "WIGGUM" - Does search-by-image using Wiggum Server. - // "BINARY_EXPLORATION" - Slow backend. See http://go/bineval. - // "QUOTASERVER" - Quota server adapter. - // "YOUTUBE" - Video classification from youtube. - // "POLICY" - For evaluation generated according to policy. - // "PHOTO_SERVICE" - Adapter that queries Photo Service. - // "ARES" - For evaluations generated by Ares. - Backend string `json:"backend,omitempty"` - // Comment: Backends can choose to put some debug info in addition to - // abuse_type, score, and status. - Comment string `json:"comment,omitempty"` - // MiscData: This field is used to store miscellaneous information that Backend - // might provide. If you find youself here considering to use this field, - // please prefer using the repeated feature field below instead. It supports a - // richer structure for passing complex data back from the backend. - MiscData []*AbuseiamNameValuePair `json:"miscData,omitempty"` - // ProcessedMicros: When the evaluation was processed by the decision script. - ProcessedMicros int64 `json:"processedMicros,omitempty,string"` - // Region: The list of regions where the evaluation applies. - Region []*AbuseiamRegion `json:"region,omitempty"` - Score float64 `json:"score,omitempty"` - // Possible values: - // "OK" - // "ERROR" - The Backend failed to process the target. - Status string `json:"status,omitempty"` - Target *AbuseiamTarget `json:"target,omitempty"` - // TimestampMicros: When the Evaluation was generated. - TimestampMicros int64 `json:"timestampMicros,omitempty,string"` - // UserRestriction: A boolean expression tree used to define the restrictions - // where the verdict applies. Please use - // java/com/google/ccc/abuse/abuseiam/client/TakedownManager.java to evaluate - // this proto. - UserRestriction *AbuseiamUserRestriction `json:"userRestriction,omitempty"` - // Version: Version of Backend. For rules, this string is the only way to - // differentiate between them. - Version string `json:"version,omitempty"` - // ForceSendFields is a list of field names (e.g. "AbuseType") to +// CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions: The +// options to create a spanner database. KMS key access audit logging and AxT +// logging will be associated with the given resource name, resource type and +// service name. Please ensure to give right options to enable correct audit +// logging and AxT logging. +type CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions struct { + // CmekCloudResourceName: The cloud resource name for the CMEK encryption. For + // example, projects//locations/ + CmekCloudResourceName string `json:"cmekCloudResourceName,omitempty"` + // CmekCloudResourceType: The cloud resource type for the CMEK encryption. For + // example, contentwarehouse.googleapis.com/Location + CmekCloudResourceType string `json:"cmekCloudResourceType,omitempty"` + // CmekServiceName: The service name for the CMEK encryption. For example, + // contentwarehouse.googleapis.com + CmekServiceName string `json:"cmekServiceName,omitempty"` + // ForceSendFields is a list of field names (e.g. "CmekCloudResourceName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AbuseType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "CmekCloudResourceName") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamEvaluation) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamEvaluation +func (s *CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions) MarshalJSON() ([]byte, error) { + type NoMethod CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -func (s *AbuseiamEvaluation) UnmarshalJSON(data []byte) error { - type NoMethod AbuseiamEvaluation - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - -// AbuseiamGeoRestriction: A node representing a table of regions and -// restrictions that apply to those regions. This table understands region -// inclusion and knows to apply the most specific rule, for example, a rule for -// France would override a rule for the EU for a user in France. -type AbuseiamGeoRestriction struct { - Locale []*AbuseiamGeoRestrictionLocale `json:"locale,omitempty"` - // ForceSendFields is a list of field names (e.g. "Locale") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// CloudAiPlatformTenantresourceServiceAccountIdentity: The identity to +// configure a service account. +type CloudAiPlatformTenantresourceServiceAccountIdentity struct { + // ServiceAccountEmail: Output only. The service account email that has been + // created. + ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"` + // Tag: Input/Output [Optional]. The tag that configures the service account, + // as defined in + // google3/configs/production/cdpush/acl-zanzibar-cloud-prod/activation_grants/a + // ctivation_grants.gcl. Note: The default P4 service account has the empty + // tag. + Tag string `json:"tag,omitempty"` + // ForceSendFields is a list of field names (e.g. "ServiceAccountEmail") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Locale") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "ServiceAccountEmail") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamGeoRestriction) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamGeoRestriction +func (s *CloudAiPlatformTenantresourceServiceAccountIdentity) MarshalJSON() ([]byte, error) { + type NoMethod CloudAiPlatformTenantresourceServiceAccountIdentity return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AbuseiamGeoRestrictionLocale struct { - // Location: The location where the restriction applies. Defaults to the "The - // world". See go/iii. - Location string `json:"location,omitempty"` - // Restriction: The UserRestriction that applies to this location. If not - // specified evaluates to true. - Restriction *AbuseiamUserRestriction `json:"restriction,omitempty"` - // ForceSendFields is a list of field names (e.g. "Location") to +// CloudAiPlatformTenantresourceTenantProjectConfig: The identity to configure +// a tenant project. +type CloudAiPlatformTenantresourceTenantProjectConfig struct { + // BillingConfig: Input/Output [Required]. The billing account properties to + // create the tenant project. + BillingConfig *GoogleApiServiceconsumermanagementV1BillingConfig `json:"billingConfig,omitempty"` + // Folder: Input/Output [Required]. The folder that holds tenant projects and + // folder-level permissions will be automatically granted to all tenant + // projects under the folder. Note: the valid folder format is + // `folders/{folder_number}`. + Folder string `json:"folder,omitempty"` + // PolicyBindings: Input/Output [Required]. The policy bindings that are + // applied to the tenant project during creation. At least one binding must + // have the role `roles/owner` with either `user` or `group` type. + PolicyBindings []*GoogleApiServiceconsumermanagementV1PolicyBinding `json:"policyBindings,omitempty"` + // Services: Input/Output [Required]. The API services that are enabled on the + // tenant project during creation. + Services []string `json:"services,omitempty"` + // ForceSendFields is a list of field names (e.g. "BillingConfig") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Location") to include in API + // NullFields is a list of field names (e.g. "BillingConfig") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamGeoRestrictionLocale) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamGeoRestrictionLocale - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +func (s *CloudAiPlatformTenantresourceTenantProjectConfig) MarshalJSON() ([]byte, error) { + type NoMethod CloudAiPlatformTenantresourceTenantProjectConfig + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AbuseiamHash: Information about various hashes that can be computed on a -// message ex: simhash, attachment hash, etc -type AbuseiamHash struct { - // Hash: 64 bit hash in the hex form. - Hash string `json:"hash,omitempty"` - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Hash") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// CloudAiPlatformTenantresourceTenantProjectResource: The tenant project and +// tenant resources. Next ID: 10 +type CloudAiPlatformTenantresourceTenantProjectResource struct { + // CloudSqlInstances: The CloudSQL instances that are provisioned under the + // tenant project. + CloudSqlInstances []*CloudAiPlatformTenantresourceCloudSqlInstanceConfig `json:"cloudSqlInstances,omitempty"` + // GcsBuckets: The GCS buckets that are provisioned under the tenant project. + GcsBuckets []*CloudAiPlatformTenantresourceGcsBucketConfig `json:"gcsBuckets,omitempty"` + // IamPolicyBindings: The dynamic IAM bindings that are granted under the + // tenant project. Note: this should only add new bindings to the project if + // they don't exist and the existing bindings won't be affected. + IamPolicyBindings []*CloudAiPlatformTenantresourceIamPolicyBinding `json:"iamPolicyBindings,omitempty"` + // InfraSpannerConfigs: The Infra Spanner databases that are provisioned under + // the tenant project. Note: this is an experimental feature. + InfraSpannerConfigs []*CloudAiPlatformTenantresourceInfraSpannerConfig `json:"infraSpannerConfigs,omitempty"` + // Tag: Input/Output [Required]. The tag that uniquely identifies a tenant + // project within a tenancy unit. Note: for the same tenant project tag, all + // tenant manager operations should be idempotent. + Tag string `json:"tag,omitempty"` + // TenantProjectConfig: The configurations of a tenant project. + TenantProjectConfig *CloudAiPlatformTenantresourceTenantProjectConfig `json:"tenantProjectConfig,omitempty"` + // TenantProjectId: Output only. The tenant project ID that has been created. + TenantProjectId string `json:"tenantProjectId,omitempty"` + // TenantProjectNumber: Output only. The tenant project number that has been + // created. + TenantProjectNumber int64 `json:"tenantProjectNumber,omitempty,string"` + // TenantServiceAccounts: The service account identities (or enabled API + // service's P4SA) that are expclicitly created under the tenant project + // (before JIT provisioning during enabled API services). + TenantServiceAccounts []*CloudAiPlatformTenantresourceTenantServiceAccountIdentity `json:"tenantServiceAccounts,omitempty"` + // ForceSendFields is a list of field names (e.g. "CloudSqlInstances") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Hash") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "CloudSqlInstances") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamHash) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamHash +func (s *CloudAiPlatformTenantresourceTenantProjectResource) MarshalJSON() ([]byte, error) { + type NoMethod CloudAiPlatformTenantresourceTenantProjectResource return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AbuseiamNameValuePair struct { - Name string `json:"name,omitempty"` - NonUtf8Value string `json:"nonUtf8Value,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// CloudAiPlatformTenantresourceTenantResource: A collection of tenant +// resources. +type CloudAiPlatformTenantresourceTenantResource struct { + // P4ServiceAccounts: A list of P4 service accounts (go/p4sa) to provision or + // deprovision. + P4ServiceAccounts []*CloudAiPlatformTenantresourceServiceAccountIdentity `json:"p4ServiceAccounts,omitempty"` + // TenantProjectResources: A list of tenant projects and tenant resources to + // provision or deprovision. + TenantProjectResources []*CloudAiPlatformTenantresourceTenantProjectResource `json:"tenantProjectResources,omitempty"` + // ForceSendFields is a list of field names (e.g. "P4ServiceAccounts") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "P4ServiceAccounts") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamNameValuePair) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamNameValuePair +func (s *CloudAiPlatformTenantresourceTenantResource) MarshalJSON() ([]byte, error) { + type NoMethod CloudAiPlatformTenantresourceTenantResource return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AbuseiamNotRestriction struct { - // Child: This restriction applies if the child does not apply. Only one is - // allowed. "repeated" is used to avoid breaking Sawzall (See b/6758277). - Child []*AbuseiamUserRestriction `json:"child,omitempty"` - // ForceSendFields is a list of field names (e.g. "Child") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// CloudAiPlatformTenantresourceTenantServiceAccountIdentity: The identity of +// service accounts that have been explicitly created under tenant projects. +type CloudAiPlatformTenantresourceTenantServiceAccountIdentity struct { + // ServiceAccountEmail: Output only. The email address of the generated service + // account. + ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"` + // ServiceName: Input/Output [Required]. The service that the service account + // belongs to. (e.g. cloudbuild.googleapis.com for GCB service accounts) + ServiceName string `json:"serviceName,omitempty"` + // ForceSendFields is a list of field names (e.g. "ServiceAccountEmail") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Child") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "ServiceAccountEmail") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamNotRestriction) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamNotRestriction +func (s *CloudAiPlatformTenantresourceTenantServiceAccountIdentity) MarshalJSON() ([]byte, error) { + type NoMethod CloudAiPlatformTenantresourceTenantServiceAccountIdentity return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AbuseiamOrRestriction struct { - // Child: This restriction applies if any of the children apply. - Child []*AbuseiamUserRestriction `json:"child,omitempty"` - // ForceSendFields is a list of field names (e.g. "Child") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// GoogleApiServiceconsumermanagementV1BillingConfig: Describes the billing +// configuration for a new tenant project. +type GoogleApiServiceconsumermanagementV1BillingConfig struct { + // BillingAccount: Name of the billing account. For example + // `billingAccounts/012345-567890-ABCDEF`. + BillingAccount string `json:"billingAccount,omitempty"` + // ForceSendFields is a list of field names (e.g. "BillingAccount") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Child") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "BillingAccount") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamOrRestriction) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamOrRestriction +func (s *GoogleApiServiceconsumermanagementV1BillingConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleApiServiceconsumermanagementV1BillingConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AbuseiamRegion struct { - // Region: This is a CLDR Region Code: http://wiki/Main/IIIHowTo#using_region - // It is used to denote the region affected by a verdict. - Region string `json:"region,omitempty"` - // ForceSendFields is a list of field names (e.g. "Region") to unconditionally +// GoogleApiServiceconsumermanagementV1PolicyBinding: Translates to IAM Policy +// bindings (without auditing at this level) +type GoogleApiServiceconsumermanagementV1PolicyBinding struct { + // Members: Uses the same format as in IAM policy. `member` must include both a + // prefix and ID. For example, `user:{emailId}`, `serviceAccount:{emailId}`, + // `group:{emailId}`. + Members []string `json:"members,omitempty"` + // Role: Role. (https://cloud.google.com/iam/docs/understanding-roles) For + // example, `roles/viewer`, `roles/editor`, or `roles/owner`. + Role string `json:"role,omitempty"` + // ForceSendFields is a list of field names (e.g. "Members") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Region") to include in API + // NullFields is a list of field names (e.g. "Members") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamRegion) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamRegion +func (s *GoogleApiServiceconsumermanagementV1PolicyBinding) MarshalJSON() ([]byte, error) { + type NoMethod GoogleApiServiceconsumermanagementV1PolicyBinding return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AbuseiamSpecialRestriction: A SpecialRestriction is a standardized -// UserRestriction which lives in a table maintained via CDD. -type AbuseiamSpecialRestriction struct { +// GoogleCloudContentwarehouseV1AccessControlAction: Represents the action +// responsible for access control list management operations. +type GoogleCloudContentwarehouseV1AccessControlAction struct { + // OperationType: Identifies the type of operation. + // // Possible values: - // "ALCOHOL" - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // "UNKNOWN" - The unknown operation type. + // "ADD_POLICY_BINDING" - Adds newly given policy bindings in the existing + // bindings list. + // "REMOVE_POLICY_BINDING" - Removes newly given policy bindings from the + // existing bindings list. + // "REPLACE_POLICY_BINDING" - Replaces existing policy bindings with the + // given policy binding list + OperationType string `json:"operationType,omitempty"` + // Policy: Represents the new policy from which bindings are added, removed or + // replaced based on the type of the operation. the policy is limited to a few + // 10s of KB. + Policy *GoogleIamV1Policy `json:"policy,omitempty"` + // ForceSendFields is a list of field names (e.g. "OperationType") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AbuseiamSpecialRestriction) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamSpecialRestriction - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AbuseiamTarget struct { - Id string `json:"id,omitempty"` - // Possible values: - // "MESSAGE_ID" - verdict is issued on the whole message - // "CHUNK_ID" - verdict is issued on the specified chunk - // "IMAGE_URL" - target id is an image url inside chunk content - // "URL" - target id is a non-image url inside chunk content - // "USER_ID" - abuse happens at gaia user level - // "IP" - target id is an IP address - // "SITE" - target id is a sitechunk - // "SITEDOMAIN" - target id is a domain - // "ENTITY_ID" - The 4 entries below are *only* for the +1 pipeline. Please - // do not use elsewhere. entity id is a generic Zipit ID - // "PERFECT_STREAM_ID" - Obsolete. - // "ACTIVITY_ID" - activity id in ASBE for ES - // "COMMENT_ID" - comment id for ASBE comments in ES - // "AD_ID" - ad id for ES - // "TEXT" - text target. Used in Ocelot name reputation. - // "TEXT_FRAGMENT" - text fragment. Ocelot for name reputation. - // "CLUSTER_MEMBER_ID" - Targets for Cluster reviews. See - // http://go/cluff-design-doc. Message ID for the targeted cluster member - // "EMBED_ID" - embed_id for ASBE embeds in ES - // "ANDROID_ID" - android_id of the device - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are + // NullFields is a list of field names (e.g. "OperationType") to include in API + // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamTarget) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamTarget +func (s *GoogleCloudContentwarehouseV1AccessControlAction) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1AccessControlAction return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AbuseiamUserNotification: A structure used to configure a notification to a -// user. -type AbuseiamUserNotification struct { - // Possible values: - // "UNKNOWN" - // "BUILT_IN" - Use product built-in notification, such as pop-ups. - // "EMAIL" - Email user, e.g., through ANS(http://sites/cat/ans). - // "GAIA" - Show notifications at Gaia level, such as during login. - Channel string `json:"channel,omitempty"` - // ForceSendFields is a list of field names (e.g. "Channel") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// GoogleCloudContentwarehouseV1Action: Represents the action triggered by Rule +// Engine when the rule is true. +type GoogleCloudContentwarehouseV1Action struct { + // AccessControl: Action triggering access control operations. + AccessControl *GoogleCloudContentwarehouseV1AccessControlAction `json:"accessControl,omitempty"` + // ActionId: ID of the action. Managed internally. + ActionId string `json:"actionId,omitempty"` + // AddToFolder: Action triggering create document link operation. + AddToFolder *GoogleCloudContentwarehouseV1AddToFolderAction `json:"addToFolder,omitempty"` + // DataUpdate: Action triggering data update operations. + DataUpdate *GoogleCloudContentwarehouseV1DataUpdateAction `json:"dataUpdate,omitempty"` + // DataValidation: Action triggering data validation operations. + DataValidation *GoogleCloudContentwarehouseV1DataValidationAction `json:"dataValidation,omitempty"` + // DeleteDocumentAction: Action deleting the document. + DeleteDocumentAction *GoogleCloudContentwarehouseV1DeleteDocumentAction `json:"deleteDocumentAction,omitempty"` + // PublishToPubSub: Action publish to Pub/Sub operation. + PublishToPubSub *GoogleCloudContentwarehouseV1PublishAction `json:"publishToPubSub,omitempty"` + // RemoveFromFolderAction: Action removing a document from a folder. + RemoveFromFolderAction *GoogleCloudContentwarehouseV1RemoveFromFolderAction `json:"removeFromFolderAction,omitempty"` + // ForceSendFields is a list of field names (e.g. "AccessControl") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Channel") to include in API + // NullFields is a list of field names (e.g. "AccessControl") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamUserNotification) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamUserNotification +func (s *GoogleCloudContentwarehouseV1Action) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1Action return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AbuseiamUserRestriction: Describes restrictions on where the verdict -// applies. Please use {@code TakedownManager} to evaluate this proto. -type AbuseiamUserRestriction struct { - AgeRestriction *AbuseiamAgeRestriction `json:"ageRestriction,omitempty"` - // AndRestriction: Operators - AndRestriction *AbuseiamAndRestriction `json:"andRestriction,omitempty"` - // ConstantRestriction: Constant - ConstantRestriction *AbuseiamConstantRestriction `json:"constantRestriction,omitempty"` - // GeoRestriction: Leaf Nodes - GeoRestriction *AbuseiamGeoRestriction `json:"geoRestriction,omitempty"` - NotRestriction *AbuseiamNotRestriction `json:"notRestriction,omitempty"` - OrRestriction *AbuseiamOrRestriction `json:"orRestriction,omitempty"` - SpecialRestriction *AbuseiamSpecialRestriction `json:"specialRestriction,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgeRestriction") to +// GoogleCloudContentwarehouseV1ActionExecutorOutput: Represents the output of +// the Action Executor. +type GoogleCloudContentwarehouseV1ActionExecutorOutput struct { + // RuleActionsPairs: List of rule and corresponding actions result. + RuleActionsPairs []*GoogleCloudContentwarehouseV1RuleActionsPair `json:"ruleActionsPairs,omitempty"` + // ForceSendFields is a list of field names (e.g. "RuleActionsPairs") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgeRestriction") to include in + // NullFields is a list of field names (e.g. "RuleActionsPairs") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamUserRestriction) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamUserRestriction +func (s *GoogleCloudContentwarehouseV1ActionExecutorOutput) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1ActionExecutorOutput return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AbuseiamVerdict: Verdict against a target. AbuseIAm generates a verdict -// based on evaluations. AbuseIAm can send such verdicts to clients for -// enforcement. -type AbuseiamVerdict struct { - // Client: Target client of the verdict. It can be used to differentiate - // verdicts from multiple clients when such verdicts are processed in one - // common place. - Client *AbuseiamClient `json:"client,omitempty"` - // Comment: Additional info regarding the verdict. - Comment string `json:"comment,omitempty"` - // Possible values: - // "ERROR" - // "NO_ACTION" - The content is okay and no action needs to be taken. - // "GOOD" - To mark content/user as good. - // "DELETE" - // "INTERSTITIAL" - Give a user an interstial message. E.g., via a pop-up or - // an email. - // "HIDE" - // "BLACK_LIST" - The product should black list this content itself. - // "MARK_AS_SPAM" - // "REWRITE_LINKS" - There's something bad about the links, so we recommend - // that the links be 'scrubbed' to go through the GWS redirector to protect - // against malware and phishing: - // http://wiki.corp.google.com/twiki/bin/view/Main/SafeRedirector - // "HIDE_AND_NOTIFY" - HIDE_AND_NOTIFY is used when the target needs to be - // hidden, but the UI needs to show an appropriate error message. - // "FREEZE_SERVICE" - Freeze a user on service level. E.g., a frozen user can - // not generate new content. - // "SUSPEND_SERVICE" - Suspend a user on service level. - // "SMS_DISABLE" - SMS-disable a user on Gaia level. - // "NOTIFY" - Notify a user (e.g., warn a user). - Decision string `json:"decision,omitempty"` - // DurationMins: Time duration (in minutes) of the verdict. - DurationMins int64 `json:"durationMins,omitempty"` - // Evaluation: Evaluations relevant to this verdict. Every Verdict should - // contain at least one Evaluation. - Evaluation []*AbuseiamEvaluation `json:"evaluation,omitempty"` - // Hashes: Details of all the hashes that can be computed on a message, such as - // simhash and attachment hash - Hashes []*AbuseiamHash `json:"hashes,omitempty"` - // IsLegalIssued: Is this verdict issued by legal? - IsLegalIssued bool `json:"isLegalIssued,omitempty"` - // MiscScores: This field is used to pass relevant / necessary scores to our - // clients. For eg: ASBE propagates these scores to moonshine. - MiscScores []*AbuseiamNameValuePair `json:"miscScores,omitempty"` - // ReasonCode: A short description of the reason why the verdict decision is - // made. - ReasonCode string `json:"reasonCode,omitempty"` - // Region: The regions in which this verdict should be enforced. Absence of - // this field indicates that the verdict is applicable everywhere. - Region []*AbuseiamRegion `json:"region,omitempty"` - // Restriction: Restrictions on where this verdict applies. If any restriction - // is met, the verdict is applied there. If no restrictions are present, the - // verdict is considered global. - Restriction []*AbuseiamVerdictRestriction `json:"restriction,omitempty"` - // StrikeCategory: Category of the strike if this is a strike verdict. +// GoogleCloudContentwarehouseV1ActionOutput: Represents the result of +// executing an action. +type GoogleCloudContentwarehouseV1ActionOutput struct { + // ActionId: ID of the action. + ActionId string `json:"actionId,omitempty"` + // ActionState: State of an action. // // Possible values: - // "ES" - General Emerald Sea. - // "CP" - Child porn. - // "COPYRIGHT" - Copyright violations. - // "BLOGGER" - Blogger. - // "GRANDCENTRAL" - Google Voice. - // "DRIVE" - Drive. - // "CLOUD" - Cloud platform. - // "SITES" - Google Sites. - StrikeCategory string `json:"strikeCategory,omitempty"` - Target *AbuseiamTarget `json:"target,omitempty"` - // TargetTimestampMicros: The timestamp of the target. E.g., the time when the - // target was updated. - TargetTimestampMicros int64 `json:"targetTimestampMicros,omitempty,string"` - // TimestampMicros: When the verdict is generated - TimestampMicros int64 `json:"timestampMicros,omitempty,string"` - // UserNotification: Extra notification(s) to be delivered to target user or - // message owner about the verdict. - UserNotification []*AbuseiamUserNotification `json:"userNotification,omitempty"` - // Version: version of decision script - Version string `json:"version,omitempty"` - // ForceSendFields is a list of field names (e.g. "Client") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See + // "UNKNOWN" - The unknown state. + // "ACTION_SUCCEEDED" - State indicating action executed successfully. + // "ACTION_FAILED" - State indicating action failed. + // "ACTION_TIMED_OUT" - State indicating action timed out. + // "ACTION_PENDING" - State indicating action is pending. + ActionState string `json:"actionState,omitempty"` + // OutputMessage: Action execution output message. + OutputMessage string `json:"outputMessage,omitempty"` + // ForceSendFields is a list of field names (e.g. "ActionId") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Client") to include in API + // NullFields is a list of field names (e.g. "ActionId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamVerdict) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamVerdict +func (s *GoogleCloudContentwarehouseV1ActionOutput) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1ActionOutput return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AbuseiamVerdictRestriction: Describes restrictions on where the verdict -// applies. -type AbuseiamVerdictRestriction struct { - // Context: For a restriction to apply, all contexts must be satisfied. For - // example, if context[0] is COUNTRY/'GERMANY' and context[1] is - // DESTINATION_STREAM/'gplus:SQUARE:knitting_discussion', then the verdict - // applies only when the 'knitting discussion' square is viewed from inside - // Germany. Please note that this is present for legacy reasons and users of - // this field would be migrated to use the user_restriction field defined - // below. - Context []*AbuseiamVerdictRestrictionContext `json:"context,omitempty"` - // UserRestriction: A boolean expression tree used to define the restrictions - // where the verdict applies. Please use - // java/com/google/ccc/abuse/abuseiam/client/TakedownManager.java to evaluate - // this proto. - UserRestriction *AbuseiamUserRestriction `json:"userRestriction,omitempty"` - // ForceSendFields is a list of field names (e.g. "Context") to unconditionally +// GoogleCloudContentwarehouseV1AddToFolderAction: Represents the action +// responsible for adding document under a folder. +type GoogleCloudContentwarehouseV1AddToFolderAction struct { + // Folders: Names of the folder under which new document is to be added. + // Format: + // projects/{project_number}/locations/{location}/documents/{document_id}. + Folders []string `json:"folders,omitempty"` + // ForceSendFields is a list of field names (e.g. "Folders") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Context") to include in API + // NullFields is a list of field names (e.g. "Folders") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AbuseiamVerdictRestriction) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamVerdictRestriction +func (s *GoogleCloudContentwarehouseV1AddToFolderAction) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1AddToFolderAction return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AbuseiamVerdictRestrictionContext: Describes a dimension of a context where -// a verdict applies. -type AbuseiamVerdictRestrictionContext struct { - // Id: String identifying the context. - Id string `json:"id,omitempty"` - // Possible values: - // "UNKNOWN" - Dummy default value. Avoid using it explicitly as a Type. - // "DESTINATION_STREAM" - DESTINATION_STREAM is used when a verdict only - // applies to content in a particular indexed stream/channel. Examples include - // Squares, Blogs, and Youtube videos. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AbuseiamVerdictRestrictionContext) MarshalJSON() ([]byte, error) { - type NoMethod AbuseiamVerdictRestrictionContext - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AdsShoppingReportingOffersSerializedSoriId: The serialized form of a SORI -// id. NOTE that this proto is stored in V4/O4 index and that new fields should -// not be added without getting an agreement from the serving team as well. -type AdsShoppingReportingOffersSerializedSoriId struct { - HighId uint64 `json:"highId,omitempty,string"` - LowId1 uint64 `json:"lowId1,omitempty,string"` - LowId2 uint64 `json:"lowId2,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "HighId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HighId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AdsShoppingReportingOffersSerializedSoriId) MarshalJSON() ([]byte, error) { - type NoMethod AdsShoppingReportingOffersSerializedSoriId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type Anchors struct { - Anchor []*AnchorsAnchor `json:"anchor,omitempty"` - // HomepageAnchorsDropped: The total # of local homepage anchors dropped in - // AnchorAccumulator. - HomepageAnchorsDropped int64 `json:"homepageAnchorsDropped,omitempty,string"` - // IndexTier: The index tier from which the anchors were extracted. Note that - // this is only valid in the anchor record written by linkextractor. The value - // can be one of the enum values defined in segindexer/types.h. - IndexTier int64 `json:"indexTier,omitempty"` - // LocalAnchorsDropped: The total # of local non-homepage anchors dropped in - // AnchorAccumulator. - LocalAnchorsDropped int64 `json:"localAnchorsDropped,omitempty,string"` - // NonlocalAnchorsDropped: The total # of non-local anchors dropped in - // AnchorAccumulator. - NonlocalAnchorsDropped int64 `json:"nonlocalAnchorsDropped,omitempty,string"` - // RedundantAnchorsDropped: The *_anchors_dropped fields below are not - // populated by Alexandria, which uses cdoc.anchor_stats instead. The total # - // of redundant anchors dropped in linkextractor. - RedundantAnchorsDropped int64 `json:"redundantAnchorsDropped,omitempty,string"` - Redundantanchorinfo []*AnchorsRedundantAnchorInfo `json:"redundantanchorinfo,omitempty"` - // SupplementalAnchorsDropped: The total # of supplemental anchors dropped in - // AnchorAccumulator. ## DEPRECATED. - SupplementalAnchorsDropped int64 `json:"supplementalAnchorsDropped,omitempty,string"` - // TargetDocid: may be implicit - TargetDocid uint64 `json:"targetDocid,omitempty,string"` - // TargetSite: HOST_LEVEL site chunking. - TargetSite string `json:"targetSite,omitempty"` - // TargetUrl: This is produced during link extraction but not written out in - // the linklogs in order to save space. - TargetUrl string `json:"targetUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "Anchor") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// GoogleCloudContentwarehouseV1CloudAIDocumentOption: Request Option for +// processing Cloud AI Document in CW Document. +type GoogleCloudContentwarehouseV1CloudAIDocumentOption struct { + // CustomizedEntitiesPropertiesConversions: If set, only selected entities will + // be converted to properties. + CustomizedEntitiesPropertiesConversions map[string]string `json:"customizedEntitiesPropertiesConversions,omitempty"` + // EnableEntitiesConversions: Whether to convert all the entities to + // properties. + EnableEntitiesConversions bool `json:"enableEntitiesConversions,omitempty"` + // ForceSendFields is a list of field names (e.g. + // "CustomizedEntitiesPropertiesConversions") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted from + // API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Anchor") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + // NullFields is a list of field names (e.g. + // "CustomizedEntitiesPropertiesConversions") to include in API requests with + // the JSON null value. By default, fields with empty values are omitted from + // API requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields + // for more details. NullFields []string `json:"-"` } -func (s *Anchors) MarshalJSON() ([]byte, error) { - type NoMethod Anchors +func (s *GoogleCloudContentwarehouseV1CloudAIDocumentOption) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1CloudAIDocumentOption return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AnchorsAnchor struct { - Bucket int64 `json:"bucket,omitempty"` - // CatfishTags: CATfish tags attached to a link. These are similar to link - // tags, except the values are created on the fly within Cookbook. See: - // http://sites/cookbook/exporting/indexing - CatfishTags []int64 `json:"catfishTags,omitempty"` - // CompressedImageUrls: If the anchor contained images, these image urls are - // stored here in compressed form. - CompressedImageUrls []string `json:"compressedImageUrls,omitempty"` - // CompressedOriginalTargetUrl: The anchor's original target url, compressed. - // Available only in Alexandria docjoins when the anchor is forwarded. - CompressedOriginalTargetUrl string `json:"compressedOriginalTargetUrl,omitempty"` - Context int64 `json:"context,omitempty"` - // Context2: This is a hash of terms near the anchor. (This is a - // second-generation hash replacing the value stored in the 'context' field.) - Context2 int64 `json:"context2,omitempty"` - // CreationDate: used for history - the first and last time we have seen this - // anchor. creation_date also used for Freshdocs Twitter indexing, a retweet is - // an anchor of the original tweet. This field records the time when a retweet - // is created. - CreationDate int64 `json:"creationDate,omitempty"` - Deleted bool `json:"deleted,omitempty"` - DeletionDate int64 `json:"deletionDate,omitempty"` - // Demotionreason: DEPRECATED - Demotionreason int64 `json:"demotionreason,omitempty"` - // EncodedNewsAnchorData: Encoded data containing information about newsiness - // of anchor. Populated only if anchor is classified as coming from a newsy, - // high quality site. Encoded data for anchor sources are being stored in - // googledata/quality/freshness/news_anchors/encoded_news_anchors_data.txt - // Scores are being computed with quality/freshness/news_anchors/ routines. - EncodedNewsAnchorData int64 `json:"encodedNewsAnchorData,omitempty"` - // Experimental: If true, the anchor is for experimental purposes and should - // not be used in serving. - Experimental bool `json:"experimental,omitempty"` - // Expired: true iff exp domain - Expired bool `json:"expired,omitempty"` - // FirstseenDate: # days past Dec 31, 1994, 23:00:00 UTC (Unix time @788914800) - // that this link was first seen. Should never occupy more than 15 bits. NOTE: - // this is NOT the same as creation_date; firstseen_date is filled during link - // extraction - FirstseenDate int64 `json:"firstseenDate,omitempty"` - // FirstseenNearCreation: true if we think 'firstseen_date' is an accurate - // estimate of when the link was actually added to the source page. false if it - // may have existed for some time before we saw it. - FirstseenNearCreation bool `json:"firstseenNearCreation,omitempty"` - Fontsize int64 `json:"fontsize,omitempty"` - // ForwardingTypes: How the anchor is forwarded to the canonical, available - // only for forwarded anchors (i.e., the field is set). The forwarding types - // are defined in URLForwardingUtil (segindexer/segment-indexer-util.h). Always - // use URLForwardingUtil to access this field and use - // URLForwardingUtil::GetAnchorForwardingReason to get the explanation how the - // anchor is forwarded to the canonical. NOTE: Use with caution as it is only - // set for docjoins generated using the urlmap from repository/updater. - ForwardingTypes int64 `json:"forwardingTypes,omitempty"` - // Fragment: The URL fragment for this anchor (the foo in - // http://www.google.com#foo) - Fragment string `json:"fragment,omitempty"` - // FullLeftContext: The full context. These are not written out in the - // linklogs. - FullLeftContext googleapi.Uint64s `json:"fullLeftContext,omitempty"` - FullRightContext googleapi.Uint64s `json:"fullRightContext,omitempty"` - // IsLocal: The bit ~roughly~ indicates whether an anchor's source and target - // pages are on the same domain. Note: this plays no role in determining - // whether an anchor is onsite, ondomain, or offdomain in mustang (i.e., the - // bit above). - IsLocal bool `json:"isLocal,omitempty"` - // LastUpdateTimestamp: Used for history and freshness tracking - the timestamp - // this anchor is updated in indexing. - LastUpdateTimestamp int64 `json:"lastUpdateTimestamp,omitempty"` - // LinkAdditionalInfo: Additional information related to the anchor, such as - // additional anchor text or scores. - LinkAdditionalInfo *Proto2BridgeMessageSet `json:"linkAdditionalInfo,omitempty"` - // LinkTags: Contains info on link type, source page, etc. - LinkTags []int64 `json:"linkTags,omitempty"` - // Locality: For ranking purposes, the quality of an anchor is measured by its - // "locality" and "bucket". See quality/anchors/definitions.h for more - // information. - Locality int64 `json:"locality,omitempty"` - // Offset: This is the offset for the first term in the anchor - it can be used - // as a unique ID for the anchor within the document and compared against all - // per-tag data. This is measured in bytes from the start of the document. We - // write this out to the linklogs to recover the original order of links after - // source/target forwarding. This is necessary for computing the global related - // data. - Offset int64 `json:"offset,omitempty"` - // OrigText: Original text, including capitalization and punctuation. Runs of - // whitespace are collapsed into a single space. - OrigText string `json:"origText,omitempty"` - // OriginalTargetDocid: The docid of the anchor's original target. This field - // is available if and only if the anchor is forwarded. - OriginalTargetDocid uint64 `json:"originalTargetDocid,omitempty,string"` - // PagerankWeight: Weight to be stored in linkmaps for pageranker - PagerankWeight float64 `json:"pagerankWeight,omitempty"` - // ParallelLinks: The number of additional links from the same source page to - // the same target domain. Not populated if is_local is true. - ParallelLinks int64 `json:"parallelLinks,omitempty"` - // PossiblyOldFirstseenDate: DEPRECATED. It used to be set if firstseen_date is - // not set. It's to indicate that the anchor is possibly old, but we don't have - // enough information to tell until the linkage map is updated. TODO(hxu) - // rename it to possibly_old_firstseen_date_DEPRECATED after clean up other - // dependencies. - PossiblyOldFirstseenDate bool `json:"possiblyOldFirstseenDate,omitempty"` - // SetiPagerankWeight: TEMPORARY - SetiPagerankWeight float64 `json:"setiPagerankWeight,omitempty"` - Source *AnchorsAnchorSource `json:"source,omitempty"` - // SourceType: is to record the quality of the anchor's source page and is - // correlated with but not identical to the index tier of the source page. In - // the docjoins built by the indexing pipeline (Alexandria), - Anchors marked - // TYPE_HIGH_QUALITY are from base documents. - Anchors marked - // TYPE_MEDIUM_QUALITY are from documents of medium quality (roughly but not - // exactly supplemental tier documents). - Anchors marked TYPE_LOW_QUALITY are - // from documents of low quality (roughly but not exactly blackhole documents). - // Note that the source_type can also be used as an importance indicator of an - // anchor (a lower source_type value indicates a more important anchor), so it - // is important to enforce that TYPE_HIGH_QUALITY < TYPE_MEDIUM_QUALITY < - // TYPE_LOW_QUALITY To add a new source type in future, please maintain the - // proper relationship among the types as well. TYPE_FRESHDOCS, only available - // in freshdocs indexing, is a special case and is considered the same type as - // TYPE_HIGH_QUALITY for the purpose of anchor importance in duplicate anchor - // removal. - SourceType int64 `json:"sourceType,omitempty"` - // TargetUrlEncoding: A given target URL may be found in different encodings in - // different documents. We store the URL encoding with each source anchor so - // that we can count them later to find the encoding most likely to be expected - // by the Web site. Around 0.7% of target URLs are expected to require a - // non-default value here. The default value 0 is referenced in C++ as - // webutil::kDefaultUrlEncoding. See also webutil/urlencoding. - TargetUrlEncoding int64 `json:"targetUrlEncoding,omitempty"` - // Text: Space-delimited anchor words. Text that needs segmentation (like CJK - // or Thai) is unsegmented, since we set FLAGS_segment_during_lexing to false - // in mr-linkextractor.cc . - Text string `json:"text,omitempty"` - // Timestamp: This field is DEPRECATED and no longer filled. For source page - // crawl timestamp, use Source.crawl_timestamp. Next tag id should be 62. - Timestamp int64 `json:"timestamp,omitempty,string"` - // Type: DEPRECATED: Now in link_tags - Type int64 `json:"type,omitempty"` - // Weight: weights are 0-127 - Weight int64 `json:"weight,omitempty"` - // ForceSendFields is a list of field names (e.g. "Bucket") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// GoogleCloudContentwarehouseV1CreateDocumentLinkRequest: Request message for +// DocumentLinkService.CreateDocumentLink. +type GoogleCloudContentwarehouseV1CreateDocumentLinkRequest struct { + // DocumentLink: Required. Document links associated with the source documents + // (source_document_id). + DocumentLink *GoogleCloudContentwarehouseV1DocumentLink `json:"documentLink,omitempty"` + // RequestMetadata: The meta information collected about the document creator, + // used to enforce access control for the service. + RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` + // ForceSendFields is a list of field names (e.g. "DocumentLink") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Bucket") to include in API + // NullFields is a list of field names (e.g. "DocumentLink") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AnchorsAnchor) MarshalJSON() ([]byte, error) { - type NoMethod AnchorsAnchor +func (s *GoogleCloudContentwarehouseV1CreateDocumentLinkRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1CreateDocumentLinkRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -func (s *AnchorsAnchor) UnmarshalJSON(data []byte) error { - type NoMethod AnchorsAnchor - var s1 struct { - PagerankWeight gensupport.JSONFloat64 `json:"pagerankWeight"` - SetiPagerankWeight gensupport.JSONFloat64 `json:"setiPagerankWeight"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.PagerankWeight = float64(s1.PagerankWeight) - s.SetiPagerankWeight = float64(s1.SetiPagerankWeight) - return nil +// GoogleCloudContentwarehouseV1CreateDocumentMetadata: Metadata object for +// CreateDocument request (currently empty). +type GoogleCloudContentwarehouseV1CreateDocumentMetadata struct { } -// AnchorsAnchorSource: attributes of the source document for the link -type AnchorsAnchorSource struct { - // AdditionalInfo: Additional information related to the source, such as news - // hub info. - AdditionalInfo *Proto2BridgeMessageSet `json:"additionalInfo,omitempty"` - // Cluster: anchor++ cluster id - Cluster int64 `json:"cluster,omitempty"` - // CompressedUrl: compressed source url - CompressedUrl string `json:"compressedUrl,omitempty"` - // CrawlTimestamp: Source page crawl timestamp. - CrawlTimestamp int64 `json:"crawlTimestamp,omitempty,string"` - // Docid: The docid field used to be "required", but it is now "optional" - // because it is not present when anchors are stored in webtable. When anchors - // are stored as part of docjoin files in the segment indexer, however, docid - // should be considered required. - Docid uint64 `json:"docid,omitempty,string"` - // Doclength: necessary for anything? - Doclength int64 `json:"doclength,omitempty"` - // HomePageInfo: Information about if the source page is a home page. It can be - // one of the enum values defined in PerDocData::HomePageInfo (NOT_HOMEPAGE, - // NOT_TRUSTED, PARTIALLY_TRUSTED, and FULLY_TRUSTED). - HomePageInfo int64 `json:"homePageInfo,omitempty"` - // Indyrank: uint16 scale - Indyrank int64 `json:"indyrank,omitempty"` - // Ipaddr: DEPRECATED, use packed_ipaddress - Ipaddr int64 `json:"ipaddr,omitempty"` - // Language: default -> English - Language int64 `json:"language,omitempty"` - // Linkhash: 0 -> no hash - Linkhash uint64 `json:"linkhash,omitempty,string"` - // LocalCountryCodes: Countries to which the source page is local/most - // relevant; stored as III identifiers for country/region codes (see - // http://go/iii). - LocalCountryCodes []int64 `json:"localCountryCodes,omitempty"` - // Nsr: This NSR value has range [0,1000] and is the original value [0.0,1.0] - // multiplied by 1000 rounded to an integer. - Nsr int64 `json:"nsr,omitempty"` - Outdegree int64 `json:"outdegree,omitempty"` - // Outsites: approx num of pointed-to sites - Outsites int64 `json:"outsites,omitempty"` - // PackedIpaddress: string in IPAddress::ToPackedString() format. - PackedIpaddress string `json:"packedIpaddress,omitempty"` - // PageTags: Page tags are described by enum PageTag in PerDocData. Page tags - // are used in anchors to identify properties of the linking page. These are - // DEPRECATED: in the future, use link_tags instead. DEPRECATED - PageTags []int64 `json:"pageTags,omitempty"` - // Pagerank: uint16 scale - Pagerank int64 `json:"pagerank,omitempty"` - // PagerankNs: unit16 scale - PagerankNs int64 `json:"pagerankNs,omitempty"` - // Seglanguage: DEPRECATED - Seglanguage int64 `json:"seglanguage,omitempty"` - Site string `json:"site,omitempty"` - // Spamrank: uint16 scale - Spamrank int64 `json:"spamrank,omitempty"` - // Spamscore1: deprecated, to be removed after October 20. 0-127 scale - Spamscore1 int64 `json:"spamscore1,omitempty"` - // Spamscore2: 0-127 scale - Spamscore2 int64 `json:"spamscore2,omitempty"` - // WebtableKey: Webtable key of source - WebtableKey string `json:"webtableKey,omitempty"` - // ForceSendFields is a list of field names (e.g. "AdditionalInfo") to +// GoogleCloudContentwarehouseV1CreateDocumentRequest: Request message for +// DocumentService.CreateDocument. +type GoogleCloudContentwarehouseV1CreateDocumentRequest struct { + // CloudAiDocumentOption: Request Option for processing Cloud AI Document in + // Document Warehouse. This field offers limited support for mapping entities + // from Cloud AI Document to Warehouse Document. Please consult with product + // team before using this field and other available options. + CloudAiDocumentOption *GoogleCloudContentwarehouseV1CloudAIDocumentOption `json:"cloudAiDocumentOption,omitempty"` + // CreateMask: Field mask for creating Document fields. If mask path is empty, + // it means all fields are masked. For the `FieldMask` definition, see + // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. + CreateMask string `json:"createMask,omitempty"` + // Document: Required. The document to create. + Document *GoogleCloudContentwarehouseV1Document `json:"document,omitempty"` + // Policy: Default document policy during creation. This refers to an Identity + // and Access (IAM) policy, which specifies access controls for the Document. + // Conditions defined in the policy will be ignored. + Policy *GoogleIamV1Policy `json:"policy,omitempty"` + // RequestMetadata: The meta information collected about the end user, used to + // enforce access control for the service. + RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` + // ForceSendFields is a list of field names (e.g. "CloudAiDocumentOption") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AdditionalInfo") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "CloudAiDocumentOption") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AnchorsAnchorSource) MarshalJSON() ([]byte, error) { - type NoMethod AnchorsAnchorSource +func (s *GoogleCloudContentwarehouseV1CreateDocumentRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1CreateDocumentRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AnchorsRedundantAnchorInfo: NOTE: in docjoins, the following anchor sampling -// information is only ## available in the first record of a document (under -// the same docid). The total number of redundant anchors dropped per (domain, -// text) in linkextractor. If we receive a large number of anchors from a -// particular domain, then we'll throw out all but a sampling of them from that -// domain. The data is sorted by the (domain,text) pairs. This field is not -// populated by Alexandria, which uses cdoc.anchor_stats instead. -type AnchorsRedundantAnchorInfo struct { - AnchorsDropped int64 `json:"anchorsDropped,omitempty,string"` - Domain string `json:"domain,omitempty"` - Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "AnchorsDropped") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AnchorsDropped") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AnchorsRedundantAnchorInfo) MarshalJSON() ([]byte, error) { - type NoMethod AnchorsRedundantAnchorInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} +// GoogleCloudContentwarehouseV1CreateDocumentResponse: Response message for +// DocumentService.CreateDocument. +type GoogleCloudContentwarehouseV1CreateDocumentResponse struct { + // Document: Document created after executing create request. + Document *GoogleCloudContentwarehouseV1Document `json:"document,omitempty"` + // LongRunningOperations: post-processing LROs + LongRunningOperations []*GoogleLongrunningOperation `json:"longRunningOperations,omitempty"` + // Metadata: Additional information for the API invocation, such as the request + // tracking id. + Metadata *GoogleCloudContentwarehouseV1ResponseMetadata `json:"metadata,omitempty"` + // RuleEngineOutput: Output from Rule Engine recording the rule evaluator and + // action executor's output. Refer format in: + // google/cloud/contentwarehouse/v1/rule_engine.proto + RuleEngineOutput *GoogleCloudContentwarehouseV1RuleEngineOutput `json:"ruleEngineOutput,omitempty"` -// AppsDynamiteCustomerId: Represents a GSuite customer ID. Obfuscated with -// CustomerIdObfuscator. -type AppsDynamiteCustomerId struct { - CustomerId string `json:"customerId,omitempty"` - // ForceSendFields is a list of field names (e.g. "CustomerId") to + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Document") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CustomerId") to include in API + // NullFields is a list of field names (e.g. "Document") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsDynamiteCustomerId) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteCustomerId +func (s *GoogleCloudContentwarehouseV1CreateDocumentResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1CreateDocumentResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedOrganizationInfo: Contains info about the entity that -// something is, or is owned by. -type AppsDynamiteSharedOrganizationInfo struct { - ConsumerInfo *AppsDynamiteSharedOrganizationInfoConsumerInfo `json:"consumerInfo,omitempty"` - CustomerInfo *AppsDynamiteSharedOrganizationInfoCustomerInfo `json:"customerInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConsumerInfo") to - // unconditionally include in API requests. By default, fields with empty or +// GoogleCloudContentwarehouseV1CustomWeightsMetadata: To support the custom +// weighting across document schemas. +type GoogleCloudContentwarehouseV1CustomWeightsMetadata struct { + // WeightedSchemaProperties: List of schema and property name. Allows a maximum + // of 10 schemas to be specified for relevance boosting. + WeightedSchemaProperties []*GoogleCloudContentwarehouseV1WeightedSchemaProperty `json:"weightedSchemaProperties,omitempty"` + // ForceSendFields is a list of field names (e.g. "WeightedSchemaProperties") + // to unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConsumerInfo") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "WeightedSchemaProperties") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedOrganizationInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedOrganizationInfo +func (s *GoogleCloudContentwarehouseV1CustomWeightsMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1CustomWeightsMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedOrganizationInfoConsumerInfo: Intentionally empty. Used to -// disambiguate consumer and customer use cases in oneof below. -type AppsDynamiteSharedOrganizationInfoConsumerInfo struct { -} - -type AppsDynamiteSharedOrganizationInfoCustomerInfo struct { - CustomerId *AppsDynamiteCustomerId `json:"customerId,omitempty"` - // ForceSendFields is a list of field names (e.g. "CustomerId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// GoogleCloudContentwarehouseV1DataUpdateAction: Represents the action +// responsible for properties update operations. +type GoogleCloudContentwarehouseV1DataUpdateAction struct { + // Entries: Map of (K, V) -> (valid name of the field, new value of the field) + // E.g., ("age", "60") entry triggers update of field age with a value of 60. + // If the field is not present then new entry is added. During update action + // execution, value strings will be casted to appropriate types. + Entries map[string]string `json:"entries,omitempty"` + // ForceSendFields is a list of field names (e.g. "Entries") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CustomerId") to include in API + // NullFields is a list of field names (e.g. "Entries") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedOrganizationInfoCustomerInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedOrganizationInfoCustomerInfo +func (s *GoogleCloudContentwarehouseV1DataUpdateAction) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1DataUpdateAction return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsDynamiteSharedSegmentedMembershipCount: Contains info on membership -// count for member types: HUMAN_USER, APP_USER & ROSTER_MEMBER different -// states: INVITED, JOINED -type AppsDynamiteSharedSegmentedMembershipCount struct { - // Possible values: - // "MEMBER_TYPE_UNSPECIFIED" - default value - // "HUMAN_USER" - member is a human user - // "ROSTER_MEMBER" - member is a roster - MemberType string `json:"memberType,omitempty"` - // MembershipCount: count of members with given type and state - MembershipCount int64 `json:"membershipCount,omitempty"` - // Possible values: - // "MEMBER_UNKNOWN" - Default state, do not use - // "MEMBER_INVITED" - An invitation to the space has been sent - // "MEMBER_JOINED" - User has joined the space - // "MEMBER_NOT_A_MEMBER" - User is not a member - // "MEMBER_FAILED" - This state should never be stored in Spanner. It is a - // state for responses to the clients to indicate that membership mutations - // have failed and the member is in its previous state. - MembershipState string `json:"membershipState,omitempty"` - // ForceSendFields is a list of field names (e.g. "MemberType") to +// GoogleCloudContentwarehouseV1DataValidationAction: Represents the action +// responsible for data validation operations. +type GoogleCloudContentwarehouseV1DataValidationAction struct { + // Conditions: Map of (K, V) -> (field, string condition to be evaluated on the + // field) E.g., ("age", "age > 18 && age < 60") entry triggers validation of + // field age with the given condition. Map entries will be ANDed during + // validation. + Conditions map[string]string `json:"conditions,omitempty"` + // ForceSendFields is a list of field names (e.g. "Conditions") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MemberType") to include in API + // NullFields is a list of field names (e.g. "Conditions") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedSegmentedMembershipCount) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedSegmentedMembershipCount +func (s *GoogleCloudContentwarehouseV1DataValidationAction) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1DataValidationAction return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsDynamiteSharedSegmentedMembershipCounts struct { - Value []*AppsDynamiteSharedSegmentedMembershipCount `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Value") to unconditionally +// GoogleCloudContentwarehouseV1DateTimeArray: DateTime values. +type GoogleCloudContentwarehouseV1DateTimeArray struct { + // Values: List of datetime values. Both OffsetDateTime and ZonedDateTime are + // supported. + Values []*GoogleTypeDateTime `json:"values,omitempty"` + // ForceSendFields is a list of field names (e.g. "Values") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Value") to include in API + // NullFields is a list of field names (e.g. "Values") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsDynamiteSharedSegmentedMembershipCounts) MarshalJSON() ([]byte, error) { - type NoMethod AppsDynamiteSharedSegmentedMembershipCounts +func (s *GoogleCloudContentwarehouseV1DateTimeArray) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1DateTimeArray return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleActivityBackendDestinationStream: A DestinationStream is a -// /namespace/id[0]/id[1]/.../id[n] that represents a collection of Activities. -// Example destinations: -The Profile Stream on -// http://plus.google.com/+JohnDoe/posts -A Square Stream on -// http://plus.google.com/squares/123 -A "comment Stream" (Fountain) on -// http://www.youtube.com/watch?id=123 It's possible for a single Activity to -// show in each of these destinations - and it might behave/look slightly -// differently for each one. Destinations can have their own business logic -// associated with them at both write-time and read-time server-side (these are -// documented below). Each DestinationStream is indexed and can be retrieved -// using the GetDestinationStreamRequest. For the repeated ID space indexing -// happens at all levels, e.g. if you have: /square/123/abc /square/123/efd -// /square/456 You can fetch /square/123/abc directly or /square/123 (which -// includes all Activities in both /square/123/abc and /square/123/efd), or -// even /square which retrieves all Activities in the Square namespace (visible -// for that user). On the storage layer, we represent DestinationStream as -// Channel (http://cs/#google3/social/common/channel/channel.proto), since the -// storage does not have the concept of a Stream. Both terms are used -// interchangeably within the service layer, but client of Social -// Infrastructure should use the term DestinationStream. Next ID: 3 -type AppsPeopleActivityBackendDestinationStream struct { - // Id: The hierarchy of IDs. Each individual ID is "flat" and the repeated list - // defines the hierarchy. Namespaces define the "validity" of this hierachy - // (depth, naming convention, etc) and the server will reject invalid IDs. - Id []string `json:"id,omitempty"` - // Possible values: - // "UNKNOWN_DESTINATION_NAMESPACE" - To prevent issues with out-of-sync - // clients sending unexpected values. - // "SQUARES" - Use for G+ community. The ID is the square gaia id. If this is - // a square substream, second ID is the substream stream ID. Write-time logic: - // -Verify that the AUTHOR is a member of this Square. Read-time logic: -Fetch - // the name of the Square and substream. - // "FOUNTAIN" - For Blogger Fountain, the ID is the canonical URL of the - // site. For Distiller, the ID is "youtube"/channel_id/video_id. For Distiller - // Discussion Page, the ID is "youtube"/channel_id/"channel". For Distiller - // Private Msg, the ID is "youtube"/channel_id/"private". For Backstage, the ID - // is "youtube"/channel_id/"backstage". For Live, the ID is - // "youtube"/channel_id/"live"/"chat" and - // "youtube"/channel_id/video_id/"live"/"chat". - // "PROFILE" - Used for Profile Stream fetches. The ID is the (decimal) Gaia - // ID of the user whose profile is being fetched. - // "COLLEXIONS" - Used for Collexions feature (go/g+c) ID is the Collexion ID - // to which the post is assigned. These IDs are allocated from their own id - // space maintained via UniqueId. They are NOT gaia ids, nor do they need to be - // used in conjunction with a gaia id when identifying a collection. In general - // a post will be assigned to at most 1 collexion, however there do exist - // corner cases where multi-inclusion can occur. - // "TEST" - Used for test data for clients to prototype with. This should - // only ever be used in the SBE_PLAYGROUND corpus (go/sbe-playground), or in - // tests. - // "HIGHLIGHT" - Used for Search Highlight (go/seng-highlight). The ID is the - // account id to which a highlight belongs. - // "SOCIETY" - Used for Society (go/society) ID is an s2 cell id (go/s2), - // optionally with an additional ID of a "topic" string within that cell. - // "MEMEGEN" - Used for Memegen integration with SBE - // (go/memegen-sbe-onboarding) The ID is "meme" followed by the meme id to - // which a comment belongs. - // "PHOTOS" - Used for Photos integration with SBE - // (go/envelope-comments-design-doc) - // "SUPPLY_CHAIN_CENTRAL" - Used for Supply Chain Central commenting - // capability (go/scc-comment). ID format: - For purchase order app: - // resource/purchase_order//line_item/ - For data exchange app: - // application/data_exchange/report/ - // "PAISA" - Used for Paisa integration with SBE (go/paisa-stanza-plan) - // "SOCIETY_CHAT" - Use for Society Chat (http://go/society-chat). The ID - // format is /society/users/private/. - // "PLUS_ENTERPRISE_LOG" - Use for G+ Enterprise Log API Event API - // (http://go/gplus_interaction_event_sync_queue) The ID format is - // /enterprise// - // "SEARCH_UGC" - Used for UGC for knowledge (go/knowledge-ugc). The ID - // format is /livestream/sports/ - // "LOUPE" - Loupe go/sbe-loupe-requirements. - // "MINDSEARCH" - Mindsearch go/india-qa. - // "SOS_LIVE_COMMENTS" - Used for SOS Live comments - // (go/live-comments-sos-alerts). The ID format is /livestream/sos/ - // "SBE_LOADTEST" - Used for SBE loadtests. - // "SYSTEM1" - Used for System 1 (go/sys1-sbe) - // "G_PLUS" - Use if you want the Activity to show in the regular G+ product, - // i.e. the main Stream, user's profile streams, the G+ search stream, etc. No - // ID should be used with this DestinationNamespace. - // "YOUTUBE" - Used to serve consumption stream on Youtube homepage. The - // stream is essentially a user's consumption stream with restricts set during - // write-time indexing such that only activities with Youtube video are - // retrieved during read-time. Deprecated - Do not use. - // "EVENTS" - DEPRECATED - once used for the G+ Events feature, but never - // launched. - // "DEPRECATED_COLLECTIONS" - It is deprecated and replaced by COLLEXIONS. - // "REVIEWS" - Used for Review Stream fetches. The ID is the canonical - // representation of the entity being reviewed (for place reviews, it is - // cluster_id). - // "BACKSTAGE" - Deprecated - do not use. Backstage uses FOUNTAIN - // DestinationNamespace. - // "SPACES" - Deprecated. Used for Spaces (go/spaces) ID is the space ID in - // which the post is made. Posts will reside in exactly one space. - Namespace string `json:"namespace,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleActivityBackendDestinationStream) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleActivityBackendDestinationStream - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +// GoogleCloudContentwarehouseV1DateTimeTypeOptions: Configurations for a date +// time property. +type GoogleCloudContentwarehouseV1DateTimeTypeOptions struct { } -// AppsPeopleActivityStreamqualityDistillerEngagements: Stores the number of -// different kind of user engagement actions. Abuse Report is also consider an -// engagement. Currently we only have abuse report engagements but in future we -// might add other types of engagements as well. -type AppsPeopleActivityStreamqualityDistillerEngagements struct { - // ReportCompromised: Corresponds on "This account might be compromised or - // hacked" reporting action. - ReportCompromised int64 `json:"reportCompromised,omitempty,string"` - // ReportHarassment: Corresponds on "Harassment or bullying" reporting action. - ReportHarassment int64 `json:"reportHarassment,omitempty,string"` - // ReportHate: Corresponds on "Hate speach or graphic violence" reporting - // action. - ReportHate int64 `json:"reportHate,omitempty,string"` - // ReportPorn: Corresponds on "Pornography or sexually explicit material" - // reporting action. - ReportPorn int64 `json:"reportPorn,omitempty,string"` - // ReportSpam: Corresponds on "Unwanted commercial content or spam" reporting - // action. - ReportSpam int64 `json:"reportSpam,omitempty,string"` - // ServeCount: Number of times this activity was served out of asbe/stanza. - ServeCount int64 `json:"serveCount,omitempty,string"` - // TimeSec: Timestamp in seconds for which time this record is valid. - TimeSec int64 `json:"timeSec,omitempty,string"` - // YtThumbsDown: Corresponds on Distiller comment thumbs down action. - YtThumbsDown int64 `json:"ytThumbsDown,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "ReportCompromised") to +// GoogleCloudContentwarehouseV1DeleteDocumentAction: Represents the action +// responsible for deleting the document. +type GoogleCloudContentwarehouseV1DeleteDocumentAction struct { + // EnableHardDelete: Boolean field to select between hard vs soft delete + // options. Set 'true' for 'hard delete' and 'false' for 'soft delete'. + EnableHardDelete bool `json:"enableHardDelete,omitempty"` + // ForceSendFields is a list of field names (e.g. "EnableHardDelete") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ReportCompromised") to include in + // NullFields is a list of field names (e.g. "EnableHardDelete") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleActivityStreamqualityDistillerEngagements) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleActivityStreamqualityDistillerEngagements +func (s *GoogleCloudContentwarehouseV1DeleteDocumentAction) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1DeleteDocumentAction return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiAbout struct { - // Possible values: - // "TEXT_PLAIN" - // "TEXT_HTML" - ContentType string `json:"contentType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // SafeHtmlValue: Sanitized HTML value that is only populated when the - // SANITIZE_ABOUT_HTML extension is requested. - SafeHtmlValue *WebutilHtmlTypesSafeHtmlProto `json:"safeHtmlValue,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "ContentType") to +// GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest: Request message for +// DocumentLinkService.DeleteDocumentLink. +type GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest struct { + // RequestMetadata: The meta information collected about the document creator, + // used to enforce access control for the service. + RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` + // ForceSendFields is a list of field names (e.g. "RequestMetadata") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ContentType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "RequestMetadata") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAbout) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAbout +func (s *GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData: Extension data for -// use in AboutMe. -type AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData struct { - NameDisplayOptions *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions `json:"nameDisplayOptions,omitempty"` - PhotosCompareData *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData `json:"photosCompareData,omitempty"` - ProfileEditability *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability `json:"profileEditability,omitempty"` - ProfileNameModificationHistory *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory `json:"profileNameModificationHistory,omitempty"` - // ForceSendFields is a list of field names (e.g. "NameDisplayOptions") to +// GoogleCloudContentwarehouseV1DeleteDocumentRequest: Request message for +// DocumentService.DeleteDocument. +type GoogleCloudContentwarehouseV1DeleteDocumentRequest struct { + // RequestMetadata: The meta information collected about the end user, used to + // enforce access control for the service. + RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` + // ForceSendFields is a list of field names (e.g. "RequestMetadata") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NameDisplayOptions") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See + // NullFields is a list of field names (e.g. "RequestMetadata") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData +func (s *GoogleCloudContentwarehouseV1DeleteDocumentRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1DeleteDocumentRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions: -// See NameDisplayOptions in //depot/google3/focus/backend/proto/backend.proto. -// See also go/nickname-mess. -type AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions struct { +// GoogleCloudContentwarehouseV1Document: Defines the structure for content +// warehouse document proto. +type GoogleCloudContentwarehouseV1Document struct { + // CloudAiDocument: Document AI format to save the structured content, + // including OCR. + CloudAiDocument *GoogleCloudDocumentaiV1Document `json:"cloudAiDocument,omitempty"` + // ContentCategory: Indicates the category (image, audio, video etc.) of the + // original content. + // + // Possible values: + // "CONTENT_CATEGORY_UNSPECIFIED" - No category is specified. + // "CONTENT_CATEGORY_IMAGE" - Content is of image type. + // "CONTENT_CATEGORY_AUDIO" - Content is of audio type. + // "CONTENT_CATEGORY_VIDEO" - Content is of video type. + ContentCategory string `json:"contentCategory,omitempty"` + // CreateTime: Output only. The time when the document is created. + CreateTime string `json:"createTime,omitempty"` + // Creator: The user who creates the document. + Creator string `json:"creator,omitempty"` + // DisplayName: Required. Display name of the document given by the user. This + // name will be displayed in the UI. Customer can populate this field with the + // name of the document. This differs from the 'title' field as 'title' is + // optional and stores the top heading in the document. + DisplayName string `json:"displayName,omitempty"` + // DisplayUri: Uri to display the document, for example, in the UI. + DisplayUri string `json:"displayUri,omitempty"` + // DispositionTime: Output only. If linked to a Collection with + // RetentionPolicy, the date when the document becomes mutable. + DispositionTime string `json:"dispositionTime,omitempty"` + // DocumentSchemaName: The Document schema name. Format: + // projects/{project_number}/locations/{location}/documentSchemas/{document_sche + // ma_id}. + DocumentSchemaName string `json:"documentSchemaName,omitempty"` + // InlineRawDocument: Raw document content. + InlineRawDocument string `json:"inlineRawDocument,omitempty"` + // LegalHold: Output only. Indicates if the document has a legal hold on it. + LegalHold bool `json:"legalHold,omitempty"` + // Name: The resource name of the document. Format: + // projects/{project_number}/locations/{location}/documents/{document_id}. The + // name is ignored when creating a document. + Name string `json:"name,omitempty"` + // PlainText: Other document format, such as PPTX, XLXS + PlainText string `json:"plainText,omitempty"` + // Properties: List of values that are user supplied metadata. + Properties []*GoogleCloudContentwarehouseV1Property `json:"properties,omitempty"` + // RawDocumentFileType: This is used when DocAI was not used to load the + // document and parsing/ extracting is needed for the inline_raw_document. For + // example, if inline_raw_document is the byte representation of a PDF file, + // then this should be set to: RAW_DOCUMENT_FILE_TYPE_PDF. + // // Possible values: - // "UNKNOWN_NICKNAME_OPTION" - // "QUOTED_NICKNAME" - Include the nickname, in quotes, in the display name. - // In English, the nickname appears between the given and family names. - // Example: Victor "Pug" Henry. - // "PAREN_NICKNAME" - Include the nickname, in parentheses, in the display - // name. In English, the nickname appears after the given and family names. - // Example: Victor Henry (Pug). - NicknameOption string `json:"nicknameOption,omitempty"` - // ForceSendFields is a list of field names (e.g. "NicknameOption") to + // "RAW_DOCUMENT_FILE_TYPE_UNSPECIFIED" - No raw document specified or it is + // non-parsable + // "RAW_DOCUMENT_FILE_TYPE_PDF" - Adobe PDF format + // "RAW_DOCUMENT_FILE_TYPE_DOCX" - Microsoft Word format + // "RAW_DOCUMENT_FILE_TYPE_XLSX" - Microsoft Excel format + // "RAW_DOCUMENT_FILE_TYPE_PPTX" - Microsoft Powerpoint format + // "RAW_DOCUMENT_FILE_TYPE_TEXT" - UTF-8 encoded text format + // "RAW_DOCUMENT_FILE_TYPE_TIFF" - TIFF or TIF image file format + RawDocumentFileType string `json:"rawDocumentFileType,omitempty"` + // RawDocumentPath: Raw document file in Cloud Storage path. + RawDocumentPath string `json:"rawDocumentPath,omitempty"` + // ReferenceId: The reference ID set by customers. Must be unique per project + // and location. + ReferenceId string `json:"referenceId,omitempty"` + // TextExtractionDisabled: If true, text extraction will not be performed. + TextExtractionDisabled bool `json:"textExtractionDisabled,omitempty"` + // TextExtractionEnabled: If true, text extraction will be performed. + TextExtractionEnabled bool `json:"textExtractionEnabled,omitempty"` + // Title: Title that describes the document. This can be the top heading or + // text that describes the document. + Title string `json:"title,omitempty"` + // UpdateTime: Output only. The time when the document is last updated. + UpdateTime string `json:"updateTime,omitempty"` + // Updater: The user who lastly updates the document. + Updater string `json:"updater,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "CloudAiDocument") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NicknameOption") to include in + // NullFields is a list of field names (e.g. "CloudAiDocument") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataNameDisplayOptions +func (s *GoogleCloudContentwarehouseV1Document) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1Document return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData struct { - DiffData *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData `json:"diffData,omitempty"` - HighResUrl string `json:"highResUrl,omitempty"` - // InconsistentPhoto: True if photo diff is greater than 0.01 on any color - // band, or if the user has a low res photo but no high res photo. This field - // is primarily for use in About Me and for other uses it's recommended to use - // the DiffData values directly instead. The cutoff is based on a heuristic - // determined in go/comparing-profile-photos - InconsistentPhoto bool `json:"inconsistentPhoto,omitempty"` - // LowResData: Only present if the photo diff is greater than 0.01 on any color - // band. - LowResData string `json:"lowResData,omitempty"` - LowResUrl string `json:"lowResUrl,omitempty"` - MonogramUrl string `json:"monogramUrl,omitempty"` - // PrivateLowResAcl: True if the low-res photo has a private ACL set. - PrivateLowResAcl bool `json:"privateLowResAcl,omitempty"` - // ForceSendFields is a list of field names (e.g. "DiffData") to +// GoogleCloudContentwarehouseV1DocumentLink: A document-link between source +// and target document. +type GoogleCloudContentwarehouseV1DocumentLink struct { + // CreateTime: Output only. The time when the documentLink is created. + CreateTime string `json:"createTime,omitempty"` + // Description: Description of this document-link. + Description string `json:"description,omitempty"` + // Name: Name of this document-link. It is required that the parent derived + // form the name to be consistent with the source document reference. Otherwise + // an exception will be thrown. Format: + // projects/{project_number}/locations/{location}/documents/{source_document_id} + // /documentLinks/{document_link_id}. + Name string `json:"name,omitempty"` + // SourceDocumentReference: Document references of the source document. + SourceDocumentReference *GoogleCloudContentwarehouseV1DocumentReference `json:"sourceDocumentReference,omitempty"` + // State: The state of the documentlink. If target node has been deleted, the + // link is marked as invalid. Removing a source node will result in removal of + // all associated links. + // + // Possible values: + // "STATE_UNSPECIFIED" - Unknown state of documentlink. + // "ACTIVE" - The documentlink has both source and target documents detected. + // "SOFT_DELETED" - Target document is deleted, and mark the documentlink as + // soft-deleted. + State string `json:"state,omitempty"` + // TargetDocumentReference: Document references of the target document. + TargetDocumentReference *GoogleCloudContentwarehouseV1DocumentReference `json:"targetDocumentReference,omitempty"` + // UpdateTime: Output only. The time when the documentLink is last updated. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "CreateTime") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DiffData") to include in API + // NullFields is a list of field names (e.g. "CreateTime") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareData +func (s *GoogleCloudContentwarehouseV1DocumentLink) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1DocumentLink return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData struct { - BlueDiff float64 `json:"blueDiff,omitempty"` - GreenDiff float64 `json:"greenDiff,omitempty"` - RedDiff float64 `json:"redDiff,omitempty"` - // ForceSendFields is a list of field names (e.g. "BlueDiff") to +type GoogleCloudContentwarehouseV1DocumentQuery struct { + // CustomPropertyFilter: This filter specifies a structured syntax to match + // against the [PropertyDefinition].is_filterable marked as `true`. The syntax + // for this expression is a subset of SQL syntax. Supported operators are: `=`, + // `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is a property + // name and the right of the operator is a number or a quoted string. You must + // escape backslash (\\) and quote (\") characters. Supported functions are + // `LOWER([property_name])` to perform a case insensitive match and + // `EMPTY([property_name])` to filter on the existence of a key. Boolean + // expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for + // example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100 comparisons + // or functions are allowed in the expression. The expression must be < 6000 + // bytes in length. Sample Query: `(LOWER(driving_license)="class \"a\"" OR + // EMPTY(driving_license)) AND driving_years > 10` + CustomPropertyFilter string `json:"customPropertyFilter,omitempty"` + // CustomWeightsMetadata: To support the custom weighting across document + // schemas, customers need to provide the properties to be used to boost the + // ranking in the search request. For a search query with CustomWeightsMetadata + // specified, only the RetrievalImportance for the properties in the + // CustomWeightsMetadata will be honored. + CustomWeightsMetadata *GoogleCloudContentwarehouseV1CustomWeightsMetadata `json:"customWeightsMetadata,omitempty"` + // DocumentCreatorFilter: The exact creator(s) of the documents to search + // against. If a value isn't specified, documents within the search results are + // associated with any creator. If multiple values are specified, documents + // within the search results may be associated with any of the specified + // creators. + DocumentCreatorFilter []string `json:"documentCreatorFilter,omitempty"` + // DocumentNameFilter: Search the documents in the list. Format: + // projects/{project_number}/locations/{location}/documents/{document_id}. + DocumentNameFilter []string `json:"documentNameFilter,omitempty"` + // DocumentSchemaNames: This filter specifies the exact document schema + // Document.document_schema_name of the documents to search against. If a value + // isn't specified, documents within the search results are associated with any + // schema. If multiple values are specified, documents within the search + // results may be associated with any of the specified schemas. At most 20 + // document schema names are allowed. + DocumentSchemaNames []string `json:"documentSchemaNames,omitempty"` + // FileTypeFilter: This filter specifies the types of files to return: ALL, + // FOLDER, or FILE. If FOLDER or FILE is specified, then only either folders or + // files will be returned, respectively. If ALL is specified, both folders and + // files will be returned. If no value is specified, ALL files will be + // returned. + FileTypeFilter *GoogleCloudContentwarehouseV1FileTypeFilter `json:"fileTypeFilter,omitempty"` + // FolderNameFilter: Search all the documents under this specified folder. + // Format: + // projects/{project_number}/locations/{location}/documents/{document_id}. + FolderNameFilter string `json:"folderNameFilter,omitempty"` + // IsNlQuery: Experimental, do not use. If the query is a natural language + // question. False by default. If true, then the question-answering feature + // will be used instead of search, and `result_count` in SearchDocumentsRequest + // must be set. In addition, all other input fields related to search + // (pagination, histograms, etc.) will be ignored. + IsNlQuery bool `json:"isNlQuery,omitempty"` + // PropertyFilter: This filter specifies a structured syntax to match against + // the PropertyDefinition.is_filterable marked as `true`. The relationship + // between the PropertyFilters is OR. + PropertyFilter []*GoogleCloudContentwarehouseV1PropertyFilter `json:"propertyFilter,omitempty"` + // Query: The query string that matches against the full text of the document + // and the searchable properties. The query partially supports Google AIP style + // syntax (https://google.aip.dev/160). Specifically, the query supports + // literals, logical operators, negation operators, comparison operators, and + // functions. Literals: A bare literal value (examples: "42", "Hugo") is a + // value to be matched against. It searches over the full text of the document + // and the searchable properties. Logical operators: "AND", "and", "OR", and + // "or" are binary logical operators (example: "engineer OR developer"). + // Negation operators: "NOT" and "!" are negation operators (example: "NOT + // software"). Comparison operators: support the binary comparison operators =, + // !=, <, >, <= and >= for string, numeric, enum, boolean. Also support like + // operator `~~` for string. It provides semantic search functionality by + // parsing, stemming and doing synonyms expansion against the input query. To + // specify a property in the query, the left hand side expression in the + // comparison must be the property ID including the parent. The right hand side + // must be literals. For example: "\"projects/123/locations/us\".property_a < + // 1" matches results whose "property_a" is less than 1 in project 123 and us + // location. The literals and comparison expression can be connected in a + // single query (example: "software engineer + // \"projects/123/locations/us\".salary > 100"). Functions: supported functions + // are `LOWER([property_name])` to perform a case insensitive match and + // `EMPTY([property_name])` to filter on the existence of a key. Support nested + // expressions connected using parenthesis and logical operators. The default + // logical operators is `AND` if there is no operators between expressions. The + // query can be used with other filters e.g. `time_filters` and + // `folder_name_filter`. They are connected with `AND` operator under the hood. + // The maximum number of allowed characters is 255. + Query string `json:"query,omitempty"` + // QueryContext: For custom synonyms. Customers provide the synonyms based on + // context. One customer can provide multiple set of synonyms based on + // different context. The search query will be expanded based on the custom + // synonyms of the query context set. By default, no custom synonyms wll be + // applied if no query context is provided. It is not supported for CMEK + // compliant deployment. + QueryContext []string `json:"queryContext,omitempty"` + // TimeFilters: Documents created/updated within a range specified by this + // filter are searched against. + TimeFilters []*GoogleCloudContentwarehouseV1TimeFilter `json:"timeFilters,omitempty"` + // ForceSendFields is a list of field names (e.g. "CustomPropertyFilter") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BlueDiff") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "CustomPropertyFilter") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData +func (s *GoogleCloudContentwarehouseV1DocumentQuery) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1DocumentQuery return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -func (s *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData) UnmarshalJSON(data []byte) error { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataPhotosCompareDataDiffData - var s1 struct { - BlueDiff gensupport.JSONFloat64 `json:"blueDiff"` - GreenDiff gensupport.JSONFloat64 `json:"greenDiff"` - RedDiff gensupport.JSONFloat64 `json:"redDiff"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.BlueDiff = float64(s1.BlueDiff) - s.GreenDiff = float64(s1.GreenDiff) - s.RedDiff = float64(s1.RedDiff) - return nil -} - -// AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability: -// See UserEditedLockedMask in -// //depot/google3/focus/backend/proto/backend.proto. -type AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability struct { - // LockedField: Read-only set of zero or more field paths that are locked for - // update on this person, such as "person.name", "person.email", etc. The set - // of fields is only populated for the requester's profile. Fields in the set - // cannot be edited, added, or deleted from the profile. Attempting to update - // any of these fields will result in an exception. - LockedField []string `json:"lockedField,omitempty"` - // ForceSendFields is a list of field names (e.g. "LockedField") to +// GoogleCloudContentwarehouseV1DocumentReference: References to the documents. +type GoogleCloudContentwarehouseV1DocumentReference struct { + // CreateTime: Output only. The time when the document is created. + CreateTime string `json:"createTime,omitempty"` + // DeleteTime: Output only. The time when the document is deleted. + DeleteTime string `json:"deleteTime,omitempty"` + // DisplayName: display_name of the referenced document; this name does not + // need to be consistent to the display_name in the Document proto, depending + // on the ACL constraint. + DisplayName string `json:"displayName,omitempty"` + // DocumentIsFolder: The document type of the document being referenced. + DocumentIsFolder bool `json:"documentIsFolder,omitempty"` + // DocumentIsLegalHoldFolder: Document is a folder with legal hold. + DocumentIsLegalHoldFolder bool `json:"documentIsLegalHoldFolder,omitempty"` + // DocumentIsRetentionFolder: Document is a folder with retention policy. + DocumentIsRetentionFolder bool `json:"documentIsRetentionFolder,omitempty"` + // DocumentName: Required. Name of the referenced document. + DocumentName string `json:"documentName,omitempty"` + // Snippet: Stores the subset of the referenced document's content. This is + // useful to allow user peek the information of the referenced document. + Snippet string `json:"snippet,omitempty"` + // UpdateTime: Output only. The time when the document is last updated. + UpdateTime string `json:"updateTime,omitempty"` + // ForceSendFields is a list of field names (e.g. "CreateTime") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LockedField") to include in API + // NullFields is a list of field names (e.g. "CreateTime") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileEditability +func (s *GoogleCloudContentwarehouseV1DocumentReference) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1DocumentReference return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModification -// History: See ABUSE_NAME_LAST_MODIFIED in -// //depot/google3/focus/backend/proto/backend.proto which maps to -// //depot/google3/focus/proto/profileattribute.proto -type AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory struct { - // ComputedNameChangesRemaining: The number of name changes remaining at RPC - // request time. This can be more than name_changes_remaining, if user hasn't - // changed name for some time and accrued quota since last change. - ComputedNameChangesRemaining int64 `json:"computedNameChangesRemaining,omitempty"` - // ComputedNicknameChangesRemaining: The number of nickname changes remaining - // at RPC request time. This can be more than nickname_changes_remaining, if - // user hasn't changed nickname for some time and accrued quota since last - // change. - ComputedNicknameChangesRemaining int64 `json:"computedNicknameChangesRemaining,omitempty"` - // NameChangesRemaining: The number of name changes remaining at the time the - // name was last modified. - NameChangesRemaining int64 `json:"nameChangesRemaining,omitempty"` - // NameLastModified: The last time the profile name was modified in - // milliseconds UTC. - NameLastModified int64 `json:"nameLastModified,omitempty,string"` - // NicknameChangesRemaining: The number of nickname changes remaining at the - // time the nickname was last modified. - NicknameChangesRemaining int64 `json:"nicknameChangesRemaining,omitempty"` - // NicknameLastModified: The last time the profile nickname was modified in - // milliseconds UTC. - NicknameLastModified int64 `json:"nicknameLastModified,omitempty,string"` - // Possible values: - // "UNKNOWN_QUOTA_ENFORCEMENT_STATUS" - // "ENFORCED" - Name change quota is enforced. - // "NOT_ENFORCED" - Name change quota exists but is not enforced. This is - // used for users suspended due to abusive names, where users are allowed to - // change their names back to non-abusive state without being charged against - // the quota. - // "NOT_APPLICABLE" - Name change quota does not apply. This is used for - // premium dasher users. - QuotaEnforcementStatus string `json:"quotaEnforcementStatus,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "ComputedNameChangesRemaining") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. +// GoogleCloudContentwarehouseV1DocumentSchema: A document schema used to +// define document structure. +type GoogleCloudContentwarehouseV1DocumentSchema struct { + // CreateTime: Output only. The time when the document schema is created. + CreateTime string `json:"createTime,omitempty"` + // Description: Schema description. + Description string `json:"description,omitempty"` + // DisplayName: Required. Name of the schema given by the user. Must be unique + // per project. + DisplayName string `json:"displayName,omitempty"` + // DocumentIsFolder: Document Type, true refers the document is a folder, + // otherwise it is a typical document. + DocumentIsFolder bool `json:"documentIsFolder,omitempty"` + // Name: The resource name of the document schema. Format: + // projects/{project_number}/locations/{location}/documentSchemas/{document_sche + // ma_id}. The name is ignored when creating a document schema. + Name string `json:"name,omitempty"` + // PropertyDefinitions: Document details. + PropertyDefinitions []*GoogleCloudContentwarehouseV1PropertyDefinition `json:"propertyDefinitions,omitempty"` + // UpdateTime: Output only. The time when the document schema is last updated. + UpdateTime string `json:"updateTime,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "CreateTime") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ComputedNameChangesRemaining") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See + // NullFields is a list of field names (e.g. "CreateTime") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedDataProfileNameModificationHistory +func (s *GoogleCloudContentwarehouseV1DocumentSchema) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1DocumentSchema return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiAccountEmail struct { - Email string `json:"email,omitempty"` - // ForceSendFields is a list of field names (e.g. "Email") to unconditionally +// GoogleCloudContentwarehouseV1EnumArray: Enum values. +type GoogleCloudContentwarehouseV1EnumArray struct { + // Values: List of enum values. + Values []string `json:"values,omitempty"` + // ForceSendFields is a list of field names (e.g. "Values") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Email") to include in API + // NullFields is a list of field names (e.g. "Values") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAccountEmail) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAccountEmail +func (s *GoogleCloudContentwarehouseV1EnumArray) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1EnumArray return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo: Additional -// information about a container. TO BE DELETED: replaced by DeviceContactInfo. -type AppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo struct { - // RawDeviceContactInfo: When the container is a DEVICE_CONTACT, this list - // provides account information from the raw contact which is the source of - // this field. - RawDeviceContactInfo []*AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo `json:"rawDeviceContactInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "RawDeviceContactInfo") to +// GoogleCloudContentwarehouseV1EnumTypeOptions: Configurations for an +// enum/categorical property. +type GoogleCloudContentwarehouseV1EnumTypeOptions struct { + // PossibleValues: Required. List of possible enum values. + PossibleValues []string `json:"possibleValues,omitempty"` + // ValidationCheckDisabled: Make sure the Enum property value provided in the + // document is in the possile value list during document creation. The + // validation check runs by default. + ValidationCheckDisabled bool `json:"validationCheckDisabled,omitempty"` + // ForceSendFields is a list of field names (e.g. "PossibleValues") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RawDeviceContactInfo") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See + // NullFields is a list of field names (e.g. "PossibleValues") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo +func (s *GoogleCloudContentwarehouseV1EnumTypeOptions) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1EnumTypeOptions return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiAddress struct { - Country string `json:"country,omitempty"` - CountryCode string `json:"countryCode,omitempty"` - // EncodedPlaceId: FeatureId associated with the address. The format is the - // same as that used for ids in PLACE containers in SourceIdentity. - EncodedPlaceId string `json:"encodedPlaceId,omitempty"` - ExtendedAddress string `json:"extendedAddress,omitempty"` - Formatted string `json:"formatted,omitempty"` - // FormattedType: The `type` translated and formatted in the request locale. - // See go/people-api-howto/localization for details on how to usage. - FormattedType string `json:"formattedType,omitempty"` - Locality string `json:"locality,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - PoBox string `json:"poBox,omitempty"` - PointSpec *AppsPeopleOzExternalMergedpeopleapiPointSpec `json:"pointSpec,omitempty"` - PostalCode string `json:"postalCode,omitempty"` - Region string `json:"region,omitempty"` - StreetAddress string `json:"streetAddress,omitempty"` - // Type: The type of the address. The type can be free form or one of these - // predefined values: * `home` * `work` * `other` - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Country") to unconditionally +// GoogleCloudContentwarehouseV1EnumValue: Represents the string value of the +// enum field. +type GoogleCloudContentwarehouseV1EnumValue struct { + // Value: String value of the enum field. This must match defined set of enums + // in document schema using EnumTypeOptions. + Value string `json:"value,omitempty"` + // ForceSendFields is a list of field names (e.g. "Value") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Country") to include in API + // NullFields is a list of field names (e.g. "Value") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAddress) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAddress +func (s *GoogleCloudContentwarehouseV1EnumValue) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1EnumValue return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiAffinity: Similar to -// social.graph.storage.Affinity, but pared down to what the clients of the -// People API are interested in. -type AppsPeopleOzExternalMergedpeopleapiAffinity struct { - // AffinityMetadata: Contains extra ranking information returned by DAS. - AffinityMetadata *SocialGraphWireProtoPeopleapiAffinityMetadata `json:"affinityMetadata,omitempty"` - // Possible values: - // "AFFINITY_TYPE_UNKNOWN" - // "EMAIL_AUTOCOMPLETE" - // "CONTACTS_PLUS_FREQUENTLY_CONTACTED" - // "CHAT_AUTOCOMPLETE" - // "GPLUS_AUTOCOMPLETE" - // "GLASS_AFFINITY" - // "PEOPLE_AUTOCOMPLETE_SOCIAL" - // "FIELD_AUTOCOMPLETE_SOCIAL" - // "CONTACTS_PLUS_EMAIL" - // "PHOTOS_PEOPLE_TO_SHARE_WITH_SUGGESTIONS" - Will eventually be deprecated - // in favor of PHOTOS_SUGGESTED_TARGETS. - // "PHOTOS_FIELDS_TO_SHARE_WITH_SUGGESTIONS" - Will eventually be deprecated - // in favor of PHOTOS_SUGGESTED_TARGETS. - // "INBOX_AFFINITY" - // "DYNAMITE_AFFINITY" - // "PHOTOS_SUGGESTIONS_AFFINITY" - Will eventually be deprecated in favour of - // PHOTOS_SUGGESTED_TARGETS. - // "PHOTOS_SUGGESTED_TARGETS" - // "PHOTOS_ASSISTANT_SUGGESTIONS_AFFINITY" - // "DRIVE_AUTOCOMPLETE" - // "WALLET_PEOPLE_TO_PAY_SUGGESTIONS" - // "CONTACTS_PLUS_CONTACT_CENTRIC" - // "POMEROY_AFFINITY" - // "CALENDAR_AFFINITY" - // "SPACES_APP_PEOPLE_AFFINITY" - // "HOMEROOM_AFFINITY" - // "PEOPLE_PLAYGROUND_AFFINITY" - // "FAMILY_AFFINITY" - // "CONTACTS_ASSISTANT_SUGGESTED_CONTACTS" - // "TRIPS_AFFINITY" - // "GOOGLE_VOICE_AFFINITY" - // "PHOTOS_FACE_AFFINITY" - // "G3DOC_AUTOCOMPLETE" - // "LOUPE_SUGGESTIONS_AFFINITY" - // "MAPS_SHARING_AFFINITY" - // "CLOUD_SEARCH_AFFINITY" - // "YOUTUBE_UNPLUGGED" - // "JAM_AFFINITY" - // "ITEM_SUGGEST_AFFINITY" - // "ISSUE_TRACKER_AFFINITY" - // "APPS_ASSISTANT_AFFINITY" - // "APDL_CONTACT_CENTRIC_DEFAULT_AFFINITY" - // "APDL_PROFILE_CENTRIC_DEFAULT_AFFINITY" - // "SOCIAL_RECOVERY" - // "TEZ_AFFINITY" - // "NEWS_AFFINITY" - // "ALLO_AFFINITY" - // "GPLUS_PEOPLE_RECOMMENDATIONS" - // "GPLUS_PEOPLE_RECOMMENDATIONS_SAME_DOMAIN" - // "DRIVE_AFFINITY" - // "PODIUM_AFFINITY" - // "ZOOM_SIGHTS_EMAIL_AFFINITY" - // "AIRDROME_AFFINITY" - // "HANGOUTS_MEET_AFFINITY" - // "GALLERY_AFFINITY" - // "AGSA_AFFINITY" - // "PAY_AFFINITY" - // "SAVES_AFFINITY" - // "JASPER_AFFINITY" - // "GOOGLE_HOME_APP_AFFINITY" - // "TOPAZ_TEAMS_AFFINITY" - // "DYNAMITE_OUT_OF_DOMAIN_AFFINITY" - // "GOOGLE_VOICE_SIRI_EXTENSION_AFFINITY" - // "COURSE_KIT_AFFINITY" - // "FORMS_AFFINITY" - // "NOVITAS_AFFINITY" - // "GTI_PEER_INTERACTIONS_AFFINITY" - // "ANDROID_EMERGENCY_AFFINITY" - // "DATA_STUDIO_AFFINITY" - // "SPUR_AFFINITY" - // "PLAY_GAMES_SERVICES_AFFINITY" - // "GROUPS_ADD_MEMBER_AFFINITY" - // "DUO_AFFINITY" - // "MY_BUSINESS_AFFINITY" - // "GMAIL_COMPOSE" - // "NON_GPLUS_AFFINITY" - // "ABUSE_AFFINITY" - // "ABUSE_AFFINITY_LITE" - // "CALENDAR_PEEK_AFFINITY" - // "HUB_CALL_AFFINITY" - // "GSUITE_WORKFLOW_AFFINITY" - // "VR_POLY_PRO_AFFINITY" - // "TASKS_AFFINITY" - // "GOOGLE_ONE_AFFINITY" - // "TRAVEL_AFFINITY" - // "GEO_DISCOVERY_FOLLOW_AFFINITY" - // "GMAIL_WEB_AFFINITY" - // "ASSISTANT_SETTINGS_WEB_UI_AFFINITY" - // "ARTIFEX_AFFINITY" - // "CONTACT_STORE_DEFAULT_AFFINITY" - // "CONTACT_STORE_SELF_EXCLUSIVE" - // "PHOTOS_FACE_STALE_AFFINITY" - // "LANDSPEEDER_AFFINITY" - // "GOOGLE_FI_AFFINITY" - // "CONTACTS_PLUS_DOMAIN_ONLY" - // "PHOTOS_SUGGESTED_TARGETS_IN_APP_ONLY" - // "SOCIETY_AFFINITY" - // "NANDHI_TEST_SCHEDULER_AFFINITY" - // "HIJACKING_HIGH_RISK_AFFINITY" - // "TRUECOLOURS_AFFINITY" - // "ESPRESSO_AFFINITY" - // "TAG_AFFINITY" - // "CORPBOT_AFFINITY" - // "SHOPPING_LIST_AFFINITY" - // "INTEGRATION_PLATFORM_AFFINITY" - // "HOT_ORDERS_UI_AFFINITY" - // "TELLY_MOBILE_APP_AFFINITY" - // "NGA_SUGGESTION_RESOLUTION_AFFINITY" - // "DUC_COMPANION_AFFINITY" - // "TOG_AFFINITY" - // "ANDROID_SYSTEM_INTELLIGENCE_AFFINITY" - // "EARTH_AFFINITY" - // "SHORTCUT_AFFINITY" - // "CHROME_OS_SCALING_AFFINITY" - // "SHOWTIME_AFFINITY" - // "PLAY_GAMES_SERVICES_EXPERIMENTAL" - // "GUPPEEPS_AFFINITY" - // "NEST_AFFINITY" - // "BLOGGER_AFFINITY" - // "INDIVIDUAL_OUTGOING_INTERACTIONS_RECENCY_RANK" - // "ASSISTANT_TOOLCHAIN_AFFINITY" - // "CHAT_CONSERVER_FAVORITE_CONTACTS_AFFINITY" - // "CHAT_CONSERVER_INVITEE_AFFINITY" - // "GANTRY_AFFINITY" - // "KINTARO_AFFINITY" - // "KEEP_AFFINITY" - // "INCIDENTFLOW_AFFINITY" - // "DRIVE_MENTION_AFFINITY" - // "DRIVE_LOOKUP_AFFINITY" - // "PODCASTS_MANAGER_AFFINITY" - // "EMAIL_AUTOCOMPLETE_GG" - // "ONE_REVIEWER_TOOL_AFFINITY" - // "ASSISTANT_FAMILY_VERTICAL_AFFINITY" - // "STADIA_AFFINITY" - // "ATLAS_AFFINITY" - // "CONSTELLATION_AFFINITY" - // "CORONADO_AFFINITY" - // "WALLET_GOLDEN_GATE_AFFINITY" - // "PUMICE_AFFINITY" - // "DEMO_AFFINITY_DEFAULT_ALGO" - // "DEMO_AFFINITY_DEFAULT_ALGO_DOMAIN_ONLY" - // "DEMO_AFFINITY_EMAIL_ALGO" - // "DEMO_AFFINITY_EMAIL_ALGO_DOMAIN_ONLY" - // "BACKLIGHT_AFFINITY" - // "DYNAMITE_GROUPS_AFFINITY" - // "DYNAMITE_OUT_OF_DOMAIN_GROUPS_AFFINITY" - // "GLOSSARY_MANAGER_AFFINITY" - // "ONEDEV_WORKFLOW_AFFINITY" - // "GSUITE_HUB_CALL_AFFINITY" - // "AVALANCHE_AFFINITY" - // "SANDTROUT_DEVICE_CONTACTS_AFFINITY" - // "DYNAMITE_ROOM_AFFINITY" - // "DESKBOOKING_AFFINITY" - // "TEZ_EXTENDED_AFFINITY" - // "DRIVE_PROFILE_ONLY_AFFINITY" - // "OFFSEC_AFFINITY" - // "GOOGLE_HOME_FAMILY_AFFINITY" - // "ONEMARKET_CALENDAR_AFFINITY" - // "GPAY_MERCHANT_CONSOLE_AFFINITY" - // "WORDFLOW_AFFINITY" - // "YOUTUBE_CREATOR_STUDIO_AFFINITY" - // "BRICKS_AFFINITY" - // "BUG_OBSERVER_AFFINITY" - // "ALPHASCHEDULE_AFFINITY" - // "BURROW_AFFINITY" - // "TEAMSPACES_AFFINITY" - // "GMAIL_SMARTADDRESS_REPLACE_AFFINITY" - // "GMAIL_SMARTADDRESS_EXPAND_AFFINITY" - // "ASSISTANT_OPA_AFFINITY" - // "POLYGLOT_AFFINITY" - // "TRANSLATION_MEMORY_MANAGER_AFFINITY" - // "THREADIT_AFFINITY" - // "RESOURCE_SYMPHONY_AFFINITY" - // "HOUSEHOLD_CONTACTS_PICKER_AFFINITY" - // "L10N_INFRA_SHARED_AFFINITY" - // "WORK_TRACKER_AFFINITY" - // "ARIANE_AFFINITY" - // "DRIVE_ROOM_AFFINITY" - // "MOMA_SEARCH_AFFINITY" - // "COLAB_INTERNAL_AFFINITY" - // "COLAB_EXTERNAL_AFFINITY" - // "TALENT_GROW_AFFINITY" - // "SOCIAL_CONNECTION_CHECKER_AFFINITY" - // "GMS_PEOPLE_AFFINITY" - // "ROCKET_LABS_AFFINITY" - // "DYNAMITE_ROOM_AND_INDIVIDUAL_ONLY_AFFINITY" - // "TEZ_PHONE_SEARCH_AFFINITY" - // "MY_GOOGLE_FAMILIES_AFFINITY" - // "DYNAMITE_UNIFIED_AFFINITY" - // "SHORTCUT_SERVER_AFFINITY" - // "LEGAL_CONTRACTS_AFFINITY" - // "CALENDAR_WEB_AFFINITY" - // "DATA_CATALOG_AFFINITY" - // "BRIEF_API_AFFINITY" - // "HARDWARE_MFG_DATA_VENUS_AFFINITY" - // "BETTERBUG_AFFINITY" - // "DCMS_AFFINITY" - // "PLAY_BOOKS_PUBENG_AFFINITY" - // "YAQS_AFFINITY" - // "RESPONSIBLE_FEATURE_ACCESS_AFFINITY" - // "PROSPER_AFFINITY" - // "PEOPLE_TO_ADD_BIRTHDAY_FOR_AFFINITY" - // "FLOURISH_AFFINITY" - // "CAMPAIGN_MANAGEMENT_TOOL_AFFINITY" - // "RECORDER_AFFINITY" - // "PERSONAL_SUGGEST_FIRST_HOP_SOCIAL_VICINITY" - // "PERSONAL_SUGGEST_EMAIL_AUTOCOMPLETE_SCORE" - // "CLASSROOM_SEARCH_AFFINITY" - // "HIRING_AFFINITY" - // "DATACENTER_SOFTWARE_AFFINITY" - // "PHOTOS_INVITE_AFFINITY" - // "PHOTOS_PARTNER_SHARING_AFFINITY" - // "MARKETING_WORKFLOWS_AFFINITY" - // "INTROSPECT_AFFINITY" - // "YOUTUBE_PARENT_TOOLS_AFFINITY" - // "RELIABILITY_INSIGHTS_PST_AFFINITY" - // "GMAIL_ANDROID_AFFINITY" - // "CUSTOMER_CARE_PORTAL_AFFINITY" - // "MOMAHOME_3C_AFFINITY" - // "DIGITAL_CAR_KEY_AFFINITY" - // "PLAY_BOOKS_DISTRIBUTION_AFFINITY" - // "GOOGLE_ASSIGNMENTS_AFFINITY" - // "TEST_FUSION_AFFINITY" - // "PRODUCTION2020_UIE_AFFINITY" - // "SPEAKEASY_AFFINITY" - // "DOCS_TASKS_AFFINITY" - // "DYNAMITE_SEARCH_AFFINITY" - // "GPAY_RELEASE_OPS_AFFINITY" - // "VOICE_PBX_AFFINITY" - // "VOICE_WEB_AFFINITY" - // "SKILLSSTACK_AFFINITY" - // "WHOSTORY_AFFINITY" - // "PHOTOS_PARTNER_SHARING_EMAIL_ONLY" - // "MEMORIZE_AFFINITY" - // "BETTANY_AFFINITY" - // "BASECAMP_AFFINITY" - // "DRIVE_SEARCH_FILTER_AFFINITY" - // "CULTURE_EVENTS_CALENDAR_AFFINITY" - // "DATABRIDGE_CONSOLE_AFFINITY" - // "COMMSTAR_AFFINITY" - // "CDDB_AFFINITY" - // "DATA_STUDIO_SPACES_AFFINITY" - // "SOJI_AFFINITY" - // "PLAY_MOVIES_ANDROID_AFFINITY" - // "DATA_STUDIO_DOMAIN_ONLY_AFFINITY" - // "MONOSPACE_AFFINITY" - // "MY_ACCOUNT_AFFINITY" - // "NUDGEIT_CAMPAIGN_MANAGER_AFFINITY" - // "LEGAL_CONTRACTS_EXTERNAL_AFFINITY" - // "CONTACTS_TO_STAR_AFFINITY" - // "DECS_AFFINITY" - // "GSOX_MOCHI_AFFINITY" - // "MEET_AFFINITY" - // "PMW_TI_AFFINITY" - // "DRIVE_SEARCH_FILTER_PERSON_ONLY" - // "ACCESSIBILITY_TRACKER_AFFINITY" - // "PLX_DATASOURCE_AFFINITY" - // "DUCKIEWEB_AFFINITY" - // "MEET_CALLING_AFFINITY" - // "MATTERSPACE_AFFINITY" - // "TRUSTED_CONTACTS_OOBE_AFFINITY" - // "REFERRALS_AFFINITY" - // "WAYMO_TRIAGE_TOOLING_AFFINITY" - // "DATA_STUDIO_GAIA_ONLY_AFFINITY" - // "TWENTYPERCENT_JOBPOSTINGS_AFFINITY" - // "ENGAGEMENTS_AFFINITY" - // "TRUSTED_CONTACTS_FL_AFFINITY" - // "CALENDAR_WEB_TEAM_MEMBERS_AFFINITY" - // "CLOUDCONNECT_AFFINITY" - // "PERSONAL_AGENT_AFFINITY" - // "MOBILE_HARNESS_AFFINITY" - // "LOOKER_STUDIO_PRO_AFFINITY" - // "SUPPORT_CLASSIFICATION_UI_AFFINITY" - // "NOTEBOOKLM_AFFINITY" - // "PLAYSPACE_LABS_AFFINITY" - // "ZOMBIE_CLOUD_AFFINITY" - // "RELATIONSHIPS_AFFINITY" - // "APPS_WORKFLOW_AFFINITY" - // "FLEETSCOPE_AFFINITY" - // "CLOUD_SALES_GCLM_AFFINITY" - // "DRIVE_NOTIFICATIONS_AFFINITY" - // "TS_TOOL_INTAKE_AFFINITY" - // "DYNAMITE_NEW_CONTACTS_AFFINITY" - // "GENESIS_IOS_AFFINITY" - // "BANKROLL_PROD_AFFINITY" - // "CALENDAR_WEB_ROOM_AFFINITY" - // "CHROME_MULTIPLAYER_AFFINITY" - // "GEO_DATA_PORTAL_AFFINITY" - AffinityType string `json:"affinityType,omitempty"` - // ContainerId: The ID of the container - ContainerId string `json:"containerId,omitempty"` - // ContainerType: The type of container to which this affinity applies - // - // Possible values: - // "UNKNOWN_CONTAINER" - // "PROFILE" - Google Profile. PROFILE fields are editable by the profile - // owner, unless the field metadata includes writeable=false. - // "CONTACT" - Google Contact - // "CIRCLE" - Deprecated. E-mail only circle membership should be dead. - // E-mail only circle membership of non-g+ user. - // "PLACE" - A maps place - // "ACCOUNT" - The requester's own Gaia account. ACCOUNT fields are not - // editable by anyone. They only occur when the requester is "me". In the event - // an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE - // field when viewed by a requester who is not "me". - // "EXTERNAL_ACCOUNT" - LinkedExternalSites (go/PeopleApiConnectedSites) - // "DOMAIN_PROFILE" - Google-For-Work Profile. DOMAIN_PROFILE fields are - // editable by the Dasher administrator of the domain. They are not editable by - // the profile owner. - // "DOMAIN_CONTACT" - Domain shared contact. An entity that is owned by a - // domain and represents a person, but is not a user in the domain. For more - // details see https://support.google.com/a/answer/9281635. - // "DEVICE_CONTACT" - To be deprecated in favor of RAW_DEVICE_CONTACT See - // go/mergedperson-for-device-contacts Aggregation is represented using - // person.metadata.device_contact_info - // "GOOGLE_GROUP" - Google group. Examples: sales@zara.es. - // "NAMED_CHAT_ROOM" - Dynamite "Named Flat Room" (NFR). This is a Baggins - // Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See - // go/people-api-concepts#chat-rooms - // "UNNAMED_CHAT_ROOM" - Dynamite "Unnamed Flat Room" (UFR). This is a - // Baggins Roster with label DYNAMITE_SPACE but does *not* have label - // DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms - // "AFFINITY" - Device contacts that are used in interaction ranking, but - // have not been uploaded to Google. These are synthesized people from - // interaction data. This container type is only used in ListRankedPeople and - // ListRankedTargets actions. See go/TopNWithClusteringPart1. - // "RAW_DEVICE_CONTACT" - Data from a raw (non-aggregated) device contact. - // See go/mergedperson-for-device-contacts - // "CONTACT_ANNOTATION" - Data from contact annotation. Contact annotations - // are currently generated and used by Google Assistant. - // "DELEGATED_CONTACT" - Data from delegated contacts. Delegated contacts are - // the contacts delegated to the current requester. The requester can then - // access those contacts. See go/ph-delegation. - ContainerType string `json:"containerType,omitempty"` - // LoggingId: Used to log events for this affinity value, for disco - // diagnostic-purposes. See go/disco-diagnostics. - LoggingId string `json:"loggingId,omitempty"` - // Value: Affinity value. Frequently represented as an inverse ranking, - // sometimes with additional data encoded. If - // data_formats.affinity_formats.score_format is set to RAW_SCORE then the - // value will be the score returned by DAS. - Value float64 `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "AffinityMetadata") to +// GoogleCloudContentwarehouseV1ExportToCdwPipeline: The configuration of +// exporting documents from the Document Warehouse to CDW pipeline. +type GoogleCloudContentwarehouseV1ExportToCdwPipeline struct { + // DocAiDataset: Optional. The CDW dataset resource name. This field is + // optional. If not set, the documents will be exported to Cloud Storage only. + // Format: + // projects/{project}/locations/{location}/processors/{processor}/dataset + DocAiDataset string `json:"docAiDataset,omitempty"` + // Documents: The list of all the resource names of the documents to be + // processed. Format: + // projects/{project_number}/locations/{location}/documents/{document_id}. + Documents []string `json:"documents,omitempty"` + // ExportFolderPath: The Cloud Storage folder path used to store the exported + // documents before being sent to CDW. Format: `gs:///`. + ExportFolderPath string `json:"exportFolderPath,omitempty"` + // TrainingSplitRatio: Ratio of training dataset split. When importing into + // Document AI Workbench, documents will be automatically split into training + // and test split category with the specified ratio. This field is required if + // doc_ai_dataset is set. + TrainingSplitRatio float64 `json:"trainingSplitRatio,omitempty"` + // ForceSendFields is a list of field names (e.g. "DocAiDataset") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AffinityMetadata") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "DocAiDataset") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAffinity) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAffinity +func (s *GoogleCloudContentwarehouseV1ExportToCdwPipeline) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1ExportToCdwPipeline return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -func (s *AppsPeopleOzExternalMergedpeopleapiAffinity) UnmarshalJSON(data []byte) error { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAffinity +func (s *GoogleCloudContentwarehouseV1ExportToCdwPipeline) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudContentwarehouseV1ExportToCdwPipeline var s1 struct { - Value gensupport.JSONFloat64 `json:"value"` + TrainingSplitRatio gensupport.JSONFloat64 `json:"trainingSplitRatio"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } - s.Value = float64(s1.Value) + s.TrainingSplitRatio = float64(s1.TrainingSplitRatio) return nil } -// AppsPeopleOzExternalMergedpeopleapiAgeRangeType: Please read -// go/people-api-howto:age on how to get age data. Message for the -// `Person.age_range_repeated` field. Replaces the existing `Person.age_range` -// field. -type AppsPeopleOzExternalMergedpeopleapiAgeRangeType struct { - // AgeInYears: Please read go/people-api-howto:age on how to get age data. Age - // of the user. The field is set based on profile storage fields such as - // account birthday. If the source fields are not present, `age_in_years` will - // be left unset. - AgeInYears int64 `json:"ageInYears,omitempty"` - // AgeOfConsentStatus: Deprecated. Use - // go/supervised-accounts#capabilities-for-child-accounts instead. Denotes - // whether the user is under the region based Age of Consent. The user's region - // is based on ClientUserInfo.GlobalTos.AgreedLocation The age is inferred from - // Birthday field or CertifiedBornBefore field. The region based AoC is - // specified at go/aoc. - // - // Possible values: - // "AOC_STATUS_UNKNOWN" - We do not have enough information to determine the - // user's age. e.g. user has no declared age or region is not known. - // "UNDER_AOC" - The user is under the Age of Consent of the region the user - // is in. - // "AT_OR_ABOVE_AOC" - The user is at or older than the Age of Consent of the - // region the user is in. - AgeOfConsentStatus string `json:"ageOfConsentStatus,omitempty"` - // AgeRange: Deprecated. Please read go/people-api-howto:age on how to get age - // data. Age range is populated based on `account_birthday` and - // `certified_born_before`, which may not be set for dasher users. - // - // Possible values: - // "UNKNOWN" - // "LESS_THAN_EIGHTEEN" - // "TWENTY_ONE_OR_OLDER" - // "EIGHTEEN_TO_TWENTY" - AgeRange string `json:"ageRange,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgeInYears") to +// GoogleCloudContentwarehouseV1FetchAclRequest: Request message for +// DocumentService.FetchAcl +type GoogleCloudContentwarehouseV1FetchAclRequest struct { + // ProjectOwner: For Get Project ACL only. Authorization check for end user + // will be ignored when project_owner=true. + ProjectOwner bool `json:"projectOwner,omitempty"` + // RequestMetadata: The meta information collected about the end user, used to + // enforce access control for the service. + RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` + // ForceSendFields is a list of field names (e.g. "ProjectOwner") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgeInYears") to include in API + // NullFields is a list of field names (e.g. "ProjectOwner") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAgeRangeType) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAgeRangeType +func (s *GoogleCloudContentwarehouseV1FetchAclRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1FetchAclRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiAppUniqueInfo: Store all app unique info -// that are needed for app action fulfillment. -type AppsPeopleOzExternalMergedpeopleapiAppUniqueInfo struct { - // AppUniqueId: Store the app unique id endpoint. This will be passed over to - // app to fulfill the action. For example, app_unique_id for Whatsapp will be - // "11234567890@s.whatsapp.net" - AppUniqueId string `json:"appUniqueId,omitempty"` - // ContactInfoSource: Where this contact info was retrieved from. Note: only - // added for Assistant usage, and will not be populated by PAPI. This is due to - // the coupling between Assistant Proto, and PAPI proto. - // (//depot/google3/quality/qrewrite/servlets/proto/focus_name.proto) - // - // Possible values: - // "SOURCE_UNKNOWN" - // "APP_SEARCH" - The contact info came from AppSearch. - ContactInfoSource string `json:"contactInfoSource,omitempty"` - // DisplayAppUniqueId: Store third party endpoint that is displayed to users. - // For example, display_app_unique_id for Whatsapp will be "Message - // +11234567890". - DisplayAppUniqueId string `json:"displayAppUniqueId,omitempty"` - // Label: Store third party endpoint label. For example, "HOME", "WORK" - Label string `json:"label,omitempty"` - // Mimetype: Store mimetype of this endpoint. We will use this as the - // differentiator for Assistant to know whether to use the RawContact for - // messaging, call or video call. For example, send message mimetype for - // whatsapp: "vnd.android.cursor.item/vnd.com.whatsapp.profile" voice call - // mimetype for whatsapp: "vnd.android.cursor.item/vnd.com.whatsapp.voip.call" - Mimetype string `json:"mimetype,omitempty"` - // ForceSendFields is a list of field names (e.g. "AppUniqueId") to +// GoogleCloudContentwarehouseV1FetchAclResponse: Response message for +// DocumentService.FetchAcl. +type GoogleCloudContentwarehouseV1FetchAclResponse struct { + // Metadata: Additional information for the API invocation, such as the request + // tracking id. + Metadata *GoogleCloudContentwarehouseV1ResponseMetadata `json:"metadata,omitempty"` + // Policy: The IAM policy. + Policy *GoogleIamV1Policy `json:"policy,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Metadata") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AppUniqueId") to include in API + // NullFields is a list of field names (e.g. "Metadata") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiAppUniqueInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiAppUniqueInfo +func (s *GoogleCloudContentwarehouseV1FetchAclResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1FetchAclResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiBestDisplayName: The best suggested name -// to use for the Person from the available source fields, which may include -// FileAs, Name, Org, Email, IM, Phone, ... Rough source container priority -// order is Contact, then Profile, then Place. -type AppsPeopleOzExternalMergedpeopleapiBestDisplayName struct { - // ContainerType: The container the suggested name was sourced from +// GoogleCloudContentwarehouseV1FileTypeFilter: Filter for the specific types +// of documents returned. +type GoogleCloudContentwarehouseV1FileTypeFilter struct { + // FileType: The type of files to return. // // Possible values: - // "UNKNOWN_CONTAINER" - // "PROFILE" - Google Profile. PROFILE fields are editable by the profile - // owner, unless the field metadata includes writeable=false. - // "CONTACT" - Google Contact - // "CIRCLE" - Deprecated. E-mail only circle membership should be dead. - // E-mail only circle membership of non-g+ user. - // "PLACE" - A maps place - // "ACCOUNT" - The requester's own Gaia account. ACCOUNT fields are not - // editable by anyone. They only occur when the requester is "me". In the event - // an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE - // field when viewed by a requester who is not "me". - // "EXTERNAL_ACCOUNT" - LinkedExternalSites (go/PeopleApiConnectedSites) - // "DOMAIN_PROFILE" - Google-For-Work Profile. DOMAIN_PROFILE fields are - // editable by the Dasher administrator of the domain. They are not editable by - // the profile owner. - // "DOMAIN_CONTACT" - Domain shared contact. An entity that is owned by a - // domain and represents a person, but is not a user in the domain. For more - // details see https://support.google.com/a/answer/9281635. - // "DEVICE_CONTACT" - To be deprecated in favor of RAW_DEVICE_CONTACT See - // go/mergedperson-for-device-contacts Aggregation is represented using - // person.metadata.device_contact_info - // "GOOGLE_GROUP" - Google group. Examples: sales@zara.es. - // "NAMED_CHAT_ROOM" - Dynamite "Named Flat Room" (NFR). This is a Baggins - // Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See - // go/people-api-concepts#chat-rooms - // "UNNAMED_CHAT_ROOM" - Dynamite "Unnamed Flat Room" (UFR). This is a - // Baggins Roster with label DYNAMITE_SPACE but does *not* have label - // DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms - // "AFFINITY" - Device contacts that are used in interaction ranking, but - // have not been uploaded to Google. These are synthesized people from - // interaction data. This container type is only used in ListRankedPeople and - // ListRankedTargets actions. See go/TopNWithClusteringPart1. - // "RAW_DEVICE_CONTACT" - Data from a raw (non-aggregated) device contact. - // See go/mergedperson-for-device-contacts - // "CONTACT_ANNOTATION" - Data from contact annotation. Contact annotations - // are currently generated and used by Google Assistant. - // "DELEGATED_CONTACT" - Data from delegated contacts. Delegated contacts are - // the contacts delegated to the current requester. The requester can then - // access those contacts. See go/ph-delegation. - ContainerType string `json:"containerType,omitempty"` - // DisplayName: The display name. This name is intended to be the best name to - // display for this Person. It may be built from a variety of fields, even if - // those fields are not explicitly requested in the request mask. Generally, - // the display name is formatted in 'first last' format. If the name appears to - // be a CJK name (as determined by a heuristic), the 'last first' format will - // be used. There may be other cases that the 'last first' format is used which - // are not documented here. See the code at: - // http://google3/java/com/google/focus/backend/client/DisplayNameFormatter.java?l=659&rcl=351360938 - DisplayName string `json:"displayName,omitempty"` - // DisplayNameLastFirst: The display name, always in 'last first' format. This - // field does not depend on the format of `display_name` and will always be in - // 'last first' format. - DisplayNameLastFirst string `json:"displayNameLastFirst,omitempty"` - // ForceSendFields is a list of field names (e.g. "ContainerType") to + // "FILE_TYPE_UNSPECIFIED" - Default document type. If set, disables the + // filter. + // "ALL" - Returns all document types, including folders. + // "FOLDER" - Returns only folders. + // "DOCUMENT" - Returns only non-folder documents. + // "ROOT_FOLDER" - Returns only root folders + FileType string `json:"fileType,omitempty"` + // ForceSendFields is a list of field names (e.g. "FileType") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ContainerType") to include in API + // NullFields is a list of field names (e.g. "FileType") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiBestDisplayName) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiBestDisplayName - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AppsPeopleOzExternalMergedpeopleapiBirthday: IMPORTANT NOTES: - Requesting -// person.birthday requires membership in the purpose limited data ACL group -// sgbe-ac-d-birthday-(read|mutate). Contact people-api-eng@ for assistance -// with initial setup. - The birthday field should not be used to calculate the -// requester's age! To determine the requester's age, use -// person.age_range_repeated. - For more details about age see -// go/peopleapi-howto/age Birthday value may not be present: - Consumer users -// generally required to have account birthday set (required at account -// creation), though some users created via legacy flows may not have birthday -// present. - Dasher users generally don't require birthday, but could -// optionally have it set by users. - Any other types of accounts (e.g. robot, -// service) do not have birthdays. - Account Birthday field may be present but -// without birthday value set for grace period birthday (provisional new -// birthday). For users that do have birthday data: - "Profile Birthday" -// (person.birthday.metadata.container is PROFILE) may not have a year set if -// user "hides" the year. - "Account Birthday" (see api-specific notes below) -// will only be returned for the requester's own profile. - People API -// (go/peopleapi): * Account birthday is only supported in GetPeople for -// PeopleAPI. * If account birthday is needed, use a request mask with: -// `include_field { paths: "person.birthday" }` `include_container: ACCOUNT` - -// People API++ (go/peopleapi++): * Account birthday is supported for most apis -// in PeopleAPI++. * If account birthday is needed, use a request mask with: -// `include_field { paths: "person.account_birthday" }` `include_container: -// PROFILE` (note: it will also need `include_container: DOMAIN_PROFILE` -// because they must be requested together: -// go/people-api-masks#profile-domain_profile) - See go/papi-vs-papi++#birthday -// for more details. -type AppsPeopleOzExternalMergedpeopleapiBirthday struct { - // AgeDisableGracePeriod: Only supported for PROFILE/DOMAIN_PROFILE/ACCOUNT - // container. - AgeDisableGracePeriod *AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriod `json:"ageDisableGracePeriod,omitempty"` - // BirthdayDecoration: Whether the user has opted in to display their birthday - // via photo decorations. Only supported for PROFILE/DOMAIN_PROFILE container. - BirthdayDecoration *SocialGraphApiProtoBirthdayDecoration `json:"birthdayDecoration,omitempty"` - // BirthdayResolution: Only supported for PROFILE/DOMAIN_PROFILE/ACCOUNT - // container. - // - // Possible values: - // "FULL" - Birthday includes year, month, and day. - // "MONTH_AND_APPROXIMATED_YEAR" - Birthday includes approximate year and - // month. - // "APPROXIMATED_YEAR" - Birthday includes an approximate year. - BirthdayResolution string `json:"birthdayResolution,omitempty"` - // CalendarDay: Birthdays are more accurately represented as a calendar day - // that does not depend on a timestamp representation at all. When given a - // timestamp, there are lots of opportunities to make mistakes, so a - // CalendarDay proto is replacing timestamps. Currently this is always returned - // by PeopleApi on reads that include birthday fields. New clients should write - // using calendar_day. Clients that were already writing via date_ms are - // allowlisted such that writes use that field. Old callers should migrate to - // writing BOTH date_ms and calendar_day values. If those are consistent, they - // may be removed from the 'legacy_timestamp_event_write_behavior_enabled' - // capability. - CalendarDay *GoogleTypeDate `json:"calendarDay,omitempty"` - // DateMs: Birthdays are currently represented as timestamp values, although - // the interpretation of these timestamp values is a calendar date. Clients are - // recommended to read the calendar_day field, which is easier to work with - // than date_ms. New clients writing to PeopleApi must set calendar_day instead - // of date_ms. There are a few important details about how this value should be - // mapped to a calendar date that should be consistent among all clients. 1. - // Epoch - The epoch or calendar date equivalent to 0 ms is chosen to be - // 1970-01-01 UTC. 2. Timezone - All of the conversions to calendars should - // occur in the UTC timezone. We don't typically think of someones birthday - // changing when they travel, so clients should not use local times. 3. - // Calendar - The calendar used for the dates should be a Gregorian proleptic - // calendar. Proleptic means that the rules of the Gregorian calendar are - // retrofitted to before its adoption. It is easy to get this wrong, - // particularly with the java GregorianCalendar class, which by default is a - // mixed Gregorian/Julian calendar. Joda Time makes this easy, but if it's not - // an option, look into GregorianCalendar.setGregorianChange(). 4. Omitted - // years - Clients have chosen to represent birthdays or events without years - // as timestamps within the year zero. When the computed date has a year of 0, - // it means the client did not specify a year. Note that a year 0 does not - // exist in a chronology like the familiar Anno Domini (A.D. and B.C.); clients - // must agree on year numbering. 5. Year Numbering - The chronology used to map - // dates to the calendar should use Astronomical Year Numbering so that the - // year 0 is defined and dates before it have a negative year. If libraries - // only provide Anno Domini, then the year of 1 BC corresponds to year zero and - // an omitted user provided year. Other BC values are presumed rare, but - // clients should still not ignore the era and interpret the year as an A.D. - // value, especially if writing values back to PeopleApi. - DateMs int64 `json:"dateMs,omitempty,string"` - // DateMsAsNumber: date_ms_as_number contains the same data as date_ms, but has - // a different type in generated javascript bindings. Non javascript clients - // can ignore it. - DateMsAsNumber int64 `json:"dateMsAsNumber,omitempty,string"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Prompt: People Prompts settings for contact birthday data. Only supported - // for CONTACT container. - Prompt *SocialGraphApiProtoPrompt `json:"prompt,omitempty"` - // Value: Actual value entered. Allows unstructured values. - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgeDisableGracePeriod") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgeDisableGracePeriod") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiBirthday) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiBirthday +func (s *GoogleCloudContentwarehouseV1FileTypeFilter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1FileTypeFilter return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriod: Whether -// this field is set or not determines whether an account is in the grace -// period. While in the grace period, the user is unable to change their -// birthday on their own, and will be age-disabled if they don't act in a -// limited amount of time. Applies only to ServiceData Birthday. Users enter -// the grace period if they choose a birthday below the Age of Consent -// (go/aoc). After the grace period ends, the account will be age disabled. See -// go/age-disable-grace-period-dd. -type AppsPeopleOzExternalMergedpeopleapiBirthdayAgeDisableGracePeriod struct { - // CalendarDay: Provisional birthday gaia link, but when the - // trust link is initiated gaia might not be known. Until gaia is discovered, - // pomeroy_id is used to identify the contact uniquely. If trust_level is - // missing or set to TRUST_LEVEL_UNSPECIFIED pomeroy_id must be empty. - PomeroyId string `json:"pomeroyId,omitempty"` - // Possible values: - // "TRUST_LEVEL_UNSPECIFIED" - The person does not have a specified trust - // level. - // "TRUST_LEVEL_EMERGENCY_CONTACT" - The person is an Emergency Contact. - TrustLevel string `json:"trustLevel,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to +type GoogleCloudContentwarehouseV1PropertyFilter struct { + // Condition: The filter condition. The syntax for this expression is a subset + // of SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, `>=`, and + // `~~` where the left of the operator is a property name and the right of the + // operator is a number or a quoted string. You must escape backslash (\\) and + // quote (\") characters. `~~` is the LIKE operator. The right of the operator + // must be a string. The only supported property data type for LIKE is + // text_values. It provides semantic search functionality by parsing, stemming + // and doing synonyms expansion against the input query. It matches if the + // property contains semantic similar content to the query. It is not regex + // matching or wildcard matching. For example, "property.company ~~ \"google\"" + // will match records whose property `property.compnay` have values like + // "Google Inc.", "Google LLC" or "Google Company". Supported functions are + // `LOWER([property_name])` to perform a case insensitive match and + // `EMPTY([property_name])` to filter on the existence of a key. Boolean + // expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for + // example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100 comparisons + // or functions are allowed in the expression. The expression must be < 6000 + // bytes in length. Only properties that are marked filterable are allowed + // (PropertyDefinition.is_filterable). Property names do not need to be + // prefixed by the document schema id (as is the case with histograms), however + // property names will need to be prefixed by its parent hierarchy, if any. For + // example: top_property_name.sub_property_name. Sample Query: + // `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND + // driving_years > 10` CMEK compliant deployment only supports: * Operators: + // `=`, `<`, `<=`, `>`, and `>=`. * Boolean expressions: AND and OR. + Condition string `json:"condition,omitempty"` + // DocumentSchemaName: The Document schema name Document.document_schema_name. + // Format: + // projects/{project_number}/locations/{location}/documentSchemas/{document_sche + // ma_id}. + DocumentSchemaName string `json:"documentSchemaName,omitempty"` + // ForceSendFields is a list of field names (e.g. "Condition") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API + // NullFields is a list of field names (e.g. "Condition") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiEmergencyInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiEmergencyInfo +func (s *GoogleCloudContentwarehouseV1PropertyFilter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1PropertyFilter return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiEvent struct { - // CalendarDay: Event are more accurately represented as a calendar day that - // does not depend on a timestamp representation at all. When given a - // timestamp, there are lots of opportunities to make mistakes, so a - // CalendarDay proto is replacing timestamps. PeopleApi will return these - // values on reads, and unless the client is a legacy caller in the - // legacy_timestamp_event_write_behavior_enabled capability allowlist, this - // value is what is used for Person writes. - CalendarDay *GoogleTypeDate `json:"calendarDay,omitempty"` - // FormattedType: The `type` translated and formatted in the request locale. - // See go/people-api-howto/localization for details on how to usage. - FormattedType string `json:"formattedType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Prompt: People Prompts settings for contact event data. - Prompt *SocialGraphApiProtoPrompt `json:"prompt,omitempty"` - // TimestampMillis: Clients are recommended to read the calendar_day field - // instead of timestamp_millis. When writing events, new clients must set - // calendar_day instead of timestamp_millis. Events are currently represented - // as timestamp values, although the interpretation of these timestamp values - // is a calendar date. There are a few important details about how this value - // should be mapped to a calendar date that should be consistent among all - // clients. For detailed information, see Birthday.date_ms. - TimestampMillis int64 `json:"timestampMillis,omitempty,string"` - // Type: The type of the event. The type can be free form or one of these - // predefined values: * `anniversary` * `other` - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "CalendarDay") to +// GoogleCloudContentwarehouseV1PropertyTypeOptions: Configurations for a +// nested structured data property. +type GoogleCloudContentwarehouseV1PropertyTypeOptions struct { + // PropertyDefinitions: Required. List of property definitions. + PropertyDefinitions []*GoogleCloudContentwarehouseV1PropertyDefinition `json:"propertyDefinitions,omitempty"` + // ForceSendFields is a list of field names (e.g. "PropertyDefinitions") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CalendarDay") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "PropertyDefinitions") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiEvent) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiEvent +func (s *GoogleCloudContentwarehouseV1PropertyTypeOptions) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1PropertyTypeOptions return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiExternalId: External identifier -// associated with the person. -type AppsPeopleOzExternalMergedpeopleapiExternalId struct { - // FormattedType: The `type` translated and formatted in the request locale. - // See go/people-api-howto/localization for details on how to usage. - FormattedType string `json:"formattedType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Type: The type of the external ID. The type can be free form or one of these - // predefined values: * `account` * `customer` * `loginId` * `network` * - // `organization` - Type string `json:"type,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "FormattedType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FormattedType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiExternalId) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiExternalId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AppsPeopleOzExternalMergedpeopleapiFieldAcl: The field ACL. Currently only -// populated on profile fields for the profile owner. A Person field ACL; see -// http://go/peopleapi-acl -type AppsPeopleOzExternalMergedpeopleapiFieldAcl struct { - // AclEntry: A custom type of field ACL entry. The set of all ACL entries - // includes those listed in acl_entry as well as predefined_acl_entry. - AclEntry []*AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntry `json:"aclEntry,omitempty"` - // AuthorizedViewers: Set of users that will be authorized to view the field by - // this field ACL. If the ACL is public, this will only contain ALL_USERS. This - // field is synthesized, read-only, and currently only used for profile photos. - // It's populated under "person.photo.metadata.field_acl" for the current photo - // ACL and "person.photo.metadata.acl_choices" for available photo ACL choices. - // Note: The set of authorized viewers for a given FieldAcl may depend on the - // user's account type and domain configuration. For example, a PRIVATE_READ - // FieldAcl could have any of the following authorized viewers: Consumer user: - // [IDENTITY_ACL_ESTABLISHED] Dasher user without domain contact sharing: - // [IDENTITY_ACL_ESTABLISHED] Unicorn user: [SAME_UNICORN_FAMILY] Hafez user: - // [] - // - // Possible values: - // "AUTHORIZED_VIEWER_UNSPECIFIED" - // "IDENTITY_ACL_ESTABLISHED" - Users with an identity ACL established with - // the field owner through user-to-user interactions. - // "SAME_ORGANIZATION" - Users in the same enterprise organization as the - // field owner. - // "SAME_UNICORN_FAMILY" - Users in the same Unicorn family as the field - // owner. - // "ALL_USERS" - All users, including anonymous viewers. - AuthorizedViewers []string `json:"authorizedViewers,omitempty"` - // PredefinedAclEntry: A common type of field ACL entry. A predefined ACL entry - // is a shortcut for a commonly occurring case of role and scope. For example, - // PUBLIC_READ is the same as an AclEntry with role = READER and - // scope.all_users = true. The set of all ACL entries includes those listed in - // acl_entry as well as predefined_acl_entry. - // - // Possible values: - // "UNKNOWN" - // "OWNER" - Equivalent to role = OWNER and scope.person.person_id = - // requester's person ID. - // "PUBLIC_READ" - Equivalent to role = READER and scope.all_users = true. - // "DOMAIN_READ" - Equivalent to role = READER and scope.domain_users = true. - // "YOUR_CIRCLES_READ" - Equivalent to role = READER and - // scope.membership.circle.circle_set = YOUR_CIRCLES. - // "EXTENDED_CIRCLES_READ" - Equivalent to role = READER and - // scope.membership.circle.circle_set = EXTENDED_CIRCLES. - // "PRIVATE_READ" - This is under implementation and not populated in - // PeopleAPI yet. Equivalent to role = READER and scope.person.person_id = - // requester's person ID. Presence of this entry means the field is private and - // is not visible to others. - PredefinedAclEntry []string `json:"predefinedAclEntry,omitempty"` - // ForceSendFields is a list of field names (e.g. "AclEntry") to +// GoogleCloudContentwarehouseV1PublishAction: Represents the action +// responsible for publishing messages to a Pub/Sub topic. +type GoogleCloudContentwarehouseV1PublishAction struct { + // Messages: Messages to be published. + Messages []string `json:"messages,omitempty"` + // TopicId: The topic id in the Pub/Sub service for which messages will be + // published to. + TopicId string `json:"topicId,omitempty"` + // ForceSendFields is a list of field names (e.g. "Messages") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AclEntry") to include in API + // NullFields is a list of field names (e.g. "Messages") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiFieldAcl) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiFieldAcl - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntry struct { - // Possible values: - // "UNKNOWN" - // "READER" - // "WRITER" - // "OWNER" - owner can change ACL - Role string `json:"role,omitempty"` - Scope *AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScope `json:"scope,omitempty"` - // ForceSendFields is a list of field names (e.g. "Role") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Role") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntry) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntry +func (s *GoogleCloudContentwarehouseV1PublishAction) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1PublishAction return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScope struct { - // AllUsers: Indicates that the field is accessible to all users including - // unauthenticated users. For some fields this means "to everyone except - // blocked users". - AllUsers bool `json:"allUsers,omitempty"` - // DomainUsers: This is a "synthetic" field. In reality domains are treated as - // gaia- groups. This field will be 'true' when the field is ACLed to the - // gaia-group of the requester's domain. - DomainUsers bool `json:"domainUsers,omitempty"` - Membership *AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl `json:"membership,omitempty"` - // Person: Indicates that the field is accessible to a person. - Person *AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl `json:"person,omitempty"` - // ForceSendFields is a list of field names (e.g. "AllUsers") to +// GoogleCloudContentwarehouseV1QAResult: Additional result info for the +// question-answering feature. +type GoogleCloudContentwarehouseV1QAResult struct { + // ConfidenceScore: The calibrated confidence score for this document, in the + // range [0., 1.]. This represents the confidence level for whether the + // returned document and snippet answers the user's query. + ConfidenceScore float64 `json:"confidenceScore,omitempty"` + // Highlights: Highlighted sections in the snippet. + Highlights []*GoogleCloudContentwarehouseV1QAResultHighlight `json:"highlights,omitempty"` + // ForceSendFields is a list of field names (e.g. "ConfidenceScore") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AllUsers") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "ConfidenceScore") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScope) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScope +func (s *GoogleCloudContentwarehouseV1QAResult) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1QAResult return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl: Used -// when the field is accessible to a membership that the person has. -type AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl struct { - Circle *AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAcl `json:"circle,omitempty"` - ContactGroup *AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl `json:"contactGroup,omitempty"` - // ForceSendFields is a list of field names (e.g. "Circle") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Circle") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAcl - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +func (s *GoogleCloudContentwarehouseV1QAResult) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudContentwarehouseV1QAResult + var s1 struct { + ConfidenceScore gensupport.JSONFloat64 `json:"confidenceScore"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.ConfidenceScore = float64(s1.ConfidenceScore) + return nil } -// AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAc -// l: Used when a field is accessible to a circle. -type AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAcl struct { - CircleId string `json:"circleId,omitempty"` - // Possible values: - // "UNKNOWN" - // "YOUR_CIRCLES" - // "EXTENDED_CIRCLES" - CircleSet string `json:"circleSet,omitempty"` - // DisplayName: Equivalent to Circle.display_name for the circle_id. Included - // when FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is - // read-only and ignored on update. - DisplayName string `json:"displayName,omitempty"` - // ForceSendFields is a list of field names (e.g. "CircleId") to +// GoogleCloudContentwarehouseV1QAResultHighlight: A text span in the search +// text snippet that represents a highlighted section (answer context, highly +// relevant sentence, etc.). +type GoogleCloudContentwarehouseV1QAResultHighlight struct { + // EndIndex: End index of the highlight, exclusive. + EndIndex int64 `json:"endIndex,omitempty"` + // StartIndex: Start index of the highlight. + StartIndex int64 `json:"startIndex,omitempty"` + // ForceSendFields is a list of field names (e.g. "EndIndex") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CircleId") to include in API + // NullFields is a list of field names (e.g. "EndIndex") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAcl) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclCircleAcl - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactG -// roupAcl: Used when a field is accessible to a legacy contact group. Contact -// groups are discouraged and may be deprecated soon. ContactGroupAcls are -// read-only. If they are included as part of an ACL on an Update, an exception -// is thrown. -type AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl struct { - // ContactGroupId: A contact group ID. This is either a user-defined contact - // group hex ID, or it is the string name of the enum constant in - // Group.PredefinedId in FBS backend.proto for predefined groups. Common values - // for the predefined name include, but are not limited to: all, myContacts, - // starred, chatBuddies, friends, family, coworkers, and blocked. - ContactGroupId string `json:"contactGroupId,omitempty"` - // DisplayName: The localized display name for the predefined group, if known; - // or, the display name for the user-defined contact group. Included when - // FieldAclOption.FULL_ACL_WITH_DETAILS is requested. - DisplayName string `json:"displayName,omitempty"` - // ForceSendFields is a list of field names (e.g. "ContactGroupId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ContactGroupId") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopeMembershipAclContactGroupAcl +func (s *GoogleCloudContentwarehouseV1QAResultHighlight) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1QAResultHighlight return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl: Used when -// a field is accessible to a person. NOTE: ACLs to a circle or to a non-self -// person are no longer supported, so this can only be applied to the requester -// self. -type AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl struct { - // DisplayName: DEPRECATED. This is not different than reading from person.name - // for a self-read; ACLs to a circle or to a non-self person are no longer - // supported. Equivalent to Name.display_name for the person_id profile. - // Included when the profile Name is ACLed to the requester and - // FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only - // and ignored on update. - DisplayName string `json:"displayName,omitempty"` - PersonId string `json:"personId,omitempty"` - // PhotoUrl: DEPRECATED. This is not different than reading from person.photo - // for a self-read; ACLs to a circle or to a non-self person are no longer - // supported. Equivalent to Photo.url for the person_id profile. Included when - // the profile Photo is ACLed to the requester and - // FieldAclOption.FULL_ACL_WITH_DETAILS is requested. This field is read-only - // and ignored on update. - PhotoUrl string `json:"photoUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to +// GoogleCloudContentwarehouseV1RemoveFromFolderAction: Represents the action +// responsible for remove a document from a specific folder. +type GoogleCloudContentwarehouseV1RemoveFromFolderAction struct { + // Condition: Condition of the action to be executed. + Condition string `json:"condition,omitempty"` + // Folder: Name of the folder under which new document is to be added. Format: + // projects/{project_number}/locations/{location}/documents/{document_id}. + Folder string `json:"folder,omitempty"` + // ForceSendFields is a list of field names (e.g. "Condition") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include in API + // NullFields is a list of field names (e.g. "Condition") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiFieldAclAclEntryScopePersonAcl +func (s *GoogleCloudContentwarehouseV1RemoveFromFolderAction) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1RemoveFromFolderAction return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo: Emergency information -// for Person field, such as Phone or Email. See -// go/emergency-trusted-contacts-papi. -type AppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo struct { - // Possible values: - // "EMERGENCY_LEVEL_UNSPECIFIED" - The field (such as phone) is not - // designated for emergency communication. - // "EMERGENCY_LEVEL_PRIMARY" - The field (such as phone) is designated for - // emergency communication. - EmergencyLevel string `json:"emergencyLevel,omitempty"` - // ForceSendFields is a list of field names (e.g. "EmergencyLevel") to +// GoogleCloudContentwarehouseV1RequestMetadata: Meta information is used to +// improve the performance of the service. +type GoogleCloudContentwarehouseV1RequestMetadata struct { + // UserInfo: Provides user unique identification and groups information. + UserInfo *GoogleCloudContentwarehouseV1UserInfo `json:"userInfo,omitempty"` + // ForceSendFields is a list of field names (e.g. "UserInfo") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EmergencyLevel") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "UserInfo") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo +func (s *GoogleCloudContentwarehouseV1RequestMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1RequestMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiFileAs: The FileAs field in Contacts is -// used to override the DisplayName of a Contact for that User. -type AppsPeopleOzExternalMergedpeopleapiFileAs struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to +// GoogleCloudContentwarehouseV1ResponseMetadata: Additional information +// returned to client, such as debugging information. +type GoogleCloudContentwarehouseV1ResponseMetadata struct { + // RequestId: A unique id associated with this call. This id is logged for + // tracking purpose. + RequestId string `json:"requestId,omitempty"` + // ForceSendFields is a list of field names (e.g. "RequestId") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API + // NullFields is a list of field names (e.g. "RequestId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiFileAs) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiFileAs +func (s *GoogleCloudContentwarehouseV1ResponseMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1ResponseMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiGPayExtendedData: Extension data for use -// in GPay Product Profile. go/gpay-product-profile-1-pager Contact: -// profiles-eng-fe@google.com -type AppsPeopleOzExternalMergedpeopleapiGPayExtendedData struct { - // Failure: Failure type if there is an error when fetching product profile - // data. - Failure *AppsPeopleOzExternalMergedpeopleapiProductProfileFailure `json:"failure,omitempty"` - // InternationalNumber: A number in international format including the country - // code that is made user readable by including formatting such as spaces. - // Example: "+41 44 668 1800" DEPRECATED: A user's phone number should be - // masked and not in an international format - InternationalNumber string `json:"internationalNumber,omitempty"` - // MaskedNumber: The masked string of a user's phone number The number will be - // obfucsated with * except the last 4 digits. Refer to: - // //java/com/google/nbu/paisa/common/PhoneNumberMasker.java - MaskedNumber string `json:"maskedNumber,omitempty"` - // ForceSendFields is a list of field names (e.g. "Failure") to unconditionally +// GoogleCloudContentwarehouseV1Rule: Represents the rule for a content +// warehouse trigger. +type GoogleCloudContentwarehouseV1Rule struct { + // Actions: List of actions that are executed when the rule is satisfied. + Actions []*GoogleCloudContentwarehouseV1Action `json:"actions,omitempty"` + // Condition: Represents the conditional expression to be evaluated. Expression + // should evaluate to a boolean result. When the condition is true actions are + // executed. Example: user_role = "hsbc_role_1" AND doc.salary > 20000 + Condition string `json:"condition,omitempty"` + // Description: Short description of the rule and its context. + Description string `json:"description,omitempty"` + // RuleId: ID of the rule. It has to be unique across all the examples. This is + // managed internally. + RuleId string `json:"ruleId,omitempty"` + // TriggerType: Identifies the trigger type for running the policy. + // + // Possible values: + // "UNKNOWN" - Trigger for unknown action. + // "ON_CREATE" - Trigger for create document action. + // "ON_UPDATE" - Trigger for update document action. + // "ON_CREATE_LINK" - Trigger for create link action. + // "ON_DELETE_LINK" - Trigger for delete link action. + TriggerType string `json:"triggerType,omitempty"` + // ForceSendFields is a list of field names (e.g. "Actions") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Failure") to include in API + // NullFields is a list of field names (e.g. "Actions") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiGPayExtendedData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiGPayExtendedData +func (s *GoogleCloudContentwarehouseV1Rule) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1Rule return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiGender: Gender in PeopleApi has some odd -// semantics about writing and reading that are not obvious from the proto -// definition. First, the `type` string, when read, always maps to the -// constrained domain of "male", "female", and "other", aside from a -// pathological case that PeopleApi would like to fix. There are two typical -// patterns: 1. `type` is either "male" or "female" and `custom_type` and -// `address_me_as` are exactly as specified by an update to PeopleApi, although -// they are most often absent for "male" and "female" writes. 2. `type` is -// "other" and `custom_type` is set to a freeform string from the request. -// `address_me_as` is equal to whatever was provided at write time. When -// writing, the free-form string for `custom_type` can come from either -// `custom_type` if the field is present on the request, or if `custom_type` is -// absent, the string value of `type` will be copied into it. Any value in -// `type` will be coerced to "other" and the free-form value will be copied -// into `custom_type`, even if `type` is exactly "other". Prefer to explicitly -// set `custom_type` and set type to "other" instead of setting type to a -// free-form value. There are weird edge cases when the value is "unknown". -// Consider the behavior for `type` == "unknown" unspecified. Clients reading -// the gender should use the value from `formatted_type` if `type` is "male" or -// "female". If `type` is "other", `formatted_type` will be "Other" (or some -// translation) and clients should read `custom_type` for more specificity. -type AppsPeopleOzExternalMergedpeopleapiGender struct { - // AddressMeAs: Preferred pronoun choice. It's unclear whether this value is - // constrained to a finite domain by UIs. `address_me_as` may be populated - // regardless of whether `type` is "male", "female", or "other", although most - // writers only set it if `type` is "other". - AddressMeAs string `json:"addressMeAs,omitempty"` - // CustomType: A free-form string indicating what the user entered as their - // gender. `custom_type` may exist even if the type is "male" or "female", - // although most writers do not set it unless `type` is "other". - CustomType string `json:"customType,omitempty"` - // FormattedType: The `type` translated and formatted in the request locale. - // See go/people-api-howto/localization for details on how to usage. - FormattedType string `json:"formattedType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Type: The gender. "male", "female", or "other". If "other", typically, - // additional fields will have additional information. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "AddressMeAs") to +// GoogleCloudContentwarehouseV1RuleActionsPair: Represents a rule and outputs +// of associated actions. +type GoogleCloudContentwarehouseV1RuleActionsPair struct { + // ActionOutputs: Outputs of executing the actions associated with the above + // rule. + ActionOutputs []*GoogleCloudContentwarehouseV1ActionOutput `json:"actionOutputs,omitempty"` + // Rule: Represents the rule. + Rule *GoogleCloudContentwarehouseV1Rule `json:"rule,omitempty"` + // ForceSendFields is a list of field names (e.g. "ActionOutputs") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AddressMeAs") to include in API + // NullFields is a list of field names (e.g. "ActionOutputs") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiGender) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiGender +func (s *GoogleCloudContentwarehouseV1RuleActionsPair) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1RuleActionsPair return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiGplusExtendedData struct { - // Possible values: - // "UNKNOWN" - // "PUBLIC" - Can send and consume public content - // "DISCOVERY" - Restricted to only sending content internally, cannot mutate - // external content in any manner - // "WALLED_GARDEN" - Restricted to sending content internally, no public - // content naturally surfaces - ContentRestriction string `json:"contentRestriction,omitempty"` - // IsEnterpriseUser: Equivalent to having the DASHER_POLICY bit in the - // REGISTERED state. - IsEnterpriseUser bool `json:"isEnterpriseUser,omitempty"` - // ForceSendFields is a list of field names (e.g. "ContentRestriction") to +// GoogleCloudContentwarehouseV1RuleEngineOutput: Records the output of Rule +// Engine including rule evaluation and actions result. +type GoogleCloudContentwarehouseV1RuleEngineOutput struct { + // ActionExecutorOutput: Output from Action Executor containing rule and + // corresponding actions execution result. + ActionExecutorOutput *GoogleCloudContentwarehouseV1ActionExecutorOutput `json:"actionExecutorOutput,omitempty"` + // DocumentName: Name of the document against which the rules and actions were + // evaluated. + DocumentName string `json:"documentName,omitempty"` + // RuleEvaluatorOutput: Output from Rule Evaluator containing matched, + // unmatched and invalid rules. + RuleEvaluatorOutput *GoogleCloudContentwarehouseV1RuleEvaluatorOutput `json:"ruleEvaluatorOutput,omitempty"` + // ForceSendFields is a list of field names (e.g. "ActionExecutorOutput") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ContentRestriction") to include + // NullFields is a list of field names (e.g. "ActionExecutorOutput") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiGplusExtendedData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiGplusExtendedData +func (s *GoogleCloudContentwarehouseV1RuleEngineOutput) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1RuleEngineOutput return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedData: Extension data for -// use in Hangouts. -type AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedData struct { - // Possible values: - // "UNKNOWN_PAST_HANGOUT_STATE" - // "HAD_PAST_HANGOUT" - // "NO_PAST_HANGOUT" - HadPastHangoutState string `json:"hadPastHangoutState,omitempty"` - // InvitationStatus: Populated for all contacts. Only set if - // had_past_hangout_state == HAD_PAST_HANGOUT. INVITATION_NEEDED is not a valid - // value because there already is a past hangout, which means either the - // invitation is still pending or it’s been accepted. - // - // Possible values: - // "UNKNOWN_INVITATION_STATUS" - // "PENDING_INVITATION" - The invitation is still pending, or was declined - // "ACCEPTED_INVITATION" - The other user accepted the invitation - // "INVITATION_NEEDED" - An invitation is needed to chat with this user - InvitationStatus string `json:"invitationStatus,omitempty"` - // IsBot: True if this is a Hangouts bot. - IsBot bool `json:"isBot,omitempty"` - IsDismissed bool `json:"isDismissed,omitempty"` - IsFavorite bool `json:"isFavorite,omitempty"` - IsPinned bool `json:"isPinned,omitempty"` - // Possible values: - // "UNKNOWN_USER_TYPE" - // "INVALID" - No entity found. - // "GAIA" - Regular GAIA users. - // "OFF_NETWORK_PHONE" - Phone numbers represented as GAIA ids. - // "MALFORMED_PHONE_NUMBER" - Malformed number. Those are numbers that don't - // comfirm to an E.164 format that we get with phone calls/voicemails (e.g. - // "HELLO"). - // "UNKNOWN_PHONE_NUMBER" - Unknown number. This is a number that the caller - // has chosen not to broadcast. - // "ANONYMOUS_PHONE_NUMBER" - Phone number that Google knows about, but the - // caller chose not to reveal to the recipient. - UserType string `json:"userType,omitempty"` - // ForceSendFields is a list of field names (e.g. "HadPastHangoutState") to +// GoogleCloudContentwarehouseV1RuleEvaluatorOutput: Represents the output of +// the Rule Evaluator. +type GoogleCloudContentwarehouseV1RuleEvaluatorOutput struct { + // InvalidRules: A subset of triggered rules that failed the validation + // check(s) after parsing. + InvalidRules []*GoogleCloudContentwarehouseV1InvalidRule `json:"invalidRules,omitempty"` + // MatchedRules: A subset of triggered rules that are evaluated true for a + // given request. + MatchedRules []*GoogleCloudContentwarehouseV1Rule `json:"matchedRules,omitempty"` + // TriggeredRules: List of rules fetched from database for the given request + // trigger type. + TriggeredRules []*GoogleCloudContentwarehouseV1Rule `json:"triggeredRules,omitempty"` + // ForceSendFields is a list of field names (e.g. "InvalidRules") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HadPastHangoutState") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See + // NullFields is a list of field names (e.g. "InvalidRules") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedData +func (s *GoogleCloudContentwarehouseV1RuleEvaluatorOutput) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1RuleEvaluatorOutput return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiIdentityInfo struct { - // OriginalLookupToken: Original lookup token from the request that resulted in - // this person or one of its containers. - OriginalLookupToken []string `json:"originalLookupToken,omitempty"` - // PreviousPersonId: Any former IDs this person may have had, in the case that - // their ID may have changed. Populated only for sync requests. Examples of - // such changes include adding an edge to a contact that links to a profile. - // The ID will change from being contact-oriented to being profile-oriented. To - // be used to clear out old versions of a person. - PreviousPersonId []string `json:"previousPersonId,omitempty"` - // SourceIds: A list of sources contributing to the merged person, including - // profiles (with gaia-id), contacts and synthetic-contacts. - SourceIds []*AppsPeopleOzExternalMergedpeopleapiSourceIdentity `json:"sourceIds,omitempty"` - // ForceSendFields is a list of field names (e.g. "OriginalLookupToken") to +// GoogleCloudContentwarehouseV1RuleSet: Represents a set of rules from a +// single customer. +type GoogleCloudContentwarehouseV1RuleSet struct { + // Description: Short description of the rule-set. + Description string `json:"description,omitempty"` + // Name: The resource name of the rule set. Managed internally. Format: + // projects/{project_number}/locations/{location}/ruleSet/{rule_set_id}. The + // name is ignored when creating a rule set. + Name string `json:"name,omitempty"` + // Rules: List of rules given by the customer. + Rules []*GoogleCloudContentwarehouseV1Rule `json:"rules,omitempty"` + // Source: Source of the rules i.e., customer name. + Source string `json:"source,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Description") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OriginalLookupToken") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See + // NullFields is a list of field names (e.g. "Description") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiIdentityInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiIdentityInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AppsPeopleOzExternalMergedpeopleapiIm struct { - // FormattedProtocol: The `protocol` translated and formatted in the request - // locale. See go/people-api-howto/localization for details on how to usage. - FormattedProtocol string `json:"formattedProtocol,omitempty"` - // FormattedType: The `type` translated and formatted in the request locale. - // See go/people-api-howto/localization for details on how to usage. - FormattedType string `json:"formattedType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Protocol: The protocol of the IM. The protocol can be free form or one of - // these predefined values: * `aim` * `msn` * `yahoo` * `skype` * `qq` * - // `googleTalk` * `icq` * `jabber` * `netMeeting` - Protocol string `json:"protocol,omitempty"` - // Type: The type of the IM. The type can be free form or one of these - // predefined values: * `home` * `work` * `other` - Type string `json:"type,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "FormattedProtocol") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FormattedProtocol") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiIm) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiIm - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget: How and where to -// send notifications to this person in other apps, and why the requester can -// do so. See go/reachability for more info. "How" and "where" identify the -// recipient in a P2P Bridge (glossary/p2p bridge), and "why" may be helpful in -// a UI to disambiguate which of several ways may be used to contact the -// recipient. How: Via a Google profile or a reachable-only phone number that -// the requester has access to. Specified in the target "type" and "value". -// Where: Apps in which the profile/phone number owner may receive -// notifications. Specified in the repeated "app". Why: Which fields in, e.g., -// a contact associated with this person make the notification target info -// visible to the requester. Specified in the repeated originating_field param. -// Example: Alice has a contact Bob, with: Email 0 = bob@gmail.com Phone 0 = -// +12223334444 Phone 1 = +15556667777 Email 0 and Phone 0 let Alice see Bob's -// public profile (obfuscated gaia ID = 123). Public profiles are visible by -// email by default, and Bob has explicitly made it visible via Phone 0. Bob -// says people can send notifications to his public profile in YouTube. Phone 2 -// is associated with another Google profile that Bob owns, but he doesn't want -// others to see it. He is okay with people sending notifications to him in -// Who's Down if they have this phone number, however. There will be separate -// InAppNotificationTargets: one for Bob's public Google profile, and one for -// the second phone number, which is in his private profile. IANT #1 - -// targeting Bob's public profile (visible via Email 0 and Phone 0): app = -// [YOUTUBE] type = OBFUSCATED_GAIA_ID value = 123 originating_field: [ { -// field_type = EMAIL, field_index = 0 } // For Email 0 { field_type = PHONE, -// field_index = 0 } // For Phone 0 ] IANT #2 - targeting Bob's private profile -// phone number Phone 1: app = [WHOS_DOWN] type = PHONE value = +15556667777 -// originating_field: [ { field_type = PHONE, field_index = 1 } // For Phone 1 -// ] -type AppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget struct { - // Possible values: - // "UNKNOWN" - Should never be stored in practice - // "BABEL" - Aka Hangouts - // "YOUTUBE" - Aka Reactr - // "WHOS_DOWN" - Aka Who's Down - // "YOUTUBE_MANGO" - Aka YouTube for Emerging Markets - // "PHOTOS" - Aka Google Photos - // "GOOGLE_ASSISTANT" - // "KABOO" - Aka PAISA, aka Tez - // "COMMERCE_PLATFORM" - Aka Naksha - // "SPACES" - Aka Google Spaces - // "MAPS" - Aka Google Map - // "LOUPE_UNUSED" - This field is deprecated. - // "POMEROY" - Aka Trusted Contacts - // "LOUPE" - Aka Camera by Google Photos - // "PEOPLE_PLAYGROUND" - See go/people-playground-design. - // "NEWS_360" - Also mdb/social-magazines - // "DUO" - Aka Taychon - // "MEET" - Aka Google Meet - App []string `json:"app,omitempty"` - ClientData []*AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientData `json:"clientData,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // OriginatingField: There may be more than one field from which this IANT - // originates, as in the case of Bob's public profile. - OriginatingField []*AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingField `json:"originatingField,omitempty"` - // Possible values: - // "UNKNOWN_KEY_TYPE" - // "PHONE" - // "OBFUSCATED_GAIA_ID" - // "EMAIL" - Type string `json:"type,omitempty"` - // Value: The value of the target, used for delivery. E.g., the obfuscated gaia - // ID for a visible profile. - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "App") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "App") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget +func (s *GoogleCloudContentwarehouseV1RuleSet) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1RuleSet return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientData: -// Client-specific data pertaining to app reachability. No PII data or user -// content should be stored in this blob. -type AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientData struct { - // App: The app to which this client data applies. - // - // Possible values: - // "UNKNOWN" - Should never be stored in practice - // "BABEL" - Aka Hangouts - // "YOUTUBE" - Aka Reactr - // "WHOS_DOWN" - Aka Who's Down - // "YOUTUBE_MANGO" - Aka YouTube for Emerging Markets - // "PHOTOS" - Aka Google Photos - // "GOOGLE_ASSISTANT" - // "KABOO" - Aka PAISA, aka Tez - // "COMMERCE_PLATFORM" - Aka Naksha - // "SPACES" - Aka Google Spaces - // "MAPS" - Aka Google Map - // "LOUPE_UNUSED" - This field is deprecated. - // "POMEROY" - Aka Trusted Contacts - // "LOUPE" - Aka Camera by Google Photos - // "PEOPLE_PLAYGROUND" - See go/people-playground-design. - // "NEWS_360" - Also mdb/social-magazines - // "DUO" - Aka Taychon - // "MEET" - Aka Google Meet - App string `json:"app,omitempty"` - ByteValue string `json:"byteValue,omitempty"` - // ForceSendFields is a list of field names (e.g. "App") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. +// GoogleCloudContentwarehouseV1RunPipelineMetadata: Metadata message of +// RunPipeline method. +type GoogleCloudContentwarehouseV1RunPipelineMetadata struct { + // ExportToCdwPipelineMetadata: The pipeline metadata for Export-to-CDW + // pipeline. + ExportToCdwPipelineMetadata *GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata `json:"exportToCdwPipelineMetadata,omitempty"` + // FailedFileCount: Number of files that have failed at some point in the + // pipeline. + FailedFileCount int64 `json:"failedFileCount,omitempty"` + // GcsIngestPipelineMetadata: The pipeline metadata for GcsIngest pipeline. + GcsIngestPipelineMetadata *GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata `json:"gcsIngestPipelineMetadata,omitempty"` + // IndividualDocumentStatuses: The list of response details of each document. + IndividualDocumentStatuses []*GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus `json:"individualDocumentStatuses,omitempty"` + // ProcessWithDocAiPipelineMetadata: The pipeline metadata for + // Process-with-DocAi pipeline. + ProcessWithDocAiPipelineMetadata *GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata `json:"processWithDocAiPipelineMetadata,omitempty"` + // TotalFileCount: Number of files that were processed by the pipeline. + TotalFileCount int64 `json:"totalFileCount,omitempty"` + // UserInfo: User unique identification and groups information. + UserInfo *GoogleCloudContentwarehouseV1UserInfo `json:"userInfo,omitempty"` + // ForceSendFields is a list of field names (e.g. + // "ExportToCdwPipelineMetadata") to unconditionally include in API requests. + // By default, fields with empty or default values are omitted from API + // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields + // for more details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "App") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "ExportToCdwPipelineMetadata") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetClientData +func (s *GoogleCloudContentwarehouseV1RunPipelineMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1RunPipelineMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingField: -// Info for identifying the specific field in this person that lets the -// requester send them notifications. These are typically fields added to a -// contact (e.g., email). There will not always be in originating field, -// typically in the case that whatever permits the requester to see this target -// info is not something that can be used on its own for contacting this -// person. -type AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingField struct { - // FieldIndex: The index of the relevant field in the merged person - FieldIndex int64 `json:"fieldIndex,omitempty"` - // Possible values: - // "UNKNOWN_FIELD_TYPE" - // "PHONE" - // "EMAIL" - FieldType string `json:"fieldType,omitempty"` - // Value: The value of the origin field - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "FieldIndex") to +// GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata: +// The metadata message for Export-to-CDW pipeline. +type GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata struct { + // DocAiDataset: The output CDW dataset resource name. + DocAiDataset string `json:"docAiDataset,omitempty"` + // Documents: The input list of all the resource names of the documents to be + // exported. + Documents []string `json:"documents,omitempty"` + // OutputPath: The output Cloud Storage folder in this pipeline. + OutputPath string `json:"outputPath,omitempty"` + // ForceSendFields is a list of field names (e.g. "DocAiDataset") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FieldIndex") to include in API + // NullFields is a list of field names (e.g. "DocAiDataset") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingField) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiInAppNotificationTargetOriginatingField +func (s *GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiInAppReachability: This is deprecated in -// PEOPLE_API/SHARPEN, and should only be used for PROFILES. Clients should use -// InAppNotificationTarget field instead. Which apps the person has indicated -// they are reachable at for the requester. See go/d13y and -// com.google.focus.proto.InAppReachability. -type AppsPeopleOzExternalMergedpeopleapiInAppReachability struct { - // Possible values: - // "UNKNOWN" - should never be stored in practice - // "BABEL" - aka Hangouts - // "YOUTUBE" - aka Reactr - // "WHOS_DOWN" - aka Who's Down? - // "YOUTUBE_MANGO" - aka YouTube for Emerging Markets - // "PHOTOS" - aka Google Photos - // "KABOO" - aka PAISA - // "COMMERCE_PLATFORM" - aka Naksha - // "SPACES" - // "GOOGLE_ASSISTANT" - // "PEOPLE_PLAYGROUND" - See go/people-playground-design. - // "MAPS" - Aka Google Map - // "LOUPE_UNUSED" - This field is deprecated. - // "POMEROY" - aka Trusted Contacts - // "LOUPE" - Aka Camera by Google Photos - // "NEWS_360" - Also mdb/social-magazines - // "DUO" - aka Taychon - // "MEET" - Aka Google Meet - AppType string `json:"appType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - ReachabilityKey *AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey `json:"reachabilityKey,omitempty"` - // Possible values: - // "UNKNOWN_REACHABLE_STATUS" - // "REACHABLE" - // "NOT_REACHABLE" - Status string `json:"status,omitempty"` - // ForceSendFields is a list of field names (e.g. "AppType") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata: +// The metadata message for GcsIngest pipeline. +type GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata struct { + // InputPath: The input Cloud Storage folder in this pipeline. Format: + // `gs:///`. + InputPath string `json:"inputPath,omitempty"` + // ForceSendFields is a list of field names (e.g. "InputPath") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AppType") to include in API + // NullFields is a list of field names (e.g. "InputPath") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiInAppReachability) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiInAppReachability +func (s *GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey: -// Information pertaining to how this reachable state was established. -type AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey struct { - // Possible values: - // "UNKNOWN_KEY_TYPE" - // "PHONE" - // "OBFUSCATED_GAIA_ID" - KeyType string `json:"keyType,omitempty"` - // KeyValue: The value of the key by which the user said they may be reachable. - // E.g., the phone number. - KeyValue string `json:"keyValue,omitempty"` - // ForceSendFields is a list of field names (e.g. "KeyType") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus: +// The status of processing a document. +type GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus struct { + // DocumentId: Document identifier of an existing document. + DocumentId string `json:"documentId,omitempty"` + // Status: The status processing the document. + Status *GoogleRpcStatus `json:"status,omitempty"` + // ForceSendFields is a list of field names (e.g. "DocumentId") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "KeyType") to include in API + // NullFields is a list of field names (e.g. "DocumentId") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiInAppReachabilityReachabilityKey +func (s *GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiInteractionSettings: Defines interactions -// that are allowed or disallowed with this person. -type AppsPeopleOzExternalMergedpeopleapiInteractionSettings struct { - Allowed bool `json:"allowed,omitempty"` - // Possible values: - // "UNKNOWN" - // "INCOMING_CIRCLE_MEMBERSHIP" - // "INCOMING_SOCIAL_EDGE" - // "INVITE_TO_EMAIL" - Interaction string `json:"interaction,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "Allowed") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetad +// ata: The metadata message for Process-with-DocAi pipeline. +type GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata struct { + // Documents: The input list of all the resource names of the documents to be + // processed. + Documents []string `json:"documents,omitempty"` + // ProcessorInfo: The DocAI processor to process the documents with. + ProcessorInfo *GoogleCloudContentwarehouseV1ProcessorInfo `json:"processorInfo,omitempty"` + // ForceSendFields is a list of field names (e.g. "Documents") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Allowed") to include in API + // NullFields is a list of field names (e.g. "Documents") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiInteractionSettings) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiInteractionSettings +func (s *GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiInterest struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to +// GoogleCloudContentwarehouseV1RunPipelineRequest: Request message for +// DocumentService.RunPipeline. +type GoogleCloudContentwarehouseV1RunPipelineRequest struct { + // ExportCdwPipeline: Export docuemnts from Document Warehouse to CDW for + // training purpose. + ExportCdwPipeline *GoogleCloudContentwarehouseV1ExportToCdwPipeline `json:"exportCdwPipeline,omitempty"` + // GcsIngestPipeline: Cloud Storage ingestion pipeline. + GcsIngestPipeline *GoogleCloudContentwarehouseV1GcsIngestPipeline `json:"gcsIngestPipeline,omitempty"` + // GcsIngestWithDocAiProcessorsPipeline: Use DocAI processors to process + // documents in Cloud Storage and ingest them to Document Warehouse. + GcsIngestWithDocAiProcessorsPipeline *GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline `json:"gcsIngestWithDocAiProcessorsPipeline,omitempty"` + // ProcessWithDocAiPipeline: Use a DocAI processor to process documents in + // Document Warehouse, and re-ingest the updated results into Document + // Warehouse. + ProcessWithDocAiPipeline *GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline `json:"processWithDocAiPipeline,omitempty"` + // RequestMetadata: The meta information collected about the end user, used to + // enforce access control for the service. + RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` + // ForceSendFields is a list of field names (e.g. "ExportCdwPipeline") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "ExportCdwPipeline") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiInterest) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiInterest +func (s *GoogleCloudContentwarehouseV1RunPipelineRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1RunPipelineRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiLanguage: The value can either by a -// language code conforming to the IETF BCP 47 specification or a custom -// freeform value. By default the returned value is proxied from FBS -// Profile.Language. If `include_account_locale` is set on the -// `MergePersonSourceOptions` the language from go/uls is preferred and -// returned as primary along with a secondary language from FBS. -type AppsPeopleOzExternalMergedpeopleapiLanguage struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to +// GoogleCloudContentwarehouseV1SearchDocumentsRequest: Request message for +// DocumentService.SearchDocuments. +type GoogleCloudContentwarehouseV1SearchDocumentsRequest struct { + // DocumentQuery: Query used to search against documents (keyword, filters, + // etc.). + DocumentQuery *GoogleCloudContentwarehouseV1DocumentQuery `json:"documentQuery,omitempty"` + // HistogramQueries: An expression specifying a histogram request against + // matching documents. Expression syntax is an aggregation function call with + // histogram facets and other options. The following aggregation functions are + // supported: * `count(string_histogram_facet)`: Count the number of matching + // entities for each distinct attribute value. Data types: * Histogram facet + // (aka filterable properties): Facet names with format .. + // Facets will have the format of: `a-zA-Z`. If the facet is a child facet, + // then the parent hierarchy needs to be specified separated by dots in the + // prefix after the schema id. Thus, the format for a multi- level facet is: + // .. . Example: + // schema123.root_parent_facet.middle_facet.child_facet * DocumentSchemaId: + // (with no schema id prefix) to get histograms for each document type (returns + // the schema id path, e.g. + // projects/12345/locations/us-west/documentSchemas/abc123). Example + // expression: * Document type counts: count('DocumentSchemaId') * For schema + // id, abc123, get the counts for MORTGAGE_TYPE: count('abc123.MORTGAGE_TYPE') + HistogramQueries []*GoogleCloudContentwarehouseV1HistogramQuery `json:"histogramQueries,omitempty"` + // Offset: An integer that specifies the current offset (that is, starting + // result location, amongst the documents deemed by the API as relevant) in + // search results. This field is only considered if page_token is unset. The + // maximum allowed value is 5000. Otherwise an error is thrown. For example, 0 + // means to return results starting from the first matching document, and 10 + // means to return from the 11th document. This can be used for pagination, + // (for example, pageSize = 10 and offset = 10 means to return from the second + // page). + Offset int64 `json:"offset,omitempty"` + // OrderBy: The criteria determining how search results are sorted. For + // non-empty query, default is "relevance desc". For empty query, default is + // "upload_date desc". Supported options are: * "relevance desc": By + // relevance descending, as determined by the API algorithms. * "upload_date + // desc": By upload date descending. * "upload_date": By upload date + // ascending. * "update_date desc": By last updated date descending. * + // "update_date": By last updated date ascending. * "retrieval_importance + // desc": By retrieval importance of properties descending. This feature is + // still under development, please do not use unless otherwise instructed to do + // so. + OrderBy string `json:"orderBy,omitempty"` + // PageSize: A limit on the number of documents returned in the search results. + // Increasing this value above the default value of 10 can increase search + // response time. The value can be between 1 and 100. + PageSize int64 `json:"pageSize,omitempty"` + // PageToken: The token specifying the current offset within search results. + // See SearchDocumentsResponse.next_page_token for an explanation of how to + // obtain the next set of query results. + PageToken string `json:"pageToken,omitempty"` + // QaSizeLimit: Experimental, do not use. The limit on the number of documents + // returned for the question-answering feature. To enable the + // question-answering feature, set [DocumentQuery].is_nl_query to true. + QaSizeLimit int64 `json:"qaSizeLimit,omitempty"` + // RequestMetadata: The meta information collected about the end user, used to + // enforce access control and improve the search quality of the service. + RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` + // RequireTotalSize: Controls if the search document request requires the + // return of a total size of matched documents. See + // SearchDocumentsResponse.total_size. Enabling this flag may adversely impact + // performance. Hint: If this is used with pagination, set this flag on the + // initial query but set this to false on subsequent page calls (keep the total + // count locally). Defaults to false. + RequireTotalSize bool `json:"requireTotalSize,omitempty"` + // TotalResultSize: Controls if the search document request requires the return + // of a total size of matched documents. See + // SearchDocumentsResponse.total_size. + // + // Possible values: + // "TOTAL_RESULT_SIZE_UNSPECIFIED" - Total number calculation will be + // skipped. + // "ESTIMATED_SIZE" - Estimate total number. The total result size will be + // accurated up to 10,000. This option will add cost and latency to your + // request. + // "ACTUAL_SIZE" - It may adversely impact performance. The limit is + // 1000,000. + TotalResultSize string `json:"totalResultSize,omitempty"` + // ForceSendFields is a list of field names (e.g. "DocumentQuery") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API + // NullFields is a list of field names (e.g. "DocumentQuery") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiLanguage) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiLanguage +func (s *GoogleCloudContentwarehouseV1SearchDocumentsRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1SearchDocumentsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiLatLng struct { - Lat float64 `json:"lat,omitempty"` - Lng float64 `json:"lng,omitempty"` - // ForceSendFields is a list of field names (e.g. "Lat") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Lat") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiLatLng) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiLatLng - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *AppsPeopleOzExternalMergedpeopleapiLatLng) UnmarshalJSON(data []byte) error { - type NoMethod AppsPeopleOzExternalMergedpeopleapiLatLng - var s1 struct { - Lat gensupport.JSONFloat64 `json:"lat"` - Lng gensupport.JSONFloat64 `json:"lng"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Lat = float64(s1.Lat) - s.Lng = float64(s1.Lng) - return nil -} +// GoogleCloudContentwarehouseV1SearchDocumentsResponse: Response message for +// DocumentService.SearchDocuments. +type GoogleCloudContentwarehouseV1SearchDocumentsResponse struct { + // HistogramQueryResults: The histogram results that match with the specified + // SearchDocumentsRequest.histogram_queries. + HistogramQueryResults []*GoogleCloudContentwarehouseV1HistogramQueryResult `json:"histogramQueryResults,omitempty"` + // MatchingDocuments: The document entities that match the specified + // SearchDocumentsRequest. + MatchingDocuments []*GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument `json:"matchingDocuments,omitempty"` + // Metadata: Additional information for the API invocation, such as the request + // tracking id. + Metadata *GoogleCloudContentwarehouseV1ResponseMetadata `json:"metadata,omitempty"` + // NextPageToken: The token that specifies the starting position of the next + // page of results. This field is empty if there are no more results. + NextPageToken string `json:"nextPageToken,omitempty"` + // QuestionAnswer: Experimental. Question answer from the query against the + // document. + QuestionAnswer string `json:"questionAnswer,omitempty"` + // TotalSize: The total number of matched documents which is available only if + // the client set SearchDocumentsRequest.require_total_size to `true` or set + // SearchDocumentsRequest.total_result_size to `ESTIMATED_SIZE` or + // `ACTUAL_SIZE`. Otherwise, the value will be `-1`. Typically a UI would + // handle this condition by displaying "of many", for example: "Displaying 10 + // of many". + TotalSize int64 `json:"totalSize,omitempty"` -// AppsPeopleOzExternalMergedpeopleapiLegacyFields: Fields used in legacy -// applications. Useful for joining legacy and new data streams. Most -// applications should not care about these fields. -type AppsPeopleOzExternalMergedpeopleapiLegacyFields struct { - // MobileOwnerId: Mobile obfuscated gaia id. This is the same gaia id in - // metadata.owner_id, but obfuscated with the legacy mobile obfuscator. - MobileOwnerId string `json:"mobileOwnerId,omitempty"` - // ForceSendFields is a list of field names (e.g. "MobileOwnerId") to + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "HistogramQueryResults") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MobileOwnerId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "HistogramQueryResults") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiLegacyFields) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiLegacyFields +func (s *GoogleCloudContentwarehouseV1SearchDocumentsResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1SearchDocumentsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsField struct { - LimitedProfileSettings *SocialGraphApiProtoLimitedProfileSettings `json:"limitedProfileSettings,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "LimitedProfileSettings") to +// GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument: +// Document entry with metadata inside SearchDocumentsResponse +type GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument struct { + // Document: Document that matches the specified SearchDocumentsRequest. This + // document only contains indexed metadata information. + Document *GoogleCloudContentwarehouseV1Document `json:"document,omitempty"` + // MatchedTokenPageIndices: Return the 1-based page indices where those pages + // have one or more matched tokens. + MatchedTokenPageIndices googleapi.Int64s `json:"matchedTokenPageIndices,omitempty"` + // QaResult: Experimental. Additional result info if the question-answering + // feature is enabled. + QaResult *GoogleCloudContentwarehouseV1QAResult `json:"qaResult,omitempty"` + // SearchTextSnippet: Contains snippets of text from the document full raw text + // that most closely match a search query's keywords, if available. All HTML + // tags in the original fields are stripped when returned in this field, and + // matching query keywords are enclosed in HTML bold tags. If the + // question-answering feature is enabled, this field will instead contain a + // snippet that answers the user's natural-language query. No HTML bold tags + // will be present, and highlights in the answer snippet can be found in + // QAResult.highlights. + SearchTextSnippet string `json:"searchTextSnippet,omitempty"` + // ForceSendFields is a list of field names (e.g. "Document") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LimitedProfileSettings") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See + // NullFields is a list of field names (e.g. "Document") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsField) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsField +func (s *GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiLocation struct { - BuildingId string `json:"buildingId,omitempty"` - // BuildingName: The building_name field is only filled if the - // DESK_LOCATION_ADDITIONAL_DATA extension is active. - BuildingName string `json:"buildingName,omitempty"` - Current bool `json:"current,omitempty"` - // DeskCode: Most specific textual description of individual desk location. - DeskCode string `json:"deskCode,omitempty"` - FloorName string `json:"floorName,omitempty"` - FloorSection string `json:"floorSection,omitempty"` - // LastUpdateTime: Indicates the time this location was added or last edited. - LastUpdateTime string `json:"lastUpdateTime,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Source: Value indicates the origin of this location information. - // - // Possible values: - // "UNKNOWN" - // "EXPLICIT" - The location was directly set by the user or admin. - // "INFERRED" - The location was inferred from available signals (e.g. past - // rooms usage). - Source string `json:"source,omitempty"` - // Type: Describes the type of location. E.g. Grew_up, Desk. Corresponds to FBS - // backend.proto Location.StandardTag - Type string `json:"type,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "BuildingId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// GoogleCloudContentwarehouseV1SetAclRequest: Request message for +// DocumentService.SetAcl. +type GoogleCloudContentwarehouseV1SetAclRequest struct { + // Policy: Required. REQUIRED: The complete policy to be applied to the + // `resource`. The size of the policy is limited to a few 10s of KB. This + // refers to an Identity and Access (IAM) policy, which specifies access + // controls for the Document. You can set ACL with condition for projects only. + // Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left + // of the operator is `DocumentSchemaId` or property name and the right of the + // operator is a number or a quoted string. You must escape backslash (\\) and + // quote (\") characters. Boolean expressions (AND/OR) are supported up to 3 + // levels of nesting (for example, "((A AND B AND C) OR D) AND E"), a maximum + // of 10 comparisons are allowed in the expression. The expression must be < + // 6000 bytes in length. Sample condition: "DocumentSchemaId = \"some schema + // id\" OR SchemaId.floatPropertyName >= 10" + Policy *GoogleIamV1Policy `json:"policy,omitempty"` + // ProjectOwner: For Set Project ACL only. Authorization check for end user + // will be ignored when project_owner=true. + ProjectOwner bool `json:"projectOwner,omitempty"` + // RequestMetadata: The meta information collected about the end user, used to + // enforce access control for the service. + RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` + // ForceSendFields is a list of field names (e.g. "Policy") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BuildingId") to include in API + // NullFields is a list of field names (e.g. "Policy") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiLocation) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiLocation +func (s *GoogleCloudContentwarehouseV1SetAclRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1SetAclRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiManagementUpchain struct { - // IndirectManager: List of managers in the chain. If user has manager email - // "abc@google.com" and manager's manager has email "xyz@google.com" then the - // list will be: [0]: { email: "abc@google.com" } [1]: { email: - // "xyz@google.com" } - IndirectManager []*AppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager `json:"indirectManager,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Possible values: - // "UNKNOWN" - // "OK" - // "PARTIAL" - An error occurred while retrieving next manager so resulting - // management upchain is partial up to manager that was not retrieved. - // "LOOP" - A loop was found in management upchain so resulting upchain - // contains all managers retrieved in first iteration of the loop. - Status string `json:"status,omitempty"` - // ForceSendFields is a list of field names (e.g. "IndirectManager") to +// GoogleCloudContentwarehouseV1SetAclResponse: Response message for +// DocumentService.SetAcl. +type GoogleCloudContentwarehouseV1SetAclResponse struct { + // Metadata: Additional information for the API invocation, such as the request + // tracking id. + Metadata *GoogleCloudContentwarehouseV1ResponseMetadata `json:"metadata,omitempty"` + // Policy: The policy will be attached to a resource (e.g. projecct, document). + Policy *GoogleIamV1Policy `json:"policy,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Metadata") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IndirectManager") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "Metadata") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiManagementUpchain) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiManagementUpchain +func (s *GoogleCloudContentwarehouseV1SetAclResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1SetAclResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager struct { - Email string `json:"email,omitempty"` - PersonId string `json:"personId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Email") to unconditionally +// GoogleCloudContentwarehouseV1SynonymSet: Represents a list of synonyms for a +// given context. For example a context "sales" could contain: Synonym 1: sale, +// invoice, bill, order Synonym 2: money, credit, finance, payment Synonym 3: +// shipping, freight, transport Each SynonymSets should be disjoint +type GoogleCloudContentwarehouseV1SynonymSet struct { + // Context: This is a freeform field. Example contexts can be "sales," + // "engineering," "real estate," "accounting," etc. The context can be supplied + // during search requests. + Context string `json:"context,omitempty"` + // Name: The resource name of the SynonymSet This is mandatory for + // google.api.resource. Format: + // projects/{project_number}/locations/{location}/synonymSets/{context}. + Name string `json:"name,omitempty"` + // Synonyms: List of Synonyms for the context. + Synonyms []*GoogleCloudContentwarehouseV1SynonymSetSynonym `json:"synonyms,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Context") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Email") to include in API + // NullFields is a list of field names (e.g. "Context") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiManagementUpchainIndirectManager +func (s *GoogleCloudContentwarehouseV1SynonymSet) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1SynonymSet return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiMapsExtendedData: Extension data for use -// in Maps Product Profile. -type AppsPeopleOzExternalMergedpeopleapiMapsExtendedData struct { - // Failure: Failure type if there is an error when fetching product profile - // data. - Failure *AppsPeopleOzExternalMergedpeopleapiProductProfileFailure `json:"failure,omitempty"` - // FolloweeCount: Number of people the user is following. - FolloweeCount int64 `json:"followeeCount,omitempty,string"` - // FollowerCount: Number of people who are following the user. - FollowerCount int64 `json:"followerCount,omitempty"` - // NumContributions: Sum of creators contributions i.e. reviews, rating, - // questions, etc. - NumContributions int64 `json:"numContributions,omitempty,string"` - // ProfilePhotoUrl: The user's profile photo that might have a badge rendered - // at the corner if the user is eligible for a badge. - ProfilePhotoUrl string `json:"profilePhotoUrl,omitempty"` - // Tagline: A user's bio, or tagline. - Tagline string `json:"tagline,omitempty"` - // TopicExpertise: A topic that creator has expertise in. This will be in the - // format: emoji associated with the topic, display name of the topic, topic - // score - TopicExpertise []string `json:"topicExpertise,omitempty"` - // UserCaption: A user's caption displayed under the user name on their profile - // page i.e. 'Local Guide Level 8' - UserCaption string `json:"userCaption,omitempty"` - // ForceSendFields is a list of field names (e.g. "Failure") to unconditionally +// GoogleCloudContentwarehouseV1SynonymSetSynonym: Represents a list of words +// given by the customer All these words are synonyms of each other. +type GoogleCloudContentwarehouseV1SynonymSetSynonym struct { + // Words: For example: sale, invoice, bill, order + Words []string `json:"words,omitempty"` + // ForceSendFields is a list of field names (e.g. "Words") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Failure") to include in API + // NullFields is a list of field names (e.g. "Words") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiMapsExtendedData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiMapsExtendedData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AppsPeopleOzExternalMergedpeopleapiMapsProfile: Maps Profile Data. See -// go/product-profiles-backend-api. -type AppsPeopleOzExternalMergedpeopleapiMapsProfile struct { - FieldRestriction []*AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction `json:"fieldRestriction,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Tagline string `json:"tagline,omitempty"` - // WebsiteLink: A link to the profile owner's website to be displayed in - // profile. - WebsiteLink *AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLink `json:"websiteLink,omitempty"` - // ForceSendFields is a list of field names (e.g. "FieldRestriction") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FieldRestriction") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiMapsProfile) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiMapsProfile +func (s *GoogleCloudContentwarehouseV1SynonymSetSynonym) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1SynonymSetSynonym return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction struct { - // ClientData: Opaque data associated with this restriction e.g. abuse status. - ClientData string `json:"clientData,omitempty"` - // Possible values: - // "TYPE_UNSPECIFIED" - // "HIDE_TAGLINE" - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClientData") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// GoogleCloudContentwarehouseV1TextArray: String/text values. +type GoogleCloudContentwarehouseV1TextArray struct { + // Values: List of text values. + Values []string `json:"values,omitempty"` + // ForceSendFields is a list of field names (e.g. "Values") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ClientData") to include in API + // NullFields is a list of field names (e.g. "Values") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiMapsProfileFieldRestriction +func (s *GoogleCloudContentwarehouseV1TextArray) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1TextArray return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLink struct { - // AnchorText: Anchor text to be displayed as clickable link. If not present, - // the URL should be displayed directly. - AnchorText string `json:"anchorText,omitempty"` - // Url: The URL to be linked to. - Url string `json:"url,omitempty"` - // ForceSendFields is a list of field names (e.g. "AnchorText") to +// GoogleCloudContentwarehouseV1TextTypeOptions: Configurations for a text +// property. +type GoogleCloudContentwarehouseV1TextTypeOptions struct { +} + +// GoogleCloudContentwarehouseV1TimeFilter: Filter on create timestamp or +// update timestamp of documents. +type GoogleCloudContentwarehouseV1TimeFilter struct { + // TimeField: Specifies which time field to filter documents on. Defaults to + // TimeField.UPLOAD_TIME. + // + // Possible values: + // "TIME_FIELD_UNSPECIFIED" - Default value. + // "CREATE_TIME" - Earliest document create time. + // "UPDATE_TIME" - Latest document update time. + // "DISPOSITION_TIME" - Time when document becomes mutable again. + TimeField string `json:"timeField,omitempty"` + TimeRange *GoogleTypeInterval `json:"timeRange,omitempty"` + // ForceSendFields is a list of field names (e.g. "TimeField") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AnchorText") to include in API + // NullFields is a list of field names (e.g. "TimeField") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLink) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiMapsProfileUrlLink +func (s *GoogleCloudContentwarehouseV1TimeFilter) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1TimeFilter return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiMatchInfo: Represents the matching -// information for a field when there is a query. -type AppsPeopleOzExternalMergedpeopleapiMatchInfo struct { - // Match: The list of matches ordered by most relevant matching for - // autocomplete coming first. - Match []*AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch `json:"match,omitempty"` - // Query: The query token we are matching against. - Query string `json:"query,omitempty"` - // ForceSendFields is a list of field names (e.g. "Match") to unconditionally +// GoogleCloudContentwarehouseV1TimestampArray: Timestamp values. +type GoogleCloudContentwarehouseV1TimestampArray struct { + // Values: List of timestamp values. + Values []*GoogleCloudContentwarehouseV1TimestampValue `json:"values,omitempty"` + // ForceSendFields is a list of field names (e.g. "Values") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Match") to include in API + // NullFields is a list of field names (e.g. "Values") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiMatchInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiMatchInfo +func (s *GoogleCloudContentwarehouseV1TimestampArray) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1TimestampArray return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch: All the -// substring that were matched for the given query against the current field. -// Represents a substring of another string. -type AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch struct { - // EndIndex: Index right after the last character that matches the query. - // length = end-start, we have substring = [start, end). - EndIndex int64 `json:"endIndex,omitempty"` - // StartIndex: Index of the first unicode character that matches the query. - StartIndex int64 `json:"startIndex,omitempty"` - // ForceSendFields is a list of field names (e.g. "EndIndex") to +// GoogleCloudContentwarehouseV1TimestampTypeOptions: Configurations for a +// timestamp property. +type GoogleCloudContentwarehouseV1TimestampTypeOptions struct { +} + +// GoogleCloudContentwarehouseV1TimestampValue: Timestamp value type. +type GoogleCloudContentwarehouseV1TimestampValue struct { + // TextValue: The string must represent a valid instant in UTC and is parsed + // using java.time.format.DateTimeFormatter.ISO_INSTANT. e.g. + // "2013-09-29T18:46:19Z" + TextValue string `json:"textValue,omitempty"` + // TimestampValue: Timestamp value + TimestampValue string `json:"timestampValue,omitempty"` + // ForceSendFields is a list of field names (e.g. "TextValue") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EndIndex") to include in API + // NullFields is a list of field names (e.g. "TextValue") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiMatchInfoLookupTokenMatch +func (s *GoogleCloudContentwarehouseV1TimestampValue) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1TimestampValue return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiMembership: A membership that the person -// has. The person can be a member of multiple circles and multiple -// contact-groups. A circle membership is created by adding a person to a -// circle by person-id or by email. A contact-group membership is created by -// adding a contact to a contact-group. -type AppsPeopleOzExternalMergedpeopleapiMembership struct { - // CircleId: A circle that the person belongs to. - CircleId string `json:"circleId,omitempty"` - // ContactGroupId: A contact-group that the person belong to. The id can be - // either a hex-formatted id or a camel-cased SystemContactGroup predefined - // group name. The id will be predefined group name iff the - // system_contact_group_id has a value. - ContactGroupId string `json:"contactGroupId,omitempty"` - // Metadata: The metadata field can be used to determine which container - // generated the membership. For example, when the membership has a - // contact_group_id, the metadata.container will be CONTACT and the - // container_id will be the contact Id. - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // SystemContactGroupId: The membership has a contact_group_id, this field will - // be populated when the membership is in a system-reserved contact-group. - // - // Possible values: - // "UNKNOWN" - // "MY_CONTACTS" - // "STARRED" - // "FRIENDS" - // "FAMILY" - // "COWORKERS" - SystemContactGroupId string `json:"systemContactGroupId,omitempty"` - // ForceSendFields is a list of field names (e.g. "CircleId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CircleId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiMembership) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiMembership - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +// GoogleCloudContentwarehouseV1UpdateDocumentMetadata: Metadata object for +// UpdateDocument request (currently empty). +type GoogleCloudContentwarehouseV1UpdateDocumentMetadata struct { } -type AppsPeopleOzExternalMergedpeopleapiMission struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to +// GoogleCloudContentwarehouseV1UpdateDocumentRequest: Request message for +// DocumentService.UpdateDocument. +type GoogleCloudContentwarehouseV1UpdateDocumentRequest struct { + // CloudAiDocumentOption: Request Option for processing Cloud AI Document in + // Document Warehouse. This field offers limited support for mapping entities + // from Cloud AI Document to Warehouse Document. Please consult with product + // team before using this field and other available options. + CloudAiDocumentOption *GoogleCloudContentwarehouseV1CloudAIDocumentOption `json:"cloudAiDocumentOption,omitempty"` + // Document: Required. The document to update. + Document *GoogleCloudContentwarehouseV1Document `json:"document,omitempty"` + // RequestMetadata: The meta information collected about the end user, used to + // enforce access control for the service. + RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` + // UpdateOptions: Options for the update operation. + UpdateOptions *GoogleCloudContentwarehouseV1UpdateOptions `json:"updateOptions,omitempty"` + // ForceSendFields is a list of field names (e.g. "CloudAiDocumentOption") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "CloudAiDocumentOption") to + // include in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiMission) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiMission +func (s *GoogleCloudContentwarehouseV1UpdateDocumentRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1UpdateDocumentRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiName: See go/people-api-howto:names for -// an overview of name usage in PeopleAPI. The `unstructured_name` field -// contains a free form name value. The `given_name`, `middle_name`, -// `family_name`, etc, fields contain the structured name. For CONTACT mutates, -// (i.e. when Name.metadata.container is CONTACT), it is recommended for -// clients to set either the `unstructured_name` or the set of structured name -// fields, not both. * When only the `unstructured_name` is set, it is parsed -// to produce a best-guess set of structured name values for the `given_name`, -// `family_name`, etc. * When only the structured name fields are set, the -// various values are combined to produce an `unstructured_name`. * When both -// are set, the `unstructured_name` is saved as-is and the structured name -// fields are saved as-is. This may be confusing as they might not "match". For -// PROFILE mutates, (i.e. when Name.metadata.container is PROFILE), it is -// _required_ for clients to use the structured name fields as the unstructured -// field value is ignored on write. The unstructured name fields are generated -// for convenience on read. For DEVICE_CONTACTS, see b/156020778. -type AppsPeopleOzExternalMergedpeopleapiName struct { - // DisplayName: Read-only. A name synthesized based on `unstructured_name` and - // the structured name fields. Example: "John Smith" If a language code is - // passed in the side channel using - // http://cs/symbol:framework.rpc.DeprecatedPropagatedLanguageCode.value or - // http://cs/symbol:google.rpc.context.OriginContext.accept_language and the - // name does not have `honorific_prefix`, `middle_name`, or `honorific_suffix` - // set, the language code will be used to format `display_name`. If - // `include_account_locale` is set on the `MergePersonSourceOptions` and a - // language code is not passed in the side channel. The language code from - // go/uls will be used as the language code for formatting `display_name`. - DisplayName string `json:"displayName,omitempty"` - // DisplayNameLastFirst: Read-only. A name synthesized based on - // `unstructured_name` and the structured name fields with the last name first. - // Example: "Smith, John" - DisplayNameLastFirst string `json:"displayNameLastFirst,omitempty"` - // DisplayNameSource: Read-only. The source of the display name. - DisplayNameSource *SocialGraphApiProtoDisplayNameSource `json:"displayNameSource,omitempty"` - FamilyName string `json:"familyName,omitempty"` - // FormattedName: DEPRECATED(b/70571931). Use `unstructured_name` instead. - FormattedName string `json:"formattedName,omitempty"` - GivenName string `json:"givenName,omitempty"` - HonorificPrefix string `json:"honorificPrefix,omitempty"` - HonorificSuffix string `json:"honorificSuffix,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - MiddleName string `json:"middleName,omitempty"` - // Pronunciations: This field is stored in contact annotations and merged at - // read-time. It is available with CONTACT_ANNOTATION container type at read - // time. - Pronunciations *SocialGraphApiProtoPronunciations `json:"pronunciations,omitempty"` - // ShortDisplayName: NOTE: this is currently NOT IMPLEMENTED due to changed - // priorities. Clients usually rely on "first name" instead, when a short name - // is needed. Read-only. A possibly shorter version of the user's name. - The - // purpose of this field is to address the needs of UIs where a full display - // name might be too large to fit. Instead of relying on `first_name`, which - // might not be present, `short_display_name` is preferred. - This is only - // available for PROFILE and DOMAIN_PROFILE container types. - About the actual - // content in this field: will be the first name when it's visible to the - // requester, or the same as `display_name`, otherwise. A sample scenario where - // the first name may not be visible is when the limited profile is returned. - // For more info, see: http://shortn/_9iV7TJ33la - ShortDisplayName string `json:"shortDisplayName,omitempty"` - // UnstructuredName: The free form name value. For contact mutates it is - // recommended for clients to set either the `unstructured_name` or the set of - // structured name fields, not both. - UnstructuredName string `json:"unstructuredName,omitempty"` - YomiFamilyName string `json:"yomiFamilyName,omitempty"` - YomiFullName string `json:"yomiFullName,omitempty"` - YomiGivenName string `json:"yomiGivenName,omitempty"` - YomiHonorificPrefix string `json:"yomiHonorificPrefix,omitempty"` - YomiHonorificSuffix string `json:"yomiHonorificSuffix,omitempty"` - YomiMiddleName string `json:"yomiMiddleName,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiName) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiName - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} +// GoogleCloudContentwarehouseV1UpdateDocumentResponse: Response message for +// DocumentService.UpdateDocument. +type GoogleCloudContentwarehouseV1UpdateDocumentResponse struct { + // Document: Updated document after executing update request. + Document *GoogleCloudContentwarehouseV1Document `json:"document,omitempty"` + // Metadata: Additional information for the API invocation, such as the request + // tracking id. + Metadata *GoogleCloudContentwarehouseV1ResponseMetadata `json:"metadata,omitempty"` + // RuleEngineOutput: Output from Rule Engine recording the rule evaluator and + // action executor's output. Refer format in: + // google/cloud/contentwarehouse/v1/rule_engine.proto + RuleEngineOutput *GoogleCloudContentwarehouseV1RuleEngineOutput `json:"ruleEngineOutput,omitempty"` -// AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo: -// Pronunciation audio metadata info. See go/name-pronunciation-backend. The -// metadata itself tracks the state of a user's name pronunciation audio. -type AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // NamePronunciationAudioMetadata: Actual metadata proto, shared with FBS - // backends. - NamePronunciationAudioMetadata *SocialGraphApiProtoNamePronunciationAudioMetadata `json:"namePronunciationAudioMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Document") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API + // NullFields is a list of field names (e.g. "Document") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo +func (s *GoogleCloudContentwarehouseV1UpdateDocumentResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1UpdateDocumentResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiNickname struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Possible values: - // "NICKNAME_UNKNOWN" - // "DEFAULT" - // "OTHER_NAME" - Used in Profiles UI - // "MAIDEN_NAME" - // "SHORT_NAME" - // "INITIALS" - // "ALTERNATE_NAME" - The nickname or alternate name, incorporated into - // Display Name. - Type string `json:"type,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to +// GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest: Request message +// for DocumentSchemaService.UpdateDocumentSchema. +type GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest struct { + // DocumentSchema: Required. The document schema to update with. + DocumentSchema *GoogleCloudContentwarehouseV1DocumentSchema `json:"documentSchema,omitempty"` + // ForceSendFields is a list of field names (e.g. "DocumentSchema") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "DocumentSchema") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiNickname) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiNickname +func (s *GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiOccupation struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to +// GoogleCloudContentwarehouseV1UpdateOptions: Options for Update operations. +type GoogleCloudContentwarehouseV1UpdateOptions struct { + // MergeFieldsOptions: Options for merging. + MergeFieldsOptions *GoogleCloudContentwarehouseV1MergeFieldsOptions `json:"mergeFieldsOptions,omitempty"` + // UpdateMask: Field mask for merging Document fields. For the `FieldMask` + // definition, see + // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask + UpdateMask string `json:"updateMask,omitempty"` + // UpdateType: Type for update. + // + // Possible values: + // "UPDATE_TYPE_UNSPECIFIED" - Defaults to full replace behavior, ie. + // FULL_REPLACE. + // "UPDATE_TYPE_REPLACE" - Fully replace all the fields (including previously + // linked raw document). Any field masks will be ignored. + // "UPDATE_TYPE_MERGE" - Merge the fields into the existing entities. + // "UPDATE_TYPE_INSERT_PROPERTIES_BY_NAMES" - Inserts the properties by + // names. + // "UPDATE_TYPE_REPLACE_PROPERTIES_BY_NAMES" - Replace the properties by + // names. + // "UPDATE_TYPE_DELETE_PROPERTIES_BY_NAMES" - Delete the properties by names. + // "UPDATE_TYPE_MERGE_AND_REPLACE_OR_INSERT_PROPERTIES_BY_NAMES" - For each + // of the property, replaces the property if the it exists, otherwise inserts a + // new property. And for the rest of the fields, merge them based on update + // mask and merge fields options. + UpdateType string `json:"updateType,omitempty"` + // ForceSendFields is a list of field names (e.g. "MergeFieldsOptions") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "MergeFieldsOptions") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiOccupation) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiOccupation +func (s *GoogleCloudContentwarehouseV1UpdateOptions) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1UpdateOptions return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiOpeningHours: The periods that this place -// is open during the week. The periods are in chronological order, starting -// with today in the place-local timezone. An empty (but not absent) value -// indicates a place that is never open, e.g. because it is closed temporarily -// for renovations. -type AppsPeopleOzExternalMergedpeopleapiOpeningHours struct { - // OpenNow: Is this place open right now? Always present unless we lack - // time-of-day or timezone data for these opening hours. - OpenNow bool `json:"openNow,omitempty"` - Periods []*AppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod `json:"periods,omitempty"` - // WeekdayTexts: Localized strings describing the opening hours of this place, - // one string for each day of the week. Will be empty if the hours are unknown - // or could not be converted to localized text. Example: "Sun: 18:00-06:00" - WeekdayTexts []string `json:"weekdayTexts,omitempty"` - // ForceSendFields is a list of field names (e.g. "OpenNow") to unconditionally +// GoogleCloudContentwarehouseV1UpdateRuleSetRequest: Request message for +// RuleSetService.UpdateRuleSet. +type GoogleCloudContentwarehouseV1UpdateRuleSetRequest struct { + // RuleSet: Required. The rule set to update. + RuleSet *GoogleCloudContentwarehouseV1RuleSet `json:"ruleSet,omitempty"` + // ForceSendFields is a list of field names (e.g. "RuleSet") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OpenNow") to include in API + // NullFields is a list of field names (e.g. "RuleSet") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiOpeningHours) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiOpeningHours - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint struct { - // Day: A day of the week, as an integer in the range 0-6. 0 is Sunday, 1 is - // Monday, etc. - Day int64 `json:"day,omitempty"` - // Time: A time in 24-hour "hhmm" format (i.e. range is 0000 to 2359). - Time string `json:"time,omitempty"` - // ForceSendFields is a list of field names (e.g. "Day") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Day") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint +func (s *GoogleCloudContentwarehouseV1UpdateRuleSetRequest) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1UpdateRuleSetRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod struct { - Close *AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint `json:"close,omitempty"` - Open *AppsPeopleOzExternalMergedpeopleapiOpeningHoursEndpoint `json:"open,omitempty"` - // ForceSendFields is a list of field names (e.g. "Close") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// GoogleCloudContentwarehouseV1UserInfo: The user information. +type GoogleCloudContentwarehouseV1UserInfo struct { + // GroupIds: The unique group identifications which the user is belong to. The + // format is "group:yyyy@example.com"; + GroupIds []string `json:"groupIds,omitempty"` + // Id: A unique user identification string, as determined by the client. The + // maximum number of allowed characters is 255. Allowed characters include + // numbers 0 to 9, uppercase and lowercase letters, and restricted special + // symbols (:, @, +, -, _, ~) The format is "user:xxxx@example.com"; + Id string `json:"id,omitempty"` + // ForceSendFields is a list of field names (e.g. "GroupIds") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Close") to include in API + // NullFields is a list of field names (e.g. "GroupIds") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiOpeningHoursPeriod +func (s *GoogleCloudContentwarehouseV1UserInfo) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1UserInfo return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiOrganization struct { - Assignment []*AppsPeopleOzExternalMergedpeopleapiOrganizationAssignment `json:"assignment,omitempty"` - Certification string `json:"certification,omitempty"` - CostCenter string `json:"costCenter,omitempty"` - Current bool `json:"current,omitempty"` - Department string `json:"department,omitempty"` - Description string `json:"description,omitempty"` - Domain string `json:"domain,omitempty"` - // EndCalendarDay: Start and End Dates are better represented as calendar - // entities. The intention is to replace timestamps. Not set if no value - // exists. Clients can choose whether to use has* semantics or default value - // semantics. For writes, the default proto and an absent message are - // equivalent. Legacy callers in the - // legacy_timestamp_event_write_behavior_enabled capability allowlist should - // write to PeopleApi via end_ms and migrate to setting both so they can be - // removed from the whitelist. - EndCalendarDay *GoogleTypeDate `json:"endCalendarDay,omitempty"` - // EndMs: Clients are encouraged to read the end_calendar_day instead. - // PeopleApi writes will still use end_ms for legacy callers that are in the - // legacy_timestamp_event_write_behavior_enabled capability allowlist. New - // writers must use the calendar_day fields. - EndMs int64 `json:"endMs,omitempty,string"` - EndMsAsNumber int64 `json:"endMsAsNumber,omitempty,string"` - // FormattedStringType: The `string_type` translated and formatted in the - // request locale. See go/people-api-howto/localization for details on how to - // usage. - FormattedStringType string `json:"formattedStringType,omitempty"` - FteMilliPercent int64 `json:"fteMilliPercent,omitempty"` - Importance float64 `json:"importance,omitempty"` - Location string `json:"location,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Name string `json:"name,omitempty"` - Project []*AppsPeopleOzExternalMergedpeopleapiOrganizationProject `json:"project,omitempty"` - // StartCalendarDay: Start and End Dates are better represented as calendar - // entities. The intention is to replace timestamps. Not set if no value - // exists. Clients can choose whether to use has* semantics or default value - // semantics. For writes, the default proto and an absent message are - // equivalent. Legacy callers in the - // legacy_timestamp_event_write_behavior_enabled capability allowlist should - // write to PeopleApi via start_ms and migrate to setting both so they can be - // removed from the allowlist. - StartCalendarDay *GoogleTypeDate `json:"startCalendarDay,omitempty"` - // StartMs: Clients are encouraged to read the start_calendar_day instead. - // PeopleApi writes will still use start_ms for legacy callers that are in the - // legacy_timestamp_event_write_behavior_enabled capability allowlist. New - // writers must use the calendar_day fields. - StartMs int64 `json:"startMs,omitempty,string"` - StartMsAsNumber int64 `json:"startMsAsNumber,omitempty,string"` - // StringType: The type of the organization. The type can be free form or one - // of these predefined values: * `work` * `school` - StringType string `json:"stringType,omitempty"` - Symbol string `json:"symbol,omitempty"` - Title string `json:"title,omitempty"` - // Possible values: - // "UNKNOWN" - // "WORK" - // "SCHOOL" - // "DOMAIN_ONLY" - Used for domains inferred from verified email addresses. - // May be deprecated when/if we start mapping SCHOOL and WORK Names to Domain. - Type string `json:"type,omitempty"` - YomiName string `json:"yomiName,omitempty"` - // ForceSendFields is a list of field names (e.g. "Assignment") to +// GoogleCloudContentwarehouseV1Value: `Value` represents a dynamically typed +// value which can be either be a float, a integer, a string, or a datetime +// value. A producer of value is expected to set one of these variants. Absence +// of any variant indicates an error. +type GoogleCloudContentwarehouseV1Value struct { + // BooleanValue: Represents a boolean value. + BooleanValue bool `json:"booleanValue,omitempty"` + // DatetimeValue: Represents a datetime value. + DatetimeValue *GoogleTypeDateTime `json:"datetimeValue,omitempty"` + // EnumValue: Represents an enum value. + EnumValue *GoogleCloudContentwarehouseV1EnumValue `json:"enumValue,omitempty"` + // FloatValue: Represents a float value. + FloatValue float64 `json:"floatValue,omitempty"` + // IntValue: Represents a integer value. + IntValue int64 `json:"intValue,omitempty"` + // StringValue: Represents a string value. + StringValue string `json:"stringValue,omitempty"` + // TimestampValue: Represents a timestamp value. + TimestampValue *GoogleCloudContentwarehouseV1TimestampValue `json:"timestampValue,omitempty"` + // ForceSendFields is a list of field names (e.g. "BooleanValue") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Assignment") to include in API + // NullFields is a list of field names (e.g. "BooleanValue") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiOrganization) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiOrganization +func (s *GoogleCloudContentwarehouseV1Value) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1Value return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -func (s *AppsPeopleOzExternalMergedpeopleapiOrganization) UnmarshalJSON(data []byte) error { - type NoMethod AppsPeopleOzExternalMergedpeopleapiOrganization +func (s *GoogleCloudContentwarehouseV1Value) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudContentwarehouseV1Value var s1 struct { - Importance gensupport.JSONFloat64 `json:"importance"` + FloatValue gensupport.JSONFloat64 `json:"floatValue"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } - s.Importance = float64(s1.Importance) + s.FloatValue = float64(s1.FloatValue) return nil } -type AppsPeopleOzExternalMergedpeopleapiOrganizationAssignment struct { - Name string `json:"name,omitempty"` - Url string `json:"url,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiOrganizationAssignment) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiOrganizationAssignment - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AppsPeopleOzExternalMergedpeopleapiOrganizationProject struct { - Description string `json:"description,omitempty"` - Name string `json:"name,omitempty"` - Role string `json:"role,omitempty"` - // Type: Mapped from StandardProjectTag / CustomProjectTag - Type string `json:"type,omitempty"` - Url string `json:"url,omitempty"` - // ForceSendFields is a list of field names (e.g. "Description") to +// GoogleCloudContentwarehouseV1WeightedSchemaProperty: Specifies the schema +// property name. +type GoogleCloudContentwarehouseV1WeightedSchemaProperty struct { + // DocumentSchemaName: The document schema name. + DocumentSchemaName string `json:"documentSchemaName,omitempty"` + // PropertyNames: The property definition names in the schema. + PropertyNames []string `json:"propertyNames,omitempty"` + // ForceSendFields is a list of field names (e.g. "DocumentSchemaName") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Description") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "DocumentSchemaName") to include + // in API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiOrganizationProject) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiOrganizationProject +func (s *GoogleCloudContentwarehouseV1WeightedSchemaProperty) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1WeightedSchemaProperty return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiOtherKeyword struct { - // FormattedType: The `type` translated and formatted in the request locale. - // See go/people-api-howto/localization for details on how to usage. - FormattedType string `json:"formattedType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` +// GoogleCloudContentwarehouseV1beta1CreateDocumentMetadata: Metadata object +// for CreateDocument request (currently empty). +type GoogleCloudContentwarehouseV1beta1CreateDocumentMetadata struct { +} + +// GoogleCloudContentwarehouseV1beta1InitializeProjectResponse: Response +// message for projectService.InitializeProject +type GoogleCloudContentwarehouseV1beta1InitializeProjectResponse struct { + // Message: The message of the project initialization process. + Message string `json:"message,omitempty"` + // State: The state of the project initialization process. + // // Possible values: - // "SOURCE_UNKNOWN" - // "OUTLOOK" - Following field is added to support Outlook schema. This field - // is a general storage for Outlook string data that shall be encoded as: - // "name:" + value strings where name of the Outlook field cannot contain - // colons. Multiple Outlook fields shall be encoded as multiple Keywords. - // "CUSTOM" - Source string `json:"source,omitempty"` - // Type: The type of the event. The type depends on the `OtherKeyword.source`. - // `OUTLOOK` source fields must be one of: * `billing_information` * - // `directory_server` * `keyword` * `mileage` * `sensitivity` * `user` * - // `subject` All other fields are treated as a `CUSTOM` source field. The value - // can be free form or one of these predefined values: * `home` * `other` * - // `work` - Type string `json:"type,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "FormattedType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See + // "STATE_UNSPECIFIED" - Clients should never see this. + // "SUCCEEDED" - Finished project initialization without error. + // "FAILED" - Finished project initialization with an error. + // "CANCELLED" - Client canceled the LRO. + // "RUNNING" - Ask the customer to check the operation for results. + State string `json:"state,omitempty"` + // ForceSendFields is a list of field names (e.g. "Message") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FormattedType") to include in API + // NullFields is a list of field names (e.g. "Message") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiOtherKeyword) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiOtherKeyword +func (s *GoogleCloudContentwarehouseV1beta1InitializeProjectResponse) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudContentwarehouseV1beta1InitializeProjectResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiPerson: Merged-person combines multiple -// sources of data like contacts and profiles. See go/people-api and -// go/understanding-merged-person NOTE: Why are all the fields repeated? See -// go/people-api-concepts#repeated -type AppsPeopleOzExternalMergedpeopleapiPerson struct { - About []*AppsPeopleOzExternalMergedpeopleapiAbout `json:"about,omitempty"` - Address []*AppsPeopleOzExternalMergedpeopleapiAddress `json:"address,omitempty"` - // AgeRange: Deprecated. If age is needed use `person.age_range_repeated` - // instead. Please see go/people-api-howto:age on how to correctly get age - // data. - // - // Possible values: - // "UNKNOWN" - // "LESS_THAN_EIGHTEEN" - // "TWENTY_ONE_OR_OLDER" - // "EIGHTEEN_TO_TWENTY" - AgeRange string `json:"ageRange,omitempty"` - // AgeRangeRepeated: Data on the person's age range, adult status, and age of - // consent. NOTE: Please read go/people-api-howto:age on how to correctly get - // age data. - AgeRangeRepeated []*AppsPeopleOzExternalMergedpeopleapiAgeRangeType `json:"ageRangeRepeated,omitempty"` - Birthday []*AppsPeopleOzExternalMergedpeopleapiBirthday `json:"birthday,omitempty"` - // BraggingRights: Used only by contacts, no data will be returned for - // profiles. - BraggingRights []*AppsPeopleOzExternalMergedpeopleapiBraggingRights `json:"braggingRights,omitempty"` - // Calendar: b/145671020: Deprecated for Profiles, but not for Contacts. - Calendar []*AppsPeopleOzExternalMergedpeopleapiCalendar `json:"calendar,omitempty"` - CertifiedBornBefore []*AppsPeopleOzExternalMergedpeopleapiCertifiedBornBefore `json:"certifiedBornBefore,omitempty"` - // CircleMembership: DEPRECATED. No data is returned for this field anymore. - // See b/329513077. - CircleMembership []*AppsPeopleOzExternalMergedpeopleapiCircleMembership `json:"circleMembership,omitempty"` - ClientData []*AppsPeopleOzExternalMergedpeopleapiClientData `json:"clientData,omitempty"` - CommunicationEmail []*AppsPeopleOzExternalMergedpeopleapiCommunicationEmail `json:"communicationEmail,omitempty"` - // ConnectionReminder: Reminder to connect with a Contact (part of - // go/people-prompts). Also contains contact-level prompts settings. Each - // Contact can have a single `connection_reminder` (but can have multiple - // Prompts inside of it). Field is repeated per PeopleAPI data model - // go/people-api-concepts#repeated. Only supported for CONTACT container. - ConnectionReminder []*AppsPeopleOzExternalMergedpeopleapiConnectionReminder `json:"connectionReminder,omitempty"` - // ContactCreateContextInfo: ContactCreateContextInfo has a timestamp timestamp - // and additional metadata (e.g. the source of the creation) for when the - // contact was created. See also `ContactEditContextInfo`. - ContactCreateContextInfo []*AppsPeopleOzExternalMergedpeopleapiContactCreateContextInfo `json:"contactCreateContextInfo,omitempty"` - // ContactEditContextInfo: ContactEditContextInfo is a timestamp and additional - // metadata (e.g. the source of the edit) for the last 'human initiated edit'. - // See also `ContactCreateContextInfo`. - ContactEditContextInfo []*AppsPeopleOzExternalMergedpeopleapiContactEditContextInfo `json:"contactEditContextInfo,omitempty"` - // ContactGroupMembership: Contact groups that this person is a member of. - ContactGroupMembership []*AppsPeopleOzExternalMergedpeopleapiContactGroupMembership `json:"contactGroupMembership,omitempty"` - ContactPromptSettingsInfo []*AppsPeopleOzExternalMergedpeopleapiContactPromptSettingsInfo `json:"contactPromptSettingsInfo,omitempty"` - // ContactStateInfo: Contact state and related metadata. See - // go/fbs-contacts-trash. If this field was requested but is not set on the - // Person then the contact is in the DEFAULT contact state. This field is - // read-only, and should not be set on a mutate (e.g. UpdatePerson) call. - // Clients must call the explicit APIs (e.g. UntrashPerson) to change contact - // state. - ContactStateInfo []*AppsPeopleOzExternalMergedpeopleapiContactStateInfo `json:"contactStateInfo,omitempty"` - // CoverPhoto: DEPRECATED. Now always returns a default cover photo. See - // go/sunset-cover-photo. - CoverPhoto []*AppsPeopleOzExternalMergedpeopleapiCoverPhoto `json:"coverPhoto,omitempty"` - CustomSchemaField []*AppsPeopleOzExternalMergedpeopleapiCustomSchemaField `json:"customSchemaField,omitempty"` - Email []*AppsPeopleOzExternalMergedpeopleapiEmail `json:"email,omitempty"` - // EmergencyInfo: Emergency information. See - // go/emergency-trusted-contacts-papi. - EmergencyInfo []*AppsPeopleOzExternalMergedpeopleapiEmergencyInfo `json:"emergencyInfo,omitempty"` - // Event: Event is currently in use by contacts. - Event []*AppsPeopleOzExternalMergedpeopleapiEvent `json:"event,omitempty"` - // ExtendedData: Data added by extensions that are not specific to a particular - // field. - ExtendedData *AppsPeopleOzExternalMergedpeopleapiPersonExtendedData `json:"extendedData,omitempty"` - ExternalId []*AppsPeopleOzExternalMergedpeopleapiExternalId `json:"externalId,omitempty"` - FileAs []*AppsPeopleOzExternalMergedpeopleapiFileAs `json:"fileAs,omitempty"` - // Fingerprint: A fingerprint that can be used to reliably determine if a - // resource has changed. Externally it is used as part of the etag. - Fingerprint string `json:"fingerprint,omitempty"` - Gender []*AppsPeopleOzExternalMergedpeopleapiGender `json:"gender,omitempty"` - Im []*AppsPeopleOzExternalMergedpeopleapiIm `json:"im,omitempty"` - // InAppNotificationTarget: Ways to send in-app notifications to this person. - // See go/reachability. This field is read-only and ignored for mutates. - InAppNotificationTarget []*AppsPeopleOzExternalMergedpeopleapiInAppNotificationTarget `json:"inAppNotificationTarget,omitempty"` - // InAppReachability: Used only by profile service, deprecated for PeopleAPI - // and Sharpen. If you aren't sure, contact people-api-users@ and - // profile-service-eng@. - InAppReachability []*AppsPeopleOzExternalMergedpeopleapiInAppReachability `json:"inAppReachability,omitempty"` - // InteractionSettings: DEPRECATED. This field isn't populated in people.list. - InteractionSettings []*AppsPeopleOzExternalMergedpeopleapiInteractionSettings `json:"interactionSettings,omitempty"` - Interest []*AppsPeopleOzExternalMergedpeopleapiInterest `json:"interest,omitempty"` - Language []*AppsPeopleOzExternalMergedpeopleapiLanguage `json:"language,omitempty"` - // LegacyFields: DEPRECATED. This field was only for backwards compatibility - // with legacy GData callers, and should not be used by new clients. Legacy - // fields used for mobile clients. - LegacyFields *AppsPeopleOzExternalMergedpeopleapiLegacyFields `json:"legacyFields,omitempty"` - // LimitedProfileSettings: Settings for the limited profile. See - // go/limited-profiles-api. - LimitedProfileSettings []*AppsPeopleOzExternalMergedpeopleapiLimitedProfileSettingsField `json:"limitedProfileSettings,omitempty"` - // LinkedPerson: Other person resources linked indirectly by an edge. The full - // person or just the IDs may be populated depending on request parameters. We - // consider linked people distinct people, but they share information. Example: - // A contact with two outgoing edges. The two edges are considered separate, - // but linked people. - LinkedPerson []*AppsPeopleOzExternalMergedpeopleapiPerson `json:"linkedPerson,omitempty"` - Location []*AppsPeopleOzExternalMergedpeopleapiLocation `json:"location,omitempty"` - ManagementUpchain []*AppsPeopleOzExternalMergedpeopleapiManagementUpchain `json:"managementUpchain,omitempty"` - // MapsProfile: MapsProfile, see go/product-profiles-backend-api - MapsProfile []*AppsPeopleOzExternalMergedpeopleapiMapsProfile `json:"mapsProfile,omitempty"` - // Membership: DEPRECATED. Please use `circle_membership` or - // `contact_group_membership` instead. Contact-groups and circles that this - // person is a member of. - Membership []*AppsPeopleOzExternalMergedpeopleapiMembership `json:"membership,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonMetadata `json:"metadata,omitempty"` - Mission []*AppsPeopleOzExternalMergedpeopleapiMission `json:"mission,omitempty"` - // Name: See go/people-api-howto:names for details about names in PeopleAPI. - Name []*AppsPeopleOzExternalMergedpeopleapiName `json:"name,omitempty"` - // NamePronunciationAudioMetadataInfo: Metadata info for a user's name - // pronunciation audio. See go/name-pronunication-backend. - NamePronunciationAudioMetadataInfo []*AppsPeopleOzExternalMergedpeopleapiNamePronunciationAudioMetadataInfo `json:"namePronunciationAudioMetadataInfo,omitempty"` - Nickname []*AppsPeopleOzExternalMergedpeopleapiNickname `json:"nickname,omitempty"` - Occupation []*AppsPeopleOzExternalMergedpeopleapiOccupation `json:"occupation,omitempty"` - Organization []*AppsPeopleOzExternalMergedpeopleapiOrganization `json:"organization,omitempty"` - // OtherKeyword: Legacy arbitrary key value fields - OtherKeyword []*AppsPeopleOzExternalMergedpeopleapiOtherKeyword `json:"otherKeyword,omitempty"` - // PeopleInCommon: DEPRECATED. This feature was stubbed, but never implemented. - // This field will not be populated with any results. - PeopleInCommon []*AppsPeopleOzExternalMergedpeopleapiPerson `json:"peopleInCommon,omitempty"` - // PersonAttribute: In order to request this field, the client must set desired - // PersonAttributeKey in the dedicated RequestMask field `person_attribute`. - // Unlike other person fields, this field cannot be requested in the - // `include_field` field mask. - PersonAttribute []*AppsPeopleOzExternalMergedpeopleapiPersonAttribute `json:"personAttribute,omitempty"` - // PersonId: The ID of the person. This is determined by the backend, is - // unstable, and may not be the same as a user_id. Internally referred as - // 'personKey' to distinguish from the common PersonId pojo. See - // go/people-api-concepts#person-id - PersonId string `json:"personId,omitempty"` - Phone []*AppsPeopleOzExternalMergedpeopleapiPhone `json:"phone,omitempty"` - // Photo: See go/people-api-concepts/photos for usage details - Photo []*AppsPeopleOzExternalMergedpeopleapiPhoto `json:"photo,omitempty"` - // PlaceDetails: Data specific to places. Data which also applies to contacts - // and profiles such as name, phone, photo, etc. are returned in the - // corresponding Person fields. - PlaceDetails []*AppsPeopleOzExternalMergedpeopleapiPlaceDetails `json:"placeDetails,omitempty"` - // PlusPageInfo: DEPRECATED. Info about plus pages in the person. - PlusPageInfo []*AppsPeopleOzExternalMergedpeopleapiPlusPageInfo `json:"plusPageInfo,omitempty"` - PosixAccount []*AppsPeopleOzExternalMergedpeopleapiPosixAccount `json:"posixAccount,omitempty"` - // ProfileUrl: DEPRECATED. No data is returned for this field anymore. - // (go/people-api-concepts#repeated): Use person.profile_url_repeated instead. - // Access to this field is restricted to a set of legacy clients. This is a - // Google+-only field. See go/fbs-g+-deprecation. NOTE: `Person.profile_url` is - // only populated for profile-centric person. - ProfileUrl string `json:"profileUrl,omitempty"` - // ProfileUrlRepeated: DEPRECATED. No data is returned for this field anymore. - // This is a Google+-only field. See go/fbs-g+-deprecation. - ProfileUrlRepeated []*AppsPeopleOzExternalMergedpeopleapiProfileUrl `json:"profileUrlRepeated,omitempty"` - // Pronoun: Pronouns are not supported for consumer profiles. See - // go/pronouns-in-people-system-prd for more details. - Pronoun []*AppsPeopleOzExternalMergedpeopleapiPronoun `json:"pronoun,omitempty"` - // ReadOnlyProfileInfo: Information about the profiles that are a part of this - // Person. This is only applicable to PROFILE and DOMAIN_PROFILE containers. - ReadOnlyProfileInfo []*AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo `json:"readOnlyProfileInfo,omitempty"` - // Relation: See go/relation-vs-relationship for relation vs relationship - // explanation. - Relation []*AppsPeopleOzExternalMergedpeopleapiRelation `json:"relation,omitempty"` - // RelationshipInterest: DEPRECATED. No data is returned for this field - // anymore. - RelationshipInterest []*AppsPeopleOzExternalMergedpeopleapiRelationshipInterest `json:"relationshipInterest,omitempty"` - // RelationshipStatus: DEPRECATED. No data is returned for this field anymore. - RelationshipStatus []*AppsPeopleOzExternalMergedpeopleapiRelationshipStatus `json:"relationshipStatus,omitempty"` - RightOfPublicityState []*AppsPeopleOzExternalMergedpeopleapiRightOfPublicityState `json:"rightOfPublicityState,omitempty"` - // RosterDetails: Data specific to rosters (such as Google Groups and Chat - // Rooms). Data which also applies to contacts and profiles such as name, - // email, and photo, etc are returned in the corresponding Person fields. - RosterDetails []*AppsPeopleOzExternalMergedpeopleapiRosterDetails `json:"rosterDetails,omitempty"` - // SearchProfile: Profile for Janata and Search. go/janata-profile-in-sgbe - SearchProfile []*AppsPeopleOzExternalMergedpeopleapiSearchProfile `json:"searchProfile,omitempty"` - // SipAddress: SipAddress is currently in use by contacts. - SipAddress []*AppsPeopleOzExternalMergedpeopleapiSipAddress `json:"sipAddress,omitempty"` - Skills []*AppsPeopleOzExternalMergedpeopleapiSkills `json:"skills,omitempty"` - // SocialConnection: NOTE: this is used by go/starlight, but not actually used - // or returned in PeopleAPI. See b/27281119 for context. Please reach out to - // people-api-eng@ if you have questions. - SocialConnection []*AppsPeopleOzExternalMergedpeopleapiSocialConnection `json:"socialConnection,omitempty"` - SortKeys *AppsPeopleOzExternalMergedpeopleapiSortKeys `json:"sortKeys,omitempty"` - SshPublicKey []*AppsPeopleOzExternalMergedpeopleapiSshPublicKey `json:"sshPublicKey,omitempty"` - // Tagline: Only supported for PLACE container results, no data will be - // returned for profiles. - Tagline []*AppsPeopleOzExternalMergedpeopleapiTagline `json:"tagline,omitempty"` - // TeamsExtendedData: DEPRECATED. *UNSUPPORTED*. This field is never populated. - TeamsExtendedData *AppsPeopleOzExternalMergedpeopleapiTeamsExtendedData `json:"teamsExtendedData,omitempty"` - // UserDefined: UserDefined is currently in use by contacts. - UserDefined []*AppsPeopleOzExternalMergedpeopleapiUserDefined `json:"userDefined,omitempty"` - // VisibleToGuests: Add annotation_id and metadata (product_source) for visible - // to guests contacts go/visible-to-guests. - VisibleToGuests []*AppsPeopleOzExternalMergedpeopleapiVisibleToGuests `json:"visibleToGuests,omitempty"` - Website []*AppsPeopleOzExternalMergedpeopleapiWebsite `json:"website,omitempty"` - // ForceSendFields is a list of field names (e.g. "About") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "About") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiPerson) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPerson - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +// GoogleCloudContentwarehouseV1beta1UpdateDocumentMetadata: Metadata object +// for UpdateDocument request (currently empty). +type GoogleCloudContentwarehouseV1beta1UpdateDocumentMetadata struct { } -// AppsPeopleOzExternalMergedpeopleapiPersonAttribute: Client-specific binary -// blob stored with Person data. This differs from ClientData, which stores -// structured, key-value pairs. -type AppsPeopleOzExternalMergedpeopleapiPersonAttribute struct { - // Possible values: - // "PERSON_ATTRIBUTE_UNKNOWN" - // "REJECTED_CLEANUP_CARD_SUGGESTIONS" - The value field of a PersonAttribute - // object with this key will contain a byte serialized - // RejectedCleanupCardSuggestions proto, see http://shortn/_3KyFdhbZfW - AttributeKey string `json:"attributeKey,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "AttributeKey") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// GoogleCloudDocumentaiV1Barcode: Encodes the detailed information of a +// barcode. +type GoogleCloudDocumentaiV1Barcode struct { + // Format: Format of a barcode. The supported formats are: - `CODE_128`: Code + // 128 type. - `CODE_39`: Code 39 type. - `CODE_93`: Code 93 type. - `CODABAR`: + // Codabar type. - `DATA_MATRIX`: 2D Data Matrix type. - `ITF`: ITF type. - + // `EAN_13`: EAN-13 type. - `EAN_8`: EAN-8 type. - `QR_CODE`: 2D QR code type. + // - `UPC_A`: UPC-A type. - `UPC_E`: UPC-E type. - `PDF417`: PDF417 type. - + // `AZTEC`: 2D Aztec code type. - `DATABAR`: GS1 DataBar code type. + Format string `json:"format,omitempty"` + // RawValue: Raw value encoded in the barcode. For example: + // `'MEBKM:TITLE:Google;URL:https://www.google.com;;'`. + RawValue string `json:"rawValue,omitempty"` + // ValueFormat: Value format describes the format of the value that a barcode + // encodes. The supported formats are: - `CONTACT_INFO`: Contact information. - + // `EMAIL`: Email address. - `ISBN`: ISBN identifier. - `PHONE`: Phone number. + // - `PRODUCT`: Product. - `SMS`: SMS message. - `TEXT`: Text string. - `URL`: + // URL address. - `WIFI`: Wifi information. - `GEO`: Geo-localization. - + // `CALENDAR_EVENT`: Calendar event. - `DRIVER_LICENSE`: Driver's license. + ValueFormat string `json:"valueFormat,omitempty"` + // ForceSendFields is a list of field names (e.g. "Format") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AttributeKey") to include in API + // NullFields is a list of field names (e.g. "Format") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPersonAttribute) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPersonAttribute +func (s *GoogleCloudDocumentaiV1Barcode) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1Barcode return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiPersonExtendedData: Extension data for -// the whole person entity. -type AppsPeopleOzExternalMergedpeopleapiPersonExtendedData struct { - // AboutMeExtendedData: For use by AboutMe and SmartProfile clients. - AboutMeExtendedData *AppsPeopleOzExternalMergedpeopleapiAboutMeExtendedData `json:"aboutMeExtendedData,omitempty"` - // AppsWaldoExtendedData: For use with Apps Waldo Availability Data extension - AppsWaldoExtendedData *SocialGraphWireProtoPeopleapiExtensionAppsWaldoExtendedData `json:"appsWaldoExtendedData,omitempty"` - // CallerIdExtendedData: For use with caller ID extension - CallerIdExtendedData *AppsPeopleOzExternalMergedpeopleapiCallerIdExtendedData `json:"callerIdExtendedData,omitempty"` - // ContactsExtendedData: For use with Contacts extension. - ContactsExtendedData *AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedData `json:"contactsExtendedData,omitempty"` - // DomainName: Hosted domain this person is a member of. The domain_name is - // also returned as part of the person's ReadOnlyProfileInfo, so requesting it - // via this extension is no longer necessary. - DomainName []string `json:"domainName,omitempty"` - // DynamiteExtendedData: For use with Dynamite extension. - DynamiteExtendedData *SocialGraphWireProtoPeopleapiExtensionDynamiteExtendedData `json:"dynamiteExtendedData,omitempty"` - // GpayExtendedData: For use with Google Pay extension. - GpayExtendedData *AppsPeopleOzExternalMergedpeopleapiGPayExtendedData `json:"gpayExtendedData,omitempty"` - // GplusExtendedData: For use with Google+ extension. - GplusExtendedData *AppsPeopleOzExternalMergedpeopleapiGplusExtendedData `json:"gplusExtendedData,omitempty"` - // HangoutsExtendedData: For use with Hangouts extension. - HangoutsExtendedData *AppsPeopleOzExternalMergedpeopleapiHangoutsExtendedData `json:"hangoutsExtendedData,omitempty"` - // IsPlaceholder: For use with gmail extensions and lookup by email. If true, - // no person was actually found using the specified email address, but we want - // to return TLS info about the email address regardless. - IsPlaceholder bool `json:"isPlaceholder,omitempty"` - // MapsExtendedData: For use with Maps extension. - MapsExtendedData *AppsPeopleOzExternalMergedpeopleapiMapsExtendedData `json:"mapsExtendedData,omitempty"` - // PaisaExtendedData: For use with Paisa extension - PaisaExtendedData *SocialGraphWireProtoPeopleapiExtensionPaisaExtendedData `json:"paisaExtendedData,omitempty"` - // PeopleStackExtendedData: DEPRECATED: Use people_stack_person_extended_data - // instead. For use with PeopleStack extension. - PeopleStackExtendedData *SocialGraphWireProtoPeopleapiExtensionPeopleStackExtendedData `json:"peopleStackExtendedData,omitempty"` - // PeopleStackPersonExtendedData: For use with PeopleStack extension. - PeopleStackPersonExtendedData *SocialGraphWireProtoPeopleapiExtensionPeopleStackPersonExtendedData `json:"peopleStackPersonExtendedData,omitempty"` - // PlayGamesExtendedData: For use with Play Games Product Profile extension. - // See go/jam-games-profile. The play games profile will be returned only for - // profile-centric requests. - PlayGamesExtendedData *AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData `json:"playGamesExtendedData,omitempty"` - // TlsIsPlaceholder: For use with the TLS extension and lookup by email. If - // true, no person was actually found using the specified email address, but we - // want to return TLS info about the email address regardless. DEPRECATED: Use - // is_placeholder instead. - TlsIsPlaceholder bool `json:"tlsIsPlaceholder,omitempty"` - // YoutubeExtendedData: For use with Youtube extension. - YoutubeExtendedData *AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedData `json:"youtubeExtendedData,omitempty"` - // ForceSendFields is a list of field names (e.g. "AboutMeExtendedData") to +// GoogleCloudDocumentaiV1BoundingPoly: A bounding polygon for the detected +// image annotation. +type GoogleCloudDocumentaiV1BoundingPoly struct { + // NormalizedVertices: The bounding polygon normalized vertices. + NormalizedVertices []*GoogleCloudDocumentaiV1NormalizedVertex `json:"normalizedVertices,omitempty"` + // Vertices: The bounding polygon vertices. + Vertices []*GoogleCloudDocumentaiV1Vertex `json:"vertices,omitempty"` + // ForceSendFields is a list of field names (e.g. "NormalizedVertices") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AboutMeExtendedData") to include + // NullFields is a list of field names (e.g. "NormalizedVertices") to include // in API requests with the JSON null value. By default, fields with empty // values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPersonExtendedData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPersonExtendedData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata: Metadata for a -// single Person field. See go/understanding-merged-person -type AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata struct { - // AclChoices: When the container is PROFILE/DOMAIN_PROFILE and the profile - // owner is the requester, this read-only, synthesized field indicates which - // ACLs the user is allowed to set on the profile field. This is distinct from - // field_acl, which is the field's currently set ACL. field_acl will always be - // a valid ACL choice, except for the case of default synthesized profile - // fields like monogram profile photos. For those, field_acl does not represent - // a user-set field ACL, so it may or may not be a valid choice. In all cases, - // default_acl_choice will always be a valid choice. This is currently only - // populated on the photo field when the "person.photo.metadata.acl_choices" - // mask is set. - AclChoices []*AppsPeopleOzExternalMergedpeopleapiFieldAcl `json:"aclChoices,omitempty"` - // AdditionalContainerInfo: Additional information about the container of this - // field. - AdditionalContainerInfo *AppsPeopleOzExternalMergedpeopleapiAdditionalContainerInfo `json:"additionalContainerInfo,omitempty"` - // Affinity: For field-level affinity scores. The affinity between the - // requester and this particular field in the Person (e.g., frequency of - // calling a particular phone number). - Affinity []*AppsPeopleOzExternalMergedpeopleapiAffinity `json:"affinity,omitempty"` - // ContactVisibility: Each field can have different visibility settings Only - // returned when explicitly requested. - // - // Possible values: - // "CONTACT_VISIBILITY_UNSPECIFIED" - // "VISIBLE_TO_GUEST" - This can be set for annotation fields(e.g. nicknames, - // relationship) that the user wants to expose to other people in their - // household. Example use case: differentiate between speed dial nicknames, - // regular nicknames and relationships - ContactVisibility []string `json:"contactVisibility,omitempty"` - // Container: DEPRECATED. Use container_type instead. Having the Container be - // an enum at the PFM message level causes circular dependency when other types - // try to refer to it. It breaks javascript build targets. - // - // Possible values: - // "UNKNOWN" - // "PROFILE" - Google Profile. PROFILE fields are editable by the profile - // owner, unless the field metadata includes writeable=false. - // "CONTACT" - Google Contact - // "CIRCLE" - Circle membership of non-g+ user. - // "PLACE" - A maps place - // "ACCOUNT" - The requester's own Gaia account. ACCOUNT fields are not - // editable by anyone. They only occur when the requester is "me". In the event - // an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE - // field when viewed by a requester who is not "me". - // "EXTERNAL_ACCOUNT" - LinkedExternalSites (go/PeopleApiConnectedSites) - // "DOMAIN_PROFILE" - Google-For-Work Profile. DOMAIN_PROFILE fields are - // editable by the Dasher administrator of the domain. They are not editable by - // the profile owner. - // "DOMAIN_CONTACT" - Domain shared contact - // "DEVICE_CONTACT" - To be deprecated in favor of RAW_DEVICE_CONTACT See - // go/mergedperson-for-device-contacts Aggregation is represented using - // person.metadata.device_contact_info - // "GOOGLE_GROUP" - Google group. Examples: sales@zara.es. - // "AFFINITY" - Data from the user's frequent interactions. - // "RAW_DEVICE_CONTACT" - Data from a raw (non-aggregated) device contact. - // See go/mergedperson-for-device-contacts - // "CONTACT_ANNOTATION" - Data from contact annotation. Contact annotations - // are currently generated and used by Google Assistant. - // "DELEGATED_CONTACT" - Data from delegated contacts. Delegated contacts are - // the contacts delegated to the current requester. The requester can then - // access those contacts. See go/ph-delegation. - Container string `json:"container,omitempty"` - // ContainerId: DEPRECATED. Use encoded_container_id instead. The numeric id of - // the data source. The id is only unique within a single container type. This - // is only set when the id of the container is numeric, e.g. contact id. - ContainerId int64 `json:"containerId,omitempty,string"` - // ContainerPrimary: Indicates if this field is the primary field for the - // container and container_id. - ContainerPrimary bool `json:"containerPrimary,omitempty"` - // ContainerType: The source for the data in the field. - // - // Possible values: - // "UNKNOWN_CONTAINER" - // "PROFILE" - Google Profile. PROFILE fields are editable by the profile - // owner, unless the field metadata includes writeable=false. - // "CONTACT" - Google Contact - // "CIRCLE" - Deprecated. E-mail only circle membership should be dead. - // E-mail only circle membership of non-g+ user. - // "PLACE" - A maps place - // "ACCOUNT" - The requester's own Gaia account. ACCOUNT fields are not - // editable by anyone. They only occur when the requester is "me". In the event - // an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE - // field when viewed by a requester who is not "me". - // "EXTERNAL_ACCOUNT" - LinkedExternalSites (go/PeopleApiConnectedSites) - // "DOMAIN_PROFILE" - Google-For-Work Profile. DOMAIN_PROFILE fields are - // editable by the Dasher administrator of the domain. They are not editable by - // the profile owner. - // "DOMAIN_CONTACT" - Domain shared contact. An entity that is owned by a - // domain and represents a person, but is not a user in the domain. For more - // details see https://support.google.com/a/answer/9281635. - // "DEVICE_CONTACT" - To be deprecated in favor of RAW_DEVICE_CONTACT See - // go/mergedperson-for-device-contacts Aggregation is represented using - // person.metadata.device_contact_info - // "GOOGLE_GROUP" - Google group. Examples: sales@zara.es. - // "NAMED_CHAT_ROOM" - Dynamite "Named Flat Room" (NFR). This is a Baggins - // Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See - // go/people-api-concepts#chat-rooms - // "UNNAMED_CHAT_ROOM" - Dynamite "Unnamed Flat Room" (UFR). This is a - // Baggins Roster with label DYNAMITE_SPACE but does *not* have label - // DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms - // "AFFINITY" - Device contacts that are used in interaction ranking, but - // have not been uploaded to Google. These are synthesized people from - // interaction data. This container type is only used in ListRankedPeople and - // ListRankedTargets actions. See go/TopNWithClusteringPart1. - // "RAW_DEVICE_CONTACT" - Data from a raw (non-aggregated) device contact. - // See go/mergedperson-for-device-contacts - // "CONTACT_ANNOTATION" - Data from contact annotation. Contact annotations - // are currently generated and used by Google Assistant. - // "DELEGATED_CONTACT" - Data from delegated contacts. Delegated contacts are - // the contacts delegated to the current requester. The requester can then - // access those contacts. See go/ph-delegation. - ContainerType string `json:"containerType,omitempty"` - // CrossDeviceAllowed: True if this field can be used on other devices than the - // one it originated from. Assigned by the server. Currently only used for - // device contacts. - CrossDeviceAllowed bool `json:"crossDeviceAllowed,omitempty"` - // DefaultAclChoice: When the container is PROFILE/DOMAIN_PROFILE and the - // profile owner is the requester, this read-only, synthesized field contains - // the default ACL choice. This can be used to select a preferred choice from - // acl_choices. Generally, default_acl_choice should only be preferred for - // default synthesized profile fields like monogram profile photos. Otherwise, - // the existing field_acl should be preferred. This is currently only populated - // on the photo field when the "person.photo.metadata.acl_choices" mask is set. - DefaultAclChoice *AppsPeopleOzExternalMergedpeopleapiFieldAcl `json:"defaultAclChoice,omitempty"` - // DeprecatedContactContainerId: DEPRECATED. Use container_id. Not populated or - // used at all. - DeprecatedContactContainerId int64 `json:"deprecatedContactContainerId,omitempty,string"` - // EdgeKey: Field is an edge key for this person. Modifying it breaks the link - // between data sources. This is equivalent to edge_key_info having at least - // one entry with materialized = true. - EdgeKey bool `json:"edgeKey,omitempty"` - // EdgeKeyInfo: Edges that this field creates. This includes all edges and not - // necessarily just the edge relevant to the joined entities. - EdgeKeyInfo []*AppsPeopleOzExternalMergedpeopleapiEdgeKeyInfo `json:"edgeKeyInfo,omitempty"` - // EncodedContainerId: The encoded id of the data source. The id is only unique - // within a single container type. This field correlates to - // person.metadata.identity_info.source_id.id. This field may not be populated - // in some special cases, where the id is not visible to the querying user. - // e.g. ListAutocompletions with full phone number query. For value format, see - // google3/social/graph/api/proto/main_merged_person.proto?q=symbol:SourceIdenti - // ty.id - EncodedContainerId string `json:"encodedContainerId,omitempty"` - // FieldAcl: When the container is PROFILE and the profile owner is the - // requester, this field indicates how the profile field is accessible. - FieldAcl *AppsPeopleOzExternalMergedpeopleapiFieldAcl `json:"fieldAcl,omitempty"` - // LastUpdateTime: Indicates the time that the field was added or last edited. - // Currently this is populated for: (1) person.birthday with ContainerType - // PROFILE, DOMAIN_PROFILE or ACCOUNT. (2) person.name, person.address, - // person.relation, person.email and person.phone with ContainerType - // CONTACT_ANNOTATION; - LastUpdateTime string `json:"lastUpdateTime,omitempty"` - // MatchingInfo: The matching informations if there was a query against this - // field. - MatchingInfo []*AppsPeopleOzExternalMergedpeopleapiMatchInfo `json:"matchingInfo,omitempty"` - // OtherDedupedContainers: When deduping fields by value, list of containers of - // the fields that where deduped. - OtherDedupedContainers []*AppsPeopleOzExternalMergedpeopleapiDedupedContainerInfo `json:"otherDedupedContainers,omitempty"` - // Primary: If true, indicates this field is the Person's primary field eg. - // Contact, and (Profile) Person could have different Name fields, and the Name - // represented by the Person is primary. For selecting a primary field from - // RepeatedFields within a Person, use container_primary. - Primary bool `json:"primary,omitempty"` - // ProductMetadata: The product(s) that generated the data in this field. Empty - // is equivalent to DEFAULT. ST_USER_METADATA - ProductMetadata []*AppsPeopleOzExternalMergedpeopleapiProductMetadata `json:"productMetadata,omitempty"` - // Verified: Indicates whether this is a verified field. It is synthesized from - // verification and is read-only. If there is at least one verification with - // status PASSED, the field is considered verified. Currently this is - // applicable to address, email, name, and phone for PROFILE and - // DOMAIN_PROFILE. Use .metadata.verified in the request mask. - Verified bool `json:"verified,omitempty"` - // Visibility: Currently, only people.get may set this value - // - // Possible values: - // "VISIBILITY_UNKNOWN" - // "PUBLIC" - The field is visible to every user. - // "USER" - The field is visible to the requester. The server cannot provide - // additional indication beyond that. The field may or may not be also visible - // to users other than the requester. - Visibility string `json:"visibility,omitempty"` - // Writeable: Whether the field is writeable to the requester. - Writeable bool `json:"writeable,omitempty"` - // ForceSendFields is a list of field names (e.g. "AclChoices") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AclChoices") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata +func (s *GoogleCloudDocumentaiV1BoundingPoly) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1BoundingPoly return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber: A person list -// with total number specified. -type AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber struct { - People []*AppsPeopleOzExternalMergedpeopleapiPerson `json:"people,omitempty"` - // TotalNumber: The total number of people, which is aways no less than the - // size of the above list. - TotalNumber int64 `json:"totalNumber,omitempty"` - // ForceSendFields is a list of field names (e.g. "People") to unconditionally +// GoogleCloudDocumentaiV1Document: Document represents the canonical document +// resource in Document AI. It is an interchange format that provides insights +// into documents and allows for collaboration between users and Document AI to +// iterate and optimize for quality. +type GoogleCloudDocumentaiV1Document struct { + // Content: Optional. Inline document content, represented as a stream of + // bytes. Note: As with all `bytes` fields, protobuffers use a pure binary + // representation, whereas JSON representations use base64. + Content string `json:"content,omitempty"` + // Entities: A list of entities detected on Document.text. For document shards, + // entities in this list may cross shard boundaries. + Entities []*GoogleCloudDocumentaiV1DocumentEntity `json:"entities,omitempty"` + // EntityRelations: Placeholder. Relationship among Document.entities. + EntityRelations []*GoogleCloudDocumentaiV1DocumentEntityRelation `json:"entityRelations,omitempty"` + // Error: Any error that occurred while processing this document. + Error *GoogleRpcStatus `json:"error,omitempty"` + // MimeType: An IANA published media type (MIME type) + // (https://www.iana.org/assignments/media-types/media-types.xhtml). + MimeType string `json:"mimeType,omitempty"` + // Pages: Visual page layout for the Document. + Pages []*GoogleCloudDocumentaiV1DocumentPage `json:"pages,omitempty"` + // Revisions: Placeholder. Revision history of this document. + Revisions []*GoogleCloudDocumentaiV1DocumentRevision `json:"revisions,omitempty"` + // ShardInfo: Information about the sharding if this document is sharded part + // of a larger document. If the document is not sharded, this message is not + // specified. + ShardInfo *GoogleCloudDocumentaiV1DocumentShardInfo `json:"shardInfo,omitempty"` + // Text: Optional. UTF-8 encoded text in reading order from the document. + Text string `json:"text,omitempty"` + // TextChanges: Placeholder. A list of text corrections made to Document.text. + // This is usually used for annotating corrections to OCR mistakes. Text + // changes for a given revision may not overlap with each other. + TextChanges []*GoogleCloudDocumentaiV1DocumentTextChange `json:"textChanges,omitempty"` + // TextStyles: Styles for the Document.text. + TextStyles []*GoogleCloudDocumentaiV1DocumentStyle `json:"textStyles,omitempty"` + // Uri: Optional. Currently supports Google Cloud Storage URI of the form + // `gs://bucket_name/object_name`. Object versioning is not supported. For more + // information, refer to Google Cloud Storage Request URIs + // (https://cloud.google.com/storage/docs/reference-uris). + Uri string `json:"uri,omitempty"` + // ForceSendFields is a list of field names (e.g. "Content") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "People") to include in API + // NullFields is a list of field names (e.g. "Content") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber +func (s *GoogleCloudDocumentaiV1Document) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1Document return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiPersonMetadata: Metadata for the entire -// Person resource. -type AppsPeopleOzExternalMergedpeopleapiPersonMetadata struct { - // Affinity: Affinities associated with the person, with respect to the - // requester. - Affinity []*AppsPeopleOzExternalMergedpeopleapiAffinity `json:"affinity,omitempty"` - // Attribution: Populated when the data for the MergedPerson comes from a 3rd - // party provider or data source. Clients must display these attributions to - // the user if they are present. NOTE: This field is only relevant when - // requesting the following containers: - PLACE (data read from Maps) - Attribution []string `json:"attribution,omitempty"` - // BestDisplayName: The best name to use for this person for user-facing - // display. See go/people-api-howto:names for details about how this field is - // computed. In many cases this will simply be Person.name[0]. However, - // Person.name returns only explicit Name fields, but other fields maybe usable - // as a name (for example: nicknames, file_as, ...). `best_display_name` will - // be calculated from all fields in storage which are usable as a name, even - // fields which are not explicitly requested in the MergedPerson result. See - // go/javagoog/apps/tacotown/socialgraph/entity/PersonNameFormatter.java - BestDisplayName *AppsPeopleOzExternalMergedpeopleapiBestDisplayName `json:"bestDisplayName,omitempty"` - // BlockType: DEPRECATED. Indicates whether the profile owner has blocked this - // person. Please use `person.read_only_profile_info.block_type` instead. - // - // Possible values: - // "BLOCK_TYPE_UNKNOWN" - // "CIRCLE" - Profile-blocked users - // "LEGACY" - Chat-blocked users - BlockType []string `json:"blockType,omitempty"` - // CircleId: DEPRECATED. The circles the person belongs to. - CircleId []string `json:"circleId,omitempty"` - // ContactGroupId: DEPRECATED. Please use `person.contact_group_memberships` - // instead. The contact groups the person belongs to. - ContactGroupId []string `json:"contactGroupId,omitempty"` - // ContactId: The IDs of all contacts contributing to this person. - ContactId googleapi.Int64s `json:"contactId,omitempty"` - // CustomResponseMaskingType: DEPRECATED. Customized masking of the response - // similar to the legacy People2RequestMask People2Params request message. - // NOTE: This param is inherently client-specific, limited to specific legacy - // clients, and not open to new usage. NOTE: Effects may be applied to a subset - // of people in the response. - // - // Possible values: - // "UNKNOWN" - // "NONE" - No filtering of the response. - // "MENAGERIE" - Used by Menagerie to request menagerie-specific custom - // filtering or masking on the response. - CustomResponseMaskingType string `json:"customResponseMaskingType,omitempty"` - // Deleted: For sync requests (i.e., changed since the provided sync_token), - // indicates the resource is a tombstone for a Person resource that has been - // entirely deleted. - Deleted bool `json:"deleted,omitempty"` - // DeprecatedBlocked: DEPRECATED. Please use - // `person.read_only_profile_info.block_type` instead. - DeprecatedBlocked bool `json:"deprecatedBlocked,omitempty"` - // DeprecatedMembershipCircleId: DEPRECATED. This field is no longer populated - // or read. - DeprecatedMembershipCircleId googleapi.Int64s `json:"deprecatedMembershipCircleId,omitempty"` - // DeprecatedMembershipContactGroupId: DEPRECATED. This field is no longer - // populated or read. - DeprecatedMembershipContactGroupId googleapi.Int64s `json:"deprecatedMembershipContactGroupId,omitempty"` - // DeviceContactInfo: Info about the aggregated device contacts. When the - // person contains RAW_DEVICE_CONTACT containers, each DeviceContactInfo - // represents a single aggregate device contact made up of one or more raw - // device contacts. - DeviceContactInfo []*AppsPeopleOzExternalMergedpeopleapiDeviceContactInfo `json:"deviceContactInfo,omitempty"` - // IdentityInfo: Detailed metadata about the lookup IDs and data sources - // included in a MergedPerson result. - IdentityInfo *AppsPeopleOzExternalMergedpeopleapiIdentityInfo `json:"identityInfo,omitempty"` - // InViewerDomain: DEPRECATED. Indicates whether this person is in the same - // domain as the viewer. For proxying trust between two users based on - // organization membership, see: - go/flex-orgs-platform - - // go/flex-orgs-compliance-handbook (especially http://shortn/_ChwfAY36Ys) - InViewerDomain bool `json:"inViewerDomain,omitempty"` - // IncomingBlockType: DEPRECATED. Indicates whether this person is blocking the - // profile owner. Please use - // `person.read_only_profile_info.incoming_block_type` instead. - // - // Possible values: - // "BLOCK_TYPE_UNKNOWN" - // "CIRCLE" - Profile-blocked users - // "LEGACY" - Chat-blocked users - IncomingBlockType []string `json:"incomingBlockType,omitempty"` - // LastUpdateTimeMicros: DEPRECATED. The last update timestamps for the - // constituent components of this person are available in - // `identity_info.source_ids`. The time of the most recent change to this - // person, in !!!NANOS!!! (due to a bug). May be a change to any of the - // underlying parts of the person (profile, contact, etc.). Not guaranteed to - // be the timestamp of the most recent change, due to limitations in the - // backend. This field is not fully deprecated for backend container-specific - // storage services like ProfileService which lack identity_info. The use is - // still discouraged in such systems and they should prefer to use the - // `last_update_time` field of this message instead. - LastUpdateTimeMicros int64 `json:"lastUpdateTimeMicros,omitempty,string"` - // Model: The person model that is used to construct this person. - // - // Possible values: - // "PERSON_MODEL_UNKNOWN" - // "PROFILE_CENTRIC" - The default People API model where a person can - // contain no more than one profile and potentially many contacts. - // "CONTACT_CENTRIC" - The inversion of the default profile-centric model, - // i.e. a person can contain no more than one contact but potentially many - // profiles. See go/contact-centric-person-model for more details. - Model string `json:"model,omitempty"` - // ObjectType: DEPRECATED. - // - // Possible values: - // "OBJECT_TYPE_UNKNOWN" - // "PERSON" - // "PAGE" - ObjectType string `json:"objectType,omitempty"` - // OwnerId: DEPRECATED. Please use `person.read_only_profile_info.owner_id` - // instead. - OwnerId string `json:"ownerId,omitempty"` - // OwnerUserType: DEPRECATED. See - // `person.read_only_profile_info.owner_user_type` instead. - // - // Possible values: - // "OWNER_USER_TYPE_UNKNOWN" - // "GOOGLE_USER" - The owner is a Google user. - // "GPLUS_USER" - The owner is a Currents user. - // "GPLUS_DISABLED_BY_ADMIN" - Google+, i.e. INSServiceID::GOOGLE_ME service, - // is disabled by dasher admin. Only returned for requester's own profile. - // "GOOGLE_APPS_USER" - The owner is a Google Apps for Work user. - // "GOOGLE_APPS_SELF_MANAGED_USER" - The owner is a self-managed Google Apps - // for Work user. Only returned for requester's own profile. - // "GOOGLE_FAMILY_USER" - The owner is a Google for Families user. Only - // returned for requester's own profile. - // "GOOGLE_FAMILY_CHILD_USER" - The owner is a Google for Families child - // user. Only returned for requester's own profile. - // "GOOGLE_APPS_ADMIN_DISABLED" - The owner has been disabled (archived, - // suspended) by the G Suite admin. - // "GOOGLE_ONE_USER" - The owner is a Google One user (go/googleone). Only - // returned for requester's own profile. - // "GOOGLE_FAMILY_CONVERTED_CHILD_USER" - The owner is a Google for Families - // child user that was converted from an existing user. Only returned for - // requester's own profile. (go/griffin-account) - OwnerUserType []string `json:"ownerUserType,omitempty"` - // PlusPageType: DEPRECATED. Please use `Person.plus_page_info` instead. - // - // Possible values: - // "PLUS_PAGE_TYPE_UNKNOWN" - // "LOCAL" - // "COMPANY" - // "BRAND" - // "CELEBRITY" - // "CAUSE" - // "ENTERTAINMENT" - // "OTHER" - // "OBSOLETE_PRIVATE" - Formerly a private madison - // account(go/private-madison-account). Don't use it anymore. - PlusPageType string `json:"plusPageType,omitempty"` - // PreviousPersonId: DEPRECATED. This field is no longer populated or read. - PreviousPersonId []string `json:"previousPersonId,omitempty"` - // ProfileOwnerStats: DEPRECATED. Stats/counters pertaining to followers and - // incoming edges. Please use - // `person.read_only_profile_info.profile_owner_stats` instead. - ProfileOwnerStats *AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats `json:"profileOwnerStats,omitempty"` - // ScoringInfo: Contact people-directory-dev-team@ if you want to use this - // field. - ScoringInfo *AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo `json:"scoringInfo,omitempty"` - // UserVisibleStats: DEPRECATED. This field is no longer populated or read. - UserVisibleStats *AppsPeopleOzExternalMergedpeopleapiUserVisibleStats `json:"userVisibleStats,omitempty"` - // ForceSendFields is a list of field names (e.g. "Affinity") to +// GoogleCloudDocumentaiV1DocumentEntity: An entity that could be a phrase in +// the text or a property that belongs to the document. It is a known entity +// type, such as a person, an organization, or location. +type GoogleCloudDocumentaiV1DocumentEntity struct { + // Confidence: Optional. Confidence of detected Schema entity. Range `[0, 1]`. + Confidence float64 `json:"confidence,omitempty"` + // Id: Optional. Canonical id. This will be a unique value in the entity list + // for this document. + Id string `json:"id,omitempty"` + // MentionId: Optional. Deprecated. Use `id` field instead. + MentionId string `json:"mentionId,omitempty"` + // MentionText: Optional. Text value of the entity e.g. `1600 Amphitheatre + // Pkwy`. + MentionText string `json:"mentionText,omitempty"` + // NormalizedValue: Optional. Normalized entity value. Absent if the extracted + // value could not be converted or the type (e.g. address) is not supported for + // certain parsers. This field is also only populated for certain supported + // document types. + NormalizedValue *GoogleCloudDocumentaiV1DocumentEntityNormalizedValue `json:"normalizedValue,omitempty"` + // PageAnchor: Optional. Represents the provenance of this entity wrt. the + // location on the page where it was found. + PageAnchor *GoogleCloudDocumentaiV1DocumentPageAnchor `json:"pageAnchor,omitempty"` + // Properties: Optional. Entities can be nested to form a hierarchical data + // structure representing the content in the document. + Properties []*GoogleCloudDocumentaiV1DocumentEntity `json:"properties,omitempty"` + // Provenance: Optional. The history of this annotation. + Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` + // Redacted: Optional. Whether the entity will be redacted for + // de-identification purposes. + Redacted bool `json:"redacted,omitempty"` + // TextAnchor: Optional. Provenance of the entity. Text anchor indexing into + // the Document.text. + TextAnchor *GoogleCloudDocumentaiV1DocumentTextAnchor `json:"textAnchor,omitempty"` + // Type: Required. Entity type from a schema e.g. `Address`. + Type string `json:"type,omitempty"` + // ForceSendFields is a list of field names (e.g. "Confidence") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Affinity") to include in API + // NullFields is a list of field names (e.g. "Confidence") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPersonMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPersonMetadata +func (s *GoogleCloudDocumentaiV1DocumentEntity) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentEntity return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo struct { - // RawMatchQualityScore: Only populated on a SearchDirectoryPeople call, when - // results are scored. Contact people-directory-dev-team@ if you want to use - // this field. - RawMatchQualityScore float64 `json:"rawMatchQualityScore,omitempty"` - // StExpressionResults: Only populated on a SearchDirectoryPeople call that - // sends a request with StFieldSpecExpressions. - Used for linking indexed - // terms with query terms for go/better-name-matching - Name should be - // alphanumeric or underscores - Value should be an st expression following the - // syntax at go/stsyntax Contact people-directory-dev-team@ if you want to use - // this field. - StExpressionResults []*AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResult `json:"stExpressionResults,omitempty"` - // ForceSendFields is a list of field names (e.g. "RawMatchQualityScore") to +func (s *GoogleCloudDocumentaiV1DocumentEntity) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDocumentaiV1DocumentEntity + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + +// GoogleCloudDocumentaiV1DocumentEntityNormalizedValue: Parsed and normalized +// entity value. +type GoogleCloudDocumentaiV1DocumentEntityNormalizedValue struct { + // AddressValue: Postal address. See also: + // https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.proto + AddressValue *GoogleTypePostalAddress `json:"addressValue,omitempty"` + // BooleanValue: Boolean value. Can be used for entities with binary values, or + // for checkboxes. + BooleanValue bool `json:"booleanValue,omitempty"` + // DateValue: Date value. Includes year, month, day. See also: + // https://github.com/googleapis/googleapis/blob/master/google/type/date.proto + DateValue *GoogleTypeDate `json:"dateValue,omitempty"` + // DatetimeValue: DateTime value. Includes date, time, and timezone. See also: + // https://github.com/googleapis/googleapis/blob/master/google/type/datetime.proto + DatetimeValue *GoogleTypeDateTime `json:"datetimeValue,omitempty"` + // FloatValue: Float value. + FloatValue float64 `json:"floatValue,omitempty"` + // IntegerValue: Integer value. + IntegerValue int64 `json:"integerValue,omitempty"` + // MoneyValue: Money value. See also: + // https://github.com/googleapis/googleapis/blob/master/google/type/money.proto + MoneyValue *GoogleTypeMoney `json:"moneyValue,omitempty"` + // Text: Optional. An optional field to store a normalized string. For some + // entity types, one of respective `structured_value` fields may also be + // populated. Also not all the types of `structured_value` will be normalized. + // For example, some processors may not generate `float` or `integer` + // normalized text by default. Below are sample formats mapped to structured + // values. - Money/Currency type (`money_value`) is in the ISO 4217 text + // format. - Date type (`date_value`) is in the ISO 8601 text format. - + // Datetime type (`datetime_value`) is in the ISO 8601 text format. + Text string `json:"text,omitempty"` + // ForceSendFields is a list of field names (e.g. "AddressValue") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RawMatchQualityScore") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See + // NullFields is a list of field names (e.g. "AddressValue") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo +func (s *GoogleCloudDocumentaiV1DocumentEntityNormalizedValue) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentEntityNormalizedValue return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -func (s *AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo) UnmarshalJSON(data []byte) error { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfo +func (s *GoogleCloudDocumentaiV1DocumentEntityNormalizedValue) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDocumentaiV1DocumentEntityNormalizedValue var s1 struct { - RawMatchQualityScore gensupport.JSONFloat64 `json:"rawMatchQualityScore"` + FloatValue gensupport.JSONFloat64 `json:"floatValue"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } - s.RawMatchQualityScore = float64(s1.RawMatchQualityScore) + s.FloatValue = float64(s1.FloatValue) return nil } -type AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResult struct { - Name string `json:"name,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// GoogleCloudDocumentaiV1DocumentEntityRelation: Relationship between +// Entities. +type GoogleCloudDocumentaiV1DocumentEntityRelation struct { + // ObjectId: Object entity id. + ObjectId string `json:"objectId,omitempty"` + // Relation: Relationship description. + Relation string `json:"relation,omitempty"` + // SubjectId: Subject entity id. + SubjectId string `json:"subjectId,omitempty"` + // ForceSendFields is a list of field names (e.g. "ObjectId") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "ObjectId") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResult) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPersonMetadataScoringInfoStExpressionResult +func (s *GoogleCloudDocumentaiV1DocumentEntityRelation) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentEntityRelation return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiPhone struct { - // CanonicalizedForm: Canonicalized form that follows ITU-T E.164 international - // public telecommunication numbering plan. - CanonicalizedForm string `json:"canonicalizedForm,omitempty"` - // EmergencyInfo: Emergency information. See - // go/emergency-trusted-contacts-papi. - EmergencyInfo *AppsPeopleOzExternalMergedpeopleapiFieldEmergencyInfo `json:"emergencyInfo,omitempty"` - // ExtendedData: Read-only. Field requested by specifying `HANGOUTS_PHONE_DATA` - // in `extension_set.extension_names`. - ExtendedData *AppsPeopleOzExternalMergedpeopleapiPhoneExtendedData `json:"extendedData,omitempty"` - // FormattedType: The `type` translated and formatted in the request locale. - // See go/people-api-howto/localization for details on how to usage. - FormattedType string `json:"formattedType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Type: The type of the phone number. The type can be free form or one of - // these predefined values: * `home` * `work` * `mobile` * `homeFax` * - // `workFax` * `otherFax` * `pager` * `workMobile` * `workPager` * `main` * - // `googleVoice` * `other` - Type string `json:"type,omitempty"` - Uri string `json:"uri,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "CanonicalizedForm") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CanonicalizedForm") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiPhone) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPhone - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AppsPeopleOzExternalMergedpeopleapiPhoneExtendedData struct { - // StructuredPhone: For use with Hangouts extension. - StructuredPhone *AppsPeopleOzExternalMergedpeopleapiStructuredPhone `json:"structuredPhone,omitempty"` - // ForceSendFields is a list of field names (e.g. "StructuredPhone") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "StructuredPhone") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiPhoneExtendedData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPhoneExtendedData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AppsPeopleOzExternalMergedpeopleapiPhoto struct { - // Decoration: Read-only. Use UpdatePersonPhoto to change photo decorations. If - // this photo is decorated, this field contains information about its - // decorations. For now, this will contain at most one entry. - Decoration []*SocialGraphApiProtoDecorationOverlay `json:"decoration,omitempty"` - // EmojiAvatarUrl: URL of an emoji avatar as an image. See go/emoji-cdn. - // PeopleAPI will return the SVG format so that it can be scaled client side - // and so that the images will not be animated. All clients that use this field - // must also have fall-back handling for using the `Photo.url` field if this is - // empty. When we have FIFE-compatible emoji-image URLs we will drop this field - // and return the Photo.url instead. Clients that have their own - // go/emoji-rendering integration may prefer to render the emoji-avatar from - // `Photo.glyph` field using their rendering system so that the emoji - // version/style match the rest of the application. For further background, see - // go/chatroom-avatar-as-roster-metadata. This field will only be populated if - // all of: - The PersonFieldMetadata `container_type` for the Photo is - // NAMED_CHAT_ROOM - The chat room has an emoji type avatar image set - EmojiAvatarUrl string `json:"emojiAvatarUrl,omitempty"` - // Glyph: Unicode emoji representation of the chat room emoji avatar. This can - // be used by clients that use go/emoji-rendering directly so that they can - // present this with the same version/style as the rest of their application. - // This value may also be useful to clients as alt-text for the image. This - // field will only be populated if all of: - The PersonFieldMetadata - // `container_type` for the Photo is NAMED_CHAT_ROOM - The chat room has an - // emoji type avatar image set - Glyph string `json:"glyph,omitempty"` - // HtmlAttribution: A set of HTML data provider attributions that must be shown - // with the result. Supported for PLACES photos only. See: - // go/understanding-places-api-attribution-requirements - HtmlAttribution []string `json:"htmlAttribution,omitempty"` - // IsDefault: True when the photo is synthetic or generated (i.e. a monogram or - // default photo), false when the person has a custom photo. - IsDefault bool `json:"isDefault,omitempty"` - // IsMonogram: Indicates if the photo is a monogram avatar. Combined with - // is_default, the type of photo can be determined by: is_default=true, - // is_monogram=true: Default monogram avatar. is_default=true, - // is_monogram=false: Default silhouette avatar. is_default=false: Custom - // photo. is_monogram is irrelevant in this case. - IsMonogram bool `json:"isMonogram,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // MonogramBackground: When is_monogram=true, this is the background color of - // the monogram photo as a hex RGB formatted string "RRGGBB". - MonogramBackground string `json:"monogramBackground,omitempty"` - // OriginalPhoto: Read-only. A reference to the original, undecorated profile - // photo in storage. This field is not stored. It is populated by a live read - // to /SocialGraphImageService.GetActiveProfilePhoto. This field is only - // returned when "person.photo.original_photo" is specified in the request - // mask. - OriginalPhoto *SocialGraphApiProtoImageReference `json:"originalPhoto,omitempty"` - // PhotoId: For writes only. Indicates photo content for person photo-field - // update. Currently only used for profile-photo updates (not contact photos - // yet). - PhotoId *AppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId `json:"photoId,omitempty"` - // PhotoToken: Most clients don't need to worry about this field and should - // just use the `url` to fetch the photo. See go/phototoken-migration-plan for - // some more context about this field. If you think you want to use this please - // talk with people-api-eng@ first. - PhotoToken string `json:"photoToken,omitempty"` - // Url: See go/people-api-concepts/photos for info on the different - // representations of URLs. - Url string `json:"url,omitempty"` - // ViewerUrl: A URL for a UI to view the photo in its original context. For - // example, for a place photo, this is the url of a Google Maps page displaying - // the photo. Supported for place photos only. - ViewerUrl string `json:"viewerUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "Decoration") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Decoration") to include in API - // requests with the JSON null value. By default, fields with empty values are +// GoogleCloudDocumentaiV1DocumentPage: A page in a Document. +type GoogleCloudDocumentaiV1DocumentPage struct { + // Blocks: A list of visually detected text blocks on the page. A block has a + // set of lines (collected into paragraphs) that have a common line-spacing and + // orientation. + Blocks []*GoogleCloudDocumentaiV1DocumentPageBlock `json:"blocks,omitempty"` + // DetectedBarcodes: A list of detected barcodes. + DetectedBarcodes []*GoogleCloudDocumentaiV1DocumentPageDetectedBarcode `json:"detectedBarcodes,omitempty"` + // DetectedLanguages: A list of detected languages together with confidence. + DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` + // Dimension: Physical dimension of the page. + Dimension *GoogleCloudDocumentaiV1DocumentPageDimension `json:"dimension,omitempty"` + // FormFields: A list of visually detected form fields on the page. + FormFields []*GoogleCloudDocumentaiV1DocumentPageFormField `json:"formFields,omitempty"` + // Image: Rendered image for this page. This image is preprocessed to remove + // any skew, rotation, and distortions such that the annotation bounding boxes + // can be upright and axis-aligned. + Image *GoogleCloudDocumentaiV1DocumentPageImage `json:"image,omitempty"` + // ImageQualityScores: Image quality scores. + ImageQualityScores *GoogleCloudDocumentaiV1DocumentPageImageQualityScores `json:"imageQualityScores,omitempty"` + // Layout: Layout for the page. + Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` + // Lines: A list of visually detected text lines on the page. A collection of + // tokens that a human would perceive as a line. + Lines []*GoogleCloudDocumentaiV1DocumentPageLine `json:"lines,omitempty"` + // PageNumber: 1-based index for current Page in a parent Document. Useful when + // a page is taken out of a Document for individual processing. + PageNumber int64 `json:"pageNumber,omitempty"` + // Paragraphs: A list of visually detected text paragraphs on the page. A + // collection of lines that a human would perceive as a paragraph. + Paragraphs []*GoogleCloudDocumentaiV1DocumentPageParagraph `json:"paragraphs,omitempty"` + // Provenance: The history of this page. + Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` + // Symbols: A list of visually detected symbols on the page. + Symbols []*GoogleCloudDocumentaiV1DocumentPageSymbol `json:"symbols,omitempty"` + // Tables: A list of visually detected tables on the page. + Tables []*GoogleCloudDocumentaiV1DocumentPageTable `json:"tables,omitempty"` + // Tokens: A list of visually detected tokens on the page. + Tokens []*GoogleCloudDocumentaiV1DocumentPageToken `json:"tokens,omitempty"` + // Transforms: Transformation matrices that were applied to the original + // document image to produce Page.image. + Transforms []*GoogleCloudDocumentaiV1DocumentPageMatrix `json:"transforms,omitempty"` + // VisualElements: A list of detected non-text visual elements e.g. checkbox, + // signature etc. on the page. + VisualElements []*GoogleCloudDocumentaiV1DocumentPageVisualElement `json:"visualElements,omitempty"` + // ForceSendFields is a list of field names (e.g. "Blocks") to unconditionally + // include in API requests. By default, fields with empty or default values are // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiPhoto) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPhoto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId: Info necessary for -// looking up a photo in storage. -type AppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId struct { - // MediaKey: For writes only, pass the media key that represents the image in - // photos backend. Note, this is not populated on reads. - MediaKey string `json:"mediaKey,omitempty"` - // ForceSendFields is a list of field names (e.g. "MediaKey") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MediaKey") to include in API + // NullFields is a list of field names (e.g. "Blocks") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPhotoPhotoStorageId +func (s *GoogleCloudDocumentaiV1DocumentPage) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPage return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiPlaceDetails: Metadata specific to -// places. -type AppsPeopleOzExternalMergedpeopleapiPlaceDetails struct { - // GoogleUrl: A URL hosted by Google providing more information about this - // place This is the URL returned by Places API in the Place.Url.google field - GoogleUrl string `json:"googleUrl,omitempty"` - LatLng *AppsPeopleOzExternalMergedpeopleapiLatLng `json:"latLng,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - OpeningHours *AppsPeopleOzExternalMergedpeopleapiOpeningHours `json:"openingHours,omitempty"` - // PrimaryTypeName: The name of the primary type. Examples of primary type are: - // "art_school", "clothing_wholesaler", etc. All primary types can be found at - // http://shortn/_veqh6UwWdc - PrimaryTypeName string `json:"primaryTypeName,omitempty"` - // ForceSendFields is a list of field names (e.g. "GoogleUrl") to +// GoogleCloudDocumentaiV1DocumentPageAnchor: Referencing the visual context of +// the entity in the Document.pages. Page anchors can be cross-page, consist of +// multiple bounding polygons and optionally reference specific layout element +// types. +type GoogleCloudDocumentaiV1DocumentPageAnchor struct { + // PageRefs: One or more references to visual page elements + PageRefs []*GoogleCloudDocumentaiV1DocumentPageAnchorPageRef `json:"pageRefs,omitempty"` + // ForceSendFields is a list of field names (e.g. "PageRefs") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GoogleUrl") to include in API + // NullFields is a list of field names (e.g. "PageRefs") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPlaceDetails) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPlaceDetails +func (s *GoogleCloudDocumentaiV1DocumentPageAnchor) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageAnchor return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData: Extension data for -// use in Play Games Product Profile. See go/jam-games-profile. -type AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData struct { - // Achievements: User's top achievements that are sorted for example by rarity. - Achievements []*AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement `json:"achievements,omitempty"` - // AvatarImageUrl: The avatar image to display for the user. - AvatarImageUrl string `json:"avatarImageUrl,omitempty"` - // Failure: Failure type if there is an error when fetching product profile - // data. - Failure *AppsPeopleOzExternalMergedpeopleapiProductProfileFailure `json:"failure,omitempty"` - // GamerTag: The gamer tag set by the user. Not set if the user hasn't set a - // gamer tag yet. - GamerTag string `json:"gamerTag,omitempty"` - // PlayerLevel: User's level. - PlayerLevel int64 `json:"playerLevel,omitempty"` - // ProfileVisibility: Specifies the visibility of the player's profile. +// GoogleCloudDocumentaiV1DocumentPageAnchorPageRef: Represents a weak +// reference to a page element within a document. +type GoogleCloudDocumentaiV1DocumentPageAnchorPageRef struct { + // BoundingPoly: Optional. Identifies the bounding polygon of a layout element + // on the page. If `layout_type` is set, the bounding polygon must be exactly + // the same to the layout element it's referring to. + BoundingPoly *GoogleCloudDocumentaiV1BoundingPoly `json:"boundingPoly,omitempty"` + // Confidence: Optional. Confidence of detected page element, if applicable. + // Range `[0, 1]`. + Confidence float64 `json:"confidence,omitempty"` + // LayoutId: Optional. Deprecated. Use PageRef.bounding_poly instead. + LayoutId string `json:"layoutId,omitempty"` + // LayoutType: Optional. The type of the layout element that is being + // referenced if any. // // Possible values: - // "UNKNOWN_CLIENT_PLAYER_PROFILE_VISIBILITY" - Safe default. - // "PRIVATE_VISIBILITY" - The profile is not visible to anyone but the player - // themselves. - // "PUBLIC_VISIBILITY" - The profile is visible to everyone. - // "FRIENDS_VISIBILITY" - The profile is visible to the player and their PGS - // friends. - ProfileVisibility string `json:"profileVisibility,omitempty"` - // TotalFriendsCount: Total number of friends. - TotalFriendsCount int64 `json:"totalFriendsCount,omitempty,string"` - // TotalUnlockedAchievements: How many achievements this player has unlocked. - TotalUnlockedAchievements int64 `json:"totalUnlockedAchievements,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Achievements") to + // "LAYOUT_TYPE_UNSPECIFIED" - Layout Unspecified. + // "BLOCK" - References a Page.blocks element. + // "PARAGRAPH" - References a Page.paragraphs element. + // "LINE" - References a Page.lines element. + // "TOKEN" - References a Page.tokens element. + // "VISUAL_ELEMENT" - References a Page.visual_elements element. + // "TABLE" - Refrrences a Page.tables element. + // "FORM_FIELD" - References a Page.form_fields element. + LayoutType string `json:"layoutType,omitempty"` + // Page: Required. Index into the Document.pages element, for example using + // `Document.pages` to locate the related page element. This field is skipped + // when its value is the default `0`. See + // https://developers.google.com/protocol-buffers/docs/proto3#json. + Page int64 `json:"page,omitempty,string"` + // ForceSendFields is a list of field names (e.g. "BoundingPoly") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Achievements") to include in API + // NullFields is a list of field names (e.g. "BoundingPoly") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement: Details -// of an achievement that the user has unlocked. -type AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement struct { - // AchievementName: The name of the achievement. - AchievementName string `json:"achievementName,omitempty"` - // AchievementUnlockedIconUrl: The achievement icon url shown to the user if it - // is unlocked. - AchievementUnlockedIconUrl string `json:"achievementUnlockedIconUrl,omitempty"` - // RarityPercentage: Rarity of unlocking this achievement (3% of players - // unlocked would be 3) - RarityPercentage float64 `json:"rarityPercentage,omitempty"` - // ForceSendFields is a list of field names (e.g. "AchievementName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AchievementName") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement +func (s *GoogleCloudDocumentaiV1DocumentPageAnchorPageRef) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageAnchorPageRef return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -func (s *AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement) UnmarshalJSON(data []byte) error { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPlayGamesExtendedDataAchievement +func (s *GoogleCloudDocumentaiV1DocumentPageAnchorPageRef) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDocumentaiV1DocumentPageAnchorPageRef var s1 struct { - RarityPercentage gensupport.JSONFloat64 `json:"rarityPercentage"` + Confidence gensupport.JSONFloat64 `json:"confidence"` *NoMethod } s1.NoMethod = (*NoMethod)(s) if err := json.Unmarshal(data, &s1); err != nil { return err } - s.RarityPercentage = float64(s1.RarityPercentage) + s.Confidence = float64(s1.Confidence) return nil } -// AppsPeopleOzExternalMergedpeopleapiPlusPageInfo: Information about a plus -// page and the entity it represents. -type AppsPeopleOzExternalMergedpeopleapiPlusPageInfo struct { - // ApplicationId: Int64 ID of packaging-service entry; if set, the plus page is - // associated with a third-party application. - ApplicationId int64 `json:"applicationId,omitempty,string"` - // Possible values: - // "ENTITY_TYPE_UNSPECIFIED" - // "LOCAL" - These are the top-level entity types for plus pages. - // "COMPANY" - // "BRAND" - // "CELEBRITY" - // "CAUSE" - // "ENTERTAINMENT" - // "OTHER" - // "OBSOLETE_PRIVATE" - Used to identify a private madison - // account(go/private-madison-account). Don't use it anymore. - EntityType string `json:"entityType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "ApplicationId") to +// GoogleCloudDocumentaiV1DocumentPageBlock: A block has a set of lines +// (collected into paragraphs) that have a common line-spacing and orientation. +type GoogleCloudDocumentaiV1DocumentPageBlock struct { + // DetectedLanguages: A list of detected languages together with confidence. + DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` + // Layout: Layout for Block. + Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` + // Provenance: The history of this annotation. + Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` + // ForceSendFields is a list of field names (e.g. "DetectedLanguages") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ApplicationId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "DetectedLanguages") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPlusPageInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPlusPageInfo +func (s *GoogleCloudDocumentaiV1DocumentPageBlock) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageBlock return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiPointSpec: Map marker location for an -// address. -type AppsPeopleOzExternalMergedpeopleapiPointSpec struct { - Bounds *GeostoreRectProto `json:"bounds,omitempty"` - Point *GeostorePointProto `json:"point,omitempty"` - // Possible values: - // "UNKNOWN_POINT_SOURCE" - // "POINT_SOURCE_UNSPECIFIED" - // "USER_PROVIDED" - User has explicitly moved the point. - // "SYSTEM_PROVIDED" - System has generated the marker. - // "USER_CONFIRMED" - System has generated the marker, but user has viewed - // and saved it unchanged. - PointSource string `json:"pointSource,omitempty"` - // ForceSendFields is a list of field names (e.g. "Bounds") to unconditionally +// GoogleCloudDocumentaiV1DocumentPageDetectedBarcode: A detected barcode. +type GoogleCloudDocumentaiV1DocumentPageDetectedBarcode struct { + // Barcode: Detailed barcode information of the DetectedBarcode. + Barcode *GoogleCloudDocumentaiV1Barcode `json:"barcode,omitempty"` + // Layout: Layout for DetectedBarcode. + Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` + // ForceSendFields is a list of field names (e.g. "Barcode") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Bounds") to include in API + // NullFields is a list of field names (e.g. "Barcode") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPointSpec) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPointSpec +func (s *GoogleCloudDocumentaiV1DocumentPageDetectedBarcode) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageDetectedBarcode return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiPosixAccount: Custom field that -// represents POSIX account information. Description of the field family: -// go/fbs-posix. If account has non-empty Username or Uid we will enforce -// global uniqueness of (AccountNamespace, CustomerKey, SystemId, Uid) and -// (AccountNamespace, CustomerKey, SystemId, Username) tuples to ensure there -// are no duplicates. -type AppsPeopleOzExternalMergedpeopleapiPosixAccount struct { - // AccountId: The user visible value is used to distinguish identical posix - // account fields with different customer key values. - AccountId string `json:"accountId,omitempty"` - // AccountNamespace: Value indicates the uniqueness namespace that applies to - // the POSIX information. The value is included in all POSIX account uniqueness - // indices. The indexing prevents two accounts within the same customer from - // having the same username. Namespacing allows Windows and Linux users to - // share the same username. - // - // Possible values: - // "LINUX_GSUITE" - A Linux user for a G Suite domain. - // "LINUX_CONSUMER" - A Linux user for a Google account. - // "WINDOWS_GSUITE" - A Windows user for a G Suite domain. - // "WINDOWS_CONSUMER" - A Windows user for a Google account. - AccountNamespace string `json:"accountNamespace,omitempty"` - // AccountType: Value indicates whether the POSIX information is associated - // with a non-human entity and the validation logic to apply during - // PosixAccount mutation. - // - // Possible values: - // "LINUX_USER_ACCOUNT" - Linux account associated with a human user. - // "LINUX_SERVICE_ACCOUNT" - Linux account for a non-human entity. Service - // accounts are used for unattended automation scripts. See go/riseoftherobots - // for details. - // "LINUX_EXTERNAL_USER" - Linux account associated with a human user where - // the owner of the POSIX data is granted access to resources (VMs) owned by a - // different (external) organization. - // "WINDOWS_USER_ACCOUNT" - Windows account associated with a human user. - // "WINDOWS_SERVICE_ACCOUNT" - Windows account for a non-human entity. - // Service accounts are used for unattended automation scripts. - // "WINDOWS_EXTERNAL_USER" - Windows account associated with a human user - // where the owner of the account data is granted access to resources (VMs) - // owned by a different (external) organization. - AccountType string `json:"accountType,omitempty"` - // CustomerKey: The customer associated with the POSIX identity. If the user is - // already associated with a G Suite Customer, this field has the same value as - // http://google3/ccc/hosted/policies/settings/dthree_customer_info.proto - CustomerKey int64 `json:"customerKey,omitempty,string"` - // Fingerprint: The value is automatically set to a SHA-256 fingerprint of the - // POSIX account. A fingerprint should uniquely identify a POSIX account entry. - Fingerprint string `json:"fingerprint,omitempty"` - // Gecos: The GECOS (user information) entry for this account. - Gecos string `json:"gecos,omitempty"` - // Gid: The default group ID. - Gid uint64 `json:"gid,omitempty,string"` - // HomeDirectory: The path to the home directory for this account. - HomeDirectory string `json:"homeDirectory,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // OperatingSystemType: Value indicates whether to use Linux or Windows - // specific validation logic during PosixAccount mutation. - // - // Possible values: - // "OPERATING_SYSTEM_TYPE_UNSPECIFIED" - The operating system type associated - // with the user account information is unspecified. - // "LINUX" - Linux user account information. - // "WINDOWS" - Windows user account information. - OperatingSystemType string `json:"operatingSystemType,omitempty"` - // Shell: The path to the login shell for this account. - Shell string `json:"shell,omitempty"` - // SystemId: System identifier for which account Username or Uid apply to. If - // not specified on mutate by a caller it will default to empty value if either - // Username or Uid are being set. SystemId does require to have a value (even - // an empty one) because it is included into null-filtered Spanner index used - // to enforce uniqueness on Username and Uid fields. - SystemId string `json:"systemId,omitempty"` - // Uid: The user ID. - Uid uint64 `json:"uid,omitempty,string"` - // Username: The username of the account. - Username string `json:"username,omitempty"` - // ForceSendFields is a list of field names (e.g. "AccountId") to +// GoogleCloudDocumentaiV1DocumentPageDetectedLanguage: Detected language for a +// structural component. +type GoogleCloudDocumentaiV1DocumentPageDetectedLanguage struct { + // Confidence: Confidence of detected language. Range `[0, 1]`. + Confidence float64 `json:"confidence,omitempty"` + // LanguageCode: The BCP-47 language code + // (https://www.unicode.org/reports/tr35/#Unicode_locale_identifier), such as + // `en-US` or `sr-Latn`. + LanguageCode string `json:"languageCode,omitempty"` + // ForceSendFields is a list of field names (e.g. "Confidence") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AccountId") to include in API + // NullFields is a list of field names (e.g. "Confidence") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPosixAccount) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPosixAccount +func (s *GoogleCloudDocumentaiV1DocumentPageDetectedLanguage) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageDetectedLanguage return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiProductMetadata struct { - // Possible values: - // "PRODUCT_SOURCE_UNKNOWN" - // "PRODUCT_SOURCE_DEFAULT" - // "PRODUCT_SOURCE_ASSISTANT" - // "PRODUCT_SOURCE_JANATA" - The product for non-prominent people creating - // their profiles and sharing contact info on Google search - // (go/project-janata). - // "PRODUCT_SOURCE_SPEED_DIAL" - ProductSource string `json:"productSource,omitempty"` - // ForceSendFields is a list of field names (e.g. "ProductSource") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ProductSource") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiProductMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiProductMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +func (s *GoogleCloudDocumentaiV1DocumentPageDetectedLanguage) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDocumentaiV1DocumentPageDetectedLanguage + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil } -// AppsPeopleOzExternalMergedpeopleapiProductProfileFailure: Product profiles -// failure type: the status of the rpc to fetch the product profile. -type AppsPeopleOzExternalMergedpeopleapiProductProfileFailure struct { - // Possible values: - // "PRODUCT_PROFILE_FAILURE_TYPE_UNKNOWN" - // "RPC_FAILURE" - FailureType string `json:"failureType,omitempty"` - // ForceSendFields is a list of field names (e.g. "FailureType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// GoogleCloudDocumentaiV1DocumentPageDimension: Dimension for the page. +type GoogleCloudDocumentaiV1DocumentPageDimension struct { + // Height: Page height. + Height float64 `json:"height,omitempty"` + // Unit: Dimension unit. + Unit string `json:"unit,omitempty"` + // Width: Page width. + Width float64 `json:"width,omitempty"` + // ForceSendFields is a list of field names (e.g. "Height") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FailureType") to include in API + // NullFields is a list of field names (e.g. "Height") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiProductProfileFailure) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiProductProfileFailure +func (s *GoogleCloudDocumentaiV1DocumentPageDimension) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageDimension return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats: Stats pertaining to -// incoming edges and views, visible to the requester (with acls applied). -// Related to, but not equal to, -// com.google.focus.proto.Storage.UserVisibleStats. -type AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats struct { - // IncomingAnyCircleCount: Replacement for deprecated follower_count. Comes - // from the EdgeSummary. - IncomingAnyCircleCount int64 `json:"incomingAnyCircleCount,omitempty,string"` - // ViewCount: Deprecated. This field is no longer populated by the server. - ViewCount int64 `json:"viewCount,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "IncomingAnyCircleCount") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IncomingAnyCircleCount") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +func (s *GoogleCloudDocumentaiV1DocumentPageDimension) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDocumentaiV1DocumentPageDimension + var s1 struct { + Height gensupport.JSONFloat64 `json:"height"` + Width gensupport.JSONFloat64 `json:"width"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Height = float64(s1.Height) + s.Width = float64(s1.Width) + return nil } -// AppsPeopleOzExternalMergedpeopleapiProfileUrl: This is a Google+-only field -// (and thus does not exist for consumer users). See go/fbs-g+-deprecation. -type AppsPeopleOzExternalMergedpeopleapiProfileUrl struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Url string `json:"url,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to +// GoogleCloudDocumentaiV1DocumentPageFormField: A form field detected on the +// page. +type GoogleCloudDocumentaiV1DocumentPageFormField struct { + // CorrectedKeyText: Created for Labeling UI to export key text. If corrections + // were made to the text identified by the `field_name.text_anchor`, this field + // will contain the correction. + CorrectedKeyText string `json:"correctedKeyText,omitempty"` + // CorrectedValueText: Created for Labeling UI to export value text. If + // corrections were made to the text identified by the + // `field_value.text_anchor`, this field will contain the correction. + CorrectedValueText string `json:"correctedValueText,omitempty"` + // FieldName: Layout for the FormField name. e.g. `Address`, `Email`, `Grand + // total`, `Phone number`, etc. + FieldName *GoogleCloudDocumentaiV1DocumentPageLayout `json:"fieldName,omitempty"` + // FieldValue: Layout for the FormField value. + FieldValue *GoogleCloudDocumentaiV1DocumentPageLayout `json:"fieldValue,omitempty"` + // NameDetectedLanguages: A list of detected languages for name together with + // confidence. + NameDetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"nameDetectedLanguages,omitempty"` + // Provenance: The history of this annotation. + Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` + // ValueDetectedLanguages: A list of detected languages for value together with + // confidence. + ValueDetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"valueDetectedLanguages,omitempty"` + // ValueType: If the value is non-textual, this field represents the type. + // Current valid values are: - blank (this indicates the `field_value` is + // normal text) - `unfilled_checkbox` - `filled_checkbox` + ValueType string `json:"valueType,omitempty"` + // ForceSendFields is a list of field names (e.g. "CorrectedKeyText") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "CorrectedKeyText") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiProfileUrl) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiProfileUrl +func (s *GoogleCloudDocumentaiV1DocumentPageFormField) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageFormField return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiPronoun: Message to represent a user's -// set of preferred pronouns, see go/pronouns-backend. -type AppsPeopleOzExternalMergedpeopleapiPronoun struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - PronounData *SocialGraphApiProtoPronounData `json:"pronounData,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// GoogleCloudDocumentaiV1DocumentPageImage: Rendered image contents for this +// page. +type GoogleCloudDocumentaiV1DocumentPageImage struct { + // Content: Raw byte content of the image. + Content string `json:"content,omitempty"` + // Height: Height of the image in pixels. + Height int64 `json:"height,omitempty"` + // MimeType: Encoding media type (MIME type) + // (https://www.iana.org/assignments/media-types/media-types.xhtml) for the + // image. + MimeType string `json:"mimeType,omitempty"` + // Width: Width of the image in pixels. + Width int64 `json:"width,omitempty"` + // ForceSendFields is a list of field names (e.g. "Content") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API + // NullFields is a list of field names (e.g. "Content") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiPronoun) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiPronoun +func (s *GoogleCloudDocumentaiV1DocumentPageImage) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageImage return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfo struct { - // DataSet: The data set within the account that this raw contact belongs to. - DataSet string `json:"dataSet,omitempty"` - // Dirty: The CP2 dirty field which indicates the sync state of the raw - // contact: - // https://developer.android.com/reference/android/provider/ContactsContract.SyncColumns#DIRTY - // True if the row is changed but not synced - Dirty bool `json:"dirty,omitempty"` - // SourceIdExist: Whether the source ID exists for non-Google contacts. Won't - // set for Google contacts. - SourceIdExist bool `json:"sourceIdExist,omitempty"` - // SyncInfo: The Sync Info of a raw contact. - SyncInfo *SocialGraphApiProtoSyncInfo `json:"syncInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "DataSet") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// GoogleCloudDocumentaiV1DocumentPageImageQualityScores: Image quality scores +// for the page image. +type GoogleCloudDocumentaiV1DocumentPageImageQualityScores struct { + // DetectedDefects: A list of detected defects. + DetectedDefects []*GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect `json:"detectedDefects,omitempty"` + // QualityScore: The overall quality score. Range `[0, 1]` where `1` is perfect + // quality. + QualityScore float64 `json:"qualityScore,omitempty"` + // ForceSendFields is a list of field names (e.g. "DetectedDefects") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DataSet") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "DetectedDefects") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfo +func (s *GoogleCloudDocumentaiV1DocumentPageImageQualityScores) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageImageQualityScores return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo: Raw device contact -// information. -type AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo struct { - // AccountName: Account name of raw contact, e.g. "google@gmail.com". - AccountName string `json:"accountName,omitempty"` - // AccountType: Account type of raw contact, e.g. "com.google" or - // "com.linkedin.android". - AccountType string `json:"accountType,omitempty"` - // AppContactData: The detailed app-specific endpoint data available for the - // given RawDeviceContactInfo instance. This proto should be used to obtain the - // list of actions and mimetypes supported by the third-party app. Design: - // go/3p-contact-upload - AppContactData []*SocialGraphApiAppContactData `json:"appContactData,omitempty"` - // AppInfo: The app-specific endpoint data needed for app action fulfillment. - // Usage of this field should be avoided on the server-side, and should use the - // more detailed |full_app_info| field. - AppInfo *AppsPeopleOzExternalMergedpeopleapiAppUniqueInfo `json:"appInfo,omitempty"` - // CrossDeviceAllowed: If true, this raw contact can be used on other devices - // than the one it originated from. Assigned by the server. - CrossDeviceAllowed bool `json:"crossDeviceAllowed,omitempty"` - // DeviceContactMetadata: Extra metadata for this raw contact. - DeviceContactMetadata *AppsPeopleOzExternalMergedpeopleapiDeviceContactExtraMetadata `json:"deviceContactMetadata,omitempty"` - // GoogleContactId: The focus contact id for Google contacts. - GoogleContactId int64 `json:"googleContactId,omitempty,string"` - // Id: The base64 serialized - // social.graph.peopleapi.proto.internal.RawDeviceContactId. This id should be - // used to correlate to field.metadata.encoded_container_id when the - // field.metadata.container_type is RAW_DEVICE_CONTACT The id also correlates - // to person.metadata.identity_info.source_id.id. For value format, see - // google3/social/graph/api/proto/main_merged_person.proto?q=symbol:SourceIdenti - // ty.id - Id string `json:"id,omitempty"` - // PhotoType: The type of photo from the device (if any). - // - // Possible values: - // "PHOTO_TYPE_UNKNOWN" - // "NO_PHOTO" - This raw contact doesn't have a photo. - // "THUMBNAIL" - This raw contact only has a thumbnail. - // "FULL_SIZE_PHOTO" - This raw contact has a full size photo. - PhotoType string `json:"photoType,omitempty"` - // RawContactId: The id of the raw contact on the device. - RawContactId int64 `json:"rawContactId,omitempty,string"` - // RawDeviceContactAnalyticalInfo: Only to be used by Romanesco team - // specifically for analytics. - RawDeviceContactAnalyticalInfo *AppsPeopleOzExternalMergedpeopleapiRawDeviceContactAnalyticalInfo `json:"rawDeviceContactAnalyticalInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "AccountName") to +func (s *GoogleCloudDocumentaiV1DocumentPageImageQualityScores) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDocumentaiV1DocumentPageImageQualityScores + var s1 struct { + QualityScore gensupport.JSONFloat64 `json:"qualityScore"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.QualityScore = float64(s1.QualityScore) + return nil +} + +// GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect: Image +// Quality Defects +type GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect struct { + // Confidence: Confidence of detected defect. Range `[0, 1]` where `1` + // indicates strong confidence that the defect exists. + Confidence float64 `json:"confidence,omitempty"` + // Type: Name of the defect type. Supported values are: - + // `quality/defect_blurry` - `quality/defect_noisy` - `quality/defect_dark` - + // `quality/defect_faint` - `quality/defect_text_too_small` - + // `quality/defect_document_cutoff` - `quality/defect_text_cutoff` - + // `quality/defect_glare` + Type string `json:"type,omitempty"` + // ForceSendFields is a list of field names (e.g. "Confidence") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AccountName") to include in API + // NullFields is a list of field names (e.g. "Confidence") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiRawDeviceContactInfo +func (s *GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo: Metadata information -// about a profile. This message replaces legacy profile-specific singleton -// fields from the PersonMetadata proto (singleton top level Person fields are -// not compatible with non-profile-centric person results, which may include -// multiple profile containers). -type AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo struct { - // AccountEmail: The account email linked to the profile, if any exists and is - // visible to the requester. - AccountEmail *AppsPeopleOzExternalMergedpeopleapiAccountEmail `json:"accountEmail,omitempty"` - // BlockType: Indicates whether the profile owner has blocked this person. - // - // Possible values: - // "BLOCK_TYPE_UNKNOWN" - // "CIRCLE" - Profile-blocked users - // "LEGACY" - Chat-blocked users - BlockType []string `json:"blockType,omitempty"` - // CustomerInfo: CustomerInfo for dasher user. The reader has to explicitly - // request this in the field_mask as 'read_only_profile_info.customer_info' - CustomerInfo *AppsPeopleOzExternalMergedpeopleapiCustomerInfo `json:"customerInfo,omitempty"` - // DomainInfo: DEPRECATED. Use the `ReadOnlyProfileInfo.customer_info` field - // instead (b/138120418). Only populated if in_viewer_domain is true. - DomainInfo *AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfo `json:"domainInfo,omitempty"` - // InViewerDomain: DEPRECATED. Proxying trust between users in a domain should - // use go/flex-orgs-platform. For more info see: - // http://doc/18i0-C7vWcz2UuXYBsmulnriVCK3_EuMPpRlPa2OmMHw#heading=h.dobotdwx25kg - // Indicates whether the profile owner is in the same domain as the viewer. - InViewerDomain bool `json:"inViewerDomain,omitempty"` - // IncomingBlockType: Indicates whether this person is blocking the profile - // owner. - // - // Possible values: - // "BLOCK_TYPE_UNKNOWN" - // "CIRCLE" - Profile-blocked users - // "LEGACY" - Chat-blocked users - IncomingBlockType []string `json:"incomingBlockType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // ObjectType: DEPRECATED. - // - // Possible values: - // "OBJECT_TYPE_UNKNOWN" - // "PERSON" - // "PAGE" - ObjectType string `json:"objectType,omitempty"` - // OwnerId: The Focus-obfuscated Gaia ID of the profile owner - // (go/obfuscated-ids). - OwnerId string `json:"ownerId,omitempty"` - // Possible values: - // "OWNER_USER_TYPE_UNKNOWN" - // "GOOGLE_USER" - The owner is a Google user. - // "GPLUS_USER" - The owner is a Currents user. - // "GPLUS_DISABLED_BY_ADMIN" - Google+, i.e. INSServiceID::GOOGLE_ME service, - // is disabled by dasher admin. Only returned for requester's own profile. - // "GOOGLE_APPS_USER" - The owner is a Google Apps for Work user. - // "GOOGLE_APPS_SELF_MANAGED_USER" - The owner is a self-managed Google Apps - // for Work user. Only returned for requester's own profile. - // "GOOGLE_FAMILY_USER" - The owner is a Google for Families user. Only - // returned for requester's own profile. - // "GOOGLE_FAMILY_CHILD_USER" - The owner is a Google for Families child - // user. Only returned for requester's own profile. - // "GOOGLE_APPS_ADMIN_DISABLED" - The owner has been disabled (archived, - // suspended) by the G Suite admin. - // "GOOGLE_ONE_USER" - The owner is a Google One user (go/googleone). Only - // returned for requester's own profile. - // "GOOGLE_FAMILY_CONVERTED_CHILD_USER" - The owner is a Google for Families - // child user that was converted from an existing user. Only returned for - // requester's own profile. (go/griffin-account) - OwnerUserType []string `json:"ownerUserType,omitempty"` - // PlusPageType: DEPRECATED. Please use `person.plus_page_info` instead. +func (s *GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + +// GoogleCloudDocumentaiV1DocumentPageLayout: Visual element describing a +// layout unit on a page. +type GoogleCloudDocumentaiV1DocumentPageLayout struct { + // BoundingPoly: The bounding polygon for the Layout. + BoundingPoly *GoogleCloudDocumentaiV1BoundingPoly `json:"boundingPoly,omitempty"` + // Confidence: Confidence of the current Layout within context of the object + // this layout is for. e.g. confidence can be for a single token, a table, a + // visual element, etc. depending on context. Range `[0, 1]`. + Confidence float64 `json:"confidence,omitempty"` + // Orientation: Detected orientation for the Layout. // // Possible values: - // "PLUS_PAGE_TYPE_UNKNOWN" - // "LOCAL" - // "COMPANY" - // "BRAND" - // "CELEBRITY" - // "CAUSE" - // "ENTERTAINMENT" - // "OTHER" - // "OBSOLETE_PRIVATE" - Formerly a private madison - // account(go/private-madison-account). Don't use it anymore. - PlusPageType string `json:"plusPageType,omitempty"` - // ProfileOwnerStats: Stats/counters pertaining to followers and incoming - // edges. - ProfileOwnerStats *AppsPeopleOzExternalMergedpeopleapiProfileOwnerStats `json:"profileOwnerStats,omitempty"` - // UnjoinedEmailCertificates: Returned only when explicitly requested in the - // request mask as read_only_profile_info.unjoined_email_certificates. - // Equivalent to fetching the Emails & the Email Certificates with the acls - // ignored. - UnjoinedEmailCertificates []*AppsPeopleOzExternalMergedpeopleapiEmail `json:"unjoinedEmailCertificates,omitempty"` - // ForceSendFields is a list of field names (e.g. "AccountEmail") to + // "ORIENTATION_UNSPECIFIED" - Unspecified orientation. + // "PAGE_UP" - Orientation is aligned with page up. + // "PAGE_RIGHT" - Orientation is aligned with page right. Turn the head 90 + // degrees clockwise from upright to read. + // "PAGE_DOWN" - Orientation is aligned with page down. Turn the head 180 + // degrees from upright to read. + // "PAGE_LEFT" - Orientation is aligned with page left. Turn the head 90 + // degrees counterclockwise from upright to read. + Orientation string `json:"orientation,omitempty"` + // TextAnchor: Text anchor indexing into the Document.text. + TextAnchor *GoogleCloudDocumentaiV1DocumentTextAnchor `json:"textAnchor,omitempty"` + // ForceSendFields is a list of field names (e.g. "BoundingPoly") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AccountEmail") to include in API + // NullFields is a list of field names (e.g. "BoundingPoly") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfo +func (s *GoogleCloudDocumentaiV1DocumentPageLayout) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageLayout return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfo: -// DEPRECATED. -type AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfo struct { - // DomainBadge: DEPRECATED. Organization badge for the domain this person is a - // member of. The badge is the primary hosted domain. - DomainBadge []string `json:"domainBadge,omitempty"` - // DomainName: DEPRECATED. Hosted domain this person is a member of. Formerly - // only available via PersonExtendedData. - DomainName []string `json:"domainName,omitempty"` - // ForceSendFields is a list of field names (e.g. "DomainBadge") to +func (s *GoogleCloudDocumentaiV1DocumentPageLayout) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDocumentaiV1DocumentPageLayout + var s1 struct { + Confidence gensupport.JSONFloat64 `json:"confidence"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Confidence = float64(s1.Confidence) + return nil +} + +// GoogleCloudDocumentaiV1DocumentPageLine: A collection of tokens that a human +// would perceive as a line. Does not cross column boundaries, can be +// horizontal, vertical, etc. +type GoogleCloudDocumentaiV1DocumentPageLine struct { + // DetectedLanguages: A list of detected languages together with confidence. + DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` + // Layout: Layout for Line. + Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` + // Provenance: The history of this annotation. + Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` + // ForceSendFields is a list of field names (e.g. "DetectedLanguages") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DomainBadge") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "DetectedLanguages") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiReadOnlyProfileInfoDomainInfo +func (s *GoogleCloudDocumentaiV1DocumentPageLine) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageLine return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiRelation: Relation stores the related -// person between the contact or profile and a third person. See -// go/relation-vs-relationship for relation vs relationship explanation. This -// field currently includes RelationshipToMe data in fields value and -// canonical_value for ContainerType CONTACT_ANNOTATION. This will be moved to -// RelationshipToMe in b/221081499. -type AppsPeopleOzExternalMergedpeopleapiRelation struct { - // CanonicalValue: Canonicalized `value` of the relation from this person to - // the user. This is currently used for data from contact annotations. Possible - // canonical values are based from - // http://google3/googledata/quality/aliases/relationship_en.config. - CanonicalValue string `json:"canonicalValue,omitempty"` - // FormattedType: The `type` translated and formatted in the request locale. - // See go/people-api-howto/localization for details on how to usage. - FormattedType string `json:"formattedType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // RelationDetails: The person whose email matches the Relation.value field, if - // it is a valid email address. This field is read-only and ignored on update. - RelationDetails *AppsPeopleOzExternalMergedpeopleapiRelationRelationDetails `json:"relationDetails,omitempty"` - // Type: The relation type. The type can be free form or one of these - // predefined values: * `spouse` * `child` * `mother` * `father` * `parent` * - // `brother` * `sister` * `friend` * `relative` * `domesticPartner` * `manager` - // * `assistant` * `referredBy` * `partner` - Type string `json:"type,omitempty"` - // Value: The person this relation applies to. Custom value provided by the - // user. - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "CanonicalValue") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// GoogleCloudDocumentaiV1DocumentPageMatrix: Representation for transformation +// matrix, intended to be compatible and used with OpenCV format for image +// manipulation. +type GoogleCloudDocumentaiV1DocumentPageMatrix struct { + // Cols: Number of columns in the matrix. + Cols int64 `json:"cols,omitempty"` + // Data: The matrix data. + Data string `json:"data,omitempty"` + // Rows: Number of rows in the matrix. + Rows int64 `json:"rows,omitempty"` + // Type: This encodes information about what data type the matrix uses. For + // example, 0 (CV_8U) is an unsigned 8-bit image. For the full list of OpenCV + // primitive data types, please refer to + // https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html + Type int64 `json:"type,omitempty"` + // ForceSendFields is a list of field names (e.g. "Cols") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CanonicalValue") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "Cols") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiRelation) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiRelation +func (s *GoogleCloudDocumentaiV1DocumentPageMatrix) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageMatrix return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiRelationRelationDetails struct { - // DisplayName: Equivalent to Name.display_name for the person_id profile. - DisplayName string `json:"displayName,omitempty"` - // JobTitle: Equivalent to Organization.title for the primary organization of - // the person_id profile. - JobTitle string `json:"jobTitle,omitempty"` - PersonId string `json:"personId,omitempty"` - // PhotoUrl: Equivalent to Photo.url for the person_id profile. - PhotoUrl string `json:"photoUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to +// GoogleCloudDocumentaiV1DocumentPageParagraph: A collection of lines that a +// human would perceive as a paragraph. +type GoogleCloudDocumentaiV1DocumentPageParagraph struct { + // DetectedLanguages: A list of detected languages together with confidence. + DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` + // Layout: Layout for Paragraph. + Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` + // Provenance: The history of this annotation. + Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` + // ForceSendFields is a list of field names (e.g. "DetectedLanguages") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "DetectedLanguages") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiRelationRelationDetails) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiRelationRelationDetails +func (s *GoogleCloudDocumentaiV1DocumentPageParagraph) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageParagraph return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiRelationshipInterest: Deprecated in -// b/122464133. No data returned for this field. -type AppsPeopleOzExternalMergedpeopleapiRelationshipInterest struct { - // FormattedType: The `type` translated and formatted in the request locale. - // See go/people-api-howto/localization for details on how to usage. - FormattedType string `json:"formattedType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Type: These fields may give away the sexual orientation of the user. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "FormattedType") to - // unconditionally include in API requests. By default, fields with empty or +// GoogleCloudDocumentaiV1DocumentPageSymbol: A detected symbol. +type GoogleCloudDocumentaiV1DocumentPageSymbol struct { + // DetectedLanguages: A list of detected languages together with confidence. + DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` + // Layout: Layout for Symbol. + Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` + // ForceSendFields is a list of field names (e.g. "DetectedLanguages") to + // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FormattedType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "DetectedLanguages") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiRelationshipInterest) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiRelationshipInterest +func (s *GoogleCloudDocumentaiV1DocumentPageSymbol) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageSymbol return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiRelationshipStatus: Deprecated in -// b/122464133. No data returned for this field. -type AppsPeopleOzExternalMergedpeopleapiRelationshipStatus struct { - // FormattedType: The `type` translated and formatted in the request locale. - // See go/people-api-howto/localization for details on how to usage. - FormattedType string `json:"formattedType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "FormattedType") to +// GoogleCloudDocumentaiV1DocumentPageTable: A table representation similar to +// HTML table structure. +type GoogleCloudDocumentaiV1DocumentPageTable struct { + // BodyRows: Body rows of the table. + BodyRows []*GoogleCloudDocumentaiV1DocumentPageTableTableRow `json:"bodyRows,omitempty"` + // DetectedLanguages: A list of detected languages together with confidence. + DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` + // HeaderRows: Header rows of the table. + HeaderRows []*GoogleCloudDocumentaiV1DocumentPageTableTableRow `json:"headerRows,omitempty"` + // Layout: Layout for Table. + Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` + // Provenance: The history of this table. + Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` + // ForceSendFields is a list of field names (e.g. "BodyRows") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FormattedType") to include in API + // NullFields is a list of field names (e.g. "BodyRows") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiRelationshipStatus) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiRelationshipStatus +func (s *GoogleCloudDocumentaiV1DocumentPageTable) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageTable return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiRightOfPublicityState: User preference -// for shared endorsements. See go/se-devguide and go/sharedendorsements for -// details, including guidance on which contexts are which. -type AppsPeopleOzExternalMergedpeopleapiRightOfPublicityState struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Possible values: - // "STATE_UNSPECIFIED" - // "NOT_OK_TO_DISPLAY" - OK to display in non-commercial contexts, but not in - // commercial ones. - // "OK_TO_DISPLAY" - Okay to display in commercial or advertising contexts. - // "OK_TO_DISPLAY_IN_NON_ADS_COMMERCIAL_CONTEXT" - Okay to display in - // commercial contexts other than advertising. - State string `json:"state,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// GoogleCloudDocumentaiV1DocumentPageTableTableCell: A cell representation +// inside the table. +type GoogleCloudDocumentaiV1DocumentPageTableTableCell struct { + // ColSpan: How many columns this cell spans. + ColSpan int64 `json:"colSpan,omitempty"` + // DetectedLanguages: A list of detected languages together with confidence. + DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` + // Layout: Layout for TableCell. + Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` + // RowSpan: How many rows this cell spans. + RowSpan int64 `json:"rowSpan,omitempty"` + // ForceSendFields is a list of field names (e.g. "ColSpan") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API + // NullFields is a list of field names (e.g. "ColSpan") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiRightOfPublicityState) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiRightOfPublicityState +func (s *GoogleCloudDocumentaiV1DocumentPageTableTableCell) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageTableTableCell return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiRosterDetails: Information specific to -// rosters like Google Groups and Chatrooms. -type AppsPeopleOzExternalMergedpeopleapiRosterDetails struct { - // AbridgedRosterMemberships: Abridged / sample subset of member details of the - // roster. NOTE: This field is only returned if the request's field mask - // includes "person.roster_details.abridged_roster_memberships". - // http://cs/symbol:google.apps.cloudidentity.groups.internal.GroupSummary.abridged_memberships - AbridgedRosterMemberships []*AppsPeopleOzExternalMergedpeopleapiRosterMember `json:"abridgedRosterMemberships,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // RosterMemberCount: Indicates the number of members and sub-rosters of the - // roster. Corresponds to - // http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.direct_member_count_per_type - RosterMemberCount *AppsPeopleOzExternalMergedpeopleapiRosterMemberCount `json:"rosterMemberCount,omitempty"` - // ForceSendFields is a list of field names (e.g. "AbridgedRosterMemberships") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// GoogleCloudDocumentaiV1DocumentPageTableTableRow: A row of table cells. +type GoogleCloudDocumentaiV1DocumentPageTableTableRow struct { + // Cells: Cells that make up this row. + Cells []*GoogleCloudDocumentaiV1DocumentPageTableTableCell `json:"cells,omitempty"` + // ForceSendFields is a list of field names (e.g. "Cells") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AbridgedRosterMemberships") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See + // NullFields is a list of field names (e.g. "Cells") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiRosterDetails) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiRosterDetails +func (s *GoogleCloudDocumentaiV1DocumentPageTableTableRow) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageTableTableRow return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiRosterMember: Represents details of a -// member of a roster. Used in RosterDetails. Corresponds to -// http://cs/symbol:google.apps.cloudidentity.groups.internal.Membership -type AppsPeopleOzExternalMergedpeopleapiRosterMember struct { - // MemberType: Type of the member. - // - // Possible values: - // "ROSTER_MEMBER_TYPE_UNSPECIFIED" - // "PERSON" - CIG's Membership.Type.USER - // "ROSTER" - CIG's Membership.Type.GROUP - MemberType string `json:"memberType,omitempty"` - // PersonId: Focus-Obfuscated Gaia Id of the member. - PersonId string `json:"personId,omitempty"` - // ForceSendFields is a list of field names (e.g. "MemberType") to +// GoogleCloudDocumentaiV1DocumentPageToken: A detected token. +type GoogleCloudDocumentaiV1DocumentPageToken struct { + // DetectedBreak: Detected break at the end of a Token. + DetectedBreak *GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak `json:"detectedBreak,omitempty"` + // DetectedLanguages: A list of detected languages together with confidence. + DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` + // Layout: Layout for Token. + Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` + // Provenance: The history of this annotation. + Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` + // StyleInfo: Text style attributes. + StyleInfo *GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo `json:"styleInfo,omitempty"` + // ForceSendFields is a list of field names (e.g. "DetectedBreak") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MemberType") to include in API + // NullFields is a list of field names (e.g. "DetectedBreak") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiRosterMember) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiRosterMember +func (s *GoogleCloudDocumentaiV1DocumentPageToken) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageToken return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiRosterMemberCount: Represents the summary -// of member counts of a roster. Used in RosterDetails. Corresponds to -// http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType -type AppsPeopleOzExternalMergedpeopleapiRosterMemberCount struct { - // DirectGroupCount: Indicates the number of direct sub-rosters of the roster. - // This comes from - // http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType.group_count - DirectGroupCount int64 `json:"directGroupCount,omitempty,string"` - // DirectUserCount: Indicates the number of direct, non-roster members of the - // roster. This comes from - // http://cs/symbol:google.apps.cloudidentity.groups.internal.Group.DirectMemberCountPerType.user_count - DirectUserCount int64 `json:"directUserCount,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "DirectGroupCount") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak: Detected break at the +// end of a Token. +type GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak struct { + // Type: Detected break type. + // + // Possible values: + // "TYPE_UNSPECIFIED" - Unspecified break type. + // "SPACE" - A single whitespace. + // "WIDE_SPACE" - A wider whitespace. + // "HYPHEN" - A hyphen that indicates that a token has been split across + // lines. + Type string `json:"type,omitempty"` + // ForceSendFields is a list of field names (e.g. "Type") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DirectGroupCount") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "Type") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiRosterMemberCount) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiRosterMemberCount +func (s *GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiSearchProfile: Profile for Janata and -// Search. go/janata-profile-in-sgbe -type AppsPeopleOzExternalMergedpeopleapiSearchProfile struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - SearchProfileData *SocialGraphApiProtoSearchProfileData `json:"searchProfileData,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to +// GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo: Font and other text style +// attributes. +type GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo struct { + // BackgroundColor: Color of the background. + BackgroundColor *GoogleTypeColor `json:"backgroundColor,omitempty"` + // Bold: Whether the text is bold (equivalent to font_weight is at least + // `700`). + Bold bool `json:"bold,omitempty"` + // FontSize: Font size in points (`1` point is `¹⁄₇₂` inches). + FontSize int64 `json:"fontSize,omitempty"` + // FontType: Name or style of the font. + FontType string `json:"fontType,omitempty"` + // FontWeight: TrueType weight on a scale `100` (thin) to `1000` (ultra-heavy). + // Normal is `400`, bold is `700`. + FontWeight int64 `json:"fontWeight,omitempty"` + // Handwritten: Whether the text is handwritten. + Handwritten bool `json:"handwritten,omitempty"` + // Italic: Whether the text is italic. + Italic bool `json:"italic,omitempty"` + // LetterSpacing: Letter spacing in points. + LetterSpacing float64 `json:"letterSpacing,omitempty"` + // PixelFontSize: Font size in pixels, equal to _unrounded font_size_ * + // _resolution_ ÷ `72.0`. + PixelFontSize float64 `json:"pixelFontSize,omitempty"` + // Smallcaps: Whether the text is in small caps. This feature is not supported + // yet. + Smallcaps bool `json:"smallcaps,omitempty"` + // Strikeout: Whether the text is strikethrough. This feature is not supported + // yet. + Strikeout bool `json:"strikeout,omitempty"` + // Subscript: Whether the text is a subscript. This feature is not supported + // yet. + Subscript bool `json:"subscript,omitempty"` + // Superscript: Whether the text is a superscript. This feature is not + // supported yet. + Superscript bool `json:"superscript,omitempty"` + // TextColor: Color of the text. + TextColor *GoogleTypeColor `json:"textColor,omitempty"` + // Underlined: Whether the text is underlined. + Underlined bool `json:"underlined,omitempty"` + // ForceSendFields is a list of field names (e.g. "BackgroundColor") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "BackgroundColor") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiSearchProfile) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiSearchProfile +func (s *GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiSipAddress: As of 03/2018 is not -// supported for user Profile. -type AppsPeopleOzExternalMergedpeopleapiSipAddress struct { - // FormattedType: The `type` translated and formatted in the request locale. - // See go/people-api-howto/localization for details on how to usage. - FormattedType string `json:"formattedType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Type: The type of the SIP address. The type can be free form or or one of - // these predefined values: * `home` * `work` * `mobile` * `other` - Type string `json:"type,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "FormattedType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FormattedType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiSipAddress) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiSipAddress - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +func (s *GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo + var s1 struct { + LetterSpacing gensupport.JSONFloat64 `json:"letterSpacing"` + PixelFontSize gensupport.JSONFloat64 `json:"pixelFontSize"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.LetterSpacing = float64(s1.LetterSpacing) + s.PixelFontSize = float64(s1.PixelFontSize) + return nil } -type AppsPeopleOzExternalMergedpeopleapiSkills struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to +// GoogleCloudDocumentaiV1DocumentPageVisualElement: Detected non-text visual +// elements e.g. checkbox, signature etc. on the page. +type GoogleCloudDocumentaiV1DocumentPageVisualElement struct { + // DetectedLanguages: A list of detected languages together with confidence. + DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` + // Layout: Layout for VisualElement. + Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` + // Type: Type of the VisualElement. + Type string `json:"type,omitempty"` + // ForceSendFields is a list of field names (e.g. "DetectedLanguages") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "DetectedLanguages") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiSkills) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiSkills +func (s *GoogleCloudDocumentaiV1DocumentPageVisualElement) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentPageVisualElement return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiSocialConnection: The social connection -// of this person to the viewer. NOTE: this is used by go/starlight, but not -// actually used or returned in PeopleAPI. See b/27281119 for context. -type AppsPeopleOzExternalMergedpeopleapiSocialConnection struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` +// GoogleCloudDocumentaiV1DocumentProvenance: Structure to identify provenance +// relationships between annotations in different revisions. +type GoogleCloudDocumentaiV1DocumentProvenance struct { + // Id: The Id of this operation. Needs to be unique within the scope of the + // revision. + Id int64 `json:"id,omitempty"` + // Parents: References to the original elements that are replaced. + Parents []*GoogleCloudDocumentaiV1DocumentProvenanceParent `json:"parents,omitempty"` + // Revision: The index of the revision that produced this element. + Revision int64 `json:"revision,omitempty"` + // Type: The type of provenance operation. + // // Possible values: - // "SOCIAL_CONNECTION_UNKNOWN" - // "NO_CONNECTION" - This person is not connected to the viewer. - // "GPLUS_SECOND_HOP" - Google+ user is a second hop relative to viewer. - // "DIRECT_CONNECTION" - User is a contact or in circles of the viewer. - // "SELF" - This person is the viewer. - Type []string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See + // "OPERATION_TYPE_UNSPECIFIED" - Operation type unspecified. If no operation + // is specified a provenance entry is simply used to match against a `parent`. + // "ADD" - Add an element. + // "REMOVE" - Remove an element identified by `parent`. + // "UPDATE" - Updates any fields within the given provenance scope of the + // message. It overwrites the fields rather than replacing them. Use this when + // you want to update a field value of an entity without also updating all the + // child properties. + // "REPLACE" - Currently unused. Replace an element identified by `parent`. + // "EVAL_REQUESTED" - Deprecated. Request human review for the element + // identified by `parent`. + // "EVAL_APPROVED" - Deprecated. Element is reviewed and approved at human + // review, confidence will be set to 1.0. + // "EVAL_SKIPPED" - Deprecated. Element is skipped in the validation process. + Type string `json:"type,omitempty"` + // ForceSendFields is a list of field names (e.g. "Id") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "Id") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiSocialConnection) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiSocialConnection +func (s *GoogleCloudDocumentaiV1DocumentProvenance) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentProvenance return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiSortKeys struct { - Affinity []*AppsPeopleOzExternalMergedpeopleapiAffinity `json:"affinity,omitempty"` - // InteractionRank: Deprecated. This field is only populated with 0.000 for - // legacy reasons. Clients should not use this field. - InteractionRank string `json:"interactionRank,omitempty"` - LastName string `json:"lastName,omitempty"` - LastNameRaw string `json:"lastNameRaw,omitempty"` - Name string `json:"name,omitempty"` - // NameRaw: Raw name strings that were used to generate the name and last_name - // sort keys fields above. Contacts+ need them to generate section headers for - // list view (b/30642866). - NameRaw string `json:"nameRaw,omitempty"` - // ForceSendFields is a list of field names (e.g. "Affinity") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Affinity") to include in API - // requests with the JSON null value. By default, fields with empty values are +// GoogleCloudDocumentaiV1DocumentProvenanceParent: The parent element the +// current element is based on. Used for referencing/aligning, removal and +// replacement operations. +type GoogleCloudDocumentaiV1DocumentProvenanceParent struct { + // Id: The id of the parent provenance. + Id int64 `json:"id,omitempty"` + // Index: The index of the parent item in the corresponding item list (eg. list + // of entities, properties within entities, etc.) in the parent revision. + Index int64 `json:"index,omitempty"` + // Revision: The index of the index into current revision's parent_ids list. + Revision int64 `json:"revision,omitempty"` + // ForceSendFields is a list of field names (e.g. "Id") to unconditionally + // include in API requests. By default, fields with empty or default values are // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Id") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiSortKeys) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiSortKeys +func (s *GoogleCloudDocumentaiV1DocumentProvenanceParent) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentProvenanceParent return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiSourceIdentity: Id of a single source -// from the merged person. -type AppsPeopleOzExternalMergedpeopleapiSourceIdentity struct { - // Container: The type of source. To be deprecated infavor of container_type - // - // Possible values: - // "UNKNOWN" - // "PROFILE" - Google Profile. PROFILE fields are editable by the profile - // owner, unless the field metadata includes writeable=false. - // "CONTACT" - Google Contact - // "CIRCLE" - Circle membership of non-g+ user. - // "PLACE" - A maps place - // "ACCOUNT" - The requester's own Gaia account. ACCOUNT fields are not - // editable by anyone. They only occur when the requester is "me". In the event - // an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE - // field when viewed by a requester who is not "me". - // "EXTERNAL_ACCOUNT" - LinkedExternalSites (go/PeopleApiConnectedSites) - // "DOMAIN_PROFILE" - Google-For-Work Profile. DOMAIN_PROFILE fields are - // editable by the Dasher administrator of the domain. They are not editable by - // the profile owner. - // "DOMAIN_CONTACT" - Domain shared contact - // "DEVICE_CONTACT" - To be deprecated in favor of RAW_DEVICE_CONTACT See - // go/mergedperson-for-device-contacts Aggregation is represented using - // person.metadata.device_contact_info - // "GOOGLE_GROUP" - Google group. Examples: sales@zara.es. - // "AFFINITY" - Data from the user's frequent interactions. - // "RAW_DEVICE_CONTACT" - Data from a raw (non-aggregated) device contact. - // See go/mergedperson-for-device-contacts - // "CONTACT_ANNOTATION" - Data from contact annotation. Contact annotations - // are currently generated and used by Google Assistant. - // "DELEGATED_CONTACT" - Data from delegated contacts. Delegated contacts are - // the contacts delegated to the current requester. The requester can then - // access those contacts. See go/ph-delegation. - Container string `json:"container,omitempty"` - // ContainerType: The type of the source. - // - // Possible values: - // "UNKNOWN_CONTAINER" - // "PROFILE" - Google Profile. PROFILE fields are editable by the profile - // owner, unless the field metadata includes writeable=false. - // "CONTACT" - Google Contact - // "CIRCLE" - Deprecated. E-mail only circle membership should be dead. - // E-mail only circle membership of non-g+ user. - // "PLACE" - A maps place - // "ACCOUNT" - The requester's own Gaia account. ACCOUNT fields are not - // editable by anyone. They only occur when the requester is "me". In the event - // an ACCOUNT field is ACLed non-private, it will be returned as a PROFILE - // field when viewed by a requester who is not "me". - // "EXTERNAL_ACCOUNT" - LinkedExternalSites (go/PeopleApiConnectedSites) - // "DOMAIN_PROFILE" - Google-For-Work Profile. DOMAIN_PROFILE fields are - // editable by the Dasher administrator of the domain. They are not editable by - // the profile owner. - // "DOMAIN_CONTACT" - Domain shared contact. An entity that is owned by a - // domain and represents a person, but is not a user in the domain. For more - // details see https://support.google.com/a/answer/9281635. - // "DEVICE_CONTACT" - To be deprecated in favor of RAW_DEVICE_CONTACT See - // go/mergedperson-for-device-contacts Aggregation is represented using - // person.metadata.device_contact_info - // "GOOGLE_GROUP" - Google group. Examples: sales@zara.es. - // "NAMED_CHAT_ROOM" - Dynamite "Named Flat Room" (NFR). This is a Baggins - // Roster with label DYNAMITE_SPACE *and* label DYNAMITE_NAMED_SPACE. See - // go/people-api-concepts#chat-rooms - // "UNNAMED_CHAT_ROOM" - Dynamite "Unnamed Flat Room" (UFR). This is a - // Baggins Roster with label DYNAMITE_SPACE but does *not* have label - // DYNAMITE_NAMED_SPACE. See go/people-api-concepts#chat-rooms - // "AFFINITY" - Device contacts that are used in interaction ranking, but - // have not been uploaded to Google. These are synthesized people from - // interaction data. This container type is only used in ListRankedPeople and - // ListRankedTargets actions. See go/TopNWithClusteringPart1. - // "RAW_DEVICE_CONTACT" - Data from a raw (non-aggregated) device contact. - // See go/mergedperson-for-device-contacts - // "CONTACT_ANNOTATION" - Data from contact annotation. Contact annotations - // are currently generated and used by Google Assistant. - // "DELEGATED_CONTACT" - Data from delegated contacts. Delegated contacts are - // the contacts delegated to the current requester. The requester can then - // access those contacts. See go/ph-delegation. - ContainerType string `json:"containerType,omitempty"` - // Deleted: In sync responses, indicates whether the identity source has been - // deleted. Not applicable to GOOGLE_GROUP. - Deleted bool `json:"deleted,omitempty"` - // Id: The encoded id of the data source. This field correlates to - // PersonFieldMetadata.encoded_container_id. The possible values of this `id` - // field are as follows based on the value of the `container_type` field: - // CONTACT: Hex-encoded contact id. PROFILE: DOMAIN_PROFILE: GOOGLE_GROUP: - // NAMED_CHAT_ROOM: Focus-obfuscated Gaia ID. DOMAIN_CONTACT: Synthetic-contact - // id representing the domain shared contact. PLACE: Encoded PlaceId - // (go/javagoog/maps/api/places/util/PlaceIdEncoder.java) RAW_DEVICE_CONTACT: - // Pair of device_id and raw_contact_id, encoded as base64 serialized - // social.graph.peopleapi.proto.internal.RawDeviceContactId proto. - // CONTACT_ANNOTATION: Pair of annotation_id and event_timestamp, encoded as - // base64 serialized social.graph.peopleapi.proto.internal.ContactAnnotationId - // proto. -- DEPRECATED container types -- If the container is CIRCLE, then the - // id is going to be the synthetic- contact id representing the email-only - // circle member or gaia circle member for which the requester does not have a - // contact for. +// GoogleCloudDocumentaiV1DocumentRevision: Contains past or forward revisions +// of this document. +type GoogleCloudDocumentaiV1DocumentRevision struct { + // Agent: If the change was made by a person specify the name or id of that + // person. + Agent string `json:"agent,omitempty"` + // CreateTime: The time that the revision was created, internally generated by + // doc proto storage at the time of create. + CreateTime string `json:"createTime,omitempty"` + // HumanReview: Human Review information of this revision. + HumanReview *GoogleCloudDocumentaiV1DocumentRevisionHumanReview `json:"humanReview,omitempty"` + // Id: Id of the revision, internally generated by doc proto storage. Unique + // within the context of the document. Id string `json:"id,omitempty"` - // LastUpdated: Last update timestamp of this source. NOTE: Only populated for - // CONTACT container type in Java PeopleAPI. Populated for CONTACT, PROFILE, - // DOMAIN_PROFILE in Sharpen implementation. NOTE: Not populated for - // GOOGLE_GROUP. - LastUpdated string `json:"lastUpdated,omitempty"` - // LastUpdatedMicros: **DEPRECATED** Please use `last_updated` field instead. - // Last update timestamp of this source in microseconds. NOTE: Only populated - // for CONTACT container type. - LastUpdatedMicros int64 `json:"lastUpdatedMicros,omitempty,string"` - // SourceEtag: NOTE: Not populated for GOOGLE_GROUP. - SourceEtag string `json:"sourceEtag,omitempty"` - // ForceSendFields is a list of field names (e.g. "Container") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See + // Parent: The revisions that this revision is based on. This can include one + // or more parent (when documents are merged.) This field represents the index + // into the `revisions` field. + Parent []int64 `json:"parent,omitempty"` + // ParentIds: The revisions that this revision is based on. Must include all + // the ids that have anything to do with this revision - eg. there are + // `provenance.parent.revision` fields that index into this field. + ParentIds []string `json:"parentIds,omitempty"` + // Processor: If the annotation was made by processor identify the processor by + // its resource name. + Processor string `json:"processor,omitempty"` + // ForceSendFields is a list of field names (e.g. "Agent") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Container") to include in API + // NullFields is a list of field names (e.g. "Agent") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiSourceIdentity) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiSourceIdentity +func (s *GoogleCloudDocumentaiV1DocumentRevision) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentRevision return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiSshPublicKey: Custom field that -// represents SSH public keys associated with the user. We can treat the field -// as a map from a string fingerprint to the SSH public key information. -type AppsPeopleOzExternalMergedpeopleapiSshPublicKey struct { - ExpirationTime string `json:"expirationTime,omitempty"` - // Fingerprint: The value is automatically set to a SHA-256 fingerprint of an - // SSH public key. A fingerprint should uniquely identify an SSH public key. - Fingerprint string `json:"fingerprint,omitempty"` - Key string `json:"key,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExpirationTime") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// GoogleCloudDocumentaiV1DocumentRevisionHumanReview: Human Review information +// of the document. +type GoogleCloudDocumentaiV1DocumentRevisionHumanReview struct { + // State: Human review state. e.g. `requested`, `succeeded`, `rejected`. + State string `json:"state,omitempty"` + // StateMessage: A message providing more details about the current state of + // processing. For example, the rejection reason when the state is `rejected`. + StateMessage string `json:"stateMessage,omitempty"` + // ForceSendFields is a list of field names (e.g. "State") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExpirationTime") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See + // NullFields is a list of field names (e.g. "State") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiSshPublicKey) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiSshPublicKey +func (s *GoogleCloudDocumentaiV1DocumentRevisionHumanReview) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentRevisionHumanReview return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiStructuredPhone: This message mirrors the -// ContactPhoneNumber message in ccc/grand_central/common/types.proto. For -// various reasons, we cannot take on a direct dependency. See other proto file -// for most recent documentation. -type AppsPeopleOzExternalMergedpeopleapiStructuredPhone struct { - // FormattedType: The phone formatted type. See docs from mirrored proto: - // http://google3/ccc/grand_central/common/types.proto?l=128&rcl=241000760 - FormattedType string `json:"formattedType,omitempty"` - PhoneNumber *AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumber `json:"phoneNumber,omitempty"` - ShortCode *AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCode `json:"shortCode,omitempty"` - // Type: The type of phone. See docs from mirrored proto: - // http://google3/ccc/grand_central/common/types.proto?l=125&rcl=241000760 - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "FormattedType") to +// GoogleCloudDocumentaiV1DocumentShardInfo: For a large document, sharding may +// be performed to produce several document shards. Each document shard +// contains this field to detail which shard it is. +type GoogleCloudDocumentaiV1DocumentShardInfo struct { + // ShardCount: Total number of shards. + ShardCount int64 `json:"shardCount,omitempty,string"` + // ShardIndex: The 0-based index of this shard. + ShardIndex int64 `json:"shardIndex,omitempty,string"` + // TextOffset: The index of the first character in Document.text in the overall + // document global text. + TextOffset int64 `json:"textOffset,omitempty,string"` + // ForceSendFields is a list of field names (e.g. "ShardCount") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FormattedType") to include in API + // NullFields is a list of field names (e.g. "ShardCount") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiStructuredPhone) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiStructuredPhone +func (s *GoogleCloudDocumentaiV1DocumentShardInfo) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentShardInfo return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumber struct { - E164 string `json:"e164,omitempty"` - I18nData *AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nData `json:"i18nData,omitempty"` - // ForceSendFields is a list of field names (e.g. "E164") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// GoogleCloudDocumentaiV1DocumentStyle: Annotation for common text style +// attributes. This adheres to CSS conventions as much as possible. +type GoogleCloudDocumentaiV1DocumentStyle struct { + // BackgroundColor: Text background color. + BackgroundColor *GoogleTypeColor `json:"backgroundColor,omitempty"` + // Color: Text color. + Color *GoogleTypeColor `json:"color,omitempty"` + // FontFamily: Font family such as `Arial`, `Times New Roman`. + // https://www.w3schools.com/cssref/pr_font_font-family.asp + FontFamily string `json:"fontFamily,omitempty"` + // FontSize: Font size. + FontSize *GoogleCloudDocumentaiV1DocumentStyleFontSize `json:"fontSize,omitempty"` + // FontWeight: Font weight + // (https://www.w3schools.com/cssref/pr_font_weight.asp). Possible values are + // `normal`, `bold`, `bolder`, and `lighter`. + FontWeight string `json:"fontWeight,omitempty"` + // TextAnchor: Text anchor indexing into the Document.text. + TextAnchor *GoogleCloudDocumentaiV1DocumentTextAnchor `json:"textAnchor,omitempty"` + // TextDecoration: Text decoration + // (https://www.w3schools.com/cssref/pr_text_text-decoration.asp). Follows CSS + // standard. + TextDecoration string `json:"textDecoration,omitempty"` + // TextStyle: Text style + // (https://www.w3schools.com/cssref/pr_font_font-style.asp). Possible values + // are `normal`, `italic`, and `oblique`. + TextStyle string `json:"textStyle,omitempty"` + // ForceSendFields is a list of field names (e.g. "BackgroundColor") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "E164") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "BackgroundColor") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumber) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumber +func (s *GoogleCloudDocumentaiV1DocumentStyle) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentStyle return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nData struct { - CountryCode int64 `json:"countryCode,omitempty"` - InternationalNumber string `json:"internationalNumber,omitempty"` - IsValid bool `json:"isValid,omitempty"` - NationalNumber string `json:"nationalNumber,omitempty"` - RegionCode string `json:"regionCode,omitempty"` - // Possible values: - // "UNKNOWN" - // "IS_POSSIBLE" - // "INVALID_COUNTRY_CODE" - // "TOO_SHORT" - // "TOO_LONG" - // "IS_POSSIBLE_LOCAL_ONLY" - // "INVALID_LENGTH" - ValidationResult string `json:"validationResult,omitempty"` - // ForceSendFields is a list of field names (e.g. "CountryCode") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See +// GoogleCloudDocumentaiV1DocumentStyleFontSize: Font size with unit. +type GoogleCloudDocumentaiV1DocumentStyleFontSize struct { + // Size: Font size for the text. + Size float64 `json:"size,omitempty"` + // Unit: Unit for the font size. Follows CSS naming (such as `in`, `px`, and + // `pt`). + Unit string `json:"unit,omitempty"` + // ForceSendFields is a list of field names (e.g. "Size") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CountryCode") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See + // NullFields is a list of field names (e.g. "Size") to include in API requests + // with the JSON null value. By default, fields with empty values are omitted + // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiStructuredPhonePhoneNumberI18nData +func (s *GoogleCloudDocumentaiV1DocumentStyleFontSize) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentStyleFontSize return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCode struct { - // Code: The phone code. See docs from mirrored proto: - // http://google3/ccc/grand_central/common/types.proto?l=70&rcl=241000760 - Code string `json:"code,omitempty"` - CountryCode string `json:"countryCode,omitempty"` - // ForceSendFields is a list of field names (e.g. "Code") to unconditionally +func (s *GoogleCloudDocumentaiV1DocumentStyleFontSize) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDocumentaiV1DocumentStyleFontSize + var s1 struct { + Size gensupport.JSONFloat64 `json:"size"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.Size = float64(s1.Size) + return nil +} + +// GoogleCloudDocumentaiV1DocumentTextAnchor: Text reference indexing into the +// Document.text. +type GoogleCloudDocumentaiV1DocumentTextAnchor struct { + // Content: Contains the content of the text span so that users do not have to + // look it up in the text_segments. It is always populated for formFields. + Content string `json:"content,omitempty"` + // TextSegments: The text segments from the Document.text. + TextSegments []*GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment `json:"textSegments,omitempty"` + // ForceSendFields is a list of field names (e.g. "Content") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Code") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See + // NullFields is a list of field names (e.g. "Content") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCode) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiStructuredPhoneShortCode +func (s *GoogleCloudDocumentaiV1DocumentTextAnchor) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentTextAnchor return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiTagline struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to +// GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment: A text segment in the +// Document.text. The indices may be out of bounds which indicate that the text +// extends into another document shard for large sharded documents. See +// ShardInfo.text_offset +type GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment struct { + // EndIndex: TextSegment half open end UTF-8 char index in the Document.text. + EndIndex int64 `json:"endIndex,omitempty,string"` + // StartIndex: TextSegment start UTF-8 char index in the Document.text. + StartIndex int64 `json:"startIndex,omitempty,string"` + // ForceSendFields is a list of field names (e.g. "EndIndex") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API + // NullFields is a list of field names (e.g. "EndIndex") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiTagline) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiTagline +func (s *GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiTeamsExtendedData: *UNSUPPORTED*. This -// message is never populated and is no longer used. -type AppsPeopleOzExternalMergedpeopleapiTeamsExtendedData struct { - AdminTo []*AppsPeopleOzExternalMergedpeopleapiPerson `json:"adminTo,omitempty"` - Admins []*AppsPeopleOzExternalMergedpeopleapiPerson `json:"admins,omitempty"` - DottedLineManagers []*AppsPeopleOzExternalMergedpeopleapiPerson `json:"dottedLineManagers,omitempty"` - DottedLineReports *AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber `json:"dottedLineReports,omitempty"` - // Possible values: - // "UNKNOWN_FAILURE" - // "MANAGEMENT_CHAIN" - // "REPORTS" - // "DOTTED_LINE_REPORTS" - // "DOTTED_LINE_MANAGERS" - // "ADMINS" - // "ADMIN_TO" - Failures []string `json:"failures,omitempty"` - ManagementChain []*AppsPeopleOzExternalMergedpeopleapiPerson `json:"managementChain,omitempty"` - Reports *AppsPeopleOzExternalMergedpeopleapiPersonListWithTotalNumber `json:"reports,omitempty"` - // ForceSendFields is a list of field names (e.g. "AdminTo") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See +// GoogleCloudDocumentaiV1DocumentTextChange: This message is used for text +// changes aka. OCR corrections. +type GoogleCloudDocumentaiV1DocumentTextChange struct { + // ChangedText: The text that replaces the text identified in the + // `text_anchor`. + ChangedText string `json:"changedText,omitempty"` + // Provenance: The history of this annotation. + Provenance []*GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` + // TextAnchor: Provenance of the correction. Text anchor indexing into the + // Document.text. There can only be a single `TextAnchor.text_segments` + // element. If the start and end index of the text segment are the same, the + // text change is inserted before that index. + TextAnchor *GoogleCloudDocumentaiV1DocumentTextAnchor `json:"textAnchor,omitempty"` + // ForceSendFields is a list of field names (e.g. "ChangedText") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AdminTo") to include in API + // NullFields is a list of field names (e.g. "ChangedText") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiTeamsExtendedData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiTeamsExtendedData +func (s *GoogleCloudDocumentaiV1DocumentTextChange) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1DocumentTextChange return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AppsPeopleOzExternalMergedpeopleapiUserDefined struct { - Key string `json:"key,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Key") to unconditionally +// GoogleCloudDocumentaiV1NormalizedVertex: A vertex represents a 2D point in +// the image. NOTE: the normalized vertex coordinates are relative to the +// original image and range from 0 to 1. +type GoogleCloudDocumentaiV1NormalizedVertex struct { + // X: X coordinate. + X float64 `json:"x,omitempty"` + // Y: Y coordinate (starts from the top of the image). + Y float64 `json:"y,omitempty"` + // ForceSendFields is a list of field names (e.g. "X") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Key") to include in API requests + // NullFields is a list of field names (e.g. "X") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiUserDefined) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiUserDefined +func (s *GoogleCloudDocumentaiV1NormalizedVertex) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1NormalizedVertex return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AppsPeopleOzExternalMergedpeopleapiUserVisibleStats: DEPRECATED in favor of -// ProfileStats. Stats pertaining to incoming edges and views, visible to the -// requester (with acls applied). Related to, but not equal to, -// com.google.focus.proto.Storage.UserVisibleStats. -type AppsPeopleOzExternalMergedpeopleapiUserVisibleStats struct { - // IncomingAnyCircleCount: Replacement for deprecated follower_count. Comes - // from the EdgeSummary. - IncomingAnyCircleCount int64 `json:"incomingAnyCircleCount,omitempty,string"` - ViewCount int64 `json:"viewCount,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "IncomingAnyCircleCount") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IncomingAnyCircleCount") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` +func (s *GoogleCloudDocumentaiV1NormalizedVertex) UnmarshalJSON(data []byte) error { + type NoMethod GoogleCloudDocumentaiV1NormalizedVertex + var s1 struct { + X gensupport.JSONFloat64 `json:"x"` + Y gensupport.JSONFloat64 `json:"y"` + *NoMethod + } + s1.NoMethod = (*NoMethod)(s) + if err := json.Unmarshal(data, &s1); err != nil { + return err + } + s.X = float64(s1.X) + s.Y = float64(s1.Y) + return nil } -func (s *AppsPeopleOzExternalMergedpeopleapiUserVisibleStats) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiUserVisibleStats - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AppsPeopleOzExternalMergedpeopleapiVisibleToGuests: Store metadata -// information like annotation-id and product source for visible to guests -// contacts go/visible-to-guests. -type AppsPeopleOzExternalMergedpeopleapiVisibleToGuests struct { - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiVisibleToGuests) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiVisibleToGuests - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedData struct { - // IsIncomplete: Used by Contacts client-side to indicate whether a person is - // not completed. - IsIncomplete bool `json:"isIncomplete,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsIncomplete") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsIncomplete") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiWebContactsExtendedData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AppsPeopleOzExternalMergedpeopleapiWebsite struct { - // FormattedType: The `type` translated and formatted in the request locale. - // See go/people-api-howto/localization for details on how to usage. - FormattedType string `json:"formattedType,omitempty"` - Metadata *AppsPeopleOzExternalMergedpeopleapiPersonFieldMetadata `json:"metadata,omitempty"` - // Rel: Currently in Oz: "Links": Links with no rel. "Other profiles": Links - // with rel=ME. "Contributor to": Links with rel=CONTRIBUTOR_TO or - // PAST_CONTRIBUTOR_TO. - Rel []*AppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo `json:"rel,omitempty"` - // Type: The type of the website. The type can be free form or one of these - // predefined values: * `home` * `work` * `blog` * `profile` * `homePage` * - // `ftp` * `reservations` * `appInstallPage`: website for a Currents - // application. * `other` - Type string `json:"type,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "FormattedType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FormattedType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiWebsite) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiWebsite - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo struct { - // Possible values: - // "UNKNOWN" - // "ME" - rel="me" - // "NOT_ME" - rel="" - // "CONTRIBUTOR_TO" - rel="contributor-to" - // "PAST_CONTRIBUTOR_TO" - rel="past-contributor-to" - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally +// GoogleCloudDocumentaiV1Vertex: A vertex represents a 2D point in the image. +// NOTE: the vertex coordinates are in the same scale as the original image. +type GoogleCloudDocumentaiV1Vertex struct { + // X: X coordinate. + X int64 `json:"x,omitempty"` + // Y: Y coordinate (starts from the top of the image). + Y int64 `json:"y,omitempty"` + // ForceSendFields is a list of field names (e.g. "X") to unconditionally // include in API requests. By default, fields with empty or default values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests + // NullFields is a list of field names (e.g. "X") to include in API requests // with the JSON null value. By default, fields with empty values are omitted // from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiWebsiteRelationshipInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedData: Extension data for -// use in Youtube Product Profile. -type AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedData struct { - // ChannelData: Information about a channel created by the user. A user can - // create multiple Youtube channels. - ChannelData []*AppsPeopleOzExternalMergedpeopleapiChannelData `json:"channelData,omitempty"` - // Failure: Failure type if there is an error when fetching product profile - // data. - Failure *AppsPeopleOzExternalMergedpeopleapiProductProfileFailure `json:"failure,omitempty"` - // ForceSendFields is a list of field names (e.g. "ChannelData") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ChannelData") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedData) MarshalJSON() ([]byte, error) { - type NoMethod AppsPeopleOzExternalMergedpeopleapiYoutubeExtendedData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiActionV2SupportedFeatures: The features supported by the -// ActionV2 protocol. Note that after we move on to ConversationProto for all -// surfaces we can remove this message. -type AssistantApiActionV2SupportedFeatures struct { - // ExpressUrlInSettingsResponseSupported: This flag is used to work around a - // bug in AGSA 6.8 that got away. The bug prevents users from accessing their - // shopping list if the URL of the shopping list is not a keep.google.com URL. - // This will happen when switch the backend that stores the shopping list from - // Keep to a backend maintained by the Google Shopping Express team. - ExpressUrlInSettingsResponseSupported bool `json:"expressUrlInSettingsResponseSupported,omitempty"` - // ReconnectClientInputSupported: Whether client supports reconnect client - // input in action v2 payload. This capability is needed to determine if client - // supports parsing client input payload from actionv2 proto for workflow - // purposes. See go/personal-workflow. OWNER:nyzstar,vvvemuri. - ReconnectClientInputSupported bool `json:"reconnectClientInputSupported,omitempty"` - // SimpleActionV2PuntSupported: Whether or not the surface supports a simple - // UnsupportedAction instead of a ModalState punt card for rendering. For - // ActionV2 punt cards, the ModalState extension on the ResourceSet is the - // canonical way of building punt cards. However, while most all devices - // support the ActionV2 protocol, not all devices handle the ModalState - // rendering as part of the ActionV2. For these devices, we want to build a - // modified ActionV2 for punt cards which omits this ModalState. At present, - // this is only Android Wear and should not be used for other devices if they - // support ModalState or Conversation protocol. - SimpleActionV2PuntSupported bool `json:"simpleActionV2PuntSupported,omitempty"` - // SupportedActionType: A list of all the action types supported by the client. - // These should be the string representation of majel.ActionTypes within - // "quality/majel/api/proto/action_v2.proto". - SupportedActionType []string `json:"supportedActionType,omitempty"` - // TakeScreenshotSupported: Checks if screenshots can be taken on the client. - // This field is set on the client from AGSA 7.2 onwards. - TakeScreenshotSupported bool `json:"takeScreenshotSupported,omitempty"` - // VoiceDelightImmersiveUiSupported: If IMMERSIVE_ACTIONS UiType is supported - // by the client. - VoiceDelightImmersiveUiSupported bool `json:"voiceDelightImmersiveUiSupported,omitempty"` - // VoiceDelightStickersSupported: If Voice Delight Stickers are supported by - // the client. In order to support Voice Delight stickers, the client should - // know how to extract sticker_url from VoiceDelightSystemInteractionSegment. - VoiceDelightStickersSupported bool `json:"voiceDelightStickersSupported,omitempty"` - // VoiceDelightSuggestionsSupported: If Voice Delight Suggestion Chips are - // supported by the client. In order to support Voice Delight Suggestion Chips, - // the client should know how to extract suggestions form - // VoiceDelightSystemInteraction.ResourceSet. - VoiceDelightSuggestionsSupported bool `json:"voiceDelightSuggestionsSupported,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "ExpressUrlInSettingsResponseSupported") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. - // "ExpressUrlInSettingsResponseSupported") to include in API requests with the - // JSON null value. By default, fields with empty values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for - // more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiActionV2SupportedFeatures) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiActionV2SupportedFeatures +func (s *GoogleCloudDocumentaiV1Vertex) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudDocumentaiV1Vertex return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AssistantApiAndroidIntentCapabilities: Capabilities related to Android -// intent support. These capabilities can apply to any device on the Android -// platform. Provides the list of Android package names that support a given -// Android intent. -type AssistantApiAndroidIntentCapabilities struct { - AndroidIntentCapability []*AssistantApiAndroidIntentCapabilitiesAndroidIntentCapability `json:"androidIntentCapability,omitempty"` - // ForceSendFields is a list of field names (e.g. "AndroidIntentCapability") to +// GoogleIamV1AuditConfig: Specifies the audit configuration for a service. The +// configuration determines which permission types are logged, and what +// identities, if any, are exempted from logging. An AuditConfig must have one +// or more AuditLogConfigs. If there are AuditConfigs for both `allServices` +// and a specific service, the union of the two AuditConfigs is used for that +// service: the log_types specified in each AuditConfig are enabled, and the +// exempted_members in each AuditLogConfig are exempted. Example Policy with +// multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", +// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ +// "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": +// "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", +// "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": +// "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For +// sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ +// logging. It also exempts `jose@example.com` from DATA_READ logging, and +// `aliya@example.com` from DATA_WRITE logging. +type GoogleIamV1AuditConfig struct { + // AuditLogConfigs: The configuration for logging of each type of permission. + AuditLogConfigs []*GoogleIamV1AuditLogConfig `json:"auditLogConfigs,omitempty"` + // Service: Specifies a service that will be enabled for audit logging. For + // example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` + // is a special value that covers all services. + Service string `json:"service,omitempty"` + // ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AndroidIntentCapability") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See + // NullFields is a list of field names (e.g. "AuditLogConfigs") to include in + // API requests with the JSON null value. By default, fields with empty values + // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AssistantApiAndroidIntentCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiAndroidIntentCapabilities +func (s *GoogleIamV1AuditConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleIamV1AuditConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -type AssistantApiAndroidIntentCapabilitiesAndroidIntentCapability struct { - // IntentActionName: The Action name of the Android Intent in standard notation - // (https://developer.android.com/reference/android/content/Intent#getAction()). - IntentActionName string `json:"intentActionName,omitempty"` - // PackageNames: The Android provider packages that support the intent, e.g. - // "com.google.android.deskclock". - PackageNames []string `json:"packageNames,omitempty"` - // ForceSendFields is a list of field names (e.g. "IntentActionName") to +// GoogleIamV1AuditLogConfig: Provides the configuration for logging a type of +// permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", +// "exempted_members": [ "user:jose@example.com" ] }, { "log_type": +// "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while +// exempting jose@example.com from DATA_READ logging. +type GoogleIamV1AuditLogConfig struct { + // ExemptedMembers: Specifies the identities that do not cause logging for this + // type of permission. Follows the same format of Binding.members. + ExemptedMembers []string `json:"exemptedMembers,omitempty"` + // LogType: The log type that this config enables. + // + // Possible values: + // "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this. + // "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy + // "DATA_WRITE" - Data writes. Example: CloudSQL Users create + // "DATA_READ" - Data reads. Example: CloudSQL Users list + LogType string `json:"logType,omitempty"` + // ForceSendFields is a list of field names (e.g. "ExemptedMembers") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IntentActionName") to include in + // NullFields is a list of field names (e.g. "ExemptedMembers") to include in // API requests with the JSON null value. By default, fields with empty values // are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AssistantApiAndroidIntentCapabilitiesAndroidIntentCapability) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiAndroidIntentCapabilitiesAndroidIntentCapability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiAppCapabilities: Used to describe app capabilities of the device -// installed apps reported to the server. -type AssistantApiAppCapabilities struct { - // AllowlistedForMediaFulfillment: Indicates whether the provider is compatible - // for media fulfillment on this surface. For example, Amazon Music isn't - // compatible with the driving mode. - AllowlistedForMediaFulfillment bool `json:"allowlistedForMediaFulfillment,omitempty"` - // AppIntegrationsSettings: Currently unused. Will be used in the future when - // integrating with incremental app capabilities. - AppIntegrationsSettings *AssistantApiAppIntegrationsSettings `json:"appIntegrationsSettings,omitempty"` - // DisabledSystemApp: This system app is disabled in settings. - DisabledSystemApp bool `json:"disabledSystemApp,omitempty"` - // Provider: The installed app of the provider. - Provider *AssistantApiCoreTypesProvider `json:"provider,omitempty"` - // RoutableToProviderCloud: This provider has integrated its cloud backend with - // Google, and Google can route the user queries to the provider's cloud. - RoutableToProviderCloud bool `json:"routableToProviderCloud,omitempty"` - // SearchableOnDevice: This provider has an app that supports on-device search - // through the provider's own inventory. - SearchableOnDevice bool `json:"searchableOnDevice,omitempty"` - // SearchableOnServer: This provider has integrated its content with Google, - // and Google has enabled to serve its content as a server-side solution. - SearchableOnServer bool `json:"searchableOnServer,omitempty"` - // Supports3pPodcastPlayback: Indicates whether the provider supports playback - // of 3P(externally hosted) podcasts. - Supports3pPodcastPlayback bool `json:"supports3pPodcastPlayback,omitempty"` - // SupportsScreenlessInitiation: This provider has an app that supports - // starting new media playback when there is no screen (e.g. by integrating - // with the Bisto SDK). - SupportsScreenlessInitiation bool `json:"supportsScreenlessInitiation,omitempty"` - // WhitelistedForAnnotation: This provider is an app which should be used for - // query annotations. This is useful for apps which may not be already indexed - // by Google or are client specific. - WhitelistedForAnnotation bool `json:"whitelistedForAnnotation,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "AllowlistedForMediaFulfillment") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AllowlistedForMediaFulfillment") - // to include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiAppCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiAppCapabilities +func (s *GoogleIamV1AuditLogConfig) MarshalJSON() ([]byte, error) { + type NoMethod GoogleIamV1AuditLogConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AssistantApiAppCapabilitiesDelta: Used to describe the incremental change of -// app capabilities of the device installed apps reported to the server. -type AssistantApiAppCapabilitiesDelta struct { - // AppIntegrationsSettings: Currently unused. Will be used in the future when - // integrating with incremental app capabilities. - AppIntegrationsSettings *AssistantApiAppIntegrationsSettings `json:"appIntegrationsSettings,omitempty"` - // ProviderDelta: The installed app of the provider. - ProviderDelta *AssistantApiCoreTypesProviderDelta `json:"providerDelta,omitempty"` - // ForceSendFields is a list of field names (e.g. "AppIntegrationsSettings") to +// GoogleIamV1Binding: Associates `members`, or principals, with a `role`. +type GoogleIamV1Binding struct { + // Condition: The condition that is associated with this binding. If the + // condition evaluates to `true`, then this binding applies to the current + // request. If the condition evaluates to `false`, then this binding does not + // apply to the current request. However, a different role binding might grant + // the same role to one or more of the principals in this binding. To learn + // which resources support conditions in their IAM policies, see the IAM + // documentation + // (https://cloud.google.com/iam/help/conditions/resource-policies). + Condition *GoogleTypeExpr `json:"condition,omitempty"` + // Members: Specifies the principals requesting access for a Google Cloud + // resource. `members` can have the following values: * `allUsers`: A special + // identifier that represents anyone who is on the internet; with or without a + // Google account. * `allAuthenticatedUsers`: A special identifier that + // represents anyone who is authenticated with a Google account or a service + // account. Does not include identities that come from external identity + // providers (IdPs) through identity federation. * `user:{emailid}`: An email + // address that represents a specific Google account. For example, + // `alice@example.com` . * `serviceAccount:{emailid}`: An email address that + // represents a Google service account. For example, + // `my-other-app@appspot.gserviceaccount.com`. * + // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An + // identifier for a Kubernetes service account + // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). + // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * + // `group:{emailid}`: An email address that represents a Google group. For + // example, `admins@example.com`. * `domain:{domain}`: The G Suite domain + // (primary) that represents all the users of that domain. For example, + // `google.com` or `example.com`. * + // `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub + // ject/{subject_attribute_value}`: A single identity in a workforce identity + // pool. * + // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ + // group/{group_id}`: All workforce identities in a group. * + // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ + // attribute.{attribute_name}/{attribute_value}`: All workforce identities with + // a specific attribute value. * + // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ + // *`: All identities in a workforce identity pool. * + // `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo + // rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single + // identity in a workload identity pool. * + // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global + // /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool + // group. * + // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global + // /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value} + // `: All identities in a workload identity pool with a certain attribute. * + // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global + // /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity + // pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a user that has been recently deleted. For + // example, `alice@example.com?uid=123456789012345678901`. If the user is + // recovered, this value reverts to `user:{emailid}` and the recovered user + // retains the role in the binding. * + // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus + // unique identifier) representing a service account that has been recently + // deleted. For example, + // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the + // service account is undeleted, this value reverts to + // `serviceAccount:{emailid}` and the undeleted service account retains the + // role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email + // address (plus unique identifier) representing a Google group that has been + // recently deleted. For example, + // `admins@example.com?uid=123456789012345678901`. If the group is recovered, + // this value reverts to `group:{emailid}` and the recovered group retains the + // role in the binding. * + // `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool + // _id}/subject/{subject_attribute_value}`: Deleted single identity in a + // workforce identity pool. For example, + // `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po + // ol-id/subject/my-subject-attribute-value`. + Members []string `json:"members,omitempty"` + // Role: Role that is assigned to the list of `members`, or principals. For + // example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview + // of the IAM roles and permissions, see the IAM documentation + // (https://cloud.google.com/iam/docs/roles-overview). For a list of the + // available pre-defined roles, see here + // (https://cloud.google.com/iam/docs/understanding-roles). + Role string `json:"role,omitempty"` + // ForceSendFields is a list of field names (e.g. "Condition") to // unconditionally include in API requests. By default, fields with empty or // default values are omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more // details. ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AppIntegrationsSettings") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiAppCapabilitiesDelta) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiAppCapabilitiesDelta - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiAppControlSupport struct { - // Possible values: - // "DEFAULT_DISABLED" - Disable all app control capabilities. - // "ENABLED_WITH_SMART_DICTATION" - Enable app control SD-dependent - // capabilities. - Enabled string `json:"enabled,omitempty"` - // SendMessageSuppressed: If true, disable send message AppControl/SD flow. - // This is needed to suppress the feature for specific device. If we decide to - // turn down this feature for all devices, then this field will become obsolete - // and should be removed. See context in b/275727627. - SendMessageSuppressed bool `json:"sendMessageSuppressed,omitempty"` - // ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Enabled") to include in API + // NullFields is a list of field names (e.g. "Condition") to include in API // requests with the JSON null value. By default, fields with empty values are // omitted from API requests. See // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. NullFields []string `json:"-"` } -func (s *AssistantApiAppControlSupport) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiAppControlSupport +func (s *GoogleIamV1Binding) MarshalJSON() ([]byte, error) { + type NoMethod GoogleIamV1Binding return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } -// AssistantApiAppIntegrationsSettings: Contains the app privacy bits used for -// App Integrations implicit request. -// (go/app-privacy-settings-for-implicit-requests) -type AssistantApiAppIntegrationsSettings struct { - // HandleRequestsWithPredictedApps: Whether to enable Assistant to handle - // request with predicted apps. - // - // Possible values: - // "UNSET" - // "FALSE" - // "TRUE" - HandleRequestsWithPredictedApps string `json:"handleRequestsWithPredictedApps,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "HandleRequestsWithPredictedApps") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HandleRequestsWithPredictedApps") - // to include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiAppIntegrationsSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiAppIntegrationsSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiAssistantContinuedPresenceSupport struct { - // PlateSupport: Indicates in what cases assistant continued presence can be - // shown as a plate. This field is white-listed as being PII-free. Please do - // not add PII here. - // - // Possible values: - // "DEFAULT_NO_PLATE" - Assistant continued presence cannot be shown. - // "SEARCH_ONLY" - Assistant continued presence can be shown only in - // SearchNowActivity. See go/lockhart-acp. - PlateSupport string `json:"plateSupport,omitempty"` - // ForceSendFields is a list of field names (e.g. "PlateSupport") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PlateSupport") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiAssistantContinuedPresenceSupport) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiAssistantContinuedPresenceSupport - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiAudioInput: These capabilities represent the audio input -// features associated with the device. This includes what kind of audio input -// the device can handle, and what the privacy circumstances of that input are. -type AssistantApiAudioInput struct { - // Possible values: - // "SURROUNDING_USERS" - Audio may be produced by or visible to any users in - // the vicinity of the authenticated user -- e.g., a speaker. NOTE that this is - // the default value since it's better to assume that the user is in public - // when they're not than vice versa. - // "AUTHENTICATED_USER_ONLY" - Audio can be assumed to come from or go to the - // authenticated user -- e.g., the mic or headphone on a phone or headset. - Environment string `json:"environment,omitempty"` - // Possible values: - // "VOICE_QUALITY" - An audio device capable of handling audio at fidelity - // high enough for voice use (TTS, speech recognition, telephone) but - // insufficient for media playback. - // "MUSIC_QUALITY" - An audio device capable of handling high-fidelity audio, - // suitable for use as a media device. - Quality string `json:"quality,omitempty"` - // ForceSendFields is a list of field names (e.g. "Environment") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Environment") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiAudioInput) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiAudioInput - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiAudioOutput: These capabilities represent the audio output -// features associated with the device. This includes what kind of audio output -// the device can handle, and what the privacy circumstances of that output -// are. -type AssistantApiAudioOutput struct { - // Possible values: - // "UNKNOWN" - The setting for always on speaker is unknown. - // "NOT_SUPPORTED" - Always on speaker is not supported. - // "SUPPORTED" - Always on speaker is supported. - AlwaysOnSpeaker string `json:"alwaysOnSpeaker,omitempty"` - // Possible values: - // "SURROUNDING_USERS" - Audio may be produced by or visible to any users in - // the vicinity of the authenticated user -- e.g., a speaker. NOTE that this is - // the default value since it's better to assume that the user is in public - // when they're not than vice versa. - // "AUTHENTICATED_USER_ONLY" - Audio can be assumed to come from or go to the - // authenticated user -- e.g., the mic or headphone on a phone or headset. - Environment string `json:"environment,omitempty"` - // Possible values: - // "MEDIA_TTS_MIXABLE_UNKNOWN" - Unknown whether device supports mixing TTS - // and device media. - // "MEDIA_TTS_MIXABLE_NOT_SUPPORTED" - Device cannot mix TTS and device - // media. - // "MEDIA_TTS_MIXABLE_SUPPORTED" - Device can mix TTS and device media. - MediaTtsMixable string `json:"mediaTtsMixable,omitempty"` - // Possible values: - // "VOICE_QUALITY" - An audio device capable of handling audio at fidelity - // high enough for voice use (TTS, speech recognition, telephone) but - // insufficient for media playback. - // "MUSIC_QUALITY" - An audio device capable of handling high-fidelity audio, - // suitable for use as a media device. - Quality string `json:"quality,omitempty"` - VolumeProperties *AssistantApiVolumeProperties `json:"volumeProperties,omitempty"` - // ForceSendFields is a list of field names (e.g. "AlwaysOnSpeaker") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AlwaysOnSpeaker") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiAudioOutput) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiAudioOutput - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiBluetoothCapabilities: Bluetooth capabilities related to usage -// of a feature. -type AssistantApiBluetoothCapabilities struct { - // IsBluetoothConnectedProfileRequired: If this surface needs to bluetooth pair - // a phone before using a feature. - IsBluetoothConnectedProfileRequired bool `json:"isBluetoothConnectedProfileRequired,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "IsBluetoothConnectedProfileRequired") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. - // "IsBluetoothConnectedProfileRequired") to include in API requests with the - // JSON null value. By default, fields with empty values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for - // more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiBluetoothCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiBluetoothCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCallCapabilities: CallCapabilities supported by a surface. See -// go/call-capabilities. Next ID: 7 -type AssistantApiCallCapabilities struct { - // CallFormats: The supported call formats on the surface. - // - // Possible values: - // "UNSPECIFIED_FORMAT" - // "AUDIO" - // "VIDEO" - // "TEXT" - CallFormats []string `json:"callFormats,omitempty"` - // CallMediums: The supported call mediums on the surface. - // - // Possible values: - // "UNSPECIFIED_MEDIUM" - // "PSTN" - Public Switched Telephone Network. - // "VOIP" - Voice Over IP. - // "EMAIL" - // "ONLINE_CHAT" - // "TEXT_MESSAGING" - Super set of SMS and MMS - // "MESSAGE" - Super set of EMAIL, ONLINE_CHAT, TEXT_MESSAGING - CallMediums []string `json:"callMediums,omitempty"` - // CallOptions: The call options this surface can provide. For example, - // SPEAKERPHONE is available on Android OPA while iOPA doesn't support it yet. - // - // Possible values: - // "UNSPECIFIED_CALL_OPTION" - // "SPEAKERPHONE" - // "BLUETOOTH" - // "HEADSET" - CallOptions []string `json:"callOptions,omitempty"` - // FallbackToTetheredDeviceAppCapabilities: If true, APP_ID queries initiated - // by this device should fall back to execution on the tethered device if it's - // available and if the primary device cannot perform the action (e.g. due to - // the app not being installed). - FallbackToTetheredDeviceAppCapabilities bool `json:"fallbackToTetheredDeviceAppCapabilities,omitempty"` - // SupportedRecipientTypes: Should only be checked if nonempty. - // - // Possible values: - // "UNSPECIFIED_ENDPOINT" - // "PHONE_NUMBER" - // "EMAIL_ADDRESS" - // "APP_UNIQUE_ID" - // "EMERGENCY_PHONE_NUMBER" - // "VOICEMAIL" - SupportedRecipientTypes []string `json:"supportedRecipientTypes,omitempty"` - SupportsDuoEmailEndpoint bool `json:"supportsDuoEmailEndpoint,omitempty"` - // ForceSendFields is a list of field names (e.g. "CallFormats") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CallFormats") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCallCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCallCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCameraCapabilities: These capabilities represent the camera -// features associated with the device. -type AssistantApiCameraCapabilities struct { - // FaceMatchCapable: Whether the device supports Face Match. - FaceMatchCapable bool `json:"faceMatchCapable,omitempty"` - // HasCamera: Whether the device has a camera. - HasCamera bool `json:"hasCamera,omitempty"` - // ForceSendFields is a list of field names (e.g. "FaceMatchCapable") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FaceMatchCapable") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCameraCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCameraCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCameraReceiverCapabilities: These capabilities present the -// capability of the device running camera receiver apps. -type AssistantApiCameraReceiverCapabilities struct { - // HasLimitedCameraStreamCapability: Whether the device has limited camera - // stream capability. If true, check supported_camera_receivers for detailed - // supported cameras. - HasLimitedCameraStreamCapability bool `json:"hasLimitedCameraStreamCapability,omitempty"` - // SupportedCameraReceivers: The camera receiver cast apps the device supports. - // Only used if has_limited_camera_stream_capability is true. - SupportedCameraReceivers []*AssistantApiCoreTypesCastAppInfo `json:"supportedCameraReceivers,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "HasLimitedCameraStreamCapability") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. - // "HasLimitedCameraStreamCapability") to include in API requests with the JSON - // null value. By default, fields with empty values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for - // more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCameraReceiverCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCameraReceiverCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCarAssistantCapabilities: Capabilities that are associated with -// Assistants on auto surfaces. This is different from other capabilities such -// as CarSettingsCapabilities, CloudCarCapabilities since they are specific to -// settings and 3P cloud information. All the auto/car Assistant specific -// capabilities should live here. -type AssistantApiCarAssistantCapabilities struct { - // ShouldPuntMultiAssistantMode: Indicates whether the current Assistant should - // provide a multi Assistant specific punt when there are multiple Auto - // specific Google Assistants (Android Auto Projected (AAP) and Android Auto - // Embedded (AAE)) in the same GAS enabled car. This will be used by both AAP - // and AAE. Design doc: go/doubledash++ - ShouldPuntMultiAssistantMode bool `json:"shouldPuntMultiAssistantMode,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "ShouldPuntMultiAssistantMode") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ShouldPuntMultiAssistantMode") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCarAssistantCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCarAssistantCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCarSettingsCapabilities: Capabilities that are associated with -// Assistant Settings on auto surfaces. -type AssistantApiCarSettingsCapabilities struct { - // PlayWarmerWelcome: If true, it indicates that the auto surface client should - // receive a warmer welcome TTS for signed-out users. For signed-in user, we - // will rely on server side metadata. go/aaae:preview-lang - PlayWarmerWelcome bool `json:"playWarmerWelcome,omitempty"` - // SupportsAddingCars: If true, it indicates that the client can be used to add - // cars after account linking with the OEM. - SupportsAddingCars bool `json:"supportsAddingCars,omitempty"` - // ForceSendFields is a list of field names (e.g. "PlayWarmerWelcome") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PlayWarmerWelcome") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCarSettingsCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCarSettingsCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiCastAssistantSettingLinkingResult struct { - // CastLinkingStatus: Cast linking status for ATV surfaces. This is derived - // from error messages returned from Cast Orchestration Server and will be used - // for data profiling only(go/katniss-settings-dashboard). - // - // Possible values: - // "NOT_SET" - LINT.IfChange - // "SUCCEED" - // "DEVICE_CONFLICT" - // "DEVICE_NAME_EMPTY" - // "CLIENT_ID_MISSING_TAG" - // "INVALID_DEVICE_ID" - // "DATA_SYNC_THROTTLED" - // "CREATE_ROBOT_ACCOUNT_FAILED" - // "UNAUTHORIZED_CLIENT" - // "OTHER_ERROR" - - // LINT.ThenChange(//depot/google3/logs/proto/assistant/capabilities_log.proto) - CastLinkingStatus string `json:"castLinkingStatus,omitempty"` - // TruncatedErrorMsg: The error msg returned from COS, truncated in case it's - // too large. - TruncatedErrorMsg string `json:"truncatedErrorMsg,omitempty"` - // ForceSendFields is a list of field names (e.g. "CastLinkingStatus") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CastLinkingStatus") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCastAssistantSettingLinkingResult) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCastAssistantSettingLinkingResult - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCastCapabilities: These capabilities represent capabilities that -// have to do with casting that pertain to this device. Next ID: 9 -type AssistantApiCastCapabilities struct { - // CameraReceiverCapabilities: Whether the device has limited camera stream - // capability and if yes, which receivers are supported. - CameraReceiverCapabilities *AssistantApiCameraReceiverCapabilities `json:"cameraReceiverCapabilities,omitempty"` - // CameraStreamSupportedProtocols: The supported protocols for camera - // streaming. The value is used as string in - // go/smarthome-internal-api#camera-stream, so using a string for this field - // instead of an enum. Supported protocols: (align the definition in - // go/smarthome-camerastream-trait) - "hls": HTTP Live Streaming - "dash": - // Dynamic Adaptive Streaming over HTTP - "smooth_stream": Smooth Streaming - - // "progressive_mp4": Progressive MP4 (will likely only be used for Clips) - - // "webrtc": WebRTC (currently, only H.264 is supported) - "nexustalk": - // Internal-only protocol used for Nest - CameraStreamSupportedProtocols []string `json:"cameraStreamSupportedProtocols,omitempty"` - // CanReceiveCast: True if we can cast things to this device. - CanReceiveCast bool `json:"canReceiveCast,omitempty"` - // DeviceId: Optional for primarily cast devices (e.g., Chirp, Chromecast). For - // devices that are NOT primarily cast devices, but having a cast receiver as - // secondary functionality, this field SHOULD store the cast-device-id to be - // used to send remote casting commands to the device. Example: Android TV, - // which supports both Android-native actions as well as remote casting using - // its built-in cast receiver. Android TV device id contains a DUSI id, which - // is not a cast-device-id. When executing a cast command on the Android TV, - // this field is used to route the cast command (through CloudCastService) to - // the cast receiver on the device. - DeviceId *AssistantApiCoreTypesDeviceId `json:"deviceId,omitempty"` - // DynamicGroupsSupported: Whether this device supports dynamic groups or not. - // It implies if a Stream Control operation (transfer, expansion, and - // contraction) could be applied on this device since Stream Control is - // implemented as part of dynamic groups (ie, adding/removing devices from - // playback) - DynamicGroupsSupported bool `json:"dynamicGroupsSupported,omitempty"` - // Possible values: - // "NONE" - // "STATIC_GROUP" - Static group is created by the user through UI. It - // contains two or more devices. - // "DYNAMIC_GROUP" - Dynamic group is a temporary group created when devices - // are added to / removed from a playback. It should be torn down after the - // playback is done. - // "STEREO_PAIR" - Stereo pair is created by the user through UI. It contains - // exact two devices, a left device and a right device. - GroupType string `json:"groupType,omitempty"` - // OverlayApplicationsSupported: Whether UI overlay applications are supported - // on this device. It's used by Chromecast only. - OverlayApplicationsSupported bool `json:"overlayApplicationsSupported,omitempty"` - // YetiGamingSupported: Whether the device supports playing games through Yeti. - // This is set by the cast device when the device is updated: Chromecast - // updates -> Chromecast registers its capabilities with CCS -> CCS passes the - // capabilities to the AssistantSettingsService -> AssistantSettingsService - // stores the device's capabilities. go/yeti-gaming-supported-cast-capability - YetiGamingSupported bool `json:"yetiGamingSupported,omitempty"` - // ForceSendFields is a list of field names (e.g. "CameraReceiverCapabilities") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CameraReceiverCapabilities") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCastCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCastCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiClientOpPropertiesDeviceModifySettingClientOpProperty: The -// properties of the client op device.MODIFY_SETTING. This proto is stored in -// the SupportedClientOp proto. -type AssistantApiClientOpPropertiesDeviceModifySettingClientOpProperty struct { - // SkipAndroidAndGsaVersionCheck: Additional specific setting capabilities. - // This boolean is used to indicate whether we want to skip the Android and GSA - // version check in CheckSettingSchemaAndMaybeGetUris() from - // assistant/vertical/device/fulfillment/utils/setting_utils.h. Consider - // setting this field to true if your device is neither Android or GSA - // (especially when the UserAgent string of your device's TaskRequest will not - // contain a valid/up-to-date Android/GSA version). - SkipAndroidAndGsaVersionCheck bool `json:"skipAndroidAndGsaVersionCheck,omitempty"` - // SupportedSettings: Uses DeviceSetting enum which corresponds to setting_id. - // This indicates which specific settings are supported by client. An empty - // list implies all settings are supported. - // - // Possible values: - // "UNSPECIFIED" - // "ABOUT_ME" - // "ACCESSIBILITY" - // "ACTIVE_EDGE" - // "ACTIVE_EDGE_SENSITIVITY" - // "ADAPTIVE_BATTERY" - // "ADAPTIVE_BRIGHTNESS" - // "ADAPTIVE_CHARGING" - // "ADAPTIVE_CONNECTIVITY" - // "ADAPTIVE_SOUND" - // "ADD_ACCOUNT" - // "ADD_BLUETOOTH_DEVICE" - Pair a bluetooth device. - // "ADD_DEVICE" - Link a device to Assistant/Google Home. - // "ADD_FINGERPRINT" - // "ADS_TRACKING" - // "AIRPLANE_MODE" - // "ALARM_VOLUME" - // "ALARM_SOUND" - Deprecated, use DEFAULT_ALARM_SOUND instead. - // "ALLOW_MULTIPLE_USERS" - // "AMBIENT_DISPLAY_ALWAYS_ON" - // "AMBIENT_DISPLAY_NEW_NOTIFICATION" - // "ANDROID_AUTO" - // "ANDROID_VERSION" - // "APP_BATTERY_USAGE" - // "APP_DATA_USAGE" - // "APP_DETAILS" - // "APP_SHORTCUT" - // "APPS_NOTIFICATIONS" - // "APPS_STORAGE" - // "ASSISTANT_ACCOUNT" - // "ASSISTANT_FACE_MATCH" - // "ASSISTANT_LANGUAGE" - // "ASSISTANT_VOICE_MATCH" - // "AUTO_ROTATE" - // "AUTO_ROTATE_FACE_DETECTION" - // "BACKUP" - // "BATTERY_HEALTH" - Denotes if the battery health is normal / reduced / - // unknown. - // "BATTERY_LEVEL" - // "BATTERY_LOW" - // "BATTERY_PERCENTAGE" - // "BATTERY_PRESENT" - // "BATTERY_SAVER" - // "BATTERY_SAVER_SCHEDULE" - // "BATTERY_SHARE" - // "BATTERY_USAGE" - // "BIOMETRIC" - // "BLUETOOTH" - Bluetooth on/off toggle - // "BLUETOOTH_NAME" - // "BLUETOOTH_ADDRESS" - // "BLUETOOTH_SETTINGS" - Bluetooth preferences page - // "BRIGHTNESS_LEVEL" - // "BUBBLES" - // "CALL_VOLUME" - // "CAMERA_DOUBLE_TWIST" - // "CAST" - // "CAR_CRASH_DETECTION" - // "COLOR_INVERSION" - // "COLOR_CORRECTION" - // "CONVERSATIONS" - // "CHARGING_SOUNDS_AND_VIBRATION" - // "CHARGING_STATE" - // "CONNECTED_DEVICES" - // "CONTACTLESS_PAYMENTS" - // "DATA_ROAMING" - // "DATA_SAVER" - // "DATA_USAGE" - Cellular carrier (non-wifi) data usage statistics & - // settings for the device. - // "DATA_LIMIT" - Toggle to enable data use limit - // "DATA_LIMIT_LEVEL" - The mobile data use after which mobile data is - // automatically disabled. - // "DATA_WARNING" - Toggle to enable data use warning - // "DATA_WARNING_LEVEL" - The mobile data use after which a warning is shown - // to the user. - // "DEFAULT_ALARM_SOUND" - // "DEFAULT_NOTIFICATION_SOUND" - // "DEFAULT_APPS" - // "DEVELOPER_OPTIONS" - // "DEVICE_ASSISTANT_APP" - Device's voice assistant app selection. - // "DEVICE_NAME" - // "DISPLAY_OVER_OTHER_APPS" - // "DISPLAY_SIZE" - // "DO_NOT_DISTURB" - // "DO_NOT_DISTURB_MESSAGES" - // "DO_NOT_DISTURB_CALLS" - // "DO_NOT_DISTURB_ALARMS" - // "DO_NOT_DISTURB_SCHEDULES" - // "DOUBLE_TAP_CHECK_PHONE" - // "DRIVING_MODE" - Special mode for using device hands-free while driving. - // "EARTHQUAKE_ALERTS" - // "EMERGENCY" - Main emergency settings - // "EMERGENCY_ALERTS" - // "EMERGENCY_CONTACTS" - // "EMERGENCY_INFORMATION" - // "ETHERNET_TETHERING" - // "EXTRA_DIM" - Makes screen extra dark. - // "EXTREME_BATTERY_SAVER" - // "FACTORY_RESET" - // "FIND_MY_DEVICE" - // "FLASHLIGHT" - // "FOCUS_MODE" - // "FONT_SIZE" - // "FREE_UP_SPACE" - // "FINGERPRINT_MANAGER" - // "GESTURES" - A page for device gestures - // "HAPTIC_FEEDBACK_VIBRATION" - Slider that controls touch feedback - // vibration - // "HARD_KEYBOARD" - // "HEADS_UP" - // "HIGH_REFRESH_RATE" - // "HOT_SPOT" - Toggle for internet sharing via WiFi. - // "HOTSPOT_TETHERING" - Common settings page for internet sharing via - // various means. - // "HOT_WORD" - // "HUB_MODE" - See go/hubmodesettings-PRD. - // "IP_ADDRESS" - Show my IP address - // "IMPROVE_LOCATION_ACCURACY" - // "JUMP_TO_CAMERA" - // "KEYBOARD_SHORTCUTS" - // "LIFT_CHECK_PHONE" - // "LIVE_TRANSLATE" - // "LOCATION" - // "LOCATION_HISTORY" - // "LOCATION_BLUETOOTH_SCANNING" - // "LOCATION_WIFI_SCANNING" - // "LOCK_SCREEN" - Settings page for what is visible on the lock screen. - // "LOCK_SCREEN_DEVICE_CONTROLS" - // "LOCK_SCREEN_WALLET" - // "MAC_ADDRESS" - Show my MAC address - // "MAGNIFICATION" - // "MAGNIFY_BUTTON" - // "MAGNIFY_TRIPLE_TAP" - // "MANIFY_BUTTON" - // "MANIFY_TRIPLE_TAP" - // "MEDIA" - // "MEDIA_VOLUME" - // "MICROPHONE_ACCESS" - Microphone Access is a toggleable setting that - // controls if Microphone usage is allowed at the system level or not. It is - // not the per-App Microphone permission page. - // https://screenshot.googleplex.com/4hrskftPSur7hHh - // "MOBILE" - Wireless internet settings, including WiFi, Cellular, etc. - // "MOBILE_DATA" - Setting to enable/disable cellular data connection being - // used on the device. https://screenshot.googleplex.com/jMSRtW3Aq4o - // "MUSIC" - // "MUTE_MODE" - // "NETWORK" - // "NETWORK_RESET" - Restarts the device network stack, no settings are - // deleted. - // "NFC" - // "NIGHT_LIGHT_INTENSITY" - // "NIGHT_LIGHT_SWITCH" - // "NIGHT_MODE" - // "NOTIFICATION_BADGE" - // "NOTIFICATION_SOUND" - Deprecated, use DEFAULT_NOTIFICATION_SOUND instead. - // "NOTIFICATION_ON_SCREEN" - // "NOTIFICATION_HISTORY" - // "NOTIFY_FOR_PUBLIC_NETWORKS" - // "ONEHANDED_MODE" - // "OS_VERSION" - // "PASSWORD" - Password manager - // "PERMISSION_MANAGER" - Shows permissions and allows add/remove allowed - // apps. - // "PERMISSION_USAGE" - Shows usage of each permission by app. - // "PERSONALIZATION" - // "PRINTING" - // "PHONE_NUMBER" - // "PICTURE_IN_PICTURE" - // "POINTER_SPEED" - // "POWER_MENU" - // "REMINDERS" - // "REQUIRE_DEVICE_UNLOCK_FOR_NFC" - // "RINGTONE" - // "RING_VOLUME" - // "NEARBY_DEVICES_SCANNING" - // "NEARBY_SHARE" - // "SCREEN_LOCKING_SOUND" - // "SCREEN_MAGNIFICATION" - // "SCREEN_TIMEOUT" - // "SCREEN_LOCK" - Settings page for screen locking security methods. - // "SCREEN_SAVER" - // "SELECT_TO_SPEAK" - // "SET_TIME_AUTOMATICALLY" - // "SET_TIME_ZONE_AUTOMATICALLY" - // "SETTINGS" - // "SIM" - Currently active/primary SIM. - // "SIM_MANAGER" - // "SPEECH_RATE" - // "STORAGE_USAGE" - // "SWIPE_FOR_NOTIFICATION" - // "SWITCH_ACCESS" - // "SYSTEM_UPDATE" - Deprecated, use SYSTEM_UPDATES instead. - // "SYSTEM_UPDATES" - // "SYSTEM_NAVIGATION" - Settings page for configuring how navigation between - // apps is done. Specifically android has choice between Buttons of Gestures - // mode. - // "SYSTEM_NAVIGATION_GESTURES" - // "SYSTEM_NAVIGATION_BUTTONS" - // "TALKBACK_PASSWORDS" - // "TEXT_TO_SPEECH" - // "TIME_ZONE" - // "UNUSED_APPS" - // "USB" - // "USB_TETHERING" - // "VERBOSE_TTS" - // "VIBRATE" - Deprecated, use VIBRATION instead. - // "VIBRATION" - Vibration master toggle - controls all vibration functions. - // Corresponds to "Vibration & haptics" toggle in the Android settings app. - // "VIBRATION_MODE" - Controls whether the ringer mode will be silent or will - // vibrate. Details in - // https://developer.android.com/reference/android/media/AudioManager#RINGER_MODE_VIBRATE - // Different from VIBRATION from above. - // "VOICE" - deprecated, use ASSISTANT_VOICE - // "VOLUME_LEVEL" - // "WAKE_SCREEN_FOR_NOTIFICATIONS" - // "WALLPAPERS" - // "WEBVIEW" - // "WIFI" - // "WIFI_ADD_NETWORK" - // "WIFI_ADD_NETWORK_QR_CODE" - // "WIFI_CALLING" - // "WIFI_HOTSPOT" - Duplicate, use HOT_SPOT instead - // "ACCESSIBILITY_SELECT_TO_SPEAK" - Accessibility > Select to Speak - // "CRISIS_ALERTS" - Safety > Crisis alerts - // "REGULATORY_LABELS" - Settings > About phone > Regulatory labels - // "SEND_FEEDBACK" - Settings > About phone > Send feedback about this device - // "OS_BUILD_NUMBER" - // "ACCESSIBILITY_SHORTCUTS" - // "ACCESSIBILITY_MENU" - // "ACCESSIBILITY_SOUND_AMPLIFIER" - Settings > Accessibility > Hearing > - // Sound Amplifier - // "ACCESSIBILITY_LIVE_TRANSCRIBE" - // "ACCESSIBILITY_SOUND_NOTIFICATIONS" - // "ACCESSIBILITY_TALKBACK" - Settings > Accessibility > TalkBack - // "ACCESSIBILITY_TIMEOUT" - Settings > Accessibility > Time to take action - // (Accessibility timeout) - // "CAMERA_SETTINGS" - // "BATTERY_SAVER_TOGGLE" - // "COVID_NOTIFICATIONS" - Settings > Google > COVID-19 Exposure - // Notifications - // "APP_LOCATION" - // "LOCATION_SERVICES" - // "PRIVATE_DNS" - // "UNRESTRICTED_DATA" - Settings > Network & Internet > Data Saver > - // Unrestricted data - // "PREFERRED_NETWORK" - // "NETWORK_PREFERENCES" - // "PASSWORDS_AND_ACCOUNTS" - // "PRIVACY_DASHBOARD" - // "MORE_SECURITY" - // "APP_PINNING" - // "CONFIRM_SIM_DELETION" - // "ENCRYPT_PHONE" - Settings > Security > Encrypt phone - // "FACE_UNLOCK" - // "INSTALL_UNKNOWN_APPS" - // "NOW_PLAYING" - // "STAY_AWAKE" - // "ASSISTANT_VOICE" - // "RESET_BLUETOOTH_WIFI" - // "DEFAULT_PHONE_APP" - // "GOOGLE_ACCOUNT" - // "ACCESSIBILITY_CAPTION_SIZE_AND_STYLE" - Settings > Accessibility > - // Caption preferences > Caption size and style - // "ACCESSIBILITY_CAPTION_STYLE" - Settings > Accessibility > Caption - // preferences > Caption size and style > Caption Style - // "ACCESSIBILITY_CAPTION_TEXT" - Settings > Accessibility > Caption - // preferences > Caption size and style > Text size - // "ACCESSIBILITY_CAPTION_PREFERENCES" - Settings > Accessibility > Caption - // preferences - // "ACCESSIBILITY_COLOR_AND_MOTION" - Settings > Accessibility > Color and - // motion - // "ACCESSIBILITY_BOLD_TEXT" - Settings > Accessibility > Display size and - // text > Bold text - // "LIVE_CAPTION" - // "POWER_BUTTON_ENDS_CALL" - Settings > Accessibility > Power button ends - // call - // "TOUCH_AND_HOLD_DELAY" - // "ACCESSIBILITY_VOICE_ACCESS" - // "SMS_PERMISSIONS" - // "SPECIAL_APP_ACCESS" - Settings > Apps & notifications > Advanced > - // Special app access - // "DARK_THEME_SCHEDULE" - // "LOCK_SCREEN_TEXT" - Settings > Display > Lock screen > Add text on lock - // screen - // "NIGHT_LIGHT_SCHEDULE" - // "AUTOFILL" - // "USAGE_AND_DIAGNOSTICS" - // "SENSITIVE_NOTIFICATIONS" - // "ENCRYPTION_AND_CREDENTIALS" - Settings > Security > Advanced settings > - // Encryption & credentials - // "SPACIAL_AUDIO" - Settings > Sound & vibration > Spatial Audio - // "RESET_OPTIONS" - Settings > System > Advanced > Reset options - // "QUICK_TAP" - Settings > System > Gestures > Quick tap - // "TIPS_AND_SUPPORT" - Settings > Tips & support - // "SCREEN_ATTENTION" - Display > Screen timeout > Screen attention - // "BLUETOOTH_TETHERING" - // "ALL_APPS" - // "EXTEND_UNLOCK" - // "CLEAR_CALLING" - // "GOOGLE_SETTINGS" - // "APP_LANGUAGES" - // "SIM_STATUS" - // "MICROPHONE_PERMISSIONS" - Permission Manager > Microphone - // "GOOGLE_PLAY_UPDATE" - // "ADD_GOOGLE_ACCOUNT" - // "ASSISTANT_SPOKEN_NOTIFICATIONS" - Settings for assistant to announce - // messages/notifications - // "ABOUT_PHONE" - Begin of NGA proto consistence - // "ACCOUNTS" - // "APPLICATION" - // "ASSISTANT" - // "AUDIO" - // "BATTERY" - // "BELL_SCHEDULE" - // "CONTINUED_CONVERSATION" - // "DATE_TIME" - // "DARK_THEME" - // "DEVICE_INFO" - // "DICTIONARY" - // "DIGITAL_WELLBEING" - // "DISPLAY" - // "LANGUAGE" - // "NIGHT_LIGHT" - Duplicate, use NIGHT_MODE instead - // "NOTIFICATION" - // "NOTIFICATION_VOLUME" - // "PHONE_RINGTONE" - // "PRIVACY" - // "ROAMING" - // "ROUTINES" - // "SEARCH" - // "SECURITY" - // "SOUND" - // "SPELL_CHECKER" - // "SYSTEM" - // "STORAGE" - // "VPN" - End of NGA proto consistence - // "AUTOCLICK" - Chrome OS specific accessibility settings - // "CARET_HIGHLIGHT" - // "CHROMEVOX" - // "CURSOR_HIGHLIGHT" - // "DOCKED_MAGNIFIER" - // "FOCUS_HIGHLIGHT" - // "FULLSCREEN_MAGNIFIER" - // "HIGH_CONTRAST_MODE" - // "LARGE_CURSOR" - // "MONO_AUDIO" - // "STICKY_KEYS" - // "TAP_DRAGGING" - // "VIRTUAL_KEYBOARD" - End of Chrome OS specific accessibility settings - // "WEARABLE_AMBIENT" - Wearable device settings - // "WEARABLE_NOISE_CANCELLATION" - // "WEARABLE_TOUCH_CONTROLS" - // "RAISE_TO_TALK" - // "BEDTIME_MODE" - // "THEATER_MODE" - // "TOUCH_LOCK" - // "PRESS_AND_HOLD" - // "WATCH_FACE" - Settings > Display > Change watch face End of Wearable - // device settings - // "NOTIFICATION_ANNOUNCEMENT" - Assistant Spoken Notification Setting - SupportedSettings []string `json:"supportedSettings,omitempty"` - // SupportsDoNotDisturbWithDuration: Additional specific setting capabilities. - // This boolean is used to indicate if do not disturb with duration is - // supported through device.MODIFY_SETTING clientop on a client or not. - SupportsDoNotDisturbWithDuration bool `json:"supportsDoNotDisturbWithDuration,omitempty"` - // SupportsMuteUnmute: Additional specific setting capabilities. This boolean - // is used to indicate if new unmute logic is enabled on a client or not. - SupportsMuteUnmute bool `json:"supportsMuteUnmute,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "SkipAndroidAndGsaVersionCheck") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SkipAndroidAndGsaVersionCheck") - // to include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiClientOpPropertiesDeviceModifySettingClientOpProperty) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiClientOpPropertiesDeviceModifySettingClientOpProperty - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiClientOpPropertiesProviderOpenClientOpProperty: The properties -// of the provider.OPEN ClientOp. This proto is stored in the SupportedClientOp -// proto with the key provider.OPEN. -type AssistantApiClientOpPropertiesProviderOpenClientOpProperty struct { - // KeepsConversationAliveAfterOpeningApp: Whether conversation is kept alive - // after opening the app. See go/keep-opa-conversation-alive for details. - KeepsConversationAliveAfterOpeningApp bool `json:"keepsConversationAliveAfterOpeningApp,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "KeepsConversationAliveAfterOpeningApp") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. - // "KeepsConversationAliveAfterOpeningApp") to include in API requests with the - // JSON null value. By default, fields with empty values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for - // more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiClientOpPropertiesProviderOpenClientOpProperty) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiClientOpPropertiesProviderOpenClientOpProperty - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiClockCapabilities: Used to describe clock capabilities of the -// device (for example, capabilities related to maximum number of supported -// alarms and timers that can be created on the device). Fields may be -// populated by clients or be backfilled by SAL (in case of Timon, for -// example). -type AssistantApiClockCapabilities struct { - // MaxSupportedAlarms: Maximum number of alarms that can be created on the - // client. - MaxSupportedAlarms int64 `json:"maxSupportedAlarms,omitempty"` - // MaxSupportedExtendedTimerDuration: Maximum extended timer duration supported - // by the client. The extended timer duration is the total start-to-finish - // duration after an AddTimeToTimer operation. E.g. if a user sets a timer for - // 30 minutes, and later adds 10 minutes, the extended duration is 40 minutes. - MaxSupportedExtendedTimerDuration *AssistantApiDuration `json:"maxSupportedExtendedTimerDuration,omitempty"` - // MaxSupportedTimerDuration: Maximum duration of timers that can be created on - // the client. - MaxSupportedTimerDuration *AssistantApiDuration `json:"maxSupportedTimerDuration,omitempty"` - // MaxSupportedTimers: Maximum number of timers that can be created on the - // client. - MaxSupportedTimers int64 `json:"maxSupportedTimers,omitempty"` - // PreferredStopwatchProvider: The preferred provider to use for stopwatch - // related functionality. - PreferredStopwatchProvider *AssistantApiCoreTypesProvider `json:"preferredStopwatchProvider,omitempty"` - // RestrictAlarmsToNext24h: Whether the client restricts alarms to ring within - // the next 24 hours. - RestrictAlarmsToNext24h bool `json:"restrictAlarmsToNext24h,omitempty"` - // ForceSendFields is a list of field names (e.g. "MaxSupportedAlarms") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MaxSupportedAlarms") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiClockCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiClockCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCommunicationUiCapabilities: UI capabilities for the surfaces -// rendering Comms features. See go/rohan-comms-fluid-actions-customization. -type AssistantApiCommunicationUiCapabilities struct { - // Possible values: - // "DEFAULT" - // "SIMPLIFIED" - Fluid actions output optimized for small devices, with no - // on-device management of conversation state available. - FluidActionsUiType string `json:"fluidActionsUiType,omitempty"` - // ForceSendFields is a list of field names (e.g. "FluidActionsUiType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FluidActionsUiType") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCommunicationUiCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCommunicationUiCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiContactLookupCapabilities struct { - // FallbackToTetheredDevice: If true, contact.LOOKUP should be routed to the - // tethered device (if present) if the tethered device supports contact.LOOKUP - // and the primary device does not. - FallbackToTetheredDevice bool `json:"fallbackToTetheredDevice,omitempty"` - // ForceSendFields is a list of field names (e.g. "FallbackToTetheredDevice") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FallbackToTetheredDevice") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiContactLookupCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiContactLookupCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesAndroidAppInfo: The android app information of the -// provider. Like, Spotify. Next ID: 17 -type AssistantApiCoreTypesAndroidAppInfo struct { - AccountType string `json:"accountType,omitempty"` - ActivityInfo *AssistantApiCoreTypesAndroidAppInfoActivityInfo `json:"activityInfo,omitempty"` - // AndroidIntent: Intent associated with the app. We include intents here as - // different versions of the same app may support different intents. In those - // cases, the package_name is not enough to identify the app and we should use - // the combination of package_name and android_intent. This field might contain - // sensitive data, if represents ClientOp with encapsulated PII such as user - // query. - AndroidIntent string `json:"androidIntent,omitempty"` - // AppUniqueId: Store the app unique id endpoint. This will be passed over to - // app to fulfill the action. - AppUniqueId string `json:"appUniqueId,omitempty"` - // AppVersion: The android app version. Deprecated because - // https://developer.android.com/reference/android/content/pm/PackageInfo.html#getLongVersionCode - AppVersion int64 `json:"appVersion,omitempty"` - // DataMimetype: data_mimetype and account_type are the what AGSA uses to - // filter which contacts support this Android app in ContactProvider. - DataMimetype string `json:"dataMimetype,omitempty"` - // IsBroadcastIntent: If true, client should broadcast the intent instead of - // open the intent. - IsBroadcastIntent bool `json:"isBroadcastIntent,omitempty"` - // IsDefault: App is the default app for it's core functionality. For example, - // it will be true for Android messages if it is the default app to send and - // receive SMS on the phone. - IsDefault bool `json:"isDefault,omitempty"` - // LocalizedAppName: The localized app name. - LocalizedAppName string `json:"localizedAppName,omitempty"` - // LongVersionCode: The long android app version. - LongVersionCode int64 `json:"longVersionCode,omitempty,string"` - // Mimetype: Store mimetype of this endpoint. We will use this as the - // differentiator for Assistant to know whether to use the RawContact for - // messaging, call or video call. For example, send message mimetype for - // whatsapp: "vnd.android.cursor.item/vnd.com.whatsapp.profile" voice call - // mimetype for whatsapp: "vnd.android.cursor.item/vnd.com.whatsapp.voip.call" - Mimetype string `json:"mimetype,omitempty"` - // PackageName: The android app package of the provider, like - // "com.spotify.music". - PackageName string `json:"packageName,omitempty"` - // ProviderType: The OemProviderType is specific for OEM system Android apps. - // For example, in Auto Embedded, the OEM will have a system Radio/Media app. - // The system app’s capabilities/core functionalities are captured here. For - // physical media sources, the OEM may decide to implement one media app (thus, - // one package name) that handles multiple physical media sources. For these - // cases, each physical media source will be sent as different providers even - // though the package name is the same. - // - // Possible values: - // "UNKNOWN_OEM_PROVIDER_TYPE" - // "RADIO_PROVIDER_TYPE" - Refers to an app that handles AM/FM Radio via a - // physical radio tuner in the device. See go/radio-assistant-for-auto. - // "SXM_RADIO_PROVIDER_TYPE" - Refers to an app that handles Satellite - // (SiriusXM) Radio via a physical Satellite tuner in the device. See - // go/sxm-on-gas. - ProviderType string `json:"providerType,omitempty"` - // ShortcutId: Id of the app's Android shortcut to be launched by Assistant. - // The client is expected to use the Android LauncherApps API to execute this - // shortcut which in turn will open the app. For example, Whatsapp may create - // an Android shortcut for a frequently messaged contact with an id - // "contact_123". This field will contain that id and the client can execute it - // to open up the chat with that particular contact. If this field is set, the - // package_name field must also be set since both will be used by the - // LauncherApps API for execution. If this field is set, the intent related - // fields will be ignored and not used as a fallback. Design: - // go/shortcut-id-in-provider-open-clientop This field should only be set for - // devices with Android API level >= 25 (since that is the version from which - // the LauncherApps startShortcut API is available) - ShortcutId string `json:"shortcutId,omitempty"` - // TargetClass: The fully qualified target class name of the provider, like - // "com.example.myapp.GetOrderService". - TargetClass string `json:"targetClass,omitempty"` - // VersionName: The android app version name, like "4.1.091.05.40d", - // "11.2.7.21.alpha". Android Docs: - // https://developer.android.com/reference/android/content/pm/PackageInfo#versionName - VersionName string `json:"versionName,omitempty"` - // ForceSendFields is a list of field names (e.g. "AccountType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AccountType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesAndroidAppInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesAndroidAppInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesAndroidAppInfoActivityInfo: General information about -// activities in the app. -type AssistantApiCoreTypesAndroidAppInfoActivityInfo struct { - // ActiveLaunchableActivities: Activities that are currently active and tagged - // as ACTION_MAIN and CATEGORY_LAUNCHER. Includes the activity corresponding to - // android_intent if it falls under CATEGORY_LAUNCHER. - ActiveLaunchableActivities []*AssistantApiCoreTypesAndroidAppInfoActivityInfoActivity `json:"activeLaunchableActivities,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActiveLaunchableActivities") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ActiveLaunchableActivities") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesAndroidAppInfoActivityInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesAndroidAppInfoActivityInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesAndroidAppInfoActivityInfoActivity: Information about -// an individual activity. -type AssistantApiCoreTypesAndroidAppInfoActivityInfoActivity struct { - // LocalizedActivityName: The localized user visible activity name. - LocalizedActivityName string `json:"localizedActivityName,omitempty"` - // ShortClassName: Short class name for activity, following - // https://developer.android.com/reference/android/content/ComponentName#getShortClassName() - ShortClassName string `json:"shortClassName,omitempty"` - // ForceSendFields is a list of field names (e.g. "LocalizedActivityName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LocalizedActivityName") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesAndroidAppInfoActivityInfoActivity) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesAndroidAppInfoActivityInfoActivity - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesAndroidAppInfoDelta: The change of AndroidAppInfo, e.g. -// app installation or deletion for incremental delta app info upload. -type AssistantApiCoreTypesAndroidAppInfoDelta struct { - // AndroidAppInfo: The android app information of the provider. Like, Spotify. - AndroidAppInfo *AssistantApiCoreTypesAndroidAppInfo `json:"androidAppInfo,omitempty"` - // LastUpdateTimestamp: The client-side timestamp in millis when the app is - // last updated, installed or deleted. - LastUpdateTimestamp string `json:"lastUpdateTimestamp,omitempty"` - // UpdateType: App is installed or deleted. - // - // Possible values: - // "UNKNOWN_TYPE" - // "IS_INSTALLED" - // "IS_DELETED" - UpdateType string `json:"updateType,omitempty"` - // ForceSendFields is a list of field names (e.g. "AndroidAppInfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AndroidAppInfo") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesAndroidAppInfoDelta) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesAndroidAppInfoDelta - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesCalendarEvent: This proto contains the information of a -// calendar event, including title, start time, end time, etc. -// LINT.IfChange(CalendarEvent) NEXT_ID: 26 -type AssistantApiCoreTypesCalendarEvent struct { - // Attendees: Attendees invited to the event, usually includes also the - // organizer. - Attendees []*AssistantApiCoreTypesCalendarEventAttendee `json:"attendees,omitempty"` - // BackgroundColor: The background color of the event, in RGB format. - BackgroundColor int64 `json:"backgroundColor,omitempty"` - // CalendarId: Optional calendar containing the event. - CalendarId string `json:"calendarId,omitempty"` - // Creator: The person who created this event. - Creator *AssistantApiCoreTypesCalendarEventAttendee `json:"creator,omitempty"` - // Description: Optional description of the event (plain text). - Description string `json:"description,omitempty"` - // End: The end time of the event. Start and end time must either both be date - // or both be datetime. End is exclusive, ie. the first day / first second when - // the event is over. - End *AssistantApiDateTime `json:"end,omitempty"` - // EventId: Optional event id provided by assistant server. Needs to be unique, - // at least on a per-user and calendar level, ideally globally unique. If none - // is given, the server will assign an id. - EventId string `json:"eventId,omitempty"` - // FlairName: The flair name, calculated according to the event title - // (go/as-cal-flair). With the flair name, background images can be got from - // gstatic (go/scs): - // https://ssl.gstatic.com/tmly/f8944938hffheth4ew890ht4i8/flairs/ - FlairName string `json:"flairName,omitempty"` - // ForegroundColor: The foreground color of the event, in RGB format. - ForegroundColor int64 `json:"foregroundColor,omitempty"` - // GuestsCanInviteOthers: Whether the guests can invite other guests. - GuestsCanInviteOthers bool `json:"guestsCanInviteOthers,omitempty"` - // GuestsCanModify: Whether the guests can modify the event. - GuestsCanModify bool `json:"guestsCanModify,omitempty"` - // GuestsCanSeeGuests: Whether the guests of the event can be seen. If false, - // the user is reported as the only attendee to the event, even though there - // may be more attendees. - GuestsCanSeeGuests bool `json:"guestsCanSeeGuests,omitempty"` - // HabitId: Optional id of the Habit (Calendar Goal) this event is linked to - HabitId string `json:"habitId,omitempty"` - // HabitStatus: Optional status for this habit event instance. - // - // Possible values: - // "UNKNOWN_STATUS" - // "ACTIVE" - // "DEFERRAL_REQUESTED" - // "COMPLETE" - // "UNDEFERRABLE" - HabitStatus string `json:"habitStatus,omitempty"` - // HtmlLink: Absolute link to this event in the Calendar web UI. - HtmlLink string `json:"htmlLink,omitempty"` - // Location: Optional location of the event (plain text). - Location string `json:"location,omitempty"` - MeetingContacts []*AssistantApiCoreTypesCalendarEventMeetingContact `json:"meetingContacts,omitempty"` - // Organizer: The organizer of this event. - Organizer *AssistantApiCoreTypesCalendarEventAttendee `json:"organizer,omitempty"` - // OtherAttendeesExcluded: Whether not all attendees are included in the - // attendee list. This is set when the attendees list has been truncated (e.g., - // when the number of attendees is beyond the maxAttendees limitation). - OtherAttendeesExcluded bool `json:"otherAttendeesExcluded,omitempty"` - // ParticipationResponse: The user's response (the owner of this copy of the - // event) to this event. - // - // Possible values: - // "RESPONSE_STATUS_UNSPECIFIED" - // "NEEDS_ACTION" - // "DECLINED" - // "TENTATIVE" - // "ACCEPTED" - ParticipationResponse string `json:"participationResponse,omitempty"` - // RecurringEventId: If this is an instance of a recurring event, - // recurring_event_id identifies the recurring series as a whole. - RecurringEventId string `json:"recurringEventId,omitempty"` - // Rooms: Meeting rooms associated to this event. - Rooms []*AssistantApiCoreTypesCalendarEventRoom `json:"rooms,omitempty"` - // Start: The start time of the event. This event is an all-day event if start - // has no time_of_day. - Start *AssistantApiDateTime `json:"start,omitempty"` - // Summary: The title of the event. - Summary string `json:"summary,omitempty"` - // Visibility: Optional visibility of the event. - // - // Possible values: - // "DEFAULT" - // "PUBLIC" - // "PRIVATE" - // "CONFIDENTIAL" - // "SECRET" - // "SHADOW" - // "UNKNOWN" - When we receive a value outside of this enum it will be - // replaced with this UNKNOWN field. When trying to send UNKNOWN it will be - // silently converted to DEFAULT. - Visibility string `json:"visibility,omitempty"` - // ForceSendFields is a list of field names (e.g. "Attendees") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Attendees") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesCalendarEvent) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesCalendarEvent - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesCalendarEventAttendee: Next id: 8 -type AssistantApiCoreTypesCalendarEventAttendee struct { - // DisplayName: Display name, present only if available. - DisplayName string `json:"displayName,omitempty"` - // Email: Email address of the attendee (calendar), for regular events. For - // +Events, this field is not populated, instead "id" is used. - Email string `json:"email,omitempty"` - // GivenName: Given (first) name, present only if available. This is used for - // generating meeting titles as given name is preferred over display (full) - // name (ie: "Jeff : Sundar" is better than "Jeff Dean : Sundar Pichai"). - GivenName string `json:"givenName,omitempty"` - // Id: Profile ID of the principal, for +Events. For regular events, this field - // is not populated, instead "email" is used. - Id string `json:"id,omitempty"` - // Organizer: Is this the organizer? - Organizer bool `json:"organizer,omitempty"` - // ResponseStatus: Attendees response status. - // - // Possible values: - // "RESPONSE_STATUS_UNSPECIFIED" - // "NEEDS_ACTION" - // "DECLINED" - // "TENTATIVE" - // "ACCEPTED" - ResponseStatus string `json:"responseStatus,omitempty"` - // Self: Is this the owner of this copy of the event? - Self bool `json:"self,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesCalendarEventAttendee) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesCalendarEventAttendee - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesCalendarEventMeetingContact: Next id: 10 -type AssistantApiCoreTypesCalendarEventMeetingContact struct { - // ConferenceId: ID that corresponds to in ConferenceData.conference_id in - // calendar.common.ConferenceData proto. For Meet, this is the identifier used - // to join a meeting via URL. - ConferenceId string `json:"conferenceId,omitempty"` - // Possible values: - // "NUMBER_CLASS_UNSPECIFIED" - No number class has been specified. - // "LOW_COST" - The number has a low cost to receive calls on. - // "HIGH_COST" - The number has a high cost to receive calls on. - // "LEGACY" - Class for legacy numbers. - DialInNumberClasses []string `json:"dialInNumberClasses,omitempty"` - // PhoneNumberUri: Default meeting phone number, for example: - // "tel:+1-475-777-1840" - PhoneNumberUri string `json:"phoneNumberUri,omitempty"` - // PinNumber: A PIN that the participant will need to input after dialing in - // the conference. - PinNumber string `json:"pinNumber,omitempty"` - // Provider: Provider info for the meeting. - Provider *AssistantApiCoreTypesProvider `json:"provider,omitempty"` - // RegionCode: The region code for the default meeting phone number - RegionCode string `json:"regionCode,omitempty"` - // Possible values: - // "SOURCE_UNSPECIFIED" - The source is unknown. - // "STRUCTURED_DATA" - The conference information was retrieved from - // structured fields. - // "UNSTRUCTURED_DATA" - The conference information was parsed and extracted - // from unstructured fields (e.g. event description). - Source string `json:"source,omitempty"` - // UniversalPinNumber: The universal meeting PIN number for phone numbers in - // all available countries - UniversalPinNumber string `json:"universalPinNumber,omitempty"` - // Url: URL that can be used to join the meeting. - Url string `json:"url,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConferenceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConferenceId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesCalendarEventMeetingContact) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesCalendarEventMeetingContact - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesCalendarEventRoom: A room that is available for a -// potential meeting or has been booked for a scheduled meeting. Next id: 4 -type AssistantApiCoreTypesCalendarEventRoom struct { - // Email: Room email that identifies the room and is used to book it. - Email string `json:"email,omitempty"` - // LocationDetails: Additional room details. Read-only, populated on request. - LocationDetails *AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails `json:"locationDetails,omitempty"` - // Name: Room name (ex: "MTV-PR55-5-A-Shadow 5K0 (13) GVC (No external - // guests)"). - Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "Email") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Email") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesCalendarEventRoom) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesCalendarEventRoom - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails: Room location -// details. Read-only, populated on request. Next id: 8 -type AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails struct { - // Building: Building where the room is (ex: "PR55"). - Building string `json:"building,omitempty"` - // City: City where the room is (ex: "MTV"). - City string `json:"city,omitempty"` - // Floor: Floor where the room is (ex: "5"). - Floor string `json:"floor,omitempty"` - // Latitude: The latitude in degrees. - Latitude float64 `json:"latitude,omitempty"` - // Longitude: The longitude in degrees. - Longitude float64 `json:"longitude,omitempty"` - // Section: Section in the floor (ex: "A"). - Section string `json:"section,omitempty"` - // SimpleName: Room name (ex: "Shadow 5K0"). - SimpleName string `json:"simpleName,omitempty"` - // ForceSendFields is a list of field names (e.g. "Building") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Building") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails) UnmarshalJSON(data []byte) error { - type NoMethod AssistantApiCoreTypesCalendarEventRoomRoomLocationDetails - var s1 struct { - Latitude gensupport.JSONFloat64 `json:"latitude"` - Longitude gensupport.JSONFloat64 `json:"longitude"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Latitude = float64(s1.Latitude) - s.Longitude = float64(s1.Longitude) - return nil -} - -// AssistantApiCoreTypesCalendarEventWrapper: This empty type allows us to -// publish sensitive calendar events to go/attentional-entities, while -// maintaining BUILD visibility protection for their contents. The -// BUILD-visibility-protected extension to this message is defined at -// http://google3/assistant/verticals/calendar/proto/multi_account_calendar_event.proto -type AssistantApiCoreTypesCalendarEventWrapper struct { -} - -// AssistantApiCoreTypesCastAppInfo: The cast app information of the provider. -type AssistantApiCoreTypesCastAppInfo struct { - // CastAppId: The cast app id. |cast_app_id| is the ID of the cast app used on - // the current device and |content_app_id| is the ID of the app that provides - // the actual content. For example, in a group playback, on a follower device, - // the |cast_app_id| is the follower cast app ID and the |content_app_id| is - // the leader cast app ID. - CastAppId string `json:"castAppId,omitempty"` - // ContentAppId: The id of the cast app that provides the content in a group. - // The field will always be filled. In the case of a group playback and the - // current device is a follower, the |cast_app_id| has the ID of the follower - // app, and |content_app_id| has ID of the actual content app. In all other - // cases, |content_app_id| and |cast_app_id| will be the same. - ContentAppId string `json:"contentAppId,omitempty"` - // ForceSendFields is a list of field names (e.g. "CastAppId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CastAppId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesCastAppInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesCastAppInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesChromeOsAppInfo: The ChromeOS app information of the -// provider. Next ID: 3 -type AssistantApiCoreTypesChromeOsAppInfo struct { - // LocalizedAppName: The localized app name. - LocalizedAppName string `json:"localizedAppName,omitempty"` - // PackageName: Unique package name that identifies a ChromeOS app of the - // provider. - PackageName string `json:"packageName,omitempty"` - // ForceSendFields is a list of field names (e.g. "LocalizedAppName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LocalizedAppName") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesChromeOsAppInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesChromeOsAppInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesCloudProviderInfo: The third party provider -// information. -type AssistantApiCoreTypesCloudProviderInfo struct { - AgentStyle *AssistantApiCoreTypesCloudProviderInfoAgentStyle `json:"agentStyle,omitempty"` - // DirectoryUrl: URL to a directory page about the third party agent in - // Assistant HQ. This is a universal (https) URL that may be handled natively - // by clients to show HQ or launch to the HQ directory web page. - DirectoryUrl string `json:"directoryUrl,omitempty"` - // LogoUrl: The logo url for the third party provider. - LogoUrl string `json:"logoUrl,omitempty"` - // Name: The user visible name of the cloud provider, which may be used for - // example in the chat header during a conversation with the third party. - Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgentStyle") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgentStyle") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesCloudProviderInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesCloudProviderInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesCloudProviderInfoAgentStyle: The style customizations -// for the 3p agent. -type AssistantApiCoreTypesCloudProviderInfoAgentStyle struct { - // BackgroundColor: The background color of the agent. Used if no background - // image is specified for the given display orientation, or if the provided - // background image does not fit. - BackgroundColor *AssistantApiCoreTypesColor `json:"backgroundColor,omitempty"` - // Possible values: - // "DEFAULT" - The client's default theme. - // "DARK" - The theme used when the card has a background image. See - // go/aog-cards-header-theme-dark for details on applying this theme. - // "LIGHT" - The theme used when the card has a background color (and no - // background image). See go/aog-cards-header-theme-light for details on - // applying this theme. - HeaderTheme string `json:"headerTheme,omitempty"` - // LandscapeBackgroundImageUrl: URL for the background image of the agent on - // landscape display. - LandscapeBackgroundImageUrl string `json:"landscapeBackgroundImageUrl,omitempty"` - // LogoUrl: URL for the image containing the 3p logo. This can include logomark - // and logotype, or logotype only. If present, this can be used in place of the - // square logo contained in the top level logo_url field in CloudProviderInfo. - // See go/cards-logo-customization for details on applying this logo. - LogoUrl string `json:"logoUrl,omitempty"` - // MaskColor: The color of the mask to apply to the background. See - // go/aog-cards-background-mask for details on applying this mask. - MaskColor *AssistantApiCoreTypesColor `json:"maskColor,omitempty"` - // PortraitBackgroundImageUrl: URL for the background image of the agent on - // portrait display. - PortraitBackgroundImageUrl string `json:"portraitBackgroundImageUrl,omitempty"` - // PrimaryColor: The primary color of the agent. Used by the client to style - // the header and suggestion chips. - PrimaryColor *AssistantApiCoreTypesColor `json:"primaryColor,omitempty"` - // ForceSendFields is a list of field names (e.g. "BackgroundColor") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BackgroundColor") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesCloudProviderInfoAgentStyle) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesCloudProviderInfoAgentStyle - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesColor: Represents a color in the RGBA color space. This -// message mirrors google.type.Color. -type AssistantApiCoreTypesColor struct { - // Alpha: The fraction of this color that should be applied to the pixel. That - // is, the final pixel color is defined by the equation: pixel color = alpha * - // (this color) + (1.0 - alpha) * (background color) This means that a value of - // 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a - // completely transparent color. If omitted, this color object is to be - // rendered as a solid color (as if the alpha value had been explicitly given - // with a value of 1.0). - Alpha float64 `json:"alpha,omitempty"` - // Blue: The amount of blue in the color as a value in the interval [0, 1]. - Blue float64 `json:"blue,omitempty"` - // Green: The amount of green in the color as a value in the interval [0, 1]. - Green float64 `json:"green,omitempty"` - // Red: The amount of red in the color as a value in the interval [0, 1]. - Red float64 `json:"red,omitempty"` - // ForceSendFields is a list of field names (e.g. "Alpha") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Alpha") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesColor) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesColor - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *AssistantApiCoreTypesColor) UnmarshalJSON(data []byte) error { - type NoMethod AssistantApiCoreTypesColor - var s1 struct { - Alpha gensupport.JSONFloat64 `json:"alpha"` - Blue gensupport.JSONFloat64 `json:"blue"` - Green gensupport.JSONFloat64 `json:"green"` - Red gensupport.JSONFloat64 `json:"red"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Alpha = float64(s1.Alpha) - s.Blue = float64(s1.Blue) - s.Green = float64(s1.Green) - s.Red = float64(s1.Red) - return nil -} - -// AssistantApiCoreTypesDeviceConfig: The identification information for third -// party devices that integrates with the assistant. All of these fields will -// be populated by the third party when the query is sent from the third party -// device. Next Id: 5 -type AssistantApiCoreTypesDeviceConfig struct { - // AgentId: Pantheon Project ID that uniquely identifies the consumer project - // ID. Required - AgentId string `json:"agentId,omitempty"` - // DeviceId: Unique identifier for the device. Example: DBCDW098234. Required - DeviceId string `json:"deviceId,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgentId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgentId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesDeviceConfig) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesDeviceConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesDeviceId: LINT.IfChange(DeviceId) Specifies identifier -// of a device AKA surface. Note there may be multiple device ids for the same -// physical device E.g. Allo app and Assistant app on Nexus. Note: DeviceId -// usage is complicated. Please do not depend on it for surface specific logic. -// Please use google3/assistant/api/capabilities.proto instead. IMPORTANT: When -// checking for equality between two `DeviceId`s, you should always use an -// `isSameDevice{As}` function to check for equality, as deep equality between -// `DeviceId`'s is not guaranteed. * C++: -// http://google3/assistant/assistant_server/util/device_id_util.cc;l=23;rcl=421295740 -// * Dart: -// http://google3/assistant/context/util/lib/device_id.dart;l=26;rcl=442126145 -// * Java: -// http://google3/java/com/google/assistant/assistantserver/utils/DeviceIdHelper.java;l=9;rcl=390378522 -// See http://go/deviceid-equality for more details. Next ID: 14 -type AssistantApiCoreTypesDeviceId struct { - // AgsaClientInstanceId: The client_instance_id on devices with GSA. See - // 'client_instance_field' in go/androidids. - AgsaClientInstanceId string `json:"agsaClientInstanceId,omitempty"` - // AlloDeviceId: Allo Id. Corresponds to the GBotRequest.Sender.sender. - // NOTE(dychen): This may change to standard android/ios physical device ids in - // order to enable shared data (e.g. installed app on physical device shared - // between Allo and Opa apps on Nexus). - AlloDeviceId string `json:"alloDeviceId,omitempty"` - // CanonicalDeviceId: A unique device ID for Assistant devices as proposed by - // go/ocelot-team to solve the device id fragmentation problem. The value of - // this id is the HomeGraph id of the device. See - // go/ocelot-track-0-registry-design. New surfaces should use the - // canonical_device_id instead of using other ids, and the registration should - // utilize the DeviceDataLayer (go/ddl-v0). Please contact the - // assistant-state-management@ team for guidance. Note: We didn't reuse - // |home_graph_device_id| because in Assistant code base |home_graph_device_id| - // is common to associate it with 3P devices. See go/project-yellowstone for - // more context. - CanonicalDeviceId string `json:"canonicalDeviceId,omitempty"` - // CastDeviceId: If set, indicates that the device is a cast device, and - // contains the UUID of the cast device. Corresponds to the device_id field of - // the CastDevice proto. - CastDeviceId string `json:"castDeviceId,omitempty"` - // ClientInstanceId: DUSI (go/dusi) is used as the identifier here. This - // identifier is unique to the user and device. This will help identify which - // device or application the user's request originated from. This is not to be - // confused with the client_instance_id that android devices provide. This is - // currently used by surfaces that use the assistant-legacy-nexus and - // assistant-legacy-clockwork pipelines. DUSI is created and set in S3. This - // field is only filled for GAIA requests. - ClientInstanceId string `json:"clientInstanceId,omitempty"` - // ConnectedDockId: A device ID produced by a connected dock, which is - // registered in HomeGraph. - ConnectedDockId string `json:"connectedDockId,omitempty"` - // DeviceConfig: The unique DeviceConfig to the specific third party device. It - // is also used by Android Auto Embedded first party device. See go/opa-ids. - DeviceConfig *AssistantApiCoreTypesDeviceConfig `json:"deviceConfig,omitempty"` - // DeviceType: DEPRECATED. - // assistant.api.core_types.SurfaceIdentity.surface_type field should be used - // instead. The device's surface type. This is the string version of - // surface_type. The server should use the SurfaceType value derived from this - // string. If the device_type isn't supported within the SurfaceType enum, it - // will be set as UNKNOWN. Developers should use the enum in ServerParams - // instead of this string. WARNING: Clients are not actually setting this - // field. This field will be removed once references to it within the code base - // have been removed. - DeviceType string `json:"deviceType,omitempty"` - // HomeGraphDeviceId: The unique device ID for HomeGraph devices. This is the - // HomeGraph ID, created when the device is registered into HomeGraph. It is - // immutable for the same device unless it is completely deleted and recreated. - // See go/home-graph for details. - HomeGraphDeviceId string `json:"homeGraphDeviceId,omitempty"` - // LibassistantDeviceId: The unique ID for libassistant based devices. See - // go/libassistant-id for details. - LibassistantDeviceId string `json:"libassistantDeviceId,omitempty"` - // MultiHotwordArbitrationDeviceId: If set, indicates that the device is - // participating the multi-hotword arbitration and the id is an UUID to - // distinguish it from other devices. It should also be consistent between - // requests from a single device within a session (or short duration). - MultiHotwordArbitrationDeviceId string `json:"multiHotwordArbitrationDeviceId,omitempty"` - // OpaIosDeviceId: The unique device ID for the Assistant App on iOS. See - // go/opa-ios-design for details. - OpaIosDeviceId string `json:"opaIosDeviceId,omitempty"` - // QuartzDeviceId: The unique ID of a Quartz device. See go/quartz-design-doc - // for more details. Quartz ID is a hash of (android_id + gaia). - QuartzDeviceId string `json:"quartzDeviceId,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgsaClientInstanceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgsaClientInstanceId") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesDeviceId) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesDeviceId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesDeviceUserIdentity: The set of information that helps -// Assistant identify a device-user pair. An example use of this proto is in -// broadcast reply, when after receiving a broadcast, we store a device-user -// pair in an attentional entity in order to later infer who initated the -// broadcast on which device. -type AssistantApiCoreTypesDeviceUserIdentity struct { - // DeviceId: The identifier of the device. - DeviceId *AssistantApiCoreTypesDeviceId `json:"deviceId,omitempty"` - // GaiaId: The identifier of the user. - GaiaId int64 `json:"gaiaId,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "DeviceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesDeviceUserIdentity) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesDeviceUserIdentity - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesHomeAppInfo: The Home app information of the provider. -// Next ID: 3 -type AssistantApiCoreTypesHomeAppInfo struct { - // LocalizedAppName: The localized app name. - LocalizedAppName string `json:"localizedAppName,omitempty"` - // PackageName: Unique package name that identifies a Home app of the provider. - PackageName string `json:"packageName,omitempty"` - // ForceSendFields is a list of field names (e.g. "LocalizedAppName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LocalizedAppName") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesHomeAppInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesHomeAppInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesImage: An image represents the data about an image or a -// photo. NextId: 13 -type AssistantApiCoreTypesImage struct { - // AccessibilityText: A text description of the image to be used for - // accessibility, e.g. screen readers. - AccessibilityText string `json:"accessibilityText,omitempty"` - // AppIconIdentifier: App identifier. This field is specific to mobile surfaces - // and stands for app package name for Android surface, and app bundle - // identifier for iOS. In case identifier is specified but invalid, some - // default icon will be used, e.g. PackageManager.getDefaultActivityIcon() for - // Android. If you want to show image for AGSA versions which don't support - // this field, you can specify source_url as backup. - AppIconIdentifier string `json:"appIconIdentifier,omitempty"` - // BadgeImage: This is the image that is displayed as the badge on the main - // image. - BadgeImage *AssistantApiCoreTypesImage `json:"badgeImage,omitempty"` - // Content: Content of the image in bytes. - Content string `json:"content,omitempty"` - Height int64 `json:"height,omitempty"` - // ImageSource: Indicate the data source where the image is fetched. - // - // Possible values: - // "UNKNOWN" - Unknown image source. - // "PLACEHOLDER" - Indicates this image is a default placeholder because no - // valid image is found. - // "VISUAL_DICT" - Indicates the image is fetched from Visual Dictionary. - // "LAVD" - Indicates the image is fetched from LAVD - // (visual-dictionary-license-aware-requirements). - // "VISUAL_DICT_DEFAULT_LOCALE" - Indicates the image is fetched from Visual - // Dictionary of default locale "en". - ImageSource string `json:"imageSource,omitempty"` - // JsonContent: Content of image in form of JSON representation. - JsonContent string `json:"jsonContent,omitempty"` - // LetterDrawableText: Text used to generate a letter drawable (a letter icon - // with color). It will be the default icon if the source_url is empty or - // cannot be rendered. - LetterDrawableText string `json:"letterDrawableText,omitempty"` - // ProviderUrl: Url of the image provider, which is the website containing the - // image. For example, https://www.agentx.com. - ProviderUrl string `json:"providerUrl,omitempty"` - // SourceUrl: The source url of the image. For example, - // https://www.agentx.com/logo.png - SourceUrl string `json:"sourceUrl,omitempty"` - // SourceUrlType: Type of the source url. - // - // Possible values: - // "DEFAULT_URL_TYPE" - // "LOTTIE" - Json url used to drive animation on surfaces using Airbnb - // lottie library. - // "DUO_CLIENT" - Duo url specifying the Duo resource id to be used - // ('duo://'). WARNING: This may not be supported on all clients. At the - // moment, only Dragonglass surfaces are supporting this. - // "CONTACT_ID" - Contact ID specifying contact resource to be used. - // "GLIDE_CACHE_ID" - ID used for caching image with Glide. - SourceUrlType string `json:"sourceUrlType,omitempty"` - // Width: The width and height of the image in pixels. - Width int64 `json:"width,omitempty"` - // ForceSendFields is a list of field names (e.g. "AccessibilityText") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AccessibilityText") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesImage) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesImage - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesInternalProviderInfo: Info for targeting a feature -// provided directly by the Assistant surface itself. i.e Could be pointing to -// AGSA audio player for AUDIO_PLAYER on AGSA. -type AssistantApiCoreTypesInternalProviderInfo struct { - // Type: Specifying which type of internal provider. - // - // Possible values: - // "UNKNOWN_INTERNAL_PROVIDER_TYPE" - // "AUDIO_PLAYER" - Deprecated, because supported AGSA implementation had a - // bug (b/72229328). Use AUDIO_PLAYER_V2 instead. - // "AUDIO_PLAYER_V2" - Internal provider for playing audio. - // "MEDIA_PLAYER" - Internal provider for playing audio and video for AGSA. - // "MEDIA_PLAYER_IOS" - iOS MEDIA_PLAYER. - // "AUDIO_ONLY_PLAYER" - Internal provider for playing audio only, different - // from MEDIA_PLAYER. It is used by KaiOS, for news vertical. It is different - // from AUDIO_PLAYER_V2 which is for AGSA, and not supported by news vertical. - // "NARRATED_WEB_MEDIA_PLAYER" - Internal provider for playing audio - // narration of web pages. - // "LIBASSISTANT_MEDIA_PLAYER" - Internal provider for playing audio for - // libassistant. Historically each enum represents a different media player - // implementation. This one is meant for the playing media on the libassistant - // enabled surfaces. - // "LENS_PLAYER" - Internal provider for playing audio using lens audio - // player, for screenshot based readout. - // "NEWS_PLAYER" - Internal provider for news vertical on - // AssistantMediaPlayer in AGSA. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesInternalProviderInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesInternalProviderInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesIosAppInfo: The iOS app information of the provider. -// Next ID: 4 -type AssistantApiCoreTypesIosAppInfo struct { - // BundleIdentifier: Bundle identifier that identifies an iOS app of the - // provider. - BundleIdentifier string `json:"bundleIdentifier,omitempty"` - // LocalizedAppName: The localized app name. - LocalizedAppName string `json:"localizedAppName,omitempty"` - // OpenAppUrl: A URL to open the provider's app. - OpenAppUrl string `json:"openAppUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "BundleIdentifier") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BundleIdentifier") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesIosAppInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesIosAppInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesKaiOsAppInfo: The KaiOS app information of the -// provider. Next ID: 4 -type AssistantApiCoreTypesKaiOsAppInfo struct { - // LocalizedAppName: The localized app name. - LocalizedAppName string `json:"localizedAppName,omitempty"` - // OpenAppUrl: A URL to open the provider's app. - OpenAppUrl string `json:"openAppUrl,omitempty"` - // PackageName: Unique package name that identifies a KaiOS app of the - // provider. - PackageName string `json:"packageName,omitempty"` - // ForceSendFields is a list of field names (e.g. "LocalizedAppName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LocalizedAppName") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesKaiOsAppInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesKaiOsAppInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesLocationCoordinates: Geographic coordinate information -// for location. -type AssistantApiCoreTypesLocationCoordinates struct { - // AccuracyMeters: The accuracy of the coordinates in meters. - AccuracyMeters float64 `json:"accuracyMeters,omitempty"` - // LatDegrees: Latitude degrees. - LatDegrees float64 `json:"latDegrees,omitempty"` - // LngDegrees: Longitude degrees. - LngDegrees float64 `json:"lngDegrees,omitempty"` - // ForceSendFields is a list of field names (e.g. "AccuracyMeters") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AccuracyMeters") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesLocationCoordinates) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesLocationCoordinates - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *AssistantApiCoreTypesLocationCoordinates) UnmarshalJSON(data []byte) error { - type NoMethod AssistantApiCoreTypesLocationCoordinates - var s1 struct { - AccuracyMeters gensupport.JSONFloat64 `json:"accuracyMeters"` - LatDegrees gensupport.JSONFloat64 `json:"latDegrees"` - LngDegrees gensupport.JSONFloat64 `json:"lngDegrees"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.AccuracyMeters = float64(s1.AccuracyMeters) - s.LatDegrees = float64(s1.LatDegrees) - s.LngDegrees = float64(s1.LngDegrees) - return nil -} - -// AssistantApiCoreTypesMessageNotification: This proto captures the contents -// of a messaging app notification that is typically part of a conversation -// thread. Next Id: 21 -type AssistantApiCoreTypesMessageNotification struct { - // AppName: App name of the message notification, e.g. Hangouts. - AppName string `json:"appName,omitempty"` - // BundleId: The key used to group this notification into a cluster. - BundleId string `json:"bundleId,omitempty"` - // DataUri: Uri for the attachment (image, audio, video etc.). - DataUri string `json:"dataUri,omitempty"` - // GroupName: Name of the group associated with the message notification. This - // field is set iff this is a group message. - GroupName string `json:"groupName,omitempty"` - // GroupingKey: The group key of a proactive notification. Details in - // assistant.api.client_op.NotificationArgs.grouping_key. - GroupingKey string `json:"groupingKey,omitempty"` - // Index: Index of the message notification. - Index int64 `json:"index,omitempty"` - // MarkAsReadActionAvailable: Boolean indicating if the mark_as_read action is - // available for this message. - MarkAsReadActionAvailable bool `json:"markAsReadActionAvailable,omitempty"` - // MessageLength: Length of the message/notification content in characters. - // Note: We can't send the full content because of privacy restriction, - // preventing sending client content to our backends. Concatenated - // message_length of all notification_entries. - MessageLength int64 `json:"messageLength,omitempty"` - // Possible values: - // "UNKNOWN" - // "INDIVIDUAL" - // "GROUP" - MessageRecipientType string `json:"messageRecipientType,omitempty"` - // MessageWordCount: Word count of the message - MessageWordCount int64 `json:"messageWordCount,omitempty"` - // MimeType: Mime type of the data_uri. e.g. 'audio/wav', 'video/mp4', - // 'image/png'. - MimeType string `json:"mimeType,omitempty"` - NotificationEntries []*AssistantApiCoreTypesMessageNotificationNotificationEntry `json:"notificationEntries,omitempty"` - // NotificationIconKey: On-device cache key for notification icon. - NotificationIconKey string `json:"notificationIconKey,omitempty"` - // NotificationKey: String key of the notification. It is the key from original - // StatusBarNotification received from Android OS. It is used to identify the - // original notification to send a reply. - NotificationKey string `json:"notificationKey,omitempty"` - // OpaqueToken: The opaque_token of a proactive notification. Details in - // assistant.api.client_op.NotificationArgs.opaque_token. - OpaqueToken string `json:"opaqueToken,omitempty"` - // PackageName: App pkg of the message notification, e.g. - // "com.google.android.talk". - PackageName string `json:"packageName,omitempty"` - // PostTime: Timestamp of the last notification's post time. - PostTime int64 `json:"postTime,omitempty,string"` - // ReplyActionAvailable: Boolean indicating if the reply action is available - // for this message. - ReplyActionAvailable bool `json:"replyActionAvailable,omitempty"` - Sender *AssistantApiCoreTypesMessageNotificationPerson `json:"sender,omitempty"` - // SenderName: Sender's name of the message notification, e.g. Elsa. Last - // sender name in case of a group conversation. - SenderName string `json:"senderName,omitempty"` - // ForceSendFields is a list of field names (e.g. "AppName") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AppName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesMessageNotification) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesMessageNotification - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesMessageNotificationNotificationEntry: Structure of each -// notification in the MessageNotification Bundle. Attribute sender_name could -// be different in case of group messages. Next Id: 9 -type AssistantApiCoreTypesMessageNotificationNotificationEntry struct { - // AudioDuration: Duration of audio message. - AudioDuration string `json:"audioDuration,omitempty"` - // CharCount: Count of characters in the message body in the notification. - CharCount int64 `json:"charCount,omitempty"` - // DataUri: Uri for the attachment (image, audio, video etc.). - DataUri string `json:"dataUri,omitempty"` - // MessageBody: Note that this is not present in production traffic. Content of - // the message body in the notification. - MessageBody string `json:"messageBody,omitempty"` - // MimeType: Mime type of the data_uri. e.g. 'audio/wav', 'video/mp4', - // 'image/png'. - MimeType string `json:"mimeType,omitempty"` - // PostTime: Timestamp of the notification's post time. - PostTime string `json:"postTime,omitempty"` - // Sender: Sender of the message notification. - Sender *AssistantApiCoreTypesMessageNotificationPerson `json:"sender,omitempty"` - // WordCount: Count of words in the message body in the notification. - WordCount int64 `json:"wordCount,omitempty"` - // ForceSendFields is a list of field names (e.g. "AudioDuration") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AudioDuration") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesMessageNotificationNotificationEntry) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesMessageNotificationNotificationEntry - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesMessageNotificationPerson: Mirrors part of -// https://developer.android.com/reference/android/app/Person Next Id: 4 -type AssistantApiCoreTypesMessageNotificationPerson struct { - IsImportant bool `json:"isImportant,omitempty"` - Key string `json:"key,omitempty"` - Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsImportant") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsImportant") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesMessageNotificationPerson) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesMessageNotificationPerson - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesProvider: Provider. Like, Spotify or iHeartRadio. Next -// ID: 13 -type AssistantApiCoreTypesProvider struct { - // AndroidAppInfo: The android app information of the provider. - AndroidAppInfo *AssistantApiCoreTypesAndroidAppInfo `json:"androidAppInfo,omitempty"` - // CastAppInfo: The cast app information of the provider. - CastAppInfo *AssistantApiCoreTypesCastAppInfo `json:"castAppInfo,omitempty"` - // ChromeosAppInfo: The ChromeOS app information of the provider. - ChromeosAppInfo *AssistantApiCoreTypesChromeOsAppInfo `json:"chromeosAppInfo,omitempty"` - // CloudProviderInfo: The third party provider information. - CloudProviderInfo *AssistantApiCoreTypesCloudProviderInfo `json:"cloudProviderInfo,omitempty"` - // FallbackUrl: A URL to fallback to if app can not be opened. - FallbackUrl string `json:"fallbackUrl,omitempty"` - HomeAppInfo *AssistantApiCoreTypesHomeAppInfo `json:"homeAppInfo,omitempty"` - // IconImageUrl: Public URL pointing to an icon image for the provider. e.g. - // https://lh3.googleusercontent.com/UrY7BAZ-XfXGpfkeWg0zCCeo-7ras4DCoRalC_WXXWTK9q5b0Iw7B0YQMsVxZaNB7DM - IconImageUrl string `json:"iconImageUrl,omitempty"` - // InternalProviderInfo: The internal assistant provider information. - InternalProviderInfo *AssistantApiCoreTypesInternalProviderInfo `json:"internalProviderInfo,omitempty"` - // IosAppInfo: The iOS app information of the provider. - IosAppInfo *AssistantApiCoreTypesIosAppInfo `json:"iosAppInfo,omitempty"` - // KaiosAppInfo: The KaiOS app information of the provider. - KaiosAppInfo *AssistantApiCoreTypesKaiOsAppInfo `json:"kaiosAppInfo,omitempty"` - // SipProviderInfo: The sip information of the provider. - SipProviderInfo *AssistantApiCoreTypesSipProviderInfo `json:"sipProviderInfo,omitempty"` - // WebProviderInfo: The web provider information. - WebProviderInfo *AssistantApiCoreTypesWebProviderInfo `json:"webProviderInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "AndroidAppInfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AndroidAppInfo") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesProvider) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesProvider - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesProviderDelta: ProviderDelta. The incremental change, -// e.g. installation or deletion for Spotify or iHeartRadio. Currently it is -// for Android only. A few considerations for edge cases: - If the app being -// deleted is not found from Footprints, it is ignored. - For Footprint upload -// through Geller, the gPRC response is available for client to retry in the -// next upload if the upload fails. - For Assistant Request, there is no upload -// status similar to the current AppCapabilities. Next ID: 4 -type AssistantApiCoreTypesProviderDelta struct { - // AndroidAppInfoDelta: The android app information of the provider. - AndroidAppInfoDelta *AssistantApiCoreTypesAndroidAppInfoDelta `json:"androidAppInfoDelta,omitempty"` - // FallbackUrl: A URL to fallback to if app can not be opened. - FallbackUrl string `json:"fallbackUrl,omitempty"` - // IconImageUrl: Public URL pointing to an icon image for the provider. e.g. - // https://lh3.googleusercontent.com/UrY7BAZ-XfXGpfkeWg0zCCeo-7ras4DCoRalC_WXXWTK9q5b0Iw7B0YQMsVxZaNB7DM - IconImageUrl string `json:"iconImageUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "AndroidAppInfoDelta") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AndroidAppInfoDelta") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesProviderDelta) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesProviderDelta - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesRingtoneTaskMetadata: Task metadata information -// describing the ringtone. Next id: 11 -type AssistantApiCoreTypesRingtoneTaskMetadata struct { - // Category: The category related with the ringtone. It's used to generate - // ringtone related with the category if the entity_mid is not be populated. - // E.g. for instrument, the ringtone may be piano sound. - // - // Possible values: - // "UNKNOWN_CATEGORY" - // "ANIMAL" - // "CHARACTER" - Character alarm is a kind of media alarm. CHARACTER category - // should be removed. Use MEDIA for character alarms - // "EMOTION" - // "INSTRUMENT" - // "MEDIA" - // "SPORTS_EQUIPMENT" - // "VEHICLE" - // "ON_DEVICE" - An alarm sound that the user can select to play when an - // alarm is firing, the alarm sound resource is located on device in - // libassistant. - // "FUNTIME" - An alarm sound that is based upon the label that the timer or - // alarm is invoked with (ie pizza timer invokes an Italian accordian theme). - // The assets are streamed from web storage. - Category string `json:"category,omitempty"` - CharacterAlarmMetadata *AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadata `json:"characterAlarmMetadata,omitempty"` - CharacterTag string `json:"characterTag,omitempty"` - // EntityMid: The freebase mid of the entity related to the ringtone. It will - // be used to generate the ringtone for the alarm or timer (with support for - // i18n). For instance, for the "cat" mid, the related ringtone will be a cat - // sound in some language, and for the "Beyonce" mid, the ringtone will be, - // e.g., a playlist of Beyonce's best hits. - EntityMid string `json:"entityMid,omitempty"` - FuntimeMetadata *AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadata `json:"funtimeMetadata,omitempty"` - GenMlAlarmMetadata *AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadata `json:"genMlAlarmMetadata,omitempty"` - // GentleWakeInfo: Gentle wake information for this alarm. - GentleWakeInfo *AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfo `json:"gentleWakeInfo,omitempty"` - OnDeviceAlarmMetadata *AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadata `json:"onDeviceAlarmMetadata,omitempty"` - // OnDeviceAlarmSound: Will be deprecated. Use OnDeviceAlarmMetadata. - // - // Possible values: - // "DEFAULT" - // "MELLOW" - // "MODERN_TIMES" - // "BEAUTIFUL_MIND" - // "LITTLE_SUNSHINE" - // "TOUCH_OF_ZEN" - // "ABOUT_TIME" - // "RANDOM" - // "BOROBUDUR" - // "PEBBLES" - // "BRIGHT_MORNING" - // "ACROSS_THE_VALLEY" - // "MORNING_SONG" - // "KYOTO" - // "AWAKEN" - // "CUCKOO" - // "DIGITAL_BLAST" - // "ACOUSTIC_SUNLIGHT" - // "SUNRISE_BOSSA" - // "CALM_GLOW" - // "ANTIQUE_CLOCK" - // "JUST_BIRDS" - // "JUNGLE_AMBIENCE" - // "QUAINT_VILLAGE" - // "BUBBLY_BOSSA" - // "ACOUSTIC_JAM" - // "EUPHORIC" - OnDeviceAlarmSound string `json:"onDeviceAlarmSound,omitempty"` - RoutineAlarmMetadata *AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadata `json:"routineAlarmMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "Category") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Category") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesRingtoneTaskMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesRingtoneTaskMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadata struct { - // AgentIds: For character alarm, the media resources are provided through AOG - // apps. During alarm trigger phase, aog apps with the specified agent_ids are - // used to get the media resources. Multiple "AoG agents" can satisfy a - // character_tag. So the user will select the agents they want at alarm - // creation time. The chosen agents will be recorded so that the resources only - // from those agents will be used at trigger time. The number of selected - // agent_ids will not exceed 3. See go/character-alarm-aog. - AgentIds []string `json:"agentIds,omitempty"` - // CharacterTags: The Character Alarm tag. Tags are needed to identify the - // theme of the alarm. For example, if the tag is 'astronaut', astronaut based - // audio is played during alarm ring. Note : We have made it repeated so that - // the user can choose multiple character alarm themes at one go. At present, - // the user is allowed to choose only one theme during alarm creation. - CharacterTags []string `json:"characterTags,omitempty"` - // IconUrls: Icons urls corresponding to a character. Note : We have made it - // repeated so that we can show different images when the alarm rings. At - // present, we only support only one image. - IconUrls []string `json:"iconUrls,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgentIds") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgentIds") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesRingtoneTaskMetadataCharacterAlarmMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadata: Used to make -// timers and alarms more delightful. See go/funtime-engdesign for more -// details. -type AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadata struct { - // AgentIds: For FunTime alarms and timers, the media resources are provided - // through AOG apps during their ringtone. Multiple AoG agents can satisfy a - // label. So a random agent will be chosen from those that are supplied. See - // go/funtime-engdesign. - AgentIds []string `json:"agentIds,omitempty"` - // AnimationBlob: These bytes may represent the blob of the Rive animation that - // we pass to the Opal App. We will deprecate this field if we figure out a - // solution to load the animation from the web. - AnimationBlob string `json:"animationBlob,omitempty"` - // AnimationUrl: Url for Rive animation that is brought up on ring. Rive is a - // lightweight animation library that is compatible with Flutter on Opal. See - // https://rive.app/. - AnimationUrl string `json:"animationUrl,omitempty"` - // TimerHeroUrl: The url used to load the image that is at the center of the - // timer during timer countdown visuals. - TimerHeroUrl string `json:"timerHeroUrl,omitempty"` - // TtsServiceRequestBytes: This is used to call S3 to realize the TTS. Is in - // the form of bytes because of a circular dependency issue in libassistant - // protos. It is a serialized proto of type speech.s3.TtsServiceRequest. - TtsServiceRequestBytes string `json:"ttsServiceRequestBytes,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgentIds") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgentIds") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesRingtoneTaskMetadataFuntimeMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadata: Metadata for -// machine learning generated audio samples. This will be similar to character -// alarms, Category will be set MEDIA but this metadata field will be used to -// identify the ringtone type on surface. (go/magenta-alarm-ringtones). -type AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadata struct { - IsEnabled bool `json:"isEnabled,omitempty"` - // RingtoneLabel: Label for the generated ringtone. - RingtoneLabel string `json:"ringtoneLabel,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsEnabled") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsEnabled") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesRingtoneTaskMetadataGenMlAlarmMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfo: Gentle wake actions -// like slowly brightening the room/device screen leading up to the alarm -// firing (go/cube-gentle-wake-up). -type AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfo struct { - // EffectDurationMs: Specifies how long the effect lasts. Allowed for effect to - // last after the alarm has started ringing. If unset or negative or 0, effect - // is assumed to last until alarm trigger time. - EffectDurationMs int64 `json:"effectDurationMs,omitempty,string"` - // IsEnabled: Indicates if gentle wake action is to be performed before this - // alarm fires. This is enabled only if the device supports sunrise alarm - // capability. http://cs/symbol:assistant.api.SunriseFeaturesSupport - IsEnabled bool `json:"isEnabled,omitempty"` - // StartTimedeltaMs: Specifies how long before the alarm fire time, the wakeup - // effect will start. ALWAYS POSITIVE. - StartTimedeltaMs int64 `json:"startTimedeltaMs,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "EffectDurationMs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EffectDurationMs") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesRingtoneTaskMetadataGentleWakeInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadata: This -// describes the alarm sound resource enum and the alarm sound label for the on -// device alarm sound. On-device ringtones are product specific, hence Opal/UI -// layer will be responsible for populating this metadata at creation/edit. The -// enum map will be used to convert to an internal resource id used by -// libassistant for accessing the asset which are not exposed to UI. -type AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadata struct { - // OnDeviceAlarmSound: Opal/UI layer will set this bit based on the user - // selection. - // - // Possible values: - // "DEFAULT" - // "MELLOW" - // "MODERN_TIMES" - // "BEAUTIFUL_MIND" - // "LITTLE_SUNSHINE" - // "TOUCH_OF_ZEN" - // "ABOUT_TIME" - // "RANDOM" - // "BOROBUDUR" - // "PEBBLES" - // "BRIGHT_MORNING" - // "ACROSS_THE_VALLEY" - // "MORNING_SONG" - // "KYOTO" - // "AWAKEN" - // "CUCKOO" - // "DIGITAL_BLAST" - // "ACOUSTIC_SUNLIGHT" - // "SUNRISE_BOSSA" - // "CALM_GLOW" - // "ANTIQUE_CLOCK" - // "JUST_BIRDS" - // "JUNGLE_AMBIENCE" - // "QUAINT_VILLAGE" - // "BUBBLY_BOSSA" - // "ACOUSTIC_JAM" - // "EUPHORIC" - OnDeviceAlarmSound string `json:"onDeviceAlarmSound,omitempty"` - // OnDeviceAlarmSoundLabel: A string label to identify the alarm sound name. - // Opal/UI layer will set this as per product definition. This will be used to - // display the name of the selected ringtone. - OnDeviceAlarmSoundLabel string `json:"onDeviceAlarmSoundLabel,omitempty"` - // TtsServiceRequestBytes: This is used to call S3 to realize the TTS. Is in - // the form of bytes because of a circular dependency issue in libassistant - // protos. It is a serialized proto of type speech.s3.TtsServiceRequest. This - // request will contain an ssml with the url to the ringtone files hosted on - // gstatic. - TtsServiceRequestBytes string `json:"ttsServiceRequestBytes,omitempty"` - // ForceSendFields is a list of field names (e.g. "OnDeviceAlarmSound") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OnDeviceAlarmSound") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesRingtoneTaskMetadataOnDeviceAlarmMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadata struct { - // RoutineId: The unique id for each routine. When the alrm is dismissed, it - // will trigger the routine of the routine alarm's creator if feasible. - RoutineId string `json:"routineId,omitempty"` - // ForceSendFields is a list of field names (e.g. "RoutineId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RoutineId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesRingtoneTaskMetadataRoutineAlarmMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesSipProviderInfo: Session Initiation Protocol (SIP) -// information for providers that use SIP to initiate multimedia communication -// sessions, like Google Voice and Fi. -// https://en.wikipedia.org/wiki/Session_Initiation_Protocol -type AssistantApiCoreTypesSipProviderInfo struct { - // ProviderId: The providers id (MID) which is the primary identifier for a - // call provider within the Assistant. A MID, or machine identifier, is a - // unique identifier issued by Knowledge Graph for all entities contained in - // it's graph. - ProviderId string `json:"providerId,omitempty"` - // Realm: Calling realm to be use for each call. i.e. For anonymous, this would - // be set to anonymous.chirp.google.com - Realm string `json:"realm,omitempty"` - // UseBirdsongTacl: If true, client should use the Birdsong TaCL API for this - // call. Uses the VoiceCallManager API by default. For more details: - // go/birdsong-migration-google-home - UseBirdsongTacl bool `json:"useBirdsongTacl,omitempty"` - // ForceSendFields is a list of field names (e.g. "ProviderId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ProviderId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesSipProviderInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesSipProviderInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesSurfaceIdentity: The set of information that helps the -// server identify the surface. This replaces the User-Agent string within the -// Assistant Server. Note: The SurfaceIdentity proto should only be used to -// derive the capabilities of a surface. It should not be accessed outside of -// the CapabilityBuilder or CapabilityChecker. NEXT ID: 6 -type AssistantApiCoreTypesSurfaceIdentity struct { - // DeviceId: The identifier of the device. - DeviceId *AssistantApiCoreTypesDeviceId `json:"deviceId,omitempty"` - // LegacySurfaceType: DEPRECATED: The legacy device's surface type enum. NOTE: - // Prefer using the ontological `surface_type` field above. If you need to - // access the legacy surface type, please file a bug and add it in your code to - // migrate to ontological surface type. - // - // Possible values: - // "UNKNOWN" - // "ANDROID_ALLO" - // "ANDROID_AUTO" - Deprecated (never used). Use OPA_ANDROID_AUTO instead. - // "ANDROID_THINGS_CUBE" - Assistant on small screen stationary device. - // "ANDROID_THINGS_JASPER" - // "ANDROID_TV" - // "ANDROID_TV_KIDS" - // "ANDROID_WEAR" - // "AR_GLASSES" - Assistant on AR Glasses with both visual and audio - // experiences. Ask ar-assistant@ for details. - // "ASSISTANT_SDK" - For Assistant SDK gRPC client. - // "AUDIOWEAR" - // "BUBBLE_CHARACTERS_IOS" - go/assistant-lamda-overview-characters - // "CAPABILITY_BASED_SURFACE" - Surface for capability based testing. - // "CHROMECAST_ASSISTANT" - For chrome cast assistant web app. - // "CHROMECAST_MANHATTAN" - For chrome cast with assistant + screen (e.g., - // Google Nest Hub). - // "CHROMECAST_SEARCH" - // "CLOUD_DEVICE" - Virtual device for event-based triggering, e.g. executing - // time - // "COMPANION_SCREEN" - scheduled routines: go/routine-cloud-ex For Quartz. - // "DYNAMITE_WEB" - // "ENSEMBLE" - // "EYESFREE_AGSA" - Deprecated. Please use OPA_ANDROID_SCREENLESS. - // "EYESFREE_GMM" - // "GBOARD" - For Gboard app - // "GLASS" - // "GOOGLE_HOME" - // "HANGOUTS_CHATBOT" - // "IOS_ALLO" - // "IOS_GSA" - // "IOS_WEAR" - // "LIBASSISTANT" - For standalone libassistant devices. - // "LINE_CHATBOT" - LINE 3P messaging app - // "MATTER" - For Matter devices. go/matter-prod - // "MULTIMODAL_AGSA" - Deprecated. - // "NON_ASSISTANT_SURFACE" - Surfaces that do not speak to the Assistant, - // i.e. web HQ - // "OPA_AGSA" - Assistant on Android phones accessed through the Google App - // (velvet). This represents neither all of the assistant on android phones - // (ANDROID_ALLO, VERILY_ONDUO, etc.) nor all of the assistant built on top of - // AGSA (ANDROID_WEAR, OPA_ANDROID_SCREENLESS, OPA_AGSA_CHROME_OS, etc.). - // "OPA_AGSA_CHROME_OS" - Deprecated. Please use OPA_CROS. - // "OPA_ANDROID_AUTO" - // "OPA_ANDROID_LITE" - This is OPA on Android Go (not part of AGSA) - // "OPA_ANDROID_SCREENLESS" - Assistant on Nexus with screen off/locked. Use - // go/bisto device to trigger. - // "OPA_ANDROID_SMART_DISPLAY" - Assistant on Titan hub mode - // (go/titan-hubmode-surface). This is OPA Android first party Smart Display - // devices. The UI experience is built on Opal (Gallium and Flutter) and native - // Android. - // "OPA_ANDROID_TABLET" - Assistant on Android tablet - // "OPA_CROS" - Assistant on native Chrome OS (go/croissant). - // "OPA_GACS" - For assistant on GACS devices (go/gacs-dd). Google Assistant - // Conversation Service (GACS) defines intents the device accepts. This surface - // serves the intents in the assistant response. - // "OPA_IOS" - // "OPA_IOS_SCREENLESS" - Assistant on iOS with screen off/locked. Use - // go/bisto device to trigger. - // "OPA_KAIOS" - Assistant on KaiOS. go/kaiosama - // "OPA_MOBILE_WEB" - Assistant on Mobile Web. go/opa-spidey - // "RTOS_PHONE" - Assistant on low-cost RTOS phones (go/conceRTOS). - // "SMS_CHATBOT" - // "TELEGRAM_CHATBOT" - Telegram 3P messaging app - // "TELEPHONE_ASSISTANT" - Assistant on a phone call (go/telephone). - // "VERILY_ONDUO" - // "YOUTUBE_APP" - A Youtube app. - // "AGSA_BISTO_FOR_EVAL" - Eval-only surfaces. These surfaces are not real - // surfaces. They are only used in intermediate steps of eval query and request - // generation: 1. Eval samplers (OPA query sampler and Cannery sampler) checks - // logs and temporarily assigns these surface types to the logs, to put Bisto, - // Lockhart Mic, ... queries in the correct query pools. 2. Request builders - // uses these surface types to determine how TaskRequest for Bisto, Lockhart - // Mic, ... should be built, like whether some user user agent should be used, - // whether some entry source should be set. The surface types in the generated - // TaskRequest is still the production surface types, like - // OPA_ANDROID_SCREENLESS or OPA_AGSA. Temp surface for Bisto Android eval. - // Will be merged with OPA_ANDROID_SCREENLESS in the future. - // "COGSWORTH_FOR_EVAL" - // "LOCKHART_MIC_FOR_EVAL" - // "OPA_ANDROID_AUTO_EMBEDDED_FAKE" - OPA_ANDROID_AUTO has another - // sub-surface (embedded) that differs in the reported capabilities, - // client-ops, flags but uses the same surface_type string of OPA_ANDROID_AUTO. - // This fake surface would allow running turing2 tests and evals for this - // embedded surface. Deprecated as of Feb 2019. Please use - // "OPA_ANDROID_AUTO_EMBEDDED" client type for tests and eval. See - // go/client-onboarding for more details. - // https://cs.corp.google.com/piper///depot/google3/assistant/assistant_server/tools/util/consts.h?l=32&rcl=247481455 - // "SPARK" - Unlaunched new surface prototype, ask spark-eng@. - // "WALLE" - Wall-E is an Area120 Project building assistant powered robots. - // The surface is an extended joplin which have same capabilities as a google - // home adding custom robot features. Currently in active development. Please - // reach out walle-software@ or bingxin@ for questions. For details see - // go/walle-as-pipeline-1-pager. - // "UNIT_TESTING" - Surface used for unit-testing purposes. Unit-tests might - // still require the existence of a "valid" SurfaceType to succeed (eg. - // initialization of the CapabilityBuilder, proto matching, etc.). With the - // move away from SurfaceType checks, a generic "TESTING" SurfaceType can be - // used for such tests without affecting the test behavior. Unlike the - // CAPABILITY_BASED_SURFACE, this proto does not have any capabilities or - // ResponseType tied to it. It should only be used for unit-tests and should - // not be exposed in the ASDebugger. - LegacySurfaceType string `json:"legacySurfaceType,omitempty"` - // SurfaceType: The device's surface type. The types are defined at - // google3/assistant/api/core_types/surfaces.gcl. For more details, refer to - // go/ontologicalize-surface-type. - // - // Possible values: - // "UNKNOWN_TYPE" - Unknown surface type. - // "ACCL" - Android conversation client library (go/accl) is an Android - // library which implements the Conversation Protocol that allows a surface to - // have conversations with the Assistant server. OWNERS: surfaces-infra-core@ - // "AGSA" - Android Google Search App (go/agsa). OWNERS: surfaces-infra-core@ - // "ANDROID" - Android. OWNERS: surfaces-infra-core@ - // "ANDROID_AUTO" - Assistant on Android Auto (go/ast-auto). OWNERS: - // opa-android-leads@ - // "ANDROID_LITE" - Assistant on Android Go (not part of AGSA). OWNERS: - // assistantgo-eng@ - // "ANDROID_PHONE" - Assistant on Android phones accessed through the Google - // App (velvet). This surface is formerly known as OPA_AGSA. OWNERS: - // opa-android-leads@ - // "ANDROID_SCREENLESS" - Assistant on Nexus with screen off/locked. Use - // go/bisto device to trigger. OWNERS: opa-android-leads@ - // "ANDROID_SMART_DISPLAY" - Assistant on Titan hub mode - // (go/titan-hubmode-surface). This is OPA Android first party Smart Display - // devices. The UI experience is built on Opal (Gallium and Flutter) and native - // Android. OWNERS: opa-android-leads@ - // "ANDROID_TABLET" - Assistant on Android tablet. OWNERS: opa-android-leads@ - // "ANDROID_THINGS" - Android Things (go/things). OWNERS: - // surfaces-infra-core@ - // "ANDROID_THINGS_CUBE" - Lenovo Smart Clock v1, a stationary smart display - // device with a 4-inch screen, targeted for bedroom/bedside use cases like - // alarm, sleep tracking. Based on Android Things. See go/cube-home. OWNERS: - // cube-eng@ - // "ANDROID_THINGS_JASPER" - Former codename for 3P 8-inch and 10-inch Smart - // Displays from Lenovo, JBL and LG, targeted for use in the kitchen. Based on - // Android Things. See go/jasper-home. OWNERS: jasper-eng@ - // "ANDROID_TV" - The Android platform that powers smart televisions, - // set-top-boxes, and over-the-top devices. See go/atv-eng and go/opa-tv. - // OWNERS: opa-tv-eng@ - // "ANDROID_WEAR" - Legacy Wear OS Assistant. OWNERS: wear-assistant-eng@ - // "ASSISTANT_KIT" - AssistantKit (go/assistantkit) is a collection of iOS - // libraries allowing first party apps to integrate Google Assistant features. - // OWNERS: assistantkit-eng@ - // "ASSISTANT_SDK" - Standalone gRPC based client. See go/easi. OWNERS: - // assistant-sdk-service-eng@ - // "AUTO" - Automobile. OWNERS: surfaces-infra-core@ - // "CAST_OS" - Cast OS (go/opal-castos-docs#what-is-castos). OWNERS: - // surfaces-infra-core@ - // "CHROME_OS" - Chrome OS (go/chromsos) OWNERS: surfaces-infra-core@ - // "CHROMECAST_MANHATTAN" - For chromecast with assistant + screen, e.g. - // Newman. OWNERS: cast-eng-platform@ - // "CLOUD_DEVICE" - Virtual device for event-based triggering, e.g. executing - // time scheduled routines: go/scheduled-routines. OWNERS: surfaces-infra-core@ - // "CROS" - Assistant on native Chrome OS (go/croissant). OWNERS: croissant@ - // "FITBIT_OS_WATCH" - Assistant on Fitbit OS Watch. OWNERS: - // assistant-wearable-team@ - // "FITBIT_OS_WATCH_ANDROID" - Assistant on Fitbit Watch paired with AGSA. - // OWNERS: assistant-wearable-team@ - // "FITBIT_OS_WATCH_IOS" - Assistant on Fitbit Watch paired with iOPA. - // OWNERS: assistant-wearable-team@ - // "GOOGLE_HOME" - Google home speaker, i.e., Chirp devices. See - // go/assistant-speakers. OWNERS: assistant-speaker-leads@ - // "HEADPHONE" - Headphone. OWNERS: surfaces-infra-core@ - // "HEADPHONE_ANDROID" - Assistant on headphones with APA. OWNERS: - // assistant-wearable-team@ - // "HEADPHONE_ANDROID_SCREENLESS" - Assistant on headphones with AGSA-C. - // OWNERS: assistant-wearable-team@ - // "HEADPHONE_IOS" - Assistant on headphones paired with iOPA. OWNERS: - // assistant-wearable-team@ - // "IOPA" - Assistant on iOS devices (go/opa-ios). OWNERS: opa-ios-eng@ - // "IOS" - iOS. OWNERS: surfaces-infra-core@ - // "IOS_SCREENLESS" - Assistant on iOS with screen off/locked. Use go/bisto - // device to trigger. OWNERS: bisto-team@ - // "IPAD" - iPad devices. OWNERS: surfaces-infra-core@ - // "IPHONE" - iPhone devices. OWNERS: surfaces-infra-core@ - // "KAI_OS" - Kai OS (go/kaios). OWNERS: surfaces-infra-core@ - // "KAI_OS_AMA" - Assistant on KaiOS (go/kaiosama). OWNERS: - // assistant-kaios-eng@ - // "LIBASSISTANT" - LibAssistant (go/libassistant) C++ SDK that powers - // Assistant experience on both 1P devices like Google Home and 3P devices like - // Sonos. OWNERS: libassistant-core@ - // "MATTER" - Matter based clients. go/matter-prod. OWNERS: assistant-media@ - // "PHONE" - A phone. OWNERS: surfaces-infra-core@ - // "PIXEL" - Pixel devices. OWNERS: surfaces-infra-core@ - // "PIXEL5" - Pixel 5. OWNERS: surfaces-infra-core@ - // "PIXEL6" - Pixel 6. OWNERS: surfaces-infra-core@ - // "PIXEL7" - Pixel 7. OWNERS: surfaces-infra-core@ - // "PIXEL8" - Pixel 8. OWNERS: surfaces-infra-core@ - // "PIXEL_BUDS" - Assistant on Pixel Buds with APA. OWNERS: - // assistant-wearable-team@ - // "PIXEL_BUDS_SCREENLESS" - Assistant on Pixel Buds with AGSA-C. OWNERS: - // assistant-wearable-team@ - // "PIXEL_TABLET" - Assistant on Pixel Tablet/Tangor (a.k.a, TK). OWNERS: - // assistant-display-eng@ - // "PIXEL_TABLET_HUB_MODE" - Assistant on Tangor running in Hub mode. OWNERS: - // assistant-display-eng@ - // "PIXEL_TABLET_PERSONAL_MODE" - Assistant on Tangor running in Personal - // mode. OWNERS: assistant-display-eng@ - // "PIXEL_WATCH" - Assistant on Pixel Watch (a.k.a., Rohan). OWNERS: - // assistant-wearable-team@ - // "SCREENLESS" - Devices with screen off or locked (go/bisto). OWNERS: - // surfaces-infra-core@ - // "SMART_DISPLAY" - Smart surface, such as Titan. OWNERS: - // surfaces-infra-core@ - // "SPEAKER" - A speaker. OWNERS: surfaces-infra-core@ - // "TABLET" - A tablet. OWNERS: surfaces-infra-core@ - // "TELEPHONE" - Assistant on a phone call (go/telephone). OWNERS: - // telephone-assistant-eng@ - // "THING" - IoT device. OWNERS: surfaces-infra-core@ - // "WATCH" - Watch. OWNERS: surfaces-infra-core@ - // "WEAR_OS" - Wear OS. OWNERS: surfaces-infra-core@ - // "WEAR_OS_WATCH" - Assistant on Wear OS Watch (a.k.a., Edoras). OWNERS: - // assistant-wearable-team@ - SurfaceType string `json:"surfaceType,omitempty"` - // SurfaceTypeString: DEPRECATED. The legacy device's surface type string. - // NOTE: Prefer using the ontological `surface_type` field. The device's - // surface type. This is the string version of the - // assistant.api.core_types.SurfaceType enum. The server should not use this - // field, rather it should use the SurfaceType value derived from this string. - SurfaceTypeString string `json:"surfaceTypeString,omitempty"` - // SurfaceVersion: The version of the surface/client. This is different from - // the Conversation protocol version. - SurfaceVersion *AssistantApiCoreTypesSurfaceVersion `json:"surfaceVersion,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesSurfaceIdentity) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesSurfaceIdentity - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesSurfaceType: Specifies the types of device surfaces. -// LINT.IfChange When adding new surface types make sure that My Activity -// (https://myactivity.google.com/product/assistant) will correctly render by -// adding your enum to http://cs/symbol:GetAssistSurfaceName%20f:%5C.cc$ If -// your type doesn't fit in to any of the existing surfaces messages, add a new -// message in -// http://google3/personalization/footprints/boq/uservisible/events/intl/smh_frontend_messages.h. -type AssistantApiCoreTypesSurfaceType struct { - // Possible values: - // "UNKNOWN" - // "ANDROID_ALLO" - // "ANDROID_AUTO" - Deprecated (never used). Use OPA_ANDROID_AUTO instead. - // "ANDROID_THINGS_CUBE" - Assistant on small screen stationary device. - // "ANDROID_THINGS_JASPER" - // "ANDROID_TV" - // "ANDROID_TV_KIDS" - // "ANDROID_WEAR" - // "AR_GLASSES" - Assistant on AR Glasses with both visual and audio - // experiences. Ask ar-assistant@ for details. - // "ASSISTANT_SDK" - For Assistant SDK gRPC client. - // "AUDIOWEAR" - // "BUBBLE_CHARACTERS_IOS" - go/assistant-lamda-overview-characters - // "CAPABILITY_BASED_SURFACE" - Surface for capability based testing. - // "CHROMECAST_ASSISTANT" - For chrome cast assistant web app. - // "CHROMECAST_MANHATTAN" - For chrome cast with assistant + screen (e.g., - // Google Nest Hub). - // "CHROMECAST_SEARCH" - // "CLOUD_DEVICE" - Virtual device for event-based triggering, e.g. executing - // time - // "COMPANION_SCREEN" - scheduled routines: go/routine-cloud-ex For Quartz. - // "DYNAMITE_WEB" - // "ENSEMBLE" - // "EYESFREE_AGSA" - Deprecated. Please use OPA_ANDROID_SCREENLESS. - // "EYESFREE_GMM" - // "GBOARD" - For Gboard app - // "GLASS" - // "GOOGLE_HOME" - // "HANGOUTS_CHATBOT" - // "IOS_ALLO" - // "IOS_GSA" - // "IOS_WEAR" - // "LIBASSISTANT" - For standalone libassistant devices. - // "LINE_CHATBOT" - LINE 3P messaging app - // "MATTER" - For Matter devices. go/matter-prod - // "MULTIMODAL_AGSA" - Deprecated. - // "NON_ASSISTANT_SURFACE" - Surfaces that do not speak to the Assistant, - // i.e. web HQ - // "OPA_AGSA" - Assistant on Android phones accessed through the Google App - // (velvet). This represents neither all of the assistant on android phones - // (ANDROID_ALLO, VERILY_ONDUO, etc.) nor all of the assistant built on top of - // AGSA (ANDROID_WEAR, OPA_ANDROID_SCREENLESS, OPA_AGSA_CHROME_OS, etc.). - // "OPA_AGSA_CHROME_OS" - Deprecated. Please use OPA_CROS. - // "OPA_ANDROID_AUTO" - // "OPA_ANDROID_LITE" - This is OPA on Android Go (not part of AGSA) - // "OPA_ANDROID_SCREENLESS" - Assistant on Nexus with screen off/locked. Use - // go/bisto device to trigger. - // "OPA_ANDROID_SMART_DISPLAY" - Assistant on Titan hub mode - // (go/titan-hubmode-surface). This is OPA Android first party Smart Display - // devices. The UI experience is built on Opal (Gallium and Flutter) and native - // Android. - // "OPA_ANDROID_TABLET" - Assistant on Android tablet - // "OPA_CROS" - Assistant on native Chrome OS (go/croissant). - // "OPA_GACS" - For assistant on GACS devices (go/gacs-dd). Google Assistant - // Conversation Service (GACS) defines intents the device accepts. This surface - // serves the intents in the assistant response. - // "OPA_IOS" - // "OPA_IOS_SCREENLESS" - Assistant on iOS with screen off/locked. Use - // go/bisto device to trigger. - // "OPA_KAIOS" - Assistant on KaiOS. go/kaiosama - // "OPA_MOBILE_WEB" - Assistant on Mobile Web. go/opa-spidey - // "RTOS_PHONE" - Assistant on low-cost RTOS phones (go/conceRTOS). - // "SMS_CHATBOT" - // "TELEGRAM_CHATBOT" - Telegram 3P messaging app - // "TELEPHONE_ASSISTANT" - Assistant on a phone call (go/telephone). - // "VERILY_ONDUO" - // "YOUTUBE_APP" - A Youtube app. - // "AGSA_BISTO_FOR_EVAL" - Eval-only surfaces. These surfaces are not real - // surfaces. They are only used in intermediate steps of eval query and request - // generation: 1. Eval samplers (OPA query sampler and Cannery sampler) checks - // logs and temporarily assigns these surface types to the logs, to put Bisto, - // Lockhart Mic, ... queries in the correct query pools. 2. Request builders - // uses these surface types to determine how TaskRequest for Bisto, Lockhart - // Mic, ... should be built, like whether some user user agent should be used, - // whether some entry source should be set. The surface types in the generated - // TaskRequest is still the production surface types, like - // OPA_ANDROID_SCREENLESS or OPA_AGSA. Temp surface for Bisto Android eval. - // Will be merged with OPA_ANDROID_SCREENLESS in the future. - // "COGSWORTH_FOR_EVAL" - // "LOCKHART_MIC_FOR_EVAL" - // "OPA_ANDROID_AUTO_EMBEDDED_FAKE" - OPA_ANDROID_AUTO has another - // sub-surface (embedded) that differs in the reported capabilities, - // client-ops, flags but uses the same surface_type string of OPA_ANDROID_AUTO. - // This fake surface would allow running turing2 tests and evals for this - // embedded surface. Deprecated as of Feb 2019. Please use - // "OPA_ANDROID_AUTO_EMBEDDED" client type for tests and eval. See - // go/client-onboarding for more details. - // https://cs.corp.google.com/piper///depot/google3/assistant/assistant_server/tools/util/consts.h?l=32&rcl=247481455 - // "SPARK" - Unlaunched new surface prototype, ask spark-eng@. - // "WALLE" - Wall-E is an Area120 Project building assistant powered robots. - // The surface is an extended joplin which have same capabilities as a google - // home adding custom robot features. Currently in active development. Please - // reach out walle-software@ or bingxin@ for questions. For details see - // go/walle-as-pipeline-1-pager. - // "UNIT_TESTING" - Surface used for unit-testing purposes. Unit-tests might - // still require the existence of a "valid" SurfaceType to succeed (eg. - // initialization of the CapabilityBuilder, proto matching, etc.). With the - // move away from SurfaceType checks, a generic "TESTING" SurfaceType can be - // used for such tests without affecting the test behavior. Unlike the - // CAPABILITY_BASED_SURFACE, this proto does not have any capabilities or - // ResponseType tied to it. It should only be used for unit-tests and should - // not be exposed in the ASDebugger. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesSurfaceType) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesSurfaceType - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesSurfaceVersion: The version of the surface/client. New -// surfaces are encouraged to only use the “major” field to keep track of -// version number. The “minor” field may be used for surfaces that rely on -// both the “major” and “minor” fields to define their version. -type AssistantApiCoreTypesSurfaceVersion struct { - Major int64 `json:"major,omitempty"` - Minor int64 `json:"minor,omitempty"` - // ForceSendFields is a list of field names (e.g. "Major") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Major") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesSurfaceVersion) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesSurfaceVersion - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiCoreTypesWebProviderInfo: The web information of the provider. -// Next ID: 5 -type AssistantApiCoreTypesWebProviderInfo struct { - // HomeStorage: Serialized storage (context) persisted and retrieved for the - // app and home. - HomeStorage string `json:"homeStorage,omitempty"` - // LocalizedAppName: The localized app name. - LocalizedAppName string `json:"localizedAppName,omitempty"` - // OpenAppUrl: A URL to open the provider's app. - OpenAppUrl string `json:"openAppUrl,omitempty"` - // ThirdPartyCustomNluInfo: Info about 3P Custom NLU used in this web provider. - // TODO(b/321644453) remove when QRewrite is able to call SERoot. - ThirdPartyCustomNluInfo *AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfo `json:"thirdPartyCustomNluInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "HomeStorage") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HomeStorage") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesWebProviderInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesWebProviderInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfo struct { - // Locale: The locale of this agent version, represented by BCP-47 language - // strings, such as "en", "en-US", "fr", "fr-CA", "sr-Latn", "zh-Hans-CN", etc. - Locale string `json:"locale,omitempty"` - // NluAgentId: Unique internal identifier of 3P Custom NLU agent. UUID. - NluAgentId string `json:"nluAgentId,omitempty"` - // NluAgentVersion: Identifies the 3P Custom NLU agent version. - NluAgentVersion int64 `json:"nluAgentVersion,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Locale") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Locale") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCoreTypesWebProviderInfoThirdPartyCustomNluInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiCrossDeviceExecutionCapability struct { - // LocalConnectivityEnabled: Whether the device has torus/usonia capabililities - // enabled or not. - LocalConnectivityEnabled bool `json:"localConnectivityEnabled,omitempty"` - // RemoteCastMediaEnabled: Whether the device supports cast media originated - // from a remote device to be executed through local execution and can upload - // results asynchronously. Needs to be checked before sending remote media - // initiation through local channel since it needs an async result upload path. - RemoteCastMediaEnabled bool `json:"remoteCastMediaEnabled,omitempty"` - // ForceSendFields is a list of field names (e.g. "LocalConnectivityEnabled") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LocalConnectivityEnabled") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiCrossDeviceExecutionCapability) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiCrossDeviceExecutionCapability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiDataValidateCapabilities struct { - // FallbackToTetheredDevice: If true, data.VALIDATE should be routed to the - // tethered device (if present) if the tethered device supports data.VALIDATE - // and the primary device does not. - FallbackToTetheredDevice bool `json:"fallbackToTetheredDevice,omitempty"` - // ForceSendFields is a list of field names (e.g. "FallbackToTetheredDevice") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FallbackToTetheredDevice") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiDataValidateCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiDataValidateCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiDate: A Gregorian calendar date. -type AssistantApiDate struct { - // Day: The day, in 1...31. - Day int64 `json:"day,omitempty"` - // Month: The month, in 1...12. - Month int64 `json:"month,omitempty"` - // Year: The year, e.g. 2016. - Year int64 `json:"year,omitempty"` - // ForceSendFields is a list of field names (e.g. "Day") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Day") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiDate) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiDate - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiDateTime: A date-time specification, combining a date and civil -// time (relative to a given timezone). -type AssistantApiDateTime struct { - // Date: A Gregorian calendar date. - Date *AssistantApiDate `json:"date,omitempty"` - // TimeOfDay: A civil time relative to a timezone. - TimeOfDay *AssistantApiTimeOfDay `json:"timeOfDay,omitempty"` - // TimeZone: A time zone in IANA format. - TimeZone *AssistantApiTimeZone `json:"timeZone,omitempty"` - // ForceSendFields is a list of field names (e.g. "Date") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Date") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiDateTime) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiDateTime - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiDateTimeRange: A representation of a range of time with start -// and end datetime specified. -type AssistantApiDateTimeRange struct { - // EndDate: End date of the range. - EndDate *AssistantApiDateTime `json:"endDate,omitempty"` - // StartDate: Start date of the range. - StartDate *AssistantApiDateTime `json:"startDate,omitempty"` - // ForceSendFields is a list of field names (e.g. "EndDate") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EndDate") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiDateTimeRange) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiDateTimeRange - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiDeviceCapabilities: This message describes roughly what a -// surface is capable of doing and metadata around those capabilities. These -// capabilities are determined based on: - device hardware - software - status -// (e.g. volume level, battery percentage) These capabilities refer to the -// surface and not the physical device. The list of supported surfaces can be -// found in the assistant.api.core_types.SurfaceType enum. A surface's -// capabilities can differ from the device's. An example would be ANDROID_ALLO -// running on Pixel. Allo does not support AudioInput while the Pixel does. In -// this case, audio_input will be set to false for Assistant Allo requests -// while it might be set to true for OPA_NEXUS requests. Next ID: 37 -type AssistantApiDeviceCapabilities struct { - // AndroidIntentCapabilities: Capabilites related to Android intent support. - AndroidIntentCapabilities *AssistantApiAndroidIntentCapabilities `json:"androidIntentCapabilities,omitempty"` - // AssistantCapability: Capabilities if surface supports Google Assistant. - // - // Possible values: - // "UNKNOWN" - // "SUPPORTED" - // "UNSUPPORTED" - Assistant is no longer supported(e.g., on legacy - // surfaces). - AssistantCapability string `json:"assistantCapability,omitempty"` - // AudioInput: These capabilities are scoped to the ability to gather audio. It - // includes information like the type of audio that can be gathered (e.g. - // public, private). - AudioInput *AssistantApiAudioInput `json:"audioInput,omitempty"` - // AudioOutput: These capabilities are scoped to the ability to play audio. It - // includes information like the type of audio that can be played (e.g. public, - // private). - AudioOutput *AssistantApiAudioOutput `json:"audioOutput,omitempty"` - // BluetoothCapabilities: Bluetooth capabilities related to usage of a feature. - BluetoothCapabilities *AssistantApiBluetoothCapabilities `json:"bluetoothCapabilities,omitempty"` - // CallCapabilities: The call capabilities of this device. go/call-capabilities - CallCapabilities *AssistantApiCallCapabilities `json:"callCapabilities,omitempty"` - // Camera: These capabilities are scoped to the camera abilities of this - // device. - Camera *AssistantApiCameraCapabilities `json:"camera,omitempty"` - // CarUxRestrictions: UX restrictions for Auto. - // - // Possible values: - // "UX_RESTRICTIONS_UNSPECIFIED" - This value should not be used. - // "UX_RESTRICTIONS_BASELINE" - No specific restrictions in place, but - // baseline distraction optimization guidelines need to be adhered to when - // CarUxRestrictions.isRequiresDistractionOptimization() returns true. - // "UX_RESTRICTIONS_FULLY_RESTRICTED" - All restrictions are in effect. - // "UX_RESTRICTIONS_NO_KEYBOARD" - No text entry for the purpose of searching - // or other manual text string entry activities. - // "UX_RESTRICTIONS_NO_VIDEO" - No video - no animated frames > 1fps. - CarUxRestrictions []string `json:"carUxRestrictions,omitempty"` - // Cast: These capabilities are scoped to the cast abilities of this device. - Cast *AssistantApiCastCapabilities `json:"cast,omitempty"` - CommunicationUiCapabilities *AssistantApiCommunicationUiCapabilities `json:"communicationUiCapabilities,omitempty"` - ContactLookupCapabilities *AssistantApiContactLookupCapabilities `json:"contactLookupCapabilities,omitempty"` - DataValidateCapabilities *AssistantApiDataValidateCapabilities `json:"dataValidateCapabilities,omitempty"` - // DeviceId: This is the same device id that is specified in the conversation - // protocol and should be unique to each device/user/model combination. For - // example, if a request is coming from a watch through AGSA the watch and AGSA - // should have different device_ids. Note: this field should only be used to - // determine which device the capabilities belong to and not to access the id - // of the device. Instead DeviceProperties should be used and accessed through - // ParamsAccessor. - DeviceId *AssistantApiCoreTypesDeviceId `json:"deviceId,omitempty"` - // DeviceUxMode: Capabilities related to Android tablet UX experience. - // - // Possible values: - // "DEVICE_UX_MODE_DEFAULT" - // "DEVICE_UX_MODE_SUPPORT_LIMITED_SHARED_LOCKSCREEN" - Device supports the - // Shared Lock Screen: a glanceable space that lets anyone in the house use - // shared apps and the Assistant, without unlocking the device. This is for - // devices which only support limited SLS, e.g. TKY. - DeviceUxMode string `json:"deviceUxMode,omitempty"` - // HasVoiceTelephony: Indicates that the device has connection to cellular - // network that allows it to make voice calls. This is distinct from device - // just being capable of voice telephony, because the device can be capable yet - // miss the suitable SIM card (for example, it could miss SIM card altogether, - // or have data-only SIM card). - HasVoiceTelephony bool `json:"hasVoiceTelephony,omitempty"` - // JwnCapabilities: Indicates if the client supports Javascript Whatsnext - // (go/jwn). Also contains the Jwn libraries present on the client along with - // their versions. - JwnCapabilities *AssistantApiJwnCapabilities `json:"jwnCapabilities,omitempty"` - // LensPerceptionCapabilities: Capabilities related to Lens Perception, i.e. - // image understanding. See go/lens-perception-sdk. - LensPerceptionCapabilities *AssistantApiLensPerceptionCapabilities `json:"lensPerceptionCapabilities,omitempty"` - // Location: These capabilities are scoped to the location abilities of this - // device. - Location *AssistantApiLocationCapabilities `json:"location,omitempty"` - // LoggingOnlyData: Data which is produced for logging and debugging. Servers - // MUST NOT use this for any other purposes, such as branching on it. - LoggingOnlyData *AssistantApiLoggingOnlyData `json:"loggingOnlyData,omitempty"` - MessageCapabilities *AssistantApiMessageCapabilities `json:"messageCapabilities,omitempty"` - // Movement: These capabilities are scoped to abilities of the device to move - // around. - Movement *AssistantApiMovementCapabilities `json:"movement,omitempty"` - // NotificationCapabilities: DEPRECATED: Use SystemNotificationRestrictions - // instead. Specifies whether the surface is able to display notifications. - // This field is superficially similar to ProactiveNotificationOutput, but - // unlike that field which tracks a per-user preference on the OPA side, this - // field captures whether the surface is capable of displaying notifications. - // - // Possible values: - // "NO_NOTIFICATION_CAPABILITY" - The surface is not able to display - // notifications. - // "NOTIFICATIONS_DISABLED" - The notifications are disabled on the surface. - // "NOTIFICATIONS_ENABLED" - The notifications are enabled. - NotificationCapabilities string `json:"notificationCapabilities,omitempty"` - // NotificationOutputRestrictions: Settings, that reflect whether a specific - // notification type is allowed for current device, e.g. if the user opted out - // from notification category or category group. This settings are server-side - // stored and evaluated unlike SystemNotificationRestrictions field. - NotificationOutputRestrictions *AssistantApiNotificationOutputRestrictions `json:"notificationOutputRestrictions,omitempty"` - // OutputRestrictions: These are user configured restrictions indicating what - // the device is allowed to output from the privacy point of view. - OutputRestrictions *AssistantApiOutputRestrictions `json:"outputRestrictions,omitempty"` - // PopOnLockscreenCapability: Capability to support Pop on lockscreen. - // - // Possible values: - // "POP_ON_LOCKSCREEN_DEFAULT" - Pop will default to enabled on lockscreen. - // "POP_ON_LOCKSCREEN_ENABLED" - Pop is enabled on lockscreen. - // "POP_ON_LOCKSCREEN_DISABLED" - Pop is disabled on lockscreen. - PopOnLockscreenCapability string `json:"popOnLockscreenCapability,omitempty"` - // SafetyRestrictions: Indicates if the client has safety related restriction. - // - // Possible values: - // "DEFAULT_NO_SAFETY_RESTRICTION" - The surface has no safety restriction. - // "DISTRACTION_SAFETY_RESTRICTION" - The surface has safety restriction due - // to any distraction. - SafetyRestrictions string `json:"safetyRestrictions,omitempty"` - // Screen: These capabilities are scoped to the ability to see and interact - // with the Assistant through a screen. If the device has no screen it should - // send an empty ScreenCapabilities. Sending no ScreenCapabilities will cause - // this to be overridden with the surface default. - Screen *AssistantApiScreenCapabilities `json:"screen,omitempty"` - // SodaCapabilities: Capabilities related to SODA (Speech On-Device API). - SodaCapabilities *AssistantApiSodaCapabilities `json:"sodaCapabilities,omitempty"` - // Software: These capabilities are scoped to the software available on the - // device as well as the set of supported Assistant features. - Software *AssistantApiSoftwareCapabilities `json:"software,omitempty"` - // SpeechCapabilities: DEPRECATED Capabilities related to speech detection on - // devices. - SpeechCapabilities *AssistantApiSpeechCapabilities `json:"speechCapabilities,omitempty"` - // SupportedLocale: Locales supported by assistant settings for speaking and - // display. This is independent from device language that is defined in device - // setting. New locales are added based on rollout, whitelist and app version - // releases because older versions does not have model support. Currently - // supported locale list differs by surface type. - SupportedLocale []string `json:"supportedLocale,omitempty"` - // SurfaceIdentity: The set of information that helps the server identify the - // surface. - SurfaceIdentity *AssistantApiCoreTypesSurfaceIdentity `json:"surfaceIdentity,omitempty"` - // SurfaceTypeString: DEPRECATED. surface_identity field below already contains - // this information. The device's surface type. This is the string version of - // the assistant.api.core_types.SurfaceType enum. The server should not use - // this field, rather it should use the SurfaceType value derived from this - // string. - SurfaceTypeString string `json:"surfaceTypeString,omitempty"` - // SystemNotificationRestrictions: Restrictions related to system-level - // notifications. This field is superficially similar to - // ProactiveNotificationOutput, but unlike that field which tracks a per-user - // preference on the OPA side, this field captures system level notifications - // restrictions. This field is not stored and is merged to capabilities from - // conversation params. It exists mostly for logging purposes of android - // channel state and global app-level notification opt out. - SystemNotificationRestrictions *AssistantApiSystemNotificationRestrictions `json:"systemNotificationRestrictions,omitempty"` - // ThirdPartyCapabilities: Capabilities related to third party integration. - ThirdPartyCapabilities *AssistantApiThirdPartyCapabilities `json:"thirdPartyCapabilities,omitempty"` - // ForceSendFields is a list of field names (e.g. "AndroidIntentCapabilities") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AndroidIntentCapabilities") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiDeviceCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiDeviceCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiDuration: A Duration represents a signed, fixed-length span of -// time represented as a count of seconds and fractions of seconds at -// nanosecond resolution. It is independent of any calendar and concepts like -// "day" or "month". It is related to Timestamp in that the difference between -// two Timestamp values is a Duration and it can be added or subtracted from a -// Timestamp. Range is approximately +-10,000 years. -type AssistantApiDuration struct { - // Nanos: Signed fractions of a second at nanosecond resolution of the span of - // time. Durations less than one second are represented with a 0 `seconds` - // field and a positive or negative `nanos` field. For durations of one second - // or more, a non-zero value for the `nanos` field must be of the same sign as - // the `seconds` field. Must be from -999,999,999 to +999,999,999 inclusive. - Nanos int64 `json:"nanos,omitempty"` - // Seconds: Signed seconds of the span of time. Must be from -315,576,000,000 - // to +315,576,000,000 inclusive. - Seconds int64 `json:"seconds,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Nanos") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Nanos") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiDuration) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiDuration - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiFeatureSpecificActionSupport struct { - // ClarificationDataSupported: Whether client supports clarification suggestion - // chip to be displayed see |assistant.suggestions.ClarificationData| - ClarificationDataSupported bool `json:"clarificationDataSupported,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClarificationDataSupported") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ClarificationDataSupported") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiFeatureSpecificActionSupport) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiFeatureSpecificActionSupport - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiFitnessFeatureSupport struct { - // SupportedActivities: A list of fitness activity types supported by this - // client. - // - // Possible values: - // "TYPE_UNSPECIFIED" - The type is unknown. - // "WALK" - Represents a walking activity type. - // "RUN" - Represents a running activity type. - // "ELLIPTICAL" - Represents an elliptical activity type. - // "SWIM" - Represents a swimming activity type. - // "WEIGHTS" - Represents a weightlifting activity type. - // "TREADMILL" - Represents a treadmill activity type (e.g. walking/running - // on a treadmill). - // "BIKE" - Represents a cycling activity type. - // "YOGA" - Represents a yoga activity type. - // "WORKOUT" - Represents a generic workout activity. - // "BOOT_CAMP" - Represents a bootcamp activity type. - // "CIRCUIT_TRAINING" - Represents a circuit training activity type. - // "GOLF" - Represents a golf activity type. - // "HIKING" - Represents a hiking activity type. - // "INTERVAL_TRAINING" - Represents an interval training activity type. - // "KICKBOXING" - Represents a kickboxing activity type. - // "MARTIAL_ARTS" - Represents a martial arts activity type. - // "PILATES" - Represents a pilates activity type. - // "SPINNING" - Represents a spinning(indoor cycling, stationary biking) - // activity type. - // "STAIR_CLIMBING" - Represents a stair climbing activity type. - // "TENNIS" - Represents a tennis activity type. - // "AEROBICS" - Represents an aerobics activity type. - // "CORE_TRAINING" - Represents a core training activity type. - // "DANCING" - Represents a dancing activity type. - // "HIGH_INTENSITY_INTERVAL_TRAINING" - Represents a HIIT activity type. - // "KAYAKING" - Represents a kayaking activity type. - // "ROWING" - Represents a rowing activity type. - // "SKIING" - Represents a skiing activity type. - // "STANDUP_PADDLEBOARDING" - Represents a standup paddleboading(SUP) - // activity type. - // "STRENGTH_TRAINING" - Represents a strength training activity type. - // "SNOWBOARDING" - Represents a snowboarding activity type. - SupportedActivities []string `json:"supportedActivities,omitempty"` - // ForceSendFields is a list of field names (e.g. "SupportedActivities") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SupportedActivities") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiFitnessFeatureSupport) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiFitnessFeatureSupport - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiFluidActionsSupport struct { - // StateSyncMethod: Specifies the params proto that Fluid Actions uses to sync - // state with server. - // - // Possible values: - // "STATE_SYNC_METHOD_UNSPECIFIED" - Unspecified state sync method. - // "DIALOG_STATE_PARAMS" - New params proto used to sync state between client - // and server. New clients must use this value. For proto details, see: - // http://google3/assistant/api/params/dialog_state_params.proto - StateSyncMethod string `json:"stateSyncMethod,omitempty"` - // ForceSendFields is a list of field names (e.g. "StateSyncMethod") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "StateSyncMethod") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiFluidActionsSupport) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiFluidActionsSupport - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiGacsCapabilities: Capabilities of Google assistant conversation -// service(GACS) devices. These capabilites including supported GACS actions -// and response size limitations. -type AssistantApiGacsCapabilities struct { - // DeviceId: DeviceId of the accessory device (eg. watch) Commonly the go/dusi - // (eg. client_instance_id) is provided. - DeviceId *AssistantApiCoreTypesDeviceId `json:"deviceId,omitempty"` - // ResponseConfig: Configuration sent by device. - ResponseConfig *GoogleAssistantAccessoryV1ResponseConfig `json:"responseConfig,omitempty"` - // TtsEncoding: DEPRECATED: Format of TTS audio requested by the device. - // - // Possible values: - // "LINEAR_16BIT" - Signed 16-bit little-endian (a.k.a s16le) linear PCM. - // "MULAW" - G.711 audio companding. https://en.wikipedia.org/wiki/G.711 - // 8-bit μ-law encoding according to G.711 - // "ALAW" - 8-bit A-law encoding according to G.711. - // "MP3" - The default MP3 encoding is 32kbps. Text-to-speech audio at this - // bit rate has audible compression artifacts and is not recommended. Please - // use OPUS_IN_OGG instead. If you must use mp3, use MP3_64KBPS instead. - // "MP3_64KBPS" - MP3 at 64kbps sounds nearly identical to uncompressed for - // 24kHz TTS audio, and sounds similar to OPUS_IN_OGG. - // "SPEEX" - Raw speex stream with each frame concatenated together. The size - // of each frame will need to be communciated separately. Variable bitrate - // encoding is unsupported using this output type. - // "SPEEX_WITH_HEADER_BYTE" - Similar to SPEEX, this mode will concatenate - // together the speex frames. However, each frame will have prepended a single - // byte that describes the length of the following frame. - // "SPEEX_IN_OGG" - In this case, we'll wrap the speex contents in an ogg - // container, resulting in a more generally decode-able format but one with - // more storage overhead. - // "OPUS_IN_OGG" - Opus encoded audio wrapped in an ogg container. The result - // will be a file which can be played natively on Android, and in browsers (at - // least Chrome and Firefox). The quality of the encoding is considerably - // higher than MP3 when using the same bitrate. At the moment, this defaults to - // 32kbps but the TTS team reserves the right to adjust the bitrate to provide - // the best experience. - // "OPUS_24KBPS_IN_OGG" - Opus encoded audio in 24kbps wrapped in an ogg - // container. The result will be a file which can be played natively on - // Android, and in browsers while reducing data consumption slightly. - // "OPUS_16KBPS_IN_OGG" - The following bitrates for Opus below 24kbps are - // here only for special usecases; they result in a significant reduction in - // quality. Please get in touch with the TTS team if you think you might have a - // valid usecase. NOTE(staz): These bitrates are not officially supported. TTS - // is to be served at a minimum of 24kbps everywhere, including in NBU - // countries. See b/137234032#comment13 on why lower bitrates don't help in - // tangible ways even in NBU markets. - // "OPUS_12KBPS_IN_OGG" - // "OPUS_16KBPS_CONTAINERLESS" - Opus encoded audio using the specified - // bitrate without a container such as Ogg, RTP or WebM. The response is a - // stream which can be played natively on low powered wearable devices. - // Delivered as multiple frames per S3 response. These frames need to be - // carefully byte-delimited (constant bitrate) by the client. They use a - // statically defined frame duration of 20ms. Frame size per bit-rate: 16kbps: - // each frame is of size 40 bytes 24kbps: each frame is of size 60 bytes - // 32kbps: each frame is of size 80 bytes - // "OPUS_24KBPS_CONTAINERLESS" - // "OPUS_32KBPS_CONTAINERLESS" - TtsEncoding string `json:"ttsEncoding,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiGacsCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiGacsCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiGcmCapabilities: Capabilities related to GCM. -type AssistantApiGcmCapabilities struct { - // GcmRegistrationId: GCM registration id for the device. Used to pass messages - // to the device. - GcmRegistrationId string `json:"gcmRegistrationId,omitempty"` - // SupportsAssistantGcm: Assistant supports GCM on the device. ClientOps can be - // sent to it over GCM and will be executed. - SupportsAssistantGcm bool `json:"supportsAssistantGcm,omitempty"` - // SupportsClientInputOverGcm: If it is set to true, then it indicates to - // server that device is capable of receiving a GCM payload with serialized - // client input. The client input will be sent back to Assistant Server over - // conversation protocol. - SupportsClientInputOverGcm bool `json:"supportsClientInputOverGcm,omitempty"` - // ForceSendFields is a list of field names (e.g. "GcmRegistrationId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GcmRegistrationId") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiGcmCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiGcmCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiGestureCapabilities: The gesture capabilities related to Selina. -// Next ID: 4 -type AssistantApiGestureCapabilities struct { - // GestureSensing: Whether Gesture is supported. When false, override the value - // for tap and omniswipe. - GestureSensing bool `json:"gestureSensing,omitempty"` - // OmniswipeGestureCapable: Whether omniswipe is supported - OmniswipeGestureCapable bool `json:"omniswipeGestureCapable,omitempty"` - // TapGestureCapable: Whether tap is supported - TapGestureCapable bool `json:"tapGestureCapable,omitempty"` - // ForceSendFields is a list of field names (e.g. "GestureSensing") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GestureSensing") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiGestureCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiGestureCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiGuestAccessOutput: Access settings for guests. -type AssistantApiGuestAccessOutput struct { - // Possible values: - // "UNKNOWN_GUEST_ACCESS" - // "USE_DEFAULT_ACCOUNT_FOR_GUEST" - Guests can access content using linked - // users' account. - // "DISABLED_FOR_GUEST" - No access for guests. - GuestAccessOnYoutube string `json:"guestAccessOnYoutube,omitempty"` - // ForceSendFields is a list of field names (e.g. "GuestAccessOnYoutube") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GuestAccessOnYoutube") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiGuestAccessOutput) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiGuestAccessOutput - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiImmersiveCanvasSupport struct { - // ConfirmationMessageSupported: Whether the client supports confirmation - // messages in Immersive Canvas actions. - ConfirmationMessageSupported bool `json:"confirmationMessageSupported,omitempty"` - // PauseSignalSupported: Whether the client support canvas pause signal. If - // true, the Assistant Server will send a signal when canvas transitioning to - // pause mode. - PauseSignalSupported bool `json:"pauseSignalSupported,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "ConfirmationMessageSupported") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConfirmationMessageSupported") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiImmersiveCanvasSupport) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiImmersiveCanvasSupport - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiJwnCapabilities: These capabilities are used to determine the -// jwn libraries and their versions that are present on the client. -type AssistantApiJwnCapabilities struct { - // LibrariesVersionMap: The name and version of the jwn libraries currently - // stored on the client. These are the same that the server communicated when - // the library was first sent down. - LibrariesVersionMap map[string]string `json:"librariesVersionMap,omitempty"` - // SupportedCompressionMode: Compression algorithms supported on the client. - // Server can choose one of these to compress WhatsNext Javascript programs and - // libraries. - // - // Possible values: - // "NONE" - jwn_program is not in compressed state. - // "BROTLI" - Brotli (google3/third_party/brotli) compression used. - // Recommended compressor for Javascript. - // "FLATE" - Flate (google3/util/compression/flate) compression used. - SupportedCompressionMode []string `json:"supportedCompressionMode,omitempty"` - // SupportsJwn: Whether the client supports running jwn code. - SupportsJwn bool `json:"supportsJwn,omitempty"` - // ForceSendFields is a list of field names (e.g. "LibrariesVersionMap") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LibrariesVersionMap") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiJwnCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiJwnCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiLensPerceptionCapabilities: Capabilities related to Lens -// Perception, i.e. image understanding. See go/loa-lens-device-capabilities. -// Next ID: 6 -type AssistantApiLensPerceptionCapabilities struct { - // HasLensPerception: Whether the device supports Lens Perception. - HasLensPerception bool `json:"hasLensPerception,omitempty"` - // IsLensDirectIntentAvailable: Indicates whether Lens supports Lens Direct - // Intent (go/lensdirectintent). - IsLensDirectIntentAvailable bool `json:"isLensDirectIntentAvailable,omitempty"` - // IsLensLiveViewfinderAvailable: Indicates whether Lens supports Live - // view-finder experience. - IsLensLiveViewfinderAvailable bool `json:"isLensLiveViewfinderAvailable,omitempty"` - // IsLensPostCaptureAvailable: Indicates whether Lens supports Post-capture - // experience with an image payload. - IsLensPostCaptureAvailable bool `json:"isLensPostCaptureAvailable,omitempty"` - // LensCapabilities: Contains the capabilities that Lens can support. - LensCapabilities *AssistantApiLensPerceptionCapabilitiesLensCapabilities `json:"lensCapabilities,omitempty"` - // ForceSendFields is a list of field names (e.g. "HasLensPerception") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HasLensPerception") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiLensPerceptionCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiLensPerceptionCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiLensPerceptionCapabilitiesLensCapabilities: The set of -// capabilities that Lens can support. This is the Assistant proto -// representation of Lens capabilities defined at -// j/c/g/android/apps/gsa/search/shared/service/proto/lens_service_event.proto -// Next ID: 7 -type AssistantApiLensPerceptionCapabilitiesLensCapabilities struct { - // Dining: The presence of this message means that Dining is supported. - Dining *AssistantApiLensPerceptionCapabilitiesLensCapabilitiesDining `json:"dining,omitempty"` - // Education: The presence of this message means that Education is supported. - Education *AssistantApiLensPerceptionCapabilitiesLensCapabilitiesEducation `json:"education,omitempty"` - // Outdoor: The presence of this message means that Outdoor is supported. - Outdoor *AssistantApiLensPerceptionCapabilitiesLensCapabilitiesOutdoor `json:"outdoor,omitempty"` - // Shopping: The presence of this message means that Shopping is supported. - Shopping *AssistantApiLensPerceptionCapabilitiesLensCapabilitiesShopping `json:"shopping,omitempty"` - // Text: The presence of this message means that intenting directly into the - // text filter is supported. - Text *AssistantApiLensPerceptionCapabilitiesLensCapabilitiesText `json:"text,omitempty"` - // Translate: The presence of this message means that Translation is supported. - Translate *AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslate `json:"translate,omitempty"` - // ForceSendFields is a list of field names (e.g. "Dining") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Dining") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiLensPerceptionCapabilitiesLensCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiLensPerceptionCapabilitiesLensCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiLensPerceptionCapabilitiesLensCapabilitiesDining: Dining -// recognition capability. For example popular dishes on a given restaurant -// menu image. -type AssistantApiLensPerceptionCapabilitiesLensCapabilitiesDining struct { -} - -// AssistantApiLensPerceptionCapabilitiesLensCapabilitiesEducation: Education -// recognition capability. -type AssistantApiLensPerceptionCapabilitiesLensCapabilitiesEducation struct { -} - -// AssistantApiLensPerceptionCapabilitiesLensCapabilitiesOutdoor: Outdoor place -// recognition capability. For example recognizing storefronts. -type AssistantApiLensPerceptionCapabilitiesLensCapabilitiesOutdoor struct { -} - -// AssistantApiLensPerceptionCapabilitiesLensCapabilitiesShopping: Shopping -// recognition capability. -type AssistantApiLensPerceptionCapabilitiesLensCapabilitiesShopping struct { -} - -// AssistantApiLensPerceptionCapabilitiesLensCapabilitiesText: Text recognition -// capability. -type AssistantApiLensPerceptionCapabilitiesLensCapabilitiesText struct { - // IsTextToSpeechSupported: Indicates whether text-to-speech is supported. - IsTextToSpeechSupported bool `json:"isTextToSpeechSupported,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsTextToSpeechSupported") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsTextToSpeechSupported") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiLensPerceptionCapabilitiesLensCapabilitiesText) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiLensPerceptionCapabilitiesLensCapabilitiesText - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslate: Translation -// capability. -type AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslate struct { - // SupportedLanguageTags: The list of language IETF BCP 47 tags that are - // supported. See the full details in the comment on the equivalent field in: - // http://google3/java/com/google/android/apps/gsa/search/shared/service/proto/lens_service_event.proto;l=55;rcl=355512559 - SupportedLanguageTags []string `json:"supportedLanguageTags,omitempty"` - // ForceSendFields is a list of field names (e.g. "SupportedLanguageTags") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SupportedLanguageTags") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslate) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiLensPerceptionCapabilitiesLensCapabilitiesTranslate - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiLiveTvChannelCapabilities struct { - // ChannelsByProvider: A list of channel providers each of which provides a - // list of its channels. - ChannelsByProvider []*AssistantApiLiveTvChannelCapabilitiesChannelsByProvider `json:"channelsByProvider,omitempty"` - // ForceSendFields is a list of field names (e.g. "ChannelsByProvider") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ChannelsByProvider") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiLiveTvChannelCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiLiveTvChannelCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiLiveTvChannelCapabilitiesChannelsByProvider struct { - // Channels: A list of channels provided by this input. Keep the performance - // impact in mind when the number/size of the channels is large. When there are - // too many channels, consider stripping out some data. - Channels []*AssistantApiLiveTvChannelCapabilitiesLiveTvChannel `json:"channels,omitempty"` - // InputId: An identifier to identify the input source. For example for TIF - // based channels, this will be the TIF input ID to differentiate different - // tuner apps. See https://source.android.com/devices/tv - InputId string `json:"inputId,omitempty"` - // ProviderType: Type of provider who provides this channel input. - // - // Possible values: - // "UNKNOWN_PROVIDER_TYPE" - // "OTT_PROVIDER" - OTT providers providing live tv contents like Sling, - // Youtube TV. - // "TUNER" - TV Tuner apps providing live tv contents. - ProviderType string `json:"providerType,omitempty"` - // ForceSendFields is a list of field names (e.g. "Channels") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Channels") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiLiveTvChannelCapabilitiesChannelsByProvider) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiLiveTvChannelCapabilitiesChannelsByProvider - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiLiveTvChannelCapabilitiesLiveTvChannel struct { - // ChannelId: Unique channel identifier. - ChannelId string `json:"channelId,omitempty"` - // ChannelName: A list of channel names and synonyms. - ChannelName []string `json:"channelName,omitempty"` - // ChannelNumber: Channel number displayed to user. Optional. - ChannelNumber string `json:"channelNumber,omitempty"` - // Deeplink: A deep link into the Live player app that tunes to this channel. - Deeplink string `json:"deeplink,omitempty"` - // Mid: KG mid of the channel if it exists in KG. - Mid string `json:"mid,omitempty"` - // NetworkMid: Network KG mid of the channel if it exists in KG - NetworkMid string `json:"networkMid,omitempty"` - // ForceSendFields is a list of field names (e.g. "ChannelId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ChannelId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiLiveTvChannelCapabilitiesLiveTvChannel) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiLiveTvChannelCapabilitiesLiveTvChannel - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiLiveTvProvider struct { - // ProviderInfo: Contains detailed provider information such as android app - // package name. - ProviderInfo *AssistantApiCoreTypesProvider `json:"providerInfo,omitempty"` - // ProviderKey: A provider enum string for OTT providers. The available key can - // be found in go/ump-provider-enum For Tuner provider, the provider key would - // be an ID the tuner app uploaded from TIF. See - // https://source.android.com/devices/tv - ProviderKey string `json:"providerKey,omitempty"` - // Possible values: - // "UNKNOWN_PROVIDER_TYPE" - // "OTT_PROVIDER" - OTT providers providing live tv contents like Sling, - // Youtube TV. - // "TUNER" - TV Tuner apps providing live tv contents. - ProviderType string `json:"providerType,omitempty"` - // ForceSendFields is a list of field names (e.g. "ProviderInfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ProviderInfo") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiLiveTvProvider) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiLiveTvProvider - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiLocationCapabilities struct { - GpsAvailable bool `json:"gpsAvailable,omitempty"` - // ForceSendFields is a list of field names (e.g. "GpsAvailable") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GpsAvailable") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiLocationCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiLocationCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiLoggingOnlyData: Data which is produced for logging and -// debugging. Servers MUST NOT use this for any other purposes, such as -// branching on it. Next ID: 16 -type AssistantApiLoggingOnlyData struct { - // AcpVersion: A user-readable string describing the ACP version - // (go/acp-version) of the client app used by the user to originate the - // conversation. - AcpVersion string `json:"acpVersion,omitempty"` - // AndroidId: Random identifier assigned to Android mobile devices. Older logs - // may have previously stored other kinds of android IDs in this field, but all - // current logs should use the GServices Id. See go/androidids. - AndroidId int64 `json:"androidId,omitempty,string"` - // AppVersion: A user-readable string describing the version of the client app - // used by the user to originate the conversation. - AppVersion string `json:"appVersion,omitempty"` - // AssistantSettingsSource: An enum specifying when was this ATV - // AssistantSettings entry initially created. - // - // Possible values: - // "NOT_SET" - LINT.IfChange - // "FIRST_SCREEN_DEVICE_OOBE" - Created during ATV Device OOBE(setupwraith) - // "FIRST_SCREEN_KATNISS_OOBE" - Created within Katniss(Assistant client on - // TV) - // "FIRST_SCREEN_KATNISS_BACKGROUND_LINKING" - Created within Katniss when - // running cast linking in the background of device setup. - // "FIRST_SCREEN_DELEGATION_OOBE" - Created within Katniss delegation path - // "FIRST_SCREEN_FIXER_JOB" - Created by fix settings job in katniss. - // "FIRST_SCREEN_FCM_JOB" - Created by FCM jobs in katnisss. - // "FIRST_SCREEN_HOME_GRAPH_JOB" - Created by home graph jobs in katniss. - // "FIRST_SCREEN_PERSONAL_BIT" - Created by enable personal bit button in - // Settings UI - // "FIRST_SCREEN_VOICE_INPUT_BIT" - Created by enable voice input bit button - // in Settings UI - // "FIRST_SCREEN_OTHER" - Created by other parts in katniss - // "SECOND_SCREEN_AGSA" - Created by AGSA - // "SECOND_SCREEN_GHA_IOS" - Created by Google Home App IOS - // "SECOND_SCREEN_GHA_ANDROID" - Created by Google Home App Android - // LINT.ThenChange(//depot/google3/logs/proto/assistant/capabilities_log.proto) - AssistantSettingsSource string `json:"assistantSettingsSource,omitempty"` - // BoardName: The type of board used by manufacturer for this device - BoardName string `json:"boardName,omitempty"` - // BoardRevision: The revision of board used - BoardRevision string `json:"boardRevision,omitempty"` - // CastAssistantSettingLinkingResult: This field records the linking status - // between Assistant setting entry and Cast setting entry. Currently only ATV - // surface populates this field for profiling purpose. - CastAssistantSettingLinkingResult *AssistantApiCastAssistantSettingLinkingResult `json:"castAssistantSettingLinkingResult,omitempty"` - // DeviceModel: A user-readable string describing the device's hardware - // platform. - DeviceModel string `json:"deviceModel,omitempty"` - // EmbedderBuildInfo: Any relevant info concerning the build options of the - // embedder (that is the software which runs as the 'driver' of an Assistant - // library, such as libassistant. the embedder is typically built by a third - // party) - EmbedderBuildInfo string `json:"embedderBuildInfo,omitempty"` - // InitialAppVersion: A string recording the app version that is initially used - // to created this settings entry. - InitialAppVersion string `json:"initialAppVersion,omitempty"` - // IsPrimaryUser: Boolean field to indicate whether a certain user is the - // primary user of a device or not. This is useful for distinguishing the user0 - // from other users given user0 might have certain privileges (Eg: Hubmode on - // Tangor) - IsPrimaryUser bool `json:"isPrimaryUser,omitempty"` - // MdnsDisplayName: default display name of device over mdns. This is specified - // at the factory, not specified by the user. - MdnsDisplayName string `json:"mdnsDisplayName,omitempty"` - // PlatformBuild: A user-readable string describing the device's software - // platform. - PlatformBuild string `json:"platformBuild,omitempty"` - // VirtualReleaseChannel: A string describing device's release channel. For - // cast devices, the string will look like "qa-beta-channel", "eng-no-update", - // etc. - VirtualReleaseChannel string `json:"virtualReleaseChannel,omitempty"` - // ForceSendFields is a list of field names (e.g. "AcpVersion") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AcpVersion") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiLoggingOnlyData) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiLoggingOnlyData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiMediaControlSupport struct { - // SkipConfirmationsWhilePlaying: Whether to prevent confirmations (text, tts) - // for media control actions while media is playing so that the media session - // is not interrupted. - SkipConfirmationsWhilePlaying bool `json:"skipConfirmationsWhilePlaying,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "SkipConfirmationsWhilePlaying") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SkipConfirmationsWhilePlaying") - // to include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiMediaControlSupport) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiMediaControlSupport - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiMessageCapabilities struct { - // FallbackToTetheredDeviceAppCapabilities: If true, APP_ID queries initiated - // by this device should fall back to execution on the tethered device if it's - // available and if the primary device cannot perform the action (e.g. due to - // the app not being installed). - FallbackToTetheredDeviceAppCapabilities bool `json:"fallbackToTetheredDeviceAppCapabilities,omitempty"` - // PreferTargetingPrimaryDevice: For chat_message.SEND targeting, when either - // the primary or secondary (tethered) device is capable of handling the - // chat_message.SEND action, prefer targeting it to the primary device. - PreferTargetingPrimaryDevice bool `json:"preferTargetingPrimaryDevice,omitempty"` - // SupportedRecipientTypes: Should only be checked if nonempty. - // - // Possible values: - // "UNSPECIFIED_ENDPOINT" - // "PHONE_NUMBER" - // "EMAIL_ADDRESS" - // "APP_UNIQUE_ID" - // "EMERGENCY_PHONE_NUMBER" - // "VOICEMAIL" - SupportedRecipientTypes []string `json:"supportedRecipientTypes,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "FallbackToTetheredDeviceAppCapabilities") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. - // "FallbackToTetheredDeviceAppCapabilities") to include in API requests with - // the JSON null value. By default, fields with empty values are omitted from - // API requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields - // for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiMessageCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiMessageCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiMessageSummarySupport: LINT.IfChange(messageSummarySupport) -type AssistantApiMessageSummarySupport struct { - // DeviceSettingStatus: The current setting status of message summary on - // current device. - // - // Possible values: - // "DEVICE_SETTING_STATUS_UNKNOWN" - // "DEVICE_SETTING_STATUS_ENABLED" - // "DEVICE_SETTING_STATUS_DISABLED" - DeviceSettingStatus string `json:"deviceSettingStatus,omitempty"` - // LastVoiceOptInFlowTimestamp: Last time that voice opt-in flow has been - // triggered. - LastVoiceOptInFlowTimestamp string `json:"lastVoiceOptInFlowTimestamp,omitempty"` - // ReadNotificationSummarizationSupported: Whether the client supports message - // summarization. - ReadNotificationSummarizationSupported bool `json:"readNotificationSummarizationSupported,omitempty"` - // VoiceOptInFlowCounter: The voice consent flow counter on current device. - VoiceOptInFlowCounter int64 `json:"voiceOptInFlowCounter,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceSettingStatus") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceSettingStatus") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiMessageSummarySupport) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiMessageSummarySupport - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiMovementCapabilities struct { - // Mobility: Indicates how much the device moves around. E.g., TV has a low - // mobility level, while Auto has a very high level. - // - // Possible values: - // "UNSPECIFIED" - // "LOW" - // "MEDIUM" - // "HIGH" - // "VERY_HIGH" - Mobility string `json:"mobility,omitempty"` - // ForceSendFields is a list of field names (e.g. "Mobility") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Mobility") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiMovementCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiMovementCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiNotificationOutputRestrictions struct { - OptOutState *AssistantApiNotificationOutputRestrictionsOptOutState `json:"optOutState,omitempty"` - // ForceSendFields is a list of field names (e.g. "OptOutState") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OptOutState") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiNotificationOutputRestrictions) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiNotificationOutputRestrictions - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiNotificationOutputRestrictionsOptOutState: Per category/category -// group notification opt out settings. -type AssistantApiNotificationOutputRestrictionsOptOutState struct { - CategoryGroupState []*AssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupState `json:"categoryGroupState,omitempty"` - CategoryState []*AssistantApiNotificationOutputRestrictionsOptOutStateCategoryState `json:"categoryState,omitempty"` - // ForceSendFields is a list of field names (e.g. "CategoryGroupState") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CategoryGroupState") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiNotificationOutputRestrictionsOptOutState) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiNotificationOutputRestrictionsOptOutState - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupState struct { - // Possible values: - // "UNSPECIFIED" - // "SYSTEM" - This is required, do not remove. Group for notification - // categories that should not be displayed at all. - // "PROMOTIONAL" - Promotional notifications. - // "SUBSCRIPTIONS" - Notifications for Subscriptions. - // "PROACTIVE" - Proactive notifications - // "REMINDERS" - Reminders (including assigned reminders). - // "EXTENDED_ANSWERS" - Cross surface answers. - // "FEEDBACK" - Assistant asking for feedback from users. - // "ACTIONS_ON_GOOGLE" - AoG 3P notifications. - // "DUO_MISSED_CALLS" - Missed call notifications from DUO. - // "HOME_AUTOMATION" - Home Automation notifications. - // "GETTING_AROUND" - Getting around notifications. - // "UNIT_TESTING" - Always keep at the end. - CategoryGroup string `json:"categoryGroup,omitempty"` - // Possible values: - // "OPTED_IN" - Default value is intentionally set to opted in as all - // categories/category groups are enabled by default. - // "OPTED_OUT" - State string `json:"state,omitempty"` - // ForceSendFields is a list of field names (e.g. "CategoryGroup") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CategoryGroup") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupState) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiNotificationOutputRestrictionsOptOutStateCategoryGroupState - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiNotificationOutputRestrictionsOptOutStateCategoryState struct { - // Possible values: - // "UNSPECIFIED" - // "SYSTEM_REQUIRED_LOW_PRIORITY" - Categories required by Assistant & won't - // be shown on settings page. - // "SYSTEM_REQUIRED_HIGH_PRIORITY" - // "DISCOVERY" - Promotional discovery notifications. - // "REALTIME_PROMOTIONAL" - // "SUBSCRIPTIONS" - Subscriptions (both event and time based). - // "FLIGHT_UPDATES" - Proactive notification categories. - // "TRANSPORT_UPDATES" - // "BILL_UPDATES" - // "PACKAGE_DELIVERY_UPDATES" - // "EVENT_UPDATES" - // "DUE_DATE_UPDATES" - // "CELEBRATION_UPDATES" - // "ROUTINE_UPDATES" - // "TASK_SUGGESTIONS" - // "AT_A_PLACE" - // "APP_RECOMMENDATIONS" - // "TRAVEL_UPDATES" - // "REMINDER_DUE" - Reminder notification categories. - // "ASSIGNED_REMINDER_DUE" - We're probably going to deprecate - // ASSIGNED_REMINDER_DUE. - // "ROUTINE_SETTINGS_UPDATES" - Routine related notification categories. - // "MAPS_OR_DIRECTIONS" - Extended answer (cross device) notification - // categories. - // "MOVIE_SHOWTIMES" - // "SPORTS_UPDATES" - // "NEWS_UPDATES" - // "SONGS_AND_ARTISTS" - // "TRANSLATIONS" - // "ANSWERS_TO_QUESTIONS" - // "SETTINGS_LINKS" - // "RESERVATION_UPDATES" - // "DEPRECATED_FEEDBACK_REQUESTS" - Feedback requests from Assistant. - // "FEEDBACK_REQUESTS" - // "ACTIONS_ON_GOOGLE" - Actions on Google (Third party) notifications. - // "DUO_MISSED_CALLS" - Missed call notifications from DUO. - // "HOME_AUTOMATION" - Home Automation related notifications. - // "TIME_TO_LEAVE" - Getting around notifications. - // "COMMUTE" - // "OCCASIONALLY_REPEATED_ACTIONS" - Repeated actions. Having two categories - // for occasionally and frequently repeated ones since the - // FREQUENTLY_REPEATED_ACTIONS are buzzing. - // "FREQUENTLY_REPEATED_ACTIONS" - // "ASPIRE" - Assistant Aspire notifications. - // "ASSISTANT_DRIVING_MODE" - // "DISCOVERY_DEFAULT_PRIORITY" - Discovery notifications that shows in - // status bar but doesn't make noise. - // "HOLIDAY_REMINDERS" - // "CROSS_DEVICE_TIMER" - // "LIVE_CARD" - Live cards, these are not real notifications but live cards - // shown on Home App. - // "ASYNC_ACTION" - These are not really notifications, rather push messages - // to initiate an asynchronous action. - // "UNIT_TESTING" - Always keep at the end. - Category string `json:"category,omitempty"` - // Possible values: - // "OPTED_IN" - Default value is intentionally set to opted in as all - // categories/category groups are enabled by default. - // "OPTED_OUT" - State string `json:"state,omitempty"` - // ForceSendFields is a list of field names (e.g. "Category") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Category") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiNotificationOutputRestrictionsOptOutStateCategoryState) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiNotificationOutputRestrictionsOptOutStateCategoryState - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiOemCapabilities: Encapsulates the action capabilities of the OEM -// device. This data is merged from Device Model lookup, per-device -// registration, and per-request context. This data is sent to NLU layer for -// query understanding. -type AssistantApiOemCapabilities struct { - // CloudCapability: The OEM Cloud execution capability of this device, - // containing routing details for cloud fulfillment. - CloudCapability *AssistantDevicesPlatformProtoCloudCapability `json:"cloudCapability,omitempty"` - // CloudDeviceCapabilities: If fulfillment is done via 3P cloud and 3P supports - // device capabilities, this field will be set. - CloudDeviceCapabilities googleapi.RawMessage `json:"cloudDeviceCapabilities,omitempty"` - // DeviceModelId: Device Model Id from DeviceModelPackage. - DeviceModelId string `json:"deviceModelId,omitempty"` - // DeviceModelRevisionId: Device Model Revision Id from DeviceModelPackage. - DeviceModelRevisionId int64 `json:"deviceModelRevisionId,omitempty,string"` - // DeviceSpecificData: Opaque supported action data related to a specific - // domain of devices, for example for car. go/car-talk-registration-model - DeviceSpecificData string `json:"deviceSpecificData,omitempty"` - // InternalCapability: Internal-only config containing metadata about the - // Device Model, for example to control the ranking behavior. - InternalCapability *AssistantDevicesPlatformProtoInternalCapability `json:"internalCapability,omitempty"` - // ThirdPartyActionConfig: 3P Action Metadata, populated from the Device Model - // lookup and the client request parameters. For example, an Assistant SDK - // request would have the billed project id of the Assistant request added here - // in order to enable any Device Actions developed using the same Google Cloud - // project. This data is sent to Service Engine to mask triggering for Device - // Actions. - ThirdPartyActionConfig *AssistantApiThirdPartyActionConfig `json:"thirdPartyActionConfig,omitempty"` - // ForceSendFields is a list of field names (e.g. "CloudCapability") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloudCapability") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiOemCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiOemCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiOnDeviceAssistantCapabilities: Definitions of on-device -// assistant capabilities. -type AssistantApiOnDeviceAssistantCapabilities struct { - // IsLocalNetworkArbitrationSupported: Capabilities related to local network - // arbitration (go/local-network-arbitration). Indicates if the device is - // capable of being a host device in the LAN whiling doing local network - // arbitration. - IsLocalNetworkArbitrationSupported bool `json:"isLocalNetworkArbitrationSupported,omitempty"` - // IsOnDeviceArbitrationSupported: Capabilities related to on-device - // arbitration(go/arbitration-on-device). - IsOnDeviceArbitrationSupported bool `json:"isOnDeviceArbitrationSupported,omitempty"` - // IsOnDeviceAssistantSupported: Indicates if on-device assistant is enabled on - // this device. Example usecases: NGA (go/nga) or Marble (go/marble). - IsOnDeviceAssistantSupported bool `json:"isOnDeviceAssistantSupported,omitempty"` - // IsOnDeviceUnderstandingSupported: This may be used by NGA. E.g. if - // understanding happens on device, we can have more aggressive logic when - // fulfilling some features on the server side, like teleport. - IsOnDeviceUnderstandingSupported bool `json:"isOnDeviceUnderstandingSupported,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "IsLocalNetworkArbitrationSupported") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. - // "IsLocalNetworkArbitrationSupported") to include in API requests with the - // JSON null value. By default, fields with empty values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for - // more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiOnDeviceAssistantCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiOnDeviceAssistantCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiOnDeviceSmartHomeCapabilities: Definitions of on-device Smart -// Home capabilities. Next ID: 2 -type AssistantApiOnDeviceSmartHomeCapabilities struct { - // IsOnDeviceSmartHomeSupported: Master bit for on-device Smart Home features. - IsOnDeviceSmartHomeSupported bool `json:"isOnDeviceSmartHomeSupported,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "IsOnDeviceSmartHomeSupported") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsOnDeviceSmartHomeSupported") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiOnDeviceSmartHomeCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiOnDeviceSmartHomeCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiOnDeviceStorageCapabilities: The on-device storage capabilities -// found on the device. -type AssistantApiOnDeviceStorageCapabilities struct { - // IsSupported: Determines if an on-device storage is supported. - IsSupported bool `json:"isSupported,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsSupported") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsSupported") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiOnDeviceStorageCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiOnDeviceStorageCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiOutputRestrictions: These are user configurable permissions -// representing what the device is allowed to output. Next ID: 11 -type AssistantApiOutputRestrictions struct { - // GooglePhotoContent: The type of Google Photo content which the device can - // output. - // - // Possible values: - // "ALL_PHOTO_CONTENT" - All content can be output, including contents from - // restricted categories (e.g. violent, racy). - // "NO_RESTRICTED_PHOTO_CONTENT" - Only content from non-restricted - // categories can be output. - GooglePhotoContent string `json:"googlePhotoContent,omitempty"` - // GuestAccessOutput: Access settings for guests. - GuestAccessOutput *AssistantApiGuestAccessOutput `json:"guestAccessOutput,omitempty"` - // PersonalData: The level of personal data which the device can output. See - // go/personal-readout for detail. - // - // Possible values: - // "PERSONAL_DATA_OUTPUT_UNKNOWN" - UNKNOWN. - // "ALL_PERSONAL_DATA_WITH_PROACTIVE" - DO NOT USE. This field has been - // deprecated. - // "ALL_PERSONAL_DATA" - All personal data can be output. - // "NO_PERSONAL_DATA" - No personal data can be output. - PersonalData string `json:"personalData,omitempty"` - // ProactiveNotificationOutput: This controls if the server can proactively - // send notification to users, and it does not affect scenarios that users ask - // for information. The notification may include TTS and lights. It could be - // only lights for chirp. - // - // Possible values: - // "UNKNOWN_PROACTIVE_NOTIFICATION" - The setting for proactive notification - // is unknown - // "NO_PROACTIVE_NOTIFICATION" - No proactive notification can be output - // "ALL_PROACTIVE_NOTIFICATIONS" - All proactive notifications can be output - ProactiveNotificationOutput string `json:"proactiveNotificationOutput,omitempty"` - // ProactiveOutput: Restrictions on displaying and interacting with content on - // proactive surfaces (e.g. Dragonglass home screen). Note: NEVER access this - // field of OutputRestrictions directly, use the code in - // assistant/assistant_server/settings/device/device_settings_util.h instead. - ProactiveOutput *AssistantApiProactiveOutput `json:"proactiveOutput,omitempty"` - // YoutubeAutoplayRestriction: Whether YouTube autoplay is allowed for queries - // from the user to this device. See go/assistant-youtube-settings for details. - // - // Possible values: - // "AUTOPLAY_RESTRICTION_UNSPECIFIED" - // "AUTOPLAY_ALLOWED" - Autoplay can be applied to youtube queries to the - // device from this user - // "AUTOPLAY_DISABLED" - Autoplay must not be enabled for youtube queries to - // the device from this user - YoutubeAutoplayRestriction string `json:"youtubeAutoplayRestriction,omitempty"` - // YoutubeContent: The type of YouTube content which the device can output. - // - // Possible values: - // "ALL_YOUTUBE_CONTENT" - All content can be output. - // "NO_RESTRICTED_CONTENT" - No restricted content can be output. - YoutubeContent string `json:"youtubeContent,omitempty"` - // YoutubeTvContent: The type of YouTube TV content which the device can - // output. - // - // Possible values: - // "ALL_YOUTUBE_TV_CONTENT" - All YouTube TV content can be output. - // "NO_RESTRICTED_YOUTUBE_TV_CONTENT" - No restricted YouTube TV content can - // be output. - YoutubeTvContent string `json:"youtubeTvContent,omitempty"` - // ForceSendFields is a list of field names (e.g. "GooglePhotoContent") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GooglePhotoContent") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiOutputRestrictions) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiOutputRestrictions - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiProactiveOutput: Next ID: 7 -type AssistantApiProactiveOutput struct { - // AllowAllPersonalData: Allows displaying all personal data on proactive - // surfaces with no face match capability. - AllowAllPersonalData bool `json:"allowAllPersonalData,omitempty"` - // AndroidTvAssistantSettingsSource: For ANDROID_TV devices, the location that - // this setting was last changed from. Note: this structure allows to extend to - // more per-vertical bits in the future. - // - // Possible values: - // "NOT_SET" - LINT.IfChange - // "FIRST_SCREEN_DEVICE_OOBE" - Created during ATV Device OOBE(setupwraith) - // "FIRST_SCREEN_KATNISS_OOBE" - Created within Katniss(Assistant client on - // TV) - // "FIRST_SCREEN_KATNISS_BACKGROUND_LINKING" - Created within Katniss when - // running cast linking in the background of device setup. - // "FIRST_SCREEN_DELEGATION_OOBE" - Created within Katniss delegation path - // "FIRST_SCREEN_FIXER_JOB" - Created by fix settings job in katniss. - // "FIRST_SCREEN_FCM_JOB" - Created by FCM jobs in katnisss. - // "FIRST_SCREEN_HOME_GRAPH_JOB" - Created by home graph jobs in katniss. - // "FIRST_SCREEN_PERSONAL_BIT" - Created by enable personal bit button in - // Settings UI - // "FIRST_SCREEN_VOICE_INPUT_BIT" - Created by enable voice input bit button - // in Settings UI - // "FIRST_SCREEN_OTHER" - Created by other parts in katniss - // "SECOND_SCREEN_AGSA" - Created by AGSA - // "SECOND_SCREEN_GHA_IOS" - Created by Google Home App IOS - // "SECOND_SCREEN_GHA_ANDROID" - Created by Google Home App Android - // LINT.ThenChange(//depot/google3/logs/proto/assistant/capabilities_log.proto) - AndroidTvAssistantSettingsSource string `json:"androidTvAssistantSettingsSource,omitempty"` - // HealthAndFitnessProactive: Allows displaying Health and Fitness content on - // proactive surfaces. This is a sub bit of the device-wide PR bit - the - // device-wide PR bit must be enabled AND this vertical sub bit must be enabled - // for H&F content to be shown. This bit will be available on all surfaces that - // have the proactive-bit enabled. If the proactive-bit is not enabled, then we - // do not show health and fitness content at all (or even allow access to this - // setting). - // - // Possible values: - // "NO_HEALTH_AND_FITNESS_PROACTIVE_OUTPUT" - No health and fitness proactive - // content can be output - // "ALL_HEALTH_AND_FITNESS_PROACTIVE_OUTPUT" - All health and fitness - // proactive content can be output - HealthAndFitnessProactive string `json:"healthAndFitnessProactive,omitempty"` - // PhotosProactive: Allows displaying photos content on Dragonglass proactive - // surfaces. This is a sub bit of the device-wide PR bit - the device-wide PR - // bit must be enabled AND this vertical sub bit must be enabled for photos - // content to be shown on Dragonglass surfaces. This bit will be available on - // all Dragonglass surfaces that have the proactive-bit enabled. If the - // proactive-bit is not enabled or it's not a Dragonglass surface, then we do - // not show proactive photos content at all, nor allow access to this setting. - // See go/opa-photos-sg-settings for more details. - // - // Possible values: - // "UNKNOWN_PHOTOS_PROACTIVE_OUTPUT" - // "NO_PHOTOS_PROACTIVE_OUTPUT" - No photos proactive content can be output. - // This indicates that user has explicitly disabled photos proactive settings. - // "ALL_PHOTOS_PROACTIVE_OUTPUT" - All photos proactive content can be - // output. This indicates that user has explicitly enabled photos proactive - // settings. - PhotosProactive string `json:"photosProactive,omitempty"` - // UserMatchProactive: Settings for displaying personal data on proactive - // surfaces with face match capability. - // - // Possible values: - // "UNKNOWN_USER_MATCH_PROACTIVE" - // "NEVER_SHOW" - Never show proactive content. - // "ONLY_SHOW_ON_USER_MATCH" - Only show proactive content on Face Match. - // "ALWAYS_SHOW" - Always show proactive content. - UserMatchProactive string `json:"userMatchProactive,omitempty"` - // ForceSendFields is a list of field names (e.g. "AllowAllPersonalData") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AllowAllPersonalData") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiProactiveOutput) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiProactiveOutput - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiProtobuf: Also known as "Extensions Without Extensions" or "The -// Poor Man's Any", this simple proto is used to transmit arbitrary protocol -// buffers over the wire. Unlike extensions: - It does not require the proto -// type to be compiled into the binary. (Useful so that the proto declaration -// can be inside the conversation package) - It is compatible with all versions -// of proto, including proto3 and the wack-tastic version used on ChromecastOS. -// Server libraries for dealing with it live in -// google3/assistant/protocol/protobuf_lib.h. -type AssistantApiProtobuf struct { - // ProtobufData: The serialized protocol buffer. - ProtobufData string `json:"protobufData,omitempty"` - // ProtobufType: The type of the protocol buffer to use. This must be a - // resolvable name (Namespace.ProtoName) and refer to a proto which is either - // compiled in to both client and server (e.g. a base proto type) or to one - // which is part of the conversation package. - ProtobufType string `json:"protobufType,omitempty"` - // ForceSendFields is a list of field names (e.g. "ProtobufData") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ProtobufData") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiProtobuf) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiProtobuf - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiRecurrence: Date-based recurrences specify repeating events. -// Conceptually, a recurrence is a (possibly unbounded) sequence of dates on -// which an event falls, described by a list of constraints. A date is in a -// recurrence if and only if it satisfies all of the constraints. Note that -// devices may support some constraints, but not all. -type AssistantApiRecurrence struct { - // Begin: The first day of the recurrence. If begin is not set, then the - // reminder will start infinitely in the past. - Begin *AssistantApiDate `json:"begin,omitempty"` - // BlacklistedRanges: A list of blacklisted dates to skip the alarm on. - BlacklistedRanges []*AssistantApiDateTimeRange `json:"blacklistedRanges,omitempty"` - // DayOfMonth: Specifies the date in a month. For example, if day_of_month is - // 15, then it represent the 15th day of the specified month. - DayOfMonth []int64 `json:"dayOfMonth,omitempty"` - // DayOfWeek: Specifies a weekly or daily recurrence. Constraint: The date - // falls on one of these days of the week, in 0...6 (Sunday...Saturday). - DayOfWeek []int64 `json:"dayOfWeek,omitempty"` - // End: The last day of the recurrence. - End *AssistantApiDate `json:"end,omitempty"` - // Every: Multiplier on the frequency of the recurrence. Use this to specify - // patterns that recur every X days, months, years, etc. Example: [remind me to - // call mom every 2nd week]. Default is 1 (every day, every month, every year). - Every int64 `json:"every,omitempty"` - // MonthOfYear: Specifies the month in a year. Constrain: the month falls on - // one of these months, in 1, 2, ... 12 (January...December). - MonthOfYear []int64 `json:"monthOfYear,omitempty"` - // NumOccurrences: The number of occurrences after which the recurrence should - // end. - NumOccurrences int64 `json:"numOccurrences,omitempty"` - // WeekOfMonth: Specifies the index of week in a month. For example, the second - // Tuesday every month, in this case, week_of_month should be 2. - WeekOfMonth []int64 `json:"weekOfMonth,omitempty"` - // ForceSendFields is a list of field names (e.g. "Begin") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Begin") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiRecurrence) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiRecurrence - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiRobinCapabilities: Used to describe the capabilities and params -// of Robin Client. Field will be populated from Client or backfilled in SAL -// only for Robin client. -type AssistantApiRobinCapabilities struct { - // EnabledExtensions: List of enabled Robin extensions. - EnabledExtensions []string `json:"enabledExtensions,omitempty"` - RobinStatus *AssistantApiRobinCapabilitiesRobinStatus `json:"robinStatus,omitempty"` - // SupportedRobinOps: List of supported RobinOps. - SupportedRobinOps []string `json:"supportedRobinOps,omitempty"` - // ForceSendFields is a list of field names (e.g. "EnabledExtensions") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EnabledExtensions") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiRobinCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiRobinCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiRobinCapabilitiesRobinStatus: Current Robin status of the -// client. -type AssistantApiRobinCapabilitiesRobinStatus struct { - Available *AssistantApiRobinCapabilitiesRobinStatusRobinStatusAvailable `json:"available,omitempty"` - NotAvailable *AssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailable `json:"notAvailable,omitempty"` - OptedIn *AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedIn `json:"optedIn,omitempty"` - OptedOut *AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedOut `json:"optedOut,omitempty"` - // ForceSendFields is a list of field names (e.g. "Available") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Available") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiRobinCapabilitiesRobinStatus) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiRobinCapabilitiesRobinStatus - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiRobinCapabilitiesRobinStatusRobinStatusAvailable: Robin is -// available and can be enabled by the user. -type AssistantApiRobinCapabilitiesRobinStatusRobinStatusAvailable struct { -} - -// AssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailable: Robin is -// not available and can not be enabled by the user. -type AssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailable struct { - Reasons []int64 `json:"reasons,omitempty"` - // ForceSendFields is a list of field names (e.g. "Reasons") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Reasons") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailable) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiRobinCapabilitiesRobinStatusRobinStatusNotAvailable - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedIn: Robin is -// available and the user opted in already. -type AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedIn struct { -} - -// AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedOut: Robin would be -// available, but the user explicitly opted out. -type AssistantApiRobinCapabilitiesRobinStatusRobinStatusOptedOut struct { -} - -// AssistantApiScreenCapabilities: These capabilities represent the tactile -// features associated with the device. This includes, for example, whether the -// device has a screen, how big the screen is, and privacy of the screen. Next -// ID: 11 -type AssistantApiScreenCapabilities struct { - // FontScaleFactor: The scale factor used to convert Scalable Pixel (SP) units - // to Density-independent Pixel (DP) units (DP = SP * scale factor). Fonts are - // measured in units of SP, and on some platforms such as Android the SP to DP - // scale factor can be affected by the font size a user selects in - // accessibility settings. - FontScaleFactor float64 `json:"fontScaleFactor,omitempty"` - // InputType: The types of input that this screen supports. Note that this can - // be empty in which case the screen's input type is unknown. - // - // Possible values: - // "TOUCHSCREEN" - The device has a screen that support touch input. - InputType []string `json:"inputType,omitempty"` - // Mask: Mask defined for this device, if any. - Mask *AssistantApiScreenCapabilitiesMask `json:"mask,omitempty"` - // ProtoLayoutTargetedSchema: The targeted schema version for ProtoLayout - // requests. - ProtoLayoutTargetedSchema *AssistantApiScreenCapabilitiesProtoLayoutVersion `json:"protoLayoutTargetedSchema,omitempty"` - // Resolution: If this field is absent, the resolution of the screen is - // unknown. - Resolution *AssistantApiScreenCapabilitiesResolution `json:"resolution,omitempty"` - // ScreenOff: If screen is turned off. - ScreenOff bool `json:"screenOff,omitempty"` - // ScreenStateDetection: The ability of the client to correctly report screen - // state. - // - // Possible values: - // "UNKNOWN_SCREEN_STATE_DETECTION" - // "UNRELIABLE_SCREEN_STATE_DETECTION" - The client reports screen state but - // may be unreliable based on different remotes/inputs used to turn the screen - // off. Example: Android TVs with soundbars. - // "RELIABLE_SCREEN_STATE_DETECTION" - ScreenStateDetection string `json:"screenStateDetection,omitempty"` - // SupportedRenderingFormat: The primary supported rendering format for display - // on the device's screen. This may be used to determine what format of card to - // be returned when rendering cards. - // - // Possible values: - // "UNKNOWN_RENDERING_FORMAT" - // "CONCISE_TEXT" - Concise Text go/concise-text-responses - // "PROTO_LAYOUT" - Proto Layout, the layout for Proto Tiles go/prototiles - // "ELEMENTS" - Elements, the layout for xUIKit go/xuikit - SupportedRenderingFormat string `json:"supportedRenderingFormat,omitempty"` - // SupportedScreenStates: The screen states that the client supports. The - // current screen state is specified in DeviceProperties.screen. - // - // Possible values: - // "UNKNOWN_SCREEN_STATE" - // "ON" - // "OFF" - SupportedScreenStates []string `json:"supportedScreenStates,omitempty"` - // VisionHelpEnabled: Whether the device enabled vision help features in - // accessibility settings. The settings is config in Assistant App and - // on-device settings, and stored in footprints. When enabled, font, color and - // TTS will be adjusted. - VisionHelpEnabled bool `json:"visionHelpEnabled,omitempty"` - // ForceSendFields is a list of field names (e.g. "FontScaleFactor") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FontScaleFactor") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiScreenCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiScreenCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *AssistantApiScreenCapabilities) UnmarshalJSON(data []byte) error { - type NoMethod AssistantApiScreenCapabilities - var s1 struct { - FontScaleFactor gensupport.JSONFloat64 `json:"fontScaleFactor"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.FontScaleFactor = float64(s1.FontScaleFactor) - return nil -} - -// AssistantApiScreenCapabilitiesMask: A mask applied to the screen's pixel -// space to determine regions not visible on the physical device. -type AssistantApiScreenCapabilitiesMask struct { - // Possible values: - // "UNKNOWN_MASK" - Default value. - // "NO_MASK" - Used for devices with no mask. In this case, every point in - // the region defined by width_px and height_px corresponds to a physical, - // visible pixel. This is distinct from rectangular screens that DO have - // regions with no pixels, e.g. an inset or cutout that occludes one or more - // sides of the screen. - // "ROUND_MASK" - Used for devices with oval or circular screens. The - // vertical and horizontal resolution of the screen determines the vertical and - // horizontal diameters of the oval. Pixels outside this oval region are - // non-existent or physically occluded. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiScreenCapabilitiesMask) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiScreenCapabilitiesMask - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiScreenCapabilitiesProtoLayoutVersion: Version info for -// ProtoLayout requests. -type AssistantApiScreenCapabilitiesProtoLayoutVersion struct { - Major int64 `json:"major,omitempty"` - Minor int64 `json:"minor,omitempty"` - // ForceSendFields is a list of field names (e.g. "Major") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Major") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiScreenCapabilitiesProtoLayoutVersion) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiScreenCapabilitiesProtoLayoutVersion - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiScreenCapabilitiesResolution: A Resolution proto indicates the -// size of the application window. All fields are required. -type AssistantApiScreenCapabilitiesResolution struct { - // Dpi: Dots (pixels) per inch of the screen. - Dpi int64 `json:"dpi,omitempty"` - HeightPx int64 `json:"heightPx,omitempty"` - // MSize: m_size is the smallest square box size to display a capital letter M - // so that the user can still easily understand it. - MSize int64 `json:"mSize,omitempty"` - // NengSize: neng_size is the smallest square box size to display a letter 螚 - // (Neng, U+879A) so that the user can easily understand it. (Neng is a - // visually dense Chinese letter, and so may require a larger box than an M.) - NengSize int64 `json:"nengSize,omitempty"` - // WidthPx: The dimensions of the application window, in pixels. - WidthPx int64 `json:"widthPx,omitempty"` - // ForceSendFields is a list of field names (e.g. "Dpi") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Dpi") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiScreenCapabilitiesResolution) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiScreenCapabilitiesResolution - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSelinaCapabilites: The Soli capabilities on Elaine, including -// gestures and sleep sensing. go/dingo-dc-software Next ID: 4 -type AssistantApiSelinaCapabilites struct { - // GestureCapabilities: A list of gestures that selina supports - GestureCapabilities *AssistantApiGestureCapabilities `json:"gestureCapabilities,omitempty"` - // SelinaSupported: Whether the client supports selina. - SelinaSupported bool `json:"selinaSupported,omitempty"` - // SleepSensingSupported: Whether the client can monitor sleep. This allows us - // to show sleep CUJ related information: go/TwilightDesign - SleepSensingSupported bool `json:"sleepSensingSupported,omitempty"` - // ForceSendFields is a list of field names (e.g. "GestureCapabilities") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GestureCapabilities") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSelinaCapabilites) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSelinaCapabilites - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsAmbientSettings struct { - // AnyUserHasSetPersonalPhotos: Whether any user sets personal photos on this - // device. See go/ambient-setting-in-assistant-design. - AnyUserHasSetPersonalPhotos bool `json:"anyUserHasSetPersonalPhotos,omitempty"` - // RecentHighlightsEnabled: Whether or not the user's current selection for - // their ambient photo frame includes the auto-generated "Recent Highlights" - // album. This is used to determine which users to display the - // go/opa-photos-memories-tile. See go/opa-photo-memories-imax-optin for more - // discussion on why this bit was created. - RecentHighlightsEnabled bool `json:"recentHighlightsEnabled,omitempty"` - // ShowPersonalPhotoData: Whether to enable the personal photo data in the - // ambient settings: https://screenshot.googleplex.com/Wd4OFkQfOyF See - // go/opa-photos-ambient-location-date-dd#heading=h.5x4iaouuiett for - // explanation. - ShowPersonalPhotoData bool `json:"showPersonalPhotoData,omitempty"` - // ShowPersonalPhotos: Whether current user sets personal photos on this - // device. See go/ambient-setting-in-assistant-design. - ShowPersonalPhotos bool `json:"showPersonalPhotos,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "AnyUserHasSetPersonalPhotos") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AnyUserHasSetPersonalPhotos") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsAmbientSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsAmbientSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsAppCapabilities: These capabilities are associated with -// Assistant Settings on devices. -type AssistantApiSettingsAppCapabilities struct { - // CarSettingsCapabilities: Capabilities that are associated with Assistant - // Settings on auto surfaces. - CarSettingsCapabilities *AssistantApiCarSettingsCapabilities `json:"carSettingsCapabilities,omitempty"` - // ReissueQueryAfterMusicSetup: Whether the client supports reissuing query - // after setting up in Music Settings. - ReissueQueryAfterMusicSetup bool `json:"reissueQueryAfterMusicSetup,omitempty"` - // SupportsPaymentsSettingsUpdate: Whether the client supports updating - // payments setting. - SupportsPaymentsSettingsUpdate bool `json:"supportsPaymentsSettingsUpdate,omitempty"` - // ForceSendFields is a list of field names (e.g. "CarSettingsCapabilities") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CarSettingsCapabilities") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsAppCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsAppCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsAutoFramingSettings: Settings pertaining to auto -// framing. See go/auto-framing-presentation. -type AssistantApiSettingsAutoFramingSettings struct { - IsAutoFramingEnabled bool `json:"isAutoFramingEnabled,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsAutoFramingEnabled") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsAutoFramingEnabled") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsAutoFramingSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsAutoFramingSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsCarrierCallDeviceSettings: Carrier related call settings -// on the device. -type AssistantApiSettingsCarrierCallDeviceSettings struct { - // AllowIncomingCalls: Whether this device is allowed to receive incoming PSTN - // calls. - AllowIncomingCalls bool `json:"allowIncomingCalls,omitempty"` - // ForceSendFields is a list of field names (e.g. "AllowIncomingCalls") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AllowIncomingCalls") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsCarrierCallDeviceSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsCarrierCallDeviceSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsCommunicationsFilter: Specification of which -// communication features can be used. -type AssistantApiSettingsCommunicationsFilter struct { - // Possible values: - // "UNKNOWN_STATE" - // "ALLOW_ALL" - Allow all communication features. - // "BLOCK_CALLS_AND_MESSAGES" - Allow all communication features, with the - // exception of calls and messages. - State string `json:"state,omitempty"` - // ForceSendFields is a list of field names (e.g. "State") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "State") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsCommunicationsFilter) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsCommunicationsFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsDeviceDowntimeSettings: Specification of times when most -// features on a device are disabled for certain users. During these periods, -// the device will respond to most interactions with something like "sorry, I'm -// sleeping right now". Design: go/home-ft-settings-storage PRD: -// go/home-family-tools-prd -type AssistantApiSettingsDeviceDowntimeSettings struct { - Schedules []*AssistantApiSettingsLabeledDowntimeSchedule `json:"schedules,omitempty"` - // Targets: The set of users of this device that will have these downtime - // settings applied. Must have at least one element. - // - // Possible values: - // "UNKNOWN_DEVICE_SUPERVISION_TARGET" - // "EVERYONE" - All people that use the device. - // "KID_ACCOUNTS" - Users with a Unicorn account that are voice-matched to - // the device. - // "GUESTS" - Users interacting with the device without being voice matched. - // We cannot identify these users and don't know their ages. - Targets []string `json:"targets,omitempty"` - // ForceSendFields is a list of field names (e.g. "Schedules") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Schedules") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsDeviceDowntimeSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsDeviceDowntimeSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsDeviceFeatureFilters: Defines a set of restrictions on -// particular device features for a certain set of users. Design: -// go/home-ft-settings-storage PRD: go/home-family-tools-prd -type AssistantApiSettingsDeviceFeatureFilters struct { - // Enabled: Enables/disables all the filters at the same time. For new devices - // or non-Cast devices this is always false. - Enabled bool `json:"enabled,omitempty"` - // FeatureFilters: The filters (feature restrictions) to apply when `enabled` - // is true. - FeatureFilters *AssistantApiSettingsFeatureFilters `json:"featureFilters,omitempty"` - // Targets: The set of users of this device that will have these settings - // applied. Must have at least one element. - // - // Possible values: - // "UNKNOWN_DEVICE_SUPERVISION_TARGET" - // "EVERYONE" - All people that use the device. - // "KID_ACCOUNTS" - Users with a Unicorn account that are voice-matched to - // the device. - // "GUESTS" - Users interacting with the device without being voice matched. - // We cannot identify these users and don't know their ages. - Targets []string `json:"targets,omitempty"` - // ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Enabled") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsDeviceFeatureFilters) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsDeviceFeatureFilters - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsDeviceLogsOptIn struct { - // OptInEnabled: Indicates whether the crash logs can be uploaded and the - // device logs can be enabled - OptInEnabled bool `json:"optInEnabled,omitempty"` - // ForceSendFields is a list of field names (e.g. "OptInEnabled") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OptInEnabled") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsDeviceLogsOptIn) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsDeviceLogsOptIn - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsDeviceSettings: Next ID: 73 -type AssistantApiSettingsDeviceSettings struct { - // AckStatus: - // LINT.ThenChange(//depot/google3/assistant/ui/assistant_device_settings_ui.pro - // to) - // - // Possible values: - // "ACK_COMPLETED" - // "ACK_PENDING" - AckStatus string `json:"ackStatus,omitempty"` - // Address: A human-readable address string for the location; generally a - // one-line address such as "34 Masonic Ave, San Francisco CA 94117, United - // States". Set this field to empty string for deletion, in which case the rest - // of the location related fields below will be cleared as well. - Address string `json:"address,omitempty"` - // AliasName: The alias names of the device, e.g. my living room tv, tv, living - // room and etc., which user will usually use to refer to the device in - // addition to human_friendly_name. It can help speech biasing and query - // understanding. This field is set by the user and already localized. - AliasName []string `json:"aliasName,omitempty"` - // AllowIncomingCalls: Whether this device is allowed to receive incoming - // calls. - AllowIncomingCalls bool `json:"allowIncomingCalls,omitempty"` - // AmbientSettings: Ambient settings contains the configuration of Photo Frame - // on DG device. This field relies on IMAX service to do the update, sync - // happenes after user updates IMAX device settings or a device registers in - // CloudCastDevice. So it's more like a cached version instead of definitive - // source-of-truth. More details at go/ambient-setting-in-assistant-design. - AmbientSettings *AssistantApiSettingsAmbientSettings `json:"ambientSettings,omitempty"` - // AncillaryDeviceId: The additional device ids. Currently used only for ATV. - // go/project-yellowstone Note: This field is for internal (Within settings) - // use only. - AncillaryDeviceId *AssistantApiSettingsInternalAncillaryDeviceId `json:"ancillaryDeviceId,omitempty"` - // AutoFramingSettings: Auto framing settings associated with a device. See - // go/auto-framing-presentation. - AutoFramingSettings *AssistantApiSettingsAutoFramingSettings `json:"autoFramingSettings,omitempty"` - // BlueSteelEnabled: Indicates whether the user has enabled Blue Steel. See - // go/blue-steel for more info on this project. - BlueSteelEnabled bool `json:"blueSteelEnabled,omitempty"` - // Capabilities: Describes roughly what a device is capable of doing and - // metadata around those capabilities. Note: this includes device limitations - // as well as user configurable settings. - Capabilities *AssistantApiDeviceCapabilities `json:"capabilities,omitempty"` - // City: city and postal_code are sent to third party AoG Apps as location when - // permission is granted for precise or coarse location. - // https://developers.google.com/actions/reference/rest/Shared.Types/Permission - // city and postal_code have the same description as in Proto Postal Address: - // https://cs.corp.google.com/piper///depot/google3/location/country/postaladdress.proto - // city corresponds to locality_name, postal_code corresponds to - // postal_code_number. These two fields are set in assistant_settings_service - // by AddressConverter. - // https://cs.corp.google.com/piper///depot/google3/location/addressformatter/public/addressconverter.h - // See go/aog-i18n-address-parse for more information - City string `json:"city,omitempty"` - // ColocationStatus: Status of colocation. go/co-location-work-v2 Note: this is - // a cache at the Assistant level. The source of truth is inside - // CastAuthenticationServer, which is only used for Home devices. - // - // Possible values: - // "COLOCATION_UNKNOWN" - // "COLOCATION_ESTABLISHED" - // "COLOCATION_NOT_ESTABLISHED" - // "COLOCATION_NOT_SUPPORTED" - ColocationStatus string `json:"colocationStatus,omitempty"` - // CreationTimestampMs: The timestamp that the device is linked with the user - // in milliseconds. - CreationTimestampMs int64 `json:"creationTimestampMs,omitempty,string"` - // CrossSurfaceAvailability: Availability of this device for Assistant - // Cross-surface handoffs. (go/assistant-cross-surface) - CrossSurfaceAvailability *AssistantApiSettingsDeviceSettingsCrossSurfaceAvailability `json:"crossSurfaceAvailability,omitempty"` - // DefaultAudioDeviceId: The identification of the default device which user - // want to output audio. See go/default-media-output-design for more info. - DefaultAudioDeviceId *AssistantApiCoreTypesDeviceId `json:"defaultAudioDeviceId,omitempty"` - // DefaultVideoDeviceId: The identification of the default device which user - // want to output video. Note that, we don't fallback to this for audio - // playback when default_audio_device_id is not set. See - // go/default-media-output-design for more info. - DefaultVideoDeviceId *AssistantApiCoreTypesDeviceId `json:"defaultVideoDeviceId,omitempty"` - // DeviceBrand: The brand of the device, populated from DeviceOemParams. - // Examples: "google", "samsung". - DeviceBrand string `json:"deviceBrand,omitempty"` - // DeviceId: The identification of the device. - DeviceId *AssistantApiCoreTypesDeviceId `json:"deviceId,omitempty"` - // DeviceModelId: The model ID of the device. This should be globally unique - // across manufactures/OEMs. Examples: "nest_cam_iq_2017", - // "comcast_voice_box_2017". - DeviceModelId string `json:"deviceModelId,omitempty"` - // DeviceModelRevision: The Device Platform Service lookup revision. - // (go/device-model-revision) For 1p devices, and most 3p devices with no - // custom feature, this should be always 0, which means no lookup needed. For - // 3p devices with custom assistant feature, this is provided directly by OEM - // as incremental (e.g. 1, 2, 3, ...) - DeviceModelRevision int64 `json:"deviceModelRevision,omitempty"` - // Dusi: Only valid for ATV. Stores the android DUSI for the corresponding - // user. More details: go/auto-logout-on-unlink. - Dusi string `json:"dusi,omitempty"` - // FaceEnrollmentErrors: List of errors that happened during the face - // enrollment process if it failed. See go/face-match-enrollment-error for more - // info. - // - // Possible values: - // "UNKNOWN_FACE_ENROLLMENT_ERROR" - // "MISSING_FRONTAL_POSE" - The gallery images don't have the required - // frontal pose properties. - // "FACE_NOT_DETECTED" - Face was NOT detected in an image. - // "MULTIPLE_FACE_DETECTED" - Multiple faces detected in an image. - // "FACE_WITHOUT_SIGNATURE" - Cannot create signature for a detected face. - // "FACE_DETECTION_LOW_CONFIDENCE" - Face detection confidence score is too - // low. - // "FACE_LANDMARK_LOW_CONFIDENCE" - Face detection landmark confidence score - // is too low. - // "FACE_WITHOUT_CONFIDENCE" - Face detection contains no confidence score, - // which is invalid. - // "FACE_TOO_SMALL" - Face detection was too small for enrollment. - // "FAILED_TO_READ_IMAGE" - Unable to read the image file from the gallery. - // "FAILED_TO_DECODE_IMAGE" - Unable to decode the jpeg image. - // "FACE_DETECTION_ERROR" - Unable to run face detector on the decoded image. - // "FACE_WITHOUT_EMBEDDING_CONFIDENCE" - Face detection contains no - // confidence score for embedding. - FaceEnrollmentErrors []string `json:"faceEnrollmentErrors,omitempty"` - // FaceEnrollmentStatus: Indicates whether the user's face has been - // successfully enrolled on this device. See go/face-match-server-design for - // more info. - // - // Possible values: - // "UNKNOWN_STATUS" - // "SUCCESS" - // "FAILURE" - // "PENDING" - FaceEnrollmentStatus string `json:"faceEnrollmentStatus,omitempty"` - // FaceMatchEnabled: Indicates whether the user has enabled Face Match for this - // device. See go/face-match-server-design for more info on this project. - FaceMatchEnabled bool `json:"faceMatchEnabled,omitempty"` - // GcmSettings: Stores GCM info associated with a device. See - // go/quartz-design-doc for more info. - GcmSettings *AssistantApiSettingsGcmSettings `json:"gcmSettings,omitempty"` - // HomeGraphData: Holds the data that should be written to HomeGraph. Note: - // this field is not persisted in Assistant Settings storage. It is simply used - // for transporting data when client calls UpdateSettings. - HomeGraphData *AssistantApiSettingsHomeGraphData `json:"homeGraphData,omitempty"` - // HomeGraphId: The home graph ID that can be used to lookup the corresponding - // entry in HomeGraph. go/home-graph. Note: when this field is empty, it - // doesn't necessarily mean that the device is not in home graph. It just means - // that Assistant doesn't know about the mapping. - HomeGraphId string `json:"homeGraphId,omitempty"` - // HospitalityModeStatus: Indicates whether the device is currently in - // Hospitality mode. go/hospitality-mode-design. This is moved to a per user - // setting in assistant settings. ref. go/hospitality-settings-v2 - HospitalityModeStatus *AssistantApiSettingsHospitalityMode `json:"hospitalityModeStatus,omitempty"` - // HotwordSensitivity: The level of hotword sensitivity. - // go/hotword-sensitivity-prd - // - // Possible values: - // "UNKNOWN_HOTWORD_SENSITIVITY" - // "HOTWORD_SENSITIVITY_LOW" - // "HOTWORD_SENSITIVITY_NORMAL" - // "HOTWORD_SENSITIVITY_HIGH" - // "HOTWORD_SENSITIVITY_LOW_2" - // "HOTWORD_SENSITIVITY_HIGH_2" - HotwordSensitivity string `json:"hotwordSensitivity,omitempty"` - // HotwordThresholdAdjustmentFactor: HotwordThresholdAdjustmentFactor contains - // threshold_adjustment_factor, and it's validity. TAF is a measure of - // adjustment applied to the hotword threshold as a result of go/autotune. - // Currently, this is updated from query_settings_frame, but if we move to - // updating it from the client, this could also contain TAFs as a result of - // Hotword Sensitivity, in addition to Autotune. - HotwordThresholdAdjustmentFactor *AssistantApiSettingsHotwordThresholdAdjustmentFactor `json:"hotwordThresholdAdjustmentFactor,omitempty"` - // HumanFriendlyName: The human-friendly name of the cast device, e.g., my - // living room tv. This field is set by the user and already localized. - HumanFriendlyName string `json:"humanFriendlyName,omitempty"` - // InternalVersion: Internal version of the DeviceSettings for measurement of - // the DeviceSettings mutation race conditions. See - // go/consistent-assistant-settings-update. - InternalVersion *AssistantApiSettingsInternalVersion `json:"internalVersion,omitempty"` - // IsCloudSyncDevice: Indicates whether the device is also managed through HA - // cloud sync. go/ha-dev-guide - IsCloudSyncDevice bool `json:"isCloudSyncDevice,omitempty"` - // IsDeviceActivationCacheEnabled: When true, the user has explicitly allowed - // audio and visual data collection on this device - IsDeviceActivationCacheEnabled bool `json:"isDeviceActivationCacheEnabled,omitempty"` - // KidsMode: Specifies if kids-mode is enabled for the device. See - // go/aff-parentalsupervision-dd. - KidsMode *AssistantApiSettingsKidsMode `json:"kidsMode,omitempty"` - // LastCastRegistrationTimestamp: Device's latest registration timestamp - // provided by Cast side. This field is not necessarily up to date. The update - // frequency is defined in last_registration_update_frequency_in_days field of - // AssistantConfig in - // java/com/google/chrome/dongle/common/proto/home_assistant_config.proto. - // go/cast-last-registration-time - LastCastRegistrationTimestamp string `json:"lastCastRegistrationTimestamp,omitempty"` - // LastUsedCoarseTimestamp: Coarsened hourly timestamp of when the device was - // last used. - LastUsedCoarseTimestamp string `json:"lastUsedCoarseTimestamp,omitempty"` - // LinkedDeviceId: Stores pairing between different devices. See - // go/quartz-design-doc for more info. - LinkedDeviceId []*AssistantApiCoreTypesDeviceId `json:"linkedDeviceId,omitempty"` - // LinkedUsers: Please do NOT use this field without prior approval from PWG. - // Users who have signed in onto this device, go/linked-users-in-pkg. - LinkedUsers []*AssistantApiSettingsLinkedUser `json:"linkedUsers,omitempty"` - // Locale: The locale for the device: language + region, i.e., en-US, ja-JP. - Locale string `json:"locale,omitempty"` - // LocationCoordinates: Coordinate information of the device location. - LocationCoordinates *AssistantApiCoreTypesLocationCoordinates `json:"locationCoordinates,omitempty"` - // LocationFeature: The feature proto of the location of the device. Note: - // client does not need to populate this. It will be auto-populated based on - // "address" field on server side. Currently, only "bound" and "type" are - // persisted, since the entire FeatureProto is too big. - LocationFeature *GeostoreFeatureProto `json:"locationFeature,omitempty"` - // MarketplaceDisclosure: See go/marketplace-disclosure for more info. - MarketplaceDisclosure *AssistantApiSettingsMarketplaceDisclosure `json:"marketplaceDisclosure,omitempty"` - MasqueradeMode *AssistantApiSettingsMasqueradeMode `json:"masqueradeMode,omitempty"` - // NotificationProfile: Information about how to send the user a notification. - // This won't be populated for fb-conv users (allo group chat users). - NotificationProfile *AssistantApiSettingsNotificationProfile `json:"notificationProfile,omitempty"` - // OauthClientId: OAuth client id for the device. This field is available for - // Assistant SDK devices. It is written when the device is registered to the - // user (AssistantSettingsUiService.LinkAssistantDeviceUi). When user revokes - // grant on the Assistant device, Assistant Devices Platform Service will - // receive Pubsub notification with OAuth client id for the revoked device, and - // we will compare that with this stored id to identity device to remove. - OauthClientId string `json:"oauthClientId,omitempty"` - // OnDeviceAppSettings: Device specific app related settings. - OnDeviceAppSettings *AssistantApiSettingsOnDeviceAppSettings `json:"onDeviceAppSettings,omitempty"` - // OptInStatus: Specifies if device logs and crashes can be captured during - // SendFeedback - OptInStatus *AssistantApiSettingsDeviceLogsOptIn `json:"optInStatus,omitempty"` - // PaymentsEnabled: DEPRECATED: Use - // DeviceCapabilities.OutputRestrictions.personal_data instead. Whether the - // user has enabled payments for this device. - PaymentsEnabled bool `json:"paymentsEnabled,omitempty"` - // PersonalizationMetadata: Metadata about how personalization settings were - // configured. - PersonalizationMetadata *AssistantApiSettingsPersonalizationMetadata `json:"personalizationMetadata,omitempty"` - // PoliteMode: Specify whether polite mode is enabled for this device. See - // go/pretty-please-dd. - PoliteMode *AssistantApiSettingsPoliteMode `json:"politeMode,omitempty"` - PostalCode string `json:"postalCode,omitempty"` - // ReauthTrustedDeviceSettings: Trusted device preferences Assistant reauth. - // go/assistant-reauth-verify-skip. - ReauthTrustedDeviceSettings *AssistantApiSettingsReauthTrustedDeviceSettings `json:"reauthTrustedDeviceSettings,omitempty"` - // ShortenedAddress: A human-readable shortened address. This is usually the - // street address. Note: client does not need to populate this. It will be - // auto-populated based on "address" field on server side. Developers can use - // this field to avoid reading out the full address everytime. - ShortenedAddress string `json:"shortenedAddress,omitempty"` - // SpeakerIdEnabled: Indicates whether the user has enabled speaker-id for this - // device. See go/google-assistant-multi-user for more info on this project. - SpeakerIdEnabled bool `json:"speakerIdEnabled,omitempty"` - // SpeechOutputSettings: Settings related to TTS output. - SpeechOutputSettings *AssistantApiSettingsSpeechOutputSettings `json:"speechOutputSettings,omitempty"` - // SpeechSettings: Speech/hotword detection related settings. - SpeechSettings *AssistantApiSettingsSpeechSettings `json:"speechSettings,omitempty"` - // SupervisionSettings: Restrictions on how and when certain users can use a - // device. See go/home-ft-prd. - SupervisionSettings *AssistantApiSettingsDeviceSupervisionSettings `json:"supervisionSettings,omitempty"` - // SurfaceType: The type of assistant surface. Only use this field when device - // type is ASSISTANT. - SurfaceType *AssistantApiCoreTypesSurfaceType `json:"surfaceType,omitempty"` - // TetheredInfo: Presence indicates a tethered wearable. - // go/wearable-device-ids. - TetheredInfo *AssistantApiSettingsTetheredInfo `json:"tetheredInfo,omitempty"` - // TimeZone: Device time zone. It's mainly used for a one-time notification for - // new users when they just bought and activated their devices. They may not - // have used Search or Assistant before, so their timezone info may not - // available elsewhere when we want to send a notification. This should be used - // as a fallback only when other timezone sources such as - // assistant_settings:user_attribute#inferred_user_timezone are not available. - // Also, when both |time_zone| and |location| are set, the |location| should be - // preferred to derive the most up to date timezone. This info directly comes - // from the device through early device setting recording mechanism. See more - // details at go/early-device-setting-recording. - TimeZone *AssistantApiTimeZone `json:"timeZone,omitempty"` - // TruncatedLocalNetworkId: Local network ID of the device (truncated to - // obfuscate devices and households globally). This is a temporary signal to - // determine proximity of Assistant devices in a house (HGS place). - TruncatedLocalNetworkId string `json:"truncatedLocalNetworkId,omitempty"` - // Type: The type of the device. Note: this should only be used for grouping - // devices for UI presentation purpose. Use |capabilities| to decide what the - // device can do. - // - // Possible values: - // "UNKNOWN_DEVICE_TYPE" - // "ASSISTANT" - // "HOME_AUTOMATION" - // "CAST" - // "CAST_GROUP" - // "QUARTZ" - Quartz in AGSA - // "QUARTZ_IOS" - Quartz in iOPA - // "CLOUD_AUTO" - Non-assistant Auto devices from Cloud. - Type string `json:"type,omitempty"` - // VerboseTtsForChromecastEnabled: Indicates whether to play verbose tts for - // Elementary on chirp. See: go/opa-cast-a11y-impl-design fore more info on - // this project. Note: this should probably be in SpeechOutputSetting below. - VerboseTtsForChromecastEnabled bool `json:"verboseTtsForChromecastEnabled,omitempty"` - // VmLastUsedCoarseTimestamp: Coarsened hourly timestamp of when the user was - // last verified by VoiceMatch on this device. This is used for enforcing - // VoiceMatch model TTL. go/voicematch-pdd-ttl - VmLastUsedCoarseTimestamp string `json:"vmLastUsedCoarseTimestamp,omitempty"` - // VoiceEnrollmentStatus: Indicates whether the user's voice has been - // successfully enrolled on this device. - // - // Possible values: - // "VOICE_ENROLLMENT_UNKNOWN_STATUS" - User has no utterances and no speaker - // id model. - // "VOICE_ENROLLMENT_SUCCESS" - User has speaker id model. - // "VOICE_ENROLLMENT_FAILURE" - User has utterances but no speaker id model - // (for ex. hotword was not detected in utterances). - // "VOICE_ENROLLMENT_PENDING" - Speaker id model generation is in-progress. - VoiceEnrollmentStatus string `json:"voiceEnrollmentStatus,omitempty"` - // VoiceInputEnabled: A boolean indicates whether voice input (mic-button, - // hotword, etc) is enabled. - VoiceInputEnabled bool `json:"voiceInputEnabled,omitempty"` - // ForceSendFields is a list of field names (e.g. "AckStatus") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AckStatus") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsDeviceSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsDeviceSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsDeviceSettingsCrossSurfaceAvailability struct { - // LastKnownClientLocale: Last known locale of the client. - LastKnownClientLocale string `json:"lastKnownClientLocale,omitempty"` - // LastParamsWriteTimestamp: This is the timestamp when the - // AssistantRequestParams (in ASSISTANT_SNAPSHOT corpus) were last written for - // this device. - LastParamsWriteTimestamp string `json:"lastParamsWriteTimestamp,omitempty"` - // ForceSendFields is a list of field names (e.g. "LastKnownClientLocale") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LastKnownClientLocale") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsDeviceSettingsCrossSurfaceAvailability) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsDeviceSettingsCrossSurfaceAvailability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsDeviceSupervisionSettings struct { - // DowntimeSettings: Specification of times that a device shouldn't respond to - // certain users. See go/home-ft-prd. - DowntimeSettings *AssistantApiSettingsDeviceDowntimeSettings `json:"downtimeSettings,omitempty"` - // FeatureFilters: Restrictions on features that certain users can access on a - // device. See go/home-ft-prd. - FeatureFilters *AssistantApiSettingsDeviceFeatureFilters `json:"featureFilters,omitempty"` - // ForceSendFields is a list of field names (e.g. "DowntimeSettings") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DowntimeSettings") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsDeviceSupervisionSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsDeviceSupervisionSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsDowntimePeriod: Specifies a period of up to 24 hours -// when downtime should be enabled, starting at certain time on a certain day -// of the week, and ending at a later time on either that day or the following -// day. -type AssistantApiSettingsDowntimePeriod struct { - // Enabled: True if downtime should be enabled during this period. - Enabled bool `json:"enabled,omitempty"` - // EndTime: Time of day that this downtime period should end. Required. If - // end_time > start_time, end_time is relative to start_day. Otherwise, - // end_time is relative to the day after start_day. For example, start_day: - // MONDAY, start_time: 9 p.m., end_time: 6 a.m. means that the downtime period - // starts at 9 p.m. on Monday and ends at 6 a.m. on Tuesday. - EndTime *GoogleTypeTimeOfDay `json:"endTime,omitempty"` - // StartDay: The day of the week when this downtime period starts. Required. - // - // Possible values: - // "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified. - // "MONDAY" - Monday - // "TUESDAY" - Tuesday - // "WEDNESDAY" - Wednesday - // "THURSDAY" - Thursday - // "FRIDAY" - Friday - // "SATURDAY" - Saturday - // "SUNDAY" - Sunday - StartDay string `json:"startDay,omitempty"` - // StartTime: Time of day that this downtime period should start. Required. - StartTime *GoogleTypeTimeOfDay `json:"startTime,omitempty"` - // ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Enabled") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsDowntimePeriod) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsDowntimePeriod - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsDowntimeSchedule: Specification of when downtime is -// enabled on different days of the week. Contains up to 7 DowntimePeriod -// messages, up to one per day of the week. -type AssistantApiSettingsDowntimeSchedule struct { - // Enabled: True if this downtime schedule should be enabled. - Enabled bool `json:"enabled,omitempty"` - // Periods: Downtime entries for the days of the week, in no particular order. - // There can be at most one period defined for each day of the week. Days of - // the week with no explicit period defined are treated as disabled, so the - // device is available all day (modulo an end time that may spill over from the - // previous day). - Periods []*AssistantApiSettingsDowntimePeriod `json:"periods,omitempty"` - // ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Enabled") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsDowntimeSchedule) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsDowntimeSchedule - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsDuoCallDeviceSettings: Duo related call settings on the -// device. Next ID: 5 -type AssistantApiSettingsDuoCallDeviceSettings struct { - // AllowKnockKnock: True if Duo Knock Kncok feature is enabled on the device. - AllowKnockKnock bool `json:"allowKnockKnock,omitempty"` - // ShouldBeLinked: Boolean indicating if user has explicitly marked this device - // to be linked or not. This bit is used in case where unexpected errors occur - // and we have to check for account/device status and mark the device linked - // after verification. - ShouldBeLinked bool `json:"shouldBeLinked,omitempty"` - // State: The call state of the device (i.e. whether a Duo call account has - // been setup on the device). - // - // Possible values: - // "UNKNOWN_LINK_STATE" - // "NOT_LINKED" - The user chose not to link the app. - // "LINKED" - The user completed linking the app. - // "LINKED_WAITING" - The user chose to link the app, but the linking has not - // completed yet. - // "LINK_ERROR" - There was some error in link state and link state should be - // refreshed by querying tachyon backend. But this does not guarantee that - // state will be linked after this request. - State string `json:"state,omitempty"` - // TalkbackEnabled: Client device settings: settings which are populated by - // client to give to duocore. TalkBack is an accessibility service that helps - // blind and vision-impaired users interact with their devices. Indicates - // whether talkback is enabled for the device. Note: this is per device - // settings currently filled by client for all users. - TalkbackEnabled bool `json:"talkbackEnabled,omitempty"` - // ForceSendFields is a list of field names (e.g. "AllowKnockKnock") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AllowKnockKnock") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsDuoCallDeviceSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsDuoCallDeviceSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsFeatureFilters: Specification of which assistant -// features are allowed for a particular device or user account. -type AssistantApiSettingsFeatureFilters struct { - CommunicationsFilter *AssistantApiSettingsCommunicationsFilter `json:"communicationsFilter,omitempty"` - MusicFilter *AssistantApiSettingsMusicFilter `json:"musicFilter,omitempty"` - NewsFilter *AssistantApiSettingsNewsFilter `json:"newsFilter,omitempty"` - PodcastFilter *AssistantApiSettingsPodcastFilter `json:"podcastFilter,omitempty"` - SearchFilter *AssistantApiSettingsSearchFilter `json:"searchFilter,omitempty"` - ThirdPartyAppsFilter *AssistantApiSettingsThirdPartyAppsFilter `json:"thirdPartyAppsFilter,omitempty"` - VideoFilter *AssistantApiSettingsVideoFilter `json:"videoFilter,omitempty"` - WebviewFilter *AssistantApiSettingsWebviewFilter `json:"webviewFilter,omitempty"` - // ForceSendFields is a list of field names (e.g. "CommunicationsFilter") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CommunicationsFilter") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsFeatureFilters) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsFeatureFilters - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsGcmSettings struct { - GcmId string `json:"gcmId,omitempty"` - GcmPackage string `json:"gcmPackage,omitempty"` - // ForceSendFields is a list of field names (e.g. "GcmId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GcmId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsGcmSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsGcmSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsHomeGraphData: Next ID: 8 -type AssistantApiSettingsHomeGraphData struct { - // AgentId: Agent ID, aka project ID. Used as the AgentDeviceId.agent_id of - // device when calling Home Graph Service. - AgentId string `json:"agentId,omitempty"` - // Attributes: See go/ha-dev-guide and HomeGraphItem.attribute in - // //assistant/verticals/homeautomation/proto/home_graph.proto - Attributes googleapi.RawMessage `json:"attributes,omitempty"` - // DeviceId: Device ID, used as AgentDeviceId.device_id of device when calling - // Home Graph Service. - DeviceId string `json:"deviceId,omitempty"` - // DeviceType: HGS device type. See - // java/com/google/home/graph/service/config/protoconf.pi for the exhaustive - // list of type strings. - DeviceType string `json:"deviceType,omitempty"` - // ShouldWriteToHomeGraph: Whether device data should be written to Home Graph - // via Assistant device_settings. Assistant SDK and Google Home write their - // devices into Home Graph through AssistantSettingsService, while Home - // Automation Partner devices (e.g. SmartThings, Philips Hue, Nest, TP-Link, - // etc.) don't need to be written to Home Graph through - // AssistantSettingsService. This field decides whether - // AssistantSettingsService writes devices to Home Graph or not. - ShouldWriteToHomeGraph bool `json:"shouldWriteToHomeGraph,omitempty"` - // SupportedTraits: Supported traits of the device. See - // java/com/google/home/graph/service/config/protoconf.pi for the exhaustive - // list of trait-strings. - SupportedTraits []string `json:"supportedTraits,omitempty"` - // SupportsDirectResponse: Whether the device supports direct response. See - // HomeGraphItem.supports_direct_response in - // //assistant/verticals/homeautomation/proto/home_graph.proto - SupportsDirectResponse bool `json:"supportsDirectResponse,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgentId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgentId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsHomeGraphData) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsHomeGraphData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsHospitalityCardSettings struct { - // CardConfig: Config for Hospitality UI modules. - CardConfig []*AssistantApiSettingsHospitalityCardSettingsCardConfig `json:"cardConfig,omitempty"` - // ShowMediaTapGestureTutorial: Toggle media tap gesture tutorial card. - ShowMediaTapGestureTutorial bool `json:"showMediaTapGestureTutorial,omitempty"` - // ShowPhotoSwipeGestureTutorial: Toggle photo swipe gesture tutorial card. - ShowPhotoSwipeGestureTutorial bool `json:"showPhotoSwipeGestureTutorial,omitempty"` - // YoutubeCardConfig: Config for YouTube video cards. - YoutubeCardConfig []*AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfig `json:"youtubeCardConfig,omitempty"` - // ForceSendFields is a list of field names (e.g. "CardConfig") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CardConfig") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsHospitalityCardSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsHospitalityCardSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsHospitalityCardSettingsCardConfig: Configuration for -// hospitality card. -type AssistantApiSettingsHospitalityCardSettingsCardConfig struct { - // ActiveActionRequired: Whether the UI module requires user action. If true, - // the UI module can peek on to the top of Ambient. See - // SmartDisplayModuleState::ACTIVE_ACTION_REQUIRED. - ActiveActionRequired bool `json:"activeActionRequired,omitempty"` - // Dismissable: Whether the UI module is dismissable. - Dismissable bool `json:"dismissable,omitempty"` - // EffectiveTime: The time that the module is effective and visible to the - // user. If not set, the module is effective immediately. - EffectiveTime *AssistantApiTimestamp `json:"effectiveTime,omitempty"` - // ExpiryTime: The time that the module is expired and invisible to the user. - // If not set, the module never expires. - ExpiryTime *AssistantApiTimestamp `json:"expiryTime,omitempty"` - // ImageUrl: The image URL for the UI module. - ImageUrl string `json:"imageUrl,omitempty"` - // ModuleId: Module ID. - // - // Possible values: - // "UNKNOWN" - // "MID_STAY_SURVEY" - // "CHECK_OUT" - // "CHECK_IN" - // "RESET" - ModuleId string `json:"moduleId,omitempty"` - // PayloadQuery: Payload query to the partner AoG action when user responds to - // UI Module, e.g. “Tell the hotel how my stay is going”. - PayloadQuery string `json:"payloadQuery,omitempty"` - // Title: Title of the message to be shown to user at the top of the UI Module. - Title string `json:"title,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActiveActionRequired") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ActiveActionRequired") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsHospitalityCardSettingsCardConfig) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsHospitalityCardSettingsCardConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfig: Configuration -// for YouTube video card (Stargazer tile). -type AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfig struct { - // ImageUrl: URL of image to go on card. The URL must be a public link - // accessible from ZeroState. - ImageUrl string `json:"imageUrl,omitempty"` - // PlaylistId: ID of YouTube playlist to play on card tap. A playlist is used - // instead of a single video id to avoid autoplaying related videos. The - // playlist and the videos it contains must be public or unlisted to be - // accessible from ZeroState. - PlaylistId string `json:"playlistId,omitempty"` - // Text: Text on card (i.e., video title). - Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "ImageUrl") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ImageUrl") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfig) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsHospitalityCardSettingsYouTubeCardConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsHospitalityMode: Hospitality mode config for the current -// device. go/hospitality-mode-design. Next ID: 17 -type AssistantApiSettingsHospitalityMode struct { - // AogContextId: List of AOG app context ids that are linked to this device. - // These apps will have access to the structure information for the device. - AogContextId []string `json:"aogContextId,omitempty"` - // AogInvocationPhrase: Invocation phrase for hotel's AoG action. Used for ZS - // promotion card and "talk to my hotel" rewrites. Setting this to an empty - // value will mark it unset. - AogInvocationPhrase string `json:"aogInvocationPhrase,omitempty"` - Branding *AssistantApiSettingsHospitalityModeBranding `json:"branding,omitempty"` - CardSettings *AssistantApiSettingsHospitalityCardSettings `json:"cardSettings,omitempty"` - // DeviceClearRequest: The time when we received a request to reset the device. - DeviceClearRequest *AssistantApiTimestamp `json:"deviceClearRequest,omitempty"` - // DialogTtlOverrideMicros: Should the dialog have a shorter ttl. See - // go/ipp-consumer-prd#heading=h.ibu9b1ysdl4t and - // go/interpreter-device-clear#bookmark=id.hw8ey1bzjadn for context. - DialogTtlOverrideMicros int64 `json:"dialogTtlOverrideMicros,omitempty,string"` - // EnterpriseId: Identifier for the enterprise which owns the device. Setting - // this to an empty value will mark it unset. - EnterpriseId string `json:"enterpriseId,omitempty"` - // HospitalityModeEnabled: Indicates whether this device is in the hospitality - // mode. - HospitalityModeEnabled bool `json:"hospitalityModeEnabled,omitempty"` - // LastDeviceClear: Last time the device was cleared and placed in hospitality - // mode. Will be set when the switch is toggled on and reset when a guest - // checks out. On the device this triggers removing alarms, timers, etc. - LastDeviceClear *AssistantApiTimestamp `json:"lastDeviceClear,omitempty"` - // LastModifiedTimestamp: Indicates when hospitality settings were last - // updated. - LastModifiedTimestamp *AssistantApiTimestamp `json:"lastModifiedTimestamp,omitempty"` - // LastWelcomed: Last time the welcome message was played for the guest. If - // last_welcomed < welcome_request, the message should be replayed and this - // time set. - LastWelcomed *AssistantApiTimestamp `json:"lastWelcomed,omitempty"` - // ManualResetRequired: Indicates whether or not the device must be reset - // manually (by voice or touch), as opposed to being automatically reset. - // go/hospitality-manual-reset - ManualResetRequired bool `json:"manualResetRequired,omitempty"` - // PromotedLanguages: In order promoted languages for interpreter devices. This - // represents languages by BCP-47 language strings, such as "en", "en-US", - // "fr", "fr-CA", "sr-Latn", "zh-Hans-CN", "zh-Hant-HK",etc. - PromotedLanguages []string `json:"promotedLanguages,omitempty"` - // Possible values: - // "UNKNOWN_TYPE" - // "HOTEL_ROOM" - // "INTERPRETER" - go/hospitality-interpreter-mode - // "SENIOR_LIVING_ROOM" - go/merrill-prd - // "RETAIL_DEMO" - go/assistant-retail-demo - Type string `json:"type,omitempty"` - // VerbalResetSupported: Whether we allow users to initiate clearing the device - // verbally. We generally allow this for private devices and not for public - // ones. - VerbalResetSupported bool `json:"verbalResetSupported,omitempty"` - // WelcomeRequest: The time when we received a request to welcome the user. - WelcomeRequest *AssistantApiTimestamp `json:"welcomeRequest,omitempty"` - // ForceSendFields is a list of field names (e.g. "AogContextId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AogContextId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsHospitalityMode) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsHospitalityMode - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsHospitalityModeBranding: TODO(b/169423976) Consider -// moving Branding out of user level settings into enterprise level settings. -// Partner branding fields used to customize the ui. Next ID: 7 -type AssistantApiSettingsHospitalityModeBranding struct { - // DisplayName: Brand display in the UI - DisplayName string `json:"displayName,omitempty"` - // DisplayNameForLanguage: Brand display in the UI for languages that the - // enterprise has a localized name that is different from its global branding - // name. For example, Hilton is 'ヒルトン' in Japanese and '希爾頓' in - // Chinese. The keys are hospitality supported display locales, e.g. en, ja-JP, - // etc, defined in experiment parameter - // Hospitality__hospitality_display_supported_locales. - DisplayNameForLanguage map[string]string `json:"displayNameForLanguage,omitempty"` - LargeLogoUrl string `json:"largeLogoUrl,omitempty"` - SmallLogoUrl string `json:"smallLogoUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsHospitalityModeBranding) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsHospitalityModeBranding - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsHotwordThresholdAdjustmentFactor: -// HotwordThresholdAdjustmentFactor contains threshold_adjustment_factor, and -// it's validity. value should only be considered when is_valid = true. -type AssistantApiSettingsHotwordThresholdAdjustmentFactor struct { - // IsValid: Currently, is_valid is set to false whenever the TAF is not an - // Autotune aware value. This includes hotword sensitivity users, or devices - // not eligible for autotune. - IsValid bool `json:"isValid,omitempty"` - Value int64 `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsValid") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsValid") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsHotwordThresholdAdjustmentFactor) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsHotwordThresholdAdjustmentFactor - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsInternalAncillaryDeviceId: Represents supporting device -// ids. -type AssistantApiSettingsInternalAncillaryDeviceId struct { - // DeviceId: Contains device ids known to devices. eg. For ATV, it contains - // client_instance_id and cast_id. - DeviceId *AssistantApiCoreTypesDeviceId `json:"deviceId,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsInternalAncillaryDeviceId) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsInternalAncillaryDeviceId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsInternalVersion: Represents a version of a specifit -// setting, e.g. DeviceSettings. -type AssistantApiSettingsInternalVersion struct { - // GenerationTime: Contains the timestamp when this version was generated. - GenerationTime string `json:"generationTime,omitempty"` - // Id: Integer value of the version, it is a monotonically increasing number - // and starts at 0. On every update it is incremented by 1. - Id int64 `json:"id,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "GenerationTime") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GenerationTime") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsInternalVersion) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsInternalVersion - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsKidsMode: Kids mode config for the current device. -// go/aff-parentalsupervision-dd -type AssistantApiSettingsKidsMode struct { - KidsModeEnabled bool `json:"kidsModeEnabled,omitempty"` - // ObfuscatedGaiaId: Identifier of the account currently specified to be used - // with kids mode. - ObfuscatedGaiaId string `json:"obfuscatedGaiaId,omitempty"` - // ForceSendFields is a list of field names (e.g. "KidsModeEnabled") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "KidsModeEnabled") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsKidsMode) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsKidsMode - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsLabeledDowntimeSchedule struct { - // DisplayName: User-provided name for this schedule. - DisplayName string `json:"displayName,omitempty"` - Schedule *AssistantApiSettingsDowntimeSchedule `json:"schedule,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsLabeledDowntimeSchedule) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsLabeledDowntimeSchedule - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsLinkedUser: Represents the profile of the user who has -// signed in onto this device. Next id: 5 -type AssistantApiSettingsLinkedUser struct { - // CastLinkingTime: Time of linking of the device with the user provided by - // Cast. - CastLinkingTime string `json:"castLinkingTime,omitempty"` - // Email: Primary email address of the user. - Email string `json:"email,omitempty"` - GaiaId int64 `json:"gaiaId,omitempty,string"` - // Names: Supports features which depend on profile name, when no matching - // contact is found. - Names []*AppsPeopleOzExternalMergedpeopleapiName `json:"names,omitempty"` - // ForceSendFields is a list of field names (e.g. "CastLinkingTime") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CastLinkingTime") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsLinkedUser) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsLinkedUser - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsMarketplaceDisclosure struct { - // Confirmed: True if the user has confirmed the marketplace disclosure. - Confirmed bool `json:"confirmed,omitempty"` - // TimestampMs: The time user confirmed the marketplace disclosure. - TimestampMs int64 `json:"timestampMs,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Confirmed") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Confirmed") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsMarketplaceDisclosure) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsMarketplaceDisclosure - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsMasqueradeMode: Guest mode for the current device. -// go/assistant-guest-mode-summary -type AssistantApiSettingsMasqueradeMode struct { - LastEnterGuestModeTimestamp *AssistantApiTimestamp `json:"lastEnterGuestModeTimestamp,omitempty"` - LastExitGuestModeTimestamp *AssistantApiTimestamp `json:"lastExitGuestModeTimestamp,omitempty"` - MasqueradeModeEnabled bool `json:"masqueradeModeEnabled,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "LastEnterGuestModeTimestamp") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LastEnterGuestModeTimestamp") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsMasqueradeMode) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsMasqueradeMode - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsMusicFilter: Specification of which music features can -// be used. -type AssistantApiSettingsMusicFilter struct { - // AvailableProviders: Providers available at the time user updated settings. - // - // Possible values: - // "UNKNOWN_MUSIC_PROVIDER" - // "YOUTUBE_MUSIC" - // "GOOGLE_PLAY_MUSIC" - // "SPOTIFY" - // "APPLE_MUSIC" - // "PANDORA" - AvailableProviders []string `json:"availableProviders,omitempty"` - // ProviderFilterState: Represents the state for the music provider filter. - // - // Possible values: - // "UNKNOWN_STATE" - // "ALLOW_ALL_PROVIDERS" - With this state, all music providers are allowed. - // "ALLOW_WHITELISTED_PROVIDERS" - This limits the allowed providers to the - // whitelisted ones. This means that we can block all providers if the - // whitelist is empty. - ProviderFilterState string `json:"providerFilterState,omitempty"` - // Possible values: - // "UNKNOWN_STATE" - // "ALLOW_ALL" - Allow all music. - // "BLOCK_EXPLICIT" - Block music with explicit lyrics. - // "BLOCK_ALL" - Block all music. - State string `json:"state,omitempty"` - // WhitelistedProviders: Contains the list of whitelisted music providers. - // - // Possible values: - // "UNKNOWN_MUSIC_PROVIDER" - // "YOUTUBE_MUSIC" - // "GOOGLE_PLAY_MUSIC" - // "SPOTIFY" - // "APPLE_MUSIC" - // "PANDORA" - WhitelistedProviders []string `json:"whitelistedProviders,omitempty"` - // ForceSendFields is a list of field names (e.g. "AvailableProviders") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AvailableProviders") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsMusicFilter) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsMusicFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsNewsFilter: Specification of which news features can be -// used. -type AssistantApiSettingsNewsFilter struct { - // Possible values: - // "UNKNOWN_STATE" - // "ALLOW_ALL_NEWS" - Allow all news. - // "BLOCK_ALL_NEWS" - Block all news. - State string `json:"state,omitempty"` - // ForceSendFields is a list of field names (e.g. "State") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "State") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsNewsFilter) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsNewsFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsNotificationProfile struct { - // AlloNotificationProfile: Each device can have only one type of notification - // profile. - AlloNotificationProfile *AssistantApiSettingsNotificationProfileAlloNotificationProfile `json:"alloNotificationProfile,omitempty"` - // ForceSendFields is a list of field names (e.g. "AlloNotificationProfile") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AlloNotificationProfile") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsNotificationProfile) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsNotificationProfile - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsNotificationProfileAlloNotificationProfile struct { - // BotSendToken: The send token of the conversation with the user. - BotSendToken *ChatBotPlatformBotSendToken `json:"botSendToken,omitempty"` - // Id: The fireball id of this user. - Id *ChatBotPlatformFireballId `json:"id,omitempty"` - // ForceSendFields is a list of field names (e.g. "BotSendToken") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BotSendToken") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsNotificationProfileAlloNotificationProfile) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsNotificationProfileAlloNotificationProfile - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsOnDeviceAppSettings struct { - // CarrierCallDeviceSettings: On device carrier call related settings. - CarrierCallDeviceSettings *AssistantApiSettingsCarrierCallDeviceSettings `json:"carrierCallDeviceSettings,omitempty"` - // DuoCallDeviceSettings: On device duo call related settings. - DuoCallDeviceSettings *AssistantApiSettingsDuoCallDeviceSettings `json:"duoCallDeviceSettings,omitempty"` - // ForceSendFields is a list of field names (e.g. "CarrierCallDeviceSettings") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CarrierCallDeviceSettings") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsOnDeviceAppSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsOnDeviceAppSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsPersonalizationMetadata struct { - // Possible values: - // "PERSONALIZATION_FLOW_UNKNOWN" - // "PERSONALIZATION_FLOW_DEVICE" - // "PERSONALIZATION_FLOW_TWOOBE" - TWOOBE: go/twoobe-prd - // "PERSONALIZATION_FLOW_SLA" - SLA: go/sla-prd - // "PERSONALIZATION_FLOW_DEVICE_DELEGATED_CUSTODIO" - Custodio: - // go/assistant-pc-prd - FaceMatch string `json:"faceMatch,omitempty"` - // Possible values: - // "PERSONALIZATION_FLOW_UNKNOWN" - // "PERSONALIZATION_FLOW_DEVICE" - // "PERSONALIZATION_FLOW_TWOOBE" - TWOOBE: go/twoobe-prd - // "PERSONALIZATION_FLOW_SLA" - SLA: go/sla-prd - // "PERSONALIZATION_FLOW_DEVICE_DELEGATED_CUSTODIO" - Custodio: - // go/assistant-pc-prd - PersonalResults string `json:"personalResults,omitempty"` - // Possible values: - // "PERSONALIZATION_FLOW_UNKNOWN" - // "PERSONALIZATION_FLOW_DEVICE" - // "PERSONALIZATION_FLOW_TWOOBE" - TWOOBE: go/twoobe-prd - // "PERSONALIZATION_FLOW_SLA" - SLA: go/sla-prd - // "PERSONALIZATION_FLOW_DEVICE_DELEGATED_CUSTODIO" - Custodio: - // go/assistant-pc-prd - VoiceMatch string `json:"voiceMatch,omitempty"` - // ForceSendFields is a list of field names (e.g. "FaceMatch") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FaceMatch") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsPersonalizationMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsPersonalizationMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsPodcastFilter: Specification of which podcast features -// can be used. -type AssistantApiSettingsPodcastFilter struct { - // Possible values: - // "UNKNOWN_STATE" - // "ALLOW_ALL_PODCASTS" - Allow all podcasts. - // "BLOCK_ALL_PODCASTS" - Block all podcasts. - // "BLOCK_EXPLICIT_PODCASTS" - Block explicit podcasts. - State string `json:"state,omitempty"` - // ForceSendFields is a list of field names (e.g. "State") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "State") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsPodcastFilter) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsPodcastFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsPoliteMode: Polite mode config for the current device. -// go/polite-mode-dd -type AssistantApiSettingsPoliteMode struct { - PoliteModeEnabled bool `json:"politeModeEnabled,omitempty"` - // ForceSendFields is a list of field names (e.g. "PoliteModeEnabled") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PoliteModeEnabled") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsPoliteMode) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsPoliteMode - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsReauthTrustedDeviceSettings: Settings related to -// Assistant reauth. go/assistant-reauth-verify-skip Next id: 2 -type AssistantApiSettingsReauthTrustedDeviceSettings struct { - // TrustSettingsForClient: Mapping from integrator client id to device's trust - // settings. Id from - // assistant/agent_platform/transactions/reauth/reauth_client.proto. - TrustSettingsForClient map[string]AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettings `json:"trustSettingsForClient,omitempty"` - // ForceSendFields is a list of field names (e.g. "TrustSettingsForClient") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "TrustSettingsForClient") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsReauthTrustedDeviceSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsReauthTrustedDeviceSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettings: Next id: 6 -type AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettings struct { - // NeverAskAgain: If true, don't ask user to trust this device again. - NeverAskAgain bool `json:"neverAskAgain,omitempty"` - // NeverAskExpirationTimestamp: DEPRECATED: Use never_ask_again instead. - // Expiration timestamp of "never ask again" status. If this field is set and - // is later than current timestamp, we should NOT ask the user whether they'd - // like to trust this device. - NeverAskExpirationTimestamp string `json:"neverAskExpirationTimestamp,omitempty"` - // TrustDeviceExpirationTimestamp: Expiration timestamp of "trusted" status. If - // this field is set and is later than current timestamp, we can consider this - // device to be trusted. - TrustDeviceExpirationTimestamp string `json:"trustDeviceExpirationTimestamp,omitempty"` - // ForceSendFields is a list of field names (e.g. "NeverAskAgain") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NeverAskAgain") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsReauthTrustedDeviceSettingsTrustSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsSearchFilter: Specification of which search features can -// be used. -type AssistantApiSettingsSearchFilter struct { - // Possible values: - // "UNKNOWN_STATE" - // "ALLOW_SAFE_SEARCH" - Allow only safe search for the Assistant. - // "BLOCK_SEARCH" - Block (almost) all search features. Some "safe" features - // that users wouldn't consider search (like calculator) are still allowed in - // this mode. - State string `json:"state,omitempty"` - // ForceSendFields is a list of field names (e.g. "State") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "State") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsSearchFilter) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsSearchFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsSpeechOutputSettings: Settings related to TTS output. -type AssistantApiSettingsSpeechOutputSettings struct { - // Possible values: - // "UNSPECIFIED" - // "VERBOSE" - Provide speech output most of the time. - // "MIN_VERBOSITY" - Optimize where to provide speech output. - // "HANDS_FREE_ONLY" - Provide speech output only in hands-free mode. No TTS - // will be provided otherwise. - SpeechOutput string `json:"speechOutput,omitempty"` - // ForceSendFields is a list of field names (e.g. "SpeechOutput") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SpeechOutput") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsSpeechOutputSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsSpeechOutputSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsSpeechSettings: Settings related to speech detection. -// See go/hotword-settings-on-cloud for more info. Next ID: 16 -type AssistantApiSettingsSpeechSettings struct { - // ContinuedConversationEnabled: Indicates whether Continued Conversation is - // enabled for this device. - ContinuedConversationEnabled bool `json:"continuedConversationEnabled,omitempty"` - // DeviceModelType: Stores the device model type e.g Pixel. - DeviceModelType string `json:"deviceModelType,omitempty"` - // DspAvailable: Whether the device has DSP chip to enable always on hotword - // detection. - DspAvailable bool `json:"dspAvailable,omitempty"` - // HotwordInNavigationEnabled: Whether hotword has been enabled by the user - // during navigation. - // - // Possible values: - // "UNAVAILABLE" - Setting is unavailable to the user. - // "ENABLED" - Setting is available and enabled by the user. - // "DISABLED" - Setting is available but disabled by the user. - // "UNDECIDED" - Setting is available, but user never touched this setting. - // "OPA_DISABLED" - Setting is disabled because Opa is disabled by user. - // "UNSUPPORTED_LOCALE" - Setting is unavailable because the locale is - // unsupported. Deprecated, use voice_match_available - // "INCOMPLETE" - Setting is incomplete, see go/hotword-incomplete-state - // "ENABLED_WITHOUT_OPA_AVAILABILITY" - Setting is enabled by user without - // opa availability. go/no-opa-yes-vm - HotwordInNavigationEnabled string `json:"hotwordInNavigationEnabled,omitempty"` - // HotwordSetting: Stores hotword setting status for the locales which don't - // support voice match. - // - // Possible values: - // "UNAVAILABLE" - Setting is unavailable to the user. - // "ENABLED" - Setting is available and enabled by the user. - // "DISABLED" - Setting is available but disabled by the user. - // "UNDECIDED" - Setting is available, but user never touched this setting. - // "OPA_DISABLED" - Setting is disabled because Opa is disabled by user. - // "UNSUPPORTED_LOCALE" - Setting is unavailable because the locale is - // unsupported. Deprecated, use voice_match_available - // "INCOMPLETE" - Setting is incomplete, see go/hotword-incomplete-state - // "ENABLED_WITHOUT_OPA_AVAILABILITY" - Setting is enabled by user without - // opa availability. go/no-opa-yes-vm - HotwordSetting string `json:"hotwordSetting,omitempty"` - // LockscreenEnabled: Whether pin/pattern lockscreen has been enabled by the - // user. - LockscreenEnabled bool `json:"lockscreenEnabled,omitempty"` - // OpaEligibilityState: Stores if Assistant is available for the user's - // device/locale, where Enabled means it is available and disabled means it is - // not. - // - // Possible values: - // "UNAVAILABLE" - Setting is unavailable to the user. - // "ENABLED" - Setting is available and enabled by the user. - // "DISABLED" - Setting is available but disabled by the user. - // "UNDECIDED" - Setting is available, but user never touched this setting. - // "OPA_DISABLED" - Setting is disabled because Opa is disabled by user. - // "UNSUPPORTED_LOCALE" - Setting is unavailable because the locale is - // unsupported. Deprecated, use voice_match_available - // "INCOMPLETE" - Setting is incomplete, see go/hotword-incomplete-state - // "ENABLED_WITHOUT_OPA_AVAILABILITY" - Setting is enabled by user without - // opa availability. go/no-opa-yes-vm - OpaEligibilityState string `json:"opaEligibilityState,omitempty"` - // OpaEligible: Stores if Assistant is available for the user's device/locale. - // Deprecated as bools do not give accurate true/false ratios due to old - // clients reporting the default value. - OpaEligible bool `json:"opaEligible,omitempty"` - // SdkVersion: Stores the Android SDK version. This comes from - // android.os.Build.VERSION.SDK_INT. - SdkVersion int64 `json:"sdkVersion,omitempty"` - // SpeakerIdModelPresent: Whether speaker ID model is present for the user. - SpeakerIdModelPresent bool `json:"speakerIdModelPresent,omitempty"` - // SpeakerIdRecognitionEnabled: Indicates whether the user has enabled - // speaker-id (fromAnyScreen/alwaysOn) for this device. Deprecated - use - // voice_match_setting instead - SpeakerIdRecognitionEnabled bool `json:"speakerIdRecognitionEnabled,omitempty"` - // TrustedVoiceEnabled: Indicates whether the user has enabled trusted voice - // for this device. - TrustedVoiceEnabled bool `json:"trustedVoiceEnabled,omitempty"` - // UnlockWithHotwordAvailable: A bool indicating whether device supports - // unlocking device with hotword. - UnlockWithHotwordAvailable bool `json:"unlockWithHotwordAvailable,omitempty"` - // UserMigratedToDeclined: Stores if user was migrated from undecided to - // declined as apart of Mariko project. Used for potential growth targeting. - UserMigratedToDeclined bool `json:"userMigratedToDeclined,omitempty"` - // VoiceMatchSetting: Stores the hotword/voice match setting status for the - // locales which support voice match. - // - // Possible values: - // "UNAVAILABLE" - Setting is unavailable to the user. - // "ENABLED" - Setting is available and enabled by the user. - // "DISABLED" - Setting is available but disabled by the user. - // "UNDECIDED" - Setting is available, but user never touched this setting. - // "OPA_DISABLED" - Setting is disabled because Opa is disabled by user. - // "UNSUPPORTED_LOCALE" - Setting is unavailable because the locale is - // unsupported. Deprecated, use voice_match_available - // "INCOMPLETE" - Setting is incomplete, see go/hotword-incomplete-state - // "ENABLED_WITHOUT_OPA_AVAILABILITY" - Setting is enabled by user without - // opa availability. go/no-opa-yes-vm - VoiceMatchSetting string `json:"voiceMatchSetting,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "ContinuedConversationEnabled") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ContinuedConversationEnabled") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsSpeechSettings) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsSpeechSettings - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSettingsTetheredInfo struct { - // PrimaryHostDeviceId: The host this wearable is tethered to (e.g. phone). - // When host is AGSA then this is agsa_client_instance_id. When host is IOPA - // then this is opa_ios_device_id. - PrimaryHostDeviceId string `json:"primaryHostDeviceId,omitempty"` - // ForceSendFields is a list of field names (e.g. "PrimaryHostDeviceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PrimaryHostDeviceId") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsTetheredInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsTetheredInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsThirdPartyAppsFilter: Specification of which third party -// apps can be used. -type AssistantApiSettingsThirdPartyAppsFilter struct { - // Possible values: - // "UNKNOWN_STATE" - // "ALLOW_ALL" - Allow all third party apps. - // "ALLOW_CERTIFIED_FOR_FAMILIES" - Only allow certified Apps for Families. - // See https://developers.google.com/actions/apps-for-families/. - // "BLOCK_ALL" - Block all third party apps. - State string `json:"state,omitempty"` - // ForceSendFields is a list of field names (e.g. "State") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "State") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsThirdPartyAppsFilter) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsThirdPartyAppsFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsVideoFilter: Specification of which video features can -// be used. -type AssistantApiSettingsVideoFilter struct { - // AutoplayToggleState: State that indicates whether autoplay is enabled for - // youtube videos. - // - // Possible values: - // "UNKNOWN_STATE" - Default uninitialized state. - // "ENABLED" - Allow autoplay for youtube videos. - // "DISABLED" - Disable autoplay for youtube videos. - AutoplayToggleState string `json:"autoplayToggleState,omitempty"` - // AvailableProviders: Providers available at the time user updated settings. - // - // Possible values: - // "UNKNOWN_VIDEO_PROVIDER" - // "YOUTUBE" - // "YOUTUBE_TV" - // "YOUTUBE_KIDS" - AvailableProviders []string `json:"availableProviders,omitempty"` - // ProviderFilterState: Represents the state for the video provider filter. - // - // Possible values: - // "UNKNOWN_STATE" - // "ALLOW_ALL_PROVIDERS" - With this state, all video providers are allowed. - // "ALLOW_WHITELISTED_PROVIDERS" - This limits the allowed providers to the - // whitelisted ones. This means that we can block all providers if the - // whitelist is empty. - ProviderFilterState string `json:"providerFilterState,omitempty"` - // Possible values: - // "UNKNOWN_STATE" - // "ALLOW_ALL" - Allow all videos. - // "BLOCK_MATURE_CONTENT" - Block videos with mature content. - // "BLOCK_ALL" - Block all videos. - State string `json:"state,omitempty"` - // WhitelistedProviders: Contains the list of whitelisted video providers. - // - // Possible values: - // "UNKNOWN_VIDEO_PROVIDER" - // "YOUTUBE" - // "YOUTUBE_TV" - // "YOUTUBE_KIDS" - WhitelistedProviders []string `json:"whitelistedProviders,omitempty"` - // ForceSendFields is a list of field names (e.g. "AutoplayToggleState") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AutoplayToggleState") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsVideoFilter) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsVideoFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSettingsWebviewFilter: Specification of which webview features -// can be used. -type AssistantApiSettingsWebviewFilter struct { - // JasperWebviewConsent: Indicates if user has consented Jasper warning - // message. - JasperWebviewConsent bool `json:"jasperWebviewConsent,omitempty"` - // Possible values: - // "UNKNOWN_STATE" - // "ALLOW_ALL_WEBSITES" - Allow all websites. - // "BLOCK_ALL_WEBSITES" - Block all websites. - State string `json:"state,omitempty"` - // ForceSendFields is a list of field names (e.g. "JasperWebviewConsent") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "JasperWebviewConsent") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSettingsWebviewFilter) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSettingsWebviewFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSignInMethod: The method of sign in which the client supports. -type AssistantApiSignInMethod struct { - // Possible values: - // "UNSPECIFIED" - Unspecified value. Defaults to the same sign-in behavior - // as PHONE_APP. - // "NOT_ALLOWED" - Sign in is not allowed, e.g., go/telephone. - // "PHONE_APP" - Sign in with Home app, e.g. Google Home. - // "ON_DEVICE_MENU" - Sign in with on device menu, e.g., LGTV, - // go/web-assistant - // "WEB_APP" - Sign in with the Assistant sign in website. See - // go/baird-web-based-sign-in. - Method string `json:"method,omitempty"` - // SignInRequired: Make Google sign-in mandatory for using Google Assistant on - // the device. - SignInRequired bool `json:"signInRequired,omitempty"` - // ForceSendFields is a list of field names (e.g. "Method") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Method") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSignInMethod) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSignInMethod - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSodaCapabilities: Capabilities related to SODA (Speech On-Device -// API). Next ID: 5 -type AssistantApiSodaCapabilities struct { - // SupportsHotwordSensitivity: Whether the device supports different levels of - // hotword sensitivity. go/hotword-sensitivity-prd - SupportsHotwordSensitivity bool `json:"supportsHotwordSensitivity,omitempty"` - // SupportsSimpleStop: Whether Simple Stop (go/simple-stop) is enabled on the - // device. Simple stop allows users to stop firing alarms and timers by just - // saying "stop" without first saying the hotword. - SupportsSimpleStop bool `json:"supportsSimpleStop,omitempty"` - // SupportsSpeakerId: Whether the device supports speaker-id (speaker - // identification based on hotword and/or spoken query - go/speaker-id). Note: - // there are existing devices that support speaker-id but does not have this - // capability set. Not having this field populated doesn't necessarily mean the - // device doesn't support speaker-id. - SupportsSpeakerId bool `json:"supportsSpeakerId,omitempty"` - // SupportsWarmWords: Whether the device supports WarmWords - // (go/warm-words-framework). - SupportsWarmWords bool `json:"supportsWarmWords,omitempty"` - // ForceSendFields is a list of field names (e.g. "SupportsHotwordSensitivity") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SupportsHotwordSensitivity") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSodaCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSodaCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSoftwareCapabilities: These capabilities represent what software -// features the client supports. This should be determined based on the -// client's various software versions (OS, GSA version, etc). Next ID: 28 -type AssistantApiSoftwareCapabilities struct { - // AppCapabilities: IMPORTANT: Only one of AppCapabilities and - // AppCapabilitiesDelta should be in the SoftwareCapabilities. In the edge case - // if the client sends up both AppCapabilities and AppCapabilitiesDelta, - // AppCapabilitiesDelta is ignored. Complete list of app capabilities. - AppCapabilities []*AssistantApiAppCapabilities `json:"appCapabilities,omitempty"` - // AppCapabilitiesDelta: Incremental update for app capabilities. - AppCapabilitiesDelta []*AssistantApiAppCapabilitiesDelta `json:"appCapabilitiesDelta,omitempty"` - // AppIntegrationsSettings: App integrations settings for each packge name. - AppIntegrationsSettings map[string]AssistantApiAppIntegrationsSettings `json:"appIntegrationsSettings,omitempty"` - // CarAssistantCapabilities: Capabilities related to Assistant on Auto - // surfaces. - CarAssistantCapabilities *AssistantApiCarAssistantCapabilities `json:"carAssistantCapabilities,omitempty"` - // ClockCapabilities: Capabilities related to clock functionality, like alarms, - // timers, etc. - ClockCapabilities *AssistantApiClockCapabilities `json:"clockCapabilities,omitempty"` - // ConversationVersion: A top-level version of Conversation protocol where the - // versions are explicitly defined at go/conversation-versions. - ConversationVersion *AssistantApiSupportedConversationVersion `json:"conversationVersion,omitempty"` - // CrossDeviceExecutionCapabilities: For torus x-device execution support - CrossDeviceExecutionCapabilities *AssistantApiCrossDeviceExecutionCapability `json:"crossDeviceExecutionCapabilities,omitempty"` - GacsCapabilities *AssistantApiGacsCapabilities `json:"gacsCapabilities,omitempty"` - GcmCapabilities *AssistantApiGcmCapabilities `json:"gcmCapabilities,omitempty"` - // LiveTvChannelCapabilities: Capabilities related to live TV channels. - LiveTvChannelCapabilities *AssistantApiLiveTvChannelCapabilities `json:"liveTvChannelCapabilities,omitempty"` - // OemCapabilities: List of actions OEM supports. This includes built-in - // actions and custom actions. - OemCapabilities *AssistantApiOemCapabilities `json:"oemCapabilities,omitempty"` - // OnDeviceAssistantCapabilities: on-device Assistant capabilities - OnDeviceAssistantCapabilities *AssistantApiOnDeviceAssistantCapabilities `json:"onDeviceAssistantCapabilities,omitempty"` - // OnDeviceSmartHomeCapabilities: Capability bits for on-device Smart Home. - // go/framework-for-local-semex - OnDeviceSmartHomeCapabilities *AssistantApiOnDeviceSmartHomeCapabilities `json:"onDeviceSmartHomeCapabilities,omitempty"` - // OnDeviceStorageCapabilities: Reflects the storage capabilities on the - // device. - OnDeviceStorageCapabilities *AssistantApiOnDeviceStorageCapabilities `json:"onDeviceStorageCapabilities,omitempty"` - // OperatingSystem: The operating system of the device. - // - // Possible values: - // "OS_TYPE_UNKNOWN" - // "OS_TYPE_ANDROID" - // "OS_TYPE_CAST" - // "OS_TYPE_FUCHSIA" - // "OS_TYPE_LINUX" - OperatingSystem string `json:"operatingSystem,omitempty"` - // OrderedLiveTvProviders: An ordered list containing the live tv providers - // available in the client. The order of the providers reflects the ranking in - // the client and will be respected by server as well. - OrderedLiveTvProviders []*AssistantApiLiveTvProvider `json:"orderedLiveTvProviders,omitempty"` - // RobinCapabilities: Capabilities of Robin client. - RobinCapabilities *AssistantApiRobinCapabilities `json:"robinCapabilities,omitempty"` - // SelinaCapabilities: The Soli capabilities on Elaine. go/dingo-dc-software - SelinaCapabilities *AssistantApiSelinaCapabilites `json:"selinaCapabilities,omitempty"` - SettingsAppCapabilities *AssistantApiSettingsAppCapabilities `json:"settingsAppCapabilities,omitempty"` - SupportedClientOp []*AssistantApiSupportedClientOp `json:"supportedClientOp,omitempty"` - SupportedFeatures *AssistantApiSupportedFeatures `json:"supportedFeatures,omitempty"` - SupportedMsgVersion *AssistantApiSupportedProtocolVersion `json:"supportedMsgVersion,omitempty"` - SupportedProviderTypes *AssistantApiSupportedProviderTypes `json:"supportedProviderTypes,omitempty"` - SurfaceProperties *AssistantApiSurfaceProperties `json:"surfaceProperties,omitempty"` - // ForceSendFields is a list of field names (e.g. "AppCapabilities") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AppCapabilities") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSoftwareCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSoftwareCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSpeechCapabilities: DEPRECATED These capabilities are associated -// with speech detection on devices. -type AssistantApiSpeechCapabilities struct { - // DspAvailable: A bool indicating whether device supports dsp based hotword - // detection. - DspAvailable bool `json:"dspAvailable,omitempty"` - // UnlockWithHotwordAvailable: A bool indicating whether device supports - // unlocking device with hotword. - UnlockWithHotwordAvailable bool `json:"unlockWithHotwordAvailable,omitempty"` - // ForceSendFields is a list of field names (e.g. "DspAvailable") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DspAvailable") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSpeechCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSpeechCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSuggestionsSupport: Next ID: 18 -type AssistantApiSuggestionsSupport struct { - // ClickImpersonationSupported: Whether client supports user impersonation on - // suggestion chip click. go/suggestion-click-impersonation - ClickImpersonationSupported bool `json:"clickImpersonationSupported,omitempty"` - // DebugDataSupported: Whether client supports suggestions debug data to be - // displayed. - DebugDataSupported bool `json:"debugDataSupported,omitempty"` - // DrlHistoryChipSupported: Whether DRL history chip is supported. Related bug: - // http://b/241837879, http://b/171854732 Design doc: - // http://go/panthera-history-chip-dd DRL history chip was originally rolled - // out to Panthera in - // http://google3/googledata/experiments/mobile/agsa/studies/agsa_nga/opa_panthera_one_input_ui_launch.gcl?l=55&rcl=384682900. - // We plan to roll it out to NGA and TNG. drl_history_chip_supported bit - // specifies whether the client support (and should have) DRL history chip. - DrlHistoryChipSupported bool `json:"drlHistoryChipSupported,omitempty"` - // EscapeHatchSupported: Whether client supports escape hatches aka post - // execution suggestions go/nga-escape-hatch-prd - // - // Possible values: - // "UNSUPPORTED" - // "NGA_ESCAPE_HATCH" - EscapeHatchSupported string `json:"escapeHatchSupported,omitempty"` - // ExecutedTextSupported: Whether the client can rewrite suggestion query text - // into executed text, if the latter is present. If this feature is disabled, - // the rewrite happens in Assistant Server. - ExecutedTextSupported bool `json:"executedTextSupported,omitempty"` - // ExecutionContextSupported: Whether the client supports passing back - // `execution_context` from - // |assistant.api.client_op.SuggestionProcessingParams| when the suggestion is - // clicked or spoken. - ExecutionContextSupported bool `json:"executionContextSupported,omitempty"` - // FeatureSpecificActionSupport: Whether the client supports features in - // |SuggestionFeatureSpecificAction|. - FeatureSpecificActionSupport *AssistantApiFeatureSpecificActionSupport `json:"featureSpecificActionSupport,omitempty"` - // FeatureSpecificAppActionsNotificationSupported: Whether the client supports - // handling App Actions' notification when the suggestion is clicked. This will - // allow the server to populate the `app_actions_notification_data` extension - // field from |SuggestionFeatureSpecificAction| proto message. - FeatureSpecificAppActionsNotificationSupported bool `json:"featureSpecificAppActionsNotificationSupported,omitempty"` - // MultiStepTrySayingSupported: Whether the multi-step try saying suggestion - // feature is supported. dd: go/tng-multi-step-simplified - MultiStepTrySayingSupported bool `json:"multiStepTrySayingSupported,omitempty"` - // RuleIdInExecutionContextSupported: Whether the rule_id field in the - // execution_context is supported. This is a temporary workaround to be able to - // identify clicks on Person entity suggestions on Sabrina and is expected to - // be eventually deprecated. TODO(b/185517153) : Deprecate (but do not delete) - // once click tracking is correctly sent up from the Katniss client. - RuleIdInExecutionContextSupported bool `json:"ruleIdInExecutionContextSupported,omitempty"` - // ShowExecutedTextSupported: Whether the client can show executed_text after - // the click on the suggestion chip. Must be set to false on TNG. TNG - // disregards |SuggestionProcessingParams.show_executed_text| field and always - // treats it as if |show_executed_text=true|. - ShowExecutedTextSupported bool `json:"showExecutedTextSupported,omitempty"` - // ShowTranslationSupported: Whether the client can show chip as (text | - // translation). go/lang-partner-doc - ShowTranslationSupported bool `json:"showTranslationSupported,omitempty"` - // SupportedDisplayTargets: A list of suggestions display targets supported by - // this client. If unset only DEFAULT SuggestionDisplayTarget is supported. - SupportedDisplayTargets []*AssistantApiSuggestionsSupportDisplayTargetSupport `json:"supportedDisplayTargets,omitempty"` - // WidgetDataSupported: Whether client supports widget suggestion chip to be - // displayed. - WidgetDataSupported bool `json:"widgetDataSupported,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "ClickImpersonationSupported") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ClickImpersonationSupported") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSuggestionsSupport) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSuggestionsSupport - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSuggestionsSupportDisplayTargetSupport struct { - // ExecutedTextSupported: Whether the client can rewrite suggestion query text - // into executed text, if the latter is present for the display target. - ExecutedTextSupported bool `json:"executedTextSupported,omitempty"` - // HeaderTextSupported: Whether PresentationParams.header_text is supported for - // the display target. - HeaderTextSupported bool `json:"headerTextSupported,omitempty"` - // RepressImpressionSupported: Whether Suggestion.repress_impression is - // supported. If not repressed suggestions are not returned. - RepressImpressionSupported bool `json:"repressImpressionSupported,omitempty"` - // Target: Display target that is supported. - // - // Possible values: - // "DEFAULT" - Use the default display target. - // "NGA_INPUT_PLATE" - Show Escape Hatch chips. The chips are displayed - // outside of response layer for example over app that query was fulfilled in. - // "CONVERSATION_STARTERS" - Show chips as Conversation Starters in Opa and - // Panthera. - // "QUICK_ACTIONS" - Show chips as Panthera quick actions - // (go/quick-actions-dd). - // "TACTILE_ASSISTANT_SUGGESTS" - Show chips in Tactile "Assistant Suggests" - // section. - // "TACTILE_MY_ACTIONS" - Show chips in Tactile "My Actions" section. - // "TRY_SAYING" - Show chips as "Try Saying" suggestions. - // "RICH_SUGGESTIONS" - Show suggestions as rich suggestions and chips; - // go/prs-redesign-dd - Target string `json:"target,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExecutedTextSupported") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExecutedTextSupported") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSuggestionsSupportDisplayTargetSupport) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSuggestionsSupportDisplayTargetSupport - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSunriseFeaturesSupport struct { - // SunriseSimulationSupported: If true, the device can slowly brighten the - // screen and simulate sunrise experience. Alarms with sunrise field enabled - // can be set on this device. - SunriseSimulationSupported bool `json:"sunriseSimulationSupported,omitempty"` - // ForceSendFields is a list of field names (e.g. "SunriseSimulationSupported") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SunriseSimulationSupported") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSunriseFeaturesSupport) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSunriseFeaturesSupport - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSupportedClientOp: These are the set of ClientOps that are -// supported by the device. -type AssistantApiSupportedClientOp struct { - // ClientOpName: This should be the same as the name of the SemanticClientOp - // that is supported. - ClientOpName string `json:"clientOpName,omitempty"` - // ClientOpProperties: The properties associated with the ClientOp. This proto - // should be associated with the client_op_name. - ClientOpProperties *AssistantApiProtobuf `json:"clientOpProperties,omitempty"` - SupportedExecution *AssistantApiSupportedClientOpSupportedExecution `json:"supportedExecution,omitempty"` - // Version: A version of 0 is the equivalent to not having support for that - // client_op type. Note that a client_op is also unsupported if it is not - // included at all in the list of supported client_ops. - Version int64 `json:"version,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClientOpName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ClientOpName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSupportedClientOp) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSupportedClientOp - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSupportedClientOpSupportedExecution: Additional properties that -// client can support for executing the client op. They are surface-specific -// execution properties and are unrelated to the execution model. -type AssistantApiSupportedClientOpSupportedExecution struct { - // SupportsPartialFulfillment: ClientOp execution supports special rendering - // behavior while the user is in the middle of expressing their query. This - // behavior includes: 1) New partial output always over-writes prior partial - // output. 2) Canceling the interaction removes partial fulfilment from any - // user visible interaction history. If this is true, whether to apply the - // special rendering behavior will be determined by - // PartialFulfillmentRenderingParams. More details can be found at - // go/ma-natcon-pf-api. - SupportsPartialFulfillment bool `json:"supportsPartialFulfillment,omitempty"` - // SupportsSynchronousExecution: Client can support synchronous execution of - // the client op. For tts.OUTPUT client op it means that client would honor - // |synchronous_playback_args| argument. Please see more at - // go/synchronous-sounds-design. - SupportsSynchronousExecution bool `json:"supportsSynchronousExecution,omitempty"` - // ForceSendFields is a list of field names (e.g. "SupportsPartialFulfillment") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SupportsPartialFulfillment") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSupportedClientOpSupportedExecution) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSupportedClientOpSupportedExecution - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSupportedConversationVersion: The overall Conversation Protocol -// version. As we make fundamental changes to Conversation protocol that are -// non-backwards compatible, we will increment the protocol version. By -// default, all clients will support version 0. All versions are documented at -// go/conversation-versions. -type AssistantApiSupportedConversationVersion struct { - // SupportsConversationProtocol: Whether conversation protocol is supported - // explicitly. If true, - // SingleDeviceCapabilityChecker::SupportsConversationProtocol will always - // return true. - SupportsConversationProtocol bool `json:"supportsConversationProtocol,omitempty"` - // Version: The supported version number. - Version int64 `json:"version,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "SupportsConversationProtocol") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SupportsConversationProtocol") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSupportedConversationVersion) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSupportedConversationVersion - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSupportedFeatures: These are the set of features that are -// supported by the device. It's a part of the SoftwareCapabilities of the -// device. Next ID: 69 -type AssistantApiSupportedFeatures struct { - // AaeNotificationSourceSupported: Whether the client supports the alternative - // message notification sources on AAE, in which case notification-related - // operations can access it. - AaeNotificationSourceSupported bool `json:"aaeNotificationSourceSupported,omitempty"` - // AcpSupport: In what way is assistant continued presence supported. - // (go/opa-acp-prd) - AcpSupport *AssistantApiAssistantContinuedPresenceSupport `json:"acpSupport,omitempty"` - ActionV2SupportedFeatures *AssistantApiActionV2SupportedFeatures `json:"actionV2SupportedFeatures,omitempty"` - // AlarmTimerManagerApiSupported: Whether the client supports AlarmTimerManager - // API (go/alarm-timer-manager-api). - AlarmTimerManagerApiSupported bool `json:"alarmTimerManagerApiSupported,omitempty"` - // AppControlSupport: The client information for app control support. More - // details in: go/acaia. - AppControlSupport *AssistantApiAppControlSupport `json:"appControlSupport,omitempty"` - // AssistantExploreSupported: Whether the client supports the assistant explore - // section. This field will be active only when the Explore section is - // available to the user. This means that the user is (a) signed-in, (b) a IOPA - // / AGSA user, and (c) in a locale where explore is available. - AssistantExploreSupported bool `json:"assistantExploreSupported,omitempty"` - // AssistantForKidsSupported: Whether Assistant for Kids (a.k.a. Designed for - // Family) features are supported. - AssistantForKidsSupported bool `json:"assistantForKidsSupported,omitempty"` - // BypassDiDcCheckForComms: Whether communications flows for the client can - // bypass the DI/DC check. The client will enforce some other equivalent - // permission as necessary concerning access to device contacts and apps. - BypassDiDcCheckForComms bool `json:"bypassDiDcCheckForComms,omitempty"` - // BypassMsgNotificationDismissal: Whether or not Assistant should enforce the - // dismissal of communication notifications associated with messages. - BypassMsgNotificationDismissal bool `json:"bypassMsgNotificationDismissal,omitempty"` - // Client1mProvidersSupported: Whether the client supports 1m providers - // (go/1m-partner-expansion). - Client1mProvidersSupported bool `json:"client1mProvidersSupported,omitempty"` - // ClientOpResultBatchingSupported: Whether the client can batch client op - // results before sending them to the server. - ClientOpResultBatchingSupported bool `json:"clientOpResultBatchingSupported,omitempty"` - // ConfirmationBeforeReadingMultipleMessagesSupported: Whether the client - // supports confirmation flow before announcement of multiple messages. If set - // to true the user will be prompted once and confirmation will be taken before - // all the messages are announced. - ConfirmationBeforeReadingMultipleMessagesSupported bool `json:"confirmationBeforeReadingMultipleMessagesSupported,omitempty"` - // ConversationalCareSupported: Whether the client can render conversational - // care responses. go/conversational-care - ConversationalCareSupported bool `json:"conversationalCareSupported,omitempty"` - // CrossDeviceBroadcastSupported: Whether the client supports cross-device - // broadcast (i.e. on Torus). - CrossDeviceBroadcastSupported bool `json:"crossDeviceBroadcastSupported,omitempty"` - // CrossDeviceBroadcastVersion: The version of cross device broadcast (ie; - // broadcast on torus) which the client supports. - // - // Possible values: - // "CROSS_DEVICE_BROADCAST_NOT_SUPPORTED" - Broadcast with torus is not - // supported on this device. - // "CROSS_DEVICE_BROADCAST_V1" - This device supports the cross device - // broadcast V1 features. - CrossDeviceBroadcastVersion string `json:"crossDeviceBroadcastVersion,omitempty"` - // CsatVisualOverlaySupported: Whether the client supports csat visual overlay. - // (go/sd-od-csat) - CsatVisualOverlaySupported bool `json:"csatVisualOverlaySupported,omitempty"` - // DuoClientApiFeatures: The features set which duo client on the device - // supports. This should be serialized from proto {@code - // duo_client_api.DuoClientApiFeatures}. - DuoClientApiFeatures string `json:"duoClientApiFeatures,omitempty"` - // DuoGroupCallingSupported: Whether the client supports Duo group calling. - DuoGroupCallingSupported bool `json:"duoGroupCallingSupported,omitempty"` - // FitnessFeatureSupport: Information about what support this device has for - // fitness. - FitnessFeatureSupport *AssistantApiFitnessFeatureSupport `json:"fitnessFeatureSupport,omitempty"` - // FluidActionsSupport: Fluid Actions features supported by the client. If this - // field is not set in the incoming request, it could mean that the client does - // not support Fluid Actions. Alternatively, it could mean that the client - // supports Fluid Actions, but syncs state with server using the old protocol, - // namely ConversationStateParams. When b/140733618 is resolved, Surface - // Adaptation Layer will add this field for old clients that support Fluid - // Actions framework. - FluidActionsSupport *AssistantApiFluidActionsSupport `json:"fluidActionsSupport,omitempty"` - // FuntimeSupported: Whether the surface client op performer supports Funtime - // alarms and timers. go/funtime-engdesign - FuntimeSupported bool `json:"funtimeSupported,omitempty"` - // GdiSupported: Whether account linking via Google Deep Integrations (GDI) is - // supported. go/opa-gdi-design - GdiSupported bool `json:"gdiSupported,omitempty"` - // GearheadNotificationSourceSupported: Whether the client supports the - // Gearhead message notification source, in which case notification-related - // operations can access it. - GearheadNotificationSourceSupported bool `json:"gearheadNotificationSourceSupported,omitempty"` - // HasPhysicalRadio: Whether the client has a physical radio installed. - HasPhysicalRadio bool `json:"hasPhysicalRadio,omitempty"` - // ImmersiveCanvasConfirmationMessageSupported: Whether the client supports - // confirmation messages in Immersive Canvas actions. Deprecated: use the filed - // in immersive_canvas_support. - ImmersiveCanvasConfirmationMessageSupported bool `json:"immersiveCanvasConfirmationMessageSupported,omitempty"` - ImmersiveCanvasSupport *AssistantApiImmersiveCanvasSupport `json:"immersiveCanvasSupport,omitempty"` - // InDialogAccountLinkingSupported: Whether the client supports account linking - // in-dialog (askForSignIn). This is used before this feature is moved to - // conversation protocol. To support this, the client needs to: - Integrate - // with Google Deep Integrations. - Have logic to send the result of account - // linking back to AS. - InDialogAccountLinkingSupported bool `json:"inDialogAccountLinkingSupported,omitempty"` - // IsPairedPhoneContactUploadNeededForComms: Whether paired-phone contact - // upload is needed for communications queries to work (e.g. on AAE). - IsPairedPhoneContactUploadNeededForComms bool `json:"isPairedPhoneContactUploadNeededForComms,omitempty"` - // IsPairedPhoneNeededForComms: Whether a Bluetooth-paired phone is a core - // component of communications flows on the client. - IsPairedPhoneNeededForComms bool `json:"isPairedPhoneNeededForComms,omitempty"` - // JustInTimeSupported: Whether the client supports confirmation flow when a - // permission is missing. If set to true, the user will be prompted and on - // confirmation the original flow will continue. - JustInTimeSupported bool `json:"justInTimeSupported,omitempty"` - // LaunchKeyboardSupported: Which way of launching the keyboard the client - // supports. - // - // Possible values: - // "LAUNCH_KEYBOARD_UNSUPPORTED" - Launching the keyboard from a suggestion - // chip is not supported. - // "OPA_ANDROID_LAUNCH_KEYBOARD_URI" - The keyboard can be opened by using - // the opa-android://launch_keyboard uri. Takes the url-encoded parameters: - - // query: the string to prefill the keyboard with. - start: (optional) the - // start position of the span to highlight. - end: (optional) the end position - // of the span to highlight. - LaunchKeyboardSupported string `json:"launchKeyboardSupported,omitempty"` - // LensSupported: Whether the client has Google Lens (Assistant Eyes). - LensSupported bool `json:"lensSupported,omitempty"` - // LiveCardsSupported: Whether the surface supports LiveCards. In cases where - // the user intent flow cannot be completed within the Assistant, LiveCards are - // used to take the user to an external app or website. These cards will be - // pushed to the Google Home app via the PushMessage ClientOp. - LiveCardsSupported bool `json:"liveCardsSupported,omitempty"` - // LottieAnimationSupport: Whether the client supports the Lottie animation - // library for the broadcast feature. - // - // Possible values: - // "LOTTIE_ANIMATION_UNKNOWN" - // "LOTTIE_ANIMATION_NOT_SUPPORTED" - // "LOTTIE_ANIMATION_SUPPORTED" - LottieAnimationSupport string `json:"lottieAnimationSupport,omitempty"` - // MapsDialogsSupported: Whether the client supports Assistant dialogs within - // Maps. This field will be set only when the Maps on the surface supports - // Assistant dialogs embedded within Maps. go/gsa-gmm. - MapsDialogsSupported bool `json:"mapsDialogsSupported,omitempty"` - // MasqueradeModeSupported: Whether the device supports masquerade mode - // (go/masquerade). - MasqueradeModeSupported bool `json:"masqueradeModeSupported,omitempty"` - // MediaControlSupport: Information about how client handles media controls - // (play, pause, skip ...) - MediaControlSupport *AssistantApiMediaControlSupport `json:"mediaControlSupport,omitempty"` - // MediaSessionDetection: The ability of the client to detect media sessions on - // the device. - // - // Possible values: - // "UNKNOWN_MEDIA_SESSION_DETECTION" - // "RELIABLE_MEDIA_SESSION_DETECTION" - The client has perfect knowledge of - // what is playing on the device. For example, Chirp falls into this category. - // We can reliably choose to control or punt based on media params. - // "UNRELIABLE_MEDIA_SESSION_DETECTION" - The client has some knowledge about - // the media sessions on the device. For example, OPA TV falls into this - // category. For these cases, we should probably always try to return the media - // control client op to the client. - // "NO_MEDIA_SESSION_DETECTION" - The client has no idea about the media - // playback on the device. For these cases, we should either punt or attempt to - // control media and silently fail. - // "MEDIA_SESSION_DETECTION_DISABLED_SCREEN_CONTEXT" - Media session - // detection is supported by the client but disabled by the user (for example: - // OPA_CROS) by turning off screen context setting. - MediaSessionDetection string `json:"mediaSessionDetection,omitempty"` - // MeetSupported: Whether the client supports joining a Google Meet meeting. - MeetSupported bool `json:"meetSupported,omitempty"` - // MessageSummarySupport: The client information for message summary. More - // details in: go/roadwayrecap-prd - MessageSummarySupport *AssistantApiMessageSummarySupport `json:"messageSummarySupport,omitempty"` - // NoInputResponseSupported: Whether the client can render no input response or - // just ignore it. No input response is returned when client has a no speech - // input interaction, eg. user tapped mic but didn't say anything. - NoInputResponseSupported bool `json:"noInputResponseSupported,omitempty"` - // OpaOnSearchSupported: When the entry source is search, whether the client - // supports rendering a similar response as OPA one does. Entry source is - // defined at - // http://cs/symbol:assistant.api.params.DeviceProperties.EntrySource - OpaOnSearchSupported bool `json:"opaOnSearchSupported,omitempty"` - // ParentalControlsSupported: Whether or not the client supports enabling - // parental controls. When a device to supports parental controls, it has the - // software necessary to store the relevant information required for parental - // controls to work. This information includes a boolean "enabled bit" as well - // as the obfuscated gaia ID of the kid account selected for use with parental - // controls. Devices supportings kids mode send this information to S3 via - // S3ClientInfo in every request. See go/aff-kidsproduct for details. - ParentalControlsSupported bool `json:"parentalControlsSupported,omitempty"` - // PersistentDisplaySupported: Whether the client supports persistent display. - // The new feature allows Assistant devices with screen to display a - // continuously updating permanent display, such as ambient weather, without - // the need for a user to ask the Assistant. Design doc: - // go/assistant-persistent-display. - PersistentDisplaySupported bool `json:"persistentDisplaySupported,omitempty"` - // PrivacyAwareLockscreenSupported: Whether the client supports the - // privacy-aware lockscreen protocol (go/assistant-lockscreen-spec). - PrivacyAwareLockscreenSupported bool `json:"privacyAwareLockscreenSupported,omitempty"` - // ReadMessagesTtsTaperingSupported: Whether the client supports tts tapering - // for the read messages flow. If set to true the tapered tts variant would be - // used during the read messages flow. - ReadMessagesTtsTaperingSupported bool `json:"readMessagesTtsTaperingSupported,omitempty"` - // ReadNotificationSummarizationSupported: Whether the client supports message - // summarization. Deprecated, use message_summary_support instead. - ReadNotificationSummarizationSupported bool `json:"readNotificationSummarizationSupported,omitempty"` - // RemoteCloudCastingEnabled: Whether the client has remote casting enabled. - // For ex: we want to disable this for clients like Auto. - RemoteCloudCastingEnabled bool `json:"remoteCloudCastingEnabled,omitempty"` - // ServerGeneratedFeedbackChipsEnabled: Whether the Assistant Server should - // generate feedback suggestion chips. - ServerGeneratedFeedbackChipsEnabled bool `json:"serverGeneratedFeedbackChipsEnabled,omitempty"` - // ShLockScreenSupported: Whether the client supports SmartHome lock screen - // logic (i.e. on Tangor). - ShLockScreenSupported bool `json:"shLockScreenSupported,omitempty"` - // SignInMethod: Which kind of sign in the client supports. - SignInMethod *AssistantApiSignInMethod `json:"signInMethod,omitempty"` - // SleepSensingSupported: Whether the client can monitor sleep. This allows us - // to show sleep CUJ related information: go/TwilightDesign Use for development - // only, see the same field in - // DeviceCapabilities.SoftwareCapabilities.SelinaCapabilities. - SleepSensingSupported bool `json:"sleepSensingSupported,omitempty"` - // SmartspaceCrossDeviceTimerSupported: Whether the client supports smart space - // cross-device timers. (go/ss-x-device-timer) - SmartspaceCrossDeviceTimerSupported bool `json:"smartspaceCrossDeviceTimerSupported,omitempty"` - // SoliGestureDetectionSupported: Whether or not the client supports gesture - // detection via soli chips. The reason to prepend the name with soli is to - // distinguish it from computer vision based methods, e.g. Newman devices. - SoliGestureDetectionSupported bool `json:"soliGestureDetectionSupported,omitempty"` - // SuggestionsSupport: Suggestion chips features, supported by the client. - SuggestionsSupport *AssistantApiSuggestionsSupport `json:"suggestionsSupport,omitempty"` - // SunriseFeaturesSupport: Whether the client supports the sunrise screen - // brightening feature before the alarm fires. This is used to indicate whether - // sunrise alarms can be set on the device. - // http://cs/symbol:assistant.api.core_types.governed.RingtoneTaskMetadata.GentleWakeInfo - SunriseFeaturesSupport *AssistantApiSunriseFeaturesSupport `json:"sunriseFeaturesSupport,omitempty"` - // TapToReadOptimizationSupported: Whether the client supports faster - // optimization for tap_to_read feature. - TapToReadOptimizationSupported bool `json:"tapToReadOptimizationSupported,omitempty"` - // ThirdPartyGuiSupported: Whether the device supports the 3p GUI framework, - // which allows third parties to enter the conversation with the user, showing - // their logo next to their chat bubbles, etc. go/3p-phone - ThirdPartyGuiSupported bool `json:"thirdPartyGuiSupported,omitempty"` - // TransactionFeaturesSupport: Transactions features, supported by the client. - // Transactions feature may includes how Transactions team want to populate - // additional information from the device to the server. - TransactionFeaturesSupport *AssistantApiTransactionFeaturesSupport `json:"transactionFeaturesSupport,omitempty"` - // TransactionsVersion: The version of transactions which the client supports. - // - // Possible values: - // "NO_TRANSACTIONS" - Transactions are not supported on this device. - // "TRANSACTIONS_INITIAL_LAUNCH" - This device supports the client features - // present at the initial consumer launch of transactions. - // "TRANSACTIONS_V2" - This device supports the transaction version v2 client - // features, includes transactions clientops. Deprecated given there're some - // iOS version populate this enum but don't support clientops. - // "TRANSACTIONS_V3" - This device supports the transaction version v3 client - // features, includes transactions clientops. - TransactionsVersion string `json:"transactionsVersion,omitempty"` - // UsesSeparateFullViewer: If set, it indicates that the client can open a - // separate HTML browser/webviewer (full viewer) to display certain visual - // results. These visual results usually require more memory to render (e.g. - // high resolution photos). Compared to the regular viewer that display all - // other Assistant result, the full viewer does not have memory limit. The - // field is copied from the device model. See - // http://google3/assistant/devices_platform/proto/device_model_capabilities.proto?l=225&rcl=312576471 - // Also see go/webassistant-full-card-viewer. - UsesSeparateFullViewer bool `json:"usesSeparateFullViewer,omitempty"` - // ViewReminderHubPageNotSupported: Whether the client supports viewing of - // reminder hub page or not. Default is supported. Set to true to disable - // returning reminder hub page url in reminder responses. - ViewReminderHubPageNotSupported bool `json:"viewReminderHubPageNotSupported,omitempty"` - // WarmWelcomeTutorialSupported: Whether the client supports the programmatic - // warm welcome tutorial. Design doc: go/opal-pww-design. - WarmWelcomeTutorialSupported bool `json:"warmWelcomeTutorialSupported,omitempty"` - // WebBrowserSupported: Whether the supports opening a URL in a web browser. - // For example, we want to disable this for clients like Chirp. - WebBrowserSupported bool `json:"webBrowserSupported,omitempty"` - // ZoomSupported: Whether the client supports joining a Zoom meeting. - ZoomSupported bool `json:"zoomSupported,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "AaeNotificationSourceSupported") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AaeNotificationSourceSupported") - // to include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSupportedFeatures) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSupportedFeatures - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSupportedProtocolVersion: Contains versions of protocol buffer -// messages. This is the equivalence of a proto3 map, keyed by a protocol -// buffer message’s name, and the value is the version of this message. e.g. -// {"assistant.api.core_types.Timer": 2, "assistant.api.core_types.Alarm": 1} -// See go/assistant-protocol-versioning for more details. -type AssistantApiSupportedProtocolVersion struct { - MessageVersion []*AssistantApiSupportedProtocolVersionMessageVersionPair `json:"messageVersion,omitempty"` - // ForceSendFields is a list of field names (e.g. "MessageVersion") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MessageVersion") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSupportedProtocolVersion) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSupportedProtocolVersion - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiSupportedProtocolVersionMessageVersionPair struct { - // MessageName: The full path of a message which should start from the package - // name. e.g. "assistant.api.core_types.Timer". - MessageName string `json:"messageName,omitempty"` - // Version: The supported version number. - Version int64 `json:"version,omitempty"` - // ForceSendFields is a list of field names (e.g. "MessageName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MessageName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSupportedProtocolVersionMessageVersionPair) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSupportedProtocolVersionMessageVersionPair - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSupportedProviderTypes: Types of providers that are supported by -// the client. For example, ChromeOS support both web app and Android app (for -// eligible devices). -type AssistantApiSupportedProviderTypes struct { - // Possible values: - // "PROVIDER_TYPE_UNSPECIFIED" - // "ANDROID_APP" - For AndroidAppInfo - // "CAST_APP" - For CastAppInfo - // "CLOUD_PROVIDER" - For CloudProviderInfo - // "SIP_PROVIDER" - For SipProviderInfo - // "IOS_APP" - For IosAppInfo - // "INTERNAL_PROVIDER" - For InternalProviderInfo - // "WEB_PROVIDER" - For WebProviderInfo - // "KAIOS_APP" - For KaiOsAppInfo - // "HOME_APP" - For HomeAppInfo - // "CHROMEOS_APP" - For ChromeOsAppInfo - SupportedTypes []string `json:"supportedTypes,omitempty"` - // ForceSendFields is a list of field names (e.g. "SupportedTypes") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SupportedTypes") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSupportedProviderTypes) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSupportedProviderTypes - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSurfaceProperties: Properties of the surface that are not -// hardware related or feature specific. -type AssistantApiSurfaceProperties struct { - ExecutionCapabilities *AssistantApiSurfacePropertiesExecutionCapabilities `json:"executionCapabilities,omitempty"` - // PrefersGlanceableUi: DEPRECATED: This field is used only by the Hummingbird - // effort, which has culminated and is being cleaned up (b/325065733). - // Indicates if the surface prefers glanceable UI when rendering Assistant - // response. (see go/mobile-dr-hbird-glanceable-comms-cuj for more context). - PrefersGlanceableUi bool `json:"prefersGlanceableUi,omitempty"` - // ResponseDisplayFormat: If this field is unset, the response format is - // unknown - // - // Possible values: - // "SINGLE_ITEM" - The surface can only show a single item (card, display - // text, etc) of the response at a time. For example, if both a display text - // and a card are sent in a response, the surface may only show the card to the - // user. - // "MULTIPLE_ITEMS" - The surface can show a simple multi item response (e.g. - // both a display text and a card), but can't show response items from a - // previous response. - // "FULL_HISTORY" - The surface can show complex multi item responses (e.g. - // display text, card, display text) as well as a history of previous - // responses. - ResponseDisplayFormat string `json:"responseDisplayFormat,omitempty"` - // SupportsMultiResponse: If true, the client supports receiving multiple - // responses. See go/multiple-response-in-media-use-cases for more details. - SupportsMultiResponse bool `json:"supportsMultiResponse,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExecutionCapabilities") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExecutionCapabilities") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSurfaceProperties) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSurfaceProperties - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSurfacePropertiesExecutionCapabilities: Describes the -// capabilities that are related to the execution of client ops on the device. -type AssistantApiSurfacePropertiesExecutionCapabilities struct { - // SupportsClientOpPreloading: Completes the preloading ie., sets up the stage - // for the execution of client ops on the device while the previous conv delta - // is being executed. Refer to go/preload-convdelta for more information. - SupportsClientOpPreloading bool `json:"supportsClientOpPreloading,omitempty"` - // SupportsNonFinalizedResponses: A value of true indicates that the client - // supports streaming of non-finalized responses by use of - // ClientExecutionParams.response_stream_id. and - // ClientExecutionParams.to_be_finalized. - SupportsNonFinalizedResponses bool `json:"supportsNonFinalizedResponses,omitempty"` - // SupportsNonMaterializedInteractions: If true, the client supports receiving - // non-materialized interactions (go/as-streaming-protocol-nm). - SupportsNonMaterializedInteractions bool `json:"supportsNonMaterializedInteractions,omitempty"` - // ForceSendFields is a list of field names (e.g. "SupportsClientOpPreloading") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SupportsClientOpPreloading") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSurfacePropertiesExecutionCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSurfacePropertiesExecutionCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSystemNotificationRestrictions: Restrictions related to -// system-level notifications. -type AssistantApiSystemNotificationRestrictions struct { - CategoryState []*AssistantApiSystemNotificationRestrictionsNotificationCategoryState `json:"categoryState,omitempty"` - ChannelState []*AssistantApiSystemNotificationRestrictionsNotificationChannelState `json:"channelState,omitempty"` - // NotificationCapabilities: Specifies whether the surface is able to display - // notifications. - // - // Possible values: - // "NO_NOTIFICATION_CAPABILITY" - The surface is not able to display - // notifications. - // "NOTIFICATIONS_DISABLED" - The notifications are disabled on the surface. - // "NOTIFICATIONS_ENABLED" - The notifications are enabled. - NotificationCapabilities string `json:"notificationCapabilities,omitempty"` - // ForceSendFields is a list of field names (e.g. "CategoryState") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CategoryState") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSystemNotificationRestrictions) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSystemNotificationRestrictions - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSystemNotificationRestrictionsNotificationCategoryState: -// Notification channels state for the new server driven channels. -type AssistantApiSystemNotificationRestrictionsNotificationCategoryState struct { - // CategoryId: Notification channel type. - CategoryId int64 `json:"categoryId,omitempty"` - // Disabled: Weather the notifications on this channel are disabled. - Disabled bool `json:"disabled,omitempty"` - // Possible values: - // "NONE" - // "ASSISTANT_CATEGORY_SETTING" - The category was turned off in Assistant - // Notification Settings. - // "ASSISTANT_OVERALL_SETTING" - All notifications for Assistant was turned - // off in settings. - // "OS_APP_DISABLED" - All notifications for the Assistant (GSA) app was - // turned off. - // "OS_CHANNEL_GROUP_DISABLED" - Notifications for the channel group was - // turned off. - // "OS_CHANNEL_DISABLED" - Notifications for the channel was turned off. - DisabledReason string `json:"disabledReason,omitempty"` - // ForceSendFields is a list of field names (e.g. "CategoryId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CategoryId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSystemNotificationRestrictionsNotificationCategoryState) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSystemNotificationRestrictionsNotificationCategoryState - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiSystemNotificationRestrictionsNotificationChannelState: -// Notification channels state. -type AssistantApiSystemNotificationRestrictionsNotificationChannelState struct { - // ChannelType: Notification channel type. - // - // Possible values: - // "TYPE_UNKNOWN" - // "TYPE_OPA_PROACTIVE" - // "TYPE_OPA_HANDOFF" - // "TYPE_OPA_MISC" - // "TYPE_OPA_RECOMMENDATIONS" - // "TYPE_OPA_PRODUCT_UPDATES" - // "TYPE_OPA_THIRD_PARTY" - ChannelType string `json:"channelType,omitempty"` - // Enabled: Whether the notifications on this channel are enabled. - Enabled bool `json:"enabled,omitempty"` - // ForceSendFields is a list of field names (e.g. "ChannelType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ChannelType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiSystemNotificationRestrictionsNotificationChannelState) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiSystemNotificationRestrictionsNotificationChannelState - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiThirdPartyActionConfig: 3P Action Metadata. Next ID: 3 -type AssistantApiThirdPartyActionConfig struct { - // DeviceActionCapability: DeviceActionCapability from DeviceModelPackage. - DeviceActionCapability *AssistantDevicesPlatformProtoDeviceActionCapability `json:"deviceActionCapability,omitempty"` - // ProjectConfigs: List of Action project capabilities. - ProjectConfigs []*AssistantApiThirdPartyActionConfigProjectConfig `json:"projectConfigs,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceActionCapability") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceActionCapability") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiThirdPartyActionConfig) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiThirdPartyActionConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiThirdPartyActionConfigProjectConfig: Metadata for ActionPackage. -// Device Actions are disabled by default unless explicitly enabled for the -// device here, see go/3p-device-actions-v2-design. -type AssistantApiThirdPartyActionConfigProjectConfig struct { - // ProjectId: Google cloud project id for which the Action Package or Device - // Model is registered. - ProjectId string `json:"projectId,omitempty"` - // ForceSendFields is a list of field names (e.g. "ProjectId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ProjectId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiThirdPartyActionConfigProjectConfig) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiThirdPartyActionConfigProjectConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiThirdPartyCapabilities struct { - // DataSharingRestrictions: Restrictions for the device to share any data with - // third party apps. See details in go/atv-dsc. - // - // Possible values: - // "DEFAULT_NO_DATA_SHARING_RESTRICTION" - User has accepted to share the - // data with third party apps. The device has no data sharing restrictions. - // "NO_SHARING_ALLOWED_WITH_THIRD_PARTY" - User has declined to share the - // data with third party apps. - // "SHARING_STATUS_NOT_SET" - User hasn't made a choice on whether to share - // data with third party apps. - // "NO_SHARING_ALLOWED_WITH_THIRD_PARTY_FROM_OOBE" - User has declined to - // share the data with third party apps during OOBE flow. With this state, the - // user should see the data sharing consent compact screen. See cetails in - // http://shortn/_JsLg0OeEJj. - DataSharingRestrictions string `json:"dataSharingRestrictions,omitempty"` - // ForceSendFields is a list of field names (e.g. "DataSharingRestrictions") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DataSharingRestrictions") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiThirdPartyCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiThirdPartyCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiTimeOfDay: A civil time relative to a timezone. -type AssistantApiTimeOfDay struct { - // Hour: The hour, in 0...23. - Hour int64 `json:"hour,omitempty"` - // Minute: The minute, in 0...59. - Minute int64 `json:"minute,omitempty"` - // Nanosecond: The fraction of seconds in nanoseconds, in 0..999999999. - Nanosecond int64 `json:"nanosecond,omitempty"` - // Second: The second, in 0...59. Leap seconds are not supported. - Second int64 `json:"second,omitempty"` - // ForceSendFields is a list of field names (e.g. "Hour") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Hour") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiTimeOfDay) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiTimeOfDay - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiTimeZone: A time zone. Conceptually, a time zone is a set of -// rules associated with a location that describes a UTC offset and how it -// changes over time (e.g. Daylight Saving Time). The offset is used to compute -// the local date and time. -type AssistantApiTimeZone struct { - // IanaId: Time zone in IANA format, e.g. America/Los_Angeles for USA Pacific - // Time. - IanaId string `json:"ianaId,omitempty"` - // ForceSendFields is a list of field names (e.g. "IanaId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IanaId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiTimeZone) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiTimeZone - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantApiTimestamp: An absolute point in time independent of timezone or -// calendar, based on the proto3 Timestamp (//google/protobuf/timestamp.proto). -// NOTE: THIS IS NO LONGER RECOMMENDED TO BE USED. It was originally defined -// separately from google.protobuf.Timestamp due to incompatibility with proto2 -// syntax. The incompatibility issues have since been resolved and so the -// Google-wide standard representation of google.protobuf.Timestamp should be -// preferred. In fact, google.protobuf.* protos in general are now recommended -// to be used in new APIs. -type AssistantApiTimestamp struct { - // Nanos: Non-negative fractions of a second at nanosecond resolution. - Nanos int64 `json:"nanos,omitempty"` - // Seconds: Seconds of UTC time since the Unix epoch. - Seconds int64 `json:"seconds,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Nanos") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Nanos") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiTimestamp) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiTimestamp - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiTransactionFeaturesSupport struct { - // VoicePinSuppressed: If true, setting this boolean means the device should - // not support voice PIN. For example, although the phone supports both voice - // and PIN pad, but we don't want users using voice. - // https://docs.google.com/document/d/1M8iJQX3GuxGZGeidS8Gl4KJt3LuBWAIlolPlW10DkxU/edit#heading=h.8ovvdd3i2thv - VoicePinSuppressed bool `json:"voicePinSuppressed,omitempty"` - // ForceSendFields is a list of field names (e.g. "VoicePinSuppressed") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "VoicePinSuppressed") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiTransactionFeaturesSupport) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiTransactionFeaturesSupport - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantApiVolumeProperties struct { - // DefaultVolumePercentage: The volume percentages for spelled out values. - DefaultVolumePercentage int64 `json:"defaultVolumePercentage,omitempty"` - HighVolumePercentage int64 `json:"highVolumePercentage,omitempty"` - // LevelStepSize: The number of levels to move for a step. - LevelStepSize float64 `json:"levelStepSize,omitempty"` - LowVolumePercentage int64 `json:"lowVolumePercentage,omitempty"` - // MaximumVolumeLevel: The max number of volume levels the client supports. - MaximumVolumeLevel int64 `json:"maximumVolumeLevel,omitempty"` - MediumVolumePercentage int64 `json:"mediumVolumePercentage,omitempty"` - VeryHighVolumePercentage int64 `json:"veryHighVolumePercentage,omitempty"` - VeryLowVolumePercentage int64 `json:"veryLowVolumePercentage,omitempty"` - // ForceSendFields is a list of field names (e.g. "DefaultVolumePercentage") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DefaultVolumePercentage") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantApiVolumeProperties) MarshalJSON() ([]byte, error) { - type NoMethod AssistantApiVolumeProperties - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *AssistantApiVolumeProperties) UnmarshalJSON(data []byte) error { - type NoMethod AssistantApiVolumeProperties - var s1 struct { - LevelStepSize gensupport.JSONFloat64 `json:"levelStepSize"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.LevelStepSize = float64(s1.LevelStepSize) - return nil -} - -// AssistantDeviceTargetingDeviceTargetingError: The information associated -// with an error while selecting the target device. Next ID: 2 -type AssistantDeviceTargetingDeviceTargetingError struct { - // Possible values: - // "UNKNOWN_ERROR" - // "NO_DEVICE_IN_SAME_STRUCTURE" - Error about when there's no qualified - // devices in the same home graph structure as the local device. - // "NO_DEVICE_IN_SAME_NETWORK_OR_LOCATION" - Error about when there's no - // qualified devices in the same network or location as the local device. - // "NO_DEVICE_IN_SAME_STRUCTURE_OR_NETWORK_OR_LOCATION" - Error about when - // there's no qualified devices in the same home graph structure or network or - // location as the local device. - // "NO_DEVICE_SATISFIES_SAME_STRUCTURE_OR_UNKNOWN_IF_OWNED" - Error about - // when no qualified device was found that matched the following conditions: 1) - // Both local device and target device are in the same home graph structure. 2) - // The distance to target device is unknown (i.e. either local device or target - // device is homeless) and target device is owned by the user. 3) If local - // device and target device are in different structures, only allowed when the - // query explicitly mentioned device name. - // "NO_DEVICE_SATISFIES_CAPABILITIES_REQUIREMENT" - Error about when no - // qualified device satisfies the device capability requirement. - // "NO_DEVICE_MATCHED_DEVICE_ANNOTATION" - Error of no qualified devices - // matched requirements from device annotation. - // "MULTI_TARGET_DEVICE_NOT_SUPPORTED" - Error of not supporting targeting - // multiple devices. - // "NO_DEVICE_AFTER_LOCAL_DEVICE_EXCLUDED" - Error of no device left after - // local device is excluded within inclusiveness filter. - // "UNABLE_TO_TARGET_ONLY_LOCAL_DEVICE" - Error of unable to target only - // local device within inclusiveness filter. - // "NO_DEVICE_MATCHED_REQUIRED_TRAITS" - Error of no qualified devices - // matched the required smart home traits. - // "NO_DEVICE_MATCHED_REQUIRED_ATTRIBUTES" - Error of no qualified devices - // matched the required Smart Home attributes. - // "NO_DEVICE_MATCHED_REQUIRED_DEVICE_TYPE" - Error of no qualified devices - // matched the required smart home device types. - // "NO_DEVICE_IN_SAME_OR_MENTIONED_STRUCTURE" - Error of no qualified devices - // in the mentioned structure or in the same structure as the local device. - // "NO_DEVICE_SATISFIES_PLAYBACK_REQUIREMENT" - Error of no device satisfying - // playback requirements. - // "STRUCT_DISAMBIG_NOT_SUPPORTED" - Error when structure disambiguation is - // not supported in the config. When config is supported (both - // structure_disambiguation_supported and multi_target_supported are set to - // true), the library would return structures for disambiguation. - // "ROOM_DISAMBIG_NOT_SUPPORTED" - Error when room disambiguation is not - // supported in the config. When config is supported (both - // room_disambiguation_supported and multi_target_supported are set to true), - // the library would return rooms for disambiguation. - // "UNRECOGNIZED_DEVICE_NAME" - Error when the device mentioned in the query - // is not recognized. In other words, we can't find a device which matched the - // device mentioned in the query. - // "NO_LINKED_REMOTE_DEVICES" - Used when user requests to target on a remote - // device and there are no remote devices linked. - // "NO_LINKED_REMOTE_VIDEO_DEVICES" - Used when user requests to target on a - // remote video device and there are no remote video devices linked. - // "NO_SAFE_DEVICE_WITH_SCREEN" - Error when there is no safe screen device. - // For example, requesting screen-requiring content from Auto surface. - // "ALL_QUALIFIED_DEVICES_OFFLINE" - Error when all qualified devices are - // offline. - // "CROSS_STRUCTURE_TARGETING_DISALLOWED" - When user tries to target a - // device which is in a different structure and is not allowed. For example, if - // user doesn't own the structure. See go/on-multi-user-access-transitivity for - // more details. - // "NO_DEVICE_MEETS_PROVIDER_REQUIREMENT" - Used when user requests a device - // with certain provider but no device can satisfies provider requirement. - // "MISSING_LOCAL_DEVICE_SETTING" - AvailableDevice device setting of local - // device is missing. - // "NO_DEVICE_HAS_REQUIRED_APP" - Required app is not installed - // "HYBRID_DEVICE_NOT_QUALIFIED" - All remote hybrid devices fail the - // propertries requirement specific (lock/unlock, etc) for hybrid devices (such - // as Tangor). - // "NO_NEARBY_DEVICES" - No nearby hearing devices - // "NO_MATCHING_LAST_USED_DEVICE" - No matching device for the LastUsedDevice - // requirement found. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDeviceTargetingDeviceTargetingError) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDeviceTargetingDeviceTargetingError - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantDevicesPlatformProtoAlarmCapability: Capability with regard to -// support of alarms by the client. -type AssistantDevicesPlatformProtoAlarmCapability struct { - // MaxSupportedAlarms: Maximum number of alarms that can be created on the - // client. Zero or unset indicates no maximum limit. - MaxSupportedAlarms int64 `json:"maxSupportedAlarms,omitempty"` - // RestrictAlarmsToNextDay: Whether the client restricts alarms to ring within - // the next 24 hours. - RestrictAlarmsToNextDay bool `json:"restrictAlarmsToNextDay,omitempty"` - // SupportsGenericMutations: Whether the client supports mutation of any alarm - // attribute such as time_pattern, recurrence_pattern, etc through the MUTATE - // action. If this is false, MUTATE may only be used to disable or dismiss an - // alarm. This field is true by default for backwards-compatibility; clients - // which don't support mutation outside of Disable/DismissAlarm should - // explicitly set this to false. - SupportsGenericMutations bool `json:"supportsGenericMutations,omitempty"` - // SupportsStopAction: Whether the client supports the STOP alarm action. If - // this is false, stop actions will be represented by the MUTATE action, and - // the device may need to check alarm state to determine if there's a firing - // alarm that needs to be dismissed. - SupportsStopAction bool `json:"supportsStopAction,omitempty"` - // ForceSendFields is a list of field names (e.g. "MaxSupportedAlarms") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MaxSupportedAlarms") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoAlarmCapability) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoAlarmCapability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantDevicesPlatformProtoArgSpec struct { - IntValueSpec *AssistantDevicesPlatformProtoIntValueSpec `json:"intValueSpec,omitempty"` - OptionValueSpec *AssistantDevicesPlatformProtoOptionValueSpec `json:"optionValueSpec,omitempty"` - // Possible values: - // "TYPE_UNSPECIFIED" - A type must be specified. - // "BOOL" - // "INTEGER" - The arg value type is integer. The value can be any integer - // unless int_value_spec is provided below. - // "OPTION" - The arg value is from list of options. The valid options are - // specified from optional_value_spec below. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "IntValueSpec") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IntValueSpec") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoArgSpec) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoArgSpec - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantDevicesPlatformProtoCallCallCapability struct { -} - -type AssistantDevicesPlatformProtoClientReconnectCapability struct { -} - -// AssistantDevicesPlatformProtoCloudCapability: States the cloud capabilities -// of the device, i.e. the endpoint(s) to use for cloud execution of Actions or -// Registration. -type AssistantDevicesPlatformProtoCloudCapability struct { - // CloudEndpoints: The list of CloudEndpoints supported by this Device Model. - // Note that each should have a unique |name|. If any cloud endpoints are - // provided here, then the first one in the list will be used by default for - // all Cloud Execution. An Intent may override the default by providing an - // |execution_config|. - CloudEndpoints []*AssistantDevicesPlatformProtoCloudEndpoint `json:"cloudEndpoints,omitempty"` - // ForceSendFields is a list of field names (e.g. "CloudEndpoints") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloudEndpoints") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoCloudCapability) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoCloudCapability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantDevicesPlatformProtoCloudEndpoint: A cloud endpoints associates -// with this device, it can be used for query parsing, or cloud execution. -type AssistantDevicesPlatformProtoCloudEndpoint struct { - // Name: The name for this cloud endpoint. It's unique per Locale. This is not - // an API resource name. Ex: sample-nlu-endpoint - Name string `json:"name,omitempty"` - // Scopes: The list of scopes to be provided in the OAuth2 token. They must be - // a subset of the scopes registered in the Account Linking flow, or the - // request will fail. If the client itself provides the token, then this field - // is ignored. - Scopes []string `json:"scopes,omitempty"` - // Url: The URL for this endpoint, it must start with https. - Url string `json:"url,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoCloudEndpoint) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoCloudEndpoint - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantDevicesPlatformProtoCoreDismissAssistantCapability struct { -} - -// AssistantDevicesPlatformProtoDeviceActionCapability: This capability -// represents device action needed capability. Next ID: 10 -type AssistantDevicesPlatformProtoDeviceActionCapability struct { - // AssistantDeviceInRoomOptOut: Integrate your device with Google's Smart Home - // solution by putting your device into Google's Home Graph, a database that - // stores and provides contextual data about the home and its devices. For - // example, Home Graph can store the concept of a living room that contains - // multiple types of devices, when you say "turn on the light" to a device, if - // you have light in the living room, that light will be turned on. - AssistantDeviceInRoomOptOut bool `json:"assistantDeviceInRoomOptOut,omitempty"` - // BuiltInIntentMode: Specifies behavior for built-in device actions for this - // device model. If not specified, defaults to ENABLE_CONFIGURED_INTENTS_ONLY. - // - // Possible values: - // "INTENT_MODE_UNSPECIFIED" - // "ENABLE_ALL" - All intents are enabled, regardless of whether the intent - // is registered in the `intents` field. - // "ENABLE_ALL_AUTO_ACTIONS" - All Auto device actions are enabled, - // regardless of whether the intent is registered in the `intents` field. Only - // use it for Auto device type. - // "ENABLE_CONFIGURED_INTENTS_ONLY" - Only the intents registered in the - // `intents` field will be enabled. - // "PUNT_FOR_UNCONFIGURED_INTENTS" - Only the intents registered in the - // `intents` field will be enabled. Additionally, read an error message when - // the unconfigured intents are invoked. - BuiltInIntentMode string `json:"builtInIntentMode,omitempty"` - // CustomIntentMode: Specifies which custom device actions should be enabled - // for this device model. This will only affect the behavior of intents - // corresponding to those from the Action Package of this project. If not - // specified, defaults to ENABLE_ALL. - // - // Possible values: - // "INTENT_MODE_UNSPECIFIED" - // "ENABLE_ALL" - All intents are enabled, regardless of whether the intent - // is registered in the `intents` field. - // "ENABLE_ALL_AUTO_ACTIONS" - All Auto device actions are enabled, - // regardless of whether the intent is registered in the `intents` field. Only - // use it for Auto device type. - // "ENABLE_CONFIGURED_INTENTS_ONLY" - Only the intents registered in the - // `intents` field will be enabled. - // "PUNT_FOR_UNCONFIGURED_INTENTS" - Only the intents registered in the - // `intents` field will be enabled. Additionally, read an error message when - // the unconfigured intents are invoked. - CustomIntentMode string `json:"customIntentMode,omitempty"` - // DefaultExecutionConfig: Default instructions for routing of any Intent. The - // data here could be overridden for specific Intents if provided directly in - // the 'intents' field. - DefaultExecutionConfig *AssistantDevicesPlatformProtoExecutionConfig `json:"defaultExecutionConfig,omitempty"` - // InlinedActionCapability: Specifies capabilities for device actions that are - // inlined in the google.assistant.embedded.v1.DeviceAction message. - InlinedActionCapability *AssistantDevicesPlatformProtoInlinedActionCapability `json:"inlinedActionCapability,omitempty"` - // Intents: Intent configurations. Built-in and custom intents may be - // configured here. Note that built-in intents will always behave with - // IntentMode of ENABLE_CONFIGURED_INTENTS_ONLY. The IntentMode for custom - // intents can be changed using the custom_intent_mode. To configure an intent, - // list it here with its intent name, e.g. "MY_CUSTOM_INTENT", - // "google.assistant.car.model.capabilities.AC_TEMPERATURE". - Intents []*AssistantDevicesPlatformProtoIntent `json:"intents,omitempty"` - // ProvidedData: Provided data which augments the device action capabilities. - // Some built-in intents may require additional configuration to be provided. - // One example could be the list of channels available for the - // `action.intent.SelectChannel` intent. - ProvidedData []*AssistantDevicesPlatformProtoProvidedData `json:"providedData,omitempty"` - // Traits: List of built-in traits such as "action.devices.traits.OnOff" See - // java/com/google/home/graph/service/config/protoconf.pi As of Nov. 2017, we - // also support custom traits for EAP users. We'll eventually disable custom - // traits once custom actions are in place. - Traits []string `json:"traits,omitempty"` - // UnderstandingConfig: Specifies the format how Google routes queries to 3P - // cloud. By default, this field is unset, all partners should get shallow NLU. - // This is needed *ONLY* for specific partners for strong business reasons. - UnderstandingConfig *AssistantDevicesPlatformProtoUnderstandingConfig `json:"understandingConfig,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "AssistantDeviceInRoomOptOut") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AssistantDeviceInRoomOptOut") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoDeviceActionCapability) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoDeviceActionCapability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantDevicesPlatformProtoDeviceModifySettingCapability struct { - ClientOpProperty *AssistantApiClientOpPropertiesDeviceModifySettingClientOpProperty `json:"clientOpProperty,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClientOpProperty") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ClientOpProperty") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoDeviceModifySettingCapability) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoDeviceModifySettingCapability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantDevicesPlatformProtoDeviceTakePhotoCapability struct { -} - -// AssistantDevicesPlatformProtoExecutionConfig: Specifies the routing -// capabilities of the Intent. It will apply only when the Intent is triggered. -// Next ID: 8 -type AssistantDevicesPlatformProtoExecutionConfig struct { - // CloudEndpointName: Instructions for performing a cloud execution request for - // the Intent when the execution_type is set to CLOUD. If non-empty, then the - // device execution would be routed to the CloudEndpoint specified by this - // name. The Account Linking exchange may be performed to fetch the OAuth - // access token, and the access token will be included in the HTTP header. - CloudEndpointName string `json:"cloudEndpointName,omitempty"` - // CloudIntentTranslationDisabled: If this field is set, then the Syndication - // cloud call will be disabled for this intent. Note this only applies if any - // Syndication cloud endpoint is associated with the Device Model, otherwise - // setting this field does nothing. By default, all Intents that are enabled - // and supported by the Syndication API will be routed through the Syndication - // cloud endpoint if it's provided. - CloudIntentTranslationDisabled bool `json:"cloudIntentTranslationDisabled,omitempty"` - // IntentCommandFormat: Specifies the intent command format for this Action. - // For example, in order to launch an Android intent instead of receiving the - // device action payload on the client, then this field can be set with - // "intent:/#Intent;...;my_extra={$.params.channels[0].channelCode};end" The - // parameter "{$.params.channels[0].channelCode}" is in JSON path format, and - // will be replaced with the content from the original device action payload. - // Thus, with # JSON "execution": [ { "command": - // "action.devices.commands.SelectChannel", "params": { "channels": [{ - // "channelName": "exampleChannel", "channelCode": "1-1" }] } } ] as the - // original action result, then the final result would look like - // "intent:/#Intent;...;my_extra=\"1-1\";end" - IntentCommandFormat string `json:"intentCommandFormat,omitempty"` - // LocalDisabled: If this field is set, then local execution capability is - // disabled for all matching intents. - LocalDisabled bool `json:"localDisabled,omitempty"` - // LocalExecutionType: Specifies how to execute this Action when it is invoked - // locally (from the same device.) - // - // Possible values: - // "DEFAULT" - Use the default mechanism (route requests directly to the - // device via the regular channel.) - // "CLOUD" - Route all execution requests to cloud. - LocalExecutionType string `json:"localExecutionType,omitempty"` - // RemoteDisabled: If this field is set, then remote execution capability is - // disabled for all matching intents. - RemoteDisabled bool `json:"remoteDisabled,omitempty"` - // RemoteExecutionType: Specifies how to execute this Action when it is invoked - // remotely (from a different device.) - // - // Possible values: - // "DEFAULT" - Use the default mechanism (route requests directly to the - // device via the regular channel.) - // "CLOUD" - Route all execution requests to cloud. - RemoteExecutionType string `json:"remoteExecutionType,omitempty"` - // ForceSendFields is a list of field names (e.g. "CloudEndpointName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloudEndpointName") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoExecutionConfig) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoExecutionConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantDevicesPlatformProtoExecutionWaitCapability struct { -} - -type AssistantDevicesPlatformProtoGetHealthObservationCapability struct { -} - -type AssistantDevicesPlatformProtoInlinedActionCapability struct { - // Alarm: Specifies capabilities for handling on-device alarms. The presence of - // this field, even if empty, implies that the device supports alarms. - Alarm *AssistantDevicesPlatformProtoAlarmCapability `json:"alarm,omitempty"` - // ResponseLimits: Specifies the size limits on responses. If message is not - // defined then no limits exist. - ResponseLimits *AssistantDevicesPlatformProtoResponseLimits `json:"responseLimits,omitempty"` - // SupportSdkExecute: Whether this device model package support sdk.EXECUTE - // client_op (a.k.a action.devices.EXECUTE intent), which will be filled into - // google.assistant.embedded.v1.DeviceAction.device_request_json. It is default - // to true (and not public), since all 3P will depends on the - // device_request_json. Only internal projects like Edoras will set this to - // false. - SupportSdkExecute bool `json:"supportSdkExecute,omitempty"` - // SupportedDeviceOps: Specifies capabilities for handling - // assistant.embedded.v1.DeviceOp. - SupportedDeviceOps *AssistantDevicesPlatformProtoSupportedDeviceOps `json:"supportedDeviceOps,omitempty"` - // SupportsMultiResponse: Specifies whether server can send a series of - // responses for a single query. Example: Routines where multiple actions to be - // executed one after another. - SupportsMultiResponse bool `json:"supportsMultiResponse,omitempty"` - // Timer: Specifies capabilities for handling on-device timers. The presence of - // this field, even if empty, implies that the device supports timers. - Timer *AssistantDevicesPlatformProtoTimerCapability `json:"timer,omitempty"` - // TtsOutput: Specifies whether client supports receiving - // `DeviceAction.tts_output`. - TtsOutput *AssistantDevicesPlatformProtoTtsOutputCapability `json:"ttsOutput,omitempty"` - // ForceSendFields is a list of field names (e.g. "Alarm") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Alarm") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoInlinedActionCapability) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoInlinedActionCapability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantDevicesPlatformProtoIntValueSpec struct { - MaxValue int64 `json:"maxValue,omitempty,string"` - MinValue int64 `json:"minValue,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "MaxValue") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MaxValue") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoIntValueSpec) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoIntValueSpec - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantDevicesPlatformProtoIntent: An intent configures the behavior of a -// device action for this device. Next ID: 7 -type AssistantDevicesPlatformProtoIntent struct { - // ArgSpecs: List of arguments associated this intent. Each of which depends a - // template for the expected argument. - ArgSpecs map[string]AssistantDevicesPlatformProtoArgSpec `json:"argSpecs,omitempty"` - // ExecutionConfig: Instructions for the routing of this Intent. - ExecutionConfig *AssistantDevicesPlatformProtoExecutionConfig `json:"executionConfig,omitempty"` - // Name: The name of the intent. - Name string `json:"name,omitempty"` - // ProvidedDataNames: List of provided data names used by this intent. Note - // that some built-in intents will not function properly without provided data, - // such as `action.intent.SwitchChannel` or `action.intent.AppSelector`. - ProvidedDataNames []string `json:"providedDataNames,omitempty"` - // SecurityConfig: Security configuration for this Intent. - SecurityConfig *AssistantDevicesPlatformProtoSecurityConfig `json:"securityConfig,omitempty"` - // TriggerConditions: The conditions which must be met by the device before - // executing this Intent. More than one can be provided, in which case the - // conditions operate with the "AND" operator, i.e. the first condition which - // is failed will be used to restrict the execution of this Intent. - TriggerConditions []*AssistantDevicesPlatformProtoTriggerCondition `json:"triggerConditions,omitempty"` - // ForceSendFields is a list of field names (e.g. "ArgSpecs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ArgSpecs") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoIntent) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoIntent - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantDevicesPlatformProtoInternalCapability: Capabilities that may only -// be set internally. Only internal callers (i.e. Googlers or Google owned -// projects) will be able to set these, thanks to -// go/assistant-device-model-package-ownership. -type AssistantDevicesPlatformProtoInternalCapability struct { - // AllowedAssistantSdkAuthProjectIds: When using the Assistant SDK (Embedded - // Assistant API), the project id used to authenticate the gRPC request is - // checked and must match against the project id of the Device Model. We will - // additionally allow the project ids listed in the device model here to be let - // through. See - // https://docs.google.com/document/d/1InAczpQJs6LCH1l--2yy67JM9hsBJbiL57fusnL3A8A - AllowedAssistantSdkAuthProjectIds []string `json:"allowedAssistantSdkAuthProjectIds,omitempty"` - // AppCapabilitiesFromDeviceInstallApps: Load the assistant.api.AppCapabilities - // from DEVICE_INSTALLED_APP footprint corpus. See go/edoras-geller. - AppCapabilitiesFromDeviceInstallApps bool `json:"appCapabilitiesFromDeviceInstallApps,omitempty"` - // CloudDeviceActionEndpoint: Uses this endpoint for device action fulfillment - // when there's no endpoint in syndication_metadata. 1p surfaces/devices such - // as telephone can enable this for its cloud action fulfillment without - // enabling the whole syndication experience. - CloudDeviceActionEndpoint *AssistantDevicesPlatformProtoCloudEndpoint `json:"cloudDeviceActionEndpoint,omitempty"` - // DeviceActionsEligibleForHighConfidence: Signals that the model will have - // updated ranking behavior as described in - // https://docs.google.com/document/d/1SN_AgadRr_cdIrFe-qgRbIX2J1sOE7lcRXAvM1GUPoU. - DeviceActionsEligibleForHighConfidence bool `json:"deviceActionsEligibleForHighConfidence,omitempty"` - // ForceSignIn: Make Google sign-in mandatory for using Google Assistant on the - // device. (This bit is initially added for Samsung TV.) - ForceSignIn bool `json:"forceSignIn,omitempty"` - // ForceThirdPartyDeviceIdForDeviceLookup: When looking up device (for example - // for disclosure consent check), then always use the third party device id for - // lookup instead of any other device id which would normally have higher - // precedence, such as cast_device_id. - ForceThirdPartyDeviceIdForDeviceLookup bool `json:"forceThirdPartyDeviceIdForDeviceLookup,omitempty"` - // ForceTransactionsAuthentication: Adds "transactions.AUTHENTICATION" for car - // automation probers. Since the probers run as Assistant SDK requests, voice - // match always fails for car automation requests, so we add this client op as - // a hack to allow probers to appear as personal devices and bypass voice - // match. See b/137221645. - ForceTransactionsAuthentication bool `json:"forceTransactionsAuthentication,omitempty"` - // HasCustomSearchResultsRendering: Signals that this device can "render" raw - // search results even with no screen (e.g., using a text reader). If this is - // true, fallback search results can be returned as a custom device action in a - // SearchResults message. - // http://google3/assistant/embedded/proto_translation/utils/proto/search_results.proto - HasCustomSearchResultsRendering bool `json:"hasCustomSearchResultsRendering,omitempty"` - // OverrideProjectIdForDeviceLookup: When looking up device (for example for - // disclosure consent check), use this project id as part of the primary key - // for the device lookup (i.e. instead of the device_config.agent_id.) The - // precedence is as follows: 1) this field, if set for the device's device - // model 2) device_config.agent_id 3) device_model.project_id - OverrideProjectIdForDeviceLookup string `json:"overrideProjectIdForDeviceLookup,omitempty"` - StadiaAssistantConfig *AssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfig `json:"stadiaAssistantConfig,omitempty"` - // TelephoneAttribution: Telephone server is able to send attribution to user - // feature phone. See go/telephone-attribution. - TelephoneAttribution bool `json:"telephoneAttribution,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "AllowedAssistantSdkAuthProjectIds") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. - // "AllowedAssistantSdkAuthProjectIds") to include in API requests with the - // JSON null value. By default, fields with empty values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for - // more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoInternalCapability) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoInternalCapability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfig: The -// StadiaAssistantConfig. This field should only be set if the device model is -// a Stadia. -type AssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfig struct { - // Possible values: - // "UNSPECIFIED" - Platform unspecified. - // "CHROMECAST" - Platform is Chromecast. - // "WEB_BROWSER" - Platform is web browser. - StadiaPlatform string `json:"stadiaPlatform,omitempty"` - // ForceSendFields is a list of field names (e.g. "StadiaPlatform") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "StadiaPlatform") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfig) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoInternalCapabilityStadiaAssistantConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantDevicesPlatformProtoMediaNextCapability struct { -} - -type AssistantDevicesPlatformProtoMediaPauseCapability struct { -} - -type AssistantDevicesPlatformProtoMediaPlayMediaCapability struct { -} - -type AssistantDevicesPlatformProtoMediaPreviousCapability struct { -} - -type AssistantDevicesPlatformProtoMediaResumeCapability struct { -} - -type AssistantDevicesPlatformProtoMediaShowControlsCapability struct { -} - -type AssistantDevicesPlatformProtoMediaStopCapability struct { -} - -type AssistantDevicesPlatformProtoOptionValueSpec struct { - Values []string `json:"values,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Values") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoOptionValueSpec) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoOptionValueSpec - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantDevicesPlatformProtoProvidedData: Provided data which augments the -// device action capabilities. Some built-in intents may require additional -// configuration to be provided. One example could be the list of channels -// available for the `action.intent.SelectChannel` intent. -type AssistantDevicesPlatformProtoProvidedData struct { - Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoProvidedData) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoProvidedData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantDevicesPlatformProtoProviderFulfillCapability struct { -} - -type AssistantDevicesPlatformProtoProviderOpenCapability struct { - ClientOpProperty *AssistantApiClientOpPropertiesProviderOpenClientOpProperty `json:"clientOpProperty,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClientOpProperty") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ClientOpProperty") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoProviderOpenCapability) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoProviderOpenCapability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantDevicesPlatformProtoResponseLimits: Specifies the size limits on -// responses receivable by the client. -type AssistantDevicesPlatformProtoResponseLimits struct { - // MaxAssistResponseSizeBytes: Max size in bytes of the total serialized - // AssistResponse receivable by the client. If response exceeds this max, - // response may be modified by the server. - MaxAssistResponseSizeBytes int64 `json:"maxAssistResponseSizeBytes,omitempty"` - // MaxDisplayLinesBytes: Maximum size in bytes (not characters) of text the - // display can handle (which may be different from how much the display can - // show at a time due to scrolling). - MaxDisplayLinesBytes int64 `json:"maxDisplayLinesBytes,omitempty"` - // MaxSuggestionChipBytes: Maximum size in bytes (not characters) for each - // suggestion chip. - MaxSuggestionChipBytes int64 `json:"maxSuggestionChipBytes,omitempty"` - // MaxSuggestionChips: Maximum number of suggestion chips the device can handle - // to display. - MaxSuggestionChips int64 `json:"maxSuggestionChips,omitempty"` - // ForceSendFields is a list of field names (e.g. "MaxAssistResponseSizeBytes") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MaxAssistResponseSizeBytes") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoResponseLimits) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoResponseLimits - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantDevicesPlatformProtoSecurityConfig: Encapsulates security -// configuration for a single intent of a device model. -type AssistantDevicesPlatformProtoSecurityConfig struct { - // AuthMechanismForRemoteRequests: Specifies auth mechanism to be used upon - // remote request for device action. - // - // Possible values: - // "NONE" - Indicates that auth is not required. - // "ENABLED" - Indicates that auth is required. Auth mechanism used is - // determined automatically at query time, based on various factors such as - // device type, user settings, etc. - // "FINGERPRINT_OR_PASSWORD" - Use fingerprint, with fallback to Google - // account password if fingerprint capabilities are not available on personal - // device. Note: explicit configuration of specific auth mechanism is being - // deprecated. - // "PIN" - Prompt for pin, sent to cloud for validation. Note: explicit - // configuration of specific auth mechanism is being deprecated. - AuthMechanismForRemoteRequests string `json:"authMechanismForRemoteRequests,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "AuthMechanismForRemoteRequests") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AuthMechanismForRemoteRequests") - // to include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoSecurityConfig) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoSecurityConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantDevicesPlatformProtoSendChatMessageCapability struct { -} - -// AssistantDevicesPlatformProtoSupportedDeviceOps: This message will specify -// supports for fields in |assistant.embedded.v1.DeviceOp|, for a device model -// package. See go/easi-client-op2 for more info. Next ID: 19 -type AssistantDevicesPlatformProtoSupportedDeviceOps struct { - // CallCall: |call_call| specifies the support for the call.CALL clientop, and - // the corresponding call_call field in assistant.embedded.v1.DeviceOp. - CallCall *AssistantDevicesPlatformProtoCallCallCapability `json:"callCall,omitempty"` - // ClientReconnect: |client_reconnect| indicates support for client.RECONNECT - // using assistant.embedded.v1.DeviceOp. There is an alternative API/capability - // for client.RECONNECT specified in RoutineCapability.supports_reconnect. - // Client should choose between this and RoutineCapability but not both. - ClientReconnect *AssistantDevicesPlatformProtoClientReconnectCapability `json:"clientReconnect,omitempty"` - // CoreDismissAssistant: [core_dismiss_assistant] specifies the support for - // core.DISMISS_ASSISTANT client_op and the corresponding - // core_dismiss_assistant field in assistant.embedded.v1.DeviceOp. - CoreDismissAssistant *AssistantDevicesPlatformProtoCoreDismissAssistantCapability `json:"coreDismissAssistant,omitempty"` - // DeviceModifySetting: |device_modify_setting| specifies the support for - // device.MODIFY_SETTING client_op, and the corresponding device_modify_setting - // field in assistant.embedded.v1.DeviceOp. - DeviceModifySetting *AssistantDevicesPlatformProtoDeviceModifySettingCapability `json:"deviceModifySetting,omitempty"` - // DeviceTakePhoto: [device_take_photo] specifies the support for the - // device.TAKE_PHOTO clientop, and the corresponding device_take_photo field in - // assistant.embedded.v1.DeviceOp. - DeviceTakePhoto *AssistantDevicesPlatformProtoDeviceTakePhotoCapability `json:"deviceTakePhoto,omitempty"` - // ExecutionWait: |execution_wait| specifies the support for execution.WAIT - // client_op, and the corresponding execution_wait field in - // assistant.embedded.v1.DeviceOp. - ExecutionWait *AssistantDevicesPlatformProtoExecutionWaitCapability `json:"executionWait,omitempty"` - // GetHealthObservation: |get_health_observation| specifies the support for - // get_health_observation client_op, and the corresponding - // get_health_observation field in assistant.embedded.v1.DeviceOp. - GetHealthObservation *AssistantDevicesPlatformProtoGetHealthObservationCapability `json:"getHealthObservation,omitempty"` - MediaNext *AssistantDevicesPlatformProtoMediaNextCapability `json:"mediaNext,omitempty"` - MediaPause *AssistantDevicesPlatformProtoMediaPauseCapability `json:"mediaPause,omitempty"` - MediaPlayMedia *AssistantDevicesPlatformProtoMediaPlayMediaCapability `json:"mediaPlayMedia,omitempty"` - MediaPrevious *AssistantDevicesPlatformProtoMediaPreviousCapability `json:"mediaPrevious,omitempty"` - MediaResume *AssistantDevicesPlatformProtoMediaResumeCapability `json:"mediaResume,omitempty"` - MediaShowControls *AssistantDevicesPlatformProtoMediaShowControlsCapability `json:"mediaShowControls,omitempty"` - MediaStop *AssistantDevicesPlatformProtoMediaStopCapability `json:"mediaStop,omitempty"` - // ProviderFulfill: |provider_fulfill| specifies the support for - // provider.FULFILL client_op, and the corresponding provider_fulfill field in - // assistant.embedded.v1.DeviceOp. - ProviderFulfill *AssistantDevicesPlatformProtoProviderFulfillCapability `json:"providerFulfill,omitempty"` - // ProviderOpen: |provider_open| specifies the support for provider.OPEN - // client_op, and the corresponding provider_open field in - // assistant.embedded.v1.DeviceOp. - ProviderOpen *AssistantDevicesPlatformProtoProviderOpenCapability `json:"providerOpen,omitempty"` - // SendChatMessage: |send_chat_message| specifies the support for the - // chat_message.SEND clientop, and the corresponding send_chat_message field in - // assistant.embedded.v1.DeviceOp. - SendChatMessage *AssistantDevicesPlatformProtoSendChatMessageCapability `json:"sendChatMessage,omitempty"` - // UiShowInterpreter: |ui_show_interpreter| specifies the support for - // ui.SHOW_INTERPRETER client_op, and the corresponding ui_show_interpreter - // field in assistant.embedded.v1.DeviceOp. - UiShowInterpreter *AssistantDevicesPlatformProtoUiShowInterpreterCapability `json:"uiShowInterpreter,omitempty"` - // ForceSendFields is a list of field names (e.g. "CallCall") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CallCall") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoSupportedDeviceOps) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoSupportedDeviceOps - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantDevicesPlatformProtoTimerCapability: Capability with regard to -// support of timers by the client. -type AssistantDevicesPlatformProtoTimerCapability struct { - // MaxSupportedExtendedTimerDuration: Maximum extended timer duration supported - // by the client. The extended timer duration is the total start-to-finish - // duration after an AddTimeToTimer operation. E.g. if a user sets a timer for - // 30 minutes, and later adds 10 minutes, the extended duration is 40 minutes. - // Zero or unset indicates no maximum limit. - MaxSupportedExtendedTimerDuration *AssistantApiDuration `json:"maxSupportedExtendedTimerDuration,omitempty"` - // MaxSupportedTimerDuration: Maximum timer duration supported by the client. - // Zero or unset indicates no maximum limit. - MaxSupportedTimerDuration *AssistantApiDuration `json:"maxSupportedTimerDuration,omitempty"` - // MaxSupportedTimers: Maximum number of timers that can be created on the - // client. Zero or unset indicates no maximum limit. - MaxSupportedTimers int64 `json:"maxSupportedTimers,omitempty"` - // SupportsMutateAction: Whether the client supports the MUTATE timer action. - // If this is false, mutate operations may be handled by sending a pair of - // REMOVE and CREATE timer actions to replace the existing timer instead of - // mutating it. - SupportsMutateAction bool `json:"supportsMutateAction,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "MaxSupportedExtendedTimerDuration") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. - // "MaxSupportedExtendedTimerDuration") to include in API requests with the - // JSON null value. By default, fields with empty values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for - // more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoTimerCapability) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoTimerCapability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantDevicesPlatformProtoTriggerCondition: A TriggerCondition is -// described as a set of states which must be met by the device. It also -// includes instructions to the Assistant on what kind of response to execute -// when the condition is not met. -type AssistantDevicesPlatformProtoTriggerCondition struct { - // RequiredStateValues: The map of state keys along with their values which - // must be returned by the device, for example to start the dishwasher you may - // require states: {"door": "CLOSED", "detergent_status": "READY"}. - RequiredStateValues map[string]AssistantDevicesPlatformProtoArgSpec `json:"requiredStateValues,omitempty"` - // SimpleTts: A simple TTS to play. - SimpleTts string `json:"simpleTts,omitempty"` - // Status: Refers to a defined ConditionalResult keyed by its status. It could - // be a built-in or custom ConditionalResult for this Intent. Note: the states - // provided by the device MUST contain all of the states required by the - // ConditionalResult. - Status string `json:"status,omitempty"` - // ForceSendFields is a list of field names (e.g. "RequiredStateValues") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RequiredStateValues") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoTriggerCondition) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoTriggerCondition - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantDevicesPlatformProtoTtsOutputCapability: Capabilities with regard -// to support of outputting TTS. -type AssistantDevicesPlatformProtoTtsOutputCapability struct { - // SupportsStructuredTts: Specifies whether client supports out-of-band TTS - // synthesis. When this is enabled, client could receive TTS request message in - // `SpeechOutputArgs.structured_tts` which it can then use to make request to - // S3 for synthesizing TTS audio. - SupportsStructuredTts bool `json:"supportsStructuredTts,omitempty"` - // ForceSendFields is a list of field names (e.g. "SupportsStructuredTts") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SupportsStructuredTts") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoTtsOutputCapability) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoTtsOutputCapability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantDevicesPlatformProtoUiShowInterpreterCapability struct { -} - -// AssistantDevicesPlatformProtoUnderstandingConfig: Specifies the NLU level -// that Google performs, which determines the request format sent to the 3P -// cloud. -type AssistantDevicesPlatformProtoUnderstandingConfig struct { - // NluLevel: Specifies the NLU level for the intent. - // - // Possible values: - // "DEFAULT_SHALLOW_NLU" - Default value: Shallow NLU, the cloud request - // contains a structured intent including the command (e.g. - // "action.devices.commands.SelectChannel"), the unparsed description (e.g. - // "Tom Cruise action movies"), the target device and the target application. - // "NO_NLU" - No NLU, the cloud request contains the transcribed query (raw - // query or rewritten query based on previous conversation). - // "DEEP_NLU" - Deep NLU, the cloud request specifies a structured - // description of the media the user wants to act upon. E.g.: for query "Play - // an action movie with Tom Cruise", the structured description would be: - // "parsedMediaDescription": { "mediaType": "MOVIE", "genre": { "name": - // "action", "externalId": { "tmsId": "tmsIdForActionGenre" }, }, "actor": { - // "name": "Tom Cruise", "externalId": { "tmsId": "tmsRootIdForTomCruise", }, - // }, }, - NluLevel string `json:"nluLevel,omitempty"` - // ForceSendFields is a list of field names (e.g. "NluLevel") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NluLevel") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantDevicesPlatformProtoUnderstandingConfig) MarshalJSON() ([]byte, error) { - type NoMethod AssistantDevicesPlatformProtoUnderstandingConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantLogsAllMediaStreamLog struct { - // Streams: All active media streams while the user issues the query. - Streams []*AssistantLogsMediaStreamLog `json:"streams,omitempty"` - // TargetStream: The stream selected by stream transfer logic to be transferred - // to another device. It will be empty for other features. Target_stream is - // different from target_device since target_stream could have multiple - // devices. - TargetStream *AssistantLogsMediaStreamLog `json:"targetStream,omitempty"` - // ForceSendFields is a list of field names (e.g. "Streams") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Streams") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsAllMediaStreamLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsAllMediaStreamLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsAmbiguousTargetDeviceLog: This message logs details on -// ambiguous device targeting logic. 1. It first takes a list of ambiguous -// devices 2. Then applies two filters: structure filter and playability -// filter. 3. If more than one device remains, it tiggers DeviceSelectionDialog -// to let the user pick one device. -type AssistantLogsAmbiguousTargetDeviceLog struct { - // AmbiguousDeviceIndex: Device index of the initial ambiguous devices. The - // device index in this message is consistent with the device index in - // DeviceInfoLog. It would be used to track more detailed information of a - // device if needed. - AmbiguousDeviceIndex []int64 `json:"ambiguousDeviceIndex,omitempty"` - // DevicesAfterPromoters: DeviceInfo for devices after the filters and - // promoters. - When device targeting is only configured for single target, - // these are ambiguous devices that would have been the output of Lumos. - // Downstream may perform extra check before disambiguation dialog. For - // example, Media Initiation checks playability for devices. The output here is - // before the check. - When configured for multi-target, these are just the - // target devices. For privacy consideration, we may only log device id field - // inside. - DevicesAfterPromoters []*AssistantLogsDeviceInfoLog `json:"devicesAfterPromoters,omitempty"` - // FinalTargetDevice: the final targeted device selected by playability filter - // or DeviceSelectionDialog - FinalTargetDevice *AssistantLogsDeviceInfoLog `json:"finalTargetDevice,omitempty"` - // PlayabilityFilteredDevicesIndex: Device index of the devices after - // playability filter - PlayabilityFilteredDevicesIndex []int64 `json:"playabilityFilteredDevicesIndex,omitempty"` - // PuntInfoLog: When there is no qualified devices after playability check, it - // would populate punt_info below. If all devices are filtered out for the same - // reason, there would only be one item. Otherwise, there will be multiple - // items. - PuntInfoLog []*AssistantLogsAmbiguousTargetDeviceLogPuntInfoLog `json:"puntInfoLog,omitempty"` - // StructureFilteredDeviceIndex: Device index of the devices after structure - // filter - StructureFilteredDeviceIndex []int64 `json:"structureFilteredDeviceIndex,omitempty"` - // ForceSendFields is a list of field names (e.g. "AmbiguousDeviceIndex") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AmbiguousDeviceIndex") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsAmbiguousTargetDeviceLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsAmbiguousTargetDeviceLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsAmbiguousTargetDeviceLogPuntInfoLog: PuntInfoLog is used to log -// why devices get filtered out during media content playability check. It -// contains media excuse, provider mid and also index of devices filtered by -// them. -type AssistantLogsAmbiguousTargetDeviceLogPuntInfoLog struct { - // DeviceIndex: Index of devices that have the same punt info during - // playability check, i.e. same media_excuse and provider_mid. - DeviceIndex []int64 `json:"deviceIndex,omitempty"` - // MediaExcuse: Excuse for media action triggering. See: - // assistant/verticals/media/proto/media_excuse.proto. - MediaExcuse int64 `json:"mediaExcuse,omitempty"` - // ProviderMid: Provider id that the excuse belongs to. This is the KG MID of - // the provider, e.g., "/m/09jcvs" for Youtube. - ProviderMid string `json:"providerMid,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceIndex") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceIndex") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsAmbiguousTargetDeviceLogPuntInfoLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsAmbiguousTargetDeviceLogPuntInfoLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsAvailableDeviceAndCtfContextDiffLog: A list of per-device -// contexts and their respective diffs between AvailableDevice and CTF. -type AssistantLogsAvailableDeviceAndCtfContextDiffLog struct { - // LocalNetworkIdDiff: The diff between AvailableDevice and CTF for the local - // network ID of the device. - // - // Possible values: - // "CONTEXT_DIFF_TYPE_UNKNOWN" - // "CONTEXT_PRESENT_AND_EQUAL" - // "CONTEXT_PRESENT_AND_NOT_EQUAL" - // "CONTEXT_PRESENT_ONLY_IN_AVAILABLE_DEVICE" - // "CONTEXT_PRESENT_ONLY_IN_CTF" - // "CONTEXT_MISSING_IN_BOTH" - LocalNetworkIdDiff string `json:"localNetworkIdDiff,omitempty"` - // LocationFeatureDiff: The diff between AvailableDevice and CTF for the - // feature proto of the location of the device. - // - // Possible values: - // "CONTEXT_DIFF_TYPE_UNKNOWN" - // "CONTEXT_PRESENT_AND_EQUAL" - // "CONTEXT_PRESENT_AND_NOT_EQUAL" - // "CONTEXT_PRESENT_ONLY_IN_AVAILABLE_DEVICE" - // "CONTEXT_PRESENT_ONLY_IN_CTF" - // "CONTEXT_MISSING_IN_BOTH" - LocationFeatureDiff string `json:"locationFeatureDiff,omitempty"` - // ForceSendFields is a list of field names (e.g. "LocalNetworkIdDiff") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LocalNetworkIdDiff") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsAvailableDeviceAndCtfContextDiffLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsAvailableDeviceAndCtfContextDiffLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsAvailableDevicesLog: Contains the available devices in -// DeviceTargetingContext. -type AssistantLogsAvailableDevicesLog struct { - AvailableDeviceInfoLog []*AssistantLogsDeviceInfoLog `json:"availableDeviceInfoLog,omitempty"` - // ForceSendFields is a list of field names (e.g. "AvailableDeviceInfoLog") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AvailableDeviceInfoLog") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsAvailableDevicesLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsAvailableDevicesLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsCommunicationDeviceContactInfoLog: This is the log version of -// apps.people.oz.external.mergedpeopleapi.DeviceContactInfo Next ID: 2 -type AssistantLogsCommunicationDeviceContactInfoLog struct { - // RawContactInfo: This list provides account information from the raw contact - // which is the source of this field. - RawContactInfo []*AssistantLogsCommunicationRawDeviceContactInfoLog `json:"rawContactInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "RawContactInfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RawContactInfo") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsCommunicationDeviceContactInfoLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsCommunicationDeviceContactInfoLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsCommunicationFuzzyNgramMatchLog: This is the log version of -// fuzzy ngram match results that's used for generating the best fuzzy match. -// Next ID: 3 -type AssistantLogsCommunicationFuzzyNgramMatchLog struct { - RelativeCost float64 `json:"relativeCost,omitempty"` - // Possible values: - // "NONE" - // "EDIT_DISTANCE" - // "GENIE_PLEXICON_DISTANCE" - // "GENIE_ALTERNATIVE_RECOGNITION" - // "JAPANESE_NAME_TRANSLITERATOR" - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "RelativeCost") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RelativeCost") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsCommunicationFuzzyNgramMatchLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsCommunicationFuzzyNgramMatchLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *AssistantLogsCommunicationFuzzyNgramMatchLog) UnmarshalJSON(data []byte) error { - type NoMethod AssistantLogsCommunicationFuzzyNgramMatchLog - var s1 struct { - RelativeCost gensupport.JSONFloat64 `json:"relativeCost"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.RelativeCost = float64(s1.RelativeCost) - return nil -} - -// AssistantLogsCommunicationGoogleAccountProvenance: From -// google3/quality/qrewrite/proto/account_provenance.proto;l=14 We need to copy -// this as the above proto has Enum field which is not compatible between -// proto2 and proto3. go/proto2-versus-proto3#enums -type AssistantLogsCommunicationGoogleAccountProvenance struct { - Email string `json:"email,omitempty"` - GaiaId int64 `json:"gaiaId,omitempty,string"` - IsDasherAccount bool `json:"isDasherAccount,omitempty"` - // ForceSendFields is a list of field names (e.g. "Email") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Email") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsCommunicationGoogleAccountProvenance) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsCommunicationGoogleAccountProvenance - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsCommunicationPersonMetadataLog: This is the log version of -// apps.people.oz.external.mergedpeopleapi.PersonMetadata Next ID: 2 -type AssistantLogsCommunicationPersonMetadataLog struct { - DeviceContactInfo []*AssistantLogsCommunicationDeviceContactInfoLog `json:"deviceContactInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceContactInfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceContactInfo") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsCommunicationPersonMetadataLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsCommunicationPersonMetadataLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsCommunicationPersonalContactDataLog: Contact meta data. Next -// ID: 31 -type AssistantLogsCommunicationPersonalContactDataLog struct { - // AccountProvenance: Google AccountProvenance of the contact. - AccountProvenance *AssistantLogsCommunicationGoogleAccountProvenance `json:"accountProvenance,omitempty"` - // CommonNameAliasConfidence: Populated if matched_name_type is - // GIVEN_NAME_ALIAS or FULL_NAME_ALIAS. - CommonNameAliasConfidence float64 `json:"commonNameAliasConfidence,omitempty"` - // ConceptId: Concept id for relationships in English, e.g. "Mother" for all - // non-English locales. It's only populated for source = RELATIONSHIP. - ConceptId string `json:"conceptId,omitempty"` - // DeviceContactAttributes: Integer value corresponding to - // DeviceContactExtraMetadata.Attribute enum. - // http://google3/social/graph/wire/proto/merged_person.proto?l=933&rcl=320308954 - DeviceContactAttributes []int64 `json:"deviceContactAttributes,omitempty"` - // EmailIdCount: # emails stored for the contact. - EmailIdCount int64 `json:"emailIdCount,omitempty"` - // FuzzyNgramMatch: Populate only if ContactRecognitionAlternate.Source is - // 'FUZZY_CONTACT_MATCH'. - FuzzyNgramMatch []*AssistantLogsCommunicationFuzzyNgramMatchLog `json:"fuzzyNgramMatch,omitempty"` - // GaiaId: Contact owner's gaia id from - // cs/symbol::symbol:quality_qrewrite.PersonalContactData.shared_contact_owner_g - // aia_id. Only populated for is_shared = true and non sign-out mode and user - // is not the owner of the contact(shared contact from other user). This field - // is not being logged in P2. - GaiaId int64 `json:"gaiaId,omitempty,string"` - // IsContactFromSecondaryAccount: Boolean value indicating whether selected - // contact is from different account than the logged in account. - IsContactFromSecondaryAccount bool `json:"isContactFromSecondaryAccount,omitempty"` - // IsExactMatch: If the contact is matched exactly from the query name. - IsExactMatch bool `json:"isExactMatch,omitempty"` - // IsShared: If this is a shared contact. This is true in 2 cases: - User is - // calling their own contacts that have been marked as shared. - User is - // calling shared contacts from some other user's contact list. This field is - // not being logged in P2. - IsShared bool `json:"isShared,omitempty"` - // IsTransliteratedMatch: Indicate the contact matches the transliterated - // query. - IsTransliteratedMatch bool `json:"isTransliteratedMatch,omitempty"` - // IsVanityContact: True if the contact is a vanity contact(has email = user's - // email address). - IsVanityContact bool `json:"isVanityContact,omitempty"` - // IsVisibleToGuestsRelationship: If the lookup was done using relationship - // which is visible to guests. This value will only be set if lookup was done - // using relationship. E.g. user has a guest relationship (doctor) -> (John) - // And user says "call doctor", then this value will be true. - IsVisibleToGuestsRelationship bool `json:"isVisibleToGuestsRelationship,omitempty"` - // MatchedNameType: The matched name type of a contact candidate. - // - // Possible values: - // "UNSPECIFIED" - // "GIVEN_NAME" - Contact's given name, or first word in name, or last word - // if query is in CJK. - // "FAMILY_NAME" - Contact's family name, or last word in name, or first word - // if query is in CJK. - // "FULL_NAME" - Contact's display name, or given+family, or family+given if - // query is in CJK. Contact's middle name is optional. - // "NICKNAME" - Query span matches contact's nickname. - // "OTHER" - Not used yet. - // "INITIAL_WITH_FAMILY_NAME" - Either or both of first/middle initials along - // with family name. - // "EMAIL_USERNAME" - Email username, controlled by - // FocusNameParams.annotate_email_username. - // "VANITY_NICKNAME" - Vanity nicknames like "myself", data is at - // //quality/qrewrite/servlets/internal/focus_name/data/vanity_nickname.txt - // "GIVEN_NAME_ALIAS" - Contact's given name is a common name alias of query - // span, e.g. query [Bob] may match contact with given name "Robert". - // "FULL_NAME_ALIAS" - Contact's given name is a common name alias of first - // word in query span, while remaining parts fully matched. - // "HOMOPHONE_GIVEN_NAME" - Homophone name match of given name, or last word. - // Only for CJK query. - // "HOMOPHONE_FAMILY_NAME" - Homophone name match of family name, or first - // word. Only for CJK query. - // "HOMOPHONE_FULL_NAME" - Homophone name match of full name, or - // family+given. Only for CJK query. - // "HOMOPHONE_NICKNAME" - Homophone name match of nickname. Only for CJK - // query. - // "GIVEN_MIDDLE_NAME" - Contact's given name + middle name. Only for - // contacts with 3 words. - // "GIVEN_NAME_WITH_FAMILY_NAME_INITIAL" - Contact's given name along with - // last name initial. Only support non-CJKT contact name. - // "EMAIL_OF_FAMILY_MEMBER" - This type indicates we find a match of the - // user's family member - as defined by families.google.com - by matching the - // email full address. Controlled by - // FocusNameParams.annotate_email_full_address. - MatchedNameType string `json:"matchedNameType,omitempty"` - // MatchedRecognitionAlternateName: Alternate recognition term which was used - // to match this contact. - MatchedRecognitionAlternateName string `json:"matchedRecognitionAlternateName,omitempty"` - // MatchedStarlightLookupName: Ngram matched by starlight lookup for fuzzy - // matching in fulfillment. We need this to analyze how many contacts are - // returned by starlight lookup that is not matched by fuzzy matching. For - // example, "Komal Dear" is matched to "Komal Dr" by fuzzy match. When doing - // starlight lookup, "Komal" and "Dr" will be looked up separately. So "Dr xxx" - // will also be returned. We want to see how often this happens. - MatchedStarlightLookupName []string `json:"matchedStarlightLookupName,omitempty"` - // Metadata: PersonMetadata of the selected contact. - Metadata *AssistantLogsCommunicationPersonMetadataLog `json:"metadata,omitempty"` - // NameMatchedContactIndex: The indices of the contact in |candidate_contact| - // whose name matches the |selected_contact_data|. |candidate_contact|: - // http://google3/logs/proto/assistant/contact.proto?l=111&rcl=306283376 - // |selected_contact_data|: - // http://google3/logs/proto/assistant/contact.proto?l=108&rcl=306283376 - NameMatchedContactIndex []int64 `json:"nameMatchedContactIndex,omitempty"` - // OriginalQueryName: The original name in the query as transcribed by ASR. - OriginalQueryName string `json:"originalQueryName,omitempty"` - // Phone: Information regarding the phone endpoints of the selected contact. - // Currently it is only logged for selected candidate. - Phone []*AssistantLogsCommunicationPhoneLog `json:"phone,omitempty"` - // PhoneNumberCount: # phone_numbers stored for the contact. - PhoneNumberCount int64 `json:"phoneNumberCount,omitempty"` - // PkgReferenceType: Encodes if pkg_person was resolved via a name or - // relationship reference. - // - // Possible values: - // "UNKNOWN_PKG_REFERENCE_TYPE" - // "PKG_NAME_REFERENCE" - Ann [Charlie] - // "PKG_RELATIONSHIP_REFERENCE" - my family dad my sister's kids - PkgReferenceType string `json:"pkgReferenceType,omitempty"` - // RecognitionAlternateScore: Populate only if - // ContactRecognitionAlternate.Source is not NONE. - RecognitionAlternateScore float64 `json:"recognitionAlternateScore,omitempty"` - // RecognitionAlternateSource: Recognition alternative source type. If not - // none, then it indicates the personal contact data is alternative and how the - // alternative is fulfilled. - // - // Possible values: - // "NONE" - // "S3_HYPOTHESES" - Alternate name from S3 recognition topN hypothesis. - // "GENIE_QUERY_ALTERNATIVES" - Alternate name from Genie query alternatives. - // "NAME_CORRECTION_LOG" - Alternate name from contact correction history. - // "FUZZY_CONTACT_MATCH" - Fuzzy match with user's contacts. - // "NEURAL_CONTACT_MATCH" - Neural match. See go/phonetic-contact-match. - // "NEURAL_CONTACT_MATCH_DARK_LAUNCH" - The dark launch for a neural match. - // We found a match, but we ignore it for serving and just log it. - // "PERSONALIZED_NAME_CORRECTION_LOG" - Personalized alternate name from - // Assistant User Profile that stores personalized contact name corrections - // under ContactAlternates profile. - RecognitionAlternateSource string `json:"recognitionAlternateSource,omitempty"` - // RelationshipMemoryCount: The number of resolved relationship names and - // contact pointers from Assistant Memory. - RelationshipMemoryCount int64 `json:"relationshipMemoryCount,omitempty"` - // SelectedPhone: Information regarding the selected phone endpoint. Currently - // it is only logged for selected candidate. - SelectedPhone *AssistantLogsCommunicationPhoneLog `json:"selectedPhone,omitempty"` - // ShortcutContactInfo: Shortcut information of the contact. - ShortcutContactInfo *MajelContactInformationShortcutInformation `json:"shortcutContactInfo,omitempty"` - // Source: The contact source of a contact candidate. - // - // Possible values: - // "UNKNOWN" - // "FOCUS_CONTACT" - Contacts from Focus - // "DEVICE_CONTACT" - Contacts from device, see go/device-content - // "GMAIL_INFERENCE" - Contacts inferred from Gmail - // "S3_DECORATOR" - Contacts from S3 decorator - // "RELATIONSHIP" - Whitelisted relationships no matter if user has such - // contact, see go/sls-personal_relationship_names_and_aliases. - // "VANITY" - Vanity nicknames or user's own profile name. - // "SIGNED_OUT_DEVICE" - Signed out device contact names - // "SHARED_CONTACT" - Contacts shared from other users. See - // go/multi-user-shared-contact. - // "FAMILY_MEMBER" - People in the user's family group in - // http://families.google.com who are not contacts. - // "SHARED_DEVICE_USER" - People who share a device with the user who are not - // contacts. - // "ON_DEVICE_CONTACT_LOOKUP" - Contacts from on device lookup during contact - // fulfillment. - // "APP_SEARCH_CONTACT" - Contacts from AppSearch. - Source string `json:"source,omitempty"` - // SystemContactGroupId: Integer value corresponding to SystemContactGroup - // enum. - // http://google3/social/graph/wire/proto/merged_person.proto?l=3151&rcl=320308954 - SystemContactGroupId []int64 `json:"systemContactGroupId,omitempty"` - // WhatsappPhoneNumberCount: DEPRECATED. Use phone instead. Used before - // 2020-01-13. Number of phone numbers annotated with Whatsapp. - WhatsappPhoneNumberCount int64 `json:"whatsappPhoneNumberCount,omitempty"` - // ForceSendFields is a list of field names (e.g. "AccountProvenance") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AccountProvenance") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsCommunicationPersonalContactDataLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsCommunicationPersonalContactDataLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *AssistantLogsCommunicationPersonalContactDataLog) UnmarshalJSON(data []byte) error { - type NoMethod AssistantLogsCommunicationPersonalContactDataLog - var s1 struct { - CommonNameAliasConfidence gensupport.JSONFloat64 `json:"commonNameAliasConfidence"` - RecognitionAlternateScore gensupport.JSONFloat64 `json:"recognitionAlternateScore"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.CommonNameAliasConfidence = float64(s1.CommonNameAliasConfidence) - s.RecognitionAlternateScore = float64(s1.RecognitionAlternateScore) - return nil -} - -// AssistantLogsCommunicationPhoneLog: This is the log version of -// apps.people.oz.external.mergedpeopleapi.Phone proto. Next ID: 3 -type AssistantLogsCommunicationPhoneLog struct { - // RawDeviceContactInfo: This list provides account information from the raw - // contact which is the source of this field. - RawDeviceContactInfo []*AssistantLogsCommunicationRawDeviceContactInfoLog `json:"rawDeviceContactInfo,omitempty"` - // Type: Label for phone number in the Contacts app. It can have standard - // values provided by the app e.g. MOBILE, HOME, WORK etc, but users are - // allowed to modify. So essentially it becomes user content. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "RawDeviceContactInfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RawDeviceContactInfo") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsCommunicationPhoneLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsCommunicationPhoneLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsCommunicationRawDeviceContactInfoLog: This is the log version -// of apps.people.oz.external.mergedpeopleapi.RawDeviceContactInfo proto. Next -// ID: 3 -type AssistantLogsCommunicationRawDeviceContactInfoLog struct { - // AccountType: Account type of raw contact, e.g. "com.google" or - // "com.linkedin.android". - AccountType string `json:"accountType,omitempty"` - // ForceSendFields is a list of field names (e.g. "AccountType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AccountType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsCommunicationRawDeviceContactInfoLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsCommunicationRawDeviceContactInfoLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsDefaultDeviceLog: Log device info of default speaker and tv -type AssistantLogsDefaultDeviceLog struct { - DefaultSpeaker *AssistantLogsDeviceInfoLog `json:"defaultSpeaker,omitempty"` - DefaultTv *AssistantLogsDeviceInfoLog `json:"defaultTv,omitempty"` - SourceDeviceId string `json:"sourceDeviceId,omitempty"` - // ForceSendFields is a list of field names (e.g. "DefaultSpeaker") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DefaultSpeaker") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsDefaultDeviceLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsDefaultDeviceLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantLogsDefaultDevicesLog struct { - LocalDefaultDevices *AssistantLogsDefaultDeviceLog `json:"localDefaultDevices,omitempty"` - // NearbyDefaultDevices: Default settings of nearby devices. - NearbyDefaultDevices []*AssistantLogsDefaultDeviceLog `json:"nearbyDefaultDevices,omitempty"` - // ForceSendFields is a list of field names (e.g. "LocalDefaultDevices") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LocalDefaultDevices") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsDefaultDevicesLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsDefaultDevicesLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsDeviceAnnotationLog: Device annotation mention from query -type AssistantLogsDeviceAnnotationLog struct { - // DeviceIdLog: The identification of the device. The logging version of the - // full DeviceId. - DeviceIdLog []*AssistantLogsSettingsDeviceIdLog `json:"deviceIdLog,omitempty"` - // RawTextFromQuery: The raw text mentioning a device from the query, such as - // "any tv". - RawTextFromQuery string `json:"rawTextFromQuery,omitempty"` - // Type: The annotation type mentioned in the query. - // - // Possible values: - // "NO_DEVICE_ANNOTATION" - No device is mentioned in the query. - // "DEVICE_ID_ANNOTATION" - Annotation specifying a device linked to user's - // account - // "DEVICE_TYPE_ANNOTATION" - Annotation specifying a general device, such as - // speaker, TV, etc. - // "DEVICE_TEXT_ANNOTATION" - Annotation with text. It could be random text, - // such as "dummy thing". - Type string `json:"type,omitempty"` - // UserDefinedName: The matched device name set by the user, such as "big - // screen tv". - UserDefinedName string `json:"userDefinedName,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceIdLog") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceIdLog") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsDeviceAnnotationLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsDeviceAnnotationLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsDeviceInfoLog: The information related to the device. Next ID: -// 19 -type AssistantLogsDeviceInfoLog struct { - // ArbitrationDeviceId: Device identifier string for the current device used in - // the arbitration service. - ArbitrationDeviceId string `json:"arbitrationDeviceId,omitempty"` - // AvailableDeviceAndCtfContextDiff: A list of diffs for the device's context - // between AvailableDevice and CTF. - AvailableDeviceAndCtfContextDiff *AssistantLogsAvailableDeviceAndCtfContextDiffLog `json:"availableDeviceAndCtfContextDiff,omitempty"` - // Possible values: - // "UNKNOWN_CONNECTIVITY" - // "ONLINE_STATE" - // "OFFLINE_STATE" - Connectivity string `json:"connectivity,omitempty"` - // DeviceId: The identification of the device. DeviceId (go/as-device-id) has - // multiple fields. To consloidate it to a single to make dremel easier, we use - // the string obtained by calling go/get-device-id. - DeviceId string `json:"deviceId,omitempty"` - // DeviceIdLog: The identification of the device. The logging version of the - // full DeviceId. - DeviceIdLog *AssistantLogsSettingsDeviceIdLog `json:"deviceIdLog,omitempty"` - // DeviceIndex: We index linked devices and log these index to avoid logging - // device_id. device_index should always be a positive number or -1. -1 means - // this device is not in homegraph. - DeviceIndex int64 `json:"deviceIndex,omitempty"` - // DeviceModelId: This is the device_model_id field in device_settings proto. - // It has the same value for the same type of devices. e.g. Sonos.Sonos One.S13 - DeviceModelId string `json:"deviceModelId,omitempty"` - // Distance: - // LINT.ThenChange(//depot/google3/assistant/context/proto/device_arbitration.pr - // oto:EstimatedRelativeDistance) - // - // Possible values: - // "UNKNOWN_DISTANCE" - // "CLOSEST" - // "EQUALLY_CLOSE" - // "FURTHER" - Distance string `json:"distance,omitempty"` - // EliminatingLumosProcessor: The lumos processor which eliminated this device, - // if applicable - // - // Possible values: - // "UNKNOWN_LUMOS_PROCESSOR" - // "CAPABILITIES_FILTER" - filters - // "DEVICE_ANNOTATION_FILTER" - // "DEVICE_CONNECTIVITY_FILTER" - // "LOCAL_DEVICE_INCLUSIVENESS_FILTER" - // "LOCATION_FILTER" - // "MEDIA_PLAYBACK_FILTER" - // "SAFETY_FILTER" - // "TRAITS_FILTER" - // "DEVICE_TYPE_FILTER" - // "APP_FILTER" - // "HYBRID_DEVICE_PROPERTIES_FILTER" - // "NEARBY_DEVICE_FILTER" - // "DEVICE_ATTRIBUTES_FILTER" - // "LAST_USED_DEVICE_FILTER" - // "DEFAULT_MEDIA_OUTPUT_PROMOTER" - promoters - // "DEVICE_GROUP_PROMOTER" - // "LOCAL_DEVICE_PROMOTER" - // "LOCATION_PROMOTER" - // "MEDIA_FOCUS_PROMOTER" - // "MEDIA_PLAYBACK_PROMOTER" - // "SAME_NAME_DEVICE_PROMOTER" - // "PHONE_TARGETING_PROMOTER" - // "TRAITS_PROMOTER" - // "DEVICE_TYPE_PROMOTER" - // "FEATURE_EXTRACTOR" - feature extractor - // "LABELER" - labeler - EliminatingLumosProcessor string `json:"eliminatingLumosProcessor,omitempty"` - // HomeStructureId: The home structure id of the device. - HomeStructureId string `json:"homeStructureId,omitempty"` - IsRemote bool `json:"isRemote,omitempty"` - // IsTethered: This flag indicates this is a non-local device that is tethered - // to local/originating device. Tethered device is a special case of is_remote - // and typically used in wearable scenarios. This is always false for local - // device and when it is true, it implies is_remote is also true. - IsTethered bool `json:"isTethered,omitempty"` - MediaCapabilities *AssistantLogsMediaCapabilities `json:"mediaCapabilities,omitempty"` - // Possible values: - // "UNKNOWN_DEVICE_TYPE" - // "ASSISTANT" - // "HOME_AUTOMATION" - // "CAST" - // "CAST_GROUP" - // "QUARTZ" - Quartz in AGSA - // "QUARTZ_IOS" - Quartz in iOPA - // "CLOUD_AUTO" - Non-assistant Auto devices from Cloud. - // go/cloud-registration-api-changes - MediaDeviceType string `json:"mediaDeviceType,omitempty"` - // Name: User defined device name - Name string `json:"name,omitempty"` - // Sessions: This field should be populated only when there is at least one - // session on this device. - Sessions []*AssistantLogsDeviceMediaSessionLog `json:"sessions,omitempty"` - // SurfaceType: This field should be populated only when the device is an - // Assistant device. - // - // Possible values: - // "UNKNOWN" - // "ANDROID_ALLO" - // "ANDROID_AUTO" - Deprecated (never used). Use OPA_ANDROID_AUTO instead. - // "ANDROID_THINGS_CUBE" - Assistant on small screen stationary device. - // "ANDROID_THINGS_JASPER" - // "ANDROID_TV" - // "ANDROID_TV_KIDS" - // "ANDROID_WEAR" - // "AR_GLASSES" - Assistant on AR Glasses with both visual and audio - // experiences. Ask ar-assistant@ for details. - // "ASSISTANT_SDK" - For Assistant SDK gRPC client. - // "AUDIOWEAR" - // "BUBBLE_CHARACTERS_IOS" - go/assistant-lamda-overview-characters - // "CAPABILITY_BASED_SURFACE" - Surface for capability based testing. - // "CHROMECAST_ASSISTANT" - For chrome cast assistant web app. - // "CHROMECAST_MANHATTAN" - For chrome cast with assistant + screen (e.g., - // Google Nest Hub). - // "CHROMECAST_SEARCH" - // "CLOUD_DEVICE" - Virtual device for event-based triggering, e.g. executing - // time - // "COMPANION_SCREEN" - scheduled routines: go/routine-cloud-ex For Quartz. - // "DYNAMITE_WEB" - // "ENSEMBLE" - // "EYESFREE_AGSA" - Deprecated. Please use OPA_ANDROID_SCREENLESS. - // "EYESFREE_GMM" - // "GBOARD" - For Gboard app - // "GLASS" - // "GOOGLE_HOME" - // "HANGOUTS_CHATBOT" - // "IOS_ALLO" - // "IOS_GSA" - // "IOS_WEAR" - // "LIBASSISTANT" - For standalone libassistant devices. - // "LINE_CHATBOT" - LINE 3P messaging app - // "MATTER" - For Matter devices. go/matter-prod - // "MULTIMODAL_AGSA" - Deprecated. - // "NON_ASSISTANT_SURFACE" - Surfaces that do not speak to the Assistant, - // i.e. web HQ - // "OPA_AGSA" - Assistant on Android phones accessed through the Google App - // (velvet). This represents neither all of the assistant on android phones - // (ANDROID_ALLO, VERILY_ONDUO, etc.) nor all of the assistant built on top of - // AGSA (ANDROID_WEAR, OPA_ANDROID_SCREENLESS, OPA_AGSA_CHROME_OS, etc.). - // "OPA_AGSA_CHROME_OS" - Deprecated. Please use OPA_CROS. - // "OPA_ANDROID_AUTO" - // "OPA_ANDROID_LITE" - This is OPA on Android Go (not part of AGSA) - // "OPA_ANDROID_SCREENLESS" - Assistant on Nexus with screen off/locked. Use - // go/bisto device to trigger. - // "OPA_ANDROID_SMART_DISPLAY" - Assistant on Titan hub mode - // (go/titan-hubmode-surface). This is OPA Android first party Smart Display - // devices. The UI experience is built on Opal (Gallium and Flutter) and native - // Android. - // "OPA_ANDROID_TABLET" - Assistant on Android tablet - // "OPA_CROS" - Assistant on native Chrome OS (go/croissant). - // "OPA_GACS" - For assistant on GACS devices (go/gacs-dd). Google Assistant - // Conversation Service (GACS) defines intents the device accepts. This surface - // serves the intents in the assistant response. - // "OPA_IOS" - // "OPA_IOS_SCREENLESS" - Assistant on iOS with screen off/locked. Use - // go/bisto device to trigger. - // "OPA_KAIOS" - Assistant on KaiOS. go/kaiosama - // "OPA_MOBILE_WEB" - Assistant on Mobile Web. go/opa-spidey - // "RTOS_PHONE" - Assistant on low-cost RTOS phones (go/conceRTOS). - // "SMS_CHATBOT" - // "TELEGRAM_CHATBOT" - Telegram 3P messaging app - // "TELEPHONE_ASSISTANT" - Assistant on a phone call (go/telephone). - // "VERILY_ONDUO" - // "YOUTUBE_APP" - A Youtube app. - // "AGSA_BISTO_FOR_EVAL" - Eval-only surfaces. These surfaces are not real - // surfaces. They are only used in intermediate steps of eval query and request - // generation: 1. Eval samplers (OPA query sampler and Cannery sampler) checks - // logs and temporarily assigns these surface types to the logs, to put Bisto, - // Lockhart Mic, ... queries in the correct query pools. 2. Request builders - // uses these surface types to determine how TaskRequest for Bisto, Lockhart - // Mic, ... should be built, like whether some user user agent should be used, - // whether some entry source should be set. The surface types in the generated - // TaskRequest is still the production surface types, like - // OPA_ANDROID_SCREENLESS or OPA_AGSA. Temp surface for Bisto Android eval. - // Will be merged with OPA_ANDROID_SCREENLESS in the future. - // "COGSWORTH_FOR_EVAL" - // "LOCKHART_MIC_FOR_EVAL" - // "OPA_ANDROID_AUTO_EMBEDDED_FAKE" - OPA_ANDROID_AUTO has another - // sub-surface (embedded) that differs in the reported capabilities, - // client-ops, flags but uses the same surface_type string of OPA_ANDROID_AUTO. - // This fake surface would allow running turing2 tests and evals for this - // embedded surface. Deprecated as of Feb 2019. Please use - // "OPA_ANDROID_AUTO_EMBEDDED" client type for tests and eval. See - // go/client-onboarding for more details. - // https://cs.corp.google.com/piper///depot/google3/assistant/assistant_server/tools/util/consts.h?l=32&rcl=247481455 - // "SPARK" - Unlaunched new surface prototype, ask spark-eng@. - // "WALLE" - Wall-E is an Area120 Project building assistant powered robots. - // The surface is an extended joplin which have same capabilities as a google - // home adding custom robot features. Currently in active development. Please - // reach out walle-software@ or bingxin@ for questions. For details see - // go/walle-as-pipeline-1-pager. - // "UNIT_TESTING" - Surface used for unit-testing purposes. Unit-tests might - // still require the existence of a "valid" SurfaceType to succeed (eg. - // initialization of the CapabilityBuilder, proto matching, etc.). With the - // move away from SurfaceType checks, a generic "TESTING" SurfaceType can be - // used for such tests without affecting the test behavior. Unlike the - // CAPABILITY_BASED_SURFACE, this proto does not have any capabilities or - // ResponseType tied to it. It should only be used for unit-tests and should - // not be exposed in the ASDebugger. - SurfaceType string `json:"surfaceType,omitempty"` - // ForceSendFields is a list of field names (e.g. "ArbitrationDeviceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ArbitrationDeviceId") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsDeviceInfoLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsDeviceInfoLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsDeviceMediaSessionLog: Log about the media session on a device. -type AssistantLogsDeviceMediaSessionLog struct { - DeviceId *AssistantApiCoreTypesDeviceId `json:"deviceId,omitempty"` - // Possible values: - // "UNKNOWN" - // "SINGLE_DEVICE_SESSION" - // "STATIC_GROUP_SESSION" - Media session is playing on a device group set by - // users. - // "DYNAMIC_GROUP_SESSION" - Media session is playing on a temporary device - // group requested in query. - MediaSessionType string `json:"mediaSessionType,omitempty"` - // MediaType: The type of the media session. If provider does not report this - // field, we ## compute it by mapping provider type to media type. Here is the - // mapping: |ProviderType |MediaItemMetadata.Type| - // |-------------------------------------- |MUSIC |TRACK | |VIDEO |VIDEO | - // |LIVE_TV |TV_CHANNEL | |AUDIOBOOK |AUDIO_BOOK | |PODCAST |PODCAST_EPISODE | - // ## |LIVE_STREAMING|VIDEO | - // - // Possible values: - // "UNKNOWN" - // "TRACK" - // "ALBUM" - // "ARTIST" - // "PLAYLIST" - // "EPISODE" - // "MOVIE" - // "PHOTO" - // "TV_SHOW_EPISODE" - // "MUSIC_GENRE" - // "MUSIC_STATION" - // "AUDIO_BOOK" - // "CHAPTER" - // "RADIO_STATION" - // "MUSIC_MIX" - // "SPORTS_EVENT" - // "TV_CHANNEL" - // "VIDEO" - // "VIDEO_RECOMMENDED_PLAYLIST" - Video recommendations playlist. (e.g. - // fetched from Recommended feed on YouTube) - // "YOUTUBE_CHANNEL" - // "YOUTUBE_VIDEO_PLAYLIST" - // "TV_SHOW" - Representing a TV show which contains multiple TV seasons. - // "NEWS" - // "NARRATED_WEB" - // "NEWS_CALL_TO_ACTION" - Repesents a Call To Action media item. See - // go/newsplayer-outro-gnews. Current use case is to ask users to continue - // their news journey in the Google News app / web app. Future cases could - // include asking users to adjust their news settings. - // "NEWS_OVERVIEW" - Represents a Narrative News Overview media item. This a - // multi-segment news media item with interactive elements. See - // go/gen-narrative-news-intro. - // "AUDIO_STORY" - Representing a short audio story. go/tmas-design - // "PODCAST_SERIES" - Represent different kinds of podcast content - // "PODCAST_EPISODE" - MediaType string `json:"mediaType,omitempty"` - // PlaybackState: The playback states of the session. - // - // Possible values: - // "UNKNOWN_STATE" - // "STOPPED" - State indicating this item is currently stopped. - // "PAUSED" - State indicating this item is currently paused. - // "PLAYING" - State indicating this item is currently playing. - // "FAST_FORWARDING" - State indicating this item is currently fast - // forwarding. - // "REWINDING" - State indicating this item is currently rewinding. - // "BUFFERING" - State indicating this item is currently buffering and will - // begin playing when enough data has buffered. - // "ERROR" - State indicating this item is currently in an error state. The - // error message should also be set when entering this state. - // "CONNECTING" - State indicating the class doing playback is currently - // connecting to a new destination. Depending on the implementation you may - // return to the previous state when the connection finishes or enter - // STATE_NONE. If the connection failed STATE_ERROR should be used. - // "SKIPPING_TO_PREVIOUS" - State indicating the player is currently skipping - // to the previous item. - // "SKIPPING_TO_NEXT" - State indicating the player is currently skipping to - // the next item. - // "SKIPPING_TO_QUEUE_ITEM" - State indicating the player is currently - // skipping to a specific item in the queue. - PlaybackState string `json:"playbackState,omitempty"` - // ProviderMid: The KG mid of the media provider. - ProviderMid string `json:"providerMid,omitempty"` - // Possible values: - // "UNKNOWN_COMMAND" - // "PLAY_FROM_SEARCH" - Requests that the app start playback for a specific - // search query. - // "PLAY_FROM_URI" - Requests that the app start playback for a specific uri. - // "SEND_CUSTOM_ACTION" - Send a custom string action to the provide - // (go/media-controller-gsa). - // "SKIP_TO_NEXT" - Skip to the next item in the play queue. - // "SKIP_TO_PREVIOUS" - Skip to the previous item in the play queue. - // "PLAY" - Requests that the player start its playback at its current - // position. - // "PAUSE" - Requests that the player pause its playback and stay at its - // current position. - // "STOP" - Requests that the player stop its playback. - // "SET_RATING" - Rate the current content. - // "SEEK_TO" - Move to a new location in the media stream. - // "SHUFFLE" - Requests that the app shuffle the currently loaded content. - // "REWIND" - Rewind the current content. - // "FAST_FORWARD" - Fast forward the current content. - // "SKIP_TO_QUEUE_ITEM" - Play an item with a specific id in the play queue. - // "SET_REPEAT_MODE" - Set repeat mode for current content. - // "SET_CAPTIONING_ENABLED" - Enable or disable the closed caption for the - // current content. - SupportedTransportControl []string `json:"supportedTransportControl,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsDeviceMediaSessionLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsDeviceMediaSessionLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsDeviceSelectionLog: Contains information logged in target -// device selection. See go/improve-device-targeting-logging for details. Next -// Id: 23 -type AssistantLogsDeviceSelectionLog struct { - // AllDefaultDevices: Default settings of all nearby devices Deprecated, use - // default_devices_log instead. - AllDefaultDevices []*AssistantLogsDefaultDeviceLog `json:"allDefaultDevices,omitempty"` - // AllMediaStreamLog: Logs all active media sessions. - AllMediaStreamLog *AssistantLogsAllMediaStreamLog `json:"allMediaStreamLog,omitempty"` - // AvailableDevicesLog: The list of `available_devices` as they appear in - // DeviceTargetingContext. This is very useful for debugging diffs between GB - // and CMP since they have different methods of populating the - // `available_devices` field. - AvailableDevicesLog *AssistantLogsAvailableDevicesLog `json:"availableDevicesLog,omitempty"` - // CounterfactualDeviceSelectionLog: DeviceSelectionLog for counterfactual - // logging. - CounterfactualDeviceSelectionLog *AssistantLogsDeviceSelectionLog `json:"counterfactualDeviceSelectionLog,omitempty"` - // DefaultDevices: Include default tv and default speaker Deprecated, use - // all_default_devices below. - DefaultDevices *AssistantLogsDefaultDeviceLog `json:"defaultDevices,omitempty"` - DefaultDevicesLog *AssistantLogsDefaultDevicesLog `json:"defaultDevicesLog,omitempty"` - // DevicesStr: Temporaray field for debugging ANDROID_AUTO multi_target_devices - // punt. This will be removed once we identify the root cause. - DevicesStr []string `json:"devicesStr,omitempty"` - InputErrorLog []*AssistantLogsInputErrorLog `json:"inputErrorLog,omitempty"` - // LocalDevice: Now we just log the media sessions on local device Deprecated, - // use NearbyDevicesLog::LocalDevice instead. - LocalDevice *AssistantLogsDeviceInfoLog `json:"localDevice,omitempty"` - // LogDataSource: Indicates which library populated the device_selection_log - // for this query. - // - // Possible values: - // "UNKNOWN" - // "MEDIA_FOCUS_SELECTOR" - Indicates the logs is populated by Media Focus - // Selector. - // "LUMOS_DEVICE_TARGETING_LIBRARY" - Indicates the logs is populated by - // Lumos Device Targeting Library. - LogDataSource string `json:"logDataSource,omitempty"` - // MediaFocus: The Media Focus information. This field should be populated only - // when there is a Media Focus. Deprecated, use media_focuses below instead. - MediaFocus *AssistantLogsMediaFocusInfoLog `json:"mediaFocus,omitempty"` - // MediaFocusesLog: Media focuses on all devices. - MediaFocusesLog *AssistantLogsMediaFocusesLog `json:"mediaFocusesLog,omitempty"` - // NearbyDevicesLog: All nearby devices and local device. - NearbyDevicesLog *AssistantLogsNearbyDevicesLog `json:"nearbyDevicesLog,omitempty"` - // QueryAnnotation: This should log the query annotation features found in the - // device, such as the device annotation, the room annotation, and the - // structure annotation from the query. - QueryAnnotation *AssistantLogsQueryAnnotationLog `json:"queryAnnotation,omitempty"` - // SelectionResult: The result of device selection. - SelectionResult *AssistantLogsDeviceSelectionResultLog `json:"selectionResult,omitempty"` - TestCodes []*AssistantLogsDeviceTargetingTestCode `json:"testCodes,omitempty"` - // ForceSendFields is a list of field names (e.g. "AllDefaultDevices") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AllDefaultDevices") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsDeviceSelectionLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsDeviceSelectionLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsDeviceSelectionResultLog: Log the selection result. Next ID: 11 -type AssistantLogsDeviceSelectionResultLog struct { - // AmbiguousTargetDevices: Deprecated, please use qualified_devices. - AmbiguousTargetDevices *AssistantLogsAmbiguousTargetDeviceLog `json:"ambiguousTargetDevices,omitempty"` - DeviceSelectionDecisionSummary *AssistantLogsMediaDeviceSelectionDecisionSummary `json:"deviceSelectionDecisionSummary,omitempty"` - // Possible values: - // "UNKNOWN_ERROR" - // "NO_DEVICE_IN_SAME_STRUCTURE" - Error about when there's no qualified - // devices in the same home graph structure as the local device. - // "NO_DEVICE_IN_SAME_NETWORK_OR_LOCATION" - Error about when there's no - // qualified devices in the same network or location as the local device. - // "NO_DEVICE_IN_SAME_STRUCTURE_OR_NETWORK_OR_LOCATION" - Error about when - // there's no qualified devices in the same home graph structure or network or - // location as the local device. - // "NO_DEVICE_SATISFIES_SAME_STRUCTURE_OR_UNKNOWN_IF_OWNED" - Error about - // when no qualified device was found that matched the following conditions: 1) - // Both local device and target device are in the same home graph structure. 2) - // The distance to target device is unknown (i.e. either local device or target - // device is homeless) and target device is owned by the user. 3) If local - // device and target device are in different structures, only allowed when the - // query explicitly mentioned device name. - // "NO_DEVICE_SATISFIES_CAPABILITIES_REQUIREMENT" - Error about when no - // qualified device satisfies the device capability requirement. - // "NO_DEVICE_MATCHED_DEVICE_ANNOTATION" - Error of no qualified devices - // matched requirements from device annotation. - // "MULTI_TARGET_DEVICE_NOT_SUPPORTED" - Error of not supporting targeting - // multiple devices. - // "NO_DEVICE_AFTER_LOCAL_DEVICE_EXCLUDED" - Error of no device left after - // local device is excluded within inclusiveness filter. - // "UNABLE_TO_TARGET_ONLY_LOCAL_DEVICE" - Error of unable to target only - // local device within inclusiveness filter. - // "NO_DEVICE_MATCHED_REQUIRED_TRAITS" - Error of no qualified devices - // matched the required smart home traits. - // "NO_DEVICE_MATCHED_REQUIRED_ATTRIBUTES" - Error of no qualified devices - // matched the required Smart Home attributes. - // "NO_DEVICE_MATCHED_REQUIRED_DEVICE_TYPE" - Error of no qualified devices - // matched the required smart home device types. - // "NO_DEVICE_IN_SAME_OR_MENTIONED_STRUCTURE" - Error of no qualified devices - // in the mentioned structure or in the same structure as the local device. - // "NO_DEVICE_SATISFIES_PLAYBACK_REQUIREMENT" - Error of no device satisfying - // playback requirements. - // "STRUCT_DISAMBIG_NOT_SUPPORTED" - Error when structure disambiguation is - // not supported in the config. When config is supported (both - // structure_disambiguation_supported and multi_target_supported are set to - // true), the library would return structures for disambiguation. - // "ROOM_DISAMBIG_NOT_SUPPORTED" - Error when room disambiguation is not - // supported in the config. When config is supported (both - // room_disambiguation_supported and multi_target_supported are set to true), - // the library would return rooms for disambiguation. - // "UNRECOGNIZED_DEVICE_NAME" - Error when the device mentioned in the query - // is not recognized. In other words, we can't find a device which matched the - // device mentioned in the query. - // "NO_LINKED_REMOTE_DEVICES" - Used when user requests to target on a remote - // device and there are no remote devices linked. - // "NO_LINKED_REMOTE_VIDEO_DEVICES" - Used when user requests to target on a - // remote video device and there are no remote video devices linked. - // "NO_SAFE_DEVICE_WITH_SCREEN" - Error when there is no safe screen device. - // For example, requesting screen-requiring content from Auto surface. - // "ALL_QUALIFIED_DEVICES_OFFLINE" - Error when all qualified devices are - // offline. - // "CROSS_STRUCTURE_TARGETING_DISALLOWED" - When user tries to target a - // device which is in a different structure and is not allowed. For example, if - // user doesn't own the structure. See go/on-multi-user-access-transitivity for - // more details. - // "NO_DEVICE_MEETS_PROVIDER_REQUIREMENT" - Used when user requests a device - // with certain provider but no device can satisfies provider requirement. - // "MISSING_LOCAL_DEVICE_SETTING" - AvailableDevice device setting of local - // device is missing. - // "NO_DEVICE_HAS_REQUIRED_APP" - Required app is not installed - // "HYBRID_DEVICE_NOT_QUALIFIED" - All remote hybrid devices fail the - // propertries requirement specific (lock/unlock, etc) for hybrid devices (such - // as Tangor). - // "NO_NEARBY_DEVICES" - No nearby hearing devices - // "NO_MATCHING_LAST_USED_DEVICE" - No matching device for the LastUsedDevice - // requirement found. - DeviceTargetingErrorType string `json:"deviceTargetingErrorType,omitempty"` - // FinalLumosStage: The class name for the final filter/promoter used by Lumos - // for device targeting. This filter or promoter runs for all users, and - // contains no data specific to the individual user. - FinalLumosStage string `json:"finalLumosStage,omitempty"` - // LowConfidenceTargetDevice: - // ////////////////////////////////////////////////////////////////////////// - // Ambiguous Results: the library failed to select the final target device(s) - // but it narrows down to a set of devices which are all valid target device - // candidates. The client needs to do further disambiguation, e.g., giving a - // dialog or having customized logic. The low confidence target device means - // the library falied to select the target device but it picked two devices for - // the client to do disambiguation. - LowConfidenceTargetDevice *AssistantLogsLowConfidenceTargetDeviceLog `json:"lowConfidenceTargetDevice,omitempty"` - // MediaFocusSelectionErrorType: - // ////////////////////////////////////////////////////////////////////////// - // This field log the error while selecting target device in - // media_focus_selector. - // - // Possible values: - // "UNKNOWN_ERROR" - Used when the type of error is not known explicitly. - // "FOUND_MULTIPLE_DEVICES" - Used when there are multiple devices satisfying - // the constraints. - // "REQUESTED_DEVICE_HAS_NO_SCREEN" - Used when the user requested to play a - // content on device without screen and focus selection has the (unsatisfied) - // REQUIRES_SCREEN restriction. Note that this is error is used if device is - // recognized, and otherwise UNRECOGNIZED_DEVICE or UNRECOGNIZED_VIDEO_DEVICE - // will be used. - // "NO_LINKED_REMOTE_DEVICES" - Used when user requests to play on a remote - // device and there are no linked devices. - // "NO_LINKED_REMOTE_VIDEO_DEVICES" - Used when user requests to play on a - // remote video device and there are no linked video devices. - // "UNRECOGNIZED_DEVICE_NAME" - Used when requested device with the given - // name in the annotation can not be recognized, that is user requested to play - // on a device that is not found in linked devices. If device is unrecognized - // and focus selection has the (unsatisfied) REQUIRES_SCREEN or type of - // unrecognized device is video then more specific - // UNRECOGNIZED_VIDEO_DEVICE_NAME is used. - // "UNRECOGNIZED_VIDEO_DEVICE_NAME" - Used when requested device with the - // given name in the annotation can not be recognized and focus selection has - // the (unsatisfied) REQUIRES_SCREEN or type of unrecognized device is video. - // "NO_DEVICE_MEETS_PROVIDER_REQUIREMENT" - Used when user requests a device - // with certain provider but no device can satisfies provider requirement. - // "MULTIPLE_DEVICES_MEET_PROVIDER_REQUIREMENT" - Used when user requests a - // device with certain provider but more than one device can satisfies the - // provider requirement. - // "REMOTE_CLOUD_CASTING_NOT_ALLOWED" - Used when requested device does not - // allow remote cloud casting. - // "NO_SAFE_DEVICE_WITH_SCREEN" - Used when there is no safe screen device. - // For ex: requesting screen-requiring content from Auto surface. - // "NO_DEVICE_MEETS_PLAYBACK_REQUIREMENT" - Used when user requests a device - // with certain playback but no device can satisfies playback requirement. - // "MULTIPLE_DEVICES_MEET_PLAYBACK_REQUIREMENT" - Used when user requests a - // device with certain playback but more than one device can satisfies playback - // requirement. - // "NO_VALID_DEVICE_IN_REQUESTED_ROOM" - Used when user requests a device to - // be in a particular room but none of the devices in that room satisfies all - // requirements. - // "NO_DEVICE_FOUND_IN_REQUESTED_ROOM" - Used when user requests a room but - // no device is found in that room. - // "MULTIPLE_DEVICES_FOUND_IN_REQUESTED_ROOM" - Used when user requests a - // room and there are multiple devices in that room are eligible to selected. - // "ALL_QUALIFIED_DEVICES_IN_DIFFERENT_STRUCTURE" - Used when all qualified - // devices are not in the same structure as the primary device. - // "QUALIFIED_DEVICE_OFFLINE" - // "ALL_QUALIFIED_DEVICES_OFFLINE" - When all qualified devices are offline. - // "CROSS_STRUCTURE_TARGETING_DISALLOWED" - When user tries to target a - // device which is in a different structure and is not allowed. For example, if - // user doesn't own the structure. See go/on-multi-user-access-transitivity for - // more details. - // "NO_DEVICE_MEETS_STADIA_GAMING_CAPABILITY" - When all devices do not - // qualify for stadia support. - // "MEDIA_STATES_MISSING" - Used when any critical media state is missing so - // the selection decision cannot be made. See - // go/partial-states-in-targeting-library for more details. - // "NO_DEVICE_SATISFIES_CAPABILITIES_REQUIREMENT" - Error about when no - // qualified device satisfies the device capability requirement. - // "HYBRID_DEVICE_NOT_QUALIFIED" - All remote hybrid devices fail the - // propertries requirement specific (lock/unlock, etc) for hybrid devices (such - // as Tangor). - MediaFocusSelectionErrorType string `json:"mediaFocusSelectionErrorType,omitempty"` - // ProcessorInfo: The log for each stage of Lumos, showing the number of - // eliminated devices from each processor. - ProcessorInfo []*AssistantLogsLumosProcessorInfo `json:"processorInfo,omitempty"` - // QualifiedDevices: We will apply several filters and dialogs to select a - // target device if media_focus_selector fail to select one. This field should - // log the devices left after each filter or dialog. It also log the detailed - // info of the final target device. - QualifiedDevices *AssistantLogsAmbiguousTargetDeviceLog `json:"qualifiedDevices,omitempty"` - // SingleTargetDevice: - // ////////////////////////////////////////////////////////////////////////// - // Unambiguous Results: the library successfully selected the final target - // device(s) and no further disambiguation is needed. Deprecated, please use - // target_device. - SingleTargetDevice *AssistantLogsDeviceInfoLog `json:"singleTargetDevice,omitempty"` - TargetDevice *AssistantLogsTargetDeviceLog `json:"targetDevice,omitempty"` - // ForceSendFields is a list of field names (e.g. "AmbiguousTargetDevices") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AmbiguousTargetDevices") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsDeviceSelectionResultLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsDeviceSelectionResultLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsDeviceTargetingTestCode: Test code is used to track special -// events happening in Device Targeting Library. Next Id: 2 -type AssistantLogsDeviceTargetingTestCode struct { - // Possible values: - // "UNKNOWN" - // "IGNORE_NESTED_DEVICE_MENTION_WITH_ID" - Used to track the case when the - // nested DeviceMention with id is ignored inside a RoomMention. See: - // b/184750168 and go/mixed-room-and-device-mention - // "INCOMPLETE_LOCAL_AUTO_SETTINGS_FOUND" - Used to track if there is - // incomplete or bad local android auto settings passed to Lumos. - // "FINAL_RESULT_RESOLVED_BY_NEARBY_DEVICE" - Used to track if the final - // result is resolved by using nearby device. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsDeviceTargetingTestCode) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsDeviceTargetingTestCode - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantLogsInputErrorLog struct { - ErrorCode int64 `json:"errorCode,omitempty"` - // Possible values: - // "ERROR_UNKNOWN" - // "ERROR_DEVICE_PROPERTIES" - // "ERROR_HOME_GRAPH" - // "ERROR_CAPABILITIES_ACROSS_DEVICES" - // "ERROR_SURFACE_IDENTITIES_ACROSS_DEVICES" - ErrorType string `json:"errorType,omitempty"` - // ForceSendFields is a list of field names (e.g. "ErrorCode") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ErrorCode") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsInputErrorLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsInputErrorLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsLowConfidenceTargetDeviceLog: Represents the case where there -// is a target device with low confidence so that the library didn't directly -// target it. Instead, the library returns the low confidence target device and -// the fallback device for the client to decide to either trigger a dialog to -// disambiguate or select one of them based on extra business logic. Next ID: 3 -type AssistantLogsLowConfidenceTargetDeviceLog struct { - // FallbackDeviceLog: The fallback device. - FallbackDeviceLog *AssistantLogsDeviceInfoLog `json:"fallbackDeviceLog,omitempty"` - // LowConfTargetDeviceLog: The selected low confidence focus device. - LowConfTargetDeviceLog *AssistantLogsDeviceInfoLog `json:"lowConfTargetDeviceLog,omitempty"` - // ForceSendFields is a list of field names (e.g. "FallbackDeviceLog") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FallbackDeviceLog") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsLowConfidenceTargetDeviceLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsLowConfidenceTargetDeviceLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantLogsLumosProcessorInfo struct { - // DevicesAfterRun: Number of candidate devices after this stage is run. - DevicesAfterRun int64 `json:"devicesAfterRun,omitempty"` - // DevicesBeforeRun: Number of candidate devices before this stage is run. - DevicesBeforeRun int64 `json:"devicesBeforeRun,omitempty"` - // ProcessorName: Name of the processor for this stage. - // - // Possible values: - // "UNKNOWN_LUMOS_PROCESSOR" - // "CAPABILITIES_FILTER" - filters - // "DEVICE_ANNOTATION_FILTER" - // "DEVICE_CONNECTIVITY_FILTER" - // "LOCAL_DEVICE_INCLUSIVENESS_FILTER" - // "LOCATION_FILTER" - // "MEDIA_PLAYBACK_FILTER" - // "SAFETY_FILTER" - // "TRAITS_FILTER" - // "DEVICE_TYPE_FILTER" - // "APP_FILTER" - // "HYBRID_DEVICE_PROPERTIES_FILTER" - // "NEARBY_DEVICE_FILTER" - // "DEVICE_ATTRIBUTES_FILTER" - // "LAST_USED_DEVICE_FILTER" - // "DEFAULT_MEDIA_OUTPUT_PROMOTER" - promoters - // "DEVICE_GROUP_PROMOTER" - // "LOCAL_DEVICE_PROMOTER" - // "LOCATION_PROMOTER" - // "MEDIA_FOCUS_PROMOTER" - // "MEDIA_PLAYBACK_PROMOTER" - // "SAME_NAME_DEVICE_PROMOTER" - // "PHONE_TARGETING_PROMOTER" - // "TRAITS_PROMOTER" - // "DEVICE_TYPE_PROMOTER" - // "FEATURE_EXTRACTOR" - feature extractor - // "LABELER" - labeler - ProcessorName string `json:"processorName,omitempty"` - // ForceSendFields is a list of field names (e.g. "DevicesAfterRun") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DevicesAfterRun") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsLumosProcessorInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsLumosProcessorInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantLogsMediaCapabilities struct { - CanReceiveRemoteAction bool `json:"canReceiveRemoteAction,omitempty"` - HasScreen bool `json:"hasScreen,omitempty"` - // ForceSendFields is a list of field names (e.g. "CanReceiveRemoteAction") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CanReceiveRemoteAction") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsMediaCapabilities) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsMediaCapabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsMediaDeviceSelectionDecisionSummary: A summary of the reasons -// that we chose a certain target device. -type AssistantLogsMediaDeviceSelectionDecisionSummary struct { - // Possible values: - // "UNKNOWN_PRIORITY" - // "SINGLE_QUALIFIED_SESSION_PREFERRED" - If there is only one media session, - // it is selected by default. - // "FOCUS_SESSION_PREFERRED" - A media session with focus was preferred over - // other media sessions. - // "FOCUS_DEVICE_SESSION_PREFERRED" - A media session on a device with focus - // was preferred over other media sessions. - // "LOCAL_DEVICE_SESSION_PREFERRED" - A media session on a local device was - // chosen. - // "PLAYING_DEVICE_STATE_PREFERRED" - // "BUFFERING_DEVICE_STATE_PREFERRED" - A device in the BUFFERING state was - // preferred over other devices. - // "PAUSED_DEVICE_STATE_PREFERRED" - A device in the PAUSED state was - // preferred over other devices. - // "STOPPED_DEVICE_STATE_PREFERRED" - A device in the STOPPED state was - // preferred over other devices. - DeviceSelectionPreferenceUsed string `json:"deviceSelectionPreferenceUsed,omitempty"` - // Possible values: - // "UNKNOWN_REASON" - // "SYNDICATION_DEVICE_TARGETED" - For syndication devices (3P TV), we - // sometimes prefer syndication devices over any other remote device, since the - // query comes from a linked remote. - // "AUTO_DEVICE_TARGETED" - Auto surfaces can never cast to remote devices - // for safety reasons, so we force the local auto device if auto is the - // surface. - // "QUERY_DEVICE_ANNOTATION_TARGETED" - A device explicitly mentioned in the - // query was targeted. - // "SINGLE_QUALIFIED_DEVICE_TARGETED" - Only one device was qualified. - // "CAST_GROUP_TARGETED" - We target a cast group only if all the qualified - // devices are in the same media session. This happens before applying any of - // the below filters. - // "MEDIA_SESSION_TARGETED" - Media sessions are targeted when session - // targeting is enabled, supported, a session exists with more than one device, - // and a session outranks all other sessions. The rankings are the keys below. - // "FOCUS_DEVICE_TARGETED" - A device with media focus was targeted. - // "DEFAULT_DEVICE_TARGETED" - A default device was targeted. - // "LOCAL_DEVICE_TARGETED" - The local device was targeted. - // "DEVICE_IN_SAME_ROOM_TARGETED" - A device in the same room was targeted. - // "AMBIGUOUS_DEVICES_TARGETED" - An ambiguous device result including - // multiple devices was targeted. - // "LOCAL_GROUP_RETARGETED" - When local device is playing as a group, we - // retarget to the group if local device doesn't have focus. See - // go/group-targeting for the details. - // "FOCUS_OF_CLOSE_DEVICE_TARGETED" - ==== Sandstone related - // DeviceSelectionReason ==== Entries below refer to other devices that are - // close by. Details at: go/sandstone-lumos. The media focus device of an - // equally close device was targeted. - // "DEFAULT_OF_CLOSE_DEVICE_TARGETED" - The default target of an equally - // close device was targeted. - // "SINGLE_QUALIFIED_CLOSE_DEVICE_TARGETED" - Only one device out of the ones - // that are equally close was qualified. - // "DEVICE_IN_CLOSE_ROOM_TARGETED" - A device in the same room as an equally - // close device was targeted. - // "TETHERED_DEVICE_TARGETED" - Sometimes wearable device (e.g., smartwatch) - // is tethered to a phone. This value indicates the tethered phone was targeted - // in these scenarios. This is related but slightly different from other remote - // targeting cases due to the strong binding/association between local (i.e., - // watch) and tethered device (i.e., phone). go/rohan-media-tethered-design - DeviceSelectionReason string `json:"deviceSelectionReason,omitempty"` - // Possible values: - // "NONE" - // "BETTER_MATCH_DEVICE_WITH_HUMAN_FRIENDLY_NAME_FOUND" - A better match - // device was found and targeted. - // "LOCAL_DEVICE_IMPLICITLY_MENTIONED" - A local device was implicitly - // mentioned in the query, like "on you". - // "USED_LOOSE_PLAYBACK_STATE_REQUIREMENTS" - There were no devices which - // satisfy the playback states requirements, so the playback states - // requirements were removed and we tried again. - // "QUERY_3P_DEVICE_ANNOTATION_IGNORED_REQUIREMENTS" - A 3P device annotated - // from the query was targeted. We ignore requirements sometimes for 3p - // devices. - MiscSelectionSignal []string `json:"miscSelectionSignal,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "DeviceSelectionPreferenceUsed") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceSelectionPreferenceUsed") - // to include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsMediaDeviceSelectionDecisionSummary) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsMediaDeviceSelectionDecisionSummary - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsMediaFocusInfoLog: The information related to Media Focus. -// TODO(b/138952173) Deprecate MediaFocusState in -// logs/proto/majel_gws/media_action_triggering_info.proto and -// assistant/verticals/media/proto/target_device_info.proto -type AssistantLogsMediaFocusInfoLog struct { - // CurrentFocusDurationSec: How long the device is in focus so far - CurrentFocusDurationSec int64 `json:"currentFocusDurationSec,omitempty"` - // DialogTriggered: TODO(b/134944092) Log MediaFocusDialogTrigger Enum in - // focus_status. - DialogTriggered bool `json:"dialogTriggered,omitempty"` - // FocusDevice: - // LINT.ThenChange(//depot/google3/logs/proto/majel_gws/media_action_triggering_ - // info.proto) The focus device. - FocusDevice *AssistantLogsDeviceInfoLog `json:"focusDevice,omitempty"` - // MediaFocusState: The media focus state at the time of the request. - // - // Possible values: - // "NO_FOCUS" - There is no focus device available or the focus expired. - // "RECENT_FOCUS" - Media Focus V1. The focus is valid and it is within the - // media_focus_dialog_threshold. - // "STALE_FOCUS" - The focus is valid however it is over the - // media_focus_dialog_threshold and might require confirmation from user - // (dialog) before proceeding to use focus device. - // "HARD_FOCUS" - Media Focus V2 The focus is valid and there is a playing - // session on focus device. - // "SOFT_FOCUS" - The focus is valid however there is no playing session on - // focus device and might require confirmation from user (dialog) before - // proceeding to use focus device. - MediaFocusState string `json:"mediaFocusState,omitempty"` - // SourceDeviceId: The source device of media focus. - SourceDeviceId string `json:"sourceDeviceId,omitempty"` - // ForceSendFields is a list of field names (e.g. "CurrentFocusDurationSec") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CurrentFocusDurationSec") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsMediaFocusInfoLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsMediaFocusInfoLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsMediaFocusesLog: Following are the MDA compatible loggings for -// media focus, default settings and nearby devices. -type AssistantLogsMediaFocusesLog struct { - DialogTriggered bool `json:"dialogTriggered,omitempty"` - LocalMediaFocus *AssistantLogsMediaFocusInfoLog `json:"localMediaFocus,omitempty"` - // MediaFocuses: Deprecated, use nearby_media_focuses instead. - MediaFocuses []*AssistantLogsMediaFocusInfoLog `json:"mediaFocuses,omitempty"` - // NearbyMediaFocuses: MediaFouces found on nearby devices. - NearbyMediaFocuses []*AssistantLogsMediaFocusInfoLog `json:"nearbyMediaFocuses,omitempty"` - // ForceSendFields is a list of field names (e.g. "DialogTriggered") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DialogTriggered") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsMediaFocusesLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsMediaFocusesLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsMediaStreamLog: Media stream is composed of a media session and -// one or more devices which are hosting (playing) the session. Usually, a -// session is only hosted by one devcie. However, with cast group or stream -// transfer/expansion, a session could be hosted by multiple devices, which are -// playing the same session simultaneously. -type AssistantLogsMediaStreamLog struct { - // DeviceIndex: The device index in this message is consistent with the device - // index in DeviceInfoLog. This field refers to the devices that hosting the - // session. - DeviceIndex []int64 `json:"deviceIndex,omitempty"` - Session *AssistantLogsDeviceMediaSessionLog `json:"session,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceIndex") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceIndex") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsMediaStreamLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsMediaStreamLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantLogsNearbyDevicesLog struct { - // DeviceArbitrationCreationTimestampMs: The timestamp that DeviceArbitration - // is created in milliseconds. - DeviceArbitrationCreationTimestampMs int64 `json:"deviceArbitrationCreationTimestampMs,omitempty,string"` - // DeviceTargetingInputCreationTimestampMs: The timestamp that - // DeviceTargetingInput is built in milliseconds. - DeviceTargetingInputCreationTimestampMs int64 `json:"deviceTargetingInputCreationTimestampMs,omitempty,string"` - EliminatedByFurtherDistance int64 `json:"eliminatedByFurtherDistance,omitempty"` - EliminatedByLocalClosest int64 `json:"eliminatedByLocalClosest,omitempty"` - EliminatedByUnknownDifferentRoom int64 `json:"eliminatedByUnknownDifferentRoom,omitempty"` - EliminatedByUnregisteredDevice int64 `json:"eliminatedByUnregisteredDevice,omitempty"` - LocalDevice *AssistantLogsDeviceInfoLog `json:"localDevice,omitempty"` - NearbyDevices []*AssistantLogsDeviceInfoLog `json:"nearbyDevices,omitempty"` - NumClosestDevices int64 `json:"numClosestDevices,omitempty"` - NumEquallyCloseDevices int64 `json:"numEquallyCloseDevices,omitempty"` - NumFurtherDevices int64 `json:"numFurtherDevices,omitempty"` - NumHearingDevices int64 `json:"numHearingDevices,omitempty"` - NumUnknownDistanceDevices int64 `json:"numUnknownDistanceDevices,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "DeviceArbitrationCreationTimestampMs") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. - // "DeviceArbitrationCreationTimestampMs") to include in API requests with the - // JSON null value. By default, fields with empty values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields for - // more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsNearbyDevicesLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsNearbyDevicesLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsProviderAnnotationLog: Provider annotation annotated from the -// query. These fields contain the detailed information for the provider. (e.g. -// for Youtube, package_names contains "com.google.android.youtube", -// localized_names contains "youtube", and lang contains "en" from "en-US" -// which depends on user's setting.) -type AssistantLogsProviderAnnotationLog struct { - Lang string `json:"lang,omitempty"` - LocalizedNames []string `json:"localizedNames,omitempty"` - PackageNames []string `json:"packageNames,omitempty"` - // ForceSendFields is a list of field names (e.g. "Lang") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Lang") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsProviderAnnotationLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsProviderAnnotationLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsQueryAnnotationLog: Log about the query requirements -type AssistantLogsQueryAnnotationLog struct { - // DeviceAnnotation: Deprecated, please use room_annotations. - DeviceAnnotation *AssistantLogsDeviceAnnotationLog `json:"deviceAnnotation,omitempty"` - // DeviceAnnotations: Log the device annotations mentioned in the query. - DeviceAnnotations []*AssistantLogsDeviceAnnotationLog `json:"deviceAnnotations,omitempty"` - // ProviderAnnotation: Log the provider annotations annotated from the query. - ProviderAnnotation *AssistantLogsProviderAnnotationLog `json:"providerAnnotation,omitempty"` - // RoomAnnotation: TODO(b/171250187) Deprecates the optional RoomAnnotationLog - // and DeviceAnnotationLog. Deprecated, please use device_annotations. - RoomAnnotation *AssistantLogsRoomAnnotationLog `json:"roomAnnotation,omitempty"` - // RoomAnnotations: Log the room annotations mentioned in the query. - RoomAnnotations []*AssistantLogsRoomAnnotationLog `json:"roomAnnotations,omitempty"` - // StructureAnnotations: Log the structure annotations mentioned in the query. - StructureAnnotations []*AssistantLogsStructureAnnotationLog `json:"structureAnnotations,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceAnnotation") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceAnnotation") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsQueryAnnotationLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsQueryAnnotationLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsReminderLog: Annotate a single reminder instance. -type AssistantLogsReminderLog struct { - // CreatedSecondsAgo: The reminder is created N seconds ago. This helps - // tracking how the user issues follow-up actions after reminder is created. - // For example, whether the user likes to issues another [show reminders] query - // right after reminder is created? - CreatedSecondsAgo int64 `json:"createdSecondsAgo,omitempty,string"` - // RetrievedRankingClass: If the reminder is retrieved by a ranking class (see - // go/opa-reminders-ranker), this will be populated with the class info. Refer - // to assistant.productivity.ReminderRankingClass.RankingType. Since that proto - // is in proto2 format, we can only wire by int type. - RetrievedRankingClass int64 `json:"retrievedRankingClass,omitempty"` - // ForceSendFields is a list of field names (e.g. "CreatedSecondsAgo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreatedSecondsAgo") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsReminderLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsReminderLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsRoomAnnotationLog: Room annotation mentioned in query. -type AssistantLogsRoomAnnotationLog struct { - // RawTextFromQuery: The raw text mentioning a room from the query, such as "my - // living room". - RawTextFromQuery string `json:"rawTextFromQuery,omitempty"` - // RoomCount: The number of rooms annotated, if there are multiple structures. - // They are guaranteed to have the same text_from_query and name due to exact - // matching. - RoomCount int64 `json:"roomCount,omitempty"` - // RoomId: The identification of the room. - RoomId []string `json:"roomId,omitempty"` - // Type: The annotation type mentioned in the query. - // - // Possible values: - // "NO_ROOM_ANNOTATION" - No room is mentioned in the query. - // "ROOM_ID_ANNOTATION" - Annotation specifying a room set up by users. - // "ROOM_TYPE_ANNOTATION" - Annotation specifying a general room type, such - // as bedroom. - // "ROOM_TEXT_ANNOTATION" - Annotation with text. It could be random text, - // such as "my room", "all rooms". - Type string `json:"type,omitempty"` - UserDefinedName string `json:"userDefinedName,omitempty"` - // ForceSendFields is a list of field names (e.g. "RawTextFromQuery") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RawTextFromQuery") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsRoomAnnotationLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsRoomAnnotationLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsSettingsDeviceIdLog: The logging-version of DeviceId proto, -// which identifies a device. This mirrors -// cs/google3/assistant/api/core_types/device_type.proto?q=symbol:DeviceId Next -// ID: 9 -type AssistantLogsSettingsDeviceIdLog struct { - // AgsaClientInstanceId: The client_instance_id on devices with GSA. See - // 'client_instance_field' in go/androidids. - AgsaClientInstanceId string `json:"agsaClientInstanceId,omitempty"` - // AlloDeviceId: Allo Id. Corresponds to the GBotRequest.Sender.sender. This ID - // type should be deprecated by now, yet we've observed it serving prod traffic - // in GB. - AlloDeviceId string `json:"alloDeviceId,omitempty"` - // CanonicalDeviceId: A unique device ID for Assistant devices as proposed by - // go/ocelot-team. - CanonicalDeviceId string `json:"canonicalDeviceId,omitempty"` - // CastDeviceId: If set, indicates that the device is a cast device, and - // contains the UUID of the cast device. Corresponds to the device_id field of - // the CastDevice proto. - CastDeviceId string `json:"castDeviceId,omitempty"` - // ClientInstanceId: DUSI (go/dusi) is used as the identifier here. This - // identifier is unique to the user and device. This will help identify which - // device or application the user's request originated from. This is not to be - // confused with the client_instance_id that android devices provide. This is - // currently used by surfaces that use the assistant-legacy-nexus and - // assistant-legacy-clockwork pipelines. DUSI is created and set in S3. This - // field is only filled for GAIA requests. - ClientInstanceId string `json:"clientInstanceId,omitempty"` - // DeviceConfigId: The unique DeviceConfig to the specific third party device. - // It is also used by Android Auto Embedded first party device. See go/opa-ids. - DeviceConfigId string `json:"deviceConfigId,omitempty"` - // HomeGraphDeviceId: The unique device ID for HomeGraph devices. This is the - // HomeGraph ID, created when the device is registered into HomeGraph. It is - // immutable for the same device unless it is completely deleted and recreated. - // See go/home-graph for details. } - HomeGraphDeviceId string `json:"homeGraphDeviceId,omitempty"` - // LibassistantDeviceId: The unique ID for libassistant based devices. - LibassistantDeviceId string `json:"libassistantDeviceId,omitempty"` - // OpaIosDeviceId: The unique device ID for the Assistant App on iOS. See - // go/opa-ios-design for details. - OpaIosDeviceId string `json:"opaIosDeviceId,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgsaClientInstanceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgsaClientInstanceId") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsSettingsDeviceIdLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsSettingsDeviceIdLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsStructureAnnotationLog: Structure annotation mentioned in -// query. -type AssistantLogsStructureAnnotationLog struct { - // RawTextFromQuery: The raw text mentioning a structure from the query, such - // as "my house". - RawTextFromQuery string `json:"rawTextFromQuery,omitempty"` - // StructureId: The identification of the structure. - StructureId []string `json:"structureId,omitempty"` - // Type: The annotation type mentioned in the query. - // - // Possible values: - // "NO_STRUCTURE_ANNOTATION" - No structure is mentioned in the query. - // "STRUCTURE_ID_ANNOTATION" - Annotation specifying a structure set up by - // users. - // "STRUCTURE_TEXT_ANNOTATION" - Annotation with text. It could be random - // text, such as "this house". - Type string `json:"type,omitempty"` - UserDefinedName string `json:"userDefinedName,omitempty"` - // ForceSendFields is a list of field names (e.g. "RawTextFromQuery") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RawTextFromQuery") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsStructureAnnotationLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsStructureAnnotationLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantLogsTargetDeviceLog: Represents the case where the library -// successfully selects the target device. It could be one or multiple devices. -// Next ID: 4 -type AssistantLogsTargetDeviceLog struct { - Devices []*AssistantLogsDeviceInfoLog `json:"devices,omitempty"` - // Possible values: - // "UNKNOWN_REASON" - // "LOCAL_FALLBACK" - // "MANUAL_DEFINED_REASON" - // "SINGLE_NEARBY_DEVICE" - // "PERSONAL_RESPONSE_BIT_OPTOUT_ON_LOCKED_PHONE" - // "FURTHER_LOCAL_DEVICE" - Lumos result from a FURTHER hearing device will - // be marked as low confidence. - // "RESULT_FROM_DEFAULT_MEDIA_OUTPUT_PROMOTER" - Lumos result with the last - // stage as DEFAULT_MEDIA_OUTPUT_PROMOTER will be marked as low confidence. - LowConfidenceReason string `json:"lowConfidenceReason,omitempty"` - // Possible values: - // "UNKNOWN" - // "LOW_CONFIDENCE" - // "HIGH_CONFIDENCE" - ResultConfidenceLevel string `json:"resultConfidenceLevel,omitempty"` - // ForceSendFields is a list of field names (e.g. "Devices") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Devices") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantLogsTargetDeviceLog) MarshalJSON() ([]byte, error) { - type NoMethod AssistantLogsTargetDeviceLog - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantPfrDeviceRdMetadata struct { - DeviceName string `json:"deviceName,omitempty"` - DeviceTypes []string `json:"deviceTypes,omitempty"` - EffectiveArgSpanLength float64 `json:"effectiveArgSpanLength,omitempty"` - // HasAmbiguousResolutions: True if there are more than one possible - // resolutions to the RD. - HasAmbiguousResolutions bool `json:"hasAmbiguousResolutions,omitempty"` - // HasResolvedDeviceId: True if there's at least one device id that gets - // resolved. Note this is different from is_grounded = true: it is possible - // that is_grounded = false (num_grounded_args =0) but there is resolved device - // ids. E.g.: "turn on the blue light" Power_on(device_object = [d1, - // d2]:RD(category=DeviceObject(name='blue light')) where there are "blue light - // 1" and "blue light 2" hence two resolved device ids. But since the - // quantifier is single, GB can't resolve the ambiguity and would set - // num_grounded_args = 0 to indicate such unresolved ambiguity. - HasResolvedDeviceId bool `json:"hasResolvedDeviceId,omitempty"` - RoomName string `json:"roomName,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantPfrDeviceRdMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AssistantPfrDeviceRdMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *AssistantPfrDeviceRdMetadata) UnmarshalJSON(data []byte) error { - type NoMethod AssistantPfrDeviceRdMetadata - var s1 struct { - EffectiveArgSpanLength gensupport.JSONFloat64 `json:"effectiveArgSpanLength"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.EffectiveArgSpanLength = float64(s1.EffectiveArgSpanLength) - return nil -} - -// AssistantPfrSmartHomeIntentMetadata: Used by the Smarthome Business Rules -// twiddler to determine whether to replace the top-scoring Smarthome intent -// with another. -type AssistantPfrSmartHomeIntentMetadata struct { - // DeviceRdMetadata: Each DeviceRdMetadata represents one device RD (device - // slot) in the intent. Note that each device RD could have multiple device - // groundings inside of it. - DeviceRdMetadata []*AssistantPfrDeviceRdMetadata `json:"deviceRdMetadata,omitempty"` - IntentName string `json:"intentName,omitempty"` - // IsExactMatch: When num_constraints == num_constraints_satisfied, indicating - // all slot matchings are exact match. - IsExactMatch bool `json:"isExactMatch,omitempty"` - // IsGrounded: When num_grounded_args > 0, indicating there is at least one - // top-level argument is grounded. - IsGrounded bool `json:"isGrounded,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceRdMetadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceRdMetadata") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantPfrSmartHomeIntentMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AssistantPfrSmartHomeIntentMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantPfrTiebreakingMetadata: Features used by the PrefulfillmentRanker's -// scorer exclusively to break ties. -type AssistantPfrTiebreakingMetadata struct { - Fingerprint uint64 `json:"fingerprint,omitempty,string"` - SortedNameString string `json:"sortedNameString,omitempty"` - // ForceSendFields is a list of field names (e.g. "Fingerprint") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Fingerprint") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantPfrTiebreakingMetadata) MarshalJSON() ([]byte, error) { - type NoMethod AssistantPfrTiebreakingMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantPrefulfillmentRankerPrefulfillmentSignals: Signals to be used by -// the Prefulfillment Ranker. Derived from the ParsingSignals and -// GroundingSignals carried by the FunctionCall. LINT.IfChange Next ID: 80 -type AssistantPrefulfillmentRankerPrefulfillmentSignals struct { - // CalibratedParsingScore: A parsing score that is independently calibrated by - // each parser/IG. - CalibratedParsingScore float64 `json:"calibratedParsingScore,omitempty"` - // DeepMediaDominant: Whether the intent is dominant according to NSP - // deep-media. - DeepMediaDominant bool `json:"deepMediaDominant,omitempty"` - // Dominant: Indicates interpretation dominance predicted by KScorer - Dominant bool `json:"dominant,omitempty"` - // EffectiveArgSpanLength: The total effective length of the spans for the - // arguments used to construct the parse. May include vertical specific - // adjustments. Eg: For the query [delete my 7 p.m. alarm called chicken] and - // intent Delete_alarm(alarm_object=RD(category=AlarmObject( label="chicken", - // trigger_time_datetime=<< 7 PM >>))), the effective argument span is "7 p.m." - // + "chicken" (total length of 13). - EffectiveArgSpanLength float64 `json:"effectiveArgSpanLength,omitempty"` - // FulfillableDominantMedia: Whether this is a fulfillable, dominant Media - // intent. - FulfillableDominantMedia bool `json:"fulfillableDominantMedia,omitempty"` - // GeneratedByLegacyAquaDomain: Whether or not the intent was generated by a - // legacy Aqua domain that PFR should care about. - GeneratedByLegacyAquaDomain bool `json:"generatedByLegacyAquaDomain,omitempty"` - // HasAnswerGroup: Whether the interpretation has a Search answer group object, - // signifying it came from Search resolution. - HasAnswerGroup bool `json:"hasAnswerGroup,omitempty"` - HasIntentUpdate bool `json:"hasIntentUpdate,omitempty"` - // InQueryMaxEffectiveArgSpanLength: This is a cross-intent feature which is - // calculated by iterating all intent candidates. This feature should be - // populated in post-IG stage (before GB). - InQueryMaxEffectiveArgSpanLength float64 `json:"inQueryMaxEffectiveArgSpanLength,omitempty"` - // IntentName: intent_name is used by PFR ensemble model. See - // go/pfr_ha_launch_doc - IntentName string `json:"intentName,omitempty"` - // IntentNameAuisScore: QUS intent-based ranking signals. Assistant User - // Interaction Score which is aggregated using intent name. - IntentNameAuisScore float64 `json:"intentNameAuisScore,omitempty"` - // IntentNameAuisScoreExp: Assistant User Interaction Score which is aggregated - // using intent name from exp laelaps. - IntentNameAuisScoreExp float64 `json:"intentNameAuisScoreExp,omitempty"` - // IntentType: intent_type differentiates between intents that share the top - // level intent name. For eg: for TV_FALLBACK_SEARCH_INTENT, the top level - // intent name must be "Find_media" and the media_object argument within it - // must be of type "Media_unspecified". - // - // Possible values: - // "UNKNOWN_INTENT_TYPE" - // "PLAY_MEDIA_MUSIC" - // "PLAY_MEDIA_PODCAST" - // "FIND_MEDIA_TV_FALLBACK" - // "PLAY_MEDIA_VIDEO" - // "ALARMS_AND_TIMERS" - // "HEALTH_AND_FITNESS" - // "PLAY_MEDIA_RADIO" - // "PLAY_TVM" - // "CALL" - // "MESSAGE" - IntentType string `json:"intentType,omitempty"` - // IsAquaMediaIntent: Whether the intent aqua intent from media domain enabled - // in QBT - IsAquaMediaIntent bool `json:"isAquaMediaIntent,omitempty"` - // IsCommunicationOpaRawTargetIntent: NSP-specific signals, used to determine - // if NSP intents should be selected or not. - IsCommunicationOpaRawTargetIntent bool `json:"isCommunicationOpaRawTargetIntent,omitempty"` - IsDummyIntent bool `json:"isDummyIntent,omitempty"` - // IsFullyGrounded: Whether the intent is fully grounded. - IsFullyGrounded bool `json:"isFullyGrounded,omitempty"` - // IsHighConfidencePodcastIntent: Used for PFR manual rule to prefer high - // confidence podcast intent (e.g. topical, genre) over generic podcast - // intents. - IsHighConfidencePodcastIntent bool `json:"isHighConfidencePodcastIntent,omitempty"` - // IsIntentFromOrbit: Whether the intent is from ORBIT. - IsIntentFromOrbit bool `json:"isIntentFromOrbit,omitempty"` - // IsMediaControlIntent: Whether the intent is a media control intent. - IsMediaControlIntent bool `json:"isMediaControlIntent,omitempty"` - // IsMediaIntent: Whether the intent is a media intent. - IsMediaIntent bool `json:"isMediaIntent,omitempty"` - IsNspDescopedIntent bool `json:"isNspDescopedIntent,omitempty"` - IsNspEnabledIntent bool `json:"isNspEnabledIntent,omitempty"` - // IsNspIntent: Whether this interpretation was genearted by NSP. - IsNspIntent bool `json:"isNspIntent,omitempty"` - IsNspTargetIntent bool `json:"isNspTargetIntent,omitempty"` - // IsPlayGenericMusic: Whether the intent is a PlayGenericMusic-type intent. - IsPlayGenericMusic bool `json:"isPlayGenericMusic,omitempty"` - // IsPodcastGenericIntent: Used for PFR manual rule to prefer high confidence - // podcast intent (e.g. topical, genre) over generic podcast intents. - IsPodcastGenericIntent bool `json:"isPodcastGenericIntent,omitempty"` - // IsPodcastIntent: Whether the intent is a podcast intent. - IsPodcastIntent bool `json:"isPodcastIntent,omitempty"` - // IsRadioIntent: Whether the intent is a PlayMedia radio intent. - IsRadioIntent bool `json:"isRadioIntent,omitempty"` - // IsSageDisabledIntent: Whether the intent is an intent marked disabled by the - // Sage IG. - IsSageDisabledIntent bool `json:"isSageDisabledIntent,omitempty"` - // IsSageInNageIntent: Whether the intent is produced by the Sage - // IntentGenerator invoked by the NSP intent-generator (thus, - // Sage-in-NSP-invoking_Sage, or Sage-in-Nage). - IsSageInNageIntent bool `json:"isSageInNageIntent,omitempty"` - // IsSageIntent: Whether this intent was generated by Sage. - IsSageIntent bool `json:"isSageIntent,omitempty"` - // IsScoreBasedIntent: Whether this intent is a score-based intent, relying on - // PFR for scoring and pruning to the top intent. - IsScoreBasedIntent bool `json:"isScoreBasedIntent,omitempty"` - // IsTvmIntent: Whether the intent is a media object tvm intent. - IsTvmIntent bool `json:"isTvmIntent,omitempty"` - // IsValidSmarthomeIntent: Whether the intent is a Smarthome-domain intent with - // valid device arguments. - IsValidSmarthomeIntent bool `json:"isValidSmarthomeIntent,omitempty"` - // IsVideoIntent: Whether the intent is a media object video intent. - IsVideoIntent bool `json:"isVideoIntent,omitempty"` - // KScore: Used for PFR manaul rule to prefer high kscore radio intent. The - // k-score comes from twiddled_ranking_scores in query interpretations. - KScore float64 `json:"kScore,omitempty"` - // KscorerRank: The rank order of the interpretation as determined by kscorer. - // The kscorer-determined dominant interpretation, if any, gets a rank of 0. - // The remaining N interpretations get a rank of 1 through N. - KscorerRank int64 `json:"kscorerRank,omitempty"` - // MaxHgrScoreAcrossBindingSets: The maximum score assigned by the Horizontal - // Grounding Ranker (HGR) across all of the intent's binding sets. - MaxHgrScoreAcrossBindingSets float64 `json:"maxHgrScoreAcrossBindingSets,omitempty"` - // NspIntentParseScore: Parse score generated by NSP. If NSP intent has been - // pruned due to dededuplication, It will have highest parse score for - // deduplicated intent. - NspIntentParseScore float64 `json:"nspIntentParseScore,omitempty"` - // NspRank: Rank of the intent as reported by NSP. - NspRank int64 `json:"nspRank,omitempty"` - // NumConstraints: Signals as proposed in go/improved-grounding-signals. Sum of - // the number of constraints used by the Grounding Box to ground each variable. - NumConstraints float64 `json:"numConstraints,omitempty"` - // NumConstraintsSatisfied: Sum of the number of constraints satisfied for each - // variable. Depending on the match score for a constraint, this number can be - // fractional and is in the range [0, num_constraints]. Populated by the - // Grounding Box. - NumConstraintsSatisfied float64 `json:"numConstraintsSatisfied,omitempty"` - // NumGroundableArgs: Grounding Signals. Number of groundable arguments the - // intent has, populated by the Grounding Box. - NumGroundableArgs float64 `json:"numGroundableArgs,omitempty"` - // NumGroundedArgs: Number of grounded arguments the intent has, populated by - // the Grounding Box. - NumGroundedArgs float64 `json:"numGroundedArgs,omitempty"` - // ParsingScoreMse8BucketId: A ID corresponding to which bucket a given parsing - // score belongs in. - ParsingScoreMse8BucketId int64 `json:"parsingScoreMse8BucketId,omitempty"` - // Phase: Query understanding phase the intent was produced in. - // - // Possible values: - // "QU_PHASE_UNSPECIFIED" - Invalid value to use as a default. - // "QU_PHASE_REQUEST" - Phase in which the QueryUnderstandingRequest for a - // non-identity Candidate is generated. Produces QueryCandidateInfo. - // "QU_PHASE_QREWRITE" - Phase in which QUS calls QRewrite. Produces - // QRewrite's reply. - // "QU_PHASE_QBT" - Phase in which QBT interpretations are ranked. Produces - // ranked QBT interpretations. - // "QU_PHASE_PROBE_QUERY" - Phase in which QUS does a probe query for - // incomplete search results and produces ranked RBT interpretations on the - // basis of these. Only runs if understand_mode is PRE_RESULT_AND_PROBE_QUERY. - // "QU_PHASE_MULTI_ACCOUNT" - Phase in which QUS does cross-account - // understanding. Produces AnalyzerResponse whose interpretations contain - // personal data from multiple accounts. - // "QU_PHASE_CQBT" - Deprecated, but see go/qus-contextual-ig for original - // purpose. - // "QU_PHASE_QBT_RESOLUTION" - Phase in which QUS calls resolution service to - // perform slow intent resolution. Produces resolved intents. - // "QU_PHASE_HIGH_PRECISION" - Phase in which QUS calls the fast - // HighPrecision workflow. Only runs if understand_mode is - // PRE_RESULT_AND_HIGH_PRECISION. - // "QU_PHASE_COMBINED_RBT_RESOLUTION" - Phase in which QUS combines the RBT - // result and Slow Resolution result. Only runs if understand_mode is - // PRE_RESULT_AND_PROBE_QUERY_AND_RESOLUTION. - // "QU_PHASE_ANALYZER_INPUT" - Phase in which QUS returns the AnalyzerInput - // as a separate Phase. It copies the AnalyzerInput from QU_PHASE_QREWRITE and - // returns it as a QueryUnderstandingStreamingResult for the purpose of logging - // in ACE. See go/analyzerinput-new-qus-phase. - // "QU_PHASE_NAGE" - Phase in which QUS runs NSP in the QUS. - // "QU_PHASE_SUPERCAT" - Phase in which QUS calls a stripped-down version of - // QRewrite and then calls the Supercat Orchestrator to generate Supercat QIs. - Phase string `json:"phase,omitempty"` - // PlatinumSource: Whether the intent comes from the Sage IntentGenerator's - // "platinum" source, signifying high-confidence in quality. - PlatinumSource bool `json:"platinumSource,omitempty"` - // Pq2tVsAssistantIbstCosine: Cosine similarity between predicted query-to-term - // model and assistant intent-type-based salient terms. This is intended to be - // only used for ACE ranking and only populated for assistant traffic. - Pq2tVsAssistantIbstCosine float64 `json:"pq2tVsAssistantIbstCosine,omitempty"` - // Pq2tVsIbstCosine: Cosine similarity between predicted query-to-term model - // and intent-type-based salient terms. This is intended to be used as a - // backoff to pq2t_vs_qibst_cosine if it is missing. - Pq2tVsIbstCosine float64 `json:"pq2tVsIbstCosine,omitempty"` - // PredictedIntentConfidence: Intent confidence predicted by the - // AssistantVerticalClassifier QRewrite servlet. - PredictedIntentConfidence float64 `json:"predictedIntentConfidence,omitempty"` - // SearchDispatch: The determination made by the SearchDispatchingConfig as to - // whether and how this interpretation should be dispatched to Search. - // - // Possible values: - // "UNKNOWN" - // "NONE" - // "BRIDGE_API" - // "FULFILL_INTENT" - // "EMIT_ONLY" - // "COUNTERFACTUAL_LOG_ONLY" - These rules are no-ops wrt. dispatching. The - // only effect they produce is the logging of the associated - // |counterfactual_events|. - // "CAPACITY_ACCOUNTING" - These rules only consume capacity constraints, but - // are not dispatched. This way the rules can be used for the suppression for - // intents lower in the list. - SearchDispatch string `json:"searchDispatch,omitempty"` - // SmarthomeIntentMetadata: SmartHome intent metadata used for the SmartHome - // business-rules twiddler. - SmarthomeIntentMetadata *AssistantPfrSmartHomeIntentMetadata `json:"smarthomeIntentMetadata,omitempty"` - // Possible values: - // "SUB_INTENT_TYPE_UNKNOWN" - // "SUB_INTENT_TYPE_TV_FALLBACK_SEARCH_INTENT" - Find_media - // "SUB_INTENT_TYPE_PODCAST" - Play_media, Play_media, Play_media, - // Listen_to_media, Media_entity_bare, Play_and_shuffle_media - // "SUB_INTENT_TYPE_MUSIC_INITIATION_INTENT" - Play_media - // "SUB_INTENT_TYPE_PLAY_RADIO_INTENT" - Play_media - // "SUB_INTENT_TYPE_PLAY_TVM_INTENT" - Play_media - // "SUB_INTENT_TYPE_PLAY_VIDEO_INTENT" - Play media - // "SUB_INTENT_TYPE_BROWSE_VIDEO_INTENT" - Find_media, Media_entity_bare - SubIntentType string `json:"subIntentType,omitempty"` - TiebreakingMetadata *AssistantPfrTiebreakingMetadata `json:"tiebreakingMetadata,omitempty"` - // UsesGroundingBox: Whether the interpretation should run through grounding - // box or not. - UsesGroundingBox bool `json:"usesGroundingBox,omitempty"` - // ForceSendFields is a list of field names (e.g. "CalibratedParsingScore") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CalibratedParsingScore") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantPrefulfillmentRankerPrefulfillmentSignals) MarshalJSON() ([]byte, error) { - type NoMethod AssistantPrefulfillmentRankerPrefulfillmentSignals - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *AssistantPrefulfillmentRankerPrefulfillmentSignals) UnmarshalJSON(data []byte) error { - type NoMethod AssistantPrefulfillmentRankerPrefulfillmentSignals - var s1 struct { - CalibratedParsingScore gensupport.JSONFloat64 `json:"calibratedParsingScore"` - EffectiveArgSpanLength gensupport.JSONFloat64 `json:"effectiveArgSpanLength"` - InQueryMaxEffectiveArgSpanLength gensupport.JSONFloat64 `json:"inQueryMaxEffectiveArgSpanLength"` - IntentNameAuisScore gensupport.JSONFloat64 `json:"intentNameAuisScore"` - IntentNameAuisScoreExp gensupport.JSONFloat64 `json:"intentNameAuisScoreExp"` - KScore gensupport.JSONFloat64 `json:"kScore"` - MaxHgrScoreAcrossBindingSets gensupport.JSONFloat64 `json:"maxHgrScoreAcrossBindingSets"` - NspIntentParseScore gensupport.JSONFloat64 `json:"nspIntentParseScore"` - NumConstraints gensupport.JSONFloat64 `json:"numConstraints"` - NumConstraintsSatisfied gensupport.JSONFloat64 `json:"numConstraintsSatisfied"` - NumGroundableArgs gensupport.JSONFloat64 `json:"numGroundableArgs"` - NumGroundedArgs gensupport.JSONFloat64 `json:"numGroundedArgs"` - Pq2tVsAssistantIbstCosine gensupport.JSONFloat64 `json:"pq2tVsAssistantIbstCosine"` - Pq2tVsIbstCosine gensupport.JSONFloat64 `json:"pq2tVsIbstCosine"` - PredictedIntentConfidence gensupport.JSONFloat64 `json:"predictedIntentConfidence"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.CalibratedParsingScore = float64(s1.CalibratedParsingScore) - s.EffectiveArgSpanLength = float64(s1.EffectiveArgSpanLength) - s.InQueryMaxEffectiveArgSpanLength = float64(s1.InQueryMaxEffectiveArgSpanLength) - s.IntentNameAuisScore = float64(s1.IntentNameAuisScore) - s.IntentNameAuisScoreExp = float64(s1.IntentNameAuisScoreExp) - s.KScore = float64(s1.KScore) - s.MaxHgrScoreAcrossBindingSets = float64(s1.MaxHgrScoreAcrossBindingSets) - s.NspIntentParseScore = float64(s1.NspIntentParseScore) - s.NumConstraints = float64(s1.NumConstraints) - s.NumConstraintsSatisfied = float64(s1.NumConstraintsSatisfied) - s.NumGroundableArgs = float64(s1.NumGroundableArgs) - s.NumGroundedArgs = float64(s1.NumGroundedArgs) - s.Pq2tVsAssistantIbstCosine = float64(s1.Pq2tVsAssistantIbstCosine) - s.Pq2tVsIbstCosine = float64(s1.Pq2tVsIbstCosine) - s.PredictedIntentConfidence = float64(s1.PredictedIntentConfidence) - return nil -} - -// AssistantProductivityListItem: A message to represent an item in a list. -// Just a basic string for now, but extensible for the future. -type AssistantProductivityListItem struct { - // Name: [REQUIRED] The name of the list item. - Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantProductivityListItem) MarshalJSON() ([]byte, error) { - type NoMethod AssistantProductivityListItem - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantRemindersAttachment: Proto descrbing an attachment to an Assistant -// Reminder. If the attachment has different behavior on different surfaces -// (e.g., deeplinks), there will be multiple attachments attach to the -// Reminder. Each of them will specify the surface type and the corresponding -// deeplink. -type AssistantRemindersAttachment struct { - // Id: REQUIRED. An unique identifier for the attachment. We have a plan to - // index this field, so it's marked as REQUIRED. Chat with opa-reminders-eng@ - // if you have a use case without an attachment ID. - Id string `json:"id,omitempty"` - Link *AssistantRemindersAttachmentLink `json:"link,omitempty"` - // SurfaceType: REQUIRED. Surface types this attachment should be shown. - // - // Possible values: - // "UNSPECIFIED" - // "ANDROID_PHONE" - SurfaceType []string `json:"surfaceType,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantRemindersAttachment) MarshalJSON() ([]byte, error) { - type NoMethod AssistantRemindersAttachment - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantRemindersAttachmentLink struct { - // LinkUrl: REQUIRED. The link to surface to frontends (e.g., Hubpage, - // notifications.) This could also be a surface-specific deeplink (be sure to - // set `surface_type` accordingly.) - LinkUrl string `json:"linkUrl,omitempty"` - // NotificationText: REQUIRED. The text for the notification link button. Note: - // We cannot take nlp_generation.TemplateData yet due to cyclic dependency. The - // plan is to cut dependency from TemplateData to quality.actions.Reminder. - // DEPRECATED. No longer used as part of the notification flow. - NotificationText *AssistantRemindersNlgTemplateKey `json:"notificationText,omitempty"` - // ForceSendFields is a list of field names (e.g. "LinkUrl") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LinkUrl") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantRemindersAttachmentLink) MarshalJSON() ([]byte, error) { - type NoMethod AssistantRemindersAttachmentLink - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantRemindersMemoryPayload: Since this is stored in BE, any update on -// this proto needs LGTM by ARIS storage owner -type AssistantRemindersMemoryPayload struct { - // HasReferencedEntityAtCreation: Whether the reminder created has a - // referenced_entity attached to it or not(go/hub-memory-payload). Since we - // plan to set this in Assistant reminder creation path flow, in case later the - // referenced_entity is removed from the reminder, then this bit might still - // remain true. Also in case referenced_entity is later added to reminder(for - // example when referenced_entity is attached by Server), then also this bit - // might remain false. This bit will be used to *guess* if the user has a - // memory-enabled AGSA, thus we'll surface the "open memory" button on hubpage. - // This check is not perfect, as the user might have other phones with older - // AGSA, so this is just a *best guess*. This field won't be stored in Memory - // backend, and will not be populated back when retrieving reminders. - HasReferencedEntityAtCreation bool `json:"hasReferencedEntityAtCreation,omitempty"` - // RecordId: Id of record that is associated with Reminder. This will be set - // for all Assistant reminders created after the first launch of the Reminder - // Memory integration, see go/reminders-memory for more details. Also, this - // might apply to all other types of reminders. - RecordId string `json:"recordId,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "HasReferencedEntityAtCreation") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HasReferencedEntityAtCreation") - // to include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantRemindersMemoryPayload) MarshalJSON() ([]byte, error) { - type NoMethod AssistantRemindersMemoryPayload - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantRemindersNlgTemplateKey: Equivalent to nlp_generation.TemplateKey. -// We cannot use nlp_generation.TemplateKey message directly becasue that proto -// is defined in a relatively large proto and has other dependencies, which -// will increase the size unnecessary and might hit many limitations (e.g., -// 5MiB limitation for Spanner type environment.). -type AssistantRemindersNlgTemplateKey struct { - // MessageSet: REQUIRED. - MessageSet string `json:"messageSet,omitempty"` - // TemplateName: REQUIRED. - TemplateName string `json:"templateName,omitempty"` - // ForceSendFields is a list of field names (e.g. "MessageSet") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MessageSet") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantRemindersNlgTemplateKey) MarshalJSON() ([]byte, error) { - type NoMethod AssistantRemindersNlgTemplateKey - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantTeleportTeleportNicknameSignals struct { - // HasLocationInterpretation: Whether the nickname could also refer to a - // location. For example, "walmart", "starbucks". - HasLocationInterpretation bool `json:"hasLocationInterpretation,omitempty"` - // InstallInfo: Indicates whether the user has the app installed. - // - // Possible values: - // "INSTALLATION_INFORMATION_UNAVAILABLE" - The annotator was not aware of - // installed apps, or the resource is not an app. - // "IS_INSTALLED_APP" - The resource is an app, and the annotator had the - // information that it is installed. - // "IS_NOT_INSTALLED_APP" - The resource is an app, and the annotator had the - // information that it is not installed. - InstallInfo string `json:"installInfo,omitempty"` - // IsGeneric: True when the name is generic, i.e when it could refer to - // multiple packages from different developrs. For example, "mail" is - // considered a generic name (since it can refer to "gmail", "yahoo mail" etc.) - // but "facebook" although could refer to both "facebook" and "facebook lite" - // is not considered generic (both packages are from the same third party). - IsGeneric bool `json:"isGeneric,omitempty"` - // NicknameTier: The tier of the nickname. - // - // Possible values: - // "UNKNOWN" - Default value for unknown tier. - // "UNRESTRICTED" - Nicknames that always refer to the respective application - // or url. For example, "facebook" always refers to the Facebook app / - // homepage. - // "INTENT_REQUIRED" - Nicknames that refer to the app/url when the intent is - // to execute an action on the app/url. For example, "most wanted" refers to - // the "Need for Speed Most Wanted" app, only if the user asks, for example, to - // open the app - "open most wanted". - // "APP_PHRASE_REQUIRED" - Nicknames that refer to the app/url when the - // app/url restriction is explicit. For example, "banking" is a nickname for - // the "Bank of America Mobile Banking" app, only if user explicitly states - // they are referring to the app - "banking app", "open banking application". - NicknameTier string `json:"nicknameTier,omitempty"` - // Possible values: - // "DEFAULT" - // "GELLER" - // "DEVICE_CAPABILITIES" - These annotations are generated on the fly - // (server-side), and are not matched by SE Muppet using the offline-generated - // corpus. - Source string `json:"source,omitempty"` - // ForceSendFields is a list of field names (e.g. "HasLocationInterpretation") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HasLocationInterpretation") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantTeleportTeleportNicknameSignals) MarshalJSON() ([]byte, error) { - type NoMethod AssistantTeleportTeleportNicknameSignals - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsCommonContactMatchSignal: Neural contact match signals. -type AssistantVerticalsCommonContactMatchSignal struct { - // MatchScore: Neural contact match similarity score. - MatchScore float64 `json:"matchScore,omitempty"` - // ForceSendFields is a list of field names (e.g. "MatchScore") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MatchScore") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsCommonContactMatchSignal) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsCommonContactMatchSignal - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *AssistantVerticalsCommonContactMatchSignal) UnmarshalJSON(data []byte) error { - type NoMethod AssistantVerticalsCommonContactMatchSignal - var s1 struct { - MatchScore gensupport.JSONFloat64 `json:"matchScore"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.MatchScore = float64(s1.MatchScore) - return nil -} - -// AssistantVerticalsHomeautomationProtoActionProjectConfig: Metadata for -// Actions-on-Google configuration. -type AssistantVerticalsHomeautomationProtoActionProjectConfig struct { - // ContextId: Actions-on-Google action context ID. See - // go/sdm-hospitality-design. - ContextId string `json:"contextId,omitempty"` - // ForceSendFields is a list of field names (e.g. "ContextId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ContextId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoActionProjectConfig) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoActionProjectConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoAgentDeviceId: An agent + device pair -// that uniquely identifies a device. -type AssistantVerticalsHomeautomationProtoAgentDeviceId struct { - // AgentId: The agent's ID. Generally it is the agent's Google pantheon project - // id. - AgentId string `json:"agentId,omitempty"` - // DeviceId: Device ID defined by the agent. - DeviceId string `json:"deviceId,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgentId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgentId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoAgentDeviceId) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoAgentDeviceId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoAgentInformation: AgentInformation -// represents the details needed to support both 1P and 3P partnerships for -// Home Automation. Next ID: 7 -type AssistantVerticalsHomeautomationProtoAgentInformation struct { - // Possible values: - // "OPEN_AUTH_DEFAULT" - Device uses 3p path with token authentication. This - // is the default value used when a different authentication type is not - // specified. - // "NEST_AUTH_PROXY" - Device uses 1p Nest path (eg: Olive) with gaia - // credential authentication. - AuthType string `json:"authType,omitempty"` - // Possible values: - // "UNKNOWN" - // "CLOUD_SYNC" - Device is created through HA2 SyncDevices flow, are HA2 - // cloud agent devices. ultravox is a cloud agent as well as surface device and - // it's using Sync flow. - // "ASSISTANT_SETTING_OOBE" - Device created through Assistant Setting at - // OOBE time, they're things that are mastered within google internally. - // "LOCAL_SYNC" - Device is created through the local device platform to HGS - // sync flow. These devices are not necessarily mastered in a 3P cloud - they - // are locally detected by an assistant device and then synced to HGS directly. - // See go/aogh-dd. - // "CHIP_SYNC" - Device created through local CHIP provision and sync up. - // Chip synced devices can be the same devices as the devices synced from - // cloud, and the sync and de-dup logic can be very complicated. - DeviceSource string `json:"deviceSource,omitempty"` - // Possible values: - // "HARPOON_DEFAULT" - Execute through Harpoon call. This is the default - // value used when the execution_path is not specified. - // "STUBBY" - Execute through stubby RPC call. - ExecutionPath string `json:"executionPath,omitempty"` - // Id: Unique Agent ID which maps to a specific Agent. Not using Agent Name - // here as it may change over time. - Id string `json:"id,omitempty"` - // Key: Agent's foreign key that uniquely identifies a user's device. - Key string `json:"key,omitempty"` - // ForceSendFields is a list of field names (e.g. "AuthType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AuthType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoAgentInformation) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoAgentInformation - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoAttribute: Protos representing device -// or structure attributes. See go/hgs-attributes-protos. Only protos approved -// and formalized by assistant/HG team should be added here. -type AssistantVerticalsHomeautomationProtoAttribute struct { - StructureBasedRoutine *AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutine `json:"structureBasedRoutine,omitempty"` - // ForceSendFields is a list of field names (e.g. "StructureBasedRoutine") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "StructureBasedRoutine") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoAttribute) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoAttribute - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoAttributes: -// LINT.IfChange(proto_attributes) -type AssistantVerticalsHomeautomationProtoAttributes struct { - AttributeProtos []*AssistantVerticalsHomeautomationProtoAttribute `json:"attributeProtos,omitempty"` - // ForceSendFields is a list of field names (e.g. "AttributeProtos") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AttributeProtos") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoAttributes) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoAttributes - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoCommonEventTrigger: -// LINT.IfChange(proto_event_trigger) Next id: 5 -type AssistantVerticalsHomeautomationProtoCommonEventTrigger struct { - Enabled bool `json:"enabled,omitempty"` - // EventTriggerPayload: Detailed settings for the event trigger; unset if not - // applicable. - EventTriggerPayload googleapi.RawMessage `json:"eventTriggerPayload,omitempty"` - // EventTriggerType: Different event type may have different settings. For - // example: * SCHEDULED will have event_trigger_payload of - // cs/symbol:assistant.verticals.voice_shortcut.proto.Schedule * LOCATION will - // have event_trigger_payload of - // cs/symbol:assistant.verticals.voice_shortcut.proto.LocationTriggerEvent - // - // Possible values: - // "UNKNOWN" - // "SCHEDULED" - // "LOCATION" - // "DEVICE_CONTROL" - For Routine triggered by Home Intelligence Service - // (IQS) based on DEVICE_STATE_CHANGE. NOTE: This trigger is currently handled - // by IQS team go/iqs-hhr. - // "DEVICE_SENSES" - For Routine triggered by Home Intelligence Service (IQS) - // based on DEVICE_SENSOR_SIGNAL. NOTE: This trigger is currently handled by - // IQS team go/iqs-hhr. - EventTriggerType string `json:"eventTriggerType,omitempty"` - // TriggerSource: Unique identifier for the EventTrigger, e.g. - // SCHEDULED_ROUTINES. See the enum values of - // cs/symbol:WorkflowTriggerInput.TriggerSource - TriggerSource int64 `json:"triggerSource,omitempty"` - // ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Enabled") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoCommonEventTrigger) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoCommonEventTrigger - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutine: Routines -// team stores the core Structure Based Routine data as the payload. We will -// add specific metadata on a per-need basis. -// LINT.IfChange(proto_structure_based_routine) Next id: 12 These two forms of -// payload are equivalent data in different formats and both will be stored in -// Home Graph. 1. The internal format will fan out to the DynamicEntity -// Footprints for read in Settings flow and Execution. 2. The UI format will be -// stripped out upon replication to DynamicEntity Footprints due to its -// redundancy and the Footprints data size limit, i.e. DE Footprints will only -// contain the internal format. -type AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutine struct { - // Enabled: Whether this Routine is enabled or not. If false, then this Routine - // can't be triggered by Voice. - Enabled bool `json:"enabled,omitempty"` - // GooglePreconfigWorkflowId: The unique identifier for a class of workflows. - // For example: * "sbr_001" => Away * "sbr_002" => Home * "category_template" - // => CUSTOM - GooglePreconfigWorkflowId string `json:"googlePreconfigWorkflowId,omitempty"` - Language string `json:"language,omitempty"` - // Payload: Internal format payload primarily for Routines team use. - Payload googleapi.RawMessage `json:"payload,omitempty"` - // SecurityLevel: The security level of the Structure Based Routine as - // determined by the most security-sensitive task. - // - // Possible values: - // "UNKNOWN" - // "ALLOW_UNVERIFIED" - // "ALLOW_VERIFIED" - SecurityLevel string `json:"securityLevel,omitempty"` - Shared bool `json:"shared,omitempty"` - StoragePayload googleapi.RawMessage `json:"storagePayload,omitempty"` - StructureId string `json:"structureId,omitempty"` - // Triggers: Voice or event triggers. - Triggers []*AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTrigger `json:"triggers,omitempty"` - // Possible values: - // "UNDEFINED" - // "CURATED" - // "ALARM" - // "CUSTOM" - Type string `json:"type,omitempty"` - // UiPayload: UI format payload primarily for external team use. - UiPayload googleapi.RawMessage `json:"uiPayload,omitempty"` - // ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Enabled") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutine) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutine - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTrigger: -// Next id: 3 -type AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTrigger struct { - EventTrigger *AssistantVerticalsHomeautomationProtoCommonEventTrigger `json:"eventTrigger,omitempty"` - VoiceTrigger *AssistantVerticalsHomeautomationProtoCommonVoiceTrigger `json:"voiceTrigger,omitempty"` - // ForceSendFields is a list of field names (e.g. "EventTrigger") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EventTrigger") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTrigger) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoCommonStructureBasedRoutineTrigger - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoCommonVoiceTrigger: -// LINT.IfChange(proto_voice_trigger) Next id: 2 -type AssistantVerticalsHomeautomationProtoCommonVoiceTrigger struct { - Query string `json:"query,omitempty"` - // ForceSendFields is a list of field names (e.g. "Query") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Query") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoCommonVoiceTrigger) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoCommonVoiceTrigger - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoConciergeFeatures: The Concierge -// features a structure is eligible for. See {@link -// home.graph.common.ConciergeFeatures}. -type AssistantVerticalsHomeautomationProtoConciergeFeatures struct { - // Possible values: - // "UNKNOWN_PRODUCT_FEATURE" - LINT.IfChange - // "E911" - - // LINT.ThenChange(//depot/google3/home/graph/proto/common/enums.proto) - ConciergeProductFeatures []string `json:"conciergeProductFeatures,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConciergeProductFeatures") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConciergeProductFeatures") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoConciergeFeatures) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoConciergeFeatures - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfo: Next -// ID: 5 -type AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfo struct { - // AnnotatedSpanDevice: The query span for device mention. - AnnotatedSpanDevice string `json:"annotatedSpanDevice,omitempty"` - // AnnotatedSpanRoom: The query span for room mention. - AnnotatedSpanRoom string `json:"annotatedSpanRoom,omitempty"` - // AnnotatedSpanStructure: The query span for structure mention. - AnnotatedSpanStructure string `json:"annotatedSpanStructure,omitempty"` - // ProcessedMentionedSpan: This field is from - // query_info.processed_mentioned_span in DTO. - ProcessedMentionedSpan string `json:"processedMentionedSpan,omitempty"` - // ForceSendFields is a list of field names (e.g. "AnnotatedSpanDevice") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AnnotatedSpanDevice") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfo) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoHomeAutomationDevice: Next ID: 9 -type AssistantVerticalsHomeautomationProtoHomeAutomationDevice struct { - // DeviceSelectionLog: the next 3 fields are for Lumos output (DTO) that needs - // to be propagated to the Fulfilment through the HomeAutomationDevice proto. - DeviceSelectionLog *AssistantLogsDeviceSelectionLog `json:"deviceSelectionLog,omitempty"` - DtoError *AssistantDeviceTargetingDeviceTargetingError `json:"dtoError,omitempty"` - // DtoQueryInfo: This field is from query_info in DTO. - DtoQueryInfo *AssistantVerticalsHomeautomationProtoDeviceTargetingOutputQueryInfo `json:"dtoQueryInfo,omitempty"` - // HomeautomationMetadata: Device meta data. - HomeautomationMetadata *AssistantVerticalsHomeautomationProtoHomeAutomationMetaData `json:"homeautomationMetadata,omitempty"` - // List: list of HomeAutomationDeviceItem. After migration completes, we will - // mark the above 4 field as deprecated and only use this field. - List []*AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItem `json:"list,omitempty"` - // MatchedItemKey: Corresponding to casse matched_item CustomTypeItem key. - MatchedItemKey string `json:"matchedItemKey,omitempty"` - // MatchedItemRawvalue: Corresponding to casse Argument raw_value. - MatchedItemRawvalue string `json:"matchedItemRawvalue,omitempty"` - // MatchedItemValue: Corresponding to casse matched_item CustomTypeItem value. - MatchedItemValue []string `json:"matchedItemValue,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceSelectionLog") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceSelectionLog") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoHomeAutomationDevice) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoHomeAutomationDevice - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItem struct { - // HomeautomationMetadata: Device meta data. - HomeautomationMetadata *AssistantVerticalsHomeautomationProtoHomeAutomationMetaData `json:"homeautomationMetadata,omitempty"` - // MatchedItemKey: Corresponding to casse matched_item CustomTypeItem key. - MatchedItemKey string `json:"matchedItemKey,omitempty"` - // MatchedItemRawvalue: Corresponding to casse Argument raw_value. - MatchedItemRawvalue string `json:"matchedItemRawvalue,omitempty"` - // MatchedItemValue: Corresponding to casse matched_item CustomTypeItem value. - MatchedItemValue []string `json:"matchedItemValue,omitempty"` - // ForceSendFields is a list of field names (e.g. "HomeautomationMetadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HomeautomationMetadata") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItem) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoHomeAutomationDeviceItem - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoHomeAutomationMetaData: Next ID: 45 -type AssistantVerticalsHomeautomationProtoHomeAutomationMetaData struct { - // ActionProjectConfigs: Custom actions that this item supports. - ActionProjectConfigs []*AssistantVerticalsHomeautomationProtoActionProjectConfig `json:"actionProjectConfigs,omitempty"` - // AgentInformation: Agent details. - AgentInformation *AssistantVerticalsHomeautomationProtoAgentInformation `json:"agentInformation,omitempty"` - // AssistantDeviceId: Device ID that matches the ID passed from the device to - // discourse_context when a user issues a query to an Assistant-enabled device - // that is registered with Cast (via CCS (see go/castservers)), or some other - // service. - AssistantDeviceId string `json:"assistantDeviceId,omitempty"` - // Attributes: Attributes data as provided from SYNC. This gets used in - // mutation and execution and in some potential cases, in biasing. - Attributes googleapi.RawMessage `json:"attributes,omitempty"` - // CreatorGaiaId: See Device.creator_gaia_ids in - // //home/graph/proto/service/types.proto. If empty, the GAIA ID from the - // request EUC is assumed to be the creator. We only need at most one - // creator_gaia_id. - CreatorGaiaId int64 `json:"creatorGaiaId,omitempty,string"` - // DerivedType: Any types that are not the given item type, but derived later. - // For example, if an item has type action.devices.types.OUTLET but is named - // "floor lamp" we can derive that it also has type action.devices.types.LIGHT. - // Also considered along with |type| when triggering type-based actions. - DerivedType []string `json:"derivedType,omitempty"` - // DeviceModelId: See note in home_graph.proto; loaded into DE now to avoid - // having to double-read assistant settings records as per - // go/smarthome-removing-assistant-settings - DeviceModelId string `json:"deviceModelId,omitempty"` - // GcmExecutionAddress: GCM address for cloud execution across google cloud - // messaging rather than 3p cloud. - GcmExecutionAddress string `json:"gcmExecutionAddress,omitempty"` - // GroupIds: List of parent group IDs, if the device is added to one or - // multiple device groups (see go/home-groups). Will be consumed by Smart Home - // APIs and (in the future) Assistant CTF to populate the group member list of - // device groups. - GroupIds []string `json:"groupIds,omitempty"` - // HashValue: The hash value from go/de-consistency-check - HashValue string `json:"hashValue,omitempty"` - // LanscanOptedIn: Whether local home platform should discover new devices via - // LAN for the structure. - LanscanOptedIn bool `json:"lanscanOptedIn,omitempty"` - // MatterUniqueId: Matter Unique ID. Contains VID/PID information - MatterUniqueId *AssistantVerticalsHomeautomationProtoMatterUniqueId `json:"matterUniqueId,omitempty"` - // ModelName: Model name from HomeGraph, populated from - // model_manifest.model_name. See b/200087451. - ModelName string `json:"modelName,omitempty"` - // NotificationEnabledByUser: Indicates whether notifications have been enabled - // by a user and will be announced for this device. This is set by the user - // within the Google app settings, and Google will announce the device - // notification only if both notification_supported_by_agent and - // notification_enabled_by_user are true. - NotificationEnabledByUser bool `json:"notificationEnabledByUser,omitempty"` - // NotificationSupportedByAgent: Indicates whether the device is capable of - // sending notifications. This field will be set by the agent (partner) on an - // incoming SYNC. If a device is not capable of generating notifications, the - // partner should set this flag to false. If a partner is not capable of - // calling ReportStateAndNotification to send notifications to Google, the - // partner should set this flag to false. If there is a user setting in the - // partner app to enable notifications and it is turned off, the partner should - // set this flag to false. - NotificationSupportedByAgent bool `json:"notificationSupportedByAgent,omitempty"` - // OpaqueCustomData: Store custom data for agent calls here. This will likely - // be short-lived -- we will replace this with calls to HGS. (Note: This may - // end up not temporary if we only need it for a couple partners -- more - // efficient to have it on a few users than require HGS reads for all users. - OpaqueCustomData string `json:"opaqueCustomData,omitempty"` - // OperationalNodeId: Operational CHIP Node ID that combines the fabric ID and - // node id in format of . (Hex format without 0x prefix, for example, - // 0F001234FA67AA39.1234ABCD1111DDDD). - OperationalNodeId string `json:"operationalNodeId,omitempty"` - // OtherDeviceIds: Other agent id + foreign id pairs associated with the - // device. This can be used to represent a group of devices (e.g. Sonos' bonded - // zone) as a single device, or a device that comes in through different sync - // flows (e.g. Newman with a Nest camera). - OtherDeviceIds []*AssistantVerticalsHomeautomationProtoAgentDeviceId `json:"otherDeviceIds,omitempty"` - // OtherDeviceSources: Additional device sources. This can be the result of the - // device being merged with other devices with a different source. - // - // Possible values: - // "UNKNOWN" - // "CLOUD_SYNC" - Device is created through HA2 SyncDevices flow, are HA2 - // cloud agent devices. ultravox is a cloud agent as well as surface device and - // it's using Sync flow. - // "ASSISTANT_SETTING_OOBE" - Device created through Assistant Setting at - // OOBE time, they're things that are mastered within google internally. - // "LOCAL_SYNC" - Device is created through the local device platform to HGS - // sync flow. These devices are not necessarily mastered in a 3P cloud - they - // are locally detected by an assistant device and then synced to HGS directly. - // See go/aogh-dd. - // "CHIP_SYNC" - Device created through local CHIP provision and sync up. - // Chip synced devices can be the same devices as the devices synced from - // cloud, and the sync and de-dup logic can be very complicated. - OtherDeviceSources []string `json:"otherDeviceSources,omitempty"` - // ParentNode: LINT.IfChange(home_graph_single_parent) At the moment, we just - // have a single string. In future this will expand with additional metadata - // from client or cloud execution data store. In today's 'tree' HomeGraph each - // object has a single parent. In the future this may have a mesh for complex - // cases -- zones, doors, etc -- so we make this a repeated element today. - // LINT.ThenChange(//depot/google3/assistant/assistant_server/settings/user_defi - // ned_actions/footprints/footprint_accessor.cc:home_graph_single_parent) - ParentNode []string `json:"parentNode,omitempty"` - // ParentType: The type of the parent. Currently only set for devices, to - // distinguish between structure and room parents. Items currently have only - // one parent, and entries after the first parent_type are ignored. - // - // Possible values: - // "UNKNOWN_ITEM_TYPE" - // "DEVICE" - // "ROOM" - // "PLACE" - // "GROUP" - // "SCENE" - // "STRUCTURE" - ParentType []string `json:"parentType,omitempty"` - // PersonalizedNicknames: User-given nicknames for an entity (e.g. "My house"). - // These nicknames are unique to the gaia user. Nickname in DeviceInfo is - // per-entity level nickname, while personalized_nicknames is per-user - // per-entity. - PersonalizedNicknames []string `json:"personalizedNicknames,omitempty"` - // PhysicalLocation: Stores the location for the STRUCTURE type. - PhysicalLocation *AssistantVerticalsHomeautomationProtoPhysicalLocation `json:"physicalLocation,omitempty"` - // Plural: We use this to determine if the synonyms matched in the aqua - // interpretation is plural. Then we will return disambiguate dialog or execute - // commands with all the targets. - Plural []string `json:"plural,omitempty"` - // PrimaryName: Which of the values was the original, user-provided name -- or - // our disambiguated, cleaned-up version of it. This is what we use in TTS when - // we need to identify an object that wasn't just spoken uniquely by the user - // -- in disambiguation dialogue, or in response to a collective interrogative - // (e.g. "what lights are on in the kitchen?") - PrimaryName string `json:"primaryName,omitempty"` - // ReportStateStatus: Whether device report state is out of sync with Query - // response. - // - // Possible values: - // "RSS_UNSPECIFIED" - // "RSS_IN_SYNC" - // "RSS_OUT_OF_SYNC" - ReportStateStatus string `json:"reportStateStatus,omitempty"` - // RoleInformation: User's role information for this device. This will be used - // in Home Automation server to decide if user has authority to fulfill its - // request. - RoleInformation *AssistantVerticalsHomeautomationProtoRoleInformation `json:"roleInformation,omitempty"` - // RoutableViaGcm: Only present for a target device. Indicates this target - // device is reachable by a local (AoGH) path via an AoGH device. - RoutableViaGcm bool `json:"routableViaGcm,omitempty"` - // SaftDocument: SAFT Document with linguistic annotations for the primary - // device name. - SaftDocument *NlpSaftDocument `json:"saftDocument,omitempty"` - // SmartDeviceManagementData: Data needed for SDM (fleet management). See - // go/enterprise-id-in-assistant. - SmartDeviceManagementData *AssistantVerticalsHomeautomationProtoSmartDeviceManagementData `json:"smartDeviceManagementData,omitempty"` - // SmartHomeFeatures: SmartHome feature flags that may be enabled per-item. - SmartHomeFeatures *AssistantVerticalsHomeautomationProtoSmartHomeFeatures `json:"smartHomeFeatures,omitempty"` - // SupportedStructureFeatures: The features that are available for a structure. - // Will only be populated if the item_type == STRUCTURE. - SupportedStructureFeatures *AssistantVerticalsHomeautomationProtoSupportedStructureFeatures `json:"supportedStructureFeatures,omitempty"` - // SupportedTraitsByAgent: Map from agent ID to supported traits. Some devices - // (e.g. Newman) have multiple agents, with each agent being associated with a - // specific set of traits. This could alternatively have been formatted as map - // as {trait, agent} pairs instead of the {agent, list of trait} pairs, but we - // retain this format to be consistent with HomeGraph's representation. In - // practice, a trait should only be paired with a single agent (i.e. we should - // not have two agents with the same trait in their value list). This field is - // optional and should only be provided if the item has multiple agents. - SupportedTraitsByAgent map[string]AssistantVerticalsHomeautomationProtoHomeAutomationMetaDataSupportedTraits `json:"supportedTraitsByAgent,omitempty"` - // SupportsDirectResponse: This device supports direct response -- if the - // device itself is issuing the query (which means it's also an assistant - // surface) we can return its payload directly rather than via cloud. - SupportsDirectResponse bool `json:"supportsDirectResponse,omitempty"` - // TargetDeviceSignalStrengths: Only present for an AoGH device. HGS Device ID - // of a target device and the signal strength (RSSI in dB, higher is better) - // between that target device and the AoGH device. If this map is empty, there - // are no target devices reachable by this AoGH device. - TargetDeviceSignalStrengths map[string]string `json:"targetDeviceSignalStrengths,omitempty"` - // TdssUpdateTimestamp: The timestamp at which the TDSS map was last updated. - // This information is used to help determine which hub would be preferred if - // multiple hubs report the same reach-ability for a device. - TdssUpdateTimestamp string `json:"tdssUpdateTimestamp,omitempty"` - // TraitRoutingHints: For SHED devices, some traits can only be executed on 3P - // cloud, e.g. "action.devices.traits.MediaInitiation", - // "action.devices.traits.Channel" go/shed-per-trait-routing - TraitRoutingHints []*HomeGraphCommonTraitRoutingHints `json:"traitRoutingHints,omitempty"` - // TraitRoutingTable: Map from traits to routing table. Metadata includes - // preferred execution path per trait and, when Matter is preferred, which - // endpoint should be used for the trait. - TraitRoutingTable map[string]HomeGraphCommonRoutingTable `json:"traitRoutingTable,omitempty"` - // TraitToAttributeProtos: Map of trait to a proto representing the attribute. - // This is different from the attributes field above which is represented as a - // struct. The attributes here are represented as protos and will require - // specific support per trait. - TraitToAttributeProtos map[string]AssistantVerticalsHomeautomationProtoAttributes `json:"traitToAttributeProtos,omitempty"` - // Type: The item type, such as "action.devices.types.VACUUM" - to be used in - // triggering type-based actions, e.g. "start vacuuming": - // go/smarthome-type-based-actions. - Type string `json:"type,omitempty"` - // UserDefinedDeviceType: The priority order of speech targeting: 1. - // user_defined_device_type 2. derived_device_type 3. device_type - UserDefinedDeviceType string `json:"userDefinedDeviceType,omitempty"` - // VoiceMatchRequired: Set to which level of voice match is needed. Enum based - // on string input from the partner in json sync. Values accepted: "none" (but - // in this case partners won't set it), "owner" [requires matching one of the - // creator gaia IDs], or "member" [any recognized voice 'enrolled' on the - // device]. This may expand; only "owner" is in use for first partner, Tile. - // - // Possible values: - // "ANY" - Also default, and existing behavior == "none" in text - // "OWNER" - Must match an actual creator_gaia_id on device - // "MEMBER" - Any member of the surface / structure interacting - VoiceMatchRequired string `json:"voiceMatchRequired,omitempty"` - // WillReportState: This device will report state; we can query realtime state - // from local HGS rather than slow QUERY intent to the 3p cloud. - WillReportState bool `json:"willReportState,omitempty"` - // ZoneNameSaftDocument: SAFT Document with linguistic annotations for the zone - // name, if applicable. - ZoneNameSaftDocument *NlpSaftDocument `json:"zoneNameSaftDocument,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActionProjectConfigs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ActionProjectConfigs") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoHomeAutomationMetaData) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoHomeAutomationMetaData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantVerticalsHomeautomationProtoHomeAutomationMetaDataSupportedTraits struct { - Traits []string `json:"traits,omitempty"` - // ForceSendFields is a list of field names (e.g. "Traits") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Traits") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoHomeAutomationMetaDataSupportedTraits) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoHomeAutomationMetaDataSupportedTraits - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoMatterUniqueId: Matter unique Id. These -// values are provided by the device. -type AssistantVerticalsHomeautomationProtoMatterUniqueId struct { - ProductId int64 `json:"productId,omitempty"` - UniqueId string `json:"uniqueId,omitempty"` - VendorId int64 `json:"vendorId,omitempty"` - // ForceSendFields is a list of field names (e.g. "ProductId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ProductId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoMatterUniqueId) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoMatterUniqueId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantVerticalsHomeautomationProtoPhysicalLocation struct { - Address string `json:"address,omitempty"` - GeoLocation *GoogleTypeLatLng `json:"geoLocation,omitempty"` - // ForceSendFields is a list of field names (e.g. "Address") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Address") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoPhysicalLocation) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoPhysicalLocation - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoRoleInformation: Represents the -// user’s role such as assistant only or manager for a device. Design doc: -// https://docs.google.com/document/d/1c1hnauEbBfDkywO3GZkI8ejHP765l2tLspmPgckEe2Y/ -type AssistantVerticalsHomeautomationProtoRoleInformation struct { - // IamCheckRequired: When true, role_type will be ignored, Nest IAM RPC will - // called to check authority. - IamCheckRequired bool `json:"iamCheckRequired,omitempty"` - // Possible values: - // "UNDEFINED" - // "ASSISTANT_ONLY" - // "CAST_LEGACY_LINKED" - // "MANAGER" - RoleType string `json:"roleType,omitempty"` - // ForceSendFields is a list of field names (e.g. "IamCheckRequired") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IamCheckRequired") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoRoleInformation) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoRoleInformation - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type AssistantVerticalsHomeautomationProtoSmartDeviceManagementData struct { - // EnterpriseId: The enterprise that owns the structure. E.g. Disney, Dream - // Hotel, etc. This is used for log/analytics purpose. For privacy reasons, we - // log at enterprise level instead of structure level. - EnterpriseId string `json:"enterpriseId,omitempty"` - // ForceSendFields is a list of field names (e.g. "EnterpriseId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EnterpriseId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoSmartDeviceManagementData) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoSmartDeviceManagementData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoSmartHomeFeatures: SmartHome feature -// flags that may be enabled per-item. LINT.IfChange -type AssistantVerticalsHomeautomationProtoSmartHomeFeatures struct { - // CircadianLightingEnabled: Flag indicating whether the background Circadian - // Lighting effect is enabled for a particular light - // (go/circadian-lighting-e2e). - CircadianLightingEnabled bool `json:"circadianLightingEnabled,omitempty"` - // EnergySavingsEnabled: Flag indicating whether automatic Energy Savings are - // enabled for this item. - EnergySavingsEnabled bool `json:"energySavingsEnabled,omitempty"` - // GentleWakeupEnabled: Flag indicating whether Gentle Wake Up is enabled for - // this item (go/sleep-wake-design). - GentleWakeupEnabled bool `json:"gentleWakeupEnabled,omitempty"` - // HomeAwayOverMatterEnabled: Flag indicating whether the user has enabled / - // disabled sending Home/Away status updates to the device through the Google - // custom IntelligenceEvents Matter cluster. (go/google-clusters-design) - HomeAwayOverMatterEnabled bool `json:"homeAwayOverMatterEnabled,omitempty"` - // ForceSendFields is a list of field names (e.g. "CircadianLightingEnabled") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CircadianLightingEnabled") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoSmartHomeFeatures) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoSmartHomeFeatures - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AssistantVerticalsHomeautomationProtoSupportedStructureFeatures: The -// features a structure supports. -type AssistantVerticalsHomeautomationProtoSupportedStructureFeatures struct { - ConciergeFeatures *AssistantVerticalsHomeautomationProtoConciergeFeatures `json:"conciergeFeatures,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConciergeFeatures") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConciergeFeatures") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AssistantVerticalsHomeautomationProtoSupportedStructureFeatures) MarshalJSON() ([]byte, error) { - type NoMethod AssistantVerticalsHomeautomationProtoSupportedStructureFeatures - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AttentionalEntitiesMentionProperties: Represents the properties of a -// mention. Next ID: 13 -type AttentionalEntitiesMentionProperties struct { - // DeviceId: The unique device on which the mention occurred. For example, if - // the user has two Google Home devices, this indicates which of the two was - // used. - DeviceId *AssistantApiCoreTypesDeviceId `json:"deviceId,omitempty"` - // EventId: ID of the event that resulted in this entity mention. For user and - // system turn AEs, this is taken from the ConversationSnapshotId of the - // snapshot containing this mention. For client AEs, this is empty. This can be - // used to join back this particular mention to the specific "turn" in which - // this mention took place. - EventId *EventIdMessage `json:"eventId,omitempty"` - // FactoidScore: If this mention corresponds to a WebAnswer, then this defines - // the score associated with that answer. - FactoidScore float64 `json:"factoidScore,omitempty"` - // ListEntryInfo: If present, this entity was mentioned as part of a larger - // list. - ListEntryInfo *AttentionalEntitiesMentionPropertiesListEntryInfo `json:"listEntryInfo,omitempty"` - // Recency: Estimates the recency of the mention. This is internally computed - // at runtime on a turn-by-turn basis. - // - // Possible values: - // "RECENCY_UNSPECIFIED" - // "MOST_RECENT_TURN" - Corresponds to a mention from the most recent - // user-driven interaction. For example, this label would be applied to both - // mentions of "Barack Obama" in the following interaction: USER: How tall is - // Obama? GOOGLE: Barack Obama is six feet one inch tall. NOTE: This is - // currently only applicable to mentions that have a source of User or System. - Recency string `json:"recency,omitempty"` - // Role: The semantic role that the entity was used in. - Role *AttentionalEntitiesSemanticRoleId `json:"role,omitempty"` - // Salience: How salient this mention is. This field will only be set if the - // mention is derived from a SearchAnswerValue. See go/webresultsdata-as-aes - // for more details. - // - // Possible values: - // "UNKNOWN_SALIENCE" - Any mention that is not derived from a - // SearchAnswerValue will not have a Salience. - // "PRIMARY" - This mention corresponds to the primary entity in the - // response. For example, if the query is "who was the 44th President of the - // US", then the entity for "Barack Obama" would be marked as PRIMARY. Note - // that there may more than one PRIMARY entity in a response if a list of - // values is displayed (e.g. "Stephen King books"). - // "METADATA" - This mention corresponds to metadata associated with the - // answer. For the US President query mentioned above, something like the - // inauguration date could be considered as METADATA. If it is difficult to - // identify a PRIMARY entity, then all entities may be marked as METADATA. - Salience string `json:"salience,omitempty"` - // Source: Contains metadata about the source of the mention. - Source *AttentionalEntitiesMentionPropertiesSource `json:"source,omitempty"` - // SpatialProperties: If present, properties of visual mentions (e.g., how they - // are displayed to the user, visibility, etc.). - SpatialProperties *AttentionalEntitiesSpatialProperties `json:"spatialProperties,omitempty"` - // SurfaceForm: Details about how this mention was presented. - SurfaceForm *AttentionalEntitiesSurfaceForm `json:"surfaceForm,omitempty"` - // Timestamp: Unix timestamp noting (approximately) when this mention occurred. - // We do not guarantee that the time will correspond precisely to when the user - // uttered/heard a response. If mentions within a single turn have *different* - // timestamps, they should accurately reflect the order in which the mentions - // occurred. If that order is unknown, they should all have the same timestamp. - Timestamp string `json:"timestamp,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AttentionalEntitiesMentionProperties) MarshalJSON() ([]byte, error) { - type NoMethod AttentionalEntitiesMentionProperties - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *AttentionalEntitiesMentionProperties) UnmarshalJSON(data []byte) error { - type NoMethod AttentionalEntitiesMentionProperties - var s1 struct { - FactoidScore gensupport.JSONFloat64 `json:"factoidScore"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.FactoidScore = float64(s1.FactoidScore) - return nil -} - -// AttentionalEntitiesMentionPropertiesListEntryInfo: Contains information -// about how an entity was presented as part of a list. -type AttentionalEntitiesMentionPropertiesListEntryInfo struct { - // Index: The index of the entity presented to the user. NOTE: Indexing starts - // from 0. - Index int64 `json:"index,omitempty,string"` - // LexicalGroundingsId: A string which uniquely identifies the list item this - // entity represents in the list. For example, consider the "OrderPizza" intent - // with the "size" slot: U: I want to order a pizza A: Sure. What size do you - // want: large, medium, or small? U: Gigantic The lexical_groundings_id can be - // "large" to identify the large item in the list. This lexical_groundings_id - // together with the semantic role fields (i.e., role.intent_id & role.role_id) - // can be used to match the - // nlp_semantic_parsing::LexicalGroundings::ValueTermType to utilize lexical - // grounding for i18n of static list selection items. Note that this field only - // needs to be populated when developers expect to provide lexical groundings - // for the list item this entity represents. Effectively, this field will be - // populated when this entity is published by ListPresentationFrame and the - // ::quality::dialog_manager::IntentStageSignals::FieldCandidate.lexical_groundi - // ngs_id field is populated. See go/lpf-i18nv2 & go/taskstate-ae-sync for more - // details. - LexicalGroundingsId string `json:"lexicalGroundingsId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Index") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Index") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AttentionalEntitiesMentionPropertiesListEntryInfo) MarshalJSON() ([]byte, error) { - type NoMethod AttentionalEntitiesMentionPropertiesListEntryInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AttentionalEntitiesMentionPropertiesSource: The agent or system from which -// the mention was derived. Each mention corresponds to a single source. -type AttentionalEntitiesMentionPropertiesSource struct { - Client *AttentionalEntitiesMentionPropertiesSourceClient `json:"client,omitempty"` - System *AttentionalEntitiesMentionPropertiesSourceSystem `json:"system,omitempty"` - User *AttentionalEntitiesMentionPropertiesSourceUser `json:"user,omitempty"` - // ForceSendFields is a list of field names (e.g. "Client") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Client") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AttentionalEntitiesMentionPropertiesSource) MarshalJSON() ([]byte, error) { - type NoMethod AttentionalEntitiesMentionPropertiesSource - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AttentionalEntitiesMentionPropertiesSourceClient: The client provided this -// entity. Currently, this exclusively corresponds to an entity that was -// circulated by the client. See go/on-device-aes for more details. -type AttentionalEntitiesMentionPropertiesSourceClient struct { -} - -// AttentionalEntitiesMentionPropertiesSourceSystem: The Assistant mentioned -// this entity. This corresponds to entities annotated during fulfillment. More -// specifically, these entities are typically provided by developers either via -// a Monastery frame or an InteractionBuilder. -type AttentionalEntitiesMentionPropertiesSourceSystem struct { -} - -// AttentionalEntitiesMentionPropertiesSourceUser: The user mentioned this -// entity. It was extracted from a previous winning intent (IntentQuery or -// IntentUpdate). Such entities are computed at runtime from the interpretation -// history without any developer intervention. -type AttentionalEntitiesMentionPropertiesSourceUser struct { -} - -// AttentionalEntitiesSemanticRoleId: Uniquely identifies a semantic role. When -// this role corresponds to a slot in a registered user intent (see -// go/assistant-intent-catalog), then the SemanticRoleId maps precisely onto -// that slot in the intent catalog. However, not all semantic roles corresponds -// to such user intent slots. -type AttentionalEntitiesSemanticRoleId struct { - // IntentId: Semantic roles will be defined locally, within the context of a - // single task/feature. The |intent_id| is a unique identifier for such a local - // cluster. In most cases, this should be exactly the same as the name of the - // intent used for TaskState (see go/assistant-intent-catalog). In cases where - // the intent isn't well-defined, this can be an arbitrary, feature-defined - // identifier. - IntentId string `json:"intentId,omitempty"` - // RoleId: Identifier for a semantic role, unique within the namespace of - // |intent_id|. When this role corresponds to a slot in the intent, the - // |role_id| should be equal to the name of that argument. For example, - // consider an entry in the intent catalog: core_intent { id { id: "BookARide" - // } slot { name: "provider" type { string_type { } } } slot { name: - // "num_riders" type { number_type { } } } } Then, the |role_id| would be - // "provider" or "num_riders" when referring to one of these slots. NOTE: when - // responding to the user, the Assistant may actually make use of other roles - // such as "ETA" or "driver" that are not part of the intent declaration. These - // should still be assigned consistent semantic roles. For example, a dialog - // with the Shopping feature: User: Where can I buy XYZ? Google: [Best Buy in - // Sunnyvale] has [XYZ] in stock. User: Great! Give me directions. In this - // case, both "Best Buy" and "XYZ" would be pushed to attentional entities. - // Best Buy, in this case, may not be an argument in the - // ShoppingItemStockInquiry intent, but should still have a consistent - // |role_id| such as "possessing_business". - RoleId string `json:"roleId,omitempty"` - // ForceSendFields is a list of field names (e.g. "IntentId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IntentId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AttentionalEntitiesSemanticRoleId) MarshalJSON() ([]byte, error) { - type NoMethod AttentionalEntitiesSemanticRoleId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AttentionalEntitiesSpatialProperties: Properties of visual mentions (e.g., -// how they are displayed to the user, visibility, etc.). -type AttentionalEntitiesSpatialProperties struct { - // Possible values: - // "UNKNOWN_VISIBILITY" - // "VISIBLE" - // "HIDDEN" - Visibility string `json:"visibility,omitempty"` - // ForceSendFields is a list of field names (e.g. "Visibility") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Visibility") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AttentionalEntitiesSpatialProperties) MarshalJSON() ([]byte, error) { - type NoMethod AttentionalEntitiesSpatialProperties - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// AttentionalEntitiesSurfaceForm: How the entity was presented in this mention -// at a surface level. For example, "President Barack Obama" or "Barack Obama" -// or "he" might all be reasonable surface forms for the MID /m/02mjmr. -type AttentionalEntitiesSurfaceForm struct { - Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "Text") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Text") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *AttentionalEntitiesSurfaceForm) MarshalJSON() ([]byte, error) { - type NoMethod AttentionalEntitiesSurfaceForm - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// BiasingPerDocData: This data is expected to appear in approximately 2 out of -// every 1,000 documents with an average of 2 fields per document. Rough order -// of size is in the hundreds of kilobytes per Mustang shard. -type BiasingPerDocData struct { - Biasingfield []*BiasingPerDocDataBiasingField `json:"biasingfield,omitempty"` - // ForceSendFields is a list of field names (e.g. "Biasingfield") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Biasingfield") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BiasingPerDocData) MarshalJSON() ([]byte, error) { - type NoMethod BiasingPerDocData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// BiasingPerDocData2: A replacement for BiasingPerDocData that is more -// efficient wrt size in the index. -type BiasingPerDocData2 struct { - BiasingField []*BiasingPerDocData2BiasingField `json:"biasingField,omitempty"` - // ForceSendFields is a list of field names (e.g. "BiasingField") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BiasingField") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BiasingPerDocData2) MarshalJSON() ([]byte, error) { - type NoMethod BiasingPerDocData2 - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type BiasingPerDocData2BiasingField struct { - // CompressedName: A fingerprint of the actual name of the field. - CompressedName int64 `json:"compressedName,omitempty"` - // Value: The value, under various representations to get maximum compression. - // Exactly one of them is guaranteed to be filled. value as a double. - Value float64 `json:"value,omitempty"` - // ValueFloat: a floating value, represented as an integer by converting using - // floating_value * 1000. Useable for all floating values that need 3 digits of - // precision, and are small enough. - ValueFloat int64 `json:"valueFloat,omitempty"` - // ValueInt: value as an int32. When the value is encode-able as an integer. - ValueInt int64 `json:"valueInt,omitempty"` - // ForceSendFields is a list of field names (e.g. "CompressedName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CompressedName") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BiasingPerDocData2BiasingField) MarshalJSON() ([]byte, error) { - type NoMethod BiasingPerDocData2BiasingField - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *BiasingPerDocData2BiasingField) UnmarshalJSON(data []byte) error { - type NoMethod BiasingPerDocData2BiasingField - var s1 struct { - Value gensupport.JSONFloat64 `json:"value"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Value = float64(s1.Value) - return nil -} - -// BiasingPerDocDataBiasingField: Metadata fields on which we can bias (sort) -// search results independently from the normal ranking using a ScoreAdjuster -type BiasingPerDocDataBiasingField struct { - // Name: Fingerprint of the attribute name (no need to keep long field names) - Name uint64 `json:"Name,omitempty,string"` - // Value: Biasing value translated into a double for uniform comparison - Value float64 `json:"Value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BiasingPerDocDataBiasingField) MarshalJSON() ([]byte, error) { - type NoMethod BiasingPerDocDataBiasingField - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *BiasingPerDocDataBiasingField) UnmarshalJSON(data []byte) error { - type NoMethod BiasingPerDocDataBiasingField - var s1 struct { - Value gensupport.JSONFloat64 `json:"Value"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Value = float64(s1.Value) - return nil -} - -// BlobstoreBlobRef: A BlobRef is used to refer to a blob in BlobStore. Clients -// may only manipulate blobs through BlobRefs. BlobRefs should not be sent in -// the clear outside of Google (for example, encoded in URLs, stored in a -// client cookie, or referred to in Javascript); for efficiency, the IDs expose -// internal details of the blobstore (such as machine IPs or cluster names). If -// clients need to store BlobRefs outside of Google, they must encrypt the -// BlobRef securely or use an alternative insecure identifier with an -// id->BlobRef mapping inside our network. -type BlobstoreBlobRef struct { - BlobID string `json:"BlobID,omitempty"` - Options int64 `json:"Options,omitempty,string"` - RefID string `json:"RefID,omitempty"` - ShardBin int64 `json:"ShardBin,omitempty"` - // Size: Size of the complete blob, in bytes. - Size int64 `json:"Size,omitempty,string"` - // SourceV2BlobID: The ID of the V2 blob this blob has - SourceV2BlobID string `json:"SourceV2BlobID,omitempty"` - // V2ReadBlobToken: Deprecated. - V2ReadBlobToken string `json:"V2ReadBlobToken,omitempty"` - // ForceSendFields is a list of field names (e.g. "BlobID") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BlobID") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BlobstoreBlobRef) MarshalJSON() ([]byte, error) { - type NoMethod BlobstoreBlobRef - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// BlogPerDocData: Additional data for Blog/Posts -type BlogPerDocData struct { - // BlogurlFp: used for blogurl crowding. - BlogurlFp uint64 `json:"blogurlFp,omitempty,string"` - // ClientSpamminess: This score captures how spammy the client is that the - // micropost was created with. The higher the score the worse. - ClientSpamminess int64 `json:"clientSpamminess,omitempty"` - // ConvTree: For the threaded conversation view. Only populated in docs with - // provider type SYNTHETIC_CONVERSATION_DOC. - ConvTree *BlogsearchConversationTree `json:"convTree,omitempty"` - CopycatScore int64 `json:"copycatScore,omitempty"` - DocQualityScore int64 `json:"docQualityScore,omitempty"` - // IsSyntacticReshare: A syntactic reshare is a document that is * created from - // an original and shared with friends and * we detect this resharing property - // by syntactically parsing the doc. . For example, a retweet is an example of - // a syntactic_reshare because we can detect that it's a reshare by grepping - // for "RT @". - IsSyntacticReshare bool `json:"isSyntacticReshare,omitempty"` - // MicroblogQualityExptData: Experimental data for quality experiments. This - // will NOT be populated in prod, but we will use this for experiments. - MicroblogQualityExptData *Proto2BridgeMessageSet `json:"microblogQualityExptData,omitempty"` - // NumMentions: For replies/reshares. num_mentions = number of times the - // pattern @foo appears in the document. - NumMentions int64 `json:"numMentions,omitempty"` - Outlinks []*BlogPerDocDataOutlinks `json:"outlinks,omitempty"` - // PostContentFingerprint: The fingerprint for the body text of the microblog - // post. It is copied from MicroBlogPost.post_content_fingerprint. - PostContentFingerprint int64 `json:"postContentFingerprint,omitempty"` - QualityScore int64 `json:"qualityScore,omitempty"` - // SpamScore: Blog scoring signals. - SpamScore int64 `json:"spamScore,omitempty"` - UniversalWhitelisted bool `json:"universalWhitelisted,omitempty"` - // UserQualityScore: User and doc quality scores for updates (aka microposts). - UserQualityScore int64 `json:"userQualityScore,omitempty"` - // ForceSendFields is a list of field names (e.g. "BlogurlFp") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BlogurlFp") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BlogPerDocData) MarshalJSON() ([]byte, error) { - type NoMethod BlogPerDocData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// BlogPerDocDataOutlinks: Resolved url and site spamscore for outlinks in -// updates (aka microposts). -type BlogPerDocDataOutlinks struct { - // AggregationFp: Representative id for an equivalence class of URLs. E.g. - // http://youtube.com/watch?v=12 and - // http://youtube.com/watch?v=12&feature=related have the same aggregation id - // since they're effectively the same webpage - AggregationFp uint64 `json:"aggregationFp,omitempty,string"` - ResolvedUrl string `json:"resolvedUrl,omitempty"` - SiteSpamScore int64 `json:"siteSpamScore,omitempty"` - Title string `json:"title,omitempty"` - // ForceSendFields is a list of field names (e.g. "AggregationFp") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AggregationFp") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BlogPerDocDataOutlinks) MarshalJSON() ([]byte, error) { - type NoMethod BlogPerDocDataOutlinks - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type BlogsearchConversationNode struct { - // AuthorName: The username of the author of the microblog post represented by - // this node. - AuthorName string `json:"authorName,omitempty"` - // Children: A list of docids of child nodes. - Children []string `json:"children,omitempty"` - // Date: The creation date of the doc. - Date int64 `json:"date,omitempty,string"` - // Docid: Docid of the microblog post represented by this node. - Docid string `json:"docid,omitempty"` - // Parent: The docid of the parent node. The root of the tree will leave this - // empty. - Parent string `json:"parent,omitempty"` - // ForceSendFields is a list of field names (e.g. "AuthorName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AuthorName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BlogsearchConversationNode) MarshalJSON() ([]byte, error) { - type NoMethod BlogsearchConversationNode - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type BlogsearchConversationTree struct { - // ConvId: The id of this conversation. - ConvId string `json:"convId,omitempty"` - // Nodes: The nodes in this conversation. No particular order is assumed. - Nodes []*BlogsearchConversationNode `json:"nodes,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConvId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConvId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BlogsearchConversationTree) MarshalJSON() ([]byte, error) { - type NoMethod BlogsearchConversationTree - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// BlueGingerClientVisibleProtoBlueGingerSupportedServices: Information to -// indicate BG availability for businesses. This message is filled from Topic -// Server and stored in the GSR in Superroot. -type BlueGingerClientVisibleProtoBlueGingerSupportedServices struct { - // Modules: List of supported modules for a business. - Modules []*BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModule `json:"modules,omitempty"` - // ForceSendFields is a list of field names (e.g. "Modules") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Modules") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BlueGingerClientVisibleProtoBlueGingerSupportedServices) MarshalJSON() ([]byte, error) { - type NoMethod BlueGingerClientVisibleProtoBlueGingerSupportedServices - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModule struct { - // Name: Module name, e.g. hairdresser_reservation. from - // quality/views/extraction/kcube/bg/modules/modules.bzl. - Name string `json:"name,omitempty"` - // Services: Services of this module that are supported by the business, e.g. - // haircuts. - Services []string `json:"services,omitempty"` - // Possible values: - // "UNKNOWN_USE_CASE" - // Data extraction: - // "OPENING_HOURS" - Opening hours extraction, triggered internally without - // an end-user in the loop. The trigger might be a user-edit, but the user is - // not being updated about the extraction results. - // "ON_DEMAND_OPENING_HOURS" - On-demand opening hours extraction, i.e. - // requests are issued by an end-user who is also notified about the results of - // the task. - // "GEO_DATA_EXTRACTION" - // "OPERATING_MODE_EXTRACTION" - // "RESTAURANT_RESERVATION" - // "MASSAGE_RESERVATION" - // "HAIRDRESSER_RESERVATION" - See go/bg-hdr-2019. - // "NAIL_SALON_RESERVATION" - // "RUNNING_LATE" - See go/duplex-running-late. - // "FOOD_ORDERING" - See go/duplex-fo-pilot. - // "LOCAL_INVENTORY_CHECK" - Local Inventory Checks (go/duplex-dove). - // "ON_DEMAND_LOCAL_INVENTORY" - On-Demand Local Inventory - // (go/duplex-li-on-demand). - // "WAITLIST" - // "CHECK_WAIT" - Check wait: go/duplex-check-wait-time - // "CHEFBOT" - Chefbot (go/duplexify-cooking-goals). - // "ADS_CALL_CENTER_AUTHENTICATION" - // "PLAYSTORE" - Play Store user authentication. See - // http://doc/16tApXKX1cc23AIuhIhPCWVkm1qkcajx2pHMkxW6kMAs - // "TAKING_RESTAURANT_RESERVATIONS" - Taking restaurant reservations on - // behalf of a restaurant. i.e. getting calls from clients who want to make a - // reservation, and trying to match their request with the restaurant's - // schedule. - // "CALL_CENTER_DEMO" - // "ASSISTED_CALL_DEMO" - // "BUSINESS_OPT_IN" - // "CALLJOY_PILOT" - // "ASSISTANT_REMINDERS_DEMO" - // "HAPPY_BIRTHDAY" - // "ASSISTED_IVR" - // "DUPLEX_FOR_BUSINESS_PILOT" - Duplex for Business Pilot: - // go/duplex-voice-pilot - // "SAY_THE_SAME_THING" - Say The Same Thing game bot. - // "COVID_FAQ" - Bot for answering FAQ about COVID-19 (go/bg-covid-faq). - // "VANCOUVER" - // "MEENAPLEX" - go/meenaplex-dd - // "REMOVED_USE_CASE_6" - Was: . - // "SEMI_DELEGATED_CALLING" - UC ID for testing ideas around a partial call - // delegation bot. - // "HARDWARE_SETUP" - UC ID for hardware setup prototype - // "DUMDA_BOT" - Experimental use case for a form of Meena+Duplex. - // "SMART_REPLY" - Personal Call Assist. - // "DUPLEX_ZERO" - Duplex Zero Bot. - // "SPAM_FILTER" - Spam filter bot. - // "TEXT" - Text extraction bot. - // "IVR_CRAWLING" - IVR crawling bot. - // "VOICEMAIL" - Voicemail bot. - // "INBOUND_SMB" - Duplex for Business - Inbound SMB bot. - // "CCAI_DEMO" - Duplex for Business - Demo for the CCAI integration. - // "DIALOGFLOW_DELEGATION" - Duplex for Business - Dialogflow delegation - // module for CCAI integration. - // "AD_LEAD_VERIFICATION" - Duplex for Business - ad lead verification module - // for GLS integration. - // "GET_HUMAN" - Get Human bot. - // "CHECK_INSURANCE_ACCEPTANCE" - Check health insurance acceptance. - // "FREE_TEXT" - Wrapper use case for creating an errand from conversational - // free-text. The true use case for the errand will be provided by a call to - // the LBT backend's task routing logic, such that this use case should NOT - // actually ever reach the caller. - // "SMART_NOTES" - Personal Call Assist. - UseCase string `json:"useCase,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModule) MarshalJSON() ([]byte, error) { - type NoMethod BlueGingerClientVisibleProtoBlueGingerSupportedServicesBlueGingerModule - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// BookCitationPerDocData: Per-doc data for the web page about the cited book -// Approximate size is on average ~10bytes -type BookCitationPerDocData struct { - // BookId: the book id for the main citation - BookId int64 `json:"bookId,omitempty,string"` - // DiscretizedCitationScore: the discretized citation score for the main book. - // we map the raw score 1.0-20.0 to 0 - 127 - DiscretizedCitationScore int64 `json:"discretizedCitationScore,omitempty"` - // Previewable: Is there a preview or excerpt of the book on this document? - Previewable bool `json:"previewable,omitempty"` - // SecondBookId: book id for the second citation if we can't separate the two - // top citations (they are too close). - SecondBookId int64 `json:"secondBookId,omitempty,string"` - // SecondDiscretizedCitationScore: the discretized score for the second - // citation - SecondDiscretizedCitationScore int64 `json:"secondDiscretizedCitationScore,omitempty"` - // ForceSendFields is a list of field names (e.g. "BookId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BookId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BookCitationPerDocData) MarshalJSON() ([]byte, error) { - type NoMethod BookCitationPerDocData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// BusinessHours: We divide up a week into individual open intervals. If any -// are present then they must be arranged in strictly increasing order, with -// non-empty spaces between successive intervals, and all times between 0 and -// 604800, the number of seconds in a week. -type BusinessHours struct { - Dayopen int64 `json:"dayopen,omitempty"` - Interval []*BusinessHoursInterval `json:"interval,omitempty"` - // ForceSendFields is a list of field names (e.g. "Dayopen") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Dayopen") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BusinessHours) MarshalJSON() ([]byte, error) { - type NoMethod BusinessHours - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type BusinessHoursInterval struct { - // End: The interval ends at the start of this second - End int64 `json:"end,omitempty"` - // Start: Time in seconds since Midnight-Monday-Morn - Start int64 `json:"start,omitempty"` - // ForceSendFields is a list of field names (e.g. "End") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "End") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *BusinessHoursInterval) MarshalJSON() ([]byte, error) { - type NoMethod BusinessHoursInterval - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// ChatBotPlatformBotSendToken: Token to be exposed and stored by the bot -type ChatBotPlatformBotSendToken struct { - // ExpiryTimeMicros: Time since epoch (micros) that this will expire - ExpiryTimeMicros int64 `json:"expiryTimeMicros,omitempty,string"` - // SendToken: Encrypted InternalSendToken - SendToken string `json:"sendToken,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExpiryTimeMicros") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExpiryTimeMicros") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ChatBotPlatformBotSendToken) MarshalJSON() ([]byte, error) { - type NoMethod ChatBotPlatformBotSendToken - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type ChatBotPlatformFireballId struct { - // Id: When used as a user ID, it's the phone number of the sender. When used - // as a session ID: For group conversation, it is the group ID. For 1 to 1, it - // is the receiver or sender phone number. For 1 to bot, it is the receiver - // phone number or empty. - Id *GoogleInternalCommunicationsInstantmessagingV1Id `json:"id,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ChatBotPlatformFireballId) MarshalJSON() ([]byte, error) { - type NoMethod ChatBotPlatformFireballId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// ClassifierPornClassifierData: Next ID: 6 -type ClassifierPornClassifierData struct { - Classification []*ClassifierPornClassifierDataClassification `json:"classification,omitempty"` - // ImageBasedDetectionDone: Records whether the image linker is run already. - // This is only used for Alexandria but NOT for Segindexer. - ImageBasedDetectionDone bool `json:"imageBasedDetectionDone,omitempty"` - Timestamp int64 `json:"timestamp,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Classification") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Classification") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ClassifierPornClassifierData) MarshalJSON() ([]byte, error) { - type NoMethod ClassifierPornClassifierData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type ClassifierPornClassifierDataClassification struct { - Label string `json:"label,omitempty"` - Score float64 `json:"score,omitempty"` - // ForceSendFields is a list of field names (e.g. "Label") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Label") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ClassifierPornClassifierDataClassification) MarshalJSON() ([]byte, error) { - type NoMethod ClassifierPornClassifierDataClassification - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *ClassifierPornClassifierDataClassification) UnmarshalJSON(data []byte) error { - type NoMethod ClassifierPornClassifierDataClassification - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - -// ClassifierPornDocumentData: Next ID: 3 -type ClassifierPornDocumentData struct { - Classifierdata *ClassifierPornClassifierData `json:"classifierdata,omitempty"` - Sitedata *ClassifierPornSiteData `json:"sitedata,omitempty"` - // ForceSendFields is a list of field names (e.g. "Classifierdata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Classifierdata") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ClassifierPornDocumentData) MarshalJSON() ([]byte, error) { - type NoMethod ClassifierPornDocumentData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// ClassifierPornQueryClassifierOutput: Generic output for one vertical. -type ClassifierPornQueryClassifierOutput struct { - // CsaiClassification: This field is only filled for the CSAI vertical. - // - // Possible values: - // "NOT_PROTECTED" - Contract: (STRONGLY_PROTECTED & PROTECTED) == PROTECTED - // "PROTECTED" - // "STRONGLY_PROTECTED" - CsaiClassification string `json:"csaiClassification,omitempty"` - // Debug: Human-readable debug information about the classification. This field - // is only set if output_debug is set in the classification input. - Debug string `json:"debug,omitempty"` - // IsPositive: The bit that shows if this classifier outputs positive - // classification for the input query. Set by thresholding with a recommended - // threshold. - IsPositive bool `json:"isPositive,omitempty"` - // Score: The score that the classifier assigned to the input query. This is - // filled by all verticals. - Score float64 `json:"score,omitempty"` - // ForceSendFields is a list of field names (e.g. "CsaiClassification") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CsaiClassification") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ClassifierPornQueryClassifierOutput) MarshalJSON() ([]byte, error) { - type NoMethod ClassifierPornQueryClassifierOutput - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *ClassifierPornQueryClassifierOutput) UnmarshalJSON(data []byte) error { - type NoMethod ClassifierPornQueryClassifierOutput - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - -// ClassifierPornQueryMultiLabelClassifierOutput: Multi-label classification -// output. It contains the output for each vertical. The output for some -// verticals can be empty, in case that vertical is not supported by the -// classifier or if the set of verticals was restricted using -// MultiLabelClassifierInput.verticals. -type ClassifierPornQueryMultiLabelClassifierOutput struct { - Csai *ClassifierPornQueryClassifierOutput `json:"csai,omitempty"` - Fringe *ClassifierPornQueryClassifierOutput `json:"fringe,omitempty"` - Medical *ClassifierPornQueryClassifierOutput `json:"medical,omitempty"` - Minor *ClassifierPornQueryClassifierOutput `json:"minor,omitempty"` - Offensive *ClassifierPornQueryClassifierOutput `json:"offensive,omitempty"` - Porn *ClassifierPornQueryClassifierOutput `json:"porn,omitempty"` - Spoof *ClassifierPornQueryClassifierOutput `json:"spoof,omitempty"` - Violence *ClassifierPornQueryClassifierOutput `json:"violence,omitempty"` - Vulgar *ClassifierPornQueryClassifierOutput `json:"vulgar,omitempty"` - // ForceSendFields is a list of field names (e.g. "Csai") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Csai") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ClassifierPornQueryMultiLabelClassifierOutput) MarshalJSON() ([]byte, error) { - type NoMethod ClassifierPornQueryMultiLabelClassifierOutput - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// ClassifierPornQueryStats: QuerySats contains the information about the -// queries that users typed to search for this image. -type ClassifierPornQueryStats struct { - // QueryTextPornScore: A query text porn score for the queries which have - // clicks to the image: query_text_porn_score := sum(clicks(query) * - // text_porn_score(query)) / sum(clicks(query)) - QueryTextPornScore float64 `json:"queryTextPornScore,omitempty"` - TotalClicks float64 `json:"totalClicks,omitempty"` - // ForceSendFields is a list of field names (e.g. "QueryTextPornScore") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "QueryTextPornScore") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ClassifierPornQueryStats) MarshalJSON() ([]byte, error) { - type NoMethod ClassifierPornQueryStats - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *ClassifierPornQueryStats) UnmarshalJSON(data []byte) error { - type NoMethod ClassifierPornQueryStats - var s1 struct { - QueryTextPornScore gensupport.JSONFloat64 `json:"queryTextPornScore"` - TotalClicks gensupport.JSONFloat64 `json:"totalClicks"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.QueryTextPornScore = float64(s1.QueryTextPornScore) - s.TotalClicks = float64(s1.TotalClicks) - return nil -} - -// ClassifierPornReferrerCounts: ReferrerCounts stores how many referrers an -// images has and how many of them were classified as porn and as -// adult/softporn respectively. Note that a referrer is usually a landing page, -// but as of March 2011 this also includes referrers which an image can -// 'inherit' by propagating counts from near duplicate images. -type ClassifierPornReferrerCounts struct { - Adult int64 `json:"adult,omitempty"` - // Porn: Number of referrers which are classified as porn and as adult. - Porn int64 `json:"porn,omitempty"` - // Total: Total number of referrers. - Total int64 `json:"total,omitempty"` - // ForceSendFields is a list of field names (e.g. "Adult") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Adult") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ClassifierPornReferrerCounts) MarshalJSON() ([]byte, error) { - type NoMethod ClassifierPornReferrerCounts - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// ClassifierPornSiteData: Next ID: 53 -type ClassifierPornSiteData struct { - // AvgPedoPageScore: The average pedo page score for the site. - AvgPedoPageScore float64 `json:"avgPedoPageScore,omitempty"` - FinalPedoSiteScore float64 `json:"finalPedoSiteScore,omitempty"` - // NumberOfPages: The number of pages that were used to compute the scores and - // ratios. - NumberOfPages uint64 `json:"numberOfPages,omitempty,string"` - // NumberOfPedoPages: The number of pages with pedo restrict. - NumberOfPedoPages uint64 `json:"numberOfPedoPages,omitempty,string"` - // Site: Sitechunk used to compute the signals. The field is present only for - // data created after December 2022. - Site string `json:"site,omitempty"` - // SitePornRatio: The ratio of porn/softporn of the site this page belongs to. - SitePornRatio float64 `json:"sitePornRatio,omitempty"` - SiteSoftpornRatio float64 `json:"siteSoftpornRatio,omitempty"` - Versionedscore []*ClassifierPornSiteDataVersionedScore `json:"versionedscore,omitempty"` - // ViolenceScore: The cubic mean aggregation of violence page scores in the - // site. - ViolenceScore float64 `json:"violenceScore,omitempty"` - // ForceSendFields is a list of field names (e.g. "AvgPedoPageScore") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AvgPedoPageScore") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ClassifierPornSiteData) MarshalJSON() ([]byte, error) { - type NoMethod ClassifierPornSiteData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *ClassifierPornSiteData) UnmarshalJSON(data []byte) error { - type NoMethod ClassifierPornSiteData - var s1 struct { - AvgPedoPageScore gensupport.JSONFloat64 `json:"avgPedoPageScore"` - FinalPedoSiteScore gensupport.JSONFloat64 `json:"finalPedoSiteScore"` - SitePornRatio gensupport.JSONFloat64 `json:"sitePornRatio"` - SiteSoftpornRatio gensupport.JSONFloat64 `json:"siteSoftpornRatio"` - ViolenceScore gensupport.JSONFloat64 `json:"violenceScore"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.AvgPedoPageScore = float64(s1.AvgPedoPageScore) - s.FinalPedoSiteScore = float64(s1.FinalPedoSiteScore) - s.SitePornRatio = float64(s1.SitePornRatio) - s.SiteSoftpornRatio = float64(s1.SiteSoftpornRatio) - s.ViolenceScore = float64(s1.ViolenceScore) - return nil -} - -// ClassifierPornSiteDataVersionedScore: The site porn score of the site to -// which the page of interest belongs to. Multiple versions are kept across -// large changes for some time. The Version-4 score is the average Universal -// Page Probability of all the site's pages, and will come with populated -// verticals4_score and site_rule (if any rule fires) fields. When using this -// score it is recommended to subscribe to the following mailing list: -// g/safesearch-announce. -type ClassifierPornSiteDataVersionedScore struct { - Score float64 `json:"score,omitempty"` - // Possible values: - // "HIGH_PORN_FRACTION_RULE" - // "DEPRECATED_USER_GENERATED_CONTENT_RULE" - // "DEPRECATED_SITES_WITH_IGNORED_SCORES_LIST" - SiteRule []string `json:"siteRule,omitempty"` - Version int64 `json:"version,omitempty"` - // Verticals4Score: Please talk to safesearch@ before relying on any of these - // internal fields: - Verticals4Score float64 `json:"verticals4Score,omitempty"` - // ForceSendFields is a list of field names (e.g. "Score") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Score") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ClassifierPornSiteDataVersionedScore) MarshalJSON() ([]byte, error) { - type NoMethod ClassifierPornSiteDataVersionedScore - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *ClassifierPornSiteDataVersionedScore) UnmarshalJSON(data []byte) error { - type NoMethod ClassifierPornSiteDataVersionedScore - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - Verticals4Score gensupport.JSONFloat64 `json:"verticals4Score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - s.Verticals4Score = float64(s1.Verticals4Score) - return nil -} - -// CloudAiPlatformTenantresourceCloudSqlInstanceConfig: The identity to -// configure a CloudSQL instance provisioned via SLM Terraform. -type CloudAiPlatformTenantresourceCloudSqlInstanceConfig struct { - // CloudSqlInstanceConnectionName: Output only. The CloudSQL instance - // connection name. - CloudSqlInstanceConnectionName string `json:"cloudSqlInstanceConnectionName,omitempty"` - // CloudSqlInstanceName: Input/Output [Optional]. The CloudSQL instance name - // within SLM instance. If not set, a random UUIC will be generated as instance - // name. - CloudSqlInstanceName string `json:"cloudSqlInstanceName,omitempty"` - // KmsKeyReference: Input [Optional]. The KMS key name or the KMS grant name - // used for CMEK encryption. Only set this field when provisioning new CloudSQL - // instances. For existing CloudSQL instances, this field will be ignored - // because CMEK re-encryption is not supported. - KmsKeyReference string `json:"kmsKeyReference,omitempty"` - // MdbRolesForCorpAccess: Input [Optional]. MDB roles for corp access to - // CloudSQL instance. - MdbRolesForCorpAccess []string `json:"mdbRolesForCorpAccess,omitempty"` - // SlmInstanceName: Output only. The SLM instance's full resource name. - SlmInstanceName string `json:"slmInstanceName,omitempty"` - // SlmInstanceTemplate: Input [Required]. The SLM instance template to - // provision CloudSQL. - SlmInstanceTemplate string `json:"slmInstanceTemplate,omitempty"` - // SlmInstanceType: Input [Required]. The SLM instance type to provision - // CloudSQL. - SlmInstanceType string `json:"slmInstanceType,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "CloudSqlInstanceConnectionName") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloudSqlInstanceConnectionName") - // to include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CloudAiPlatformTenantresourceCloudSqlInstanceConfig) MarshalJSON() ([]byte, error) { - type NoMethod CloudAiPlatformTenantresourceCloudSqlInstanceConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CloudAiPlatformTenantresourceGcsBucketConfig: The identity to configure a -// GCS bucket. -type CloudAiPlatformTenantresourceGcsBucketConfig struct { - Admins []string `json:"admins,omitempty"` - // BucketName: Input/Output [Optional]. The name of a GCS bucket with max - // length of 63 chars. If not set, a random UUID will be generated as bucket - // name. - BucketName string `json:"bucketName,omitempty"` - // EntityName: Input/Output [Optional]. Only needed for per-entity tenant GCP - // resources. During Deprovision API, the on-demand deletion will only cover - // the tenant GCP resources with the specified entity name. - EntityName string `json:"entityName,omitempty"` - // KmsKeyReference: Input/Output [Optional]. The KMS key name or the KMS grant - // name used for CMEK encryption. Only set this field when provisioning new GCS - // bucket. For existing GCS bucket, this field will be ignored because CMEK - // re-encryption is not supported. - KmsKeyReference string `json:"kmsKeyReference,omitempty"` - // TtlDays: Input/Output [Optional]. Only needed when the content in bucket - // need to be garbage collected within some amount of days. - TtlDays int64 `json:"ttlDays,omitempty"` - // Viewers: Input/Output [Required]. IAM roles (viewer/admin) put on the - // bucket. - Viewers []string `json:"viewers,omitempty"` - // ForceSendFields is a list of field names (e.g. "Admins") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Admins") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CloudAiPlatformTenantresourceGcsBucketConfig) MarshalJSON() ([]byte, error) { - type NoMethod CloudAiPlatformTenantresourceGcsBucketConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CloudAiPlatformTenantresourceIamPolicyBinding: The dynamic IAM bindings to -// be granted after tenant projects are created. -type CloudAiPlatformTenantresourceIamPolicyBinding struct { - // Members: Input/Output [Required]. The member service accounts with the roles - // above. Note: placeholders are same as the resource above. - Members []string `json:"members,omitempty"` - // Resource: Input/Output [Required]. The resource name that will be accessed - // by members, which also depends on resource_type. Note: placeholders are - // supported in resource names. For example, ${tpn} will be used when the - // tenant project number is not ready. - Resource string `json:"resource,omitempty"` - // ResourceType: Input/Output [Required]. Specifies the type of resource that - // will be accessed by members. - // - // Possible values: - // "RESOURCE_TYPE_UNSPECIFIED" - // "PROJECT" - The value of resource field is the ID or number of a project. - // Format is - // "SERVICE_ACCOUNT" - The value of resource field is the resource name of a - // service account. Format is projects//serviceAccounts/ - // "GCS_BUCKET" - The value of resource field is the name of a GCS bucket - // (not its resource name). Format is . - // "SERVICE_CONSUMER" - The value of resource field is the resource name of a - // service consumer. Format is services//consumers/ - // "AR_REPO" - The value of the resource field is the AR Image Uri which - // identifies an AR REPO. Allowed formats are: /// ///: ///@ - ResourceType string `json:"resourceType,omitempty"` - // Role: Input/Output [Required]. The role for members below. - Role string `json:"role,omitempty"` - // ForceSendFields is a list of field names (e.g. "Members") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Members") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CloudAiPlatformTenantresourceIamPolicyBinding) MarshalJSON() ([]byte, error) { - type NoMethod CloudAiPlatformTenantresourceIamPolicyBinding - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CloudAiPlatformTenantresourceInfraSpannerConfig: The configuration for a -// spanner database provisioning. Next ID: 8 -type CloudAiPlatformTenantresourceInfraSpannerConfig struct { - // CreateDatabaseOptions: Input [Optional]. The options to create a spanner - // database. Note: give the right options to ensure the right KMS key access - // audit logging and AxT logging in expected logging category. - CreateDatabaseOptions *CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions `json:"createDatabaseOptions,omitempty"` - // KmsKeyReference: Input [Optional]. The KMS key name or the KMS grant name - // used for CMEK encryption. Only set this field when provisioning new Infra - // Spanner databases. For existing Infra Spanner databases, this field will be - // ignored because CMEK re-encryption is not supported. For example, - // projects//locations//keyRings//cryptoKeys/ - KmsKeyReference string `json:"kmsKeyReference,omitempty"` - // SdlBundlePath: Input [Required]. The file path to the spanner SDL bundle. - SdlBundlePath string `json:"sdlBundlePath,omitempty"` - // SpannerBorgServiceAccount: Input [Optional]. The spanner borg service - // account for delegating the kms key to. For example, - // spanner-infra-cmek-nonprod@system.gserviceaccount.com, for the nonprod - // universe. - SpannerBorgServiceAccount string `json:"spannerBorgServiceAccount,omitempty"` - SpannerLocalNamePrefix string `json:"spannerLocalNamePrefix,omitempty"` - SpannerNamespace string `json:"spannerNamespace,omitempty"` - // SpannerUniverse: Input [Required]. Every database in Spanner can be - // identified by the following path name: /span//: - SpannerUniverse string `json:"spannerUniverse,omitempty"` - // ForceSendFields is a list of field names (e.g. "CreateDatabaseOptions") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreateDatabaseOptions") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CloudAiPlatformTenantresourceInfraSpannerConfig) MarshalJSON() ([]byte, error) { - type NoMethod CloudAiPlatformTenantresourceInfraSpannerConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions: The -// options to create a spanner database. KMS key access audit logging and AxT -// logging will be associated with the given resource name, resource type and -// service name. Please ensure to give right options to enable correct audit -// logging and AxT logging. -type CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions struct { - // CmekCloudResourceName: The cloud resource name for the CMEK encryption. For - // example, projects//locations/ - CmekCloudResourceName string `json:"cmekCloudResourceName,omitempty"` - // CmekCloudResourceType: The cloud resource type for the CMEK encryption. For - // example, contentwarehouse.googleapis.com/Location - CmekCloudResourceType string `json:"cmekCloudResourceType,omitempty"` - // CmekServiceName: The service name for the CMEK encryption. For example, - // contentwarehouse.googleapis.com - CmekServiceName string `json:"cmekServiceName,omitempty"` - // ForceSendFields is a list of field names (e.g. "CmekCloudResourceName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CmekCloudResourceName") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions) MarshalJSON() ([]byte, error) { - type NoMethod CloudAiPlatformTenantresourceInfraSpannerConfigCreateDatabaseOptions - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CloudAiPlatformTenantresourceServiceAccountIdentity: The identity to -// configure a service account. -type CloudAiPlatformTenantresourceServiceAccountIdentity struct { - // ServiceAccountEmail: Output only. The service account email that has been - // created. - ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"` - // Tag: Input/Output [Optional]. The tag that configures the service account, - // as defined in - // google3/configs/production/cdpush/acl-zanzibar-cloud-prod/activation_grants/a - // ctivation_grants.gcl. Note: The default P4 service account has the empty - // tag. - Tag string `json:"tag,omitempty"` - // ForceSendFields is a list of field names (e.g. "ServiceAccountEmail") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ServiceAccountEmail") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CloudAiPlatformTenantresourceServiceAccountIdentity) MarshalJSON() ([]byte, error) { - type NoMethod CloudAiPlatformTenantresourceServiceAccountIdentity - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CloudAiPlatformTenantresourceTenantProjectConfig: The identity to configure -// a tenant project. -type CloudAiPlatformTenantresourceTenantProjectConfig struct { - // BillingConfig: Input/Output [Required]. The billing account properties to - // create the tenant project. - BillingConfig *GoogleApiServiceconsumermanagementV1BillingConfig `json:"billingConfig,omitempty"` - // Folder: Input/Output [Required]. The folder that holds tenant projects and - // folder-level permissions will be automatically granted to all tenant - // projects under the folder. Note: the valid folder format is - // `folders/{folder_number}`. - Folder string `json:"folder,omitempty"` - // PolicyBindings: Input/Output [Required]. The policy bindings that are - // applied to the tenant project during creation. At least one binding must - // have the role `roles/owner` with either `user` or `group` type. - PolicyBindings []*GoogleApiServiceconsumermanagementV1PolicyBinding `json:"policyBindings,omitempty"` - // Services: Input/Output [Required]. The API services that are enabled on the - // tenant project during creation. - Services []string `json:"services,omitempty"` - // ForceSendFields is a list of field names (e.g. "BillingConfig") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BillingConfig") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CloudAiPlatformTenantresourceTenantProjectConfig) MarshalJSON() ([]byte, error) { - type NoMethod CloudAiPlatformTenantresourceTenantProjectConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CloudAiPlatformTenantresourceTenantProjectResource: The tenant project and -// tenant resources. Next ID: 10 -type CloudAiPlatformTenantresourceTenantProjectResource struct { - // CloudSqlInstances: The CloudSQL instances that are provisioned under the - // tenant project. - CloudSqlInstances []*CloudAiPlatformTenantresourceCloudSqlInstanceConfig `json:"cloudSqlInstances,omitempty"` - // GcsBuckets: The GCS buckets that are provisioned under the tenant project. - GcsBuckets []*CloudAiPlatformTenantresourceGcsBucketConfig `json:"gcsBuckets,omitempty"` - // IamPolicyBindings: The dynamic IAM bindings that are granted under the - // tenant project. Note: this should only add new bindings to the project if - // they don't exist and the existing bindings won't be affected. - IamPolicyBindings []*CloudAiPlatformTenantresourceIamPolicyBinding `json:"iamPolicyBindings,omitempty"` - // InfraSpannerConfigs: The Infra Spanner databases that are provisioned under - // the tenant project. Note: this is an experimental feature. - InfraSpannerConfigs []*CloudAiPlatformTenantresourceInfraSpannerConfig `json:"infraSpannerConfigs,omitempty"` - // Tag: Input/Output [Required]. The tag that uniquely identifies a tenant - // project within a tenancy unit. Note: for the same tenant project tag, all - // tenant manager operations should be idempotent. - Tag string `json:"tag,omitempty"` - // TenantProjectConfig: The configurations of a tenant project. - TenantProjectConfig *CloudAiPlatformTenantresourceTenantProjectConfig `json:"tenantProjectConfig,omitempty"` - // TenantProjectId: Output only. The tenant project ID that has been created. - TenantProjectId string `json:"tenantProjectId,omitempty"` - // TenantProjectNumber: Output only. The tenant project number that has been - // created. - TenantProjectNumber int64 `json:"tenantProjectNumber,omitempty,string"` - // TenantServiceAccounts: The service account identities (or enabled API - // service's P4SA) that are expclicitly created under the tenant project - // (before JIT provisioning during enabled API services). - TenantServiceAccounts []*CloudAiPlatformTenantresourceTenantServiceAccountIdentity `json:"tenantServiceAccounts,omitempty"` - // ForceSendFields is a list of field names (e.g. "CloudSqlInstances") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloudSqlInstances") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CloudAiPlatformTenantresourceTenantProjectResource) MarshalJSON() ([]byte, error) { - type NoMethod CloudAiPlatformTenantresourceTenantProjectResource - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CloudAiPlatformTenantresourceTenantResource: A collection of tenant -// resources. -type CloudAiPlatformTenantresourceTenantResource struct { - // P4ServiceAccounts: A list of P4 service accounts (go/p4sa) to provision or - // deprovision. - P4ServiceAccounts []*CloudAiPlatformTenantresourceServiceAccountIdentity `json:"p4ServiceAccounts,omitempty"` - // TenantProjectResources: A list of tenant projects and tenant resources to - // provision or deprovision. - TenantProjectResources []*CloudAiPlatformTenantresourceTenantProjectResource `json:"tenantProjectResources,omitempty"` - // ForceSendFields is a list of field names (e.g. "P4ServiceAccounts") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "P4ServiceAccounts") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CloudAiPlatformTenantresourceTenantResource) MarshalJSON() ([]byte, error) { - type NoMethod CloudAiPlatformTenantresourceTenantResource - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CloudAiPlatformTenantresourceTenantServiceAccountIdentity: The identity of -// service accounts that have been explicitly created under tenant projects. -type CloudAiPlatformTenantresourceTenantServiceAccountIdentity struct { - // ServiceAccountEmail: Output only. The email address of the generated service - // account. - ServiceAccountEmail string `json:"serviceAccountEmail,omitempty"` - // ServiceName: Input/Output [Required]. The service that the service account - // belongs to. (e.g. cloudbuild.googleapis.com for GCB service accounts) - ServiceName string `json:"serviceName,omitempty"` - // ForceSendFields is a list of field names (e.g. "ServiceAccountEmail") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ServiceAccountEmail") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CloudAiPlatformTenantresourceTenantServiceAccountIdentity) MarshalJSON() ([]byte, error) { - type NoMethod CloudAiPlatformTenantresourceTenantServiceAccountIdentity - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CommerceDatastoreDeepTag: The basic message that contains a single decision -// output of go/deeptagger. -type CommerceDatastoreDeepTag struct { - // Confidence: The confidence of the tag, encoded to 14 bits (range [0, - // 16383]). Due to modeling details, a large number of tags become trustworthy - // with confidence greater than 0.001, so two bytes of precision are required. - Confidence int64 `json:"confidence,omitempty"` - // Tag: A Deep Tag enum in uint32 form. - Tag int64 `json:"tag,omitempty"` - // ForceSendFields is a list of field names (e.g. "Confidence") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Confidence") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CommerceDatastoreDeepTag) MarshalJSON() ([]byte, error) { - type NoMethod CommerceDatastoreDeepTag - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CommerceDatastoreImageDeepTags: Image-level deep tags: essentially -// equivalent to the proto above but containing tags that are computed at the -// image level. These image signals are maintained by the Visual Shopping team -// (visual-shopping@). *** If you do use the signals, please add an entry in -// go/ShoppingImageAttributeClients to be notified for model upgrade. *** We -// recommend our clients against using the raw confidence value directly. -// Instead, the clients should use the library, -// cs/ads/shopping/visual/deeptags/public/single_tag.h and -// cs/ads/shopping/visual/deeptags/public/single_scored_tag.h to specify an -// operating point in terms of precision or recall. See the following code -// example: -// http://google3/shopping/visual/explore_looks/looks_offline_pipeline.cc?l=268&rcl=304165166 -// *** `model_outputs` is a repeated field. Please check `version` to get the -// model you desire to use, instead of indexing the model_outputs directly e.g. -// model_outputs(0). We will remove the old versions in the future and this -// will lead to incorrect model. *** Models: As of Q2 2020, we have two models -// running within Shopping: model one only has the overlay tag, which we are -// deprecating, and model two has the tags specified in -// go/VisualShoppingImageAttributes. -type CommerceDatastoreImageDeepTags struct { - // ModelOutputs: The set of outputs for a series of model versions. The size of - // this field should not extend beyond 4 at any time: two versions for - // slow-update track dependencies, and two versions for fast-update track - // dependencies. - ModelOutputs []*CommerceDatastoreImageDeepTagsModelOutput `json:"modelOutputs,omitempty"` - // ForceSendFields is a list of field names (e.g. "ModelOutputs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ModelOutputs") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CommerceDatastoreImageDeepTags) MarshalJSON() ([]byte, error) { - type NoMethod CommerceDatastoreImageDeepTags - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type CommerceDatastoreImageDeepTagsModelOutput struct { - BackgroundType *CommerceDatastoreDeepTag `json:"backgroundType,omitempty"` - Collage *CommerceDatastoreDeepTag `json:"collage,omitempty"` - // Cropping: We are looking to deploy a model for the Ads team to identify - // images with bad cropping. The model will be for Ads only and we will not - // populate the cropping field in CDS. - Cropping *CommerceDatastoreDeepTag `json:"cropping,omitempty"` - ModelType *CommerceDatastoreDeepTag `json:"modelType,omitempty"` - // Nfs: Tag corresponds to the shopping non-family safe (nfs) image signal. - Nfs *CommerceDatastoreDeepTag `json:"nfs,omitempty"` - ObjectCount *CommerceDatastoreDeepTag `json:"objectCount,omitempty"` - // Overlay: Tag corresponding to unwanted text overlay (watermarks, logos, - // promotional elements, artifacts, etc). - Overlay *CommerceDatastoreDeepTag `json:"overlay,omitempty"` - Selfie *CommerceDatastoreDeepTag `json:"selfie,omitempty"` - // TextOverlay: Tag corresponding to the text overlay classifier (watermarks, - // logos, promotional elements, artifacts, etc). - TextOverlay []*CommerceDatastoreDeepTag `json:"textOverlay,omitempty"` - Version int64 `json:"version,omitempty"` - // ForceSendFields is a list of field names (e.g. "BackgroundType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BackgroundType") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CommerceDatastoreImageDeepTagsModelOutput) MarshalJSON() ([]byte, error) { - type NoMethod CommerceDatastoreImageDeepTagsModelOutput - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CompositeDoc: Protocol record used for collecting together all information -// about a document. Please consult go/dj-explorer for two basic questions -// about `CompositeDoc`: - Where should I look up certain information (e.g: -// pagerank, language)? - What does each field in CompositeDoc mean and who -// should I contact if I have questions? To add a new field into CompositeDoc, -// or change existing field's size significantly, please file a ticket at -// go/dj-new-field, fill in necessary information and get approved by -// docjoin-access@ team. Next id: 194 -type CompositeDoc struct { - // ContentChecksum96: Visible content checksum as computed by - // repository::parsehandler::checksum::Checksum96bitsParseHandler. The value is - // a Fprint96 in "key format" (i.e., by Fprint96::AsKey()). - ContentChecksum96 string `json:"ContentChecksum96,omitempty"` - // AccessRequirements: Contains necessary information to enforce row level - // Docjoin access control. - AccessRequirements *IndexingPrivacyAccessAccessRequirements `json:"accessRequirements,omitempty"` - Additionalchecksums *CompositeDocAdditionalChecksums `json:"additionalchecksums,omitempty"` - Alternatename []*CompositeDocAlternateName `json:"alternatename,omitempty"` - // AnchorStats: Mark as non-personal since it's an aggregation of anchors. For - // more details of Search personal data, see go/dma52-search-cdoc-fields. - AnchorStats *IndexingDocjoinerAnchorStatistics `json:"anchorStats,omitempty"` - // Anchors: Mark as non-personal since no personal fields will be populated in - // `anchors.link_additional_info` and `anchors.additional_info`. For more - // details of Search personal data, see go/dma52-search-cdoc-fields. - Anchors *Anchors `json:"anchors,omitempty"` - // BadSslCertificate: This field is present iff the page has a bad SSL - // certificate itself or in its redirect chain. - BadSslCertificate *IndexingBadSSLCertificate `json:"badSslCertificate,omitempty"` - CseId []*QualityProseCSEUrlInfo `json:"cseId,omitempty"` - // CsePagerankCutoff: URL should only be selected for CSE Index if it's - // pagerank is higher than cse_pagerank_cutoff. - CsePagerankCutoff int64 `json:"csePagerankCutoff,omitempty"` - // DataVersion: Contains the tracking version of various data fields in - // CompositeDoc. - DataVersion *IndexingDocjoinerDataVersion `json:"dataVersion,omitempty"` - Doc *GDocumentBase `json:"doc,omitempty"` - // DocAttachments: A generic container to hold document annotations and - // signals. For a full list of extensions live today, see go/wde. - DocAttachments *Proto2BridgeMessageSet `json:"docAttachments,omitempty"` - // DocImages: Info about "selected" images associated with the document for - // which we (already) have ImageData. For each image URL, some fixed number of - // documents are selected as web referrers for the image URL, and within those - // selected documents, we say the image is "selected". Within the remaining - // documents, we say the image is "rejected". Note that this distinction is - // slightly different from selected for indexing. Only images within doc_images - // where is_indexed_by_imagesearch is true will be selected for indexing. You - // can find the rejected images at composite_doc.doc_attachments().get(). You - // can find images that are selected, but for which we have no ImageData (yet) - // at composite_doc.image_indexing_info().selected_not_indexed_image_link() - DocImages []*ImageData `json:"docImages,omitempty"` - // DocVideos: Info about videos embedded in the document. - DocVideos []*ImageRepositoryVideoProperties `json:"docVideos,omitempty"` - // DocinfoPassthroughAttachments: This message set is used for data pushed into - // the index using the signals framework that is never to be used in Mustang or - // TG Continuum scoring/snippeting code. Any protocol buffer stored in this - // message set is automatically returned in a docinfo response - it ends up in - // the "info" message set in the WWWSnippetResponse, so it can be used in - // post-doc twiddlers and for display in GWS with no code changes in Mustang or - // Teragoogle. - DocinfoPassthroughAttachments *Proto2BridgeMessageSet `json:"docinfoPassthroughAttachments,omitempty"` - // DocjoinsOnSpannerCommitTimestampMicros: The commit timestamp of a CDoc - // update to Docjoins on Spanner. - DocjoinsOnSpannerCommitTimestampMicros int64 `json:"docjoinsOnSpannerCommitTimestampMicros,omitempty,string"` - // EmbeddedContentInfo: Data produced by the embedded-content system. This is a - // thin message, containing only embedded_links_info data for the embedder and - // JavaScript/CSS embedded links (the embedded-content bigtable also contains - // snapshots, compressed document trees and all embedded link types). Provided - // using the index signal API. - EmbeddedContentInfo *IndexingEmbeddedContentEmbeddedContentInfo `json:"embeddedContentInfo,omitempty"` - Extradup []*CompositeDocExtraDup `json:"extradup,omitempty"` - Forwardingdup []*CompositeDocForwardingDup `json:"forwardingdup,omitempty"` - Includedcontent []*CompositeDocIncludedContent `json:"includedcontent,omitempty"` - // IndexingIntermediate: Serialized indexing intermediate data. - IndexingIntermediate string `json:"indexingIntermediate,omitempty"` - Indexinginfo *CompositeDocIndexingInfo `json:"indexinginfo,omitempty"` - // LabelData: This field associates a document to particular labels and assigns - // confidence values to them. - LabelData *QualityLabelsGoogleLabelData `json:"labelData,omitempty"` - Liveexperimentinfo *CompositeDocLiveExperimentInfo `json:"liveexperimentinfo,omitempty"` - Localinfo *LocalWWWInfo `json:"localinfo,omitempty"` - // LocalizedAlternateName: Localized alternate names are similar to alternate - // names, except that it is associated with a language different from its - // canonical. This is the subset of webmaster-provided localized alternate - // names being in the dup cluster of this document. Used during serving for - // swapping in the URL based on regional and language preferences of the user. - LocalizedAlternateName []*IndexingConverterLocalizedAlternateName `json:"localizedAlternateName,omitempty"` - Localizedvariations *CompositeDocLocalizedVariations `json:"localizedvariations,omitempty"` - // PartialUpdateInfo: Only present in partial cdocs. - PartialUpdateInfo *CompositeDocPartialUpdateInfo `json:"partialUpdateInfo,omitempty"` - PerDocData *PerDocData `json:"perDocData,omitempty"` - // Porninfo: Porn related data used for image and web search porn - // classification as well as for diagnostics purposes. - Porninfo *ClassifierPornDocumentData `json:"porninfo,omitempty"` - Properties *DocProperties `json:"properties,omitempty"` - // Ptoken: Contains information necessary to perform policy decision on the - // usage of the data assosiated with this cdoc. - Ptoken *PtokenPToken `json:"ptoken,omitempty"` - Qualitysignals *CompositeDocQualitySignals `json:"qualitysignals,omitempty"` - // Registrationinfo: Information about the most recent creation and expiration - // of this domain. It's extracted from domainedge signal. - Registrationinfo *RegistrationInfo `json:"registrationinfo,omitempty"` - // RichcontentData: If present, indicates that some content was inserted, - // deleted, or replaced in the document's content (in - // CompositeDoc::doc::Content::Representation), and stores information about - // what was inserted, deleted, or replaced. - RichcontentData *IndexingConverterRichContentData `json:"richcontentData,omitempty"` - // Richsnippet: rich snippet extracted from the content of a document. - Richsnippet *RichsnippetsPageMap `json:"richsnippet,omitempty"` - Robotsinfolist *CompositeDocRobotsInfoList `json:"robotsinfolist,omitempty"` - // ScaledIndyRank: to copy to per-doc - ScaledIndyRank int64 `json:"scaledIndyRank,omitempty"` - // Sitemap: Sitelinks: a collection of interesting links a user might be - // interested in, given they are interested in this document. WARNING: this is - // different from the crawler Sitemaps (see SitemapsSignals in the - // attachments). - Sitemap *Sitemap `json:"sitemap,omitempty"` - // StorageRowTimestampMicros: Row timestamp in CDoc storage. - StorageRowTimestampMicros int64 `json:"storageRowTimestampMicros,omitempty,string"` - // Possible values: - // "LTG_CANDIDATE" - ltg-candidate is a label for docs whose selection - // decision is deferred to ltg by Alexandria. It does not correspond to any - // serving corpus. - // "NOSUBINDEX" - // "BASE" - // "CSEINDEX_EXTENDED" - Custom Search Engine extended corpus to catch all - // CSE urls not indexed in unified zeppelin or higher tiers. - // "DAILY" - // "TIMBIT_PROTECTED" - timbit_protected is a label for keeping docs from - // dropping out of base, i.e., all timbit protected docs belong to - // base/basextended. - // "LANDFILL1" - Generic corpora used in Oscar. - // "LANDFILL2" - // "LANDFILL3" - // "LANDFILL_BLOGSEARCH" - Blogsearch special purpose corpus for Oscar. - // "LANDFILL_SOCIAL" - Social special purpose corpus for Oscar. - // "INSTANT" - // "UNIFIED_LANDFILL" - One big landfill index for Union. - // "BLOGSEARCH_DYNAMIC_ASSIMILATED" - Alexandria version of Blogsearch - // Assimilated. - // "BLOGSEARCH_EXTENDED" - Blogsearch corpus for all docs not indexed in - // unified zeppelin or higher. - // "MOFFETT" - Moffett corpus for all docs indexed in base and unified - // zeppelin. - // "UNSELECTED_DOCUMENTS" - Unselected documents corpus used for - // index-selection eval tools. - // "AQUARIUS" - Aquarius corpus which is used to hold all app-only documents. - // go/aquarius - // "WEBSEARCH_FRESH" - Corpus corresponding to serving corpus - // websearch_fresh. - // "WEBSEARCH1" - Corpus corresponding to serving corpus websearch_1. - // "WEBSEARCH2" - Corpus corresponding to serving corpus websearch_2. - // "WEBSEARCH3" - Corpus corresponding to serving corpus websearch_3. - // "UNIFIED_ZEPPELIN_HIGH_QUALITY" - Top quality documents in unified - // zeppelin - // "ASIANREGIONAL" - Deprecated corpora. - // "EMEAREGIONAL" - // "CSEINDEX" - // "BASEREGIONAL" - // "BLACKHOLE" - // "XBASE" - // "FRESHBASE" - // "XASIANREGIONAL" - // "XEMEAREGIONAL" - // "XBASEREGIONAL" - // "BLIMPIE" - // "BLIMPIEPP" - // "GOODYEAR" - // "GOODYEARPP" - // "QUASAR" - // "ZEPPELIN1" - // "ZEPPELIN2" - // "ZEPPELIN3" - // "ZEPPELIN_STAGING" - // "PULSAR" - // "TIMBIT" - // "LANDFILL_CSE" - // "UNIFIED_ZEPPELIN" - Subindexid []string `json:"subindexid,omitempty"` - SyntacticDate *QualityTimebasedSyntacticDate `json:"syntacticDate,omitempty"` - // Url: WARNING!!! "url" field in CompositeDoc is optional, and is usually - // missing: e.g., Docjoin CompositeDoc's don't have CompositeDoc::url. - // has_url() checking is often useful. So don't rely on CompositeDoc::url - // unless you're sure otherwise. Usually you want to use CompositeDoc::doc::url - // instead. - Url string `json:"url,omitempty"` - // Urldate: Date in the url extracted by - // quality/snippets/urldate/date-in-url.cc This is given as midnight GMT on the - // date in question. - Urldate int64 `json:"urldate,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "ContentChecksum96") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ContentChecksum96") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDoc) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDoc - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CompositeDocAdditionalChecksums: Additional checksums of the document. -type CompositeDocAdditionalChecksums struct { - // NoTransientChecksum96: Same as ContentChecksum96 but without transient - // boilerplate. - NoTransientChecksum96 string `json:"NoTransientChecksum96,omitempty"` - // SimHash: Deprecated. Use simhash_v2 and simhash_v2_significance instead. - SimHash uint64 `json:"SimHash,omitempty,string"` - SimHashIsTrusted bool `json:"SimHashIsTrusted,omitempty"` - // SimhashV2: Simhash-v2 is generated by SimHashParseHandler, designed as a - // complete replacement of simhash-v1 (a.k.a. the original simhash above) from - // ApproxDupsParseHandler. Simhash-v2 uses a revised algorithm so that it is - // expected to work better in most cases than simhash-v1. They coexist in - // current transition period, then simhash-v1 will be retired. - SimhashV2 uint64 `json:"simhashV2,omitempty,string"` - // SimhashV2Significance: Simhash-v2-significance is used to describe the - // confidence about the corresponding simhash-v2 value. It is defined as the - // average absolute difference from zero of all internal state components when - // finalizing a simhash-v2 value in HashMultiSetDotCauchy. We used to compare - // the significance against some pre-defined threshold (default: 20) to get a - // boolean value "trusted_simhash_v2". However, it is possible that this field - // is missing while "simhash_v2" is present, in such case (1) Use - // "SimHashIsTrusted" instead if it is present, AND/OR (2) Assume "simhash_v2" - // is trusted if its value is non-zero. - SimhashV2Significance float64 `json:"simhashV2Significance,omitempty"` - // ForceSendFields is a list of field names (e.g. "NoTransientChecksum96") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NoTransientChecksum96") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocAdditionalChecksums) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocAdditionalChecksums - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *CompositeDocAdditionalChecksums) UnmarshalJSON(data []byte) error { - type NoMethod CompositeDocAdditionalChecksums - var s1 struct { - SimhashV2Significance gensupport.JSONFloat64 `json:"simhashV2Significance"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.SimhashV2Significance = float64(s1.SimhashV2Significance) - return nil -} - -// CompositeDocAlternateName: Alternate names are some urls that we would like -// to associate with documents in addition to canonicals. Sometimes we may want -// to serve these alternatenames instead of canonicals. Alternames in -// CompositeDoc should come from WebMirror pipeline. -type CompositeDocAlternateName struct { - Url string `json:"Url,omitempty"` - // UrlEncoding: See webutil/urlencoding - UrlEncoding int64 `json:"UrlEncoding,omitempty"` - // EcnFp: Fp96 of webmirror equivalence class as of last time this was - // exported. - EcnFp string `json:"ecnFp,omitempty"` - // ForceSendFields is a list of field names (e.g. "Url") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Url") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocAlternateName) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocAlternateName - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CompositeDocExtraDup: The top non-forwarding dups of the canonical url. -type CompositeDocExtraDup struct { - // EcnFp: Fp96 of webmirror equivalence class as of last time this was - // exported. - EcnFp string `json:"ecnFp,omitempty"` - // Url: The url of the non-forwarding dup. - Url string `json:"url,omitempty"` - // ForceSendFields is a list of field names (e.g. "EcnFp") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EcnFp") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocExtraDup) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocExtraDup - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CompositeDocForwardingDup: The top forwarding dups of the canonical url. -// (note: it may actually include some dups that are NOT used for forwarding -// data but for making "info:" complete) -type CompositeDocForwardingDup struct { - // Ecn: The name of the url's webmirror equivalence class. - Ecn string `json:"ecn,omitempty"` - EcnFp string `json:"ecnFp,omitempty"` - // Purposes: The purpose(s) of the forwarding dup indicating if it is used for - // forwarding signal/anchors generally, or only for forwarding some specific - // signal (e.g. navboost), or for some other purposes (e.g., not for forwarding - // any data but for making "info:" complete). See indexing/dups/public/dups.h - // for more details. - Purposes int64 `json:"purposes,omitempty"` - // RawPagerank: Raw pagerank of the url. - RawPagerank int64 `json:"rawPagerank,omitempty"` - // Repid: The webmirror repid of the forwarding dup. - Repid string `json:"repid,omitempty"` - // Url: The url of the forwarding dup. - Url string `json:"url,omitempty"` - // Urlencoding: The encoding of the url (see webutil/urlencoding for details). - Urlencoding int64 `json:"urlencoding,omitempty"` - // ForceSendFields is a list of field names (e.g. "Ecn") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Ecn") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocForwardingDup) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocForwardingDup - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type CompositeDocIncludedContent struct { - // SourceTypeBitfield: Indicate how this content came to be included. Legal - // values are constructed by bitwise-OR-ing values from the - // included_content::SourceType enum. Default SourceTypeBitfield = - // included_content::INCLUDED_FRAME - SourceTypeBitfield int64 `json:"SourceTypeBitfield,omitempty,string"` - IncludedDoc *GDocumentBase `json:"includedDoc,omitempty"` - LinkUrl string `json:"linkUrl,omitempty"` - PerDocData *PerDocData `json:"perDocData,omitempty"` - Properties *DocProperties `json:"properties,omitempty"` - // ForceSendFields is a list of field names (e.g. "SourceTypeBitfield") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SourceTypeBitfield") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocIncludedContent) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocIncludedContent - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CompositeDocIndexingInfo: Contains information *mostly* used within indexing -// (e.g. not used for building the production serving shards). Most of this -// data is generated only in Alexandria, however there are exceptions. -type CompositeDocIndexingInfo struct { - // CdocBuildInfo: To hold extra info for building a final cdoc from raw cdoc - // and goldmine annotations. - CdocBuildInfo *IndexingDocjoinerCDocBuildInfo `json:"cdocBuildInfo,omitempty"` - // ContentProtected: Whether current page is under content protection, i.e. a - // page has been crawled as an error page, but we preserve its last known good - // content and keep its crawl_status as converter.CrawlStatus::CONTENT. - ContentProtected bool `json:"contentProtected,omitempty"` - // ConvertToRobotedReason: If set, indicates that the crawl status was - // converted to ROBOTED for the reason specified by the enum value in - // converter.RobotedReasons.ConvertToRobotedReasons. See - // indexing/converter/proto/converter.proto for details. If unset, then the - // document was not converted to roboted, and if the document crawl status is - // ROBOTED, then the document is disallowed (at least to Google) in robots.txt. - ConvertToRobotedReason int64 `json:"convertToRobotedReason,omitempty"` - // CrawlStatus: One of the enum values in converter.CrawlStatus.State (see - // indexing/converter/proto/converter.proto for details). Default is - // converter.CrawlStatus::CONTENT. The document is roboted if the value is - // converter.CrawlStatus::ROBOTED. - CrawlStatus int64 `json:"crawlStatus,omitempty"` - // Possible values: - // "DEMOTION_TYPE_NONE" - // "DEMOTION_TYPE_BADURLS_DEMOTE" - DemotionTags []string `json:"demotionTags,omitempty"` - // ErrorType: One of the enum values in converter.ErrorPageType (see - // indexing/converter/proto/error-page-detector-enum.proto for detail). Default - // is converter::ERROR_PAGE_NONE. - ErrorType int64 `json:"errorType,omitempty"` - // Possible values: - // "WEB" - DEPRECATED - // "REALTIME" - // "CSE" - // "CSE_PREMIUM" - // "BUSTER_IMAGES" - // "NEWS" - // "VIDEO" - // "YOUTUBE" - // "WEB_INSTANT" - // "WEB_DAILY" - // "CACHE_COLON" - A table with just the bodysource attachment - FreshdocsCorpora []string `json:"freshdocsCorpora,omitempty"` - // Hostid: The host id of the document. Used chiefly to determine whether the - // document is part of a parked domain. - Hostid uint64 `json:"hostid,omitempty,string"` - // IeIdentifier: A short descriptive string to help identify the IE application - // or setup where this CDoc is generated. For example: websearch_m3 This field - // is for debuggability purposes. - IeIdentifier string `json:"ieIdentifier,omitempty"` - // ImageIndexingInfo: Indexing info about images (i.e. image links missing - // image data, etc). - ImageIndexingInfo *ImageSearchImageIndexingInfo `json:"imageIndexingInfo,omitempty"` - // IndexingTs: The timestamp (the time since the Epoch, in microseconds) when - // the docjoin is exported from indexing. The main purpose of this field is to - // identify different versions of the same document. - IndexingTs int64 `json:"indexingTs,omitempty,string"` - // NoLongerCanonicalTimestamp: If set, the timestamp in microseconds when the - // URL stopped being canonical. This should never be set for exported canonical - // documents. This field is used by dups during canonical flip, and by webmain - // when doc selection switched between desktop and mobile. Union respects this - // timestamp to prevent old doc being deleted until the new doc is picked up - NoLongerCanonicalTimestamp int64 `json:"noLongerCanonicalTimestamp,omitempty,string"` - // NormalizedClickScore: This score is calculated by re-mapping the back onto - // the partition's score distribution, such that the score represents the score - // of the equivalently ranked organically-selected document. - NormalizedClickScore float64 `json:"normalizedClickScore,omitempty"` - // PrimaryVertical: Vertical membership of the document. - `primary_vertical` - // is the vertical that initiated indexing of this document (or empty if the - // vertical was websearch). - `verticals` is the full list of verticals that - // contained this document (excluding websearch) at indexing time. - // `primary_vertical` may or may not be an element of `verticals` because of - // vertical membership skew between the ingestion time and indexing time. See - // go/one-indexing-for-web for more background. - PrimaryVertical string `json:"primaryVertical,omitempty"` - // RawNavboost: The raw navboost count for the canonical url without - // aggregating the navboost from dup urls. This field is used when building - // forwarding map. - RawNavboost int64 `json:"rawNavboost,omitempty"` - // RowTimestamp: The timestamp (the time since the Epoch, in microseconds) to - // represent doc version, which is used in the downstream processing after - // Raffia. If it's not set, indexing_ts will be used as row_timestamp. The - // timestamp is generally set by reprocessing to set slightly newer indexing_ts - // such that the system can respect the reprocessed version to overwrite old - // data in storage. - RowTimestamp int64 `json:"rowTimestamp,omitempty,string"` - // SelectionTierRank: Selection tier rank is a language normalized score - // ranging from 0-1 over the serving tier (Base, Zeppelins, Landfills) for this - // document. - SelectionTierRank float64 `json:"selectionTierRank,omitempty"` - // TracingId: The tracing ids is to label the version of url for url status - // tracking. This repeated field will carry at most 10 tracing id. See more - // details in go/rich-tracing-design There will be less than 2% base+uz cdocs - // carrying this field. The major sources of tracing ids include: * Indexing - // API pushed urls * Index Metrics sampling urls The tracing ids will be - // written into cdocs by Webmain Ramifier. The consumer of the tracing ids is - // Union serving notification collector see more at - // go/serving-notification-from-union - TracingId []string `json:"tracingId,omitempty"` - // UrlChangerate: Changerate information for this doc (see - // crawler/changerate/changerate.proto for details). - UrlChangerate *CrawlerChangerateUrlChangerate `json:"urlChangerate,omitempty"` - // UrlHistory: Url change history for this doc (see - // crawler/changerate/changerate.proto for details). Note if a doc has more - // than 20 changes, we only keep the last 20 changes here to avoid adding to - // much data in its docjoin. - UrlHistory *CrawlerChangerateUrlHistory `json:"urlHistory,omitempty"` - // UrlPatternSignals: UrlPatternSignals for this doc, used to compute document - // score in LTG (see indexing/signal_aggregator/proto/signal-aggregator.proto - // for details). - UrlPatternSignals *IndexingSignalAggregatorUrlPatternSignals `json:"urlPatternSignals,omitempty"` - Verticals []string `json:"verticals,omitempty"` - // VideoIndexingInfo: Indexing info about videos. - VideoIndexingInfo *ImageRepositoryVideoIndexingInfo `json:"videoIndexingInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "CdocBuildInfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CdocBuildInfo") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocIndexingInfo) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocIndexingInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *CompositeDocIndexingInfo) UnmarshalJSON(data []byte) error { - type NoMethod CompositeDocIndexingInfo - var s1 struct { - NormalizedClickScore gensupport.JSONFloat64 `json:"normalizedClickScore"` - SelectionTierRank gensupport.JSONFloat64 `json:"selectionTierRank"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.NormalizedClickScore = float64(s1.NormalizedClickScore) - s.SelectionTierRank = float64(s1.SelectionTierRank) - return nil -} - -// CompositeDocLiveExperimentInfo: Contains information needed for end-to-end -// live experiments. For a cdoc generated by production pipeline, it includes -// experiment IDs that have selected current document. For a cdoc generated by -// experiment pipeline, it includes current experiment ID. -type CompositeDocLiveExperimentInfo struct { - // PerLiveExperimentInfo: List of necessary information for each live - // experiments. - PerLiveExperimentInfo []*CompositeDocLiveExperimentInfoPerLiveExperimentInfo `json:"perLiveExperimentInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "PerLiveExperimentInfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PerLiveExperimentInfo") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocLiveExperimentInfo) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocLiveExperimentInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CompositeDocLiveExperimentInfoPerLiveExperimentInfo: Contains information -// for a live experiment. -type CompositeDocLiveExperimentInfoPerLiveExperimentInfo struct { - // ExperimentId: ID of a live experiment. - ExperimentId string `json:"experimentId,omitempty"` - // PartialCdoc: Partial CDoc for a live experiment. - PartialCdoc *CompositeDoc `json:"partialCdoc,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExperimentId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExperimentId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocLiveExperimentInfoPerLiveExperimentInfo) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocLiveExperimentInfoPerLiveExperimentInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type CompositeDocLocalizedVariations struct { - // DupsComputedAlternateNames: A subset of computed variations, only the - // members which are dups to the main url. Used during serving for swapping in - // the URL based on regional and language preferences of the user. - DupsComputedAlternateNames []*IndexingDupsComputedLocalizedAlternateNamesLocaleEntry `json:"dupsComputedAlternateNames,omitempty"` - // WebmasterAlternateNames: All localized alternate names provided by the - // webmaster (canonical and dups, indexed and not-indexed). Used on the ranking - // side for swapping out results based on the webmaster preference. - WebmasterAlternateNames []*IndexingConverterLocalizedAlternateName `json:"webmasterAlternateNames,omitempty"` - // ForceSendFields is a list of field names (e.g. "DupsComputedAlternateNames") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DupsComputedAlternateNames") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocLocalizedVariations) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocLocalizedVariations - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CompositeDocPartialUpdateInfo: Contains information about the partial -// updates present in a partial CompositeDoc. -type CompositeDocPartialUpdateInfo struct { - // GoldmineAnnotatorNames: List of goldmine annotator updates present in the - // enclosing partial cdoc. - GoldmineAnnotatorNames []string `json:"goldmineAnnotatorNames,omitempty"` - // ImagesSignalNames: List of images signal updates present in the enclosing - // partial cdoc. Images signal name for a images signal is the unique name for - // the signal according to SignalSpec. - ImagesSignalNames []string `json:"imagesSignalNames,omitempty"` - // LastFullIndexingInfo: Contains last full indexing information for partial - // updates. - LastFullIndexingInfo []*CompositeDocPartialUpdateInfoLastFullIndexingInfo `json:"lastFullIndexingInfo,omitempty"` - // ShouldLookupDocjoinsTier: Which tier we should do cdoc lookup to merge - // partial cdocs. This uses the integer value of indexing.selection.CorpusId. - // NOT intended for other usage. - ShouldLookupDocjoinsTier int64 `json:"shouldLookupDocjoinsTier,omitempty"` - // ShouldLookupDocjoinsVerticalCorpus: Which vertical docjoin corpus we should - // do cdoc lookup to merge partial cdocs. This uses the string value of table - // name in google3/indexing/docjoins/spanner/schema/global_tables_data.sdl. For - // example, Voce and ShortVideo. NOT intended for other usage. - ShouldLookupDocjoinsVerticalCorpus string `json:"shouldLookupDocjoinsVerticalCorpus,omitempty"` - // SignalNames: List of signal updates present in the enclosing partial cdoc. - // Signal name for a signal is unique name for the signal according to - // SignalSpec. - SignalNames []string `json:"signalNames,omitempty"` - // ForceSendFields is a list of field names (e.g. "GoldmineAnnotatorNames") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GoldmineAnnotatorNames") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocPartialUpdateInfo) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocPartialUpdateInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CompositeDocPartialUpdateInfoLastFullIndexingInfo: Last full indexing -// information for the partial CDoc. -type CompositeDocPartialUpdateInfoLastFullIndexingInfo struct { - // Corpus: The corpus of last full updates. - // - // Possible values: - // "RAFFIA_WEBSEARCH" - Base Raffia corpora - // "RAFFIA_FASTPATH_DAILY" - Fastpath Raffia corpora - // "RAFFIA_FASTPATH_INSTANT" - // "DOCJOINS" - Docjoins repository - Corpus string `json:"corpus,omitempty"` - // LastFullIndexingTsMicros: Last full update indexing timestamp in - // microseconds. - LastFullIndexingTsMicros int64 `json:"lastFullIndexingTsMicros,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Corpus") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Corpus") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocPartialUpdateInfoLastFullIndexingInfo) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocPartialUpdateInfoLastFullIndexingInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CompositeDocQualitySignals: Note: This is a misleading name as of -// 2022/10/14. The field is still set and has meaningful data, but no longer -// holds quality signals. All the data are freshness-related and they're not -// particularly sensitive. -type CompositeDocQualitySignals struct { - // LastSignificantUpdate: Contains a date used for the "Date Last Modified" - // toolbelt restrict mode. Note: this date is a combined date and is different - // from the pure shingle-based signal stored in - // contentage.last_significant_update field. - LastSignificantUpdate *QualityTimebasedLastSignificantUpdate `json:"lastSignificantUpdate,omitempty"` - Pagetype *QualityTimebasedPageType `json:"pagetype,omitempty"` - // ForceSendFields is a list of field names (e.g. "LastSignificantUpdate") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LastSignificantUpdate") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocQualitySignals) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocQualitySignals - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CompositeDocRobotsInfoList: List of robots info parsed for the user-agents -// other than the default used to crawl this page. -type CompositeDocRobotsInfoList struct { - NewsRobotsInfo *IndexingConverterRobotsInfo `json:"newsRobotsInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "NewsRobotsInfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NewsRobotsInfo") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompositeDocRobotsInfoList) MarshalJSON() ([]byte, error) { - type NoMethod CompositeDocRobotsInfoList - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// CompressedQualitySignals: A message containing per doc signals that are -// compressed and included in Mustang and TeraGoogle. For TeraGoogle, this -// message is included in perdocdata which means it can be used in preliminary -// scoring. CAREFUL: For TeraGoogle, this data resides in very limited serving -// memory (Flash storage) for a huge number of documents. Next id: 44 -type CompressedQualitySignals struct { - // AnchorMismatchDemotion: anchor_mismatch_demotion: converted from - // QualityBoost.mismatched.boost. - AnchorMismatchDemotion int64 `json:"anchorMismatchDemotion,omitempty"` - // AuthorityPromotion: authority promotion: converted from - // QualityBoost.authority.boost - AuthorityPromotion int64 `json:"authorityPromotion,omitempty"` - // BabyPandaDemotion: baby_panda_demotion: converted from - // QualityBoost.rendered.boost. - BabyPandaDemotion int64 `json:"babyPandaDemotion,omitempty"` - // BabyPandaV2Demotion: New BabyPanda demotion, applied on top of Panda. This - // is meant to replace |baby_panda_demotion|. - BabyPandaV2Demotion int64 `json:"babyPandaV2Demotion,omitempty"` - // CrapsAbsoluteHostSignals: Impressions, unsquashed, host level, not to be - // used with compressed ratios. Not to be used in Pattern Data. - CrapsAbsoluteHostSignals int64 `json:"crapsAbsoluteHostSignals,omitempty"` - CrapsNewHostSignals uint64 `json:"crapsNewHostSignals,omitempty,string"` - CrapsNewPatternSignals uint64 `json:"crapsNewPatternSignals,omitempty,string"` - // CrapsNewUrlSignals: For craps_[url|pattern]_signals, please avoid accessing - // these fields directly, even in minor ways like checking has_craps_*. - // Instead, please use methods from - // quality/navboost/craps/craps-lossy-compression.h or talk to craps-team@. - CrapsNewUrlSignals uint64 `json:"crapsNewUrlSignals,omitempty,string"` - CrapsUnscaledIpPriorBadFraction int64 `json:"crapsUnscaledIpPriorBadFraction,omitempty"` - // ExactMatchDomainDemotion: Page quality signals converted from fields in - // proto QualityBoost in quality/q2/proto/quality-boost.proto. To save indexing - // space, we convert the float values in [0, 1] to integers in range [0, 1023] - // (use 10 bits). exact_match_domain_demotion: converted from - // QualityBoost.emd.boost. - ExactMatchDomainDemotion int64 `json:"exactMatchDomainDemotion,omitempty"` - // ExperimentalNsrTeamData: This field is *not* propagated to shards, but it's - // populated at serving time by go/web-signal-joins (see b/207344056). See - // go/0DayLEs for details. This is only meant to be used during LEs, it should - // *not* be used for launches. - ExperimentalNsrTeamData *QualityNsrExperimentalNsrTeamData `json:"experimentalNsrTeamData,omitempty"` - // ExperimentalNsrTeamWsjData: This field is *not* propagated to shards, but - // it's populated at serving time by go/web-signal-joins (see b/207344056). See - // go/0DayLEs for details. This is only meant to be used during LEs, it should - // *not* be used for launches. - ExperimentalNsrTeamWsjData []*QualityNsrExperimentalNsrTeamWSJData `json:"experimentalNsrTeamWsjData,omitempty"` - // ExperimentalQstarDeltaSignal: This field is *not* propagated to shards. It - // is meant to be populated at serving time using one of the versions present - // in the `experimental_nsr_team_wsj_data` field above (using the - // `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see - // http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). - // The purpose of this field is to be read by an experimental Q* component, in - // order to quickly run LEs with new delta components. See go/0DayLEs for - // details. - ExperimentalQstarDeltaSignal float64 `json:"experimentalQstarDeltaSignal,omitempty"` - // ExperimentalQstarSignal: This field is *not* propagated to shards. It is - // meant to be populated at serving time using one of the versions present in - // the `experimental_nsr_team_wsj_data` field above (using the - // `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see - // http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). - // The purpose of this field is to be read by an experimental Q* component, in - // order to quickly run LEs with new components. See go/0DayLEs for details. - ExperimentalQstarSignal float64 `json:"experimentalQstarSignal,omitempty"` - // ExperimentalQstarSiteSignal: This field is *not* propagated to shards. It is - // meant to be populated at serving time using one of the versions present in - // the `experimental_nsr_team_wsj_data` field above (using the - // `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see - // http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). - // The purpose of this field is to be read by an experimental Q* component, in - // order to quickly run LEs with new site components. See go/0DayLEs for - // details. - ExperimentalQstarSiteSignal float64 `json:"experimentalQstarSiteSignal,omitempty"` - // ExperimentalWebHealthSignal: This field is *not* propagated to shards. It is - // meant to be populated at serving time using one of the versions present in - // the `experimental_nsr_team_wsj_data` field above (using the - // `ExperimentalNsrTeamDataOverridesParams` opti to populate it; see - // http://source/search?q=ExperimentalNsrTeamDataOverridesParams%20file:ascorer.proto). - // The purpose of this field is to be read by an experimental W* component, in - // order to quickly run LEs with new signals. See go/0DayLEs for details. - ExperimentalWebHealthSignal float64 `json:"experimentalWebHealthSignal,omitempty"` - // LowQuality: S2V low quality score: converted from quality_nsr.NsrData, - // applied in Qstar. See quality_nsr::util::ConvertNsrDataToLowQuality. - LowQuality int64 `json:"lowQuality,omitempty"` - // NavDemotion: nav_demotion: converted from QualityBoost.nav_demoted.boost. - NavDemotion int64 `json:"navDemotion,omitempty"` - // NsrConfidence: NSR confidence score: converted from quality_nsr.NsrData. - // This field is deprecated - use nsr_variance inside nsr_data_proto instead. - NsrConfidence int64 `json:"nsrConfidence,omitempty"` - // NsrOverrideBid: NSR override bid, used in Q* for emergency overrides. This - // field is deprecated - used the equivalent field inside nsr_data_proto - // instead. - NsrOverrideBid float64 `json:"nsrOverrideBid,omitempty"` - // NsrVersionedData: Versioned NSR score to be used in continuous evaluation of - // the upcoming NSR version and assess quality impact on various slices. This - // field is deprecated - used the equivalent field inside nsr_data_proto - // instead. - NsrVersionedData []*NSRVersionedItem `json:"nsrVersionedData,omitempty"` - // PairwiseqScoringData: Deprecated and unused field. - PairwiseqScoringData *PairwiseQScoringData `json:"pairwiseqScoringData,omitempty"` - // PairwiseqVersionedData: Versioned PairwiseQ score to be used in continuous - // evaluation of the upcoming PairwiseQ versions and assess quality impact on - // various slices. - PairwiseqVersionedData []*PairwiseQVersionedItem `json:"pairwiseqVersionedData,omitempty"` - // PandaDemotion: This is the encoding of Panda fields in the proto - // SiteQualityFeatures in quality/q2/proto/site_quality_features.proto. The - // encoding/decoding is performed using functions from - // quality_coati::coati_util. - PandaDemotion int64 `json:"pandaDemotion,omitempty"` - // PqData: Encoded page-level PQ signals. - PqData int64 `json:"pqData,omitempty"` - // PqDataProto: Stripped page-level signals, not present in the encoded field - // 'pq_data'. - PqDataProto *QualityNsrPQData `json:"pqDataProto,omitempty"` - ProductReviewPDemotePage int64 `json:"productReviewPDemotePage,omitempty"` - // ProductReviewPDemoteSite: Product review demotion/promotion confidences. - // (Times 1000 and floored) - ProductReviewPDemoteSite int64 `json:"productReviewPDemoteSite,omitempty"` - ProductReviewPPromotePage int64 `json:"productReviewPPromotePage,omitempty"` - ProductReviewPPromoteSite int64 `json:"productReviewPPromoteSite,omitempty"` - // ProductReviewPReviewPage: Fields product_review_p_review_page and - // product_review_p_uhq_page are for promoting/demoting HQ/LQ review pages in - // NGS. See go/pr-boosts for details. The possibility of a page being a review - // page. - ProductReviewPReviewPage int64 `json:"productReviewPReviewPage,omitempty"` - // ProductReviewPUhqPage: The possibility of a page being a high quality review - // page. - ProductReviewPUhqPage int64 `json:"productReviewPUhqPage,omitempty"` - // Scamness: Scam model score. Used as one of the web page quality qstar - // signals. Value range from 0 to 1023. - Scamness int64 `json:"scamness,omitempty"` - // SerpDemotion: serp demotion: applied in Qstar. - SerpDemotion int64 `json:"serpDemotion,omitempty"` - // SiteAuthority: site_authority: converted from quality_nsr.SiteAuthority, - // applied in Qstar. - SiteAuthority int64 `json:"siteAuthority,omitempty"` - // TopicEmbeddingsVersionedData: Versioned TopicEmbeddings data to be populated - // later into superroot / used directly in scorers. - TopicEmbeddingsVersionedData []*QualityAuthorityTopicEmbeddingsVersionedItem `json:"topicEmbeddingsVersionedData,omitempty"` - // UgcDiscussionEffortScore: UGC page quality signals. (Times 1000 and floored) - UgcDiscussionEffortScore int64 `json:"ugcDiscussionEffortScore,omitempty"` - // UnauthoritativeScore: Unauthoritative score. Used as one of the web page - // quality qstar signals. - UnauthoritativeScore int64 `json:"unauthoritativeScore,omitempty"` - // VlqNsr: NSR for low-quality videos, converted from - // quality_nsr.NsrData.vlq_nsr. This field is deprecated - used the equivalent - // field inside nsr_data_proto instead. - VlqNsr int64 `json:"vlqNsr,omitempty"` - // ForceSendFields is a list of field names (e.g. "AnchorMismatchDemotion") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AnchorMismatchDemotion") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CompressedQualitySignals) MarshalJSON() ([]byte, error) { - type NoMethod CompressedQualitySignals - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *CompressedQualitySignals) UnmarshalJSON(data []byte) error { - type NoMethod CompressedQualitySignals - var s1 struct { - ExperimentalQstarDeltaSignal gensupport.JSONFloat64 `json:"experimentalQstarDeltaSignal"` - ExperimentalQstarSignal gensupport.JSONFloat64 `json:"experimentalQstarSignal"` - ExperimentalQstarSiteSignal gensupport.JSONFloat64 `json:"experimentalQstarSiteSignal"` - ExperimentalWebHealthSignal gensupport.JSONFloat64 `json:"experimentalWebHealthSignal"` - NsrOverrideBid gensupport.JSONFloat64 `json:"nsrOverrideBid"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.ExperimentalQstarDeltaSignal = float64(s1.ExperimentalQstarDeltaSignal) - s.ExperimentalQstarSignal = float64(s1.ExperimentalQstarSignal) - s.ExperimentalQstarSiteSignal = float64(s1.ExperimentalQstarSiteSignal) - s.ExperimentalWebHealthSignal = float64(s1.ExperimentalWebHealthSignal) - s.NsrOverrideBid = float64(s1.NsrOverrideBid) - return nil -} - -type ConceptsConceptId struct { - ConceptId string `json:"conceptId,omitempty"` - // Id: uint64 bring lots of issues, and string a better practice. - Id uint64 `json:"id,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "ConceptId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConceptId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ConceptsConceptId) MarshalJSON() ([]byte, error) { - type NoMethod ConceptsConceptId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// ContentAttributions: The following protobuf is used to store an attribution -// from one page to (usually) one other page, giving credit for the content. -// This information is used during ranking to promote the attributed page. This -// protobuf is copied from a quality_contra::SelectedAttribution. See -// //quality/contra/authorship/attribution and -// https://qwiki.corp.google.com/display/Q/ContentTrackingContentAttribution. -type ContentAttributions struct { - // FreshdocsOutgoing: Selected outgoing attributions extracted on FreshDocs. - FreshdocsOutgoing []*ContentAttributionsOutgoingAttribution `json:"freshdocsOutgoing,omitempty"` - // OfflineOutgoing: Selected outgoing attributions extracted via offline MR - // jobs. - OfflineOutgoing []*ContentAttributionsOutgoingAttribution `json:"offlineOutgoing,omitempty"` - // OnlineOutgoing: Selected outgoing attributions extracted online on - // Alexandria. - OnlineOutgoing []*ContentAttributionsOutgoingAttribution `json:"onlineOutgoing,omitempty"` - // ForceSendFields is a list of field names (e.g. "FreshdocsOutgoing") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FreshdocsOutgoing") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ContentAttributions) MarshalJSON() ([]byte, error) { - type NoMethod ContentAttributions - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// ContentAttributionsOutgoingAttribution: This is a copy of -// quality_contra::SelectedAttribution::SelectedInfo. The url is converted to -// docid and other fields are copied directly. -type ContentAttributionsOutgoingAttribution struct { - // Possible values: - // "PAGE_LINK_TO" - Direct link to page in question. - // "SITE_LINK_TO" - Link to the site of the page in question: Example: ">" link on headlines and - // search results - ClusterSize int64 `json:"ClusterSize,omitempty"` - // ClusterTimeStamp: When was this clustered (needed for keeping last X - // iterations around and discarding earlier ones) - ClusterTimeStamp int64 `json:"ClusterTimeStamp,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClusterId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ClusterId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *CrowdingPerDocDataNewsCluster) MarshalJSON() ([]byte, error) { - type NoMethod CrowdingPerDocDataNewsCluster - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type DeepCropIndexing struct { - // CropBytes: Compact representation for indexing, see creatism::CropBitmap for - // details on the packing format. - CropBytes string `json:"cropBytes,omitempty"` - // ForceSendFields is a list of field names (e.g. "CropBytes") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CropBytes") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DeepCropIndexing) MarshalJSON() ([]byte, error) { - type NoMethod DeepCropIndexing - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type DeepCropPixels struct { - // X0: Pixels version of the DeepCropIndexing bytes, this corresponds to the - // crop box for a given image (based input image size and desired aspect - // ratio). - X0 int64 `json:"x0,omitempty"` - X1 int64 `json:"x1,omitempty"` - Y0 int64 `json:"y0,omitempty"` - Y1 int64 `json:"y1,omitempty"` - // ForceSendFields is a list of field names (e.g. "X0") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "X0") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DeepCropPixels) MarshalJSON() ([]byte, error) { - type NoMethod DeepCropPixels - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// DocProperties: NOTE: In segindexer, the docproperties of a document may be -// reused from a previous cycle if its content is not changed. If you add a new -// field to DocProperties, make sure it is taken care (i.e., gets copied from a -// previous cycle to the current document) in CDocProperties::EndDocument(). -type DocProperties struct { - // AvgTermWeight: The average weighted font size of a term in the doc body - AvgTermWeight int64 `json:"avgTermWeight,omitempty"` - // BadTitle: Missing or meaningless title - BadTitle bool `json:"badTitle,omitempty"` - Badtitleinfo []*DocPropertiesBadTitleInfo `json:"badtitleinfo,omitempty"` - // Languages: A Language enum value. See: go/language-enum - Languages []int64 `json:"languages,omitempty"` - // Leadingtext: Leading text information generated by - // google3/quality/snippets/leadingtext/leadingtext-detector.cc - Leadingtext *SnippetsLeadingtextLeadingTextInfo `json:"leadingtext,omitempty"` - NumPunctuations int64 `json:"numPunctuations,omitempty"` - NumTags int64 `json:"numTags,omitempty"` - // NumTokens: The number of tokens, tags and punctuations in the tokenized - // contents. This is an approximation of the number of tokens, tags and - // punctuations we end up with in mustang, but is inexact since we drop some - // tokens in mustang and also truncate docs at a max cap. - NumTokens int64 `json:"numTokens,omitempty"` - // ProseRestrict: The restricts for CSE structured search. - ProseRestrict []string `json:"proseRestrict,omitempty"` - Restricts []string `json:"restricts,omitempty"` - // Timestamp: The time CDocProperties::StartDocument() is called, encoded as - // seconds past the epoch (Jan 1, 1970). This value is always refreshed and not - // reused. - Timestamp int64 `json:"timestamp,omitempty,string"` - // Title: Extracted from the title tag of the content. This is typically - // extracted by TitleMetaCollector defined at - // google3/segindexer/title-meta-collector.h. Please see its documentation for - // the format and other caveats. - Title string `json:"title,omitempty"` - // ForceSendFields is a list of field names (e.g. "AvgTermWeight") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AvgTermWeight") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DocProperties) MarshalJSON() ([]byte, error) { - type NoMethod DocProperties - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// DocPropertiesBadTitleInfo: Bad title information. -type DocPropertiesBadTitleInfo struct { - Score float64 `json:"score,omitempty"` - // Possible values: - // "NOT_BAD" - // "MISSING_OR_MEANINGLESS" - An empty string, or a bad title such as - // "Untitled". See quality_titles::bad_titles::BadTitleDetector for more - // details. - // "BOILERPLATE" - Most of the title is marked as boilerplate regions. See - // boilerplate::BoilerplateTitleScorer for more details. - // "FOREIGN" - The language of a title is different from the language of the - // document. See quality_snippets::foreigntitle::ForeignTitleScorer for more - // details. - // "UNREADABLE" - Title has a low readability score. See - // quality_titles::ReadabilityScorer for more details. - // "NAKED" - Title needs more context (i.e. a site name), e.g. "Photos", - // "Contact Us". See quality_titles::bad_titles::BadTitleDetector for more - // details. - // "NO_QUERY_SUPPORT" - Title contains no navboost query. See - // quality_titles::AlternativeTitlesGenerator for more details. - // "NO_SITE_INFO" - Title has no site title information. See - // quality_titles::AlternativeTitlesGenerator for more details. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Score") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Score") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DocPropertiesBadTitleInfo) MarshalJSON() ([]byte, error) { - type NoMethod DocPropertiesBadTitleInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *DocPropertiesBadTitleInfo) UnmarshalJSON(data []byte) error { - type NoMethod DocPropertiesBadTitleInfo - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - -// DrishtiCompressedFeature: Protocol buffer for storing compressed feature. -type DrishtiCompressedFeature struct { - // Possible values: - // "UNKNOWN" - // "STARBURST_V4" - // "RESNETISH_V3" - FeatureName string `json:"featureName,omitempty"` - // InRangeBitstream: in_range_bitstream is the string produced by range coder, - // while out_of_range_bitstream corresponds to the overflow stream, which is - // used whenever a quantized value is out of range. See - // https://cs.corp.google.com/piper///depot/google3/research/vision/piedpiper/brain/python/layers/entropy_models.py?l=225&cl=234825412 - InRangeBitstream string `json:"inRangeBitstream,omitempty"` - OutOfRangeBitstream string `json:"outOfRangeBitstream,omitempty"` - // ForceSendFields is a list of field names (e.g. "FeatureName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FeatureName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiCompressedFeature) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiCompressedFeature - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type DrishtiDenseFeatureData struct { - // Extra: If extra is present it must be of the same length as value. - Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` - GeneralExtra *DrishtiFeatureExtra `json:"generalExtra,omitempty"` - // Value: Dense data. - Value []float64 `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Extra") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Extra") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiDenseFeatureData) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiDenseFeatureData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *DrishtiDenseFeatureData) UnmarshalJSON(data []byte) error { - type NoMethod DrishtiDenseFeatureData - var s1 struct { - Value []gensupport.JSONFloat64 `json:"value"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Value = make([]float64, len(s1.Value)) - for i := range s1.Value { - s.Value[i] = float64(s1.Value[i]) - } - return nil -} - -// DrishtiDenseTokenData: Protocol buffer for storing dense token data. -type DrishtiDenseTokenData struct { - // Extra: If extra is present it must be of the same length as value. - Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` - GeneralExtra *DrishtiFeatureExtra `json:"generalExtra,omitempty"` - Value []int64 `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Extra") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Extra") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiDenseTokenData) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiDenseTokenData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type DrishtiFeatureExtra struct { -} - -type DrishtiFeatureSetData struct { - // Extra: Extra information for this particular FeatureSetData (example - // timestamp of this frame in the video). (Almost never used). - Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` - // Feature: The following can have multiple FeatureSetElement(s) Each of these - // FeatureSetElement correspond to the various feature groups. One concrete - // example is the way these features are generated - example audio, video or - // OCR. - Feature []*DrishtiFeatureSetDataFeatureSetElement `json:"feature,omitempty"` - // Label: Labels for this particular FeatureSetData. (Almost never used). Only - // interesting when you have (for example) frame level labels. - Label []*DrishtiLabelSetElement `json:"label,omitempty"` - // ForceSendFields is a list of field names (e.g. "Extra") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Extra") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiFeatureSetData) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiFeatureSetData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// DrishtiFeatureSetDataFeatureSetElement: A FeatureSetElement stores the -// features coming from a single group. -type DrishtiFeatureSetDataFeatureSetElement struct { - Compressed *DrishtiCompressedFeature `json:"compressed,omitempty"` - Dense *DrishtiDenseFeatureData `json:"dense,omitempty"` - Indexed *DrishtiIndexedFeatureData `json:"indexed,omitempty"` - // Name: A name for the feature group: example "AUDIO", "VIDEO", "OCR", etc. - Name string `json:"name,omitempty"` - Quantized *DrishtiQuantizedDenseFeatureData `json:"quantized,omitempty"` - QuantizedByteDense *DrishtiQuantizedByteDenseFeatureData `json:"quantizedByteDense,omitempty"` - QuantizedByteIndexed *DrishtiQuantizedByteIndexedFeatureData `json:"quantizedByteIndexed,omitempty"` - Sparse *DrishtiSparseFeatureData `json:"sparse,omitempty"` - Token *DrishtiDenseTokenData `json:"token,omitempty"` - // ForceSendFields is a list of field names (e.g. "Compressed") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Compressed") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiFeatureSetDataFeatureSetElement) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiFeatureSetDataFeatureSetElement - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// DrishtiFeatureSetDataSequence: This represents a sequence (ordered) of -// FeatureSetData elements. -type DrishtiFeatureSetDataSequence struct { - // Element: FeatureSetData contains the features. In most scenarios, you only - // have one element. However, multiple elements are appropriate in case of - // videos where each element may correspond to a frame in the video. - Element []*DrishtiFeatureSetData `json:"element,omitempty"` - // Extra: Some extra information about this FeatureSetDataSequence. (Almost - // never used). - Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` - // Label: Global (video-level) labels. In most cases, you only have one - // LabelSetElement. All the labels will be stored in this single - // LabelSetElement. Scenarios where you may have multiple LabelSetElement(s) is - // (for example) when you want to differentiate the labels into various - // sub-groups - eg, central vs relevant, kg-ids vs queries, etc. - Label []*DrishtiLabelSetElement `json:"label,omitempty"` - // Timestamp: If set, must be same length as element. Each entry is the - // timestamp in microseconds where the FeatureSetData element was extracted. - Timestamp googleapi.Int64s `json:"timestamp,omitempty"` - // ForceSendFields is a list of field names (e.g. "Element") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Element") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiFeatureSetDataSequence) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiFeatureSetDataSequence - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type DrishtiIndexedFeatureData struct { - // Extra: If extra is present it must be of the same length as index and value. - Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` - GeneralExtra *DrishtiFeatureExtra `json:"generalExtra,omitempty"` - // Index: Indexed data. index and value must be of the same length. - Index googleapi.Uint64s `json:"index,omitempty"` - Value []float64 `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Extra") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Extra") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiIndexedFeatureData) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiIndexedFeatureData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *DrishtiIndexedFeatureData) UnmarshalJSON(data []byte) error { - type NoMethod DrishtiIndexedFeatureData - var s1 struct { - Value []gensupport.JSONFloat64 `json:"value"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Value = make([]float64, len(s1.Value)) - for i := range s1.Value { - s.Value[i] = float64(s1.Value[i]) - } - return nil -} - -type DrishtiLabelSetData struct { - Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` - GeneralExtra *DrishtiFeatureExtra `json:"generalExtra,omitempty"` - TargetClass googleapi.Uint64s `json:"targetClass,omitempty"` - TargetClassName []string `json:"targetClassName,omitempty"` - TargetValue []float64 `json:"targetValue,omitempty"` - TargetWeight []float64 `json:"targetWeight,omitempty"` - // Weight: Weight assigned to this set of labels. - Weight float64 `json:"weight,omitempty"` - // ForceSendFields is a list of field names (e.g. "Extra") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Extra") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiLabelSetData) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiLabelSetData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *DrishtiLabelSetData) UnmarshalJSON(data []byte) error { - type NoMethod DrishtiLabelSetData - var s1 struct { - TargetValue []gensupport.JSONFloat64 `json:"targetValue"` - TargetWeight []gensupport.JSONFloat64 `json:"targetWeight"` - Weight gensupport.JSONFloat64 `json:"weight"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.TargetValue = make([]float64, len(s1.TargetValue)) - for i := range s1.TargetValue { - s.TargetValue[i] = float64(s1.TargetValue[i]) - } - s.TargetWeight = make([]float64, len(s1.TargetWeight)) - for i := range s1.TargetWeight { - s.TargetWeight[i] = float64(s1.TargetWeight[i]) - } - s.Weight = float64(s1.Weight) - return nil -} - -type DrishtiLabelSetElement struct { - Label *DrishtiLabelSetData `json:"label,omitempty"` - Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "Label") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Label") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiLabelSetElement) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiLabelSetElement - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// DrishtiQuantizedByteDenseFeatureData: Proto message to store quantized dense -// feature data. -type DrishtiQuantizedByteDenseFeatureData struct { - // Extra: If extra is present it must be of the same length as value. - Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` - GeneralExtra *DrishtiFeatureExtra `json:"generalExtra,omitempty"` - // Value: Quantized values for the feature. - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Extra") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Extra") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiQuantizedByteDenseFeatureData) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiQuantizedByteDenseFeatureData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// DrishtiQuantizedByteIndexedFeatureData: Proto message to store quantized -// indexed feature data. -type DrishtiQuantizedByteIndexedFeatureData struct { - // Extra: If extra is present it must be of the same length as value. - Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` - GeneralExtra *DrishtiFeatureExtra `json:"generalExtra,omitempty"` - Index googleapi.Uint64s `json:"index,omitempty"` - // Value: Quantized values for the feature. - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Extra") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Extra") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiQuantizedByteIndexedFeatureData) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiQuantizedByteIndexedFeatureData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type DrishtiQuantizedDenseFeatureData struct { - // Extra: If extra is present it must be of the same length as value. - Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` - GeneralExtra *DrishtiFeatureExtra `json:"generalExtra,omitempty"` - // Value: Quantized Dense data. - Value []string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Extra") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Extra") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiQuantizedDenseFeatureData) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiQuantizedDenseFeatureData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type DrishtiSparseFeatureData struct { - // Extra: If extra is present it must be of the same length as label and value. - Extra []*DrishtiFeatureExtra `json:"extra,omitempty"` - GeneralExtra *DrishtiFeatureExtra `json:"generalExtra,omitempty"` - // Label: Indexed data. label and value must be of the same length. - Label []string `json:"label,omitempty"` - Value []float64 `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Extra") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Extra") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiSparseFeatureData) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiSparseFeatureData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *DrishtiSparseFeatureData) UnmarshalJSON(data []byte) error { - type NoMethod DrishtiSparseFeatureData - var s1 struct { - Value []gensupport.JSONFloat64 `json:"value"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Value = make([]float64, len(s1.Value)) - for i := range s1.Value { - s.Value[i] = float64(s1.Value[i]) - } - return nil -} - -// DrishtiVesperEncodedThumbnail: The attributes of encoded thumbnail images. -// Next id: 10. -type DrishtiVesperEncodedThumbnail struct { - // ByteSize: Image size in bytes. Meaningful when contents are not stored - // inline (e.g., via `image_blob_id`). - ByteSize int64 `json:"byteSize,omitempty,string"` - // Crc32c: CRC-32 checksum of the image bytes. Can be used for data integrity - // check. - Crc32c int64 `json:"crc32c,omitempty"` - // EncodingQuality: JPEG/WEBP quality factor in range [0,100]. - EncodingQuality int64 `json:"encodingQuality,omitempty"` - // EncodingType: Image encoding type. - // - // Possible values: - // "UNKNOWN" - // "JPEG" - JPEG encoded. - // "WEBP" - WEBP encoded. - // "PNG" - PNG encoded. - EncodingType string `json:"encodingType,omitempty"` - Height int64 `json:"height,omitempty"` - // ImageBlobId: The Blob ID of the thumbnail image in the Blobstore. We - // recommend absolute IDs with universe prefix if this field is passed across - // systems. The owner of this blob is also responsible for data Wipeout - // compliance. - ImageBlobId string `json:"imageBlobId,omitempty"` - // ImageBytes: Encoded thumbnail bytes. Prefer this over `image_string` as we - // are not supposed to store image bytes in a proto string field. - ImageBytes string `json:"imageBytes,omitempty"` - // ImageString: Please migrate to `image_bytes`. - ImageString string `json:"imageString,omitempty"` - // Width: Thumbnail resolution. - Width int64 `json:"width,omitempty"` - // ForceSendFields is a list of field names (e.g. "ByteSize") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ByteSize") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiVesperEncodedThumbnail) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiVesperEncodedThumbnail - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// DrishtiVesperMovingThumbnail: LINT: LEGACY_NAMES MovingThumbnail is defined -// as a short video clip that represents the whole video content. Next id: 17. -type DrishtiVesperMovingThumbnail struct { - // BeginTimestampMs: The begin timestamp in milliseconds. - BeginTimestampMs int64 `json:"beginTimestampMs,omitempty"` - // DurationMs: The duration of the moving thumbnail in milliseconds. Note that - // the duration may not be the difference between begin_timestamp_ms and - // end_timestamp_ms, esp when the moving thumbnail covers multiple clips from - // the video. - DurationMs int64 `json:"durationMs,omitempty"` - EncodedGifAnimation string `json:"encodedGifAnimation,omitempty"` - // EncodedVideoString: The encoded video string. - EncodedVideoString string `json:"encodedVideoString,omitempty"` - // EncodedWebpAnimation: The encoded WebP animation. - EncodedWebpAnimation string `json:"encodedWebpAnimation,omitempty"` - // EndTimestampMs: The end timestamp in milliseconds. - EndTimestampMs int64 `json:"endTimestampMs,omitempty"` - // Height: Pixel height of the moving thumbnail. - Height int64 `json:"height,omitempty"` - // Id: MovingThumbnail id (e.g., the video id). - Id string `json:"id,omitempty"` - // MovingThumbnailerVersion: If set, this is the algorithm version used to - // generate this moving thumbnail. - // - // Possible values: - // "V0" - Version 0 and 1 - Initial version with thumbnail quality, iconic - // face and motion scores. - // "V1" - // "DEPRECATED_V2" - Version 2 - Version 1 with default static thumbnail - // matching, title matching, face matching and face clustering (Deprecated). - // "DEPRECATED_V3" - Version 3 - Version 2 with high resolution transcodes - // preferred (Deprecated). - // "V4" - Version 4 - Version 1 with default static thumbnail matching, title - // matching, and high resolution transcodes preferred. - // "V5" - Version 5 - Version 1 with title matching and high res transcodes - // preferred. - // "V6" - Version 6 - Version 1 with default static thumbnail matching, title - // matching, retention data and high resolution transcodes preferred. - // "SHOPPING_PREVIEW_V0" - Version used for Commerce Shopping Videos - // "SHORT_PREVIEW_V0" - Version used for YT Shorts. - // "LIVE_MOVING_THUMBNAILER" - Live moving thumbnailer (no scorers involved). - // "MANUAL" - Manually generated. - MovingThumbnailerVersion string `json:"movingThumbnailerVersion,omitempty"` - // Name: MovingThumbnail name. - // - // Possible values: - // "UNKNOWN" - // "MQDEFAULT" - 320x180, 10s - // "MQDEFAULT_6S" - 320x180, 6s - // "LQDEFAULT_6S" - 196x110, 6s - // "MQ220P_5S" - 392x220, 5s - // "MQDEFAULT_6S_HIGHLIGHT" - 320x180, 6s, highlight - // "MQDEFAULT_6S_PRE_HIGHLIGHT" - 320x180, 6s, pre-highlight - // "MQDEFAULT_6S_THIRD_HIGHLIGHT" - (3s before highlight) 320x180, 6s, 3rd - // best highlight - // "MQDEFAULT_6S_ZOOM_IN" - 320x180, 6s, central zoom-in version - // "SD360P_6S_ZOOM_IN" - 640x360, 6s, central zoom-in version - // "MQDEFAULT_3S" - 320x180, 3s - // "MQDEFAULT_6S_480x270" - 480x270, 6s - // "MQDEFAULT_1S" - Do not use this (deprecated) - // "MQ_SHORTS_PREVIEW" - 360x360, original aspect ratio - // "HQ_SHORTS_PREVIEW" - 480x480, original aspect ratio - Name string `json:"name,omitempty"` - // Score: The score of the moving thumbnail. - Score float64 `json:"score,omitempty"` - ScoreComponents *DrishtiVesperMovingThumbnailScoreComponents `json:"scoreComponents,omitempty"` - // Thumbnails: A set of single frame thumbnails in the MovingThumbnail. - Thumbnails []*DrishtiVesperThumbnail `json:"thumbnails,omitempty"` - // Type: MovingThumbnail type. - // - // Possible values: - // "TYPE_UNKNOWN" - // "AN_GIF" - Animated gif. - // "AN_WEBP" - Animated webp. - // "AN_MP4" - Animated mp4. - // "AN_WEBM" - Animated webm. - Type string `json:"type,omitempty"` - // WebpQualityLevel: The actual quality of the Webp animation. Note this value - // may not be equal to the quality value requested in the animation creator's - // options. This is because other requirements, such as the max file size, may - // force the creator to lower the actual quality value. - WebpQualityLevel float64 `json:"webpQualityLevel,omitempty"` - // Width: Pixel width of the moving thumbnail. - Width int64 `json:"width,omitempty"` - // ForceSendFields is a list of field names (e.g. "BeginTimestampMs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BeginTimestampMs") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiVesperMovingThumbnail) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiVesperMovingThumbnail - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *DrishtiVesperMovingThumbnail) UnmarshalJSON(data []byte) error { - type NoMethod DrishtiVesperMovingThumbnail - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - WebpQualityLevel gensupport.JSONFloat64 `json:"webpQualityLevel"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - s.WebpQualityLevel = float64(s1.WebpQualityLevel) - return nil -} - -// DrishtiVesperMovingThumbnailScoreComponents: Sum of individual score -// components within a moving thumbnail. Used as input for weight fitting. -type DrishtiVesperMovingThumbnailScoreComponents struct { - AudienceRewindRatioScore float64 `json:"audienceRewindRatioScore,omitempty"` - IconicFaceScore float64 `json:"iconicFaceScore,omitempty"` - MatchingScore float64 `json:"matchingScore,omitempty"` - MotionScore float64 `json:"motionScore,omitempty"` - TitleMatchingScore float64 `json:"titleMatchingScore,omitempty"` - VideoThumbQualityScore float64 `json:"videoThumbQualityScore,omitempty"` - // ForceSendFields is a list of field names (e.g. "AudienceRewindRatioScore") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AudienceRewindRatioScore") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiVesperMovingThumbnailScoreComponents) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiVesperMovingThumbnailScoreComponents - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *DrishtiVesperMovingThumbnailScoreComponents) UnmarshalJSON(data []byte) error { - type NoMethod DrishtiVesperMovingThumbnailScoreComponents - var s1 struct { - AudienceRewindRatioScore gensupport.JSONFloat64 `json:"audienceRewindRatioScore"` - IconicFaceScore gensupport.JSONFloat64 `json:"iconicFaceScore"` - MatchingScore gensupport.JSONFloat64 `json:"matchingScore"` - MotionScore gensupport.JSONFloat64 `json:"motionScore"` - TitleMatchingScore gensupport.JSONFloat64 `json:"titleMatchingScore"` - VideoThumbQualityScore gensupport.JSONFloat64 `json:"videoThumbQualityScore"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.AudienceRewindRatioScore = float64(s1.AudienceRewindRatioScore) - s.IconicFaceScore = float64(s1.IconicFaceScore) - s.MatchingScore = float64(s1.MatchingScore) - s.MotionScore = float64(s1.MotionScore) - s.TitleMatchingScore = float64(s1.TitleMatchingScore) - s.VideoThumbQualityScore = float64(s1.VideoThumbQualityScore) - return nil -} - -// DrishtiVesperThumbnail: The attributes of a video thumbnail. -type DrishtiVesperThumbnail struct { - // DenseFeatures: Thumbnail dense features - DenseFeatures []float64 `json:"denseFeatures,omitempty"` - // EncodedImageString: Thumbnail image as an encoded image. Deprecated, use - // encoded_thumbnails instead. - EncodedImageString string `json:"encodedImageString,omitempty"` - // EncodedImageStringSmall: Thumbnail image as an encoded image with smaller - // resolution. Deprecated, use encoded_thumbnails instead. - EncodedImageStringSmall string `json:"encodedImageStringSmall,omitempty"` - // EncodedThumbnails: Encoded thumbnail images. - EncodedThumbnails []*DrishtiVesperEncodedThumbnail `json:"encodedThumbnails,omitempty"` - // Id: Thumbnail id. - Id string `json:"id,omitempty"` - // OcrText: Text in video thumbnails that was detected by OCR. - OcrText string `json:"ocrText,omitempty"` - // QualityScores: Thumbnail quality scores. - QualityScores []*DrishtiVesperThumbnailQualityScore `json:"qualityScores,omitempty"` - // ShouldUpdateDefaultThumbnail: If true, this thumbnail should update default - // thumbnail. - ShouldUpdateDefaultThumbnail bool `json:"shouldUpdateDefaultThumbnail,omitempty"` - // ThumbnailerModelVersion: Thumbnailer Version. - // - // Possible values: - // "VERSION_UNKNOWN" - // "VERSION_FIRST" - Use the first frame as thumbnail. - // "VERSION_RANDOM" - Randomly choose a frame as thumbnail. - // "VERSION_4" - Thumbnailer version 4. - // "VERSION_5" - Thumbnailer version 5. - // "VERSION_6" - Thumbnailer version 6 for violative thumbnail regeneration. - // Design: go/reduce-violative-thumb - // "VERSION_7" - Thumbnailer version 7. - // "VERSION_8" - Thumbnailer version 8 for violative thumbnail regeneration. - // Design: go/reduce-violative-thumb - // "VERSION_SHORTS_4" - Thumbnailer version 4 for shorts videos. - // "VERSION_SHORTS_5" - Thumbnailer version 5 for shorts videos. - // "VERSION_SHORTS_6" - Thumbnailer version 6 for shorts videos. - // "VERSION_STORY_4" - Thumbnailer version 4 for stories. - // "VERSION_STORY_5" - Thumbnailer version 5 for stories. - // "VERSION_MOVING_4" - Moving thumbnailer version 4. - // "VERSION_MOVING_5" - Moving thumbnailer version 5. - // "VERSION_MOVING_6" - Moving thumbnailer version 6. - // "VERSION_MOVING_SHORTS_0" - Moving thumbnailer version 0 for shorts. - // "VERSION_MOVING_LIVE_0" - Moving thumbnailer version 0 for live. - // "VERSION_MOVING_MANUAL_0" - Moving thumbnail generated manually. - // "VERSION_LITE_1" - Lite Thumbnailer (previously known as - // FirstFrameThumbnailer) - // "VERSION_CUSTOM" - Custom image (not generated). Likely client provided. - // "VERSION_REJECTED" - A gray fallback image for images that have been - // rejected. - ThumbnailerModelVersion string `json:"thumbnailerModelVersion,omitempty"` - // TimestampMs: Thumbnail timestamp in milliseconds. - TimestampMs int64 `json:"timestampMs,omitempty"` - // Type: Thumbnail type. - // - // Possible values: - // "UNKNOWN" - // "MAIN_THUMB_CUSTOM" - Customized main thumbnail uploaded from user. - // "MAIN_THUMB_NON_CUSTOM" - Non-customized main thumbnail. - // "SHOT_THUMB" - Shot thumbnail. - // "NUMBERED_THUMB" - The numbered thumbnail, e.g. 1.jpg, 2.jpg, 3.jpg. - // "KEY_FRAME" - The iframe extracted from the media decoder. - // "FRAME" - The regular video frame. - // "AUTO" - This type indicates that the thumbnail is to use for thumbnail - // A/B test. In this case the id field will be used to indicate the control and - // experimental thumbnail. - Type string `json:"type,omitempty"` - UserReportedThumbnail *DrishtiVesperUserReportUserReportedThumbnail `json:"userReportedThumbnail,omitempty"` - // UserReportedThumbnails: All user reported thumbnails of interest. - UserReportedThumbnails []*DrishtiVesperUserReportUserReportedThumbnail `json:"userReportedThumbnails,omitempty"` - // Version: Thumbnail version, i.e., the unix time in seconds when the - // thumbnail was created. - Version int64 `json:"version,omitempty"` - // ForceSendFields is a list of field names (e.g. "DenseFeatures") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DenseFeatures") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiVesperThumbnail) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiVesperThumbnail - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *DrishtiVesperThumbnail) UnmarshalJSON(data []byte) error { - type NoMethod DrishtiVesperThumbnail - var s1 struct { - DenseFeatures []gensupport.JSONFloat64 `json:"denseFeatures"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.DenseFeatures = make([]float64, len(s1.DenseFeatures)) - for i := range s1.DenseFeatures { - s.DenseFeatures[i] = float64(s1.DenseFeatures[i]) - } - return nil -} - -type DrishtiVesperThumbnailQualityScore struct { - Score float64 `json:"score,omitempty"` - // Possible values: - // "UNKNOWN" - // "PHOTO_QUALITY" - // "PAMIR_IMAGE_QUALITY" - // "VIDEO_THUMB_QUALITY" - // "SALIENCY" - // "COMPLEXITY" - // "SHARPNESS" - // "CLOSE_UP" - // "BEEHIVE_QUALITY" - // "ICONIC_FACE" - // "DUMMY" - // "COLORFULNESS" - // "MOTION" - // "RETENTION_STATS" - // "FACIAL_EXPRESSION" - // "MATCHING" - // "LUCKYSHOT_SHARPNESS" - // "SINGLE_FACE_MODULE" - // "TITLE_MATCHING" - // "FACE_CLUSTERING" - // "FACE_MATCHING" - // "RACY_SCORE" - The higher the score, the racier the thumbnail. - // "NON_RACY_SCORE" - The higher the score, less racier of the thumbnail. - // "SALIENCY_COVERAGE" - // "AUDIENCE_WATCH_DATA" - // "AUDIENCE_REWATCH_DATA" - // "AUDIENCE_REWIND_RATIO" - // "AUDIENCE_DROPOFF_RATIO" - // "HIGHLIGHT_SCORE" - // "JOY_FACE" - // "EYE_OPEN" - // "FACE_RATIO" - // "OCR_RACY_SCORE" - // "SHOT_BOUNDARY" - // "NIMA" - go/nima - // "FOREGROUND_MOTION_SALIENCY" - // "PAGE_QUALITY" - // "GLOBAL_MOTION" - // "CHAPTER_TITLE_MATCHING" - // "DBSCAN_FRAME_CHAPTER_SIMILARITY" - // "EYES_NOT_VISIBLY_CLOSED" - // "ENGAGINESS" - // "MERGED" - The score merged from the above source types. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Score") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Score") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiVesperThumbnailQualityScore) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiVesperThumbnailQualityScore - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *DrishtiVesperThumbnailQualityScore) UnmarshalJSON(data []byte) error { - type NoMethod DrishtiVesperThumbnailQualityScore - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - -// DrishtiVesperUserReportHumanLabel: Proto holding values for details about -// human labels. -type DrishtiVesperUserReportHumanLabel struct { - // Possible values: - // "UNKNOWN" - // "SAFE" - // "BORDERLINE" - // "SEXUAL" - RacyLevel string `json:"racyLevel,omitempty"` - // ForceSendFields is a list of field names (e.g. "RacyLevel") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RacyLevel") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiVesperUserReportHumanLabel) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiVesperUserReportHumanLabel - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// DrishtiVesperUserReportModelScore: Proto holding values for details about -// score and the source model. -type DrishtiVesperUserReportModelScore struct { - ModelName string `json:"modelName,omitempty"` - Score float64 `json:"score,omitempty"` - // ForceSendFields is a list of field names (e.g. "ModelName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ModelName") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiVesperUserReportModelScore) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiVesperUserReportModelScore - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *DrishtiVesperUserReportModelScore) UnmarshalJSON(data []byte) error { - type NoMethod DrishtiVesperUserReportModelScore - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - -// DrishtiVesperUserReportUserReportedThumbnail: Proto holding values for user -// reported thumbnails. Next id: 12 -type DrishtiVesperUserReportUserReportedThumbnail struct { - DenseFeatures []float64 `json:"denseFeatures,omitempty"` - // Duration: Number of days in which volume is calculated. - Duration int64 `json:"duration,omitempty"` - HumanLabel *DrishtiVesperUserReportHumanLabel `json:"humanLabel,omitempty"` - // Impressions: Daily aggregared impressions for the reported video. - Impressions int64 `json:"impressions,omitempty"` - // NeedHumanLabel: Whether the thumbnail needs a human label. - NeedHumanLabel bool `json:"needHumanLabel,omitempty"` - RawHumanLabels []*DrishtiVesperUserReportHumanLabel `json:"rawHumanLabels,omitempty"` - ReportScore *DrishtiVesperUserReportModelScore `json:"reportScore,omitempty"` - // Possible values: - // "UNKNOWN" - // "RACY" - ReportType string `json:"reportType,omitempty"` - Score *DrishtiVesperUserReportModelScore `json:"score,omitempty"` - // Possible values: - // "UNKNOWN" - // "TRAIN" - // "EVAL" - UseCase string `json:"useCase,omitempty"` - // Volume: Number of reports. - Volume int64 `json:"volume,omitempty"` - // ForceSendFields is a list of field names (e.g. "DenseFeatures") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DenseFeatures") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiVesperUserReportUserReportedThumbnail) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiVesperUserReportUserReportedThumbnail - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *DrishtiVesperUserReportUserReportedThumbnail) UnmarshalJSON(data []byte) error { - type NoMethod DrishtiVesperUserReportUserReportedThumbnail - var s1 struct { - DenseFeatures []gensupport.JSONFloat64 `json:"denseFeatures"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.DenseFeatures = make([]float64, len(s1.DenseFeatures)) - for i := range s1.DenseFeatures { - s.DenseFeatures[i] = float64(s1.DenseFeatures[i]) - } - return nil -} - -// DrishtiVesperVideoThumbnail: Video level container for thumbnail with its -// attributes, e.g., timestamp, id, quality scores, annotations, or features. -type DrishtiVesperVideoThumbnail struct { - // Id: Video id. - Id string `json:"id,omitempty"` - MovingThumbnails []*DrishtiVesperMovingThumbnail `json:"movingThumbnails,omitempty"` - Thumbnails []*DrishtiVesperThumbnail `json:"thumbnails,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *DrishtiVesperVideoThumbnail) MarshalJSON() ([]byte, error) { - type NoMethod DrishtiVesperVideoThumbnail - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// EmbedsDeepLinkData: Deep-linking data is used to construct a deep-link URI -// for an activity or frame's embed, such that on click, the user is taken to -// the right place in a mobile app. If the app is not installed, the user is -// taken to the app store. If not on mobile, an analogous web uri is used. -type EmbedsDeepLinkData struct { - // AppId: Application ID (or project ID) from Google API Console. - AppId int64 `json:"appId,omitempty,string"` - // Client: The data for a Google API Console client is entered by a developer - // during client registration and is stored in PackagingService. - Client []*EmbedsPackagingServiceClient `json:"client,omitempty"` - // DeepLinkId: The ID for non-URL content. Embeds may either have no analogous - // web presence or prefer a native mobile experience if supported. In the case - // of no web presence, instead of setting the "url" field of an embed, such - // developers will set this field and other content fields, e.g. thumbnail, - // title, description. If set, this field is used to construct the deep-link - // URI. Note that the native experience is preferred over the web link and the - // web link is used as a fallback. - DeepLinkId string `json:"deepLinkId,omitempty"` - // Url: Analogous web presence. Used as desktop fallback or when no native link - // data is present. - Url string `json:"url,omitempty"` - // ForceSendFields is a list of field names (e.g. "AppId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AppId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *EmbedsDeepLinkData) MarshalJSON() ([]byte, error) { - type NoMethod EmbedsDeepLinkData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// EmbedsEmbedClientItem: Represents an embedded object in an update. This is a -// wrapper class that can contain a single specific item proto in an extension -// field. Think of it as a base class like `Message` in Java. Each item proto -// must declare that it extends this proto: message ExampleObject { option -// (item_type) = EXAMPLE_OBJECT; extend EmbedClientItem { optional -// ExampleObject example_object = ; } } See go/es-embeds for details. -type EmbedsEmbedClientItem struct { - // CanonicalId: The canonical ID of the embed. If absent, the canonical ID is - // equal to the ID; if present, then the canonical ID represents an - // "equivalence class" of embeds which really refer to the same object. (For - // example, the URLs http://www.foo.com/ and http://foo.com/ refer to the same - // object) This field may be updated periodically by background processes. - CanonicalId string `json:"canonicalId,omitempty"` - // DeepLinkData: Deep-linking data to take the user to the right place in a - // mobile app. This is only used for preview and attribution. Links that are - // specific to a given embed type should live on that specific embed's proto by - // using Link. See http://goto.google.com/mariana-design. - DeepLinkData *EmbedsDeepLinkData `json:"deepLinkData,omitempty"` - // Id: The ID of the embed. This corresponds to the schema.org ID, as - // represented in the ItemScope.id field. - Id string `json:"id,omitempty"` - // Provenance: The provenance of the embed, populated when the embed originated - // from a web fetch. The provenance captures information about the web page the - // embed had originated, like the URL that was retrieved and the retrieved - // URL's canonical form. This is useful in the case where the URL shared by the - // URL redirects (e.g., in the case of a shortened URL). - Provenance *EmbedsProvenance `json:"provenance,omitempty"` - // RenderId: The ID used to identify the embed during rendering. This field - // will match ID, if set, otherwise it will be the ID of the parent activity. - // This field is only populated on the server for client use and is not - // persisted to storage. - RenderId string `json:"renderId,omitempty"` - // Signature: Signature of the embed, used for verification. - Signature string `json:"signature,omitempty"` - // TransientData: Transient generic data that will not be saved on the server. - TransientData *EmbedsTransientData `json:"transientData,omitempty"` - // Type: The first value in `type` determines which extension field will be - // set. When creating an EmbedClientItem, you only need to set the first - // (primary) type in this field. When the server receives the item, it will - // populate the full type list using the parent annotations in the ItemType - // enum. - // - // Possible values: - // "UNKNOWN" - Largely deprecated, effectively an error condition and should - // not be in storage. - // "ACTION_V2" - Embeds V2 types - // "ADD_ACTION_V2" - // "AGGREGATE_RATING_V2" - // "ARTICLE_V2" - // "ASSESS_ACTION_V2" - // "AUDIO_OBJECT_V2" - // "BASIC_INTERACTION_V2" - // "BLOG_POSTING_V2" - // "BLOG_V2" - // "BOOK_V2" - // "BUY_ACTION_V2" - // "CHECK_IN_ACTION_V2" - The action of checking in, as opposed to a - // "check-in". - // "CHECKIN_V2" - // "COLLEXION_V2" - // "COMMENT_ACTION_V2" - The act of commenting, which might result in a - // comment. - // "COMMENT_V2" - // "COMMUNICATE_ACTION_V2" - // "CONSUME_ACTION_V2" - // "CREATE_ACTION_V2" - // "CREATIVE_WORK_V2" - // "DISCOVER_ACTION_V2" - // "DOCUMENT_OBJECT_V2" - // "DRAWING_OBJECT_V2" - // "DRIVE_OBJECT_V2" - // "EMOTISHARE_V2" - // "ENTRY_POINT_V2" - // "EVENT_TIME_V2" - // "EVENT_V2" - // "FILE_OBJECT_V2" - // "FIND_ACTION_V2" - // "FINANCIAL_QUOTE_V2" - // "FORM_OBJECT_V2" - // "GEO_COORDINATES_V2" - // "GOOGLE_OFFER_V2" - // "HANGOUT_CHAT_MESSAGE" - // "HANGOUT_QUOTE" - // "HANGOUT_V2" - // "HOA_PLUS_EVENT_V2" - // "IMAGE_OBJECT_V2" - // "INTERACT_ACTION_V2" - // "INTERACTION_V2" - // "LISTEN_ACTION_V2" - // "LOCAL_BUSINESS_V2" - // "LOCAL_PLUS_PHOTO_ALBUM_V2" - // "MAGAZINE_V2" - // "MEDIA_OBJECT_V2" - // "MOBILE_APPLICATION_V2" - // "MOVIE_V2" - // "MUSIC_ALBUM_V2" - // "MUSIC_GROUP_V2" - // "MUSIC_PLAYLIST_V2" - // "MUSIC_RECORDING_V2" - // "NEWS_ARTICLE_V2" - // "OFFER_V2" - // "ORGANIZATION_V2" - // "ORGANIZE_ACTION_V2" - // "PERSON_V2" - // "PLACE_REVIEW_V2" - // "PLACE_V2" - // "PLAN_ACTION_V2" - // "PLAY_MUSIC_ALBUM_V2" - // "PLAY_MUSIC_TRACK_V2" - // "PLAY_OBJECT_V2" - // "PLUS_AUDIO_V2" - // "PLUS_EVENT_V2" - // "PLUS_MEDIA_COLLECTION_V2" - // "PLUS_MEDIA_OBJECT_V2" - // "PLUS_PAGE_V2" - // "PLUS_PHOTOS_ADDED_TO_COLLECTION_V2" - // "PLUS_PHOTO_ALBUM_V2" - // "PLUS_PHOTO_COLLECTION_V2" - // "PLUS_PHOTO_V2" - // "PLUS_POST_V2" - // "PLUS_RESHARE_V2" - // "PLUS_SOFTWARE_APPLICATION_V2" - // "POLL_OPTION_V2" - // "POLL_V2" - // "POSTAL_ADDRESS_V2" - // "PRESENTATION_OBJECT_V2" - // "PRODUCT_REVIEW_V2" - // "RATING_V2" - // "REACT_ACTION_V2" - // "RESERVATION_V2" - // "RESERVE_ACTION_V2" - // "REVIEW_V2" - // "REVIEW_ACTION_V2" - // "SOFTWARE_APPLICATION_V2" - // "SPREADSHEET_OBJECT_V2" - // "SQUARE_INVITE_V2" - // "SQUARE_V2" - // "STICKER_V2" - // "STORY_V2" - Boswell story (see goto/boswell) - // "THING_V2" - // "TRADE_ACTION_V2" - // "DEPRECATED_TOUR_OBJECT_V2" - // "TV_EPISODE_V2" - // "TV_SERIES_V2" - // "UPDATE_ACTION_V2" - // "VIEW_ACTION_V2" - // "VIDEO_OBJECT_V2" - // "VIDEO_GALLERY_V2" - // "WANT_ACTION_V2" - // "WEB_PAGE_V2" - // "WRITE_ACTION_V2" - // "YOUTUBE_CHANNEL_V2" - // "GOOGLE_USER_PHOTO_V2" - A photo stored in photo service owned by a Google - // account user. This is distinct from PlusPhoto as it isn't tied to GPlus, but - // is instead intended to be a more general photo tied to a google user. - // "GOOGLE_USER_PHOTO_ALBUM" - A photo album in photo service owned by a - // Google account user. This is distinct from PlusPhotoAlbum as it isn't tied - // to GPlus, but is instead intended to be a general photo album tied to a - // google user. - // "GOOGLE_PHOTO_RECIPE" - An embed used to create a single photo in photo - // service. This type is never stored but is used to create a - // GOOGLE_USER_PHOTO_V2 or PLUS_PHOTO_V2 embed. - // "THING" - Embeds V1 types - // "CREATIVE_WORK" - // "EVENT" - // "INTANGIBLE" - // "ORGANIZATION" - // "PERSON" - // "PLACE" - // "PRODUCT" - // "ARTICLE" - CREATIVE_WORK subtypes - // "BLOG_POSTING" - // "NEWS_ARTICLE" - // "SCHOLARLY_ARTICLE" - // "BLOG" - // "BOOK" - // "COMMENT" - // "ITEM_LIST" - // "MAP" - // "MEDIA_OBJECT" - // "AUDIO_OBJECT" - // "IMAGE_OBJECT" - // "MUSIC_VIDEO_OBJECT" - // "VIDEO_OBJECT" - // "MOVIE" - // "MUSIC_PLAYLIST" - // "MUSIC_ALBUM" - // "MUSIC_RECORDING" - // "PAINTING" - // "PHOTOGRAPH" - // "RECIPE" - // "REVIEW" - // "SCULPTURE" - // "SOFTWARE_APPLICATION" - // "MOBILE_APPLICATION" - // "WEB_APPLICATION" - // "TV_EPISODE" - // "TV_SEASON" - // "TV_SERIES" - // "WEB_PAGE" - // "ABOUT_PAGE" - // "CHECKOUT_PAGE" - // "COLLECTION_PAGE" - // "IMAGE_GALLERY" - // "VIDEO_GALLERY" - // "CONTACT_PAGE" - // "ITEM_PAGE" - // "PROFILE_PAGE" - // "SEARCH_RESULTS_PAGE" - // "WEB_PAGE_ELEMENT" - // "SITE_NAVIGATION_ELEMENT" - // "TABLE" - // "WP_AD_BLOCK" - // "WP_FOOTER" - // "WP_HEADER" - // "WP_SIDEBAR" - // "APP_INVITE" - // "EMOTISHARE" - // "BUSINESS_EVENT" - EVENT subtypes - // "CHILDRENS_EVENT" - // "COMEDY_EVENT" - // "DANCE_EVENT" - // "EDUCATION_EVENT" - // "FESTIVAL" - // "FOOD_EVENT" - // "LITERARY_EVENT" - // "MUSIC_EVENT" - // "SALE_EVENT" - // "SOCIAL_EVENT" - // "SPORTS_EVENT" - // "THEATER_EVENT" - // "VISUAL_ARTS_EVENT" - // "RESERVATION" - // "TRAVEL_EVENT" - // "CORPORATION" - ORGANIZATION subtypes - // "EDUCATIONAL_ORGANIZATION" - // "COLLEGE_OR_UNIVERSITY" - // "ELEMENTARY_SCHOOL" - // "HIGH_SCHOOL" - // "MIDDLE_SCHOOL" - // "PRESCHOOL" - // "SCHOOL" - // "GOVERNMENT_ORGANIZATION" - // "LOCAL_BUSINESS" - // "ANIMAL_SHELTER" - // "AUTOMOTIVE_BUSINESS" - // "AUTO_BODY_SHOP" - // "AUTO_DEALER" - // "AUTO_PARTS_STORE" - // "AUTO_RENTAL" - // "AUTO_REPAIR" - // "AUTO_WASH" - // "GAS_STATION" - // "MOTORCYCLE_DEALER" - // "MOTORCYCLE_REPAIR" - // "CHILD_CARE" - // "DRY_CLEANING_OR_LAUNDRY" - // "EMERGENCY_SERVICE" - // "FIRE_STATION" - // "HOSPITAL" - // "POLICE_STATION" - // "EMPLOYMENT_AGENGY" - // "ENTERTAINMENT_BUSINESS" - // "ADULT_ENTERTAINMENT" - // "AMUSEMENT_PARK" - // "ART_GALLERY" - // "CASINO" - // "COMEDY_CLUB" - // "MOVIE_THEATER" - // "NIGHT_CLUB" - // "FINANCIAL_SERVICE" - // "ACCOUNTING_SERVICE" - // "AUTOMATED_TELLER" - // "BANK_OR_CREDIT_UNION" - // "INSURANCE_AGENCY" - // "FOOD_ESTABLISHMENT" - // "BAKERY" - // "BAR_OR_PUB" - // "BREWERY" - // "CAFE_OR_COFFEE_SHOP" - // "FAST_FOOD_RESTAURANT" - // "ICE_CREAM_SHOP" - // "RESTAURANT" - // "WINERY" - // "GOVERNMENT_OFFICE" - // "POST_OFFICE" - // "HEALTH_AND_BEAUTY_BUSINESS" - // "BEAUTY_SALON" - // "DAY_SPA" - // "HAIR_SALON" - // "HEALTH_CLUB" - // "NAIL_SALON" - // "TATTOO_PARLOR" - // "HOME_AND_CONSTRUCTION_BUSINESS" - // "ELECTRICIAN" - // "GENERAL_CONTRACTOR" - // "HVAC_BUSINESS" - // "HOUSE_PAINTER" - // "LOCKSMITH" - // "MOVING_COMPANY" - // "PLUMBER" - // "ROOFING_CONTRACTOR" - // "INTERNET_CAFE" - // "LIBRARY" - // "LODGING_BUSINESS" - // "BED_AND_BREAKFAST" - // "HOSTEL" - // "HOTEL" - // "MOTEL" - // "MEDICAL_ORGANIZATION" - // "DENTIST" - // "MEDICAL_CLINIC" - // "OPTICIAN" - // "PHARMACY" - // "PHYSICIAN" - // "VETERINARY_CARE" - // "PROFESSIONAL_SERVICE" - // "ATTORNEY" - // "NOTARY" - // "RADIO_STATION" - // "REAL_ESTATE_AGENT" - // "RECYCLING_CENTER" - // "SELF_STORAGE" - // "SHOPPING_CENTER" - // "SPORTS_ACTIVITY_LOCATION" - // "BOWLING_ALLEY" - // "EXERCISE_GYM" - // "GOLF_COURSE" - // "PUBLIC_SWIMMING_POOL" - // "SKI_RESORT" - // "SPORTS_CLUB" - // "STADIUM_OR_ARENA" - // "TENNIS_COMPLEX" - // "STORE" - // "BIKE_STORE" - // "BOOK_STORE" - // "CLOTHING_STORE" - // "COMPUTER_STORE" - // "CONVENIENCE_STORE" - // "DEPARTMENT_STORE" - // "ELECTRONICS_STORE" - // "FLORIST" - // "FURNITURE_STORE" - // "GARDEN_STORE" - // "GROCERY_STORE" - // "HARDWARE_STORE" - // "HOBBY_SHOP" - // "HOME_GOODS_STORE" - // "JEWELRY_STORE" - // "LIQUOR_STORE" - // "MENS_CLOTHING_STORE" - // "MOBILE_PHONE_STORE" - // "MOVIE_RENTAL_STORE" - // "MUSIC_STORE" - // "OFFICE_EQUIPMENT_STORE" - // "OUTLET_STORE" - // "PAWN_SHOP" - // "PET_STORE" - // "SHOE_STORE" - // "SPORTING_GOODS_STORE" - // "TIRE_SHOP" - // "TOY_STORE" - // "WHOLESALE_STORE" - // "TELEVISION_STATION" - // "TOURIST_INFORMATION_CENTER" - // "TRAVEL_AGENCY" - // "PERFORMING_GROUP" - // "MUSIC_GROUP" - // "ADMINISTRATIVE_AREA" - PLACE subtypes - // "CITY" - // "COUNTRY" - // "STATE" - // "CIVIC_STRUCTURE" - // "AIRPORT" - // "AQUARIUM" - // "BEACH" - // "BUS_STATION" - // "BUS_STOP" - // "CAMPGROUND" - // "CEMETERY" - // "CREMATORIUM" - // "EVENT_VENUE" - // "GOVERNMENT_BUILDING" - // "CITY_HALL" - // "COURTHOUSE" - // "DEFENCE_ESTABLISHMENT" - // "EMBASSY" - // "LEGISLATIVE_BUILDING" - // "MUSEUM" - // "MUSIC_VENUE" - // "PARK" - // "PARKING_FACILITY" - // "PERFORMING_ARTS_THEATER" - // "PLACE_OF_WORSHIP" - // "BUDDHIST_TEMPLE" - // "CATHOLIC_CHURCH" - // "CHURCH" - // "HINDU_TEMPLE" - // "MOSQUE" - // "SYNAGOGUE" - // "PLAYGROUND" - // "R_V_PARK" - // "RESIDENCE" - // "APARTMENT_COMPLEX" - // "GATED_RESIDENCE_COMMUNITY" - // "SINGLE_FAMILY_RESIDENCE" - // "TOURIST_ATTRACTION" - // "SUBWAY_STATION" - // "TAXI_STAND" - // "TRAIN_STATION" - // "ZOO" - // "LANDFORM" - // "BODY_OF_WATER" - // "CANAL" - // "LAKE_BODY_OF_WATER" - // "OCEAN_BODY_OF_WATER" - // "POND" - // "RESERVOIR" - // "RIVER_BODY_OF_WATER" - // "SEA_BODY_OF_WATER" - // "WATERFALL" - // "CONTINENT" - // "MOUNTAIN" - // "VOLCANO" - // "LANDMARKS_OR_HISTORICAL_BUILDINGS" - // "USER_INTERACTION" - NOTE(jpanzer): This is a badly designed hierarchy and - // we should avoid depending on Event properties inside UserInteractions as - // much as possible IMHO. - // "USER_PLUS_ONES" - // "ENUMERATION" - Intangibles, primarily used as sub-objects of other types - // "BOOK_FORMAT_TYPE" - // "ITEM_AVAILABILITY" - // "OFFER_ITEM_CONDITION" - // "JOB_POSTING" - // "LANGUAGE" - // "OFFER" - // "QUANTITY" - // "DISTANCE" - // "DURATION" - // "ENERGY" - // "MASS" - // "RATING" - // "AGGREGATE_RATING" - // "STRUCTURED_VALUE" - // "CONTACT_POINT" - // "POSTAL_ADDRESS" - // "GEO_COORDINATES" - // "GEO_SHAPE" - // "NUTRITION_INFORMATION" - // "PRESENTATION_OBJECT" - CREATIVE_WORK extensions - // "DOCUMENT_OBJECT" - // "SPREADSHEET_OBJECT" - // "FORM_OBJECT" - // "DRAWING_OBJECT" - // "PLACE_REVIEW" - // "FILE_OBJECT" - // "PLAY_MUSIC_TRACK" - // "PLAY_MUSIC_ALBUM" - // "MAGAZINE" - // "CAROUSEL_FRAME" - Single frame for http://goto/carousel. - // "PLUS_EVENT" - EVENT extensions - // "HANGOUT" - No declared proto. Used only as a base type for now. - // "HANGOUT_BROADCAST" - // "HANGOUT_CONSUMER" - // "CHECKIN" - // "EXAMPLE_OBJECT" - // "SQUARE" - NOTE(melchang): These correspond to - // http://schema.org/WebPage/Community and - // http://schema.org/WebPage/CommunityInvite. See b/7653610 for why these are - // "SQUARE" and not "COMMUNITY". - // "SQUARE_INVITE" - // "PLUS_PHOTO" - // "PLUS_PHOTO_ALBUM" - // "LOCAL_PLUS_PHOTO_ALBUM" - // "PRODUCT_REVIEW" - // "FINANCIAL_QUOTE" - // "DEPRECATED_TOUR_OBJECT" - // "PLUS_PAGE" - // "GOOGLE_CHART" - Data visualizations. See - // http://code.google.com/apis/chart/index.html - // "PLUS_PHOTOS_ADDED_TO_COLLECTION" - // "RECOMMENDED_PEOPLE" - A collection of people that have been recommended - // to a user. - // "PLUS_POST" - A Google+ post. - // "DATE" - An http://schema.org/Date unstructured ISO-8859 timestamp string. - // "DRIVE_OBJECT_COLLECTION" - Embed representing a collection of multiple - // Drive objects. - // "NEWS_MEDIA_ORGANIZATION" - https://schema.org/NewsMediaOrganization - // "DYNAMITE_ATTACHMENT_METADATA" - Deprecated in favor of - // DYNAMITE_MESSAGE_METADATA - // "DYNAMITE_MESSAGE_METADATA" - Used for Dynamite message metadata in - // Hangouts - Type []string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "CanonicalId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CanonicalId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *EmbedsEmbedClientItem) MarshalJSON() ([]byte, error) { - type NoMethod EmbedsEmbedClientItem - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// EmbedsPackagingServiceClient: Developers register a client in Google API -// Console to get the deep-linking feature on Google+ posts or frames about -// their apps. The client data is stored in this proto. -type EmbedsPackagingServiceClient struct { - // AndroidPackageName: Android app's package name to generate the deep-link - // URI. - AndroidPackageName string `json:"androidPackageName,omitempty"` - // IosAppStoreId: iOS app's App Store ID to generate the App Store URL when app - // is not installed on device. - IosAppStoreId string `json:"iosAppStoreId,omitempty"` - // IosBundleId: iOS app's bundle ID to generate the deep-link URI. - IosBundleId string `json:"iosBundleId,omitempty"` - // Type: Type of Google API Console client. - // - // Possible values: - // "ANDROID" - Client for Android app. - // "IOS" - Client for iOS app. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "AndroidPackageName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AndroidPackageName") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *EmbedsPackagingServiceClient) MarshalJSON() ([]byte, error) { - type NoMethod EmbedsPackagingServiceClient - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// EmbedsProvenance: This field records where the ItemScope was retrieved, if -// it was created via a web fetch. -type EmbedsProvenance struct { - // AnnotationBlob: Annotation blob from Annotation Service. - AnnotationBlob string `json:"annotationBlob,omitempty"` - // CanonicalUrl: Canonical url of the retrieved_url, if one was resolved during - // retrieval, for example, if a rel="canonical" link tag was provided in the - // retrieved web page. - CanonicalUrl string `json:"canonicalUrl,omitempty"` - // InputUrl: The url originally passed in the PRS request, which should be used - // to re-discover the content. Note that this URL may be a forwarding service - // or link shortener (bit.ly), so it should not be assumed to be canonical, but - // should be used for navigation back to the original source of the itemscope. - InputUrl string `json:"inputUrl,omitempty"` - // Itemtype: Contains exact types as parsed, whether or not we recognized that - // type at parse time. If an itemscope is created by merging SchemaOrg markup - // and open graph markup then the first itemtype would be schemaorg type, the - // second would be open graph and so on. example: - // http://schema.org/VideoObject, og:video.movie Plain text; usually a URL - Itemtype []string `json:"itemtype,omitempty"` - // RetrievedTimestampMsec: The server retrieved timestamp (in msec). - RetrievedTimestampMsec uint64 `json:"retrievedTimestampMsec,omitempty,string"` - // RetrievedUrl: The final URL that was the actual source of the itemscope, - // after any redirects. - RetrievedUrl string `json:"retrievedUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "AnnotationBlob") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AnnotationBlob") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *EmbedsProvenance) MarshalJSON() ([]byte, error) { - type NoMethod EmbedsProvenance - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// EmbedsTransientData: Transient generic data that will not be saved on the -// server. -type EmbedsTransientData struct { -} - -// EventIdMessage: An EventId is a 128 bit identifier that uniquely identifies -// an event, such as a query. The event time recorded to the nearest -// microsecond, along with information about the process generating the event, -// ensures that all EventIds are unique. Details of this EventId are described -// in a design document: http://www/eng/designdocs/sawmill/adlogs.html -type EventIdMessage struct { - // ProcessId: process_id is an integer that identifies the process on this - // machine that generated this event. This id is calculated once when the - // server generates its first event, and may change if the process is migrated - // to a different host. This field has a very specific format mandated by the - // logs collection infrastructure, which is subject to change WITHOUT NOTICE. - // As of 2013-01-09, this format is: uint32 process_id = (time(NULL) << 24) + - // (getpid() & 0xFFFFFF); If you are generating an extended_pid directly, you - // MUST use one of the maintained library implementations in order to generate - // it properly: C++ //borg/borgletlib:extended_pid; call borg::ExtendedPid() - // Python //borg/borgletlib/python:pyextendedpid; call ExtendedPid() Go - // //borg/borgletlib/go:extendedpid; call Get() Java - // //java/com/google/common/logging; call EventId.getPid() If you think that - // you need to parse the values of this field, please contact - // logs-collection-dev@ to discuss your requirement. - ProcessId int64 `json:"processId,omitempty"` - // ServerIp: server_ip is the IPv4 address or http://go/ghostid of the machine - // running the server that created this event message. This allows us to - // distinguish between events that occur at the same time on different servers. - // Format: 10.1.2.3 is stored as 0x0a010203, and GHostId 1 as 0x00000001. - ServerIp int64 `json:"serverIp,omitempty"` - // TimeUsec: time_usec is the number of microseconds since the epoch (i.e., - // since 1970-01-01 00:00:00 UTC) as an int64: 1e6 * (unix time) + - // microseconds. Applications must ensure that EventIdMessages have increasing - // times, artificially increasing time_usec to one greater than the previous - // value if necessary. Alternate implementations were considered: 1. storing - // unix time and microseconds separately would require a bit more storage, and - // the convenience of having a single value representing the time seemed more - // useful than having trivial access to a unix time. 2. storing unix time in - // the upper 32 bits would allow for more precision - up to 4G events/second, - // but it wouldn't print nicely as a decimal value and it seems unlikely that - // any single server would ever sustain more than 1M events/second. 3. - // Java-compatible time uses millis - this would limit servers to 1000 events - // per second - too small. Other names for this field were considered, - // including time, time_stamp, and utime. We felt that including the units in - // the name would tend to produce more readable code. utime might be - // interpreted as user time. unix timestamp * 1e6 + microseconds - TimeUsec int64 `json:"timeUsec,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "ProcessId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ProcessId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *EventIdMessage) MarshalJSON() ([]byte, error) { - type NoMethod EventIdMessage - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// ExtraSnippetInfoResponse: the extra info response from ascorer used to build -// snippets in GWS experiments -type ExtraSnippetInfoResponse struct { - Matchinfo *ExtraSnippetInfoResponseMatchInfo `json:"matchinfo,omitempty"` - Querysubitem []*ExtraSnippetInfoResponseQuerySubitem `json:"querysubitem,omitempty"` - Tidbit []*ExtraSnippetInfoResponseTidbit `json:"tidbit,omitempty"` - // ForceSendFields is a list of field names (e.g. "Matchinfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Matchinfo") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ExtraSnippetInfoResponse) MarshalJSON() ([]byte, error) { - type NoMethod ExtraSnippetInfoResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type ExtraSnippetInfoResponseMatchInfo struct { - // TitleMatches: bitvector of query items matching the title - TitleMatches uint64 `json:"titleMatches,omitempty,string"` - // UrlMatches: bitvector of query items matching the url - UrlMatches uint64 `json:"urlMatches,omitempty,string"` - // WeightedItems: bitvector of query items considered by chooser - WeightedItems uint64 `json:"weightedItems,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "TitleMatches") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "TitleMatches") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ExtraSnippetInfoResponseMatchInfo) MarshalJSON() ([]byte, error) { - type NoMethod ExtraSnippetInfoResponseMatchInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// ExtraSnippetInfoResponseQuerySubitem: A query term, phrase, or synonym. An -// original query term or phrase is called an "item". Each item may have more -// than one "subitem" if there are synonyms. In rare cases a subitem may -// correspond to multiple items, such as the subitem "cia" in the query -// [central intelligence agency]. -type ExtraSnippetInfoResponseQuerySubitem struct { - // IsHighlighted: Additional information from the SnippetQuery. - IsHighlighted bool `json:"isHighlighted,omitempty"` - IsOptional bool `json:"isOptional,omitempty"` - // IsOriginal: true iff this subitem was an original query term or phrase. Can - // only be false if want_all_query_subitems == true in the request. - IsOriginal bool `json:"isOriginal,omitempty"` - // Items: a bitvector of the query items corresponding to this subitem. - // Typically only one bit is set, but see comment above. - Items int64 `json:"items,omitempty"` - // Text: text associated with this query item - Text string `json:"text,omitempty"` - // Weight: the weight of this query item, as calculated by SubitemWeight(): - // https://qwiki.corp.google.com/display/Q/SnippetWeights - Weight int64 `json:"weight,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsHighlighted") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsHighlighted") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ExtraSnippetInfoResponseQuerySubitem) MarshalJSON() ([]byte, error) { - type NoMethod ExtraSnippetInfoResponseQuerySubitem - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type ExtraSnippetInfoResponseTidbit struct { - Anchorinfo *ExtraSnippetInfoResponseTidbitAnchorInfo `json:"anchorinfo,omitempty"` - // Begin: For tidbits only: position of tidbit in the document. More - // specifically, tidbit is found at [begin, end) in the document's tokens. - Begin int64 `json:"begin,omitempty"` - End int64 `json:"end,omitempty"` - // Items: a bitvector of each query term within this tidbit - Items uint64 `json:"items,omitempty,string"` - // Score: the score for this tidbit if there was one this is returned for - // Snippets and Tidbits and is only meaningful for comparing between objects of - // the same type (snippet to snippet, tidbit to tidbit) - Score float64 `json:"score,omitempty"` - // Text: the tidbit text, with search terms already highlighted - Text string `json:"text,omitempty"` - // Possible values: - // "TIDBIT" - it is a tidbit returned by want_all_tidbits - // "BODY" - these are the best candidate snippets from each section, returned - // by want_all_snippets - // "META" - // "GWD" - NOTE(kinoue): ODP/GWD snippet is unlaunched as of June 2017. This - // is no longer used. - // "FULL" - // "ANCHOR" - NOTE(kinoue): Deprecated and unsupported. anchor text, returned - // if max_anchors_wanted > 0 - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Anchorinfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Anchorinfo") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ExtraSnippetInfoResponseTidbit) MarshalJSON() ([]byte, error) { - type NoMethod ExtraSnippetInfoResponseTidbit - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *ExtraSnippetInfoResponseTidbit) UnmarshalJSON(data []byte) error { - type NoMethod ExtraSnippetInfoResponseTidbit - var s1 struct { - Score gensupport.JSONFloat64 `json:"score"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Score = float64(s1.Score) - return nil -} - -// ExtraSnippetInfoResponseTidbitAnchorInfo: this information is specific to -// anchors and is only returned if type == ANCHOR -type ExtraSnippetInfoResponseTidbitAnchorInfo struct { - OffdomainCount int64 `json:"offdomainCount,omitempty"` - OndomainCount int64 `json:"ondomainCount,omitempty"` - // ForceSendFields is a list of field names (e.g. "OffdomainCount") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OffdomainCount") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *ExtraSnippetInfoResponseTidbitAnchorInfo) MarshalJSON() ([]byte, error) { - type NoMethod ExtraSnippetInfoResponseTidbitAnchorInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type FaceIndexing struct { - // MustangBytes: Always use image/search/utils/face_proto_util.h for packing - // and unpacking these values. - MustangBytes string `json:"mustangBytes,omitempty"` - MustangBytesVersion int64 `json:"mustangBytesVersion,omitempty"` - // ForceSendFields is a list of field names (e.g. "MustangBytes") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MustangBytes") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FaceIndexing) MarshalJSON() ([]byte, error) { - type NoMethod FaceIndexing - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type FatcatCompactBinaryClassification struct { - // BinaryClassifier: Either binary_classifier will be set, using the enum - // above, or binary_classifier_name will be set, if it is not one of the - // classifiers in the enum - never both. - // - // Possible values: - // "BLOG" - Pagetypes - // "FORUM" - // "LOGIN" - // "B2B_OK" - // "IMAGES" - // "SOCIAL" - // "PURCHASING_INTENT" - // "PORN" - Sensitive content - // "ADULTISH" - // "VIOLENCE_GORE" - // "GOSSIP" - BinaryClassifier string `json:"binaryClassifier,omitempty"` - BinaryClassifierName string `json:"binaryClassifierName,omitempty"` - // DiscreteFraction: A CompactDocClassification will not usually have a weight. - // For a CompactSiteClassification, this value will be 0...127 corresponding to - // 0.0...1.0, indicating fraction of the site that this label applies to - DiscreteFraction int64 `json:"discreteFraction,omitempty"` - // ForceSendFields is a list of field names (e.g. "BinaryClassifier") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BinaryClassifier") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FatcatCompactBinaryClassification) MarshalJSON() ([]byte, error) { - type NoMethod FatcatCompactBinaryClassification - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FatcatCompactDocClassification: The result of PetacatAnnotator. Each result -// contains: 1. RephilClusters; 2. At most 5 verticals from each taxonomy, -// sorted by the probabilities in descending order. 3. Binary classification -// results about page types and sensitive content. The types of taxonomies -// include: verticals4, geo, verticals4_geo, products_services, -// icm_im_audiences and icm_im_audiences_dev. -type FatcatCompactDocClassification struct { - Binary []*FatcatCompactBinaryClassification `json:"binary,omitempty"` - Clusters *FatcatCompactRephilClusters `json:"clusters,omitempty"` - Epoch string `json:"epoch,omitempty"` - LangCode string `json:"langCode,omitempty"` - // RephilModelId: The id of the Rephil model used to generate the Rephil - // clusters. If it is absent, Rephil 4 is assumed. - RephilModelId int64 `json:"rephilModelId,omitempty"` - Taxonomic []*FatcatCompactTaxonomicClassification `json:"taxonomic,omitempty"` - // Url: not needed if the url is the sstable / bigtable key used during - // intermediate processing only - Url string `json:"url,omitempty"` - // Weight: The relative weight of this doc within a site, typically something - // like pagerank or navboost impressions. May be a large number (like an actual - // pageviews estimate), not limited to a small range. - Weight int64 `json:"weight,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Binary") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Binary") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FatcatCompactDocClassification) MarshalJSON() ([]byte, error) { - type NoMethod FatcatCompactDocClassification - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type FatcatCompactRephilClusters struct { - Cluster []*FatcatCompactRephilClustersCluster `json:"cluster,omitempty"` - // ForceSendFields is a list of field names (e.g. "Cluster") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Cluster") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FatcatCompactRephilClusters) MarshalJSON() ([]byte, error) { - type NoMethod FatcatCompactRephilClusters - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type FatcatCompactRephilClustersCluster struct { - // DiscreteWeight: 0...127 corresponds to 0.0 - 1.0 - DiscreteWeight int64 `json:"discreteWeight,omitempty"` - Id int64 `json:"id,omitempty"` - // ForceSendFields is a list of field names (e.g. "DiscreteWeight") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DiscreteWeight") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FatcatCompactRephilClustersCluster) MarshalJSON() ([]byte, error) { - type NoMethod FatcatCompactRephilClustersCluster - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FatcatCompactTaxonomicClassification: A version of this proto for logging is -// available at cs/symbol:logged_fatcat.LoggedCompactTaxonomicClassification -type FatcatCompactTaxonomicClassification struct { - Category []*FatcatCompactTaxonomicClassificationCategory `json:"category,omitempty"` - ClassifierVersion string `json:"classifierVersion,omitempty"` - // Taxonomy: Either taxonomy will be set, using the enum above, or - // taxonomy_name will be set (if the taxonomy is not one of the ones in the - // enum) - never both - // - // Possible values: - // "VERTICALS" - DEPRECATED Verticals, v3 - // "VERTICALS4" - Publisher Verticals, v4. go/verticals4 - // "VERTICALS4_GEO" - Publisher Verticals, v4 + World Localities - // "GEO" - World Localities - // "PRODUCTS_SERVICES" - Products & Services - // "ICM_IM_AUDIENCES" - ICM In Market Audiences - // "ICM_IM_AUDIENCES_DEV" - Experimental ICM In Market Audiences - Taxonomy string `json:"taxonomy,omitempty"` - TaxonomyName string `json:"taxonomyName,omitempty"` - // ForceSendFields is a list of field names (e.g. "Category") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Category") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FatcatCompactTaxonomicClassification) MarshalJSON() ([]byte, error) { - type NoMethod FatcatCompactTaxonomicClassification - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FatcatCompactTaxonomicClassificationCategory: A taxonomic category. A -// classification consists of weight (totalling 1.0) distributed among one or -// more categories. -type FatcatCompactTaxonomicClassificationCategory struct { - // DiscreteWeight: go/petacat-faq#how-should-i-interpret-classification-weights - // Discrete to reduce size. Range is [0,127], corresponding to [0.0,1.0]. - DiscreteWeight int64 `json:"discreteWeight,omitempty"` - // Id: The category's ID, e.g. 20 for /Sports in the go/verticals4 taxonomy. - Id int64 `json:"id,omitempty"` - // ForceSendFields is a list of field names (e.g. "DiscreteWeight") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DiscreteWeight") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FatcatCompactTaxonomicClassificationCategory) MarshalJSON() ([]byte, error) { - type NoMethod FatcatCompactTaxonomicClassificationCategory - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FocusBackendContactDetailHash: http://go/contact-detail-hash. -type FocusBackendContactDetailHash struct { - // Possible values: - // "UNSPECIFIED" - // "PHONE" - // "EMAIL" - Type string `json:"type,omitempty"` - // Value: The hash here will be a 16-bit weak hash to avoid reverse engineering - // for decoding the actual contact detail. The hash value is computed by the - // fingerprint of the raw contact detail mod 2^16. - Value int64 `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FocusBackendContactDetailHash) MarshalJSON() ([]byte, error) { - type NoMethod FocusBackendContactDetailHash - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FocusBackendContactPointer: A contact pointer that represents a contact -// (http://go/assistant-contact-id). -type FocusBackendContactPointer struct { - // AnnotationId: The annotation ID. Annotations are only allowed to point to - // annotations that do not themselves have a pointer (avoids any possibilty of - // loops). Cast this field to string in javascript to make it compile in js. - AnnotationId int64 `json:"annotationId,omitempty,string"` - // DeviceRawContactId: The raw contact ID from an active mobile device of the - // user. - DeviceRawContactId *FocusBackendDeviceRawContactId `json:"deviceRawContactId,omitempty"` - // FocusContactId: The contact ID from the Focus backend. Cast this field to - // string in javascript to make it compile in js. - FocusContactId int64 `json:"focusContactId,omitempty,string"` - // OtherContactId: Additional contact ids that are not actively used to match - // contact pointers to contacts. - OtherContactId *FocusBackendOtherContactId `json:"otherContactId,omitempty"` - // SecondaryId: The secondary identifier of contact. It will be used when the - // primary ID doesn't match any contact. - SecondaryId *FocusBackendSecondaryContactId `json:"secondaryId,omitempty"` - // ForceSendFields is a list of field names (e.g. "AnnotationId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AnnotationId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FocusBackendContactPointer) MarshalJSON() ([]byte, error) { - type NoMethod FocusBackendContactPointer - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FocusBackendDeviceContactId: //////////////////// DeviceContactId -// ////////////////////// Used by Device Contacts only. For more details see -// go/fbs-support-for-device-contacts. -type FocusBackendDeviceContactId struct { - // ContactId: DeviceContact Id. - ContactId int64 `json:"ContactId,omitempty,string"` - // DeviceId: Device Id. - DeviceId *FocusBackendDeviceId `json:"DeviceId,omitempty"` - // ForceSendFields is a list of field names (e.g. "ContactId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ContactId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FocusBackendDeviceContactId) MarshalJSON() ([]byte, error) { - type NoMethod FocusBackendDeviceContactId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FocusBackendDeviceId: //////////////////// DeviceId ////////////////////// -// Used by Device Contacts only. For more details see -// go/fbs-support-for-device-contacts. -type FocusBackendDeviceId struct { - // AndroidDeviceId: The GServices id on Android. See go/android-id. - AndroidDeviceId int64 `json:"AndroidDeviceId,omitempty,string"` - // Hash: DeviceId.Hash is a SHA256 of some attribute of the user and device. - // For Android devices: Hash = SHA256(gaia_account_name + “:” + “1” + - // “:” + (android id - LSB)); For iOS devices: Hash = - // TOLOWER(HEX(GMCSComputeUserDeviceToken(userId, iOsDeviceId)) For more - // details see go/client-instance-id. - Hash string `json:"Hash,omitempty"` - // ForceSendFields is a list of field names (e.g. "AndroidDeviceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AndroidDeviceId") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FocusBackendDeviceId) MarshalJSON() ([]byte, error) { - type NoMethod FocusBackendDeviceId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FocusBackendDeviceRawContactId: //////////////////// DeviceRawContactId -// ////////////////////// Used by Device Contacts Only. The Raw ID as assigned -// to the original contact on the device. For more details see -// go/fbs-support-for-device-contacts. -type FocusBackendDeviceRawContactId struct { - DeviceId *FocusBackendDeviceId `json:"DeviceId,omitempty"` - // RawContactId: Raw ID assigned by the device. Cast this field to string in - // javascript to make it compile in js. - RawContactId int64 `json:"RawContactId,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "DeviceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FocusBackendDeviceRawContactId) MarshalJSON() ([]byte, error) { - type NoMethod FocusBackendDeviceRawContactId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FocusBackendOtherContactId: Additional contact ids that are not actively -// used to match contact pointers to contacts. There may be overlap with -// primary or secondary contact ids. -type FocusBackendOtherContactId struct { - // DeviceContactId: Device contact ID, when available: - The annotation points - // to a device contact, and the device contact id was correctly populated when - // the annotation was created. Note that the device contact id is populated - // once per device contact on a device. It is distinct from RawContactId - a - // single device contact may have multiple raw contact ids. - The annotation - // points to a Focus contact that was merged with device contact information in - // Starlight. When the annotation was created, a device contact id was - // available on the merged person object. - The contact annotation was created - // from April 2021 onwards. All prior annotations do not populate this field. - // ContactPointer creation relies on the client caller to correctly populate - // the device contact id, and does not enforce any assumptions on availability - // of this field. This field is repeated because in rare cases Starlight may - // merge device contact information across different devices into a single - // merged person object. WARNING: Use with extreme caution! This ID is not - // stable. For more details see go/fbs-support-for-device-contacts. - DeviceContactId []*FocusBackendDeviceContactId `json:"deviceContactId,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceContactId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceContactId") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FocusBackendOtherContactId) MarshalJSON() ([]byte, error) { - type NoMethod FocusBackendOtherContactId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FocusBackendSecondaryContactId: The secondary ID of a contact. -type FocusBackendSecondaryContactId struct { - // ContactDetailHash: The hashes of the contact details (e.g. phone number and - // email address). - ContactDetailHash []*FocusBackendContactDetailHash `json:"contactDetailHash,omitempty"` - // ContactName: The contact's full name, not hashed. - ContactName string `json:"contactName,omitempty"` - // ContactNameHash: The hash of contact's full name, generated using - // Fingerprint2011(). Cast this field to string in javascript to make it - // compile in js. - ContactNameHash uint64 `json:"contactNameHash,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "ContactDetailHash") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ContactDetailHash") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FocusBackendSecondaryContactId) MarshalJSON() ([]byte, error) { - type NoMethod FocusBackendSecondaryContactId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FreebaseCitation: Citation contains the information needed to correctly -// attribute the source of data. -type FreebaseCitation struct { - // Dataset: Mid of the dataset. - Dataset string `json:"dataset,omitempty"` - // IsAttributionRequired: If set to true, the citation is required to be - // displayed when the data is used. - IsAttributionRequired bool `json:"isAttributionRequired,omitempty"` - // Project: Name of the project of the data's origin. - Project string `json:"project,omitempty"` - // Provider: The name of the provider of this information. - Provider string `json:"provider,omitempty"` - // Statement: A human readable statement of attribution. - Statement string `json:"statement,omitempty"` - // Uri: Uri link associated with this data. - Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Dataset") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Dataset") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FreebaseCitation) MarshalJSON() ([]byte, error) { - type NoMethod FreebaseCitation - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FreebaseId: An Id contains the identifiers used to reference this topic -// (entity) in the Knowledge Graph. The Knowledge Graph supports several forms -// of identifiers: - "mids" (machine ids) that are assigned at creation time, -// and support a resolution mechanism that tracks topics after they are merged -// (for more about mids, see go/kg-mid), - "ids" are human-readable ids (HRIDs) -// that are derived from a namespace hierarchy stored in Knowledge Graph, and a -// set of rules, - "guids" are low-level ids historically used in Freebase -// (pre-Knowledge Graph, deprecated). Only the mid and id are supplied here. -// Note that mids can be converted to guids or uint64s (see -// //metaweb/util/mid/mid.h). -type FreebaseId struct { - // Id: "id" may be a human readable ID (HRID) or a MID. Originally it was - // intended to always be a human readable ID, but that convention was not - // always followed so clients should be wary. Not every topic has an id. - Id string `json:"id,omitempty"` - // Mid: The "mid" should be used whenever a globally unique, primary key into - // the Knowledge Graph is needed. These keys are always prefixed with the "/m" - // and "/g", (and more rarely the "/x" and "/t") namespaces, and are - // alphanumeric strings consisting of lowercase letters excluding vowels, - // numbers and the underscore character. (Applications should not assume a - // constant length for these strings as Livegraph reserves the right to extend - // the number of characters to accommodate more topics.) - Mid string `json:"mid,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FreebaseId) MarshalJSON() ([]byte, error) { - type NoMethod FreebaseId - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FreebaseLatLong: Represents a geopoint, which is one of the possible Value -// types. -type FreebaseLatLong struct { - LatDeg float64 `json:"latDeg,omitempty"` - LongDeg float64 `json:"longDeg,omitempty"` - // ForceSendFields is a list of field names (e.g. "LatDeg") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LatDeg") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FreebaseLatLong) MarshalJSON() ([]byte, error) { - type NoMethod FreebaseLatLong - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *FreebaseLatLong) UnmarshalJSON(data []byte) error { - type NoMethod FreebaseLatLong - var s1 struct { - LatDeg gensupport.JSONFloat64 `json:"latDeg"` - LongDeg gensupport.JSONFloat64 `json:"longDeg"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.LatDeg = float64(s1.LatDeg) - s.LongDeg = float64(s1.LongDeg) - return nil -} - -// FreebaseMeasurement: Represents a measurements, which is one of the possible -// Value types. A measurement value like "5.2 meter^2 / second" would be -// represented as: magnitude: 5.2 unit { unit_mid: "/m/mid_for_meter" power: 2 -// } unit { unit_mid: "/m/mid_for_second" power: -1 } -type FreebaseMeasurement struct { - Magnitude float64 `json:"magnitude,omitempty"` - // Unit: Repeated units are interpreted as a product. i.e. (meter ^ 1) * - // (second ^ -2) - Unit []*FreebaseMeasurementUnit `json:"unit,omitempty"` - // ForceSendFields is a list of field names (e.g. "Magnitude") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Magnitude") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FreebaseMeasurement) MarshalJSON() ([]byte, error) { - type NoMethod FreebaseMeasurement - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *FreebaseMeasurement) UnmarshalJSON(data []byte) error { - type NoMethod FreebaseMeasurement - var s1 struct { - Magnitude gensupport.JSONFloat64 `json:"magnitude"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Magnitude = float64(s1.Magnitude) - return nil -} - -type FreebaseMeasurementUnit struct { - Power int64 `json:"power,omitempty"` - Unit *FreebaseId `json:"unit,omitempty"` - // UnitMid: Deprecated fields. - UnitMid string `json:"unitMid,omitempty"` - // ForceSendFields is a list of field names (e.g. "Power") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Power") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FreebaseMeasurementUnit) MarshalJSON() ([]byte, error) { - type NoMethod FreebaseMeasurementUnit - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FreebaseNestedStruct: List of { predicate, { object } } to be processed as a -// Nested Struct. Nested Struct can be recursive. -// NestedStruct.property_value(i).value(j) may have nested_struct field. -type FreebaseNestedStruct struct { - PropertyValue []*FreebasePropertyValue `json:"propertyValue,omitempty"` - // ForceSendFields is a list of field names (e.g. "PropertyValue") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PropertyValue") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FreebaseNestedStruct) MarshalJSON() ([]byte, error) { - type NoMethod FreebaseNestedStruct - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FreebasePropertyValue: A PropertyValue associates properties with values in -// the context of a topic. -type FreebasePropertyValue struct { - // Property: The id of the property. - Property *FreebaseId `json:"property,omitempty"` - // TotalValueCount: Indicates the total values that exist for this property, - // even if they aren't all present in the value field, due to truncation. - TotalValueCount int64 `json:"totalValueCount,omitempty,string"` - // Value: The value associated with the property for the containing topic. - Value []*FreebaseValue `json:"value,omitempty"` - // ValueStatus: If ValueStatus is not set at all, the implication is that there - // are well-known value(s), specified in the "value" field. (It should be - // considered malformed data to have value_status set when len(values) > 0.) - // - // Possible values: - // "HAS_UNKNOWN_VALUE" - There are values, but we don't know what they are. - // (e.g. person is known to have children, but we don't know who they are) - // (This is only sensible if len(values) == 0; it is an error to see this value - // if len(values) > 0) - // "HAS_NO_VALUE" - We know that there are no values for this predicate. - // (e.g. person is known to have zero children) (This is only sensible if - // len(values) == 0; it is an error to see this value if len(values) > 0) - ValueStatus string `json:"valueStatus,omitempty"` - // ForceSendFields is a list of field names (e.g. "Property") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Property") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FreebasePropertyValue) MarshalJSON() ([]byte, error) { - type NoMethod FreebasePropertyValue - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FreebaseTopic: A Topic represents a Knowledge Graph entity with its -// associated properties and their values. -type FreebaseTopic struct { - // Id: The id (mid and human-readable id) of the topic. The id will always be - // present and will contain a mid value for topics in the topic sstable. - Id *FreebaseId `json:"id,omitempty"` - // PropertyValue: The property-value bindings associated with the topic. Note - // that in the case where a property is relevant to a topic based on its type, - // but no values of that property are present for the topic, the PropertyValue - // will simply not appear, rather than being present with a null value, or - // empty repeated value list. - PropertyValue []*FreebasePropertyValue `json:"propertyValue,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FreebaseTopic) MarshalJSON() ([]byte, error) { - type NoMethod FreebaseTopic - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// FreebaseValue: Values are effectively a union of several possible Knowledge -// Graph types: simple primitive datatypes such as booleans, integers and -// floats, references to other Knowledge Graph topics (by id), or "compound -// values" which are expressed as embedded topics with associated properties -// and values. Values occur in indexed order (if any). -type FreebaseValue struct { - // BoolValue: Present when value is bool. - BoolValue bool `json:"boolValue,omitempty"` - // Citation: Citation data for this value. See: http://go/kg-clap - Citation *FreebaseCitation `json:"citation,omitempty"` - // CompoundValue: Compound values are those that contain either a number of - // simple valued facets (such as a latitude/longitude pair), or "mediator" - // topics representing multi-dimensional relationships between topics. In both - // cases we represent them here with an embedded topic, although the topic's - // identity is somewhat secondary to the property/value pairs it contains. (The - // identity is still made available so that it can be used to perform updates - // to that mediator on the Knowledge Graph.) - CompoundValue *FreebaseTopic `json:"compoundValue,omitempty"` - // DeletionProvenance: Deletion provenance for this value. - DeletionProvenance []*StorageGraphBfgTripleProvenance `json:"deletionProvenance,omitempty"` - // DisplayLang: The lang of the display_value field. - DisplayLang string `json:"displayLang,omitempty"` - // DisplayValue: The display value of this value. This is a i18n-aware - // formatted value if present. - DisplayValue string `json:"displayValue,omitempty"` - // ExpectedProto: An optional name for a proto field. - ExpectedProto string `json:"expectedProto,omitempty"` - // FloatValue: Present when value is float. - FloatValue float64 `json:"floatValue,omitempty"` - // IdValue: Present when value is an id. - IdValue *FreebaseId `json:"idValue,omitempty"` - // Index: Index of the value relative to the containing property (if any). - // Knowledge Graph supports a loose notion of indexing: some non-unique - // properties may have indices, while others may not. Furthermore, for a single - // property, some values may have indices (such as the top 5 actors in a film), - // while others may not (the film's supporting cast). Un-indexed values will - // appear at the end of the repeated value list. This field contains the index - // value only when is present in the Knowledge Graph. - Index uint64 `json:"index,omitempty,string"` - // IntValue: Present when value is int. - IntValue int64 `json:"intValue,omitempty,string"` - // Lang: Whenever the value is text with TYPE_TEXT, the lang field is populated - // with the III LanguageCode associated with the string_value field. - Lang string `json:"lang,omitempty"` - LatLongValue *FreebaseLatLong `json:"latLongValue,omitempty"` - MeasurementValue *FreebaseMeasurement `json:"measurementValue,omitempty"` - // NestedStruct: Populated if this value holds NestedStruct. 'type' field needs - // to be set to TYPE_NESTED_STRUCT. - NestedStruct *FreebaseNestedStruct `json:"nestedStruct,omitempty"` - // Provenance: Provenance for this value. - Provenance []*StorageGraphBfgTripleProvenance `json:"provenance,omitempty"` - // RawValue: Similar to string_value/etc but contains raw bytes. - RawValue string `json:"rawValue,omitempty"` - // StringValue: Present when value is text, enum, - StringValue string `json:"stringValue,omitempty"` - SubgraphId googleapi.Uint64s `json:"subgraphId,omitempty"` - // Timestamp: The ISO-8601 timestamp corresponding to when this value was - // created (when it was written to the Knowledge Graph). Deprecated in favor of - // timestamp_usec. - Timestamp string `json:"timestamp,omitempty"` - // TimestampUsec: The microsecond timestamp corresponding to when this value - // was created. - TimestampUsec int64 `json:"timestampUsec,omitempty,string"` - // Possible values: - // "TYPE_NULL" - No fields are supplied. - // "TYPE_ID" - id_value contains an Id of a referenced topic. - // "TYPE_TEXT" - For text, string_value contains an UTF-8 string, - // "TYPE_ENUM" - string_value contains an enum key string. - // "TYPE_KEY" - string_value contains a namespace key string. - // "TYPE_URI" - string_value contains a URI string. - // "TYPE_DATETIME" - string_value contains a (possibly truncated) - // "TYPE_BOOL" - bool_value contains a bool. - // "TYPE_INT" - int_value contains an int. Uint64 are supported - // "TYPE_FLOAT" - float_value contains a float. - // "TYPE_COMPOUND" - compound_value contains property/value pairs. - // "TYPE_PROTO" - raw_value contains a raw proto. - // "TYPE_EXTENSION" - This proto has extensions set. - // "TYPE_NESTED_STRUCT" - nested_struct field is populated. - // "TYPE_SEMANTIC_REFERENCE" - string_value contains a Meaning - // Schema(go/life-of-a-meaning-schema) type name which needs to be a valid - // ValueType or SemanticType. This is currently used by semantic type based - // answer value formatting(go/semantic-type-format) before Search Response - // Meaning(go/srm-design) is ready for use - // "TYPE_LAT_LONG" - lat_long_value contains a geopoint. - // "TYPE_MEASUREMENT" - measurement_value contains a measurement. - // "TYPE_HAS_VALUE" - No longer used; pending downstream code cleanup. - // "TYPE_HAS_NO_VALUE" - No longer used; pending downstream code cleanup. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "BoolValue") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BoolValue") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *FreebaseValue) MarshalJSON() ([]byte, error) { - type NoMethod FreebaseValue - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *FreebaseValue) UnmarshalJSON(data []byte) error { - type NoMethod FreebaseValue - var s1 struct { - FloatValue gensupport.JSONFloat64 `json:"floatValue"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.FloatValue = float64(s1.FloatValue) - return nil -} - -// GDocumentBase: Next id: 127 -type GDocumentBase struct { - // ContentExpiryTime: unix secs from epoch - ContentExpiryTime int64 `json:"ContentExpiryTime,omitempty"` - // DisplayUrl: Sometimes the URL displayed in search results should be - // different from what gets indexed (e.g. in enterprise, content management - // systems). If this value is not set, we default to the regular URL. - DisplayUrl string `json:"DisplayUrl,omitempty"` - // DocId: 64-bit docid of the document (usually fingerprint of URL, but not - // always). WARNING: This does NOT uniquely identify a document ANYMORE. For a - // unique identifier across all documents in production please refer to the - // field 'id().key()' listed above. - DocId uint64 `json:"DocId,omitempty,string"` - ExternalFeedMetadata string `json:"ExternalFeedMetadata,omitempty"` - // ExternalHttpMetadata: Enterprise-specific external metadata. See - // http://engdoc/eng/designdocs/enterprise/enterprise_indexing_metadata.html - ExternalHttpMetadata string `json:"ExternalHttpMetadata,omitempty"` - // FilterForSafeSearch: Deprecated, do not use, this field is not populated - // since 2012. - FilterForSafeSearch int64 `json:"FilterForSafeSearch,omitempty"` - // IPAddr: IP addr in binary (allows for IPv6) - IPAddr string `json:"IPAddr,omitempty"` - NoArchiveReason int64 `json:"NoArchiveReason,omitempty"` - NoFollowReason int64 `json:"NoFollowReason,omitempty"` - NoImageIndexReason int64 `json:"NoImageIndexReason,omitempty"` - NoImageframeOverlayReason int64 `json:"NoImageframeOverlayReason,omitempty"` - // NoIndexReason: When these reasons are set to a non zero value, the document - // should not be indexed, or show a snippet, or show a cache, etc. These - // reasons are bit maps of indexing.converter.RobotsInfo.RobotedReasons enum - // values reflecting the places where the restriction was found: - // //depot/google3/indexing/converter/proto/converter.proto - NoIndexReason int64 `json:"NoIndexReason,omitempty"` - NoPreviewReason int64 `json:"NoPreviewReason,omitempty"` - NoSnippetReason int64 `json:"NoSnippetReason,omitempty"` - NoTranslateReason int64 `json:"NoTranslateReason,omitempty"` - // Pagerank: This field is long-deprecated in favour of Pagerank_NS, it is no - // longer maintained and can break at any moment. - Pagerank int64 `json:"Pagerank,omitempty"` - // PagerankNS: Pagerank-NearestSeeds is a pagerank score for the doc, - // calculated using NearestSeeds method. This is the production PageRank value - // teams should use. - PagerankNS int64 `json:"PagerankNS,omitempty"` - // Repid: is the webmirror representative id of the canonical url. Urls with - // the same repid are considered as dups in webmirror. WARNING: use this field - // with caution! The webmirror duprules change frequently, so this value only - // reflects the duprules at the time when the canonical's docjoin is built. - Repid string `json:"Repid,omitempty"` - // ScienceMetadata: Citation data for science articles. - ScienceMetadata *ScienceCitation `json:"ScienceMetadata,omitempty"` - // URL: WARNING: the URL does NOT uniquely identify a document ANYMORE. For a - // unique identifier across all documents in production please refer to the - // field 'id().key()' listed above. Reason: foo.bar:/http and - // foo.bar:/http:SMARTPHONE share the same URL, but the body of the two - // documents might differ because of different crawl-context (desktop vs. - // smartphone in this example). - URL string `json:"URL,omitempty"` - URLAfterRedirects string `json:"URLAfterRedirects,omitempty"` - // URLEncoding: See webutil/urlencoding - URLEncoding int64 `json:"URLEncoding,omitempty"` - Content *GDocumentBaseContent `json:"content,omitempty"` - Directory []*GDocumentBaseDirectory `json:"directory,omitempty"` - // EcnFp: 96-bit fingerprint of the canonical url's webmirror equivalence class - // name as of when this cdoc was exported. - EcnFp string `json:"ecnFp,omitempty"` - // Id: The primary identifier of a production document is the document key - // given in the ServingDocumentIdentifier, which is the same as the row-key in - // Alexandria, and represents a URL and its crawling context. In your - // production code, please always assume that the document key is the only way - // to uniquely identify a document. ## Recommended way of reading: const - // string& doc_key = cdoc.doc().id().key(); ## CHECK(!doc_key.empty()); More - // background information can be found in - // google3/indexing/crawler_id/servingdocumentidentifier.proto The - // ServingDocumentIdentifier uniquely identifies a document in serving and also - // distinguishes between experimental vs. production documents. The SDI is also - // used as an input for the union/muppet key generation in serving. - Id *IndexingCrawlerIdServingDocumentIdentifier `json:"id,omitempty"` - // LocalsearchDocInfo: Localsearch-specific data. - LocalsearchDocInfo *LocalsearchDocInfo `json:"localsearchDocInfo,omitempty"` - // OceanDocInfo: Ocean-specific data. - OceanDocInfo *OceanDocInfo `json:"oceanDocInfo,omitempty"` - Originalcontent *GDocumentBaseOriginalContent `json:"originalcontent,omitempty"` - // UserAgentName: The user agent name used to crawl the URL. See - // //crawler/engine/webmirror_user_agents.h for the list of user-agents (e.g. - // crawler::WebmirrorUserAgents::kGoogleBot). NOTE: This field is copied from - // the first WEBMIRROR FetchReplyClientInfo in trawler_fetch_info column. We - // leave this field unpopulated if no WEBMIRROR FecthReplyClientInfo is found. - // As the submission of cl/51488336, Alexandria starts to populate this field. - // However, docjoins from freshdocs (or any other source), won't have this - // field populated, because we believe no one needs to read this field from - // freshdocs docjoins. - UserAgentName string `json:"userAgentName,omitempty"` - // ForceSendFields is a list of field names (e.g. "ContentExpiryTime") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ContentExpiryTime") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GDocumentBase) MarshalJSON() ([]byte, error) { - type NoMethod GDocumentBase - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GDocumentBaseContent: Main content section -type GDocumentBaseContent struct { - AuthMethod int64 `json:"AuthMethod,omitempty"` - // ContentLength: The actual length of the content: If Representation is - // compressed, this equals to Content.UncompressedLength; otherwise it is the - // length of the representation string. - ContentLength int64 `json:"ContentLength,omitempty"` - // ContentType: See enum ContentType in - // //depot/google3/webutil/http/content-type.proto. - ContentType int64 `json:"ContentType,omitempty"` - // CrawlTime: Seconds since Unix epoch. - CrawlTime int64 `json:"CrawlTime,omitempty,string"` - // Encoding: See //depot/google3/i18n/encodings/public/encodings.h Encoding of - // representation - Encoding int64 `json:"Encoding,omitempty"` - // HasHttpHeader: Set to false if Representation does not contain HTTP headers. - HasHttpHeader bool `json:"HasHttpHeader,omitempty"` - // Language: A Language enum value. See: go/language-enum Default is english - Language int64 `json:"Language,omitempty"` - // OriginalEncoding: If OriginalEncoding is present, the body part of the - // Representation was converted to UTF-8, Encoding was set to UTF8, and - // OriginalEncoding was set to the original encoding before conversion. - // However, the HTTP headers part of the content might not be valid UTF-8. - // -1=an invalid value - OriginalEncoding int64 `json:"OriginalEncoding,omitempty"` - // Representation: Possibly compressed for old documents. It is not compressed - // for docjoins produced by Raffia after ~2012. - Representation string `json:"Representation,omitempty"` - // UncompressedLength: Historically present if Representation is compressed. - UncompressedLength int64 `json:"UncompressedLength,omitempty"` - // VisualType: Whether the content was visual right-to-left, and if so, what - // type of visual document it is. Must be one of the values in enum VisualType - // from google3/repository/rtl/visualtype.h Default is NOT_VISUAL_DOCUMENT. See - // http://wiki/Main/RtlLanguages for background. - VisualType int64 `json:"VisualType,omitempty"` - // CrawledFileSize: Crawled file size of the original document. - CrawledFileSize int64 `json:"crawledFileSize,omitempty"` - // EncodedGeometryAnnotations: GeometryAnnotations, encoded with - // GeometryUtil::DeltaEncode() to reduce disk space usage. Use - // GeometryUtil::DeltaDecode() to decode this field. - EncodedGeometryAnnotations string `json:"encodedGeometryAnnotations,omitempty"` - // ForceSendFields is a list of field names (e.g. "AuthMethod") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AuthMethod") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GDocumentBaseContent) MarshalJSON() ([]byte, error) { - type NoMethod GDocumentBaseContent - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GDocumentBaseDirectory: The Directory proto group holds snippet and title -// metadata which is made available to the snippet code. The proto group was -// originally created for metadata coming from the Google Web Directory (gwd) -// project. It has since come to be used to hold metadata from gwd and other -// sources. -type GDocumentBaseDirectory struct { - // Category: encoded in UTF8 - Category string `json:"Category,omitempty"` - // Description: encoded in UTF8 - Description string `json:"Description,omitempty"` - DescriptionScore float64 `json:"DescriptionScore,omitempty"` - // Identifier: "gwd", etc. - Identifier string `json:"Identifier,omitempty"` - // Language: go/language-enum - Language int64 `json:"Language,omitempty"` - // Title: encoded in UTF8 - Title string `json:"Title,omitempty"` - // TitleScore: Deprecated; do not use. There is no code populating these fields - // as of Oct 2017. - TitleScore float64 `json:"TitleScore,omitempty"` - URL string `json:"URL,omitempty"` - // ForceSendFields is a list of field names (e.g. "Category") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Category") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GDocumentBaseDirectory) MarshalJSON() ([]byte, error) { - type NoMethod GDocumentBaseDirectory - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GDocumentBaseDirectory) UnmarshalJSON(data []byte) error { - type NoMethod GDocumentBaseDirectory - var s1 struct { - DescriptionScore gensupport.JSONFloat64 `json:"DescriptionScore"` - TitleScore gensupport.JSONFloat64 `json:"TitleScore"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.DescriptionScore = float64(s1.DescriptionScore) - s.TitleScore = float64(s1.TitleScore) - return nil -} - -// GDocumentBaseOriginalContent: The original, unconverted document, typically -// PDF or Word. Copied from OriginalDoc field of doclogs. Unlike "Content", -// this does not contain any HTTP headers. The content may be compressed using -// the same method as "Content". In practice it is only compressed in the -// Teragoogle index. It is never compressed in docjoins because those are -// compressed at the sstable level. In doclogs content will only be compressed -// if the Trawler fetchreply is also compressed--which is currently never and -// unlikely to change for performance reasons. -type GDocumentBaseOriginalContent struct { - Representation string `json:"Representation,omitempty"` - // UncompressedLength: present iff rep is compressed - UncompressedLength int64 `json:"UncompressedLength,omitempty"` - // ForceSendFields is a list of field names (e.g. "Representation") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Representation") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GDocumentBaseOriginalContent) MarshalJSON() ([]byte, error) { - type NoMethod GDocumentBaseOriginalContent - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GenericSnippetResponse: The generic version of a snippet response -type GenericSnippetResponse struct { - // DebugInfo: Per-doc debug information. - DebugInfo []string `json:"debugInfo,omitempty"` - // Info: Servlet-specific response info. - Info *Proto2BridgeMessageSet `json:"info,omitempty"` - // RankingSnippet: The experimental ranking snippet field. This will be - // populated only when `fastwa_want_ranking_snippet` is set in the request. - RankingSnippet string `json:"rankingSnippet,omitempty"` - // Snippet: Lines of the snippet HTML. Typically gws concatenates these and - // lets the browser wrap. The values include trailing spaces, so inserting - // additional spaces is not necessary. However, for very old browsers, gws may - // insert break tags after each snippet line. This field is confusing and - // poorly named; "snippet_line" would be better. In particular, note that this - // does not return multiple snippets for a result. Nor are these fields the - // individual tidbits of the snippet. - Snippet []string `json:"snippet,omitempty"` - // Title: The title HTML. It may contain tags to denote query term matches. It - // may be already truncated and "..." is put instead (note that truncation does - // not always happen at the very end of the title text). However the existence - // of "..." does not guarantee that the snippet generation algorithm truncated - // it; e.g. webmasters themselves can write "...". - Title string `json:"title,omitempty"` - // WwwSnippetResponse: Snippet-specific members (tag ids 16+, must be - // optional!) Example: optional NewContentResponse new_response; - WwwSnippetResponse *WWWSnippetResponse `json:"wwwSnippetResponse,omitempty"` - // ForceSendFields is a list of field names (e.g. "DebugInfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DebugInfo") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GenericSnippetResponse) MarshalJSON() ([]byte, error) { - type NoMethod GenericSnippetResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeoOndemandAssistantSupportedActions: Actions supported by Madden for a -// local entity. -type GeoOndemandAssistantSupportedActions struct { - // AllowsGuestCheckout: Whether this local entity allows guest checkout for - // reservations. - AllowsGuestCheckout bool `json:"allowsGuestCheckout,omitempty"` - // IsAsynchronousRestaurantReservation: Whether or not this local entity - // supports asynchronous restaurant reservations, through the above - // restaurant_reservation_url. - IsAsynchronousRestaurantReservation bool `json:"isAsynchronousRestaurantReservation,omitempty"` - // RestaurantReservationUrl: URL for the Madden restaurant reservation flow, - // e.g. for display in a WebView. Not populated if restaurant reservations are - // not supported for the local entity. - RestaurantReservationUrl string `json:"restaurantReservationUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "AllowsGuestCheckout") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AllowsGuestCheckout") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeoOndemandAssistantSupportedActions) MarshalJSON() ([]byte, error) { - type NoMethod GeoOndemandAssistantSupportedActions - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreAccessPointProto: This class holds information about a single access -// point. An access point establishes a relationship between a feature (like a -// POI or building) and some other feature. For example, consider a -// TYPE_LOCALITY feature like Seattle. An access point might be the -// TYPE_AIRPORT feature for Seattle-Tacoma International Airport. The airport -// feature defines the access point to gain airplane-based access to Seattle. A -// feature like Seattle will typically have multiple access points. You can get -// to Seattle using airplanes, various forms of public transit, or by driving a -// car. Thus Seattle would have multiple access points. You may be able to get -// to Seattle by flying into SeaTac, or you might be able to fly into Boeing -// Field, or Paine Field in Everett. You could drive in from the North/South -// using I-5, or you could drive in from the East using I-90. Many access -// points are from the road network. Thus the access point for some building at -// 123 Main Street would likely be a segment that defines the 100-200 block of -// "Main Street". A feature at the corner of "Hollywood" and "Vine" streets -// might have access points from both named streets. Access points are an -// optional field. Data editors may ignore them when creating features or -// editing other fields. In these cases, other quality teams will synthesize -// and update them. Several fields are also optional, as they are derivable -// from other fields. Access points to non-TYPE_SEGMENT features should always -// have the following fields set: - feature_type - feature_id - point Location -// and reference fields: BASIC vs DERIVABLE Access points to TYPE_SEGMENT -// features must have all the following BASIC fields: - feature_type (of the -// segment, e.g. TYPE_ROAD or TYPE_VIRTUAL_SEGMENT) - point_off_segment (or -// point; see "fuzzy point" note below) - unsuitable_travel_mode (may be empty) -// - level (indoor access points only) The following are DERIVABLE fields, -// which should only be added if the supplier is confident about their -// accuracy: - feature_id - point_on_segment - segment_position Editing clients -// are encouraged to set all fields, but they may set only the BASIC fields, in -// which case quality teams may use the BASIC fields to snap to an appropriate -// segment and derive the remaining fields. Example: The segment is split, so -// that the portion that the access point is on has a new feature ID. Quality -// teams notice that the point_on_segment is no longer on the segment with -// feature_id, finds the new nearest segment based on feature_type and existing -// point_on_segment, and re-derives a new feature_id, point_on_segment, and -// segment_position, keeping other fields consistent. Fuzzy point special case -// If the editor does not have side-of-road information for access points or is -// otherwise unsure of the precise placement of the access point, it may supply -// the point field (and not point_off_segment) as basic data instead, in which -// case quality teams may generate the point_off_segment. Identity Access -// points are considered semantically equivalent if they have the same -// geometry, including derived fields, and the same references to other -// features (feature_id, level_feature_id). For the exact definition, see -// cs/symbol:geostore::AreAccessPointsEquivalent. Field definitions -type GeostoreAccessPointProto struct { - // CanEnter: RESERVED - CanEnter bool `json:"canEnter,omitempty"` - // CanExit: RESERVED - CanExit bool `json:"canExit,omitempty"` - // FeatureId: The ID of the feature that defines the access point. The bounding - // box of the feature is expanded to include the bounding box of the feature - // with the access point in accordance with the standard practice for bucketing - // map/reduce operations. See the wiki page at - // http://wiki/Main/OysterBucketingMapReduce for more information. For access - // points to TYPE_SEGMENT features, this may be re-derived if necessary by - // looking up the nearest segment to existing geometry. - FeatureId *GeostoreFeatureIdProto `json:"featureId,omitempty"` - // FeatureType: The type of the feature. Required, to allow handling the access - // point differently based on feature type. For access points to - // non-TYPE_SEGMENT features, this cached type also makes things easier for - // clients that aren't running a bucketing map-reduce. For access points to - // TYPE_SEGMENT features, this is used to find to find the nearest segment of - // the given type. - FeatureType int64 `json:"featureType,omitempty"` - // LevelFeatureId: For indoor access points, this should be set to the level - // that the access point is on. The feature_id should point to the indoor - // segment, but when it is missing or invalid, and we need to derive it from - // geometry, only segments on this level will be considered. For non-indoor - // access points, level should remain unset, and when we derive feature_id from - // geometry, only segments not on any level (non-indoor segments) will be - // considered. The bounding box of the level feature is expanded to include the - // bounding box of the feature with the access point in accordance with the - // standard practice for bucketing map/reduce operations. See the wiki page at - // http://wiki/Main/OysterBucketingMapReduce for more information. (Though in - // general the feature should reside on the level already anyway..) - LevelFeatureId *GeostoreFeatureIdProto `json:"levelFeatureId,omitempty"` - // Metadata: Field-level metadata for this access point. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // Point: For access points to non-TYPE_SEGMENT features, the location of the - // access point. For access points to TYPE_SEGMENT features, this can be - // supplied as a fuzzy access point that is not guaranteed to be on the correct - // side of road. It should not be used by end clients in case of TYPE_SEGMENT - // access points. - Point *GeostorePointProto `json:"point,omitempty"` - // PointOffSegment: If the access point is defined by a TYPE_SEGMENT feature, - // this is the location of the access point displaced slightly to the correct - // side of the segment. This offset is in a direction perpendicular to the - // direction of travel along the segment. The actual offset distance is - // unspecified. It would typically be relatively small (approximately 1 meter). - // You can subtract the "off segment" point from the "on segment" point to get - // a vector of unknown length pointing from "on segment" point to the "off - // segment" point. You can then scale that vector to whatever length you want. - // Note that extending this displacement vector a large distance (10s of - // meters) may result in a new point that is in the middle of some other - // feature (park, street, intersection). This is the preferred basic geometry - // field for incoming data from editing clients and importers, if side-of-road - // is well-established. - PointOffSegment *GeostorePointProto `json:"pointOffSegment,omitempty"` - // PointOnSegment: If the access point is defined by a TYPE_SEGMENT feature, - // this is the point on the centerline of the segment that is closest to the - // actual access point. May be re-derived if necessary to maintain precise - // placement on segment. - PointOnSegment *GeostorePointProto `json:"pointOnSegment,omitempty"` - // Priority: LINT.ThenChange(//depot/google3/geostore/cleanup/callbacks/\ - // ID_DUPLICATE_ACCESS_POINT.cc) - // - // Possible values: - // "TYPE_PRIMARY" - // "TYPE_SECONDARY" - Priority string `json:"priority,omitempty"` - // SegmentPosition: If the access point is defined by a TYPE_SEGMENT feature, - // this is the location of the access point expressed as a fractional distance - // along the segment. The value runs from 0 to 1 inclusive. May be re-derived - // if necessary to maintain precise placement on segment. - SegmentPosition float64 `json:"segmentPosition,omitempty"` - // UnsuitableTravelMode: This list represents the travel modes for which this - // access-point should be avoided. If this list is empty, the access-point is - // suitable for any travel mode. If all access points are unsuitable for the - // current travel mode, client should revert to other heuristics (e.g. feature - // center). This is only used for access points to TYPE_SEGMENT features; - // access points to non-TYPE_SEGMENT features, e.g. TYPE_ESTABLISHMENT_POI - // features with gcid:transit_station GConcepts are just identified by - // feature_type and feature_id. - // - // Possible values: - // "TRAVEL_MODE_MOTOR_VEHICLE" - // "TRAVEL_MODE_AUTO" - // "TRAVEL_MODE_TWO_WHEELER" - // "TRAVEL_MODE_BICYCLE" - // "TRAVEL_MODE_PEDESTRIAN" - // "TRAVEL_MODE_PUBLIC_TRANSIT" - UnsuitableTravelMode []string `json:"unsuitableTravelMode,omitempty"` - // ForceSendFields is a list of field names (e.g. "CanEnter") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CanEnter") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreAccessPointProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreAccessPointProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreAccessPointProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreAccessPointProto - var s1 struct { - SegmentPosition gensupport.JSONFloat64 `json:"segmentPosition"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.SegmentPosition = float64(s1.SegmentPosition) - return nil -} - -// GeostoreAddressComponentProto: This class represents a parsed field within -// an address. NOTE: if you add a field to this proto, please update the -// AreAddressComponentsEquivalent() function in -// google3/geostore/base/internal/addresscomponent.cc -type GeostoreAddressComponentProto struct { - // FeatureId: The id of the corresponding Feature, if such a feature is - // defined. As discussed above for feature_type, components of TYPE_FEATURE or - // TYPE_LANDMARK may have a corresponding feature id. - FeatureId *GeostoreFeatureIdProto `json:"featureId,omitempty"` - // FeatureType: For components of TYPE_FEATURE or TYPE_LANDMARK, this is the - // feature type (TYPE_COUNTRY, TYPE_LOCALITY, TYPE_ESTABLISHMENT_POI etc.). - // Note that some features may not actually exist in the geostore (e.g. a - // village that we've never heard of), in which case the feature_id will be - // missing but the feature_type is still specified. Please refer to - // IsValidAddressComponentFeatureType() in - // google3/geostore/base/public/addresscomponent.h for the definitive list of - // feature types allowed for the type (either TYPE_FEATURE or TYPE_LANDMARK) of - // components. - FeatureType int64 `json:"featureType,omitempty"` - // Index: The order of this address component relative to the ones that share - // the same feature_type in the AddressProto. For now, the primary use of this - // index field is to handle ordering issue of multiple occurrences of - // AddressComponentProto with feature_type of TYPE_ROUTE (and subtypes), or - // TYPE_POLITICAL, where the order of the address components matters as there - // are dependences. 0 is the smallest valid index value, representing the most - // specific address component. Index value of 1 represents a relatively less - // specific address component of the same feature_type on which the 0-indexed - // address component depends. - Index int64 `json:"index,omitempty"` - // ParsedName: The parsed_name field contains one or more names of an address - // component. Its actual contents depends on where in the Geo/Google stack you - // are reading a feature: 1. When an address is initially parsed via a feed or - // other raw input and structured as an AddressProto, parsed_name should - // contain the set of names that corresponds to the (possibly normalized) raw - // text from the raw input. 2. In MapFacts, the address component may be linked - // to an actual feature via feature_id. Any address formatting directly from - // MapFacts should follow links to retrieve names when possible. The - // parsed_name contents may be formatted directly if the address component is - // unlinked following the same rules as selecting and formatting the name of a - // feature. The cached parsed_name is regularly refreshed from the linked - // feature with the minimal set of names for address components (usually just a - // single, preferred name, in the local language, plus a Latin-script name: - // go/story-of-ac-names). 3. In serving systems, the names of linked features - // may be denormalized into the parsed_name field to facilitate quicker address - // formatting or for simple data filtering (e.g. finding all geocodes in - // California by name). If reading a feature from such a system, the - // parsed_name field could contain multiple names in multiple languages that - // reflect a cached copy of the names associated with the linked features. - // Formatting of such names should follow the same rules as selecting and - // formatting the name of a feature itself. - ParsedName []*GeostoreNameProto `json:"parsedName,omitempty"` - // Range: Any numerical address component may optionally be specified as a - // range. For example if a component of TYPE_STREET_NUMBER has the optional - // "range" attribute, then it represents a range of addresses rather than a - // single address (see AddressRangeProto for details). - Range *GeostoreAddressRangeProto `json:"range,omitempty"` - // TemporaryData: A place for clients to attach arbitrary data to an address - // component. Never set in MapFacts. - TemporaryData *Proto2BridgeMessageSet `json:"temporaryData,omitempty"` - // TextAffix: Additional text to append before and/or after the parsed_name, - // when the address is formatted. Multiple instance should represent - // translations. Currently, this is only permitted on TYPE_LANDMARK components, - // and only one instance is permitted. - TextAffix []*GeostoreTextAffixProto `json:"textAffix,omitempty"` - // Type: Every address component has a type. Most address components correspond - // to one of the feature types defined in FeatureProto, so rather than defining - // a separate category system here, instead we mark them as TYPE_FEATURE and - // store the FeatureProto type in the feature_type() field. This is how we - // handle countries, cities, streets, etc. However, there are a few types of - // address components that do not have a corresponding feature type (e.g. PO - // boxes). These components have their type defined here. An address component - // of TYPE_STREET_NUMBER may correspond to a physical entity that defines a - // street number, such as a geocoded address or a land parcel. In this case, - // the address component may have a link to the corresponding feature. A good - // reference for what types of address components are possible is the xAL - // standard, which is a published XML schema: - // http://www.oasis-open.org/committees/ciq/download.shtml. This standard is - // the basis of the PostalAddress protocol message. - // - // Possible values: - // "TYPE_FEATURE" - // "TYPE_POSTAL_CODE_SUFFIX" - Address contains a suffix that refines the - // postal code in this address (e.g. the '+4' portion of a US '5+4' zip code). - // Postal code suffixes do not point to features. - // "TYPE_POST_BOX" - // "TYPE_STREET_NUMBER" - // "TYPE_FLOOR" - DEPRECATED, use TYPE_FEATURE/TYPE_LEVEL - // "TYPE_ROOM" - DEPRECATED, use TYPE_FEATURE/TYPE_COMPOUND_SECTION - // "TYPE_HOUSE_ID" - A building number unique relative to some political - // feature. - // "TYPE_DISTANCE_MARKER" - A component corresponding to a marker for the - // approximate distance of the address along the route. Distance markers do not - // point to features and must have a single name that corresponds to the - // distance measured along the route in the standard units of the locale in - // which the address is contained (units themselves omitted from the name). The - // name must be a canonical floating point number in the feature's locale. E.g. - // in the US, the name representing 1000.5 must be '1,000.5'. Trailing zeros - // after the decimal and superfluous zeros preceding the number are forbidden. - // "TYPE_LANDMARK" - A component representing a reference to some nearby - // landmark, to aid navigation. Landmark components are distinguished by the - // fact that they have additional text to relate the feature with this address, - // for example "near" or "opposite". This text is stored in the affix field. - // Landmark components may point to features, but are not required to. - // "TYPE_PLUS_CODE" - Plus codes (go/pluscodes) are short, user readable - // encodings of latitude and longitude, that are intended as a substitute for - // street addresses where these do not exist or are not commonly used. Used - // when the physical address of the feature contains a local plus code, - // e.g.'PXX7+RW' in 'PXX7+RW Damaturu, Nigeria'. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "FeatureId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FeatureId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreAddressComponentProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreAddressComponentProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreAddressLinesProto: Represents the unparsed portion of an address -// with an associated language. -type GeostoreAddressLinesProto struct { - // Language: The external form of a Google International Identifiers Initiative - // (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for - // details. We place extra restrictions on languages in addition to what the - // III library requires. See - // http://go/geo-schema-reference/feature-properties/languages.md - Language string `json:"language,omitempty"` - // Line: These lines are in display order. - Line []string `json:"line,omitempty"` - // ForceSendFields is a list of field names (e.g. "Language") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Language") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreAddressLinesProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreAddressLinesProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreAddressProto: This class represents an address, partial address, or -// address range. It is intended to be attached to features to identify their -// address(es). Some important points about addresses: - The addresses in the -// Geo Schema do *not* include a component for the name of the feature, i.e. -// they are not self-referential. For example, the name of a feature might be -// "Zack's Pizza" and its address would be "123 Main Street". Similarly, -// streets, cities, and counties do not include themselves as part of their -// address. The address of "Seattle" is "King County, Washington, USA". If want -// to construct an address that *does* include the feature name, you can simply -// prepend it to the other address components. - Lakes, mountains, and other -// natural features do not normally have addresses. Countries also do not have -// addresses because they are at the top of the political hierarchy. - Address -// components in the Geo Schema are listed in a particular order, independent -// of the conventions used by the country in which they occur. The basic order -// is "smallest to largest" starting with street numbers and routes, then -// political features, and ending with postal features. The exact rules are -// defined by the implementation of the AddressComponentOrdering::IsLessThan() -// function. - Some types of address components may occur more than once in an -// address. For example, a UK address with a "dependent thoroughfare" would -// have two components of TYPE_ROUTE (i.e. street names). These are listed in -// the order they are normally written. -type GeostoreAddressProto struct { - // AddressLines: The unparsed portion (lines) of the address. An address can - // have multiple unparsed portions. Multiple unparsed portions sharing the same - // language should be modeled as one address_lines instance having multiple - // lines. Historically, we also supported unparsed portions in different - // languages, but we no longer do. Consequently, only one value is allowed for - // this field despite the fact that it is repeated. See - // go/address-lines-multi-language for information about why we made this - // change. If any components are filled in, this is supplemental to (i.e. - // disjoint from) them. Furthermore, this must be the most specific portion of - // the address (except for the portion, if any, stored in the name field of - // feature.proto). Unparsed lines are always formatted together in a block. - // Other address components are never formatted between the address lines. This - // doesn't imply that the address lines are always either the first or the last - // part of the formatted output. - AddressLines []*GeostoreAddressLinesProto `json:"addressLines,omitempty"` - // Component: A list of parsed address components, e.g. the street, city, etc. - // An address range is one type of component. - Component []*GeostoreAddressComponentProto `json:"component,omitempty"` - // CrossStreet: ** DEPRECATED ** This field is now deprecated (see b/33268032). - // If you want to store cross street information as part of an address, use the - // address_lines field. - CrossStreet []*GeostoreAddressComponentProto `json:"crossStreet,omitempty"` - // Metadata: Field-level metadata for this address. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // PartialDenormalization: reserved - PartialDenormalization *GeostoreAddressProto `json:"partialDenormalization,omitempty"` - // TemplateId: The opaque ID of the address template that contains rules for - // structuring this address. The id of the address template can be retrieved - // using google3/geostore/address_templates/public/address_templates.h - TemplateId string `json:"templateId,omitempty"` - // TemporaryData: A place for clients to attach arbitrary data to an address. - // Never set in MapFacts. - TemporaryData *Proto2BridgeMessageSet `json:"temporaryData,omitempty"` - // ForceSendFields is a list of field names (e.g. "AddressLines") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AddressLines") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreAddressProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreAddressProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreAddressRangeProto: This class represents a range of numbers in an -// address. It is an optional additional field in the 'AddressComponentProto' -// message. This structure can be used to model both single addresses and -// address ranges. There are two primary use-cases for address ranges: -// definitions and references. Ranges are being defined when they are present -// on the addresses of segment features. Ranges are being referenced when they -// are present on non-segment features. NOTE: If you add fields in this proto, -// consider updating the AreAddressRangesEquivalent() function in -// google3/geostore/base/internal/addressrange.cc -type GeostoreAddressRangeProto struct { - // Number: Two or more address numbers. Each number represents an address that - // was mentioned by the data provider. - Number []int64 `json:"number,omitempty"` - // Parameter: For address range definitions: Two or more interpolation - // parameter values. The length of this array must match the length of the - // number array, and each parameter number specifies the position of the - // corresponding address number. Each value is an interpolation between 0.0 and - // 1.0 inclusive. The value is proportional to the distance traveled along the - // segment's polyline starting at its origin. The parameters must be provided - // in increasing order and the values in the number array must be in strictly - // increasing or decreasing order. We make an exception for singleton - // addresses, which are represented as two copies of a (number, parameter) - // pair, for backwards compatibility. For address range references: This array - // must be empty. - Parameter []float64 `json:"parameter,omitempty"` - // Prefix: If specified, the prefix or suffix is applied to all numbers in the - // range. For example, this can be used to indicate that addresses B1 through - // B99 are on one side of the street, while A1 through A99 are on the other - // side of the street. - Prefix string `json:"prefix,omitempty"` - // SameParity: If 'same_parity' is true, then all 'number' values must have the - // same parity (even or odd), and this address range only includes addresses - // whose parity is the same as the given 'number' values. - SameParity bool `json:"sameParity,omitempty"` - Suffix string `json:"suffix,omitempty"` - // TemporaryData: A place for clients to attach arbitrary data to an address - // range. Never set in MapFacts. Here are some examples: Example #1: Single - // non-numeric address (e.g., "Twelve") At the moment this can only be - // represented as a street number (with the value in the parsed_name field of - // the AddressComponentProto). We have future plans to make other changes so we - // can handle this case. Example #2: Single semi-numeric address (e.g., - // "12bis") The number array contains two copies of the single numeric value - // (12). The prefix is empty and the suffix contains "bis". The parameter array - // has two identical values specifying the position of the single address. - // Example #3: Simple address range (e.g., "100 to 198, even numbers only") The - // number array contains the two values "100" and "198". The prefix and suffix - // strings are empty in this example. The parameter array has two values, one - // for each number. The same_parity flag is set in this example. - TemporaryData *Proto2BridgeMessageSet `json:"temporaryData,omitempty"` - // ForceSendFields is a list of field names (e.g. "Number") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Number") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreAddressRangeProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreAddressRangeProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreAddressRangeProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreAddressRangeProto - var s1 struct { - Parameter []gensupport.JSONFloat64 `json:"parameter"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Parameter = make([]float64, len(s1.Parameter)) - for i := range s1.Parameter { - s.Parameter[i] = float64(s1.Parameter[i]) - } - return nil -} - -// GeostoreAnchoredGeometryProto: A feature’s geometry that is populated from -// the 3D Geometry Store. Please see go/a3d-and-mapfacts for design details. -type GeostoreAnchoredGeometryProto struct { - // GeometryId: The ID to be used to fetch the feature’s geometry from the 3D - // Geometry Store. - GeometryId string `json:"geometryId,omitempty"` - // ForceSendFields is a list of field names (e.g. "GeometryId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GeometryId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreAnchoredGeometryProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreAnchoredGeometryProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreAppliedSpeedLimitProto: A container for speed limits that allows -// tagging with a correctness trust level. -type GeostoreAppliedSpeedLimitProto struct { - // SpeedLimit: The actual speed limit value. - SpeedLimit *GeostoreSpeedLimitProto `json:"speedLimit,omitempty"` - // TrustLevel: The level of trust we have in this speed limit value. - // - // Possible values: - // "SPEED_LIMIT_TRUST_LEVEL_UNKNOWN" - Default proto value, this value will - // never be set in MapFacts. - // "LOW_QUALITY" - This speed limit is set, but may be completely wrong and - // potential users should consult external quality metrics before deciding - // whether to use it. - // "HIGH_QUALITY" - We have high confidence that this is the correct speed - // limit, and that it's good enough to be shown to users. However, we are not - // completely confident the value is correct. - // "EXACT" - We are certain that this is the correct speed limit. - TrustLevel string `json:"trustLevel,omitempty"` - // ForceSendFields is a list of field names (e.g. "SpeedLimit") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SpeedLimit") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreAppliedSpeedLimitProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreAppliedSpeedLimitProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreAttachmentsAttachmentProto: An AttachmentProto contains structured -// data of a client-specified type. An attachment is uniquely identified by the -// combination of its attachment_id and client_name_space fields. -type GeostoreAttachmentsAttachmentProto struct { - // AttachmentId: attachment_id distinguishes messages of the same type_id - // associated with the same feature. It can not be set to 0x0. - AttachmentId uint64 `json:"attachmentId,omitempty,string"` - // ClientNameSpace: This field specifies a namespace identifier that can be - // used to track the sources of attachments in a human friendly format. Name - // spaces must be at most 64 characters long and must be composed entirely of - // alphanumeric characters, hyphens, and underscores. No other characters are - // allowed. - ClientNameSpace string `json:"clientNameSpace,omitempty"` - // Comment: comment is a human-readable string that is logged whenever this - // attachment is processed by the framework. - Comment string `json:"comment,omitempty"` - // Messages: messages contains the structured data for this attachment. It - // should contain a single message with a type ID matching the value of the - // type_id field below. - Messages *Proto2BridgeMessageSet `json:"messages,omitempty"` - // TypeId: type_id determines the type of the actual attachment that should be - // set in the messages MessageSet. It can not be set to 0x0. - TypeId uint64 `json:"typeId,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "AttachmentId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AttachmentId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreAttachmentsAttachmentProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreAttachmentsAttachmentProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreAttributeIdProto: Used to represent the unique id of an attribute. -type GeostoreAttributeIdProto struct { - // Id: The id of the attribute. Stored as a stripped format of the gcid (e.g. - // "foo" instead of "gcid:att_foo"). - Id string `json:"id,omitempty"` - // ProviderId: Set because it's required, but not really meaningful in geostore - // (always set to "Geo"). - ProviderId string `json:"providerId,omitempty"` - // Possible values: - // "ITEMCLASS" - deprecated - // "ATTRIBUTE" - // "VALUESPACE" - deprecated - // "DATASTORE" - deprecated - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreAttributeIdProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreAttributeIdProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreAttributeProto: Protocol buffer for attaching attributes and values -// to instances. This is for assigning a particular attribute and value to a -// repository item, not for metadata. For protocol buffers that represents -// metadata about attributes and values, see CanonicalAttribute in -// itemclass.proto and ValueSpace in valuespace.proto. -type GeostoreAttributeProto struct { - ApplicationData *Proto2BridgeMessageSet `json:"applicationData,omitempty"` - AttributeDisplay []*GeostoreAttributeValueDisplayProto `json:"attributeDisplay,omitempty"` - BooleanValue bool `json:"booleanValue,omitempty"` - // CanonicalAttributeId: The canonical attribute for this attribute instance. - CanonicalAttributeId *GeostoreAttributeIdProto `json:"canonicalAttributeId,omitempty"` - DoubleValue float64 `json:"doubleValue,omitempty"` - // EnumIdValue: For those attribute ids that expect their values to be taken - // from an enumeration-style set of values, that value's gcid should be stored - // here, e.g. "gcid:attval_yes". - EnumIdValue string `json:"enumIdValue,omitempty"` - FloatValue float64 `json:"floatValue,omitempty"` - Int64Value int64 `json:"int64Value,omitempty,string"` - IntegerValue int64 `json:"integerValue,omitempty"` - ItemClassId *GeostoreAttributeIdProto `json:"itemClassId,omitempty"` - // Metadata: Field-level metadata for this attribute - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // ProtoValue: Fully qualified package name because genprotohdf uses genproto - // for this proto2 syntax: - // https://wiki.corp.google.com/twiki/bin/view/Main/Proto2WithGenproto - ProtoValue *Proto2BridgeMessageSet `json:"protoValue,omitempty"` - // StringValue: The attribute value falls into one of these fields, based on - // value_type: - StringValue string `json:"stringValue,omitempty"` - Uint32Value int64 `json:"uint32Value,omitempty"` - // ValueDisplay: Used to store language-specific names of this attribute's - // value (e.g. a translation into another language). - ValueDisplay []*GeostoreAttributeValueDisplayProto `json:"valueDisplay,omitempty"` - ValueSpaceId *GeostoreAttributeIdProto `json:"valueSpaceId,omitempty"` - // Possible values: - // "NONE" - // "STRING" - // "INTEGER" - // "DOUBLE" - // "BOOLEAN" - // "PROTO_VALUE" - // "INT64" - // "FLOAT" - // "DISPLAY_ONLY" - // "UINT32" - // "ENUM_ID" - The value comes from an enumerated attribute valuespace. - ValueType string `json:"valueType,omitempty"` - // ForceSendFields is a list of field names (e.g. "ApplicationData") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ApplicationData") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreAttributeProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreAttributeProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreAttributeProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreAttributeProto - var s1 struct { - DoubleValue gensupport.JSONFloat64 `json:"doubleValue"` - FloatValue gensupport.JSONFloat64 `json:"floatValue"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.DoubleValue = float64(s1.DoubleValue) - s.FloatValue = float64(s1.FloatValue) - return nil -} - -// GeostoreAttributeValueDisplayProto: Used to help display language-specific -// names of attributes. -type GeostoreAttributeValueDisplayProto struct { - Language string `json:"language,omitempty"` - Synonym string `json:"synonym,omitempty"` - // ForceSendFields is a list of field names (e.g. "Language") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Language") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreAttributeValueDisplayProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreAttributeValueDisplayProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreBarrierLogicalMaterialProto struct { - // Possible values: - // "UNKNOWN_LOGICAL_MATERIAL" - // "CONCRETE" - // "METAL" - // "PLASTIC" - // "STONE" - // "TIMBER" - Material []string `json:"material,omitempty"` - // ForceSendFields is a list of field names (e.g. "Material") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Material") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreBarrierLogicalMaterialProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreBarrierLogicalMaterialProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreBestLocaleProto: A BestLocaleProto holds information about the -// best-match locale for a feature. Clients may use this information to -// determine the appropriate local name of a feature. -type GeostoreBestLocaleProto struct { - // Locale: The ID of the best-match TYPE_LOCALE feature for this feature. - Locale *GeostoreFeatureIdProto `json:"locale,omitempty"` - // LocalizationPolicyId: The ID of the localization policy to apply when - // selecting a name for a feature. This field should always be set. If - // feature_id is also defined, this field should have the same localization - // policy ID as the referenced locale feature. Localization policy IDs are - // arbitrary identifiers (up to some number of bytes; see - // geostore/base/public/constants.h) that uniquely distinguish a set of - // language-selection rules. - LocalizationPolicyId string `json:"localizationPolicyId,omitempty"` - // Metadata: Field-level metadata for this best locale. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "Locale") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Locale") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreBestLocaleProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreBestLocaleProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreBizBuilderReferenceProto: The reference to a BizBuilder listing. For -// details on BizBuilder see -// http://g3doc/commerce/bizbuilder/backend/g3doc/index.md -type GeostoreBizBuilderReferenceProto struct { - // Id: Listing id. Used in queries to BizBuilder backend for listing access. - Id int64 `json:"id,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreBizBuilderReferenceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreBizBuilderReferenceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreBorderProto: A border represents a line of division between two -// features of the same type (i.e. United States and Mexico, but not California -// and Mexico). Borders are only used for features that tile an area. For -// example, country features have borders with one another because they tile an -// area of land. Country features do not have borders with province features -// because those two types of features may intersect with each other. The -// geometry of a border will often be similar (or derived from) the geometry of -// the two features that it separates. However, it is useful to have borders -// represented by stand-alone features for map-styling purposes. Ideally, the -// geometry in a border feature would be exactly the same as the common edges -// of the polygonal geometry of the two features. This may not always be true -// in practice. At some point in the future we would like to build a network of -// borders for features that are supposed to tile with each other. The network -// would be composed of different border types meeting at endpoint -// intersections. In the process of building this network, we would perform -// small geometry corrections to ensure that the borders align properly at all -// zoom levels. Border features are intended primarily for map drawing, and -// they would rarely be useful for geocoding. One exception would be for famous -// borders like the "Mason Dixon Line" or the "Berlin Wall." The standard -// feature properties have the following interpretations: name - Borders rarely -// have names unless they notable in their own right (e.g. "Mason Dixon Line", -// "Berlin Wall"). point - A border should not have point geometry. polyline - -// A border should have a single polyline that represents the division between -// the two features. polygon - A border should not have polygon geometry. -type GeostoreBorderProto struct { - // FeatureIdLeft: The ids of the area features to the left and right of the - // border, relative to the start and end of this borders' polyline geometry. - // These features should have the same type as the "type" attribute above. - // These ids are not required because the corresponding features may be - // nonexistent or difficult to obtain. - FeatureIdLeft *GeostoreFeatureIdProto `json:"featureIdLeft,omitempty"` - FeatureIdRight *GeostoreFeatureIdProto `json:"featureIdRight,omitempty"` - // LogicalBorder: The logical borders which this border is a part of. - LogicalBorder []*GeostoreFeatureIdProto `json:"logicalBorder,omitempty"` - // OverrideStatus: List of border status overrides. Due to legal reasons, we - // may be required to display some borders differently on some domains for - // instance. - OverrideStatus []*GeostoreOverrideBorderStatusProto `json:"overrideStatus,omitempty"` - // Status: The border status identifies the legal status of the border line. - // - // Possible values: - // "STATUS_NORMAL" - Most border lines have this status, which typically - // means both parties agree on the location of the line. These might be called - // "de jure" borders. - // "STATUS_DISPUTED" - This status is used when the two parties disagree on - // the location of the line. There can be multiple border lines in a given - // disputed area. One might be the line proposed by country "A" and another the - // line proposed by country "B". A third line might mark the de facto line of - // control. Other border lines might indicate historical borders, e.g., "1949 - // Armistice Line". - // "STATUS_UNSURVEYED" - This is used for one section of border between - // Argentina and Chile. Both parties agree that a border line exists somewhere - // on the glacier, but the exact location has not been determined. - // "STATUS_INTERNATIONAL_WATER" - This is a border line between a country and - // international water. - // "STATUS_NEVER_DISPLAY" - This status is only used for the borders that - // should never display to users. Typically it is for the borders that we don't - // want to represent but that we would still like to use to model country - // boundaries, e.g. Hong Kong and Macau. - // "STATUS_TREATY" - This is used for borders that refer to well-defined - // boundaries which have been established by a specific treaty, agreement, - // armistice or other such agreement between two or more parties, yet the - // position and/or status is not considered to be legal and final (e.g., the - // final demarcation of the exact position has not occurred or the final - // political status is not resolved). - // "STATUS_PROVISIONAL" - This is used for borders for which a formal - // agreement has not been established between the parties involved, yet the - // existing line acts as a de facto functional border without existence of any - // dispute. - // "STATUS_NO_LABEL" - This is used for borders which should not have country - // labels to either side, but should otherwise be styled the same as a border - // with STATUS_NORMAL. This is typically for borders which are not themselves - // disputed but still form part of the boundary around a disputed area that is - // not otherwise modeled or labeled as a country, or as an override where we - // are obligated to remove labels for region specific versions of Maps. - Status string `json:"status,omitempty"` - // Type: The type of the features this border separates. Should always be a - // subtype of TYPE_POLITICAL. NOTE: as of December 2019, we currently require - // this to be equal to TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1. In the - // future, we may support TYPE_BORDER for lower types of political features. - Type int64 `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "FeatureIdLeft") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FeatureIdLeft") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreBorderProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreBorderProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreBoundingMarkerProto: NOTE: BoundingMarkerProto could be compared -// against one another by canonicalizing them via GetCanonicalBoundingMarker() -// in google3/geostore/base/internal/lane.cc. Any fields that don't contribute -// to the definition of a bounding marker in the real world should be bundled -// with the annotative fields near the bottom and excluded in -// GetCanonicalBoundingMarker(). LINT.IfChange -type GeostoreBoundingMarkerProto struct { - // BoundingMarker: References to any gcid:physical_lane_marker features that - // bound this lane or lane connection. - BoundingMarker *GeostoreFeatureIdProto `json:"boundingMarker,omitempty"` - // BoundingMarkerToken: A token that can be used to identify the version of the - // data about this bounding marker. - BoundingMarkerToken string `json:"boundingMarkerToken,omitempty"` - // FlowlineAdjacencyBeginFraction: Which part of the flowline does this - // association refer to? These should be between 0 and 1. These are optionally - // set, but can be approximated geometrically if they aren’t set. NOTE: These - // refer to the geometry of this feature. - FlowlineAdjacencyBeginFraction float64 `json:"flowlineAdjacencyBeginFraction,omitempty"` - FlowlineAdjacencyEndFraction float64 `json:"flowlineAdjacencyEndFraction,omitempty"` - // MarkerAdjacencyBeginFraction: Which part of the marker track does this - // association refer to? These should be between 0 and 1. These are optionally - // set, but can be approximated geometrically if they aren’t set. NOTE: These - // refer to the geometry of the marker feature. - MarkerAdjacencyBeginFraction float64 `json:"markerAdjacencyBeginFraction,omitempty"` - MarkerAdjacencyEndFraction float64 `json:"markerAdjacencyEndFraction,omitempty"` - // Side: Which side of the flowline does the marker occur on. - // - // Possible values: - // "UNKNOWN" - // "LEFT" - // "RIGHT" - Side string `json:"side,omitempty"` - // ForceSendFields is a list of field names (e.g. "BoundingMarker") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BoundingMarker") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreBoundingMarkerProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreBoundingMarkerProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreBoundingMarkerProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreBoundingMarkerProto - var s1 struct { - FlowlineAdjacencyBeginFraction gensupport.JSONFloat64 `json:"flowlineAdjacencyBeginFraction"` - FlowlineAdjacencyEndFraction gensupport.JSONFloat64 `json:"flowlineAdjacencyEndFraction"` - MarkerAdjacencyBeginFraction gensupport.JSONFloat64 `json:"markerAdjacencyBeginFraction"` - MarkerAdjacencyEndFraction gensupport.JSONFloat64 `json:"markerAdjacencyEndFraction"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.FlowlineAdjacencyBeginFraction = float64(s1.FlowlineAdjacencyBeginFraction) - s.FlowlineAdjacencyEndFraction = float64(s1.FlowlineAdjacencyEndFraction) - s.MarkerAdjacencyBeginFraction = float64(s1.MarkerAdjacencyBeginFraction) - s.MarkerAdjacencyEndFraction = float64(s1.MarkerAdjacencyEndFraction) - return nil -} - -// GeostoreBuildingProto: This protocol buffer holds the building-specific -// attributes for features of type TYPE_COMPOUND_BUILDING. -type GeostoreBuildingProto struct { - // BaseHeightMetersAgl: The height of the base of this building, in meters - // above ground-level, if known. - BaseHeightMetersAgl float64 `json:"baseHeightMetersAgl,omitempty"` - // DefaultDisplayLevel: The level in this building that should get displayed by - // default. If present, the default display level must be one of this - // building's levels that are listed in the level[] field, and if a level is - // set as a default level of one building, all buildings sharing the level - // should have that same level as their default level. If not present, clients - // should not display any level by default for that building. - DefaultDisplayLevel *GeostoreFeatureIdProto `json:"defaultDisplayLevel,omitempty"` - // Floors: The number of floors above the base of the building, if known. For - // example a regular 1-story building would set this to "1". Use a value of - // GeostoreConstants::kDefaultHeightPerFloor when converting "floors" to - // "height_meters". - Floors int64 `json:"floors,omitempty"` - FloorsMetadata *GeostoreFieldMetadataProto `json:"floorsMetadata,omitempty"` - // HeightMeters: The height of the building above its base, in meters, if - // known. - HeightMeters float64 `json:"heightMeters,omitempty"` - HeightMetersMetadata *GeostoreFieldMetadataProto `json:"heightMetersMetadata,omitempty"` - // Level: The levels in this building, in no particular order. These levels - // refer back to the building via another strong reference (the - // LevelProto.building field). - Level []*GeostoreFeatureIdProto `json:"level,omitempty"` - // Structure: "Structure" denotes a physical architecture of the building that - // is readily visible. This attribute is useful in that rarer structures can - // make good landmarks. - // - // Possible values: - // "STRUCTURE_ANY" - ABSTRACT - // "STRUCTURE_TOWER" - The root of all structure categories. Not a meaningful - // value and should never be set on any feature. - // "STRUCTURE_DOME" - // "STRUCTURE_CASTLE" - // "STRUCTURE_SHRINE" - // "STRUCTURE_TEMPLE" - // "STRUCTURE_TANK" - Structure string `json:"structure,omitempty"` - // ForceSendFields is a list of field names (e.g. "BaseHeightMetersAgl") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BaseHeightMetersAgl") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreBuildingProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreBuildingProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreBuildingProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreBuildingProto - var s1 struct { - BaseHeightMetersAgl gensupport.JSONFloat64 `json:"baseHeightMetersAgl"` - HeightMeters gensupport.JSONFloat64 `json:"heightMeters"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.BaseHeightMetersAgl = float64(s1.BaseHeightMetersAgl) - s.HeightMeters = float64(s1.HeightMeters) - return nil -} - -// GeostoreBusinessChainProto: This holds data specific to business chain -// features. -type GeostoreBusinessChainProto struct { - // CanonicalGconcepts: Canonical GConcepts describe the ideal state of the - // GConcepts of this business chain's members. - CanonicalGconcepts []*GeostoreCanonicalGConceptProto `json:"canonicalGconcepts,omitempty"` - // ForceSendFields is a list of field names (e.g. "CanonicalGconcepts") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CanonicalGconcepts") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreBusinessChainProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreBusinessChainProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreBusinessHoursProto: A BusinessHoursProto stores a weekly schedule of -// opening hours for a business (represented as a BusinessHours message) -// together with other closely related information that is Geo-specific. -type GeostoreBusinessHoursProto struct { - // Data: The actual hours represented by this BusinessHoursProto. - Data *BusinessHours `json:"data,omitempty"` - // Metadata: Field-level metadata for these hours. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "Data") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Data") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreBusinessHoursProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreBusinessHoursProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCallToActionProto: Message containing calls to action specified by -// the business owner. -type GeostoreCallToActionProto struct { - // CtaType: Required. - // - // Possible values: - // "CTA_TYPE_UNSPECIFIED" - // "CTA_TYPE_BOOK" - // "CTA_TYPE_BUY" - // "CTA_TYPE_ORDER_ONLINE" - // "CTA_TYPE_LEARN_MORE" - // "CTA_TYPE_SIGN_UP" - // "CTA_TYPE_GET_OFFER" - CtaType string `json:"ctaType,omitempty"` - Url *GeostoreUrlProto `json:"url,omitempty"` - // ForceSendFields is a list of field names (e.g. "CtaType") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CtaType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCallToActionProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCallToActionProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCanonicalGConceptProto: This proto represents a canonical gconcept -// of a business chain's members. -type GeostoreCanonicalGConceptProto struct { - Gconcept *GeostoreGConceptInstanceProto `json:"gconcept,omitempty"` - // IsRequired: Whether the gconcept must be on a member. This must be true for - // a primary gconcept. - IsRequired bool `json:"isRequired,omitempty"` - // ForceSendFields is a list of field names (e.g. "Gconcept") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Gconcept") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCanonicalGConceptProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCanonicalGConceptProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCellCoveringProto: This protocol buffer holds S2 cell covering for -// the feature. See util/geometry/s2cell_union.h for more information on S2 -// cells. See geostore/base/public/cellcovering.h for utility functions. -type GeostoreCellCoveringProto struct { - // CellId: Array of S2 cell ids that represent the covering. There is no preset - // limit on how many cells can be used. - CellId googleapi.Uint64s `json:"cellId,omitempty"` - // ForceSendFields is a list of field names (e.g. "CellId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CellId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCellCoveringProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCellCoveringProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCityJsonProto: CityJsonProto is a custom proto representation of the -// portion of the CityJSON spec (https://www.cityjson.org/) relevant to -// internal projects. See go/cityjsonproto-design for more information about -// the modeling and design decisions implemented here. LINT.IfChange -type GeostoreCityJsonProto struct { - // Appearance: Additional information that can be used to describe the - // appearance of CityObjects in this CityJsonProto. - Appearance *GeostoreCityJsonProtoAppearance `json:"appearance,omitempty"` - // CityObjects: City objects associated with this CityJsonProto. - CityObjects []*GeostoreCityJsonProtoCityObject `json:"cityObjects,omitempty"` - // FlattenedVertices: Vertices as local coordinates represented as a flattened - // list: [x1,y1,z1,x2,y2,z2,x3,y3,z3]. Vertices are relative to a local - // coordinate system and rounded to their nearest integer value. See - // `transform` for how vertices can be transformed from a local coordinate - // system into an Earth-centered, Earth-fixed coordinate system. Vertices are - // flattened for space efficiency, memory locality, and processing performance. - // To access the x,y,z coordinates of vertex N, read the values at indices 3N, - // 3N+1, and 3N+2. - FlattenedVertices []int64 `json:"flattenedVertices,omitempty"` - // Transform: Spec for converting vertices from a local coordinate system in - // arbitrary units to ECEF coordinates in meters - // (https://en.wikipedia.org/wiki/Earth-centered,_Earth-fixed_coordinate_system). - Transform *GeostoreCityJsonProtoTransform `json:"transform,omitempty"` - // ForceSendFields is a list of field names (e.g. "Appearance") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Appearance") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCityJsonProtoAppearance: Contains additional ways to describe the -// appearance of a CityObject, e.g. definitions of materials and textures that -// can apply to geometry surfaces. -type GeostoreCityJsonProtoAppearance struct { - // Materials: Predefined materials that may be referenced from geometric - // primitives. - Materials []*GeostoreCityJsonProtoAppearanceMaterial `json:"materials,omitempty"` - // ForceSendFields is a list of field names (e.g. "Materials") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Materials") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoAppearance) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoAppearance - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCityJsonProtoAppearanceMaterial: Representation of a single material -// that can describe a geometry surface. See technical definitions of these -// fields via the description and link at -// https://www.cityjson.org/specs/2.0.0/#material-object. -type GeostoreCityJsonProtoAppearanceMaterial struct { - // DiffuseColor: The color that this material shows under pure white light when - // incoming light is reflected in all directions equally. - DiffuseColor *GeostoreCityJsonProtoAppearanceMaterialRgbColor `json:"diffuseColor,omitempty"` - // IsSmooth: Whether this material has an even, regular surface or consistency. - IsSmooth bool `json:"isSmooth,omitempty"` - // Name: The name of this material. - Name string `json:"name,omitempty"` - // Shininess: The degree to which this material reflects light; value is [0,1]. - Shininess float64 `json:"shininess,omitempty"` - // Transparency: The degree to which this material allows light through; value - // is [0,1], with 1.0 being completely transparent. - Transparency float64 `json:"transparency,omitempty"` - // ForceSendFields is a list of field names (e.g. "DiffuseColor") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DiffuseColor") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoAppearanceMaterial) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoAppearanceMaterial - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreCityJsonProtoAppearanceMaterial) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreCityJsonProtoAppearanceMaterial - var s1 struct { - Shininess gensupport.JSONFloat64 `json:"shininess"` - Transparency gensupport.JSONFloat64 `json:"transparency"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Shininess = float64(s1.Shininess) - s.Transparency = float64(s1.Transparency) - return nil -} - -// GeostoreCityJsonProtoAppearanceMaterialRgbColor: RGB 0-1, where the range of -// each value is [0,1] instead of [0,255]. Values may be linear RGB or sRGB; -// RGB values are frequently stored as sRGB -// (https://stackoverflow.com/a/12894053 explains the difference). -type GeostoreCityJsonProtoAppearanceMaterialRgbColor struct { - Blue float64 `json:"blue,omitempty"` - Green float64 `json:"green,omitempty"` - Red float64 `json:"red,omitempty"` - // ForceSendFields is a list of field names (e.g. "Blue") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Blue") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoAppearanceMaterialRgbColor) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoAppearanceMaterialRgbColor - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreCityJsonProtoAppearanceMaterialRgbColor) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreCityJsonProtoAppearanceMaterialRgbColor - var s1 struct { - Blue gensupport.JSONFloat64 `json:"blue"` - Green gensupport.JSONFloat64 `json:"green"` - Red gensupport.JSONFloat64 `json:"red"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Blue = float64(s1.Blue) - s.Green = float64(s1.Green) - s.Red = float64(s1.Red) - return nil -} - -// GeostoreCityJsonProtoCityObject: Representation of an object with geometry. -type GeostoreCityJsonProtoCityObject struct { - // Geometries: Geometries associated with this object. - Geometries []*GeostoreCityJsonProtoCityObjectGeometry `json:"geometries,omitempty"` - // Id: The ID of this CityObject, which must be unique within this - // CityJsonProto. The ID does not have a meaning outside this CityJsonProto. - Id string `json:"id,omitempty"` - // Type: Type of object represented, e.g. building. - // - // Possible values: - // "TYPE_UNSPECIFIED" - Should never be set in prod. If set locally and - // converted to CityJSON, the CityJSON will be invalid. - // "BUILDING" - Building. - // "OTHER_CONSTRUCTION" - Unspecified other structure, e.g. storefront. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Geometries") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Geometries") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoCityObject) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoCityObject - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCityJsonProtoCityObjectGeometry: Representation of geometry -// including geometric primitives which are used as building blocks to -// construct geometries of varying complexity. Geometries vary both in type and -// in level-of-detail, enabling representation of any shape at any level of -// granularity. All geometries are ultimately composed of `MultiPoint`s, which -// reference the actual vertices. Only linear and planar shapes are allowed, no -// curves or parametric surfaces. -type GeostoreCityJsonProtoCityObjectGeometry struct { - // Lod: Level-of-detail (LoD) indicates how intricate the geometric - // representation is. May be a single digit per CityGML standards or X.Y per TU - // Delft (visual depiction at https://3d.bk.tudelft.nl/lod/). `CityObject`s may - // have multiple geometries with the same LoD. - Lod string `json:"lod,omitempty"` - // Multipoint: For geometries consisting of a single point, line, or loop. - Multipoint *GeostoreCityJsonProtoCityObjectGeometryMultiPoint `json:"multipoint,omitempty"` - // Multisurface: For geometries consisting of a collection of surfaces. - Multisurface *GeostoreCityJsonProtoCityObjectGeometryMultiSurface `json:"multisurface,omitempty"` - // Semantics: Predefined semantics that may be referenced from geometric - // primitives. - Semantics []*GeostoreCityJsonProtoCityObjectGeometrySemantic `json:"semantics,omitempty"` - // Solid: For geometries consisting of a watertight 3D shape. - Solid *GeostoreCityJsonProtoCityObjectGeometrySolid `json:"solid,omitempty"` - // ForceSendFields is a list of field names (e.g. "Lod") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Lod") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoCityObjectGeometry) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoCityObjectGeometry - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCityJsonProtoCityObjectGeometryMaterialSpec: Used to reference a -// predefined material from a geometric primitive. -type GeostoreCityJsonProtoCityObjectGeometryMaterialSpec struct { - // MaterialsIndex: Index into CityJsonProto.appearance.materials. - MaterialsIndex int64 `json:"materialsIndex,omitempty"` - // ForceSendFields is a list of field names (e.g. "MaterialsIndex") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MaterialsIndex") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoCityObjectGeometryMaterialSpec) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoCityObjectGeometryMaterialSpec - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCityJsonProtoCityObjectGeometryMultiPoint: A single line, loop, or -// set of points. -type GeostoreCityJsonProtoCityObjectGeometryMultiPoint struct { - // XIndices: A collection of references to vertices in - // `CityJsonProto.flattened_vertices`. `CityJsonProto.flattened_vertices` is a - // flattened list of vertex coordinates. A value in `x_indices` should be the - // index of the x-coordinate of the desired vertex V; the full coordinates of - // vertex V can then be found at indices [V,V+1,V+2]. For example, an - // `x_indices` containing 3, 0, and 12 references three vertices, whose - // complete x,y,z coordinates can respectively be found at - // `CityJsonProto.flattened_vertices` indices [3,4,5], [0,1,2], and [12,13,14]. - XIndices []int64 `json:"xIndices,omitempty"` - // ForceSendFields is a list of field names (e.g. "XIndices") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "XIndices") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoCityObjectGeometryMultiPoint) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoCityObjectGeometryMultiPoint - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCityJsonProtoCityObjectGeometryMultiSurface: A collection of -// arbitrary surfaces that have no prescribed topological relationship. -type GeostoreCityJsonProtoCityObjectGeometryMultiSurface struct { - // Surfaces: All surfaces are standalone entities with no relationship to each - // other. - Surfaces []*GeostoreCityJsonProtoCityObjectGeometrySurface `json:"surfaces,omitempty"` - // ForceSendFields is a list of field names (e.g. "Surfaces") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Surfaces") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoCityObjectGeometryMultiSurface) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoCityObjectGeometryMultiSurface - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCityJsonProtoCityObjectGeometrySemantic: Representation of semantic -// information that can be used for reasoning about geometric primitives. -type GeostoreCityJsonProtoCityObjectGeometrySemantic struct { - // Type: The type of semantic entity this geometric primitive is. - // - // Possible values: - // "TYPE_UNSPECIFIED" - // "WINDOW" - // "DOOR" - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoCityObjectGeometrySemantic) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoCityObjectGeometrySemantic - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCityJsonProtoCityObjectGeometrySolid: A 3D shape, composed of a -// watertight exterior shell with optional interior watertight shells. -type GeostoreCityJsonProtoCityObjectGeometrySolid struct { - // Shells: The first shell is exterior; any additional are interior. - Shells []*GeostoreCityJsonProtoCityObjectGeometryMultiSurface `json:"shells,omitempty"` - // ForceSendFields is a list of field names (e.g. "Shells") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Shells") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoCityObjectGeometrySolid) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoCityObjectGeometrySolid - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCityJsonProtoCityObjectGeometrySurface: A polygonal surface, -// composed of a closed exterior loop with optional closed interior loops. -type GeostoreCityJsonProtoCityObjectGeometrySurface struct { - // Loops: The first loop is exterior; any additional are interior. - Loops []*GeostoreCityJsonProtoCityObjectGeometryMultiPoint `json:"loops,omitempty"` - // MaterialSpecs: The materials this surface is made of. May be left blank if - // materials are unspecified for this surface. IMPORTANT: This field must not - // contain more than one MaterialSpec unless CityJSON's material "theme" is - // incorporated into CityJsonProto (see discussion in - // go/cityjson-for-hand-modeled-landmarks). - MaterialSpecs []*GeostoreCityJsonProtoCityObjectGeometryMaterialSpec `json:"materialSpecs,omitempty"` - // SemanticsIndex: The semantics of this surface (e.g. what part of a building - // it is) represented as an index into the containing Geometry's `semantics` - // field. May be left blank if semantics are unspecified for this surface. - SemanticsIndex int64 `json:"semanticsIndex,omitempty"` - // ForceSendFields is a list of field names (e.g. "Loops") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Loops") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoCityObjectGeometrySurface) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoCityObjectGeometrySurface - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCityJsonProtoTransform: Information for transforming a point from an -// "old" to "new" coordinate frame. Applied as follows: vertex_new = scale * -// vertex_old + translate -type GeostoreCityJsonProtoTransform struct { - // Scale: Relative scale of the vertices in the new coordinate system relative - // to the old coordinate system. Applies to all three x,y,z coordinates. - Scale float64 `json:"scale,omitempty"` - // Translate: Offset of each vertex in the new coordinate system relative to - // the old coordinate system. - Translate *GeostoreCityJsonProtoTransformTranslate `json:"translate,omitempty"` - // ForceSendFields is a list of field names (e.g. "Scale") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Scale") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoTransform) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoTransform - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreCityJsonProtoTransform) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreCityJsonProtoTransform - var s1 struct { - Scale gensupport.JSONFloat64 `json:"scale"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Scale = float64(s1.Scale) - return nil -} - -// GeostoreCityJsonProtoTransformTranslate: How the object will be moved along -// the x, y, and z axes, respectively. -type GeostoreCityJsonProtoTransformTranslate struct { - X float64 `json:"x,omitempty"` - Y float64 `json:"y,omitempty"` - Z float64 `json:"z,omitempty"` - // ForceSendFields is a list of field names (e.g. "X") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "X") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCityJsonProtoTransformTranslate) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCityJsonProtoTransformTranslate - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreCityJsonProtoTransformTranslate) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreCityJsonProtoTransformTranslate - var s1 struct { - X gensupport.JSONFloat64 `json:"x"` - Y gensupport.JSONFloat64 `json:"y"` - Z gensupport.JSONFloat64 `json:"z"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.X = float64(s1.X) - s.Y = float64(s1.Y) - s.Z = float64(s1.Z) - return nil -} - -// GeostoreComposableItemProto: Generic item proto. This is intended to have -// only certain aspects filled (e.g. photo only, name + price). Valid -// combinations of properties are enforced by linters. -type GeostoreComposableItemProto struct { - // CallToAction: Call to action for the individual product. - CallToAction *GeostoreCallToActionProto `json:"callToAction,omitempty"` - JobMetadata *GeostoreJobMetadata `json:"jobMetadata,omitempty"` - // Media: Any photos describing this item. - Media []*GeostoreMediaItemProto `json:"media,omitempty"` - // NameInfo: The repeated name_info field is for price list sections listed in - // multiple languages. At least one name_info containing id must be specified. - // There should be at most one name_info for any given language. When - // representing a job item, there should be exactly one name_info specified. - NameInfo []*GeostorePriceListNameInfoProto `json:"nameInfo,omitempty"` - // Offered: Represents if an item is offered at a business. For TYPE_JOB, this - // represents if this job is offered by the corresponding business - // - // Possible values: - // "OFFERED_UNSPECIFIED" - Merchant says nothing - // "OFFERED" - Merchant explicitly says this is offered - // "OFFERED_NOT" - Merchant explicitly says this is NOT offered - // "OFFERED_ON_WEBSITE" - Merchant mentioned this job on their websites - Offered string `json:"offered,omitempty"` - // Price: Price of the item. There should be at most one price for any given - // currency. - Price *GeostorePriceRangeProto `json:"price,omitempty"` - // PriceFormat: Represents which price format is being used by this item, which - // determines the usage/meaning of the “price” field above. Optional – - // the default value is legal and safe (represents no price if the “price” - // field is unset). - // - // Possible values: - // "PRICE_FORMAT_DEFAULT" - Default price format which uses the - // PriceRangeProto (set or unset) in the "price" field above to represent a - // price interval, or lack thereof. - // "PRICE_FORMAT_VARIES" - Value for a price which explicitly varies, i.e. it - // should show as “Price may vary" or similar. If this is the price_format, - // contents of the "price" field will be ignored. - PriceFormat string `json:"priceFormat,omitempty"` - // RankingHint: Numerical score which can be provided by data sources to - // indicate preferred item ordering. This is purely a hint – we are not - // required to followed it if we have a different order we think is better. - // Higher scores represent items that should be shown more prominently/earlier. - // Optional. - RankingHint float64 `json:"rankingHint,omitempty"` - // ForceSendFields is a list of field names (e.g. "CallToAction") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CallToAction") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreComposableItemProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreComposableItemProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreComposableItemProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreComposableItemProto - var s1 struct { - RankingHint gensupport.JSONFloat64 `json:"rankingHint"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.RankingHint = float64(s1.RankingHint) - return nil -} - -// GeostoreCountComparisonProto: A count value tagged with a comparison -// operator. This can be used for axle count, trailer count, etc. -type GeostoreCountComparisonProto struct { - // Possible values: - // "UNSPECIFIED" - // "EQUAL" - // "LESS_THAN" - // "LESS_THAN_OR_EQUAL" - // "GREATER_THAN" - // "GREATER_THAN_OR_EQUAL" - ComparisonOperator string `json:"comparisonOperator,omitempty"` - Count int64 `json:"count,omitempty"` - // ForceSendFields is a list of field names (e.g. "ComparisonOperator") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ComparisonOperator") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCountComparisonProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCountComparisonProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCrossingStripePatternProto: Possible patterns of a crossing stripe -// (any element that denotes a point on a segment or lane at which the vehicle -// must stop or yield). These include crosswalks, stop, and yield lines. -type GeostoreCrossingStripePatternProto struct { - BorderLine *GeostorePhysicalLineProto `json:"borderLine,omitempty"` - // Possible values: - // "UNKNOWN_BORDER_PATTERN" - // "NO_BORDER_PATTERN" - // "SOLID" - // "DASHED" - BorderPattern string `json:"borderPattern,omitempty"` - // Color: Colors found on this crossing. - Color []*GeostorePaintedElementLogicalColorProto `json:"color,omitempty"` - // Possible values: - // "UNKNOWN_STRIPE_PATTERN" - // "NO_STRIPE_PATTERN" - For crosswalk No crossing stripes. Usually comes - // with the bordered crosswalk. - // "LONGITUDINAL_STRIPE" - // "DIAGONAL_STRIPE" - // "LATERAL_STRIPE" - // "SINGLE_CROSSING_LINE" - A crossing line consisting of a single stripe - // e.g. a stop line. - // "DOUBLE_CROSSING_LINE" - A crossing line consisting of a double stripe. - // "TRIANGLE_CROSSING_LINE_POINTING_LEFT" - A crossing line made of repeating - // triangles e.g. a California yield line. The teeth are always facing the left - // of the crossing line. - // "TRIANGLE_CROSSING_LINE_POINTING_RIGHT" - A crossing line made of - // repeating triangles e.g. a California yield line. The teeth are always - // facing the right of the crossing line. - // "STRUCTURED_CROSSING_LINE" - The crossing line has a more complex - // structure than just a single conceptual stripe or row of symbols. - StripePattern string `json:"stripePattern,omitempty"` - // ForceSendFields is a list of field names (e.g. "BorderLine") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BorderLine") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCrossingStripePatternProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCrossingStripePatternProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreCurvatureProto struct { - // PointCurvature: Curvature values at points along the flowline. A linear - // interpolation between two successive points will yield the curvature value - // at intermediate points. - PointCurvature []*GeostorePointCurvatureProto `json:"pointCurvature,omitempty"` - // ForceSendFields is a list of field names (e.g. "PointCurvature") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PointCurvature") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCurvatureProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCurvatureProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreCurveConnectionProto: Protocol buffer describing a curve that -// connects two externally specified endpoints. -type GeostoreCurveConnectionProto struct { - BezierParams *GeostoreCurveConnectionProtoBezierParams `json:"bezierParams,omitempty"` - CircleParams *GeostoreCurveConnectionProtoCircleParams `json:"circleParams,omitempty"` - // Possible values: - // "UNSPECIFIED" - The connection is unspecified. Rendering code will rely on - // heuristics to choose one. - // "BEZIER" - Bezier curve interpolates the two endpoints. - // "CIRCLE" - Endpoints are connected via a circle arc. - // "STRAIGHT_EDGE" - Endpoints are connected by a straight edge. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "BezierParams") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BezierParams") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCurveConnectionProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCurveConnectionProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreCurveConnectionProtoBezierParams struct { - // ControlPoint: Internal Bezier handles. One can be used for a quadratic - // curve, two for cubic Beziers. - ControlPoint []*GeostoreCurveConnectionProtoBezierParamsControlPoint `json:"controlPoint,omitempty"` - // ForceSendFields is a list of field names (e.g. "ControlPoint") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ControlPoint") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCurveConnectionProtoBezierParams) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCurveConnectionProtoBezierParams - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreCurveConnectionProtoBezierParamsControlPoint struct { - // AngleDegrees: We use this parameterization to make curves change predictable - // when endpoints move. Each point P is defined in terms of the straight edge - // [S, E] between the start point of the curve S and its end point E. *P / / / - // S *------------* E Counter-clockwise angle between vector SE and vector SP. - AngleDegrees float64 `json:"angleDegrees,omitempty"` - // DistanceMultiplier: Distance(S, P) in units of Distance(S, E). - DistanceMultiplier float64 `json:"distanceMultiplier,omitempty"` - // ForceSendFields is a list of field names (e.g. "AngleDegrees") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AngleDegrees") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCurveConnectionProtoBezierParamsControlPoint) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCurveConnectionProtoBezierParamsControlPoint - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreCurveConnectionProtoBezierParamsControlPoint) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreCurveConnectionProtoBezierParamsControlPoint - var s1 struct { - AngleDegrees gensupport.JSONFloat64 `json:"angleDegrees"` - DistanceMultiplier gensupport.JSONFloat64 `json:"distanceMultiplier"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.AngleDegrees = float64(s1.AngleDegrees) - s.DistanceMultiplier = float64(s1.DistanceMultiplier) - return nil -} - -type GeostoreCurveConnectionProtoCircleParams struct { - // Radius: Arc radius. Must be greater than half-distance between two - // endpoints. - Radius float64 `json:"radius,omitempty"` - // ForceSendFields is a list of field names (e.g. "Radius") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Radius") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreCurveConnectionProtoCircleParams) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreCurveConnectionProtoCircleParams - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreCurveConnectionProtoCircleParams) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreCurveConnectionProtoCircleParams - var s1 struct { - Radius gensupport.JSONFloat64 `json:"radius"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Radius = float64(s1.Radius) - return nil -} - -// GeostoreDataSourceProto: Every data source used to construct a data -// repository has an associated feature that provides more information about -// it. The standard feature properties have the following interpretations: -// bound - The bounds must includes all features that refer to this data -// source, so that bucketing MapReduce passes work correctly. name - The -// provider name associated with this data source. It is expected to remain -// constant from release to release, and between datasets. address - should be -// empty. point, polyline, polygon - should be empty. source_info - should not -// be set. child - should be empty. -type GeostoreDataSourceProto struct { - // AttributionUrl: This is the URL of a website representing this DataSource as - // a whole. If this DataSource feature is specific to a particular dataset or - // product, the page may contain information relevant to that dataset or - // product or may be the main page of the organization. - AttributionUrl []*GeostoreUrlProto `json:"attributionUrl,omitempty"` - // CopyrightOwner: A UTF8 string that will be inserted in copyright messages to - // refer to this copyright owner, e.g. "Tele Atlas". - CopyrightOwner string `json:"copyrightOwner,omitempty"` - // CopyrightYear: The copyright year of this data (which may be different than - // the year of the release date), e.g. 2005. - CopyrightYear int64 `json:"copyrightYear,omitempty"` - // Description: A free-form description of this data source. Ideally the - // description should include: - Where the data was obtained (URL, company - // name, individual, etc). - Where to find detailed documentation. - A brief - // summary of the licensing terms. - As much internal and external contact - // information as possible (e.g. who to ask about licensing questions, - // interpreting the data, updating the data, fixing bugs in the importer, etc). - Description string `json:"description,omitempty"` - // ImporterBuildInfo: The build information of the importer binary used to - // generate this data source. - ImporterBuildInfo string `json:"importerBuildInfo,omitempty"` - // ImporterBuildTarget: The build target of the importer binary used to - // generate this data source. - ImporterBuildTarget string `json:"importerBuildTarget,omitempty"` - // ImporterClientInfo: The Perforce client information of the importer binary - // used to generate this data source. - ImporterClientInfo string `json:"importerClientInfo,omitempty"` - // ImporterMpmVersion: If the importer was built as an MPM, the version number - // can be stored in this field. As with build_info, this can be useful when - // tracking down issues that may be due to the use of a particular binary. - ImporterMpmVersion string `json:"importerMpmVersion,omitempty"` - // ImporterTimestamp: The timestamp of the importer binary used to generate - // this data source. - ImporterTimestamp string `json:"importerTimestamp,omitempty"` - // Provider: The provider type of this data source. - // - // Possible values: - // "PROVIDER_ANY" - ABSTRACT The root of all provider types. This should - // never be present on an actual feature, but can be useful when calling - // InCategory. - // "PROVIDER_UNKNOWN" - not actually a legal value, used as sentinel - // "PROVIDER_NAVTEQ" - // "PROVIDER_TELE_ATLAS" - ABSTRACT - // "PROVIDER_TELE_ATLAS_MULTINET" - // "PROVIDER_TELE_ATLAS_CODEPOINT" - // "PROVIDER_TELE_ATLAS_GEOPOST" - // "PROVIDER_TELE_ATLAS_DATAGEO" - // "PROVIDER_TELE_ATLAS_ADDRESS_POINTS" - // "PROVIDER_TELCONTAR" - // "PROVIDER_EUROPA" - // "PROVIDER_ROYAL_MAIL" - // "PROVIDER_GOOGLE" - ABSTRACT - // "PROVIDER_GOOGLE_HAND_EDIT" - // "PROVIDER_GOOGLE_BORDERS" - All new "Google" provider entries must be full - // ints. The next available ID is: 0x111730C2 - // "PROVIDER_GOOGLE_SUBRANGE" - ABSTRACT - // "PROVIDER_GOOGLE_GT_FUSION" - // "PROVIDER_GOOGLE_ZAGAT_CMS" - // "PROVIDER_GOOGLE_PLACE_NAVBOOST" - // "PROVIDER_GOOGLE_FOOTPRINT" - // "PROVIDER_GOOGLE_PRODUCT_TERMS" - // "PROVIDER_GOOGLE_POINTCARDS" - // "PROVIDER_GOOGLE_BUSINESS_CHAINS" - // "PROVIDER_GOOGLE_LOCAL_SUMMARIZATION" - // "PROVIDER_GOOGLE_PRONUNCIATIONS" - // "PROVIDER_GOOGLE_DUMPLING" - // "PROVIDER_GOOGLE_DISTILLERY" - // "PROVIDER_GOOGLE_LOCAL_ATTRIBUTE_SUMMARIZATION" - // "PROVIDER_GOOGLE_RELATION_MINER" - // "PROVIDER_GOOGLE_MAPSPAM" - // "PROVIDER_GOOGLE_ROSE" - // "PROVIDER_GOOGLE_LOCAL_PLACE_RATINGS" - // "PROVIDER_GOOGLE_WIPEOUT" - This is an internal *only* provider meant for - // sending wipeout requests to mapfacts. - // "PROVIDER_GOOGLE_KNOWLEDGE_GRAPH" - // "PROVIDER_GOOGLE_BEEGEES" - // "PROVIDER_GOOGLE_REVIEW_SUMMARIZATION" - // "PROVIDER_GOOGLE_OFFLINE_NON_CORE_ATTRIBUTE_SUMMARIZATION" - // "PROVIDER_GOOGLE_GEO_WORLDMAPS" - // "PROVIDER_GOOGLE_GEO_MODERATION" - // "PROVIDER_GOOGLE_OYSTER_AUTO_EDITS" - // "PROVIDER_GOOGLE_LOCAL_ALCHEMY" - // "PROVIDER_GOOGLE_KEROUAC" - // "PROVIDER_GOOGLE_MOBRANK" - // "PROVIDER_GOOGLE_RAPTURE" - // "PROVIDER_GOOGLE_CULTURAL_INSTITUTE" - // "PROVIDER_GOOGLE_GEOCODES_FROM_LOCAL_FEEDS" - // "PROVIDER_GOOGLE_ATTRIBUTES_FROM_CRAWLED_CHAINS" - // "PROVIDER_GOOGLE_TACTILE_MAPS" - // "PROVIDER_GOOGLE_MAPS_FOR_MOBILE" - // "PROVIDER_GOOGLE_GEO_REALTIME" - // "PROVIDER_GOOGLE_PROMINENT_PLACES" - Never rely on source infos with this - // provider to identify whether or not a feature is a Prominent Place! Instead, - // use the proper API, - // localsearch_clustering::QualityTierHelper::IsProminentPlace(). - // "PROVIDER_GOOGLE_PLACE_ACTIONS" - // "PROVIDER_GOOGLE_GT_AUTO_EDITS" - // "PROVIDER_GOOGLE_WAZE" - // "PROVIDER_GOOGLE_ONTHEGO" - // "PROVIDER_GOOGLE_GT_IMPORT" - // "PROVIDER_GOOGLE_STRUCTURED_DATA" - // "PROVIDER_GOOGLE_HELICOPTER" - // "PROVIDER_GOOGLE_ROLLBACK" - // "PROVIDER_GOOGLE_RIGHTS_REPAIR" - // "PROVIDER_GOOGLE_PERFUME" - // "PROVIDER_GOOGLE_MAPS_TRANSLATION" - // "PROVIDER_GOOGLE_CALL_ME_MAYBE" - // "PROVIDER_GOOGLE_LOCAL_UNIVERSAL" - // "PROVIDER_GOOGLE_CROUPIER" - // "PROVIDER_GOOGLE_SKYSMART" - // "PROVIDER_GOOGLE_RIDDLER" - // "PROVIDER_GOOGLE_ROADCLOSURES" - // "PROVIDER_GOOGLE_SPORE" - UMBRELLA - // "PROVIDER_GOOGLE_LOCALIZATION" - // "PROVIDER_GOOGLE_CATTERMS" - // "PROVIDER_GOOGLE_GT_FIELD_OPS" - // "PROVIDER_GOOGLE_MATCHMAKER" - // "PROVIDER_GOOGLE_ARBITRATION" - // "PROVIDER_GOOGLE_BIZBUILDER_OPS" - // "PROVIDER_GOOGLE_LOCAL_INVENTORY_ADS" - // "PROVIDER_GOOGLE_GT_DRAFTY" - // "PROVIDER_GOOGLE_HOTELADS_OPS" - // "PROVIDER_GOOGLE_MARKERS" - // "PROVIDER_GOOGLE_STATE_MACHINE" - // "PROVIDER_GOOGLE_ATTRIBUTES_INFERENCE" - // "PROVIDER_GOOGLE_BIKESHARE" - // "PROVIDER_GOOGLE_GHOSTWRITER" - // "PROVIDER_GOOGLE_EDIT_PLATFORM" - // "PROVIDER_GOOGLE_BLUE_GINGER" - // "PROVIDER_GOOGLE_GEO_TIGER" - // "PROVIDER_GOOGLE_HYADES" - // "PROVIDER_GOOGLE_WEBQUARRY" - // "PROVIDER_GOOGLE_GEO_MADDEN" - // "PROVIDER_GOOGLE_ANDROID_PAY" - // "PROVIDER_GOOGLE_OPENING_HOURS_TEAM" - // "PROVIDER_GOOGLE_LOCAL_DISCOVERY" - // "PROVIDER_GOOGLE_LOCAL_HEALTH" - // "PROVIDER_GOOGLE_UGC_MAPS" - // "PROVIDER_GOOGLE_FIBER" - // "PROVIDER_GOOGLE_REVGEO" - // "PROVIDER_GOOGLE_HOTELADS_PARTNER_FRONT_END" - // "PROVIDER_GOOGLE_GEO_UGC_TASKS" - // "PROVIDER_GOOGLE_GEOCODING" - // "PROVIDER_GOOGLE_SPYGLASS" - // "PROVIDER_GOOGLE_PLUS_CODES_AS_ADDRESSES" - // "PROVIDER_GOOGLE_GEO_CHANGES" - // "PROVIDER_GOOGLE_HUME" - // "PROVIDER_GOOGLE_MEGAMIND" - // "PROVIDER_GOOGLE_GT_ROADSYNTH" - // "PROVIDER_GOOGLE_FIREBOLT" - // "PROVIDER_GOOGLE_LOCAL_PLACE_OFFERINGS" - // "PROVIDER_GOOGLE_UGC_SERVICES" - // "PROVIDER_GOOGLE_GEOALIGN" - // "PROVIDER_GOOGLE_GT_COMPOUNDS" - // "PROVIDER_GOOGLE_FOOD_ORDERING" - // "PROVIDER_GOOGLE_HOTEL_KNOWLEDGE_OPS" - // "PROVIDER_GOOGLE_URAW" - // "PROVIDER_GOOGLE_FLYEYE" - // "PROVIDER_GOOGLE_YOUKE" - // "PROVIDER_GOOGLE_GT_ZEPHYR" - // "PROVIDER_GOOGLE_USER_SAFETY" - // "PROVIDER_GOOGLE_ADDRESS_MAKER" - // "PROVIDER_GOOGLE_UGC_PHOTOS" - // "PROVIDER_GOOGLE_GT_WINDCHIME" - // "PROVIDER_GOOGLE_SNAG_FIXER" - // "PROVIDER_GOOGLE_GEO_DEALS" - // "PROVIDER_GOOGLE_LOCAL_PLACE_TOPICS" - // "PROVIDER_GOOGLE_PROPERTY_INSIGHTS" - // "PROVIDER_GOOGLE_GEO_CONSUMER_MERCHANT_EXPERIMENTS" - // "PROVIDER_GOOGLE_GEO_PORTKEY" - // "PROVIDER_GOOGLE_ROAD_MAPPER" - // "PROVIDER_GOOGLE_LOCATION_PLATFORM" - // "PROVIDER_GOOGLE_POSTTRIP" - // "PROVIDER_GOOGLE_TRAVEL_DESTINATION" - // "PROVIDER_GOOGLE_GEO_DATA_UPLOAD" - UMBRELLA - // "PROVIDER_GOOGLE_BIZBUILDER_CLEANUP" - // "PROVIDER_GOOGLE_USER" - // "PROVIDER_GOOGLE_STATION" - // "PROVIDER_GOOGLE_GEO_FOOD" - // "PROVIDER_GOOGLE_GEO_AR" - // "PROVIDER_GOOGLE_GEO_TEMPORAL" - // "PROVIDER_GOOGLE_SERVICES_MARKETPLACE" - // "PROVIDER_GOOGLE_IMT_CLEANUP" - // "PROVIDER_GOOGLE_GEO_FOOD_MENU" - // "PROVIDER_GOOGLE_CARENAV" - // "PROVIDER_GOOGLE_DRIVING_FEEDS" - UMBRELLA - // "PROVIDER_GOOGLE_DRIVING_UGC" - // "PROVIDER_GOOGLE_POLAR" - // "PROVIDER_GOOGLE_TRIWILD" - // "PROVIDER_GOOGLE_CROWD_COMPUTE_OPS" - // "PROVIDER_GOOGLE_SA_FROM_WEB" - // "PROVIDER_GOOGLE_POI_ALIGNMENT" - // "PROVIDER_GOOGLE_SA_FROM_HULK" - // "PROVIDER_GOOGLE_SERVICES_INTERACTIONS" - // "PROVIDER_GOOGLE_ROADS_UGC_EDITOR" - // "PROVIDER_GOOGLE_SA_FROM_NG_INFERENCE" - // "PROVIDER_GOOGLE_GEO_DRIVING_VIZ" - // "PROVIDER_GOOGLE_GEO_TASKING" - // "PROVIDER_GOOGLE_CROWDTASK_DATACOMPUTE" - // "PROVIDER_GOOGLE_CROWDTASK_TASKADS" - // "PROVIDER_GOOGLE_CROWDTASK_TASKMATE" - // "PROVIDER_GOOGLE_CROWDTASK_FURBALL" - // "PROVIDER_GOOGLE_CROWDTASK_ADAP" - // "PROVIDER_GOOGLE_GPAY" - // "PROVIDER_GOOGLE_GEO_UGC_TRUSTED_USERS" - // "PROVIDER_GOOGLE_THIRD_PARTY_DATA_PRODUCTION" - // "PROVIDER_GOOGLE_GEOTRACKER" - // "PROVIDER_GOOGLE_LOCAL_LANDMARK_INFERENCE" - // "PROVIDER_GOOGLE_GEO_CLOSED_LOOP" - // "PROVIDER_GOOGLE_SA_FROM_MERCHANT_POSTS" - // "PROVIDER_GOOGLE_CORE_DATA_RIGHTS" - // "PROVIDER_GOOGLE_SA_FROM_USER_REVIEWS" - // "PROVIDER_GOOGLE_GEO_CONTENT_FIXER" - // "PROVIDER_GOOGLE_POLYGON_REFINEMENT" - // "PROVIDER_GOOGLE_HANASU" - // "PROVIDER_GOOGLE_FULLRIGHTS_GEO_DATA_UPLOAD" - // "PROVIDER_GOOGLE_FULLRIGHTS_3P_OUTREACH_UPLOAD" - // "PROVIDER_GOOGLE_ATTRIBUTION_3P_OUTREACH_UPLOAD" - // "PROVIDER_GOOGLE_SA_FROM_FOOD_MENUS" - // "PROVIDER_GOOGLE_GT_CONSISTENCY_EDITS" - // "PROVIDER_GOOGLE_SA_QUALITY" - // "PROVIDER_GOOGLE_GDCE_CLEANUP" - // "PROVIDER_GOOGLE_UGC_QUALITY_CHAINS" - // "PROVIDER_GOOGLE_ATTRIBUTES_DISCOVERY" - Shopping Attributes Discovery - // "PROVIDER_GOOGLE_GEO_LDE" - // "PROVIDER_GOOGLE_GEO_SIGNAL_TRACKING" - // "PROVIDER_GOOGLE_UGC_AGGREGATION" - // "PROVIDER_GOOGLE_3D_BASEMAP" - // "PROVIDER_GOOGLE_MAPFACTS_PRIVACY" - // "PROVIDER_GOOGLE_GT_ALF" - // "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE" - // "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS" - // "PROVIDER_GOOGLE_GT_LANE_AUTOMATION" - // "PROVIDER_GOOGLE_GEO_NG_LOCAL" - // "PROVIDER_GOOGLE_MAPFACTS_CLEANUP" - // "PROVIDER_GOOGLE_THIRD_PARTY_UGC" - UMBRELLA - // "PROVIDER_GOOGLE_GEO_ISSUE_ADMIN" - // "PROVIDER_GOOGLE_VACATION_RENTAL_PARTNERS" - // "PROVIDER_GOOGLE_FEED_PROCESSOR_ROAD_INCIDENTS" - // "PROVIDER_GOOGLE_DYNAMIC_BASEMAP" - UMBRELLA - // "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS_EMEA" - // "PROVIDER_GOOGLE_LOCALSEARCH" - The next new "Google" provider entries - // should be placed above. - // "PROVIDER_GOOGLE_TRANSIT" - UMBRELLA - // "PROVIDER_GOOGLE_GEOWIKI" - // "PROVIDER_GOOGLE_CHINA_LOCAL_TEAM" - // "PROVIDER_GOOGLE_SYNTHESIZED" - // "PROVIDER_GOOGLE_INTERNAL_TEST" - This is a testing provider for teams - // that wish to integrate with components of the Geo Data Infrastructure that - // require a valid provider. No production data should ever be sent using this - // provider. - // "PROVIDER_GOOGLE_DISPUTED_AREAS" - // "PROVIDER_GOOGLE_3DWAREHOUSE" - UMBRELLA - // "PROVIDER_GOOGLE_GROUNDS_BUILDER" - // "PROVIDER_GOOGLE_SESAME" - // "PROVIDER_GOOGLE_GT" - // "PROVIDER_GOOGLE_GT_BASEMAP_UPLOAD" - UMBRELLA - // "PROVIDER_GOOGLE_ADSDB" - 0x1117F must not be used, since its range - // extends the PROVIDER_GOOGLE hierarchy. - // "PROVIDER_GOOGLE_MACHINE_TRANSLITERATION" - // "PROVIDER_GOOGLE_TRAVELSEARCH" - // "PROVIDER_GOOGLE_PANORAMIO" - // "PROVIDER_GOOGLE_YOUTUBE" - // "PROVIDER_GOOGLE_OLD" - // "PROVIDER_GOOGLE_STREETVIEW" - // "PROVIDER_GOOGLE_STREETVIEW_BIZVIEW" - // "PROVIDER_GOOGLE_ZIPIT" - // "PROVIDER_GOOGLE_OYSTER_CONNECT_ROUTES" - // "PROVIDER_GOOGLE_GOLDEN" - // "PROVIDER_GOOGLE_INNERSPACE" - // "PROVIDER_GOOGLE_MAPSEARCH" - // "PROVIDER_GOOGLE_CATEGORIES_TEAM" - Deprecated in favor of - // PROVIDER_GOOGLE_STRUCTURED_DATA (for attributes) and - // PROVIDER_GOOGLE_GEO_TIGER (for categories). - // "PROVIDER_GOOGLE_CROWDSENSUS" - // "PROVIDER_GOOGLE_LOCAL_ALGORITHMIC_IDENTITY" - 0x1117FF should not be - // used, since its range further extends the PROVIDER_GOOGLE hierarchy. aka - // Local AI. - // "PROVIDER_GOOGLE_FREEBASE" - // "PROVIDER_GOOGLE_HOTELADS" - // "PROVIDER_GOOGLE_AUTHORITY_PAGES" - // "PROVIDER_GOOGLE_PLACES_API" - // "PROVIDER_GOOGLE_NAMEHEATMAP" - // "PROVIDER_GOOGLE_MAPMAKER" - // "PROVIDER_GOOGLE_MAPMAKER_MOBILE" - // "PROVIDER_GOOGLE_MAPMAKER_PANCAKE" - // "PROVIDER_GOOGLE_MAPMAKER_V2" - // "PROVIDER_GOOGLE_LOCAL_CLUSTERING_OPERATOR_OVERRIDE" - // "PROVIDER_GOOGLE_SERVED_ON_MAPMAKER" - No data is obtained from this - // provider. It is only used to identify features that must be served on - // MapMaker. - // "PROVIDER_GOOGLE_GT_LOCAL" - // "PROVIDER_GOOGLE_GT_LOCAL_WITH_RIGHTS" - // "PROVIDER_GOOGLE_LOGS_RANKING_SIGNALS" - // "PROVIDER_GOOGLE_ENTITY_NAVBOOST" - // "PROVIDER_GOOGLE_RELATED_PLACES" - // "PROVIDER_GOOGLE_KNOWN_FOR_TERMS" - // "PROVIDER_GOOGLE_SYNTHETIC_AREAS" - 0x1117FFF should not be used, since - // its range further extends the PROVIDER_GOOGLE hierarchy. Synthetically - // generated areas (sublocalities/neighborhoods/ postal codes/etc) based on - // dropped terms from approximate geocoding. More info on go/syntheticareas. - // "PROVIDER_GOOGLE_AUTHORITY_PAGE_PHOTOS" - // "PROVIDER_GOOGLE_CROSS_STREETS" - // "PROVIDER_GOOGLE_CORRIDORS" - // "PROVIDER_GOOGLE_BICYCLE_RENTAL" - Similar to Google Transit, a provider - // that aggregates positions of bicycle rental points that we have agreements - // with to show on maps - // "PROVIDER_GOOGLE_CONCRETE_URLS" - // "PROVIDER_GOOGLE_LEANBACK" - // "PROVIDER_GOOGLE_LOCKED_LISTINGS" - // "PROVIDER_GOOGLE_MONITORING" - // "PROVIDER_GOOGLE_SPROUT" - // "PROVIDER_GOOGLE_LOCAL_SEARCH_QUALITY" - // "PROVIDER_GOOGLE_GOBY" - // "PROVIDER_GOOGLE_PROBLEM_REPORT" - // "PROVIDER_GOOGLE_CANDID" - // "PROVIDER_GOOGLE_BIZBUILDER" - // "PROVIDER_AUTOMOTIVE_NAVIGATION_DATA" - This range has been depleted. For - // new Ids see PROVIDER_GOOGLE_SUBRANGE above. - // "PROVIDER_MAPDATA_SCIENCES" - // "PROVIDER_MAPONICS" - // "PROVIDER_SKI_RESORTS" - // "PROVIDER_ZENRIN" - // "PROVIDER_SANBORN" - // "PROVIDER_URBAN_MAPPING" - // "PROVIDER_US_GOVERNMENT" - ABSTRACT - // "PROVIDER_US_CENSUS" - // "PROVIDER_US_POSTAL_SERVICE" - // "PROVIDER_US_GEOLOGICAL_SURVEY" - // "PROVIDER_US_GNIS" - // "PROVIDER_US_LANDSAT" - // "PROVIDER_US_NATIONAL_GEOSPATIAL_INTELLIGENCE_AGENCY" - // "PROVIDER_US_NGA_GNS" - // "PROVIDER_US_SSIBL" - Small Scale International Boundary Lines - // "PROVIDER_US_BUREAU_OF_TRANSPORTATION_STATISTICS" - // "PROVIDER_US_NATIONAL_OCEANIC_AND_ATMOSPHERIC_ADMINISTRATION" - NOAA - // "PROVIDER_US_POLAR_GEOSPATIAL_CENTER" - PGC - // "PROVIDER_US_DEPARTMENT_OF_AGRICULTURE" - USDA - // "PROVIDER_US_NPI_REGISTRY" - National Provider Identifier Registry - // "PROVIDER_US_BUREAU_OF_INDIAN_AFFAIRS" - // "PROVIDER_DMTI_SPATIAL" - // "PROVIDER_INTERNATIONAL_HYDROGRAPHIC_ORGANIZATION" - // "PROVIDER_MAPLINK" - // "PROVIDER_KINGWAY" - // "PROVIDER_GEOCENTRE" - // "PROVIDER_CN_NATIONAL_FOUNDAMENTAL_GIS" - // "PROVIDER_CN_MAPABC" - // "PROVIDER_SMITHSONIAN_INSTITUTE" - // "PROVIDER_TRACKS_FOR_AFRICA" - // "PROVIDER_PPWK" - old name for PROVIDER_NAVIGO - // "PROVIDER_LEADDOG" - // "PROVIDER_CENTRE_DONNEES_ASTRONOMIQUES_STRASBOURG" - // "PROVIDER_GISRAEL" - // "PROVIDER_BASARSOFT" - // "PROVIDER_MAPINFO" - // "PROVIDER_MAPIT" - // "PROVIDER_GEOBASE" - // "PROVIDER_ORION" - // "PROVIDER_CENTRAL_EUROPEAN_DATA_AGENCY" - // "PROVIDER_ANASAT" - // "PROVIDER_MINED_POSTCODES" - // "PROVIDER_DMAPAS" - // "PROVIDER_COMMON_LOCALE_DATA_REPOSITORY" - // "PROVIDER_CH_SBB" - // "PROVIDER_SKENERGY" - // "PROVIDER_GBRMPA" - // "PROVIDER_KOREA_POST" - // "PROVIDER_CN_AUTONAVI" - // "PROVIDER_MINED_POI" - // "PROVIDER_ML_INFOMAP" - // "PROVIDER_SNOOPER" - // "PROVIDER_GEOSISTEMAS" - // "PROVIDER_AFRIGIS" - // "PROVIDER_TRANSNAVICOM" - // "PROVIDER_EASYCONNECT" - // "PROVIDER_LANTMATERIET" - // "PROVIDER_LOGICA" - // "PROVIDER_MAPKING" - // "PROVIDER_DIANPING" - // "PROVIDER_GEONAV" - // "PROVIDER_HEIBONSHA" - // "PROVIDER_DEUTSCHE_TELEKOM" - // "PROVIDER_LINGUISTIC_DATA_CONSORTIUM" - // "PROVIDER_ACXIOM" - // "PROVIDER_DUN_AND_BRADSTREET" - See b/33687395 - // "PROVIDER_FEDERAL_AVIATION_ADMINISTRATION" - // "PROVIDER_INFOUSA" - // "PROVIDER_INFOUSA_NIXIE" - // "PROVIDER_THOMSON_LOCAL" - // "PROVIDER_TELEFONICA_PUBLICIDAD_E_INFORMACION" - // "PROVIDER_WIKIPEDIA" - // "PROVIDER_INFOBEL" - // "PROVIDER_MX_GOVERNMENT" - ABSTRACT - // "PROVIDER_MX_NATIONAL_INSTITUTE_STATISTICS_GEOGRAPHY" - // "PROVIDER_MX_SERVICIO_POSTAL_MEXICANO" - // "PROVIDER_TELEGATE" - // "PROVIDER_TELELISTAS" - // "PROVIDER_MAPCITY" - // "PROVIDER_EXPLAINER_DC" - // "PROVIDER_DAIKEI" - // "PROVIDER_NL_CHAMBER_OF_COMMERCE" - // "PROVIDER_KOREA_INFO_SERVICE" - // "PROVIDER_WIKITRAVEL" - // "PROVIDER_FLICKR" - // "PROVIDER_DIANCO" - // "PROVIDER_VOLT_DELTA" - // "PROVIDER_SG_GOVERNMENT" - ABSTRACT - // "PROVIDER_SG_LAND_TRANSPORT_AUTHORITY" - // "PROVIDER_MAPBAR" - // "PROVIDER_LONGTU" - // "PROVIDER_SA_GOVERNMENT" - ABSTRACT - // "PROVIDER_SA_SAUDI_POST" - // "PROVIDER_PEAKLIST" - // "PROVIDER_LOCAL_BUSINESS_CENTER" - // "PROVIDER_LOCAL_FEED_XML" - UMBRELLA - // "PROVIDER_WEB" - // "PROVIDER_RAILS_TO_TRAILS" - // "PROVIDER_INDIACOM" - // "PROVIDER_INFOMEDIA" - // "PROVIDER_PICASA" - // "PROVIDER_AT_GOVERNMENT" - ABSTRACT - // "PROVIDER_AT_BUNDESAMT_FUR_EICH_UND_VERMESSUNGSWESEN" - // "PROVIDER_AT_NATIONAL_TOURIST_OFFICE" - // "PROVIDER_AT_AUSTRIA_POST" - // "PROVIDER_NO_GOVERNMENT" - ABSTRACT - // "PROVIDER_NO_NORSK_EIENDOMSINFORMASJON" - // "PROVIDER_NO_POSTEN_NORGE_AS" - // "PROVIDER_CH_GOVERNMENT" - ABSTRACT - // "PROVIDER_CH_SWISS_POST" - // "PROVIDER_CH_SWISSTOPO" - // "PROVIDER_CH_SWISS_NATIONAL_PARK" - // "PROVIDER_NAVIT" - // "PROVIDER_GEOSEARCH" - // "PROVIDER_DE_GOVERNMENT" - ABSTRACT - // "PROVIDER_BUNDESAMT_KARTOGRAPHIE_UND_GEODASIE" - // "PROVIDER_BUNDESNETZAGENTUR" - // "PROVIDER_SCHOBER_GROUP" - // "PROVIDER_MIREO" - // "PROVIDER_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_US_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_US_PUBLIC_MUNICIPALITY_WEBSTER_TEXAS" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_AMHERST_MASSACHUSETTS" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_BLOOMINGTON_INDIANA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_PASADENA_CALIFORNIA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_CHULA_VISTA_CALIFORNIA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_TEMPE_ARIZONA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_COLUMBUS_OHIO" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_PORTAGE_MICHIGAN" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_GEORGETOWN_KENTUCKY" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_GREENVILLE_SOUTH_CAROLINA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_NASHVILLE_TENNESSEE" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_WASHINGTON_DISTRICT_OF_COLUMBIA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_BOULDER_COLORADO" - // "PROVIDER_NZ_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_NZ_PUBLIC_MUNICIPALITY_ENVIRONMENT_BAY" - // "PROVIDER_PL_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_PL_PUBLIC_MUNICIPALITY_BIELSKO_BIALA" - // "PROVIDER_DE_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_DE_PUBLIC_MUNICIPALITY_FRANKFURT" - // "PROVIDER_DE_PUBLIC_MUNICIPALITY_HAMBURG" - // "PROVIDER_DE_PUBLIC_MUNICIPALITY_KARLSRUHE" - // "PROVIDER_PT_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_PT_PUBLIC_MUNICIPALITY_SANTA_CRUZ" - // "PROVIDER_AT_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_AT_PUBLIC_MUNICIPALITY_KLAGENFURT" - // "PROVIDER_AT_PUBLIC_MUNICIPALITY_LINZ" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_AZKOITIA" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_BEASAIN" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_GIRONA" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_SAN_SEBASTIAN" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_CATALUNYA" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_HONDARRIBIA" - // "PROVIDER_AU_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_AU_PUBLIC_MUNICIPALITY_LAUNCESTON_TASMANIA" - // "PROVIDER_IS_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_IS_PUBLIC_MUNICIPALITY_REYKJAVIK" - // "PROVIDER_NL_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_NL_PUBLIC_MUNICIPALITY_AMELSTEVEEN" - // "PROVIDER_BE_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_BE_PUBLIC_MUNICIPALITY_ANTWERPEN" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_FREDERICTON_NEW_BRUNSWICK" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_KAMLOOPS_BRITISH_COLUMBIA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_NANAIMO_BRITISH_COLUMBIA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_BANFF_ALBERTA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_CALGARY_ALBERTA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_TORONTO_ONTARIO" - // "PROVIDER_SE_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_SE_PUBLIC_MUNICIPALITY_UMEA" - // "PROVIDER_UA_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_UA_PUBLIC_MUNICIPALITY_KHARKIV" - // "PROVIDER_OTHER_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_OTHER_PUBLIC_MUNICIPALITY_AQUA_CALIENTE_CAHUILLA_INDIANS" - // "PROVIDER_FR_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_FR_PUBLIC_MUNICIPALITY_PONT_AUDEMER" - // "PROVIDER_FR_PUBLIC_MUNICIPALITY_BORDEAUX" - // "PROVIDER_SG_PUBLIC_MUNICIPALITY" - // "PROVIDER_BR_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_BR_PUBLIC_MUNICIPALITY_RIO_DE_JANEIRO" - // "PROVIDER_MAPCUBE" - // "PROVIDER_3D_REALITYMAPS" - // "PROVIDER_DEUTSCHES_ZENTRUM_FUR_LUFT_UND_RAUMFAHRT" - // "PROVIDER_3D_CITIES_SOCIEDADE_ANONIMA" - // "PROVIDER_DISNEY" - // "PROVIDER_CYBERCITY" - // "PROVIDER_PRECISION_LIGHTWORKS_MODELWORKS" - // "PROVIDER_VIRTUAL_HUNGARY_LIMITED" - // "PROVIDER_VIRTUEL_CITY" - // "PROVIDER_SCREAMPOINT_INTERNATIONAL" - // "PROVIDER_AGENTSCHAP_VOOR_GEOGRAFISCHE_INFORMATIE_VLAANDEREN" - // "PROVIDER_FR_GOVERNMENT" - ABSTRACT - // "PROVIDER_FR_INSTITUT_GEOGRAPHIQUE_NATIONAL" - // "PROVIDER_FR_CADASTRE" - // "PROVIDER_DIADIEM" - // "PROVIDER_THE_WEATHER_CHANNEL" - // "PROVIDER_COWI" - // "PROVIDER_FALKPLAN_ANDES" - // "PROVIDER_NL_GOVERNMENT" - ABSTRACT - // "PROVIDER_NL_KADASTER" - // "PROVIDER_NL_BOARD_OF_TOURISM_AND_CONVENTIONS" - // "PROVIDER_DIGITAL_MAP_PRODUCTS" - // "PROVIDER_SILICE_DIGITAL" - // "PROVIDER_TYDAC" - // "PROVIDER_ALBRECHT_GOLF" - // "PROVIDER_HEALTH_CH" - // "PROVIDER_VISITDENMARK" - // "PROVIDER_FLYHERE" - // "PROVIDER_DIGITAL_DATA_SERVICES" - // "PROVIDER_MECOMO" - // "PROVIDER_ZA_GOVERNMENT" - ABSTRACT - // "PROVIDER_ZA_RURAL_DEVELOPMENT_LAND_REFORM" - // "PROVIDER_SENSIS" - // "PROVIDER_JJCONNECT" - // "PROVIDER_OPPLYSNINGEN" - // "PROVIDER_TELLUS" - // "PROVIDER_IQONIA" - // "PROVIDER_BE_GOVERNMENT" - ABSTRACT - // "PROVIDER_BE_NATIONAAL_GEOGRAFISCH_INSTITUUT" - // "PROVIDER_BE_BRUSSELS_MOBILITY" - // "PROVIDER_YELLOWMAP_AG" - // "PROVIDER_STIFTUNG_GESUNDHEIT" - // "PROVIDER_GIATA" - // "PROVIDER_SANPARKS" - // "PROVIDER_CENTRE_DINFORMATIQUE_POUR_LA_REGION_BRUXELLOISE" - // "PROVIDER_INFOPORTUGAL" - // "PROVIDER_NEGOCIOS_DE_TELECOMUNICACOES_E_SISTEMAS_DE_INFORMACAO" - // "PROVIDER_COLLINS_BARTHOLOMEW" - // "PROVIDER_PROTECT_PLANET_OCEAN" - // "PROVIDER_KARTTAKESKUS" - // "PROVIDER_FI_GOVERNMENT" - ABSTRACT - // "PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION" - // "PROVIDER_FI_NATIONAL_LAND_SURVEY" - // "PROVIDER_FI_STATISTICS_FINLAND" - // "PROVIDER_GB_GOVERNMENT" - ABSTRACT - // "PROVIDER_GB_ORDNANCE_SURVEY" - // "PROVIDER_NATURAL_ENGLAND" - // "PROVIDER_WELSH_GOVERNMENT" - // "PROVIDER_GB_OFFICE_FOR_NATIONAL_STATISTICS" - // "PROVIDER_EPSILON" - // "PROVIDER_PARTNER_FRONT_END" - // "PROVIDER_CARTESIA" - // "PROVIDER_SE_GOVERNMENT" - ABSTRACT - // "PROVIDER_SE_TRAFIKVERKET" - // "PROVIDER_SE_NATURVARDSVERKET" - // "PROVIDER_IE_GOVERNMENT" - ABSTRACT - // "PROVIDER_IE_ORDNANCE_SURVEY_IRELAND" - // "PROVIDER_LU_GOVERNMENT" - ABSTRACT - // "PROVIDER_LU_P_AND_T_LUXEMBOURG" - // "PROVIDER_LU_ADMINISTRATION_DU_CADASTRE_ET_DE_LA_TOPOGRAPHIE" - // "PROVIDER_LU_NATIONAL_TOURIST_OFFICE" - // "PROVIDER_MAPFLOW" - // "PROVIDER_TKARTOR" - // "PROVIDER_JUMPSTART" - // "PROVIDER_EPTISA" - // "PROVIDER_MC_GOVERNMENT" - ABSTRACT - // "PROVIDER_MC_PRINCIPAUTE_DE_MONACO" - // "PROVIDER_MONOLIT" - // "PROVIDER_ENVIRONMENTAL_SYSTEMS_RESEARCH_INSTITUTE" - // "PROVIDER_MODIS" - // "PROVIDER_GEOX" - // "PROVIDER_GEODIRECTORY" - // "PROVIDER_GEOPLAN" - // "PROVIDER_INFODIREKT" - // "PROVIDER_GEOGLOBAL" - // "PROVIDER_DEUTSCHE_POST" - // "PROVIDER_TRACASA" - // "PROVIDER_CORREOS" - // "PROVIDER_ES_GOVERNMENT" - ABSTRACT - // "PROVIDER_ES_CENTRO_NACIONAL_DE_INFORMACION_GEOGRAFICA" - // "PROVIDER_EDIMAP" - // "PROVIDER_VERIZON" - // "PROVIDER_NATIONAL_GEOGRAPHIC_MAPS" - // "PROVIDER_PROMAPS" - // "PROVIDER_CONSODATA" - // "PROVIDER_DE_AGOSTINI" - // "PROVIDER_FEDERPARCHI" - // "PROVIDER_NAVIGO" - // "PROVIDER_ITALIAMAPPE" - // "PROVIDER_CZECOT" - // "PROVIDER_NATURAL_EARTH" - // "PROVIDER_REGIO" - // "PROVIDER_SHIPWRECK_CENTRAL" - // "PROVIDER_RUTGERS_STATE_UNIVERSITY" - // "PROVIDER_TWINICE" - // "PROVIDER_NORTHERN_IRELAND_TOURIST_BOARD" - // "PROVIDER_INFOGROUP" - // "PROVIDER_TNET" - // "PROVIDER_CTT_CORREIOS_DE_PORTUGAL" - // "PROVIDER_EUROPARC" - // "PROVIDER_IUPPITER" - // "PROVIDER_MICHAEL_BAUER_INTERNATIONAL" - // "PROVIDER_LEPTON" - // "PROVIDER_MAPPOINT" - // "PROVIDER_GEODATA" - // "PROVIDER_RU_GOVERNMENT" - ABSTRACT - // "PROVIDER_RU_FNS_KLADR" - // "PROVIDER_BR_GOVERNMENT" - ABSTRACT - // - // "PROVIDER_BR_INSTITUTO_BRASILEIRO_DO_MEIO_AMBIENTE_E_DOS_RECURSOS_NATURAIS_RE - // NOVAVEIS" - IBAMA - // "PROVIDER_BR_MINISTERIO_DO_MEIO_AMBIENTE" - MMA - // "PROVIDER_BR_AGENCIA_NACIONAL_DE_AGUAS" - ANA - // "PROVIDER_BR_INSTITUTO_BRASILEIRO_DE_GEOGRAFIA_E_ESTATISTICA" - IBGE - // "PROVIDER_BR_FUNDACAO_NACIONAL_DO_INDIO" - FUNAI - // "PROVIDER_BR_DEPARTAMENTO_NACIONAL_DE_INFRAESTRUTURA_DE_TRANSPORTES" - - // DNIT - // "PROVIDER_AZAVEA" - // "PROVIDER_NORTHSTAR" - // "PROVIDER_COMMEDI" - // "PROVIDER_NEXUS_GEOGRAFICS" - // "PROVIDER_INFOERA" - // "PROVIDER_AD_GOVERNMENT" - ABSTRACT - // "PROVIDER_AD_AREA_DE_CARTOGRAFIA" - Department of Cartography - // "PROVIDER_MAXXIMA" - // "PROVIDER_SI_GOVERNMENT" - ABSTRACT - // "PROVIDER_SI_AGENCY_FOR_ENVIRONMENT" - // "PROVIDER_TRANSPORT_HI_TECH_CONSULTANTS" - // "PROVIDER_L1_TECHNOLOGIES" - // "PROVIDER_TELEMEDIA" - // "PROVIDER_CDCOM_PROGOROD" - // "PROVIDER_MIT_CITYGUIDE" - // "PROVIDER_SUNCART" - // "PROVIDER_MICROMAPPER" - // "PROVIDER_RICHI" - // "PROVIDER_FORUM44" - // "PROVIDER_SEAT" - // "PROVIDER_VALASSIS" - // "PROVIDER_NAVICOM" - // "PROVIDER_COLTRACK" - // "PROVIDER_PSMA_AUSTRALIA" - // "PROVIDER_PT_DUTA_ASTAKONA_GIRINDA" - // "PROVIDER_CA_GOVERNMENT" - ABSTRACT - // "PROVIDER_STATISTICS_CANADA" - // "PROVIDER_TOCTOC" - // "PROVIDER_RMSI" - // "PROVIDER_TRUE_TECHNOLOGY" - // "PROVIDER_INCREMENT_P_CORPORATION" - // "PROVIDER_GOJAVAS" - // "PROVIDER_GEOINFORMATION_GROUP" - // "PROVIDER_CYBERSOFT" - // "PROVIDER_TSENTR_EFFEKTIVNYKH_TEKHNOLOGIY" - 0x12 and 0x120 are not to be - // used. OOO CET - // "PROVIDER_EE_GOVERNMENT" - ABSTRACT - // "PROVIDER_EE_MAA_AMET" - Estonian Land Board - // "PROVIDER_GASBUDDY" - // "PROVIDER_DK_GOVERNMENT" - ABSTRACT - // "PROVIDER_DK_GEODATASTYRELSEN" - Danish Geodata Agency - // "PROVIDER_MURCIA_REGION_GOVERNMENT" - // "PROVIDER_CORREIOS" - // "PROVIDER_WEST_WORLD_MEDIA" - // "PROVIDER_INTERNATIONAL_MAPPING_ASSOCIATION" - // "PROVIDER_MEDICARE" - // "PROVIDER_POLARIS" - // "PROVIDER_TW_GOVERNMENT" - ABSTRACT - // "PROVIDER_TW_MINISTRY_OF_THE_INTERIOR_SURVEYING_AND_MAPPING_CENTER" - // "PROVIDER_NORDECA" - // "PROVIDER_AFRIMAPPING" - // "PROVIDER_OVERDRIVE" - // "PROVIDER_PROVIDER_NETWORK_DIRECTORIES" - // "PROVIDER_BR_MINISTERIO_DA_SAUDE" - // "PROVIDER_DIGITAL_EGYPT" - // "PROVIDER_INRIX" - // "PROVIDER_ARPINDO" - // "PROVIDER_IT_GOVERNMENT" - ABSTRACT - // "PROVIDER_ISTITUTO_GEOGRAFICO_MILITARE" - // "PROVIDER_EAST_END_GROUP" - // "PROVIDER_INGEOLAN" - // "PROVIDER_SEMACONNECT" - // "PROVIDER_BLINK" - // "PROVIDER_EVGO" - // "PROVIDER_CHARGEPOINT" - // "PROVIDER_TPL_TRAKKER" - // "PROVIDER_OI" - // "PROVIDER_MAPARADAR" - // "PROVIDER_SINGAPORE_POST" - // "PROVIDER_CHARGEMASTER" - // "PROVIDER_TESLA" - // "PROVIDER_VISICOM" - // "PROVIDER_GEOLYSIS" - // "PROVIDER_ZEPHEIRA" - // "PROVIDER_HUBJECT" - // "PROVIDER_PODPOINT" - // "PROVIDER_CHARGEFOX" - // "PROVIDER_KR_GOVERNMENT" - ABSTRACT - // "PROVIDER_KR_MOLIT" - Ministry of land, infrastructure and transport, - // 국토교통부, Guktogyotongbu - // "PROVIDER_KR_MINISTRY_OF_THE_INTERIOR_AND_SAFETY" - // "PROVIDER_CRITCHLOW" - // "PROVIDER_EIFRIG" - // "PROVIDER_GIREVE" - // "PROVIDER_CN_NAVINFO" - // "PROVIDER_JAPAN_CHARGE_NETWORK" - // "PROVIDER_NOBIL" - // "PROVIDER_INDIA_BANKS" - // "PROVIDER_INDONESIA_ELECTION_KPU" - // "PROVIDER_CAREERS360" - // "PROVIDER_SOURCE_LONDON" - // "PROVIDER_EVBOX" - // "PROVIDER_JP_GOVERNMENT" - ABSTRACT - // "PROVIDER_JP_MINISTRY_OF_THE_ENVIRONMENT" - // "PROVIDER_YUMYUM" - // "PROVIDER_HWW_AUSTRALIA" - // "PROVIDER_CINERGY" - // "PROVIDER_MTIME" - // "PROVIDER_KULTUNAUT" - // "PROVIDER_BLITZ" - // "PROVIDER_PIA" - // "PROVIDER_INTERPARK" - // "PROVIDER_CINEMA_ONLINE" - // "PROVIDER_BELBIOS" - // "PROVIDER_MOVIESEER" - // "PROVIDER_SODAMEDYA" - // "PROVIDER_ATMOVIES" - // "PROVIDER_HOTELBEDS" - // "PROVIDER_VERICRED" - // "PROVIDER_CIRRANTIC" - // "PROVIDER_GOGO_LABS" - // "PROVIDER_ELECTRIFY_AMERICA" - // "PROVIDER_CMS_MPPUF" - // "PROVIDER_DIGIROAD" - Use PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION. - // "PROVIDER_KONTEX_GEOMATICS" - // "PROVIDER_NZ_GOVERNMENT" - ABSTRACT - // "PROVIDER_NZ_LINZ" - Land Information New Zealand - // "PROVIDER_NZ_DOC" - NZ Department of Conservation - // "PROVIDER_FASTNED" - // "PROVIDER_DESTINY_CS" - // "PROVIDER_IONITY" - // "PROVIDER_EV_CONNECT" - // "PROVIDER_PANPAGES" - // "PROVIDER_ETECNIC" - // "PROVIDER_VOLTA" - // "PROVIDER_NISSAN_MEXICO" - // "PROVIDER_BMW_GROUP_LATIN_AMERICA" - // "PROVIDER_FEDERAL_ELECTRICITY_COMMISSION_MEXICO" - // "PROVIDER_VOLVO_CARS_BRASIL" - // "PROVIDER_CHARGE_AND_PARKING" - // "PROVIDER_DEDUCE_TECHNOLOGIES" - // "PROVIDER_SK_TELECOM" - // "PROVIDER_ECO_MOVEMENT" - // "PROVIDER_GOOGLE_GMS" - // "PROVIDER_EASYWAY" - // "PROVIDER_PHYSICIAN_COMPARE" - // "PROVIDER_HOSPITAL_COMPARE" - // "PROVIDER_ENDOLLA_BARCELONA" - // "PROVIDER_BE_CHARGE" - // "PROVIDER_ONE_NETWORK" - // "PROVIDER_CARENAV_DUPLEX" - // "PROVIDER_CARENAV_POI" - UMBRELLA - // "PROVIDER_IN_GOVERNMENT" - ABSTRACT - // "PROVIDER_SURVEY_OF_INDIA" - // "PROVIDER_E_ON" - // "PROVIDER_ELECTRIFY_CANADA" - // "PROVIDER_GRIDCARS" - // "PROVIDER_DRIVECO" - // "PROVIDER_GREEN_ACTION_STUDIOS" - // "PROVIDER_GREEN_ACTION_STUDIO" - // "PROVIDER_EVINY" - // "PROVIDER_MASTERCARD" - // "PROVIDER_VATTENFALL" - // "PROVIDER_VIETGIS" - // "PROVIDER_UNITE" - // "PROVIDER_NEOGY" - // "PROVIDER_AMPUP" - // "PROVIDER_LOOP" - // "PROVIDER_ZEST" - // "PROVIDER_EZVOLT" - // "PROVIDER_JOLT" - // "PROVIDER_CHARGESMITH" - // "PROVIDER_PLUGO" - // "PROVIDER_ELECTRIC_ERA" - // "PROVIDER_FLO" - // "PROVIDER_DIGITAL_CHARGING_SOLUTIONS" - // "PROVIDER_ELECTRIC_PE" - Note: Next available value is 0x1275. - Provider string `json:"provider,omitempty"` - // RawMetadata: For every key that is used in raw_data from this source, there - // must be a corresponding entry in raw_metadata that describes this key. - RawMetadata []*GeostoreRawMetadataProto `json:"rawMetadata,omitempty"` - // Release: A release string that doesn't have to be a date. This is provided - // so that we can preserve provider release strings that aren't based on dates. - // If you don't set it, the release_date will get formatted into this field for - // debugging purposes. - Release string `json:"release,omitempty"` - // ReleaseDate: The release date of this data. - ReleaseDate *GeostoreDateTimeProto `json:"releaseDate,omitempty"` - // SourceDataset: A data provider defined string describing the source dataset - // from which the features of this data source were generated. For example, the - // MultiNet "fra" dataset produces features for both France and Monaco. - SourceDataset string `json:"sourceDataset,omitempty"` - // ForceSendFields is a list of field names (e.g. "AttributionUrl") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AttributionUrl") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreDataSourceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreDataSourceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreDateTimeProto: WARNING: Outside of FeatureProto, please avoid in -// favor of a standard civil time type. Direct usage is error-prone due to the -// conflation of physical time and civil time (go/httat). In a protocol buffer, -// please use google.type.Date, with an additional google.type.TimeOfDay for -// precision finer-grained than a day. (For google.type.DateTime, -// go/prototime#types cites go/httat#zoned_datetime as a caveat). In a -// programming language, see go/time-devguide/languages. Additionally in C++, -// google3/geostore/base/public/datetime.h has conversion functions between -// DateTimeProto and Abseil's civil time types. -type GeostoreDateTimeProto struct { - // Precision: This attribute describes the precision of the date and time. It - // would be unusual for a data provider to provide a precision along with their - // date. It is more likely that the precision of a date will be inferred from - // the date format. For example "19th century" is likely to be correct to the - // century, while "1800" is probably correct to the year. The precision should - // be semantically interpreted as a cast, so a DateTimeProto object with a - // seconds value corresponding to 2018-03-28 18:40:00 UTC and a precision of - // MONTH should be interpreted as "March 2018". The enums above are only some - // of the possible precision levels for dates and times. Clients may wish to - // add more precision enums in the future. However, these enums must be ordered - // by decreasing duration. Clients should be able to write date formatting code - // that looks like this: if (datetime.precision() <= - // DateTimeProto::PRECISION_CENTURY) { date = - // FormatCenturyDate(proto.seconds()); } else if (proto.precision() <= case - // DateTimeProto::PRECISION_DECADE) { date = FormatDecadeDate(proto.seconds()); - // } else { ... } See geostore/base/public/datetime.h for date formatting - // utility functions. - // - // Possible values: - // "PRECISION_CENTURY" - The enum values here should be ordered from low - // precision to high precision. - // "PRECISION_DECADE" - // "PRECISION_YEAR" - // "PRECISION_MONTH" - // "PRECISION_DAY" - // "PRECISION_HOUR" - // "PRECISION_MINUTE" - // "PRECISION_SECOND" - Precision string `json:"precision,omitempty"` - // Seconds: Number of seconds since (or before) the UNIX epoch (January 1, - // 1970). This is also the standard epoch for Java and Python time - // representations. If it is important for this time be displayed correctly for - // different time zones, convert the time to Coordinated Universal Time (UTC). - Seconds float64 `json:"seconds,omitempty"` - // ForceSendFields is a list of field names (e.g. "Precision") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Precision") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreDateTimeProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreDateTimeProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreDateTimeProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreDateTimeProto - var s1 struct { - Seconds gensupport.JSONFloat64 `json:"seconds"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Seconds = float64(s1.Seconds) - return nil -} - -// GeostoreDimensionComparisonProto: A dimension value tagged with a comparison -// operator. This can be used for height, width, or length. -type GeostoreDimensionComparisonProto struct { - // Possible values: - // "UNSPECIFIED" - // "EQUAL" - // "LESS_THAN" - // "LESS_THAN_OR_EQUAL" - // "GREATER_THAN" - // "GREATER_THAN_OR_EQUAL" - ComparisonOperator string `json:"comparisonOperator,omitempty"` - DimensionWithUnit *GeostoreDimensionProto `json:"dimensionWithUnit,omitempty"` - // ForceSendFields is a list of field names (e.g. "ComparisonOperator") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ComparisonOperator") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreDimensionComparisonProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreDimensionComparisonProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreDimensionProto: A dimension with a numerical value and unit. This -// can be a height, width, or length. -type GeostoreDimensionProto struct { - Dimension float64 `json:"dimension,omitempty"` - // Possible values: - // "UNIT_UNKNOWN" - Default proto value, this value will never be set in - // MapFacts. - // "METERS" - // "FEET" - Unit string `json:"unit,omitempty"` - // ForceSendFields is a list of field names (e.g. "Dimension") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Dimension") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreDimensionProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreDimensionProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreDimensionProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreDimensionProto - var s1 struct { - Dimension gensupport.JSONFloat64 `json:"dimension"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Dimension = float64(s1.Dimension) - return nil -} - -// GeostoreDisplayDataProto: This holds data specific to rendering a POI on a -// map. It's derived from data already in MapFacts, e.g. containing features -// and the feature's point field. If empty, this proto should be ignored for -// rendering. See go/maps-render-alignment for motivation and more details. -type GeostoreDisplayDataProto struct { - // DisplayLocation: The location where this feature should be rendered. - DisplayLocation *GeostorePointProto `json:"displayLocation,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayLocation") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayLocation") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreDisplayDataProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreDisplayDataProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreDisputedAreaProto: This protocol buffer is used to store information -// about disputed areas. E.g., the political power that administers a disputed -// area or the countries that claim it. It should only be used for features of -// TYPE_DISPUTED_AREA. -type GeostoreDisputedAreaProto struct { - // AdministeredBy: If present this feature is administered by the power present - // in the field. In most cases this will be a two letter ISO-3166 region code, - // but may be a descriptive string if no region code is available. - AdministeredBy string `json:"administeredBy,omitempty"` - // Claimant: Feature IDs (usually a country feature ID) of all parties who - // claim this feature. No claimants means the claim by the country that - // contains it (based on country polygon) is not disputed. - Claimant []*GeostoreFeatureIdProto `json:"claimant,omitempty"` - // ForceSendFields is a list of field names (e.g. "AdministeredBy") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AdministeredBy") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreDisputedAreaProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreDisputedAreaProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreDoodleProto: This protocol buffer holds the doodle-specific -// attributes for features of type TYPE_DOODLE. -type GeostoreDoodleProto struct { - // Type: The type of this feature -- see comments above. - // - // Possible values: - // "TYPE_ANY" - ABSTRACT - // "TYPE_USER_DEFINED_LABEL" - A label that a cartographer has manually - // placed on the map. These may be read in from configuration files in a - // renderer and drawn on the map in the appropriate location. - // "TYPE_POINT_ANNOTATION" - Point, line, and area annotations. There used to - // be a more detailed list of doodle types here, but the doodles encoded with - // them turned out to have a fair bit of tricky datasource-specific baggage. - // Rather than list provider-specific types here, they've been pulled out and - // are now private to the importer and the renderer. The point/line/area - // distinction however has proven to be useful for configuration and filtering, - // and remains. - // "TYPE_LINE_ANNOTATION" - // "TYPE_AREA_ANNOTATION" - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreDoodleProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreDoodleProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreDurationBasedRateProto: A single cost which will apply based on the -// duration of utilization. The cost may apply once, or repeatedly on some -// interval, to account for the total utilization. If the duration expressed by -// range_start_seconds and range_end_seconds do not cover the entire duration -// of the utilization (i.e. from 0 to some time greater than the total -// utilization time), this must be combined with other DurationBasedRateProtos -// such that the entire duration of the utilization is accounted for. See -// go/rate-schema for more details. -type GeostoreDurationBasedRateProto struct { - // IsFree: If true, represents that the rate is free; i.e. the price is 0 in - // any currency. If this is true, price must be empty. - IsFree bool `json:"isFree,omitempty"` - // PeriodicitySeconds: The billable unit of the rate; i.e. after having - // utilized the service for exactly periodicity_seconds, the total cost should - // increase by ‘price’. For example, if the rate expresses a price per - // hour, then periodicity_seconds should be set to 3600. If this is unset, then - // the rate does not vary based on duration, and price represents a flat cost. - // May only be set if price is nonempty. - PeriodicitySeconds int64 `json:"periodicitySeconds,omitempty"` - // Price: The total price, in each applicable currency, of utilizing the - // service for periodicity_seconds, or for the entire duration expressed by - // range_start_seconds and range_end_seconds if periodicity_seconds is 0. Each - // entry should have an ID of /measurement_unit/money_value and consist of two - // properties: one with an ID of /measurement_unit/money_value/amount and a - // float value with the amount, and another with the ID - // /measurement_unit/money_value/currency and an ID value with the MID of the - // proper currency. May only be set if is_free is false. - Price []*FreebaseTopic `json:"price,omitempty"` - // RangeEndSeconds: Upper bound for durations to match, exclusive. Unset - // implies indefinite. - RangeEndSeconds int64 `json:"rangeEndSeconds,omitempty"` - // RangeStartSeconds: Lower bound for durations to match, inclusive. Required; - // a value of 0 expresses that the price applies from the start of the - // utilization period. - RangeStartSeconds int64 `json:"rangeStartSeconds,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsFree") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsFree") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreDurationBasedRateProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreDurationBasedRateProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreElevationModelProto: Represents raster digital elevation model data. -type GeostoreElevationModelProto struct { - // BlendOrder: Defines the relative order in which terrain data should be - // rendered. Features with higher blend_order should be blended on top of - // features with lower blend_order. NOTE: this is backwards from the way - // BlendRank works in Magrathean. - BlendOrder int64 `json:"blendOrder,omitempty"` - // DataLevel: The zoom level at which this data is defined. Level 0 is world - // level data, and each increase in zoom level corresponds to a factor of 2 - // increase in scale. - DataLevel int64 `json:"dataLevel,omitempty"` - // DataMaxlevel: The maximum (finest) level at which this terrain data has - // sufficient resolution to be displayed. - DataMaxlevel int64 `json:"dataMaxlevel,omitempty"` - // ElevationData: A place to store an elevation data protocol buffer. - // Currently, this must be a keyhole::AssetTileCompressed (see - // google3/keyhole/common/proto/magrathean.protodevel). - ElevationData *Proto2BridgeMessageSet `json:"elevationData,omitempty"` - // FullChildDataAvailable: If true, all of the data contained in this feature - // is available at the next highest (more detailed) level. If this is true, - // partial_child_data_available should also be true. - FullChildDataAvailable bool `json:"fullChildDataAvailable,omitempty"` - // PartialChildDataAvailable: If true, at least part of the data contained in - // this feature is available at the next highest (more detailed) level. - PartialChildDataAvailable bool `json:"partialChildDataAvailable,omitempty"` - // ForceSendFields is a list of field names (e.g. "BlendOrder") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BlendOrder") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreElevationModelProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreElevationModelProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreElevationProto: This protocol buffer holds elevation and related -// data. -type GeostoreElevationProto struct { - // AverageElevationMeters: The average elevation of the feature in meters above - // the local mean sea level. - AverageElevationMeters float64 `json:"averageElevationMeters,omitempty"` - // Peak: Additional details for TYPE_PEAK and TYPE_VOLCANO features. - Peak *GeostorePeakProto `json:"peak,omitempty"` - // ForceSendFields is a list of field names (e.g. "AverageElevationMeters") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AverageElevationMeters") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreElevationProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreElevationProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreElevationProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreElevationProto - var s1 struct { - AverageElevationMeters gensupport.JSONFloat64 `json:"averageElevationMeters"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.AverageElevationMeters = float64(s1.AverageElevationMeters) - return nil -} - -// GeostoreEntranceProto: This protocol buffer holds entrance-specific -// attributes for features of type TYPE_ENTRANCE. -type GeostoreEntranceProto struct { - // Possible values: - // "ENTER_AND_EXIT" - // "ENTER_ONLY" - // "EXIT_ONLY" - Allowance string `json:"allowance,omitempty"` - // CanEnter: DEPRECATED. Please use enter_or_exit instead. - CanEnter bool `json:"canEnter,omitempty"` - // CanExit: Whether the target can be entered through this entrance. Whether - // the target can be exited through this entrance. - CanExit bool `json:"canExit,omitempty"` - // ForceSendFields is a list of field names (e.g. "Allowance") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Allowance") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreEntranceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreEntranceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreEntranceReferenceProto: Models a relationship between a feature and -// its entrance or exit. -type GeostoreEntranceReferenceProto struct { - // FeatureId: Feature ID of the related entrance. References should refer to - // TYPE_ENTRANCE or TYPE_COMPOUND features that are entrances or exits of the - // referencing feature. - FeatureId *GeostoreFeatureIdProto `json:"featureId,omitempty"` - // ForceSendFields is a list of field names (e.g. "FeatureId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FeatureId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreEntranceReferenceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreEntranceReferenceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreEstablishmentProto: This protocol buffer holds -// establishment-specific attributes for features of type TYPE_ESTABLISHMENT. -type GeostoreEstablishmentProto struct { - // BizbuilderReference: Reference to BizBuilder data for this establishment. - // The bizbuilder_reference field indicates that a feature is claimed in CBDB - // (with the canonical state in MapFacts). The bizbuilder_reference is - // different from the social_reference's claimed_gaia_id because some - // BizBuilder clients will not have +Pages. All claimed businesses should have - // a bizbuilder_reference. - BizbuilderReference *GeostoreBizBuilderReferenceProto `json:"bizbuilderReference,omitempty"` - // Hours: Regular opening hours for the establishment (weekly schedule). - Hours *GeostoreTimeScheduleProto `json:"hours,omitempty"` - // OpeningHours: Opening hours for this establishment, including regular weekly - // hours and exceptional hours (e.g. on holidays). NOTE: in practice, only the - // exceptional hours are filled in this message. A schema migration for regular - // weekly hours was planned back in 2015 (see b/23105782) but was not completed - // and is (as of May 2018) not prioritized. Clients should continue getting - // regular opening hours from the `hours` field above. In openinghours.h there - // is a utility function `GetOpeningHoursFromFeature` that merges - // `EstablishmentProto.hours` into this proto. - OpeningHours *GeostoreOpeningHoursProto `json:"openingHours,omitempty"` - // PriceInfo: Pricing for products and services offered. Example: menus for - // restaurants. - PriceInfo *GeostorePriceInfoProto `json:"priceInfo,omitempty"` - ServiceArea *GeostoreServiceAreaProto `json:"serviceArea,omitempty"` - // Telephone: Telephone number and related information. - Telephone []*GeostoreTelephoneProto `json:"telephone,omitempty"` - // Type: ** DEPRECATED ** This is deprecated in favor of the top-level (in - // FeatureProto) set of GConcepts. The type of establishment -- see comments - // above. - // - // Possible values: - // "TYPE_ANY" - ABSTRACT - // "TYPE_UNDEFINED" - Can be used for features where no establishment - // information is available. For example, if an importer generates a - // TYPE_ESTABLISHMENT_BUILDING feature, but source data does not have any - // information on the actual purpose of the building, the importer should use - // TYPE_UNDEFINED for establishment type. - // "TYPE_DEPRECATED_AVIATION" - DEPRECATED - // "TYPE_BUSINESS" - // "TYPE_TRAVEL_SERVICE" - // "TYPE_LODGING" - // "TYPE_HOTEL" - // "TYPE_RESORT" - // "TYPE_MOTEL" - // "TYPE_HOSTEL" - // "TYPE_GUESTHOUSE" - // "TYPE_VACATION_RENTAL" - // "TYPE_GAS_STATION" - // "TYPE_REST_AREA" - // "TYPE_CASH_MACHINE" - // "TYPE_CAR_RENTAL" - // "TYPE_CAR_REPAIR" - // "TYPE_TAXI_STAND" - // "TYPE_TRAVEL_AGENT" - // "TYPE_BICYCLE_RENTAL_POINT" - // "TYPE_ELECTRIC_VEHICLE_CHARGING_STATION" - // "TYPE_SHOPPING" - // "TYPE_GROCERY" - // "TYPE_ANTIQUES" - // "TYPE_APPAREL" - // "TYPE_GIFTS" - // "TYPE_JEWELRY" - // "TYPE_SPORTING_GOODS" - // "TYPE_VEHICLE" - // "TYPE_SHOPPING_CENTER" - // "TYPE_SUPERMARKET" - // "TYPE_FAIRGROUNDS" - // "TYPE_MARKET" - // "TYPE_PRODUCE_MARKET" - // "TYPE_FARMERS_MARKET" - // "TYPE_LIQUOR_STORE" - // "TYPE_SOUVENIR_SHOP" - // "TYPE_INDUSTRIAL" - // "TYPE_CONSTRUCTION" - // "TYPE_BUILDING_MATERIAL" - // "TYPE_SECURITY_PRODUCTS" - // "TYPE_MECHANICAL" - // "TYPE_TEXTILE" - // "TYPE_CHEMICAL" - // "TYPE_METAL" - // "TYPE_TRANSPORTATION" - // "TYPE_FREIGHT" - // "TYPE_AVIATION" - // "TYPE_COURIER" - // "TYPE_MOVING" - // "TYPE_PACKAGING" - // "TYPE_RAIL" - // "TYPE_PUBLIC_TRANSIT" - // "TYPE_WAREHOUSE" - // "TYPE_DEFENSE" - // "TYPE_AGRICULTURE" - // "TYPE_PLANTATION" - // "TYPE_PLANT_NURSERY" - // "TYPE_DESIGN" - // "TYPE_UTILITIES" - // "TYPE_POWER_PLANT" - // "TYPE_SEWAGE_TREATMENT_PLANT" - // "TYPE_WATER_TREATMENT_PLANT" - // "TYPE_SUBSTATION" - // "TYPE_MANUFACTURING" - // "TYPE_BIOTECH" - // "TYPE_MATERIALS" - // "TYPE_MINING" - // "TYPE_QUARRY" - Note: 0xF213F is reserved to extend TYPE_INDUSTRIAL - // "TYPE_TANNERY" - // "TYPE_OIL_REFINERY" - // "TYPE_ADVERTISING_MARKETING" - // "TYPE_LEGAL" - // "TYPE_FAMILY_LAW" - // "TYPE_IP_LAW" - // "TYPE_LABOR_LAW" - // "TYPE_PERSONAL_INJURY_LAW" - // "TYPE_CRIMINAL_LAW" - // "TYPE_PERSONAL_FINANCE" - // "TYPE_LIFE_INSURANCE" - // "TYPE_LENDING" - // "TYPE_ACCOUNTING" - // "TYPE_INVESTING" - // "TYPE_BANKING" - // "TYPE_HEALTH" - // "TYPE_HEALTH_EQUIPMENT" - // "TYPE_NURSING" - // "TYPE_HEALTH_INSURANCE" - // "TYPE_HEALTH_FACILITY" - // "TYPE_DIAGNOSTIC_CENTER" - // "TYPE_HEALTH_RESOURCES" - // "TYPE_NUTRITION" - // "TYPE_VISION" - // "TYPE_COUNSELING" - // "TYPE_MASSAGE" - // "TYPE_BLOOD_BANK" - // "TYPE_HEARING" - // "TYPE_HOME_GARDEN" - // "TYPE_INTERIOR_DECOR" - // "TYPE_DOMESTIC_SERVICES" - // "TYPE_APPLIANCES" - // "TYPE_PEST_CONTROL" - // "TYPE_GARDENING" - // "TYPE_ELECTRONICS" - // "TYPE_COMPUTER" - // "TYPE_COMPUTER_HARDWARE" - // "TYPE_COMPUTER_SECURITY" - // "TYPE_COMPUTER_SOFTWARE" - // "TYPE_COMPUTER_SUPPORT" - // "TYPE_AUDIO_DEVICES" - // "TYPE_VIDEO_DEVICES" - // "TYPE_REAL_ESTATE" - // "TYPE_OFFICE_SERVICES" - // "TYPE_ENTERTAINMENT" - // "TYPE_GAMES" - // "TYPE_CASINO" - // "TYPE_LOTTO" - // "TYPE_VIDEO" - // "TYPE_CLUBS" - // "TYPE_DISCOTHEQUE" - // "TYPE_ANIMATION" - // "TYPE_MODELING" - // "TYPE_HUMOR" - // "TYPE_MOVIES" - // "TYPE_MOVIE_RENTAL" - // "TYPE_MOVIE_THEATER" - // "TYPE_MUSIC" - // "TYPE_RADIO" - // "TYPE_TV" - // "TYPE_BAR" - // "TYPE_PRINT_MEDIA" - // "TYPE_ADULT" - // "TYPE_SEXUAL_SERVICES" - // "TYPE_ANIMALS" - // "TYPE_PETS" - // "TYPE_FISHERY" - // "TYPE_ARTS" - // "TYPE_BOOKS" - // "TYPE_PERFORMING_ARTS" - // "TYPE_GALLERY" - // "TYPE_AUTOMOTIVE" - // "TYPE_PARTS" - // "TYPE_AUTO_FINANCE" - // "TYPE_AUTO_INSURANCE" - // "TYPE_RV" - // "TYPE_MOTORCYCLES" - // "TYPE_CARS" - // "TYPE_TRUCKS_SUVS" - // "TYPE_LICENSING" - // "TYPE_MAINTENANCE" - // "TYPE_PERSONAL_CARE" - // "TYPE_BODY_ART" - // "TYPE_COSMETICS" - // "TYPE_FITNESS" - // "TYPE_YOGA_CENTER" - // "TYPE_GYM" - // "TYPE_HAIR_CARE" - // "TYPE_SPA" - // "TYPE_BEAUTY_SALON" - // "TYPE_CORPORATE_EVENTS" - // "TYPE_HUMAN_RESOURCES" - // "TYPE_FOOD_AND_DRINK" - // "TYPE_BEVERAGE" - // "TYPE_RECIPES" - // "TYPE_COOKWARE" - // "TYPE_CULINARY" - // "TYPE_RETAIL" - // "TYPE_RESTAURANT" - // "TYPE_COFFEE" - // "TYPE_BAKERY" - // "TYPE_FOOD_CENTER" - // "TYPE_TEA" - // "TYPE_CAFE" - // "TYPE_WINERY" - // "TYPE_BREWERY" - // "TYPE_FAST_FOOD" - // "TYPE_FOOD_DELIVERY" - // "TYPE_INTERNET" - // "TYPE_WEB_DESIGN" - // "TYPE_WEB_HOSTING" - // "TYPE_WEB_SERVICES" - // "TYPE_LIFESTYLE" - // "TYPE_PHOTO_VIDEO" - // "TYPE_ACTIVITIES" - // "TYPE_BOATING" - // "TYPE_CYCLING" - // "TYPE_EQUESTRIAN" - // "TYPE_FISHING" - // "TYPE_HIKING" - // "TYPE_HUNTING" - // "TYPE_SWIMMING" - // "TYPE_GOLF" - // "TYPE_GOLF_COURSE" - // "TYPE_BASEBALL" - // "TYPE_BASKETBALL" - // "TYPE_HOCKEY" - // "TYPE_MOTOR_SPORTS" - // "TYPE_WINTER_SPORTS" - // "TYPE_FOOTBALL" - // "TYPE_SOCCER" - // "TYPE_ICE_SKATING" - // "TYPE_BOXING" - // "TYPE_CRICKET" - // "TYPE_ROWING" - // "TYPE_RUGBY" - // "TYPE_RACQUET_SPORTS" - // "TYPE_ROCK_CLIMBING" - // "TYPE_REFERENCES" - // "TYPE_MAPS" - // "TYPE_TIME" - // "TYPE_SCIENTIFIC_EQUIPMENT" - // "TYPE_TELECOMMUNICATIONS" - // "TYPE_EVENT_VENUE" - // "TYPE_BANQUET_HALL" - // "TYPE_CONFERENCE_HALL" - // "TYPE_WEDDING_HALL" - // "TYPE_EXHIBITION_HALL" - // "TYPE_COMMUNITY_CENTER" - // "TYPE_AUDITORIUM" - // "TYPE_FUNCTION_HALL" - // "TYPE_CONCERT_HALL" - // "TYPE_AMPHITHEATER" - // "TYPE_LAUNDRY" - // "TYPE_LAUNDROMAT" - // "TYPE_DRY_CLEANER" - // "TYPE_MORTUARY" - // "TYPE_REPAIR_AND_MAINTENANCE" - // "TYPE_GOVERNMENT" - // "TYPE_BORDER_CROSSING" - // "TYPE_CITY_HALL" - // "TYPE_COURTHOUSE" - // "TYPE_EMBASSY" - // "TYPE_LIBRARY" - // "TYPE_PRISON" - // "TYPE_TAX_OFFICE" - // "TYPE_PROSECUTORS_OFFICE" - // "TYPE_CONGRESS" - // "TYPE_TOWN_COUNCIL" - // "TYPE_CAPITOL_BUILDING" - // "TYPE_VOTING_FACILITY" - // "TYPE_CHECKPOINT" - // "TYPE_SCHOOL" - // "TYPE_UNIVERSITY" - // "TYPE_ORPHANAGE" - // "TYPE_KINDERGARTEN" - // "TYPE_DAYCARE" - // "TYPE_ACADEMY" - // "TYPE_TRADE_SCHOOL" - // "TYPE_SKILL_INSTRUCTION" - // "TYPE_EMERGENCY" - // "TYPE_HOSPITAL" - // "TYPE_PHARMACY" - // "TYPE_POLICE" - // "TYPE_FIRE" - // "TYPE_DOCTOR" - // "TYPE_DENTIST" - // "TYPE_VETERINARIAN" - // "TYPE_FIRST_AID" - // "TYPE_CIVIL_DEFENSE" - // "TYPE_TOURIST_DESTINATION" - // "TYPE_ECO_TOURIST_DESTINATION" - // "TYPE_BIRD_WATCHING" - // "TYPE_NATURE_RESERVE" - // "TYPE_MUSEUM" - // "TYPE_VISITOR_CENTER" - // "TYPE_OBSERVATION_DECK" - // "TYPE_OBSERVATORY" - // "TYPE_SCENIC_POINT" - // "TYPE_ZOO" - // "TYPE_AQUARIUM" - // "TYPE_AMUSEMENT_PARK" - // "TYPE_MONUMENT" - // "TYPE_PALACE" - // "TYPE_FORT" - // "TYPE_TOWER" - // "TYPE_LIGHTHOUSE" - 0xF6F is reserved and any new types should start with - // 0xF6F1 - // "TYPE_TEMPLE" - // "TYPE_CHURCH" - // "TYPE_GURUDWARA" - // "TYPE_HINDU_TEMPLE" - // "TYPE_MOSQUE" - // "TYPE_SYNAGOGUE" - // "TYPE_BUDDHIST_TEMPLE" - // "TYPE_JAIN_TEMPLE" - // "TYPE_BAHAI_TEMPLE" - // "TYPE_SHINTO_TEMPLE" - // "TYPE_MORMON_TEMPLE" - // "TYPE_SPORTS_COMPLEX" - // "TYPE_STADIUM" - // "TYPE_BOWLING" - // "TYPE_BADMINTON" - // "TYPE_TENNIS" - // "TYPE_TABLE_TENNIS" - // "TYPE_PARK" - State parks, county parks, city parks, wilderness areas. - // This also includes underwater preserves, wild and scenic rivers, etc. Should - // we have things like baseball diamonds? - // "TYPE_LOCAL_PARK" - // "TYPE_NATIONAL_PARK" - // "TYPE_US_NATIONAL_PARK" - // "TYPE_US_NATIONAL_MONUMENT" - // "TYPE_NATIONAL_FOREST" - // "TYPE_NATIONAL_GRASSLAND" - // "TYPE_NATIONAL_PRESERVE" - // "TYPE_NATIONAL_RECREATION_AREA" - // "TYPE_NATIONAL_MONUMENT" - // "TYPE_NATIONAL_HISTORIC_AREA" - // "TYPE_NATIONAL_SCENIC_AREA" - // "TYPE_NATIONAL_SCENIC_ROADWAY_AREA" - // "TYPE_NATIONAL_SCENIC_RIVER_AREA" - // "TYPE_PROVINCIAL_PARK" - // "TYPE_PROVINCIAL_FOREST" - // "TYPE_CAMPGROUNDS" - // "TYPE_WILDERNESS_AREA" - Wildlife management area. This includes - // preservation areas for fish, game, and birds. - // "TYPE_WILDLIFE_AREA" - // "TYPE_BOTANICAL_GARDEN" - // "TYPE_GARDEN" - // "TYPE_ARBORETUM" - // "TYPE_MARINE_PROTECTED_AREA" - // "TYPE_AIRPORT" - An airport is a location where aircraft such as - // fixed-wing aircraft, helicopters, and blimps takeoff and land. NOTE: - // TYPE_TARMAC establishment type has been deprecated in favor of TYPE_TARMAC - // feature type. Once all data is modeled using the new feature type, the entry - // below should be removed. - // "TYPE_TARMAC" - DEPRECATED - // "TYPE_HELIPORT" - A heliport is a small airport suitable only for use by - // helicopters. - // "TYPE_SEAPLANE_BASE" - A seaplane base is a special airport suitable for - // seaplanes. - // "TYPE_MILITARY_AIRBASE" - An airbase (sometimes referred to correctly as - // an airfield, military airport, or Royal Air Force Station or Air Force - // Station) is a military airfield that provides basing and support of military - // aircraft. - // "TYPE_CEMETERY" - // "TYPE_MILITARY" - // "TYPE_ENCLOSED_TRAFFIC_AREA" - The term "enclosed traffic area" is used - // extensively in Europe. It generally refers to a parking lot or other similar - // area through which traffic passes but are not generally considered to be a - // road. Another example is a piazza in an Italian town. - // "TYPE_PARKING" - Establishment TYPE_PARKING is used for parking lots or - // garages. The actual feature type can be TYPE_ESTABLISHMENT_GROUNDS or - // TYPE_ESTABLISHMENT_BUILDING to distinguish between those. - // "TYPE_OFF_ROAD_AREA" - // "TYPE_POST_OFFICE" - // "TYPE_HOUSING_DEVELOPMENT" - In some country (like China), there will have - // a small area of housing development. Normally covers one or more city - // blocks. - // "TYPE_BRIDGE" - In the Australian data we get bridges as POIs effectively. - // We'd like to include them so we can mapsearch for "Sydney Harbour Bridge" - // and others. Many other data sets have bridges modeled directly as segments, - // and so don't require this. - // "TYPE_ARCHAEOLOGICAL" - // "TYPE_HISTORICAL" - In some countries historical objects are well known - // and important. - // "TYPE_RUINS" - // "TYPE_TUNNEL" - Feature must be TYPE_ESTABLISHMENT_GROUNDS. - // "TYPE_RESIDENTIAL_DWELLING" - These types, when used with appropriate - // feature type (TYPE_ESTABLISHMENT_BUILDING, TYPE_ESTABLISHMENT_GROUNDS) can - // refer to a single building or a residential area (respectively). - // "TYPE_DETACHED_DWELLING" - // "TYPE_ATTACHED_DWELLING" - // "TYPE_APARTMENT" - All multi-unit housing such as duplex, condominium, - // apartment belongs to this. - // "TYPE_GATED_COMMUNITY" - // "TYPE_RETIREMENT_HOME" - // "TYPE_TOLL_BOOTH" - In Korea most toll booths have their own names, and - // are often used as reference points. If an importer generates TYPE_TOLL_BOOTH - // establishment features with exact positions and names, then mapsearch will - // index them. Also this can be used to render them. - // "TYPE_CULTURAL" - // "TYPE_CULTURAL_CENTER" - // "TYPE_OVERPASS" - An overpass, or flyover is a structure that passes over - // another road or railway. - // "TYPE_REST_ROOM" - // "TYPE_PUBLIC_PHONE" - // "TYPE_PHONE_BOOTH" - // "TYPE_MANNED_PCO" - // "TYPE_RESEARCH_INSTITUTE" - // "TYPE_NON_GOVERNMENTAL_ORGANIZATION" - // "TYPE_OFFICE_PARK" - // "TYPE_MEDITATION_CENTER" - // "TYPE_RELIGIOUS" - // "TYPE_MONASTERY" - // "TYPE_ASHRAM" - // "TYPE_PAGODA" - // "TYPE_MISSION" - // "TYPE_PILGRIM_DESTINATION" - // "TYPE_SOCIAL_SERVICE" - // "TYPE_RANGER_STATION" - // "TYPE_TRANSIT_STATION" - Hierarchy of transit station types. See - // go/transit-schema for more details. - // "TYPE_BUS_STATION" - // "TYPE_TRAMWAY_STATION" - // "TYPE_TRAIN_STATION" - // "TYPE_SUBWAY_STATION" - // "TYPE_FERRY_TERMINAL" - // "TYPE_CABLE_CAR_STATION" - // "TYPE_GONDOLA_LIFT_STATION" - // "TYPE_FUNICULAR_STATION" - // "TYPE_HORSE_CARRIAGE_STATION" - // "TYPE_MONORAIL_STATION" - // "TYPE_SEAPORT" - // "TYPE_NATURAL_FEATURE" - // "TYPE_ELEVATED" - // "TYPE_PEAK" - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "BizbuilderReference") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BizbuilderReference") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreEstablishmentProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreEstablishmentProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreExceptionalHoursProto: An ExceptionalHoursProto holds information -// about exceptional (non-regular) hours for a business, such as holiday hours. -type GeostoreExceptionalHoursProto struct { - // Hours: The weekly schedule to be applied for the dates that fall within the - // range. The schedule may contain hours only for days of the week that occur - // during the date range specified in the range field. - Hours *GeostoreBusinessHoursProto `json:"hours,omitempty"` - // Metadata: Field-level metadata for this exception. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // Range: The dates for which this exception applies, expressed as a half open - // interval. For example, an exception that applies for the entire month of - // December 2015 should have a range December 1, 2015 to January 1, 2016. Any - // regular hours that start on days in this range are ignored and replaced by - // the exceptional hours for that day. The TimeIntervalProto for the range must - // be a fully specified, non-empty, and non-inverted range of dates. - // Concretely, the requirements are: * the range must be a TYPE_RANGE interval - // * the interval may not be inverted * the endpoints of the interval must - // specify a year, month, and day * the day_type of each endpoint must be type - // DAY_OF_MONTH * the endpoints may not specify hour, minute, second, week, or - // week_type * the begin endpoint must predate the end endpoint - Range *GeostoreTimeIntervalProto `json:"range,omitempty"` - // ForceSendFields is a list of field names (e.g. "Hours") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Hours") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreExceptionalHoursProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreExceptionalHoursProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreExistenceProto struct { - // CloseReason: Structured reason for the permanent closure (if any). - // - // Possible values: - // "CLOSED" - The establishment is permanently closed. - // "MOVED" - The establishment moved to another location. There may be a new - // feature representing the "same" establishment at its new location and if so, - // this feature should have a RELATION_BUSINESS_MOVED relation to that other - // feature. - // "REBRANDED" - The establishment was rebranded. There may be a new feature - // representing the "same" establishment with its new branding and if so, this - // feature should have a RELATION_BUSINESS_REBRANDED relation to that other - // feature. WARNING: New edits no longer use REBRANDED or - // RELATION_BUSINESS_REBRANDED. For more context, see - // go/geo-schema-reference:operational-lifecycle#rebranded-schema-status. - CloseReason string `json:"closeReason,omitempty"` - // Closed: Indicates whether the place is closed (permanently or temporarily), - // i.e., not operational in the present, but was in the past. WARNING: New code - // should prefer go/geo-schema-reference:operational-status. - Closed bool `json:"closed,omitempty"` - // EndAsOfDate: The earliest known date of this feature's "end" (e.g. an - // establishment's permanent closure), if the actual date is unknown; i.e. the - // best known upper bound of the day end_date would represent. end_as_of_date - // must be in local (civil) time and of PRECISION_DAY. WARNING: Not necessarily - // consistent yet with `closed` or the ClosureAttachmentProto. If you believe - // you need to use this field directly, please go/contact-geo-schema. - EndAsOfDate *GeostoreDateTimeProto `json:"endAsOfDate,omitempty"` - EndDate *GeostoreDateTimeProto `json:"endDate,omitempty"` - // FeatureBirthTimestampSeconds: ** DEPRECATED ** This field is now deprecated - // (see b/22878252). Please use the Geo Schema GetFeatureBirthTimestamp() API - // to extract the birth timestamp of a feature. The timestamp in seconds since - // the UNIX epoch (January 1, 1970) when this feature becomes live in the Geo - // repository. This was the birth date of the place's representation in Google - // whereas start_date is the birth date of the place's operations in the - // physical world. - FeatureBirthTimestampSeconds int64 `json:"featureBirthTimestampSeconds,omitempty,string"` - // Removed: Indicates whether the feature is marked as removed in the Geo - // repository. Removed features are still present in the Geo repository but are - // considered to be in an inactive state (not valid for lint purposes, not - // retrievable except explicitly by feature ID, etc.). NOTE: If you have access - // to a complete FeatureProto, do NOT read this bit directly to find out - // whether a feature is removed. Instead, rely on the IsFeatureRemoved() API, - // available in C++ (geostore/base/public/feature.h) and Java - // (geostore/base/Feature.java). - Removed bool `json:"removed,omitempty"` - // RemovedReason: Structured reason why the feature is marked as removed. - // Relevant only when removed == true. - // - // Possible values: - // "UNKNOWN" - Reason unknown or not captured by one of the other values. - // "BOGUS" - Bogus data - doesn't represent a real world geographic place or - // is just largely bad/incorrect data. - // "PRIVATE" - Considered "private" data. We do not want to display this data - // to users, but we allow it to remain in MapFacts indefinitely. - // "PRIVATE_MUST_PURGE" - Considered "private" data, which has been or will - // soon be fully removed from MapFacts and related systems (other than feature - // id and existence metadata). - // "SPAM" - Bad data that was intentionally/maliciously contributed. - // "UNSUPPORTED" - Not enough data to support the existence of the feature. - // Different from the BOGUS case in that there is no positive evidence that - // place is/was incorrect. NOTE: This removal reason can only be set/unset by - // PROVIDER_GOOGLE_LOCAL_ALCHEMY and PROVIDER_GOOGLE_OYSTER_AUTO_EDITS. - // "PENDING" - Indicates that the existence of the place is yet to be - // justified. - // "DUPLICATE" - Place has been identified as duplicate of and merged to - // another place. NOTE: This removal reason cannot be set for TYPE_SEGMENT. - // NOTE: If you have access to a complete FeatureProto, do NOT read this bit - // directly to find out whether a feature is a duplicate. Instead, rely on the - // IsDuplicateFeature() API, available in C++ (geostore/base/public/feature.h) - // and Java (geostore/base/Feature.java). - // "OLD_SCHEMA" - The feature uses an old version of the Geo Schema (e.g. it - // has a deprecated feature type). - // "REPLACED" - Feature has been replaced by one or more other features. E.g. - // a segment got split and is now replaced by 2 segments. This is different - // than DUPLICATE because the feature is not a duplicate (in the identity - // sense) of the feature(s) that replace it. NOTE: this removal reason is - // currently allowed to be set only on TYPE_SEGMENT features. - // "ROLLED_BACK" - The edit that created the feature has been rolled back. - RemovedReason string `json:"removedReason,omitempty"` - // StartDate: (Initial) start and (permanent) end dates of operations, such - // that start_date is the first day operational and end_date is the first day - // when operations have permanently ended. The only allowed precisions are - // PRECISION_DAY, PRECISION_MONTH, PRECISION_YEAR. DateTimeProto.seconds should - // have the lowest legal value for the desired date/time and precision. E.g. - // for PRECISION_MONTH, 2019-02-15 21:10:30 is not valid, it should be - // 2019-02-01 00:00:00 instead. NOTE: The start_date and end_date are stored in - // UTC but should be interpreted as being in the local timezone. So clients - // should convert the DateTimeProto to local (civil) time using UTC+0, and then - // treat the result as local to the feature. - StartDate *GeostoreDateTimeProto `json:"startDate,omitempty"` - // ForceSendFields is a list of field names (e.g. "CloseReason") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloseReason") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreExistenceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreExistenceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFeatureFieldMetadataProto: Provenance information for sub-fields of -// this feature - go/subfield-provenance. -type GeostoreFeatureFieldMetadataProto struct { - FieldProvenance []*GeostoreFeatureFieldMetadataProtoFieldProvenance `json:"fieldProvenance,omitempty"` - // ForceSendFields is a list of field names (e.g. "FieldProvenance") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FieldProvenance") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFeatureFieldMetadataProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFeatureFieldMetadataProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreFeatureFieldMetadataProtoFieldProvenance struct { - // FieldPath: Represents all fields for which this SourceInfo is valid. NOTE: - // Field paths are rooted at FeatureProto level. - FieldPath []*GeostoreStableFieldPathProto `json:"fieldPath,omitempty"` - Provenance *GeostoreProvenanceProto `json:"provenance,omitempty"` - // ForceSendFields is a list of field names (e.g. "FieldPath") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FieldPath") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFeatureFieldMetadataProtoFieldProvenance) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFeatureFieldMetadataProtoFieldProvenance - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFeatureHistoryMetadataProto: Metadata related to the history of a -// given feature in the Geo repository. -type GeostoreFeatureHistoryMetadataProto struct { - // FeatureBirthTimestampUs: The timestamp (in microseconds since the UNIX - // epoch) when this feature first went live in the Geo repository. Note that - // this has no relation to the birth data of that geographical entity in the - // real world. - FeatureBirthTimestampUs int64 `json:"featureBirthTimestampUs,omitempty,string"` - // LastModificationTimestampUs: The timestamp (in microseconds since the UNIX - // epoch) of the last modification to the feature. Note this includes - // attachment modifications. The feature's initial creation is also considered - // as a modification. This is useful for those that consume features via both - // listening to notifications and reading from repository snapshots. This - // timestamp can be used to decide whether a feature in the snapshot was - // already seen in a more recent state through the notifications. - LastModificationTimestampUs int64 `json:"lastModificationTimestampUs,omitempty,string"` - // RemovalTimestampUs: The timestamp (in microseconds since the UNIX epoch) of - // the deletion time of the feature. If the feature is currently removed, this - // field gets populated with the timestamp the feature first became removed - // after being live (or being removed from beginning). This field won't be set - // if the feature is live. - RemovalTimestampUs int64 `json:"removalTimestampUs,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "FeatureBirthTimestampUs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FeatureBirthTimestampUs") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFeatureHistoryMetadataProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFeatureHistoryMetadataProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFeatureIdForwardingsProto: Feature ID forwardings. There are many -// different types of ID forwardings, some of which are attached to live -// features, others to removed features. This information is available in -// multiple forms (with different completeness guarantees): (1) in RPC -// responses to read requests to the live Geo repository; (2) on disk, as part -// of the metadata section of features found in the (inactive) features -// snapshots; (3) on disk, as part of a separate feature_id_forwardings side -// table. -type GeostoreFeatureIdForwardingsProto struct { - // DuplicateOf: If the feature has been marked as a DUPLICATE of another - // feature, this is the feature ID of that other feature. Note that the other - // feature may itself be removed. This field is always set. - DuplicateOf *GeostoreFeatureIdProto `json:"duplicateOf,omitempty"` - // ForwardedId: The feature ID of the forwarded feature. This field is only set - // in case (3). - ForwardedId *GeostoreFeatureIdProto `json:"forwardedId,omitempty"` - // InactiveDuplicate: If other features have been marked as DUPLICATE of this - // feature, this is the set of all such feature IDs. All feature IDs in this - // set should be for removed (aka inactive) features. Note that in the context - // of historical read requests against MapFacts (when - // ReadRequest.version_selection.timestamp is set), this field won't be set. - InactiveDuplicate []*GeostoreFeatureIdProto `json:"inactiveDuplicate,omitempty"` - // ReplacedBy: DEPRECATED - Use feature.metadata.feature_replacement_info - // instead. This field was never populated. - ReplacedBy *GeostoreFeatureIdListProto `json:"replacedBy,omitempty"` - // TransitivelyDuplicateOf: If the feature has been transitively marked as a - // DUPLICATE of another feature (via a chain of size >= 1), this is the feature - // ID of that other feature which is the end of the chain. The field is always - // set even if the chain is of size 1. Note that the other feature may itself - // be removed. This field is only set in case (3). - TransitivelyDuplicateOf *GeostoreFeatureIdProto `json:"transitivelyDuplicateOf,omitempty"` - // ForceSendFields is a list of field names (e.g. "DuplicateOf") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DuplicateOf") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFeatureIdForwardingsProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFeatureIdForwardingsProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFeatureIdListProto: A simple list of feature IDs. -type GeostoreFeatureIdListProto struct { - // Id: The list of feature IDs. While the exact semantics of these IDs are - // usage-dependent, the list should never be empty or contain duplicates. - Id []*GeostoreFeatureIdProto `json:"id,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFeatureIdListProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFeatureIdListProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFeatureIdProto: A globally unique identifier associated with each -// feature. We use 128-bit identifiers so that we have lots of bits available -// to distinguish between features. The feature id currently consists of a -// 64-bit "cell id" that **sometimes** corresponds to the approximate centroid -// of the feature, plus a 64-bit fingerprint of other identifying information. -// See more on each respective field in its comments. Feature ids are first -// assigned when the data is created in MapFacts. After initial creation of the -// feature, they are immutable. This means that the only properties that you -// should rely on are that they are unique, and that cell_ids often - but not -// always - preserve spatial locality. The degree of locality varies as the -// feature undergoes geometry changes, and should not in general be considered -// a firm guarantee of the location of any particular feature. In fact, some -// locationless features have randomized cell IDs! Consumers of FeatureProtos -// from Mapfacts are guaranteed that fprints in the id field of features will -// be globally unique. Using the fprint allows consumers who don't need the -// spatial benefit of cell ids to uniquely identify features in a 64-bit -// address space. This property is not guaranteed for other sources of -// FeatureProtos. -type GeostoreFeatureIdProto struct { - // CellId: The S2CellId corresponding to the approximate location of this - // feature as of when it was first created. This can be of variable accuracy, - // ranging from the exact centroid of the feature at creation, a very large S2 - // Cell, or even being completely randomized for locationless features. Cell - // ids have the nice property that they follow a space-filling curve over the - // surface of the earth. (See s2cellid.h for details.) WARNING: Clients should - // only use cell IDs to perform spatial locality optimizations. There is no - // strict guarantee that the cell ID of a feature is related to the current - // geometry of the feature in any way. - CellId uint64 `json:"cellId,omitempty,string"` - // Fprint: A 64-bit fingerprint used to identify features. Most clients should - // rely on MapFacts or OneRing to choose fingerprints. If creating new fprints, - // the strategy should be chosen so that the chance of collision is remote or - // non-existent, and the distribution should be reasonably uniform. For - // example, if the source data assigns unique ids to features, then a - // fingerprint of the provider name, version, and source id is sufficient. - Fprint uint64 `json:"fprint,omitempty,string"` - // TemporaryData: A place for clients to attach arbitrary data to a feature ID. - // Never set in MapFacts. - TemporaryData *Proto2BridgeMessageSet `json:"temporaryData,omitempty"` - // ForceSendFields is a list of field names (e.g. "CellId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CellId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFeatureIdProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFeatureIdProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFeatureMetadataProto: General metadata related to a given feature in -// the Geo repository. -type GeostoreFeatureMetadataProto struct { - // BulkUpdatable: This field indicates whether the feature is subject to bulk - // updates. Caution must be exercised while editing such features since the - // changes made by the edits will be overwritten by the bulk update (if the - // feature is bulk updated). See go/mapfacts-abu for more information. - // - // Possible values: - // "NOT_BULK_UPDATABLE" - The feature will not be bulk updated. - // "BULK_UPDATABLE" - The feature has been bulk updated, and may be bulk - // updated again in the future. Note that this refers specifically to the - // atomic bulk-upload process, not methods of applying large sets of - // (independent) edits (e.g. with BEST). - BulkUpdatable string `json:"bulkUpdatable,omitempty"` - // CoreVersionToken: core_version_token is an opaque token representing the - // version of the core fields of the feature. This field is not updated when - // attachments are changed. - CoreVersionToken string `json:"coreVersionToken,omitempty"` - // FeatureReplacementInfo: Metadata for tracking when a feature is derived from - // or replaced by another feature or set of features. - FeatureReplacementInfo *GeostoreFeatureReplacementInfoProto `json:"featureReplacementInfo,omitempty"` - // FieldMetadata: Metadata about certain repeated fields and their subfields, - // for which field type is not granular enough. - FieldMetadata *GeostoreFeatureFieldMetadataProto `json:"fieldMetadata,omitempty"` - // Forwardings: Feature ID forwardings, if applicable. - Forwardings *GeostoreFeatureIdForwardingsProto `json:"forwardings,omitempty"` - // History: Metadata related to the history. - History *GeostoreFeatureHistoryMetadataProto `json:"history,omitempty"` - // VersionToken: version_token is an opaque token representing the version of - // this feature. It can be used as a concurrency token when sending edits. - VersionToken string `json:"versionToken,omitempty"` - // ForceSendFields is a list of field names (e.g. "BulkUpdatable") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BulkUpdatable") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFeatureMetadataProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFeatureMetadataProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFeaturePropertyIdProto: Message to represent a "feature property" as -// an abstract construct. Most feature properties are mapped one to one with -// the EditProto field types. However in some cases the EditProto field type -// granularity is too coarse to support use-cases that rely on feature -// properties (such as per-value rights tracking). When that is the case, the -// feature property is augmented with a secondary field. -type GeostoreFeaturePropertyIdProto struct { - // AttachmentTypeId: Required when field_type == ATTACHMENT. - AttachmentTypeId uint64 `json:"attachmentTypeId,omitempty,string"` - // AttributeId: Required when field_type == FEATURE_ATTRIBUTE. - AttributeId string `json:"attributeId,omitempty"` - // Possible values: - // "NONE" - // "ACCESS_POINT" - // "ADDRESS" - // "ANCHORED_GEOMETRY_GEOMETRY_ID" - // "ASSOCIATED_EV_CHARGING_STATION" - // "ATTACHMENT" - // "BIZBUILDER_REFERENCE" - // "BORDER_FEATURE_ID_LEFT" - // "BORDER_FEATURE_ID_RIGHT" - // "BORDER_OVERRIDE_STATUS" - // "BORDER_STATUS" - // "BORDER_TYPE" - // "BORDER_LOGICAL_BORDER" - // "BOUND" - // "BUILDING_BASE_HEIGHT_METERS_AGL" - // "BUILDING_DEFAULT_DISPLAY_LEVEL" - // "BUILDING_FLOORS" - // "BUILDING_HEIGHT_METERS" - // "BUILDING_LEVEL" - // "BUILDING_STRUCTURE" - // "BUSINESS_CHAIN_CANONICAL_GCONCEPT" - // "BUSINESS_HOURS" - // "DATA_SOURCE" - // "DETAILED_3D_MODEL" - // "DISPLAY_DATA" - // "DISPUTED_AREA_ADMINISTERED_BY" - // "DISPUTED_AREA_CLAIMANT" - // "ENTRANCE_ALLOWANCE" - // "ESTABLISHMENT_OPENING_HOURS_EXCEPTION" - // "ESTABLISHMENT_OPENING_HOURS_REGULAR_HOURS" - // "ESTABLISHMENT_PRICE_INFO" - // "ESTABLISHMENT_SERVICE_AREA_SERVED_FEATURE" - // "EXISTENCE_STATUS" - // "FEATURE_AVERAGE_ELEVATION" - // "FEATURE_BEST_LOCALE" - // "FEATURE_CELL_COVERING" - // "FEATURE_CENTER" - // "FEATURE_CHILD" - // "FEATURE_EXEMPT_REGULATED_AREA" - // "FEATURE_INTERIOR_CELL_COVERING" - // "FEATURE_NAME" - // "FEATURE_PARENT" - // "FEATURE_POSE" - // "FEATURE_PREFERRED_VIEWPORT" - // "FEATURE_TRACK" - // "FEATURE_TYPE" - // "FEATURE_WEBSITE" - // "FIELD_RIGHTS" - // "FUTURE_GEOMETRY" - // "FUTURE_GEOMETRY_FOR" - // "GCONCEPT" - // "GEOMETRY_3D" - // "GEOMETRY_PRECISION_METERS" - // "GEOPOLITICAL_CONVEYS_ATTRIBUTION_TO" - // "GEOPOLITICAL_REGION_SPECIFIC_NAME" - // "GEOPOLITICAL_REGIONAL_POLYGON_ADJUSTMENT" - // "GEOPOLITICAL_REGIONAL_POLYGON_COMPOSING_CLAIMS" - // "GEOPOLITICAL_GEOMETRY_REST_OF_WORLD_POLYGON" - // "GEOPOLITICAL_GEOMETRY_SELF_POLYGON" - // "INFERRED_GEOMETRY_GEOMETRY_COMPOSITION" - // "INFERRED_GEOMETRY_DEFINES_GEOMETRY_FOR" - // "INTERSECTION" - // "INTERSECTION_GROUP" - // "INTERSECTION_GROUP_CHILD_GROUP" - // "INTERSECTION_GROUP_GROUP_TYPE" - // "INTERSECTION_GROUP_PARENT_GROUP" - // "INTERSECTION_IN_GROUP" - // "INTERSECTION_TOLL_CLUSTER" - // "IN_SEGMENT" - // "KNOWLEDGE_GRAPH_PROPERTY" - // "LABEL_BACKGROUND_COLOR" - // "LABEL_TEXT_COLOR" - // "LANE_MARKER_BARRIER_MATERIALS" - // "LANE_MARKER_CROSSING_PATTERN" - // "LANE_MARKER_LINEAR_PATTERN" - // "LEVEL_BUILDING" - // "LEVEL_NUMBER" - // "LOCALE_LANGUAGE" - // "LOCALE_LOCALIZATION_POLICY_ID" - // "LOGICAL_BORDER_BORDER_SEGMENT" - // "LOGICAL_BORDER_STATUS" - // "OPERATIONS_TEMPORARY_CLOSURE" - // "PARKING_ALLOWANCE" - // "PARKING_AVAILABLE" - // "PARKING_OPENING_HOURS_EXCEPTION" - // "PARKING_OPENING_HOURS_REGULAR_HOURS" - // "PARKING_PROVIDER_FEATURE" - // "PARKING_RESTRICTION" - // "PEAK_PROMINENCE" - // "PHONE_NUMBER" - // "POINT" - // "POLITICAL_CLAIM" - // "POLYGON" - // "POLYGON_FOR_DISPLAY" - // "POLYLINE" - // "RANK" - // "RANK_SIGNAL" - // "REGULATED_AREA_RESTRICTION" - // "RELATED_BORDER" - // "RELATED_ENTRANCE" - // "RELATED_FEATURE" - // "RELATED_TERMINAL_POINT" - // "RELATED_TIMEZONE" - // "RESTRICTION_GROUP_SEGMENT" - // "ROAD_MONITOR_MONITORED_ROAD" - // "ROUTE_CHILD_TYPE" - // "SCHOOL_DISTRICT_TYPE" - // "SEGMENT_ADVISORY_MAXIMUM_SPEED" - // "SEGMENT_AVERAGE_SPEED" - // "SEGMENT_BARRIER" - // "SEGMENT_BICYCLE_FACILITY" - // "SEGMENT_BICYCLE_SAFETY" - // "SEGMENT_CONDITION" - // "SEGMENT_CONSTRUCTION_BEGIN_DATE" - // "SEGMENT_CONSTRUCTION_END_DATE" - // "SEGMENT_CONSTRUCTION_STATUS" - // "SEGMENT_COVERED" - // "SEGMENT_DISTANCE_TO_EDGE" - // "SEGMENT_EDGE_FOLLOWS_SEGMENT_BEGIN_FRACTION" - // "SEGMENT_EDGE_FOLLOWS_SEGMENT_END_FRACTION" - // "SEGMENT_ELEVATION" - // "SEGMENT_ENDPOINT" - // "SEGMENT_GRADE_LEVEL_LIST" - // "SEGMENT_INTERNAL_DISALLOWED_CONNECTIONS" - // "SEGMENT_INTERNAL_DISALLOWED_PRIMARY_CONNECTION" - // "SEGMENT_INTERNAL_TRAVEL_ALLOWANCE" - // "SEGMENT_INTERPOLATION_OFFSET_METERS" - // "SEGMENT_IS_MAX_PERMITTED_SPEED_DERIVED" - // "SEGMENT_LANE" - // "SEGMENT_LEGAL_MAXIMUM_SPEED" - // "SEGMENT_LEGAL_MINIMUM_SPEED" - // "SEGMENT_MAX_SPEED" - // "SEGMENT_ON_RIGHT" - // "SEGMENT_PATH" - // "SEGMENT_PEDESTRIAN_CROSSING" - // "SEGMENT_PEDESTRIAN_FACILITY" - // "SEGMENT_PEDESTRIAN_GRADE" - // "SEGMENT_PRIORITY" - // "SEGMENT_RAMP_MAX_CONNECTED_PRIORITY" - // "SEGMENT_RESTRICTION" - // "SEGMENT_ROAD_CAMERA" - // "SEGMENT_ROAD_SIGN" - // "SEGMENT_ROUTE" - // "SEGMENT_ROUTE_ASSOCIATION" - // "SEGMENT_SEPARATED_ROADWAYS" - // "SEGMENT_SLOPE" - // "SEGMENT_SURFACE" - // "SEGMENT_SWEEP" - // "SEGMENT_TOLL_ROAD" - // "SEGMENT_USAGE" - // "SEGMENT_VISIBLE_LANDMARK" - // "SIGN_COMPONENT" - // "SOCIAL_REFERENCE_CLAIMED_GAIA_ID" - // "SOURCE_INFO" - // "STATUS_CLOSED" - // "STATUS_CLOSE_REASON" - // "STATUS_END_AS_OF_DATE" - // "STATUS_END_DATE" - // "STATUS_REMOVED" - // "STATUS_REMOVED_REASON" - // "STATUS_START_DATE" - // "STOREFRONT_GEOMETRY" - // "STOREFRONT_GEOMETRY_MODEL" - // "SYNTHETIC_GEOMETRY" - // "THREE_DIMENSIONAL_MODEL" - // "TOLL_CLUSTER_INTERSECTION" - // "TOLL_PATH_TOLL_CLUSTER_SEQUENCE" - // "TRANSIT_LINE_AGENCY" - // "TRANSIT_LINE_STATION" - // "TRANSIT_LINE_VARIANT_LINE_CONCEPT" - // "TRANSIT_LINE_VARIANT_STOP" - // "TRANSIT_LINE_VEHICLE_TYPE" - // "TRANSIT_STATION_AGENCY_ASSOCIATION" - // "VERTICAL_ORDERING_LEVEL" - // "VISUALIZATION_AREA" - // "WATER_REMOVED_POLYGON" - // "DEPRECATED_DO_NOT_USE_EMAIL_ADDRESS" - // "DEPRECATED_DO_NOT_USE_RANK_GEOMETRY" - // "DEPRECATED_DO_NOT_USE_SEGMENT_INFO" - // "DEPRECATED_DO_NOT_USE_SEGMENT_LANE_LIST" - // "DEPRECATED_DO_NOT_USE_SEGMENT_WRONG_WAY" - // "DEPRECATED_DO_NOT_USE_WEBSITE" - // "FEATURE_ATTRIBUTE" - // "SOCIAL_REFERENCE" - // "CATEGORY" - // "DEPRECATED_DO_NOT_USE_CAPITAL" - // "DEPRECATED_DO_NOT_USE_DESCRIPTION" - // "DEPRECATED_DO_NOT_USE_DISTINCT" - // "DEPRECATED_DO_NOT_USE_DUPLICATE" - // "EDIT_PRECEDENCE" - // "DEPRECATED_DO_NOT_USE_EDIT_PRECEDENCE" - // "DEPRECATED_DO_NOT_USE_ENTRANCE_TARGET" - // "DEPRECATED_DO_NOT_USE_ESTABLISHMENT_PLACE_ACTION_PAGE" - // "DEPRECATED_DO_NOT_USE_ESTABLISHMENT_TYPE" - // "DEPRECATED_DO_NOT_USE_EVENT" - // "DEPRECATED_DO_NOT_USE_GEOMETRIC_ACCURACY" - // "DEPRECATED_DO_NOT_USE_HIGHEST_GRADE" - // "DEPRECATED_DO_NOT_USE_ID_TO_OVERRIDE" - // "DEPRECATED_DO_NOT_USE_ISSUE_HISTORY" - // "DEPRECATED_DO_NOT_USE_ISSUE_METADATA" - // "DEPRECATED_DO_NOT_USE_KNOWLEDGE_GRAPH_ID" - // "DEPRECATED_DO_NOT_USE_LOWEST_GRADE" - // "DEPRECATED_DO_NOT_USE_PAYMENT_TYPES" - // "DEPRECATED_DO_NOT_USE_PHOTO" - // "DEPRECATED_DO_NOT_USE_PHOTO_URL" - // "DEPRECATED_DO_NOT_USE_PLACE_CLOSED" - // "DEPRECATED_DO_NOT_USE_POPULATION" - // "DEPRECATED_DO_NOT_USE_RANK_USER" - // "DEPRECATED_DO_NOT_USE_REMOVE_DUPLICATE" - // "DEPRECATED_DO_NOT_USE_REMOVE_PLACE" - // "DEPRECATED_DO_NOT_USE_SCHOOL_TYPE" - // "DEPRECATED_DO_NOT_USE_SEGMENT_ELEVATION_BEGIN" - // "DEPRECATED_DO_NOT_USE_SEGMENT_ELEVATION_END" - // "DEPRECATED_DO_NOT_USE_SEGMENT_ELEVATION_MIDDLE" - // "DEPRECATED_DO_NOT_USE_SYLLABUS" - // "DEPRECATED_DO_NOT_USE_TRACK_CLASS" - // "DEPRECATED_DO_NOT_USE_VIEWCODE_INFO" - // "DEPRECATED_DO_NOT_USE_WORKAREA" - // "DEPRECATED_DO_NOT_USE_INFERRED_GEOMETRY_INCLUDES_GEOMETRY_OF" - // "DEPRECATED_DO_NOT_USE_INFERRED_GEOMETRY_EXCLUDES_GEOMETRY_OF" - // "DEPRECATED_DO_NOT_USE_TRANSIT_STATION_AGENCY" - FieldType string `json:"fieldType,omitempty"` - // KgPropertyId: Required when field_type == KNOWLEDGE_GRAPH_PROPERTY. - KgPropertyId string `json:"kgPropertyId,omitempty"` - // NameLanguage: RESERVED - NameLanguage string `json:"nameLanguage,omitempty"` - // ForceSendFields is a list of field names (e.g. "AttachmentTypeId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AttachmentTypeId") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFeaturePropertyIdProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFeaturePropertyIdProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFeatureProto: Every entry in the GeoStore database is called a -// "feature". A feature is represented as a discriminated union of all the -// different feature types, where the actual feature type is specified by the -// "type" field. There are also various fields that are meaningful for most or -// all feature types, such as bounding regions and names. Every feature has a -// globally unique id that can be used to refer to it from other features. -type GeostoreFeatureProto struct { - // AccessPoint: Optional access point information. Access points hold detailed - // information about routing endpoints. For example, the main Google office is - // at "1600 Amphitheatre Parkway". The feature representing that office has a - // polygon, a center, and an address with components for the street number, - // route, locality, etc. The access point information, on the other hand, - // identifies the specific segment, the latitude/longitude of the driveway, and - // so forth. - AccessPoint []*GeostoreAccessPointProto `json:"accessPoint,omitempty"` - // Address: Address for this feature. A Geo Schema address is designed to model - // a mailing address, so only features that have mailing addresses in the real - // world may have addresses. Each feature should have only one address. If you - // want to describe the geographic location of a feature which does not have a - // mailing address with respect to other well-known features, some other schema - // constructs should be used. Note that the field is defined as repeated though - // features that use this field with its intended semantics are constrained to - // have a single address even if they may have multiple mailing addresses in - // the real world. The “single address” rule is enforced by lint. Current - // exceptions to the single address rule and mailing address rule are described - // in the g3doc. Bear note that the schema team is actively working on - // eliminating these exceptions. http://go/geo-addresses Note the following - // conventions: - Addresses follow the postal hierarchy, not the political - // hierarchy. Addresses may have components that refer to political entities - // when those entities also appear in the postal hierarchy. - As stated - // previously, but it bears repeating, addresses on features are mailing - // addresses. In many cases the physical address and the mailing address are - // the same but the address stored on a feature represents the mailing address - // of the feature. An example of a non-physical mailing address would be a PO - // Box. - These addresses are commonly defined and verifiable by a governmental - // authority (e.g. the United States Postal Service in the United States, Royal - // Mail in the United Kingdom, Correios in Brazil, etc.) and should follow - // conventions and rules defined by those authorities. - Address []*GeostoreAddressProto `json:"address,omitempty"` - // AnchoredGeometry: Represents information about the feature’s anchored - // geometry. - AnchoredGeometry *GeostoreAnchoredGeometryProto `json:"anchoredGeometry,omitempty"` - AssociatedEvChargingStation []*GeostoreFeatureIdProto `json:"associatedEvChargingStation,omitempty"` - // Attachment: The collection of attachments for this feature. Documentation: - // http://go/geo-attachments - Attachment []*GeostoreAttachmentsAttachmentProto `json:"attachment,omitempty"` - // Attribute: ** DEPRECATED ** A list of attributes that describe defined - // aspects of this feature. An attribute must be a concrete, high quality, and - // editable piece of information about a feature, and must be used on some - // general consumer facing Google property. The data types used for attributes - // must be primitive types or reusable in a generic manner. - Attribute []*GeostoreAttributeProto `json:"attribute,omitempty"` - // BestLocale: Describes the best-match locale for this feature. - BestLocale *GeostoreBestLocaleProto `json:"bestLocale,omitempty"` - Border *GeostoreBorderProto `json:"border,omitempty"` - // Bound: A latitude-longitude rectangle used by bucketing MapReduces. See the - // documentation on bucketing MapReduce for details. This field can be a source - // of confusion. Because it is called "bound", it is often assumed that it is a - // tight bound on the geometry but it can be (and often is) much larger. If a - // tight bound is needed then use the standard GetFeatureGeometryBound() - // function instead. To be more explicit, if you are using this field for - // *anything* else than a bucketing MapReduce, you are doing the wrong thing. - // Not all features are required to have bounding boxes. See - // geostore::IsBoundRequiredForFeatureType() for the list of feature types - // required to have a bounding box. This bound field will be updated when a - // feature changes in MapFacts to include its geometry. Also, a GeoSchema - // pipeline, go/geo-schema-pipelines-docs#expand-bounds runs periodically to - // update the field for strong references from other features. Therefore, most - // editors don't need to edit this field explicitly. See - // go/geo-changes:no-edit-for-feature-bound for the details. - Bound *GeostoreRectProto `json:"bound,omitempty"` - Building *GeostoreBuildingProto `json:"building,omitempty"` - // BusinessChain: Data specific to business chain features, e.g., Canonical - // GConcepts. - BusinessChain *GeostoreBusinessChainProto `json:"businessChain,omitempty"` - // Center: The conceptual center of the feature, used for routing. For cities, - // this would be the center of the downtown, or maybe the location of city - // hall. For states and countries it might be the capital city. Most feature - // types will not have a conceptual center - by default, routing will use the - // centroid of the feature's geometry. If you need a feature center point - // consider using GetFeatureGeometryCenter() function from - // geostore/base/public/feature.h rather than reading from this field directly. - Center *GeostorePointProto `json:"center,omitempty"` - // Child: Features can define themselves as a collection of other features. For - // example, a route is a collection of road segments, and a feature for the - // "Great Lakes" could be defined as lakes Superior, Michigan, Huron, Erie, and - // Ontario. It is not recommended to design a multi level tree using the child - // field to build up a feature because it requires fetching many features to - // see the details of the feature. In practice this is used to model - // archipelago, route, transit (agencies, lines, trips, departures), and river - // features. The geometry of a feature is implicitly defined by its children, - // so if a feature has children then it should not have any points, polylines, - // or polygons. In general, this field should not be used to represent - // political or postal hierarchies. For example, a county would not list its - // cities as children, because the county is not defined in terms of its cities - // (it also contains unincorporated areas, etc.). - Child []*GeostoreFeatureIdProto `json:"child,omitempty"` - // Covering: S2 cell coverings for this feature. See - // util/geometry/s2cell_union.h for more information about S2 cells. Coverings - // are useful for quick containment or intersection tests. S2 covering that - // consists of cells that intersect with the feature. - Covering *GeostoreCellCoveringProto `json:"covering,omitempty"` - DataSource *GeostoreDataSourceProto `json:"dataSource,omitempty"` - // Detailed3dModel: Geometry Store ID and materialized geometry representing - // the feature's physical presence in the world. Like geometry_3d above, but - // with additional semantic or renderable details, e.g. labeled surfaces - // ("door", "window"), material specifications, etc. IMPORTANT: Clients may not - // write to this field directly; see - // go/geometry-store-reading-and-writing#writing-to-geometry-store. - Detailed3dModel *GeostoreGeometryStoreReferenceProto `json:"detailed3dModel,omitempty"` - // DisplayData: Data used to render this feature on a map. - DisplayData *GeostoreDisplayDataProto `json:"displayData,omitempty"` - // DisputedArea: Represents information about disputed areas. Only - // TYPE_DISPUTED_AREA features should have the field set. - DisputedArea *GeostoreDisputedAreaProto `json:"disputedArea,omitempty"` - // Doodle: ** DEPRECATED ** - Doodle *GeostoreDoodleProto `json:"doodle,omitempty"` - Elevation *GeostoreElevationProto `json:"elevation,omitempty"` - // ElevationModel: Captures elevation data used on TYPE_DIGITAL_ELEVATION_MODEL - // features. - ElevationModel *GeostoreElevationModelProto `json:"elevationModel,omitempty"` - Entrance *GeostoreEntranceProto `json:"entrance,omitempty"` - // Establishment: Also allowed on TYPE_BUSINESS_CHAIN and TYPE_TRANSIT_AGENCY - // features, to model the feature's phone number(s). Other fields within - // EstablishmentProto are not permitted on non-TYPE_ESTABLISHMENT features. - Establishment *GeostoreEstablishmentProto `json:"establishment,omitempty"` - // ExemptRegulatedArea: A list of feature ids of polygon based restrictions - // that do not apply to this feature. This may only include features of - // TYPE_REGULATED_AREA that also have a feature.regulated_area.restriction - // field defined. Setting this field opts the feature out of all restrictions - // set on that regulated area. - ExemptRegulatedArea []*GeostoreFeatureIdProto `json:"exemptRegulatedArea,omitempty"` - // FutureGeometry: Specifies the TYPE_FUTURE_GEOMETRY whose geometry will - // replace this feature's geometry. If this field is populated, the referenced - // future geometry must have a future_geometry_for referencing this feature. - FutureGeometry *GeostoreFeatureIdProto `json:"futureGeometry,omitempty"` - // FutureGeometryFor: Specifies the feature that this feature's geometry will - // replace. If this field is populated, the referenced feature must have a - // future_geometry reference back to this feature. This field is only allowed - // (and required) for TYPE_FUTURE_GEOMETRY features. - FutureGeometryFor *GeostoreFeatureIdProto `json:"futureGeometryFor,omitempty"` - // Geometry3d: Geometry Store ID and materialized geometry representing the - // feature's physical shape in the world. IMPORTANT: Clients may not write to - // this field directly; see - // go/geometry-store-reading-and-writing#writing-to-geometry-store. - Geometry3d *GeostoreGeometryStoreReferenceProto `json:"geometry3d,omitempty"` - // GeometryPrecisionMeters: If set, the feature's actual location can be - // assumed to be somewhere within a circle of this radius, centered on the - // feature's location. More information on this field at - // go/gpm-definition-update. NOTE: Only applicable to features with 'point' - // geometry. Please contact geo-schema-team@ if you have non-point use cases - // for which this field would be useful. - GeometryPrecisionMeters float64 `json:"geometryPrecisionMeters,omitempty"` - Geopolitical *GeostoreGeopoliticalProto `json:"geopolitical,omitempty"` - // GeopoliticalGeometry: Geopolitical (unsimplified) polygons for a feature for - // different geopolitical use cases. - GeopoliticalGeometry *GeostoreGeopoliticalGeometryProto `json:"geopoliticalGeometry,omitempty"` - // HtmlText: ** DEPRECATED ** Features can have zero or more HTML texts - // associated with them. These might be HTML balloons used by Google Earth, for - // example. - HtmlText []*GeostoreHtmlTextProto `json:"htmlText,omitempty"` - // Id: The globally unique id for this feature. - Id *GeostoreFeatureIdProto `json:"id,omitempty"` - InferredGeometry *GeostoreInferredGeometryProto `json:"inferredGeometry,omitempty"` - // InteriorCovering: S2 interior covering that consists of cells completely - // enclosed within the feature's geometry (for features with polygonal - // geometry). - InteriorCovering *GeostoreCellCoveringProto `json:"interiorCovering,omitempty"` - // Internal: Data for this feature that is less about the feature and more - // about other data in the feature. For example, it might be data about the - // rights we have to other data in this FeatureProto, or MapFacts-internal - // shape IDs for this feature's polygons. - Internal *GeostoreInternalFeatureProto `json:"internal,omitempty"` - Intersection *GeostoreIntersectionProto `json:"intersection,omitempty"` - IntersectionGroup *GeostoreIntersectionGroupProto `json:"intersectionGroup,omitempty"` - // KgProperty: Properties that apply to this feature whose schema is defined in - // the Knowledge Graph schema (see https://hume.google.com/graph/schema). Not - // all properties that exist in the KG schema can be asserted via this - // mechanism. The set of properties that are allowed to be set on a feature - // depends on the feature's GConcepts (and feature type). For instance, only - // gcid:country features may have the /geo/type/country/president property - // (made up example, since that property doesn't actually exist in the KG - // schema). GConcept hierarchy is taken into account for deciding the set of - // allowed properties. Additionally, the specific properties allowed are - // further constrained by the list specified at go/kg-property-allowlist. NOTE: - // not all types of properties are allowed to appear in the Geo Schema. For - // now, we limit ourselves to properties whose value type is TYPE_BOOL, - // TYPE_COMPOUND, TYPE_DATETIME, TYPE_FLOAT, TYPE_ID, TYPE_INT, - // TYPE_NESTED_STRUCT, TYPE_TEXT, or TYPE_URI. NOTE(b/35039936): We are in the - // process of changing how a KG property with multiple values is stored in this - // field. Currently, such a KG property is stored in a single instance of the - // kg_property field. However, we will be changing this so that each value will - // be stored in its own instance of kg_property. Any client that wants to read - // from this field should be prepared to read data represented in either - // format. See b/35039936 or the announcement at - // http://g/geo-schema-announce/7IXR3Fex8to/7yFyT5UoAwAJ for an example and - // more details. The mechanism to assert that a KG property has no value is via - // the property_value_status field below. freebase.PropertyValue.value_status - // is not allowed be set here for consistency reason. - KgProperty []*FreebasePropertyValue `json:"kgProperty,omitempty"` - // KnowledgeGraphReference: RESERVED - KnowledgeGraphReference *GeostoreKnowledgeGraphReferenceProto `json:"knowledgeGraphReference,omitempty"` - LaneMarker *GeostoreLaneMarkerProto `json:"laneMarker,omitempty"` - // Level: Represents information about TYPE_LEVEL features. - Level *GeostoreLevelProto `json:"level,omitempty"` - Locale *GeostoreLocaleProto `json:"locale,omitempty"` - LogicalBorder *GeostoreLogicalBorderProto `json:"logicalBorder,omitempty"` - // Metadata: Metadata about this particular feature. Metadata is managed - // internally by the Geo Data Infrastructure and in general should not be set - // by clients. Features that don't ultimately come from the Geo repository - // (MapFacts) won't have any metadata set. - Metadata *GeostoreFeatureMetadataProto `json:"metadata,omitempty"` - // Name: The name(s) of this feature. A feature may have different names in - // different languages, colloquial or "vanity" names, etc. - Name []*GeostoreNameProto `json:"name,omitempty"` - // Operations: Information about this feature's operations, e.g. when this - // feature is temporarily closed. NOTE: for legacy reasons, some - // closure-specifc information (e.g. permanent closure reason) lives in - // ExistenceProto instead. In the future, such information should move here in - // OperationsProto. - Operations *GeostoreOperationsProto `json:"operations,omitempty"` - // OriginalId: This field is used internally by the pipeline for id stability. - // It should not be set by individual importers, nor should it be read by - // consumer clients. In particular, this field will not be present in features - // read or snapshotted from the Mapfacts Repository. - OriginalId *GeostoreFeatureIdProto `json:"originalId,omitempty"` - Parent []*GeostoreFeatureIdProto `json:"parent,omitempty"` - // Parking: Describes parking details for the feature. - Parking *GeostoreParkingProto `json:"parking,omitempty"` - // Point: Defines the geometry of the feature. The geometry may be specified as - // an arbitrary union of points, poses, polylines, tracks, and polygons. - // Points, poses, polylines, and tracks are assumed to represent regions of - // unspecified size or width rather than regions of zero area. Most features - // should have some sort of geometry. Geometry may be synthesized if none is - // available (e.g., polygons for postal codes). The synthetic_geometry flag - // should be set in that case. Point is currently enforced as a non-repeating - // field for all feature types, though it is defined as repeating in case - // future modeling requires multiple points. The number of allowed polylines, - // tracks, or polygons vary based on feature type. A feature can have at most - // one pose (it is an optional field). - Point []*GeostorePointProto `json:"point,omitempty"` - Political *GeostorePoliticalProto `json:"political,omitempty"` - Polygon []*GeostorePolygonProto `json:"polygon,omitempty"` - // PolygonForDisplay: Provide version of the geometry suitable for display. - // This has been subject to water removal and (possibly) moderate - // simplification. - PolygonForDisplay *GeostorePolygonProto `json:"polygonForDisplay,omitempty"` - Polyline []*GeostorePolyLineProto `json:"polyline,omitempty"` - // Pose: Defines the geometry of a feature as a 6D pose, including lat, lng, - // altitude, roll, pitch, and yaw along the WGS-84 ellipsoid. Only the lat and - // lng are strictly required. - Pose *GeostorePoseProto `json:"pose,omitempty"` - // PreferredViewport: The preferred viewport for this feature. If present, this - // latitude-longitude rectangle holds the preferred viewport for the feature. - // For example, it might hold the bounds of the "central" portion of a large - // city. There are no aspect ratio requirements. This is an optional field: if - // no viewport is supplied, interested clients can use heuristics to determine - // a viewport. Calling the standard GetFeatureGeometryBound() function would be - // a good way to start but note that it can return an empty bounding box (e.g., - // if the feature has no geometry). The preferred viewport is not necessarily - // fully contained by the above bounding box. - PreferredViewport *GeostoreRectProto `json:"preferredViewport,omitempty"` - // PropertyValueStatus: The value status of properties on this feature. For - // example, this specifies whether the feature is known to have no name (this - // is the value status of the 'FEATURE_NAME' property). Only property IDs which - // have no specific value are allowed to have a value status. Note: not all - // field types will be supported, please contact geo schema team if you want to - // enable this field for a field type that is not currently supported. - PropertyValueStatus []*GeostorePropertyValueStatusProto `json:"propertyValueStatus,omitempty"` - // Rank: WARNING: Please do NOT introduce new uses of this field; treat it as - // if it were deprecated. For appropriate ranking contacts, see - // g3doc/company/teams/gdeng/geo-schema-reference/home/feature-properties/rank.m - // d. A floating-point number between 0.0 and 1.0 indicating how "important" we - // think this feature is. This can be used to decide which features to render - // on maps, and how to rank results when the user does a search. The rank can - // depend on any number of factors such as the number of references to this - // feature in web pages, geographic size, population, number of referring - // geographic entities, "priority" information encoded in the source data, etc. - Rank float64 `json:"rank,omitempty"` - // RankDetails: The rank field is computed as a weighted sum of several - // signals. This field contains a protocol buffer whose fields give those - // signals and their weights. Clients should try very hard not to depend on - // these individual signals and use the single rank field instead. At some - // point in the future, this field will not be exposed anymore. - RankDetails *GeostoreRankDetailsProto `json:"rankDetails,omitempty"` - // RawGconceptInstanceContainer: Geo Ontology GConcept Instances - Design doc - // linked off http://go/geo-ontology - In order to shield clients from changes - // in GConcept representation we provide an accessor library: - // geostore/base/public/gconcept_instance.h - RawGconceptInstanceContainer *GeostoreOntologyRawGConceptInstanceContainerProto `json:"rawGconceptInstanceContainer,omitempty"` - RegulatedArea *GeostoreRegulatedAreaProto `json:"regulatedArea,omitempty"` - // RelatedBorder: For TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1 features, this - // field defines the associated TYPE_BORDERs which reference this feature. The - // linked TYPE_BORDERs must have the feature.border set, pointing to this - // feature. TYPE_COUNTRY or TYPE_ADMINISTRATIVE_AREA1 features must have this - // field set for each TYPE_BORDER referencing them. - RelatedBorder []*GeostoreFeatureIdProto `json:"relatedBorder,omitempty"` - // RelatedEntrance: Logical relationship to other features that are entrances - // or exits to this feature. - RelatedEntrance []*GeostoreEntranceReferenceProto `json:"relatedEntrance,omitempty"` - // RelatedFeature: Geographic or logical relationships to other features. - // Importers don't need to fill a geographic relationship in - it is handled by - // related feature processing by a standalone pipeline. Adding "contained by" - // country relations is however encouraged (and required for TYPE_ROUTE - // features). WARNING: Updates to this field handled by standalone pipelines - // are NOT atomic with regard to updates to the features being referenced; we - // do not guarantee that a given MapFacts snapshot will be consistent between - // this field and the related features. - RelatedFeature []*GeostoreRelationProto `json:"relatedFeature,omitempty"` - // RelatedTerminalPoint: Terminal points associated with this feature. For - // instance, an airport terminal may have specifically designated pickup and - // drop-off points. - RelatedTerminalPoint []*GeostoreFeatureIdProto `json:"relatedTerminalPoint,omitempty"` - // RelatedTimezone: Contains time zones known to be associated with a feature. - // Most features are associated with the single time zone that contains them. - // However, some larger features (countries, continents, etc.) are associated - // with all of the time zones they contain. Most features can have any number - // of related time zones, but TYPE_SEGMENT and TYPE_ESTABLISHMENT_POI features - // can have at most 1. - RelatedTimezone []*GeostoreTimezoneProto `json:"relatedTimezone,omitempty"` - RestrictionGroup *GeostoreRestrictionGroupProto `json:"restrictionGroup,omitempty"` - RoadMonitor *GeostoreRoadMonitorProto `json:"roadMonitor,omitempty"` - // Route: Additional details on the feature types below can be found in the - // individual protocol buffer definitions. These extensions capture data that - // is specific to a set of feature types and which makes no sense for other - // feature types. - Route *GeostoreRouteProto `json:"route,omitempty"` - SchoolDistrict *GeostoreSchoolDistrictProto `json:"schoolDistrict,omitempty"` - Segment *GeostoreSegmentProto `json:"segment,omitempty"` - SegmentPath *GeostoreSegmentPathProto `json:"segmentPath,omitempty"` - Sign *GeostoreRoadSignProto `json:"sign,omitempty"` - SkiBoundary *GeostoreSkiBoundaryProto `json:"skiBoundary,omitempty"` - SkiLift *GeostoreSkiLiftProto `json:"skiLift,omitempty"` - SkiTrail *GeostoreSkiTrailProto `json:"skiTrail,omitempty"` - // SocialReference: All establishments must have a social reference. WARNING: - // Aside from creating new establishments, please do NOT introduce new uses; - // treat social references as if they were deprecated. For alternatives and - // more, see - // g3doc/company/teams/gdeng/geo-schema-reference/home/feature-types/establishme - // nts/social-reference.md. - SocialReference *GeostoreSocialReferenceProto `json:"socialReference,omitempty"` - // SourceInfo: A list of the data sources that were used to construct this - // feature, together with optional "raw data" in the provider's format. Raw - // data should not be used by production clients but may be useful for - // exploring data that is not currently converted to a canonical form. - SourceInfo []*GeostoreSourceInfoProto `json:"sourceInfo,omitempty"` - // Status: All features can have "existence" information associated with them. - Status *GeostoreExistenceProto `json:"status,omitempty"` - // StorefrontGeometry: Represents information about the store front geometry. - // Only TYPE_ESTABLISHMENT_POI should have this field set. - StorefrontGeometry []*GeostoreAnchoredGeometryProto `json:"storefrontGeometry,omitempty"` - // StorefrontGeometryModel: Geometry Store ID and materialized geometry for a - // POI feature's storefront(s). IMPORTANT: Clients may not write to this field - // directly; see - // go/geometry-store-reading-and-writing#writing-to-geometry-store. - StorefrontGeometryModel *GeostoreGeometryStoreReferenceProto `json:"storefrontGeometryModel,omitempty"` - // SyntheticGeometry: We prefer features that have geometry over those that do - // not. In some cases we synthesize geometry (e.g., polygons for postal codes). - // This flag is set to indicate features that have such synthetic geometry. - SyntheticGeometry bool `json:"syntheticGeometry,omitempty"` - // TemporaryData: A place for clients to attach arbitrary data to a feature. - // Never set in MapFacts. - TemporaryData *Proto2BridgeMessageSet `json:"temporaryData,omitempty"` - // ThreeDimModel: Captures full model representing the feature's 3D geometry. - // Should only be found on TYPE_COMPOUND_BUILDING features for now, but not - // part of the BuildingProto extension for possible future extensions. - ThreeDimModel *GeostoreThreeDimensionalModelProto `json:"threeDimModel,omitempty"` - // TollCluster: Represents information about TYPE_TOLL_CLUSTER features. - TollCluster *GeostoreTollClusterProto `json:"tollCluster,omitempty"` - // TollPath: Represents information about /geo/type/toll_path features. - TollPath *GeostoreTollPathProto `json:"tollPath,omitempty"` - // Track: Defines the geometry of a feature as a sequence of 6D poses, - // including lat, lng, altitude, roll, pitch, and yaw. Only lat and lng are - // typically required. Each track has an index so that they can be viewed in a - // stable order. - Track []*GeostoreTrackProto `json:"track,omitempty"` - TransitLine *GeostoreTransitLineProto `json:"transitLine,omitempty"` - // TransitLineVariant: RESERVED - TransitLineVariant *GeostoreTransitLineVariantProto `json:"transitLineVariant,omitempty"` - TransitStation *GeostoreTransitStationProto `json:"transitStation,omitempty"` - // Type: The type of this feature -- see comments above. - // - // Possible values: - // "TYPE_ANY" - ABSTRACT - // "TYPE_TRANSPORTATION" - ABSTRACT - // "TYPE_ROUTE" - A route is any section of road (or rails, etc.) that has a - // name. This includes city streets as well as highways. Road segments can - // belong to multiple routes (e.g. El Camino, CA-82). - // "TYPE_DEPRECATED_HIGHWAY_DO_NOT_USE" - DEPRECATED - // "TYPE_HIGHWAY" - ABSTRACT - // "TYPE_HIGHWAY_1" - // "TYPE_HIGHWAY_2" - // "TYPE_HIGHWAY_3" - // "TYPE_HIGHWAY_4" - // "TYPE_HIGHWAY_5" - // "TYPE_HIGHWAY_6" - // "TYPE_HIGHWAY_7" - // "TYPE_HIGHWAY_8" - // "TYPE_HIGHWAY_9" - // "TYPE_BICYCLE_ROUTE" - A designated bicycle route, whose segments may - // consist of any combination of bicycle paths, bicycle lanes, or city streets. - // "TYPE_TRAIL" - A designated trail, which may consist of paved walkways, - // dirt paths, fire road, streets or highways, etc. - // "TYPE_SEGMENT" - ABSTRACT - // "TYPE_ROAD" - // "TYPE_RAILWAY" - Railroads use several different incompatible track types. - // "TYPE_STANDARD_TRACK" - // "TYPE_JR_TRACK" - // "TYPE_NARROW_TRACK" - // "TYPE_MONORAIL_TRACK" - // "TYPE_SUBWAY_TRACK" - // "TYPE_LIGHT_RAIL_TRACK" - // "TYPE_BROAD_TRACK" - // "TYPE_HIGH_SPEED_RAIL" - // "TYPE_TROLLEY_TRACK" - Tracks for streetcars, cable-cars, etc. Ferries are - // services that are part of the road network but are not roads. They typically - // involve fares and scheduled departure times. - // "TYPE_FERRY" - ABSTRACT - // "TYPE_FERRY_BOAT" - The vast majority of ferries are ferry boats. - // "TYPE_FERRY_TRAIN" - Also called a "car transport", a ferry train is a - // rail service that carries passengers and their vehicles across undrivable - // terrain. The Channel Tunnel ("Chunnel") is the most famous example, but they - // are also common in the Alps where they connect neighboring valleys otherwise - // separated by impassable mountains. - // "TYPE_VIRTUAL_SEGMENT" - Any plausible 1-dimensional path through a 2+ - // dimensional space, for the purposes of making graph-search-based routing - // possible. Such segments can be used to model paths through parking lots, - // squares, floors of buildings and other areas. - // "TYPE_INTERSECTION" - An intersection consists of a collection of segments - // that terminate at the same location. This is topological definition: it may - // not match what a typical user would think of as an "intersection". See - // TYPE_INTERSECTION_GROUP, below, for more information. Each segment - // terminating at an intersection has an "endpoint type" that specifies how - // that segment is terminated: stop sign, yield sign, three-way light, etc. - // "TYPE_TRANSIT" - ABSTRACT - // "TYPE_TRANSIT_STATION" - DEPRECATED - // "TYPE_BUS_STATION" - DEPRECATED - // "TYPE_TRAMWAY_STATION" - DEPRECATED - // "TYPE_TRAIN_STATION" - DEPRECATED - // "TYPE_SUBWAY_STATION" - DEPRECATED - // "TYPE_FERRY_TERMINAL" - DEPRECATED - // "TYPE_AIRPORT" - DEPRECATED - // "TYPE_AIRPORT_CIVIL" - DEPRECATED - // "TYPE_AIRPORT_MILITARY" - DEPRECATED - // "TYPE_AIRPORT_MIXED" - DEPRECATED - // "TYPE_HELIPORT" - DEPRECATED - // "TYPE_SEAPLANE_BASE" - DEPRECATED - // "TYPE_AIRSTRIP" - DEPRECATED - // "TYPE_CABLE_CAR_STATION" - DEPRECATED - // "TYPE_GONDOLA_LIFT_STATION" - DEPRECATED - // "TYPE_FUNICULAR_STATION" - DEPRECATED - // "TYPE_SPECIAL_STATION" - DEPRECATED - // "TYPE_HORSE_CARRIAGE_STATION" - DEPRECATED - // "TYPE_MONORAIL_STATION" - DEPRECATED - // "TYPE_SEAPORT" - DEPRECATED - // "TYPE_TRANSIT_STOP" - DEPRECATED - // "TYPE_TRANSIT_TRIP" - DEPRECATED - // "TYPE_TRANSIT_DEPARTURE" - DEPRECATED - // "TYPE_TRANSIT_LEG" - DEPRECATED - // "TYPE_TRANSIT_LINE" - A transit line is a collection of transit legs, - // associated with some invariant properties of the trips that run over the - // legs. See also transitline.proto - // "TYPE_TRANSIT_AGENCY_DEPRECATED_VALUE" - TYPE_TRANSIT_AGENCY was moved to - // 0xC91. This deprecated enum value still exists for debugging purposes only. - // "TYPE_TRANSIT_TRANSFER" - DEPRECATED - // "TYPE_SEGMENT_PATH" - ABSTRACT - // "TYPE_ROAD_SIGN" - Road sign features have names, point geometry, etc. - // They also have segment_path data (see below) which lists the segments that - // refer to the sign. See segment.proto for the reference from the segment to - // the road sign. - // "TYPE_INTERSECTION_GROUP" - Our TYPE_INTERSECTION feature, above, models - // the point where one or more segments terminate. This is topological - // definition: it may not match what a typical user would think of as an - // "intersection". Consider the intersections where Hayes, Market, Larkin, and - // 9th Street meet near (37.77765, -122.41638) in San Francisco. Most people - // would probably consider this a single feature, even though we model it as - // four separate TYPE_INTERSECTION features. This TYPE_INTERSECTION_GROUP is - // used to model the user's concept of a complex intersection. - // "TYPE_PATHWAY" - RESERVED - // "TYPE_RESTRICTION_GROUP" - A restriction group describes a set of segment - // restrictions that belong together and have a name or an associated event. - // See also restriction_group.proto - // "TYPE_TOLL_CLUSTER" - DEPRECATED - // "TYPE_POLITICAL" - ABSTRACT - // "TYPE_COUNTRY" - // "TYPE_ADMINISTRATIVE_AREA" - ABSTRACT - // "TYPE_ADMINISTRATIVE_AREA1" - // "TYPE_US_STATE" - DEPRECATED - // "TYPE_GB_COUNTRY" - DEPRECATED - // "TYPE_JP_TODOUFUKEN" - DEPRECATED - // "TYPE_ADMINISTRATIVE_AREA2" - // "TYPE_GB_FORMER_POSTAL_COUNTY" - DEPRECATED - // "TYPE_GB_TRADITIONAL_COUNTY" - DEPRECATED - // "TYPE_ADMINISTRATIVE_AREA3" - // "TYPE_ADMINISTRATIVE_AREA4" - // "TYPE_ADMINISTRATIVE_AREA5" - // "TYPE_ADMINISTRATIVE_AREA6" - // "TYPE_ADMINISTRATIVE_AREA7" - // "TYPE_ADMINISTRATIVE_AREA8" - // "TYPE_ADMINISTRATIVE_AREA9" - // "TYPE_COLLOQUIAL_AREA" - e.g. Silicon Valley - // "TYPE_RESERVATION" - A reservation is a region collectively held or - // governed by indigenous people and officially recognized by the country’s - // government at the federal or state level. A reservation may be fully - // contained within an administrative feature or partially contained within two - // or more. These regions are referred to by different categorical names - // depending on country and even by state, including but not limited to: - // “Indian Reservations”, “Indian Reserves”, “Land Claim Settlement - // Lands”, “Indian Lands”, “Treaty Lands”, “Indigenous - // Territories”, etc. A reservation is not a historic indigenous territory - // boundary or a region which has applied for land rights but has not yet - // received official recognition. - // "TYPE_LOCALITY" - // "TYPE_GB_POST_TOWN" - DEPRECATED - // "TYPE_JP_GUN" - DEPRECATED - // "TYPE_JP_SHIKUCHOUSON" - DEPRECATED - // "TYPE_JP_SUB_SHIKUCHOUSON" - DEPRECATED - // "TYPE_COLLOQUIAL_CITY" - An entity widely considered to be a city, that - // may itself be made up of smaller political entities, some of which are - // cities/towns/villages themselves. For example, the colloquial view of - // Sydney, Australia actually comprises many smaller cities, but is regarded as - // a city itself. This type is not suitable for modeling official - // metro-/micropolitan or other statistical areas. - // "TYPE_SUBLOCALITY" - ABSTRACT - // "TYPE_US_BOROUGH" - DEPRECATED - // "TYPE_GB_DEPENDENT_LOCALITY" - DEPRECATED - // "TYPE_JP_OOAZA" - DEPRECATED - // "TYPE_JP_KOAZA" - DEPRECATED - // "TYPE_JP_GAIKU" - DEPRECATED - // "TYPE_GB_DOUBLE_DEPENDENT_LOCALITY" - DEPRECATED - // "TYPE_JP_CHIBAN" - DEPRECATED - // "TYPE_JP_EDABAN" - DEPRECATED - // "TYPE_SUBLOCALITY1" - // "TYPE_SUBLOCALITY2" - // "TYPE_SUBLOCALITY3" - // "TYPE_SUBLOCALITY4" - // "TYPE_SUBLOCALITY5" - // "TYPE_NEIGHBORHOOD" - // "TYPE_CONSTITUENCY" - // "TYPE_DESIGNATED_MARKET_AREA" - Designated Market Areas (or DMAs) are used - // by marketing and ratings companies (such as the Nielsen Media Research - // company) to describe geographical regions (such as the greater New York - // metropolitan area) that are covered by a set of television stations. (See - // http://www.schooldata.com/pdfs/DMA.pdf) In the United States, DMAs should - // have a DMA numeric ID name, tagged with the FLAG_DESIGNATED_MARKET_AREA_ID - // flag. - // "TYPE_SCHOOL_DISTRICT" - // "TYPE_LAND_PARCEL" - // "TYPE_DISPUTED_AREA" - Eventually we'll have more data for disputed areas - // (e.g., who makes claims on the area, who has de facto control, etc.). For - // the moment, we just define a type so we can simply mark areas as disputed. - // "TYPE_POLICE_JURISDICTION" - Boundaries representing the jurisdiction of a - // particular police station. - // "TYPE_STATISTICAL_AREA" - An area used for aggregating statistical data, - // eg, a census region. Note that TYPE_STATISTICAL_AREA has a third nibble so - // we can add an abstract parent above it later if need be at 0x2E1 (and rename - // TYPE_STATISTICAL_AREA as TYPE_STATISTICAL_AREA1). - // "TYPE_CONSTITUENCY_FUTURE" - DEPRECATED - // "TYPE_PARK" - DEPRECATED - // "TYPE_GOLF_COURSE" - DEPRECATED - // "TYPE_LOCAL_PARK" - DEPRECATED - // "TYPE_NATIONAL_PARK" - DEPRECATED - // "TYPE_US_NATIONAL_PARK" - DEPRECATED - // "TYPE_US_NATIONAL_MONUMENT" - DEPRECATED - // "TYPE_NATIONAL_FOREST" - DEPRECATED - // "TYPE_PROVINCIAL_PARK" - DEPRECATED - // "TYPE_PROVINCIAL_FOREST" - DEPRECATED - // "TYPE_CAMPGROUNDS" - DEPRECATED - // "TYPE_HIKING_AREA" - DEPRECATED - // "TYPE_BUSINESS" - DEPRECATED - // "TYPE_GOVERNMENT" - DEPRECATED - // "TYPE_BORDER_CROSSING" - DEPRECATED - // "TYPE_CITY_HALL" - DEPRECATED - // "TYPE_COURTHOUSE" - DEPRECATED - // "TYPE_EMBASSY" - DEPRECATED - // "TYPE_LIBRARY" - DEPRECATED - // "TYPE_SCHOOL" - DEPRECATED - // "TYPE_UNIVERSITY" - DEPRECATED - // "TYPE_EMERGENCY" - DEPRECATED - // "TYPE_HOSPITAL" - DEPRECATED - // "TYPE_PHARMACY" - DEPRECATED - // "TYPE_POLICE" - DEPRECATED - // "TYPE_FIRE" - DEPRECATED - // "TYPE_DOCTOR" - DEPRECATED - // "TYPE_DENTIST" - DEPRECATED - // "TYPE_VETERINARIAN" - DEPRECATED - // "TYPE_TRAVEL_SERVICE" - DEPRECATED - // "TYPE_LODGING" - DEPRECATED - // "TYPE_RESTAURANT" - DEPRECATED - // "TYPE_GAS_STATION" - DEPRECATED - // "TYPE_PARKING" - DEPRECATED - // "TYPE_POST_OFFICE" - DEPRECATED - // "TYPE_REST_AREA" - DEPRECATED - // "TYPE_CASH_MACHINE" - DEPRECATED - // "TYPE_CAR_RENTAL" - DEPRECATED - // "TYPE_CAR_REPAIR" - DEPRECATED - // "TYPE_SHOPPING" - DEPRECATED - // "TYPE_GROCERY" - DEPRECATED - // "TYPE_TOURIST_DESTINATION" - DEPRECATED - // "TYPE_ECO_TOURIST_DESTINATION" - DEPRECATED - // "TYPE_BIRD_WATCHING" - DEPRECATED - // "TYPE_FISHING" - DEPRECATED - // "TYPE_HUNTING" - DEPRECATED - // "TYPE_NATURE_RESERVE" - DEPRECATED - // "TYPE_TEMPLE" - DEPRECATED - // "TYPE_CHURCH" - DEPRECATED - // "TYPE_GURUDWARA" - DEPRECATED - // "TYPE_HINDU_TEMPLE" - DEPRECATED - // "TYPE_MOSQUE" - DEPRECATED - // "TYPE_SYNAGOGUE" - DEPRECATED - // "TYPE_STADIUM" - DEPRECATED - // "TYPE_BAR" - DEPRECATED - // "TYPE_MOVIE_RENTAL" - DEPRECATED - // "TYPE_COFFEE" - DEPRECATED - // "TYPE_GOLF" - DEPRECATED - // "TYPE_BANK" - DEPRECATED - // "TYPE_DOODLE" - DEPRECATED - // "TYPE_GROUNDS" - DEPRECATED - // "TYPE_AIRPORT_GROUNDS" - DEPRECATED - // "TYPE_BUILDING_GROUNDS" - DEPRECATED - // "TYPE_CEMETERY" - DEPRECATED - // "TYPE_HOSPITAL_GROUNDS" - DEPRECATED - // "TYPE_INDUSTRIAL" - DEPRECATED - // "TYPE_MILITARY" - DEPRECATED - // "TYPE_SHOPPING_CENTER" - DEPRECATED - // "TYPE_SPORTS_COMPLEX" - DEPRECATED - // "TYPE_UNIVERSITY_GROUNDS" - DEPRECATED - // "TYPE_DEPRECATED_TARMAC" - DEPRECATED - // "TYPE_ENCLOSED_TRAFFIC_AREA" - DEPRECATED - // "TYPE_PARKING_LOT" - DEPRECATED - // "TYPE_PARKING_GARAGE" - DEPRECATED - // "TYPE_OFF_ROAD_AREA" - DEPRECATED - // "TYPE_BORDER" - A line representing the boundary between two features. See - // border.proto for details. - // "TYPE_BUILDING" - DEPRECATED - // "TYPE_GEOCODED_ADDRESS" - An association of a point with an address, with - // no other information. - // "TYPE_NATURAL_FEATURE" - ABSTRACT - // "TYPE_TERRAIN" - Expanses of land that share common surface attributes. - // These areas would look more or less uniform from a high altitude. - // "TYPE_SAND" - // "TYPE_BEACH" - // "TYPE_DUNE" - // "TYPE_ROCKY" - // "TYPE_ICE" - // "TYPE_GLACIER" - // "TYPE_BUILT_UP_AREA" - Terrain that looks populated. - // "TYPE_VEGETATION" - Terrain that is covered in vegetation. - // "TYPE_SHRUBBERY" - // "TYPE_WOODS" - // "TYPE_AGRICULTURAL" - // "TYPE_GRASSLAND" - // "TYPE_TUNDRA" - // "TYPE_DESERT" - // "TYPE_SALT_FLAT" - A flat expanse of salt left by the evaporation of a - // body of salt water. - // "TYPE_WATER" - Features can be TYPE_WATER if we don't have enough - // information to properly type the body of water. TYPE_WATER is also used as - // the type for child features that compose a TYPE_RIVER feature. - // "TYPE_OCEAN" - One of the large salt-water bodies that covers most of the - // globe. - // "TYPE_BAY" - An ocean subdivision formed by a coastal indentation. - // Includes coves and gulfs. - // "TYPE_BIGHT" - An open body of water formed by a slight coastal - // indentation. - // "TYPE_LAGOON" - // "TYPE_SEA" - An ocean subdivision more or less confined by land and - // islands. - // "TYPE_STRAIT" - A long narrow ocean subdivision. Includes sounds. - // "TYPE_INLET" - // "TYPE_FJORD" - // "TYPE_LAKE" - An inland body of standing water. - // "TYPE_SEASONAL_LAKE" - A lake that dries up part of the year. - // "TYPE_RESERVOIR" - An artificial body of water, possibly created by a dam, - // often used for irrigation or house use. - // "TYPE_POND" - // "TYPE_RIVER" - An inland body of moving water, or parts associated with it - // in which there is little or no current (backwater). - // "TYPE_RAPIDS" - // "TYPE_DISTRIBUTARY" - A branch which flows away from the main river. - // Includes deltas. - // "TYPE_CONFLUENCE" - A place where two or more rivers join. - // "TYPE_WATERFALL" - // "TYPE_SPRING" - A place where ground water flows naturally out of the - // ground. - // "TYPE_GEYSER" - // "TYPE_HOT_SPRING" - // "TYPE_SEASONAL_RIVER" - A river that dries up part of the year. - // "TYPE_WADI" - A dry riverbed that occasionally receives flashfloods. - // "TYPE_ESTUARY" - A place at the end of a river where fresh and salt water - // mix. Includes tidal creeks and limans. - // "TYPE_WETLAND" - Land that is usually flooded. Includes bogs, marshes, - // flats, moors, and swamps. - // "TYPE_WATER_NAVIGATION" - // "TYPE_FORD" - A shallow place where water may be waded through. - // "TYPE_CANAL" - A narrow passage used by boats. Normally artificial. - // "TYPE_HARBOR" - A deep place near a shore where ships commonly drop - // anchor. - // "TYPE_CHANNEL" - A deep part in a body of water that is suitable for - // navigation. Includes narrows. - // "TYPE_REEF" - Rocks, coral, sandbars, or other features beneath the - // surface of the water that pose a hazard to passing ships. Includes shoals. - // "TYPE_REEF_FLAT" - A relatively shallow zone of the back reef located - // closest to the shore, that may be exposed at low tide. - // "TYPE_REEF_GROWTH" - A small section of rocks, coral, sandbars, or other - // features beneath the surface of the water that forms part of a reef. - // "TYPE_REEF_EXTENT" - The full extent of the reef complex. - // "TYPE_REEF_ROCK_SUBMERGED" - A submerged rock in the water. - // "TYPE_IRRIGATION" - Man-made (and sometimes natural) channels used to move - // water. This type was used for both dam structures and water that is hold - // back by dams. We should use TYPE_COMPOUND_BUILDING for dam structures and - // TYPE_RESERVOIR for water. - // "TYPE_DAM" - DEPRECATED - // "TYPE_DRINKING_WATER" - // "TYPE_CURRENT" - Includes overfalls. - // "TYPE_WATERING_HOLE" - A natural depression filled with water where - // animals come to drink. - // "TYPE_TECTONIC" - This type is incorrectly under TYPE_TECTONIC instead of - // TYPE_WATER. This was a mistake and is now fixed. See TYPE_WATERING_HOLE for - // the replacement. - // "TYPE_WATERING_HOLE_DEPRECATED" - DEPRECATED - // "TYPE_VOLCANO" - // "TYPE_LAVA_FIELD" - // "TYPE_FISSURE" - // "TYPE_FAULT" - // "TYPE_LAND_MASS" - // "TYPE_CONTINENT" - // "TYPE_ISLAND" - // "TYPE_ATOLL" - // "TYPE_OCEAN_ROCK_EXPOSED" - An exposed rock in the water. - // "TYPE_CAY" - A small, low-elevation, sandy island formed on the surface of - // coral reefs - // "TYPE_PENINSULA" - A stretch of land projecting into water. Includes capes - // and spits. - // "TYPE_ISTHMUS" - A strip of land connecting two larger land masses, such - // as continents. - // "TYPE_ELEVATED" - Features that are notable for being high (or low), or - // for having sudden changes in elevation. These features might have an - // "elevation" extension to specify the actual elevation. See ElevationProto - // for more information. - // "TYPE_PEAK" - Elevations that have a distinctive peak. - // "TYPE_NUNATAK" - A peak or ridge of a mountain that extends through a - // glacier. - // "TYPE_SPUR" - A subsidiary peak of a mountain. - // "TYPE_PASS" - A route over an otherwise difficult to traverse feature. - // Includes saddle. - // "TYPE_PLATEAU" - Elevations that are flat on top. Includes mesas and - // buttes. - // "TYPE_RIDGE" - A ridge is a geographical feature consisting of a chain of - // mountains or hills that form a continuous elevated crest with a single - // ridgeline for some distance. - // "TYPE_RAVINE" - Steep declines usually carved by erosion. Includes - // valleys, canyons, ditches, and gorges. - // "TYPE_CRATER" - Depressions causes by impact, explosion, and sometimes - // sink-holes. - // "TYPE_KARST" - Topography formed on limestone and gypsum by dissolution - // with sinkholes, caves, etc. - // "TYPE_CLIFF" - A vertical or nearly vertical slope. Includes escarpments. - // "TYPE_VISTA" - An elevated place that is notable for having a good view. - // Raster digital elevation data. This is not a type to be used by providers or - // consumed by clients. - // "TYPE_DIGITAL_ELEVATION_MODEL" - RESERVED - // "TYPE_UPLAND" - Land along streams higher than the alluvial plain or - // stream terrace. - // "TYPE_TERRACE" - // "TYPE_SLOPE" - Land not so steep as a cliff, but changing elevation. - // Includes slides. - // "TYPE_CONTOUR_LINE" - All the points on the polygon are at the same - // elevation. - // "TYPE_PAN" - A near-level shallow, natural depression or basin, usually - // containing an intermittent lake, pond, or pool. - // "TYPE_UNSTABLE_HILLSIDE" - // "TYPE_MOUNTAIN_RANGE" - A series of mountains or hills ranged in a line - // and connected by high ground. Mountain ranges usually consist of many - // smaller ridges. For example, the Himalayas, the Andes. the Alps, etc. - // "TYPE_UNDERSEA" - Features that are notable for being high (or low), or - // for having sudden changes in elevation. These features might have an - // "elevation" extension to specify the actual elevation. See ElevationProto - // for more information. - // "TYPE_SUBMARINE_SEAMOUNT" - includes peaks, ranges, and spurs - // "TYPE_SUBMARINE_RIDGE" - // "TYPE_SUBMARINE_GAP" - includes saddles - // "TYPE_SUBMARINE_PLATEAU" - // "TYPE_SUBMARINE_DEEP" - // "TYPE_SUBMARINE_VALLEY" - includes trenches and troughs - // "TYPE_SUBMARINE_BASIN" - // "TYPE_SUBMARINE_SLOPE" - // "TYPE_SUBMARINE_CLIFF" - // "TYPE_SUBMARINE_PLAIN" - // "TYPE_SUBMARINE_FRACTURE_ZONE" - // "TYPE_CAVE" - Don't use 0xA7. Use 8 bits for additional types under - // TYPE_NATURAL_FEATURE, so we don't run out of space. The following are - // miscellaneous natural features that don't fit any of the categories above. - // "TYPE_ROCK" - // "TYPE_ARCHIPELAGO" - A feature representing a group or chain of islands. - // "TYPE_POSTAL" - ABSTRACT - // "TYPE_POSTAL_CODE" - This is the type for postal codes which are complete - // and independent enough that there should be a feature for them (e.g. US - // 5-digit ZIP codes). For even more detailed suffixes that further subdivide a - // postal code (such as the +4 component in US ZIP codes), store the - // information in a TYPE_POSTAL_CODE_SUFFIX address component. When a range or - // set of postal codes share the same geographical area, e.g. because a precise - // subdivision does not exist or this subdivision is unknown, this type is used - // for each individual postal code. - // "TYPE_POSTAL_CODE_PREFIX" - A prefix portion of a postal code which does - // not meet the requirements for TYPE_POSTAL_CODE, but which is useful to - // search for, for example UK outcodes. - // "TYPE_PREMISE" - DEPRECATED - // "TYPE_SUB_PREMISE" - DEPRECATED This is deprecated and we want to use - // TYPE_COMPOUND_SECTION instead. - // "TYPE_SUITE" - DEPRECATED - // "TYPE_POST_TOWN" - The term "post town" is used for a locality-like-entity - // that is only used for postal addresses. - // "TYPE_POSTAL_ROUND" - DEPRECATED - // "TYPE_META_FEATURE" - ABSTRACT - // "TYPE_DATA_SOURCE" - Every data source used in constructing a data - // repository has a corresponding feature that provides more information about - // that data source. The extra information is stored in the optional - // data_source field below. - // "TYPE_LOCALE" - A locale feature provides region specific conventions such - // as preferred language and formatting details for time, date, and currency - // values. Locales aren't necessary defined by physical geographic features, so - // they are classified as meta-features. - // "TYPE_TIMEZONE" - A timezone feature is used to specify the region - // covering an international timezone. When a point is covered by multiple - // timezone features, the most specific one can be used to compute the local - // time at this point. Most specific implies a much smaller region or the one - // that is closer to the center. A feature's timezone can be specified in the - // repeated related_timezone field. - // "TYPE_BUSINESS_CHAIN" - A business chain feature is used to represent a - // chain, e.g. Starbucks, McDonald's, etc. Other features representing specific - // stores/franchises of this chain may refer to one such feature via - // RELATION_MEMBER_OF_CHAIN. This is not strictly reserved to commercial chains - // but can also be used to model organizations such as the Red Cross or the - // United Nations. - // "TYPE_PHONE_NUMBER_PREFIX" - A phone number prefix feature is used to - // specify the region where phone numbers (typically fixed-line numbers) must - // begin with a certain prefix. Any phone number prefix down to any level of - // granularity could be represented by this type. - // "TYPE_PHONE_NUMBER_AREA_CODE" - A phone number area code is a prefix which - // also coincides with the area code, or national destination code, of a - // particular region. - // "TYPE_BUSINESS_CORRIDOR" - A Business Corridor is a dense cluster of - // semantically similar establishments. TYPE_BUSINESS_CORRIDOR features are - // distinguished from TYPE_COLLOQUIAL_AREA features because the corridors are - // not under the political hierarchy, are allowed to be nameless, and may not - // correspond to well-known real world locations. For more details, see - // go/geo-corridors-schema. - // "TYPE_ADDRESS_TEMPLATE" - An address template feature provides - // region-specific conventions for structuring addresses. These features aren't - // necessarily defined by physical geographic features, so they are classified - // as meta-features. - // "TYPE_TRANSIT_AGENCY" - A transit agency operates a number of lines, - // typically all in the same city, region or country. See also - // transitagency.proto - // "TYPE_FUTURE_GEOMETRY" - A feature whose geometry is planned to replace - // the geometry on another feature. - // "TYPE_EVENT" - DEPRECATED - // "TYPE_EARTHQUAKE" - DEPRECATED - // "TYPE_HURRICANE" - DEPRECATED - // "TYPE_WEATHER_CONDITION" - DEPRECATED - // "TYPE_TRANSIENT" - RESERVED - // "TYPE_ENTRANCE" - A portal of entry or exit to another feature. Examples: - // - Subway station entrance. - Parking lot entrance. - // "TYPE_CARTOGRAPHIC" - Cartographic features are used to capture real-world - // objects for which there is no current desire to model any specific - // attributes. These are only useful to make the map tiles look pretty. - // "TYPE_HIGH_TENSION" - DEPRECATED - // "TYPE_SKI_TRAIL" - Also see skitrail.proto - // "TYPE_SKI_LIFT" - Also see skilift.proto - // "TYPE_SKI_BOUNDARY" - Also see skiboundary.proto - // "TYPE_WATERSHED_BOUNDARY" - // "TYPE_TARMAC" - Starting with TYPE_TARMAC, we use longer IDs, so that we - // can expand the number of feature types under TYPE_CARTOGRAPHIC. - // "TYPE_WALL" - Use TYPE_COMPOUND_GROUND and appropriate gcids for the next - // two. - // "TYPE_PICNIC_AREA" - DEPRECATED - // "TYPE_PLAY_GROUND" - DEPRECATED - // "TYPE_TRAIL_HEAD" - // "TYPE_GOLF_TEEING_GROUND" - Sub-types within a golf course. - // "TYPE_GOLF_PUTTING_GREEN" - // "TYPE_GOLF_ROUGH" - // "TYPE_GOLF_SAND_BUNKER" - // "TYPE_GOLF_FAIRWAY" - // "TYPE_GOLF_HOLE" - Use TYPE_ESTABLISHMENT_POI and gcid:golf_shop for golf - // shops instead. - // "TYPE_DEPRECATED_GOLF_SHOP" - DEPRECATED - // "TYPE_CAMPING_SITE" - DEPRECATED - // "TYPE_DESIGNATED_BARBECUE_PIT" - // "TYPE_DESIGNATED_COOKING_AREA" - // "TYPE_CAMPFIRE_PIT" - // "TYPE_WATER_FOUNTAIN" - // "TYPE_LITTER_RECEPTACLE" - // "TYPE_LOCKER_AREA" - // "TYPE_ANIMAL_ENCLOSURE" - Subtype within a zoo - a cage or fenced-off or - // otherwise delineated area containing animals. - // "TYPE_CARTOGRAPHIC_LINE" - A line for a cartographic detail. For example - // the international date line. Such features should have polyline geometry. - // "TYPE_ESTABLISHMENT" - ABSTRACT This type is being replaced by - // TYPE_COMPOUND_GROUNDS. For further details, see go/compounds-v2 - // "TYPE_ESTABLISHMENT_GROUNDS" - DEPRECATED This type has been replaced by - // TYPE_COMPOUND_BUILDING. For further details, see go/oyster-compounds - // "TYPE_ESTABLISHMENT_BUILDING" - DEPRECATED - // "TYPE_ESTABLISHMENT_POI" - An establishment that has a physical location. - // Note that it *may* also have a service area (e.g. a restaurant that offers - // both dine-in and delivery). This type of business is also known as a - // "hybrid" Service Area Business. Establishment POIs can be referenced by - // TYPE_COMPOUND features using the RELATION_PRIMARILY_OCCUPIED_BY. This is the - // reciprocal relation of the RELATION_OCCUPIES. - // "TYPE_ESTABLISHMENT_SERVICE" - NOTE(tcain): Using value 0xD441, since we - // could find ourselves with a need to differentiate service areas from - // online-only at this level in the future, but still benefit from being able - // to group those under a common parent, disjoint from TYPE_ESTABLISHMENT_POI. - // "TYPE_CELESTIAL" - The root of types of features that are in the sky, - // rather than on the earth. There will eventually be a hierarchy of types - // here. - // "TYPE_ROAD_MONITOR" - Features responsible for monitoring traffic on roads - // (usually for speed). Includes cameras at particular points as well as - // monitors that cover larger spans. Features of this type should have a - // corresponding gcid that specifies the correct subtype (e.g. gcid:road_camera - // or gcid:speed_camera_zone). This type was originally named as - // TYPE_ROAD_CAMERA. - // "TYPE_PUBLIC_SPACES_AND_MONUMENTS" - ABSTRACT - // "TYPE_STATUE" - Note that this type does not distinguish the nature of the - // statue (religious, historical, memorial, tourist, ...). - // "TYPE_TOWN_SQUARE" - Open space used for events, gathering, or as - // market-place. - // "TYPE_LEVEL" - A feature used to represent a logical level, e.g. floor. - // "TYPE_COMPOUND" - ABSTRACT - // "TYPE_COMPOUND_GROUNDS" - e.g. campus, compound, parcel. - // "TYPE_COMPOUND_BUILDING" - e.g. single family dwelling, office building. - // "TYPE_COMPOUND_SECTION" - e.g. suite, room, hallway, cubicle. - // "TYPE_TERMINAL_POINT" - A terminal point represents a good location for a - // user to meet a taxi, ridesharing vehicle, or general driver. - // "TYPE_REGULATED_AREA" - An area controlled in some way by an authoritative - // source, such as a government-designated COVID containment zone or an area - // under government sanctions. Features of this type should have one or more - // gcids corresponding to their specific regulation, and client handling of - // these features may vary based on the type of regulation. - // "TYPE_LOGICAL_BORDER" - A grouping of TYPE_BORDER features ("border - // segments"), which together represent a border between two features of the - // same type. - // "TYPE_GCONCEPT_ONLY" - A generic feature type for any geo-type that cannot - // be modeled under existing feature types. No new feature type should be - // created within feature proto after this type. - // "TYPE_DO_NOT_USE_RESERVED_TO_CATCH_GENERATED_FILES" - DEPRECATED - // "TYPE_UNKNOWN" - A feature of completely unknown type. This should only be - // used when absolutely necessary. One example in which this type is useful is - // in the Chinese importer, which must heuristically segment addresses into - // components - it often does not know what types to make those components. - // Please note that the Oyster address formatter does not currently support - // address components of TYPE_UNKNOWN well. - Type string `json:"type,omitempty"` - // VerticalOrdering: Represents vertical ordering for this feature relative to - // other geometrically-overlaping features. See go/aboutgrades for more - // information about distinction among different levels. - VerticalOrdering *GeostoreVerticalOrderingProto `json:"verticalOrdering,omitempty"` - // VisualizationArea: Geometry Store ID and materialized geometry representing - // a bounding box of the feature's geometry (or the building/grounds a POI - // occupies) for stylized rendering, UX experiences, etc. IMPORTANT: Clients - // may not write to this field directly; see - // go/geometry-store-reading-and-writing#writing-to-geometry-store. - VisualizationArea *GeostoreGeometryStoreReferenceProto `json:"visualizationArea,omitempty"` - // WaterRemovedPolygon: A version of the geometry which has water removed but - // is not simplified (thus having equal or more vertices than - // polygon_for_display). - WaterRemovedPolygon *GeostorePolygonProto `json:"waterRemovedPolygon,omitempty"` - // Website: The official website of this feature. Stored as a repeated field to - // allow for multilingual official websites (see comments in url.proto). - Website []*GeostoreUrlProto `json:"website,omitempty"` - // ForceSendFields is a list of field names (e.g. "AccessPoint") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AccessPoint") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFeatureProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFeatureProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreFeatureProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreFeatureProto - var s1 struct { - GeometryPrecisionMeters gensupport.JSONFloat64 `json:"geometryPrecisionMeters"` - Rank gensupport.JSONFloat64 `json:"rank"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.GeometryPrecisionMeters = float64(s1.GeometryPrecisionMeters) - s.Rank = float64(s1.Rank) - return nil -} - -// GeostoreFeatureReplacementInfoProto: Metadata to track feature derivations -// and replacements. This is used to track feature provenance (particularly for -// road segments). -type GeostoreFeatureReplacementInfoProto struct { - // DerivedFrom: This feature was created to replace other features that are - // referenced by this field. - DerivedFrom []*GeostoreFeatureIdProto `json:"derivedFrom,omitempty"` - // ReplacedBy: This feature was replaced by other features that are referenced - // by this this field. - ReplacedBy []*GeostoreFeatureIdProto `json:"replacedBy,omitempty"` - // ForceSendFields is a list of field names (e.g. "DerivedFrom") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DerivedFrom") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFeatureReplacementInfoProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFeatureReplacementInfoProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFieldMetadataProto: Internal field metadata. This part is not -// exposed to downstream consumers of the repository (read-only clients) but is -// available to upstream providers to the repository (read-write clients). -type GeostoreFieldMetadataProto struct { - Internal *GeostoreInternalFieldMetadataProto `json:"internal,omitempty"` - // ForceSendFields is a list of field names (e.g. "Internal") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Internal") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFieldMetadataProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFieldMetadataProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFieldWithRightsProto: Proto used to represent rights for a feature -// property id. See go/geo-rights for more details. NOTE: Use -// google3/geostore/provenance/public/rights.h or -// google3/java/com/google/geostore/provenance/rights/Rights.java instead of -// accessing this proto directly. -type GeostoreFieldWithRightsProto struct { - // AttributeId: **DEPRECATED** Never set. - AttributeId string `json:"attributeId,omitempty"` - // FeaturePropertyId: The feature property id for which this entry tracks - // rights. - FeaturePropertyId *GeostoreFeaturePropertyIdProto `json:"featurePropertyId,omitempty"` - // FieldType: **DEPRECATED** The field type for which this entry tracks rights. - // There may be multiple entries for the same field type - prefer - // feature_property_id to uniquely identify a particular entry. - FieldType int64 `json:"fieldType,omitempty"` - // MinRightsLevel: The minimum rights level among all current values for this - // feature property id. - // - // Possible values: - // "UNKNOWN_RIGHTS" - Indicates that the rights level is unknown. This should - // always be the default value of any RightsLevel field in any proto. - // "GT_RIGHTS" - GT-rights or GT-level rights is a level of data ownership - // that Google has retained as defined by the Ground Truth project. GT rights - // include but may not be limited to: - Data may be used perpetually in any - // Google product or service - No requirement for any on-screen attribution - // requirements (although we may have softer attribution requirements, like - // display on a legal notices page) - No display, distribution, or storage - // restrictions - other than that the content may not be redistributed on a - // standalone basis, independent of a Google product or service. - // "FULL_RIGHTS" - Full rights refers to data for which Google has no usage - // restrictions. We can do whatever we want with it. - MinRightsLevel string `json:"minRightsLevel,omitempty"` - // ForceSendFields is a list of field names (e.g. "AttributeId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AttributeId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFieldWithRightsProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFieldWithRightsProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFlowLineProto: Wrapper to hold data related to a lane’s track, -// extendable for future data. -type GeostoreFlowLineProto struct { - // Curvature: RESERVED - Curvature *GeostoreCurvatureProto `json:"curvature,omitempty"` - Track *GeostoreTrackProto `json:"track,omitempty"` - // ForceSendFields is a list of field names (e.g. "Curvature") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Curvature") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFlowLineProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFlowLineProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFoodMenuItemOptionProto: Example: the choice of chicken, beef, or -// tofu for the Thai Basil dish. Each option would have its own name, price, -// allergen info, etc. Note: This proto stores both food and service items -// despite the name. -type GeostoreFoodMenuItemOptionProto struct { - // Possible values: - // "ALLERGEN_DAIRY" - A list of types of allergens for food and drinks. - // "ALLERGEN_EGG" - // "ALLERGEN_FISH" - // "ALLERGEN_PEANUT" - // "ALLERGEN_SHELLFISH" - // "ALLERGEN_SOY" - // "ALLERGEN_TREE_NUT" - // "ALLERGEN_WHEAT" - AllergenAbsent []string `json:"allergenAbsent,omitempty"` - // Possible values: - // "ALLERGEN_DAIRY" - A list of types of allergens for food and drinks. - // "ALLERGEN_EGG" - // "ALLERGEN_FISH" - // "ALLERGEN_PEANUT" - // "ALLERGEN_SHELLFISH" - // "ALLERGEN_SOY" - // "ALLERGEN_TREE_NUT" - // "ALLERGEN_WHEAT" - AllergenPresent []string `json:"allergenPresent,omitempty"` - Calories int64 `json:"calories,omitempty"` - // Ingredients: Ingredients of the food dish option. - Ingredients []*GeostoreFoodMenuItemOptionProtoIngredient `json:"ingredients,omitempty"` - // Media: Photos of the food dish option. - Media []*GeostoreMediaItemProto `json:"media,omitempty"` - // NameInfo: The repeated name_info field here is for item options with names - // or descriptions listed in multiple languages. When an item option has no - // names or descriptions, the size of the repeated field name_info may be 0. - // For example, when a food menu item does not have multiple options, the item - // option proto is used only to specify price and nutritional information, so - // it will not have a name_info field. There should be at most one name_info - // for any given language. - NameInfo []*GeostorePriceListNameInfoProto `json:"nameInfo,omitempty"` - // NutritionFacts: Nutrition facts of the food dish option. Note that it also - // includes calories information with a finer defined unit information. - NutritionFacts *GeostorePriceInfoFoodNutritionFacts `json:"nutritionFacts,omitempty"` - // PortionSize: Size of the order, represented in units of items. (e.g. 4 - // "skewers”, 6 "pieces”) - PortionSize *GeostoreFoodMenuItemOptionProtoPortionSize `json:"portionSize,omitempty"` - // PreparationMethods: Methods on how the food dish option is prepared. - // - // Possible values: - // "METHOD_UNDEFINED" - // "BAKED" - // "BOILED" - // "BLANCHED" - // "BRAISED" - // "CODDLED" - // "PRESSURE_COOKED" - // "SIMMERED" - // "STEAMED" - // "STEEPED" - // "GRILLED" - // "FRIED" - // "PAN_FRIED" - // "STIR_FRIED" - // "SAUTEED" - // "ROASTED" - // "BARBECUED" - // "SEARED" - // "SMOKED" - // "FERMENTED" - // "MARINATED" - // "PICKLED" - // "BASTED" - // "KNEADED" - // "OTHER_METHOD" - PreparationMethods []string `json:"preparationMethods,omitempty"` - // Price: We use PriceRangeProto here but we expect the lower_price and - // upper_price to be both set to equal numbers because an option should have a - // single price. This field is not required because food item prices may be - // variable depending on season. - Price *GeostorePriceRangeProto `json:"price,omitempty"` - // Possible values: - // "DIET_HALAL" - A list of types of restrictions adhered to during food - // preparation. - // "DIET_KOSHER" - // "DIET_ORGANIC" - // "DIET_VEGAN" - // "DIET_VEGETARIAN" - Restriction []string `json:"restriction,omitempty"` - // ServesNumPeople: Number of people can be served by this food dish option. - ServesNumPeople int64 `json:"servesNumPeople,omitempty"` - // Possible values: - // "SPICINESS_NONE" - // "SPICINESS_MILD" - // "SPICINESS_MEDIUM" - // "SPICINESS_HOT" - Spiciness string `json:"spiciness,omitempty"` - // ForceSendFields is a list of field names (e.g. "AllergenAbsent") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AllergenAbsent") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFoodMenuItemOptionProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFoodMenuItemOptionProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFoodMenuItemOptionProtoIngredient: This message denotes an -// ingredient information of a food dish. -type GeostoreFoodMenuItemOptionProtoIngredient struct { - // NameInfo: The repeated name_info field is for the ingredient in multiple - // languages. - NameInfo []*GeostorePriceListNameInfoProto `json:"nameInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "NameInfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NameInfo") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFoodMenuItemOptionProtoIngredient) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFoodMenuItemOptionProtoIngredient - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFoodMenuItemOptionProtoPortionSize: This message denotes the serving -// portion size of a food dish. -type GeostoreFoodMenuItemOptionProtoPortionSize struct { - // Quantity: Required. - Quantity int64 `json:"quantity,omitempty"` - // Unit: Required. The repeated name_info field is for the unit in multiple - // languages. - Unit []*GeostorePriceListNameInfoProto `json:"unit,omitempty"` - // ForceSendFields is a list of field names (e.g. "Quantity") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Quantity") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFoodMenuItemOptionProtoPortionSize) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFoodMenuItemOptionProtoPortionSize - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreFoodMenuItemProto: A food menu item must have a name although it can -// have multiple names in different languages. Example: Thai Basil. Price for -// this item is specified in the item_option field. Since the price of an item -// may be unknown, e.g. seasonal price, there is nothing that requires an -// item_option to be present in the FoodMenuItemProto. -type GeostoreFoodMenuItemProto struct { - ItemOption []*GeostoreFoodMenuItemOptionProto `json:"itemOption,omitempty"` - // NameInfo: The repeated name_info field is for items listed in multiple - // languages. - NameInfo []*GeostorePriceListNameInfoProto `json:"nameInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "ItemOption") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ItemOption") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreFoodMenuItemProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreFoodMenuItemProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreGConceptInstanceProto: A GConceptInstanceProto contains a GConceptID -// (which is the unique identifier of a GConcept, a category in the Geo -// Ontology). -type GeostoreGConceptInstanceProto struct { - // GconceptId: The unique identifier of a GConcept (e.g. "gcid:railway"). - GconceptId string `json:"gconceptId,omitempty"` - // Metadata: Field-level metadata for this GConcept. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // Prominence: The relative prominence of this category to this feature - // according to the data provider, as one of the values from the enum above. - // Prominence is a measure of how well the given GConcept describes the - // feature. An example is a gas station with convenience store and ATM. All - // three GConcepts are very relevant, but the gas_station GConcept is the most - // prominent. If the prominence of this GConcept is unknown, this field should - // not be set. - // - // Possible values: - // "NON_PRIMARY" - not a prominent GConcept - // "PRIMARY" - the most prominent GConcept - Prominence string `json:"prominence,omitempty"` - // ForceSendFields is a list of field names (e.g. "GconceptId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GconceptId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreGConceptInstanceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreGConceptInstanceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreGeometryComposition: Encapsulates all the features which, together, -// define the geometry of a feature. This happens by: 1. taking the union of -// all polygons of features referenced in includes_geometry_of 2. subtracting -// the polygons of all the features referenced in excludes_geometry_of -type GeostoreGeometryComposition struct { - // ExcludesGeometryOf: Features whose geometry to exclude while composing the - // geometry of this feature. - ExcludesGeometryOf []*GeostoreFeatureIdProto `json:"excludesGeometryOf,omitempty"` - // IncludesGeometryOf: Features whose geometry to include while composing the - // geometry of this feature. - IncludesGeometryOf []*GeostoreFeatureIdProto `json:"includesGeometryOf,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExcludesGeometryOf") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExcludesGeometryOf") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreGeometryComposition) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreGeometryComposition - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreGeometryStoreReferenceProto: A Geometry Store ID and, in some -// contexts, geometry materialized from the record associated with that ID. -type GeostoreGeometryStoreReferenceProto struct { - // Footprint: Geometry (in STGeography format) materialized from the footprint - // field of the Geometry Store record associated with the geometry_id - // referenced above. - Footprint string `json:"footprint,omitempty"` - // Geometry: Geometry materialized from the full_fidelity_proto field of the - // Geometry Store record associated with the geometry_id referenced above. - Geometry *GeostoreCityJsonProto `json:"geometry,omitempty"` - // GeometryId: The ID of a record in the Geometry Store. - GeometryId string `json:"geometryId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Footprint") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Footprint") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreGeometryStoreReferenceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreGeometryStoreReferenceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreGeopoliticalGeometryProto: Geopolitical (unsimplified) polygons for -// a feature for different geopolitical use cases. See go/unsimplified-poly. -type GeostoreGeopoliticalGeometryProto struct { - // RestOfWorldPolygon: The unsimplified, water-subtracted polygon representing - // the feature's geometry as viewed by the rest of the world, which may differ - // from its default polygon, for example by excluding certain regions. - RestOfWorldPolygon *GeostorePolygonProto `json:"restOfWorldPolygon,omitempty"` - // SelfPolygon: The unsimplified, water-subtracted polygon representing the - // feature's geometry as viewed by the country that administers it, which may - // differ from its default polygon, for example by including disputed areas. - SelfPolygon *GeostorePolygonProto `json:"selfPolygon,omitempty"` - // ForceSendFields is a list of field names (e.g. "RestOfWorldPolygon") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RestOfWorldPolygon") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreGeopoliticalGeometryProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreGeopoliticalGeometryProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreGeopoliticalProto: This protocol buffer is used to store -// geopolitical information about the feature that override the base state of -// the feature. For example, the name of the feature from different regions' -// POV. This protocol buffer can be used on any feature involved in a -// geopolitical situation and is not limited to TYPE_POLITICAL features. -type GeostoreGeopoliticalProto struct { - // ConveysAttributionTo: If present, some aspect of this feature (usually name - // or geometry) can signify ownership of the area by the region specified. The - // string, if present, will be a region code. E.g., suppose a TYPE_POSTAL_CODE - // feature has a Russian format in Crimea (which is disputed by Ukraine), then - // this field would be set to "RU". - ConveysAttributionTo string `json:"conveysAttributionTo,omitempty"` - // RegionSpecificName: Any specific handling of this feature's name from - // different regions' POVs. This field can only contain up to one name per - // region/language combination (each of which would be a separate - // RegionSpecificNameProto). - RegionSpecificName []*GeostoreRegionSpecificNameProto `json:"regionSpecificName,omitempty"` - // RegionalPolygonAdjustment: Adjustments to the base polygon of this feature - // to construct a region-specific view. In general, this field is edited only - // by go/mf-triggers based on the data written to - // regional_polygon_composing_claims. This field should only be directly edited - // if there are region-specific adjustments that cannot be represented using - // the geometry of this feature's claims, but note that anything written to - // this field will be overwritten by go/mf-triggers if - // regional_polygon_composing_claims is ever edited. See - // go/geopolitical-geometry-schema for more information. - RegionalPolygonAdjustment []*GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProto `json:"regionalPolygonAdjustment,omitempty"` - // RegionalPolygonComposingClaims: Feature's claim(s) which compose the - // region-specific polygon. This composition will be used by go/mf-triggers to - // compose the specified region's view of this feature's geometry. The - // difference between that polygon and this feature's base polygon will be - // stored in regional_polygon_adjustment below. Edits to this field will - // overwrite anything already stored in regional_polygon_adjustment. See - // go/geopolitical-geometry-schema for more information. - RegionalPolygonComposingClaims []*GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProto `json:"regionalPolygonComposingClaims,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConveysAttributionTo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConveysAttributionTo") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreGeopoliticalProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreGeopoliticalProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProto: Raw polygon -// adjustments to apply to this feature's base polygon to construct a specific -// region's view of this feature's polygon. -type GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProto struct { - // PolygonToAdd: Polygon to add to the feature's base polygon to get the view - // for the given region. Applied after polygon_to_subtract, such that any - // region contained in both polygons WILL be part of the final result. - PolygonToAdd *GeostorePolygonProto `json:"polygonToAdd,omitempty"` - // PolygonToSubtract: Polygon to subtract from the feature's base polygon to - // get the view for the given region. - PolygonToSubtract *GeostorePolygonProto `json:"polygonToSubtract,omitempty"` - // RegionCode: Region code (or other identifier) for the region. - RegionCode string `json:"regionCode,omitempty"` - // ForceSendFields is a list of field names (e.g. "PolygonToAdd") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PolygonToAdd") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreGeopoliticalProtoRegionalPolygonAdjustmentProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProto: The polygon -// composition recipe for a specific region's view of this feature's geometry, -// based on disputed area claims asserted by this country. Note that the -// included / excluded claims listed for a given region's view of this feature -// may not match up exactly with which claims the region recognizes / does not -// recognize for this feature. Claims may only be included or excluded for -// regions that themselves are a party to the dispute, i.e. a region's view of -// itself will include its own claims, and a region's view of another feature -// will exclude its own claims. See current Geopolitical policy at -// go/geopolitical-policy-primer. -type GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProto struct { - // RegionCode: Region code (or other identifier) for the region. - RegionCode string `json:"regionCode,omitempty"` - // RegionExcludedClaims: TYPE_DISPUTED_AREAs claimed by this feature excluded - // from this region's view of the feature's geometry. (The TDAs must have - // polygonal geometry and be referenced in this feature's political.claim - // field.) The polygons of these claims will be subtracted to this feature's - // base polygon when this feature is viewed from the specified region. - RegionExcludedClaims []*GeostoreFeatureIdProto `json:"regionExcludedClaims,omitempty"` - // RegionIncludedClaims: TYPE_DISPUTED_AREAs claimed by this feature and - // included in this region's view of the feature's geometry. (The TDAs must - // have polygonal geometry and be referenced in this feature's political.claim - // field.) The polygons of these claims will be added to this feature's base - // polygon when this feature is viewed from the specified region. - RegionIncludedClaims []*GeostoreFeatureIdProto `json:"regionIncludedClaims,omitempty"` - // ForceSendFields is a list of field names (e.g. "RegionCode") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RegionCode") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreGeopoliticalProtoRegionalPolygonComposingClaimsProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreGradeLevelProto: The grade level of a segment represents the -// relative altitude of the segment at a particular point along the segment. -// This level is in relation to other segments at the same point. For example, -// you might have a freeway at level = 0 and an overpass at level = 2. Vertical -// segments are represented by a polyline containing only 1 vertex and exactly -// two grade_level in segment.proto whose indices are 0. grade_level(0) -// represents the relative height at the start point of the segments, and -// grade_level(1) represents the one at the end point. -type GeostoreGradeLevelProto struct { - // Index: The index of the point along the segment, where 0 is the starting - // point. This means that the index of a point along a segment and its sibling - // will be different. - Index int64 `json:"index,omitempty"` - // Level: The grade level of the indexed point. The grade level can be thought - // of as a relative vertical ordering with respect to other segments at the - // same point, where larger/more positive numbers are "higher". Negative grade - // level values are allowed and are typically used for points below grade level - // (0 is a common choice to represent the level of points at the ground level). - // For vertical segments, the height, i.e. the vertical length, is represented - // by difference of levels in millimeters. For example, - // feature.segment().grade_level(0).level() == 0 and - // feature.segment().grade_level(1).level() == 5000, then the length of the - // vertical segment feature is 5000 millimeters (5 meters). - Level int64 `json:"level,omitempty"` - // ForceSendFields is a list of field names (e.g. "Index") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Index") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreGradeLevelProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreGradeLevelProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreHtmlTextProto: Represents HTML text associated with a feature. -type GeostoreHtmlTextProto struct { - // Text: Zero or more texts of the specified type, in various languages. If - // this is a HTML_DESCRIPTION blob then these texts would hold the description - // in English, German, and so forth. The text is an HTML fragment, not a full - // page. The fragment should be suitable for including in a DIV. It must have - // balanced HTML tags. It may use HTML's "class" attributes to assign classes - // to HTML elements. This allows the HTML to be formatted by an (external) - // style sheet. The HTML should not have embedded style sheet definitions, nor - // should it have embedded JavaScript. - Text []*GeostoreLanguageTaggedTextProto `json:"text,omitempty"` - // Possible values: - // "HTML_DESCRIPTION" - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Text") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Text") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreHtmlTextProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreHtmlTextProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreInferredGeometryProto: Inferred geometry defines the geometry of a -// feature as the union or exclusion of the geometry of other features. For -// instance, the geometry of a timezone can be specified as the union of all -// the countries it applies to. In this scenario, the timezone will can be -// considered a "composite feature", while the countries are its "composing -// features". A composite feature must have a bidirectional reference between -// itself and all its composing features. A composite feature refers to its -// composing features via `geometry_composition`, while the composing features -// must refer back to the composing feature via `defines_geometry_for`. See: -// go/inferred-geometry and go/geo-schema:composite-geometry-editor for more -// details. -type GeostoreInferredGeometryProto struct { - // DefinesGeometryFor: Features whose geometry depends on this feature's - // geometry. - DefinesGeometryFor []*GeostoreFeatureIdProto `json:"definesGeometryFor,omitempty"` - // GeometryComposition: Features whose geometry defines the geometry of this - // feature (i.e. "composing features"). - GeometryComposition *GeostoreGeometryComposition `json:"geometryComposition,omitempty"` - // ForceSendFields is a list of field names (e.g. "DefinesGeometryFor") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DefinesGeometryFor") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreInferredGeometryProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreInferredGeometryProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreInternalFeatureProto: InternalFeatureProto represents fields for -// data that are more about other data within the FeatureProto than about the -// feature itself. This could be data that's set by editors directly(ish) (e.g. -// trust or rights data), or data set internally by MapFacts based on other -// data (e.g. polygon shape IDs). -type GeostoreInternalFeatureProto struct { - // PolygonShapeId: A unique identifier for this feature's polygon data which is - // being held externally in Shapestore (see go/shapestore). - PolygonShapeId string `json:"polygonShapeId,omitempty"` - // RestOfWorldPolygonShapeId: A unique identifier for this feature's - // rest-of-world view polygon data which is being held externally in Shapestore - // (see go/shapestore). This is part of the feature's geopolitical geometry. - RestOfWorldPolygonShapeId string `json:"restOfWorldPolygonShapeId,omitempty"` - // RightsStatus: Per-field rights for this feature. See - // http://g3doc/geostore/g3doc/developers-guide/inputs/rights-tracking for more - // information. - RightsStatus *GeostoreRightsStatusProto `json:"rightsStatus,omitempty"` - // SelfPolygonShapeId: A unique identifier for this feature's self view polygon - // data which is being held externally in Shapestore (see go/shapestore). This - // is part of the feature's geopolitical geometry. - SelfPolygonShapeId string `json:"selfPolygonShapeId,omitempty"` - // Trust: Trust signals/annotations for the feature. In an input feature, these - // signals are computed at the beginning of the pipeline and are immutable - // during the processing. In output features, this proto may define the - // rules/criteria that a newer edit should meet, in order to be applied. - Trust *GeostoreTrustSignalsProto `json:"trust,omitempty"` - // WaterRemovedPolygonShapeId: A unique identifier for this feature's - // water-removed polygon data which is being held externally in Shapestore (see - // go/shapestore). - WaterRemovedPolygonShapeId string `json:"waterRemovedPolygonShapeId,omitempty"` - // ForceSendFields is a list of field names (e.g. "PolygonShapeId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PolygonShapeId") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreInternalFeatureProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreInternalFeatureProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreInternalFieldMetadataProto struct { - // IsAuto: Whether or not the piece of data has been generated automatically - // (i.e., by a bot/automated process based on heuristics/algorithms rather than - // coming as a fact set by some human user or data provider based on their - // knowledge). Note that this does NOT imply that the value was set as a result - // of a bot operation on the repository, since it is conceivable to use a - // bot/automated process simply as a way of convenience to ingest large amount - // of canonical/ground truth data. - IsAuto bool `json:"isAuto,omitempty"` - // SourceSummary: Information about the source providing the piece of data this - // metadata is attached to. - SourceSummary *GeostoreInternalSourceSummaryProto `json:"sourceSummary,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsAuto") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsAuto") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreInternalFieldMetadataProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreInternalFieldMetadataProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreInternalSegmentProto: Internal-only proto used to express additional -// information about segments. This is intended for communicating extra -// information between editing clients and the repository, and should not be -// used by or visible to clients. WARNING - if you add new fields to -// InternalSegmentProto, make sure that -// geostore/tools/internal/mr-mergesegments_test.cc is aware of them. -type GeostoreInternalSegmentProto struct { - // DisallowedConnections: A list of lane connections that are explicitly not - // allowed to be added. NOTE: This should never reference existing lane - // connections on this segment. - DisallowedConnections []*GeostoreInternalSegmentProtoLaneConnectionReference `json:"disallowedConnections,omitempty"` - // DisallowedPrimaryConnection: A list of lane connections which cannot have - // the primary_connection bit set. - DisallowedPrimaryConnection []*GeostoreInternalSegmentProtoLaneConnectionReference `json:"disallowedPrimaryConnection,omitempty"` - // TravelAllowance: The set of restrictions that apply to this segment; these - // are actually *POSITIVE* restrictions, i.e. they are known to be allowed. - TravelAllowance []*GeostoreRestrictionProto `json:"travelAllowance,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisallowedConnections") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisallowedConnections") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreInternalSegmentProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreInternalSegmentProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreInternalSegmentProtoLaneConnectionReference: Specifies a single -// outgoing lane connection. -type GeostoreInternalSegmentProtoLaneConnectionReference struct { - // FromLaneNumber: The lane number on this segment. - FromLaneNumber int64 `json:"fromLaneNumber,omitempty"` - // Segment: This reference to the other segment is weak, since strong would - // blow up bounds of all segments. - Segment *GeostoreFeatureIdProto `json:"segment,omitempty"` - // ToLaneNumber: This is the lane number on the target segment. - ToLaneNumber int64 `json:"toLaneNumber,omitempty"` - // ForceSendFields is a list of field names (e.g. "FromLaneNumber") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FromLaneNumber") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreInternalSegmentProtoLaneConnectionReference) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreInternalSegmentProtoLaneConnectionReference - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreInternalSourceSummaryProto struct { - // Dataset: Within the above provider, the dataset from which this piece of - // data was generated. For fields that are auto-generated the "dataset" is - // likely to be some algorithm's or program's name. Similar to - // SourceInfoProto.dataset but with the difference that it is required to - // always be set. Providers that don't have a concept of dataset may use - // "default". - Dataset string `json:"dataset,omitempty"` - // Provider: The data provider from which this piece of data was generated. - // Equivalent to SourceInfoProto.provider in the public schema. - // - // Possible values: - // "PROVIDER_ANY" - ABSTRACT The root of all provider types. This should - // never be present on an actual feature, but can be useful when calling - // InCategory. - // "PROVIDER_UNKNOWN" - not actually a legal value, used as sentinel - // "PROVIDER_NAVTEQ" - // "PROVIDER_TELE_ATLAS" - ABSTRACT - // "PROVIDER_TELE_ATLAS_MULTINET" - // "PROVIDER_TELE_ATLAS_CODEPOINT" - // "PROVIDER_TELE_ATLAS_GEOPOST" - // "PROVIDER_TELE_ATLAS_DATAGEO" - // "PROVIDER_TELE_ATLAS_ADDRESS_POINTS" - // "PROVIDER_TELCONTAR" - // "PROVIDER_EUROPA" - // "PROVIDER_ROYAL_MAIL" - // "PROVIDER_GOOGLE" - ABSTRACT - // "PROVIDER_GOOGLE_HAND_EDIT" - // "PROVIDER_GOOGLE_BORDERS" - All new "Google" provider entries must be full - // ints. The next available ID is: 0x111730C2 - // "PROVIDER_GOOGLE_SUBRANGE" - ABSTRACT - // "PROVIDER_GOOGLE_GT_FUSION" - // "PROVIDER_GOOGLE_ZAGAT_CMS" - // "PROVIDER_GOOGLE_PLACE_NAVBOOST" - // "PROVIDER_GOOGLE_FOOTPRINT" - // "PROVIDER_GOOGLE_PRODUCT_TERMS" - // "PROVIDER_GOOGLE_POINTCARDS" - // "PROVIDER_GOOGLE_BUSINESS_CHAINS" - // "PROVIDER_GOOGLE_LOCAL_SUMMARIZATION" - // "PROVIDER_GOOGLE_PRONUNCIATIONS" - // "PROVIDER_GOOGLE_DUMPLING" - // "PROVIDER_GOOGLE_DISTILLERY" - // "PROVIDER_GOOGLE_LOCAL_ATTRIBUTE_SUMMARIZATION" - // "PROVIDER_GOOGLE_RELATION_MINER" - // "PROVIDER_GOOGLE_MAPSPAM" - // "PROVIDER_GOOGLE_ROSE" - // "PROVIDER_GOOGLE_LOCAL_PLACE_RATINGS" - // "PROVIDER_GOOGLE_WIPEOUT" - This is an internal *only* provider meant for - // sending wipeout requests to mapfacts. - // "PROVIDER_GOOGLE_KNOWLEDGE_GRAPH" - // "PROVIDER_GOOGLE_BEEGEES" - // "PROVIDER_GOOGLE_REVIEW_SUMMARIZATION" - // "PROVIDER_GOOGLE_OFFLINE_NON_CORE_ATTRIBUTE_SUMMARIZATION" - // "PROVIDER_GOOGLE_GEO_WORLDMAPS" - // "PROVIDER_GOOGLE_GEO_MODERATION" - // "PROVIDER_GOOGLE_OYSTER_AUTO_EDITS" - // "PROVIDER_GOOGLE_LOCAL_ALCHEMY" - // "PROVIDER_GOOGLE_KEROUAC" - // "PROVIDER_GOOGLE_MOBRANK" - // "PROVIDER_GOOGLE_RAPTURE" - // "PROVIDER_GOOGLE_CULTURAL_INSTITUTE" - // "PROVIDER_GOOGLE_GEOCODES_FROM_LOCAL_FEEDS" - // "PROVIDER_GOOGLE_ATTRIBUTES_FROM_CRAWLED_CHAINS" - // "PROVIDER_GOOGLE_TACTILE_MAPS" - // "PROVIDER_GOOGLE_MAPS_FOR_MOBILE" - // "PROVIDER_GOOGLE_GEO_REALTIME" - // "PROVIDER_GOOGLE_PROMINENT_PLACES" - Never rely on source infos with this - // provider to identify whether or not a feature is a Prominent Place! Instead, - // use the proper API, - // localsearch_clustering::QualityTierHelper::IsProminentPlace(). - // "PROVIDER_GOOGLE_PLACE_ACTIONS" - // "PROVIDER_GOOGLE_GT_AUTO_EDITS" - // "PROVIDER_GOOGLE_WAZE" - // "PROVIDER_GOOGLE_ONTHEGO" - // "PROVIDER_GOOGLE_GT_IMPORT" - // "PROVIDER_GOOGLE_STRUCTURED_DATA" - // "PROVIDER_GOOGLE_HELICOPTER" - // "PROVIDER_GOOGLE_ROLLBACK" - // "PROVIDER_GOOGLE_RIGHTS_REPAIR" - // "PROVIDER_GOOGLE_PERFUME" - // "PROVIDER_GOOGLE_MAPS_TRANSLATION" - // "PROVIDER_GOOGLE_CALL_ME_MAYBE" - // "PROVIDER_GOOGLE_LOCAL_UNIVERSAL" - // "PROVIDER_GOOGLE_CROUPIER" - // "PROVIDER_GOOGLE_SKYSMART" - // "PROVIDER_GOOGLE_RIDDLER" - // "PROVIDER_GOOGLE_ROADCLOSURES" - // "PROVIDER_GOOGLE_SPORE" - UMBRELLA - // "PROVIDER_GOOGLE_LOCALIZATION" - // "PROVIDER_GOOGLE_CATTERMS" - // "PROVIDER_GOOGLE_GT_FIELD_OPS" - // "PROVIDER_GOOGLE_MATCHMAKER" - // "PROVIDER_GOOGLE_ARBITRATION" - // "PROVIDER_GOOGLE_BIZBUILDER_OPS" - // "PROVIDER_GOOGLE_LOCAL_INVENTORY_ADS" - // "PROVIDER_GOOGLE_GT_DRAFTY" - // "PROVIDER_GOOGLE_HOTELADS_OPS" - // "PROVIDER_GOOGLE_MARKERS" - // "PROVIDER_GOOGLE_STATE_MACHINE" - // "PROVIDER_GOOGLE_ATTRIBUTES_INFERENCE" - // "PROVIDER_GOOGLE_BIKESHARE" - // "PROVIDER_GOOGLE_GHOSTWRITER" - // "PROVIDER_GOOGLE_EDIT_PLATFORM" - // "PROVIDER_GOOGLE_BLUE_GINGER" - // "PROVIDER_GOOGLE_GEO_TIGER" - // "PROVIDER_GOOGLE_HYADES" - // "PROVIDER_GOOGLE_WEBQUARRY" - // "PROVIDER_GOOGLE_GEO_MADDEN" - // "PROVIDER_GOOGLE_ANDROID_PAY" - // "PROVIDER_GOOGLE_OPENING_HOURS_TEAM" - // "PROVIDER_GOOGLE_LOCAL_DISCOVERY" - // "PROVIDER_GOOGLE_LOCAL_HEALTH" - // "PROVIDER_GOOGLE_UGC_MAPS" - // "PROVIDER_GOOGLE_FIBER" - // "PROVIDER_GOOGLE_REVGEO" - // "PROVIDER_GOOGLE_HOTELADS_PARTNER_FRONT_END" - // "PROVIDER_GOOGLE_GEO_UGC_TASKS" - // "PROVIDER_GOOGLE_GEOCODING" - // "PROVIDER_GOOGLE_SPYGLASS" - // "PROVIDER_GOOGLE_PLUS_CODES_AS_ADDRESSES" - // "PROVIDER_GOOGLE_GEO_CHANGES" - // "PROVIDER_GOOGLE_HUME" - // "PROVIDER_GOOGLE_MEGAMIND" - // "PROVIDER_GOOGLE_GT_ROADSYNTH" - // "PROVIDER_GOOGLE_FIREBOLT" - // "PROVIDER_GOOGLE_LOCAL_PLACE_OFFERINGS" - // "PROVIDER_GOOGLE_UGC_SERVICES" - // "PROVIDER_GOOGLE_GEOALIGN" - // "PROVIDER_GOOGLE_GT_COMPOUNDS" - // "PROVIDER_GOOGLE_FOOD_ORDERING" - // "PROVIDER_GOOGLE_HOTEL_KNOWLEDGE_OPS" - // "PROVIDER_GOOGLE_URAW" - // "PROVIDER_GOOGLE_FLYEYE" - // "PROVIDER_GOOGLE_YOUKE" - // "PROVIDER_GOOGLE_GT_ZEPHYR" - // "PROVIDER_GOOGLE_USER_SAFETY" - // "PROVIDER_GOOGLE_ADDRESS_MAKER" - // "PROVIDER_GOOGLE_UGC_PHOTOS" - // "PROVIDER_GOOGLE_GT_WINDCHIME" - // "PROVIDER_GOOGLE_SNAG_FIXER" - // "PROVIDER_GOOGLE_GEO_DEALS" - // "PROVIDER_GOOGLE_LOCAL_PLACE_TOPICS" - // "PROVIDER_GOOGLE_PROPERTY_INSIGHTS" - // "PROVIDER_GOOGLE_GEO_CONSUMER_MERCHANT_EXPERIMENTS" - // "PROVIDER_GOOGLE_GEO_PORTKEY" - // "PROVIDER_GOOGLE_ROAD_MAPPER" - // "PROVIDER_GOOGLE_LOCATION_PLATFORM" - // "PROVIDER_GOOGLE_POSTTRIP" - // "PROVIDER_GOOGLE_TRAVEL_DESTINATION" - // "PROVIDER_GOOGLE_GEO_DATA_UPLOAD" - UMBRELLA - // "PROVIDER_GOOGLE_BIZBUILDER_CLEANUP" - // "PROVIDER_GOOGLE_USER" - // "PROVIDER_GOOGLE_STATION" - // "PROVIDER_GOOGLE_GEO_FOOD" - // "PROVIDER_GOOGLE_GEO_AR" - // "PROVIDER_GOOGLE_GEO_TEMPORAL" - // "PROVIDER_GOOGLE_SERVICES_MARKETPLACE" - // "PROVIDER_GOOGLE_IMT_CLEANUP" - // "PROVIDER_GOOGLE_GEO_FOOD_MENU" - // "PROVIDER_GOOGLE_CARENAV" - // "PROVIDER_GOOGLE_DRIVING_FEEDS" - UMBRELLA - // "PROVIDER_GOOGLE_DRIVING_UGC" - // "PROVIDER_GOOGLE_POLAR" - // "PROVIDER_GOOGLE_TRIWILD" - // "PROVIDER_GOOGLE_CROWD_COMPUTE_OPS" - // "PROVIDER_GOOGLE_SA_FROM_WEB" - // "PROVIDER_GOOGLE_POI_ALIGNMENT" - // "PROVIDER_GOOGLE_SA_FROM_HULK" - // "PROVIDER_GOOGLE_SERVICES_INTERACTIONS" - // "PROVIDER_GOOGLE_ROADS_UGC_EDITOR" - // "PROVIDER_GOOGLE_SA_FROM_NG_INFERENCE" - // "PROVIDER_GOOGLE_GEO_DRIVING_VIZ" - // "PROVIDER_GOOGLE_GEO_TASKING" - // "PROVIDER_GOOGLE_CROWDTASK_DATACOMPUTE" - // "PROVIDER_GOOGLE_CROWDTASK_TASKADS" - // "PROVIDER_GOOGLE_CROWDTASK_TASKMATE" - // "PROVIDER_GOOGLE_CROWDTASK_FURBALL" - // "PROVIDER_GOOGLE_CROWDTASK_ADAP" - // "PROVIDER_GOOGLE_GPAY" - // "PROVIDER_GOOGLE_GEO_UGC_TRUSTED_USERS" - // "PROVIDER_GOOGLE_THIRD_PARTY_DATA_PRODUCTION" - // "PROVIDER_GOOGLE_GEOTRACKER" - // "PROVIDER_GOOGLE_LOCAL_LANDMARK_INFERENCE" - // "PROVIDER_GOOGLE_GEO_CLOSED_LOOP" - // "PROVIDER_GOOGLE_SA_FROM_MERCHANT_POSTS" - // "PROVIDER_GOOGLE_CORE_DATA_RIGHTS" - // "PROVIDER_GOOGLE_SA_FROM_USER_REVIEWS" - // "PROVIDER_GOOGLE_GEO_CONTENT_FIXER" - // "PROVIDER_GOOGLE_POLYGON_REFINEMENT" - // "PROVIDER_GOOGLE_HANASU" - // "PROVIDER_GOOGLE_FULLRIGHTS_GEO_DATA_UPLOAD" - // "PROVIDER_GOOGLE_FULLRIGHTS_3P_OUTREACH_UPLOAD" - // "PROVIDER_GOOGLE_ATTRIBUTION_3P_OUTREACH_UPLOAD" - // "PROVIDER_GOOGLE_SA_FROM_FOOD_MENUS" - // "PROVIDER_GOOGLE_GT_CONSISTENCY_EDITS" - // "PROVIDER_GOOGLE_SA_QUALITY" - // "PROVIDER_GOOGLE_GDCE_CLEANUP" - // "PROVIDER_GOOGLE_UGC_QUALITY_CHAINS" - // "PROVIDER_GOOGLE_ATTRIBUTES_DISCOVERY" - Shopping Attributes Discovery - // "PROVIDER_GOOGLE_GEO_LDE" - // "PROVIDER_GOOGLE_GEO_SIGNAL_TRACKING" - // "PROVIDER_GOOGLE_UGC_AGGREGATION" - // "PROVIDER_GOOGLE_3D_BASEMAP" - // "PROVIDER_GOOGLE_MAPFACTS_PRIVACY" - // "PROVIDER_GOOGLE_GT_ALF" - // "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE" - // "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS" - // "PROVIDER_GOOGLE_GT_LANE_AUTOMATION" - // "PROVIDER_GOOGLE_GEO_NG_LOCAL" - // "PROVIDER_GOOGLE_MAPFACTS_CLEANUP" - // "PROVIDER_GOOGLE_THIRD_PARTY_UGC" - UMBRELLA - // "PROVIDER_GOOGLE_GEO_ISSUE_ADMIN" - // "PROVIDER_GOOGLE_VACATION_RENTAL_PARTNERS" - // "PROVIDER_GOOGLE_FEED_PROCESSOR_ROAD_INCIDENTS" - // "PROVIDER_GOOGLE_DYNAMIC_BASEMAP" - UMBRELLA - // "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS_EMEA" - // "PROVIDER_GOOGLE_LOCALSEARCH" - The next new "Google" provider entries - // should be placed above. - // "PROVIDER_GOOGLE_TRANSIT" - UMBRELLA - // "PROVIDER_GOOGLE_GEOWIKI" - // "PROVIDER_GOOGLE_CHINA_LOCAL_TEAM" - // "PROVIDER_GOOGLE_SYNTHESIZED" - // "PROVIDER_GOOGLE_INTERNAL_TEST" - This is a testing provider for teams - // that wish to integrate with components of the Geo Data Infrastructure that - // require a valid provider. No production data should ever be sent using this - // provider. - // "PROVIDER_GOOGLE_DISPUTED_AREAS" - // "PROVIDER_GOOGLE_3DWAREHOUSE" - UMBRELLA - // "PROVIDER_GOOGLE_GROUNDS_BUILDER" - // "PROVIDER_GOOGLE_SESAME" - // "PROVIDER_GOOGLE_GT" - // "PROVIDER_GOOGLE_GT_BASEMAP_UPLOAD" - UMBRELLA - // "PROVIDER_GOOGLE_ADSDB" - 0x1117F must not be used, since its range - // extends the PROVIDER_GOOGLE hierarchy. - // "PROVIDER_GOOGLE_MACHINE_TRANSLITERATION" - // "PROVIDER_GOOGLE_TRAVELSEARCH" - // "PROVIDER_GOOGLE_PANORAMIO" - // "PROVIDER_GOOGLE_YOUTUBE" - // "PROVIDER_GOOGLE_OLD" - // "PROVIDER_GOOGLE_STREETVIEW" - // "PROVIDER_GOOGLE_STREETVIEW_BIZVIEW" - // "PROVIDER_GOOGLE_ZIPIT" - // "PROVIDER_GOOGLE_OYSTER_CONNECT_ROUTES" - // "PROVIDER_GOOGLE_GOLDEN" - // "PROVIDER_GOOGLE_INNERSPACE" - // "PROVIDER_GOOGLE_MAPSEARCH" - // "PROVIDER_GOOGLE_CATEGORIES_TEAM" - Deprecated in favor of - // PROVIDER_GOOGLE_STRUCTURED_DATA (for attributes) and - // PROVIDER_GOOGLE_GEO_TIGER (for categories). - // "PROVIDER_GOOGLE_CROWDSENSUS" - // "PROVIDER_GOOGLE_LOCAL_ALGORITHMIC_IDENTITY" - 0x1117FF should not be - // used, since its range further extends the PROVIDER_GOOGLE hierarchy. aka - // Local AI. - // "PROVIDER_GOOGLE_FREEBASE" - // "PROVIDER_GOOGLE_HOTELADS" - // "PROVIDER_GOOGLE_AUTHORITY_PAGES" - // "PROVIDER_GOOGLE_PLACES_API" - // "PROVIDER_GOOGLE_NAMEHEATMAP" - // "PROVIDER_GOOGLE_MAPMAKER" - // "PROVIDER_GOOGLE_MAPMAKER_MOBILE" - // "PROVIDER_GOOGLE_MAPMAKER_PANCAKE" - // "PROVIDER_GOOGLE_MAPMAKER_V2" - // "PROVIDER_GOOGLE_LOCAL_CLUSTERING_OPERATOR_OVERRIDE" - // "PROVIDER_GOOGLE_SERVED_ON_MAPMAKER" - No data is obtained from this - // provider. It is only used to identify features that must be served on - // MapMaker. - // "PROVIDER_GOOGLE_GT_LOCAL" - // "PROVIDER_GOOGLE_GT_LOCAL_WITH_RIGHTS" - // "PROVIDER_GOOGLE_LOGS_RANKING_SIGNALS" - // "PROVIDER_GOOGLE_ENTITY_NAVBOOST" - // "PROVIDER_GOOGLE_RELATED_PLACES" - // "PROVIDER_GOOGLE_KNOWN_FOR_TERMS" - // "PROVIDER_GOOGLE_SYNTHETIC_AREAS" - 0x1117FFF should not be used, since - // its range further extends the PROVIDER_GOOGLE hierarchy. Synthetically - // generated areas (sublocalities/neighborhoods/ postal codes/etc) based on - // dropped terms from approximate geocoding. More info on go/syntheticareas. - // "PROVIDER_GOOGLE_AUTHORITY_PAGE_PHOTOS" - // "PROVIDER_GOOGLE_CROSS_STREETS" - // "PROVIDER_GOOGLE_CORRIDORS" - // "PROVIDER_GOOGLE_BICYCLE_RENTAL" - Similar to Google Transit, a provider - // that aggregates positions of bicycle rental points that we have agreements - // with to show on maps - // "PROVIDER_GOOGLE_CONCRETE_URLS" - // "PROVIDER_GOOGLE_LEANBACK" - // "PROVIDER_GOOGLE_LOCKED_LISTINGS" - // "PROVIDER_GOOGLE_MONITORING" - // "PROVIDER_GOOGLE_SPROUT" - // "PROVIDER_GOOGLE_LOCAL_SEARCH_QUALITY" - // "PROVIDER_GOOGLE_GOBY" - // "PROVIDER_GOOGLE_PROBLEM_REPORT" - // "PROVIDER_GOOGLE_CANDID" - // "PROVIDER_GOOGLE_BIZBUILDER" - // "PROVIDER_AUTOMOTIVE_NAVIGATION_DATA" - This range has been depleted. For - // new Ids see PROVIDER_GOOGLE_SUBRANGE above. - // "PROVIDER_MAPDATA_SCIENCES" - // "PROVIDER_MAPONICS" - // "PROVIDER_SKI_RESORTS" - // "PROVIDER_ZENRIN" - // "PROVIDER_SANBORN" - // "PROVIDER_URBAN_MAPPING" - // "PROVIDER_US_GOVERNMENT" - ABSTRACT - // "PROVIDER_US_CENSUS" - // "PROVIDER_US_POSTAL_SERVICE" - // "PROVIDER_US_GEOLOGICAL_SURVEY" - // "PROVIDER_US_GNIS" - // "PROVIDER_US_LANDSAT" - // "PROVIDER_US_NATIONAL_GEOSPATIAL_INTELLIGENCE_AGENCY" - // "PROVIDER_US_NGA_GNS" - // "PROVIDER_US_SSIBL" - Small Scale International Boundary Lines - // "PROVIDER_US_BUREAU_OF_TRANSPORTATION_STATISTICS" - // "PROVIDER_US_NATIONAL_OCEANIC_AND_ATMOSPHERIC_ADMINISTRATION" - NOAA - // "PROVIDER_US_POLAR_GEOSPATIAL_CENTER" - PGC - // "PROVIDER_US_DEPARTMENT_OF_AGRICULTURE" - USDA - // "PROVIDER_US_NPI_REGISTRY" - National Provider Identifier Registry - // "PROVIDER_US_BUREAU_OF_INDIAN_AFFAIRS" - // "PROVIDER_DMTI_SPATIAL" - // "PROVIDER_INTERNATIONAL_HYDROGRAPHIC_ORGANIZATION" - // "PROVIDER_MAPLINK" - // "PROVIDER_KINGWAY" - // "PROVIDER_GEOCENTRE" - // "PROVIDER_CN_NATIONAL_FOUNDAMENTAL_GIS" - // "PROVIDER_CN_MAPABC" - // "PROVIDER_SMITHSONIAN_INSTITUTE" - // "PROVIDER_TRACKS_FOR_AFRICA" - // "PROVIDER_PPWK" - old name for PROVIDER_NAVIGO - // "PROVIDER_LEADDOG" - // "PROVIDER_CENTRE_DONNEES_ASTRONOMIQUES_STRASBOURG" - // "PROVIDER_GISRAEL" - // "PROVIDER_BASARSOFT" - // "PROVIDER_MAPINFO" - // "PROVIDER_MAPIT" - // "PROVIDER_GEOBASE" - // "PROVIDER_ORION" - // "PROVIDER_CENTRAL_EUROPEAN_DATA_AGENCY" - // "PROVIDER_ANASAT" - // "PROVIDER_MINED_POSTCODES" - // "PROVIDER_DMAPAS" - // "PROVIDER_COMMON_LOCALE_DATA_REPOSITORY" - // "PROVIDER_CH_SBB" - // "PROVIDER_SKENERGY" - // "PROVIDER_GBRMPA" - // "PROVIDER_KOREA_POST" - // "PROVIDER_CN_AUTONAVI" - // "PROVIDER_MINED_POI" - // "PROVIDER_ML_INFOMAP" - // "PROVIDER_SNOOPER" - // "PROVIDER_GEOSISTEMAS" - // "PROVIDER_AFRIGIS" - // "PROVIDER_TRANSNAVICOM" - // "PROVIDER_EASYCONNECT" - // "PROVIDER_LANTMATERIET" - // "PROVIDER_LOGICA" - // "PROVIDER_MAPKING" - // "PROVIDER_DIANPING" - // "PROVIDER_GEONAV" - // "PROVIDER_HEIBONSHA" - // "PROVIDER_DEUTSCHE_TELEKOM" - // "PROVIDER_LINGUISTIC_DATA_CONSORTIUM" - // "PROVIDER_ACXIOM" - // "PROVIDER_DUN_AND_BRADSTREET" - See b/33687395 - // "PROVIDER_FEDERAL_AVIATION_ADMINISTRATION" - // "PROVIDER_INFOUSA" - // "PROVIDER_INFOUSA_NIXIE" - // "PROVIDER_THOMSON_LOCAL" - // "PROVIDER_TELEFONICA_PUBLICIDAD_E_INFORMACION" - // "PROVIDER_WIKIPEDIA" - // "PROVIDER_INFOBEL" - // "PROVIDER_MX_GOVERNMENT" - ABSTRACT - // "PROVIDER_MX_NATIONAL_INSTITUTE_STATISTICS_GEOGRAPHY" - // "PROVIDER_MX_SERVICIO_POSTAL_MEXICANO" - // "PROVIDER_TELEGATE" - // "PROVIDER_TELELISTAS" - // "PROVIDER_MAPCITY" - // "PROVIDER_EXPLAINER_DC" - // "PROVIDER_DAIKEI" - // "PROVIDER_NL_CHAMBER_OF_COMMERCE" - // "PROVIDER_KOREA_INFO_SERVICE" - // "PROVIDER_WIKITRAVEL" - // "PROVIDER_FLICKR" - // "PROVIDER_DIANCO" - // "PROVIDER_VOLT_DELTA" - // "PROVIDER_SG_GOVERNMENT" - ABSTRACT - // "PROVIDER_SG_LAND_TRANSPORT_AUTHORITY" - // "PROVIDER_MAPBAR" - // "PROVIDER_LONGTU" - // "PROVIDER_SA_GOVERNMENT" - ABSTRACT - // "PROVIDER_SA_SAUDI_POST" - // "PROVIDER_PEAKLIST" - // "PROVIDER_LOCAL_BUSINESS_CENTER" - // "PROVIDER_LOCAL_FEED_XML" - UMBRELLA - // "PROVIDER_WEB" - // "PROVIDER_RAILS_TO_TRAILS" - // "PROVIDER_INDIACOM" - // "PROVIDER_INFOMEDIA" - // "PROVIDER_PICASA" - // "PROVIDER_AT_GOVERNMENT" - ABSTRACT - // "PROVIDER_AT_BUNDESAMT_FUR_EICH_UND_VERMESSUNGSWESEN" - // "PROVIDER_AT_NATIONAL_TOURIST_OFFICE" - // "PROVIDER_AT_AUSTRIA_POST" - // "PROVIDER_NO_GOVERNMENT" - ABSTRACT - // "PROVIDER_NO_NORSK_EIENDOMSINFORMASJON" - // "PROVIDER_NO_POSTEN_NORGE_AS" - // "PROVIDER_CH_GOVERNMENT" - ABSTRACT - // "PROVIDER_CH_SWISS_POST" - // "PROVIDER_CH_SWISSTOPO" - // "PROVIDER_CH_SWISS_NATIONAL_PARK" - // "PROVIDER_NAVIT" - // "PROVIDER_GEOSEARCH" - // "PROVIDER_DE_GOVERNMENT" - ABSTRACT - // "PROVIDER_BUNDESAMT_KARTOGRAPHIE_UND_GEODASIE" - // "PROVIDER_BUNDESNETZAGENTUR" - // "PROVIDER_SCHOBER_GROUP" - // "PROVIDER_MIREO" - // "PROVIDER_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_US_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_US_PUBLIC_MUNICIPALITY_WEBSTER_TEXAS" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_AMHERST_MASSACHUSETTS" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_BLOOMINGTON_INDIANA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_PASADENA_CALIFORNIA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_CHULA_VISTA_CALIFORNIA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_TEMPE_ARIZONA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_COLUMBUS_OHIO" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_PORTAGE_MICHIGAN" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_GEORGETOWN_KENTUCKY" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_GREENVILLE_SOUTH_CAROLINA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_NASHVILLE_TENNESSEE" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_WASHINGTON_DISTRICT_OF_COLUMBIA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_BOULDER_COLORADO" - // "PROVIDER_NZ_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_NZ_PUBLIC_MUNICIPALITY_ENVIRONMENT_BAY" - // "PROVIDER_PL_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_PL_PUBLIC_MUNICIPALITY_BIELSKO_BIALA" - // "PROVIDER_DE_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_DE_PUBLIC_MUNICIPALITY_FRANKFURT" - // "PROVIDER_DE_PUBLIC_MUNICIPALITY_HAMBURG" - // "PROVIDER_DE_PUBLIC_MUNICIPALITY_KARLSRUHE" - // "PROVIDER_PT_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_PT_PUBLIC_MUNICIPALITY_SANTA_CRUZ" - // "PROVIDER_AT_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_AT_PUBLIC_MUNICIPALITY_KLAGENFURT" - // "PROVIDER_AT_PUBLIC_MUNICIPALITY_LINZ" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_AZKOITIA" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_BEASAIN" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_GIRONA" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_SAN_SEBASTIAN" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_CATALUNYA" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_HONDARRIBIA" - // "PROVIDER_AU_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_AU_PUBLIC_MUNICIPALITY_LAUNCESTON_TASMANIA" - // "PROVIDER_IS_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_IS_PUBLIC_MUNICIPALITY_REYKJAVIK" - // "PROVIDER_NL_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_NL_PUBLIC_MUNICIPALITY_AMELSTEVEEN" - // "PROVIDER_BE_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_BE_PUBLIC_MUNICIPALITY_ANTWERPEN" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_FREDERICTON_NEW_BRUNSWICK" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_KAMLOOPS_BRITISH_COLUMBIA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_NANAIMO_BRITISH_COLUMBIA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_BANFF_ALBERTA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_CALGARY_ALBERTA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_TORONTO_ONTARIO" - // "PROVIDER_SE_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_SE_PUBLIC_MUNICIPALITY_UMEA" - // "PROVIDER_UA_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_UA_PUBLIC_MUNICIPALITY_KHARKIV" - // "PROVIDER_OTHER_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_OTHER_PUBLIC_MUNICIPALITY_AQUA_CALIENTE_CAHUILLA_INDIANS" - // "PROVIDER_FR_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_FR_PUBLIC_MUNICIPALITY_PONT_AUDEMER" - // "PROVIDER_FR_PUBLIC_MUNICIPALITY_BORDEAUX" - // "PROVIDER_SG_PUBLIC_MUNICIPALITY" - // "PROVIDER_BR_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_BR_PUBLIC_MUNICIPALITY_RIO_DE_JANEIRO" - // "PROVIDER_MAPCUBE" - // "PROVIDER_3D_REALITYMAPS" - // "PROVIDER_DEUTSCHES_ZENTRUM_FUR_LUFT_UND_RAUMFAHRT" - // "PROVIDER_3D_CITIES_SOCIEDADE_ANONIMA" - // "PROVIDER_DISNEY" - // "PROVIDER_CYBERCITY" - // "PROVIDER_PRECISION_LIGHTWORKS_MODELWORKS" - // "PROVIDER_VIRTUAL_HUNGARY_LIMITED" - // "PROVIDER_VIRTUEL_CITY" - // "PROVIDER_SCREAMPOINT_INTERNATIONAL" - // "PROVIDER_AGENTSCHAP_VOOR_GEOGRAFISCHE_INFORMATIE_VLAANDEREN" - // "PROVIDER_FR_GOVERNMENT" - ABSTRACT - // "PROVIDER_FR_INSTITUT_GEOGRAPHIQUE_NATIONAL" - // "PROVIDER_FR_CADASTRE" - // "PROVIDER_DIADIEM" - // "PROVIDER_THE_WEATHER_CHANNEL" - // "PROVIDER_COWI" - // "PROVIDER_FALKPLAN_ANDES" - // "PROVIDER_NL_GOVERNMENT" - ABSTRACT - // "PROVIDER_NL_KADASTER" - // "PROVIDER_NL_BOARD_OF_TOURISM_AND_CONVENTIONS" - // "PROVIDER_DIGITAL_MAP_PRODUCTS" - // "PROVIDER_SILICE_DIGITAL" - // "PROVIDER_TYDAC" - // "PROVIDER_ALBRECHT_GOLF" - // "PROVIDER_HEALTH_CH" - // "PROVIDER_VISITDENMARK" - // "PROVIDER_FLYHERE" - // "PROVIDER_DIGITAL_DATA_SERVICES" - // "PROVIDER_MECOMO" - // "PROVIDER_ZA_GOVERNMENT" - ABSTRACT - // "PROVIDER_ZA_RURAL_DEVELOPMENT_LAND_REFORM" - // "PROVIDER_SENSIS" - // "PROVIDER_JJCONNECT" - // "PROVIDER_OPPLYSNINGEN" - // "PROVIDER_TELLUS" - // "PROVIDER_IQONIA" - // "PROVIDER_BE_GOVERNMENT" - ABSTRACT - // "PROVIDER_BE_NATIONAAL_GEOGRAFISCH_INSTITUUT" - // "PROVIDER_BE_BRUSSELS_MOBILITY" - // "PROVIDER_YELLOWMAP_AG" - // "PROVIDER_STIFTUNG_GESUNDHEIT" - // "PROVIDER_GIATA" - // "PROVIDER_SANPARKS" - // "PROVIDER_CENTRE_DINFORMATIQUE_POUR_LA_REGION_BRUXELLOISE" - // "PROVIDER_INFOPORTUGAL" - // "PROVIDER_NEGOCIOS_DE_TELECOMUNICACOES_E_SISTEMAS_DE_INFORMACAO" - // "PROVIDER_COLLINS_BARTHOLOMEW" - // "PROVIDER_PROTECT_PLANET_OCEAN" - // "PROVIDER_KARTTAKESKUS" - // "PROVIDER_FI_GOVERNMENT" - ABSTRACT - // "PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION" - // "PROVIDER_FI_NATIONAL_LAND_SURVEY" - // "PROVIDER_FI_STATISTICS_FINLAND" - // "PROVIDER_GB_GOVERNMENT" - ABSTRACT - // "PROVIDER_GB_ORDNANCE_SURVEY" - // "PROVIDER_NATURAL_ENGLAND" - // "PROVIDER_WELSH_GOVERNMENT" - // "PROVIDER_GB_OFFICE_FOR_NATIONAL_STATISTICS" - // "PROVIDER_EPSILON" - // "PROVIDER_PARTNER_FRONT_END" - // "PROVIDER_CARTESIA" - // "PROVIDER_SE_GOVERNMENT" - ABSTRACT - // "PROVIDER_SE_TRAFIKVERKET" - // "PROVIDER_SE_NATURVARDSVERKET" - // "PROVIDER_IE_GOVERNMENT" - ABSTRACT - // "PROVIDER_IE_ORDNANCE_SURVEY_IRELAND" - // "PROVIDER_LU_GOVERNMENT" - ABSTRACT - // "PROVIDER_LU_P_AND_T_LUXEMBOURG" - // "PROVIDER_LU_ADMINISTRATION_DU_CADASTRE_ET_DE_LA_TOPOGRAPHIE" - // "PROVIDER_LU_NATIONAL_TOURIST_OFFICE" - // "PROVIDER_MAPFLOW" - // "PROVIDER_TKARTOR" - // "PROVIDER_JUMPSTART" - // "PROVIDER_EPTISA" - // "PROVIDER_MC_GOVERNMENT" - ABSTRACT - // "PROVIDER_MC_PRINCIPAUTE_DE_MONACO" - // "PROVIDER_MONOLIT" - // "PROVIDER_ENVIRONMENTAL_SYSTEMS_RESEARCH_INSTITUTE" - // "PROVIDER_MODIS" - // "PROVIDER_GEOX" - // "PROVIDER_GEODIRECTORY" - // "PROVIDER_GEOPLAN" - // "PROVIDER_INFODIREKT" - // "PROVIDER_GEOGLOBAL" - // "PROVIDER_DEUTSCHE_POST" - // "PROVIDER_TRACASA" - // "PROVIDER_CORREOS" - // "PROVIDER_ES_GOVERNMENT" - ABSTRACT - // "PROVIDER_ES_CENTRO_NACIONAL_DE_INFORMACION_GEOGRAFICA" - // "PROVIDER_EDIMAP" - // "PROVIDER_VERIZON" - // "PROVIDER_NATIONAL_GEOGRAPHIC_MAPS" - // "PROVIDER_PROMAPS" - // "PROVIDER_CONSODATA" - // "PROVIDER_DE_AGOSTINI" - // "PROVIDER_FEDERPARCHI" - // "PROVIDER_NAVIGO" - // "PROVIDER_ITALIAMAPPE" - // "PROVIDER_CZECOT" - // "PROVIDER_NATURAL_EARTH" - // "PROVIDER_REGIO" - // "PROVIDER_SHIPWRECK_CENTRAL" - // "PROVIDER_RUTGERS_STATE_UNIVERSITY" - // "PROVIDER_TWINICE" - // "PROVIDER_NORTHERN_IRELAND_TOURIST_BOARD" - // "PROVIDER_INFOGROUP" - // "PROVIDER_TNET" - // "PROVIDER_CTT_CORREIOS_DE_PORTUGAL" - // "PROVIDER_EUROPARC" - // "PROVIDER_IUPPITER" - // "PROVIDER_MICHAEL_BAUER_INTERNATIONAL" - // "PROVIDER_LEPTON" - // "PROVIDER_MAPPOINT" - // "PROVIDER_GEODATA" - // "PROVIDER_RU_GOVERNMENT" - ABSTRACT - // "PROVIDER_RU_FNS_KLADR" - // "PROVIDER_BR_GOVERNMENT" - ABSTRACT - // - // "PROVIDER_BR_INSTITUTO_BRASILEIRO_DO_MEIO_AMBIENTE_E_DOS_RECURSOS_NATURAIS_RE - // NOVAVEIS" - IBAMA - // "PROVIDER_BR_MINISTERIO_DO_MEIO_AMBIENTE" - MMA - // "PROVIDER_BR_AGENCIA_NACIONAL_DE_AGUAS" - ANA - // "PROVIDER_BR_INSTITUTO_BRASILEIRO_DE_GEOGRAFIA_E_ESTATISTICA" - IBGE - // "PROVIDER_BR_FUNDACAO_NACIONAL_DO_INDIO" - FUNAI - // "PROVIDER_BR_DEPARTAMENTO_NACIONAL_DE_INFRAESTRUTURA_DE_TRANSPORTES" - - // DNIT - // "PROVIDER_AZAVEA" - // "PROVIDER_NORTHSTAR" - // "PROVIDER_COMMEDI" - // "PROVIDER_NEXUS_GEOGRAFICS" - // "PROVIDER_INFOERA" - // "PROVIDER_AD_GOVERNMENT" - ABSTRACT - // "PROVIDER_AD_AREA_DE_CARTOGRAFIA" - Department of Cartography - // "PROVIDER_MAXXIMA" - // "PROVIDER_SI_GOVERNMENT" - ABSTRACT - // "PROVIDER_SI_AGENCY_FOR_ENVIRONMENT" - // "PROVIDER_TRANSPORT_HI_TECH_CONSULTANTS" - // "PROVIDER_L1_TECHNOLOGIES" - // "PROVIDER_TELEMEDIA" - // "PROVIDER_CDCOM_PROGOROD" - // "PROVIDER_MIT_CITYGUIDE" - // "PROVIDER_SUNCART" - // "PROVIDER_MICROMAPPER" - // "PROVIDER_RICHI" - // "PROVIDER_FORUM44" - // "PROVIDER_SEAT" - // "PROVIDER_VALASSIS" - // "PROVIDER_NAVICOM" - // "PROVIDER_COLTRACK" - // "PROVIDER_PSMA_AUSTRALIA" - // "PROVIDER_PT_DUTA_ASTAKONA_GIRINDA" - // "PROVIDER_CA_GOVERNMENT" - ABSTRACT - // "PROVIDER_STATISTICS_CANADA" - // "PROVIDER_TOCTOC" - // "PROVIDER_RMSI" - // "PROVIDER_TRUE_TECHNOLOGY" - // "PROVIDER_INCREMENT_P_CORPORATION" - // "PROVIDER_GOJAVAS" - // "PROVIDER_GEOINFORMATION_GROUP" - // "PROVIDER_CYBERSOFT" - // "PROVIDER_TSENTR_EFFEKTIVNYKH_TEKHNOLOGIY" - 0x12 and 0x120 are not to be - // used. OOO CET - // "PROVIDER_EE_GOVERNMENT" - ABSTRACT - // "PROVIDER_EE_MAA_AMET" - Estonian Land Board - // "PROVIDER_GASBUDDY" - // "PROVIDER_DK_GOVERNMENT" - ABSTRACT - // "PROVIDER_DK_GEODATASTYRELSEN" - Danish Geodata Agency - // "PROVIDER_MURCIA_REGION_GOVERNMENT" - // "PROVIDER_CORREIOS" - // "PROVIDER_WEST_WORLD_MEDIA" - // "PROVIDER_INTERNATIONAL_MAPPING_ASSOCIATION" - // "PROVIDER_MEDICARE" - // "PROVIDER_POLARIS" - // "PROVIDER_TW_GOVERNMENT" - ABSTRACT - // "PROVIDER_TW_MINISTRY_OF_THE_INTERIOR_SURVEYING_AND_MAPPING_CENTER" - // "PROVIDER_NORDECA" - // "PROVIDER_AFRIMAPPING" - // "PROVIDER_OVERDRIVE" - // "PROVIDER_PROVIDER_NETWORK_DIRECTORIES" - // "PROVIDER_BR_MINISTERIO_DA_SAUDE" - // "PROVIDER_DIGITAL_EGYPT" - // "PROVIDER_INRIX" - // "PROVIDER_ARPINDO" - // "PROVIDER_IT_GOVERNMENT" - ABSTRACT - // "PROVIDER_ISTITUTO_GEOGRAFICO_MILITARE" - // "PROVIDER_EAST_END_GROUP" - // "PROVIDER_INGEOLAN" - // "PROVIDER_SEMACONNECT" - // "PROVIDER_BLINK" - // "PROVIDER_EVGO" - // "PROVIDER_CHARGEPOINT" - // "PROVIDER_TPL_TRAKKER" - // "PROVIDER_OI" - // "PROVIDER_MAPARADAR" - // "PROVIDER_SINGAPORE_POST" - // "PROVIDER_CHARGEMASTER" - // "PROVIDER_TESLA" - // "PROVIDER_VISICOM" - // "PROVIDER_GEOLYSIS" - // "PROVIDER_ZEPHEIRA" - // "PROVIDER_HUBJECT" - // "PROVIDER_PODPOINT" - // "PROVIDER_CHARGEFOX" - // "PROVIDER_KR_GOVERNMENT" - ABSTRACT - // "PROVIDER_KR_MOLIT" - Ministry of land, infrastructure and transport, - // 국토교통부, Guktogyotongbu - // "PROVIDER_KR_MINISTRY_OF_THE_INTERIOR_AND_SAFETY" - // "PROVIDER_CRITCHLOW" - // "PROVIDER_EIFRIG" - // "PROVIDER_GIREVE" - // "PROVIDER_CN_NAVINFO" - // "PROVIDER_JAPAN_CHARGE_NETWORK" - // "PROVIDER_NOBIL" - // "PROVIDER_INDIA_BANKS" - // "PROVIDER_INDONESIA_ELECTION_KPU" - // "PROVIDER_CAREERS360" - // "PROVIDER_SOURCE_LONDON" - // "PROVIDER_EVBOX" - // "PROVIDER_JP_GOVERNMENT" - ABSTRACT - // "PROVIDER_JP_MINISTRY_OF_THE_ENVIRONMENT" - // "PROVIDER_YUMYUM" - // "PROVIDER_HWW_AUSTRALIA" - // "PROVIDER_CINERGY" - // "PROVIDER_MTIME" - // "PROVIDER_KULTUNAUT" - // "PROVIDER_BLITZ" - // "PROVIDER_PIA" - // "PROVIDER_INTERPARK" - // "PROVIDER_CINEMA_ONLINE" - // "PROVIDER_BELBIOS" - // "PROVIDER_MOVIESEER" - // "PROVIDER_SODAMEDYA" - // "PROVIDER_ATMOVIES" - // "PROVIDER_HOTELBEDS" - // "PROVIDER_VERICRED" - // "PROVIDER_CIRRANTIC" - // "PROVIDER_GOGO_LABS" - // "PROVIDER_ELECTRIFY_AMERICA" - // "PROVIDER_CMS_MPPUF" - // "PROVIDER_DIGIROAD" - Use PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION. - // "PROVIDER_KONTEX_GEOMATICS" - // "PROVIDER_NZ_GOVERNMENT" - ABSTRACT - // "PROVIDER_NZ_LINZ" - Land Information New Zealand - // "PROVIDER_NZ_DOC" - NZ Department of Conservation - // "PROVIDER_FASTNED" - // "PROVIDER_DESTINY_CS" - // "PROVIDER_IONITY" - // "PROVIDER_EV_CONNECT" - // "PROVIDER_PANPAGES" - // "PROVIDER_ETECNIC" - // "PROVIDER_VOLTA" - // "PROVIDER_NISSAN_MEXICO" - // "PROVIDER_BMW_GROUP_LATIN_AMERICA" - // "PROVIDER_FEDERAL_ELECTRICITY_COMMISSION_MEXICO" - // "PROVIDER_VOLVO_CARS_BRASIL" - // "PROVIDER_CHARGE_AND_PARKING" - // "PROVIDER_DEDUCE_TECHNOLOGIES" - // "PROVIDER_SK_TELECOM" - // "PROVIDER_ECO_MOVEMENT" - // "PROVIDER_GOOGLE_GMS" - // "PROVIDER_EASYWAY" - // "PROVIDER_PHYSICIAN_COMPARE" - // "PROVIDER_HOSPITAL_COMPARE" - // "PROVIDER_ENDOLLA_BARCELONA" - // "PROVIDER_BE_CHARGE" - // "PROVIDER_ONE_NETWORK" - // "PROVIDER_CARENAV_DUPLEX" - // "PROVIDER_CARENAV_POI" - UMBRELLA - // "PROVIDER_IN_GOVERNMENT" - ABSTRACT - // "PROVIDER_SURVEY_OF_INDIA" - // "PROVIDER_E_ON" - // "PROVIDER_ELECTRIFY_CANADA" - // "PROVIDER_GRIDCARS" - // "PROVIDER_DRIVECO" - // "PROVIDER_GREEN_ACTION_STUDIOS" - // "PROVIDER_GREEN_ACTION_STUDIO" - // "PROVIDER_EVINY" - // "PROVIDER_MASTERCARD" - // "PROVIDER_VATTENFALL" - // "PROVIDER_VIETGIS" - // "PROVIDER_UNITE" - // "PROVIDER_NEOGY" - // "PROVIDER_AMPUP" - // "PROVIDER_LOOP" - // "PROVIDER_ZEST" - // "PROVIDER_EZVOLT" - // "PROVIDER_JOLT" - // "PROVIDER_CHARGESMITH" - // "PROVIDER_PLUGO" - // "PROVIDER_ELECTRIC_ERA" - // "PROVIDER_FLO" - // "PROVIDER_DIGITAL_CHARGING_SOLUTIONS" - // "PROVIDER_ELECTRIC_PE" - Note: Next available value is 0x1275. - Provider string `json:"provider,omitempty"` - // ForceSendFields is a list of field names (e.g. "Dataset") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Dataset") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreInternalSourceSummaryProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreInternalSourceSummaryProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreIntersectionGroupProto: Our TYPE_INTERSECTION features model the -// point where one or more segments terminate. This is topological definition: -// it may not match what a typical user would think of as an "intersection". -// Consider the intersections where Hayes, Market, Larkin, and 9th Street meet -// near (37.77765, -122.41638) in San Francisco. Most people would probably -// consider this a single feature, even though we model it as four separate -// TYPE_INTERSECTION features. The TYPE_INTERSECTION_GROUP is used to model the -// user's concept of a real-world intersection, which also includes turn lanes -// or a whole roundabout (a logical intersection). For the purposes of modeling -// turn restrictions and lane connections, a smaller grouping is needed to -// model the "core" part of the intersection where there are no lane markings. -// This is called a core or artifact group. An intersection group must contain -// at least two intersections or add some information (e.g. a name or a -// polygon) compared to the intersection itself, or else must not exist. The -// standard feature properties are interpreted as follows: name - Can be used -// to specify any "special" names associated with this intersection (e.g. Reads -// Corner intersection, PEI, Canada). Intersections that are named according to -// their cross streets do not need to specify this field, since this can be -// determined by looking at the routes associated with each segment. address - -// This should always be empty. point - Specifies the center of the -// intersection. This is basically the point where the intersection name should -// be rendered. Can be omitted in favor of a polygon. polyline - This should -// always be empty. polygon - Specifies the two-dimensional extent of the -// intersection. This may substitute to the point field, though having a center -// set is desirable in this case. child - This should always be empty. -type GeostoreIntersectionGroupProto struct { - // ChildGroup: All artifact intersection groups that are in this logical group. - ChildGroup []*GeostoreFeatureIdProto `json:"childGroup,omitempty"` - // Possible values: - // "GROUP_ARTIFACT" - Groups intersections that bound segment artifacts of - // centerline digitization. These segment artifacts do not represent the - // geometry of actual vehicle travel through an intersection group. This - // grouping is typically in the core or shared area of an intersection where - // there are no lane markings (with the exception of raised reflective white - // dots demarkating multiple turn lanes through the real-world intersection). - // This is also the typical grouping used for modeling STYLE_IN_OUT turn - // restrictions. - // "GROUP_LOGICAL" - Groups all intersections that form the logical - // connection of roads. Also known as a cross road intersection group. This - // group is usually larger than just the artifact grouping, since it includes - // external turn lanes and roundabout external bypasses. - GroupType string `json:"groupType,omitempty"` - // Intersection: The list of TYPE_INTERSECTION features that form this - // intersection group, but are NOT in any of this group's child groups. This - // could be an empty list, though that is sub-optimal. Even an empty list would - // allow the paint team to draw a label for a named intersection, but a - // non-empty list would, for example, enable PathFinder to generate better - // directions. Each of the TYPE_INTERSECTION feature referred here must refer - // back to this feature in its IntersectionProto. - Intersection []*GeostoreFeatureIdProto `json:"intersection,omitempty"` - // ParentGroup: Parent logical intersection group. An artifact group that does - // not have an associated parent logical group is assumed to be both an - // artifact and logical group. - ParentGroup *GeostoreFeatureIdProto `json:"parentGroup,omitempty"` - // ForceSendFields is a list of field names (e.g. "ChildGroup") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ChildGroup") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreIntersectionGroupProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreIntersectionGroupProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreIntersectionProto: A TYPE_INTERSECTION feature represents a common -// endpoint of one or more segments in a transportation network at which the -// segments are connected. An intersection in the real world may be more -// complicated than that (e.g., comprise multiple segment endpoints or have -// extra attributes), which can be modeled with an additional -// TYPE_INTERSECTION_GROUP feature, if needed (see intersectiongroup.proto). -// The standard feature properties are interpreted as follows: name - This -// should always be empty. Intersections that have a "special" name (e.g. Reads -// Corner intersection, PEI, Canada) should point to a separate -// TYPE_INTERSECTION_GROUP feature that captures it. Intersections which are -// named according to their cross streets do not need this requirement, since -// their name can be determined by looking at the routes associated with each -// segment. address - This should always be empty. point - Specifies the center -// of the intersection. This should be the last vertex of all the segments -// which terminate at this intersection. polyline - This should always be -// empty. polygon - This should always be empty. child - This should always be -// empty. -type GeostoreIntersectionProto struct { - // IntersectionGroup: The artifact or logical intersection group to which this - // intersection belongs. If present, the intersection group must also refer - // back to the intersection. If an intersection is within both the artifact and - // logical group, then this reference should be to the artifact group. - IntersectionGroup *GeostoreFeatureIdProto `json:"intersectionGroup,omitempty"` - // OutSegment: RESERVED - OutSegment []*GeostoreFeatureIdProto `json:"outSegment,omitempty"` - // Segment: The list of segments that terminate at this intersection, in any - // order. Note that all segments are directed towards the intersection, i.e. - // their endpoints indicate what sort of intersection this is. This should not - // be empty because an intersection with no associated segment is meaningless. - Segment []*GeostoreFeatureIdProto `json:"segment,omitempty"` - // TollCluster: The toll cluster to which this intersection belongs. If - // present, the toll cluster must also refer back to the intersection. To set - // this field, the intersection must be a gcid:toll_intersection feature. - TollCluster *GeostoreFeatureIdProto `json:"tollCluster,omitempty"` - // ForceSendFields is a list of field names (e.g. "IntersectionGroup") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IntersectionGroup") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreIntersectionProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreIntersectionProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreJobMetadata struct { - // Duration: Describes how much time the service is going to take, e.g. how - // long it takes to do a haircut. Value of seconds must be from +60 (1 min) to - // +31,536,000 (365 days) inclusive. Value of nanos must be zero. - Duration string `json:"duration,omitempty"` - // JobRelatedCategories: Represents the name of a potential grouping of items. - // For TYPE_JOB, this is the category names of the categories that a user - // picked this job type from at the time of input. - JobRelatedCategories []*GeostoreJobRelatedCategory `json:"jobRelatedCategories,omitempty"` - // JobTypeId: Unique identifier for a job. This is required for standard jobs - // and blank for free-form jobs. Job type ids are prefixed with "job_type_id:". - // Notice this is a unique string representation of a job across languages. - // E.g., “job_type_id:air_duct_repair”. The existence of a job_type_id - // means the job type is a standard one, and has a corresponding entry in the - // Standard Jobs Taxonomy. - JobTypeId string `json:"jobTypeId,omitempty"` - // JobTypeMid: Represents the MID corresponding to the job_category entity in - // the Knowledge Graph. For example, job_type_id="job_type_id:install_faucet", - // job_type_mid="/g/11hzzxjv3f". - JobTypeMid string `json:"jobTypeMid,omitempty"` - // ForceSendFields is a list of field names (e.g. "Duration") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Duration") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreJobMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreJobMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreJobRelatedCategory: This is the category that a user picked this job -// type from at the time of input. The field serves two purposes: 1) The name -// is used in consumer surface similar to the heading name today (i.e., -// grouping jobs under the category. 2) The gcid is needed mainly for -// free-formed entries, for which GMB needs to map them to corresponding -// categories in the frontend, if applicable. Notice that the name and the id -// are both not expected to be in sync with gcid deprecation or location -// category change per product decision. In other words, they are not -// guaranteed to stay in sync, only guaranteed true at time of creation. -type GeostoreJobRelatedCategory struct { - Gcid string `json:"gcid,omitempty"` - Language string `json:"language,omitempty"` - // Name: Category name in the primary language of the feature. Generally - // intended to be used as a fallback when we are unable to fetch the name in - // the user's language. - Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "Gcid") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Gcid") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreJobRelatedCategory) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreJobRelatedCategory - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreKnowledgeGraphReferenceProto: The reference to an entity in the -// KnowledgeGraph. For details on the KnowledgeGraph see http://goto/kg. -type GeostoreKnowledgeGraphReferenceProto struct { - // Id: KG Identifier (MID). For details, see - // http://go/ke-bg-knowledge-graph#mids. - Id string `json:"id,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreKnowledgeGraphReferenceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreKnowledgeGraphReferenceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreLandmarkReferenceProto: This protocol buffer represents the -// association between a segment and a landmark feature. Notes: - References to -// TYPE_SEGMENT features should always point to the even sibling. - -// Self-references are allowed but the referencing segment's sibling is -// required to have a self-reference as well (the above requirement to always -// reference the even sibling still applies). -type GeostoreLandmarkReferenceProto struct { - // FeatureType: The type of the landmark feature. Allowed types: - - // TYPE_CARTOGRAPHIC e.g. a putting green or water hazard - TYPE_COMPOUND e.g. - // - the Empire state building (TYPE_COMPOUND_BUILDING) - a park - // (TYPE_COMPOUND_GROUNDS) - a section of a retail store - // (TYPE_COMPOUND_SECTION) - TYPE_ESTABLISHMENT e.g. - the Eiffel Tower - // (TYPE_ESTABLISHMENT_BUILDING) - a sports field (TYPE_ESTABLISHMENT_GROUNDS) - // - Starbucks (TYPE_ESTABLISHMENT_POI) - TYPE_INTERSECTION_GROUP e.g. a major - // intersection - TYPE_NATURAL_FEATURE e.g. a river - TYPE_SEGMENT e.g. a bike - // trail or train tracks - FeatureType int64 `json:"featureType,omitempty"` - // Landmark: The feature ID of the landmark feature. - Landmark *GeostoreFeatureIdProto `json:"landmark,omitempty"` - // TravelMode: The mode(s) of travel for which this landmark is useful. - // - // Possible values: - // "UNKNOWN" - // "TRAVEL_MOTOR_VEHICLE" - // "TRAVEL_AUTO" - // "TRAVEL_TWO_WHEELER" - // "TRAVEL_BICYCLE" - // "TRAVEL_PEDESTRIAN" - TravelMode []string `json:"travelMode,omitempty"` - // ForceSendFields is a list of field names (e.g. "FeatureType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FeatureType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreLandmarkReferenceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreLandmarkReferenceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreLaneMarkerProto: This proto contains attributes relevant to physical -// lane markers. -type GeostoreLaneMarkerProto struct { - // BarrierMaterials: If this is a physical barrier marker, represent materials - // found on the marker. - BarrierMaterials *GeostoreBarrierLogicalMaterialProto `json:"barrierMaterials,omitempty"` - // CrossingPattern: Pattern border and color for crossing markers. These - // include crosswalks, stop, and yield lines. - CrossingPattern *GeostoreCrossingStripePatternProto `json:"crossingPattern,omitempty"` - // LinearPattern: Stripe pattern, spacing, and color for longitudinal markers. - LinearPattern *GeostoreLinearStripePatternProto `json:"linearPattern,omitempty"` - // ForceSendFields is a list of field names (e.g. "BarrierMaterials") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BarrierMaterials") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreLaneMarkerProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreLaneMarkerProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreLaneProto: Describes an individual road lane. Not only driving -// lanes, but also parking and biking lanes are covered by this. Note that we -// may eventually add curbs and walking to this schema. MOTIVATION/DESIGN -// DISCUSSION The intent of this schema is to model a schematic representation -// of the road for a bunch of use cases within GMM, navigation, map tiles. For -// rendering, we do not want to represent the geometry of each lane exactly, -// but do want to model types/width/gaps/lane markings so that a schematic -// rendering can be made. For navigation, we model lane connectivity and -// restrictions per lane, so that Pathfinder can potentially pick routes based -// on lanes, and definitely use the lanes to better describe the path to the -// driver. This schema is driven by the GT team, which is likely to be the only -// provider of this data. It is based on compromises that we are working out -// with other teams, based on what our operators can reasonably collect and -// what is useful. See docs here: -// https://docs.google.com/a/google.com/document/d/11XJ1WvqS5Sm7MxWXzzc3tnsk49VhrR3BYFjiRMAzYm0/edit?hl=en_US -// https://docs.google.com/a/google.com/document/d/1nzdupynTUKE8xY8JcfvQbU-KWtCJ6IwHiTaCxuq40EM/edit?hl=en_US -// Note: Some lane information (width, surface type, etc) may duplicate or -// contradict information stored at the segment level. -type GeostoreLaneProto struct { - // BoundingMarker: References to any gcid:physical_lane_marker features that - // bound this lane. - BoundingMarker []*GeostoreBoundingMarkerProto `json:"boundingMarker,omitempty"` - // ConjoinedCategory: If the current lane is part of a merge/split area, - // indicates the type (split or merge) and whether the current lane is on the - // left or right or in the middle of the merge/split area, as seen in the - // direction of traffic. See go/lane-split-merge-schema - // - // Possible values: - // "CONJOINED_NONE" - // "CONJOINED_SPLIT_LEFT" - // "CONJOINED_SPLIT_MIDDLE" - // "CONJOINED_SPLIT_RIGHT" - // "CONJOINED_MERGE_LEFT" - // "CONJOINED_MERGE_MIDDLE" - // "CONJOINED_MERGE_RIGHT" - ConjoinedCategory string `json:"conjoinedCategory,omitempty"` - // DistanceToNextLane: Gap between this lane and the next in meters. This is - // relevant when the divider is physical, or a wide painted area. For regular - // painted single or double lines, there is no gap. This distance is duplicated - // between the innermost lanes for each side. Note that this is not used to - // describe smallish islands - this is only for long-running gaps. In - // particular, this models the median width, the gap between HOV lanes/regular - // lanes on freeways, and the road verge between a curb and sidewalk. Note on - // split roads: We can model any split road with a median as a single sibling - // pair with this distance set to the width of the median, or as two one-way - // sibling pairs. - DistanceToNextLane float64 `json:"distanceToNextLane,omitempty"` - // Flow: The most logical path for the center of an object to travel along - // within the lane. Typically, this is the lane's center line, but doesn't have - // to be. - Flow *GeostoreFlowLineProto `json:"flow,omitempty"` - // LaneConnection: Connections to lanes of other segments at the end of this - // segment. These connections model the connectivity where you don't have to do - // a lane change maneuver. If any lane connection is present, assume that all - // others are forbidden. Also note that segment level restrictions do apply if - // present, and can disallow some turn even if the lanes are connected. For - // instance, this can happen with timed or vehicle type based restrictions on - // the segment. If lane connectivity implies a segment-level restriction (can't - // transition to some target segment), that restriction will also exist as a - // segment level restriction. In effect - PathFinder does not have to look at - // lane connectivity to figure out segment connectivity. Example: Typically, - // lanes are just connected to one other lane. Example: A splitting lane is - // connected to the two resulting lanes. Example: At an intersection, a lane is - // connected to crossing lanes according to how lanes are painted across the - // intersection. In the common case, the target segment will be connected to - // the same intersection as this segment. That will however NOT be true for - // complex intersections where there is an intersection group. The connections - // will be across the whole group, connecting to one of the outgoing segments - // from the group. This is analogous to how we do turn restrictions around - // intersection groups. - LaneConnection []*GeostoreLaneProtoLaneConnection `json:"laneConnection,omitempty"` - // LaneDividerCrossing: clang-format on Whether the divider to the inside of - // this lane can be crossed. Note that we assume this is symmetric, and that - // this also describes whether someone in the next inside lane can cross to - // this one. The "inside" lane is the one with a lower lane_number. Note on - // lane markers: We do not model the painting, but only the resulting legality. - // There are many painted marker styles and colors that lead to the same - // legality. We expect Paint or Driveabout to render lanes stylized, with solid - // meaning "can't cross", and dashed meaning "can cross". Note on varying - // legality along segment: ALLOWED takes precedence - even if some small - // portion has a restriction (such as right before an intersection) , the lane - // change will be ALLOWED. - // - // Possible values: - // "CROSSING_ALLOWED" - Cross at will. - // "CROSSING_DISALLOWED" - // "CROSSING_LEGALLY_DISALLOWED" - This is usually some painted barrier - // "CROSSING_PHYSICALLY_IMPOSSIBLE" - This is either a patch of dirt, or some - // barrier - LaneDividerCrossing string `json:"laneDividerCrossing,omitempty"` - // LaneFollowsSegmentBeginFraction: These indicate for what portion of the - // segment the lane's flowline exactly follows the segment, and the lane is of - // constant width. This will be set to not include the whole segment where - // there is a split/turn/merge at either end of the lane. The painting of the - // lane should completely synthesize the lane geometry outside of this portion, - // connecting it to neighboring lanes to make graphical nice. - LaneFollowsSegmentBeginFraction float64 `json:"laneFollowsSegmentBeginFraction,omitempty"` - LaneFollowsSegmentEndFraction float64 `json:"laneFollowsSegmentEndFraction,omitempty"` - // LaneNumber: Lanes are numbered from inside of the road outward, i.e. the - // lane next to the center line is lane 0. The lanes then stack outwards, - // towards the side that one drives on this segment (right or left). NOTE: do - // NOT use the lane_number as index for lookup. Lane_number is not guaranteed - // to match the segment.lane repeated field index. - LaneNumber int64 `json:"laneNumber,omitempty"` - // LaneToken: A token that can be used to identify the version of the data - // about this lane. - LaneToken string `json:"laneToken,omitempty"` - // Metadata: Field-level metadata for this lane. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // Restriction: Restrictions that apply to this lane only. Examples include HOV - // lanes. If a lane restriction implies a segment-level restriction (can't - // route on the segment at all), that restriction will also exist as a segment - // level restriction. In effect - PathFinder does not have to look at lane - // restrictions to figure out segment restrictions. - Restriction []*GeostoreRestrictionProto `json:"restriction,omitempty"` - // Shared: True if this lane is usable in both directions (left-turn lane, - // reversing lane, one-lane road, etc). To get the total number of lanes for a - // road, add up the lanes in each direction counting 0.5 for each shared lane. - Shared bool `json:"shared,omitempty"` - // StopLine: References to any gcid:physical_lane_marker features that - // intersect this lane, with the implication that a moving vehicle should stop - // there. - StopLine []*GeostoreFeatureIdProto `json:"stopLine,omitempty"` - // Surface: clang-format on - // LINT.ThenChange(//depot/google3/geostore/base/proto/segment.proto) Unlike - // the surface in SegmentProto, this field does not have a default value. This - // is because the lane-level surface overrides the segment-level surface. The - // lane's surface should be unset unless explicitly overriding the segment's - // surface. - // - // Possible values: - // "SURFACE_UNKNOWN" - RESERVED - // "SURFACE_PAVED" - // "SURFACE_ASPHALT" - // "SURFACE_CONCRETE" - // "SURFACE_CHIPSEAL" - // "SURFACE_BRICK" - // "SURFACE_SETT" - // "SURFACE_COBBLESTONE" - // "SURFACE_UNPAVED" - // "SURFACE_GRAVEL" - // "SURFACE_DIRT" - // "SURFACE_SAND" - Surface string `json:"surface,omitempty"` - // Type: clang-format on - // - // Possible values: - // "TYPE_UNKNOWN" - // "TYPE_NORMAL" - // "TYPE_PASSING" - These are usually shared lanes, usable for passing by - // either direction. - // "TYPE_LEFT_TURN" - // "TYPE_LEFT_TURN_OFF" - Typical left turn at intersection. - // "TYPE_LEFT_TURN_ON_OFF" - Lane used both for cars turning left to a side - // street, and for cars from side streets turning left onto the larger road. - // "TYPE_RIGHT_TURN" - // "TYPE_RIGHT_TURN_OFF" - Typical right turn at intersection. - // "TYPE_RIGHT_TURN_ON_OFF" - Lane used both for cars turning right to a side - // street, and for cars from side streets turning right onto the larger road - // (in left-side driving countries). - // "TYPE_BICYCLE" - // "TYPE_PARKING" - // "TYPE_PARKING_IMPLIED" - This lane represents the common case of parking - // along the curb. It is generally not a drivable lane. - // "TYPE_PARKING_MARKED" - Parking with marked stalls. - // "TYPE_EXIT_ENTRANCE" - Lanes that are temporary, for - // acceleration/deceleration, or that will split off. - // "TYPE_EXIT_LANE" - A lane that is used for exiting the core road. - // "TYPE_ENTRANCE_LANE" - An acceleration/merging lane. - // "TYPE_PEDESTRIAN" - A bidirectional walking lane, such as a sidewalk. The - // walking lane is implied to be on the side of the road as specified by the - // segment's "on_right" flag. The pedestrian lane should therefore be on the - // outside of a road's traffic lanes. Presence of a pedestrian lane implies - // that we have a sidewalk or other facility away from the road surface where - // pedestrians walk. If a road does not have a pedestrian lane, this means - // there is no space or facility for pedestrians to walk, or that pedestrians - // walk on the wide shoulder. The pedestrian lane, width, and - // distance_to_next_lane controls where Pathfinder draws the pedestrian - // polyline. As described in go/hdwalking++, the polyline is computed as (pl = - // pedestrian lane, s = segment): offset = s.distance_to_edge + - // pl.distance_to_next_lane + pl.width / 2 - // "TYPE_SIDEWALK_SHOULDER" - A special shoulder lane present on narrow roads - // in Japan that may double as a sidewalk. This isn’t a subset of - // TYPE_PEDESTRIAN since it may have either uses and is not separated by a - // curb. - // "TYPE_VEHICLE_SHOULDER" - Represents a lane that is wide enough to park or - // drive slowly on and is physically accessible from the main roadway. This is - // part of road surface that’s not used for normal flow of traffic but can be - // used for emergency purposes, such as emergency stopping and parking or by - // emergency vehicles. These are often known as emergency use lanes. This - // should generally be either first or last lane on the road (not counting - // pedestrian lanes if present). NOTE: In may cases, this may be colloquially - // called a “shoulder”, but road shoulders may include other areas that are - // not readily accessible, especially at speed. - // "TYPE_OFFSET" - This represents an “offset” lane that doesn’t really - // carry useful semantics but can be used to fill in “gaps” between the sum - // total of lane widths and the road as represented by distance_to_edge. - Type string `json:"type,omitempty"` - // Width: Width of this lane in meters. In many cases, we will collect this - // data by dividing the total road width by the number of lanes. On accuracy: - // This is a rough average width along this segment. If and when we wanted to - // be more accurate, we'd extend this schema to have full polygons for - // segments/lanes rather than just this average width. - Width float64 `json:"width,omitempty"` - // ForceSendFields is a list of field names (e.g. "BoundingMarker") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BoundingMarker") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreLaneProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreLaneProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreLaneProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreLaneProto - var s1 struct { - DistanceToNextLane gensupport.JSONFloat64 `json:"distanceToNextLane"` - LaneFollowsSegmentBeginFraction gensupport.JSONFloat64 `json:"laneFollowsSegmentBeginFraction"` - LaneFollowsSegmentEndFraction gensupport.JSONFloat64 `json:"laneFollowsSegmentEndFraction"` - Width gensupport.JSONFloat64 `json:"width"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.DistanceToNextLane = float64(s1.DistanceToNextLane) - s.LaneFollowsSegmentBeginFraction = float64(s1.LaneFollowsSegmentBeginFraction) - s.LaneFollowsSegmentEndFraction = float64(s1.LaneFollowsSegmentEndFraction) - s.Width = float64(s1.Width) - return nil -} - -type GeostoreLaneProtoLaneConnection struct { - // BoundingMarker: References to any gcid:physical_lane_marker features that - // bound this lane connection. - BoundingMarker []*GeostoreBoundingMarkerProto `json:"boundingMarker,omitempty"` - // ConnectionToken: A token that can be used to identify the version of the - // data about this lane connection. - ConnectionToken string `json:"connectionToken,omitempty"` - // Curve: Specifies how the flowline should be synthesized in this connection - // region. If unspecified, heuristics may be used to pick a sweep shape based - // on retraction values or neighboring curves. - Curve *GeostoreCurveConnectionProto `json:"curve,omitempty"` - // Flow: The most logical path for the center of an object to travel along - // within the lane connection. Typically, this is the lane connection's center - // line, but doesn't have to be. - Flow *GeostoreFlowLineProto `json:"flow,omitempty"` - // LaneNumber: This is the lane number on the target segment. This field is not - // set if the target segment doesn't have lanes, or we don't know the exact - // connectivity. - LaneNumber int64 `json:"laneNumber,omitempty"` - // PrimaryConnection: True if this connects to the unique, natural continuation - // of the current lane. At most one LaneConnection per lane can have this field - // set true. This attribute is of interest to ADAS providers as a hint to which - // lane a vehicle is likely to follow, in the absence of other information - // about the vehicle's planned path. - PrimaryConnection bool `json:"primaryConnection,omitempty"` - // Segment: This reference to the other segment is weak, since strong would - // blow up bounds of all segments. - Segment *GeostoreFeatureIdProto `json:"segment,omitempty"` - // YieldToOtherConnections: The inverse of the primary connection bit that - // provides a hint that this connection is part of a merge and a vehicle - // following this connection should yield to vehicles following other incoming - // connections. - YieldToOtherConnections bool `json:"yieldToOtherConnections,omitempty"` - // ForceSendFields is a list of field names (e.g. "BoundingMarker") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BoundingMarker") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreLaneProtoLaneConnection) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreLaneProtoLaneConnection - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreLanguageTaggedTextProto: Represents a piece of text with an -// associated language. -type GeostoreLanguageTaggedTextProto struct { - // Language: The external form of a Google International Identifiers Initiative - // (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for - // details. We place extra restrictions on languages in addition to what the - // III library requires. See - // http://go/geo-schema-reference/feature-properties/languages.md - Language string `json:"language,omitempty"` - // Text: The text (UTF-8 encoding). - Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "Language") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Language") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreLanguageTaggedTextProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreLanguageTaggedTextProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreLevelProto: A feature used to represent a logical level, e.g. floor. -// A feature belonging to a given level should point to the level feature using -// relation RELATION_ON_LEVEL. The standard feature properties are interpreted -// as follows: name - Levels should have names according to the following: * -// Short, elevator-style names, such as "L" for "Lobby" and "2" for "Second -// floor", must be included and must be tagged with FLAG_ABBREVIATED. There -// must be an unambiguous "best" abbreviated name. * Longer names such as -// "Ticketing" or "Upper Level" may be present when the level has a specific -// name. * Non-abbreviated names should only be added if they are known to -// meaningfully expand upon the abbreviated name. For example, the long name -// "Observation Deck 2" for the abbreviated name "OD2" is a good additional -// name. In contrast, the name "Level 2" for the abbreviated name "2" is not -// desired. address - This should always be empty. point, polyline, polygon, -// center - These should never be set (since we are representing a logical -// entity). preferred_viewport - This should be the approximate extent of the -// level. child - This should always be empty. -type GeostoreLevelProto struct { - // Building: The building(s) to which this level belongs. A level will - // typically belong to a single building, but it is valid for a single level to - // be shared by multiple buildings (for example, a large underground parking - // lot). These buildings refer back to the level via another strong reference - // (the BuildingProto.level field). - Building []*GeostoreFeatureIdProto `json:"building,omitempty"` - // Number: The elevation of this level relative to the ground level, in levels. - // 0 = ground floor (even in locales that call the ground floor "1st floor"); - // 0.5 = between ground and first floor, eg mezzanine; 1 = first floor (one - // level above ground floor); -3 = three levels below ground floor. - Number float64 `json:"number,omitempty"` - // ForceSendFields is a list of field names (e.g. "Building") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Building") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreLevelProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreLevelProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreLevelProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreLevelProto - var s1 struct { - Number gensupport.JSONFloat64 `json:"number"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Number = float64(s1.Number) - return nil -} - -type GeostoreLinearStripePatternProto struct { - // Line: A linear marker may consist of one or more parallel physical lines. - // These are ordered left to right along the direction of the marker core - // polyline. - Line []*GeostorePhysicalLineProto `json:"line,omitempty"` - // ForceSendFields is a list of field names (e.g. "Line") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Line") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreLinearStripePatternProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreLinearStripePatternProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreLocaleLanguageProto: This message describes the details of a single -// language within a locale. -type GeostoreLocaleLanguageProto struct { - // Language: The language associated with this preference. The external form of - // a Google International Identifiers Initiative (III) LanguageCode object. See - // google3/i18n/identifiers/languagecode.h for details. We place extra - // restrictions on languages in addition to what the III library requires. See - // http://go/geo-schema-reference/feature-properties/languages.md - Language string `json:"language,omitempty"` - // Official: Flag to indicate if the associated language is "official" within a - // locale. - Official bool `json:"official,omitempty"` - // Preference: This value represents the preference of the associated language - // within a locale. It must be between 0.0 and 1.0. - Preference float64 `json:"preference,omitempty"` - // SpeakingPercent: Percentage of population that can speak the associated - // language within a locale. It must be between 0 and 100. - SpeakingPercent float64 `json:"speakingPercent,omitempty"` - // WritingPercent: Percentage of population that can write the associated - // language within a locale. It must be between 0 and 100. - WritingPercent float64 `json:"writingPercent,omitempty"` - // ForceSendFields is a list of field names (e.g. "Language") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Language") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreLocaleLanguageProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreLocaleLanguageProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreLocaleLanguageProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreLocaleLanguageProto - var s1 struct { - Preference gensupport.JSONFloat64 `json:"preference"` - SpeakingPercent gensupport.JSONFloat64 `json:"speakingPercent"` - WritingPercent gensupport.JSONFloat64 `json:"writingPercent"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Preference = float64(s1.Preference) - s.SpeakingPercent = float64(s1.SpeakingPercent) - s.WritingPercent = float64(s1.WritingPercent) - return nil -} - -// GeostoreLocaleProto: A locale is a meta-feature that describes the -// geographic extent of localization preferences such as the local language, -// and formatting conventions for numbers, dates and monetary values. -// Multilingual areas may be contained by multiple locales. We try to model -// locales fine-grained enough for deciding which languages are typically used -// within a city. For example, while French is an official language for all of -// Switzerland, we would prefer to have Zurich contained by a separate (more -// fine-grained) Swiss-German locale indicating that German, not French, is the -// predominantly spoken language in this city. Note that language borders are -// frequently considered a political question and often don't have clearly -// defined extents. For example, California has a significant Spanish-speaking -// population, but Spanish is not an official language of California. -type GeostoreLocaleProto struct { - // Language: This holds the list of languages spoken within a locale. - Language []*GeostoreLocaleLanguageProto `json:"language,omitempty"` - // LocalizationPolicyId: The ID of the localization policy (from - // googledata/geostore/localization/localization_policies.textpb) to apply to - // features that have this locale as their best match locale. Localization - // policy IDs are arbitrary identifiers that uniquely distinguish a set of - // language-selection rules. - LocalizationPolicyId string `json:"localizationPolicyId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Language") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Language") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreLocaleProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreLocaleProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreLogicalBorderProto: A logical border is a grouping of border -// features, which together model a divide between two regions. The borders -// within this grouping share common attributes, such as the regions they -// divide, and may represent a conceptual group of borders, of which may be -// wholly disputed, wholly undisputed, or a mixture of disputed and undisputed. -// Note that any borders within this group may be part of multiple logical -// borders. A logical border is required to have a name describing what the -// grouping represents (e.g. "US - Mexico Border", "Kosovo - Serbia Border -// (Disputed)"). -type GeostoreLogicalBorderProto struct { - // BorderSegment: All the border segments which make up this logical border. - // Border segments must be TYPE_BORDER features which have the same left/right - // features. This is a many-to-many bidirectional relationship, so any border - // segment within this list might be part of another logical border. - BorderSegment []*GeostoreFeatureIdProto `json:"borderSegment,omitempty"` - // Status: The logical border status identifies its legal status. This is - // similar to the BorderStatus present within border segments, but applies to - // the group as a whole. - // - // Possible values: - // "STATUS_UNSPECIFIED" - The logical border is neither entirely composed of - // either normal nor disputed border segments. There are no guarantees about - // the BorderStatus of its border segments. - // "STATUS_NORMAL" - This status should be used when both parties agree on - // the location of the border. These might be called "de jure" borders. Most - // borders will have this status. This status requires that all border segments - // that make up this logical border have normal border segments. - // "STATUS_DISPUTED" - This status should be used when the two parties - // disagree on the location of the border. This status requires that all border - // segments are themselves disputed. - Status string `json:"status,omitempty"` - // ForceSendFields is a list of field names (e.g. "BorderSegment") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BorderSegment") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreLogicalBorderProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreLogicalBorderProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreMediaItemProto: Media item attached to an element of price list. -type GeostoreMediaItemProto struct { - // GoogleUrl: The FIFE url associated with the media. NOTE: This FIFE URL must - // be PII-free, see go/product-catalogue-photo-storage - GoogleUrl string `json:"googleUrl,omitempty"` - // Possible values: - // "MEDIA_FORMAT_UNSPECIFIED" - Format unspecified. - // "MEDIA_FORMAT_PHOTO" - Media item is a photo. - MediaFormat string `json:"mediaFormat,omitempty"` - // MediaKey: The mediaKey associated with the media. NOTE: This media key must - // be PII-free, see go/product-catalogue-photo-storage - MediaKey string `json:"mediaKey,omitempty"` - MediaSize *GeostoreMediaItemProtoMediaSize `json:"mediaSize,omitempty"` - // ForceSendFields is a list of field names (e.g. "GoogleUrl") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GoogleUrl") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreMediaItemProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreMediaItemProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreMediaItemProtoMediaSize: Width and height of the original photo in -// pixels. -type GeostoreMediaItemProtoMediaSize struct { - OriginalHeightPx int64 `json:"originalHeightPx,omitempty"` - OriginalWidthPx int64 `json:"originalWidthPx,omitempty"` - // ForceSendFields is a list of field names (e.g. "OriginalHeightPx") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OriginalHeightPx") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreMediaItemProtoMediaSize) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreMediaItemProtoMediaSize - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreNameProto: A name for a Feature (street name, point of interest, -// city, building, etc). We currently use NameProto for two essentially -// disjoint purposes: 1. Common names, which can be language-specific, or have -// other kinds of variations. 2. Opaque IDs, such as postal codes, which only -// have the `text` field set, and potentially some flags. This includes -// internal-only features like template ids. Each NameProto representing a -// common name corresponds to an assertion that a fluent speaker or writer of a -// language would recognize NameProto.text to name the given feature in that -// language. As such, NameProtos are stored in a repeated field, often having: -// 1. multiple names with the same text and varying languages, and 2. multiple -// names with the same language and varying texts. -type GeostoreNameProto struct { - // Flag: clang-format on The set of flags that apply to this name. - // - // Possible values: - // "FLAG_ANY" - ABSTRACT - // "FLAG_IN_LOCAL_LANGUAGE" - This name is in one of the local languages. A - // local language is one readable by local people, where all - // language/script/region subtags in the language field are local. E.g. "ru" is - // local in Russia, but "ru-Latn" (transliterated in Latin script) is not - // local. This is the opposite of FLAG_NOT_IN_LOCAL_LANGUAGE. In general, a - // given name should have either FLAG_IN_LOCAL_LANGUAGE or - // FLAG_NOT_IN_LOCAL_LANGUAGE specified. Importers that are unsure should not - // set either flag. It doesn't make sense to set this flag unless you also - // specify a language. NOTE: unlike most other flags in this enumeration, this - // flag has to do with the language field, NOT to the text (and - // {raw,short}_text fields). - // "FLAG_PREFERRED" - This is the most commonly recognized name for this - // feature (for a given language, when languages apply). This flag is not - // compatible with the following flags: - FLAG_NEVER_DISPLAY - FLAG_OBSCURE - // "FLAG_OFFICIAL" - This name is officially recognized by the government. - // This flag is not compatible with FLAG_SUSPICIOUS. - // "FLAG_OBSCURE" - This name is not commonly known. This flag is used on - // names that are not commonly known, or not "standard", but which we wish to - // have so clients can search on them. An example would be "Philly" instead of - // "Philadelphia". - // "FLAG_ON_SIGNS" - ABSTRACT - // "FLAG_EXIT_NAME_NUMBER" - This name is an exit name/number found on signs. - // "FLAG_EXIT_NAME" - This flag is used to differentiate exit names from exit - // numbers on signs that have both. - // "FLAG_INTERCHANGE_NAME" - The highway sign is labeling a highway - // interchange instead of an exit. In several European countries interchanges - // are differentiated from highway exits. - // "FLAG_EXIT_NUMBER" - This flag is used to differentiate exit numbers from - // exit names on signs that have both. This flag is not compatible with - // FLAG_ROUTE_NUMBER. - // "FLAG_INTERCHANGE_NUMBER" - The highway sign is labeling a highway - // interchange the same manner as FLAG_INTERCHANGE_NAME. - // "FLAG_TRANSIT_HEADSIGN" - The headsign of a transit vehicle, often the - // name of the destination. - // "FLAG_CONNECTS_DIRECTLY" - The road sign target is directly connected - // (e.g., at end of ramp). - // "FLAG_CONNECTS_INDIRECTLY" - The road sign target is not directly - // connected (e.g., must travel some additional distance). - // "FLAG_INTERSECTION_NAME" - This name is an intersection name found on - // signs. Usually we can just use the name of a TYPE_INTERSECTION_GROUP - // feature. However, there are road signs on some intersections in Japan, - // especially in Hokkaido region where the intersection name is considered - // "directional" (i.e. an intersection could have multiple names depending on - // directions drivers or pedestrians approach from). Many people think of them - // as "intersection names", but that's not really what they are. We want to - // model them as road signs, because that's really what they are. This flag is - // supposed to be used by Pathfinder to generate the appropriate maneuver texts - // where such a named intersection is involved. - // "FLAG_VANITY" - This is a vanity name (usually an alternate name for a - // section of road in honor of some person). - // "FLAG_ROUTE_NUMBER" - This name is a route number from an official - // numbering system for highways or similar routes (like bicycle routes). - // Street names (even numbered ones like in Manhattan) are excluded. The name - // (both text and short_text) should follow a strictly-defined format - // determined by the official numbering system. Route numbers may be assigned - // to segments on city streets as well as highways. (US-101 passing through San - // Francisco is an example that has both.) Historic route names that are no - // longer part of an official numbering system (like the former US-66) are not - // route numbers. This flag is not compatible with FLAG_EXIT_NUMBER. - // "FLAG_COUNTRY_CODE_2" - This name is a two-letter ISO 3166-1 country code. - // It has code 0x81 instead of 0x8 for historical reasons (FLAG_COUNTRY_CODE - // and FLAG_COUNTRY_CODE_3 were removed in the belief that we only want one way - // to represent a country code in the Geo Schema). - // "FLAG_ABBREVIATED" - An abbreviated version of the name, for example "CA" - // for California. This flag should be used for postal abbreviations that one - // would expect to see in an address. It should also be used for names where - // one of the component words is abbreviated (e.g. "Mass." for Massachusetts, - // "NWFP" for the North-West Frontier Province in Pakistan, or "L" for the - // Lobby level in a building). Shortened forms of names (e.g. "Kingston" rather - // than "Kingston-upon-Hull") should be marked obscure rather than abbreviated. - // This flag should be used for names that are feature specific abbreviations. - // For shortened name versions based on regular, per-term transformations (ex: - // '1st Street' -> '1st St'), use the short_text field instead. - // "FLAG_ID" - ABSTRACT - // "FLAG_DESIGNATED_MARKET_AREA_ID" - This name is a Designated Market Area - // ID number (ex: 501) - // "FLAG_IATA_ID" - This name is a three-letter IATA airport code (ex SFO, - // ZRH). - // "FLAG_ICAO_ID" - This name is a four-letter ICAO airport code (ex KSFO, - // LSZH). - // "FLAG_ISO_3166_2" - This name is the ISO 3166-2 country subdivision code. - // "FLAG_COUNTRY_SPECIFIC_ID" - This name is the country specific ID. For - // example, China government specifies an admin code for each administrative - // area (province, city and district). - // "FLAG_LANGUAGE_CODE" - This name is an IETF BCP 47 language code, for - // example "fr-CA". Previously used for names of locales. See locale.proto for - // new way of defining this information. - // "FLAG_TIMEZONE_ID" - This name is a timezone identifier in the Olson - // database, for example "Europe/Zurich". All timezones have an Olson - // identifier, understood by POSIX and Google's i18n/identifiers libraries. - // This flag applies only to features of TYPE_TIMEZONE type. - // "FLAG_PHONE_NUMBER_PREFIX" - This name is the prefix for a phone number, - // starting with + and followed by a country code. This flag applies only to - // features of TYPE_PHONE_NUMBER_PREFIX type and at most one name should have - // this flag set. - // "FLAG_PHONE_NUMBER_AREA_CODE" - This name is the commonly used name for - // the area code of a phone number, including the national prefix if - // applicable. This flag applies only to features of - // TYPE_PHONE_NUMBER_AREA_CODE type and at most one name should have this flag - // set. - // "FLAG_TRANSLITERATED" - The flag used to indicate the name was - // transliterated from some other character set. For example, this flag would - // be set on names transliterated from the Cyrillic or Greek alphabets to a - // Latin alphabet. The correct approach is to use the Google III language code - // to specify the appropriate language. For example, Greek transliterated into - // a Latin alphabet should have a language code of "el-Latn". - // "FLAG_NOT_ON_SIGNS" - There are two kinds of street signs: "location - // signs" and "guidance signs". Location signs are the ones you see that tell - // you where you are. "Ah, I'm on 85th Street and I'm crossing 6th Avenue." - // Guidance signs are the ones that give you hints about how to get where you - // want to go. "Ah, I should go that way to get on I-5 to Seattle." This flag - // is talking about location signs. You'll find this flag on route names when - // then name is never posted on location signs. This flag is not compatible - // with flags in the FLAG_ON_SIGNS category. - // "FLAG_NOT_IN_LOCAL_LANGUAGE" - This name is not in one of the local - // languages. A local language is one readable by local people, where all - // language/script/region subtags in the language field are local. E.g. "ru" is - // local in Russia, but "ru-Latn" (transliterated in Latin script) is not - // local. This is the opposite of FLAG_IN_LOCAL_LANGUAGE. In general, a given - // name should have either FLAG_IN_LOCAL_LANGUAGE or FLAG_NOT_IN_LOCAL_LANGUAGE - // specified. Importers that are unsure should not set either flag. It doesn't - // make sense to set this flag unless you also specify a language. NOTE: unlike - // most other flags in this enumeration, this flag has to do with the language - // field, NOT to the text (and {raw,short}_text fields). - // "FLAG_ROUNDABOUT_ROUTE" - This flag is set on routes attached to - // roundabout segments if and only if this name does not appear on any of the - // segments incident on the roundabout. This flag can be used by clients to - // determine which names on roundabouts are more useful than others when - // displaying to users. - // "FLAG_NEVER_DISPLAY" - Never display this name to a user. This flag is - // typically used for politically sensitive names such as "Taiwan, Province of - // China". Any feature which has a name with this flag should have another name - // without it so we have something to display to the user. - // "FLAG_BICYCLE_ROUTE" - Routes with these names are common bicycle routes. - // This includes bicycle trails and routes along shared roadways to popular - // destinations for cyclists. Unnamed bicycle routes along named shared - // roadways should not have names of this type. This flag exists so that we can - // avoid showing bicycle route names in driving directions, while still showing - // them in bicycling directions. - // "FLAG_MACHINE_GENERATED" - This name is generated automatically by the - // transliteration pipeline based on an existing name in a different language. - // Contact Maps Translation team (go/maps-translation) for details. - // "FLAG_SUSPICIOUS" - This name may not be a correct name for a feature. It - // communicates to clients that the name may not be trustworthy. Examples are - // names of features that are too general ("swimming pool", "hardware store" - // etc) or those that incorrectly match names of prominent political features - // (businesses, transit stations etc named after sublocalities). This flag is - // not compatible with FLAG_OFFICIAL. - Flag []string `json:"flag,omitempty"` - // Language: The external form of a Google International Identifiers Initiative - // (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for - // details. These strings should be treated as opaque blobs. You can use - // LanguageCodeConverter::FromOther to convert the string to a LanguageCode - // reference. You can then call methods on the LanguageCode class to extract - // language/script/region subtags (if any). See also - // http://g3doc/i18n/identifiers/g3doc/using-iii. We place extra restrictions - // on languages in addition to what the III library requires. See - // go/geo-schema-reference/feature-properties/languages. This field may be - // missing if the name does not have a concept of language but should be set if - // the language is unknown. - Language string `json:"language,omitempty"` - // Metadata: Field-level metadata for this name. NOTE: there are multiple - // NameProto fields in the Geo Schema. Metadata here is only expected to be - // present on FeatureProto.name[]. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // RawText: ** DEPRECATED ** The name text provided in the original source data - // (UTF-8 encoding). This is the text provided in the source data unmodified - // with the exception of being converted to UTF-8 and stripping extra leading, - // trailing and duplicate whitespaces (if necessary). - RawText string `json:"rawText,omitempty"` - // ShortText: The short name text (UTF-8 encoding). Acronyms/abbreviations - // should be consistently used, for example "NE 57th St" rather than "Northeast - // 57th Street", "N.E 57th St." or some other variant. This field should be - // populated with the chosen canonical version of the shortened name, based on - // per-term transformations. For feature specific abbreviations (such as 'CA' - // for 'California'), one should define a separate name with FLAG_ABBREVIATED - // set. For other variants of the shortened name that are not the canonical - // one, devise client based logic (ex: query rewriting rules). - ShortText string `json:"shortText,omitempty"` - // TemporaryData: A place for clients to attach arbitrary data to a name. Never - // set in MapFacts. - TemporaryData *Proto2BridgeMessageSet `json:"temporaryData,omitempty"` - // Text: The name text (UTF-8 encoding). Acronyms/abbreviations should be fully - // expanded, for example "Northeast 57th Street" rather than "NE 57th St". They - // can be shortened at display or geocode time. This decision prevents - // ambiguity over such issues as whether "St" represents "Street" or "Saint". - // However, it pushes language-specific knowledge into code. We will have - // libraries and data files to contract acronyms/abbreviations at run-time. - Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "Flag") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Flag") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreNameProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreNameProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreOntologyRawGConceptInstanceContainerProto: The container for all -// GConceptInstances associated with a feature. -type GeostoreOntologyRawGConceptInstanceContainerProto struct { - Instance []*GeostoreOntologyRawGConceptInstanceProto `json:"instance,omitempty"` - // ForceSendFields is a list of field names (e.g. "Instance") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Instance") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreOntologyRawGConceptInstanceContainerProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreOntologyRawGConceptInstanceContainerProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreOntologyRawGConceptInstanceProto: A RawGConceptInstanceProto -// contains all data required by both internal and external clients. We store -// the 'public' data in a GConceptInstanceProto and the 'private' data inside -// of RawGConceptInstanceProto. NOTE: this doesn't really match the design we -// want anymore. Please talk to the Geo Schema team if you are planning to make -// use of the "private" fields below. -type GeostoreOntologyRawGConceptInstanceProto struct { - // Instance: This is the 'public' section of the GConceptInstance. - Instance *GeostoreGConceptInstanceProto `json:"instance,omitempty"` - // IsAddedByEdit: ** DEPRECATED ** Was this GConcept explicitly added by an - // edit? Examples of gconcepts not added by edits include those inferred - // through geo ontology and those mapped from legacy category forms by the - // feature updater. Note that it is possible for both is_added_by_edit and - // is_inferred to be true - it means this gconcept is added by an edit and - // there is also another more fine-grained gconcept added by an edit. - IsAddedByEdit bool `json:"isAddedByEdit,omitempty"` - // IsInferred: RESERVED - IsInferred bool `json:"isInferred,omitempty"` - // Provider: ** DEPRECATED ** These two fields combined describe the source of - // a GConceptInstance. They are based on - // geostore/base/proto/datasourceprovider.proto. Their use has been deprecated. - // Use the FieldMetadataProto inside instance instead. - // - // Possible values: - // "PROVIDER_ANY" - ABSTRACT The root of all provider types. This should - // never be present on an actual feature, but can be useful when calling - // InCategory. - // "PROVIDER_UNKNOWN" - not actually a legal value, used as sentinel - // "PROVIDER_NAVTEQ" - // "PROVIDER_TELE_ATLAS" - ABSTRACT - // "PROVIDER_TELE_ATLAS_MULTINET" - // "PROVIDER_TELE_ATLAS_CODEPOINT" - // "PROVIDER_TELE_ATLAS_GEOPOST" - // "PROVIDER_TELE_ATLAS_DATAGEO" - // "PROVIDER_TELE_ATLAS_ADDRESS_POINTS" - // "PROVIDER_TELCONTAR" - // "PROVIDER_EUROPA" - // "PROVIDER_ROYAL_MAIL" - // "PROVIDER_GOOGLE" - ABSTRACT - // "PROVIDER_GOOGLE_HAND_EDIT" - // "PROVIDER_GOOGLE_BORDERS" - All new "Google" provider entries must be full - // ints. The next available ID is: 0x111730C2 - // "PROVIDER_GOOGLE_SUBRANGE" - ABSTRACT - // "PROVIDER_GOOGLE_GT_FUSION" - // "PROVIDER_GOOGLE_ZAGAT_CMS" - // "PROVIDER_GOOGLE_PLACE_NAVBOOST" - // "PROVIDER_GOOGLE_FOOTPRINT" - // "PROVIDER_GOOGLE_PRODUCT_TERMS" - // "PROVIDER_GOOGLE_POINTCARDS" - // "PROVIDER_GOOGLE_BUSINESS_CHAINS" - // "PROVIDER_GOOGLE_LOCAL_SUMMARIZATION" - // "PROVIDER_GOOGLE_PRONUNCIATIONS" - // "PROVIDER_GOOGLE_DUMPLING" - // "PROVIDER_GOOGLE_DISTILLERY" - // "PROVIDER_GOOGLE_LOCAL_ATTRIBUTE_SUMMARIZATION" - // "PROVIDER_GOOGLE_RELATION_MINER" - // "PROVIDER_GOOGLE_MAPSPAM" - // "PROVIDER_GOOGLE_ROSE" - // "PROVIDER_GOOGLE_LOCAL_PLACE_RATINGS" - // "PROVIDER_GOOGLE_WIPEOUT" - This is an internal *only* provider meant for - // sending wipeout requests to mapfacts. - // "PROVIDER_GOOGLE_KNOWLEDGE_GRAPH" - // "PROVIDER_GOOGLE_BEEGEES" - // "PROVIDER_GOOGLE_REVIEW_SUMMARIZATION" - // "PROVIDER_GOOGLE_OFFLINE_NON_CORE_ATTRIBUTE_SUMMARIZATION" - // "PROVIDER_GOOGLE_GEO_WORLDMAPS" - // "PROVIDER_GOOGLE_GEO_MODERATION" - // "PROVIDER_GOOGLE_OYSTER_AUTO_EDITS" - // "PROVIDER_GOOGLE_LOCAL_ALCHEMY" - // "PROVIDER_GOOGLE_KEROUAC" - // "PROVIDER_GOOGLE_MOBRANK" - // "PROVIDER_GOOGLE_RAPTURE" - // "PROVIDER_GOOGLE_CULTURAL_INSTITUTE" - // "PROVIDER_GOOGLE_GEOCODES_FROM_LOCAL_FEEDS" - // "PROVIDER_GOOGLE_ATTRIBUTES_FROM_CRAWLED_CHAINS" - // "PROVIDER_GOOGLE_TACTILE_MAPS" - // "PROVIDER_GOOGLE_MAPS_FOR_MOBILE" - // "PROVIDER_GOOGLE_GEO_REALTIME" - // "PROVIDER_GOOGLE_PROMINENT_PLACES" - Never rely on source infos with this - // provider to identify whether or not a feature is a Prominent Place! Instead, - // use the proper API, - // localsearch_clustering::QualityTierHelper::IsProminentPlace(). - // "PROVIDER_GOOGLE_PLACE_ACTIONS" - // "PROVIDER_GOOGLE_GT_AUTO_EDITS" - // "PROVIDER_GOOGLE_WAZE" - // "PROVIDER_GOOGLE_ONTHEGO" - // "PROVIDER_GOOGLE_GT_IMPORT" - // "PROVIDER_GOOGLE_STRUCTURED_DATA" - // "PROVIDER_GOOGLE_HELICOPTER" - // "PROVIDER_GOOGLE_ROLLBACK" - // "PROVIDER_GOOGLE_RIGHTS_REPAIR" - // "PROVIDER_GOOGLE_PERFUME" - // "PROVIDER_GOOGLE_MAPS_TRANSLATION" - // "PROVIDER_GOOGLE_CALL_ME_MAYBE" - // "PROVIDER_GOOGLE_LOCAL_UNIVERSAL" - // "PROVIDER_GOOGLE_CROUPIER" - // "PROVIDER_GOOGLE_SKYSMART" - // "PROVIDER_GOOGLE_RIDDLER" - // "PROVIDER_GOOGLE_ROADCLOSURES" - // "PROVIDER_GOOGLE_SPORE" - UMBRELLA - // "PROVIDER_GOOGLE_LOCALIZATION" - // "PROVIDER_GOOGLE_CATTERMS" - // "PROVIDER_GOOGLE_GT_FIELD_OPS" - // "PROVIDER_GOOGLE_MATCHMAKER" - // "PROVIDER_GOOGLE_ARBITRATION" - // "PROVIDER_GOOGLE_BIZBUILDER_OPS" - // "PROVIDER_GOOGLE_LOCAL_INVENTORY_ADS" - // "PROVIDER_GOOGLE_GT_DRAFTY" - // "PROVIDER_GOOGLE_HOTELADS_OPS" - // "PROVIDER_GOOGLE_MARKERS" - // "PROVIDER_GOOGLE_STATE_MACHINE" - // "PROVIDER_GOOGLE_ATTRIBUTES_INFERENCE" - // "PROVIDER_GOOGLE_BIKESHARE" - // "PROVIDER_GOOGLE_GHOSTWRITER" - // "PROVIDER_GOOGLE_EDIT_PLATFORM" - // "PROVIDER_GOOGLE_BLUE_GINGER" - // "PROVIDER_GOOGLE_GEO_TIGER" - // "PROVIDER_GOOGLE_HYADES" - // "PROVIDER_GOOGLE_WEBQUARRY" - // "PROVIDER_GOOGLE_GEO_MADDEN" - // "PROVIDER_GOOGLE_ANDROID_PAY" - // "PROVIDER_GOOGLE_OPENING_HOURS_TEAM" - // "PROVIDER_GOOGLE_LOCAL_DISCOVERY" - // "PROVIDER_GOOGLE_LOCAL_HEALTH" - // "PROVIDER_GOOGLE_UGC_MAPS" - // "PROVIDER_GOOGLE_FIBER" - // "PROVIDER_GOOGLE_REVGEO" - // "PROVIDER_GOOGLE_HOTELADS_PARTNER_FRONT_END" - // "PROVIDER_GOOGLE_GEO_UGC_TASKS" - // "PROVIDER_GOOGLE_GEOCODING" - // "PROVIDER_GOOGLE_SPYGLASS" - // "PROVIDER_GOOGLE_PLUS_CODES_AS_ADDRESSES" - // "PROVIDER_GOOGLE_GEO_CHANGES" - // "PROVIDER_GOOGLE_HUME" - // "PROVIDER_GOOGLE_MEGAMIND" - // "PROVIDER_GOOGLE_GT_ROADSYNTH" - // "PROVIDER_GOOGLE_FIREBOLT" - // "PROVIDER_GOOGLE_LOCAL_PLACE_OFFERINGS" - // "PROVIDER_GOOGLE_UGC_SERVICES" - // "PROVIDER_GOOGLE_GEOALIGN" - // "PROVIDER_GOOGLE_GT_COMPOUNDS" - // "PROVIDER_GOOGLE_FOOD_ORDERING" - // "PROVIDER_GOOGLE_HOTEL_KNOWLEDGE_OPS" - // "PROVIDER_GOOGLE_URAW" - // "PROVIDER_GOOGLE_FLYEYE" - // "PROVIDER_GOOGLE_YOUKE" - // "PROVIDER_GOOGLE_GT_ZEPHYR" - // "PROVIDER_GOOGLE_USER_SAFETY" - // "PROVIDER_GOOGLE_ADDRESS_MAKER" - // "PROVIDER_GOOGLE_UGC_PHOTOS" - // "PROVIDER_GOOGLE_GT_WINDCHIME" - // "PROVIDER_GOOGLE_SNAG_FIXER" - // "PROVIDER_GOOGLE_GEO_DEALS" - // "PROVIDER_GOOGLE_LOCAL_PLACE_TOPICS" - // "PROVIDER_GOOGLE_PROPERTY_INSIGHTS" - // "PROVIDER_GOOGLE_GEO_CONSUMER_MERCHANT_EXPERIMENTS" - // "PROVIDER_GOOGLE_GEO_PORTKEY" - // "PROVIDER_GOOGLE_ROAD_MAPPER" - // "PROVIDER_GOOGLE_LOCATION_PLATFORM" - // "PROVIDER_GOOGLE_POSTTRIP" - // "PROVIDER_GOOGLE_TRAVEL_DESTINATION" - // "PROVIDER_GOOGLE_GEO_DATA_UPLOAD" - UMBRELLA - // "PROVIDER_GOOGLE_BIZBUILDER_CLEANUP" - // "PROVIDER_GOOGLE_USER" - // "PROVIDER_GOOGLE_STATION" - // "PROVIDER_GOOGLE_GEO_FOOD" - // "PROVIDER_GOOGLE_GEO_AR" - // "PROVIDER_GOOGLE_GEO_TEMPORAL" - // "PROVIDER_GOOGLE_SERVICES_MARKETPLACE" - // "PROVIDER_GOOGLE_IMT_CLEANUP" - // "PROVIDER_GOOGLE_GEO_FOOD_MENU" - // "PROVIDER_GOOGLE_CARENAV" - // "PROVIDER_GOOGLE_DRIVING_FEEDS" - UMBRELLA - // "PROVIDER_GOOGLE_DRIVING_UGC" - // "PROVIDER_GOOGLE_POLAR" - // "PROVIDER_GOOGLE_TRIWILD" - // "PROVIDER_GOOGLE_CROWD_COMPUTE_OPS" - // "PROVIDER_GOOGLE_SA_FROM_WEB" - // "PROVIDER_GOOGLE_POI_ALIGNMENT" - // "PROVIDER_GOOGLE_SA_FROM_HULK" - // "PROVIDER_GOOGLE_SERVICES_INTERACTIONS" - // "PROVIDER_GOOGLE_ROADS_UGC_EDITOR" - // "PROVIDER_GOOGLE_SA_FROM_NG_INFERENCE" - // "PROVIDER_GOOGLE_GEO_DRIVING_VIZ" - // "PROVIDER_GOOGLE_GEO_TASKING" - // "PROVIDER_GOOGLE_CROWDTASK_DATACOMPUTE" - // "PROVIDER_GOOGLE_CROWDTASK_TASKADS" - // "PROVIDER_GOOGLE_CROWDTASK_TASKMATE" - // "PROVIDER_GOOGLE_CROWDTASK_FURBALL" - // "PROVIDER_GOOGLE_CROWDTASK_ADAP" - // "PROVIDER_GOOGLE_GPAY" - // "PROVIDER_GOOGLE_GEO_UGC_TRUSTED_USERS" - // "PROVIDER_GOOGLE_THIRD_PARTY_DATA_PRODUCTION" - // "PROVIDER_GOOGLE_GEOTRACKER" - // "PROVIDER_GOOGLE_LOCAL_LANDMARK_INFERENCE" - // "PROVIDER_GOOGLE_GEO_CLOSED_LOOP" - // "PROVIDER_GOOGLE_SA_FROM_MERCHANT_POSTS" - // "PROVIDER_GOOGLE_CORE_DATA_RIGHTS" - // "PROVIDER_GOOGLE_SA_FROM_USER_REVIEWS" - // "PROVIDER_GOOGLE_GEO_CONTENT_FIXER" - // "PROVIDER_GOOGLE_POLYGON_REFINEMENT" - // "PROVIDER_GOOGLE_HANASU" - // "PROVIDER_GOOGLE_FULLRIGHTS_GEO_DATA_UPLOAD" - // "PROVIDER_GOOGLE_FULLRIGHTS_3P_OUTREACH_UPLOAD" - // "PROVIDER_GOOGLE_ATTRIBUTION_3P_OUTREACH_UPLOAD" - // "PROVIDER_GOOGLE_SA_FROM_FOOD_MENUS" - // "PROVIDER_GOOGLE_GT_CONSISTENCY_EDITS" - // "PROVIDER_GOOGLE_SA_QUALITY" - // "PROVIDER_GOOGLE_GDCE_CLEANUP" - // "PROVIDER_GOOGLE_UGC_QUALITY_CHAINS" - // "PROVIDER_GOOGLE_ATTRIBUTES_DISCOVERY" - Shopping Attributes Discovery - // "PROVIDER_GOOGLE_GEO_LDE" - // "PROVIDER_GOOGLE_GEO_SIGNAL_TRACKING" - // "PROVIDER_GOOGLE_UGC_AGGREGATION" - // "PROVIDER_GOOGLE_3D_BASEMAP" - // "PROVIDER_GOOGLE_MAPFACTS_PRIVACY" - // "PROVIDER_GOOGLE_GT_ALF" - // "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE" - // "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS" - // "PROVIDER_GOOGLE_GT_LANE_AUTOMATION" - // "PROVIDER_GOOGLE_GEO_NG_LOCAL" - // "PROVIDER_GOOGLE_MAPFACTS_CLEANUP" - // "PROVIDER_GOOGLE_THIRD_PARTY_UGC" - UMBRELLA - // "PROVIDER_GOOGLE_GEO_ISSUE_ADMIN" - // "PROVIDER_GOOGLE_VACATION_RENTAL_PARTNERS" - // "PROVIDER_GOOGLE_FEED_PROCESSOR_ROAD_INCIDENTS" - // "PROVIDER_GOOGLE_DYNAMIC_BASEMAP" - UMBRELLA - // "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS_EMEA" - // "PROVIDER_GOOGLE_LOCALSEARCH" - The next new "Google" provider entries - // should be placed above. - // "PROVIDER_GOOGLE_TRANSIT" - UMBRELLA - // "PROVIDER_GOOGLE_GEOWIKI" - // "PROVIDER_GOOGLE_CHINA_LOCAL_TEAM" - // "PROVIDER_GOOGLE_SYNTHESIZED" - // "PROVIDER_GOOGLE_INTERNAL_TEST" - This is a testing provider for teams - // that wish to integrate with components of the Geo Data Infrastructure that - // require a valid provider. No production data should ever be sent using this - // provider. - // "PROVIDER_GOOGLE_DISPUTED_AREAS" - // "PROVIDER_GOOGLE_3DWAREHOUSE" - UMBRELLA - // "PROVIDER_GOOGLE_GROUNDS_BUILDER" - // "PROVIDER_GOOGLE_SESAME" - // "PROVIDER_GOOGLE_GT" - // "PROVIDER_GOOGLE_GT_BASEMAP_UPLOAD" - UMBRELLA - // "PROVIDER_GOOGLE_ADSDB" - 0x1117F must not be used, since its range - // extends the PROVIDER_GOOGLE hierarchy. - // "PROVIDER_GOOGLE_MACHINE_TRANSLITERATION" - // "PROVIDER_GOOGLE_TRAVELSEARCH" - // "PROVIDER_GOOGLE_PANORAMIO" - // "PROVIDER_GOOGLE_YOUTUBE" - // "PROVIDER_GOOGLE_OLD" - // "PROVIDER_GOOGLE_STREETVIEW" - // "PROVIDER_GOOGLE_STREETVIEW_BIZVIEW" - // "PROVIDER_GOOGLE_ZIPIT" - // "PROVIDER_GOOGLE_OYSTER_CONNECT_ROUTES" - // "PROVIDER_GOOGLE_GOLDEN" - // "PROVIDER_GOOGLE_INNERSPACE" - // "PROVIDER_GOOGLE_MAPSEARCH" - // "PROVIDER_GOOGLE_CATEGORIES_TEAM" - Deprecated in favor of - // PROVIDER_GOOGLE_STRUCTURED_DATA (for attributes) and - // PROVIDER_GOOGLE_GEO_TIGER (for categories). - // "PROVIDER_GOOGLE_CROWDSENSUS" - // "PROVIDER_GOOGLE_LOCAL_ALGORITHMIC_IDENTITY" - 0x1117FF should not be - // used, since its range further extends the PROVIDER_GOOGLE hierarchy. aka - // Local AI. - // "PROVIDER_GOOGLE_FREEBASE" - // "PROVIDER_GOOGLE_HOTELADS" - // "PROVIDER_GOOGLE_AUTHORITY_PAGES" - // "PROVIDER_GOOGLE_PLACES_API" - // "PROVIDER_GOOGLE_NAMEHEATMAP" - // "PROVIDER_GOOGLE_MAPMAKER" - // "PROVIDER_GOOGLE_MAPMAKER_MOBILE" - // "PROVIDER_GOOGLE_MAPMAKER_PANCAKE" - // "PROVIDER_GOOGLE_MAPMAKER_V2" - // "PROVIDER_GOOGLE_LOCAL_CLUSTERING_OPERATOR_OVERRIDE" - // "PROVIDER_GOOGLE_SERVED_ON_MAPMAKER" - No data is obtained from this - // provider. It is only used to identify features that must be served on - // MapMaker. - // "PROVIDER_GOOGLE_GT_LOCAL" - // "PROVIDER_GOOGLE_GT_LOCAL_WITH_RIGHTS" - // "PROVIDER_GOOGLE_LOGS_RANKING_SIGNALS" - // "PROVIDER_GOOGLE_ENTITY_NAVBOOST" - // "PROVIDER_GOOGLE_RELATED_PLACES" - // "PROVIDER_GOOGLE_KNOWN_FOR_TERMS" - // "PROVIDER_GOOGLE_SYNTHETIC_AREAS" - 0x1117FFF should not be used, since - // its range further extends the PROVIDER_GOOGLE hierarchy. Synthetically - // generated areas (sublocalities/neighborhoods/ postal codes/etc) based on - // dropped terms from approximate geocoding. More info on go/syntheticareas. - // "PROVIDER_GOOGLE_AUTHORITY_PAGE_PHOTOS" - // "PROVIDER_GOOGLE_CROSS_STREETS" - // "PROVIDER_GOOGLE_CORRIDORS" - // "PROVIDER_GOOGLE_BICYCLE_RENTAL" - Similar to Google Transit, a provider - // that aggregates positions of bicycle rental points that we have agreements - // with to show on maps - // "PROVIDER_GOOGLE_CONCRETE_URLS" - // "PROVIDER_GOOGLE_LEANBACK" - // "PROVIDER_GOOGLE_LOCKED_LISTINGS" - // "PROVIDER_GOOGLE_MONITORING" - // "PROVIDER_GOOGLE_SPROUT" - // "PROVIDER_GOOGLE_LOCAL_SEARCH_QUALITY" - // "PROVIDER_GOOGLE_GOBY" - // "PROVIDER_GOOGLE_PROBLEM_REPORT" - // "PROVIDER_GOOGLE_CANDID" - // "PROVIDER_GOOGLE_BIZBUILDER" - // "PROVIDER_AUTOMOTIVE_NAVIGATION_DATA" - This range has been depleted. For - // new Ids see PROVIDER_GOOGLE_SUBRANGE above. - // "PROVIDER_MAPDATA_SCIENCES" - // "PROVIDER_MAPONICS" - // "PROVIDER_SKI_RESORTS" - // "PROVIDER_ZENRIN" - // "PROVIDER_SANBORN" - // "PROVIDER_URBAN_MAPPING" - // "PROVIDER_US_GOVERNMENT" - ABSTRACT - // "PROVIDER_US_CENSUS" - // "PROVIDER_US_POSTAL_SERVICE" - // "PROVIDER_US_GEOLOGICAL_SURVEY" - // "PROVIDER_US_GNIS" - // "PROVIDER_US_LANDSAT" - // "PROVIDER_US_NATIONAL_GEOSPATIAL_INTELLIGENCE_AGENCY" - // "PROVIDER_US_NGA_GNS" - // "PROVIDER_US_SSIBL" - Small Scale International Boundary Lines - // "PROVIDER_US_BUREAU_OF_TRANSPORTATION_STATISTICS" - // "PROVIDER_US_NATIONAL_OCEANIC_AND_ATMOSPHERIC_ADMINISTRATION" - NOAA - // "PROVIDER_US_POLAR_GEOSPATIAL_CENTER" - PGC - // "PROVIDER_US_DEPARTMENT_OF_AGRICULTURE" - USDA - // "PROVIDER_US_NPI_REGISTRY" - National Provider Identifier Registry - // "PROVIDER_US_BUREAU_OF_INDIAN_AFFAIRS" - // "PROVIDER_DMTI_SPATIAL" - // "PROVIDER_INTERNATIONAL_HYDROGRAPHIC_ORGANIZATION" - // "PROVIDER_MAPLINK" - // "PROVIDER_KINGWAY" - // "PROVIDER_GEOCENTRE" - // "PROVIDER_CN_NATIONAL_FOUNDAMENTAL_GIS" - // "PROVIDER_CN_MAPABC" - // "PROVIDER_SMITHSONIAN_INSTITUTE" - // "PROVIDER_TRACKS_FOR_AFRICA" - // "PROVIDER_PPWK" - old name for PROVIDER_NAVIGO - // "PROVIDER_LEADDOG" - // "PROVIDER_CENTRE_DONNEES_ASTRONOMIQUES_STRASBOURG" - // "PROVIDER_GISRAEL" - // "PROVIDER_BASARSOFT" - // "PROVIDER_MAPINFO" - // "PROVIDER_MAPIT" - // "PROVIDER_GEOBASE" - // "PROVIDER_ORION" - // "PROVIDER_CENTRAL_EUROPEAN_DATA_AGENCY" - // "PROVIDER_ANASAT" - // "PROVIDER_MINED_POSTCODES" - // "PROVIDER_DMAPAS" - // "PROVIDER_COMMON_LOCALE_DATA_REPOSITORY" - // "PROVIDER_CH_SBB" - // "PROVIDER_SKENERGY" - // "PROVIDER_GBRMPA" - // "PROVIDER_KOREA_POST" - // "PROVIDER_CN_AUTONAVI" - // "PROVIDER_MINED_POI" - // "PROVIDER_ML_INFOMAP" - // "PROVIDER_SNOOPER" - // "PROVIDER_GEOSISTEMAS" - // "PROVIDER_AFRIGIS" - // "PROVIDER_TRANSNAVICOM" - // "PROVIDER_EASYCONNECT" - // "PROVIDER_LANTMATERIET" - // "PROVIDER_LOGICA" - // "PROVIDER_MAPKING" - // "PROVIDER_DIANPING" - // "PROVIDER_GEONAV" - // "PROVIDER_HEIBONSHA" - // "PROVIDER_DEUTSCHE_TELEKOM" - // "PROVIDER_LINGUISTIC_DATA_CONSORTIUM" - // "PROVIDER_ACXIOM" - // "PROVIDER_DUN_AND_BRADSTREET" - See b/33687395 - // "PROVIDER_FEDERAL_AVIATION_ADMINISTRATION" - // "PROVIDER_INFOUSA" - // "PROVIDER_INFOUSA_NIXIE" - // "PROVIDER_THOMSON_LOCAL" - // "PROVIDER_TELEFONICA_PUBLICIDAD_E_INFORMACION" - // "PROVIDER_WIKIPEDIA" - // "PROVIDER_INFOBEL" - // "PROVIDER_MX_GOVERNMENT" - ABSTRACT - // "PROVIDER_MX_NATIONAL_INSTITUTE_STATISTICS_GEOGRAPHY" - // "PROVIDER_MX_SERVICIO_POSTAL_MEXICANO" - // "PROVIDER_TELEGATE" - // "PROVIDER_TELELISTAS" - // "PROVIDER_MAPCITY" - // "PROVIDER_EXPLAINER_DC" - // "PROVIDER_DAIKEI" - // "PROVIDER_NL_CHAMBER_OF_COMMERCE" - // "PROVIDER_KOREA_INFO_SERVICE" - // "PROVIDER_WIKITRAVEL" - // "PROVIDER_FLICKR" - // "PROVIDER_DIANCO" - // "PROVIDER_VOLT_DELTA" - // "PROVIDER_SG_GOVERNMENT" - ABSTRACT - // "PROVIDER_SG_LAND_TRANSPORT_AUTHORITY" - // "PROVIDER_MAPBAR" - // "PROVIDER_LONGTU" - // "PROVIDER_SA_GOVERNMENT" - ABSTRACT - // "PROVIDER_SA_SAUDI_POST" - // "PROVIDER_PEAKLIST" - // "PROVIDER_LOCAL_BUSINESS_CENTER" - // "PROVIDER_LOCAL_FEED_XML" - UMBRELLA - // "PROVIDER_WEB" - // "PROVIDER_RAILS_TO_TRAILS" - // "PROVIDER_INDIACOM" - // "PROVIDER_INFOMEDIA" - // "PROVIDER_PICASA" - // "PROVIDER_AT_GOVERNMENT" - ABSTRACT - // "PROVIDER_AT_BUNDESAMT_FUR_EICH_UND_VERMESSUNGSWESEN" - // "PROVIDER_AT_NATIONAL_TOURIST_OFFICE" - // "PROVIDER_AT_AUSTRIA_POST" - // "PROVIDER_NO_GOVERNMENT" - ABSTRACT - // "PROVIDER_NO_NORSK_EIENDOMSINFORMASJON" - // "PROVIDER_NO_POSTEN_NORGE_AS" - // "PROVIDER_CH_GOVERNMENT" - ABSTRACT - // "PROVIDER_CH_SWISS_POST" - // "PROVIDER_CH_SWISSTOPO" - // "PROVIDER_CH_SWISS_NATIONAL_PARK" - // "PROVIDER_NAVIT" - // "PROVIDER_GEOSEARCH" - // "PROVIDER_DE_GOVERNMENT" - ABSTRACT - // "PROVIDER_BUNDESAMT_KARTOGRAPHIE_UND_GEODASIE" - // "PROVIDER_BUNDESNETZAGENTUR" - // "PROVIDER_SCHOBER_GROUP" - // "PROVIDER_MIREO" - // "PROVIDER_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_US_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_US_PUBLIC_MUNICIPALITY_WEBSTER_TEXAS" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_AMHERST_MASSACHUSETTS" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_BLOOMINGTON_INDIANA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_PASADENA_CALIFORNIA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_CHULA_VISTA_CALIFORNIA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_TEMPE_ARIZONA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_COLUMBUS_OHIO" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_PORTAGE_MICHIGAN" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_GEORGETOWN_KENTUCKY" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_GREENVILLE_SOUTH_CAROLINA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_NASHVILLE_TENNESSEE" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_WASHINGTON_DISTRICT_OF_COLUMBIA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_BOULDER_COLORADO" - // "PROVIDER_NZ_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_NZ_PUBLIC_MUNICIPALITY_ENVIRONMENT_BAY" - // "PROVIDER_PL_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_PL_PUBLIC_MUNICIPALITY_BIELSKO_BIALA" - // "PROVIDER_DE_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_DE_PUBLIC_MUNICIPALITY_FRANKFURT" - // "PROVIDER_DE_PUBLIC_MUNICIPALITY_HAMBURG" - // "PROVIDER_DE_PUBLIC_MUNICIPALITY_KARLSRUHE" - // "PROVIDER_PT_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_PT_PUBLIC_MUNICIPALITY_SANTA_CRUZ" - // "PROVIDER_AT_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_AT_PUBLIC_MUNICIPALITY_KLAGENFURT" - // "PROVIDER_AT_PUBLIC_MUNICIPALITY_LINZ" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_AZKOITIA" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_BEASAIN" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_GIRONA" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_SAN_SEBASTIAN" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_CATALUNYA" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_HONDARRIBIA" - // "PROVIDER_AU_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_AU_PUBLIC_MUNICIPALITY_LAUNCESTON_TASMANIA" - // "PROVIDER_IS_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_IS_PUBLIC_MUNICIPALITY_REYKJAVIK" - // "PROVIDER_NL_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_NL_PUBLIC_MUNICIPALITY_AMELSTEVEEN" - // "PROVIDER_BE_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_BE_PUBLIC_MUNICIPALITY_ANTWERPEN" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_FREDERICTON_NEW_BRUNSWICK" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_KAMLOOPS_BRITISH_COLUMBIA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_NANAIMO_BRITISH_COLUMBIA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_BANFF_ALBERTA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_CALGARY_ALBERTA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_TORONTO_ONTARIO" - // "PROVIDER_SE_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_SE_PUBLIC_MUNICIPALITY_UMEA" - // "PROVIDER_UA_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_UA_PUBLIC_MUNICIPALITY_KHARKIV" - // "PROVIDER_OTHER_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_OTHER_PUBLIC_MUNICIPALITY_AQUA_CALIENTE_CAHUILLA_INDIANS" - // "PROVIDER_FR_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_FR_PUBLIC_MUNICIPALITY_PONT_AUDEMER" - // "PROVIDER_FR_PUBLIC_MUNICIPALITY_BORDEAUX" - // "PROVIDER_SG_PUBLIC_MUNICIPALITY" - // "PROVIDER_BR_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_BR_PUBLIC_MUNICIPALITY_RIO_DE_JANEIRO" - // "PROVIDER_MAPCUBE" - // "PROVIDER_3D_REALITYMAPS" - // "PROVIDER_DEUTSCHES_ZENTRUM_FUR_LUFT_UND_RAUMFAHRT" - // "PROVIDER_3D_CITIES_SOCIEDADE_ANONIMA" - // "PROVIDER_DISNEY" - // "PROVIDER_CYBERCITY" - // "PROVIDER_PRECISION_LIGHTWORKS_MODELWORKS" - // "PROVIDER_VIRTUAL_HUNGARY_LIMITED" - // "PROVIDER_VIRTUEL_CITY" - // "PROVIDER_SCREAMPOINT_INTERNATIONAL" - // "PROVIDER_AGENTSCHAP_VOOR_GEOGRAFISCHE_INFORMATIE_VLAANDEREN" - // "PROVIDER_FR_GOVERNMENT" - ABSTRACT - // "PROVIDER_FR_INSTITUT_GEOGRAPHIQUE_NATIONAL" - // "PROVIDER_FR_CADASTRE" - // "PROVIDER_DIADIEM" - // "PROVIDER_THE_WEATHER_CHANNEL" - // "PROVIDER_COWI" - // "PROVIDER_FALKPLAN_ANDES" - // "PROVIDER_NL_GOVERNMENT" - ABSTRACT - // "PROVIDER_NL_KADASTER" - // "PROVIDER_NL_BOARD_OF_TOURISM_AND_CONVENTIONS" - // "PROVIDER_DIGITAL_MAP_PRODUCTS" - // "PROVIDER_SILICE_DIGITAL" - // "PROVIDER_TYDAC" - // "PROVIDER_ALBRECHT_GOLF" - // "PROVIDER_HEALTH_CH" - // "PROVIDER_VISITDENMARK" - // "PROVIDER_FLYHERE" - // "PROVIDER_DIGITAL_DATA_SERVICES" - // "PROVIDER_MECOMO" - // "PROVIDER_ZA_GOVERNMENT" - ABSTRACT - // "PROVIDER_ZA_RURAL_DEVELOPMENT_LAND_REFORM" - // "PROVIDER_SENSIS" - // "PROVIDER_JJCONNECT" - // "PROVIDER_OPPLYSNINGEN" - // "PROVIDER_TELLUS" - // "PROVIDER_IQONIA" - // "PROVIDER_BE_GOVERNMENT" - ABSTRACT - // "PROVIDER_BE_NATIONAAL_GEOGRAFISCH_INSTITUUT" - // "PROVIDER_BE_BRUSSELS_MOBILITY" - // "PROVIDER_YELLOWMAP_AG" - // "PROVIDER_STIFTUNG_GESUNDHEIT" - // "PROVIDER_GIATA" - // "PROVIDER_SANPARKS" - // "PROVIDER_CENTRE_DINFORMATIQUE_POUR_LA_REGION_BRUXELLOISE" - // "PROVIDER_INFOPORTUGAL" - // "PROVIDER_NEGOCIOS_DE_TELECOMUNICACOES_E_SISTEMAS_DE_INFORMACAO" - // "PROVIDER_COLLINS_BARTHOLOMEW" - // "PROVIDER_PROTECT_PLANET_OCEAN" - // "PROVIDER_KARTTAKESKUS" - // "PROVIDER_FI_GOVERNMENT" - ABSTRACT - // "PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION" - // "PROVIDER_FI_NATIONAL_LAND_SURVEY" - // "PROVIDER_FI_STATISTICS_FINLAND" - // "PROVIDER_GB_GOVERNMENT" - ABSTRACT - // "PROVIDER_GB_ORDNANCE_SURVEY" - // "PROVIDER_NATURAL_ENGLAND" - // "PROVIDER_WELSH_GOVERNMENT" - // "PROVIDER_GB_OFFICE_FOR_NATIONAL_STATISTICS" - // "PROVIDER_EPSILON" - // "PROVIDER_PARTNER_FRONT_END" - // "PROVIDER_CARTESIA" - // "PROVIDER_SE_GOVERNMENT" - ABSTRACT - // "PROVIDER_SE_TRAFIKVERKET" - // "PROVIDER_SE_NATURVARDSVERKET" - // "PROVIDER_IE_GOVERNMENT" - ABSTRACT - // "PROVIDER_IE_ORDNANCE_SURVEY_IRELAND" - // "PROVIDER_LU_GOVERNMENT" - ABSTRACT - // "PROVIDER_LU_P_AND_T_LUXEMBOURG" - // "PROVIDER_LU_ADMINISTRATION_DU_CADASTRE_ET_DE_LA_TOPOGRAPHIE" - // "PROVIDER_LU_NATIONAL_TOURIST_OFFICE" - // "PROVIDER_MAPFLOW" - // "PROVIDER_TKARTOR" - // "PROVIDER_JUMPSTART" - // "PROVIDER_EPTISA" - // "PROVIDER_MC_GOVERNMENT" - ABSTRACT - // "PROVIDER_MC_PRINCIPAUTE_DE_MONACO" - // "PROVIDER_MONOLIT" - // "PROVIDER_ENVIRONMENTAL_SYSTEMS_RESEARCH_INSTITUTE" - // "PROVIDER_MODIS" - // "PROVIDER_GEOX" - // "PROVIDER_GEODIRECTORY" - // "PROVIDER_GEOPLAN" - // "PROVIDER_INFODIREKT" - // "PROVIDER_GEOGLOBAL" - // "PROVIDER_DEUTSCHE_POST" - // "PROVIDER_TRACASA" - // "PROVIDER_CORREOS" - // "PROVIDER_ES_GOVERNMENT" - ABSTRACT - // "PROVIDER_ES_CENTRO_NACIONAL_DE_INFORMACION_GEOGRAFICA" - // "PROVIDER_EDIMAP" - // "PROVIDER_VERIZON" - // "PROVIDER_NATIONAL_GEOGRAPHIC_MAPS" - // "PROVIDER_PROMAPS" - // "PROVIDER_CONSODATA" - // "PROVIDER_DE_AGOSTINI" - // "PROVIDER_FEDERPARCHI" - // "PROVIDER_NAVIGO" - // "PROVIDER_ITALIAMAPPE" - // "PROVIDER_CZECOT" - // "PROVIDER_NATURAL_EARTH" - // "PROVIDER_REGIO" - // "PROVIDER_SHIPWRECK_CENTRAL" - // "PROVIDER_RUTGERS_STATE_UNIVERSITY" - // "PROVIDER_TWINICE" - // "PROVIDER_NORTHERN_IRELAND_TOURIST_BOARD" - // "PROVIDER_INFOGROUP" - // "PROVIDER_TNET" - // "PROVIDER_CTT_CORREIOS_DE_PORTUGAL" - // "PROVIDER_EUROPARC" - // "PROVIDER_IUPPITER" - // "PROVIDER_MICHAEL_BAUER_INTERNATIONAL" - // "PROVIDER_LEPTON" - // "PROVIDER_MAPPOINT" - // "PROVIDER_GEODATA" - // "PROVIDER_RU_GOVERNMENT" - ABSTRACT - // "PROVIDER_RU_FNS_KLADR" - // "PROVIDER_BR_GOVERNMENT" - ABSTRACT - // - // "PROVIDER_BR_INSTITUTO_BRASILEIRO_DO_MEIO_AMBIENTE_E_DOS_RECURSOS_NATURAIS_RE - // NOVAVEIS" - IBAMA - // "PROVIDER_BR_MINISTERIO_DO_MEIO_AMBIENTE" - MMA - // "PROVIDER_BR_AGENCIA_NACIONAL_DE_AGUAS" - ANA - // "PROVIDER_BR_INSTITUTO_BRASILEIRO_DE_GEOGRAFIA_E_ESTATISTICA" - IBGE - // "PROVIDER_BR_FUNDACAO_NACIONAL_DO_INDIO" - FUNAI - // "PROVIDER_BR_DEPARTAMENTO_NACIONAL_DE_INFRAESTRUTURA_DE_TRANSPORTES" - - // DNIT - // "PROVIDER_AZAVEA" - // "PROVIDER_NORTHSTAR" - // "PROVIDER_COMMEDI" - // "PROVIDER_NEXUS_GEOGRAFICS" - // "PROVIDER_INFOERA" - // "PROVIDER_AD_GOVERNMENT" - ABSTRACT - // "PROVIDER_AD_AREA_DE_CARTOGRAFIA" - Department of Cartography - // "PROVIDER_MAXXIMA" - // "PROVIDER_SI_GOVERNMENT" - ABSTRACT - // "PROVIDER_SI_AGENCY_FOR_ENVIRONMENT" - // "PROVIDER_TRANSPORT_HI_TECH_CONSULTANTS" - // "PROVIDER_L1_TECHNOLOGIES" - // "PROVIDER_TELEMEDIA" - // "PROVIDER_CDCOM_PROGOROD" - // "PROVIDER_MIT_CITYGUIDE" - // "PROVIDER_SUNCART" - // "PROVIDER_MICROMAPPER" - // "PROVIDER_RICHI" - // "PROVIDER_FORUM44" - // "PROVIDER_SEAT" - // "PROVIDER_VALASSIS" - // "PROVIDER_NAVICOM" - // "PROVIDER_COLTRACK" - // "PROVIDER_PSMA_AUSTRALIA" - // "PROVIDER_PT_DUTA_ASTAKONA_GIRINDA" - // "PROVIDER_CA_GOVERNMENT" - ABSTRACT - // "PROVIDER_STATISTICS_CANADA" - // "PROVIDER_TOCTOC" - // "PROVIDER_RMSI" - // "PROVIDER_TRUE_TECHNOLOGY" - // "PROVIDER_INCREMENT_P_CORPORATION" - // "PROVIDER_GOJAVAS" - // "PROVIDER_GEOINFORMATION_GROUP" - // "PROVIDER_CYBERSOFT" - // "PROVIDER_TSENTR_EFFEKTIVNYKH_TEKHNOLOGIY" - 0x12 and 0x120 are not to be - // used. OOO CET - // "PROVIDER_EE_GOVERNMENT" - ABSTRACT - // "PROVIDER_EE_MAA_AMET" - Estonian Land Board - // "PROVIDER_GASBUDDY" - // "PROVIDER_DK_GOVERNMENT" - ABSTRACT - // "PROVIDER_DK_GEODATASTYRELSEN" - Danish Geodata Agency - // "PROVIDER_MURCIA_REGION_GOVERNMENT" - // "PROVIDER_CORREIOS" - // "PROVIDER_WEST_WORLD_MEDIA" - // "PROVIDER_INTERNATIONAL_MAPPING_ASSOCIATION" - // "PROVIDER_MEDICARE" - // "PROVIDER_POLARIS" - // "PROVIDER_TW_GOVERNMENT" - ABSTRACT - // "PROVIDER_TW_MINISTRY_OF_THE_INTERIOR_SURVEYING_AND_MAPPING_CENTER" - // "PROVIDER_NORDECA" - // "PROVIDER_AFRIMAPPING" - // "PROVIDER_OVERDRIVE" - // "PROVIDER_PROVIDER_NETWORK_DIRECTORIES" - // "PROVIDER_BR_MINISTERIO_DA_SAUDE" - // "PROVIDER_DIGITAL_EGYPT" - // "PROVIDER_INRIX" - // "PROVIDER_ARPINDO" - // "PROVIDER_IT_GOVERNMENT" - ABSTRACT - // "PROVIDER_ISTITUTO_GEOGRAFICO_MILITARE" - // "PROVIDER_EAST_END_GROUP" - // "PROVIDER_INGEOLAN" - // "PROVIDER_SEMACONNECT" - // "PROVIDER_BLINK" - // "PROVIDER_EVGO" - // "PROVIDER_CHARGEPOINT" - // "PROVIDER_TPL_TRAKKER" - // "PROVIDER_OI" - // "PROVIDER_MAPARADAR" - // "PROVIDER_SINGAPORE_POST" - // "PROVIDER_CHARGEMASTER" - // "PROVIDER_TESLA" - // "PROVIDER_VISICOM" - // "PROVIDER_GEOLYSIS" - // "PROVIDER_ZEPHEIRA" - // "PROVIDER_HUBJECT" - // "PROVIDER_PODPOINT" - // "PROVIDER_CHARGEFOX" - // "PROVIDER_KR_GOVERNMENT" - ABSTRACT - // "PROVIDER_KR_MOLIT" - Ministry of land, infrastructure and transport, - // 국토교통부, Guktogyotongbu - // "PROVIDER_KR_MINISTRY_OF_THE_INTERIOR_AND_SAFETY" - // "PROVIDER_CRITCHLOW" - // "PROVIDER_EIFRIG" - // "PROVIDER_GIREVE" - // "PROVIDER_CN_NAVINFO" - // "PROVIDER_JAPAN_CHARGE_NETWORK" - // "PROVIDER_NOBIL" - // "PROVIDER_INDIA_BANKS" - // "PROVIDER_INDONESIA_ELECTION_KPU" - // "PROVIDER_CAREERS360" - // "PROVIDER_SOURCE_LONDON" - // "PROVIDER_EVBOX" - // "PROVIDER_JP_GOVERNMENT" - ABSTRACT - // "PROVIDER_JP_MINISTRY_OF_THE_ENVIRONMENT" - // "PROVIDER_YUMYUM" - // "PROVIDER_HWW_AUSTRALIA" - // "PROVIDER_CINERGY" - // "PROVIDER_MTIME" - // "PROVIDER_KULTUNAUT" - // "PROVIDER_BLITZ" - // "PROVIDER_PIA" - // "PROVIDER_INTERPARK" - // "PROVIDER_CINEMA_ONLINE" - // "PROVIDER_BELBIOS" - // "PROVIDER_MOVIESEER" - // "PROVIDER_SODAMEDYA" - // "PROVIDER_ATMOVIES" - // "PROVIDER_HOTELBEDS" - // "PROVIDER_VERICRED" - // "PROVIDER_CIRRANTIC" - // "PROVIDER_GOGO_LABS" - // "PROVIDER_ELECTRIFY_AMERICA" - // "PROVIDER_CMS_MPPUF" - // "PROVIDER_DIGIROAD" - Use PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION. - // "PROVIDER_KONTEX_GEOMATICS" - // "PROVIDER_NZ_GOVERNMENT" - ABSTRACT - // "PROVIDER_NZ_LINZ" - Land Information New Zealand - // "PROVIDER_NZ_DOC" - NZ Department of Conservation - // "PROVIDER_FASTNED" - // "PROVIDER_DESTINY_CS" - // "PROVIDER_IONITY" - // "PROVIDER_EV_CONNECT" - // "PROVIDER_PANPAGES" - // "PROVIDER_ETECNIC" - // "PROVIDER_VOLTA" - // "PROVIDER_NISSAN_MEXICO" - // "PROVIDER_BMW_GROUP_LATIN_AMERICA" - // "PROVIDER_FEDERAL_ELECTRICITY_COMMISSION_MEXICO" - // "PROVIDER_VOLVO_CARS_BRASIL" - // "PROVIDER_CHARGE_AND_PARKING" - // "PROVIDER_DEDUCE_TECHNOLOGIES" - // "PROVIDER_SK_TELECOM" - // "PROVIDER_ECO_MOVEMENT" - // "PROVIDER_GOOGLE_GMS" - // "PROVIDER_EASYWAY" - // "PROVIDER_PHYSICIAN_COMPARE" - // "PROVIDER_HOSPITAL_COMPARE" - // "PROVIDER_ENDOLLA_BARCELONA" - // "PROVIDER_BE_CHARGE" - // "PROVIDER_ONE_NETWORK" - // "PROVIDER_CARENAV_DUPLEX" - // "PROVIDER_CARENAV_POI" - UMBRELLA - // "PROVIDER_IN_GOVERNMENT" - ABSTRACT - // "PROVIDER_SURVEY_OF_INDIA" - // "PROVIDER_E_ON" - // "PROVIDER_ELECTRIFY_CANADA" - // "PROVIDER_GRIDCARS" - // "PROVIDER_DRIVECO" - // "PROVIDER_GREEN_ACTION_STUDIOS" - // "PROVIDER_GREEN_ACTION_STUDIO" - // "PROVIDER_EVINY" - // "PROVIDER_MASTERCARD" - // "PROVIDER_VATTENFALL" - // "PROVIDER_VIETGIS" - // "PROVIDER_UNITE" - // "PROVIDER_NEOGY" - // "PROVIDER_AMPUP" - // "PROVIDER_LOOP" - // "PROVIDER_ZEST" - // "PROVIDER_EZVOLT" - // "PROVIDER_JOLT" - // "PROVIDER_CHARGESMITH" - // "PROVIDER_PLUGO" - // "PROVIDER_ELECTRIC_ERA" - // "PROVIDER_FLO" - // "PROVIDER_DIGITAL_CHARGING_SOLUTIONS" - // "PROVIDER_ELECTRIC_PE" - Note: Next available value is 0x1275. - Provider string `json:"provider,omitempty"` - SourceDataset string `json:"sourceDataset,omitempty"` - // ForceSendFields is a list of field names (e.g. "Instance") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Instance") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreOntologyRawGConceptInstanceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreOntologyRawGConceptInstanceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreOpeningHoursProto: Message to represent opening hours including -// regular weekly hours and a set of exceptions. -type GeostoreOpeningHoursProto struct { - // Exception: Date delimited exceptions to the typical recurring opening hours. - // May only be present if regular weekly hours are also specified. - Exception []*GeostoreExceptionalHoursProto `json:"exception,omitempty"` - // RegularHours: Typical recurring opening hours, expressed as a weekly - // schedule. NOTE: this field was introduced to have a more client-friendly - // format for representing weekly hours but, as of November 2018, it's not used - // for the main opening hours of TYPE_ESTABLISHMENT features (instead, the data - // is stored in the `EstablishmentProto.hours` field, see b/23105782 tracking - // the possible schema migration). It is however used in other contexts where - // `OpeningHoursProto` appears in the Geo Schema. In openinghours.h there is a - // utility function `GetOpeningHoursFromFeature` that merges - // `EstablishmentProto.hours` into this proto. - RegularHours *GeostoreBusinessHoursProto `json:"regularHours,omitempty"` - // ForceSendFields is a list of field names (e.g. "Exception") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Exception") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreOpeningHoursProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreOpeningHoursProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreOperationsProto: Information about a feature's operations, e.g. when -// the feature is temporarily closed. -type GeostoreOperationsProto struct { - // TemporaryClosure: Records temporary status changes of the feature, such as - // remodel, vacation, etc.: the feature is temporarily (but not permanently) - // unavailable. See - // go/geo-schema-reference:operational-lifecycle#temporary-closure for guidance - // on interpreting this data and constraints on writing it. NOTE: Order of the - // TemporaryClosureProtos is *not* guaranteed to be chronological. - TemporaryClosure []*GeostoreTemporaryClosureProto `json:"temporaryClosure,omitempty"` - // ForceSendFields is a list of field names (e.g. "TemporaryClosure") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "TemporaryClosure") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreOperationsProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreOperationsProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreOverrideBorderStatusProto: This message captures a border status -// override. For instance, if the TYPE_BORDER feature between China and Hong -// Kong must be hidden on ditu.google.cn (the Chinese domain for Google Maps) -// but may be displayed on other domains, we will have a country override -// border status for "CN" set to STATUS_NEVER_DISPLAY. At least one override -// restriction must be defined. Currently the only supported restriction is by -// country code. -type GeostoreOverrideBorderStatusProto struct { - // CountryCode: The two-letter ISO 3166-1 country code corresponding to the - // domain this status override applies to, when rendering the border polyline. - CountryCode string `json:"countryCode,omitempty"` - // Status: The override status, from the BorderStatus enumeration. The value - // here must be different from the main status (otherwise there's no point in - // providing the override). - // - // Possible values: - // "STATUS_NORMAL" - Most border lines have this status, which typically - // means both parties agree on the location of the line. These might be called - // "de jure" borders. - // "STATUS_DISPUTED" - This status is used when the two parties disagree on - // the location of the line. There can be multiple border lines in a given - // disputed area. One might be the line proposed by country "A" and another the - // line proposed by country "B". A third line might mark the de facto line of - // control. Other border lines might indicate historical borders, e.g., "1949 - // Armistice Line". - // "STATUS_UNSURVEYED" - This is used for one section of border between - // Argentina and Chile. Both parties agree that a border line exists somewhere - // on the glacier, but the exact location has not been determined. - // "STATUS_INTERNATIONAL_WATER" - This is a border line between a country and - // international water. - // "STATUS_NEVER_DISPLAY" - This status is only used for the borders that - // should never display to users. Typically it is for the borders that we don't - // want to represent but that we would still like to use to model country - // boundaries, e.g. Hong Kong and Macau. - // "STATUS_TREATY" - This is used for borders that refer to well-defined - // boundaries which have been established by a specific treaty, agreement, - // armistice or other such agreement between two or more parties, yet the - // position and/or status is not considered to be legal and final (e.g., the - // final demarcation of the exact position has not occurred or the final - // political status is not resolved). - // "STATUS_PROVISIONAL" - This is used for borders for which a formal - // agreement has not been established between the parties involved, yet the - // existing line acts as a de facto functional border without existence of any - // dispute. - // "STATUS_NO_LABEL" - This is used for borders which should not have country - // labels to either side, but should otherwise be styled the same as a border - // with STATUS_NORMAL. This is typically for borders which are not themselves - // disputed but still form part of the boundary around a disputed area that is - // not otherwise modeled or labeled as a country, or as an override where we - // are obligated to remove labels for region specific versions of Maps. - Status string `json:"status,omitempty"` - // ForceSendFields is a list of field names (e.g. "CountryCode") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CountryCode") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreOverrideBorderStatusProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreOverrideBorderStatusProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostorePaintedElementLogicalColorProto: Painted element logical color. Most -// legal definitions only specify a color category (like "yellow") and don't -// specify an exact hue, rather stating that the colors must be distinguishable -// from each other. We refer to this as the "logical" color. -type GeostorePaintedElementLogicalColorProto struct { - // Possible values: - // "UNKNOWN_LOGICAL_COLOR" - // "WHITE" - // "YELLOW" - // "RED" - // "GREEN" - // "BLUE" - // "BLACK" - // "GREY" - // "ORANGE" - Color string `json:"color,omitempty"` - // ForceSendFields is a list of field names (e.g. "Color") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Color") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePaintedElementLogicalColorProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePaintedElementLogicalColorProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreParkingAllowanceProto: Describes the parking allowances for a -// feature, or the situations and requirements under which one may be permitted -// to park, such as certain vehicle types, valet parking, and permit parking. -// Also describes the cost of parking, which may vary based on the time and -// duration parked. Includes vehicle type, any other conditions for -// eligibility, and the cost of parking, which may vary based on the time and -// duration parked. If is_discount is set to true on a given allowance, that -// allowance represents a discount that can be applied to lower the cost of -// non-discount allowances specified on feature via parking_provider_feature. -// In this way, allowances can be 'layered,' i.e. appended, onto each other -// when denormalizing references via parking_provider_feature. -type GeostoreParkingAllowanceProto struct { - // AllowanceType: The type of parking for this allowance. Allowance details - // only apply to the type of parking specified. - // - // Possible values: - // "STANDARD" - Standard parking without qualifications. This is a long-term - // allowance. - // "VALET" - This is a long-term allowance that only applies for valet - // parking. - // "PERMIT" - The is a long-term allowance that applies to permit-holders. - // See permit_type for details. - // "PICKUP_GOODS" - This is a short-term allowance that only applies to - // picking up goods. - // "PICKUP_PASSENGERS" - This is a short-term allowance that only applies to - // picking up passengers. - AllowanceType string `json:"allowanceType,omitempty"` - // IsDiscount: If true, this allowance represents a discount rather than an - // individual rate; any rate values specified in this allowance describe a - // discount to be applied to the non-discount allowances in the ParkingProto. - IsDiscount bool `json:"isDiscount,omitempty"` - // MinPurchaseForValidation: If this rate requires validation, this expresses - // the minimum purchase required for validation in each applicable currency. - // Should have an ID of /measurement_unit/money_value and consist of two - // properties: one with an ID of /measurement_unit/money_value/amount and a - // float value with the amount, and another with the ID - // /measurement_unit/money_value/currency and an ID value with the MID of the - // proper currency (from the /finance/currency type). A value of 0 suggests - // that no purchase is required. If empty, this suggests that no validation is - // required for this rate. - MinPurchaseForValidation []*FreebaseTopic `json:"minPurchaseForValidation,omitempty"` - // PermitType: Any additional details about the permit type; e.g. “Zone A”. - // In any local languages. Should only be set if allowance_type is PERMIT. - PermitType []*GeostoreLanguageTaggedTextProto `json:"permitType,omitempty"` - // ServiceType: The types of services that this parking allowance applies to. - // For instance, some cities have streets that only allow traditional taxis to - // pick up passengers. - // - // Possible values: - // "SERVICE_ALL" - Signifies that this restriction is always applicable, - // regardless of the service type. - // "SERVICE_GENERAL_DRIVER" - Signifies that this restriction is applicable - // to a general driver. - // "SERVICE_RIDESHARE" - Signifies that this restriction is applicable to a - // ridesharing driver. - // "SERVICE_TAXI" - Signifies that this restriction is applicable to a - // traditional taxi driver. - // "SERVICE_COMMERCIAL" - Signifies that this restriction is applicable to a - // commercial vehicle. This generally applies to vehicles used for carrying - // goods or fare-paying passengers. However, the exact definition of a - // commercial vehicle can vary by locality. - ServiceType []string `json:"serviceType,omitempty"` - // TimeBasedRate: Describes the rate structures. Each TimeBasedRateProto - // defines a rate which may apply based on a particular arrival, departure or - // utilization time; for example, one rate might apply if arriving before 9am, - // and another might apply regardless of arrival or departure time. - TimeBasedRate []*GeostoreTimeBasedRateProto `json:"timeBasedRate,omitempty"` - // VehicleType: Restrictions on which vehicle type(s) the allowance applies to. - // By default, the allowance applies to any vehicle types. - // - // Possible values: - // "ANY" - // "CAR" - // "MOTORCYCLE" - // "TRUCK" - Note: The exact definition of a truck varies by city, but it - // usually refers to vehicles with three or more axles. This value does not - // necessarily apply to all commercial vehicles or vehicles colloquially - // referred to as trucks (eg. pickup trucks). - VehicleType string `json:"vehicleType,omitempty"` - // ForceSendFields is a list of field names (e.g. "AllowanceType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AllowanceType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreParkingAllowanceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreParkingAllowanceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreParkingProto: Used to describe the parking facilities provided by or -// available to a feature. Features of TYPE_ROAD or TYPE_COMPOUND can have a -// ParkingProto (with parking_provider_feature unset) that describes the -// parking facilities provided by that feature. Features of TYPE_COMPOUND or -// TYPE_ESTABLISHMENT_POI can have a ParkingProto (with -// parking_provider_feature set) to indicate that the feature has dedicated -// parking and provide details about it, and defer some details of the parking -// facilities to the referent feature(s). ParkingProto is maintained by the -// Harbor Pilot team (go/harbor-pilot). Detailed modeling information is -// described at go/parking-schema. -type GeostoreParkingProto struct { - // Allowance: Describes the parking allowances for the feature, which are the - // situations and requirements under which one is permitted to park at the - // feature’s parking facilities, or discounts that a user may be eligible - // for. - Allowance []*GeostoreParkingAllowanceProto `json:"allowance,omitempty"` - // OpeningHours: Hours in which the parking facility is open; that is, permits - // both arrivals and departures of the facility. Should only be set on - // compounds (i.e. parking lots or garages); roads are considered to always be - // “open,” though parking at certain times may be prohibited via - // restrictions. If unset on a compound, this suggests we don’t know the - // opening hours, or they are the same as the hours of the entity for which - // this feature offers parking facilities. - OpeningHours *GeostoreOpeningHoursProto `json:"openingHours,omitempty"` - // ParkingAvailable: Indicates whether long-term parking is available at the - // feature; if true, long-term parking is available at the feature and parking - // allowances may be present on this feature, or parking_provider_feature may - // indicate deferred parking feature(s). If false, this is an explicit - // statement that there is no long-term parking associated with this feature. - // If unset, we don't know whether there is long-term parking associated with - // this feature. If false or unset, only additional restrictions or short-term - // allowances will be populated. - ParkingAvailable bool `json:"parkingAvailable,omitempty"` - // ParkingProviderFeature: If empty, indicates that the feature containing this - // ParkingProto provides parking facilities, which are described by this proto. - // If nonempty, indicates that the feature with this ParkingProto does not - // contain parking facilities itself, but visitors of this feature may use the - // parking available to the referent feature(s). The referent feature(s) may - // themselves contain parking facilities or defer to other features. A - // ParkingProto may defer parking details to another feature, but still include - // its own data. This suggests that a visitor of the referrer feature is - // eligible for different rates or discounts. The data in these fields applies - // transitively, and any fields in a referrer may be applied to the referent - // (for a visitor of the referrer). - ParkingProviderFeature []*GeostoreFeatureIdProto `json:"parkingProviderFeature,omitempty"` - // Restriction: Describes any parking restrictions that apply to this feature. - // Should only be set on road segments for which parking is explicitly - // prohibited for some or all times; for roads which do not prohibit parking - // and for all other facilities, the ability to park should be expressed using - // allowances. In the instance that both a restriction and an allowance applies - // at a given time, restrictions always have precedence over the same parking - // allowances. However, explicit short-term allowances (PICKUP_GOODS, - // PICKUP_PASSENGERS) take precedence over general NO_PARKING, NO_STANDING, or - // NO_STOPPING restrictions. - Restriction []*GeostoreParkingRestrictionProto `json:"restriction,omitempty"` - // ForceSendFields is a list of field names (e.g. "Allowance") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Allowance") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreParkingProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreParkingProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreParkingRestrictionProto: Expresses a parking restriction on a road; -// i.e. times at which parking on the road is prohibited. -type GeostoreParkingRestrictionProto struct { - // RestrictedHours: Times at which parking is prohibited. - RestrictedHours *GeostoreTimeScheduleProto `json:"restrictedHours,omitempty"` - // RestrictionType: clang-format on The type of restriction that applies at - // this time. - // - // Possible values: - // "RESTRICTION_UNKNOWN" - Default value. Should never be set in practice. - // "RESTRICTION_PARKING" - Parking is not allowed. This is a long-term - // restriction. - // "RESTRICTION_STANDING" - No standing is allowed. This means a vehicle - // cannot wait or stop to load/unload packages. A vehicle may stop to drop-off - // passengers or to pick up passengers already waiting at the location. This is - // a short-term restriction. - // "RESTRICTION_STOPPING" - A vehicle may not stop at this location at any - // time. This is a short-term restriction. - // "RESTRICTION_PICKUP_GOODS" - A vehicle may not stop here to pick up goods. - // This is a short-term restriction. - // "RESTRICTION_PICKUP_PASSENGERS" - A vehicle may not stop here to pick up - // passengers. This is a short-term restriction. - RestrictionType string `json:"restrictionType,omitempty"` - // ServiceType: The types of services that this parking restriction applies to. - // We expect most parking restrictions to apply to all services, but some - // airports have specific rideshare parking or taxi parking zones. - // - // Possible values: - // "SERVICE_ALL" - Signifies that this restriction is always applicable, - // regardless of the service type. - // "SERVICE_GENERAL_DRIVER" - Signifies that this restriction is applicable - // to a general driver. - // "SERVICE_RIDESHARE" - Signifies that this restriction is applicable to a - // ridesharing driver. - // "SERVICE_TAXI" - Signifies that this restriction is applicable to a - // traditional taxi driver. - // "SERVICE_COMMERCIAL" - Signifies that this restriction is applicable to a - // commercial vehicle. This generally applies to vehicles used for carrying - // goods or fare-paying passengers. However, the exact definition of a - // commercial vehicle can vary by locality. - ServiceType []string `json:"serviceType,omitempty"` - // VehicleType: The types of vehicles that this parking restriction applies to. - // For instance, some streets may allow motorcycles to park but not automobiles - // or trucks. - // - // Possible values: - // "ANY" - // "CAR" - // "MOTORCYCLE" - // "TRUCK" - Note: The exact definition of a truck varies by city, but it - // usually refers to vehicles with three or more axles. This value does not - // necessarily apply to all commercial vehicles or vehicles colloquially - // referred to as trucks (eg. pickup trucks). - VehicleType []string `json:"vehicleType,omitempty"` - // ForceSendFields is a list of field names (e.g. "RestrictedHours") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RestrictedHours") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreParkingRestrictionProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreParkingRestrictionProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostorePeakProto: This protocol buffer holds related data for features of -// type TYPE_PEAK and TYPE_VOLCANO. -type GeostorePeakProto struct { - // ProminenceMeters: Topographic prominence in meters: the height of the - // peak’s summit above the lowest contour line encircling it and no higher - // summit. - ProminenceMeters float64 `json:"prominenceMeters,omitempty"` - // ForceSendFields is a list of field names (e.g. "ProminenceMeters") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ProminenceMeters") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePeakProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePeakProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostorePeakProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostorePeakProto - var s1 struct { - ProminenceMeters gensupport.JSONFloat64 `json:"prominenceMeters"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.ProminenceMeters = float64(s1.ProminenceMeters) - return nil -} - -// GeostorePedestrianCrossingProto: A crossing describes a path from the end -// point of a segment to the start point of its sibling. Each individual -// crossing should uniquely represent a physically distinct crossing in the -// real world. Pedestrian crossings are bidirectional. This proto represents -// "simple" crossings. More complicated crossings (such as the diagonal -// crosswalk at Shibuya Station in Tokyo) will be represented using a separate -// pedestrian network. Example 1: Standard four way crossing. Assume each road -// (A/B/C) has a crosswalk (denoted by a '-') right before intersection X. -// Assume crossing at D is prohibited (denoted by a '%'). Assume "prime" roads -// (A',B',...) are OUT segments relative to X. A\\A' B//B' \\ // \\ // - - X - -// % // \\ // \\ C'//C D'\\D * A CROSSABLE PedestrianCrossing should be added -// to A, B and C. * An UNCROSSABLE PedestrianCrossing should be added to D. -// Example 2: Simple intersection with one crossing. Assume intersection X was -// added to accommodate the crosswalk (through X, denoted by '-'). Assume -// "prime" roads (A',B',...) are OUT segments relative to X. A\\A' \\ \\ -X- \\ -// \\ B'\\B * A CROSSABLE PedestrianCrossing must be added to either A or B, -// but not both because each real-world crossing should be represented exactly -// once. Duplicative crossings may be arbitrarily removed. -type GeostorePedestrianCrossingProto struct { - // AngleDegrees: This value specifies the angle of the crosswalk. Zero degrees - // represents a crosswalk perpendicular to the direction of travel, towards the - // right side of the segment. The crosswalk angle, winds clockwise. Range [-90, - // 90]. The following crosswalk would have a 15 degree angle: / / - // <--/-------------------------------- / / - AngleDegrees float64 `json:"angleDegrees,omitempty"` - // CrossAnywhere: This value enables crossing anywhere (not just at the - // segment’s endpoint), typically used on long, low-traffic residential - // streets. This attribute is only respected for trivial segment -> sibling - // routes. All other routes can cross at a MapFacts intersection. - CrossAnywhere bool `json:"crossAnywhere,omitempty"` - // CrossingType: Crossing type is used as a restriction and can also be used - // for rendering. - // - // Possible values: - // "UNKNOWN" - RESERVED - // "CROSSABLE" - // "UNMARKED_CROSSING" - // "MARKED_CROSSING" - // "UNCROSSABLE" - CrossingType string `json:"crossingType,omitempty"` - // Offset: The crossing offset defines a fraction between the distance from the - // segment endpoint to the centerline of the crosswalk and the length of the - // segment. For example, the segment length is 20 meters and the distance from - // segment end to center of crosswalk is 2 meters, the value of offset will be - // 0.1. - Offset float64 `json:"offset,omitempty"` - // Restriction: Restrictions for this crossing (such as constructions on the - // crosswalk). They must not have subpath or travel_mode. - Restriction []*GeostoreRestrictionProto `json:"restriction,omitempty"` - // Width: This value defines the full width of the crossing in the direction - // perpendicular to the direction which pedestrians walk on the crossing (in - // meters). The crossing is allowed to "spill" into the next segment (0.5 * - // width can be greater than the offset). Cannot be a negative value. - Width float64 `json:"width,omitempty"` - // ForceSendFields is a list of field names (e.g. "AngleDegrees") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AngleDegrees") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePedestrianCrossingProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePedestrianCrossingProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostorePedestrianCrossingProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostorePedestrianCrossingProto - var s1 struct { - AngleDegrees gensupport.JSONFloat64 `json:"angleDegrees"` - Offset gensupport.JSONFloat64 `json:"offset"` - Width gensupport.JSONFloat64 `json:"width"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.AngleDegrees = float64(s1.AngleDegrees) - s.Offset = float64(s1.Offset) - s.Width = float64(s1.Width) - return nil -} - -// GeostorePhysicalLineProto: Describes a single physical marker line. NOTE: -// PhysicalLineProto could be compared against one another by canonicalizing -// them via GetCanonicalPhysicalLine() in -// google3/geostore/base/internal/lane_marker.cc. Any fields that don't -// contribute to the definition of a physical line in the real world should be -// bundled with the annotative fields near the bottom and excluded in -// GetCanonicalPhysicalLine(). LINT.IfChange -type GeostorePhysicalLineProto struct { - // DashLengthMeters: Applicable for DASHED and DOTTED_DASHED lines. - DashLengthMeters float64 `json:"dashLengthMeters,omitempty"` - // GapColor: This should be rarely needed, but can represent patterns of - // alternating colors. - GapColor *GeostorePaintedElementLogicalColorProto `json:"gapColor,omitempty"` - // GapLengthMeters: Applicable for DASHED, DOTTED, and DOTTED_DASHED lines. - GapLengthMeters float64 `json:"gapLengthMeters,omitempty"` - // Possible values: - // "UNKNOWN_STRIPE_MATERIAL" - // "PAINT_STRIPE" - Solid paint stripe. - // "ROUND_DOT" - Round dot, typically nonreflective. - // "SQUARE_DOT" - Square dot, typically reflective. - Material []string `json:"material,omitempty"` - // PaintColor: Color for the painted elements. Applicable to all types. - PaintColor *GeostorePaintedElementLogicalColorProto `json:"paintColor,omitempty"` - // Possible values: - // "UNKNOWN_DASH_PATTERN" - // "SOLID" - // "DASHED" - // "DOTTED" - // "DOTTED_DASHED" - Pattern string `json:"pattern,omitempty"` - // PhysicalLineToken: A token that can be used to identify the version of the - // data about this marker line. - PhysicalLineToken string `json:"physicalLineToken,omitempty"` - // ForceSendFields is a list of field names (e.g. "DashLengthMeters") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DashLengthMeters") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePhysicalLineProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePhysicalLineProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostorePhysicalLineProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostorePhysicalLineProto - var s1 struct { - DashLengthMeters gensupport.JSONFloat64 `json:"dashLengthMeters"` - GapLengthMeters gensupport.JSONFloat64 `json:"gapLengthMeters"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.DashLengthMeters = float64(s1.DashLengthMeters) - s.GapLengthMeters = float64(s1.GapLengthMeters) - return nil -} - -type GeostorePointCurvatureProto struct { - // Possible values: - // "CURVATURE_UNSPECIFIED" - // "CURVATURE_UNKNOWN" - A curvature value can be explicitly set as UNKNOWN - // when we do not have enough information to make a determination. - CurvatureStatus string `json:"curvatureStatus,omitempty"` - // RadiansPerMeter: Curvature in radians per meter. Negative is a curve to the - // left and positive is a curve to the right. - RadiansPerMeter float64 `json:"radiansPerMeter,omitempty"` - // StartPointFraction: How far along the line this curvature value starts to - // apply, in the format of decimal between 0 and 1. - StartPointFraction float64 `json:"startPointFraction,omitempty"` - // ForceSendFields is a list of field names (e.g. "CurvatureStatus") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CurvatureStatus") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePointCurvatureProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePointCurvatureProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostorePointCurvatureProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostorePointCurvatureProto - var s1 struct { - RadiansPerMeter gensupport.JSONFloat64 `json:"radiansPerMeter"` - StartPointFraction gensupport.JSONFloat64 `json:"startPointFraction"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.RadiansPerMeter = float64(s1.RadiansPerMeter) - s.StartPointFraction = float64(s1.StartPointFraction) - return nil -} - -type GeostorePointProto struct { - LatE7 int64 `json:"latE7,omitempty"` - LngE7 int64 `json:"lngE7,omitempty"` - // Metadata: NOTE: If removing metadata, remove 'option objc_class_prefix = - // "GS";' together. See cl/189921100. Field-level metadata for this point. - // NOTE: there are multiple PointProto fields in the Geo Schema. Metadata here - // is only expected to be present on FeatureProto.point[] and - // FeatureProto.center. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // TemporaryData: A place for clients to attach arbitrary data to a point. - // Never set in MapFacts. - TemporaryData *Proto2BridgeMessageSet `json:"temporaryData,omitempty"` - // ForceSendFields is a list of field names (e.g. "LatE7") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LatE7") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePointProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePointProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostorePointWithHeightProto: PointWithHeightProto encodes lat/lng through -// PointProto and contains altitude information. -type GeostorePointWithHeightProto struct { - // AltitudeMeters: Altitude of this point is assumed to be relative to the - // ground level. - AltitudeMeters float64 `json:"altitudeMeters,omitempty"` - Point *GeostorePointProto `json:"point,omitempty"` - // ForceSendFields is a list of field names (e.g. "AltitudeMeters") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AltitudeMeters") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePointWithHeightProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePointWithHeightProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostorePointWithHeightProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostorePointWithHeightProto - var s1 struct { - AltitudeMeters gensupport.JSONFloat64 `json:"altitudeMeters"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.AltitudeMeters = float64(s1.AltitudeMeters) - return nil -} - -// GeostorePoliticalProto: This protocol buffer is included from feature.proto -// as an optional message. Political features represent the different ways that -// people are divided into geographical regions. This protocol buffer is -// applicable only to TYPE_POLITICAL features and is used to store political -// information from the feature's point of view. -type GeostorePoliticalProto struct { - // Capital: Many political regions have a conceptual center (capitals of a - // country or a top-level division are examples). If set, the target feature - // must be a TYPE_LOCALITY feature. - Capital *GeostoreFeatureIdProto `json:"capital,omitempty"` - // Claim: Feature IDs of the features claimed by this feature's government that - // are not necessarily included in the feature's geometry. - Claim []*GeostoreFeatureIdProto `json:"claim,omitempty"` - // GrossDomesticProductUsdMillions: The Gross Domestic Product of the political - // region measured in millions of current United States dollars. It must not be - // negative. - GrossDomesticProductUsdMillions float64 `json:"grossDomesticProductUsdMillions,omitempty"` - // LiteracyPercent: Percentage of population that are literate within a - // political region. It must be between 0 and 100. - LiteracyPercent float64 `json:"literacyPercent,omitempty"` - // Population: The number of people in this political region. This field is - // intended to store accurate population, not an estimation such as - // representative value for population range. It must not be negative. - Population int64 `json:"population,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "Capital") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Capital") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePoliticalProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePoliticalProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostorePoliticalProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostorePoliticalProto - var s1 struct { - GrossDomesticProductUsdMillions gensupport.JSONFloat64 `json:"grossDomesticProductUsdMillions"` - LiteracyPercent gensupport.JSONFloat64 `json:"literacyPercent"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.GrossDomesticProductUsdMillions = float64(s1.GrossDomesticProductUsdMillions) - s.LiteracyPercent = float64(s1.LiteracyPercent) - return nil -} - -type GeostorePolyLineProto struct { - // Metadata: Field-level metadata for this polyline. NOTE: there are multiple - // PolyLineProto fields in the Geo Schema. Metadata here is only expected to be - // present on FeatureProto.polyline[]. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // TemporaryData: A place for clients to attach arbitrary data to a polyline. - // Never set in MapFacts. - TemporaryData *Proto2BridgeMessageSet `json:"temporaryData,omitempty"` - // Vertex: A sequence of vertices connected by geodesics (the equivalent of - // straight lines on the sphere). Adjacent vertices are connected by the - // shorter of the two geodesics that connect them, i.e. all edges are 180 - // degrees or less. Note that the edge definition becomes numerically unstable - // as the arc length approaches 180 degrees. Polylines are generally expected - // to be non-self-intersecting, but any such restriction is imposed by the user - // of the polyline rather than the polyline itself. - Vertex []*GeostorePointProto `json:"vertex,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePolyLineProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePolyLineProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostorePolygonProto: A general non-self-intersecting spherical polygon, -// consisting of one or more loops defining multiple disconnected regions -// possibly with holes. All loops should be oriented CCW around the region they -// define. This applies to the exterior loop(s) as well as any holes. Within -// MapFacts (and underlying infrastructure) the data fields may be replaced by -// a single shape_id stored in internal_feature. Any such PolygonProtos -// shouldn't be expected to work with public functions in -// //geostore/base/public/polygon.h. -type GeostorePolygonProto struct { - // BaseMeters: The polygon loops above are basically flat: each point has a - // latitude and a longitude but no altitude. We don't want to build real 3D - // models here, but we do want to be able to generate 2.5D models. A 2.5D model - // is built by translating the flat polygon upward some distance (base) then - // extruding it upward some additional distance (height). The elevation of the - // bottom of the extruded polygon (above ground level). - BaseMeters float64 `json:"baseMeters,omitempty"` - // CellId: ** DEPRECATED ** This is part of a splitting strategy for large - // polygons, which was never fully launched and we decided not to pursue. For - // features with very complex polygonal geometry, we break up the polygon into - // pieces that align with S2 cells at various levels. We do this for - // performance reasons as some geometry operations have quadratic complexity - // with regards to the total number of vertices. In these cases, we store the - // S2 cell ID corresponding to the piece of the overall polygon that is - // described by this specific PolygonProto message. Each polygon piece is - // expected to be fully contained by the S2 cell corresponding to this cell ID. - // However, note that the S2 cell ID is not required to correspond to the - // smallest S2 cell that fully contains the polygon (and often won't be). In - // addition, polygon pieces are required to not have any overlap (which - // translates to having entirely disjoint S2 cell IDs, i.e. one can not be - // parent (or grand parent, etc.) of another). - CellId uint64 `json:"cellId,omitempty,string"` - // Encoded: Encoding of the polygon using S2Polygon::Encode()'s compressed - // representation. - Encoded string `json:"encoded,omitempty"` - // HeightMeters: The distance from the bottom of the extruded polygon to the - // top. - HeightMeters float64 `json:"heightMeters,omitempty"` - // Loop: ** DEPRECATED ** We have switched to using exclusively the encoded - // form in the wire format to and from MapFacts, so this field should never be - // populated there. See go/encoded-polygons for more info. "Classic" polygon - // representation, defined by one or more loops. The last vertex of each - // polyline is implicitly connected to the first vertex. All loops should be - // specified in CCW order. - Loop []*GeostorePolyLineProto `json:"loop,omitempty"` - // Metadata: Field-level metadata for this polygon. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // TemporaryData: A place for clients to attach arbitrary data to a polygon. - // Never set in MapFacts. - TemporaryData *Proto2BridgeMessageSet `json:"temporaryData,omitempty"` - // UnsuitableForDisplay: Some polygons are known to be rough proxies for a - // feature's "real" polygonal representation. Such polygons are generally - // unsuitable for display. Rendering clients should not show these in most - // cases. Polygons unsuitable for display do have other uses, such as user - // location or containment analysis, or as an input to learning algorithms. - // This is an orthogonal concept to FeatureProto.synthetic_geometry, which only - // pertains to the method by which a polygon was created, rather than its - // fidelity to ground truth. For features that have multiple polygons, this bit - // should be consistently set to the same value on all polygons. - UnsuitableForDisplay bool `json:"unsuitableForDisplay,omitempty"` - // ForceSendFields is a list of field names (e.g. "BaseMeters") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BaseMeters") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePolygonProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePolygonProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostorePolygonProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostorePolygonProto - var s1 struct { - BaseMeters gensupport.JSONFloat64 `json:"baseMeters"` - HeightMeters gensupport.JSONFloat64 `json:"heightMeters"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.BaseMeters = float64(s1.BaseMeters) - s.HeightMeters = float64(s1.HeightMeters) - return nil -} - -// GeostorePoseProto: A pose is an object's position in space, as well as its -// orientation. All fields except lat and lng are optional. All fields are in -// the WGS-84 ellipsoid, and rotations are right-hand rule (i.e. if the right -// hand thumb points along a vector, curled fingers indicate positive rotation -// direction). An un-rotated pose would be pointing due North, along the -// surface of the ellipsoid. Rotations are applied in the order: yaw, pitch, -// roll. Note that the rotation axes are rotated along with the model for each -// rotation step. WARNING: This proto is not meant to be used directly. Please -// use the provided libraries: //geostore/base/public/pose.h -// //java/com/google/geostore/base/Pose.java -type GeostorePoseProto struct { - // Altitude: The height of the pose. A positive height is above the WGS-84 - // ellipsoid in meters; negative is below. - Altitude float64 `json:"altitude,omitempty"` - // Index: The index of the PoseProto in a list of PoseProtos. - Index int64 `json:"index,omitempty"` - // Lat: The latitude of the pose in degrees [-90, 90]. - Lat float64 `json:"lat,omitempty"` - // Lng: The longitude of the pose in degrees (-180,180]. - Lng float64 `json:"lng,omitempty"` - // Pitch: The rotation around the longitude line East tangent in degrees [-90, - // 90]. - Pitch float64 `json:"pitch,omitempty"` - // Roll: The rotation around the latitude line North tangent in degrees (-180, - // 180]. - Roll float64 `json:"roll,omitempty"` - // Yaw: The rotation around the Up vector, from North, in degrees (-180, 180]. - Yaw float64 `json:"yaw,omitempty"` - // ForceSendFields is a list of field names (e.g. "Altitude") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Altitude") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePoseProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePoseProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostorePoseProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostorePoseProto - var s1 struct { - Altitude gensupport.JSONFloat64 `json:"altitude"` - Lat gensupport.JSONFloat64 `json:"lat"` - Lng gensupport.JSONFloat64 `json:"lng"` - Pitch gensupport.JSONFloat64 `json:"pitch"` - Roll gensupport.JSONFloat64 `json:"roll"` - Yaw gensupport.JSONFloat64 `json:"yaw"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Altitude = float64(s1.Altitude) - s.Lat = float64(s1.Lat) - s.Lng = float64(s1.Lng) - s.Pitch = float64(s1.Pitch) - s.Roll = float64(s1.Roll) - s.Yaw = float64(s1.Yaw) - return nil -} - -// GeostorePriceInfoFoodNutritionFacts: This message represents nutrition facts -// for a food dish. -type GeostorePriceInfoFoodNutritionFacts struct { - Calories *GeostorePriceInfoFoodNutritionFactsCaloriesFact `json:"calories,omitempty"` - // Cholesterol: Cholesterol information for a given food dish. - Cholesterol *GeostorePriceInfoFoodNutritionFactsNutritionFact `json:"cholesterol,omitempty"` - // Protein: Protein information for a given food dish. - Protein *GeostorePriceInfoFoodNutritionFactsNutritionFact `json:"protein,omitempty"` - // Sodium: Sodium information for a given food dish. - Sodium *GeostorePriceInfoFoodNutritionFactsNutritionFact `json:"sodium,omitempty"` - // TotalCarbohydrate: Carbohydrate information for a given food dish. - TotalCarbohydrate *GeostorePriceInfoFoodNutritionFactsNutritionFact `json:"totalCarbohydrate,omitempty"` - // TotalFat: Fat information for a given food dish. - TotalFat *GeostorePriceInfoFoodNutritionFactsNutritionFact `json:"totalFat,omitempty"` - // ForceSendFields is a list of field names (e.g. "Calories") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Calories") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePriceInfoFoodNutritionFacts) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePriceInfoFoodNutritionFacts - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostorePriceInfoFoodNutritionFactsCaloriesFact: This message denotes -// calories information with an upper bound and lower bound range. -type GeostorePriceInfoFoodNutritionFactsCaloriesFact struct { - LowerAmount int64 `json:"lowerAmount,omitempty"` - // Unit: Unit of the given calories information. - // - // Possible values: - // "UNDEFINED_ENERGY_UNIT" - // "CALORIE" - // "JOULE" - Unit string `json:"unit,omitempty"` - UpperAmount int64 `json:"upperAmount,omitempty"` - // ForceSendFields is a list of field names (e.g. "LowerAmount") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LowerAmount") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePriceInfoFoodNutritionFactsCaloriesFact) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePriceInfoFoodNutritionFactsCaloriesFact - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostorePriceInfoFoodNutritionFactsNutritionFact: This message denotes -// nutrition information with an upper bound and lower bound range and can be -// represented by mass unit. -type GeostorePriceInfoFoodNutritionFactsNutritionFact struct { - LowerAmount float64 `json:"lowerAmount,omitempty"` - // Unit: Unit of the given nutrition information. - // - // Possible values: - // "UNDEFINED_MASS_UNIT" - // "GRAM" - // "MILLIGRAM" - Unit string `json:"unit,omitempty"` - UpperAmount float64 `json:"upperAmount,omitempty"` - // ForceSendFields is a list of field names (e.g. "LowerAmount") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LowerAmount") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePriceInfoFoodNutritionFactsNutritionFact) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePriceInfoFoodNutritionFactsNutritionFact - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostorePriceInfoFoodNutritionFactsNutritionFact) UnmarshalJSON(data []byte) error { - type NoMethod GeostorePriceInfoFoodNutritionFactsNutritionFact - var s1 struct { - LowerAmount gensupport.JSONFloat64 `json:"lowerAmount"` - UpperAmount gensupport.JSONFloat64 `json:"upperAmount"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.LowerAmount = float64(s1.LowerAmount) - s.UpperAmount = float64(s1.UpperAmount) - return nil -} - -type GeostorePriceInfoProto struct { - // PriceList: The actual food menus. This is a repeated field because a - // restaurant may offer multiple menus, e.g. for different language or for - // different available time, such as holidays vs non-holidays. - PriceList []*GeostorePriceListProto `json:"priceList,omitempty"` - // PriceListUrl: All URLs that give price list information for this - // establishment. For food menus, this would represent menu_urls. Note that - // this field is a repeated list of UrlListProtos. Each UrlListProto instance - // in the list is intended to hold lists of URLs that are translations of the - // same URL. - PriceListUrl []*GeostoreUrlListProto `json:"priceListUrl,omitempty"` - // Status: Message containing metadata about the verified status of the - // PriceInfo. Only verified listings should be displayed. - Status *GeostorePriceInfoStatus `json:"status,omitempty"` - // ForceSendFields is a list of field names (e.g. "PriceList") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PriceList") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePriceInfoProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePriceInfoProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostorePriceInfoStatus: Providers of PriceInfo (e.g. SinglePlatform, YEXT) -// send verified and unverified listings. PriceInfoStatus is used to -// encapsulate this information. -type GeostorePriceInfoStatus struct { - IsVerified bool `json:"isVerified,omitempty"` - // ForceSendFields is a list of field names (e.g. "IsVerified") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IsVerified") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePriceInfoStatus) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePriceInfoStatus - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostorePriceListNameInfoProto: A PriceListNameInfoProto is used by -// PriceListProto and fields and messages contained in it for storing names, -// descriptions, languages, and IDs. The name field and the description field -// must be in the same language, as specified by the language field. None of -// the fields in this proto is required, although it is not expected to have -// the language field set unless there is a name or description. When the -// language field is not set, it is understood to be the preferred language of -// the locale where the establishment is located. An empty string for any of -// the fields is not allowed (as enforced by lints). -type GeostorePriceListNameInfoProto struct { - Description string `json:"description,omitempty"` - // Id: IDs are intended to be unique identifiers of PriceInfoLists, Sections, - // and Menu items. This is enforced by the ID_DUPLICATE_PRICE_LIST_ID lint. - Id string `json:"id,omitempty"` - // Language: The external form of a Google International Identifiers Initiative - // (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for - // details. We place extra restrictions on languages in addition to what the - // III library requires. See - // go/geo-schema-reference/feature-properties/languages. - Language string `json:"language,omitempty"` - Name string `json:"name,omitempty"` - // ForceSendFields is a list of field names (e.g. "Description") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Description") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePriceListNameInfoProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePriceListNameInfoProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostorePriceListProto: A PriceListProto can be used to represent any type -// of price lists, one of which is a menu of food and drinks. It contains names -// and descriptions, together with its source URL list if it is extracted or -// attributed to that URL. The names and descriptions are represented using -// repeated PriceListNameInfo fields to allow versions in different languages. -// A PriceListProto may contain multiple sections; in the context of a food -// menu, this would be multiple menu sections, e.g. for breakfast, lunch, -// dinner, prix fixe, or dinner for two, etc. At least one menu section must be -// present. Each section contains a number of items; for food menus, it may be -// FoodMenuItems defined below. At least one item must be present in each -// section. -type GeostorePriceListProto struct { - // AggregatorId: For third party lists, represents the ID of the aggregator - // which provided this data. Optional. - AggregatorId uint64 `json:"aggregatorId,omitempty,string"` - // AvailableTime: The time period when this price list is available. - // Establishments are not required to give available_time for any given price - // list, however, when this field is not set, the price list is understood as - // available any time the establishment is open. - AvailableTime *GeostoreTimeScheduleProto `json:"availableTime,omitempty"` - // Cuisines: Cuisine information if the location the price lists attached to is - // an eligible feature for a food menu price list. Cuisine information should - // also only show up in a food price list. - // - // Possible values: - // "CUISINE_UNDEFINED" - // "FAST_FOOD" - // "AMERICAN" - // "JAPANESE" - // "BREAK_FAST" - // "PIZZA" - // "HAMBURGER" - // "ITALIAN" - // "SEAFOOD" - // "FAMILY" - // "MEXICAN" - // "CHINESE" - // "VEGETARIAN" - // "SUSHI" - // "CHICKEN" - // "INDIAN" - // "ASIAN" - // "MEDITERRANEAN" - // "FRENCH" - // "BRUNCH" - // "KOREAN" - // "THAI" - // "SPANISH" - // "VIETNAMESE" - // "LATIN_AMERICAN" - // "INDONESIAN" - // "GREEK" - // "GERMAN" - // "TURKISH" - // "BRAZILIAN" - // "PAKISTANI" - // "OTHER_CUISINE" - Cuisines []string `json:"cuisines,omitempty"` - // NameInfo: The repeated name_info field is for price lists listed in multiple - // languages. When a price list has no names or descriptions, the size of the - // repeated field name_info may be 0. There should be at most one name_info for - // any given language. - NameInfo []*GeostorePriceListNameInfoProto `json:"nameInfo,omitempty"` - // Section: Each price list may have multiple sections. Note that these - // sections within the same price list should most times contain only the same - // type of items for sale, e.g. all sections should usually contain only food - // items if the enclosing price list is representing food menu. However, - // sometimes such a requirement may be wrong, for example, McDonald's may sell - // burgers as well as toys, and the toys may be in its own section. Thus we - // don't enforce any requirement that all sections contain only the same type - // of items. - Section []*GeostorePriceListSectionProto `json:"section,omitempty"` - // SourceUrl: Where this price list comes from. If set, this must also be a - // member of the price_list_url field, and represents translations of a single - // URL. - SourceUrl *GeostoreUrlListProto `json:"sourceUrl,omitempty"` - // ForceSendFields is a list of field names (e.g. "AggregatorId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AggregatorId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePriceListProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePriceListProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostorePriceListSectionProto: A PriceListSectionProto is used to store a -// section of a PriceListProto. For example, for a PriceListProto representing -// a food menu, a PriceListSectionProto represents a menu section. Each -// PriceListSectionProto contains a repeated list of items for sale; these -// items can be products or services. Right now every section should contain -// items of one type. -type GeostorePriceListSectionProto struct { - // CallToAction: Call to action for the section. - CallToAction *GeostoreCallToActionProto `json:"callToAction,omitempty"` - // FoodItem: To store food and drink items when the containing - // PriceListSectionProto is a food menu section. - FoodItem []*GeostoreFoodMenuItemProto `json:"foodItem,omitempty"` - // Item: To store any items when the containing PriceListSectionProto is not - // food / legacy services. - Item []*GeostoreComposableItemProto `json:"item,omitempty"` - // ItemType: This has to have at most one value. - // - // Possible values: - // "TYPE_ANY" - Abstract type, and the root of all types. Not a meaningful - // type and likewise should never be present in a geostore repository. - // "TYPE_FOOD" - For food and drink items, stored in FoodMenuItemProto. - // "TYPE_SERVICE" - For service items (stored in FoodMenuItemProto). - // TYPE_SERVICE is being deprecated. Please use TYPE_JOB for the new services - // See b/147253790 for more information. data. - // "TYPE_PRODUCT" - For product items (stored in ComposableItemProto). - // "TYPE_JOB" - For "1P" jobs data (stored in ComposableItemProto), - // summarized from a variety of sources such as GMB/NMX, web crawling, and - // Structured Reviews. - // "TYPE_3P_JOB" - For third party jobs data sourced from 3P partner feeds, - // which need to remain separate from the TYPE_JOB list. - ItemType []string `json:"itemType,omitempty"` - // Language: The external form of a Google International Identifiers Initiative - // (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for - // details. We place extra restrictions on languages in addition to what the - // III library requires. See - // go/geo-schema-reference/feature-properties/languages. When set, represents - // the language of the section and its items. Any section and item level name - // infos must match this language. Optional. - Language string `json:"language,omitempty"` - // Media: One or more media items (photos, videos, etc.) describing this - // section / category. - Media []*GeostoreMediaItemProto `json:"media,omitempty"` - // NameInfo: The repeated name_info field is for price list sections listed in - // multiple languages. When a price list section has no names or descriptions, - // the size of the repeated field name_info may be 0. There should be at most - // one name_info for any given language. - NameInfo []*GeostorePriceListNameInfoProto `json:"nameInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "CallToAction") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CallToAction") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePriceListSectionProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePriceListSectionProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostorePriceRangeProto: This message represents a price range of an -// attribute. The meaning of the price bounds is domain specific. But mainly -// they are soft bounds for a normal usage. E.g. "restaurant prices" are -// subject to an higher level of "soft" bounds than "museum admission price" -type GeostorePriceRangeProto struct { - // Currency: Currency code for the price range: a valid currency code from - // i18n/identifiers/currencycode.h. Lower and upper price are both assumed to - // use the same currency. - Currency string `json:"currency,omitempty"` - // LowerPrice: This message allows unbounded price ranges. e.g. Lower_price is - // undefined. At least one of the two prices must be set for the price range to - // be meaningful. - LowerPrice float64 `json:"lowerPrice,omitempty"` - // Units: clang-format on - // - // Possible values: - // "ANY_UNITS" - ABSTRACT The root of the hierarchy. It's an abstract value - // and shouldn't be present in the repository. - // "PER_USE" - // "PER_PHONE_CALL" - // "PER_RIDE" - e.g. for the price of a ferry or aeroplane flight. - // "PER_TIME_UNIT" - // "PER_SECOND" - // "PER_MINUTE" - // "PER_HOUR" - // "PER_DAY" - // "PER_NIGHT" - e.g. for the price of a hotel room. - // "PER_WEEK" - // "PER_MONTH" - // "PER_YEAR" - // "PER_VOLUME_UNIT" - // "PER_LITER" - e.g. for the price of petrol. - // "PER_GLASS" - The following units (PER_GLASS, PER_BOTTLE, and PER_POT) are - // intended to represent price units for restaurant menus and do not specify - // how much volume the unit contains. e.g. for wine sold by glass. - // "PER_BOTTLE" - e.g. for wine sold by bottle. - // "PER_POT" - e.g. for tea sold by pot - // "PER_LENGTH_UNIT" - // "PER_CENTIMETER" - // "PER_METER" - // "PER_KILOMETER" - e.g. for the price of a taxi. - // "PER_MASS_UNIT" - To simplify the categories for units, we put both mass - // and weight units under PER_MASS_UNIT, as a lot of times they are used - // interchangeably in real life anyway. - // "PER_GRAM" - // "PER_KILOGRAM" - // "PER_OUNCE" - // "PER_POUND" - Units string `json:"units,omitempty"` - UpperPrice float64 `json:"upperPrice,omitempty"` - // ForceSendFields is a list of field names (e.g. "Currency") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Currency") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePriceRangeProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePriceRangeProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostorePriceRangeProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostorePriceRangeProto - var s1 struct { - LowerPrice gensupport.JSONFloat64 `json:"lowerPrice"` - UpperPrice gensupport.JSONFloat64 `json:"upperPrice"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.LowerPrice = float64(s1.LowerPrice) - s.UpperPrice = float64(s1.UpperPrice) - return nil -} - -// GeostorePropertyValueStatusProto: PropertyValueStatusProto specifies what we -// know about a field corresponding to FeaturePropertyId's value in the absence -// of any specific value. For now, it just indicates when we know that there is -// no value. Eventually it might also indicate that we know it has value, just -// not what it is, etc. -type GeostorePropertyValueStatusProto struct { - // PropertyId: The property ID whose value status is defined by this proto. - PropertyId *GeostoreFeaturePropertyIdProto `json:"propertyId,omitempty"` - // ValueStatus: `value_status` specifies whether the feature has a value for - // the property. This should always be set to something other than the default - // value (`PROPERTY_VALUE_STATUS_UNSPECIFIED`). - // - // Possible values: - // "PROPERTY_VALUE_STATUS_UNSPECIFIED" - The default value means the - // property's value status is encoded in the property itself: if the property - // has a value, it has a value. If it doesn't, it may or may not have a value. - // It is OK to interpret that as having no value. Note that in - // `PropertyValueStatusProto`, this value is not allowed. We include it and - // define it to match the default behavior so that it can be used in other - // protos. - // "HAS_NO_VALUE" - `HAS_NO_VALUE` means that we know that the property has - // no value. - // "HAS_UNKNOWN_VALUE" - 'HAS_UNKNOWN_VALUE' means that we know that the - // property has a value but that we don't know what that value is. - ValueStatus string `json:"valueStatus,omitempty"` - // ForceSendFields is a list of field names (e.g. "PropertyId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PropertyId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostorePropertyValueStatusProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostorePropertyValueStatusProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreProvenanceProto: This is a minimal version of SourceInfoProto. -type GeostoreProvenanceProto struct { - // Dataset: The dataset from which this the referenced data was created. The - // content of this string will be determined by the data provider, and may - // encode extra information, such as data confidence. - Dataset string `json:"dataset,omitempty"` - // Provider: The data provider from which the referenced data was generated. - // - // Possible values: - // "PROVIDER_ANY" - ABSTRACT The root of all provider types. This should - // never be present on an actual feature, but can be useful when calling - // InCategory. - // "PROVIDER_UNKNOWN" - not actually a legal value, used as sentinel - // "PROVIDER_NAVTEQ" - // "PROVIDER_TELE_ATLAS" - ABSTRACT - // "PROVIDER_TELE_ATLAS_MULTINET" - // "PROVIDER_TELE_ATLAS_CODEPOINT" - // "PROVIDER_TELE_ATLAS_GEOPOST" - // "PROVIDER_TELE_ATLAS_DATAGEO" - // "PROVIDER_TELE_ATLAS_ADDRESS_POINTS" - // "PROVIDER_TELCONTAR" - // "PROVIDER_EUROPA" - // "PROVIDER_ROYAL_MAIL" - // "PROVIDER_GOOGLE" - ABSTRACT - // "PROVIDER_GOOGLE_HAND_EDIT" - // "PROVIDER_GOOGLE_BORDERS" - All new "Google" provider entries must be full - // ints. The next available ID is: 0x111730C2 - // "PROVIDER_GOOGLE_SUBRANGE" - ABSTRACT - // "PROVIDER_GOOGLE_GT_FUSION" - // "PROVIDER_GOOGLE_ZAGAT_CMS" - // "PROVIDER_GOOGLE_PLACE_NAVBOOST" - // "PROVIDER_GOOGLE_FOOTPRINT" - // "PROVIDER_GOOGLE_PRODUCT_TERMS" - // "PROVIDER_GOOGLE_POINTCARDS" - // "PROVIDER_GOOGLE_BUSINESS_CHAINS" - // "PROVIDER_GOOGLE_LOCAL_SUMMARIZATION" - // "PROVIDER_GOOGLE_PRONUNCIATIONS" - // "PROVIDER_GOOGLE_DUMPLING" - // "PROVIDER_GOOGLE_DISTILLERY" - // "PROVIDER_GOOGLE_LOCAL_ATTRIBUTE_SUMMARIZATION" - // "PROVIDER_GOOGLE_RELATION_MINER" - // "PROVIDER_GOOGLE_MAPSPAM" - // "PROVIDER_GOOGLE_ROSE" - // "PROVIDER_GOOGLE_LOCAL_PLACE_RATINGS" - // "PROVIDER_GOOGLE_WIPEOUT" - This is an internal *only* provider meant for - // sending wipeout requests to mapfacts. - // "PROVIDER_GOOGLE_KNOWLEDGE_GRAPH" - // "PROVIDER_GOOGLE_BEEGEES" - // "PROVIDER_GOOGLE_REVIEW_SUMMARIZATION" - // "PROVIDER_GOOGLE_OFFLINE_NON_CORE_ATTRIBUTE_SUMMARIZATION" - // "PROVIDER_GOOGLE_GEO_WORLDMAPS" - // "PROVIDER_GOOGLE_GEO_MODERATION" - // "PROVIDER_GOOGLE_OYSTER_AUTO_EDITS" - // "PROVIDER_GOOGLE_LOCAL_ALCHEMY" - // "PROVIDER_GOOGLE_KEROUAC" - // "PROVIDER_GOOGLE_MOBRANK" - // "PROVIDER_GOOGLE_RAPTURE" - // "PROVIDER_GOOGLE_CULTURAL_INSTITUTE" - // "PROVIDER_GOOGLE_GEOCODES_FROM_LOCAL_FEEDS" - // "PROVIDER_GOOGLE_ATTRIBUTES_FROM_CRAWLED_CHAINS" - // "PROVIDER_GOOGLE_TACTILE_MAPS" - // "PROVIDER_GOOGLE_MAPS_FOR_MOBILE" - // "PROVIDER_GOOGLE_GEO_REALTIME" - // "PROVIDER_GOOGLE_PROMINENT_PLACES" - Never rely on source infos with this - // provider to identify whether or not a feature is a Prominent Place! Instead, - // use the proper API, - // localsearch_clustering::QualityTierHelper::IsProminentPlace(). - // "PROVIDER_GOOGLE_PLACE_ACTIONS" - // "PROVIDER_GOOGLE_GT_AUTO_EDITS" - // "PROVIDER_GOOGLE_WAZE" - // "PROVIDER_GOOGLE_ONTHEGO" - // "PROVIDER_GOOGLE_GT_IMPORT" - // "PROVIDER_GOOGLE_STRUCTURED_DATA" - // "PROVIDER_GOOGLE_HELICOPTER" - // "PROVIDER_GOOGLE_ROLLBACK" - // "PROVIDER_GOOGLE_RIGHTS_REPAIR" - // "PROVIDER_GOOGLE_PERFUME" - // "PROVIDER_GOOGLE_MAPS_TRANSLATION" - // "PROVIDER_GOOGLE_CALL_ME_MAYBE" - // "PROVIDER_GOOGLE_LOCAL_UNIVERSAL" - // "PROVIDER_GOOGLE_CROUPIER" - // "PROVIDER_GOOGLE_SKYSMART" - // "PROVIDER_GOOGLE_RIDDLER" - // "PROVIDER_GOOGLE_ROADCLOSURES" - // "PROVIDER_GOOGLE_SPORE" - UMBRELLA - // "PROVIDER_GOOGLE_LOCALIZATION" - // "PROVIDER_GOOGLE_CATTERMS" - // "PROVIDER_GOOGLE_GT_FIELD_OPS" - // "PROVIDER_GOOGLE_MATCHMAKER" - // "PROVIDER_GOOGLE_ARBITRATION" - // "PROVIDER_GOOGLE_BIZBUILDER_OPS" - // "PROVIDER_GOOGLE_LOCAL_INVENTORY_ADS" - // "PROVIDER_GOOGLE_GT_DRAFTY" - // "PROVIDER_GOOGLE_HOTELADS_OPS" - // "PROVIDER_GOOGLE_MARKERS" - // "PROVIDER_GOOGLE_STATE_MACHINE" - // "PROVIDER_GOOGLE_ATTRIBUTES_INFERENCE" - // "PROVIDER_GOOGLE_BIKESHARE" - // "PROVIDER_GOOGLE_GHOSTWRITER" - // "PROVIDER_GOOGLE_EDIT_PLATFORM" - // "PROVIDER_GOOGLE_BLUE_GINGER" - // "PROVIDER_GOOGLE_GEO_TIGER" - // "PROVIDER_GOOGLE_HYADES" - // "PROVIDER_GOOGLE_WEBQUARRY" - // "PROVIDER_GOOGLE_GEO_MADDEN" - // "PROVIDER_GOOGLE_ANDROID_PAY" - // "PROVIDER_GOOGLE_OPENING_HOURS_TEAM" - // "PROVIDER_GOOGLE_LOCAL_DISCOVERY" - // "PROVIDER_GOOGLE_LOCAL_HEALTH" - // "PROVIDER_GOOGLE_UGC_MAPS" - // "PROVIDER_GOOGLE_FIBER" - // "PROVIDER_GOOGLE_REVGEO" - // "PROVIDER_GOOGLE_HOTELADS_PARTNER_FRONT_END" - // "PROVIDER_GOOGLE_GEO_UGC_TASKS" - // "PROVIDER_GOOGLE_GEOCODING" - // "PROVIDER_GOOGLE_SPYGLASS" - // "PROVIDER_GOOGLE_PLUS_CODES_AS_ADDRESSES" - // "PROVIDER_GOOGLE_GEO_CHANGES" - // "PROVIDER_GOOGLE_HUME" - // "PROVIDER_GOOGLE_MEGAMIND" - // "PROVIDER_GOOGLE_GT_ROADSYNTH" - // "PROVIDER_GOOGLE_FIREBOLT" - // "PROVIDER_GOOGLE_LOCAL_PLACE_OFFERINGS" - // "PROVIDER_GOOGLE_UGC_SERVICES" - // "PROVIDER_GOOGLE_GEOALIGN" - // "PROVIDER_GOOGLE_GT_COMPOUNDS" - // "PROVIDER_GOOGLE_FOOD_ORDERING" - // "PROVIDER_GOOGLE_HOTEL_KNOWLEDGE_OPS" - // "PROVIDER_GOOGLE_URAW" - // "PROVIDER_GOOGLE_FLYEYE" - // "PROVIDER_GOOGLE_YOUKE" - // "PROVIDER_GOOGLE_GT_ZEPHYR" - // "PROVIDER_GOOGLE_USER_SAFETY" - // "PROVIDER_GOOGLE_ADDRESS_MAKER" - // "PROVIDER_GOOGLE_UGC_PHOTOS" - // "PROVIDER_GOOGLE_GT_WINDCHIME" - // "PROVIDER_GOOGLE_SNAG_FIXER" - // "PROVIDER_GOOGLE_GEO_DEALS" - // "PROVIDER_GOOGLE_LOCAL_PLACE_TOPICS" - // "PROVIDER_GOOGLE_PROPERTY_INSIGHTS" - // "PROVIDER_GOOGLE_GEO_CONSUMER_MERCHANT_EXPERIMENTS" - // "PROVIDER_GOOGLE_GEO_PORTKEY" - // "PROVIDER_GOOGLE_ROAD_MAPPER" - // "PROVIDER_GOOGLE_LOCATION_PLATFORM" - // "PROVIDER_GOOGLE_POSTTRIP" - // "PROVIDER_GOOGLE_TRAVEL_DESTINATION" - // "PROVIDER_GOOGLE_GEO_DATA_UPLOAD" - UMBRELLA - // "PROVIDER_GOOGLE_BIZBUILDER_CLEANUP" - // "PROVIDER_GOOGLE_USER" - // "PROVIDER_GOOGLE_STATION" - // "PROVIDER_GOOGLE_GEO_FOOD" - // "PROVIDER_GOOGLE_GEO_AR" - // "PROVIDER_GOOGLE_GEO_TEMPORAL" - // "PROVIDER_GOOGLE_SERVICES_MARKETPLACE" - // "PROVIDER_GOOGLE_IMT_CLEANUP" - // "PROVIDER_GOOGLE_GEO_FOOD_MENU" - // "PROVIDER_GOOGLE_CARENAV" - // "PROVIDER_GOOGLE_DRIVING_FEEDS" - UMBRELLA - // "PROVIDER_GOOGLE_DRIVING_UGC" - // "PROVIDER_GOOGLE_POLAR" - // "PROVIDER_GOOGLE_TRIWILD" - // "PROVIDER_GOOGLE_CROWD_COMPUTE_OPS" - // "PROVIDER_GOOGLE_SA_FROM_WEB" - // "PROVIDER_GOOGLE_POI_ALIGNMENT" - // "PROVIDER_GOOGLE_SA_FROM_HULK" - // "PROVIDER_GOOGLE_SERVICES_INTERACTIONS" - // "PROVIDER_GOOGLE_ROADS_UGC_EDITOR" - // "PROVIDER_GOOGLE_SA_FROM_NG_INFERENCE" - // "PROVIDER_GOOGLE_GEO_DRIVING_VIZ" - // "PROVIDER_GOOGLE_GEO_TASKING" - // "PROVIDER_GOOGLE_CROWDTASK_DATACOMPUTE" - // "PROVIDER_GOOGLE_CROWDTASK_TASKADS" - // "PROVIDER_GOOGLE_CROWDTASK_TASKMATE" - // "PROVIDER_GOOGLE_CROWDTASK_FURBALL" - // "PROVIDER_GOOGLE_CROWDTASK_ADAP" - // "PROVIDER_GOOGLE_GPAY" - // "PROVIDER_GOOGLE_GEO_UGC_TRUSTED_USERS" - // "PROVIDER_GOOGLE_THIRD_PARTY_DATA_PRODUCTION" - // "PROVIDER_GOOGLE_GEOTRACKER" - // "PROVIDER_GOOGLE_LOCAL_LANDMARK_INFERENCE" - // "PROVIDER_GOOGLE_GEO_CLOSED_LOOP" - // "PROVIDER_GOOGLE_SA_FROM_MERCHANT_POSTS" - // "PROVIDER_GOOGLE_CORE_DATA_RIGHTS" - // "PROVIDER_GOOGLE_SA_FROM_USER_REVIEWS" - // "PROVIDER_GOOGLE_GEO_CONTENT_FIXER" - // "PROVIDER_GOOGLE_POLYGON_REFINEMENT" - // "PROVIDER_GOOGLE_HANASU" - // "PROVIDER_GOOGLE_FULLRIGHTS_GEO_DATA_UPLOAD" - // "PROVIDER_GOOGLE_FULLRIGHTS_3P_OUTREACH_UPLOAD" - // "PROVIDER_GOOGLE_ATTRIBUTION_3P_OUTREACH_UPLOAD" - // "PROVIDER_GOOGLE_SA_FROM_FOOD_MENUS" - // "PROVIDER_GOOGLE_GT_CONSISTENCY_EDITS" - // "PROVIDER_GOOGLE_SA_QUALITY" - // "PROVIDER_GOOGLE_GDCE_CLEANUP" - // "PROVIDER_GOOGLE_UGC_QUALITY_CHAINS" - // "PROVIDER_GOOGLE_ATTRIBUTES_DISCOVERY" - Shopping Attributes Discovery - // "PROVIDER_GOOGLE_GEO_LDE" - // "PROVIDER_GOOGLE_GEO_SIGNAL_TRACKING" - // "PROVIDER_GOOGLE_UGC_AGGREGATION" - // "PROVIDER_GOOGLE_3D_BASEMAP" - // "PROVIDER_GOOGLE_MAPFACTS_PRIVACY" - // "PROVIDER_GOOGLE_GT_ALF" - // "PROVIDER_GOOGLE_GT_OPERATOR_PROVENANCE" - // "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS" - // "PROVIDER_GOOGLE_GT_LANE_AUTOMATION" - // "PROVIDER_GOOGLE_GEO_NG_LOCAL" - // "PROVIDER_GOOGLE_MAPFACTS_CLEANUP" - // "PROVIDER_GOOGLE_THIRD_PARTY_UGC" - UMBRELLA - // "PROVIDER_GOOGLE_GEO_ISSUE_ADMIN" - // "PROVIDER_GOOGLE_VACATION_RENTAL_PARTNERS" - // "PROVIDER_GOOGLE_FEED_PROCESSOR_ROAD_INCIDENTS" - // "PROVIDER_GOOGLE_DYNAMIC_BASEMAP" - UMBRELLA - // "PROVIDER_GOOGLE_LOCAL_SERVICES_ADS_EMEA" - // "PROVIDER_GOOGLE_LOCALSEARCH" - The next new "Google" provider entries - // should be placed above. - // "PROVIDER_GOOGLE_TRANSIT" - UMBRELLA - // "PROVIDER_GOOGLE_GEOWIKI" - // "PROVIDER_GOOGLE_CHINA_LOCAL_TEAM" - // "PROVIDER_GOOGLE_SYNTHESIZED" - // "PROVIDER_GOOGLE_INTERNAL_TEST" - This is a testing provider for teams - // that wish to integrate with components of the Geo Data Infrastructure that - // require a valid provider. No production data should ever be sent using this - // provider. - // "PROVIDER_GOOGLE_DISPUTED_AREAS" - // "PROVIDER_GOOGLE_3DWAREHOUSE" - UMBRELLA - // "PROVIDER_GOOGLE_GROUNDS_BUILDER" - // "PROVIDER_GOOGLE_SESAME" - // "PROVIDER_GOOGLE_GT" - // "PROVIDER_GOOGLE_GT_BASEMAP_UPLOAD" - UMBRELLA - // "PROVIDER_GOOGLE_ADSDB" - 0x1117F must not be used, since its range - // extends the PROVIDER_GOOGLE hierarchy. - // "PROVIDER_GOOGLE_MACHINE_TRANSLITERATION" - // "PROVIDER_GOOGLE_TRAVELSEARCH" - // "PROVIDER_GOOGLE_PANORAMIO" - // "PROVIDER_GOOGLE_YOUTUBE" - // "PROVIDER_GOOGLE_OLD" - // "PROVIDER_GOOGLE_STREETVIEW" - // "PROVIDER_GOOGLE_STREETVIEW_BIZVIEW" - // "PROVIDER_GOOGLE_ZIPIT" - // "PROVIDER_GOOGLE_OYSTER_CONNECT_ROUTES" - // "PROVIDER_GOOGLE_GOLDEN" - // "PROVIDER_GOOGLE_INNERSPACE" - // "PROVIDER_GOOGLE_MAPSEARCH" - // "PROVIDER_GOOGLE_CATEGORIES_TEAM" - Deprecated in favor of - // PROVIDER_GOOGLE_STRUCTURED_DATA (for attributes) and - // PROVIDER_GOOGLE_GEO_TIGER (for categories). - // "PROVIDER_GOOGLE_CROWDSENSUS" - // "PROVIDER_GOOGLE_LOCAL_ALGORITHMIC_IDENTITY" - 0x1117FF should not be - // used, since its range further extends the PROVIDER_GOOGLE hierarchy. aka - // Local AI. - // "PROVIDER_GOOGLE_FREEBASE" - // "PROVIDER_GOOGLE_HOTELADS" - // "PROVIDER_GOOGLE_AUTHORITY_PAGES" - // "PROVIDER_GOOGLE_PLACES_API" - // "PROVIDER_GOOGLE_NAMEHEATMAP" - // "PROVIDER_GOOGLE_MAPMAKER" - // "PROVIDER_GOOGLE_MAPMAKER_MOBILE" - // "PROVIDER_GOOGLE_MAPMAKER_PANCAKE" - // "PROVIDER_GOOGLE_MAPMAKER_V2" - // "PROVIDER_GOOGLE_LOCAL_CLUSTERING_OPERATOR_OVERRIDE" - // "PROVIDER_GOOGLE_SERVED_ON_MAPMAKER" - No data is obtained from this - // provider. It is only used to identify features that must be served on - // MapMaker. - // "PROVIDER_GOOGLE_GT_LOCAL" - // "PROVIDER_GOOGLE_GT_LOCAL_WITH_RIGHTS" - // "PROVIDER_GOOGLE_LOGS_RANKING_SIGNALS" - // "PROVIDER_GOOGLE_ENTITY_NAVBOOST" - // "PROVIDER_GOOGLE_RELATED_PLACES" - // "PROVIDER_GOOGLE_KNOWN_FOR_TERMS" - // "PROVIDER_GOOGLE_SYNTHETIC_AREAS" - 0x1117FFF should not be used, since - // its range further extends the PROVIDER_GOOGLE hierarchy. Synthetically - // generated areas (sublocalities/neighborhoods/ postal codes/etc) based on - // dropped terms from approximate geocoding. More info on go/syntheticareas. - // "PROVIDER_GOOGLE_AUTHORITY_PAGE_PHOTOS" - // "PROVIDER_GOOGLE_CROSS_STREETS" - // "PROVIDER_GOOGLE_CORRIDORS" - // "PROVIDER_GOOGLE_BICYCLE_RENTAL" - Similar to Google Transit, a provider - // that aggregates positions of bicycle rental points that we have agreements - // with to show on maps - // "PROVIDER_GOOGLE_CONCRETE_URLS" - // "PROVIDER_GOOGLE_LEANBACK" - // "PROVIDER_GOOGLE_LOCKED_LISTINGS" - // "PROVIDER_GOOGLE_MONITORING" - // "PROVIDER_GOOGLE_SPROUT" - // "PROVIDER_GOOGLE_LOCAL_SEARCH_QUALITY" - // "PROVIDER_GOOGLE_GOBY" - // "PROVIDER_GOOGLE_PROBLEM_REPORT" - // "PROVIDER_GOOGLE_CANDID" - // "PROVIDER_GOOGLE_BIZBUILDER" - // "PROVIDER_AUTOMOTIVE_NAVIGATION_DATA" - This range has been depleted. For - // new Ids see PROVIDER_GOOGLE_SUBRANGE above. - // "PROVIDER_MAPDATA_SCIENCES" - // "PROVIDER_MAPONICS" - // "PROVIDER_SKI_RESORTS" - // "PROVIDER_ZENRIN" - // "PROVIDER_SANBORN" - // "PROVIDER_URBAN_MAPPING" - // "PROVIDER_US_GOVERNMENT" - ABSTRACT - // "PROVIDER_US_CENSUS" - // "PROVIDER_US_POSTAL_SERVICE" - // "PROVIDER_US_GEOLOGICAL_SURVEY" - // "PROVIDER_US_GNIS" - // "PROVIDER_US_LANDSAT" - // "PROVIDER_US_NATIONAL_GEOSPATIAL_INTELLIGENCE_AGENCY" - // "PROVIDER_US_NGA_GNS" - // "PROVIDER_US_SSIBL" - Small Scale International Boundary Lines - // "PROVIDER_US_BUREAU_OF_TRANSPORTATION_STATISTICS" - // "PROVIDER_US_NATIONAL_OCEANIC_AND_ATMOSPHERIC_ADMINISTRATION" - NOAA - // "PROVIDER_US_POLAR_GEOSPATIAL_CENTER" - PGC - // "PROVIDER_US_DEPARTMENT_OF_AGRICULTURE" - USDA - // "PROVIDER_US_NPI_REGISTRY" - National Provider Identifier Registry - // "PROVIDER_US_BUREAU_OF_INDIAN_AFFAIRS" - // "PROVIDER_DMTI_SPATIAL" - // "PROVIDER_INTERNATIONAL_HYDROGRAPHIC_ORGANIZATION" - // "PROVIDER_MAPLINK" - // "PROVIDER_KINGWAY" - // "PROVIDER_GEOCENTRE" - // "PROVIDER_CN_NATIONAL_FOUNDAMENTAL_GIS" - // "PROVIDER_CN_MAPABC" - // "PROVIDER_SMITHSONIAN_INSTITUTE" - // "PROVIDER_TRACKS_FOR_AFRICA" - // "PROVIDER_PPWK" - old name for PROVIDER_NAVIGO - // "PROVIDER_LEADDOG" - // "PROVIDER_CENTRE_DONNEES_ASTRONOMIQUES_STRASBOURG" - // "PROVIDER_GISRAEL" - // "PROVIDER_BASARSOFT" - // "PROVIDER_MAPINFO" - // "PROVIDER_MAPIT" - // "PROVIDER_GEOBASE" - // "PROVIDER_ORION" - // "PROVIDER_CENTRAL_EUROPEAN_DATA_AGENCY" - // "PROVIDER_ANASAT" - // "PROVIDER_MINED_POSTCODES" - // "PROVIDER_DMAPAS" - // "PROVIDER_COMMON_LOCALE_DATA_REPOSITORY" - // "PROVIDER_CH_SBB" - // "PROVIDER_SKENERGY" - // "PROVIDER_GBRMPA" - // "PROVIDER_KOREA_POST" - // "PROVIDER_CN_AUTONAVI" - // "PROVIDER_MINED_POI" - // "PROVIDER_ML_INFOMAP" - // "PROVIDER_SNOOPER" - // "PROVIDER_GEOSISTEMAS" - // "PROVIDER_AFRIGIS" - // "PROVIDER_TRANSNAVICOM" - // "PROVIDER_EASYCONNECT" - // "PROVIDER_LANTMATERIET" - // "PROVIDER_LOGICA" - // "PROVIDER_MAPKING" - // "PROVIDER_DIANPING" - // "PROVIDER_GEONAV" - // "PROVIDER_HEIBONSHA" - // "PROVIDER_DEUTSCHE_TELEKOM" - // "PROVIDER_LINGUISTIC_DATA_CONSORTIUM" - // "PROVIDER_ACXIOM" - // "PROVIDER_DUN_AND_BRADSTREET" - See b/33687395 - // "PROVIDER_FEDERAL_AVIATION_ADMINISTRATION" - // "PROVIDER_INFOUSA" - // "PROVIDER_INFOUSA_NIXIE" - // "PROVIDER_THOMSON_LOCAL" - // "PROVIDER_TELEFONICA_PUBLICIDAD_E_INFORMACION" - // "PROVIDER_WIKIPEDIA" - // "PROVIDER_INFOBEL" - // "PROVIDER_MX_GOVERNMENT" - ABSTRACT - // "PROVIDER_MX_NATIONAL_INSTITUTE_STATISTICS_GEOGRAPHY" - // "PROVIDER_MX_SERVICIO_POSTAL_MEXICANO" - // "PROVIDER_TELEGATE" - // "PROVIDER_TELELISTAS" - // "PROVIDER_MAPCITY" - // "PROVIDER_EXPLAINER_DC" - // "PROVIDER_DAIKEI" - // "PROVIDER_NL_CHAMBER_OF_COMMERCE" - // "PROVIDER_KOREA_INFO_SERVICE" - // "PROVIDER_WIKITRAVEL" - // "PROVIDER_FLICKR" - // "PROVIDER_DIANCO" - // "PROVIDER_VOLT_DELTA" - // "PROVIDER_SG_GOVERNMENT" - ABSTRACT - // "PROVIDER_SG_LAND_TRANSPORT_AUTHORITY" - // "PROVIDER_MAPBAR" - // "PROVIDER_LONGTU" - // "PROVIDER_SA_GOVERNMENT" - ABSTRACT - // "PROVIDER_SA_SAUDI_POST" - // "PROVIDER_PEAKLIST" - // "PROVIDER_LOCAL_BUSINESS_CENTER" - // "PROVIDER_LOCAL_FEED_XML" - UMBRELLA - // "PROVIDER_WEB" - // "PROVIDER_RAILS_TO_TRAILS" - // "PROVIDER_INDIACOM" - // "PROVIDER_INFOMEDIA" - // "PROVIDER_PICASA" - // "PROVIDER_AT_GOVERNMENT" - ABSTRACT - // "PROVIDER_AT_BUNDESAMT_FUR_EICH_UND_VERMESSUNGSWESEN" - // "PROVIDER_AT_NATIONAL_TOURIST_OFFICE" - // "PROVIDER_AT_AUSTRIA_POST" - // "PROVIDER_NO_GOVERNMENT" - ABSTRACT - // "PROVIDER_NO_NORSK_EIENDOMSINFORMASJON" - // "PROVIDER_NO_POSTEN_NORGE_AS" - // "PROVIDER_CH_GOVERNMENT" - ABSTRACT - // "PROVIDER_CH_SWISS_POST" - // "PROVIDER_CH_SWISSTOPO" - // "PROVIDER_CH_SWISS_NATIONAL_PARK" - // "PROVIDER_NAVIT" - // "PROVIDER_GEOSEARCH" - // "PROVIDER_DE_GOVERNMENT" - ABSTRACT - // "PROVIDER_BUNDESAMT_KARTOGRAPHIE_UND_GEODASIE" - // "PROVIDER_BUNDESNETZAGENTUR" - // "PROVIDER_SCHOBER_GROUP" - // "PROVIDER_MIREO" - // "PROVIDER_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_US_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_US_PUBLIC_MUNICIPALITY_WEBSTER_TEXAS" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_AMHERST_MASSACHUSETTS" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_BLOOMINGTON_INDIANA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_PASADENA_CALIFORNIA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_CHULA_VISTA_CALIFORNIA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_TEMPE_ARIZONA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_COLUMBUS_OHIO" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_PORTAGE_MICHIGAN" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_GEORGETOWN_KENTUCKY" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_GREENVILLE_SOUTH_CAROLINA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_NASHVILLE_TENNESSEE" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_WASHINGTON_DISTRICT_OF_COLUMBIA" - // "PROVIDER_US_PUBLIC_MUNICIPALITY_BOULDER_COLORADO" - // "PROVIDER_NZ_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_NZ_PUBLIC_MUNICIPALITY_ENVIRONMENT_BAY" - // "PROVIDER_PL_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_PL_PUBLIC_MUNICIPALITY_BIELSKO_BIALA" - // "PROVIDER_DE_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_DE_PUBLIC_MUNICIPALITY_FRANKFURT" - // "PROVIDER_DE_PUBLIC_MUNICIPALITY_HAMBURG" - // "PROVIDER_DE_PUBLIC_MUNICIPALITY_KARLSRUHE" - // "PROVIDER_PT_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_PT_PUBLIC_MUNICIPALITY_SANTA_CRUZ" - // "PROVIDER_AT_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_AT_PUBLIC_MUNICIPALITY_KLAGENFURT" - // "PROVIDER_AT_PUBLIC_MUNICIPALITY_LINZ" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_AZKOITIA" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_BEASAIN" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_GIRONA" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_SAN_SEBASTIAN" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_CATALUNYA" - // "PROVIDER_ES_PUBLIC_MUNICIPALITY_HONDARRIBIA" - // "PROVIDER_AU_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_AU_PUBLIC_MUNICIPALITY_LAUNCESTON_TASMANIA" - // "PROVIDER_IS_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_IS_PUBLIC_MUNICIPALITY_REYKJAVIK" - // "PROVIDER_NL_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_NL_PUBLIC_MUNICIPALITY_AMELSTEVEEN" - // "PROVIDER_BE_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_BE_PUBLIC_MUNICIPALITY_ANTWERPEN" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_FREDERICTON_NEW_BRUNSWICK" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_KAMLOOPS_BRITISH_COLUMBIA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_NANAIMO_BRITISH_COLUMBIA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_BANFF_ALBERTA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_CALGARY_ALBERTA" - // "PROVIDER_CA_PUBLIC_MUNICIPALITY_TORONTO_ONTARIO" - // "PROVIDER_SE_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_SE_PUBLIC_MUNICIPALITY_UMEA" - // "PROVIDER_UA_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_UA_PUBLIC_MUNICIPALITY_KHARKIV" - // "PROVIDER_OTHER_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_OTHER_PUBLIC_MUNICIPALITY_AQUA_CALIENTE_CAHUILLA_INDIANS" - // "PROVIDER_FR_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_FR_PUBLIC_MUNICIPALITY_PONT_AUDEMER" - // "PROVIDER_FR_PUBLIC_MUNICIPALITY_BORDEAUX" - // "PROVIDER_SG_PUBLIC_MUNICIPALITY" - // "PROVIDER_BR_PUBLIC_MUNICIPALITY" - ABSTRACT - // "PROVIDER_BR_PUBLIC_MUNICIPALITY_RIO_DE_JANEIRO" - // "PROVIDER_MAPCUBE" - // "PROVIDER_3D_REALITYMAPS" - // "PROVIDER_DEUTSCHES_ZENTRUM_FUR_LUFT_UND_RAUMFAHRT" - // "PROVIDER_3D_CITIES_SOCIEDADE_ANONIMA" - // "PROVIDER_DISNEY" - // "PROVIDER_CYBERCITY" - // "PROVIDER_PRECISION_LIGHTWORKS_MODELWORKS" - // "PROVIDER_VIRTUAL_HUNGARY_LIMITED" - // "PROVIDER_VIRTUEL_CITY" - // "PROVIDER_SCREAMPOINT_INTERNATIONAL" - // "PROVIDER_AGENTSCHAP_VOOR_GEOGRAFISCHE_INFORMATIE_VLAANDEREN" - // "PROVIDER_FR_GOVERNMENT" - ABSTRACT - // "PROVIDER_FR_INSTITUT_GEOGRAPHIQUE_NATIONAL" - // "PROVIDER_FR_CADASTRE" - // "PROVIDER_DIADIEM" - // "PROVIDER_THE_WEATHER_CHANNEL" - // "PROVIDER_COWI" - // "PROVIDER_FALKPLAN_ANDES" - // "PROVIDER_NL_GOVERNMENT" - ABSTRACT - // "PROVIDER_NL_KADASTER" - // "PROVIDER_NL_BOARD_OF_TOURISM_AND_CONVENTIONS" - // "PROVIDER_DIGITAL_MAP_PRODUCTS" - // "PROVIDER_SILICE_DIGITAL" - // "PROVIDER_TYDAC" - // "PROVIDER_ALBRECHT_GOLF" - // "PROVIDER_HEALTH_CH" - // "PROVIDER_VISITDENMARK" - // "PROVIDER_FLYHERE" - // "PROVIDER_DIGITAL_DATA_SERVICES" - // "PROVIDER_MECOMO" - // "PROVIDER_ZA_GOVERNMENT" - ABSTRACT - // "PROVIDER_ZA_RURAL_DEVELOPMENT_LAND_REFORM" - // "PROVIDER_SENSIS" - // "PROVIDER_JJCONNECT" - // "PROVIDER_OPPLYSNINGEN" - // "PROVIDER_TELLUS" - // "PROVIDER_IQONIA" - // "PROVIDER_BE_GOVERNMENT" - ABSTRACT - // "PROVIDER_BE_NATIONAAL_GEOGRAFISCH_INSTITUUT" - // "PROVIDER_BE_BRUSSELS_MOBILITY" - // "PROVIDER_YELLOWMAP_AG" - // "PROVIDER_STIFTUNG_GESUNDHEIT" - // "PROVIDER_GIATA" - // "PROVIDER_SANPARKS" - // "PROVIDER_CENTRE_DINFORMATIQUE_POUR_LA_REGION_BRUXELLOISE" - // "PROVIDER_INFOPORTUGAL" - // "PROVIDER_NEGOCIOS_DE_TELECOMUNICACOES_E_SISTEMAS_DE_INFORMACAO" - // "PROVIDER_COLLINS_BARTHOLOMEW" - // "PROVIDER_PROTECT_PLANET_OCEAN" - // "PROVIDER_KARTTAKESKUS" - // "PROVIDER_FI_GOVERNMENT" - ABSTRACT - // "PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION" - // "PROVIDER_FI_NATIONAL_LAND_SURVEY" - // "PROVIDER_FI_STATISTICS_FINLAND" - // "PROVIDER_GB_GOVERNMENT" - ABSTRACT - // "PROVIDER_GB_ORDNANCE_SURVEY" - // "PROVIDER_NATURAL_ENGLAND" - // "PROVIDER_WELSH_GOVERNMENT" - // "PROVIDER_GB_OFFICE_FOR_NATIONAL_STATISTICS" - // "PROVIDER_EPSILON" - // "PROVIDER_PARTNER_FRONT_END" - // "PROVIDER_CARTESIA" - // "PROVIDER_SE_GOVERNMENT" - ABSTRACT - // "PROVIDER_SE_TRAFIKVERKET" - // "PROVIDER_SE_NATURVARDSVERKET" - // "PROVIDER_IE_GOVERNMENT" - ABSTRACT - // "PROVIDER_IE_ORDNANCE_SURVEY_IRELAND" - // "PROVIDER_LU_GOVERNMENT" - ABSTRACT - // "PROVIDER_LU_P_AND_T_LUXEMBOURG" - // "PROVIDER_LU_ADMINISTRATION_DU_CADASTRE_ET_DE_LA_TOPOGRAPHIE" - // "PROVIDER_LU_NATIONAL_TOURIST_OFFICE" - // "PROVIDER_MAPFLOW" - // "PROVIDER_TKARTOR" - // "PROVIDER_JUMPSTART" - // "PROVIDER_EPTISA" - // "PROVIDER_MC_GOVERNMENT" - ABSTRACT - // "PROVIDER_MC_PRINCIPAUTE_DE_MONACO" - // "PROVIDER_MONOLIT" - // "PROVIDER_ENVIRONMENTAL_SYSTEMS_RESEARCH_INSTITUTE" - // "PROVIDER_MODIS" - // "PROVIDER_GEOX" - // "PROVIDER_GEODIRECTORY" - // "PROVIDER_GEOPLAN" - // "PROVIDER_INFODIREKT" - // "PROVIDER_GEOGLOBAL" - // "PROVIDER_DEUTSCHE_POST" - // "PROVIDER_TRACASA" - // "PROVIDER_CORREOS" - // "PROVIDER_ES_GOVERNMENT" - ABSTRACT - // "PROVIDER_ES_CENTRO_NACIONAL_DE_INFORMACION_GEOGRAFICA" - // "PROVIDER_EDIMAP" - // "PROVIDER_VERIZON" - // "PROVIDER_NATIONAL_GEOGRAPHIC_MAPS" - // "PROVIDER_PROMAPS" - // "PROVIDER_CONSODATA" - // "PROVIDER_DE_AGOSTINI" - // "PROVIDER_FEDERPARCHI" - // "PROVIDER_NAVIGO" - // "PROVIDER_ITALIAMAPPE" - // "PROVIDER_CZECOT" - // "PROVIDER_NATURAL_EARTH" - // "PROVIDER_REGIO" - // "PROVIDER_SHIPWRECK_CENTRAL" - // "PROVIDER_RUTGERS_STATE_UNIVERSITY" - // "PROVIDER_TWINICE" - // "PROVIDER_NORTHERN_IRELAND_TOURIST_BOARD" - // "PROVIDER_INFOGROUP" - // "PROVIDER_TNET" - // "PROVIDER_CTT_CORREIOS_DE_PORTUGAL" - // "PROVIDER_EUROPARC" - // "PROVIDER_IUPPITER" - // "PROVIDER_MICHAEL_BAUER_INTERNATIONAL" - // "PROVIDER_LEPTON" - // "PROVIDER_MAPPOINT" - // "PROVIDER_GEODATA" - // "PROVIDER_RU_GOVERNMENT" - ABSTRACT - // "PROVIDER_RU_FNS_KLADR" - // "PROVIDER_BR_GOVERNMENT" - ABSTRACT - // - // "PROVIDER_BR_INSTITUTO_BRASILEIRO_DO_MEIO_AMBIENTE_E_DOS_RECURSOS_NATURAIS_RE - // NOVAVEIS" - IBAMA - // "PROVIDER_BR_MINISTERIO_DO_MEIO_AMBIENTE" - MMA - // "PROVIDER_BR_AGENCIA_NACIONAL_DE_AGUAS" - ANA - // "PROVIDER_BR_INSTITUTO_BRASILEIRO_DE_GEOGRAFIA_E_ESTATISTICA" - IBGE - // "PROVIDER_BR_FUNDACAO_NACIONAL_DO_INDIO" - FUNAI - // "PROVIDER_BR_DEPARTAMENTO_NACIONAL_DE_INFRAESTRUTURA_DE_TRANSPORTES" - - // DNIT - // "PROVIDER_AZAVEA" - // "PROVIDER_NORTHSTAR" - // "PROVIDER_COMMEDI" - // "PROVIDER_NEXUS_GEOGRAFICS" - // "PROVIDER_INFOERA" - // "PROVIDER_AD_GOVERNMENT" - ABSTRACT - // "PROVIDER_AD_AREA_DE_CARTOGRAFIA" - Department of Cartography - // "PROVIDER_MAXXIMA" - // "PROVIDER_SI_GOVERNMENT" - ABSTRACT - // "PROVIDER_SI_AGENCY_FOR_ENVIRONMENT" - // "PROVIDER_TRANSPORT_HI_TECH_CONSULTANTS" - // "PROVIDER_L1_TECHNOLOGIES" - // "PROVIDER_TELEMEDIA" - // "PROVIDER_CDCOM_PROGOROD" - // "PROVIDER_MIT_CITYGUIDE" - // "PROVIDER_SUNCART" - // "PROVIDER_MICROMAPPER" - // "PROVIDER_RICHI" - // "PROVIDER_FORUM44" - // "PROVIDER_SEAT" - // "PROVIDER_VALASSIS" - // "PROVIDER_NAVICOM" - // "PROVIDER_COLTRACK" - // "PROVIDER_PSMA_AUSTRALIA" - // "PROVIDER_PT_DUTA_ASTAKONA_GIRINDA" - // "PROVIDER_CA_GOVERNMENT" - ABSTRACT - // "PROVIDER_STATISTICS_CANADA" - // "PROVIDER_TOCTOC" - // "PROVIDER_RMSI" - // "PROVIDER_TRUE_TECHNOLOGY" - // "PROVIDER_INCREMENT_P_CORPORATION" - // "PROVIDER_GOJAVAS" - // "PROVIDER_GEOINFORMATION_GROUP" - // "PROVIDER_CYBERSOFT" - // "PROVIDER_TSENTR_EFFEKTIVNYKH_TEKHNOLOGIY" - 0x12 and 0x120 are not to be - // used. OOO CET - // "PROVIDER_EE_GOVERNMENT" - ABSTRACT - // "PROVIDER_EE_MAA_AMET" - Estonian Land Board - // "PROVIDER_GASBUDDY" - // "PROVIDER_DK_GOVERNMENT" - ABSTRACT - // "PROVIDER_DK_GEODATASTYRELSEN" - Danish Geodata Agency - // "PROVIDER_MURCIA_REGION_GOVERNMENT" - // "PROVIDER_CORREIOS" - // "PROVIDER_WEST_WORLD_MEDIA" - // "PROVIDER_INTERNATIONAL_MAPPING_ASSOCIATION" - // "PROVIDER_MEDICARE" - // "PROVIDER_POLARIS" - // "PROVIDER_TW_GOVERNMENT" - ABSTRACT - // "PROVIDER_TW_MINISTRY_OF_THE_INTERIOR_SURVEYING_AND_MAPPING_CENTER" - // "PROVIDER_NORDECA" - // "PROVIDER_AFRIMAPPING" - // "PROVIDER_OVERDRIVE" - // "PROVIDER_PROVIDER_NETWORK_DIRECTORIES" - // "PROVIDER_BR_MINISTERIO_DA_SAUDE" - // "PROVIDER_DIGITAL_EGYPT" - // "PROVIDER_INRIX" - // "PROVIDER_ARPINDO" - // "PROVIDER_IT_GOVERNMENT" - ABSTRACT - // "PROVIDER_ISTITUTO_GEOGRAFICO_MILITARE" - // "PROVIDER_EAST_END_GROUP" - // "PROVIDER_INGEOLAN" - // "PROVIDER_SEMACONNECT" - // "PROVIDER_BLINK" - // "PROVIDER_EVGO" - // "PROVIDER_CHARGEPOINT" - // "PROVIDER_TPL_TRAKKER" - // "PROVIDER_OI" - // "PROVIDER_MAPARADAR" - // "PROVIDER_SINGAPORE_POST" - // "PROVIDER_CHARGEMASTER" - // "PROVIDER_TESLA" - // "PROVIDER_VISICOM" - // "PROVIDER_GEOLYSIS" - // "PROVIDER_ZEPHEIRA" - // "PROVIDER_HUBJECT" - // "PROVIDER_PODPOINT" - // "PROVIDER_CHARGEFOX" - // "PROVIDER_KR_GOVERNMENT" - ABSTRACT - // "PROVIDER_KR_MOLIT" - Ministry of land, infrastructure and transport, - // 국토교통부, Guktogyotongbu - // "PROVIDER_KR_MINISTRY_OF_THE_INTERIOR_AND_SAFETY" - // "PROVIDER_CRITCHLOW" - // "PROVIDER_EIFRIG" - // "PROVIDER_GIREVE" - // "PROVIDER_CN_NAVINFO" - // "PROVIDER_JAPAN_CHARGE_NETWORK" - // "PROVIDER_NOBIL" - // "PROVIDER_INDIA_BANKS" - // "PROVIDER_INDONESIA_ELECTION_KPU" - // "PROVIDER_CAREERS360" - // "PROVIDER_SOURCE_LONDON" - // "PROVIDER_EVBOX" - // "PROVIDER_JP_GOVERNMENT" - ABSTRACT - // "PROVIDER_JP_MINISTRY_OF_THE_ENVIRONMENT" - // "PROVIDER_YUMYUM" - // "PROVIDER_HWW_AUSTRALIA" - // "PROVIDER_CINERGY" - // "PROVIDER_MTIME" - // "PROVIDER_KULTUNAUT" - // "PROVIDER_BLITZ" - // "PROVIDER_PIA" - // "PROVIDER_INTERPARK" - // "PROVIDER_CINEMA_ONLINE" - // "PROVIDER_BELBIOS" - // "PROVIDER_MOVIESEER" - // "PROVIDER_SODAMEDYA" - // "PROVIDER_ATMOVIES" - // "PROVIDER_HOTELBEDS" - // "PROVIDER_VERICRED" - // "PROVIDER_CIRRANTIC" - // "PROVIDER_GOGO_LABS" - // "PROVIDER_ELECTRIFY_AMERICA" - // "PROVIDER_CMS_MPPUF" - // "PROVIDER_DIGIROAD" - Use PROVIDER_FI_NATIONAL_ROAD_ADMINISTRATION. - // "PROVIDER_KONTEX_GEOMATICS" - // "PROVIDER_NZ_GOVERNMENT" - ABSTRACT - // "PROVIDER_NZ_LINZ" - Land Information New Zealand - // "PROVIDER_NZ_DOC" - NZ Department of Conservation - // "PROVIDER_FASTNED" - // "PROVIDER_DESTINY_CS" - // "PROVIDER_IONITY" - // "PROVIDER_EV_CONNECT" - // "PROVIDER_PANPAGES" - // "PROVIDER_ETECNIC" - // "PROVIDER_VOLTA" - // "PROVIDER_NISSAN_MEXICO" - // "PROVIDER_BMW_GROUP_LATIN_AMERICA" - // "PROVIDER_FEDERAL_ELECTRICITY_COMMISSION_MEXICO" - // "PROVIDER_VOLVO_CARS_BRASIL" - // "PROVIDER_CHARGE_AND_PARKING" - // "PROVIDER_DEDUCE_TECHNOLOGIES" - // "PROVIDER_SK_TELECOM" - // "PROVIDER_ECO_MOVEMENT" - // "PROVIDER_GOOGLE_GMS" - // "PROVIDER_EASYWAY" - // "PROVIDER_PHYSICIAN_COMPARE" - // "PROVIDER_HOSPITAL_COMPARE" - // "PROVIDER_ENDOLLA_BARCELONA" - // "PROVIDER_BE_CHARGE" - // "PROVIDER_ONE_NETWORK" - // "PROVIDER_CARENAV_DUPLEX" - // "PROVIDER_CARENAV_POI" - UMBRELLA - // "PROVIDER_IN_GOVERNMENT" - ABSTRACT - // "PROVIDER_SURVEY_OF_INDIA" - // "PROVIDER_E_ON" - // "PROVIDER_ELECTRIFY_CANADA" - // "PROVIDER_GRIDCARS" - // "PROVIDER_DRIVECO" - // "PROVIDER_GREEN_ACTION_STUDIOS" - // "PROVIDER_GREEN_ACTION_STUDIO" - // "PROVIDER_EVINY" - // "PROVIDER_MASTERCARD" - // "PROVIDER_VATTENFALL" - // "PROVIDER_VIETGIS" - // "PROVIDER_UNITE" - // "PROVIDER_NEOGY" - // "PROVIDER_AMPUP" - // "PROVIDER_LOOP" - // "PROVIDER_ZEST" - // "PROVIDER_EZVOLT" - // "PROVIDER_JOLT" - // "PROVIDER_CHARGESMITH" - // "PROVIDER_PLUGO" - // "PROVIDER_ELECTRIC_ERA" - // "PROVIDER_FLO" - // "PROVIDER_DIGITAL_CHARGING_SOLUTIONS" - // "PROVIDER_ELECTRIC_PE" - Note: Next available value is 0x1275. - Provider string `json:"provider,omitempty"` - // ForceSendFields is a list of field names (e.g. "Dataset") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Dataset") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreProvenanceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreProvenanceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRankDetailsProto: This message is embedded within a FeatureProto. It -// has rank calculation details such as available rank signals and rank signal -// mixer used to compute final rank. For more details, see the Oyster Rank wiki -// page: http://wiki.corp.google.com/twiki/bin/view/Main/OysterRank -type GeostoreRankDetailsProto struct { - // Signal: A list of signals. Each one is extracted separately by a - // SignalExtractor. - Signal []*GeostoreRankSignalProto `json:"signal,omitempty"` - // SignalMixerType: The signal mixer that was used to calculate the rank. - // - // Possible values: - // "MIXER_INVALID" - // "MIXER_MISSING" - // "MIXER_ADDRESS_AREA" - // "MIXER_ROUTE_SEGMENT_INTERSECTION" - // "MIXER_POLITICAL_EUROPA" - // "MIXER_POLITICAL_AREA" - // "MIXER_POLITICAL" - // "MIXER_COUNTRY_EUROPA" - // "MIXER_COUNTRY_AREA" - // "MIXER_COUNTRY" - // "MIXER_LOCALITY" - // "MIXER_LOCALITY_GEOWIKI" - DEPRECATED - // "MIXER_LOCALITY_EUROPA" - DEPRECATED - // "MIXER_LOCALITY_AREA" - DEPRECATED - // "MIXER_RIVER" - // "MIXER_LENGTH_WEBSCORE" - // "MIXER_SKENERGY" - // "MIXER_GEOCENTRE_GEOCODED_ADDRESS" - DEPRECATED - // "MIXER_PLACERANK" - // "MIXER_TRANSIT" - // "MIXER_LOCALITY_EUROPA_AREA" - DEPRECATED - // "MIXER_WEBSCORE" - // "MIXER_LOCALITY_MAPDATA_SCIENCES" - DEPRECATED - // "MIXER_SUBLOCALITY_MAPDATA_SCIENCES" - DEPRECATED - // "MIXER_PEAK" - // "MIXER_BUILDING" - // "MIXER_RESERVATION" - // "MIXER_AIRPORT" - // "MIXER_AREA" - // "MIXER_MANAGER" - These should never be present on a feature. - // "MIXER_TEST_1" - // "MIXER_TEST_2" - // "MIXER_TEST_3" - // "MIXER_TEST_4" - // "MIXER_TEST_5" - SignalMixerType string `json:"signalMixerType,omitempty"` - // ForceSendFields is a list of field names (e.g. "Signal") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Signal") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRankDetailsProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRankDetailsProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRankSignalProto: This message is embedded in the RankDetailsProto -// (below). It represents one rank signal, which is a floating point value -// estimating the Oyster Rank of the feature. -type GeostoreRankSignalProto struct { - // Metadata: Field-level metadata for this signal. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // Rank: A value in the range [0, 1] estimating Oyster Rank according to this - // signal. Non-provider specific signals (e.g. SIGNAL_POPULATION) are - // interpreted by some common code in the ranking pipeline. Because of that, - // data providers should leave this field empty when setting such signals (so - // that the rank assignment can be uniform across all features regardless of - // contributing data providers). On the other hand, provider-specific signals - // (e.g. SIGNAL_ZENRIN_CITY_CATEGORY) are required to specify the rank field - // (it is not optional for them). That is because no code other than that of - // the provider itself will be able to fill in a meaningful value later on. We - // don't want clients to be reading from the raw_scalar / raw_string fields to - // interpret the data. - Rank float64 `json:"rank,omitempty"` - // RawScalar: The raw scalar value that was used to compute 'rank' above. The - // meaning of this attribute changes depending on the signal type. - RawScalar float64 `json:"rawScalar,omitempty"` - // RawString: The raw string value that was used to compute 'rank' above. The - // meaning of this attribute changes depending on the signal type. - RawString string `json:"rawString,omitempty"` - // Possible values: - // "SIGNAL_UNKNOWN" - This is reserved as a sentinel value. It should never - // be used. An unknown signal. - // "SIGNAL_LENGTH" - Magnitude for one-dimensional features like segments. - // "SIGNAL_AREA" - Magnitude for features with polygonal geometry. Derived - // from the number of other features that use this feature as an address - // component. - // "SIGNAL_ADDRESS" - DEPRECATED Derived from the number of local business - // listings that, once reverse-geocoded, have this feature as an address - // component. - // "SIGNAL_LISTING" - DEPRECATED - // "SIGNAL_ROAD_PRIORITY" - This signal will be set on all routes and is - // derived by the value of the priority of all segments composing the route. It - // is a "derived" signal instead of a canonical one because it is not only - // about inheriting some child segment's priority. We actually take into - // consideration the priorities of all children segments to come up with a raw - // value for this signal. Derived from the number of POI that use this feature - // as an address component. - // "SIGNAL_POI_COUNT" - DEPRECATED - // "SIGNAL_WEBSCORE" - This signal derived from the number of documents in - // DocJoin, which contains keywords of the source feature. For each raw - // feature, we extract keywords from the feature's name and address. We search - // the keywords in DocJoin (now only 4B) to get the number of webpages which - // contains all the keywords of the feature, eg, for Quanjude in Beijing which - // is a famous restaurant in China, we consider Beijing and Quanjude as its - // keywords, the page containing both Beijing and Quanjude will be counted in. - // The number will be mapped by logarithm function into [0, 1]. This signal is - // based on a simple assumption: the more the name appears in webpage, the more - // famous it is. These signals are calculated by the Path Radius algorithm, - // using Pathfinder to figure out in how big a neighborhood this segment is - // used as a thoroughfare. The popularity is simply the fraction of all paths - // that use this segment. - // "SIGNAL_PATHRADIUS_LENGTH_METERS" - DEPRECATED - // "SIGNAL_PATHRADIUS_LENGTH_SEGMENTS" - DEPRECATED - // "SIGNAL_PATHRADIUS_POPULARITY" - DEPRECATED - // "SIGNAL_PEAK_ELEVATION_PROMINENCE" - Signal based on elevation and - // prominence values of peaks. - // "SIGNAL_ROAD_SEGMENT_COUNT" - Signal based on the number of road segments - // referring a feature. The number could be obtained by either looking - // RELATION_CONTAINED_BY relation or counting children of the feature. - // "SIGNAL_POI_SCORE" - Signal based on placerank values of establishments - // that use this feature as an address or located within it (as determined by - // relations). - // "SIGNAL_ATTRACTIONS_SCORE" - Signal based on placerank values of (tourist) - // attraction establishments that are related to this feature through - // containment. - // "SIGNAL_HAND_RANKED_LOCALITY_PROMINENCE" - Signal indicating a city of - // particular prominence independent of its other attributes. Currently only - // implemented for Japanese localities, primarily based on official government - // city statuses. - // "SIGNAL_POPULATION" - // "SIGNAL_GDP" - // "SIGNAL_EUROPA_CLASS" - NOTE(jdkim): All rank signals below are provider - // specific ones, so we use this enum value to identify the enum range for - // provider specific signals. - // "SIGNAL_RMF_SOURCE_RANK" - DEPRECATED - // "SIGNAL_MDS_SOURCE_RANK" - DEPRECATED - // "SIGNAL_MULTINET_SOURCE_RANK" - DEPRECATED - // "SIGNAL_LOCALXML_MANUAL_RANK" - DEPRECATED - // "SIGNAL_TRANSIT_LINE" - DEPRECATED - // "SIGNAL_TRANSIT_TRAIN_DEPARTURE_COUNT" - // "SIGNAL_TRANSIT_METRO_DEPARTURE_COUNT" - // "SIGNAL_TRANSIT_BUS_DEPARTURE_COUNT" - // "SIGNAL_TRANSIT_OTHER_DEPARTURE_COUNT" - // "SIGNAL_TRANSIT_TRAIN_LINE_COUNT" - // "SIGNAL_TRANSIT_METRO_LINE_COUNT" - // "SIGNAL_TRANSIT_BUS_LINE_COUNT" - // "SIGNAL_TRANSIT_OTHER_LINE_COUNT" - // "SIGNAL_TRANSIT_STATION_LOCAL_RANK" - Score of a particular station in - // relation to the stations near it. E.g., when displaying list of nearby - // stations we could prioritize the higher ranked ones. - // "SIGNAL_TRANSIT_STATION_GLOBAL_RANK" - Score of a particular station in - // relation to all the stations globally. This is valuable for data cleanups, - // modeling, and proactive checks that could be targeted at the "Top Stations" - // to ensure high impact. - // "SIGNAL_ORION_LEVEL" - // "SIGNAL_GEOCENTRE_ADDRESS_RANK" - DEPRECATED - // "SIGNAL_GOOGLE_3DWAREHOUSE_RANK" - DEPRECATED - // "SIGNAL_SKENERGY_CATEGORY" - Rank derived from feature popularity asserted - // by users. Higher rank values are almost always moderated to verify accuracy, - // hence reliable. - // "SIGNAL_GOOGLE_GEOWIKI_USER_RANK" - DEPRECATED - // "SIGNAL_WIKIPEDIA_ARTICLES" - These are primarily used for computing - // Placerank, which is now signal 3200. - // "SIGNAL_WIKIPEDIA_ARTICLES_IN_OFFICIAL_LANGUAGE" - DEPRECATED - // "SIGNAL_KML_PLACEMARKS" - // "SIGNAL_KML_SOURCES" - // "SIGNAL_PANORAMIO_USERS" - DEPRECATED - // "SIGNAL_GOOGLE_MAPSHOP_USERS" - // "SIGNAL_GOOGLE_LOCALSEARCH_DIRECTORY_INFOS" - DEPRECATED - // "SIGNAL_GOOGLE_MAPS_NAVBOOST_CLICKS" - DEPRECATED - // "SIGNAL_GOOGLE_MAPS_NAVBOOST_CLICKTHROUGH_RATE" - DEPRECATED - // "SIGNAL_GOOGLE_RBL_CLICKS" - // "SIGNAL_GOOGLE_RBL_CLICK_FRACTION" - // "SIGNAL_GOOGLE_AUTHORITYPAGE_PAGERANK" - DEPRECATED - // "SIGNAL_GOOGLE_AUTHORITYPAGE_PAGERANK_CONFIDENCE" - // "SIGNAL_GOOGLE_REVIEWS" - // "SIGNAL_GOOGLE_WEB_QUERYVOL" - // "SIGNAL_GOOGLE_WEBPAGE_REFERENCE_DOMAINS" - DEPRECATED - // "SIGNAL_GOOGLE_LISTING_IMPRESSIONS" - // "SIGNAL_GOOGLE_INFOWINDOW_VIEWS" - // "SIGNAL_GOOGLE_DIRECTION_REQUESTS" - // "SIGNAL_GOOGLE_HOMEPAGE_CLICKS" - // "SIGNAL_GOOGLE_CHAIN_STORES" - // "SIGNAL_FLICKR_USERS" - DEPRECATED - // "SIGNAL_GOOGLE_LEANBACK_TOURS" - // "SIGNAL_GOOGLE_LOCALSEARCH_PLACERANK" - // "SIGNAL_WIKIPEDIA_WIKI_SCORE" - Signal based on WIKI_SCORE, which is - // brought by DataSourceProvider::PROVIDER_WIKIPEDIA. - // "SIGNAL_ZENRIN_CITY_CATEGORY" - DEPRECATED Signal for buildings in Japan. - // This signal is a scale of the map this building label should be rendered. - // "SIGNAL_ZENRIN_BUILDING_CLASS" - DEPRECATED Signal for peaks in Japan. - // This signal is a scale of the map this peak label should be rendered. - // "SIGNAL_ZENRIN_PEAK_CLASS" - DEPRECATED - // "SIGNAL_PLACE_INSIGHTS_LANDMARK" - Place Insights landmarkiness - // fundamental aspect. This score combines the popularity and prominence - // aspects below with the Kerouac tourist score. Details: go/plank-landmark - // "SIGNAL_PLACE_INSIGHTS_POPULARITY" - Place Insights popularity fundamental - // aspect. This score combines physical visits (Hulk) and direction searches. - // Details: go/plank-popularity - // "SIGNAL_PLACE_INSIGHTS_PROMINENCE" - Place Insights prominence fundamental - // aspect. This score is based on WebRef and the number of photos of a place. - // Details: go/plank-prominence DEPRECATED: No longer populated, because the - // data sources were deprecated. Not yet marked as deprecated because some - // features might still contain the data. - // "SIGNAL_PLACE_INSIGHTS_APPROACHABILITY" - Place Insights approachability - // fundamental aspect. This score indicates whether users can interact with a - // place without appointment. It is computed from the GCIDs of the place. - // Details: go/plank-approachability - // "SIGNAL_PLACE_INSIGHTS_TOTAL_ROAD_SEGMENT_USAGE" - Number of times a user - // drives the entire length of the segment according to snapped GLS tracks. - // This is obtained by aggregating the snapped GLS data generated by the - // traffic team. Design document: go/aggregated-road-traffic-mapfacts - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRankSignalProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRankSignalProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreRankSignalProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreRankSignalProto - var s1 struct { - Rank gensupport.JSONFloat64 `json:"rank"` - RawScalar gensupport.JSONFloat64 `json:"rawScalar"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Rank = float64(s1.Rank) - s.RawScalar = float64(s1.RawScalar) - return nil -} - -// GeostoreRawDataProto: A RawDataProto is a key-value pair that represents -// arbitrary source data from a particular provider. Raw data can be attached -// to features using their source_info field. -type GeostoreRawDataProto struct { - // Key: The key associated with this data item. For source data in shape file - // format, this will typically be a column name. Keys need to be unique with - // respect to a particular data source (see DataSourceProto), but they do not - // need to be globally unique. You can look up the documentation for a key - // (e.g. a longer label and description) by following the source_id link of the - // parent SourceInfoProto, which takes you to a TYPE_DATA_SOURCE feature, and - // then looking up the corresponding RawMetadataProto object for this key in - // that feature's optional data_source field. - Key string `json:"key,omitempty"` - // ValueString: All data items are represented as strings, the logic being that - // it is easy to convert other data types to strings, and there is no need to - // access this data efficiently. - ValueString string `json:"valueString,omitempty"` - // ForceSendFields is a list of field names (e.g. "Key") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Key") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRawDataProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRawDataProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreRawMetadataProto struct { - // ConflationMethod: Method to use when conflating together RawDataProto values - // at the same key NB: If you add a new ConflationMethod, then you must add the - // corresponding logic to MergeRawData to conflate the RawDataProto values - // using this method. - // - // Possible values: - // "CONFLATION_PICK_FIRST_VALUE" - Simply picks first value from the set of - // values to be conflated together. If target feature already has a value, then - // that is the value kept. - // "CONFLATION_UNION_CSV" - Parses all values as a comma-separated lists and - // takes the union of all elements from all lists (e.g. no duplicates) to - // create a new comma- separated list. - // "CONFLATION_SUM" - Parses all values as int32s and outputs their sum as - // the final value. - ConflationMethod string `json:"conflationMethod,omitempty"` - // Description: Self-contained documentation about what this field represents - // and how its values are encoded. - Description string `json:"description,omitempty"` - // Key: The key being described. - Key string `json:"key,omitempty"` - // Label: A longer, human-readable name associated with this key. The label - // might be used in a data explorer tool, for example. - Label string `json:"label,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConflationMethod") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConflationMethod") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRawMetadataProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRawMetadataProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRectProto: A latitude-longitude rectangle, represented as two -// diagonally opposite points "lo" and "hi". The rectangle is considered to be -// a closed region, i.e. it includes its boundary. The latitude bounds must be -// in the range -90 to 90 degrees inclusive, and the longitude bounds must be -// in the range -180 to 180 degrees inclusive. Various cases include: - If lo -// == hi, the rectangle consists of a single point. - If lo.longitude > -// hi.longitude, the longitude range is "inverted" (the rectangle crosses the -// 180 degree longitude line). - If lo.longitude == -180 degrees and -// hi.longitude = 180 degrees, the rectangle includes all longitudes. - If -// lo.longitude = 180 degrees and hi.longitude = -180 degrees, the longitude -// range is empty. - If lo.latitude > hi.latitude, the latitude range is empty. -type GeostoreRectProto struct { - Hi *GeostorePointProto `json:"hi,omitempty"` - Lo *GeostorePointProto `json:"lo,omitempty"` - // ForceSendFields is a list of field names (e.g. "Hi") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Hi") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRectProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRectProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRegionSpecificNameProto: This protocol buffer supports a name per -// region per language, allowing it to represent the name of a given feature in -// different regions and languages. For example, the Persian Gulf has different -// English names in UAE versus Lebanon; each would need to be represented as -// distinct RegionSpecificNameProtos. -type GeostoreRegionSpecificNameProto struct { - // DisplayableAsAlternativeName: If true, this region specific name should be - // appended, in parentheses, to the appropriate name from FeatureProto.name, - // for the default rest of world behavior. - DisplayableAsAlternativeName bool `json:"displayableAsAlternativeName,omitempty"` - // Name: Name to be used for this feature in a specific region and language. - Name *GeostoreNameProto `json:"name,omitempty"` - // RegionCode: Region code (or other identifier) for the region. - RegionCode string `json:"regionCode,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "DisplayableAsAlternativeName") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayableAsAlternativeName") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRegionSpecificNameProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRegionSpecificNameProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRegulatedAreaProto: A collection of information that applies to a -// polygonal area. -type GeostoreRegulatedAreaProto struct { - // Restriction: The set of restrictions that apply to a zone. These - // restrictions may limit the routability of every segment contained within the - // defined feature.polygon. Repeated restrictions are treated collectively as - // an OR meaning that segments in the zone are only routable if none of the - // restrictions apply. If any segments within the defined polygon should not - // have these restrictions applied, they must list this regulated area's - // feature id in their feature.exempt_regulated_area field. - Restriction []*GeostoreRestrictionProto `json:"restriction,omitempty"` - // ForceSendFields is a list of field names (e.g. "Restriction") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Restriction") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRegulatedAreaProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRegulatedAreaProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRelationProto: This message is embedded within a FeatureProto, and -// represents a geographic or logical relationship of that feature to some -// other feature. Note that some relation types are there purely for the -// purpose of grouping together other relation types. They are noted as -// ABSTRACT in comments. Other relation types are no longer supported / in use. -// They are noted as DEPRECATED in comments (and marked with the standard -// deprecated option, too). Other relation types are reserved for future use or -// just not intended for use at all, for various internal reasons. They are -// noted as RESERVED in comments. WARNING: Updates to this proto within a -// FeatureProto's related_feature field handled by standalone pipelines and are -// NOT atomic with regard to updates to the features being referenced; we do -// not guarantee that a given MapFacts snapshot will be consistent between this -// field and the related features. -type GeostoreRelationProto struct { - // Metadata: Field-level metadata for this relation. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // OtherFeatureCountryCode: If and only if the other feature is of - // TYPE_COUNTRY, the 2-letter country code. This is the FLAG_COUNTRY_CODE_2 - // name of the country component. - OtherFeatureCountryCode string `json:"otherFeatureCountryCode,omitempty"` - // OtherFeatureId: The feature ID of the feature to which we're relating. - // WARNING: the related feature does not necessarily have a bound that encloses - // this feature, so in a bucketing MapReduce, you may not be able to follow all - // relationships. Relations that use strong references are annotated above but - // you can also refer to IsRelationStrong() in geostore/base/public/relation.h. - OtherFeatureId *GeostoreFeatureIdProto `json:"otherFeatureId,omitempty"` - // OtherFeatureName: RESERVED - OtherFeatureName []*GeostoreNameProto `json:"otherFeatureName,omitempty"` - // OtherFeatureTerritorialAdministrator: If and only if the other feature is of - // TYPE_DISPUTED_AREA, the territorial administrator found in its - // GeopoliticalAttachmentProto.administered_by field, if any. Since this string - // is copied exactly, it may be a 2-letter country code or another type of - // descriptive string. - OtherFeatureTerritorialAdministrator string `json:"otherFeatureTerritorialAdministrator,omitempty"` - // OtherFeatureType: The type of the feature to which we're relating. - OtherFeatureType int64 `json:"otherFeatureType,omitempty"` - // OverlapFraction: ** DEPRECATED ** If relation is exactly RELATION_OVERLAPS - // but not any of its subcategories, overlap_fraction contains an estimate of - // the fraction of the geometry of this feature that intersects with the other - // feature, ranging from 0.0 to 1.0. Note that this is a rough estimate based - // on cell coverings, and may not be very accurate. In particular, values of - // 0.0 and 1.0 are possible, even though in principle they should not be. - OverlapFraction float64 `json:"overlapFraction,omitempty"` - // Relation: The relationship of the feature that contains this RelationProto - // to the feature other_feature_id. Note the relation_is_reversed field below. - // Some relations imply weak references, other strong ones. Strong references - // are annotated above but you can also refer to IsRelationStrong() in - // geostore/base/public/relation.h. - // - // Possible values: - // "RELATION_OVERLAPS" - In the real world, this feature's geographic extent - // intersects the other feature's, but does not contain it. Note that the - // presence or absence of a relation may contradict the actual geometry in the - // FeatureProto. In these cases, the client should assume that the geometry of - // the feature is imprecise. Certain pairs of features are considered disjoint - // even if the geometries overlap. Allowed source types: - TYPE_ANY (but with - // geometry or children) Allowed destination types: - TYPE_ANY (but with - // polygonal geometry) - // "RELATION_CONTAINED_BY" - In the real world, the geographical extent of - // the feature is contained by that of the other feature. Note that this - // relation implies overlap. As with overlap, the frame-of-reference is the - // real world, not necessarily the (imprecise) geometry in the FeatureProtos. - // There may be other semantic rules that govern the assignment of this - // relation. Two features cannot contain each other - instead they will have a - // RELATION_EQUAL_TO relation (see below). strong reference - // "RELATION_EQUAL_TO" - In the real world, this feature's geographic extent - // is exactly equal to the other feature's geographic extent. Note that this - // relation implies containment and overlap. - // "RELATION_POLITICAL_DEPRECATED" - DEPRECATED - // "RELATION_CAPITAL_OF" - This feature is the capital of the other feature. - // Allowed source types: - TYPE_POLITICAL Allowed destination types: - - // TYPE_POLITICAL (of higher political level) strong reference - // "RELATION_DISAMBIGUATED_BY" - ABSTRACT, RESERVED - // "RELATION_NEIGHBOR_OF" - RESERVED - // "RELATION_OPPOSITE_TO" - RESERVED - // "RELATION_NEXT_TO" - RESERVED - // "RELATION_RIGHT_OF" - RESERVED - // "RELATION_LEFT_OF" - RESERVED - // "RELATION_BEHIND" - RESERVED - // "RELATION_IN_FRONT_OF" - RESERVED - // "RELATION_SAME_BUILDING" - RESERVED - // "RELATION_ABOVE" - RESERVED - // "RELATION_BELOW" - RESERVED - // "RELATION_NEAR" - RESERVED - // "RELATION_ORGANIZATIONALLY_PART_OF" - ABSTRACT - // "RELATION_DEPARTMENT_OF" - Used primarily to list co-existing departments - // of businesses such as universities, hospitals, department stores, etc. This - // is set from feature A to feature B when A is physically located within the - // boundaries of the compound feature occupied by B, AND A is a subsidiary or - // department of B (i.e. both have the same management/ownership). e.g. - // department -> hospital, department -> university Allowed source types: - - // TYPE_ESTABLISHMENT_POI Allowed destination types: - TYPE_ESTABLISHMENT_POI - // "RELATION_WORKS_AT" - Used to relate an individual practitioner (doctor, - // lawyer, etc.) with the business they work at (hospital, law firm, etc.) - // Allowed source types: - TYPE_ESTABLISHMENT_POI - TYPE_ESTABLISHMENT_SERVICE - // Allowed destination types: - TYPE_ESTABLISHMENT_POI - // "RELATION_INDEPENDENT_ESTABLISHMENT_IN" - Used primarily for the "mall - // directory" use-case, this is set from feature A to feature B when A is - // physically located within the boundaries of the compound feature occupied by - // B AND A as an entity is independent of B, i.e. A and B have different - // management/ownership. e.g. store -> mall Allowed source types: - - // TYPE_ESTABLISHMENT_POI Allowed destination types: - TYPE_ESTABLISHMENT_POI - // "RELATION_ON_LEVEL" - The feature that represents the level/floor the - // feature exists on. Allowed source types: - TYPE_CARTOGRAPHIC (at most 1 such - // relation) - TYPE_COMPOUND_SECTION (at most 1 such relation) - TYPE_ENTRANCE - // (at most 1 such relation) - TYPE_ESTABLISHMENT_POI - TYPE_INTERSECTION (at - // most 1 such relation) - TYPE_SEGMENT (at most 2 such relations) - - // TYPE_TERMINAL_POINT (at most 1 such relations) Allowed destination types: - - // TYPE_LEVEL strong reference - // "RELATION_OCCUPIES" - This feature physically occupies the other feature. - // Allowed source types: - TYPE_ESTABLISHMENT_POI Allowed destination types: - - // TYPE_COMPOUND Consumers should use the geometry of the target feature - // instead of the geometry of this feature. strong reference - // "RELATION_BUSINESS_LIFE_CYCLE" - ABSTRACT - // "RELATION_BUSINESS_MOVED" - e.g. “espn zone" moved from Times Square to - // Boston. The feature representing the business at the old location, or with - // the old service area, will refer to the one representing the business at the - // new location, or with the new service area, with this relation type. If a - // feature has this relation, its existence should show that the feature has - // closed and the close reason should be set to MOVED. Allowed source types: - - // TYPE_ESTABLISHMENT Allowed destination types: - TYPE_ESTABLISHMENT - // "RELATION_BUSINESS_REBRANDED" - e.g. "Holiday Inn" rebranded to "Double - // Tree". The feature representing "Holiday Inn" will refer to the feature - // representing "Double Tree" with this relation type. If a feature has this - // relation, its existence should show that the feature has closed and the - // close reason should be set to REBRANDED. Allowed source types: - - // TYPE_ESTABLISHMENT Allowed destination types: - TYPE_ESTABLISHMENT - // "RELATION_MEMBER_OF_CHAIN" - Used by specific chain stores/franchises to - // refer to their parent chain. e.g. an individual Walmart store is a member of - // the "Walmart" chain. Transit stations can be members of multiple chains - // (transit agencies). All other establishments can have at most one explicit - // RELATION_MEMBER_OF_CHAIN relation. Subtypes may have different requirements. - // TYPE_TRANSIT_AGENCY is a temporarily allowed destination type while we - // migrate transit stations <-> transit agencies to a new representation - // (b/197741661) Allowed source types: - TYPE_ESTABLISHMENT Allowed destination - // types: - TYPE_BUSINESS_CHAIN - TYPE_TRANSIT_AGENCY strong reference - // "RELATION_AUTHORIZED_DEALER_FOR_CHAIN" - Indicates that a feature sells - // merchandise for a given brand chain (e.g. Honda vehicles). Source currently - // restricted to features with gcid:car_dealer. strong reference - // "RELATION_SUBSIDIARY_OF" - Used by specific sub chain to refer to their - // parent chain. e.g. "Walmart Pharmacy" chain is a member of the "Walmart" - // chain. Currently this is only used by transit agencies. Talk to chains-eng - // team before using this relation type on other chains. A business chain can - // have at most one such relation. Allowed source types: - TYPE_BUSINESS_CHAIN - // - TYPE_TRANSIT_AGENCY Allowed destination types: - TYPE_BUSINESS_CHAIN - - // TYPE_TRANSIT_AGENCY strong reference - // "RELATION_PRIMARILY_OCCUPIED_BY" - Indicates which logical entity is the - // main occupant of a compound. A compound can have at most one such relation, - // and the target feature for that relation must refer back to the compound via - // a RELATION_OCCUPIES relation. Allowed source types: - TYPE_COMPOUND Allowed - // destination types: - TYPE_ESTABLISHMENT_POI strong reference - // "RELATION_VARIATION" - ABSTRACT, DEPRECATED - // "RELATION_HAS_VARIANT" - DEPRECATED - // "RELATION_VARIANT_OF" - DEPRECATED - // "RELATION_VARIANT_SIBLING" - DEPRECATED - // "RELATION_CLIENT_DEFINED" - RESERVED - Relation string `json:"relation,omitempty"` - // RelationIsReversed: RESERVED - RelationIsReversed bool `json:"relationIsReversed,omitempty"` - // TemporaryData: A place for clients to attach arbitrary data to a relation. - // Never set in MapFacts. - TemporaryData *Proto2BridgeMessageSet `json:"temporaryData,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRelationProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRelationProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreRelationProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreRelationProto - var s1 struct { - OverlapFraction gensupport.JSONFloat64 `json:"overlapFraction"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.OverlapFraction = float64(s1.OverlapFraction) - return nil -} - -// GeostoreRestrictionGroupProto: A restriction group represents common -// properties of a set of restrictions on segments that are associated with the -// same underlying cause across a geographic region. Every segment referenced -// by this restriction group should have at least one restriction that refers -// backs to this restriction group. The standard feature properties have the -// following interpretations: name - A name that represents the name for this -// restriction group. kg_property - A reference back to a KG event in case this -// restriction group belongs to an event in KG. -// /geo/type/restriction_group/associated_event contains a mid to the -// associated event. -type GeostoreRestrictionGroupProto struct { - // Metadata: Field-level metadata for this restriction group. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // Segment: FeatureId of all segments that have a RestrictionProto referring - // back to this RestrictionGroup. - Segment []*GeostoreFeatureIdProto `json:"segment,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRestrictionGroupProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRestrictionGroupProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRestrictionProto: A restriction is an expression that limits when an -// action can be taken. Each restriction has a set of conditions. If all of the -// conditions are true, then the restriction applies and the action cannot be -// taken. For example, the restriction "no turns 3-5pm except buses" would have -// two conditions: "time is 3-5pm" and "vehicle is not a bus". If both of these -// conditions apply, the restriction is true, and the turn is prohibited. -// Multiple restrictions may apply to the same action. Clients handle this by -// always declaring RestrictionProto as a "repeated" element. The semantics of -// having multiple restrictions are that if any restriction applies, then the -// action cannot be taken. In other words, restrictions are OR-ed together. -// Putting all of this together, a set of RestrictionProtos can be interpreted -// as a bool expression in disjunctive normal form: (A and B) or (D and E and -// F) or (G and H) The action is prohibited if this expression is true. Note -// that a restriction with no conditions is always true, i.e. its action is -// always prohibited. NOTE: RestrictionProtos are often compared against one -// another (e.g. to check for duplicate/redundant restrictions) by -// canonicalizing them via GetCanonicalRestriction() in -// google3/geostore/base/internal/restriction.cc. Any fields that don't -// contribute to the definition of a restriction in the real world should be -// bundled with the annotative fields near the bottom and excluded in -// GetCanonicalRestriction(). LINT.IfChange -type GeostoreRestrictionProto struct { - // AutonomousDrivingProducts: The restriction only applies in these specific - // autonomous driving product scenarios. NOTE: This should only be set on - // restrictions with TRAVEL_AUTONOMOUS_VEHICLE travel mode. - // - // Possible values: - // "UNKNOWN" - Indicates that specific product requirements are unknown. It - // is best to assume that this applies to all autonomous driving scenarios. - // "HD_L4" - HD Maps Level 4 product. - // "HD_L2" - HD Maps Level 2 product. - // "ADAS" - General advanced driver assist scenario. - // "AUTO_DRIVING_EXPERIENCE" - Geo Auto Driving Experience products (go/dx). - AutonomousDrivingProducts []string `json:"autonomousDrivingProducts,omitempty"` - // IntersectionGroup: Actually *required* if style=STYLE_IN_OUT, otherwise - // forbidden. Typically the intersection group type is artifact, but either - // artifact or logical groups can be used for STYLE_IN_OUT restrictions. - IntersectionGroup *GeostoreFeatureIdProto `json:"intersectionGroup,omitempty"` - // Metadata: Field-level metadata for this restriction. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // RestrictionGroup: Restriction group this restriction belongs to. - RestrictionGroup *GeostoreFeatureIdProto `json:"restrictionGroup,omitempty"` - // RestrictionToken: A token that can be used to identify the version of the - // data about this restriction. - RestrictionToken string `json:"restrictionToken,omitempty"` - // Schedule: When specified, restriction applies only at particular times - // (operating hours or times of the year: reversing lanes, seasonal roads, no - // left turns from 3-5pm Mon-Fri except holidays). Otherwise, restriction is in - // effect at all times. - Schedule *GeostoreTimeScheduleProto `json:"schedule,omitempty"` - // Scope: The scope that the restriction applies to. - SCOPE_DIRECTION means - // the segment/sibling pair is restricted in the direction of the segment that - // contains this RestrictionProto. For segment/sibling pairs with pedestrian - // facilities (and thus side-of-road routing) the RestrictionProto restricts - // both facilities in the direction of the segment (assuming that the - // restriction applies to travel mode TRAVEL_PEDESTRIAN). - SCOPE_SIDE means - // the RestrictionProto applies only to the side of road that the containing - // segment represents. That sibling's pedestrian facility is restricted in both - // directions. Schema constraints: - SCOPE_SIDE must be set if and only if - // travel_mode == [TRAVEL_PEDESTRIAN] and the segment containing the - // restriction has the pedestrian_facility field set and is not set to - // PEDESTRIAN_FACILITY_UNKNOWN. Such restrictions must have no subpath. - All - // other restrictions must have this field set to SCOPE_DIRECTION (whether - // explicitly or implicitly). This distinction is necessary for cases such as - // pedestrian facility on one-way segment/sibling roads. NOTE: This field only - // makes sense in the context of segment restrictions, not lane restrictions. - // - // Possible values: - // "SCOPE_DIRECTION" - // "SCOPE_SIDE" - Scope string `json:"scope,omitempty"` - // Style: Restriction Style defines the semantics of the subpath field, as - // defined above in the documentation of subpath. - // - // Possible values: - // "STYLE_CONTIGUOUS" - // "STYLE_SINGLE" - // "STYLE_TURN" - // "STYLE_IN_OUT" - Style string `json:"style,omitempty"` - // Subpath: "subpath" specifies the GeoStore segments that this restriction - // applies to, according to the restriction_style field below. Segments that - // are referenced by this subpath field also refer to this feature back via the - // same subpath field. For all styles of restriction, all segments in the - // subpath must have identical copies of the restriction. In other words, - // restrictions are duplicated along every segment in the subpath. Note that - // subpaths of length 1 do not have any purpose and are disallowed. Note that - // it is possible to represent restrictions either using STYLE_CONTIGUOUS, or - // depending on the length of the subpath, one of the more specific - // STYLE_SINGLE, STYLE_TURN, or STYLE_IN_OUT. New code should use the more - // specific alternatives if possible, as they support instant updates. For - // restriction_style == STYLE_CONTIGUOUS (the default): "subpath" can either be - // empty, for a single-segment restriction, or it specifies exactly the - // sequence of segments which this restriction applies to. The subpath may be - // used to specify a turn restriction (a subpath of length 2) or to prohibit - // more complex maneuvers. For example, when merging onto a road from the - // right-hand side it may not be possible to make an immediate left turn due to - // insufficient time to cross the intervening lanes or the presence of a - // physical barrier. This would be indicated by a subpath restriction of length - // 3 or more. For restriction_style == STYLE_SINGLE: The subpath field of the - // Restriction must be empty. The restriction applies only to the segment it is - // attached to. There must not be an intersection group specified. For - // restriction_style == STYLE_TURN: The subpath field of the Restriction must - // contain exactly two segments. The first is called the "in_segment", the - // second is the "out_segment". They must be contiguous, i.e. the end - // intersection of the in_segment is the start intersection of the out_segment. - // The restriction applies only to a direct maneuver from the in_segment to the - // out_segment. Other paths from the in_segment to the out_segment are not - // restricted. There must not be an intersection group specified. For - // restriction_style == STYLE_IN_OUT: The subpath field of the Restriction must - // contain exactly two segments. The first is called the "in_segment", the - // second is the "out_segment". Note that the two segments define paths, but - // may not actually be one. The end intersection of the in_segment must be in - // an intersection group which also contains the start intersection of the - // out_segment. The in- and out-segments are not required to be adjacent, but - // may be. Either way, the restriction applies to any path from the in_segment - // to the out_segment through the intersection group, not just direct turns. - // The intersection_group must be specified. Note that clients which read - // restrictions and need to know which paths are restricted by a given IN_OUT - // restriction must expand the IN_OUT restriction by finding all paths through - // the intersection group from the in_segment to the out_segment. - Subpath []*GeostoreFeatureIdProto `json:"subpath,omitempty"` - // TemporaryData: A place for clients to attach arbitrary data to a - // restriction. Never set in MapFacts. - TemporaryData *Proto2BridgeMessageSet `json:"temporaryData,omitempty"` - // TravelMode: Restriction applies only to the given travel modes. This field - // should always be set, but may be missing in old data. WARNING: Restrictions - // with no travel modes are DEPRECATED. Historically, no travel modes has meant - // "all travel modes", except they didn't really even mean that, because - // Pathfinder would use a complex set of heuristics to interpret the "correct" - // travel modes. Pathfinder currently (last updated August 2013) has heuristics - // to cope with incomplete data that reduce or extend application of the - // specified restrictions to pedestrians or bicycles. We are actively working - // to remove these heuristics and replace them with explicit, correct travel - // modes in the data. See b/8746491. - // - // Possible values: - // "TRAVEL_ANY" - ABSTRACT - // "TRAVEL_MOTOR_VEHICLE" - // "TRAVEL_AUTO" - // "TRAVEL_CARPOOL" - // "TRAVEL_MOTORCYCLE" - // "TRAVEL_BUS" - // "TRAVEL_TRUCK" - // "TRAVEL_DELIVERY" - // "TRAVEL_TAXI" - // "TRAVEL_EMERGENCY" - // "TRAVEL_THROUGH_TRAFFIC" - // "TRAVEL_AUTONOMOUS_VEHICLE" - // "TRAVEL_PEDESTRIAN" - // "TRAVEL_BICYCLE" - TravelMode []string `json:"travelMode,omitempty"` - // Type: - // LINT.ThenChange(//depot/google3/google/geo/entities/v1/fields/segment.proto) - // clang-format on The type of restriction. This is not a condition, but rather - // tells you what kind of restriction it is. This field should always be set. - // - // Possible values: - // "RESTRICTION_TRAVEL_RESTRICTED" - Travel or maneuver is prohibited or - // extremely limited. This type's value may be used for restrictions which do - // not fall into a more specific subcategory, but the effect is that travel or - // maneuver is prohibited. - // "RESTRICTION_ILLEGAL" - Travel or maneuver is prohibited due to traffic - // regulations. Includes restrictions due to explicit road markings. E.g., - // U-turns prohibited in marked intersections. NOTE: In the event that a - // restriction by regulations is enforced by a physical barrier, use - // RESTRICTION_PHYSICAL instead. - // "RESTRICTION_PHYSICAL" - A permanent physical barrier prevents maneuver. - // This restriction type may not be used for restrictions with empty subpaths. - // "RESTRICTION_LOGICAL" - Maneuver is prohibited based on logical inference - // from other restrictions on segments or lanes. This restriction type may not - // be used for restrictions with empty subpaths. DEPRECATED - // "RESTRICTION_GATE" - A gate or other moveable barrier prevents direct - // access. NOTE: Travel may still be allowed in certain circumstances. Use - // RESTRICTION_PRIVATE in lieu of RESTRICTION_GATE for segments that may still - // be routed on in certain circumstances. DEPRECATED - // "RESTRICTION_CONSTRUCTION" - Road is closed due to road maintenance (e.g. - // repaving, adding more lanes) and cannot be used for routing. - // "RESTRICTION_SEASONAL_CLOSURE" - Travel is prohibited for the duration of - // some season. E.g., due to ice/snow in the winter. - // "RESTRICTION_PRIVATE" - Road has signage discouraging or prohibiting use - // by the general public. E.g., roads with signs that say "Private", or "No - // trespassing." NOTE: Use this type if travel is still be allowed in certain - // circumstances (e.g., legitimate visits to a place reachable by restricted - // roads only). Use RESTRICTION_ILLEGAL if travel is forbidden under all - // circumstances. This restriction type may not be used for restrictions with - // non-empty subpaths. - // "RESTRICTION_WRONG_WAY" - Travel over this segment is prohibited because - // of signage indicating one-way directionality in the opposite direction. This - // restriction type may not be used for restrictions with non-empty subpaths. - // Travel over this segment should be avoided at all costs unless the - // destination is on the segment. This restriction type may be used only for - // restrictions of STYLE_SINGLE. - // "RESTRICTION_TERMINAL" - RESERVED - // "RESTRICTION_PAYMENT_REQUIRED" - // "RESTRICTION_TOLL_BOOTH" - This restriction type may be used only for - // restrictions of STYLE_TURN, or STYLE_CONTIGUOUS with a subpath of length 2. - // The intersection at which the turn is restricted is the place of the toll - // booth. - // "RESTRICTION_USAGE_FEE_REQUIRED" - Traveling on the associated subpath - // requires a fee to be paid. - // "RESTRICTION_ENTRANCE_FEE_REQUIRED" - Similar to - // RESTRICTION_USAGE_FEE_REQUIRED but instead of a fee for the usage, the fee - // is required for entering a special area (e.g. an amusement park). Also in - // contrast to RESTRICTION_USAGE_FEE_REQUIRED this restriction is supposed to - // be applied only to the segments that enter into the isolated restricted area - // from the outer world. Therefore there are two important points to consider - // when modeling data this way: 1) Every path that (exactly once) enters the - // restricted area should have exactly one such restriction (it does not matter - // whether it is a segment or subpath restriction). 2) All entrances have to be - // modeled consistently. It is recommended that the restriction is consistently - // applied to paths entering the area and not applied to paths leaving the - // area. NOTE: The above points are important because an additive penalty is - // applied for each individual restriction that appear on a path. - // "RESTRICTION_VIGNETTE_REQUIRED" - Similar to - // RESTRICTION_USAGE_FEE_REQUIRED but models a specific type of road tax called - // a 'vignette', used in certain European countries. Traveling on the - // associated subpath requires the driver or vehicle to have paid the road tax, - // documented by receipt of a physical or electronic vignette. - // "RESTRICTION_ADVISORY" - Restrictions in the RESTRICTION_ADVISORY category - // refer to paths where travel is permitted, but may not be prudent or is - // cumbersome. Since this is often a matter of opinion, clients may choose not - // to make use of this information or not display it directly to the user. - // "RESTRICTION_HIGH_CRIME" - // "RESTRICTION_POLITICALLY_SENSITIVE" - // "RESTRICTION_DISTURBED_BY_MAINTENANCE" - Segments with - // RESTRICTION_DISTURBED_BY_MAINTENANCE indicate that the road undergoes - // maintenance, however (unlike RESTRICTION_CONSTRUCTION) the segment will be - // used for routing. - // "RESTRICTION_CHECKPOINT" - An inland location where travelling is expected - // to be interrupted by authorities to inspect passengers and/or goods. This - // restriction type may only be used for restrictions with style STYLE_SINGLE. - // "RESTRICTION_REGION_SPECIFIC" - Restrictions with the - // RESTRICTION_REGION_SPECIFIC category signify restrictions that are unique to - // a particular region, cannot currently be modeled through RestrictionProto, - // and/or have semantics that differ if in a particular region (such as car - // emission restrictions). These restrictions are specified on their - // restriction group, a traffic zone. Evaluating applicability of these - // restrictions requires an additional library located in the - // geostore/base/internal/specialized_restriction/ directory. That library - // controls the application of the restriction and will generally disregard - // data on this RestrictionProto. For example, go/cabrio-restriction-schema - // specifies that this proto should set TRAVEL_MOTOR_VEHICLE because other - // values have no effect; likewise, TimeScheduleProto has no effect. In truth - // this restriction's only job is to carry a restriction_group reference. - Type string `json:"type,omitempty"` - // VehicleAttributeFilter: The restriction only applies to vehicles that meet - // all of the attributes defined here. If this is empty, it does not affect the - // scope of the restriction. - VehicleAttributeFilter *GeostoreVehicleAttributeFilterProto `json:"vehicleAttributeFilter,omitempty"` - // ForceSendFields is a list of field names (e.g. "AutonomousDrivingProducts") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AutonomousDrivingProducts") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRestrictionProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRestrictionProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRightsStatusProto: Proto used to represent rights for FeatureProto. -// See go/geo-rights for more details. NOTE: Use -// google3/geostore/provenance/public/rights.h or -// google3/java/com/google/geostore/provenance/rights/Rights.java instead of -// accessing this proto directly. -type GeostoreRightsStatusProto struct { - FieldWithRights []*GeostoreFieldWithRightsProto `json:"fieldWithRights,omitempty"` - // ForceSendFields is a list of field names (e.g. "FieldWithRights") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FieldWithRights") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRightsStatusProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRightsStatusProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRoadConditionalProto: A RoadConditionalProto defines conditions that -// affect when the road traversal information is applicable. -type GeostoreRoadConditionalProto struct { - // TimeSchedule: Specifies what times the information is applicable. This can - // be specific times (3-5 PM) or days of the week (Mon - Fri), as well as more - // general times like school hours, dusk to dawn, etc. If no value is set, the - // restriction is applicable at all times. - TimeSchedule *GeostoreTimeScheduleProto `json:"timeSchedule,omitempty"` - // VehicleAttribute: Additional attributes that apply to the applied vehicle - // types. - VehicleAttribute *GeostoreVehicleAttributeFilterProto `json:"vehicleAttribute,omitempty"` - // VehicleType: Restrictions applying to specific types of vehicles. - // - // Possible values: - // "UNKNOWN" - Default proto value, this value will never be set in MapFacts. - // "ANY" - // "CAR" - // "MOTORCYCLE" - // "TRUCK" - Note: The exact definition of a truck varies by city, but it - // usually refers to vehicles with three or more axles. This value does not - // necessarily apply to all commercial vehicles or vehicles colloquially - // referred to as trucks (eg. pickup trucks). - // "BUS" - VehicleType []string `json:"vehicleType,omitempty"` - // ForceSendFields is a list of field names (e.g. "TimeSchedule") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "TimeSchedule") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRoadConditionalProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRoadConditionalProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRoadMonitorProto: A road monitor is a device that observes traffic -// for road violations like speeding or running a red light. These are modeled -// within MapFacts so that navigation services can warn users when they drive -// along road segments that are monitored. -type GeostoreRoadMonitorProto struct { - // MonitoredRoad: The TYPE_ROAD segment features that this road monitor may - // observe. - MonitoredRoad []*GeostoreFeatureIdProto `json:"monitoredRoad,omitempty"` - // ForceSendFields is a list of field names (e.g. "MonitoredRoad") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MonitoredRoad") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRoadMonitorProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRoadMonitorProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRoadSignComponentProto: Below is some horrible ASCII art and a -// description of the components of a road sign. +-------------------+ | A11 -// E50 Paris | | Chartres | +-------------------+ This sign would be composed -// of four components (all of them text components, the only option we support -// for now). The three in the first row would all have a "major_position" of -// zero. Their "minor_position" values would be zero for "A11", one for "E50", -// and two for "Paris". The component in the second row would have -// "major_position" value of one. This message provides the details of a single -// component of a road sign. A component defines its position within a sign, -// its type, and its content. -type GeostoreRoadSignComponentProto struct { - // FeatureId: The id of the feature referred to by this component, typically - // the route or locality feature this sign points towards. In the ASCII art - // example above, this field would contain the id for the routes A11 and E50 - // and the localities Chartres and Paris in the corresponding component. - FeatureId *GeostoreFeatureIdProto `json:"featureId,omitempty"` - // FeatureType: The type of the feature referred to by this component. If - // feature_id is specified type of that feature should be the same as this - // field. - FeatureType int64 `json:"featureType,omitempty"` - // MajorPosition: This is the "major" position of this component within the set - // of components that make up a sign. This number can be thought of as the - // "row" of the sign on which the component appears, but no guarantees are made - // that there is a one-to-one mapping between "major_position" and the rows of - // information on the actual sign being modeled. A "major_position" value of - // zero would indicate that the component is near the top of the sign. - MajorPosition int64 `json:"majorPosition,omitempty"` - // MinorPosition: This is the position of a component within the components of - // a sign that share a common "major_position". It can be though of as the - // "column" of the component, but like "major_position", no guarantees are made - // regarding its mapping to reality. For data sources that don't provide enough - // information to determine a component's major and minor positions, major - // position should be populated and minor position should not be present. A - // "minor_position" value of zero would indicate that the component is near the - // "beginning" of the sign. In countries where signs are read from left to - // right, "minor_position" zero would be near the left side of the sign. - MinorPosition int64 `json:"minorPosition,omitempty"` - // RouteDirection: The direction of traffic for the referenced TYPE_ROUTE - // feature. - // - // Possible values: - // "DIRECTION_NONE" - DIRECTION_NONE value is reserved and only present there - // to avoid using a meaningful entry as the default value. RESERVED - // "DIRECTION_NORTH" - // "DIRECTION_EAST" - // "DIRECTION_SOUTH" - // "DIRECTION_WEST" - // "DIRECTION_NORTHEAST" - // "DIRECTION_NORTHWEST" - // "DIRECTION_SOUTHEAST" - // "DIRECTION_SOUTHWEST" - // "DIRECTION_INNER" - Inner/Outer loop. Short names are not supported. The - // actual direction depends on the local driving rule (right-handed vs. - // left-handed). TODO(b/291302506) If you need an explicit loop direction or a - // road sign uses clockwise/counterclockwise, don't use INNER/OUTER but - // consider adding DIRECTION_CLOCKWISE and DIRECTION_COUNTERCLOCKWISE instead. - // "DIRECTION_OUTER" - RouteDirection string `json:"routeDirection,omitempty"` - // SemanticType: The semantic type of sign. - // - // Possible values: - // "ROAD_SIGN_SEMANTIC_TYPE_UNSPECIFIED" - clang-format off Default value. - // "PRIORITY" - Signs to control outbound traffic by yielding to other roads - // or stopping. - // "PRIORITY_STOP" - // "PRIORITY_STOP_AHEAD" - // "PRIORITY_YIELD" - // "PRIORITY_YIELD_AHEAD" - // "SPEED_LIMIT" - Speed limit signs indicating start and end of min, max, - // advisory speed. - // "SPEED_LIMIT_START" - // "SPEED_LIMIT_START_MAX" - // "SPEED_LIMIT_START_MIN" - // "SPEED_LIMIT_START_SCHOOL" - // "SPEED_LIMIT_START_ZONE" - // "SPEED_LIMIT_START_ADVISORY" - // "SPEED_LIMIT_START_AHEAD" - // "SPEED_LIMIT_END" - // "SPEED_LIMIT_END_MAX" - // "SPEED_LIMIT_END_MIN" - // "SPEED_LIMIT_END_SCHOOL" - // "SPEED_LIMIT_END_ZONE" - // "RESTRICTION" - Restriction signs to control traffic, turns, and other - // traffic related activities such as parking. - // "RESTRICTION_TURN" - // "RESTRICTION_TURN_NO_RIGHT" - // "RESTRICTION_TURN_NO_LEFT" - // "RESTRICTION_TURN_NO_U" - // "RESTRICTION_TURN_NO_THRU" - // "RESTRICTION_MOVEMENT" - // "RESTRICTION_MOVEMENT_PASSING" - // "RESTRICTION_ACCESS" - // "RESTRICTION_ACCESS_NO_ENTRY" - // "WARNING" - Various non-regulatory warning signs, usually used to slow - // traffic down for road work and other conditions like curved roads or - // crossings. Does not include speed limit related signs, which have their own - // category. - // "WARNING_CROSSING" - // "WARNING_CROSSING_CHILDREN" - // "WARNING_CROSSING_PEDESTRIAN" - // "WARNING_CROSSING_RAILROAD" - // "WARNING_CROSSING_SCHOOL" - // "WARNING_ROAD_WORK" - // "INFO" - Signs providing information about the area, nearby POIs, or other - // items of interest to readers. - // "INFO_BOUNDARY" - // "INFO_BOUNDARY_BUILT_UP_AREA" - Signs placed when entering/exiting - // built-up areas to inform people. Definition of build-up area can differ - // regionally, captured by TYPE_BUILT_UP_AREA features in MapFacts (go/buas for - // more details). - // "INFO_BOUNDARY_BUILT_UP_AREA_START" - // "INFO_BOUNDARY_BUILT_UP_AREA_END" - // "INFO_BOUNDARY_RESIDENTIAL" - Signs placed entering/exiting dense - // residential neighborhoods where pedestrians and children might be present on - // or near the road often. - // "INFO_BOUNDARY_RESIDENTIAL_START" - // "INFO_BOUNDARY_RESIDENTIAL_END" - // "INFO_TRANSIT" - Transit signs that help users enter or navigate to - // transit locations inside buildings and potentially out on the roads too. - // These signs are more common inside transit stations, airports, and other - // complex multitenant buildings. - // "AUXILIARY" - Auxiliary signs that might not mean much by themselves, but - // they provide context combined with other signs. They can be text or symbolic - // addendums. For example, a sign can have time info e.g. (9AM-5PM), meaning - // that the sign is only applicable in the aforementioned time window. - // "AUXILIARY_ANIMAL" - // "AUXILIARY_DIRECTION" - // "AUXILIARY_DISTANCE" - // "AUXILIARY_TIME" - // "AUXILIARY_WEATHER" - // "AUXILIARY_WEIGHT" - // "AUXILIARY_VEHICLE" - SemanticType string `json:"semanticType,omitempty"` - // Text: If this sign component is of type "TYPE_TEXT", this field contains the - // text of the component. A NameProto is used to allow language and flags to be - // associated with the text. - Text *GeostoreNameProto `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "FeatureId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FeatureId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRoadSignComponentProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRoadSignComponentProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRoadSignProto: A RoadSignProto holds the details of a road sign. -// Currently this is simply a list of the items that appear on the sign and -// their relative position. -type GeostoreRoadSignProto struct { - // Component: The list of components for a single road sign. A sign may be - // composed of multiple components, each with its own position and content. - Component []*GeostoreRoadSignComponentProto `json:"component,omitempty"` - // ForceSendFields is a list of field names (e.g. "Component") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Component") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRoadSignProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRoadSignProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRouteAssociationProto: This protocol buffer holds metadata about the -// association between a segment and a route. -type GeostoreRouteAssociationProto struct { - // DisplayPreference: clang-format on - // - // Possible values: - // "DISPLAY_PREFERRED" - These routes should be displayed along this segment. - // "DISPLAY_BEST" - Among the preferred routes, this is the best one to - // display. There can be at most one of these per segment. - // "DISPLAY_OK" - These are also valid route names to display, but clients - // should choose PREFERRED routes if available. - // "DISPLAY_HIDE" - These routes should not be displayed. - DisplayPreference string `json:"displayPreference,omitempty"` - // Metadata: Field-level metadata for the route association. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // Route: Identifies the route feature to which this metadata applies. This is - // one of the routes the segment refers to via the SegmentProto.route field. - Route *GeostoreFeatureIdProto `json:"route,omitempty"` - // RouteDirection: The direction of the TYPE_ROUTE feature in this route - // association. A small number of countries (mostly just the United States, - // Mexico, and Canada) use directional routes. For example, in the United - // States highway US-1 is referred to as US-1 North or US-1 South on the sides - // where flow of traffic moves in those directions. - // - // Possible values: - // "DIRECTION_NONE" - DIRECTION_NONE value is reserved and only present there - // to avoid using a meaningful entry as the default value. RESERVED - // "DIRECTION_NORTH" - // "DIRECTION_EAST" - // "DIRECTION_SOUTH" - // "DIRECTION_WEST" - // "DIRECTION_NORTHEAST" - // "DIRECTION_NORTHWEST" - // "DIRECTION_SOUTHEAST" - // "DIRECTION_SOUTHWEST" - // "DIRECTION_INNER" - Inner/Outer loop. Short names are not supported. The - // actual direction depends on the local driving rule (right-handed vs. - // left-handed). TODO(b/291302506) If you need an explicit loop direction or a - // road sign uses clockwise/counterclockwise, don't use INNER/OUTER but - // consider adding DIRECTION_CLOCKWISE and DIRECTION_COUNTERCLOCKWISE instead. - // "DIRECTION_OUTER" - RouteDirection string `json:"routeDirection,omitempty"` - // ForceSendFields is a list of field names (e.g. "DisplayPreference") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DisplayPreference") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRouteAssociationProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRouteAssociationProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreRouteProto: A route is a collection of segments that forms a logical -// group - usually a named road or highway. Segments can belong to more than -// one route, and the segments of one route may be a subset of the segments of -// another route (e.g. I-5 N is a subset of I-5). Segments in the collection -// that define the route do not need to constitute a single uninterrupted line, -// there can be disconnects. The standard feature properties are interpreted as -// follows: name - Routes should have one or more names. (While unnamed roads -// certainly exist in the real world, we choose not to create route features -// for such roads. Instead, the unnamed segments are merely not part of any -// route.) address - This should always be empty. type - Specifies a particular -// route subtype, see feature.proto. point - This should always be empty. -// polyline - This should always be empty. polygon - This should always be -// empty. child - The pairs of segments that belong to this route (a given -// route should always reference segments in both travel directions). -type GeostoreRouteProto struct { - // ChildType: The feature type of the route children. Should be set if and only - // if all children are of the same feature type. - ChildType int64 `json:"childType,omitempty"` - // ForceSendFields is a list of field names (e.g. "ChildType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ChildType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreRouteProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreRouteProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreSchoolDistrictProto: This protocol buffer holds school district -// specific attributes for features of TYPE_SCHOOL_DISTRICT. -type GeostoreSchoolDistrictProto struct { - // Possible values: - // "TYPE_UNIFIED" - // "TYPE_ELEMENTARY" - // "TYPE_SECONDARY" - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSchoolDistrictProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSchoolDistrictProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreSegmentPathProto: A segment path describes a path through a short -// set of segments. The segment path can be used for any purpose. At the -// moment, only TYPE_ROAD_SIGN features can have associated segment paths: The -// segment path lists the segments that refer to the sign. These are the -// segments for which the sign is applicable. The sign's physical location is -// independent of the segments in the path. -type GeostoreSegmentPathProto struct { - // Subpath: Specifies a sequence of feature ids of GeoStore segments. The - // feature ids are ordered. The path "AB" is not the same as the path "BA". The - // segments along the path are assumed to be connected via the appropriate - // intersections. The segment features that are referenced by this subpath - // refer to this feature back via the road_sign field in segment proto - // extension. - Subpath []*GeostoreFeatureIdProto `json:"subpath,omitempty"` - // ForceSendFields is a list of field names (e.g. "Subpath") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Subpath") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSegmentPathProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSegmentPathProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreSegmentProto: -// --------------------------------------------------------------------------- -// WARNING - if you add new fields to SegmentProto (or to other protos used by -// SegmentProto), you need to: - ensure that the ShortSegmentsMerger class (in -// geostore/tools/internal/mr-mergesegments.cc) is aware of them, otherwise the -// new fields will be discarded randomly. - consider whether they should be -// cleared in the ClearFeature() function (in -// maps/render/process-high-priority-roads.cc) if they are irrelevant for -// rendering high priority roads at far-out zoom levels. - update the test -// cases that ensure these two packages know all the SegmentProto fields in -// both mr-mergesegments_test.cc and -// maps/render/process-high-priority-roads_test.cc or you will break the -// VersaTile build. -// --------------------------------------------------------------------------- -type GeostoreSegmentProto struct { - AdvisoryMaximumSpeed []*GeostoreAppliedSpeedLimitProto `json:"advisoryMaximumSpeed,omitempty"` - // Altitude: RESERVED - Altitude []float64 `json:"altitude,omitempty"` - // AvgSpeedKph: The average speed that should be expected along this route - // under normal conditions, in kilometers per hour. (Hopefully we'll replace - // this with something a lot more sophisticated.) - AvgSpeedKph float64 `json:"avgSpeedKph,omitempty"` - // AvgSpeedKphMetadata: Field-level metadata for the average speed. - AvgSpeedKphMetadata *GeostoreFieldMetadataProto `json:"avgSpeedKphMetadata,omitempty"` - // Barrier: clang-format on - // - // Possible values: - // "BARRIER_NONE" - Some barrier which prevents turns in the middle of a - // segment, but the details are not known (or the tester doesn't care to - // distinguish between legal and physical barriers). - // "BARRIER_PRESENT" - // "BARRIER_LEGAL" - An example of this in the United States would be a pair - // of double-yellow lines. This pattern indicates that all turns are legally - // prohibited. - // "BARRIER_PHYSICAL" - A concrete strip, island, planter, or other physical - // barrier. This category is also used when we model the roadways are - // separated. - Barrier string `json:"barrier,omitempty"` - // BarrierMetadata: Field-level metadata for the barrier. - BarrierMetadata *GeostoreFieldMetadataProto `json:"barrierMetadata,omitempty"` - // BicycleFacility: clang-format on - // - // Possible values: - // "BICYCLE_FACILITY_SEPARATE_TRAIL" - This segment has a detached trail or - // path running alongside it, suitable for the use of cyclists. When a segment - // has this attribute, there should never be a distinct segment for the trail, - // because the road and trail are part of the same logical segment. In other - // words, the trail is modeled by this attribute on its associated road, rather - // than by a separate segment. - // "BICYCLE_FACILITY_PEDESTRIAN_PATH" - This segment has a sidewalk or other - // pedestrian pathway that permits bicycles. - // "BICYCLE_FACILITY_BIKE_FRIENDLY_PEDESTRIAN_PATH" - This segment has a - // bike-friendly (e.g., wide) sidewalk or other pedestrian pathway. - // "BICYCLE_FACILITY_SHARED_ROAD" - This segment allows bicycles to share the - // road with motor vehicles. It may or may not provide special accommodation - // for cyclists. - // "BICYCLE_FACILITY_BIKE_LANE" - This segment has a striped bicycle lane. - // "BICYCLE_FACILITY_BIKE_LANE_WITH_PEDESTRIAN_PATH" - This segment has a - // striped bicycle lane, and also has a sidewalk or other pedestrian pathway - // that permits bicycles. - // "BICYCLE_FACILITY_WIDE_SHOULDER" - This segment has a wide shoulder or - // curb lane. - // "BICYCLE_FACILITY_SHARROW" - This segment has pavement markings to make - // motorists aware of bicycles in a shared lane. - // "BICYCLE_FACILITY_SHARED_ROAD_WITH_PEDESTRIAN_PATH" - This segment allows - // bicycles to share the road with motor vehicles, and also has a sidewalk or - // other pedestrian pathway that permits bicycles. - BicycleFacility string `json:"bicycleFacility,omitempty"` - // Possible values: - // "BICYCLE_SAFETY_RECOMMENDED" - This segment is explicitly recommended as - // suitable for biking, for instance by a sign, by a city bike map, or by a - // user. - // "BICYCLE_SAFETY_NEUTRAL" - This segment is similarly suitable for biking - // as nearby segments with the same 'bicycle_facility'. - // "BICYCLE_SAFETY_CAUTION" - Cyclists should use extra caution on these - // segments, as they may be inferior in suitability for biking. - BicycleSafety string `json:"bicycleSafety,omitempty"` - // Possible values: - // "CONDITION_GOOD" - // "CONDITION_POOR" - Condition string `json:"condition,omitempty"` - // ConditionMetadata: Field-level metadata for the condition. - ConditionMetadata *GeostoreFieldMetadataProto `json:"conditionMetadata,omitempty"` - // ConstructionBeginDate: If known, the date that construction is scheduled to - // begin. - ConstructionBeginDate *GeostoreDateTimeProto `json:"constructionBeginDate,omitempty"` - // ConstructionEndDate: If known, the date that construction is scheduled to - // end. - ConstructionEndDate *GeostoreDateTimeProto `json:"constructionEndDate,omitempty"` - // Possible values: - // "CONSTRUCTION_PLANNED" - // "CONSTRUCTION_STARTED" - // "CONSTRUCTION_COMPLETE" - // "CONSTRUCTION_CLOSED_FOR_MAINTENANCE" - // "CONSTRUCTION_DISTURBED_BY_MAINTENANCE" - ConstructionStatus string `json:"constructionStatus,omitempty"` - // ConstructionStatusMetadata: Field-level metadata for the construction - // status. - ConstructionStatusMetadata *GeostoreFieldMetadataProto `json:"constructionStatusMetadata,omitempty"` - // Covered: Whether the segment is covered by a roof etc. If this field is - // missing, the status is unknown. - Covered bool `json:"covered,omitempty"` - // DistanceToEdge: Average distance between the segment's polyline and edge of - // the road on this side in meters. It need not be equal to the sum of width of - // all lanes in this direction. This width includes on-street bicycle lanes but - // excludes off-street lanes such as sidewalks. The edge of the road is the - // rightmost edge for segments in right side driving countries and leftmost - // edge for left side driving countries. Width of the road is sum of this and - // sibling's distance_to_edge. - DistanceToEdge float64 `json:"distanceToEdge,omitempty"` - // DistanceToEdgeMetadata: Field-level metadata for distance_to_edge. - DistanceToEdgeMetadata *GeostoreFieldMetadataProto `json:"distanceToEdgeMetadata,omitempty"` - // EdgeFollowsSegmentBeginFraction: These indicate for what portion of the - // segment does the outer curb of the segment follow the segment polyline - - // i.e., where do the sweep curves connect along the outer curb. If - // unspecified, may be assumed to be equal to lane retraction, preferring - // outermost lane. - EdgeFollowsSegmentBeginFraction float64 `json:"edgeFollowsSegmentBeginFraction,omitempty"` - EdgeFollowsSegmentEndFraction float64 `json:"edgeFollowsSegmentEndFraction,omitempty"` - // Elevation: clang-format on - // - // Possible values: - // "ELEVATION_NORMAL" - // "ELEVATION_BRIDGE" - // "ELEVATION_TUNNEL" - // "ELEVATION_SKYWAY" - A skyway is a road that is raised on supports for an - // extended length. - // "ELEVATION_STAIRWAY" - Sample path description: "Go up/down the stairs." - // PedestrianGradeCategory provides information about "up/down". - // "ELEVATION_ESCALATOR" - Sample path description: "Go up/down the - // escalator." PedestrianGradeCategory provides information about "up/down". - // "ELEVATION_ELEVATOR" - Sample path description: "Take the elevator up/down - // to the xth floor." PedestrianGradeCategory provides information about - // "up/down". - // "ELEVATION_SLOPEWAY" - Sample path description: "Ascend/descend the slope" - // PedestrianGradeCategory provides information about "ascend/descend". - // "ELEVATION_MOVING_WALKWAY" - Sample path description: "Get on the moving - // walkway." - Elevation string `json:"elevation,omitempty"` - // ElevationMetadata: Field-level metadata for the elevation. - ElevationMetadata *GeostoreFieldMetadataProto `json:"elevationMetadata,omitempty"` - // Endpoint: clang-format on - // - // Possible values: - // "ENDPOINT_UNKNOWN" - // "ENDPOINT_UNRESTRICTED" - This category is used in cases where traffic on - // this segment always has the right-of-way (e.g. passing a side street, fork - // in road). - // "ENDPOINT_UNCONTROLLED" - // "ENDPOINT_STOP_SIGN" - // "ENDPOINT_ALL_WAY_STOP" - // "ENDPOINT_TRAFFIC_LIGHT" - // "ENDPOINT_THREE_WAY" - Three-way in this direction - // "ENDPOINT_FLASHING_RED" - Flashing red light (stop) - // "ENDPOINT_FLASHING_YELLOW" - Flashing yellow light (yield) - // "ENDPOINT_YIELD" - Traffic on this segment has to give way to oncoming - // traffic, but does not necessarily have to come to a full stop. This category - // is used where there exists a physical yield sign and/or road painting - // (triangles), but also where circumstances and applicable local traffic laws - // require traffic on such segment to give way (e.g. coming from a dirt road - // onto a paved road). - // "ENDPOINT_MERGE" - // "ENDPOINT_ROUNDABOUT" - This segment leads to a roundabout entrance. Note - // this category is not used for segments themselves inside a roundabout. See - // USAGE_ROUNDABOUT for these. - // "ENDPOINT_RAILROAD_CROSSING" - // "ENDPOINT_NO_EXIT" - This category denotes a dead-end. Useful to - // explicitly exclude connections to other data-sets, for example at country - // borders and building entrances in countries where the indoor and outdoor - // routing networks are provided by different providers. - // "ENDPOINT_WRONG_WAY" - DEPRECATED Use RESTRICTION_WRONG_WAY - // "ENDPOINT_TOLL_BOOTH" - This segment directly ends at a toll booth. The - // intersection capturing these segments represents the location of the toll - // booth. If it has a name, this is captured in the TYPE_INTERSECTION_GROUP - // that contains the intersection. - Endpoint string `json:"endpoint,omitempty"` - // EndpointMetadata: Field-level metadata for the endpoint. - EndpointMetadata *GeostoreFieldMetadataProto `json:"endpointMetadata,omitempty"` - // GradeLevel: Detailed information about grade levels along the segment. If a - // GradeLevelProto is not present for any point (index) along the segment, the - // default grade level is zero. In between two points (indexes), the grade - // level of the segment is taken to be the max of the grade levels on either - // side of it. See gradelevel.proto for semantics of repeated indexes. - GradeLevel []*GeostoreGradeLevelProto `json:"gradeLevel,omitempty"` - // Internal: Internal-only data. - Internal *GeostoreInternalSegmentProto `json:"internal,omitempty"` - // InterpolationOffsetMeters: If specified, the perpendicular offset in meters - // from a road segment to an interpolated address along that road segment. See - // go/synthetic-address-positions. - InterpolationOffsetMeters float64 `json:"interpolationOffsetMeters,omitempty"` - // Intersection: The intersection feature corresponding to the destination of - // this segment. Intersections are used to represent the connectivity between - // segments. Each intersection stores the segment ids of all the incoming and - // outgoing segments that meet at that intersection. Turns can be made from - // this segment to any of the outgoing segments of its intersection, unless - // there is a restriction that explicitly disallows the turn (see below). Every - // segment has an intersection object, even if there are no other segments to - // connect to (i.e., a cul-de-sac or dead end). - Intersection *GeostoreFeatureIdProto `json:"intersection,omitempty"` - // IsMaxPermittedSpeedDerived: Specifies whether the max_permitted_speed_kph - // was derived from a heuristic as opposed to coming from an authoritative - // source. - IsMaxPermittedSpeedDerived bool `json:"isMaxPermittedSpeedDerived,omitempty"` - // Lane: Detailed information about each lane in this direction, if available. - // Lanes are numbered from inside of the road outward, i.e. the lane next to - // the center line has lane_number 0. Note that lanes that are valid for travel - // in both directions appear in both segments of a segment pair (left turn - // lanes, one-lane roads, some passing lanes, reversing lanes). Some lanes may - // not be usable by cars, such as bike lanes. Also, some lanes may not exist - // along the entire segment, e.g. left- or right-turn lanes that appear just - // before the intersection. - Lane []*GeostoreLaneProto `json:"lane,omitempty"` - // LegalMaximumSpeed: The legal maximum, legal minimum, and advisory - // (recommended but non-legally binding) maximum speed limits that are - // permitted on this segment. These should be the segment's legal limits; - // however, note that it may contain estimated values based on country-wide - // defaults and other heuristics (see 'AppliedSpeedLimitProto.trust_level'). - // Before exposing these fields to users as the legal speed limit please - // consult with Google lawyers. - LegalMaximumSpeed []*GeostoreAppliedSpeedLimitProto `json:"legalMaximumSpeed,omitempty"` - // LegalMinimumSpeed: - // LINT.ThenChange(//depot/google3/geostore/base/internal/segment.cc:has_speed_l - // imit) - LegalMinimumSpeed []*GeostoreAppliedSpeedLimitProto `json:"legalMinimumSpeed,omitempty"` - // MaxPermittedSpeedKph: LINT.IfChange(speed_limits) The maximum speed that is - // permitted on this segment, in kilometers per hour. This should be the - // segment's legal speed limit; however, note that it may contain estimated - // values based on country-wide defaults and other heuristics (see - // 'is_max_permitted_speed_derived' below). Before exposing this field to users - // as the legal speed limit please consult with Google lawyers. - MaxPermittedSpeedKph float64 `json:"maxPermittedSpeedKph,omitempty"` - // MaxPermittedSpeedKphMetadata: Field-level metadata for the maximum permitted - // speed. - MaxPermittedSpeedKphMetadata *GeostoreFieldMetadataProto `json:"maxPermittedSpeedKphMetadata,omitempty"` - // OnRight: Specifies whether this segment carries right-hand traffic (cars - // keep to the right side of the road) instead of left-hand traffic (cars keep - // to the left side). This is true for US roads and false for UK roads, for - // example. See go/wikip/Left-_and_right-hand_traffic. - OnRight bool `json:"onRight,omitempty"` - // PedestrianCrossing: Defines the pedestrian crossing(s) between the end point - // of this segment and the start point of this segment's sibling. - PedestrianCrossing *GeostorePedestrianCrossingProto `json:"pedestrianCrossing,omitempty"` - // PedestrianFacility: clang-format on - // - // Possible values: - // "PEDESTRIAN_FACILITY_UNKNOWN" - No data about pedestrian facility is - // available. - // "PEDESTRIAN_FACILITY_NONE" - No special pedestrian facilities are - // available on this segment. - // "PEDESTRIAN_FACILITY_PRESENT" - The segment has some kind of pedestrian - // facility, like a sidewalk or wide shoulder, that separates pedestrians from - // motor vehicle traffic. - // "PEDESTRIAN_FACILITY_SIDEWALK" - Deprecated. Sidewalks are represented via - // a TYPE_PEDESTRIAN lane. - // "PEDESTRIAN_FACILITY_WIDE_SHOULDER" - Deprecated. Wide shoulder is implied - // when segment.pedestrian_facility = PEDESTRIAN_FACILITY_PRESENT and - // segment.lane does not include a TYPE_PEDESTRIAN lane. - PedestrianFacility string `json:"pedestrianFacility,omitempty"` - // Possible values: - // "PEDESTRIAN_GRADE_FLAT" - // "PEDESTRIAN_GRADE_UP" - // "PEDESTRIAN_GRADE_DOWN" - PedestrianGrade string `json:"pedestrianGrade,omitempty"` - // Priority: - // LINT.ThenChange(//depot/google3/maps/pathfinder/pgraph/pgraph-segment-categor - // ies.cc) - // - // Possible values: - // "PRIORITY_UNKNOWN" - The priority of the segment is unknown. This is not - // actually allowed to be set in MapFacts, but best-practice is to have a - // default 0 value for enums. - // "PRIORITY_NON_TRAFFIC" - A non-traffic segment is not intended for normal - // vehicles, e.g. a pedestrian mall. 0x10 - // "PRIORITY_TERMINAL" - A terminal road is not intended to carry through - // traffic, e.g. a narrow residential street or an access road to a point of - // interest. 0x20 - // "PRIORITY_LOCAL" - A small city street, typically for travel in a - // residential neighborhood, or a small rural road. This is the lowest priority - // suitable for through traffic. 0x30 - // "PRIORITY_MINOR_ARTERIAL" - A moderate-capacity "collector" that funnels - // traffic from local roads towards arterial roads or business areas. 0x40 - // "PRIORITY_MAJOR_ARTERIAL" - A high-capacity road that carries large - // volumes of traffic between different neighborhoods or towns. 0x50 - // "PRIORITY_SECONDARY_ROAD" - Roads that act as conduits a) between primary - // highways (and above), or b) from major/minor arterial roads to primary - // highways (and above). They may be state highways, for example. 0x60 - // "PRIORITY_PRIMARY_HIGHWAY" - These highways are major preferred roads that - // connect between regions, but that do not have significant access - // restrictions. Most crossings are level grade (traffic light, stop sign) and - // there may be driveways and local roads that connect directly to the highway. - // NOTE: Where a dense network of limited/controlled access roads carries most - // of the traffic between regions, this priority may be infrequent. 0x70 - // "PRIORITY_LIMITED_ACCESS" - Limited access highways have some access - // restrictions, but are not fully access controlled. Typically driveways and - // local roads connect to a separate "frontage road" that is connected to the - // highway via spaced traffic lights, interchanges, or stop signs. Limited - // access roads are sometimes called expressways. 0x80 - // "PRIORITY_CONTROLLED_ACCESS" - Controlled access highways have - // grade-separated crossings and are accessed exclusively by ramps. They are - // usually called "freeways" or "motorways". 0x90 - Priority string `json:"priority,omitempty"` - // PriorityMetadata: Field-level metadata for the priority. - PriorityMetadata *GeostoreFieldMetadataProto `json:"priorityMetadata,omitempty"` - // Ramp: May only be set when the segment's usage is `USAGE_RAMP`. - Ramp *GeostoreSegmentProtoRampProto `json:"ramp,omitempty"` - // Restriction: The set of restrictions that apply to this segment. - // Restrictions may make a single segment, turn, or more complex maneuver along - // a set of segments unroutable for the specified travel modes, or may only add - // penalties or warnings, depending on the restriction type. Turn restrictions - // are one example of a restriction. By default, turns are allowed onto all - // outgoing segments from this segment's intersection (including the sibling of - // this segment, i.e. U-turns are allowed by default). If any of these turns - // are disallowed they will be listed as "subpath restrictions". A subpath - // restriction disallows travel on given sequence of segments. In the case of a - // disallowed turn, the subpath simply consists of the source and destination - // feature ids. There may also be restrictions that apply to all travel on this - // segment (e.g. chains required, or closed in winter), or restrictions that - // just apply to certain lanes (e.g. high occupancy vehicle lanes). - Restriction []*GeostoreRestrictionProto `json:"restriction,omitempty"` - // RoadMonitor: The road monitors that monitor this segment for traffic - // violations. - RoadMonitor []*GeostoreFeatureIdProto `json:"roadMonitor,omitempty"` - // RoadSign: The road sign(s) which this segment refers to. These are features - // of TYPE_ROAD_SIGN that are applicable to this segment. For example, a sign - // that says "TO KIRKLAND" might apply to several segments on a freeway - // off-ramp (until the end of the ramp). Note that this field makes it easy to - // find the signs for a given road segment. The feature for the sign lists the - // segments that refer to it. - RoadSign []*GeostoreFeatureIdProto `json:"roadSign,omitempty"` - // Route: The route(s) to which this segment belongs. - Route []*GeostoreFeatureIdProto `json:"route,omitempty"` - // RouteAssociation: Holds metadata about the associations between this segment - // and the route features listed in the route field. This metadata need not be - // present; the only consistency requirement is that every feature ID that - // appears inside 'route_association' must also appear in the repeated 'route' - // field. If a route does not appear in route_association, consumers should - // assume that it has a default initialized RouteAssociationProto. - RouteAssociation []*GeostoreRouteAssociationProto `json:"routeAssociation,omitempty"` - // SeparatedRoadways: Indicates whether the segment's opposing lanes of traffic - // are separated from this segment, and hence have been represented in a - // separate feature. This means that there are two pairs of siblings instead of - // one. - SeparatedRoadways bool `json:"separatedRoadways,omitempty"` - // Sibling: The other segment of this segment pair (see above). The segment - // that is referenced by the sibling field refers to this feature back via the - // same sibling field. Both segment and sibling should have the same properties - // such as geometry, country code, elevation, level relation, priority etc. - // Since routes are required to have segment and sibling at the same time, the - // set of routes on a segment is same to that of the sibling. - Sibling *GeostoreFeatureIdProto `json:"sibling,omitempty"` - // Slope: Each slope instance is tied to a point along the segment polyline - // (unrelated to the vertices in the segment's polyline) and represents the - // slope of the segment between that point and the point tied to the next slope - // istance, or the end of the segment if it's the last slope instance. A - // segment should have at least one slope. - Slope []*GeostoreSlopeProto `json:"slope,omitempty"` - // Surface: clang-format on - // LINT.ThenChange(//depot/google3/geostore/base/proto/lane.proto) Specific - // lanes may override this segment-level surface type. - // - // Possible values: - // "SURFACE_UNKNOWN" - RESERVED - // "SURFACE_PAVED" - // "SURFACE_ASPHALT" - // "SURFACE_CONCRETE" - // "SURFACE_CHIPSEAL" - // "SURFACE_BRICK" - // "SURFACE_SETT" - // "SURFACE_COBBLESTONE" - // "SURFACE_UNPAVED" - // "SURFACE_GRAVEL" - // "SURFACE_DIRT" - // "SURFACE_SAND" - Surface string `json:"surface,omitempty"` - // SurfaceMetadata: Field-level metadata for the surface. - SurfaceMetadata *GeostoreFieldMetadataProto `json:"surfaceMetadata,omitempty"` - // Sweep: The geometric sweeps between this segment and nearby segments, used - // for real road width rendering. A sweep describes the surface that connects - // to segments. - Sweep []*GeostoreSweepProto `json:"sweep,omitempty"` - // TollRoad: If this segment is part of a toll road. It would be nice to have - // data about the toll cost, locations of toll booths, and so forth. Sadly, we - // don't have this data at this time. - TollRoad bool `json:"tollRoad,omitempty"` - // Usage: clang-format on - // LINT.ThenChange(//depot/google3/maps/pathfinder/pgraph/pgraph-segment-categor - // ies.cc) - // - // Possible values: - // "USAGE_ANY" - Not a true usage category--this value was added just to ease - // the transition from proto1 to proto2. - // "USAGE_RAMP" - Ramps are connecting segments to or between limited access - // roads. They are often called "slip roads" in Europe. - // "USAGE_ON_RAMP" - // "USAGE_OFF_RAMP" - // "USAGE_ON_OFF_RAMP" - // "USAGE_INTERCHANGE" - // "USAGE_SPECIAL_TRAFFIC_FIGURE" - This road segment is part of a special - // traffic figure, which is like a roundabout or traffic circle, but doesn't - // meet all of the requirements of USAGE_ROUNDABOUT. It has a round shape but, - // e.g., there may be higher priority roads within the interior of the figure - // (also known as a hamburger roundabout), or the figure doesn't complete an - // entire circuit. - // "USAGE_ROUNDABOUT" - This road segment forms part of a roundabout or - // traffic circle (these terms don't have the exact same meaning, but the - // schema doesn't distinguish and captures both). Roundabouts complete one - // entire circuit, and are one-way through their entire circuit. Sample wording - // in directions: "At the roundabout, take the 2nd exit", or "Go through 1 - // roundabout". - // "USAGE_ROUNDABOUT_BYPASS" - This road segment is part of a bypass - // associated with, but not part of, a roundabout or traffic circle, that - // shortcuts the outer ring. - // "USAGE_ROUNDABOUT_INTERNAL_BYPASS" - This road segment is part of a - // special traffic figure that allows traffic to go straight through the - // roundabout without entering the circle part of the roundabout. Divides the - // roundabout into two halves. - // "USAGE_ROUNDABOUT_EXTERNAL_BYPASS" - Shortcut from the entrance of a - // roundabout to the same destination as the first exit from the roundabout - // relative to that entrance. - // "USAGE_ENCLOSED_TRAFFIC_AREA" - A parking lot or parking structure, - // possibly with multiple entrances that can be significant for routing. - // "USAGE_PEDESTRIAN_MALL" - A stretch of road closed to normal traffic - // (trams, buses, delivery vehicles may be allowed). - // "USAGE_MAJOR_PEDESTRIAN_MALL" - // "USAGE_MINOR_PEDESTRIAN_MALL" - // "USAGE_WALKWAY" - "Non-traffic" segments that are roughly associated with - // the road network but that are being modeled separately from the road - // network, e.g., a sidewalk or wide shoulder. In contrast, walkways modeled - // using segments that are part of the road network should be marked with - // pedestrian and bicycle facilities. NOTE: Separately modeled walkways are - // unusual and have issues; consult with oyster-team before using this in new - // data. - // "USAGE_TRAIL" - A non-road segment that can be described as a major path - // or a trail. A trail is often part of a dedicated network of named biking or - // walking trails, is not particularly short, and typically has scenic value or - // facilitates crossing rough terrain. USAGE_TRAIL implies that - // PRIORITY_NON_TRAFFIC must be set, but compared to a segment with no usage at - // all, is suitable for extra emphasis by clients as a more desirable segment - // to travel on. Minor paths, such as pedestrian shortcuts, walkways through - // building complexes, and short walkways through a city park should be modeled - // as PRIORITY_NON_TRAFFIC with no usage. Sample path description: "Take the - // trail." - // "USAGE_STATION_PATH" - Segment between toll gate and station center which - // represents logical location trains stop at. The segment's AddressComponent - // should have a route name which includes appropriate station name whenever - // possible. This segment should usually be restricted by - // RESTRICTION_USAGE_FEE_REQUIRED in order to penalize walking directions that - // just go through this segment. Sample path description: "Get in Shibuya - // station, and take the path to the platform." NOTE: This attribute is - // unusual; it should not be set in new data. - // "USAGE_ACCESS_PATH" - Alley in park, backyard of communal facilities such - // as museum, or kind of private properties open to public. The segment's - // AddressComponent should have a route name which includes the property's name - // whenever possible. This is different from trails as the purpose of the - // access path is more specific than trails. Sample path description: "Go - // through the access path to the National Museum." NOTE: This attribute is - // unusual and not clearly defined; it should not be set in new data. - // "USAGE_CROSSING" - A segment that connects separately modeled walkways (or - // other non-traffic segments) across a road. NOTE: USAGE_CROSSING segments - // make sense only where pedestrian segments are modeled separately. They - // cannot be used in the common case of sidewalks modeled as pedestrian - // facilities on road. Using a USAGE_CROSSING segment without connection to - // other non-traffic segments only to mark the location of a crossing is wrong. - // "USAGE_MARKED_CROSSING" - Crossing with mark. We assume zebra marking for - // now. Sample path description: "Take the crosswalk." - // "USAGE_UNMARKED_CROSSING" - Crossing with no mark Sample path description: - // "Cross the road." - // "USAGE_OVERPASS" - This is different from ELEVATION_SKYWAY as this implies - // "non-traffic". Sample path description: "Take the pedestrian overpass." - // "USAGE_UNDERPASS" - Underground crossing paths and implies "non-traffic". - // Sample path description: "Take the pedestrian underpass." - // "USAGE_HALLWAY" - Sample path description: "Go through the hallway." NOTE: - // This attribute is unusual and not clearly defined; it should not be set in - // new data. - // "USAGE_TURN_SEGMENT" - Turn segments are connecting segments between lower - // priority roads that bypass the direct intersection of the roads. They are - // the preferred route, or perhaps the only valid route, for turns between the - // roads. For example, in the US this would be a segment that would allow a - // vehicle to take a free right-turn without having to go through the - // intersection. Similarly in the UK, this would be a segment that allows a - // free left-turn. Also, the small segment next to the island of a channelized - // turn lane would fall under this category. - // "USAGE_INDOOR_CONNECTION_PATH" - Usage to explicitly indicate that the - // segment connects walking networks on indoor levels in different buildings. - Usage string `json:"usage,omitempty"` - // VisibleLandmark: A collection of landmarks that are visible when traveling - // along this segment and useful for wayfinding to users following routes using - // this segment. The landmark need not be on the segment. Each segment in a - // pair of siblings specifies its landmarks independently. A landmark - // applicable to both appears in both. - VisibleLandmark []*GeostoreLandmarkReferenceProto `json:"visibleLandmark,omitempty"` - // ForceSendFields is a list of field names (e.g. "AdvisoryMaximumSpeed") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AdvisoryMaximumSpeed") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSegmentProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSegmentProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreSegmentProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreSegmentProto - var s1 struct { - Altitude []gensupport.JSONFloat64 `json:"altitude"` - AvgSpeedKph gensupport.JSONFloat64 `json:"avgSpeedKph"` - DistanceToEdge gensupport.JSONFloat64 `json:"distanceToEdge"` - EdgeFollowsSegmentBeginFraction gensupport.JSONFloat64 `json:"edgeFollowsSegmentBeginFraction"` - EdgeFollowsSegmentEndFraction gensupport.JSONFloat64 `json:"edgeFollowsSegmentEndFraction"` - InterpolationOffsetMeters gensupport.JSONFloat64 `json:"interpolationOffsetMeters"` - MaxPermittedSpeedKph gensupport.JSONFloat64 `json:"maxPermittedSpeedKph"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Altitude = make([]float64, len(s1.Altitude)) - for i := range s1.Altitude { - s.Altitude[i] = float64(s1.Altitude[i]) - } - s.AvgSpeedKph = float64(s1.AvgSpeedKph) - s.DistanceToEdge = float64(s1.DistanceToEdge) - s.EdgeFollowsSegmentBeginFraction = float64(s1.EdgeFollowsSegmentBeginFraction) - s.EdgeFollowsSegmentEndFraction = float64(s1.EdgeFollowsSegmentEndFraction) - s.InterpolationOffsetMeters = float64(s1.InterpolationOffsetMeters) - s.MaxPermittedSpeedKph = float64(s1.MaxPermittedSpeedKph) - return nil -} - -// GeostoreSegmentProtoRampProto: Encapsulates ramp-specific properties. -type GeostoreSegmentProtoRampProto struct { - // MaxConnectedPriority: The highest priority of any TYPE_ROAD endpoint segment - // which is transitively connected to this ramp via other ramp segments. For - // instance, if we have two roads connected through a series of ramps (omitting - // intersections): Road(P=96)-> Ramp 1 -> Ramp 2 -> Ramp 3 -> Road(P=122) -> - // Road(P=144) The `max_connected_priority` of all three intermediary ramps is - // 122. It's not 144, since Road(P=144) is connected through another road, not - // a ramp. This differs from the usual `SegmentProto.priority` field, which - // contains the lowest priority across any connected road segment. - // - // Possible values: - // "PRIORITY_UNKNOWN" - The priority of the segment is unknown. This is not - // actually allowed to be set in MapFacts, but best-practice is to have a - // default 0 value for enums. - // "PRIORITY_NON_TRAFFIC" - A non-traffic segment is not intended for normal - // vehicles, e.g. a pedestrian mall. 0x10 - // "PRIORITY_TERMINAL" - A terminal road is not intended to carry through - // traffic, e.g. a narrow residential street or an access road to a point of - // interest. 0x20 - // "PRIORITY_LOCAL" - A small city street, typically for travel in a - // residential neighborhood, or a small rural road. This is the lowest priority - // suitable for through traffic. 0x30 - // "PRIORITY_MINOR_ARTERIAL" - A moderate-capacity "collector" that funnels - // traffic from local roads towards arterial roads or business areas. 0x40 - // "PRIORITY_MAJOR_ARTERIAL" - A high-capacity road that carries large - // volumes of traffic between different neighborhoods or towns. 0x50 - // "PRIORITY_SECONDARY_ROAD" - Roads that act as conduits a) between primary - // highways (and above), or b) from major/minor arterial roads to primary - // highways (and above). They may be state highways, for example. 0x60 - // "PRIORITY_PRIMARY_HIGHWAY" - These highways are major preferred roads that - // connect between regions, but that do not have significant access - // restrictions. Most crossings are level grade (traffic light, stop sign) and - // there may be driveways and local roads that connect directly to the highway. - // NOTE: Where a dense network of limited/controlled access roads carries most - // of the traffic between regions, this priority may be infrequent. 0x70 - // "PRIORITY_LIMITED_ACCESS" - Limited access highways have some access - // restrictions, but are not fully access controlled. Typically driveways and - // local roads connect to a separate "frontage road" that is connected to the - // highway via spaced traffic lights, interchanges, or stop signs. Limited - // access roads are sometimes called expressways. 0x80 - // "PRIORITY_CONTROLLED_ACCESS" - Controlled access highways have - // grade-separated crossings and are accessed exclusively by ramps. They are - // usually called "freeways" or "motorways". 0x90 - MaxConnectedPriority string `json:"maxConnectedPriority,omitempty"` - // ForceSendFields is a list of field names (e.g. "MaxConnectedPriority") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MaxConnectedPriority") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSegmentProtoRampProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSegmentProtoRampProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreServiceAreaProto: This proto represents the geographic area served -// by an establishment. WARNING: This proto is not meant to be used directly. -// Please use the provided libraries. -// http://google3/geostore/base/public/service_area.h -// http://google3/java/com/google/geostore/base/ServiceArea.java -type GeostoreServiceAreaProto struct { - // ServedFeature: The features that make up the service area for this - // establishment. These features are subject to the following constraints - // applied by editing middleware (notably, not strictly enforced by lints in - // storage): 1. The following feature types (and their subtypes) may be used: + - // TYPE_ISLAND + TYPE_POLITICAL, except the following prohibited subtypes: - - // TYPE_CONSTITUENCY - TYPE_LAND_PARCEL + TYPE_POSTAL 2. There is a maximum - // limit (currently 20) to the number of areas which may be provided. This is - // due to serving efficiency limitations. 3. There are no additional geometry - // requirements for these features beyond the requirements based on the feature - // types above. In practice this means that these features will either have - // polygonal or point-based geometries. 4. These referenced features are - // generally required to have names, though this is not strictly enforced. - ServedFeature []*GeostoreFeatureIdProto `json:"servedFeature,omitempty"` - // ForceSendFields is a list of field names (e.g. "ServedFeature") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ServedFeature") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreServiceAreaProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreServiceAreaProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreServicedStopProto: Defines an ordered reference to a line -// variant’s stop. -type GeostoreServicedStopProto struct { - // Id: Reference to a Transit POI feature (gcid:transit_station) or platform - // compound section (gcid:railway_platform) serviced by the line variant. - Id *GeostoreFeatureIdProto `json:"id,omitempty"` - // Index: An index representing the order in which the above station is - // serviced by the line variant. - Index int64 `json:"index,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreServicedStopProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreServicedStopProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreSkiBoundaryProto: This protocol buffer holds attributes for features -// of TYPE_SKI_BOUNDARY. -type GeostoreSkiBoundaryProto struct { - // Possible values: - // "TYPE_ANY" - ABSTRACT - // "TYPE_DANGER" - The boundary line for a danger area. This is used to mark - // lines that should not be crossed for reasons of safety. - // "TYPE_SKI_AREA" - The boundary line for a ski area. This is generally used - // to specify the line at which the ski resort ends, rather than a line - // enclosing a single ski run. - // "TYPE_SLOW_ZONE" - An area signposted for slow skiing only. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSkiBoundaryProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSkiBoundaryProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreSkiLiftProto: This protocol buffer holds attributes for features of -// TYPE_SKI_LIFT. -type GeostoreSkiLiftProto struct { - // Type: clang-format on - // - // Possible values: - // "TYPE_ANY" - ABSTRACT - // "TYPE_SURFACE" - Surface lifts are those that pull or carry a skier along - // the ground; rope tows are a common example. - // "TYPE_T_BAR" - // "TYPE_J_BAR" - // "TYPE_ROPE_TOW" - // "TYPE_POMA" - // "TYPE_CARPET" - // "TYPE_FUNICULAR" - // "TYPE_GONDOLA" - An aerial lift, such as a gondola or funitel, that moves - // enclosed cars along a continuously circulating set of cables. - // "TYPE_CHAIR" - An open-air chair lift. - // "TYPE_AERIAL" - Aerial lifts are those that run along cables suspended - // above the ground - // "TYPE_TRAM" - An aerial tram system that shuttles back and forth along a - // fixed set of cables. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSkiLiftProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSkiLiftProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreSkiTrailProto: This protocol buffer holds attributes for features of -// TYPE_SKI_TRAIL. -type GeostoreSkiTrailProto struct { - // Possible values: - // "DIFFICULTY_EASIEST" - The easiest ski trail. In the US, this would be - // marked with double-green circles. - // "DIFFICULTY_EASY" - A novice ski trail. In the US, this would be marked - // with a single green circle. - // "DIFFICULTY_INTERMEDIATE" - An intermediate-level ski trail. In the US, - // this would be marked with a single blue square. - // "DIFFICULTY_ADVANCED_INTERMEDIATE" - An advanced-intermediate level ski - // trail. In the US, this would be marked with double-blue squares. - // "DIFFICULTY_DIFFICULT" - A difficult-level ski trail. In the US, this - // would be marked with a single black diamond. - // "DIFFICULTY_ADVANCED_DIFFICULT" - An advanced-difficult level ski trail. - // In the US, this would be marked with double-black diamonds. - Difficulty string `json:"difficulty,omitempty"` - // Possible values: - // "TYPE_ANY" - ABSTRACT - // "TYPE_GLADE" - Glade trails are ski paths that traverse wooded areas; they - // may be well-defined or not, and groomed or ungroomed. Ideally, they should - // be rendered differently on map tiles to distinguish them from standard ski - // trails. - // "TYPE_TRAIL_TERRAIN" - A terrain-park area, usually containing special - // features such as jumps or half-pipes. - // "TYPE_TRAIL" - A regular ski-trail. - // "TYPE_RACE_COURSE" - A trail specifically used for ski races. - // "TYPE_BOWL" - Bowls are large open areas, usually steep and often rocky, - // that are open for skiing but don't have defined trails. They are frequented - // mostly by expert skiers. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Difficulty") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Difficulty") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSkiTrailProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSkiTrailProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreSlopeProto struct { - // SlopeValue: Slope value as elevation change divided by horizontal distance, - // in the format of decimal, e.g., ‘0.1234’ means a 12.34% slope. If a - // slope_value is unset, it indicates we don’t have enough information to - // compute slope at this location. - SlopeValue float64 `json:"slopeValue,omitempty"` - // StartPointFraction: Indicates how far along the segment this slope value - // starts to apply, in the format of decimal between 0 and 1. - StartPointFraction float64 `json:"startPointFraction,omitempty"` - // ForceSendFields is a list of field names (e.g. "SlopeValue") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SlopeValue") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSlopeProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSlopeProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreSlopeProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreSlopeProto - var s1 struct { - SlopeValue gensupport.JSONFloat64 `json:"slopeValue"` - StartPointFraction gensupport.JSONFloat64 `json:"startPointFraction"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.SlopeValue = float64(s1.SlopeValue) - s.StartPointFraction = float64(s1.StartPointFraction) - return nil -} - -// GeostoreSocialReferenceProto: MapFacts GAIA ID assigned to this feature. -// These values are virtual GAIA IDs from MapFacts, and as such are not stored -// in Focus. -type GeostoreSocialReferenceProto struct { - // BaseGaiaId: WARNING: Please do NOT introduce new uses; treat this field as - // if it were deprecated. - BaseGaiaId int64 `json:"baseGaiaId,omitempty,string"` - // ClaimedGaiaId: GAIA ID used when a business has been claimed. This value is - // a robot GAIA ID. Robots are a special type of GAIA account used to denote - // identity for a user or a group of users, but are not logged-in directly by a - // user. - ClaimedGaiaId int64 `json:"claimedGaiaId,omitempty,string"` - // GaiaIdForDisplay: WARNING: Please do NOT introduce new uses; treat this - // field as if it were deprecated. - GaiaIdForDisplay int64 `json:"gaiaIdForDisplay,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "BaseGaiaId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BaseGaiaId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSocialReferenceProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSocialReferenceProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreSourceInfoProto: Source infos are the canonical way to establish -// data provenance. They can currently be set on features, edits, and issues. -// Every feature has a repeated list of SourceInfoProto messages to describe -// the source data that was used in building this feature. The data includes a -// feature id that points to additional data about the data source (version, -// copyright notice, etc), and optional "raw data" that is taken directly from -// the provider's format and has not been converted to a canonical form. -type GeostoreSourceInfoProto struct { - // AttributionUrl: This is the URL of a page representing all the data from - // this source in this feature. It may have be the ultimate source of the data - // (in case of scraping) or merely the same data styled according the - // provider's taste. There is a similar field in DataSourceProto which is NOT - // cached in this field, since it has a different meaning. - AttributionUrl []*GeostoreUrlProto `json:"attributionUrl,omitempty"` - // CollectionDate: The time that this particular piece of data was collected. - // If different attributes were collected on different dates, this is the date - // of the most recent edit. - CollectionDate *GeostoreDateTimeProto `json:"collectionDate,omitempty"` - // Cookie: A source info may have a magic cookie whose content and semantics - // are defined by the specific import process or third-party feed. For feeds - // that are processed by Distillery, the cookie, when set, should contain the - // unique identifier for the feature as provided by the feed. - Cookie string `json:"cookie,omitempty"` - // Dataset: The dataset from which this SourceInfoProto was created. The - // content of this string will be determined by the data provider (e.g. for - // MultiNet data, "fra" would indicate the dataset for France). This field is - // unnecessary for providers that deliver a single dataset per release (e.g. - // Basarsoft). - Dataset string `json:"dataset,omitempty"` - // GaiaId: The Gaia ID of the user who provided us with this data. This field - // should never be set on source infos present on features, but may be set on - // source infos present on edits. DEPRECATED: Most clients should use the - // "user" field instead where Gaia IDs are encrypted. - GaiaId int64 `json:"gaiaId,omitempty,string"` - // ImpersonationUser: Information about an internal user or system that is - // operating on behalf of `user` by way of impersonation. - ImpersonationUser *GeostoreUserProto `json:"impersonationUser,omitempty"` - // Layer: The name of the layer from which this SourceInfoProto was created. - Layer string `json:"layer,omitempty"` - // OgrFid: The OGR feature identifier from which this SourceInfoProto was - // created. This is an internal OGR record identifier and has nothing to do - // with any of the feature's fields or the FeatureIdProto for the FeatureProto - // containing this SourceInfoProto. This field is present only for debugging - // purposes and possible use in the match pattern of a FeatureChangeProto - // designed to fix bad source data very early in the importing process. - OgrFid int64 `json:"ogrFid,omitempty,string"` - // Provider: The data provider from which this source info was generated. The - // value must be equal to the one on the TYPE_DATA_SOURCE feature referenced by - // this source info via the source_id reference (see above). - Provider int64 `json:"provider,omitempty"` - // RawData: A source info may optionally have a set of key-value pairs that - // provide "raw data" specific to that source. The types of raw data available - // will vary from one provider to another and should not be used in production - // code. Instead, new fields and/or protocol buffers should be defined to - // represent this information in a canonical form, and the relevant importers - // should be modified to populate these new fields. - RawData []*GeostoreRawDataProto `json:"rawData,omitempty"` - // Release: The data release from which this SourceInfoProto was created. The - // format for this string is provider-dependent (e.g. a MultiNet release would - // look like "2008.01"). - Release string `json:"release,omitempty"` - // SourceId: A source info may have a corresponding TYPE_DATA_SOURCE feature - // that describes it (provider, copyright information, date of release, etc). - // In the context of edits and issues, this field should not be set. - SourceId *GeostoreFeatureIdProto `json:"sourceId,omitempty"` - // TemporaryData: A place for clients to attach arbitrary data to a source - // info. Never set in MapFacts. - TemporaryData *Proto2BridgeMessageSet `json:"temporaryData,omitempty"` - // User: RESERVED - User *GeostoreUserProto `json:"user,omitempty"` - // ForceSendFields is a list of field names (e.g. "AttributionUrl") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AttributionUrl") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSourceInfoProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSourceInfoProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreSourceTrustProto: Trust related information about the input source -// (feed or user) to help feature summarization. Typically, the values in this -// proto are either based on source's previous observations (e.g., a blocked -// LBC user or a trusted feed) or their status (Google hired operator or admin -// user). The proto can later contain a more granular trust score or -// correctness probabilities. A higher enum value indicates a more trusted -// source. Leaving room in the value space for adding more granular enums, if -// they become necessary later. -type GeostoreSourceTrustProto struct { - // Level: The level of trust for the source of the observation. - // - // Possible values: - // "UNKNOWN" - Value not set - // "BLOCKED" - Should not be used (e.g. known spammer, 404 url) - // "NOT_TRUSTED" - Edits from external users. - // "YP_FEEDS" - Trusted feeds like IUSA etc. (See note below). - // "TRUSTED" - Internal operators, approved edits. - // "SUPER_TRUSTED" - Internal admin operators - Level string `json:"level,omitempty"` - // ForceSendFields is a list of field names (e.g. "Level") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Level") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSourceTrustProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSourceTrustProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreSpeedLimitProto: A speed limit, containing both the limit and the -// conditions in which it applies. -type GeostoreSpeedLimitProto struct { - // Category: The type of speed limit. - // - // Possible values: - // "SPEED_LIMIT_CATEGORY_UNKNOWN" - Default proto value, this value will - // never be set in MapFacts. - // "NONE" - Speed limits that apply outside of any particular category - // (contrast to the following categories.) - // "SCHOOL" - Speed limits that apply in a school zone. - // "CONSTRUCTION" - Speed limits that apply in a construction zone. - Category string `json:"category,omitempty"` - // Condition: The conditions under which this speed limit is applicable. If - // multiple conditions are set, at least one of them must be true. - Condition []*GeostoreRoadConditionalProto `json:"condition,omitempty"` - // SourceType: The source of the speed limit. - // - // Possible values: - // "SPEED_LIMIT_SOURCE_TYPE_UNKNOWN" - Speed limit source is unknown for - // various reasons. Default value. - // "EXPLICIT" - The speed limit was derived from an explicit observation - // (such as a speed limit sign). - // "IMPLICIT" - The speed limit was derived implicitly by some policy or - // regulation (i.e. statuatory speed limit). An implicit speed limit value that - // is curated from statutory speed limit. - SourceType string `json:"sourceType,omitempty"` - // SpeedWithUnit: A constant speed limit. - SpeedWithUnit *GeostoreSpeedProto `json:"speedWithUnit,omitempty"` - // UnlimitedSpeed: A speed limit with no limit value. When there is no speed - // limit in place. - UnlimitedSpeed *GeostoreUnlimitedSpeedProto `json:"unlimitedSpeed,omitempty"` - // VariableSpeed: A dynamic speed limit that can vary within a range of values - // based on road conditions. - VariableSpeed *GeostoreVariableSpeedProto `json:"variableSpeed,omitempty"` - // ForceSendFields is a list of field names (e.g. "Category") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Category") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSpeedLimitProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSpeedLimitProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreSpeedProto: A speed value and unit. -type GeostoreSpeedProto struct { - // Speed: All speed values are stored in kilometers per hour. - Speed float64 `json:"speed,omitempty"` - // Unit: Mapfacts only allows unit to be KILOMETERS_PER_HOUR. - // - // Possible values: - // "UNIT_UNKNOWN" - Default proto value, this value will never be set in - // MapFacts. - // "MILES_PER_HOUR" - // "KILOMETERS_PER_HOUR" - Unit string `json:"unit,omitempty"` - // ForceSendFields is a list of field names (e.g. "Speed") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Speed") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSpeedProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSpeedProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreSpeedProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreSpeedProto - var s1 struct { - Speed gensupport.JSONFloat64 `json:"speed"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Speed = float64(s1.Speed) - return nil -} - -// GeostoreStableFieldPathProto: Represents a way to traverse nested fields by -// referencing their token fields. Everything starts relative to a known root -// message, specified externally. E.g., suppose we have a feature proto that -// has a lane with token 0x123 which in turn has a lane connection with token -// 0x456 for which we want to assert something about flowline altitudes. The -// field path in that case will look like: field_path: { field_num: 31 # -// segment } field_path: { field_num: 6 # lane version_token: "0x123" } -// field_path: { field_num: 8 # lane_connection version_token: "0x456" } -// field_path: { field_num: 3 # flow } field_path: { field_num: 1 # track } -// field_path: { # Note: pose is repeated. By not specifying a token we refer -// to all poses # in a track. field_num: 2 # pose } field_path: { field_num: 4 -// # altitude } This path could also be represented succinctly in a more -// human-friendly form as something like: -// segment.lane[@0x123].lane_connection[@0x456].flow.track.pose[*].altitude -type GeostoreStableFieldPathProto struct { - // FieldPath: A sequence of field selectors to be traversed starting from the - // root message. - FieldPath []*GeostoreStableFieldPathProtoStableFieldSelector `json:"fieldPath,omitempty"` - // ForceSendFields is a list of field names (e.g. "FieldPath") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FieldPath") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreStableFieldPathProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreStableFieldPathProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreStableFieldPathProtoStableFieldSelector struct { - // FieldNum: Field number to select. - FieldNum int64 `json:"fieldNum,omitempty"` - // VersionToken: Select repeated field entry by its version token. If this is - // used, then the message referenced by field_num must have a token field - // annotated with the (version_token) field option. Must be omitted for leaf - // non-repeated fields. If unset for a repeated field, we consider this - // selector to apply equally to all descendants. - VersionToken string `json:"versionToken,omitempty"` - // ForceSendFields is a list of field names (e.g. "FieldNum") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FieldNum") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreStableFieldPathProtoStableFieldSelector) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreStableFieldPathProtoStableFieldSelector - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreSweepProto: This protocol buffer represents the 2D polygon -// connecting two segments at an intersection. Collectively, sweep polygons -// represent intersections for real road width rendering. Notes: - Sweeps -// represent geometry between the *end* of one segment and the *end* of the -// other segment (modulo retraction values). - Sweeps are strongly referenced, -// meaning geometry is stored on both segments involved in the sweep. For -// example, in the diagram below, the sweep between A and B would be stored on -// both segment A and segment B. | B | v --A--> - Sweeps are not strictly -// stored on adjacent segments. Disconnected segments (e.g., segments separated -// by an intersection group) may also contain sweeps. -type GeostoreSweepProto struct { - // OtherSegmentFeatureId: The segment feature connected to this segment via the - // sweep geometry. - OtherSegmentFeatureId *GeostoreFeatureIdProto `json:"otherSegmentFeatureId,omitempty"` - // Polygon: Polygonal geometry representing the area between this segment and - // the other segment. - Polygon *GeostorePolygonProto `json:"polygon,omitempty"` - // SweepCurve: Describes parameters for generating the edge of this sweep that - // starts at edge_follows_segment_end_fraction. The other side of the sweep - // should be described on the sweep present on the sibling pair. - SweepCurve *GeostoreCurveConnectionProto `json:"sweepCurve,omitempty"` - // SweepToken: A token that can be used to identify the version of the data - // about this sweep. - SweepToken string `json:"sweepToken,omitempty"` - // ForceSendFields is a list of field names (e.g. "OtherSegmentFeatureId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OtherSegmentFeatureId") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreSweepProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreSweepProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTelephoneProto: This protocol buffer is used to represent telephone -// numbers and related information. -type GeostoreTelephoneProto struct { - // CallRate: RESERVED - CallRate []*GeostorePriceRangeProto `json:"callRate,omitempty"` - // ContactCategory: Disambiguates between the types of information or service a - // caller might seek when contacting this phone number. - // - // Possible values: - // "CONTACT_CATEGORY_UNSPECIFIED" - // "CUSTOMER_SERVICE" - Provides service to customers before, during, or - // after a purchase. /m/03w5xm - // "RESERVATIONS" - Allows customers to reserve a seat, ticket, room, etc. - // /m/0n9nm2h - // "SALES" - Provides information about a purchase of a product or service. - // /m/014dgf - ContactCategory string `json:"contactCategory,omitempty"` - // Possible values: - // "FLAG_NO_COLD_CALLS" - DEPRECATED - // "FLAG_PREFERRED" - This number is (one of) the preferred numbers to call. - // It should be displayed before other numbers in maps/placepage, for example. - // For each language served, there shall be at most 1 preferred phone (i.e., if - // there are two preferred phones, then the intersection between the "language" - // array should be empty). Note that the presence of a "preferred" phone - // doesn't state that we have no confidence on the other numbers of this - // establishment. The preference is based on the fact that this number is the - // primary customer service number, reservation hot line, etc. - Flag []string `json:"flag,omitempty"` - // IsSharedNumber: True if this phone number is not unique to this - // establishment and might be shared with other features. In case an - // establishment shares a phone number with a business chain of which it is a - // member, and the number canonically belongs to that chain, it should be - // marked as shared for the establishment but not shared for the chain. - IsSharedNumber bool `json:"isSharedNumber,omitempty"` - // Label: RESERVED - Label []*GeostoreNameProto `json:"label,omitempty"` - // Language: RESERVED - Language []string `json:"language,omitempty"` - // Metadata: Field-level metadata for this telephone number. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // Number: ** DEPRECATED ** This is deprecated in favor of phone_number below. - // An internationalized representation of a phone number. See - // //location/country/telephonenumber.proto - Number *TelephoneNumber `json:"number,omitempty"` - // PhoneNumber: An internationalized representation of a phone number. See - // //java/com/google/i18n/phonenumbers/phonenumber.proto - PhoneNumber *I18nPhonenumbersPhoneNumber `json:"phoneNumber,omitempty"` - // ServiceLocationFeature: The features from which this phone number can be - // called from. For instance, if a phone number can only be called from Europe, - // this field will contain a reference to the TYPE_CONTINENT feature of Europe. - // This field is analogous to - // http://kg/schema/common/phone_number/service_location. The only valid - // destination feature types are TYPE_CONTINENT and TYPE_POLITICAL. If empty, - // this phone number can be called from anywhere in Earth (this is the case for - // the majority of phones). - ServiceLocationFeature []*GeostoreFeatureIdProto `json:"serviceLocationFeature,omitempty"` - // Possible values: - // "VOICE" - // "FAX" - // "TDD" - // "DATA" - // "MOBILE" - The MESSAGING type should not be used in FeatureProto, but will - // be used in the context of KG /common/phone_number/type. - // "MESSAGING" - RESERVED - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "CallRate") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CallRate") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTelephoneProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTelephoneProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTemporaryClosureProto: This protocol buffer stores information -// related to temporary closure of a feature. The only allowed precisions for a -// date is PRECISION_DAY. DateTimeProto.seconds should have the lowest legal -// value for the desired date/time and precision. E.g. for PRECISION_MONTH, -// 2019-02-15 21:10:30 is not valid, it should be 2019-02-01 00:00:00 instead. -// NOTE: Each date is stored in UTC but should be interpreted as being in the -// local timezone. So clients should convert the DateTimeProto to local (civil) -// time using UTC+0, and then treat the result as local to the feature. -type GeostoreTemporaryClosureProto struct { - // EndAsOfDate: The latest when this closure may end, if the exact date is - // unknown. If set, the feature is operational again no later than this date. - EndAsOfDate *GeostoreDateTimeProto `json:"endAsOfDate,omitempty"` - // EndDate: RESERVED - EndDate *GeostoreDateTimeProto `json:"endDate,omitempty"` - // StartAsOfDate: The latest when this closure may start, if the exact date is - // unknown. If set, the feature is temporarily closed starting no later than - // this date. - StartAsOfDate *GeostoreDateTimeProto `json:"startAsOfDate,omitempty"` - // StartDate: RESERVED - StartDate *GeostoreDateTimeProto `json:"startDate,omitempty"` - // ForceSendFields is a list of field names (e.g. "EndAsOfDate") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EndAsOfDate") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTemporaryClosureProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTemporaryClosureProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTextAffixProto: Represents text (with an associated language) that -// is affixed to the beginning and/or end of a primary text. -type GeostoreTextAffixProto struct { - // Language: The external form of a Google International Identifiers Initiative - // (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for - // details. These strings should be treated as opaque blobs. You can use - // LanguageCodeConverter::FromOther to convert the string to a LanguageCode - // reference. You can then call methods on the LanguageCode class to extract - // language/script/region subtags (if any). See also - // http://g3doc/i18n/identifiers/g3doc/using-iii. We place extra restrictions - // on languages in addition to what the III library requires. See - // http://go/geo-schema-reference/feature-properties/languages.md - Language string `json:"language,omitempty"` - // Prefix: Text to prepend to the primary text, including any necessary - // trailing whitespace. At least one of prefix or suffix is required. - Prefix string `json:"prefix,omitempty"` - // Suffix: Text to append to the end of the primary text, including any - // necessary leading whitespace. At least one of prefix or suffix is required. - Suffix string `json:"suffix,omitempty"` - // ForceSendFields is a list of field names (e.g. "Language") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Language") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTextAffixProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTextAffixProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreThreeDimensionalModelProto struct { - // PointIndices: Triangle vertex indices, each triple defines a triangle. - PointIndices []int64 `json:"pointIndices,omitempty"` - // Points: We store a triangular mesh in indexed format. Points array. - Points []*GeostorePointWithHeightProto `json:"points,omitempty"` - // ForceSendFields is a list of field names (e.g. "PointIndices") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PointIndices") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreThreeDimensionalModelProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreThreeDimensionalModelProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTimeBasedRateProto: A rate which applies based on the precise times -// of utilization. Defines a rate, as well as restrictions on the start and end -// times which must be satisfied in order to be eligible for the rate. See -// go/rate-schema for more details. -type GeostoreTimeBasedRateProto struct { - // DurationBasedRate: The rates for this rule. Each duration_based_rate defines - // the costs associated with a particular duration of a stay. There must be at - // least one rate with range_start_seconds set to 0 and there cannot be gaps - // between durations (i.e. there should be no interval uncovered between 0 and - // the largest range_end_seconds of any duration-based rate). - DurationBasedRate []*GeostoreDurationBasedRateProto `json:"durationBasedRate,omitempty"` - // TaxIncluded: If true, tax is included in the prices in this rate. If false, - // additional taxes may apply. - TaxIncluded bool `json:"taxIncluded,omitempty"` - ValidEndWithin *GeostoreTimeScheduleProto `json:"validEndWithin,omitempty"` - // ValidStartWithin: Time period during which utilization of this rate must - // start in order to be eligible for the rate. If not set, there is no - // restriction on the time when the utilization starts. - ValidStartWithin *GeostoreTimeScheduleProto `json:"validStartWithin,omitempty"` - // ForceSendFields is a list of field names (e.g. "DurationBasedRate") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DurationBasedRate") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTimeBasedRateProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTimeBasedRateProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreTimeComponentProto struct { - // Possible values: - // "COMPONENT_TYPE_POSITIVE" - Indicates that this time component is set with - // regards to what the component is trying to model. For instance, if this time - // component models opening hours for a business then COMPONENT_TYPE_POSITIVE - // means open and if it models a road restriction COMPONENT_TYPE_POSITIVE means - // the road is closed. - // "COMPONENT_TYPE_MISSING_DATA" - Indicates that data for this time - // component is absent and that making assumptions about data over the time - // period this component represents may be unsafe. For instance, if this time - // component models opening hours for a business then - // COMPONENT_TYPE_MISSING_DATA can be used to explicitly record that we are - // missing data (eg. Sunday is not listed in the hours). NOTE: Not all uses of - // this proto support the COMPONENT_TYPE_MISSING_DATA component_type. - ComponentType string `json:"componentType,omitempty"` - // Interval: The time component is the intersection of these intervals - Interval []*GeostoreTimeIntervalProto `json:"interval,omitempty"` - // ForceSendFields is a list of field names (e.g. "ComponentType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ComponentType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTimeComponentProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTimeComponentProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTimeEndpointProto: Not all combinations of optional fields in -// TimeEndpointProto are allowed. The granularity of time is a path along the -// directed graph with these edges: second -> minute minute -> hour hour -> day -// of week hour -> day of month hour -> day of year day of week -> week of -// month day of week -> week of year day of month -> month day of year -> year -// week of month -> month week of year -> year month -> year A -// TimeEndpointProto may not specify two fields that are unordered with respect -// to each other ("day of year" and "day of week", for instance). The absence -// of fields larger than any specified field indicates repetition (e.g. no year -// indicates that the interval occurs every year). The absence of units that -// are "smaller" than the largest specified unit indicates a default lowest -// value (no hour means midnight (0)). When intersecting time intervals, -// "smaller" units repeat within the "larger" unit as many times as necessary. -// For example, the intersection of the interval from hour 0 to hour 24 with -// the interval from second 0 to second 1 is equivalent to the union of the set -// of intervals which represents the first second of every minute of every hour -// of every day. -// ----------------------------------------------------------------------------- -// -// WARNING - if you add new fields to TimeEndpointProto you need to: - ensure -// -// AreTimeEndpointsEquivalent considers the new fields (and update the -// corresponding tests) -// ----------------------------------------------------------------------------- -type GeostoreTimeEndpointProto struct { - // Day: Valid ranges are 0-7, 1-31, and 1-366 (see day_type below) - Day int64 `json:"day,omitempty"` - // Possible values: - // "DAY_OF_WEEK" - Valid day range 0-7. (see enum DayOfWeek) - // "DAY_OF_MONTH" - Valid day range 1-31, must be valid day in month - // "DAY_OF_YEAR" - Eg day = 31 is not valid if month = September Valid day - // range 1-366 - DayType string `json:"dayType,omitempty"` - // Hour: Valid range is 0-24. Because it could be unclear what wrapping hours - // mean in relation to days, 24 is used to denote midnight at the end of a day. - Hour int64 `json:"hour,omitempty"` - // Minute: Valid range is 0-59, except when a repetitive minute interval ends - // at the end of an hour, in which case 60 is a legal end value. - Minute int64 `json:"minute,omitempty"` - // Possible values: - // "JANUARY" - // "FEBRUARY" - // "MARCH" - // "APRIL" - // "MAY" - // "JUNE" - // "JULY" - // "AUGUST" - // "SEPTEMBER" - // "OCTOBER" - // "NOVEMBER" - // "DECEMBER" - // "NEXT_JANUARY" - The following value is used to define the end of a - // recurring interval that ends at the end of the year. It can be used without - // a day to represent the end of an interval with month resolution (e.g. - // November through December) or with a day of month of 1 to represent the end - // of an interval with day resolution (e.g. November 15th through December - // 31th). This is similar to using hour 24 to represent the end of a recurring - // interval with hour resolution that ends at midnight. Also see - // http://g/pathfinder-team/NFS3S4L2lhs/tdMSGr0H9r4J for a real example. - Month string `json:"month,omitempty"` - // Second: Valid range is 0-59, except when a repetitive second interval ends - // at the end of a minute, in which case 60 is a legal end value. - Second int64 `json:"second,omitempty"` - // Week: Valid ranges are 0-5 and 1-53 (depending on the value of week_type, - // see below). - Week int64 `json:"week,omitempty"` - // Possible values: - // "WEEK_OF_MONTH" - Valid week range 0-5. - // "WEEK_OF_YEAR" - Note: Weeks of this type are numbered such that week 0 - // begins on the 1st of the month and extends for 7 days. This has the - // consequence that week 4 never has a full 7 days. For example, for a month - // with 31 days, dates 1-7 are in week 0, 8-14 in week 1, 15-21 in week 2, - // 22-28 in week 3, and 29-31 in week 4. Week 5 is considered the first week of - // next month, and much like using `24` for the hour field or `NEXT_JANUARY` - // for the month field, is meant only to denote that an interval includes week - // 4. Valid week range 1-53. - WeekType string `json:"weekType,omitempty"` - Year int64 `json:"year,omitempty"` - // ForceSendFields is a list of field names (e.g. "Day") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Day") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTimeEndpointProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTimeEndpointProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreTimeIntervalProto struct { - // Begin: Begin and end are used to specify a range of times: [begin, end). If - // one is present, the other must be present as well. Additionally, both must - // have matching time granularities - all fields specified in the begin - // TimeEndpointProto must be present in the end TimeEndpointProto and - // vice-versa. Hours are not allowed to wrap (begin.hour() <= end.hour()). - Begin *GeostoreTimeEndpointProto `json:"begin,omitempty"` - End *GeostoreTimeEndpointProto `json:"end,omitempty"` - // Inverted: If true, then this interval actually encodes the complement of the - // specified occasion or range. For example, the following TimeIntervalProto - // encodes all times other than the month of May. TimeIntervalProto[ type = - // TYPE_RANGE inverted = true begin = TimeEndpointProto[ month = MAY ] end = - // TimeEndpointProto[ month = JUNE ] ] - Inverted bool `json:"inverted,omitempty"` - // Occasion: clang-format on - // - // Possible values: - // "OCCASION_SEASON" - NavTeq just uses "seasonal closure = yes". - // "OCCASION_SEASON_WINTER" - // "OCCASION_SEASON_SUMMER" - "Ski season" appears in Tele Atlas once. Use - // OCCASION_SEASON_WINTER instead. - // "OCCASION_DAYS" - // "OCCASION_DAYS_SCHOOL" - // "OCCASION_DAYS_HOLIDAY" - // "OCCASION_DAYS_PRE_HOLIDAY" - // "OCCASION_HOURS" - // "OCCASION_HOURS_PEAK" - // "OCCASION_HOURS_SCHOOL" - OCCASION_HOURS_OFF_PEAK doesn't exist because - // it's the inverse of OCCASION_HOURS_PEAK. - // "OCCASION_HOURS_MARKET" - // "OCCASION_HOURS_BUSINESS" - Business hours appears only three times. - // "OCCASION_HOURS_DUSK_TO_DAWN" - // "OCCASION_HOURS_HIGH_TIDE" - OCCASION_HOURS_DAWN_TO_DUSK doesn't exist - // because it's the inverse of OCCASION_HOURS_DUSK_TO_DAWN. - // "OCCASION_CONDITIONS" - // "OCCASION_CONDITIONS_HIGH_WATER" - // "OCCASION_CONDITIONS_ADVERSE" - Adverse conditions include rain, storms, - // and fog. - // "OCCASION_CONDITIONS_ADVERSE_RAIN" - // "OCCASION_CONDITIONS_ADVERSE_WET" - // "OCCASION_CONDITIONS_ADVERSE_FOG" - // "OCCASION_CONDITIONS_WINTERY" - Wintery conditions include snow and ice. - // "OCCASION_CONDITIONS_WINTERY_AVALANCHE" - // "OCCASION_CONDITIONS_WINTERY_SNOW" - // "OCCASION_CONDITIONS_WINTERY_ICE" - // "OCCASION_CONDITIONS_EVENT" - // "OCCASION_CONDITIONS_POLLUTION" - // "OCCASION_CONDITIONS_LOW_WATER" - // "OCCASION_UNDEFINED" - // "OCCASION_UNDEFINED_REGULAR" - // "OCCASION_UNDEFINED_SELDOM" - Occasion string `json:"occasion,omitempty"` - // Possible values: - // "TYPE_OCCASION" - Indicates a fuzzy interval using one of the occasion - // constants. - // "TYPE_RANGE" - Indicates a range of times between two endpoints, as - // specified in TimeEndpointProto. The endpoint is NOT inclusive. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Begin") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Begin") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTimeIntervalProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTimeIntervalProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreTimeScheduleProto struct { - // Component: The schedule is the union of these components. - Component []*GeostoreTimeComponentProto `json:"component,omitempty"` - // ForceSendFields is a list of field names (e.g. "Component") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Component") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTimeScheduleProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTimeScheduleProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTimezoneProto: A TimezoneProto holds information about a feature's -// related time zone. -type GeostoreTimezoneProto struct { - // Id: i18n recognized time zone identifier. For the full list of identifiers, - // see google3/i18n/identifiers/data/timezones.txt. - Id string `json:"id,omitempty"` - // Metadata: Field-level metadata for this relation. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTimezoneProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTimezoneProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTollClusterProto: A collection of information that applies to a toll -// cluster. -type GeostoreTollClusterProto struct { - // Intersection: The list of gcid:toll_intersection features that this toll - // cluster. A toll cluster can consist of either a single or a group of - // intersection points called toll intersections at the end of various road - // segments in MapFacts that represent one or more lanes passing through a toll - // fixture that all go to the same routing destination. This relationship is - // reciprocal, as a toll intersection also stores a reference to the toll - // cluster it belongs to. A toll cluster must have a reference to one or more - // toll interections (i.e. toll_cluster.intersection should always be - // populated). - Intersection []*GeostoreFeatureIdProto `json:"intersection,omitempty"` - // ForceSendFields is a list of field names (e.g. "Intersection") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Intersection") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTollClusterProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTollClusterProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTollPathProto: A TollPathProto describes the sequential travel -// across one or more /geo/type/toll_cluster features. Traveling across a toll -// path may entail paying a fee, buying a toll pass, etc (although we don't -// model this in FeatureProto). To travel across a toll path, one must travel -// between toll clusters in the exact order specified. See -// go/geo-schema:toll-paths for more information. -type GeostoreTollPathProto struct { - // TollClusterSequence: Details the /geo/type/toll_cluster features which - // constitute this toll path. - TollClusterSequence *GeostoreTollPathProtoTollClusterSequence `json:"tollClusterSequence,omitempty"` - // ForceSendFields is a list of field names (e.g. "TollClusterSequence") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "TollClusterSequence") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTollPathProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTollPathProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTollPathProtoIndexedTollCluster: A /geo/type/toll_cluster and its -// position along a toll path. -type GeostoreTollPathProtoIndexedTollCluster struct { - // Cluster: The /geo/type/toll_cluster feature at this position. - Cluster *GeostoreFeatureIdProto `json:"cluster,omitempty"` - // Index: The position along the path where this cluster appears. - Index int64 `json:"index,omitempty"` - // ForceSendFields is a list of field names (e.g. "Cluster") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Cluster") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTollPathProtoIndexedTollCluster) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTollPathProtoIndexedTollCluster - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTollPathProtoTollClusterSequence: The set of toll clusters in a toll -// path, along with their position in the path. -type GeostoreTollPathProtoTollClusterSequence struct { - // IndexedTollClusters: There must be at least one toll cluster in a toll path, - // and there may not be duplicates. For ordering, one should rely on - // `IndexedTollClusterProto.index`, rather than the repeated field ordering - // (elements may be shuffled). This is a unidirectional reference - toll - // clusters do not reference the toll paths they're a part of. The toll - // clusters themselves may be part of multiple toll paths. - IndexedTollClusters []*GeostoreTollPathProtoIndexedTollCluster `json:"indexedTollClusters,omitempty"` - // ForceSendFields is a list of field names (e.g. "IndexedTollClusters") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "IndexedTollClusters") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTollPathProtoTollClusterSequence) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTollPathProtoTollClusterSequence - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreTrackProto struct { - // Index: The index of this TrackProto in a list of TrackProtos. - Index int64 `json:"index,omitempty"` - // Pose: The instantaneous pose of points along this track. The fields set - // inside each pose must be set consistently along the track. - Pose []*GeostorePoseProto `json:"pose,omitempty"` - // ForceSendFields is a list of field names (e.g. "Index") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Index") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTrackProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTrackProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTransitLineProto: A transit line is a named set of transit trips -// that are advertised to passengers under a common name, and a number of -// attributes that are true for all those trips. There is no requirement for -// each trip to travel through the same list of stops or use the same legs, so -// a line can contain trips in opposite directions or with variations in the -// sequence of stops. See go/oysterpedia for an overview of the transit feature -// types. The standard feature properties are interpreted as follows: name - -// The names of this line, including both long and short names, if available. -// Short names like "10" or "Blue" should carry the FLAG_ABBREVIATED, long -// names like "Dublin/Pleasanton line" should not. The preferred name (one per -// language) for displaying the line on its own (e.g., as a search result for -// the line) should carry the FLAG_PREFERRED. website - The official web page -// describing this line. Repeated if multilingual. Line features have no -// geometry (neither points nor polylines nor polygons). Within Transit Oyster, -// geometry can be found in legs. Additional data only in Transit Oyster: child -// - The legs of this line, in no particular order. source_info - Specifies the -// GTFS routes that match this feature. Each is given as a -// PROVIDER_GOOGLE_TRANSIT source_info where dataset is the feed name and -// cookie is the route_id. -type GeostoreTransitLineProto struct { - // Agency: The transit agencies responsible for operating this line. All lines - // should have at least one agency, and most will have exactly one. The - // following cases are reasons for multiple agencies: - Code share: Two or more - // agencies share trips - Alternations: Each trip is run by one of multiple - // agencies - Additional: All trips run by one agency, but a second one sells - // tickets In all cases the order has no meaning. Clarification comes from the - // trips. - Agency []*GeostoreFeatureIdProto `json:"agency,omitempty"` - // LabelBackgroundColor: The background color of labels for that transit line. - // The encoding is like in HTML or CSS, eg. 0x11ff00 means a bit of red, full - // green, no blue, in sRGB color space. The most significant byte must be zero, - // i.e. no transparency. - LabelBackgroundColor int64 `json:"labelBackgroundColor,omitempty"` - // LabelTextColor: The text color of labels for that transit line. Encoding - // like label_background_color. - LabelTextColor int64 `json:"labelTextColor,omitempty"` - // Stations: The transit stations (establishment POIs with - // gcid:transit_station) which this transit line can go through, in no - // particular order. Usage note: The source of truth are the transit leg - // features in Transit Oyster. In MapFacts, that information is cached in two - // locations: in this field, and in transit station attachments on POIs. Do not - // assume these locations are always up to date and/or synchronized with each - // other. - Stations []*GeostoreFeatureIdProto `json:"stations,omitempty"` - // VehicleType: The type of vehicle that applies to all trips that use this - // line. - // - // Possible values: - // "VEHICLE_TYPE_ANY" - ABSTRACT - // "VEHICLE_TYPE_RAIL" - ABSTRACT Metropolitan railway transport, mostly for - // local transit. - // "VEHICLE_TYPE_METRO_RAIL" - ABSTRACT - // "VEHICLE_TYPE_SUBWAY" - Subways run mainly or completely underground. - // "VEHICLE_TYPE_TRAM" - Trams run mainly or completely along streets. - // "VEHICLE_TYPE_MONORAIL" - Monorails run on track consisting of a single - // rail, e.g. suspended monorail. - // "VEHICLE_TYPE_HEAVY_RAIL" - Heavy rail is rail transit that consists of - // larger vehicles, typically to transport more people across longer distances. - // "VEHICLE_TYPE_COMMUTER_TRAIN" - Commuter trains connect the city with the - // suburbs. They tend to stop often and run short distances. - // "VEHICLE_TYPE_HIGH_SPEED_TRAIN" - High speed trains operate at much higher - // speed than normal trains. They can also run long distances. Typically with - // speeds upwards of 200 km/h. Examples are TGV, ICE, Shinkansen. - // "VEHICLE_TYPE_LONG_DISTANCE_TRAIN" - Long distance trains connect multiple - // cities/regions of a country or even multiple countries. They run faster, but - // not high-speed. Typically speeds under 200 km/h. - // "VEHICLE_TYPE_BUS" - Buses cover mass transit over roads. - // "VEHICLE_TYPE_INTERCITY_BUS" - A bus that connects cities to each other. - // "VEHICLE_TYPE_TROLLEYBUS" - A bus powered by electricity obtained from - // overhead wires by means of a pole. - // "VEHICLE_TYPE_SHARE_TAXI" - Share taxi is sort of bus transport with - // ability to drop off and pick up passengers anywhere on it route. Generally - // share taxi uses minibus vehicles. - // "VEHICLE_TYPE_FERRY" - Ferries are a means of transit over water, often - // operated on regular, frequent, return services. - // "VEHICLE_TYPE_CABLE_CAR" - Cable cars are a form of transit used in the - // mountains. - // "VEHICLE_TYPE_GONDOLA_LIFT" - An aerial lift (colloquially called "gondola - // lift") is a means of cable transport in which cabins, cars, gondolas or open - // chairs are hauled above the ground by means of one or more cables. Examples: - // gondola lift, aerial tramway. Funicular is a cable railway in which a pair - // of tram-like vehicles use each other as counter balance to ascend and - // descend. - // "VEHICLE_TYPE_FUNICULAR" - // "VEHICLE_TYPE_SPECIAL" - Used for easter eggs. - // "VEHICLE_TYPE_HORSE_CARRIAGE" - // "VEHICLE_TYPE_AIRPLANE" - VehicleType string `json:"vehicleType,omitempty"` - // ForceSendFields is a list of field names (e.g. "Agency") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Agency") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTransitLineProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTransitLineProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTransitLineVariantProto: A line variant is a specific instantiation -// of a line concept, denoted by the ordered set of stops and collection of -// segments that it traverses. Line variants are modeled as TYPE_ROUTE features -// with gcid:transit_line_variant. This proto stores line-variant-specific -// information that is not generally applicable to all routes. Schema Design -// Doc: go/transit-line-concepts-and-variants -type GeostoreTransitLineVariantProto struct { - // LineConcept: Reference to the line variant’s line concept. - LineConcept *GeostoreFeatureIdProto `json:"lineConcept,omitempty"` - // Stops: Ordered list of stations or platforms serviced by this line variant. - // The order is captured by the ServicedStopProto.index field. - Stops []*GeostoreServicedStopProto `json:"stops,omitempty"` - // ForceSendFields is a list of field names (e.g. "LineConcept") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LineConcept") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTransitLineVariantProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTransitLineVariantProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTransitStationProto: Encapsulates information related to an -// individual transit station. -type GeostoreTransitStationProto struct { - // AgencyAssociations: All the transit agencies which service this station. A - // station can be serviced by multiple stations. There may only be one agency - // association per transit agency. See go/transit-agency-relation-migration for - // more details. - AgencyAssociations []*GeostoreTransitStationProtoTransitAgencyAssociationProto `json:"agencyAssociations,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgencyAssociations") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgencyAssociations") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTransitStationProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTransitStationProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreTransitStationProtoTransitAgencyAssociationProto: The association -// between this station and the agency which services this station. -type GeostoreTransitStationProtoTransitAgencyAssociationProto struct { - // Agency: The transit agency which services this station. - Agency *GeostoreFeatureIdProto `json:"agency,omitempty"` - // StationCode: A station code uniquely identifies a transit station within the - // transit agency's network. - StationCode string `json:"stationCode,omitempty"` - // ForceSendFields is a list of field names (e.g. "Agency") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Agency") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTransitStationProtoTransitAgencyAssociationProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTransitStationProtoTransitAgencyAssociationProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GeostoreTrustSignalsProto struct { - // SourceTrust: Trust signals for the source of a given observation, typically - // based on historical evidences or status (like internal Google operator). - SourceTrust *GeostoreSourceTrustProto `json:"sourceTrust,omitempty"` - // ForceSendFields is a list of field names (e.g. "SourceTrust") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SourceTrust") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreTrustSignalsProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreTrustSignalsProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreUnlimitedSpeedProto: A speed limit without a limit value. Used to -// indicate the absence of a speed limit. -type GeostoreUnlimitedSpeedProto struct { -} - -// GeostoreUrlListProto: Hold a list of URLs, usually to contain translations -// of a single URL. -type GeostoreUrlListProto struct { - Url []*GeostoreUrlProto `json:"url,omitempty"` - // ForceSendFields is a list of field names (e.g. "Url") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Url") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreUrlListProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreUrlListProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreUrlProto: A web location for a Feature. URLs should always be stored -// in repeated fields because some objects (eg. transit schedules in Brussels) -// have different URLs for different languages. -type GeostoreUrlProto struct { - // Language: The external form of a Google International Identifiers Initiative - // (III) LanguageCode object. See google3/i18n/identifiers/languagecode.h for - // details. We place extra restrictions on languages in addition to what the - // III library requires. See - // http://go/geo-schema-reference/feature-properties/languages.md This field - // represents the language of the content of the web site. It may be missing if - // the web site is language-independent or if the language is unknown. - Language string `json:"language,omitempty"` - // Metadata: Field-level metadata for this URL. NOTE: there are multiple - // UrlProto fields in the Geo Schema. Metadata here is only expected to be - // present on FeatureProto.website[]. - Metadata *GeostoreFieldMetadataProto `json:"metadata,omitempty"` - // Pagerank: ** DEPRECATED ** The pagerank of this URL. Valid values [0, 65535] - // See http://wiki/Main/NearestSeeds for more information. - Pagerank int64 `json:"pagerank,omitempty"` - // Url: The URL. - Url string `json:"url,omitempty"` - // ForceSendFields is a list of field names (e.g. "Language") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Language") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreUrlProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreUrlProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreUserProto: UserProto identifies a (human) user of Geo Data. Its -// primary use is in describing the source of pieces of data (e.g. edits). It -// could be a simple identifier, but isn't so that we can store it in the clear -// while still preventing correlation between a user's contribution. -type GeostoreUserProto struct { - // EncryptedGaiaId: The user Gaia ID in encrypted form. Wipeout ids take value - // of "" in bytes. - EncryptedGaiaId string `json:"encryptedGaiaId,omitempty"` - // EncryptionKeyName: Required. The name of the key used to encrypt the Gaia - // ID. - EncryptionKeyName string `json:"encryptionKeyName,omitempty"` - // KeystoreConfigId: Required (valid default provided). The config ID of the - // owner of the above encryption_key_name. This field must be set if the - // encryption key name is *not* "mapfacts_gaia_id_encryption_key". - KeystoreConfigId int64 `json:"keystoreConfigId,omitempty"` - // Username: If possible, writers should set this to a full user email, - // including the domain. Readers should not assume that this is a well-formed - // email address. This field may only be set by Atlas, Pushpin and OneRing - // because they are internal tools which have a PWG exception to store textual - // usernames in the clear. - Username string `json:"username,omitempty"` - // ForceSendFields is a list of field names (e.g. "EncryptedGaiaId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EncryptedGaiaId") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreUserProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreUserProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreVariableSpeedProto: A speed limit whose value can change based on -// road, traffic, and weather conditions. -type GeostoreVariableSpeedProto struct { -} - -// GeostoreVehicleAttributeFilterProto: A set of vehicle attribute conditionals -// (ex: weight >= 20T && num_trailers = 2) used to define a slice of all -// possible vehicles. This can be useful for filtering one or more vehicles by -// a predicate. -type GeostoreVehicleAttributeFilterProto struct { - // AxleCount: A repeated value here is treated as an AND operation. This allows - // for ranges to be represented by two values (ex: "count < 4" AND "count >= 2" - // means "2 <= count < 4"). - AxleCount []*GeostoreCountComparisonProto `json:"axleCount,omitempty"` - // HasTrailer: Whether the applied vehicle types have a trailer attached to - // them. - HasTrailer bool `json:"hasTrailer,omitempty"` - // HazardousGoods: List of prohibited hazardous goods for a vehicle to carry. A - // repeated value here is treated as an OR operation, meaning that they may not - // carry ANY of the goods listed. - // - // Possible values: - // "HAZARDOUS_GOODS_TYPE_UNSPECIFIED" - // "EXPLOSIVES" - // "GASES" - // "FLAMMABLE" - // "COMBUSTIBLE" - // "ORGANIC" - // "POISON" - // "RADIOACTIVE" - // "CORROSIVE" - // "ASPIRATION_HAZARD" - // "ENVIRONMENTAL_HAZARD" - // "OTHER" - HazardousGoods []string `json:"hazardousGoods,omitempty"` - // NumTrailers: A repeated value here is treated as an AND operation. This - // allows for ranges to be represented by two values (ex: "count <= 4" AND - // "count > 2" means "2 < count <= 4"). - NumTrailers []*GeostoreCountComparisonProto `json:"numTrailers,omitempty"` - // TrailerLength: A repeated value here is treated as an AND operation. This - // allows for ranges to be represented by two values (ex: "length <= 53ft" AND - // "length > 48ft" means "48ft < length <= 53ft"). - TrailerLength []*GeostoreDimensionComparisonProto `json:"trailerLength,omitempty"` - // VehicleHeight: A repeated value here is treated as an AND operation. This - // allows for ranges to be represented by two values (ex: "height > 3m" AND - // "height <= 5m" means "3m < height <= 5m"). - VehicleHeight []*GeostoreDimensionComparisonProto `json:"vehicleHeight,omitempty"` - // VehicleLength: A repeated value here is treated as an AND operation. This - // allows for ranges to be represented by two values (ex: "length <= 40m" AND - // "length > 35m" means "35m < length <= 40m"). - VehicleLength []*GeostoreDimensionComparisonProto `json:"vehicleLength,omitempty"` - // VehicleWeight: A repeated value here is treated as an AND operation. This - // allows for ranges to be represented by two values (ex: "weight < 8T" AND - // "weight >= 3T" means "3T <= weight < 8T"). - VehicleWeight []*GeostoreWeightComparisonProto `json:"vehicleWeight,omitempty"` - // VehicleWidth: A repeated value here is treated as an AND operation. This - // allows for ranges to be represented by two values (ex: "width < 4m" AND - // "width >= 2m" means "2m <= width < 4m"). - VehicleWidth []*GeostoreDimensionComparisonProto `json:"vehicleWidth,omitempty"` - // ForceSendFields is a list of field names (e.g. "AxleCount") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AxleCount") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreVehicleAttributeFilterProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreVehicleAttributeFilterProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreVerticalOrderingProto: A proto representing a vertical ordering of a -// feature. NOTE: This shouldn’t be used if a more specific field can be used -// instead. E.g., for TYPE_SEGMENT features grade_level field should be -// preferred. For indoor features RELATION_ON_LEVEL should be preferred. See -// go/aboutgrades for comparison of various types of levels available. -type GeostoreVerticalOrderingProto struct { - // Level: The level represents the relative vertical ordering of a feature - // among all overlapping features. For example, we may have features along - // freeway surface have level = 0, and features on an overpass have level = 1. - // NOTE: It’s assumed that all features have level 0 by default, so that - // it’s not necessary for all overlapping features to have this set. - Level float64 `json:"level,omitempty"` - // ForceSendFields is a list of field names (e.g. "Level") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Level") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreVerticalOrderingProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreVerticalOrderingProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreVerticalOrderingProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreVerticalOrderingProto - var s1 struct { - Level gensupport.JSONFloat64 `json:"level"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Level = float64(s1.Level) - return nil -} - -// GeostoreWeightComparisonProto: A weight value tagged with a comparison -// operator. -type GeostoreWeightComparisonProto struct { - // Possible values: - // "COMPARISONOPERATOR_UNKNOWN" - Default proto value, this value will never - // be set in Mapfacts. - // "LESS_THAN" - // "GREATER_THAN" - Comparison string `json:"comparison,omitempty"` - // Possible values: - // "UNSPECIFIED" - // "EQUAL" - // "LESS_THAN" - // "LESS_THAN_OR_EQUAL" - // "GREATER_THAN" - // "GREATER_THAN_OR_EQUAL" - ComparisonOperator string `json:"comparisonOperator,omitempty"` - WeightWithUnit *GeostoreWeightProto `json:"weightWithUnit,omitempty"` - // ForceSendFields is a list of field names (e.g. "Comparison") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Comparison") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreWeightComparisonProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreWeightComparisonProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GeostoreWeightProto: A weight with a numerical value and unit. -type GeostoreWeightProto struct { - // Possible values: - // "UNIT_UNKNOWN" - Default proto value, this value will never be set in - // Mapfacts. - // "METRIC_TON" - // "LONG_TON" - // "SHORT_TON" - // "POUND" - // "KILOGRAM" - Unit string `json:"unit,omitempty"` - Weight float64 `json:"weight,omitempty"` - // ForceSendFields is a list of field names (e.g. "Unit") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Unit") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GeostoreWeightProto) MarshalJSON() ([]byte, error) { - type NoMethod GeostoreWeightProto - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GeostoreWeightProto) UnmarshalJSON(data []byte) error { - type NoMethod GeostoreWeightProto - var s1 struct { - Weight gensupport.JSONFloat64 `json:"weight"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Weight = float64(s1.Weight) - return nil -} - -// GoodocAnchorLabel: An anchor label can be attached to any element to give it -// a reference address. LogicalEntity links (see goodoc-semantics.proto) may -// use anchor labels to point to goodoc elements (they may also use indices to -// locate the element, but the indices could become invalid if the goodocs are -// allowed to mutate). Multiple elements may have the same anchor. -type GoodocAnchorLabel struct { - // Anchor: There is a generic method for composing such strings. Please take a - // look at GoodocUtils::GenerateUniqueAnchorName(...) in - // ocr/goodoc/goodoc-utils.h. - Anchor string `json:"Anchor,omitempty"` - AnchorScope int64 `json:"anchorScope,omitempty"` - // ForceSendFields is a list of field names (e.g. "Anchor") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Anchor") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocAnchorLabel) MarshalJSON() ([]byte, error) { - type NoMethod GoodocAnchorLabel - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocBoundingBox: Bounding box for page structural elements: pictures, -// paragraphs, characters, etc. -type GoodocBoundingBox struct { - Height int64 `json:"Height,omitempty"` - // Label: Optional magic label, so objects can be sorted on bounding box - // dimensions easily - Label int64 `json:"Label,omitempty"` - // Left: BoundingBox coordinates and sizes are expressed in pixels - Left int64 `json:"Left,omitempty"` - Top int64 `json:"Top,omitempty"` - Width int64 `json:"Width,omitempty"` - // ForceSendFields is a list of field names (e.g. "Height") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Height") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocBoundingBox) MarshalJSON() ([]byte, error) { - type NoMethod GoodocBoundingBox - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocBoxPartitions: A way to specify a simple partitioning of a BoundingBox -// into a sequence of sub-boxes. -// +----------------------------------------------------+ | | | | | | | span(0) -// | (1) | (2) | (3) | (4) | | | | | | | -// +----------------------------------------------------+ This representation -// can, for example, be used to store coarse Symbol boundaries within a Word -// (see Word.CompactSymbolBoxes below) instead of per-Symbol BoundingBoxes, for -// saving space. -type GoodocBoxPartitions struct { - Direction int64 `json:"direction,omitempty"` - // Span: "span" is width or height, determined by "direction". If there are k - // partitions, then there are k - 1 "span" values, one for each except the last - // symbol (which is redundant). - Span []int64 `json:"span,omitempty"` - // ForceSendFields is a list of field names (e.g. "Direction") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Direction") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocBoxPartitions) MarshalJSON() ([]byte, error) { - type NoMethod GoodocBoxPartitions - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocBreakLabel: Break label -type GoodocBreakLabel struct { - BreakLabelType int64 `json:"BreakLabelType,omitempty"` - // IsPrefix: True if break prepends the element - IsPrefix bool `json:"isPrefix,omitempty"` - // ForceSendFields is a list of field names (e.g. "BreakLabelType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BreakLabelType") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocBreakLabel) MarshalJSON() ([]byte, error) { - type NoMethod GoodocBreakLabel - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocCharLabel: Font label -type GoodocCharLabel struct { - // BaseLine: The shift of a character from the base line of the string in - // pixels - BaseLine int64 `json:"BaseLine,omitempty"` - // CharacterHeight: Height of small characters in pixels on the source image - CharacterHeight int64 `json:"CharacterHeight,omitempty"` - // Color: The foreground color of the symbol; the default color is 0 (black) - Color int64 `json:"Color,omitempty"` - // Confidence: Symbol recognition confidence from OCR. Range depends upon OCR - // Engine. - Confidence int64 `json:"Confidence,omitempty"` - // FontId: The font ID refers to the fonts table in the document header - FontId int64 `json:"FontId,omitempty"` - // FontSize: Size in points (JFYI: point is 1/72"). This is rounded to the - // nearest whole number. - FontSize int64 `json:"FontSize,omitempty"` - // FontSizeFloat: Size in points represented as float. - FontSizeFloat float64 `json:"FontSizeFloat,omitempty"` - FontType int64 `json:"FontType,omitempty"` - // HasUncertainHeight: If CharacterHeight is defined uncertainly - HasUncertainHeight bool `json:"HasUncertainHeight,omitempty"` - // HorizontalScale: The horizontal scaling for a character, in percents. The - // default value for this property is 100, which corresponds to no scaling. - HorizontalScale int64 `json:"HorizontalScale,omitempty"` - IsBold bool `json:"IsBold,omitempty"` - IsItalic bool `json:"IsItalic,omitempty"` - IsSmallCaps bool `json:"IsSmallCaps,omitempty"` - IsStrikeout bool `json:"IsStrikeout,omitempty"` - IsSubscript bool `json:"IsSubscript,omitempty"` - IsSuperscript bool `json:"IsSuperscript,omitempty"` - // IsSuspicious: If OCR Engine marked the character as "suspicious" (this - // character is likely to be recognized incorrectly). - IsSuspicious bool `json:"IsSuspicious,omitempty"` - IsUnderlined bool `json:"IsUnderlined,omitempty"` - // NotOcrablePerQA: True if a QA operator has marked this as not OCRable. This - // is used for complex equations, scripts that the operator can't type, or - // handwriting. - NotOcrablePerQA bool `json:"NotOcrablePerQA,omitempty"` - // Penalty: Symbol-level penalty from the garbage text detector. Lower is - // better; range = [0,100]. - Penalty int64 `json:"Penalty,omitempty"` - // SerifProbability: The probability that a character is written with a Serif - // font - SerifProbability int64 `json:"SerifProbability,omitempty"` - // ForceSendFields is a list of field names (e.g. "BaseLine") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BaseLine") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocCharLabel) MarshalJSON() ([]byte, error) { - type NoMethod GoodocCharLabel - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoodocCharLabel) UnmarshalJSON(data []byte) error { - type NoMethod GoodocCharLabel - var s1 struct { - FontSizeFloat gensupport.JSONFloat64 `json:"FontSizeFloat"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.FontSizeFloat = float64(s1.FontSizeFloat) - return nil -} - -// GoodocDocument: Top-level representation of OCRed document -type GoodocDocument struct { - // EditingHistory: Debug info, recording the history of any editing done - // through the interface in goodoc-editing.h. The strings look like - // "MoveParagraph(page_index = 0, source_block_index = 3, ...); - EditingHistory []string `json:"EditingHistory,omitempty"` - // LogicalEntity: Logical entities are stored as blobs. Depending on the kind - // of thing this is a goodoc of, a separate .proto file is expected to define - // the logical entity structure. Hence we can still parse this as a goodoc for - // people who dont care about this, and people who care about this can parse it - // specifically. ocr/goodoc/logical-entity-utils.h has methods to read and - // write these. See Goodoc++ doc - LogicalEntity []string `json:"LogicalEntity,omitempty"` - // LogicalEntityMessageName: The names of the proto messages serialized in - // LogicalEntity, one for each LogicalEntity. The repetitions should number 0 - // to leave this unspecified, or they should equal the number of LogicalEntity - // strings. - LogicalEntityMessageName []string `json:"LogicalEntityMessageName,omitempty"` - // SubDocuments: For multi-goodoc documents - SubDocuments []*GoodocDocument `json:"SubDocuments,omitempty"` - Header *GoodocDocumentHeader `json:"header,omitempty"` - Page []*GoodocDocumentPage `json:"page,omitempty"` - // ForceSendFields is a list of field names (e.g. "EditingHistory") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EditingHistory") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocDocument) MarshalJSON() ([]byte, error) { - type NoMethod GoodocDocument - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GoodocDocumentHeader struct { - OcrEngineId string `json:"OcrEngineId,omitempty"` - OcrEngineVersion string `json:"OcrEngineVersion,omitempty"` - Font []*GoodocDocumentHeaderFont `json:"font,omitempty"` - // ForceSendFields is a list of field names (e.g. "OcrEngineId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OcrEngineId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocDocumentHeader) MarshalJSON() ([]byte, error) { - type NoMethod GoodocDocumentHeader - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GoodocDocumentHeaderFont struct { - FontId int64 `json:"FontId,omitempty"` - FontName string `json:"FontName,omitempty"` - // ForceSendFields is a list of field names (e.g. "FontId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FontId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocDocumentHeaderFont) MarshalJSON() ([]byte, error) { - type NoMethod GoodocDocumentHeaderFont - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GoodocDocumentPage struct { - // GarbageDetectorChangeList: If the garbage text detector was run, the - // changelist that the binary was sync'ed to (or -1 if unknown), and whether - // the settings had their production values (or false if unknown). - GarbageDetectorChangeList int64 `json:"GarbageDetectorChangeList,omitempty"` - GarbageDetectorWasProduction bool `json:"GarbageDetectorWasProduction,omitempty"` - // Height: Height in pixels - Height int64 `json:"Height,omitempty"` - // HorizontalDpi: Horizontal resolution in DPI. - HorizontalDpi int64 `json:"HorizontalDpi,omitempty"` - Label *GoodocLabel `json:"Label,omitempty"` - // PornScore: Score of porn classifier from analyzing images on page. Note: - // This should be named porn_score, but we use PornScore as the name in order - // to be consistent with the rest of this proto. - PornScore float64 `json:"PornScore,omitempty"` - // TextConfidence: Page text recognition confidence. Range depends on the - // algorithm but should be consistent in a given volume. 0 is bad, 100 is good. - TextConfidence int64 `json:"TextConfidence,omitempty"` - // VerticalDpi: Vertical resolution in DPI. - VerticalDpi int64 `json:"VerticalDpi,omitempty"` - // Width: Width in pixels - Width int64 `json:"Width,omitempty"` - Block []*GoodocDocumentPageBlock `json:"block,omitempty"` - Mergedpageinfo []*GoodocDocumentPageMergedPageInfo `json:"mergedpageinfo,omitempty"` - // PostOcrConfidence: Whether page-level text confidences and other summary - // data were computed by PostOcrUtils instead of the now-obsolete - // GarbageTextDetector - PostOcrConfidence bool `json:"postOcrConfidence,omitempty"` - // Stats: Page level stats (font size, line spacing, etc.) - Stats *GoodocSummaryStats `json:"stats,omitempty"` - // ForceSendFields is a list of field names (e.g. "GarbageDetectorChangeList") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GarbageDetectorChangeList") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocDocumentPage) MarshalJSON() ([]byte, error) { - type NoMethod GoodocDocumentPage - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoodocDocumentPage) UnmarshalJSON(data []byte) error { - type NoMethod GoodocDocumentPage - var s1 struct { - PornScore gensupport.JSONFloat64 `json:"PornScore"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.PornScore = float64(s1.PornScore) - return nil -} - -type GoodocDocumentPageBlock struct { - BlockType int64 `json:"BlockType,omitempty"` - Box *GoodocBoundingBox `json:"Box,omitempty"` - Label *GoodocLabel `json:"Label,omitempty"` - // OrientationLabel: Which way is upright for this block, and what is the - // reading order (applicable if there is text here). - OrientationLabel *GoodocOrientationLabel `json:"OrientationLabel,omitempty"` - Paragraph []*GoodocParagraph `json:"Paragraph,omitempty"` - // RotatedBox: If RotatedBox is set, Box must be set as well. See - // RotatedBoundingBox. - RotatedBox *GoodocRotatedBoundingBox `json:"RotatedBox,omitempty"` - // TextConfidence: Block text recognition confidence. Range depends on the - // algorithm but should be consistent in a given volume. 0 is bad, 100 is good. - TextConfidence int64 `json:"TextConfidence,omitempty"` - // ForceSendFields is a list of field names (e.g. "BlockType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BlockType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocDocumentPageBlock) MarshalJSON() ([]byte, error) { - type NoMethod GoodocDocumentPageBlock - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocDocumentPageMergedPageInfo: If we have merged text from another goodoc -// into this one (for example, from a PDF text layer goodoc into an OCR'd -// goodoc), we record some source goodoc info here. -type GoodocDocumentPageMergedPageInfo struct { - OcrEngineId string `json:"OcrEngineId,omitempty"` - OcrEngineVersion string `json:"OcrEngineVersion,omitempty"` - // ForceSendFields is a list of field names (e.g. "OcrEngineId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OcrEngineId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocDocumentPageMergedPageInfo) MarshalJSON() ([]byte, error) { - type NoMethod GoodocDocumentPageMergedPageInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocFontSizeStats: Statistics about a particular font size (from -// CharLabel.FontSize) aggregated over a range of symbols -type GoodocFontSizeStats struct { - // FontId: CharLabel.FontId and FontSize - FontId int64 `json:"fontId,omitempty"` - FontSize int64 `json:"fontSize,omitempty"` - // MedianHeight: The measurements are in pixels - MedianHeight int64 `json:"medianHeight,omitempty"` - // MedianLineHeight: top to bottom - MedianLineHeight int64 `json:"medianLineHeight,omitempty"` - // MedianLineSpace: bottom to next top in para - MedianLineSpace int64 `json:"medianLineSpace,omitempty"` - // MedianLineSpan: top to next top in para - MedianLineSpan int64 `json:"medianLineSpan,omitempty"` - MedianWidth int64 `json:"medianWidth,omitempty"` - // NumLineSpaces: Lines (out of num_lines) that have a successor line within - // their para - NumLineSpaces int64 `json:"numLineSpaces,omitempty"` - // NumLines: Line stats for this font. "top" corresponds to the highest - // ascender and "bottom" to the lowest descender. num_lines = # lines with > - // 50% symbols having this font - NumLines int64 `json:"numLines,omitempty"` - NumSymbols int64 `json:"numSymbols,omitempty"` - // ForceSendFields is a list of field names (e.g. "FontId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FontId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocFontSizeStats) MarshalJSON() ([]byte, error) { - type NoMethod GoodocFontSizeStats - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocLabel: Label aggregates all kinds of optional characteristics of page -// elements. -type GoodocLabel struct { - // AnchorLabel: AnchorLabel identifies a link target. - AnchorLabel []*GoodocAnchorLabel `json:"AnchorLabel,omitempty"` - BreakLabel *GoodocBreakLabel `json:"BreakLabel,omitempty"` - // CharLabel: CharLabel is specifically intended for symbols - CharLabel *GoodocCharLabel `json:"CharLabel,omitempty"` - // LanguageLabel: Languages used in the element (page, block, paragraph or - // word). Ordered by dominant-language first. Note: content scanjobs processed - // by the garbage_text_detector before CL 9223538 (Dec. 2008) have - // LanguageLabels in arbitrary order (within Page and Block elements) -- the - // confidence value should be inspected to find the dominant language guess for - // these, rather than just taking the first. - LanguageLabel []*GoodocLanguageLabel `json:"LanguageLabel,omitempty"` - // SemanticLabel: SemanticLabel is defined in goodoc-semantics.proto, it allows - // rich annotation of content, identifying the nature of page elements. - SemanticLabel *GoodocSemanticLabel `json:"SemanticLabel,omitempty"` - // ForceSendFields is a list of field names (e.g. "AnchorLabel") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AnchorLabel") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocLabel) MarshalJSON() ([]byte, error) { - type NoMethod GoodocLabel - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocLanguageCombinationLanguage: Weighted language -type GoodocLanguageCombinationLanguage struct { - // Bcp47Tag: Bcp47 language code. Note, this is not the same as OceanCode used - // by goodoc::Document. - Bcp47Tag string `json:"bcp47Tag,omitempty"` - // Weight: Weight of language. This specifies how likely it is to see the - // language in the input text. The values don't have to add up to 1. - Weight float64 `json:"weight,omitempty"` - // ForceSendFields is a list of field names (e.g. "Bcp47Tag") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Bcp47Tag") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocLanguageCombinationLanguage) MarshalJSON() ([]byte, error) { - type NoMethod GoodocLanguageCombinationLanguage - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoodocLanguageCombinationLanguage) UnmarshalJSON(data []byte) error { - type NoMethod GoodocLanguageCombinationLanguage - var s1 struct { - Weight gensupport.JSONFloat64 `json:"weight"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Weight = float64(s1.Weight) - return nil -} - -// GoodocLanguageLabel: Language label -type GoodocLanguageLabel struct { - // ClosestLanguageId: Closest id from i18n/languages/proto/languages.proto; - // caveat: may not accurately capture the language. - // GoodocLanguageCodeToLanguage() declared in ocr/goodoc/goodoc-utils.h may be - // used to convert a Language enum (i18n/languages/proto/languages.proto) to a - // string suitable for this field. - ClosestLanguageId int64 `json:"ClosestLanguageId,omitempty"` - // Confidence: Confidence level on that language, between 0 and 100 - Confidence int64 `json:"Confidence,omitempty"` - // LanguageCode: Old (Ocean) Language Code Usage: The language code is inferred - // during the running of the Garbage Text Detector and gets set at the - // paragraph, block and page level. Language code is a string of 3 or more - // characters. The first 3 letters specify the language, according to ISO 639. - // Optionally, the 3-letter code can be extended with an underscore and a - // language variant specifier. Specifiers exist for regional variants or for - // different forms of language spelling. The regional variants are specified as - // 2-letter country code, according to ISO 3166. Some examples: Standard "por" - // - Portuguese, standard "rus" - Russian, standard Regional variants: "por_br" - // - Portuguese, Brazilian "eng_us" - English, United States Variants of - // spelling: "rus_old" - Russian, old spelling "chi_tra" - Chinese, traditional - // "ger_new" - German, new spelling LanguageToGoodocLanguageCode() declared in - // ocr/goodoc/goodoc-utils.h may be used to convert a Language enum - // (i18n/languages/proto/languages.proto) to a string suitable for this field. - // New Language Code Usage: Most of the usages described above were - // standardized in BCP 47, and these codes are the new stanadard to be used in - // this field. To load either new or old language codes to form LanguageCode - // objects, use the function FromOceanCode() in ocr/quality/lang_util.h Note - // that the function ocr::FromOceanCode is capable of transforming either - // version of the LanguageCode to a C++ i18n_identifiers::LanguageCode. - LanguageCode string `json:"LanguageCode,omitempty"` - // ForceSendFields is a list of field names (e.g. "ClosestLanguageId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ClosestLanguageId") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocLanguageLabel) MarshalJSON() ([]byte, error) { - type NoMethod GoodocLanguageLabel - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocLogicalEntity: A logical entity in the abstract is just a group of -// links to the goodoc. Depending on the kind of item, a separate proto file -// should extend this to define the logical structure for that kind. For -// example. newspapers.proto defines the logical entity for newspapers. -// LogicalEntity is also used within some SemanticLabels, for example, for a -// table-of-contents link. -type GoodocLogicalEntity struct { - Metadata string `json:"Metadata,omitempty"` - Link []*GoodocLogicalEntityLink `json:"link,omitempty"` - // ForceSendFields is a list of field names (e.g. "Metadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocLogicalEntity) MarshalJSON() ([]byte, error) { - type NoMethod GoodocLogicalEntity - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocLogicalEntityLink: NOTE(gponcin) 2008/11 This is repeated for articles -// where we may have multiple links in one entity. From Vivek (Atlantis): "The -// block segmenter outputs a list of headlines on a page as a single logical -// entity that we attach to the logicalentity(1) for the goodoc." -type GoodocLogicalEntityLink struct { - // Anchor: The preferred way to link to an element is to create an AnchorLabel - // in the target element and name it here. Multiple elements may contain the - // same Anchor string. - Anchor string `json:"Anchor,omitempty"` - BlockId int64 `json:"BlockId,omitempty"` - // DocId: Links may also specifically locate the target element with the - // following indices. Note that during the course of layout analysis, goodoc - // elements may move around, so such hard links should be created only very - // late (or not at all -- Anchors would be more reliable target addresses). - DocId int64 `json:"DocId,omitempty"` - PageId int64 `json:"PageId,omitempty"` - ParagraphId int64 `json:"ParagraphId,omitempty"` - RouteId int64 `json:"RouteId,omitempty"` - SymbolId int64 `json:"SymbolId,omitempty"` - // Url: If not defined, link points to the current doc - Url string `json:"Url,omitempty"` - WordId int64 `json:"WordId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Anchor") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Anchor") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocLogicalEntityLink) MarshalJSON() ([]byte, error) { - type NoMethod GoodocLogicalEntityLink - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocOrdinal: An Ordinal message represents a single ordinal component of a -// page number. It encodes the printed or inferred numbering style (Roman, -// ASCII, etc.) and the ordinal value of the component. An optional set of -// variable is defined in order to express a sectioned ordinal. A sectioned -// ordinal may appear in certain page numbering styles, for example "12-1" -// where "12" identifies a chapter and "1" identifies the page within it. This -// case will be encoded with value 1 and section_value 12 both of type ASCII. -type GoodocOrdinal struct { - // Possible values: - // "UNKNOWN_IMPLICIT" - // "IMPLICIT" - // "EXPLICIT" - Implicit string `json:"implicit,omitempty"` - SectionStringValue string `json:"sectionStringValue,omitempty"` - SectionValue int64 `json:"sectionValue,omitempty"` - // SectionValueType: The following vars describe the section component of an - // ordinal (if exists). They are used to express situation where a page number - // has a section component, usually denoating the chapter number. For example - // pages 5-14, 5-15 will both have the common section 5. (If exists). The - // semantcis of the section variables correspond to that of the primary part of - // the ordinal. (Described above). - // - // Possible values: - // "UNKNOWN_VALUE_TYPE" - // "LEGACY_PRE_VALUE" - Not to be used - // "ROMAN" - Roman numeral - // "ASCII" - ASCII numeral (i.e. 1,2,3) - // "ALPHA" - Alphabetic, as in the first part of "A-11". - // "LEGACY_POST_VALUE" - Not to be used - // "UNDEFINED_VALUE_TYPE" - // "CHINESE" - // "JAPANESE" - // "KOREAN" - // "ARABIC_ARABIC" - Arabic numeral as used in Arabic. (Not to be confused - // with the ASCII numeral a.k.a Arabic numberal.) - SectionValueType string `json:"sectionValueType,omitempty"` - // StringValue: The string page value. - StringValue string `json:"stringValue,omitempty"` - // Value: The numeric page value. - Value int64 `json:"value,omitempty"` - // ValueDelta: The delta in which the value increases between pages. - // - // Possible values: - // "DELTA_HALF" - appears in typewritten documents - // "DELTA_ONE" - the usual numbering scenario - // "DELTA_TWO" - appears in documents with two ordinals per page - ValueDelta string `json:"valueDelta,omitempty"` - // ValueType: A value type from the Type enum above. - // - // Possible values: - // "UNKNOWN_VALUE_TYPE" - // "LEGACY_PRE_VALUE" - Not to be used - // "ROMAN" - Roman numeral - // "ASCII" - ASCII numeral (i.e. 1,2,3) - // "ALPHA" - Alphabetic, as in the first part of "A-11". - // "LEGACY_POST_VALUE" - Not to be used - // "UNDEFINED_VALUE_TYPE" - // "CHINESE" - // "JAPANESE" - // "KOREAN" - // "ARABIC_ARABIC" - Arabic numeral as used in Arabic. (Not to be confused - // with the ASCII numeral a.k.a Arabic numberal.) - ValueType string `json:"valueType,omitempty"` - // ForceSendFields is a list of field names (e.g. "Implicit") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Implicit") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocOrdinal) MarshalJSON() ([]byte, error) { - type NoMethod GoodocOrdinal - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocOrientationLabel: OrientationLabel groups the details about -// orientation and reading order. -type GoodocOrientationLabel struct { - // DeskewAngle: After rotating so that the text orientation is upright, how - // many radians does one have to rotate the block anti-clockwise for it to be - // level? We guarantee: -Pi/4 <= deskew_angle <= Pi/4 - DeskewAngle float64 `json:"deskewAngle,omitempty"` - // Mirrored: Whether a text line is mirrored (e.g. reflected in a shiny surface - // or seen through the opposite side of a storefront window). The intent is - // that this is a quality of the text line image. It needs to be reflected - // according to a vertical axis along the direction of upright characters to - // make it readable. This does not affect the shape of the bounding box. A - // mirrored line with top to bottom writing remains top to bottom. A mirrored - // horizontal line will flip left to right. However any child entities - // (symbols) will remain in the same order, and the writing direction imposed - // by the language (ltr or rtl) will remain the same. - Mirrored bool `json:"mirrored,omitempty"` - // Possible values: - // "ORIENTATION_PAGE_UP" - // "ORIENTATION_PAGE_RIGHT" - // "ORIENTATION_PAGE_DOWN" - // "ORIENTATION_PAGE_LEFT" - Orientation string `json:"orientation,omitempty"` - // Possible values: - // "TEXTLINE_ORDER_LEFT_TO_RIGHT" - // "TEXTLINE_ORDER_RIGHT_TO_LEFT" - // "TEXTLINE_ORDER_TOP_TO_BOTTOM" - TextlineOrder string `json:"textlineOrder,omitempty"` - // Possible values: - // "WRITING_DIRECTION_LEFT_TO_RIGHT" - // "WRITING_DIRECTION_RIGHT_TO_LEFT" - // "WRITING_DIRECTION_TOP_TO_BOTTOM" - WritingDirection string `json:"writingDirection,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeskewAngle") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeskewAngle") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocOrientationLabel) MarshalJSON() ([]byte, error) { - type NoMethod GoodocOrientationLabel - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoodocOrientationLabel) UnmarshalJSON(data []byte) error { - type NoMethod GoodocOrientationLabel - var s1 struct { - DeskewAngle gensupport.JSONFloat64 `json:"deskewAngle"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.DeskewAngle = float64(s1.DeskewAngle) - return nil -} - -// GoodocOverrides: This message specifies structure "overrides" to apply: it -// can be used to force certain kinds of GoodocToHTML renderings of elements. -type GoodocOverrides struct { - // BlockImagination: For text blocks only: do not allow this block to be turned - // into an image when rendering, even if your algorithms want to do so: - // - // Possible values: - // "LEAVE_ALONE" - // "FORCE_TRUE" - // "FORCE_FALSE" - BlockImagination string `json:"blockImagination,omitempty"` - // DoNotExpandGraphicBox: For graphic blocks, we often expand the block a bit - // for rendering, to compensate for bad image segmentation. - // do_not_expand_graphic_box forces this behavior to be turned off. - DoNotExpandGraphicBox bool `json:"doNotExpandGraphicBox,omitempty"` - // FullPageAsImage: For Pages only: explicitly specify whether or not this page - // should be rendered fully as an image - // - // Possible values: - // "LEAVE_ALONE" - // "FORCE_TRUE" - // "FORCE_FALSE" - FullPageAsImage string `json:"fullPageAsImage,omitempty"` - // FullPageLineated: For Pages only: explicitly specify whether or not all text - // on this page should be treated as "LINEATED" - // - // Possible values: - // "LEAVE_ALONE" - // "FORCE_TRUE" - // "FORCE_FALSE" - FullPageLineated string `json:"fullPageLineated,omitempty"` - // FullPageSkipped: For Pages only: explicitly specify whether or not this page - // should be skipped. - // - // Possible values: - // "LEAVE_ALONE" - // "FORCE_TRUE" - // "FORCE_FALSE" - FullPageSkipped string `json:"fullPageSkipped,omitempty"` - // NeedNotSuppressPhoto: This GRAPHIC block's image can be shown even when - // GoodocToHTMLOptions.suppress_photos_with_this is specified. - NeedNotSuppressPhoto bool `json:"needNotSuppressPhoto,omitempty"` - // PageBreakBefore: For blocks: explicitly specify whether or not this block - // should get a page-break before it. - // - // Possible values: - // "LEAVE_ALONE" - // "FORCE_TRUE" - // "FORCE_FALSE" - PageBreakBefore string `json:"pageBreakBefore,omitempty"` - Style []*GoodocOverridesStyle `json:"style,omitempty"` - // WordHtml: For Words only: replace the rendered HTML by this: - WordHtml string `json:"wordHtml,omitempty"` - // ForceSendFields is a list of field names (e.g. "BlockImagination") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BlockImagination") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocOverrides) MarshalJSON() ([]byte, error) { - type NoMethod GoodocOverrides - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocOverridesStyle: Extra css styles to apply -type GoodocOverridesStyle struct { - // Name: css attribute name: "margin-left", for eg. - Name string `json:"name,omitempty"` - // Value: css attribute vale: "1em", for eg. - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocOverridesStyle) MarshalJSON() ([]byte, error) { - type NoMethod GoodocOverridesStyle - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocParagraph: Represents a paragraph of text in OCRed content. -type GoodocParagraph struct { - Box *GoodocBoundingBox `json:"Box,omitempty"` - FirstLineIndent int64 `json:"FirstLineIndent,omitempty"` - Label *GoodocLabel `json:"Label,omitempty"` - LeftIndent int64 `json:"LeftIndent,omitempty"` - LineSpacing int64 `json:"LineSpacing,omitempty"` - // OrientationLabel: Which way is upright for this paragraph and what is the - // dominant reading order? - OrientationLabel *GoodocOrientationLabel `json:"OrientationLabel,omitempty"` - RightIndent int64 `json:"RightIndent,omitempty"` - // RotatedBox: If RotatedBox is set, Box must be set as well. See - // RotatedBoundingBox. - RotatedBox *GoodocRotatedBoundingBox `json:"RotatedBox,omitempty"` - SpaceAfter int64 `json:"SpaceAfter,omitempty"` - SpaceBefore int64 `json:"SpaceBefore,omitempty"` - // SubsumedParagraphProperties: If we merge any paragraphs into this one - // (through the MergeParagraphWithNext() interface in goodoc-editing.h), then - // we append the properties of the merged paragraph here, for debugging and to - // avoid losing any info. Note that the SubsumedParagraphProperties Paragraphs - // do not contain Routes. - SubsumedParagraphProperties []*GoodocParagraph `json:"SubsumedParagraphProperties,omitempty"` - // TextConfidence: Paragraph text recognition confidence. Range depends on the - // algorithm but should be consistent in a given volume. 0 is bad, 100 is good. - TextConfidence int64 `json:"TextConfidence,omitempty"` - Width int64 `json:"Width,omitempty"` - Alignment int64 `json:"alignment,omitempty"` - Droppedcap *GoodocParagraphDroppedCap `json:"droppedcap,omitempty"` - Route []*GoodocParagraphRoute `json:"route,omitempty"` - // ForceSendFields is a list of field names (e.g. "Box") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Box") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocParagraph) MarshalJSON() ([]byte, error) { - type NoMethod GoodocParagraph - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocParagraphDroppedCap: Information about the paragraph's dropped capital -// letter -type GoodocParagraphDroppedCap struct { - Box *GoodocBoundingBox `json:"Box,omitempty"` - LettersCount int64 `json:"LettersCount,omitempty"` - // ForceSendFields is a list of field names (e.g. "Box") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Box") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocParagraphDroppedCap) MarshalJSON() ([]byte, error) { - type NoMethod GoodocParagraphDroppedCap - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GoodocParagraphRoute struct { - // EndPoint: Route end point - EndPoint *GoodocRoutePoint `json:"EndPoint,omitempty"` - // StartPoint: Route start point - StartPoint *GoodocRoutePoint `json:"StartPoint,omitempty"` - // Weight: Route weight, i.e. route - Weight int64 `json:"Weight,omitempty"` - // Word: The array of words on this route - Word []*GoodocWord `json:"Word,omitempty"` - // ForceSendFields is a list of field names (e.g. "EndPoint") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EndPoint") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocParagraphRoute) MarshalJSON() ([]byte, error) { - type NoMethod GoodocParagraphRoute - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocRotatedBoundingBox: Similar to goodoc.BoundingBox, but containing an -// angle of rotation, thus able to represent non-axis-aligned boxes. -// RotatedBoundingBox can be used in combination with BoundingBox to better -// represent non-axis-aligned page structural elements. In such case, two -// bounding boxes can be used per element. A RotatedBoundingBox that is rotated -// to tightly encompass the element; embedded (as tightly as possible) inside -// an axis-aligned BoundingBox. Note that there is some amount of ambiguity -// regarding what angle and vertex to use. Consider a square with axis-aligned -// diagonals: B / \ A C \ / D This can either be represented as a -45 degree -// rotation around A, a 45 degree rotation around B, a 135 degree rotation -// around C, or a -135 degree rotation around D. Which one you use depends on -// your use case, but one recommendation is to use the vertex that would be top -// left if the reader was reading it in the 'natural' orientation. -type GoodocRotatedBoundingBox struct { - // Angle: Angle of rotation of the original non-rotated box around the top left - // corner of the original non-rotated box, in clockwise degrees from the - // horizontal. - Angle float64 `json:"Angle,omitempty"` - Height int64 `json:"Height,omitempty"` - // Left: Coordinates and sizes are expressed in pixels, where the top-left - // pixel is (0, 0). The coordinates refer to the corner of the top-left vertex - // of the unrotated version of the box. - Left int64 `json:"Left,omitempty"` - Top int64 `json:"Top,omitempty"` - Width int64 `json:"Width,omitempty"` - // ForceSendFields is a list of field names (e.g. "Angle") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Angle") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocRotatedBoundingBox) MarshalJSON() ([]byte, error) { - type NoMethod GoodocRotatedBoundingBox - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoodocRotatedBoundingBox) UnmarshalJSON(data []byte) error { - type NoMethod GoodocRotatedBoundingBox - var s1 struct { - Angle gensupport.JSONFloat64 `json:"Angle"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Angle = float64(s1.Angle) - return nil -} - -type GoodocRoutePoint struct { - // RouteIndex: The sequential route number, starts at 0 - RouteIndex int64 `json:"RouteIndex,omitempty"` - // WordIndex: The sequential word number, starts at 0 - WordIndex int64 `json:"WordIndex,omitempty"` - // ForceSendFields is a list of field names (e.g. "RouteIndex") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RouteIndex") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocRoutePoint) MarshalJSON() ([]byte, error) { - type NoMethod GoodocRoutePoint - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocSemanticLabel: Label identifying a logical part of the page content. -// This applies mostly at Block level or Paragraph level (but can apply to -// Words or to arbitrary spans if needed). -type GoodocSemanticLabel struct { - // AlternateText: Alternate text for a sequence of the Goodoc, just for the - // element containing this label, or for a sequence starting from this element - // to the EndOfSpanningLabel. Typically this is inserted by automatic or manual - // OCR correction. We use text instead of editing the Goodoc directly since we - // dont usually have accurate symbol level bboxes for the alternate text. Also - // the original values from OCR are preserved. It is upto the application to do - // anything more intelligent like mapping words and finding potential - // symbol/word bboxes. - AlternateText string `json:"AlternateText,omitempty"` - // Attribute: Page elements can be given Attributes refining meaning/role. We - // keep this flexible by using strings instead of pre-determined enum values. - // But it is useful to list all such Attributes in use in - // ocr/goodoc/goodoc-semantics-attributes.h - Attribute []string `json:"Attribute,omitempty"` - // ChapterStart: Blocks that are at the beginning of chapters have this set: - ChapterStart bool `json:"ChapterStart,omitempty"` - CleanupAnnotation []int64 `json:"CleanupAnnotation,omitempty"` - ContinuesFromPreviousPage bool `json:"ContinuesFromPreviousPage,omitempty"` - // ContinuesFromPreviousPageHyphenated: When ContinuesFromPreviousPage=true, - // this bit can be set to note that the word fragment on the previous page ends - // in a hyphen. - ContinuesFromPreviousPageHyphenated bool `json:"ContinuesFromPreviousPageHyphenated,omitempty"` - // ContinuesOnNextPage: Paragraphs that span across pages can be identified - // with the following flags. Note that flows just connect Blocks across pages. - // These continuation flags imply something more specific -- the case of a - // single logical paragraph split over pages. Only the last Paragraph in the - // last Block within a given FlowThread() on a page can have - // ContinuesOnNextPage set. Similarly, only the first Paragraph in the first - // Block with a given FlowThread() on a page may have ContinuesFromPreviousPage - // set. - ContinuesOnNextPage bool `json:"ContinuesOnNextPage,omitempty"` - // EndOfSpanningLabel: Normally, a SemanticLabel applies exactly to the goodoc - // element that it is contained in (usually Block or Paragraph, sometimes - // Word). Occasionally, we need a SemanticLabel to span across the boundary or - // end before the boundary. For example, a URL may just be a few words within a - // Paragraph. In such cases, the SemanticLabel is added to the first element of - // the span and contains this LogicalEntity pointing to the last element of the - // span: - EndOfSpanningLabel *GoodocLogicalEntity `json:"EndOfSpanningLabel,omitempty"` - // ExperimentalData: Message set for experimental algorithm data. Use case: We - // keep a set of features that was computed for the unsupervised caption - // extraction and store it here. Agora question producer will consume this - // message set to be embedded in a question. The experimental feature set can - // then be used later to pair up with ground truth labels for designing a - // supervised algorithm. Currently holding: o - // ocean/analysis/content/caption_data.proto's TextualElement - ExperimentalData *Proto2BridgeMessageSet `json:"ExperimentalData,omitempty"` - // Flow: Flow identifies a single sequential unit of text (or other content). - // It is only set on Blocks -- a flow identifies a sequence of Blocks. The - // default, main flow is just the empty string. The "FlowThread" of a block is - // the flow (if non-empty), suffixed with the block appearance. This is - // computed by GoodocUtils::FlowThread(). Paragraphs may be split over blocks - // in the same FlowThread, across pages. The following table shows how - // FlowThread gets computed: ## Flow Appearance FlowThread (empty) UNSPECIFIED - // "UNSPECIFIED" foo BODY "foo:BODY" Please use lower-case strings for flows - // (such as article-33-box). One useful way to think of flows is this: A - // logical unit of interest in a a Document (for example, an article) would be - // identified by a starting block, an ending block, and a list of flows of - // interest within the [start, end) span. message Article { (page#, block#): - // article_start; (page#, block#): article_end; repeated string flows; } The - // reading order of blocks, paragraphs/etc within this article would be the - // same order as present in the goodoc itself. Some applications (such as - // rendering) may want to process the article by running over all the flows - // together, others (such as indexing) may want to deal with the FlowThreads - // one after the other. - Flow string `json:"Flow,omitempty"` - // ModificationRecord: This field can be used to record the steps by which - // AlternateText for a sequence of the Goodoc is generated. - ModificationRecord string `json:"ModificationRecord,omitempty"` - // PageNumberOrdinal: If Appearence is PAGE_NUMBER: - PageNumberOrdinal *GoodocOrdinal `json:"PageNumberOrdinal,omitempty"` - Appearance int64 `json:"appearance,omitempty"` - Columndetails *GoodocSemanticLabelColumnDetails `json:"columndetails,omitempty"` - Contentlink *GoodocSemanticLabelContentLink `json:"contentlink,omitempty"` - Editcorrectioncandidate []*GoodocSemanticLabelEditCorrectionCandidate `json:"editcorrectioncandidate,omitempty"` - // Overrides: Structure overrides: typically manual corrections to goodoc - // renderings. - Overrides *GoodocOverrides `json:"overrides,omitempty"` - Snippetfilter []*GoodocSemanticLabelSnippetFilter `json:"snippetfilter,omitempty"` - Tablecelldetails *GoodocSemanticLabelTableCellDetails `json:"tablecelldetails,omitempty"` - Tabledetails *GoodocSemanticLabelTableDetails `json:"tabledetails,omitempty"` - // ForceSendFields is a list of field names (e.g. "AlternateText") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AlternateText") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocSemanticLabel) MarshalJSON() ([]byte, error) { - type NoMethod GoodocSemanticLabel - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocSemanticLabelColumnDetails: If Appearance is COLUMN: -type GoodocSemanticLabelColumnDetails struct { - Column int64 `json:"Column,omitempty"` - Columns int64 `json:"Columns,omitempty"` - // ForceSendFields is a list of field names (e.g. "Column") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Column") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocSemanticLabelColumnDetails) MarshalJSON() ([]byte, error) { - type NoMethod GoodocSemanticLabelColumnDetails - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocSemanticLabelContentLink: If the label is for something that links to -// another piece of content (in this volume, outside, a url, a citation, etc.). -type GoodocSemanticLabelContentLink struct { - // UrlTarget: For URL labels, we note the url here directly (it's also - // available by grabbing all text symbols within the labeled span). - // SCHOLARLY_CITATION labels or even CAPTION labels may occasionally contain - // URLs. - UrlTarget string `json:"UrlTarget,omitempty"` - Citationtarget *GoodocSemanticLabelContentLinkCitationTarget `json:"citationtarget,omitempty"` - Involumetarget *GoodocSemanticLabelContentLinkInVolumeTarget `json:"involumetarget,omitempty"` - // ForceSendFields is a list of field names (e.g. "UrlTarget") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "UrlTarget") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocSemanticLabelContentLink) MarshalJSON() ([]byte, error) { - type NoMethod GoodocSemanticLabelContentLink - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocSemanticLabelContentLinkCitationTarget: For SCHOLARLY_CITATION labels: -type GoodocSemanticLabelContentLinkCitationTarget struct { - // Authors: separated by semicolons - Authors string `json:"Authors,omitempty"` - BibKey string `json:"BibKey,omitempty"` - Confidence float64 `json:"Confidence,omitempty"` - Title string `json:"Title,omitempty"` - Year int64 `json:"Year,omitempty"` - // ForceSendFields is a list of field names (e.g. "Authors") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Authors") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocSemanticLabelContentLinkCitationTarget) MarshalJSON() ([]byte, error) { - type NoMethod GoodocSemanticLabelContentLinkCitationTarget - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoodocSemanticLabelContentLinkCitationTarget) UnmarshalJSON(data []byte) error { - type NoMethod GoodocSemanticLabelContentLinkCitationTarget - var s1 struct { - Confidence gensupport.JSONFloat64 `json:"Confidence"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Confidence = float64(s1.Confidence) - return nil -} - -// GoodocSemanticLabelContentLinkInVolumeTarget: For CAPTION or -// FOOTNOTE_POINTER or TOC_ENTRY or INDEX_ENTRY or CONTINUATION labels: -type GoodocSemanticLabelContentLinkInVolumeTarget struct { - Confidence float64 `json:"Confidence,omitempty"` - // LogicalEntity: The CAPTION label typically targets the previous or the next - // Block. The FOOTNOTE_POINTER label typically targets a paragraph in a - // FOOTNOTE Block. TOC_ENTRY and INDEX_ENTRY labels are links that point to a - // different page within the volume. CONTINUATION labels also are links that - // point to a different page within the volume, or maybe even a particular - // block or paragraph. - LogicalEntity *GoodocLogicalEntity `json:"LogicalEntity,omitempty"` - // ForceSendFields is a list of field names (e.g. "Confidence") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Confidence") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocSemanticLabelContentLinkInVolumeTarget) MarshalJSON() ([]byte, error) { - type NoMethod GoodocSemanticLabelContentLinkInVolumeTarget - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoodocSemanticLabelContentLinkInVolumeTarget) UnmarshalJSON(data []byte) error { - type NoMethod GoodocSemanticLabelContentLinkInVolumeTarget - var s1 struct { - Confidence gensupport.JSONFloat64 `json:"Confidence"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Confidence = float64(s1.Confidence) - return nil -} - -// GoodocSemanticLabelEditCorrectionCandidate: If there is more than one edit -// correction candidate, store all the candidates here. This helps a manual -// correction utility fire the right kind of question with the relevant -// options. -type GoodocSemanticLabelEditCorrectionCandidate struct { - EditedWord string `json:"EditedWord,omitempty"` - Probability float64 `json:"Probability,omitempty"` - // ForceSendFields is a list of field names (e.g. "EditedWord") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EditedWord") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocSemanticLabelEditCorrectionCandidate) MarshalJSON() ([]byte, error) { - type NoMethod GoodocSemanticLabelEditCorrectionCandidate - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoodocSemanticLabelEditCorrectionCandidate) UnmarshalJSON(data []byte) error { - type NoMethod GoodocSemanticLabelEditCorrectionCandidate - var s1 struct { - Probability gensupport.JSONFloat64 `json:"Probability"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Probability = float64(s1.Probability) - return nil -} - -// GoodocSemanticLabelSnippetFilter: Recording the output of the snippet -// filter. We run through a series of snippet filters and store all the -// conditions that this article passed. A condition is denoted by the -// "badword_fraction_allowed" in a running window of size - "window_size". If -// ARTICLE_SNIPPET_NOT_CLEAN annotation is set, this group has 0 items. It can -// be a part of article logicalentity, but keeping it here for consistency and -// coherence as SemanticLabel holds all other article metadata. -type GoodocSemanticLabelSnippetFilter struct { - BadwordFraction float64 `json:"badwordFraction,omitempty"` - WindowSize int64 `json:"windowSize,omitempty"` - // ForceSendFields is a list of field names (e.g. "BadwordFraction") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BadwordFraction") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocSemanticLabelSnippetFilter) MarshalJSON() ([]byte, error) { - type NoMethod GoodocSemanticLabelSnippetFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoodocSemanticLabelSnippetFilter) UnmarshalJSON(data []byte) error { - type NoMethod GoodocSemanticLabelSnippetFilter - var s1 struct { - BadwordFraction gensupport.JSONFloat64 `json:"badwordFraction"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.BadwordFraction = float64(s1.BadwordFraction) - return nil -} - -// GoodocSemanticLabelTableCellDetails: If Appearance is TABLE_CELL: -type GoodocSemanticLabelTableCellDetails struct { - Column int64 `json:"Column,omitempty"` - ColumnSpan int64 `json:"ColumnSpan,omitempty"` - // Row: Row and Column are 0-based - Row int64 `json:"Row,omitempty"` - RowSpan int64 `json:"RowSpan,omitempty"` - // ForceSendFields is a list of field names (e.g. "Column") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Column") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocSemanticLabelTableCellDetails) MarshalJSON() ([]byte, error) { - type NoMethod GoodocSemanticLabelTableCellDetails - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocSemanticLabelTableDetails: If Appearance is TABLE: -type GoodocSemanticLabelTableDetails struct { - Columns int64 `json:"Columns,omitempty"` - Rows int64 `json:"Rows,omitempty"` - // ForceSendFields is a list of field names (e.g. "Columns") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Columns") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocSemanticLabelTableDetails) MarshalJSON() ([]byte, error) { - type NoMethod GoodocSemanticLabelTableDetails - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocSummaryStats: Goodoc stats for a range of elements, such as one page -// or a whole book. These stats can be computed using the SummaryStatsCollector -// class. Some range stats are pre-computed and stored in goodocs/volumes (eg., -// Page.stats below, and Ocean's CA_VolumeResult.goodoc_stats). -type GoodocSummaryStats struct { - // EstimatedFontSizes: This flag is set if the histogram above has been derived - // by estimating font sizes from CharLabel.CharacterHeight; that happens if the - // FontSize field is constant, as has happened with Abbyy 9. - EstimatedFontSizes bool `json:"estimatedFontSizes,omitempty"` - // FontSizeHistogram: Symbol counts (and other attributes) for each distinct - // CharLabel.FontId and FontSize; histogram is in decreasing order of symbol - // count - FontSizeHistogram []*GoodocFontSizeStats `json:"fontSizeHistogram,omitempty"` - MeanSymbolsPerBlock int64 `json:"meanSymbolsPerBlock,omitempty"` - MeanSymbolsPerLine int64 `json:"meanSymbolsPerLine,omitempty"` - MeanSymbolsPerParagraph int64 `json:"meanSymbolsPerParagraph,omitempty"` - MeanSymbolsPerWord int64 `json:"meanSymbolsPerWord,omitempty"` - MeanWordsPerBlock int64 `json:"meanWordsPerBlock,omitempty"` - MeanWordsPerLine int64 `json:"meanWordsPerLine,omitempty"` - MeanWordsPerParagraph int64 `json:"meanWordsPerParagraph,omitempty"` - // MedianBlockSpace: bottom to next top in flow on page - MedianBlockSpace int64 `json:"medianBlockSpace,omitempty"` - // MedianEvenPrintedBox: 0,2,4.. - MedianEvenPrintedBox *GoodocBoundingBox `json:"medianEvenPrintedBox,omitempty"` - MedianFullEvenPrintedBox *GoodocBoundingBox `json:"medianFullEvenPrintedBox,omitempty"` - MedianFullOddPrintedBox *GoodocBoundingBox `json:"medianFullOddPrintedBox,omitempty"` - // MedianFullPrintedBox: Each median_full*_printed_box includes page - // header/footer but still excludes all graphic blocks - MedianFullPrintedBox *GoodocBoundingBox `json:"medianFullPrintedBox,omitempty"` - MedianHeight int64 `json:"medianHeight,omitempty"` - MedianHorizontalDpi int64 `json:"medianHorizontalDpi,omitempty"` - // MedianLineHeight: top to bottom - MedianLineHeight int64 `json:"medianLineHeight,omitempty"` - // MedianLineSpace: bottom to next top in para - MedianLineSpace int64 `json:"medianLineSpace,omitempty"` - // MedianLineSpan: top to next top in para - MedianLineSpan int64 `json:"medianLineSpan,omitempty"` - // MedianOddPrintedBox: 1,3,5.. - MedianOddPrintedBox *GoodocBoundingBox `json:"medianOddPrintedBox,omitempty"` - // MedianParagraphIndent: leading space on first line - MedianParagraphIndent int64 `json:"medianParagraphIndent,omitempty"` - // MedianParagraphSpace: bottom to next top in block - MedianParagraphSpace int64 `json:"medianParagraphSpace,omitempty"` - // MedianPrintedBox: Each median*_printed_box excludes page header/footer and - // all graphic blocks - MedianPrintedBox *GoodocBoundingBox `json:"medianPrintedBox,omitempty"` - MedianSymbolsPerBlock int64 `json:"medianSymbolsPerBlock,omitempty"` - MedianSymbolsPerLine int64 `json:"medianSymbolsPerLine,omitempty"` - MedianSymbolsPerParagraph int64 `json:"medianSymbolsPerParagraph,omitempty"` - MedianSymbolsPerWord int64 `json:"medianSymbolsPerWord,omitempty"` - MedianVerticalDpi int64 `json:"medianVerticalDpi,omitempty"` - MedianWidth int64 `json:"medianWidth,omitempty"` - MedianWordsPerBlock int64 `json:"medianWordsPerBlock,omitempty"` - MedianWordsPerLine int64 `json:"medianWordsPerLine,omitempty"` - MedianWordsPerParagraph int64 `json:"medianWordsPerParagraph,omitempty"` - // NumBlockSpaces: blocks that have a successor block within their flow on - // their page - NumBlockSpaces int64 `json:"numBlockSpaces,omitempty"` - // NumBlocks: ------ Block stats Median symbols and words omit junk, header and - // footer blocks; they are intended to be a measure of the typical "content" - // block. There can still be substantial differences between means and medians; - // however, block values will generally exceed paragraph values (not the case - // when headers and footers are included). - NumBlocks int64 `json:"numBlocks,omitempty"` - // NumLineSpaces: Lines (out of num_lines) that have a successor line within - // their para - NumLineSpaces int64 `json:"numLineSpaces,omitempty"` - // NumLines: ------ Line stats "top" corresponds to the highest ascender and - // "bottom" to the lowest descender. - NumLines int64 `json:"numLines,omitempty"` - NumNonGraphicBlocks int64 `json:"numNonGraphicBlocks,omitempty"` - // NumPages: ------ Page stats. - NumPages int64 `json:"numPages,omitempty"` - // NumParagraphSpaces: paras that have a successor para within their block - NumParagraphSpaces int64 `json:"numParagraphSpaces,omitempty"` - // NumParagraphs: ------ Paragraph stats Median symbols and words omit junk, - // header and footer blocks; they are intended to be a measure of the typical - // "content" paragraph. There can still be substantial differences between - // means and medians, particularly if a table is present (every cell is a - // paragraph). - NumParagraphs int64 `json:"numParagraphs,omitempty"` - // NumSymbols: ------ Symbol stats - NumSymbols int64 `json:"numSymbols,omitempty"` - // NumWords: ------ Word stats - NumWords int64 `json:"numWords,omitempty"` - // ForceSendFields is a list of field names (e.g. "EstimatedFontSizes") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EstimatedFontSizes") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocSummaryStats) MarshalJSON() ([]byte, error) { - type NoMethod GoodocSummaryStats - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocSymbol: A single symbol representation -type GoodocSymbol struct { - Box *GoodocBoundingBox `json:"Box,omitempty"` - // Code: The unicode character code in UTF-32 - Code int64 `json:"Code,omitempty"` - Label *GoodocLabel `json:"Label,omitempty"` - // RotatedBox: If RotatedBox is set, Box must be set as well. See - // RotatedBoundingBox. - RotatedBox *GoodocRotatedBoundingBox `json:"RotatedBox,omitempty"` - Symbolvariant []*GoodocSymbolSymbolVariant `json:"symbolvariant,omitempty"` - // ForceSendFields is a list of field names (e.g. "Box") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Box") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocSymbol) MarshalJSON() ([]byte, error) { - type NoMethod GoodocSymbol - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GoodocSymbolSymbolVariant struct { - Code int64 `json:"Code,omitempty"` - Confidence int64 `json:"Confidence,omitempty"` - // ForceSendFields is a list of field names (e.g. "Code") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Code") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocSymbolSymbolVariant) MarshalJSON() ([]byte, error) { - type NoMethod GoodocSymbolSymbolVariant - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocWord: A word representation -type GoodocWord struct { - // Baseline: The baseline's y-axis offset from the bottom of the word's - // bounding box, given in pixels. (A value of 2, for instance, indicates the - // baseline is 2px above the bottom of the box.) - Baseline int64 `json:"Baseline,omitempty"` - Box *GoodocBoundingBox `json:"Box,omitempty"` - // Capline: The capline is the y-axis offset from the top of the word bounding - // box. A positive value n indicates that capline is n-pixels above the top of - // this word. - Capline int64 `json:"Capline,omitempty"` - // CompactSymbolBoxes: For space efficiency, we sometimes skip the detailed - // per-symbol bounding boxes in Symbol.Box, and use this coarser representation - // instead, where we just store Symbol boundaries within the Word box. Most - // client code should not have to worry directly about this, it should be - // handled in the deepest layers of writing/reading goodocs (for example, see - // Compress() and Uncompress() in ocean/goodoc/goovols-bigtable-volume.h). - // Note(viresh): I experimented with this compression, and here are some - // numbers for reference. If the zlib-compressed page goodoc string size was - // 100 to start with, then this compaction makes it 65. As a possible future - // relaxation to consider: if we add in, for each symbol, a "top" and "bottom" - // box offset then the size would be 75 (that's with "repeated int32 - // top/bottom_offset" fields inside BoxPartitions, instead of inside each - // symbol). - CompactSymbolBoxes *GoodocBoxPartitions `json:"CompactSymbolBoxes,omitempty"` - // Confidence: Word recognition confidence. Range depends upon OCR Engine. - Confidence int64 `json:"Confidence,omitempty"` - // IsFromDictionary: word. The meaning and range depends on the OCR engine or - // subsequent processing. Specifies whether the word was found - IsFromDictionary bool `json:"IsFromDictionary,omitempty"` - // IsIdentifier: a number True if word represents - IsIdentifier bool `json:"IsIdentifier,omitempty"` - // IsLastInSentence: True if the word is the last word in any sub-paragraph - // unit that functions at the same level of granularity as a sentence. - // Examples: "She hit the ball." (regular sentence) "Dewey defeats Truman" - // (heading) "The more, the merrier." (no verb) Note: not currently used. Code - // to set this was introduced in CL 7038338 and removed in OCL=10678722. - IsLastInSentence bool `json:"IsLastInSentence,omitempty"` - // IsNumeric: in the dictionary True if the word represents - IsNumeric bool `json:"IsNumeric,omitempty"` - Label *GoodocLabel `json:"Label,omitempty"` - // Penalty: Penalty for discordance of characters in a - Penalty int64 `json:"Penalty,omitempty"` - // RotatedBox: If RotatedBox is set, Box must be set as well. See - // RotatedBoundingBox. - RotatedBox *GoodocRotatedBoundingBox `json:"RotatedBox,omitempty"` - // Symbol: Word characters, the text may - Symbol []*GoodocSymbol `json:"Symbol,omitempty"` - Alternates *GoodocWordAlternates `json:"alternates,omitempty"` - // Text: As a shortcut, the content API provides the text of words instead of - // individual symbols (NOTE: this is experimental). This is UTF8. And the main - // font for the word is stored in Label.CharLabel. - Text string `json:"text,omitempty"` - // WritingDirection: Writing direction for this word. - // - // Possible values: - // "WRITING_DIRECTION_LEFT_TO_RIGHT" - // "WRITING_DIRECTION_RIGHT_TO_LEFT" - // "WRITING_DIRECTION_TOP_TO_BOTTOM" - WritingDirection string `json:"writingDirection,omitempty"` - // ForceSendFields is a list of field names (e.g. "Baseline") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Baseline") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocWord) MarshalJSON() ([]byte, error) { - type NoMethod GoodocWord - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocWordAlternates: Alternate OCR words for Ptolemy OCR Correction. This -// is the output of the Ptolemy error estimator. See http://go/Ptolemy. -type GoodocWordAlternates struct { - // ErrorProbability: The probability that the main OCR engine (Abbyy) string is - // incorrect; range is 0 (definitely correct) to 100 (definitely incorrect). - ErrorProbability int64 `json:"ErrorProbability,omitempty"` - Alternate []*GoodocWordAlternatesAlternate `json:"alternate,omitempty"` - // ForceSendFields is a list of field names (e.g. "ErrorProbability") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ErrorProbability") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocWordAlternates) MarshalJSON() ([]byte, error) { - type NoMethod GoodocWordAlternates - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoodocWordAlternatesAlternate: An alternate word provided by another OCR -// engine, used for OCR Correction. This iteration only supports simple -// substitution errors (exhanging one word for another), but with minor -// modifications (e.g. adding a word count for each alternate), it could -// support repairing word segmentation and text detection errors. -type GoodocWordAlternatesAlternate struct { - // OcrEngineId: See Document.Header - OcrEngineId string `json:"OcrEngineId,omitempty"` - // OcrEngineVersion: See Document.Header - OcrEngineVersion string `json:"OcrEngineVersion,omitempty"` - // Word: In order to compile, this recursive message needs to be optional, even - // though it's within an optional group. - Word *GoodocWord `json:"Word,omitempty"` - // ForceSendFields is a list of field names (e.g. "OcrEngineId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OcrEngineId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoodocWordAlternatesAlternate) MarshalJSON() ([]byte, error) { - type NoMethod GoodocWordAlternatesAlternate - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleApiServiceconsumermanagementV1BillingConfig: Describes the billing -// configuration for a new tenant project. -type GoogleApiServiceconsumermanagementV1BillingConfig struct { - // BillingAccount: Name of the billing account. For example - // `billingAccounts/012345-567890-ABCDEF`. - BillingAccount string `json:"billingAccount,omitempty"` - // ForceSendFields is a list of field names (e.g. "BillingAccount") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BillingAccount") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleApiServiceconsumermanagementV1BillingConfig) MarshalJSON() ([]byte, error) { - type NoMethod GoogleApiServiceconsumermanagementV1BillingConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleApiServiceconsumermanagementV1PolicyBinding: Translates to IAM Policy -// bindings (without auditing at this level) -type GoogleApiServiceconsumermanagementV1PolicyBinding struct { - // Members: Uses the same format as in IAM policy. `member` must include both a - // prefix and ID. For example, `user:{emailId}`, `serviceAccount:{emailId}`, - // `group:{emailId}`. - Members []string `json:"members,omitempty"` - // Role: Role. (https://cloud.google.com/iam/docs/understanding-roles) For - // example, `roles/viewer`, `roles/editor`, or `roles/owner`. - Role string `json:"role,omitempty"` - // ForceSendFields is a list of field names (e.g. "Members") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Members") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleApiServiceconsumermanagementV1PolicyBinding) MarshalJSON() ([]byte, error) { - type NoMethod GoogleApiServiceconsumermanagementV1PolicyBinding - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantAccessoryV1AudioOutConfig: Specifies the desired format for -// the server to use when it returns `audio_out` messages. -type GoogleAssistantAccessoryV1AudioOutConfig struct { - // AudioMode: Current audio mode on the device while issuing the query. - // - // Possible values: - // "AUDIO_MODE_UNSPECIFIED" - No audio mode specified. The Assistant may - // respond as if in `AUDIO_SILENT` mode. - // "MUTED" - Device's audio mute mode has been activated by user. The - // Assistant will typically not return an audio response. - // "SILENT" - No audio is currently playing, and device's audio mute mode has - // NOT been activated by user. The Assistant will typically return an audio - // response. - // "PLAYING" - Audio is currently playing, such as a video or music. The - // Assistant will typically not return an audio response, but may for certain - // queries that are inherently audio (such as "what sound does a cow make?" or - // "how do you say 'something' in Korean". This mode should also typically be - // used when the screen is on and a screen-reader is activated for - // accessibility, as the screen-reader will read the contents of the visual - // response and manage navigation. - AudioMode string `json:"audioMode,omitempty"` - // AudioRoutingMode: Current audio routing on the device while issuing the - // query. - // - // Possible values: - // "AUDIO_ROUTING_MODE_UNSPECIFIED" - No audio routing mode specified. - // "BLUETOOTH_HEADPHONES" - Audio routes to headphones connected over - // BLUETOOTH. - AudioRoutingMode string `json:"audioRoutingMode,omitempty"` - // Encoding: *Required* The encoding of audio data to be returned in all - // `audio_out` messages. - // - // Possible values: - // "ENCODING_UNSPECIFIED" - Not specified. Will return result - // google.rpc.Code.INVALID_ARGUMENT. - // "LINEAR16" - Uncompressed 16-bit signed little-endian samples (Linear - // PCM). - // "MP3" - MP3 audio encoding. The sample rate is encoded in the payload. - // "OGG_OPUS" - Opus-encoded audio wrapped in an ogg container. The result - // will be a file which can be played natively on Android and in some browsers - // (such as Chrome). The quality of the encoding is considerably higher than - // MP3 while using the same bitrate. The sample rate is encoded in the payload. - // "MULAW" - Mulaw encoded 8-bit samples, typically used only by telephony. - // `sample_rate_hertz` must be 8000. - // "OPUS_CONTAINERLESS" - Opus encoded audio without a container. - Encoding string `json:"encoding,omitempty"` - // PreferredBitrateBps: *Optional* Specifies preferred encoding bitrate - // (bits-per-second). Currently this is only implemented for OGG_OPUS for - // bitrates of 12000, 16000, 24000, 32000. If not specified, OGG_OPUS defaults - // to 32000. - PreferredBitrateBps int64 `json:"preferredBitrateBps,omitempty"` - // ForceSendFields is a list of field names (e.g. "AudioMode") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AudioMode") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantAccessoryV1AudioOutConfig) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantAccessoryV1AudioOutConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantAccessoryV1DeviceConfig: *Required* Fields that identify the -// device to the Assistant. See also: * Register a Device - REST API (https: -// //developers.google.com/assistant/sdk/re // -// ference/device-registration/register-device-manual) * Device Model and -// Instance Schemas (https: //developers.google.com/assistant/sdk/re // -// ference/device-registration/model-and-instance-schemas) * Device Proto -// (https: //developers.google.com/assistant/sdk/re // -// ference/rpc/google.assistant.devices.v1#device) -type GoogleAssistantAccessoryV1DeviceConfig struct { - // DeviceModelCapabilitiesOverride: Device model capabilities from client to - // override capabilities in the primary device model. - DeviceModelCapabilitiesOverride *GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverride `json:"deviceModelCapabilitiesOverride,omitempty"` - // HeterodyneToken: *Optional* An encrypted heterodyne_experiment_token - // containing the list of experiment_ids (go/ph-server-tokens). - HeterodyneToken string `json:"heterodyneToken,omitempty"` - // SurfaceIdentity: *Required* Identifier for the device which sent the - // request. - SurfaceIdentity *GoogleAssistantEmbeddedV1SurfaceIdentity `json:"surfaceIdentity,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "DeviceModelCapabilitiesOverride") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceModelCapabilitiesOverride") - // to include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantAccessoryV1DeviceConfig) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantAccessoryV1DeviceConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantAccessoryV1DeviceState: Information about the state of the -// device. This contains any state that Assistant may need to know about in -// order to fulfill requests, for example which timers and alarms are set. Next -// ID: 13 -type GoogleAssistantAccessoryV1DeviceState struct { - // AlarmState: *Optional* Information about on-device alarms. For devices that - // support alarms, all on-device alarms must be sent up with the DeviceState in - // order for Assistant Server to be able to perform operations on them. - AlarmState *GoogleAssistantEmbeddedV1Alarms `json:"alarmState,omitempty"` - // ContextParams: Other context params to be sent to Assistant. This is a - // assistant.embedded.v1.ContextParams message in serialized binary proto - // format. - ContextParams string `json:"contextParams,omitempty"` - // DeviceTime: A timestamp of the current device time when the request was - // made. This field is required if your device supports alarms or timers. This - // ensures that requests are fulfilled relative to the current device time and - // regardless of any clock skew between the client and the server. - DeviceTime string `json:"deviceTime,omitempty"` - // DeviceTimeZone: The time zone where the device is currently located. This - // helps the Assistant answer time-related queries relative to the device's - // time zone. Generally speaking, mobile devices that support alarms or timers - // should supply device_time_zone. This field is required if your device - // supports alarms or timers and the device's location cannot reliably be - // determined. (See the comment above - // google.assistant.embedded.v1.DeviceLocation for a description of how the - // device's location is determined.) If the time zone cannot be determined, - // some queries for creating or modifying timers or alarms may fail with a - // generic error such as, "Sorry, I don't know how to help with that." - DeviceTimeZone *GoogleTypeTimeZone `json:"deviceTimeZone,omitempty"` - // DoNotDisturb: Indicate whether do not disturb mode is turned on. - DoNotDisturb bool `json:"doNotDisturb,omitempty"` - // FitnessActivitiesState: Information about on-device fitness activities. For - // devices that support fitness activities, all on-device fitness activities - // must be sent up with the DeviceState in order for Assistant Server to be - // able to perform operations on them. - FitnessActivitiesState *GoogleAssistantEmbeddedV1FitnessActivities `json:"fitnessActivitiesState,omitempty"` - // InstalledApps: Information about apps currently installed on device. - InstalledApps *GoogleAssistantAccessoryV1DeviceStateInstalledAppsState `json:"installedApps,omitempty"` - // InstalledAppsZlib: This contains a zlib-compressed binary-encoded - // `InstalledAppsState` proto message. - InstalledAppsZlib string `json:"installedAppsZlib,omitempty"` - // TimerState: *Optional* Information about on-device timers. For devices that - // support timers, all on-device timers must be sent up with the DeviceState in - // order for Assistant Server to be able to perform operations on them. - TimerState *GoogleAssistantEmbeddedV1Timers `json:"timerState,omitempty"` - // UnavailableSettings: This indicates which specific settings are currently - // unavailable for modification, despite being listed as a supported setting. - // Assistant can use this field to trigger unavailability messages, rather than - // claiming that a setting is entirely unsupported on device. - // - // Possible values: - // "UNSPECIFIED" - // "ABOUT_ME" - // "ACCESSIBILITY" - // "ACTIVE_EDGE" - // "ACTIVE_EDGE_SENSITIVITY" - // "ADAPTIVE_BATTERY" - // "ADAPTIVE_BRIGHTNESS" - // "ADAPTIVE_CHARGING" - // "ADAPTIVE_CONNECTIVITY" - // "ADAPTIVE_SOUND" - // "ADD_ACCOUNT" - // "ADD_BLUETOOTH_DEVICE" - Pair a bluetooth device. - // "ADD_DEVICE" - Link a device to Assistant/Google Home. - // "ADD_FINGERPRINT" - // "ADS_TRACKING" - // "AIRPLANE_MODE" - // "ALARM_VOLUME" - // "ALARM_SOUND" - Deprecated, use DEFAULT_ALARM_SOUND instead. - // "ALLOW_MULTIPLE_USERS" - // "AMBIENT_DISPLAY_ALWAYS_ON" - // "AMBIENT_DISPLAY_NEW_NOTIFICATION" - // "ANDROID_AUTO" - // "ANDROID_VERSION" - // "APP_BATTERY_USAGE" - // "APP_DATA_USAGE" - // "APP_DETAILS" - // "APP_SHORTCUT" - // "APPS_NOTIFICATIONS" - // "APPS_STORAGE" - // "ASSISTANT_ACCOUNT" - // "ASSISTANT_FACE_MATCH" - // "ASSISTANT_LANGUAGE" - // "ASSISTANT_VOICE_MATCH" - // "AUTO_ROTATE" - // "AUTO_ROTATE_FACE_DETECTION" - // "BACKUP" - // "BATTERY_HEALTH" - Denotes if the battery health is normal / reduced / - // unknown. - // "BATTERY_LEVEL" - // "BATTERY_LOW" - // "BATTERY_PERCENTAGE" - // "BATTERY_PRESENT" - // "BATTERY_SAVER" - // "BATTERY_SAVER_SCHEDULE" - // "BATTERY_SHARE" - // "BATTERY_USAGE" - // "BIOMETRIC" - // "BLUETOOTH" - Bluetooth on/off toggle - // "BLUETOOTH_NAME" - // "BLUETOOTH_ADDRESS" - // "BLUETOOTH_SETTINGS" - Bluetooth preferences page - // "BRIGHTNESS_LEVEL" - // "BUBBLES" - // "CALL_VOLUME" - // "CAMERA_DOUBLE_TWIST" - // "CAST" - // "CAR_CRASH_DETECTION" - // "COLOR_INVERSION" - // "COLOR_CORRECTION" - // "CONVERSATIONS" - // "CHARGING_SOUNDS_AND_VIBRATION" - // "CHARGING_STATE" - // "CONNECTED_DEVICES" - // "CONTACTLESS_PAYMENTS" - // "DATA_ROAMING" - // "DATA_SAVER" - // "DATA_USAGE" - Cellular carrier (non-wifi) data usage statistics & - // settings for the device. - // "DATA_LIMIT" - Toggle to enable data use limit - // "DATA_LIMIT_LEVEL" - The mobile data use after which mobile data is - // automatically disabled. - // "DATA_WARNING" - Toggle to enable data use warning - // "DATA_WARNING_LEVEL" - The mobile data use after which a warning is shown - // to the user. - // "DEFAULT_ALARM_SOUND" - // "DEFAULT_NOTIFICATION_SOUND" - // "DEFAULT_APPS" - // "DEVELOPER_OPTIONS" - // "DEVICE_ASSISTANT_APP" - Device's voice assistant app selection. - // "DEVICE_NAME" - // "DISPLAY_OVER_OTHER_APPS" - // "DISPLAY_SIZE" - // "DO_NOT_DISTURB" - // "DO_NOT_DISTURB_MESSAGES" - // "DO_NOT_DISTURB_CALLS" - // "DO_NOT_DISTURB_ALARMS" - // "DO_NOT_DISTURB_SCHEDULES" - // "DOUBLE_TAP_CHECK_PHONE" - // "DRIVING_MODE" - Special mode for using device hands-free while driving. - // "EARTHQUAKE_ALERTS" - // "EMERGENCY" - Main emergency settings - // "EMERGENCY_ALERTS" - // "EMERGENCY_CONTACTS" - // "EMERGENCY_INFORMATION" - // "ETHERNET_TETHERING" - // "EXTRA_DIM" - Makes screen extra dark. - // "EXTREME_BATTERY_SAVER" - // "FACTORY_RESET" - // "FIND_MY_DEVICE" - // "FLASHLIGHT" - // "FOCUS_MODE" - // "FONT_SIZE" - // "FREE_UP_SPACE" - // "FINGERPRINT_MANAGER" - // "GESTURES" - A page for device gestures - // "HAPTIC_FEEDBACK_VIBRATION" - Slider that controls touch feedback - // vibration - // "HARD_KEYBOARD" - // "HEADS_UP" - // "HIGH_REFRESH_RATE" - // "HOT_SPOT" - Toggle for internet sharing via WiFi. - // "HOTSPOT_TETHERING" - Common settings page for internet sharing via - // various means. - // "HOT_WORD" - // "HUB_MODE" - See go/hubmodesettings-PRD. - // "IP_ADDRESS" - Show my IP address - // "IMPROVE_LOCATION_ACCURACY" - // "JUMP_TO_CAMERA" - // "KEYBOARD_SHORTCUTS" - // "LIFT_CHECK_PHONE" - // "LIVE_TRANSLATE" - // "LOCATION" - // "LOCATION_HISTORY" - // "LOCATION_BLUETOOTH_SCANNING" - // "LOCATION_WIFI_SCANNING" - // "LOCK_SCREEN" - Settings page for what is visible on the lock screen. - // "LOCK_SCREEN_DEVICE_CONTROLS" - // "LOCK_SCREEN_WALLET" - // "MAC_ADDRESS" - Show my MAC address - // "MAGNIFICATION" - // "MAGNIFY_BUTTON" - // "MAGNIFY_TRIPLE_TAP" - // "MANIFY_BUTTON" - // "MANIFY_TRIPLE_TAP" - // "MEDIA" - // "MEDIA_VOLUME" - // "MICROPHONE_ACCESS" - Microphone Access is a toggleable setting that - // controls if Microphone usage is allowed at the system level or not. It is - // not the per-App Microphone permission page. - // https://screenshot.googleplex.com/4hrskftPSur7hHh - // "MOBILE" - Wireless internet settings, including WiFi, Cellular, etc. - // "MOBILE_DATA" - Setting to enable/disable cellular data connection being - // used on the device. https://screenshot.googleplex.com/jMSRtW3Aq4o - // "MUSIC" - // "MUTE_MODE" - // "NETWORK" - // "NETWORK_RESET" - Restarts the device network stack, no settings are - // deleted. - // "NFC" - // "NIGHT_LIGHT_INTENSITY" - // "NIGHT_LIGHT_SWITCH" - // "NIGHT_MODE" - // "NOTIFICATION_BADGE" - // "NOTIFICATION_SOUND" - Deprecated, use DEFAULT_NOTIFICATION_SOUND instead. - // "NOTIFICATION_ON_SCREEN" - // "NOTIFICATION_HISTORY" - // "NOTIFY_FOR_PUBLIC_NETWORKS" - // "ONEHANDED_MODE" - // "OS_VERSION" - // "PASSWORD" - Password manager - // "PERMISSION_MANAGER" - Shows permissions and allows add/remove allowed - // apps. - // "PERMISSION_USAGE" - Shows usage of each permission by app. - // "PERSONALIZATION" - // "PRINTING" - // "PHONE_NUMBER" - // "PICTURE_IN_PICTURE" - // "POINTER_SPEED" - // "POWER_MENU" - // "REMINDERS" - // "REQUIRE_DEVICE_UNLOCK_FOR_NFC" - // "RINGTONE" - // "RING_VOLUME" - // "NEARBY_DEVICES_SCANNING" - // "NEARBY_SHARE" - // "SCREEN_LOCKING_SOUND" - // "SCREEN_MAGNIFICATION" - // "SCREEN_TIMEOUT" - // "SCREEN_LOCK" - Settings page for screen locking security methods. - // "SCREEN_SAVER" - // "SELECT_TO_SPEAK" - // "SET_TIME_AUTOMATICALLY" - // "SET_TIME_ZONE_AUTOMATICALLY" - // "SETTINGS" - // "SIM" - Currently active/primary SIM. - // "SIM_MANAGER" - // "SPEECH_RATE" - // "STORAGE_USAGE" - // "SWIPE_FOR_NOTIFICATION" - // "SWITCH_ACCESS" - // "SYSTEM_UPDATE" - Deprecated, use SYSTEM_UPDATES instead. - // "SYSTEM_UPDATES" - // "SYSTEM_NAVIGATION" - Settings page for configuring how navigation between - // apps is done. Specifically android has choice between Buttons of Gestures - // mode. - // "SYSTEM_NAVIGATION_GESTURES" - // "SYSTEM_NAVIGATION_BUTTONS" - // "TALKBACK_PASSWORDS" - // "TEXT_TO_SPEECH" - // "TIME_ZONE" - // "UNUSED_APPS" - // "USB" - // "USB_TETHERING" - // "VERBOSE_TTS" - // "VIBRATE" - Deprecated, use VIBRATION instead. - // "VIBRATION" - Vibration master toggle - controls all vibration functions. - // Corresponds to "Vibration & haptics" toggle in the Android settings app. - // "VIBRATION_MODE" - Controls whether the ringer mode will be silent or will - // vibrate. Details in - // https://developer.android.com/reference/android/media/AudioManager#RINGER_MODE_VIBRATE - // Different from VIBRATION from above. - // "VOICE" - deprecated, use ASSISTANT_VOICE - // "VOLUME_LEVEL" - // "WAKE_SCREEN_FOR_NOTIFICATIONS" - // "WALLPAPERS" - // "WEBVIEW" - // "WIFI" - // "WIFI_ADD_NETWORK" - // "WIFI_ADD_NETWORK_QR_CODE" - // "WIFI_CALLING" - // "WIFI_HOTSPOT" - Duplicate, use HOT_SPOT instead - // "ACCESSIBILITY_SELECT_TO_SPEAK" - Accessibility > Select to Speak - // "CRISIS_ALERTS" - Safety > Crisis alerts - // "REGULATORY_LABELS" - Settings > About phone > Regulatory labels - // "SEND_FEEDBACK" - Settings > About phone > Send feedback about this device - // "OS_BUILD_NUMBER" - // "ACCESSIBILITY_SHORTCUTS" - // "ACCESSIBILITY_MENU" - // "ACCESSIBILITY_SOUND_AMPLIFIER" - Settings > Accessibility > Hearing > - // Sound Amplifier - // "ACCESSIBILITY_LIVE_TRANSCRIBE" - // "ACCESSIBILITY_SOUND_NOTIFICATIONS" - // "ACCESSIBILITY_TALKBACK" - Settings > Accessibility > TalkBack - // "ACCESSIBILITY_TIMEOUT" - Settings > Accessibility > Time to take action - // (Accessibility timeout) - // "CAMERA_SETTINGS" - // "BATTERY_SAVER_TOGGLE" - // "COVID_NOTIFICATIONS" - Settings > Google > COVID-19 Exposure - // Notifications - // "APP_LOCATION" - // "LOCATION_SERVICES" - // "PRIVATE_DNS" - // "UNRESTRICTED_DATA" - Settings > Network & Internet > Data Saver > - // Unrestricted data - // "PREFERRED_NETWORK" - // "NETWORK_PREFERENCES" - // "PASSWORDS_AND_ACCOUNTS" - // "PRIVACY_DASHBOARD" - // "MORE_SECURITY" - // "APP_PINNING" - // "CONFIRM_SIM_DELETION" - // "ENCRYPT_PHONE" - Settings > Security > Encrypt phone - // "FACE_UNLOCK" - // "INSTALL_UNKNOWN_APPS" - // "NOW_PLAYING" - // "STAY_AWAKE" - // "ASSISTANT_VOICE" - // "RESET_BLUETOOTH_WIFI" - // "DEFAULT_PHONE_APP" - // "GOOGLE_ACCOUNT" - // "ACCESSIBILITY_CAPTION_SIZE_AND_STYLE" - Settings > Accessibility > - // Caption preferences > Caption size and style - // "ACCESSIBILITY_CAPTION_STYLE" - Settings > Accessibility > Caption - // preferences > Caption size and style > Caption Style - // "ACCESSIBILITY_CAPTION_TEXT" - Settings > Accessibility > Caption - // preferences > Caption size and style > Text size - // "ACCESSIBILITY_CAPTION_PREFERENCES" - Settings > Accessibility > Caption - // preferences - // "ACCESSIBILITY_COLOR_AND_MOTION" - Settings > Accessibility > Color and - // motion - // "ACCESSIBILITY_BOLD_TEXT" - Settings > Accessibility > Display size and - // text > Bold text - // "LIVE_CAPTION" - // "POWER_BUTTON_ENDS_CALL" - Settings > Accessibility > Power button ends - // call - // "TOUCH_AND_HOLD_DELAY" - // "ACCESSIBILITY_VOICE_ACCESS" - // "SMS_PERMISSIONS" - // "SPECIAL_APP_ACCESS" - Settings > Apps & notifications > Advanced > - // Special app access - // "DARK_THEME_SCHEDULE" - // "LOCK_SCREEN_TEXT" - Settings > Display > Lock screen > Add text on lock - // screen - // "NIGHT_LIGHT_SCHEDULE" - // "AUTOFILL" - // "USAGE_AND_DIAGNOSTICS" - // "SENSITIVE_NOTIFICATIONS" - // "ENCRYPTION_AND_CREDENTIALS" - Settings > Security > Advanced settings > - // Encryption & credentials - // "SPACIAL_AUDIO" - Settings > Sound & vibration > Spatial Audio - // "RESET_OPTIONS" - Settings > System > Advanced > Reset options - // "QUICK_TAP" - Settings > System > Gestures > Quick tap - // "TIPS_AND_SUPPORT" - Settings > Tips & support - // "SCREEN_ATTENTION" - Display > Screen timeout > Screen attention - // "BLUETOOTH_TETHERING" - // "ALL_APPS" - // "EXTEND_UNLOCK" - // "CLEAR_CALLING" - // "GOOGLE_SETTINGS" - // "APP_LANGUAGES" - // "SIM_STATUS" - // "MICROPHONE_PERMISSIONS" - Permission Manager > Microphone - // "GOOGLE_PLAY_UPDATE" - // "ADD_GOOGLE_ACCOUNT" - // "ASSISTANT_SPOKEN_NOTIFICATIONS" - Settings for assistant to announce - // messages/notifications - // "ABOUT_PHONE" - Begin of NGA proto consistence - // "ACCOUNTS" - // "APPLICATION" - // "ASSISTANT" - // "AUDIO" - // "BATTERY" - // "BELL_SCHEDULE" - // "CONTINUED_CONVERSATION" - // "DATE_TIME" - // "DARK_THEME" - // "DEVICE_INFO" - // "DICTIONARY" - // "DIGITAL_WELLBEING" - // "DISPLAY" - // "LANGUAGE" - // "NIGHT_LIGHT" - Duplicate, use NIGHT_MODE instead - // "NOTIFICATION" - // "NOTIFICATION_VOLUME" - // "PHONE_RINGTONE" - // "PRIVACY" - // "ROAMING" - // "ROUTINES" - // "SEARCH" - // "SECURITY" - // "SOUND" - // "SPELL_CHECKER" - // "SYSTEM" - // "STORAGE" - // "VPN" - End of NGA proto consistence - // "AUTOCLICK" - Chrome OS specific accessibility settings - // "CARET_HIGHLIGHT" - // "CHROMEVOX" - // "CURSOR_HIGHLIGHT" - // "DOCKED_MAGNIFIER" - // "FOCUS_HIGHLIGHT" - // "FULLSCREEN_MAGNIFIER" - // "HIGH_CONTRAST_MODE" - // "LARGE_CURSOR" - // "MONO_AUDIO" - // "STICKY_KEYS" - // "TAP_DRAGGING" - // "VIRTUAL_KEYBOARD" - End of Chrome OS specific accessibility settings - // "WEARABLE_AMBIENT" - Wearable device settings - // "WEARABLE_NOISE_CANCELLATION" - // "WEARABLE_TOUCH_CONTROLS" - // "RAISE_TO_TALK" - // "BEDTIME_MODE" - // "THEATER_MODE" - // "TOUCH_LOCK" - // "PRESS_AND_HOLD" - // "WATCH_FACE" - Settings > Display > Change watch face End of Wearable - // device settings - // "NOTIFICATION_ANNOUNCEMENT" - Assistant Spoken Notification Setting - UnavailableSettings []string `json:"unavailableSettings,omitempty"` - // ForceSendFields is a list of field names (e.g. "AlarmState") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AlarmState") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantAccessoryV1DeviceState) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantAccessoryV1DeviceState - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantAccessoryV1DeviceStateInstalledAppsState: State of the apps -// currently installed on the device. -type GoogleAssistantAccessoryV1DeviceStateInstalledAppsState struct { - // Apps: List of apps currently installed on the device. - Apps []*AssistantApiCoreTypesProvider `json:"apps,omitempty"` - // ForceSendFields is a list of field names (e.g. "Apps") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Apps") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantAccessoryV1DeviceStateInstalledAppsState) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantAccessoryV1DeviceStateInstalledAppsState - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantAccessoryV1ResponseConfig: Configuration for the response. -// Next Id: 11 -type GoogleAssistantAccessoryV1ResponseConfig struct { - // AudioOutConfig: Specifies the current audio mode on the device. - AudioOutConfig *GoogleAssistantAccessoryV1AudioOutConfig `json:"audioOutConfig,omitempty"` - // DeviceConfig: Configuration related to a specific device. - DeviceConfig *GoogleAssistantAccessoryV1DeviceConfig `json:"deviceConfig,omitempty"` - // DeviceInteraction: The client interaction to be sent to Assistant. This is a - // assistant.embedded.v1.DeviceInteraction message in serialized binary proto - // format. - DeviceInteraction string `json:"deviceInteraction,omitempty"` - // DeviceState: Device state to pass to the Assistant server to use in - // calculating the response. - DeviceState *GoogleAssistantAccessoryV1DeviceState `json:"deviceState,omitempty"` - // InitialAudioBytes: Specifies the initial bytes of TTS audio to send. - InitialAudioBytes int64 `json:"initialAudioBytes,omitempty"` - // IsNewConversation: If true, the server will treat the request as a new - // conversation and not use state from the prior request. Set this field to - // true when the conversation should be restarted, such as after a device - // reboot, or after a significant lapse of time since the prior query. - IsNewConversation bool `json:"isNewConversation,omitempty"` - // OutputSampleRateHz: Specifies the desired audio sample rate of the output - // TTS stream in Hz. - OutputSampleRateHz int64 `json:"outputSampleRateHz,omitempty"` - // ResponseType: Specifies the requested response type. - // - // Possible values: - // "RESPONSE_TYPE_UNSPECIFIED" - No response type specified. This is invalid - // and the host will send a state update indicating an error. - // "TEXT" - Requests an Assistant text response. - // "TRANSCRIPTION" - Requests a voice transcription only. - ResponseType string `json:"responseType,omitempty"` - // ScreenOutConfig: Specifies the desired format to use when server returns a - // visual screen response. - ScreenOutConfig *GoogleAssistantAccessoryV1ScreenOutConfig `json:"screenOutConfig,omitempty"` - // ForceSendFields is a list of field names (e.g. "AudioOutConfig") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AudioOutConfig") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantAccessoryV1ResponseConfig) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantAccessoryV1ResponseConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantAccessoryV1ScreenOutConfig: Specifies the desired format for -// the server to use when it returns `screen_out` response. -type GoogleAssistantAccessoryV1ScreenOutConfig struct { - // Dimensions: Device dimensions. - Dimensions *GoogleAssistantAccessoryV1ScreenOutConfigDimensions `json:"dimensions,omitempty"` - // FontScaleFactor: The scale factor used to convert Scalable Pixel (SP) units - // to Density-independent Pixel (DP) units (DP = SP * scale factor). Fonts are - // measured in units of SP, and on some platforms such as Android the SP to DP - // scale factor can be affected by the font size a user selects in - // accessibility settings. - FontScaleFactor float64 `json:"fontScaleFactor,omitempty"` - // ForceSendFields is a list of field names (e.g. "Dimensions") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Dimensions") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantAccessoryV1ScreenOutConfig) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantAccessoryV1ScreenOutConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleAssistantAccessoryV1ScreenOutConfig) UnmarshalJSON(data []byte) error { - type NoMethod GoogleAssistantAccessoryV1ScreenOutConfig - var s1 struct { - FontScaleFactor gensupport.JSONFloat64 `json:"fontScaleFactor"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.FontScaleFactor = float64(s1.FontScaleFactor) - return nil -} - -// GoogleAssistantAccessoryV1ScreenOutConfigDimensions: This contains physical -// and logical characteristics about the device (e.g. screen size and DPI, -// etc). -type GoogleAssistantAccessoryV1ScreenOutConfigDimensions struct { - // ScreenDpi: Dots (pixels) per inch of the screen. - ScreenDpi float64 `json:"screenDpi,omitempty"` - // ScreenHeightPx: Height of the device's screen in pixels. If 0 or not - // specified, it's assumed to be the same as screen_width_px. For a square or - // round screen, it's recommended to leave this field empty as a bandwidth - // optimization. - ScreenHeightPx int64 `json:"screenHeightPx,omitempty"` - // ScreenShape: The shape of the device's screen - // - // Possible values: - // "SCREEN_SHAPE_UNSPECIFIED" - Screen shape is undefined. - // "SCREEN_SHAPE_OVAL" - A round screen (typically found on most Wear - // devices). - // "SCREEN_SHAPE_RECT" - Rectangular screens. - ScreenShape string `json:"screenShape,omitempty"` - // ScreenWidthPx: Width of the device's screen in pixels. - ScreenWidthPx int64 `json:"screenWidthPx,omitempty"` - // ForceSendFields is a list of field names (e.g. "ScreenDpi") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ScreenDpi") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantAccessoryV1ScreenOutConfigDimensions) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantAccessoryV1ScreenOutConfigDimensions - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleAssistantAccessoryV1ScreenOutConfigDimensions) UnmarshalJSON(data []byte) error { - type NoMethod GoogleAssistantAccessoryV1ScreenOutConfigDimensions - var s1 struct { - ScreenDpi gensupport.JSONFloat64 `json:"screenDpi"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.ScreenDpi = float64(s1.ScreenDpi) - return nil -} - -// GoogleAssistantEmbeddedV1Alarm: Alarms are clocks that ring at a specified -// time on one or more days. The client schedules a time to ring based on the -// date/time pattern. When it rings, it may be rescheduled off the original -// time by snoozing or it may be replaced by the next occurrence. -type GoogleAssistantEmbeddedV1Alarm struct { - // AlarmId: A string key used as an identifier to this alarm. This key needs to - // be unique amongst all alarms on the device. The client can choose a - // mechanism of its choice to ensure this. If the server suggests an alarm_id, - // the client can either use the suggestion or create a new unique alarm_id of - // its choosing. - AlarmId string `json:"alarmId,omitempty"` - // AlarmSource: The entity that created this alarm. Note this may be different - // from the device that reported this alarm. In particular, this field is meant - // for remote alarms which have been synced to the current device by the Clock - // app. Synced alarms exist in each device's Clock app and can be managed by - // either device; this field indicates their origin. - // - // Possible values: - // "ALARM_SOURCE_UNSPECIFIED" - Alarm source unknown or not specified. - // "PHONE" - A smartphone device. - // "WATCH" - A smartwatch device. - AlarmSource string `json:"alarmSource,omitempty"` - // DatePattern: For single alarms: the one date the alarm should next be - // scheduled for. - DatePattern *GoogleTypeDate `json:"datePattern,omitempty"` - // Label: A user-provided name for this alarm. - Label string `json:"label,omitempty"` - // RecurrencePattern: For recurring alarms: a description of the dates when the - // alarm should recur. - RecurrencePattern *GoogleAssistantEmbeddedV1AlarmRecurrence `json:"recurrencePattern,omitempty"` - // ScheduledTime: When SCHEDULED or SNOOZED, the absolute time the alarm will - // fire next. When SNOOZED, this time includes the additional time added by - // snoozing the alarm. When FIRING, the absolute time the alarm had been - // scheduled to fire. When DISABLED, this field is undefined and should be - // ignored. - ScheduledTime string `json:"scheduledTime,omitempty"` - // Status: Describes the part of the lifecycle that an alarm is in. - // - // Possible values: - // "ALARM_STATUS_UNSPECIFIED" - // "SCHEDULED" - The alarm is scheduled to fire at some point in the future. - // "FIRING" - The alarm is currently firing. - // "SNOOZED" - Like SCHEDULED; the alarm has been snoozed after firing. - // "DISABLED" - Alarm is disabled, i.e., it won't ring. Scheduled time is - // undefined for disabled alarms and should be ignored. - Status string `json:"status,omitempty"` - // TimePattern: The time of day the alarm should be scheduled for. This value - // does not change when an alarm enters the SNOOZED state; instead the - // scheduled_time field should be adjusted to the new alarm time. - TimePattern *GoogleTypeTimeOfDay `json:"timePattern,omitempty"` - // ForceSendFields is a list of field names (e.g. "AlarmId") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AlarmId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantEmbeddedV1Alarm) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantEmbeddedV1Alarm - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantEmbeddedV1AlarmRecurrence: A description of the dates when an -// alarm should recur. -type GoogleAssistantEmbeddedV1AlarmRecurrence struct { - // DayOfWeek: Specifies a weekly or daily recurrence. Constraint: The date - // falls on one of these days of the week, in 0...6 (Sunday...Saturday). Should - // not be empty. - // - // Possible values: - // "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified. - // "MONDAY" - Monday - // "TUESDAY" - Tuesday - // "WEDNESDAY" - Wednesday - // "THURSDAY" - Thursday - // "FRIDAY" - Friday - // "SATURDAY" - Saturday - // "SUNDAY" - Sunday - DayOfWeek []string `json:"dayOfWeek,omitempty"` - // ForceSendFields is a list of field names (e.g. "DayOfWeek") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DayOfWeek") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantEmbeddedV1AlarmRecurrence) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantEmbeddedV1AlarmRecurrence - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantEmbeddedV1Alarms: Contains information about on-device alarms -// for devices that support alarms. -type GoogleAssistantEmbeddedV1Alarms struct { - // Alarms: Information about all on-device alarms. - Alarms []*GoogleAssistantEmbeddedV1Alarm `json:"alarms,omitempty"` - // SnoozeDuration: The amount of time for which alarms should be snoozed. If - // not specified, the productivity vertical applies a default snooze duration, - // which may be seen here: - // http://google3/assistant/verticals/productivity/utils/alarm_utils.cc;l=2734;rcl=415933085 - SnoozeDuration string `json:"snoozeDuration,omitempty"` - // StateFetchError: Indicates if an error occurred while fetching alarm state. - // If this value is missing, it can be assumed that the state fetch was - // successful. - // - // Possible values: - // "STATE_FETCH_ERROR_UNSPECIFIED" - Equivalent to no errors from fetching - // state (i.e. success). - // "STATE_FETCH_ERROR_TIMEOUT" - The time taken to fetch state exceeded the - // allowed maximum time. - // "STATE_FETCH_ERROR_UNSUPPORTED" - State fetch is not supported in - // Stateless Timer/Alarm Integration. This is expected for Stateless - // Integration. - StateFetchError string `json:"stateFetchError,omitempty"` - // ForceSendFields is a list of field names (e.g. "Alarms") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Alarms") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantEmbeddedV1Alarms) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantEmbeddedV1Alarms - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverride: Device model -// capabilities override from client. -type GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverride struct { - // DeviceModelCapabilities: Device model capabilities from client. - DeviceModelCapabilities string `json:"deviceModelCapabilities,omitempty"` - // UpdateMask: If present, overrides only fields specified in the mask. When - // doing so, selected message and repeated fields will be replaced rather than - // merged. Performs a regular proto MergeFrom if no mask is specified. - UpdateMask string `json:"updateMask,omitempty"` - // ForceSendFields is a list of field names (e.g. "DeviceModelCapabilities") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DeviceModelCapabilities") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverride) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantEmbeddedV1DeviceModelCapabilitiesOverride - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantEmbeddedV1FitnessActivities: Contains information about -// on-device fitness activities for devices that support fitness. -type GoogleAssistantEmbeddedV1FitnessActivities struct { - // FitnessActivities: Information about all on-device activities. - FitnessActivities []*GoogleAssistantEmbeddedV1FitnessActivity `json:"fitnessActivities,omitempty"` - // ForceSendFields is a list of field names (e.g. "FitnessActivities") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FitnessActivities") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantEmbeddedV1FitnessActivities) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantEmbeddedV1FitnessActivities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantEmbeddedV1FitnessActivity: Describes a particular fitness -// activity, its current state, and other data fields associated with that -// activity (e.g. elapsed time). LINT.IfChange -type GoogleAssistantEmbeddedV1FitnessActivity struct { - // ActivityId: Required A string key used as an identifier for this activity. - // This key needs to be unique amongst all activities on the device. The client - // can choose a mechanism of its choice to ensure this. If the server suggests - // an activity_id, the client can either use the suggestion or create a new - // unique activity_id of its choosing. - ActivityId string `json:"activityId,omitempty"` - // MostRecentStartTime: DEPRECATED: The most recent time this activity was - // switched to the ACTIVE state. - MostRecentStartTime string `json:"mostRecentStartTime,omitempty"` - // PreviouslyAccumulatedDuration: DEPRECATED: The total amount of time this - // activity has spent in the ACTIVE state until the most recent start time. The - // total time spent active may be computed by summing (now - - // most_recent_start_time) with previously_accumulated_duration. - PreviouslyAccumulatedDuration string `json:"previouslyAccumulatedDuration,omitempty"` - // State: The current state of this activity. - // - // Possible values: - // "STATE_UNSPECIFIED" - The state is either unknown or unspecified. - // "ACTIVE" - Indicates that this activity is currently in progress. - // "PAUSED" - Indicates that this activity has been paused (and may be - // resumed later). Activities in this state should not continue to increment - // 'elapsed_time' until moved back into the ACTIVE state. - State string `json:"state,omitempty"` - // Type: The type of activity being done. - // - // Possible values: - // "TYPE_UNSPECIFIED" - The type is unknown. - // "WALK" - Represents a walking activity type. - // "RUN" - Represents a running activity type. - // "ELLIPTICAL" - Represents an elliptical activity type. - // "SWIM" - Represents a swimming activity type. - // "WEIGHTS" - Represents a weightlifting activity type. - // "TREADMILL" - Represents a treadmill activity type (e.g. walking/running - // on a treadmill). - // "BIKE" - Represents a cycling activity type. - // "YOGA" - Represents a yoga activity type. - // "WORKOUT" - Represents a generic workout activity. - // "BOOT_CAMP" - Represents a bootcamp activity type. - // "CIRCUIT_TRAINING" - Represents a circuit training activity type. - // "GOLF" - Represents a golf activity type. - // "HIKING" - Represents a hiking activity type. - // "INTERVAL_TRAINING" - Represents an interval training activity type. - // "KICKBOXING" - Represents a kickboxing activity type. - // "MARTIAL_ARTS" - Represents a martial arts activity type. - // "PILATES" - Represents a pilates activity type. - // "SPINNING" - Represents a spinning(indoor cycling, stationary biking) - // activity type. - // "STAIR_CLIMBING" - Represents a stair climbing activity type. - // "TENNIS" - Represents a tennis activity type. - // "AEROBICS" - Represents an aerobics activity type. - // "CORE_TRAINING" - Represents a core training activity type. - // "DANCING" - Represents a dancing activity type. - // "HIGH_INTENSITY_INTERVAL_TRAINING" - Represents a HIIT activity type. - // "KAYAKING" - Represents a kayaking activity type. - // "ROWING" - Represents a rowing activity type. - // "SKIING" - Represents a skiing activity type. - // "STANDUP_PADDLEBOARDING" - Represents a standup paddleboading(SUP) - // activity type. - // "STRENGTH_TRAINING" - Represents a strength training activity type. - // "SNOWBOARDING" - Represents a snowboarding activity type. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActivityId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ActivityId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantEmbeddedV1FitnessActivity) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantEmbeddedV1FitnessActivity - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantEmbeddedV1SurfaceIdentity: Contains fields to identify the -// device which sent the request. -type GoogleAssistantEmbeddedV1SurfaceIdentity struct { - // SurfaceType: Surface type that the device identifies as. - // - // Possible values: - // "UNKNOWN_TYPE" - Unknown surface type. - // "ACCL" - Android conversation client library (go/accl) is an Android - // library which implements the Conversation Protocol that allows a surface to - // have conversations with the Assistant server. OWNERS: surfaces-infra-core@ - // "AGSA" - Android Google Search App (go/agsa). OWNERS: surfaces-infra-core@ - // "ANDROID" - Android. OWNERS: surfaces-infra-core@ - // "ANDROID_AUTO" - Assistant on Android Auto (go/ast-auto). OWNERS: - // opa-android-leads@ - // "ANDROID_LITE" - Assistant on Android Go (not part of AGSA). OWNERS: - // assistantgo-eng@ - // "ANDROID_PHONE" - Assistant on Android phones accessed through the Google - // App (velvet). This surface is formerly known as OPA_AGSA. OWNERS: - // opa-android-leads@ - // "ANDROID_SCREENLESS" - Assistant on Nexus with screen off/locked. Use - // go/bisto device to trigger. OWNERS: opa-android-leads@ - // "ANDROID_SMART_DISPLAY" - Assistant on Titan hub mode - // (go/titan-hubmode-surface). This is OPA Android first party Smart Display - // devices. The UI experience is built on Opal (Gallium and Flutter) and native - // Android. OWNERS: opa-android-leads@ - // "ANDROID_TABLET" - Assistant on Android tablet. OWNERS: opa-android-leads@ - // "ANDROID_THINGS" - Android Things (go/things). OWNERS: - // surfaces-infra-core@ - // "ANDROID_THINGS_CUBE" - Lenovo Smart Clock v1, a stationary smart display - // device with a 4-inch screen, targeted for bedroom/bedside use cases like - // alarm, sleep tracking. Based on Android Things. See go/cube-home. OWNERS: - // cube-eng@ - // "ANDROID_THINGS_JASPER" - Former codename for 3P 8-inch and 10-inch Smart - // Displays from Lenovo, JBL and LG, targeted for use in the kitchen. Based on - // Android Things. See go/jasper-home. OWNERS: jasper-eng@ - // "ANDROID_TV" - The Android platform that powers smart televisions, - // set-top-boxes, and over-the-top devices. See go/atv-eng and go/opa-tv. - // OWNERS: opa-tv-eng@ - // "ANDROID_WEAR" - Legacy Wear OS Assistant. OWNERS: wear-assistant-eng@ - // "ASSISTANT_KIT" - AssistantKit (go/assistantkit) is a collection of iOS - // libraries allowing first party apps to integrate Google Assistant features. - // OWNERS: assistantkit-eng@ - // "ASSISTANT_SDK" - Standalone gRPC based client. See go/easi. OWNERS: - // assistant-sdk-service-eng@ - // "AUTO" - Automobile. OWNERS: surfaces-infra-core@ - // "CAST_OS" - Cast OS (go/opal-castos-docs#what-is-castos). OWNERS: - // surfaces-infra-core@ - // "CHROME_OS" - Chrome OS (go/chromsos) OWNERS: surfaces-infra-core@ - // "CHROMECAST_MANHATTAN" - For chromecast with assistant + screen, e.g. - // Newman. OWNERS: cast-eng-platform@ - // "CLOUD_DEVICE" - Virtual device for event-based triggering, e.g. executing - // time scheduled routines: go/scheduled-routines. OWNERS: surfaces-infra-core@ - // "CROS" - Assistant on native Chrome OS (go/croissant). OWNERS: croissant@ - // "FITBIT_OS_WATCH" - Assistant on Fitbit OS Watch. OWNERS: - // assistant-wearable-team@ - // "FITBIT_OS_WATCH_ANDROID" - Assistant on Fitbit Watch paired with AGSA. - // OWNERS: assistant-wearable-team@ - // "FITBIT_OS_WATCH_IOS" - Assistant on Fitbit Watch paired with iOPA. - // OWNERS: assistant-wearable-team@ - // "GOOGLE_HOME" - Google home speaker, i.e., Chirp devices. See - // go/assistant-speakers. OWNERS: assistant-speaker-leads@ - // "HEADPHONE" - Headphone. OWNERS: surfaces-infra-core@ - // "HEADPHONE_ANDROID" - Assistant on headphones with APA. OWNERS: - // assistant-wearable-team@ - // "HEADPHONE_ANDROID_SCREENLESS" - Assistant on headphones with AGSA-C. - // OWNERS: assistant-wearable-team@ - // "HEADPHONE_IOS" - Assistant on headphones paired with iOPA. OWNERS: - // assistant-wearable-team@ - // "IOPA" - Assistant on iOS devices (go/opa-ios). OWNERS: opa-ios-eng@ - // "IOS" - iOS. OWNERS: surfaces-infra-core@ - // "IOS_SCREENLESS" - Assistant on iOS with screen off/locked. Use go/bisto - // device to trigger. OWNERS: bisto-team@ - // "IPAD" - iPad devices. OWNERS: surfaces-infra-core@ - // "IPHONE" - iPhone devices. OWNERS: surfaces-infra-core@ - // "KAI_OS" - Kai OS (go/kaios). OWNERS: surfaces-infra-core@ - // "KAI_OS_AMA" - Assistant on KaiOS (go/kaiosama). OWNERS: - // assistant-kaios-eng@ - // "LIBASSISTANT" - LibAssistant (go/libassistant) C++ SDK that powers - // Assistant experience on both 1P devices like Google Home and 3P devices like - // Sonos. OWNERS: libassistant-core@ - // "MATTER" - Matter based clients. go/matter-prod. OWNERS: assistant-media@ - // "PHONE" - A phone. OWNERS: surfaces-infra-core@ - // "PIXEL" - Pixel devices. OWNERS: surfaces-infra-core@ - // "PIXEL5" - Pixel 5. OWNERS: surfaces-infra-core@ - // "PIXEL6" - Pixel 6. OWNERS: surfaces-infra-core@ - // "PIXEL7" - Pixel 7. OWNERS: surfaces-infra-core@ - // "PIXEL8" - Pixel 8. OWNERS: surfaces-infra-core@ - // "PIXEL_BUDS" - Assistant on Pixel Buds with APA. OWNERS: - // assistant-wearable-team@ - // "PIXEL_BUDS_SCREENLESS" - Assistant on Pixel Buds with AGSA-C. OWNERS: - // assistant-wearable-team@ - // "PIXEL_TABLET" - Assistant on Pixel Tablet/Tangor (a.k.a, TK). OWNERS: - // assistant-display-eng@ - // "PIXEL_TABLET_HUB_MODE" - Assistant on Tangor running in Hub mode. OWNERS: - // assistant-display-eng@ - // "PIXEL_TABLET_PERSONAL_MODE" - Assistant on Tangor running in Personal - // mode. OWNERS: assistant-display-eng@ - // "PIXEL_WATCH" - Assistant on Pixel Watch (a.k.a., Rohan). OWNERS: - // assistant-wearable-team@ - // "SCREENLESS" - Devices with screen off or locked (go/bisto). OWNERS: - // surfaces-infra-core@ - // "SMART_DISPLAY" - Smart surface, such as Titan. OWNERS: - // surfaces-infra-core@ - // "SPEAKER" - A speaker. OWNERS: surfaces-infra-core@ - // "TABLET" - A tablet. OWNERS: surfaces-infra-core@ - // "TELEPHONE" - Assistant on a phone call (go/telephone). OWNERS: - // telephone-assistant-eng@ - // "THING" - IoT device. OWNERS: surfaces-infra-core@ - // "WATCH" - Watch. OWNERS: surfaces-infra-core@ - // "WEAR_OS" - Wear OS. OWNERS: surfaces-infra-core@ - // "WEAR_OS_WATCH" - Assistant on Wear OS Watch (a.k.a., Edoras). OWNERS: - // assistant-wearable-team@ - SurfaceType string `json:"surfaceType,omitempty"` - // UserAgentSuffix: * Fully formed user agent suffix string. - UserAgentSuffix string `json:"userAgentSuffix,omitempty"` - // ForceSendFields is a list of field names (e.g. "SurfaceType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SurfaceType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantEmbeddedV1SurfaceIdentity) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantEmbeddedV1SurfaceIdentity - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantEmbeddedV1Timer: Conceptually, timers are clocks that count -// down from an initial duration and ring when they reach 0. In practice, as a -// timer is running, it holds a stable expiration time and computes the -// remaining duration using the current time. When a timer is paused, it holds -// a stable remaining duration. -type GoogleAssistantEmbeddedV1Timer struct { - // ExpireTime: The time the timer is scheduled to expire. - // google.protobuf.Timestamp is a Unix epoch time with a granularity of 1 - // nanosecond. - ExpireTime string `json:"expireTime,omitempty"` - // Label: A user-provided name for this timer. - Label string `json:"label,omitempty"` - // OriginalDuration: The duration of the timer when it was started. For the - // ADD_TIME action, this field contains the amount of time to add to the timer - // with the given timer_id. - OriginalDuration string `json:"originalDuration,omitempty"` - // RemainingDuration: The remaining duration for the timer. - RemainingDuration string `json:"remainingDuration,omitempty"` - // Status: Describes the part of the lifecycle a timer is in. - // - // Possible values: - // "TIMER_STATUS_UNSPECIFIED" - // "RUNNING" - The timer is currently counting down. - // "PAUSED" - The timer is currently paused. - // "FIRING" - The timer has expired and is ringing. - Status string `json:"status,omitempty"` - // TimerId: A string key used as an identifier to this timer. This key needs to - // be unique amongst all timers on the device. The client can choose a - // mechanism of its choice to ensure this. If the server suggests a timer_id, - // the client can either use the suggestion or create a new unique timer_id of - // its choosing. - TimerId string `json:"timerId,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExpireTime") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExpireTime") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantEmbeddedV1Timer) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantEmbeddedV1Timer - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleAssistantEmbeddedV1Timers: Contains information about on-device timers -// for devices that support timers. -type GoogleAssistantEmbeddedV1Timers struct { - // StateFetchError: Indicates if an error occurred while fetching timer state. - // If this value is missing, it can be assumed that the state fetch was - // successful. - // - // Possible values: - // "STATE_FETCH_ERROR_UNSPECIFIED" - Equivalent to no errors from fetching - // state (i.e. success). - // "STATE_FETCH_ERROR_TIMEOUT" - The time taken to fetch state exceeded the - // allowed maximum time. - // "STATE_FETCH_ERROR_UNSUPPORTED" - State fetch is not supported in - // Stateless Timer/Alarm Integration. This is expected for Stateless - // Integration. - StateFetchError string `json:"stateFetchError,omitempty"` - // Timers: Information about all on-device timers. - Timers []*GoogleAssistantEmbeddedV1Timer `json:"timers,omitempty"` - // ForceSendFields is a list of field names (e.g. "StateFetchError") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "StateFetchError") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleAssistantEmbeddedV1Timers) MarshalJSON() ([]byte, error) { - type NoMethod GoogleAssistantEmbeddedV1Timers - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1AccessControlAction: Represents the action -// responsible for access control list management operations. -type GoogleCloudContentwarehouseV1AccessControlAction struct { - // OperationType: Identifies the type of operation. - // - // Possible values: - // "UNKNOWN" - The unknown operation type. - // "ADD_POLICY_BINDING" - Adds newly given policy bindings in the existing - // bindings list. - // "REMOVE_POLICY_BINDING" - Removes newly given policy bindings from the - // existing bindings list. - // "REPLACE_POLICY_BINDING" - Replaces existing policy bindings with the - // given policy binding list - OperationType string `json:"operationType,omitempty"` - // Policy: Represents the new policy from which bindings are added, removed or - // replaced based on the type of the operation. the policy is limited to a few - // 10s of KB. - Policy *GoogleIamV1Policy `json:"policy,omitempty"` - // ForceSendFields is a list of field names (e.g. "OperationType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "OperationType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1AccessControlAction) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1AccessControlAction - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1Action: Represents the action triggered by Rule -// Engine when the rule is true. -type GoogleCloudContentwarehouseV1Action struct { - // AccessControl: Action triggering access control operations. - AccessControl *GoogleCloudContentwarehouseV1AccessControlAction `json:"accessControl,omitempty"` - // ActionId: ID of the action. Managed internally. - ActionId string `json:"actionId,omitempty"` - // AddToFolder: Action triggering create document link operation. - AddToFolder *GoogleCloudContentwarehouseV1AddToFolderAction `json:"addToFolder,omitempty"` - // DataUpdate: Action triggering data update operations. - DataUpdate *GoogleCloudContentwarehouseV1DataUpdateAction `json:"dataUpdate,omitempty"` - // DataValidation: Action triggering data validation operations. - DataValidation *GoogleCloudContentwarehouseV1DataValidationAction `json:"dataValidation,omitempty"` - // DeleteDocumentAction: Action deleting the document. - DeleteDocumentAction *GoogleCloudContentwarehouseV1DeleteDocumentAction `json:"deleteDocumentAction,omitempty"` - // PublishToPubSub: Action publish to Pub/Sub operation. - PublishToPubSub *GoogleCloudContentwarehouseV1PublishAction `json:"publishToPubSub,omitempty"` - // RemoveFromFolderAction: Action removing a document from a folder. - RemoveFromFolderAction *GoogleCloudContentwarehouseV1RemoveFromFolderAction `json:"removeFromFolderAction,omitempty"` - // ForceSendFields is a list of field names (e.g. "AccessControl") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AccessControl") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1Action) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1Action - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ActionExecutorOutput: Represents the output of -// the Action Executor. -type GoogleCloudContentwarehouseV1ActionExecutorOutput struct { - // RuleActionsPairs: List of rule and corresponding actions result. - RuleActionsPairs []*GoogleCloudContentwarehouseV1RuleActionsPair `json:"ruleActionsPairs,omitempty"` - // ForceSendFields is a list of field names (e.g. "RuleActionsPairs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RuleActionsPairs") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ActionExecutorOutput) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ActionExecutorOutput - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ActionOutput: Represents the result of -// executing an action. -type GoogleCloudContentwarehouseV1ActionOutput struct { - // ActionId: ID of the action. - ActionId string `json:"actionId,omitempty"` - // ActionState: State of an action. - // - // Possible values: - // "UNKNOWN" - The unknown state. - // "ACTION_SUCCEEDED" - State indicating action executed successfully. - // "ACTION_FAILED" - State indicating action failed. - // "ACTION_TIMED_OUT" - State indicating action timed out. - // "ACTION_PENDING" - State indicating action is pending. - ActionState string `json:"actionState,omitempty"` - // OutputMessage: Action execution output message. - OutputMessage string `json:"outputMessage,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActionId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ActionId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ActionOutput) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ActionOutput - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1AddToFolderAction: Represents the action -// responsible for adding document under a folder. -type GoogleCloudContentwarehouseV1AddToFolderAction struct { - // Folders: Names of the folder under which new document is to be added. - // Format: - // projects/{project_number}/locations/{location}/documents/{document_id}. - Folders []string `json:"folders,omitempty"` - // ForceSendFields is a list of field names (e.g. "Folders") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Folders") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1AddToFolderAction) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1AddToFolderAction - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1CloudAIDocumentOption: Request Option for -// processing Cloud AI Document in CW Document. -type GoogleCloudContentwarehouseV1CloudAIDocumentOption struct { - // CustomizedEntitiesPropertiesConversions: If set, only selected entities will - // be converted to properties. - CustomizedEntitiesPropertiesConversions map[string]string `json:"customizedEntitiesPropertiesConversions,omitempty"` - // EnableEntitiesConversions: Whether to convert all the entities to - // properties. - EnableEntitiesConversions bool `json:"enableEntitiesConversions,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "CustomizedEntitiesPropertiesConversions") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted from - // API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. - // "CustomizedEntitiesPropertiesConversions") to include in API requests with - // the JSON null value. By default, fields with empty values are omitted from - // API requests. See https://pkg.go.dev/google.golang.org/api#hdr-NullFields - // for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1CloudAIDocumentOption) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1CloudAIDocumentOption - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1CreateDocumentLinkRequest: Request message for -// DocumentLinkService.CreateDocumentLink. -type GoogleCloudContentwarehouseV1CreateDocumentLinkRequest struct { - // DocumentLink: Required. Document links associated with the source documents - // (source_document_id). - DocumentLink *GoogleCloudContentwarehouseV1DocumentLink `json:"documentLink,omitempty"` - // RequestMetadata: The meta information collected about the document creator, - // used to enforce access control for the service. - RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "DocumentLink") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocumentLink") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1CreateDocumentLinkRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1CreateDocumentLinkRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1CreateDocumentMetadata: Metadata object for -// CreateDocument request (currently empty). -type GoogleCloudContentwarehouseV1CreateDocumentMetadata struct { -} - -// GoogleCloudContentwarehouseV1CreateDocumentRequest: Request message for -// DocumentService.CreateDocument. -type GoogleCloudContentwarehouseV1CreateDocumentRequest struct { - // CloudAiDocumentOption: Request Option for processing Cloud AI Document in - // Document Warehouse. This field offers limited support for mapping entities - // from Cloud AI Document to Warehouse Document. Please consult with product - // team before using this field and other available options. - CloudAiDocumentOption *GoogleCloudContentwarehouseV1CloudAIDocumentOption `json:"cloudAiDocumentOption,omitempty"` - // CreateMask: Field mask for creating Document fields. If mask path is empty, - // it means all fields are masked. For the `FieldMask` definition, see - // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask. - CreateMask string `json:"createMask,omitempty"` - // Document: Required. The document to create. - Document *GoogleCloudContentwarehouseV1Document `json:"document,omitempty"` - // Policy: Default document policy during creation. This refers to an Identity - // and Access (IAM) policy, which specifies access controls for the Document. - // Conditions defined in the policy will be ignored. - Policy *GoogleIamV1Policy `json:"policy,omitempty"` - // RequestMetadata: The meta information collected about the end user, used to - // enforce access control for the service. - RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "CloudAiDocumentOption") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloudAiDocumentOption") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1CreateDocumentRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1CreateDocumentRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1CreateDocumentResponse: Response message for -// DocumentService.CreateDocument. -type GoogleCloudContentwarehouseV1CreateDocumentResponse struct { - // Document: Document created after executing create request. - Document *GoogleCloudContentwarehouseV1Document `json:"document,omitempty"` - // LongRunningOperations: post-processing LROs - LongRunningOperations []*GoogleLongrunningOperation `json:"longRunningOperations,omitempty"` - // Metadata: Additional information for the API invocation, such as the request - // tracking id. - Metadata *GoogleCloudContentwarehouseV1ResponseMetadata `json:"metadata,omitempty"` - // RuleEngineOutput: Output from Rule Engine recording the rule evaluator and - // action executor's output. Refer format in: - // google/cloud/contentwarehouse/v1/rule_engine.proto - RuleEngineOutput *GoogleCloudContentwarehouseV1RuleEngineOutput `json:"ruleEngineOutput,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Document") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Document") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1CreateDocumentResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1CreateDocumentResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1CustomWeightsMetadata: To support the custom -// weighting across document schemas. -type GoogleCloudContentwarehouseV1CustomWeightsMetadata struct { - // WeightedSchemaProperties: List of schema and property name. Allows a maximum - // of 10 schemas to be specified for relevance boosting. - WeightedSchemaProperties []*GoogleCloudContentwarehouseV1WeightedSchemaProperty `json:"weightedSchemaProperties,omitempty"` - // ForceSendFields is a list of field names (e.g. "WeightedSchemaProperties") - // to unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "WeightedSchemaProperties") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1CustomWeightsMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1CustomWeightsMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1DataUpdateAction: Represents the action -// responsible for properties update operations. -type GoogleCloudContentwarehouseV1DataUpdateAction struct { - // Entries: Map of (K, V) -> (valid name of the field, new value of the field) - // E.g., ("age", "60") entry triggers update of field age with a value of 60. - // If the field is not present then new entry is added. During update action - // execution, value strings will be casted to appropriate types. - Entries map[string]string `json:"entries,omitempty"` - // ForceSendFields is a list of field names (e.g. "Entries") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Entries") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1DataUpdateAction) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1DataUpdateAction - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1DataValidationAction: Represents the action -// responsible for data validation operations. -type GoogleCloudContentwarehouseV1DataValidationAction struct { - // Conditions: Map of (K, V) -> (field, string condition to be evaluated on the - // field) E.g., ("age", "age > 18 && age < 60") entry triggers validation of - // field age with the given condition. Map entries will be ANDed during - // validation. - Conditions map[string]string `json:"conditions,omitempty"` - // ForceSendFields is a list of field names (e.g. "Conditions") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Conditions") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1DataValidationAction) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1DataValidationAction - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1DateTimeArray: DateTime values. -type GoogleCloudContentwarehouseV1DateTimeArray struct { - // Values: List of datetime values. Both OffsetDateTime and ZonedDateTime are - // supported. - Values []*GoogleTypeDateTime `json:"values,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Values") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1DateTimeArray) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1DateTimeArray - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1DateTimeTypeOptions: Configurations for a date -// time property. -type GoogleCloudContentwarehouseV1DateTimeTypeOptions struct { -} - -// GoogleCloudContentwarehouseV1DeleteDocumentAction: Represents the action -// responsible for deleting the document. -type GoogleCloudContentwarehouseV1DeleteDocumentAction struct { - // EnableHardDelete: Boolean field to select between hard vs soft delete - // options. Set 'true' for 'hard delete' and 'false' for 'soft delete'. - EnableHardDelete bool `json:"enableHardDelete,omitempty"` - // ForceSendFields is a list of field names (e.g. "EnableHardDelete") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EnableHardDelete") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1DeleteDocumentAction) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1DeleteDocumentAction - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest: Request message for -// DocumentLinkService.DeleteDocumentLink. -type GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest struct { - // RequestMetadata: The meta information collected about the document creator, - // used to enforce access control for the service. - RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "RequestMetadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RequestMetadata") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1DeleteDocumentLinkRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1DeleteDocumentRequest: Request message for -// DocumentService.DeleteDocument. -type GoogleCloudContentwarehouseV1DeleteDocumentRequest struct { - // RequestMetadata: The meta information collected about the end user, used to - // enforce access control for the service. - RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "RequestMetadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RequestMetadata") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1DeleteDocumentRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1DeleteDocumentRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1Document: Defines the structure for content -// warehouse document proto. -type GoogleCloudContentwarehouseV1Document struct { - // CloudAiDocument: Document AI format to save the structured content, - // including OCR. - CloudAiDocument *GoogleCloudDocumentaiV1Document `json:"cloudAiDocument,omitempty"` - // ContentCategory: Indicates the category (image, audio, video etc.) of the - // original content. - // - // Possible values: - // "CONTENT_CATEGORY_UNSPECIFIED" - No category is specified. - // "CONTENT_CATEGORY_IMAGE" - Content is of image type. - // "CONTENT_CATEGORY_AUDIO" - Content is of audio type. - // "CONTENT_CATEGORY_VIDEO" - Content is of video type. - ContentCategory string `json:"contentCategory,omitempty"` - // CreateTime: Output only. The time when the document is created. - CreateTime string `json:"createTime,omitempty"` - // Creator: The user who creates the document. - Creator string `json:"creator,omitempty"` - // DisplayName: Required. Display name of the document given by the user. This - // name will be displayed in the UI. Customer can populate this field with the - // name of the document. This differs from the 'title' field as 'title' is - // optional and stores the top heading in the document. - DisplayName string `json:"displayName,omitempty"` - // DisplayUri: Uri to display the document, for example, in the UI. - DisplayUri string `json:"displayUri,omitempty"` - // DispositionTime: Output only. If linked to a Collection with - // RetentionPolicy, the date when the document becomes mutable. - DispositionTime string `json:"dispositionTime,omitempty"` - // DocumentSchemaName: The Document schema name. Format: - // projects/{project_number}/locations/{location}/documentSchemas/{document_sche - // ma_id}. - DocumentSchemaName string `json:"documentSchemaName,omitempty"` - // InlineRawDocument: Raw document content. - InlineRawDocument string `json:"inlineRawDocument,omitempty"` - // LegalHold: Output only. Indicates if the document has a legal hold on it. - LegalHold bool `json:"legalHold,omitempty"` - // Name: The resource name of the document. Format: - // projects/{project_number}/locations/{location}/documents/{document_id}. The - // name is ignored when creating a document. - Name string `json:"name,omitempty"` - // PlainText: Other document format, such as PPTX, XLXS - PlainText string `json:"plainText,omitempty"` - // Properties: List of values that are user supplied metadata. - Properties []*GoogleCloudContentwarehouseV1Property `json:"properties,omitempty"` - // RawDocumentFileType: This is used when DocAI was not used to load the - // document and parsing/ extracting is needed for the inline_raw_document. For - // example, if inline_raw_document is the byte representation of a PDF file, - // then this should be set to: RAW_DOCUMENT_FILE_TYPE_PDF. - // - // Possible values: - // "RAW_DOCUMENT_FILE_TYPE_UNSPECIFIED" - No raw document specified or it is - // non-parsable - // "RAW_DOCUMENT_FILE_TYPE_PDF" - Adobe PDF format - // "RAW_DOCUMENT_FILE_TYPE_DOCX" - Microsoft Word format - // "RAW_DOCUMENT_FILE_TYPE_XLSX" - Microsoft Excel format - // "RAW_DOCUMENT_FILE_TYPE_PPTX" - Microsoft Powerpoint format - // "RAW_DOCUMENT_FILE_TYPE_TEXT" - UTF-8 encoded text format - // "RAW_DOCUMENT_FILE_TYPE_TIFF" - TIFF or TIF image file format - RawDocumentFileType string `json:"rawDocumentFileType,omitempty"` - // RawDocumentPath: Raw document file in Cloud Storage path. - RawDocumentPath string `json:"rawDocumentPath,omitempty"` - // ReferenceId: The reference ID set by customers. Must be unique per project - // and location. - ReferenceId string `json:"referenceId,omitempty"` - // TextExtractionDisabled: If true, text extraction will not be performed. - TextExtractionDisabled bool `json:"textExtractionDisabled,omitempty"` - // TextExtractionEnabled: If true, text extraction will be performed. - TextExtractionEnabled bool `json:"textExtractionEnabled,omitempty"` - // Title: Title that describes the document. This can be the top heading or - // text that describes the document. - Title string `json:"title,omitempty"` - // UpdateTime: Output only. The time when the document is last updated. - UpdateTime string `json:"updateTime,omitempty"` - // Updater: The user who lastly updates the document. - Updater string `json:"updater,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "CloudAiDocument") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloudAiDocument") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1Document) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1Document - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1DocumentLink: A document-link between source -// and target document. -type GoogleCloudContentwarehouseV1DocumentLink struct { - // CreateTime: Output only. The time when the documentLink is created. - CreateTime string `json:"createTime,omitempty"` - // Description: Description of this document-link. - Description string `json:"description,omitempty"` - // Name: Name of this document-link. It is required that the parent derived - // form the name to be consistent with the source document reference. Otherwise - // an exception will be thrown. Format: - // projects/{project_number}/locations/{location}/documents/{source_document_id} - // /documentLinks/{document_link_id}. - Name string `json:"name,omitempty"` - // SourceDocumentReference: Document references of the source document. - SourceDocumentReference *GoogleCloudContentwarehouseV1DocumentReference `json:"sourceDocumentReference,omitempty"` - // State: The state of the documentlink. If target node has been deleted, the - // link is marked as invalid. Removing a source node will result in removal of - // all associated links. - // - // Possible values: - // "STATE_UNSPECIFIED" - Unknown state of documentlink. - // "ACTIVE" - The documentlink has both source and target documents detected. - // "SOFT_DELETED" - Target document is deleted, and mark the documentlink as - // soft-deleted. - State string `json:"state,omitempty"` - // TargetDocumentReference: Document references of the target document. - TargetDocumentReference *GoogleCloudContentwarehouseV1DocumentReference `json:"targetDocumentReference,omitempty"` - // UpdateTime: Output only. The time when the documentLink is last updated. - UpdateTime string `json:"updateTime,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "CreateTime") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreateTime") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1DocumentLink) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1DocumentLink - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GoogleCloudContentwarehouseV1DocumentQuery struct { - // CustomPropertyFilter: This filter specifies a structured syntax to match - // against the [PropertyDefinition].is_filterable marked as `true`. The syntax - // for this expression is a subset of SQL syntax. Supported operators are: `=`, - // `!=`, `<`, `<=`, `>`, and `>=` where the left of the operator is a property - // name and the right of the operator is a number or a quoted string. You must - // escape backslash (\\) and quote (\") characters. Supported functions are - // `LOWER([property_name])` to perform a case insensitive match and - // `EMPTY([property_name])` to filter on the existence of a key. Boolean - // expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for - // example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100 comparisons - // or functions are allowed in the expression. The expression must be < 6000 - // bytes in length. Sample Query: `(LOWER(driving_license)="class \"a\"" OR - // EMPTY(driving_license)) AND driving_years > 10` - CustomPropertyFilter string `json:"customPropertyFilter,omitempty"` - // CustomWeightsMetadata: To support the custom weighting across document - // schemas, customers need to provide the properties to be used to boost the - // ranking in the search request. For a search query with CustomWeightsMetadata - // specified, only the RetrievalImportance for the properties in the - // CustomWeightsMetadata will be honored. - CustomWeightsMetadata *GoogleCloudContentwarehouseV1CustomWeightsMetadata `json:"customWeightsMetadata,omitempty"` - // DocumentCreatorFilter: The exact creator(s) of the documents to search - // against. If a value isn't specified, documents within the search results are - // associated with any creator. If multiple values are specified, documents - // within the search results may be associated with any of the specified - // creators. - DocumentCreatorFilter []string `json:"documentCreatorFilter,omitempty"` - // DocumentNameFilter: Search the documents in the list. Format: - // projects/{project_number}/locations/{location}/documents/{document_id}. - DocumentNameFilter []string `json:"documentNameFilter,omitempty"` - // DocumentSchemaNames: This filter specifies the exact document schema - // Document.document_schema_name of the documents to search against. If a value - // isn't specified, documents within the search results are associated with any - // schema. If multiple values are specified, documents within the search - // results may be associated with any of the specified schemas. At most 20 - // document schema names are allowed. - DocumentSchemaNames []string `json:"documentSchemaNames,omitempty"` - // FileTypeFilter: This filter specifies the types of files to return: ALL, - // FOLDER, or FILE. If FOLDER or FILE is specified, then only either folders or - // files will be returned, respectively. If ALL is specified, both folders and - // files will be returned. If no value is specified, ALL files will be - // returned. - FileTypeFilter *GoogleCloudContentwarehouseV1FileTypeFilter `json:"fileTypeFilter,omitempty"` - // FolderNameFilter: Search all the documents under this specified folder. - // Format: - // projects/{project_number}/locations/{location}/documents/{document_id}. - FolderNameFilter string `json:"folderNameFilter,omitempty"` - // IsNlQuery: Experimental, do not use. If the query is a natural language - // question. False by default. If true, then the question-answering feature - // will be used instead of search, and `result_count` in SearchDocumentsRequest - // must be set. In addition, all other input fields related to search - // (pagination, histograms, etc.) will be ignored. - IsNlQuery bool `json:"isNlQuery,omitempty"` - // PropertyFilter: This filter specifies a structured syntax to match against - // the PropertyDefinition.is_filterable marked as `true`. The relationship - // between the PropertyFilters is OR. - PropertyFilter []*GoogleCloudContentwarehouseV1PropertyFilter `json:"propertyFilter,omitempty"` - // Query: The query string that matches against the full text of the document - // and the searchable properties. The query partially supports Google AIP style - // syntax (https://google.aip.dev/160). Specifically, the query supports - // literals, logical operators, negation operators, comparison operators, and - // functions. Literals: A bare literal value (examples: "42", "Hugo") is a - // value to be matched against. It searches over the full text of the document - // and the searchable properties. Logical operators: "AND", "and", "OR", and - // "or" are binary logical operators (example: "engineer OR developer"). - // Negation operators: "NOT" and "!" are negation operators (example: "NOT - // software"). Comparison operators: support the binary comparison operators =, - // !=, <, >, <= and >= for string, numeric, enum, boolean. Also support like - // operator `~~` for string. It provides semantic search functionality by - // parsing, stemming and doing synonyms expansion against the input query. To - // specify a property in the query, the left hand side expression in the - // comparison must be the property ID including the parent. The right hand side - // must be literals. For example: "\"projects/123/locations/us\".property_a < - // 1" matches results whose "property_a" is less than 1 in project 123 and us - // location. The literals and comparison expression can be connected in a - // single query (example: "software engineer - // \"projects/123/locations/us\".salary > 100"). Functions: supported functions - // are `LOWER([property_name])` to perform a case insensitive match and - // `EMPTY([property_name])` to filter on the existence of a key. Support nested - // expressions connected using parenthesis and logical operators. The default - // logical operators is `AND` if there is no operators between expressions. The - // query can be used with other filters e.g. `time_filters` and - // `folder_name_filter`. They are connected with `AND` operator under the hood. - // The maximum number of allowed characters is 255. - Query string `json:"query,omitempty"` - // QueryContext: For custom synonyms. Customers provide the synonyms based on - // context. One customer can provide multiple set of synonyms based on - // different context. The search query will be expanded based on the custom - // synonyms of the query context set. By default, no custom synonyms wll be - // applied if no query context is provided. It is not supported for CMEK - // compliant deployment. - QueryContext []string `json:"queryContext,omitempty"` - // TimeFilters: Documents created/updated within a range specified by this - // filter are searched against. - TimeFilters []*GoogleCloudContentwarehouseV1TimeFilter `json:"timeFilters,omitempty"` - // ForceSendFields is a list of field names (e.g. "CustomPropertyFilter") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CustomPropertyFilter") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1DocumentQuery) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1DocumentQuery - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1DocumentReference: References to the documents. -type GoogleCloudContentwarehouseV1DocumentReference struct { - // CreateTime: Output only. The time when the document is created. - CreateTime string `json:"createTime,omitempty"` - // DeleteTime: Output only. The time when the document is deleted. - DeleteTime string `json:"deleteTime,omitempty"` - // DisplayName: display_name of the referenced document; this name does not - // need to be consistent to the display_name in the Document proto, depending - // on the ACL constraint. - DisplayName string `json:"displayName,omitempty"` - // DocumentIsFolder: The document type of the document being referenced. - DocumentIsFolder bool `json:"documentIsFolder,omitempty"` - // DocumentIsLegalHoldFolder: Document is a folder with legal hold. - DocumentIsLegalHoldFolder bool `json:"documentIsLegalHoldFolder,omitempty"` - // DocumentIsRetentionFolder: Document is a folder with retention policy. - DocumentIsRetentionFolder bool `json:"documentIsRetentionFolder,omitempty"` - // DocumentName: Required. Name of the referenced document. - DocumentName string `json:"documentName,omitempty"` - // Snippet: Stores the subset of the referenced document's content. This is - // useful to allow user peek the information of the referenced document. - Snippet string `json:"snippet,omitempty"` - // UpdateTime: Output only. The time when the document is last updated. - UpdateTime string `json:"updateTime,omitempty"` - // ForceSendFields is a list of field names (e.g. "CreateTime") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreateTime") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1DocumentReference) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1DocumentReference - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1DocumentSchema: A document schema used to -// define document structure. -type GoogleCloudContentwarehouseV1DocumentSchema struct { - // CreateTime: Output only. The time when the document schema is created. - CreateTime string `json:"createTime,omitempty"` - // Description: Schema description. - Description string `json:"description,omitempty"` - // DisplayName: Required. Name of the schema given by the user. Must be unique - // per project. - DisplayName string `json:"displayName,omitempty"` - // DocumentIsFolder: Document Type, true refers the document is a folder, - // otherwise it is a typical document. - DocumentIsFolder bool `json:"documentIsFolder,omitempty"` - // Name: The resource name of the document schema. Format: - // projects/{project_number}/locations/{location}/documentSchemas/{document_sche - // ma_id}. The name is ignored when creating a document schema. - Name string `json:"name,omitempty"` - // PropertyDefinitions: Document details. - PropertyDefinitions []*GoogleCloudContentwarehouseV1PropertyDefinition `json:"propertyDefinitions,omitempty"` - // UpdateTime: Output only. The time when the document schema is last updated. - UpdateTime string `json:"updateTime,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "CreateTime") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CreateTime") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1DocumentSchema) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1DocumentSchema - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1EnumArray: Enum values. -type GoogleCloudContentwarehouseV1EnumArray struct { - // Values: List of enum values. - Values []string `json:"values,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Values") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1EnumArray) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1EnumArray - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1EnumTypeOptions: Configurations for an -// enum/categorical property. -type GoogleCloudContentwarehouseV1EnumTypeOptions struct { - // PossibleValues: Required. List of possible enum values. - PossibleValues []string `json:"possibleValues,omitempty"` - // ValidationCheckDisabled: Make sure the Enum property value provided in the - // document is in the possile value list during document creation. The - // validation check runs by default. - ValidationCheckDisabled bool `json:"validationCheckDisabled,omitempty"` - // ForceSendFields is a list of field names (e.g. "PossibleValues") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PossibleValues") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1EnumTypeOptions) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1EnumTypeOptions - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1EnumValue: Represents the string value of the -// enum field. -type GoogleCloudContentwarehouseV1EnumValue struct { - // Value: String value of the enum field. This must match defined set of enums - // in document schema using EnumTypeOptions. - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Value") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Value") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1EnumValue) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1EnumValue - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ExportToCdwPipeline: The configuration of -// exporting documents from the Document Warehouse to CDW pipeline. -type GoogleCloudContentwarehouseV1ExportToCdwPipeline struct { - // DocAiDataset: Optional. The CDW dataset resource name. This field is - // optional. If not set, the documents will be exported to Cloud Storage only. - // Format: - // projects/{project}/locations/{location}/processors/{processor}/dataset - DocAiDataset string `json:"docAiDataset,omitempty"` - // Documents: The list of all the resource names of the documents to be - // processed. Format: - // projects/{project_number}/locations/{location}/documents/{document_id}. - Documents []string `json:"documents,omitempty"` - // ExportFolderPath: The Cloud Storage folder path used to store the exported - // documents before being sent to CDW. Format: `gs:///`. - ExportFolderPath string `json:"exportFolderPath,omitempty"` - // TrainingSplitRatio: Ratio of training dataset split. When importing into - // Document AI Workbench, documents will be automatically split into training - // and test split category with the specified ratio. This field is required if - // doc_ai_dataset is set. - TrainingSplitRatio float64 `json:"trainingSplitRatio,omitempty"` - // ForceSendFields is a list of field names (e.g. "DocAiDataset") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocAiDataset") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ExportToCdwPipeline) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ExportToCdwPipeline - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudContentwarehouseV1ExportToCdwPipeline) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudContentwarehouseV1ExportToCdwPipeline - var s1 struct { - TrainingSplitRatio gensupport.JSONFloat64 `json:"trainingSplitRatio"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.TrainingSplitRatio = float64(s1.TrainingSplitRatio) - return nil -} - -// GoogleCloudContentwarehouseV1FetchAclRequest: Request message for -// DocumentService.FetchAcl -type GoogleCloudContentwarehouseV1FetchAclRequest struct { - // ProjectOwner: For Get Project ACL only. Authorization check for end user - // will be ignored when project_owner=true. - ProjectOwner bool `json:"projectOwner,omitempty"` - // RequestMetadata: The meta information collected about the end user, used to - // enforce access control for the service. - RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "ProjectOwner") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ProjectOwner") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1FetchAclRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1FetchAclRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1FetchAclResponse: Response message for -// DocumentService.FetchAcl. -type GoogleCloudContentwarehouseV1FetchAclResponse struct { - // Metadata: Additional information for the API invocation, such as the request - // tracking id. - Metadata *GoogleCloudContentwarehouseV1ResponseMetadata `json:"metadata,omitempty"` - // Policy: The IAM policy. - Policy *GoogleIamV1Policy `json:"policy,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Metadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1FetchAclResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1FetchAclResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1FileTypeFilter: Filter for the specific types -// of documents returned. -type GoogleCloudContentwarehouseV1FileTypeFilter struct { - // FileType: The type of files to return. - // - // Possible values: - // "FILE_TYPE_UNSPECIFIED" - Default document type. If set, disables the - // filter. - // "ALL" - Returns all document types, including folders. - // "FOLDER" - Returns only folders. - // "DOCUMENT" - Returns only non-folder documents. - // "ROOT_FOLDER" - Returns only root folders - FileType string `json:"fileType,omitempty"` - // ForceSendFields is a list of field names (e.g. "FileType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "FileType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1FileTypeFilter) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1FileTypeFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1FloatArray: Float values. -type GoogleCloudContentwarehouseV1FloatArray struct { - // Values: List of float values. - Values []float64 `json:"values,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Values") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1FloatArray) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1FloatArray - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudContentwarehouseV1FloatArray) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudContentwarehouseV1FloatArray - var s1 struct { - Values []gensupport.JSONFloat64 `json:"values"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Values = make([]float64, len(s1.Values)) - for i := range s1.Values { - s.Values[i] = float64(s1.Values[i]) - } - return nil -} - -// GoogleCloudContentwarehouseV1FloatTypeOptions: Configurations for a float -// property. -type GoogleCloudContentwarehouseV1FloatTypeOptions struct { -} - -// GoogleCloudContentwarehouseV1GcsIngestPipeline: The configuration of the -// Cloud Storage Ingestion pipeline. -type GoogleCloudContentwarehouseV1GcsIngestPipeline struct { - // InputPath: The input Cloud Storage folder. All files under this folder will - // be imported to Document Warehouse. Format: `gs:///`. - InputPath string `json:"inputPath,omitempty"` - // PipelineConfig: Optional. The config for the Cloud Storage Ingestion - // pipeline. It provides additional customization options to run the pipeline - // and can be skipped if it is not applicable. - PipelineConfig *GoogleCloudContentwarehouseV1IngestPipelineConfig `json:"pipelineConfig,omitempty"` - // ProcessorType: The Doc AI processor type name. Only used when the format of - // ingested files is Doc AI Document proto format. - ProcessorType string `json:"processorType,omitempty"` - // SchemaName: The Document Warehouse schema resource name. All documents - // processed by this pipeline will use this schema. Format: - // projects/{project_number}/locations/{location}/documentSchemas/{document_sche - // ma_id}. - SchemaName string `json:"schemaName,omitempty"` - // SkipIngestedDocuments: The flag whether to skip ingested documents. If it is - // set to true, documents in Cloud Storage contains key "status" with value - // "status=ingested" in custom metadata will be skipped to ingest. - SkipIngestedDocuments bool `json:"skipIngestedDocuments,omitempty"` - // ForceSendFields is a list of field names (e.g. "InputPath") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "InputPath") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1GcsIngestPipeline) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1GcsIngestPipeline - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline: The -// configuration of the Cloud Storage Ingestion with DocAI Processors pipeline. -type GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline struct { - // ExtractProcessorInfos: The extract processors information. One matched - // extract processor will be used to process documents based on the classify - // processor result. If no classify processor is specified, the first extract - // processor will be used. - ExtractProcessorInfos []*GoogleCloudContentwarehouseV1ProcessorInfo `json:"extractProcessorInfos,omitempty"` - // InputPath: The input Cloud Storage folder. All files under this folder will - // be imported to Document Warehouse. Format: `gs:///`. - InputPath string `json:"inputPath,omitempty"` - // PipelineConfig: Optional. The config for the Cloud Storage Ingestion with - // DocAI Processors pipeline. It provides additional customization options to - // run the pipeline and can be skipped if it is not applicable. - PipelineConfig *GoogleCloudContentwarehouseV1IngestPipelineConfig `json:"pipelineConfig,omitempty"` - // ProcessorResultsFolderPath: The Cloud Storage folder path used to store the - // raw results from processors. Format: `gs:///`. - ProcessorResultsFolderPath string `json:"processorResultsFolderPath,omitempty"` - // SkipIngestedDocuments: The flag whether to skip ingested documents. If it is - // set to true, documents in Cloud Storage contains key "status" with value - // "status=ingested" in custom metadata will be skipped to ingest. - SkipIngestedDocuments bool `json:"skipIngestedDocuments,omitempty"` - // SplitClassifyProcessorInfo: The split and classify processor information. - // The split and classify result will be used to find a matched extract - // processor. - SplitClassifyProcessorInfo *GoogleCloudContentwarehouseV1ProcessorInfo `json:"splitClassifyProcessorInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExtractProcessorInfos") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExtractProcessorInfos") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1GetDocumentRequest: Request message for -// DocumentService.GetDocument. -type GoogleCloudContentwarehouseV1GetDocumentRequest struct { - // RequestMetadata: The meta information collected about the end user, used to - // enforce access control for the service. - RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "RequestMetadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RequestMetadata") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1GetDocumentRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1GetDocumentRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1HistogramQuery: The histogram request. -type GoogleCloudContentwarehouseV1HistogramQuery struct { - // Filters: Optional. Filter the result of histogram query by the property - // names. It only works with histogram query count('FilterableProperties'). It - // is an optional. It will perform histogram on all the property names for all - // the document schemas. Setting this field will have a better performance. - Filters *GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter `json:"filters,omitempty"` - // HistogramQuery: An expression specifies a histogram request against matching - // documents for searches. See SearchDocumentsRequest.histogram_queries for - // details about syntax. - HistogramQuery string `json:"histogramQuery,omitempty"` - // RequirePreciseResultSize: Controls if the histogram query requires the - // return of a precise count. Enable this flag may adversely impact - // performance. Defaults to true. - RequirePreciseResultSize bool `json:"requirePreciseResultSize,omitempty"` - // ForceSendFields is a list of field names (e.g. "Filters") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Filters") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1HistogramQuery) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1HistogramQuery - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter struct { - // DocumentSchemas: This filter specifies the exact document schema(s) - // Document.document_schema_name to run histogram query against. It is - // optional. It will perform histogram for property names for all the document - // schemas if it is not set. At most 10 document schema names are allowed. - // Format: - // projects/{project_number}/locations/{location}/documentSchemas/{document_sche - // ma_id}. - DocumentSchemas []string `json:"documentSchemas,omitempty"` - // PropertyNames: It is optional. It will perform histogram for all the - // property names if it is not set. The properties need to be defined with the - // is_filterable flag set to true and the name of the property should be in the - // format: "schemaId.propertyName". The property needs to be defined in the - // schema. Example: the schema id is abc. Then the name of property for - // property MORTGAGE_TYPE will be "abc.MORTGAGE_TYPE". - PropertyNames []string `json:"propertyNames,omitempty"` - // YAxis: By default, the y_axis is HISTOGRAM_YAXIS_DOCUMENT if this field is - // not set. - // - // Possible values: - // "HISTOGRAM_YAXIS_DOCUMENT" - Count the documents per property name. - // "HISTOGRAM_YAXIS_PROPERTY" - Count the properties per property name. - YAxis string `json:"yAxis,omitempty"` - // ForceSendFields is a list of field names (e.g. "DocumentSchemas") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocumentSchemas") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1HistogramQueryPropertyNameFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1HistogramQueryResult: Histogram result that -// matches HistogramQuery specified in searches. -type GoogleCloudContentwarehouseV1HistogramQueryResult struct { - // Histogram: A map from the values of the facet associated with distinct - // values to the number of matching entries with corresponding value. The key - // format is: * (for string histogram) string values stored in the field. - Histogram map[string]string `json:"histogram,omitempty"` - // HistogramQuery: Requested histogram expression. - HistogramQuery string `json:"histogramQuery,omitempty"` - // ForceSendFields is a list of field names (e.g. "Histogram") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Histogram") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1HistogramQueryResult) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1HistogramQueryResult - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1IngestPipelineConfig: The ingestion pipeline -// config. -type GoogleCloudContentwarehouseV1IngestPipelineConfig struct { - // CloudFunction: The Cloud Function resource name. The Cloud Function needs to - // live inside consumer project and is accessible to Document AI Warehouse - // P4SA. Only Cloud Functions V2 is supported. Cloud function execution should - // complete within 5 minutes or this file ingestion may fail due to timeout. - // Format: `https://{region}-{project_id}.cloudfunctions.net/{cloud_function}` - // The following keys are available the request json payload. * display_name * - // properties * plain_text * reference_id * document_schema_name * - // raw_document_path * raw_document_file_type The following keys from the cloud - // function json response payload will be ingested to the Document AI Warehouse - // as part of Document proto content and/or related information. The original - // values will be overridden if any key is present in the response. * - // display_name * properties * plain_text * document_acl_policy * folder - CloudFunction string `json:"cloudFunction,omitempty"` - // DocumentAclPolicy: The document level acl policy config. This refers to an - // Identity and Access (IAM) policy, which specifies access controls for all - // documents ingested by the pipeline. The role and members under the policy - // needs to be specified. The following roles are supported for document level - // acl control: * roles/contentwarehouse.documentAdmin * - // roles/contentwarehouse.documentEditor * - // roles/contentwarehouse.documentViewer The following members are supported - // for document level acl control: * user:user-email@example.com * - // group:group-email@example.com Note that for documents searched with LLM, - // only single level user or group acl check is supported. - DocumentAclPolicy *GoogleIamV1Policy `json:"documentAclPolicy,omitempty"` - // EnableDocumentTextExtraction: The document text extraction enabled flag. If - // the flag is set to true, DWH will perform text extraction on the raw - // document. - EnableDocumentTextExtraction bool `json:"enableDocumentTextExtraction,omitempty"` - // Folder: Optional. The name of the folder to which all ingested documents - // will be linked during ingestion process. Format is - // `projects/{project}/locations/{location}/documents/{folder_id}` - Folder string `json:"folder,omitempty"` - // ForceSendFields is a list of field names (e.g. "CloudFunction") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloudFunction") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1IngestPipelineConfig) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1IngestPipelineConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1InitializeProjectRequest: Request message for -// projectService.InitializeProject -type GoogleCloudContentwarehouseV1InitializeProjectRequest struct { - // AccessControlMode: Required. The access control mode for accessing the - // customer data - // - // Possible values: - // "ACL_MODE_UNKNOWN" - This value is required by protobuf best practices - // "ACL_MODE_UNIVERSAL_ACCESS" - Universal Access: No document level access - // control. - // "ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_BYOID" - Document level access - // control with customer own Identity Service. - // "ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_GCI" - Document level access - // control using Google Cloud Identity. - AccessControlMode string `json:"accessControlMode,omitempty"` - // DatabaseType: Required. The type of database used to store customer data - // - // Possible values: - // "DB_UNKNOWN" - This value is required by protobuf best practices - // "DB_INFRA_SPANNER" - Internal Spanner - // "DB_CLOUD_SQL_POSTGRES" - Cloud Sql with a Postgres Sql instance - DatabaseType string `json:"databaseType,omitempty"` - // DocumentCreatorDefaultRole: Optional. The default role for the person who - // create a document. - // - // Possible values: - // "DOCUMENT_CREATOR_DEFAULT_ROLE_UNSPECIFIED" - Unspecified, will be default - // to document admin role. - // "DOCUMENT_ADMIN" - Document Admin, same as - // contentwarehouse.googleapis.com/documentAdmin. - // "DOCUMENT_EDITOR" - Document Editor, same as - // contentwarehouse.googleapis.com/documentEditor. - // "DOCUMENT_VIEWER" - Document Viewer, same as - // contentwarehouse.googleapis.com/documentViewer. - DocumentCreatorDefaultRole string `json:"documentCreatorDefaultRole,omitempty"` - // EnableCalUserEmailLogging: Optional. Whether to enable CAL user email - // logging. - EnableCalUserEmailLogging bool `json:"enableCalUserEmailLogging,omitempty"` - // KmsKey: Optional. The KMS key used for CMEK encryption. It is required that - // the kms key is in the same region as the endpoint. The same key will be used - // for all provisioned resources, if encryption is available. If the kms_key is - // left empty, no encryption will be enforced. - KmsKey string `json:"kmsKey,omitempty"` - // ForceSendFields is a list of field names (e.g. "AccessControlMode") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AccessControlMode") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1InitializeProjectRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1InitializeProjectRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1InitializeProjectResponse: Response message for -// projectService.InitializeProject -type GoogleCloudContentwarehouseV1InitializeProjectResponse struct { - // Message: The message of the project initialization process. - Message string `json:"message,omitempty"` - // State: The state of the project initialization process. - // - // Possible values: - // "STATE_UNSPECIFIED" - Clients should never see this. - // "SUCCEEDED" - Finished project initialization without error. - // "FAILED" - Finished project initialization with an error. - // "CANCELLED" - Client canceled the LRO. - // "RUNNING" - Ask the customer to check the operation for results. - State string `json:"state,omitempty"` - // ForceSendFields is a list of field names (e.g. "Message") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Message") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1InitializeProjectResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1InitializeProjectResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1IntegerArray: Integer values. -type GoogleCloudContentwarehouseV1IntegerArray struct { - // Values: List of integer values. - Values []int64 `json:"values,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Values") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1IntegerArray) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1IntegerArray - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1IntegerTypeOptions: Configurations for an -// integer property. -type GoogleCloudContentwarehouseV1IntegerTypeOptions struct { -} - -// GoogleCloudContentwarehouseV1InvalidRule: A triggered rule that failed the -// validation check(s) after parsing. -type GoogleCloudContentwarehouseV1InvalidRule struct { - // Error: Validation error on a parsed expression. - Error string `json:"error,omitempty"` - // Rule: Triggered rule. - Rule *GoogleCloudContentwarehouseV1Rule `json:"rule,omitempty"` - // ForceSendFields is a list of field names (e.g. "Error") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Error") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1InvalidRule) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1InvalidRule - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ListDocumentSchemasResponse: Response message -// for DocumentSchemaService.ListDocumentSchemas. -type GoogleCloudContentwarehouseV1ListDocumentSchemasResponse struct { - // DocumentSchemas: The document schemas from the specified parent. - DocumentSchemas []*GoogleCloudContentwarehouseV1DocumentSchema `json:"documentSchemas,omitempty"` - // NextPageToken: A token, which can be sent as `page_token` to retrieve the - // next page. If this field is omitted, there are no subsequent pages. - NextPageToken string `json:"nextPageToken,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "DocumentSchemas") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocumentSchemas") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ListDocumentSchemasResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ListDocumentSchemasResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ListLinkedSourcesRequest: Response message for -// DocumentLinkService.ListLinkedSources. -type GoogleCloudContentwarehouseV1ListLinkedSourcesRequest struct { - // PageSize: The maximum number of document-links to return. The service may - // return fewer than this value. If unspecified, at most 50 document-links will - // be returned. The maximum value is 1000; values above 1000 will be coerced to - // 1000. - PageSize int64 `json:"pageSize,omitempty"` - // PageToken: A page token, received from a previous `ListLinkedSources` call. - // Provide this to retrieve the subsequent page. When paginating, all other - // parameters provided to `ListLinkedSources` must match the call that provided - // the page token. - PageToken string `json:"pageToken,omitempty"` - // RequestMetadata: The meta information collected about the document creator, - // used to enforce access control for the service. - RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "PageSize") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PageSize") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ListLinkedSourcesRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ListLinkedSourcesRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ListLinkedSourcesResponse: Response message for -// DocumentLinkService.ListLinkedSources. -type GoogleCloudContentwarehouseV1ListLinkedSourcesResponse struct { - // DocumentLinks: Source document-links. - DocumentLinks []*GoogleCloudContentwarehouseV1DocumentLink `json:"documentLinks,omitempty"` - // NextPageToken: A token, which can be sent as `page_token` to retrieve the - // next page. If this field is omitted, there are no subsequent pages. - NextPageToken string `json:"nextPageToken,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "DocumentLinks") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocumentLinks") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ListLinkedSourcesResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ListLinkedSourcesResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ListLinkedTargetsRequest: Request message for -// DocumentLinkService.ListLinkedTargets. -type GoogleCloudContentwarehouseV1ListLinkedTargetsRequest struct { - // RequestMetadata: The meta information collected about the document creator, - // used to enforce access control for the service. - RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "RequestMetadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RequestMetadata") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ListLinkedTargetsRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ListLinkedTargetsRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ListLinkedTargetsResponse: Response message for -// DocumentLinkService.ListLinkedTargets. -type GoogleCloudContentwarehouseV1ListLinkedTargetsResponse struct { - // DocumentLinks: Target document-links. - DocumentLinks []*GoogleCloudContentwarehouseV1DocumentLink `json:"documentLinks,omitempty"` - // NextPageToken: A token, which can be sent as `page_token` to retrieve the - // next page. If this field is omitted, there are no subsequent pages. - NextPageToken string `json:"nextPageToken,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "DocumentLinks") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocumentLinks") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ListLinkedTargetsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ListLinkedTargetsResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ListRuleSetsResponse: Response message for -// RuleSetService.ListRuleSets. -type GoogleCloudContentwarehouseV1ListRuleSetsResponse struct { - // NextPageToken: A token, which can be sent as `page_token` to retrieve the - // next page. If this field is omitted, there are no subsequent pages. - NextPageToken string `json:"nextPageToken,omitempty"` - // RuleSets: The rule sets from the specified parent. - RuleSets []*GoogleCloudContentwarehouseV1RuleSet `json:"ruleSets,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "NextPageToken") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NextPageToken") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ListRuleSetsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ListRuleSetsResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ListSynonymSetsResponse: Response message for -// SynonymSetService.ListSynonymSets. -type GoogleCloudContentwarehouseV1ListSynonymSetsResponse struct { - // NextPageToken: A page token, received from a previous `ListSynonymSets` - // call. Provide this to retrieve the subsequent page. - NextPageToken string `json:"nextPageToken,omitempty"` - // SynonymSets: The synonymSets from the specified parent. - SynonymSets []*GoogleCloudContentwarehouseV1SynonymSet `json:"synonymSets,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "NextPageToken") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NextPageToken") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ListSynonymSetsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ListSynonymSetsResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1LockDocumentRequest: Request message for -// DocumentService.LockDocument. -type GoogleCloudContentwarehouseV1LockDocumentRequest struct { - // CollectionId: The collection the document connects to. - CollectionId string `json:"collectionId,omitempty"` - // LockingUser: The user information who locks the document. - LockingUser *GoogleCloudContentwarehouseV1UserInfo `json:"lockingUser,omitempty"` - // ForceSendFields is a list of field names (e.g. "CollectionId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CollectionId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1LockDocumentRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1LockDocumentRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1MapProperty: Map property value. Represents a -// structured entries of key value pairs, consisting of field names which map -// to dynamically typed values. -type GoogleCloudContentwarehouseV1MapProperty struct { - // Fields: Unordered map of dynamically typed values. - Fields map[string]GoogleCloudContentwarehouseV1Value `json:"fields,omitempty"` - // ForceSendFields is a list of field names (e.g. "Fields") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Fields") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1MapProperty) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1MapProperty - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1MapTypeOptions: Configurations for a Map -// property. -type GoogleCloudContentwarehouseV1MapTypeOptions struct { -} - -// GoogleCloudContentwarehouseV1MergeFieldsOptions: Options for merging updated -// fields. -type GoogleCloudContentwarehouseV1MergeFieldsOptions struct { - // ReplaceMessageFields: When merging message fields, the default behavior is - // to merge the content of two message fields together. If you instead want to - // use the field from the source message to replace the corresponding field in - // the destination message, set this flag to true. When this flag is set, - // specified submessage fields that are missing in source will be cleared in - // destination. - ReplaceMessageFields bool `json:"replaceMessageFields,omitempty"` - // ReplaceRepeatedFields: When merging repeated fields, the default behavior is - // to append entries from the source repeated field to the destination repeated - // field. If you instead want to keep only the entries from the source repeated - // field, set this flag to true. If you want to replace a repeated field within - // a message field on the destination message, you must set both - // replace_repeated_fields and replace_message_fields to true, otherwise the - // repeated fields will be appended. - ReplaceRepeatedFields bool `json:"replaceRepeatedFields,omitempty"` - // ForceSendFields is a list of field names (e.g. "ReplaceMessageFields") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ReplaceMessageFields") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1MergeFieldsOptions) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1MergeFieldsOptions - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline: The configuration of -// processing documents in Document Warehouse with DocAi processors pipeline. -type GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline struct { - // Documents: The list of all the resource names of the documents to be - // processed. Format: - // projects/{project_number}/locations/{location}/documents/{document_id}. - Documents []string `json:"documents,omitempty"` - // ExportFolderPath: The Cloud Storage folder path used to store the exported - // documents before being sent to CDW. Format: `gs:///`. - ExportFolderPath string `json:"exportFolderPath,omitempty"` - // ProcessorInfo: The CDW processor information. - ProcessorInfo *GoogleCloudContentwarehouseV1ProcessorInfo `json:"processorInfo,omitempty"` - // ProcessorResultsFolderPath: The Cloud Storage folder path used to store the - // raw results from processors. Format: `gs:///`. - ProcessorResultsFolderPath string `json:"processorResultsFolderPath,omitempty"` - // ForceSendFields is a list of field names (e.g. "Documents") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Documents") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ProcessorInfo: The DocAI processor information. -type GoogleCloudContentwarehouseV1ProcessorInfo struct { - // DocumentType: The processor will process the documents with this document - // type. - DocumentType string `json:"documentType,omitempty"` - // ProcessorName: The processor resource name. Format is - // `projects/{project}/locations/{location}/processors/{processor}`, or - // `projects/{project}/locations/{location}/processors/{processor}/processorVers - // ions/{processorVersion}` - ProcessorName string `json:"processorName,omitempty"` - // SchemaName: The Document schema resource name. All documents processed by - // this processor will use this schema. Format: - // projects/{project_number}/locations/{location}/documentSchemas/{document_sche - // ma_id}. - SchemaName string `json:"schemaName,omitempty"` - // ForceSendFields is a list of field names (e.g. "DocumentType") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocumentType") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ProcessorInfo) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ProcessorInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ProjectStatus: Status of a project, including -// the project state, dbType, aclMode and etc. -type GoogleCloudContentwarehouseV1ProjectStatus struct { - // AccessControlMode: Access control mode. - // - // Possible values: - // "ACL_MODE_UNKNOWN" - This value is required by protobuf best practices - // "ACL_MODE_UNIVERSAL_ACCESS" - Universal Access: No document level access - // control. - // "ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_BYOID" - Document level access - // control with customer own Identity Service. - // "ACL_MODE_DOCUMENT_LEVEL_ACCESS_CONTROL_GCI" - Document level access - // control using Google Cloud Identity. - AccessControlMode string `json:"accessControlMode,omitempty"` - // DatabaseType: Database type. - // - // Possible values: - // "DB_UNKNOWN" - This value is required by protobuf best practices - // "DB_INFRA_SPANNER" - Internal Spanner - // "DB_CLOUD_SQL_POSTGRES" - Cloud Sql with a Postgres Sql instance - DatabaseType string `json:"databaseType,omitempty"` - // DocumentCreatorDefaultRole: The default role for the person who create a - // document. - DocumentCreatorDefaultRole string `json:"documentCreatorDefaultRole,omitempty"` - // Location: The location of the queried project. - Location string `json:"location,omitempty"` - // QaEnabled: If the qa is enabled on this project. - QaEnabled bool `json:"qaEnabled,omitempty"` - // State: State of the project. - // - // Possible values: - // "PROJECT_STATE_UNSPECIFIED" - Default status, required by protobuf best - // practices. - // "PROJECT_STATE_PENDING" - The project is in the middle of a provision - // process. - // "PROJECT_STATE_COMPLETED" - All dependencies have been provisioned. - // "PROJECT_STATE_FAILED" - A provision process was previously initiated, but - // failed. - // "PROJECT_STATE_DELETING" - The project is in the middle of a deletion - // process. - // "PROJECT_STATE_DELETING_FAILED" - A deleting process was initiated, but - // failed. - // "PROJECT_STATE_DELETED" - The project is deleted. - // "PROJECT_STATE_NOT_FOUND" - The project is not found. - State string `json:"state,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "AccessControlMode") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AccessControlMode") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ProjectStatus) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ProjectStatus - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1Property: Property of a document. -type GoogleCloudContentwarehouseV1Property struct { - // DateTimeValues: Date time property values. It is not supported by CMEK - // compliant deployment. - DateTimeValues *GoogleCloudContentwarehouseV1DateTimeArray `json:"dateTimeValues,omitempty"` - // EnumValues: Enum property values. - EnumValues *GoogleCloudContentwarehouseV1EnumArray `json:"enumValues,omitempty"` - // FloatValues: Float property values. - FloatValues *GoogleCloudContentwarehouseV1FloatArray `json:"floatValues,omitempty"` - // IntegerValues: Integer property values. - IntegerValues *GoogleCloudContentwarehouseV1IntegerArray `json:"integerValues,omitempty"` - // MapProperty: Map property values. - MapProperty *GoogleCloudContentwarehouseV1MapProperty `json:"mapProperty,omitempty"` - // Name: Required. Must match the name of a PropertyDefinition in the - // DocumentSchema. - Name string `json:"name,omitempty"` - // PropertyValues: Nested structured data property values. - PropertyValues *GoogleCloudContentwarehouseV1PropertyArray `json:"propertyValues,omitempty"` - // TextValues: String/text property values. - TextValues *GoogleCloudContentwarehouseV1TextArray `json:"textValues,omitempty"` - // TimestampValues: Timestamp property values. It is not supported by CMEK - // compliant deployment. - TimestampValues *GoogleCloudContentwarehouseV1TimestampArray `json:"timestampValues,omitempty"` - // ForceSendFields is a list of field names (e.g. "DateTimeValues") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DateTimeValues") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1Property) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1Property - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1PropertyArray: Property values. -type GoogleCloudContentwarehouseV1PropertyArray struct { - // Properties: List of property values. - Properties []*GoogleCloudContentwarehouseV1Property `json:"properties,omitempty"` - // ForceSendFields is a list of field names (e.g. "Properties") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Properties") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1PropertyArray) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1PropertyArray - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1PropertyDefinition: Defines the metadata for a -// schema property. -type GoogleCloudContentwarehouseV1PropertyDefinition struct { - // DateTimeTypeOptions: Date time property. It is not supported by CMEK - // compliant deployment. - DateTimeTypeOptions *GoogleCloudContentwarehouseV1DateTimeTypeOptions `json:"dateTimeTypeOptions,omitempty"` - // DisplayName: The display-name for the property, used for front-end. - DisplayName string `json:"displayName,omitempty"` - // EnumTypeOptions: Enum/categorical property. - EnumTypeOptions *GoogleCloudContentwarehouseV1EnumTypeOptions `json:"enumTypeOptions,omitempty"` - // FloatTypeOptions: Float property. - FloatTypeOptions *GoogleCloudContentwarehouseV1FloatTypeOptions `json:"floatTypeOptions,omitempty"` - // IntegerTypeOptions: Integer property. - IntegerTypeOptions *GoogleCloudContentwarehouseV1IntegerTypeOptions `json:"integerTypeOptions,omitempty"` - // IsFilterable: Whether the property can be filtered. If this is a - // sub-property, all the parent properties must be marked filterable. - IsFilterable bool `json:"isFilterable,omitempty"` - // IsMetadata: Whether the property is user supplied metadata. This out-of-the - // box placeholder setting can be used to tag derived properties. Its value and - // interpretation logic should be implemented by API user. - IsMetadata bool `json:"isMetadata,omitempty"` - // IsRepeatable: Whether the property can have multiple values. - IsRepeatable bool `json:"isRepeatable,omitempty"` - // IsRequired: Whether the property is mandatory. Default is 'false', i.e. - // populating property value can be skipped. If 'true' then user must populate - // the value for this property. - IsRequired bool `json:"isRequired,omitempty"` - // IsSearchable: Indicates that the property should be included in a global - // search. - IsSearchable bool `json:"isSearchable,omitempty"` - // MapTypeOptions: Map property. - MapTypeOptions *GoogleCloudContentwarehouseV1MapTypeOptions `json:"mapTypeOptions,omitempty"` - // Name: Required. The name of the metadata property. Must be unique within a - // document schema and is case insensitive. Names must be non-blank, start with - // a letter, and can contain alphanumeric characters and: /, :, -, _, and . - Name string `json:"name,omitempty"` - // PropertyTypeOptions: Nested structured data property. - PropertyTypeOptions *GoogleCloudContentwarehouseV1PropertyTypeOptions `json:"propertyTypeOptions,omitempty"` - // RetrievalImportance: The retrieval importance of the property during search. - // - // Possible values: - // "RETRIEVAL_IMPORTANCE_UNSPECIFIED" - No importance specified. Default - // medium importance. - // "HIGHEST" - Highest importance. - // "HIGHER" - Higher importance. - // "HIGH" - High importance. - // "MEDIUM" - Medium importance. - // "LOW" - Low importance (negative). - // "LOWEST" - Lowest importance (negative). - RetrievalImportance string `json:"retrievalImportance,omitempty"` - // SchemaSources: The mapping information between this property to another - // schema source. - SchemaSources []*GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource `json:"schemaSources,omitempty"` - // TextTypeOptions: Text/string property. - TextTypeOptions *GoogleCloudContentwarehouseV1TextTypeOptions `json:"textTypeOptions,omitempty"` - // TimestampTypeOptions: Timestamp property. It is not supported by CMEK - // compliant deployment. - TimestampTypeOptions *GoogleCloudContentwarehouseV1TimestampTypeOptions `json:"timestampTypeOptions,omitempty"` - // ForceSendFields is a list of field names (e.g. "DateTimeTypeOptions") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DateTimeTypeOptions") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1PropertyDefinition) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1PropertyDefinition - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource: The schema -// source information. -type GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource struct { - // Name: The schema name in the source. - Name string `json:"name,omitempty"` - // ProcessorType: The Doc AI processor type name. - ProcessorType string `json:"processorType,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1PropertyDefinitionSchemaSource - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GoogleCloudContentwarehouseV1PropertyFilter struct { - // Condition: The filter condition. The syntax for this expression is a subset - // of SQL syntax. Supported operators are: `=`, `!=`, `<`, `<=`, `>`, `>=`, and - // `~~` where the left of the operator is a property name and the right of the - // operator is a number or a quoted string. You must escape backslash (\\) and - // quote (\") characters. `~~` is the LIKE operator. The right of the operator - // must be a string. The only supported property data type for LIKE is - // text_values. It provides semantic search functionality by parsing, stemming - // and doing synonyms expansion against the input query. It matches if the - // property contains semantic similar content to the query. It is not regex - // matching or wildcard matching. For example, "property.company ~~ \"google\"" - // will match records whose property `property.compnay` have values like - // "Google Inc.", "Google LLC" or "Google Company". Supported functions are - // `LOWER([property_name])` to perform a case insensitive match and - // `EMPTY([property_name])` to filter on the existence of a key. Boolean - // expressions (AND/OR/NOT) are supported up to 3 levels of nesting (for - // example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100 comparisons - // or functions are allowed in the expression. The expression must be < 6000 - // bytes in length. Only properties that are marked filterable are allowed - // (PropertyDefinition.is_filterable). Property names do not need to be - // prefixed by the document schema id (as is the case with histograms), however - // property names will need to be prefixed by its parent hierarchy, if any. For - // example: top_property_name.sub_property_name. Sample Query: - // `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND - // driving_years > 10` CMEK compliant deployment only supports: * Operators: - // `=`, `<`, `<=`, `>`, and `>=`. * Boolean expressions: AND and OR. - Condition string `json:"condition,omitempty"` - // DocumentSchemaName: The Document schema name Document.document_schema_name. - // Format: - // projects/{project_number}/locations/{location}/documentSchemas/{document_sche - // ma_id}. - DocumentSchemaName string `json:"documentSchemaName,omitempty"` - // ForceSendFields is a list of field names (e.g. "Condition") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Condition") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1PropertyFilter) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1PropertyFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1PropertyTypeOptions: Configurations for a -// nested structured data property. -type GoogleCloudContentwarehouseV1PropertyTypeOptions struct { - // PropertyDefinitions: Required. List of property definitions. - PropertyDefinitions []*GoogleCloudContentwarehouseV1PropertyDefinition `json:"propertyDefinitions,omitempty"` - // ForceSendFields is a list of field names (e.g. "PropertyDefinitions") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PropertyDefinitions") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1PropertyTypeOptions) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1PropertyTypeOptions - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1PublishAction: Represents the action -// responsible for publishing messages to a Pub/Sub topic. -type GoogleCloudContentwarehouseV1PublishAction struct { - // Messages: Messages to be published. - Messages []string `json:"messages,omitempty"` - // TopicId: The topic id in the Pub/Sub service for which messages will be - // published to. - TopicId string `json:"topicId,omitempty"` - // ForceSendFields is a list of field names (e.g. "Messages") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Messages") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1PublishAction) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1PublishAction - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1QAResult: Additional result info for the -// question-answering feature. -type GoogleCloudContentwarehouseV1QAResult struct { - // ConfidenceScore: The calibrated confidence score for this document, in the - // range [0., 1.]. This represents the confidence level for whether the - // returned document and snippet answers the user's query. - ConfidenceScore float64 `json:"confidenceScore,omitempty"` - // Highlights: Highlighted sections in the snippet. - Highlights []*GoogleCloudContentwarehouseV1QAResultHighlight `json:"highlights,omitempty"` - // ForceSendFields is a list of field names (e.g. "ConfidenceScore") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ConfidenceScore") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1QAResult) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1QAResult - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudContentwarehouseV1QAResult) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudContentwarehouseV1QAResult - var s1 struct { - ConfidenceScore gensupport.JSONFloat64 `json:"confidenceScore"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.ConfidenceScore = float64(s1.ConfidenceScore) - return nil -} - -// GoogleCloudContentwarehouseV1QAResultHighlight: A text span in the search -// text snippet that represents a highlighted section (answer context, highly -// relevant sentence, etc.). -type GoogleCloudContentwarehouseV1QAResultHighlight struct { - // EndIndex: End index of the highlight, exclusive. - EndIndex int64 `json:"endIndex,omitempty"` - // StartIndex: Start index of the highlight. - StartIndex int64 `json:"startIndex,omitempty"` - // ForceSendFields is a list of field names (e.g. "EndIndex") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EndIndex") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1QAResultHighlight) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1QAResultHighlight - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1RemoveFromFolderAction: Represents the action -// responsible for remove a document from a specific folder. -type GoogleCloudContentwarehouseV1RemoveFromFolderAction struct { - // Condition: Condition of the action to be executed. - Condition string `json:"condition,omitempty"` - // Folder: Name of the folder under which new document is to be added. Format: - // projects/{project_number}/locations/{location}/documents/{document_id}. - Folder string `json:"folder,omitempty"` - // ForceSendFields is a list of field names (e.g. "Condition") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Condition") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1RemoveFromFolderAction) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RemoveFromFolderAction - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1RequestMetadata: Meta information is used to -// improve the performance of the service. -type GoogleCloudContentwarehouseV1RequestMetadata struct { - // UserInfo: Provides user unique identification and groups information. - UserInfo *GoogleCloudContentwarehouseV1UserInfo `json:"userInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "UserInfo") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "UserInfo") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1RequestMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RequestMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1ResponseMetadata: Additional information -// returned to client, such as debugging information. -type GoogleCloudContentwarehouseV1ResponseMetadata struct { - // RequestId: A unique id associated with this call. This id is logged for - // tracking purpose. - RequestId string `json:"requestId,omitempty"` - // ForceSendFields is a list of field names (e.g. "RequestId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RequestId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1ResponseMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1ResponseMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1Rule: Represents the rule for a content -// warehouse trigger. -type GoogleCloudContentwarehouseV1Rule struct { - // Actions: List of actions that are executed when the rule is satisfied. - Actions []*GoogleCloudContentwarehouseV1Action `json:"actions,omitempty"` - // Condition: Represents the conditional expression to be evaluated. Expression - // should evaluate to a boolean result. When the condition is true actions are - // executed. Example: user_role = "hsbc_role_1" AND doc.salary > 20000 - Condition string `json:"condition,omitempty"` - // Description: Short description of the rule and its context. - Description string `json:"description,omitempty"` - // RuleId: ID of the rule. It has to be unique across all the examples. This is - // managed internally. - RuleId string `json:"ruleId,omitempty"` - // TriggerType: Identifies the trigger type for running the policy. - // - // Possible values: - // "UNKNOWN" - Trigger for unknown action. - // "ON_CREATE" - Trigger for create document action. - // "ON_UPDATE" - Trigger for update document action. - // "ON_CREATE_LINK" - Trigger for create link action. - // "ON_DELETE_LINK" - Trigger for delete link action. - TriggerType string `json:"triggerType,omitempty"` - // ForceSendFields is a list of field names (e.g. "Actions") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Actions") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1Rule) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1Rule - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1RuleActionsPair: Represents a rule and outputs -// of associated actions. -type GoogleCloudContentwarehouseV1RuleActionsPair struct { - // ActionOutputs: Outputs of executing the actions associated with the above - // rule. - ActionOutputs []*GoogleCloudContentwarehouseV1ActionOutput `json:"actionOutputs,omitempty"` - // Rule: Represents the rule. - Rule *GoogleCloudContentwarehouseV1Rule `json:"rule,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActionOutputs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ActionOutputs") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1RuleActionsPair) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RuleActionsPair - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1RuleEngineOutput: Records the output of Rule -// Engine including rule evaluation and actions result. -type GoogleCloudContentwarehouseV1RuleEngineOutput struct { - // ActionExecutorOutput: Output from Action Executor containing rule and - // corresponding actions execution result. - ActionExecutorOutput *GoogleCloudContentwarehouseV1ActionExecutorOutput `json:"actionExecutorOutput,omitempty"` - // DocumentName: Name of the document against which the rules and actions were - // evaluated. - DocumentName string `json:"documentName,omitempty"` - // RuleEvaluatorOutput: Output from Rule Evaluator containing matched, - // unmatched and invalid rules. - RuleEvaluatorOutput *GoogleCloudContentwarehouseV1RuleEvaluatorOutput `json:"ruleEvaluatorOutput,omitempty"` - // ForceSendFields is a list of field names (e.g. "ActionExecutorOutput") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ActionExecutorOutput") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1RuleEngineOutput) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RuleEngineOutput - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1RuleEvaluatorOutput: Represents the output of -// the Rule Evaluator. -type GoogleCloudContentwarehouseV1RuleEvaluatorOutput struct { - // InvalidRules: A subset of triggered rules that failed the validation - // check(s) after parsing. - InvalidRules []*GoogleCloudContentwarehouseV1InvalidRule `json:"invalidRules,omitempty"` - // MatchedRules: A subset of triggered rules that are evaluated true for a - // given request. - MatchedRules []*GoogleCloudContentwarehouseV1Rule `json:"matchedRules,omitempty"` - // TriggeredRules: List of rules fetched from database for the given request - // trigger type. - TriggeredRules []*GoogleCloudContentwarehouseV1Rule `json:"triggeredRules,omitempty"` - // ForceSendFields is a list of field names (e.g. "InvalidRules") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "InvalidRules") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1RuleEvaluatorOutput) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RuleEvaluatorOutput - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1RuleSet: Represents a set of rules from a -// single customer. -type GoogleCloudContentwarehouseV1RuleSet struct { - // Description: Short description of the rule-set. - Description string `json:"description,omitempty"` - // Name: The resource name of the rule set. Managed internally. Format: - // projects/{project_number}/locations/{location}/ruleSet/{rule_set_id}. The - // name is ignored when creating a rule set. - Name string `json:"name,omitempty"` - // Rules: List of rules given by the customer. - Rules []*GoogleCloudContentwarehouseV1Rule `json:"rules,omitempty"` - // Source: Source of the rules i.e., customer name. - Source string `json:"source,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Description") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Description") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1RuleSet) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RuleSet - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1RunPipelineMetadata: Metadata message of -// RunPipeline method. -type GoogleCloudContentwarehouseV1RunPipelineMetadata struct { - // ExportToCdwPipelineMetadata: The pipeline metadata for Export-to-CDW - // pipeline. - ExportToCdwPipelineMetadata *GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata `json:"exportToCdwPipelineMetadata,omitempty"` - // FailedFileCount: Number of files that have failed at some point in the - // pipeline. - FailedFileCount int64 `json:"failedFileCount,omitempty"` - // GcsIngestPipelineMetadata: The pipeline metadata for GcsIngest pipeline. - GcsIngestPipelineMetadata *GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata `json:"gcsIngestPipelineMetadata,omitempty"` - // IndividualDocumentStatuses: The list of response details of each document. - IndividualDocumentStatuses []*GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus `json:"individualDocumentStatuses,omitempty"` - // ProcessWithDocAiPipelineMetadata: The pipeline metadata for - // Process-with-DocAi pipeline. - ProcessWithDocAiPipelineMetadata *GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata `json:"processWithDocAiPipelineMetadata,omitempty"` - // TotalFileCount: Number of files that were processed by the pipeline. - TotalFileCount int64 `json:"totalFileCount,omitempty"` - // UserInfo: User unique identification and groups information. - UserInfo *GoogleCloudContentwarehouseV1UserInfo `json:"userInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. - // "ExportToCdwPipelineMetadata") to unconditionally include in API requests. - // By default, fields with empty or default values are omitted from API - // requests. See https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields - // for more details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExportToCdwPipelineMetadata") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1RunPipelineMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RunPipelineMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata: -// The metadata message for Export-to-CDW pipeline. -type GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata struct { - // DocAiDataset: The output CDW dataset resource name. - DocAiDataset string `json:"docAiDataset,omitempty"` - // Documents: The input list of all the resource names of the documents to be - // exported. - Documents []string `json:"documents,omitempty"` - // OutputPath: The output Cloud Storage folder in this pipeline. - OutputPath string `json:"outputPath,omitempty"` - // ForceSendFields is a list of field names (e.g. "DocAiDataset") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocAiDataset") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RunPipelineMetadataExportToCdwPipelineMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata: -// The metadata message for GcsIngest pipeline. -type GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata struct { - // InputPath: The input Cloud Storage folder in this pipeline. Format: - // `gs:///`. - InputPath string `json:"inputPath,omitempty"` - // ForceSendFields is a list of field names (e.g. "InputPath") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "InputPath") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RunPipelineMetadataGcsIngestPipelineMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus: -// The status of processing a document. -type GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus struct { - // DocumentId: Document identifier of an existing document. - DocumentId string `json:"documentId,omitempty"` - // Status: The status processing the document. - Status *GoogleRpcStatus `json:"status,omitempty"` - // ForceSendFields is a list of field names (e.g. "DocumentId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocumentId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RunPipelineMetadataIndividualDocumentStatus - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetad -// ata: The metadata message for Process-with-DocAi pipeline. -type GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata struct { - // Documents: The input list of all the resource names of the documents to be - // processed. - Documents []string `json:"documents,omitempty"` - // ProcessorInfo: The DocAI processor to process the documents with. - ProcessorInfo *GoogleCloudContentwarehouseV1ProcessorInfo `json:"processorInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "Documents") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Documents") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RunPipelineMetadataProcessWithDocAiPipelineMetadata - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1RunPipelineRequest: Request message for -// DocumentService.RunPipeline. -type GoogleCloudContentwarehouseV1RunPipelineRequest struct { - // ExportCdwPipeline: Export docuemnts from Document Warehouse to CDW for - // training purpose. - ExportCdwPipeline *GoogleCloudContentwarehouseV1ExportToCdwPipeline `json:"exportCdwPipeline,omitempty"` - // GcsIngestPipeline: Cloud Storage ingestion pipeline. - GcsIngestPipeline *GoogleCloudContentwarehouseV1GcsIngestPipeline `json:"gcsIngestPipeline,omitempty"` - // GcsIngestWithDocAiProcessorsPipeline: Use DocAI processors to process - // documents in Cloud Storage and ingest them to Document Warehouse. - GcsIngestWithDocAiProcessorsPipeline *GoogleCloudContentwarehouseV1GcsIngestWithDocAiProcessorsPipeline `json:"gcsIngestWithDocAiProcessorsPipeline,omitempty"` - // ProcessWithDocAiPipeline: Use a DocAI processor to process documents in - // Document Warehouse, and re-ingest the updated results into Document - // Warehouse. - ProcessWithDocAiPipeline *GoogleCloudContentwarehouseV1ProcessWithDocAiPipeline `json:"processWithDocAiPipeline,omitempty"` - // RequestMetadata: The meta information collected about the end user, used to - // enforce access control for the service. - RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExportCdwPipeline") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExportCdwPipeline") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1RunPipelineRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1RunPipelineRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1SearchDocumentsRequest: Request message for -// DocumentService.SearchDocuments. -type GoogleCloudContentwarehouseV1SearchDocumentsRequest struct { - // DocumentQuery: Query used to search against documents (keyword, filters, - // etc.). - DocumentQuery *GoogleCloudContentwarehouseV1DocumentQuery `json:"documentQuery,omitempty"` - // HistogramQueries: An expression specifying a histogram request against - // matching documents. Expression syntax is an aggregation function call with - // histogram facets and other options. The following aggregation functions are - // supported: * `count(string_histogram_facet)`: Count the number of matching - // entities for each distinct attribute value. Data types: * Histogram facet - // (aka filterable properties): Facet names with format .. - // Facets will have the format of: `a-zA-Z`. If the facet is a child facet, - // then the parent hierarchy needs to be specified separated by dots in the - // prefix after the schema id. Thus, the format for a multi- level facet is: - // .. . Example: - // schema123.root_parent_facet.middle_facet.child_facet * DocumentSchemaId: - // (with no schema id prefix) to get histograms for each document type (returns - // the schema id path, e.g. - // projects/12345/locations/us-west/documentSchemas/abc123). Example - // expression: * Document type counts: count('DocumentSchemaId') * For schema - // id, abc123, get the counts for MORTGAGE_TYPE: count('abc123.MORTGAGE_TYPE') - HistogramQueries []*GoogleCloudContentwarehouseV1HistogramQuery `json:"histogramQueries,omitempty"` - // Offset: An integer that specifies the current offset (that is, starting - // result location, amongst the documents deemed by the API as relevant) in - // search results. This field is only considered if page_token is unset. The - // maximum allowed value is 5000. Otherwise an error is thrown. For example, 0 - // means to return results starting from the first matching document, and 10 - // means to return from the 11th document. This can be used for pagination, - // (for example, pageSize = 10 and offset = 10 means to return from the second - // page). - Offset int64 `json:"offset,omitempty"` - // OrderBy: The criteria determining how search results are sorted. For - // non-empty query, default is "relevance desc". For empty query, default is - // "upload_date desc". Supported options are: * "relevance desc": By - // relevance descending, as determined by the API algorithms. * "upload_date - // desc": By upload date descending. * "upload_date": By upload date - // ascending. * "update_date desc": By last updated date descending. * - // "update_date": By last updated date ascending. * "retrieval_importance - // desc": By retrieval importance of properties descending. This feature is - // still under development, please do not use unless otherwise instructed to do - // so. - OrderBy string `json:"orderBy,omitempty"` - // PageSize: A limit on the number of documents returned in the search results. - // Increasing this value above the default value of 10 can increase search - // response time. The value can be between 1 and 100. - PageSize int64 `json:"pageSize,omitempty"` - // PageToken: The token specifying the current offset within search results. - // See SearchDocumentsResponse.next_page_token for an explanation of how to - // obtain the next set of query results. - PageToken string `json:"pageToken,omitempty"` - // QaSizeLimit: Experimental, do not use. The limit on the number of documents - // returned for the question-answering feature. To enable the - // question-answering feature, set [DocumentQuery].is_nl_query to true. - QaSizeLimit int64 `json:"qaSizeLimit,omitempty"` - // RequestMetadata: The meta information collected about the end user, used to - // enforce access control and improve the search quality of the service. - RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` - // RequireTotalSize: Controls if the search document request requires the - // return of a total size of matched documents. See - // SearchDocumentsResponse.total_size. Enabling this flag may adversely impact - // performance. Hint: If this is used with pagination, set this flag on the - // initial query but set this to false on subsequent page calls (keep the total - // count locally). Defaults to false. - RequireTotalSize bool `json:"requireTotalSize,omitempty"` - // TotalResultSize: Controls if the search document request requires the return - // of a total size of matched documents. See - // SearchDocumentsResponse.total_size. - // - // Possible values: - // "TOTAL_RESULT_SIZE_UNSPECIFIED" - Total number calculation will be - // skipped. - // "ESTIMATED_SIZE" - Estimate total number. The total result size will be - // accurated up to 10,000. This option will add cost and latency to your - // request. - // "ACTUAL_SIZE" - It may adversely impact performance. The limit is - // 1000,000. - TotalResultSize string `json:"totalResultSize,omitempty"` - // ForceSendFields is a list of field names (e.g. "DocumentQuery") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocumentQuery") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1SearchDocumentsRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1SearchDocumentsRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1SearchDocumentsResponse: Response message for -// DocumentService.SearchDocuments. -type GoogleCloudContentwarehouseV1SearchDocumentsResponse struct { - // HistogramQueryResults: The histogram results that match with the specified - // SearchDocumentsRequest.histogram_queries. - HistogramQueryResults []*GoogleCloudContentwarehouseV1HistogramQueryResult `json:"histogramQueryResults,omitempty"` - // MatchingDocuments: The document entities that match the specified - // SearchDocumentsRequest. - MatchingDocuments []*GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument `json:"matchingDocuments,omitempty"` - // Metadata: Additional information for the API invocation, such as the request - // tracking id. - Metadata *GoogleCloudContentwarehouseV1ResponseMetadata `json:"metadata,omitempty"` - // NextPageToken: The token that specifies the starting position of the next - // page of results. This field is empty if there are no more results. - NextPageToken string `json:"nextPageToken,omitempty"` - // QuestionAnswer: Experimental. Question answer from the query against the - // document. - QuestionAnswer string `json:"questionAnswer,omitempty"` - // TotalSize: The total number of matched documents which is available only if - // the client set SearchDocumentsRequest.require_total_size to `true` or set - // SearchDocumentsRequest.total_result_size to `ESTIMATED_SIZE` or - // `ACTUAL_SIZE`. Otherwise, the value will be `-1`. Typically a UI would - // handle this condition by displaying "of many", for example: "Displaying 10 - // of many". - TotalSize int64 `json:"totalSize,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "HistogramQueryResults") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "HistogramQueryResults") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1SearchDocumentsResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1SearchDocumentsResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument: -// Document entry with metadata inside SearchDocumentsResponse -type GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument struct { - // Document: Document that matches the specified SearchDocumentsRequest. This - // document only contains indexed metadata information. - Document *GoogleCloudContentwarehouseV1Document `json:"document,omitempty"` - // MatchedTokenPageIndices: Return the 1-based page indices where those pages - // have one or more matched tokens. - MatchedTokenPageIndices googleapi.Int64s `json:"matchedTokenPageIndices,omitempty"` - // QaResult: Experimental. Additional result info if the question-answering - // feature is enabled. - QaResult *GoogleCloudContentwarehouseV1QAResult `json:"qaResult,omitempty"` - // SearchTextSnippet: Contains snippets of text from the document full raw text - // that most closely match a search query's keywords, if available. All HTML - // tags in the original fields are stripped when returned in this field, and - // matching query keywords are enclosed in HTML bold tags. If the - // question-answering feature is enabled, this field will instead contain a - // snippet that answers the user's natural-language query. No HTML bold tags - // will be present, and highlights in the answer snippet can be found in - // QAResult.highlights. - SearchTextSnippet string `json:"searchTextSnippet,omitempty"` - // ForceSendFields is a list of field names (e.g. "Document") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Document") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1SearchDocumentsResponseMatchingDocument - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1SetAclRequest: Request message for -// DocumentService.SetAcl. -type GoogleCloudContentwarehouseV1SetAclRequest struct { - // Policy: Required. REQUIRED: The complete policy to be applied to the - // `resource`. The size of the policy is limited to a few 10s of KB. This - // refers to an Identity and Access (IAM) policy, which specifies access - // controls for the Document. You can set ACL with condition for projects only. - // Supported operators are: `=`, `!=`, `<`, `<=`, `>`, and `>=` where the left - // of the operator is `DocumentSchemaId` or property name and the right of the - // operator is a number or a quoted string. You must escape backslash (\\) and - // quote (\") characters. Boolean expressions (AND/OR) are supported up to 3 - // levels of nesting (for example, "((A AND B AND C) OR D) AND E"), a maximum - // of 10 comparisons are allowed in the expression. The expression must be < - // 6000 bytes in length. Sample condition: "DocumentSchemaId = \"some schema - // id\" OR SchemaId.floatPropertyName >= 10" - Policy *GoogleIamV1Policy `json:"policy,omitempty"` - // ProjectOwner: For Set Project ACL only. Authorization check for end user - // will be ignored when project_owner=true. - ProjectOwner bool `json:"projectOwner,omitempty"` - // RequestMetadata: The meta information collected about the end user, used to - // enforce access control for the service. - RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` - // ForceSendFields is a list of field names (e.g. "Policy") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Policy") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1SetAclRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1SetAclRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1SetAclResponse: Response message for -// DocumentService.SetAcl. -type GoogleCloudContentwarehouseV1SetAclResponse struct { - // Metadata: Additional information for the API invocation, such as the request - // tracking id. - Metadata *GoogleCloudContentwarehouseV1ResponseMetadata `json:"metadata,omitempty"` - // Policy: The policy will be attached to a resource (e.g. projecct, document). - Policy *GoogleIamV1Policy `json:"policy,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Metadata") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Metadata") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1SetAclResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1SetAclResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1SynonymSet: Represents a list of synonyms for a -// given context. For example a context "sales" could contain: Synonym 1: sale, -// invoice, bill, order Synonym 2: money, credit, finance, payment Synonym 3: -// shipping, freight, transport Each SynonymSets should be disjoint -type GoogleCloudContentwarehouseV1SynonymSet struct { - // Context: This is a freeform field. Example contexts can be "sales," - // "engineering," "real estate," "accounting," etc. The context can be supplied - // during search requests. - Context string `json:"context,omitempty"` - // Name: The resource name of the SynonymSet This is mandatory for - // google.api.resource. Format: - // projects/{project_number}/locations/{location}/synonymSets/{context}. - Name string `json:"name,omitempty"` - // Synonyms: List of Synonyms for the context. - Synonyms []*GoogleCloudContentwarehouseV1SynonymSetSynonym `json:"synonyms,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Context") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Context") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1SynonymSet) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1SynonymSet - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1SynonymSetSynonym: Represents a list of words -// given by the customer All these words are synonyms of each other. -type GoogleCloudContentwarehouseV1SynonymSetSynonym struct { - // Words: For example: sale, invoice, bill, order - Words []string `json:"words,omitempty"` - // ForceSendFields is a list of field names (e.g. "Words") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Words") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1SynonymSetSynonym) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1SynonymSetSynonym - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1TextArray: String/text values. -type GoogleCloudContentwarehouseV1TextArray struct { - // Values: List of text values. - Values []string `json:"values,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Values") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1TextArray) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1TextArray - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1TextTypeOptions: Configurations for a text -// property. -type GoogleCloudContentwarehouseV1TextTypeOptions struct { -} - -// GoogleCloudContentwarehouseV1TimeFilter: Filter on create timestamp or -// update timestamp of documents. -type GoogleCloudContentwarehouseV1TimeFilter struct { - // TimeField: Specifies which time field to filter documents on. Defaults to - // TimeField.UPLOAD_TIME. - // - // Possible values: - // "TIME_FIELD_UNSPECIFIED" - Default value. - // "CREATE_TIME" - Earliest document create time. - // "UPDATE_TIME" - Latest document update time. - // "DISPOSITION_TIME" - Time when document becomes mutable again. - TimeField string `json:"timeField,omitempty"` - TimeRange *GoogleTypeInterval `json:"timeRange,omitempty"` - // ForceSendFields is a list of field names (e.g. "TimeField") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "TimeField") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1TimeFilter) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1TimeFilter - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1TimestampArray: Timestamp values. -type GoogleCloudContentwarehouseV1TimestampArray struct { - // Values: List of timestamp values. - Values []*GoogleCloudContentwarehouseV1TimestampValue `json:"values,omitempty"` - // ForceSendFields is a list of field names (e.g. "Values") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Values") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1TimestampArray) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1TimestampArray - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1TimestampTypeOptions: Configurations for a -// timestamp property. -type GoogleCloudContentwarehouseV1TimestampTypeOptions struct { -} - -// GoogleCloudContentwarehouseV1TimestampValue: Timestamp value type. -type GoogleCloudContentwarehouseV1TimestampValue struct { - // TextValue: The string must represent a valid instant in UTC and is parsed - // using java.time.format.DateTimeFormatter.ISO_INSTANT. e.g. - // "2013-09-29T18:46:19Z" - TextValue string `json:"textValue,omitempty"` - // TimestampValue: Timestamp value - TimestampValue string `json:"timestampValue,omitempty"` - // ForceSendFields is a list of field names (e.g. "TextValue") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "TextValue") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1TimestampValue) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1TimestampValue - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1UpdateDocumentMetadata: Metadata object for -// UpdateDocument request (currently empty). -type GoogleCloudContentwarehouseV1UpdateDocumentMetadata struct { -} - -// GoogleCloudContentwarehouseV1UpdateDocumentRequest: Request message for -// DocumentService.UpdateDocument. -type GoogleCloudContentwarehouseV1UpdateDocumentRequest struct { - // CloudAiDocumentOption: Request Option for processing Cloud AI Document in - // Document Warehouse. This field offers limited support for mapping entities - // from Cloud AI Document to Warehouse Document. Please consult with product - // team before using this field and other available options. - CloudAiDocumentOption *GoogleCloudContentwarehouseV1CloudAIDocumentOption `json:"cloudAiDocumentOption,omitempty"` - // Document: Required. The document to update. - Document *GoogleCloudContentwarehouseV1Document `json:"document,omitempty"` - // RequestMetadata: The meta information collected about the end user, used to - // enforce access control for the service. - RequestMetadata *GoogleCloudContentwarehouseV1RequestMetadata `json:"requestMetadata,omitempty"` - // UpdateOptions: Options for the update operation. - UpdateOptions *GoogleCloudContentwarehouseV1UpdateOptions `json:"updateOptions,omitempty"` - // ForceSendFields is a list of field names (e.g. "CloudAiDocumentOption") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloudAiDocumentOption") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1UpdateDocumentRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1UpdateDocumentRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1UpdateDocumentResponse: Response message for -// DocumentService.UpdateDocument. -type GoogleCloudContentwarehouseV1UpdateDocumentResponse struct { - // Document: Updated document after executing update request. - Document *GoogleCloudContentwarehouseV1Document `json:"document,omitempty"` - // Metadata: Additional information for the API invocation, such as the request - // tracking id. - Metadata *GoogleCloudContentwarehouseV1ResponseMetadata `json:"metadata,omitempty"` - // RuleEngineOutput: Output from Rule Engine recording the rule evaluator and - // action executor's output. Refer format in: - // google/cloud/contentwarehouse/v1/rule_engine.proto - RuleEngineOutput *GoogleCloudContentwarehouseV1RuleEngineOutput `json:"ruleEngineOutput,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Document") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Document") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1UpdateDocumentResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1UpdateDocumentResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest: Request message -// for DocumentSchemaService.UpdateDocumentSchema. -type GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest struct { - // DocumentSchema: Required. The document schema to update with. - DocumentSchema *GoogleCloudContentwarehouseV1DocumentSchema `json:"documentSchema,omitempty"` - // ForceSendFields is a list of field names (e.g. "DocumentSchema") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocumentSchema") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1UpdateDocumentSchemaRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1UpdateOptions: Options for Update operations. -type GoogleCloudContentwarehouseV1UpdateOptions struct { - // MergeFieldsOptions: Options for merging. - MergeFieldsOptions *GoogleCloudContentwarehouseV1MergeFieldsOptions `json:"mergeFieldsOptions,omitempty"` - // UpdateMask: Field mask for merging Document fields. For the `FieldMask` - // definition, see - // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask - UpdateMask string `json:"updateMask,omitempty"` - // UpdateType: Type for update. - // - // Possible values: - // "UPDATE_TYPE_UNSPECIFIED" - Defaults to full replace behavior, ie. - // FULL_REPLACE. - // "UPDATE_TYPE_REPLACE" - Fully replace all the fields (including previously - // linked raw document). Any field masks will be ignored. - // "UPDATE_TYPE_MERGE" - Merge the fields into the existing entities. - // "UPDATE_TYPE_INSERT_PROPERTIES_BY_NAMES" - Inserts the properties by - // names. - // "UPDATE_TYPE_REPLACE_PROPERTIES_BY_NAMES" - Replace the properties by - // names. - // "UPDATE_TYPE_DELETE_PROPERTIES_BY_NAMES" - Delete the properties by names. - // "UPDATE_TYPE_MERGE_AND_REPLACE_OR_INSERT_PROPERTIES_BY_NAMES" - For each - // of the property, replaces the property if the it exists, otherwise inserts a - // new property. And for the rest of the fields, merge them based on update - // mask and merge fields options. - UpdateType string `json:"updateType,omitempty"` - // ForceSendFields is a list of field names (e.g. "MergeFieldsOptions") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "MergeFieldsOptions") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1UpdateOptions) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1UpdateOptions - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1UpdateRuleSetRequest: Request message for -// RuleSetService.UpdateRuleSet. -type GoogleCloudContentwarehouseV1UpdateRuleSetRequest struct { - // RuleSet: Required. The rule set to update. - RuleSet *GoogleCloudContentwarehouseV1RuleSet `json:"ruleSet,omitempty"` - // ForceSendFields is a list of field names (e.g. "RuleSet") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "RuleSet") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1UpdateRuleSetRequest) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1UpdateRuleSetRequest - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1UserInfo: The user information. -type GoogleCloudContentwarehouseV1UserInfo struct { - // GroupIds: The unique group identifications which the user is belong to. The - // format is "group:yyyy@example.com"; - GroupIds []string `json:"groupIds,omitempty"` - // Id: A unique user identification string, as determined by the client. The - // maximum number of allowed characters is 255. Allowed characters include - // numbers 0 to 9, uppercase and lowercase letters, and restricted special - // symbols (:, @, +, -, _, ~) The format is "user:xxxx@example.com"; - Id string `json:"id,omitempty"` - // ForceSendFields is a list of field names (e.g. "GroupIds") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GroupIds") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1UserInfo) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1UserInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1Value: `Value` represents a dynamically typed -// value which can be either be a float, a integer, a string, or a datetime -// value. A producer of value is expected to set one of these variants. Absence -// of any variant indicates an error. -type GoogleCloudContentwarehouseV1Value struct { - // BooleanValue: Represents a boolean value. - BooleanValue bool `json:"booleanValue,omitempty"` - // DatetimeValue: Represents a datetime value. - DatetimeValue *GoogleTypeDateTime `json:"datetimeValue,omitempty"` - // EnumValue: Represents an enum value. - EnumValue *GoogleCloudContentwarehouseV1EnumValue `json:"enumValue,omitempty"` - // FloatValue: Represents a float value. - FloatValue float64 `json:"floatValue,omitempty"` - // IntValue: Represents a integer value. - IntValue int64 `json:"intValue,omitempty"` - // StringValue: Represents a string value. - StringValue string `json:"stringValue,omitempty"` - // TimestampValue: Represents a timestamp value. - TimestampValue *GoogleCloudContentwarehouseV1TimestampValue `json:"timestampValue,omitempty"` - // ForceSendFields is a list of field names (e.g. "BooleanValue") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BooleanValue") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1Value) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1Value - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudContentwarehouseV1Value) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudContentwarehouseV1Value - var s1 struct { - FloatValue gensupport.JSONFloat64 `json:"floatValue"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.FloatValue = float64(s1.FloatValue) - return nil -} - -// GoogleCloudContentwarehouseV1WeightedSchemaProperty: Specifies the schema -// property name. -type GoogleCloudContentwarehouseV1WeightedSchemaProperty struct { - // DocumentSchemaName: The document schema name. - DocumentSchemaName string `json:"documentSchemaName,omitempty"` - // PropertyNames: The property definition names in the schema. - PropertyNames []string `json:"propertyNames,omitempty"` - // ForceSendFields is a list of field names (e.g. "DocumentSchemaName") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DocumentSchemaName") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1WeightedSchemaProperty) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1WeightedSchemaProperty - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1beta1CreateDocumentMetadata: Metadata object -// for CreateDocument request (currently empty). -type GoogleCloudContentwarehouseV1beta1CreateDocumentMetadata struct { -} - -// GoogleCloudContentwarehouseV1beta1InitializeProjectResponse: Response -// message for projectService.InitializeProject -type GoogleCloudContentwarehouseV1beta1InitializeProjectResponse struct { - // Message: The message of the project initialization process. - Message string `json:"message,omitempty"` - // State: The state of the project initialization process. - // - // Possible values: - // "STATE_UNSPECIFIED" - Clients should never see this. - // "SUCCEEDED" - Finished project initialization without error. - // "FAILED" - Finished project initialization with an error. - // "CANCELLED" - Client canceled the LRO. - // "RUNNING" - Ask the customer to check the operation for results. - State string `json:"state,omitempty"` - // ForceSendFields is a list of field names (e.g. "Message") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Message") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudContentwarehouseV1beta1InitializeProjectResponse) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudContentwarehouseV1beta1InitializeProjectResponse - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudContentwarehouseV1beta1UpdateDocumentMetadata: Metadata object -// for UpdateDocument request (currently empty). -type GoogleCloudContentwarehouseV1beta1UpdateDocumentMetadata struct { -} - -// GoogleCloudDocumentaiV1Barcode: Encodes the detailed information of a -// barcode. -type GoogleCloudDocumentaiV1Barcode struct { - // Format: Format of a barcode. The supported formats are: - `CODE_128`: Code - // 128 type. - `CODE_39`: Code 39 type. - `CODE_93`: Code 93 type. - `CODABAR`: - // Codabar type. - `DATA_MATRIX`: 2D Data Matrix type. - `ITF`: ITF type. - - // `EAN_13`: EAN-13 type. - `EAN_8`: EAN-8 type. - `QR_CODE`: 2D QR code type. - // - `UPC_A`: UPC-A type. - `UPC_E`: UPC-E type. - `PDF417`: PDF417 type. - - // `AZTEC`: 2D Aztec code type. - `DATABAR`: GS1 DataBar code type. - Format string `json:"format,omitempty"` - // RawValue: Raw value encoded in the barcode. For example: - // `'MEBKM:TITLE:Google;URL:https://www.google.com;;'`. - RawValue string `json:"rawValue,omitempty"` - // ValueFormat: Value format describes the format of the value that a barcode - // encodes. The supported formats are: - `CONTACT_INFO`: Contact information. - - // `EMAIL`: Email address. - `ISBN`: ISBN identifier. - `PHONE`: Phone number. - // - `PRODUCT`: Product. - `SMS`: SMS message. - `TEXT`: Text string. - `URL`: - // URL address. - `WIFI`: Wifi information. - `GEO`: Geo-localization. - - // `CALENDAR_EVENT`: Calendar event. - `DRIVER_LICENSE`: Driver's license. - ValueFormat string `json:"valueFormat,omitempty"` - // ForceSendFields is a list of field names (e.g. "Format") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Format") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1Barcode) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1Barcode - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1BoundingPoly: A bounding polygon for the detected -// image annotation. -type GoogleCloudDocumentaiV1BoundingPoly struct { - // NormalizedVertices: The bounding polygon normalized vertices. - NormalizedVertices []*GoogleCloudDocumentaiV1NormalizedVertex `json:"normalizedVertices,omitempty"` - // Vertices: The bounding polygon vertices. - Vertices []*GoogleCloudDocumentaiV1Vertex `json:"vertices,omitempty"` - // ForceSendFields is a list of field names (e.g. "NormalizedVertices") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NormalizedVertices") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1BoundingPoly) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1BoundingPoly - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1Document: Document represents the canonical document -// resource in Document AI. It is an interchange format that provides insights -// into documents and allows for collaboration between users and Document AI to -// iterate and optimize for quality. -type GoogleCloudDocumentaiV1Document struct { - // Content: Optional. Inline document content, represented as a stream of - // bytes. Note: As with all `bytes` fields, protobuffers use a pure binary - // representation, whereas JSON representations use base64. - Content string `json:"content,omitempty"` - // Entities: A list of entities detected on Document.text. For document shards, - // entities in this list may cross shard boundaries. - Entities []*GoogleCloudDocumentaiV1DocumentEntity `json:"entities,omitempty"` - // EntityRelations: Placeholder. Relationship among Document.entities. - EntityRelations []*GoogleCloudDocumentaiV1DocumentEntityRelation `json:"entityRelations,omitempty"` - // Error: Any error that occurred while processing this document. - Error *GoogleRpcStatus `json:"error,omitempty"` - // MimeType: An IANA published media type (MIME type) - // (https://www.iana.org/assignments/media-types/media-types.xhtml). - MimeType string `json:"mimeType,omitempty"` - // Pages: Visual page layout for the Document. - Pages []*GoogleCloudDocumentaiV1DocumentPage `json:"pages,omitempty"` - // Revisions: Placeholder. Revision history of this document. - Revisions []*GoogleCloudDocumentaiV1DocumentRevision `json:"revisions,omitempty"` - // ShardInfo: Information about the sharding if this document is sharded part - // of a larger document. If the document is not sharded, this message is not - // specified. - ShardInfo *GoogleCloudDocumentaiV1DocumentShardInfo `json:"shardInfo,omitempty"` - // Text: Optional. UTF-8 encoded text in reading order from the document. - Text string `json:"text,omitempty"` - // TextChanges: Placeholder. A list of text corrections made to Document.text. - // This is usually used for annotating corrections to OCR mistakes. Text - // changes for a given revision may not overlap with each other. - TextChanges []*GoogleCloudDocumentaiV1DocumentTextChange `json:"textChanges,omitempty"` - // TextStyles: Styles for the Document.text. - TextStyles []*GoogleCloudDocumentaiV1DocumentStyle `json:"textStyles,omitempty"` - // Uri: Optional. Currently supports Google Cloud Storage URI of the form - // `gs://bucket_name/object_name`. Object versioning is not supported. For more - // information, refer to Google Cloud Storage Request URIs - // (https://cloud.google.com/storage/docs/reference-uris). - Uri string `json:"uri,omitempty"` - // ForceSendFields is a list of field names (e.g. "Content") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Content") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1Document) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1Document - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentEntity: An entity that could be a phrase in -// the text or a property that belongs to the document. It is a known entity -// type, such as a person, an organization, or location. -type GoogleCloudDocumentaiV1DocumentEntity struct { - // Confidence: Optional. Confidence of detected Schema entity. Range `[0, 1]`. - Confidence float64 `json:"confidence,omitempty"` - // Id: Optional. Canonical id. This will be a unique value in the entity list - // for this document. - Id string `json:"id,omitempty"` - // MentionId: Optional. Deprecated. Use `id` field instead. - MentionId string `json:"mentionId,omitempty"` - // MentionText: Optional. Text value of the entity e.g. `1600 Amphitheatre - // Pkwy`. - MentionText string `json:"mentionText,omitempty"` - // NormalizedValue: Optional. Normalized entity value. Absent if the extracted - // value could not be converted or the type (e.g. address) is not supported for - // certain parsers. This field is also only populated for certain supported - // document types. - NormalizedValue *GoogleCloudDocumentaiV1DocumentEntityNormalizedValue `json:"normalizedValue,omitempty"` - // PageAnchor: Optional. Represents the provenance of this entity wrt. the - // location on the page where it was found. - PageAnchor *GoogleCloudDocumentaiV1DocumentPageAnchor `json:"pageAnchor,omitempty"` - // Properties: Optional. Entities can be nested to form a hierarchical data - // structure representing the content in the document. - Properties []*GoogleCloudDocumentaiV1DocumentEntity `json:"properties,omitempty"` - // Provenance: Optional. The history of this annotation. - Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` - // Redacted: Optional. Whether the entity will be redacted for - // de-identification purposes. - Redacted bool `json:"redacted,omitempty"` - // TextAnchor: Optional. Provenance of the entity. Text anchor indexing into - // the Document.text. - TextAnchor *GoogleCloudDocumentaiV1DocumentTextAnchor `json:"textAnchor,omitempty"` - // Type: Required. Entity type from a schema e.g. `Address`. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Confidence") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Confidence") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentEntity) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentEntity - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudDocumentaiV1DocumentEntity) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDocumentaiV1DocumentEntity - var s1 struct { - Confidence gensupport.JSONFloat64 `json:"confidence"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Confidence = float64(s1.Confidence) - return nil -} - -// GoogleCloudDocumentaiV1DocumentEntityNormalizedValue: Parsed and normalized -// entity value. -type GoogleCloudDocumentaiV1DocumentEntityNormalizedValue struct { - // AddressValue: Postal address. See also: - // https://github.com/googleapis/googleapis/blob/master/google/type/postal_address.proto - AddressValue *GoogleTypePostalAddress `json:"addressValue,omitempty"` - // BooleanValue: Boolean value. Can be used for entities with binary values, or - // for checkboxes. - BooleanValue bool `json:"booleanValue,omitempty"` - // DateValue: Date value. Includes year, month, day. See also: - // https://github.com/googleapis/googleapis/blob/master/google/type/date.proto - DateValue *GoogleTypeDate `json:"dateValue,omitempty"` - // DatetimeValue: DateTime value. Includes date, time, and timezone. See also: - // https://github.com/googleapis/googleapis/blob/master/google/type/datetime.proto - DatetimeValue *GoogleTypeDateTime `json:"datetimeValue,omitempty"` - // FloatValue: Float value. - FloatValue float64 `json:"floatValue,omitempty"` - // IntegerValue: Integer value. - IntegerValue int64 `json:"integerValue,omitempty"` - // MoneyValue: Money value. See also: - // https://github.com/googleapis/googleapis/blob/master/google/type/money.proto - MoneyValue *GoogleTypeMoney `json:"moneyValue,omitempty"` - // Text: Optional. An optional field to store a normalized string. For some - // entity types, one of respective `structured_value` fields may also be - // populated. Also not all the types of `structured_value` will be normalized. - // For example, some processors may not generate `float` or `integer` - // normalized text by default. Below are sample formats mapped to structured - // values. - Money/Currency type (`money_value`) is in the ISO 4217 text - // format. - Date type (`date_value`) is in the ISO 8601 text format. - - // Datetime type (`datetime_value`) is in the ISO 8601 text format. - Text string `json:"text,omitempty"` - // ForceSendFields is a list of field names (e.g. "AddressValue") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AddressValue") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentEntityNormalizedValue) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentEntityNormalizedValue - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudDocumentaiV1DocumentEntityNormalizedValue) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDocumentaiV1DocumentEntityNormalizedValue - var s1 struct { - FloatValue gensupport.JSONFloat64 `json:"floatValue"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.FloatValue = float64(s1.FloatValue) - return nil -} - -// GoogleCloudDocumentaiV1DocumentEntityRelation: Relationship between -// Entities. -type GoogleCloudDocumentaiV1DocumentEntityRelation struct { - // ObjectId: Object entity id. - ObjectId string `json:"objectId,omitempty"` - // Relation: Relationship description. - Relation string `json:"relation,omitempty"` - // SubjectId: Subject entity id. - SubjectId string `json:"subjectId,omitempty"` - // ForceSendFields is a list of field names (e.g. "ObjectId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ObjectId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentEntityRelation) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentEntityRelation - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPage: A page in a Document. -type GoogleCloudDocumentaiV1DocumentPage struct { - // Blocks: A list of visually detected text blocks on the page. A block has a - // set of lines (collected into paragraphs) that have a common line-spacing and - // orientation. - Blocks []*GoogleCloudDocumentaiV1DocumentPageBlock `json:"blocks,omitempty"` - // DetectedBarcodes: A list of detected barcodes. - DetectedBarcodes []*GoogleCloudDocumentaiV1DocumentPageDetectedBarcode `json:"detectedBarcodes,omitempty"` - // DetectedLanguages: A list of detected languages together with confidence. - DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` - // Dimension: Physical dimension of the page. - Dimension *GoogleCloudDocumentaiV1DocumentPageDimension `json:"dimension,omitempty"` - // FormFields: A list of visually detected form fields on the page. - FormFields []*GoogleCloudDocumentaiV1DocumentPageFormField `json:"formFields,omitempty"` - // Image: Rendered image for this page. This image is preprocessed to remove - // any skew, rotation, and distortions such that the annotation bounding boxes - // can be upright and axis-aligned. - Image *GoogleCloudDocumentaiV1DocumentPageImage `json:"image,omitempty"` - // ImageQualityScores: Image quality scores. - ImageQualityScores *GoogleCloudDocumentaiV1DocumentPageImageQualityScores `json:"imageQualityScores,omitempty"` - // Layout: Layout for the page. - Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` - // Lines: A list of visually detected text lines on the page. A collection of - // tokens that a human would perceive as a line. - Lines []*GoogleCloudDocumentaiV1DocumentPageLine `json:"lines,omitempty"` - // PageNumber: 1-based index for current Page in a parent Document. Useful when - // a page is taken out of a Document for individual processing. - PageNumber int64 `json:"pageNumber,omitempty"` - // Paragraphs: A list of visually detected text paragraphs on the page. A - // collection of lines that a human would perceive as a paragraph. - Paragraphs []*GoogleCloudDocumentaiV1DocumentPageParagraph `json:"paragraphs,omitempty"` - // Provenance: The history of this page. - Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` - // Symbols: A list of visually detected symbols on the page. - Symbols []*GoogleCloudDocumentaiV1DocumentPageSymbol `json:"symbols,omitempty"` - // Tables: A list of visually detected tables on the page. - Tables []*GoogleCloudDocumentaiV1DocumentPageTable `json:"tables,omitempty"` - // Tokens: A list of visually detected tokens on the page. - Tokens []*GoogleCloudDocumentaiV1DocumentPageToken `json:"tokens,omitempty"` - // Transforms: Transformation matrices that were applied to the original - // document image to produce Page.image. - Transforms []*GoogleCloudDocumentaiV1DocumentPageMatrix `json:"transforms,omitempty"` - // VisualElements: A list of detected non-text visual elements e.g. checkbox, - // signature etc. on the page. - VisualElements []*GoogleCloudDocumentaiV1DocumentPageVisualElement `json:"visualElements,omitempty"` - // ForceSendFields is a list of field names (e.g. "Blocks") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Blocks") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPage) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPage - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageAnchor: Referencing the visual context of -// the entity in the Document.pages. Page anchors can be cross-page, consist of -// multiple bounding polygons and optionally reference specific layout element -// types. -type GoogleCloudDocumentaiV1DocumentPageAnchor struct { - // PageRefs: One or more references to visual page elements - PageRefs []*GoogleCloudDocumentaiV1DocumentPageAnchorPageRef `json:"pageRefs,omitempty"` - // ForceSendFields is a list of field names (e.g. "PageRefs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "PageRefs") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageAnchor) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageAnchor - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageAnchorPageRef: Represents a weak -// reference to a page element within a document. -type GoogleCloudDocumentaiV1DocumentPageAnchorPageRef struct { - // BoundingPoly: Optional. Identifies the bounding polygon of a layout element - // on the page. If `layout_type` is set, the bounding polygon must be exactly - // the same to the layout element it's referring to. - BoundingPoly *GoogleCloudDocumentaiV1BoundingPoly `json:"boundingPoly,omitempty"` - // Confidence: Optional. Confidence of detected page element, if applicable. - // Range `[0, 1]`. - Confidence float64 `json:"confidence,omitempty"` - // LayoutId: Optional. Deprecated. Use PageRef.bounding_poly instead. - LayoutId string `json:"layoutId,omitempty"` - // LayoutType: Optional. The type of the layout element that is being - // referenced if any. - // - // Possible values: - // "LAYOUT_TYPE_UNSPECIFIED" - Layout Unspecified. - // "BLOCK" - References a Page.blocks element. - // "PARAGRAPH" - References a Page.paragraphs element. - // "LINE" - References a Page.lines element. - // "TOKEN" - References a Page.tokens element. - // "VISUAL_ELEMENT" - References a Page.visual_elements element. - // "TABLE" - Refrrences a Page.tables element. - // "FORM_FIELD" - References a Page.form_fields element. - LayoutType string `json:"layoutType,omitempty"` - // Page: Required. Index into the Document.pages element, for example using - // `Document.pages` to locate the related page element. This field is skipped - // when its value is the default `0`. See - // https://developers.google.com/protocol-buffers/docs/proto3#json. - Page int64 `json:"page,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "BoundingPoly") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BoundingPoly") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageAnchorPageRef) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageAnchorPageRef - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudDocumentaiV1DocumentPageAnchorPageRef) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDocumentaiV1DocumentPageAnchorPageRef - var s1 struct { - Confidence gensupport.JSONFloat64 `json:"confidence"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Confidence = float64(s1.Confidence) - return nil -} - -// GoogleCloudDocumentaiV1DocumentPageBlock: A block has a set of lines -// (collected into paragraphs) that have a common line-spacing and orientation. -type GoogleCloudDocumentaiV1DocumentPageBlock struct { - // DetectedLanguages: A list of detected languages together with confidence. - DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` - // Layout: Layout for Block. - Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` - // Provenance: The history of this annotation. - Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` - // ForceSendFields is a list of field names (e.g. "DetectedLanguages") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DetectedLanguages") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageBlock) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageBlock - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageDetectedBarcode: A detected barcode. -type GoogleCloudDocumentaiV1DocumentPageDetectedBarcode struct { - // Barcode: Detailed barcode information of the DetectedBarcode. - Barcode *GoogleCloudDocumentaiV1Barcode `json:"barcode,omitempty"` - // Layout: Layout for DetectedBarcode. - Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` - // ForceSendFields is a list of field names (e.g. "Barcode") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Barcode") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageDetectedBarcode) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageDetectedBarcode - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageDetectedLanguage: Detected language for a -// structural component. -type GoogleCloudDocumentaiV1DocumentPageDetectedLanguage struct { - // Confidence: Confidence of detected language. Range `[0, 1]`. - Confidence float64 `json:"confidence,omitempty"` - // LanguageCode: The BCP-47 language code - // (https://www.unicode.org/reports/tr35/#Unicode_locale_identifier), such as - // `en-US` or `sr-Latn`. - LanguageCode string `json:"languageCode,omitempty"` - // ForceSendFields is a list of field names (e.g. "Confidence") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Confidence") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageDetectedLanguage) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudDocumentaiV1DocumentPageDetectedLanguage) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDocumentaiV1DocumentPageDetectedLanguage - var s1 struct { - Confidence gensupport.JSONFloat64 `json:"confidence"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Confidence = float64(s1.Confidence) - return nil -} - -// GoogleCloudDocumentaiV1DocumentPageDimension: Dimension for the page. -type GoogleCloudDocumentaiV1DocumentPageDimension struct { - // Height: Page height. - Height float64 `json:"height,omitempty"` - // Unit: Dimension unit. - Unit string `json:"unit,omitempty"` - // Width: Page width. - Width float64 `json:"width,omitempty"` - // ForceSendFields is a list of field names (e.g. "Height") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Height") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageDimension) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageDimension - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudDocumentaiV1DocumentPageDimension) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDocumentaiV1DocumentPageDimension - var s1 struct { - Height gensupport.JSONFloat64 `json:"height"` - Width gensupport.JSONFloat64 `json:"width"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Height = float64(s1.Height) - s.Width = float64(s1.Width) - return nil -} - -// GoogleCloudDocumentaiV1DocumentPageFormField: A form field detected on the -// page. -type GoogleCloudDocumentaiV1DocumentPageFormField struct { - // CorrectedKeyText: Created for Labeling UI to export key text. If corrections - // were made to the text identified by the `field_name.text_anchor`, this field - // will contain the correction. - CorrectedKeyText string `json:"correctedKeyText,omitempty"` - // CorrectedValueText: Created for Labeling UI to export value text. If - // corrections were made to the text identified by the - // `field_value.text_anchor`, this field will contain the correction. - CorrectedValueText string `json:"correctedValueText,omitempty"` - // FieldName: Layout for the FormField name. e.g. `Address`, `Email`, `Grand - // total`, `Phone number`, etc. - FieldName *GoogleCloudDocumentaiV1DocumentPageLayout `json:"fieldName,omitempty"` - // FieldValue: Layout for the FormField value. - FieldValue *GoogleCloudDocumentaiV1DocumentPageLayout `json:"fieldValue,omitempty"` - // NameDetectedLanguages: A list of detected languages for name together with - // confidence. - NameDetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"nameDetectedLanguages,omitempty"` - // Provenance: The history of this annotation. - Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` - // ValueDetectedLanguages: A list of detected languages for value together with - // confidence. - ValueDetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"valueDetectedLanguages,omitempty"` - // ValueType: If the value is non-textual, this field represents the type. - // Current valid values are: - blank (this indicates the `field_value` is - // normal text) - `unfilled_checkbox` - `filled_checkbox` - ValueType string `json:"valueType,omitempty"` - // ForceSendFields is a list of field names (e.g. "CorrectedKeyText") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CorrectedKeyText") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageFormField) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageFormField - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageImage: Rendered image contents for this -// page. -type GoogleCloudDocumentaiV1DocumentPageImage struct { - // Content: Raw byte content of the image. - Content string `json:"content,omitempty"` - // Height: Height of the image in pixels. - Height int64 `json:"height,omitempty"` - // MimeType: Encoding media type (MIME type) - // (https://www.iana.org/assignments/media-types/media-types.xhtml) for the - // image. - MimeType string `json:"mimeType,omitempty"` - // Width: Width of the image in pixels. - Width int64 `json:"width,omitempty"` - // ForceSendFields is a list of field names (e.g. "Content") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Content") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageImage) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageImage - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageImageQualityScores: Image quality scores -// for the page image. -type GoogleCloudDocumentaiV1DocumentPageImageQualityScores struct { - // DetectedDefects: A list of detected defects. - DetectedDefects []*GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect `json:"detectedDefects,omitempty"` - // QualityScore: The overall quality score. Range `[0, 1]` where `1` is perfect - // quality. - QualityScore float64 `json:"qualityScore,omitempty"` - // ForceSendFields is a list of field names (e.g. "DetectedDefects") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DetectedDefects") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageImageQualityScores) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageImageQualityScores - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudDocumentaiV1DocumentPageImageQualityScores) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDocumentaiV1DocumentPageImageQualityScores - var s1 struct { - QualityScore gensupport.JSONFloat64 `json:"qualityScore"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.QualityScore = float64(s1.QualityScore) - return nil -} - -// GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect: Image -// Quality Defects -type GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect struct { - // Confidence: Confidence of detected defect. Range `[0, 1]` where `1` - // indicates strong confidence that the defect exists. - Confidence float64 `json:"confidence,omitempty"` - // Type: Name of the defect type. Supported values are: - - // `quality/defect_blurry` - `quality/defect_noisy` - `quality/defect_dark` - - // `quality/defect_faint` - `quality/defect_text_too_small` - - // `quality/defect_document_cutoff` - `quality/defect_text_cutoff` - - // `quality/defect_glare` - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Confidence") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Confidence") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDocumentaiV1DocumentPageImageQualityScoresDetectedDefect - var s1 struct { - Confidence gensupport.JSONFloat64 `json:"confidence"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Confidence = float64(s1.Confidence) - return nil -} - -// GoogleCloudDocumentaiV1DocumentPageLayout: Visual element describing a -// layout unit on a page. -type GoogleCloudDocumentaiV1DocumentPageLayout struct { - // BoundingPoly: The bounding polygon for the Layout. - BoundingPoly *GoogleCloudDocumentaiV1BoundingPoly `json:"boundingPoly,omitempty"` - // Confidence: Confidence of the current Layout within context of the object - // this layout is for. e.g. confidence can be for a single token, a table, a - // visual element, etc. depending on context. Range `[0, 1]`. - Confidence float64 `json:"confidence,omitempty"` - // Orientation: Detected orientation for the Layout. - // - // Possible values: - // "ORIENTATION_UNSPECIFIED" - Unspecified orientation. - // "PAGE_UP" - Orientation is aligned with page up. - // "PAGE_RIGHT" - Orientation is aligned with page right. Turn the head 90 - // degrees clockwise from upright to read. - // "PAGE_DOWN" - Orientation is aligned with page down. Turn the head 180 - // degrees from upright to read. - // "PAGE_LEFT" - Orientation is aligned with page left. Turn the head 90 - // degrees counterclockwise from upright to read. - Orientation string `json:"orientation,omitempty"` - // TextAnchor: Text anchor indexing into the Document.text. - TextAnchor *GoogleCloudDocumentaiV1DocumentTextAnchor `json:"textAnchor,omitempty"` - // ForceSendFields is a list of field names (e.g. "BoundingPoly") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BoundingPoly") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageLayout) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageLayout - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudDocumentaiV1DocumentPageLayout) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDocumentaiV1DocumentPageLayout - var s1 struct { - Confidence gensupport.JSONFloat64 `json:"confidence"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Confidence = float64(s1.Confidence) - return nil -} - -// GoogleCloudDocumentaiV1DocumentPageLine: A collection of tokens that a human -// would perceive as a line. Does not cross column boundaries, can be -// horizontal, vertical, etc. -type GoogleCloudDocumentaiV1DocumentPageLine struct { - // DetectedLanguages: A list of detected languages together with confidence. - DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` - // Layout: Layout for Line. - Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` - // Provenance: The history of this annotation. - Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` - // ForceSendFields is a list of field names (e.g. "DetectedLanguages") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DetectedLanguages") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageLine) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageLine - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageMatrix: Representation for transformation -// matrix, intended to be compatible and used with OpenCV format for image -// manipulation. -type GoogleCloudDocumentaiV1DocumentPageMatrix struct { - // Cols: Number of columns in the matrix. - Cols int64 `json:"cols,omitempty"` - // Data: The matrix data. - Data string `json:"data,omitempty"` - // Rows: Number of rows in the matrix. - Rows int64 `json:"rows,omitempty"` - // Type: This encodes information about what data type the matrix uses. For - // example, 0 (CV_8U) is an unsigned 8-bit image. For the full list of OpenCV - // primitive data types, please refer to - // https://docs.opencv.org/4.3.0/d1/d1b/group__core__hal__interface.html - Type int64 `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Cols") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Cols") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageMatrix) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageMatrix - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageParagraph: A collection of lines that a -// human would perceive as a paragraph. -type GoogleCloudDocumentaiV1DocumentPageParagraph struct { - // DetectedLanguages: A list of detected languages together with confidence. - DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` - // Layout: Layout for Paragraph. - Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` - // Provenance: The history of this annotation. - Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` - // ForceSendFields is a list of field names (e.g. "DetectedLanguages") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DetectedLanguages") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageParagraph) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageParagraph - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageSymbol: A detected symbol. -type GoogleCloudDocumentaiV1DocumentPageSymbol struct { - // DetectedLanguages: A list of detected languages together with confidence. - DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` - // Layout: Layout for Symbol. - Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` - // ForceSendFields is a list of field names (e.g. "DetectedLanguages") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DetectedLanguages") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageSymbol) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageSymbol - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageTable: A table representation similar to -// HTML table structure. -type GoogleCloudDocumentaiV1DocumentPageTable struct { - // BodyRows: Body rows of the table. - BodyRows []*GoogleCloudDocumentaiV1DocumentPageTableTableRow `json:"bodyRows,omitempty"` - // DetectedLanguages: A list of detected languages together with confidence. - DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` - // HeaderRows: Header rows of the table. - HeaderRows []*GoogleCloudDocumentaiV1DocumentPageTableTableRow `json:"headerRows,omitempty"` - // Layout: Layout for Table. - Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` - // Provenance: The history of this table. - Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` - // ForceSendFields is a list of field names (e.g. "BodyRows") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BodyRows") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageTable) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageTable - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageTableTableCell: A cell representation -// inside the table. -type GoogleCloudDocumentaiV1DocumentPageTableTableCell struct { - // ColSpan: How many columns this cell spans. - ColSpan int64 `json:"colSpan,omitempty"` - // DetectedLanguages: A list of detected languages together with confidence. - DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` - // Layout: Layout for TableCell. - Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` - // RowSpan: How many rows this cell spans. - RowSpan int64 `json:"rowSpan,omitempty"` - // ForceSendFields is a list of field names (e.g. "ColSpan") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ColSpan") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageTableTableCell) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageTableTableCell - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageTableTableRow: A row of table cells. -type GoogleCloudDocumentaiV1DocumentPageTableTableRow struct { - // Cells: Cells that make up this row. - Cells []*GoogleCloudDocumentaiV1DocumentPageTableTableCell `json:"cells,omitempty"` - // ForceSendFields is a list of field names (e.g. "Cells") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Cells") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageTableTableRow) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageTableTableRow - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageToken: A detected token. -type GoogleCloudDocumentaiV1DocumentPageToken struct { - // DetectedBreak: Detected break at the end of a Token. - DetectedBreak *GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak `json:"detectedBreak,omitempty"` - // DetectedLanguages: A list of detected languages together with confidence. - DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` - // Layout: Layout for Token. - Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` - // Provenance: The history of this annotation. - Provenance *GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` - // StyleInfo: Text style attributes. - StyleInfo *GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo `json:"styleInfo,omitempty"` - // ForceSendFields is a list of field names (e.g. "DetectedBreak") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DetectedBreak") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageToken) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageToken - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak: Detected break at the -// end of a Token. -type GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak struct { - // Type: Detected break type. - // - // Possible values: - // "TYPE_UNSPECIFIED" - Unspecified break type. - // "SPACE" - A single whitespace. - // "WIDE_SPACE" - A wider whitespace. - // "HYPHEN" - A hyphen that indicates that a token has been split across - // lines. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Type") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Type") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageTokenDetectedBreak - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo: Font and other text style -// attributes. -type GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo struct { - // BackgroundColor: Color of the background. - BackgroundColor *GoogleTypeColor `json:"backgroundColor,omitempty"` - // Bold: Whether the text is bold (equivalent to font_weight is at least - // `700`). - Bold bool `json:"bold,omitempty"` - // FontSize: Font size in points (`1` point is `¹⁄₇₂` inches). - FontSize int64 `json:"fontSize,omitempty"` - // FontType: Name or style of the font. - FontType string `json:"fontType,omitempty"` - // FontWeight: TrueType weight on a scale `100` (thin) to `1000` (ultra-heavy). - // Normal is `400`, bold is `700`. - FontWeight int64 `json:"fontWeight,omitempty"` - // Handwritten: Whether the text is handwritten. - Handwritten bool `json:"handwritten,omitempty"` - // Italic: Whether the text is italic. - Italic bool `json:"italic,omitempty"` - // LetterSpacing: Letter spacing in points. - LetterSpacing float64 `json:"letterSpacing,omitempty"` - // PixelFontSize: Font size in pixels, equal to _unrounded font_size_ * - // _resolution_ ÷ `72.0`. - PixelFontSize float64 `json:"pixelFontSize,omitempty"` - // Smallcaps: Whether the text is in small caps. This feature is not supported - // yet. - Smallcaps bool `json:"smallcaps,omitempty"` - // Strikeout: Whether the text is strikethrough. This feature is not supported - // yet. - Strikeout bool `json:"strikeout,omitempty"` - // Subscript: Whether the text is a subscript. This feature is not supported - // yet. - Subscript bool `json:"subscript,omitempty"` - // Superscript: Whether the text is a superscript. This feature is not - // supported yet. - Superscript bool `json:"superscript,omitempty"` - // TextColor: Color of the text. - TextColor *GoogleTypeColor `json:"textColor,omitempty"` - // Underlined: Whether the text is underlined. - Underlined bool `json:"underlined,omitempty"` - // ForceSendFields is a list of field names (e.g. "BackgroundColor") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BackgroundColor") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDocumentaiV1DocumentPageTokenStyleInfo - var s1 struct { - LetterSpacing gensupport.JSONFloat64 `json:"letterSpacing"` - PixelFontSize gensupport.JSONFloat64 `json:"pixelFontSize"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.LetterSpacing = float64(s1.LetterSpacing) - s.PixelFontSize = float64(s1.PixelFontSize) - return nil -} - -// GoogleCloudDocumentaiV1DocumentPageVisualElement: Detected non-text visual -// elements e.g. checkbox, signature etc. on the page. -type GoogleCloudDocumentaiV1DocumentPageVisualElement struct { - // DetectedLanguages: A list of detected languages together with confidence. - DetectedLanguages []*GoogleCloudDocumentaiV1DocumentPageDetectedLanguage `json:"detectedLanguages,omitempty"` - // Layout: Layout for VisualElement. - Layout *GoogleCloudDocumentaiV1DocumentPageLayout `json:"layout,omitempty"` - // Type: Type of the VisualElement. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "DetectedLanguages") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DetectedLanguages") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentPageVisualElement) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentPageVisualElement - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentProvenance: Structure to identify provenance -// relationships between annotations in different revisions. -type GoogleCloudDocumentaiV1DocumentProvenance struct { - // Id: The Id of this operation. Needs to be unique within the scope of the - // revision. - Id int64 `json:"id,omitempty"` - // Parents: References to the original elements that are replaced. - Parents []*GoogleCloudDocumentaiV1DocumentProvenanceParent `json:"parents,omitempty"` - // Revision: The index of the revision that produced this element. - Revision int64 `json:"revision,omitempty"` - // Type: The type of provenance operation. - // - // Possible values: - // "OPERATION_TYPE_UNSPECIFIED" - Operation type unspecified. If no operation - // is specified a provenance entry is simply used to match against a `parent`. - // "ADD" - Add an element. - // "REMOVE" - Remove an element identified by `parent`. - // "UPDATE" - Updates any fields within the given provenance scope of the - // message. It overwrites the fields rather than replacing them. Use this when - // you want to update a field value of an entity without also updating all the - // child properties. - // "REPLACE" - Currently unused. Replace an element identified by `parent`. - // "EVAL_REQUESTED" - Deprecated. Request human review for the element - // identified by `parent`. - // "EVAL_APPROVED" - Deprecated. Element is reviewed and approved at human - // review, confidence will be set to 1.0. - // "EVAL_SKIPPED" - Deprecated. Element is skipped in the validation process. - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentProvenance) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentProvenance - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentProvenanceParent: The parent element the -// current element is based on. Used for referencing/aligning, removal and -// replacement operations. -type GoogleCloudDocumentaiV1DocumentProvenanceParent struct { - // Id: The id of the parent provenance. - Id int64 `json:"id,omitempty"` - // Index: The index of the parent item in the corresponding item list (eg. list - // of entities, properties within entities, etc.) in the parent revision. - Index int64 `json:"index,omitempty"` - // Revision: The index of the index into current revision's parent_ids list. - Revision int64 `json:"revision,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentProvenanceParent) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentProvenanceParent - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentRevision: Contains past or forward revisions -// of this document. -type GoogleCloudDocumentaiV1DocumentRevision struct { - // Agent: If the change was made by a person specify the name or id of that - // person. - Agent string `json:"agent,omitempty"` - // CreateTime: The time that the revision was created, internally generated by - // doc proto storage at the time of create. - CreateTime string `json:"createTime,omitempty"` - // HumanReview: Human Review information of this revision. - HumanReview *GoogleCloudDocumentaiV1DocumentRevisionHumanReview `json:"humanReview,omitempty"` - // Id: Id of the revision, internally generated by doc proto storage. Unique - // within the context of the document. - Id string `json:"id,omitempty"` - // Parent: The revisions that this revision is based on. This can include one - // or more parent (when documents are merged.) This field represents the index - // into the `revisions` field. - Parent []int64 `json:"parent,omitempty"` - // ParentIds: The revisions that this revision is based on. Must include all - // the ids that have anything to do with this revision - eg. there are - // `provenance.parent.revision` fields that index into this field. - ParentIds []string `json:"parentIds,omitempty"` - // Processor: If the annotation was made by processor identify the processor by - // its resource name. - Processor string `json:"processor,omitempty"` - // ForceSendFields is a list of field names (e.g. "Agent") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Agent") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentRevision) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentRevision - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentRevisionHumanReview: Human Review information -// of the document. -type GoogleCloudDocumentaiV1DocumentRevisionHumanReview struct { - // State: Human review state. e.g. `requested`, `succeeded`, `rejected`. - State string `json:"state,omitempty"` - // StateMessage: A message providing more details about the current state of - // processing. For example, the rejection reason when the state is `rejected`. - StateMessage string `json:"stateMessage,omitempty"` - // ForceSendFields is a list of field names (e.g. "State") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "State") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentRevisionHumanReview) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentRevisionHumanReview - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentShardInfo: For a large document, sharding may -// be performed to produce several document shards. Each document shard -// contains this field to detail which shard it is. -type GoogleCloudDocumentaiV1DocumentShardInfo struct { - // ShardCount: Total number of shards. - ShardCount int64 `json:"shardCount,omitempty,string"` - // ShardIndex: The 0-based index of this shard. - ShardIndex int64 `json:"shardIndex,omitempty,string"` - // TextOffset: The index of the first character in Document.text in the overall - // document global text. - TextOffset int64 `json:"textOffset,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "ShardCount") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ShardCount") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentShardInfo) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentShardInfo - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentStyle: Annotation for common text style -// attributes. This adheres to CSS conventions as much as possible. -type GoogleCloudDocumentaiV1DocumentStyle struct { - // BackgroundColor: Text background color. - BackgroundColor *GoogleTypeColor `json:"backgroundColor,omitempty"` - // Color: Text color. - Color *GoogleTypeColor `json:"color,omitempty"` - // FontFamily: Font family such as `Arial`, `Times New Roman`. - // https://www.w3schools.com/cssref/pr_font_font-family.asp - FontFamily string `json:"fontFamily,omitempty"` - // FontSize: Font size. - FontSize *GoogleCloudDocumentaiV1DocumentStyleFontSize `json:"fontSize,omitempty"` - // FontWeight: Font weight - // (https://www.w3schools.com/cssref/pr_font_weight.asp). Possible values are - // `normal`, `bold`, `bolder`, and `lighter`. - FontWeight string `json:"fontWeight,omitempty"` - // TextAnchor: Text anchor indexing into the Document.text. - TextAnchor *GoogleCloudDocumentaiV1DocumentTextAnchor `json:"textAnchor,omitempty"` - // TextDecoration: Text decoration - // (https://www.w3schools.com/cssref/pr_text_text-decoration.asp). Follows CSS - // standard. - TextDecoration string `json:"textDecoration,omitempty"` - // TextStyle: Text style - // (https://www.w3schools.com/cssref/pr_font_font-style.asp). Possible values - // are `normal`, `italic`, and `oblique`. - TextStyle string `json:"textStyle,omitempty"` - // ForceSendFields is a list of field names (e.g. "BackgroundColor") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "BackgroundColor") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentStyle) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentStyle - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentStyleFontSize: Font size with unit. -type GoogleCloudDocumentaiV1DocumentStyleFontSize struct { - // Size: Font size for the text. - Size float64 `json:"size,omitempty"` - // Unit: Unit for the font size. Follows CSS naming (such as `in`, `px`, and - // `pt`). - Unit string `json:"unit,omitempty"` - // ForceSendFields is a list of field names (e.g. "Size") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Size") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentStyleFontSize) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentStyleFontSize - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudDocumentaiV1DocumentStyleFontSize) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDocumentaiV1DocumentStyleFontSize - var s1 struct { - Size gensupport.JSONFloat64 `json:"size"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Size = float64(s1.Size) - return nil -} - -// GoogleCloudDocumentaiV1DocumentTextAnchor: Text reference indexing into the -// Document.text. -type GoogleCloudDocumentaiV1DocumentTextAnchor struct { - // Content: Contains the content of the text span so that users do not have to - // look it up in the text_segments. It is always populated for formFields. - Content string `json:"content,omitempty"` - // TextSegments: The text segments from the Document.text. - TextSegments []*GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment `json:"textSegments,omitempty"` - // ForceSendFields is a list of field names (e.g. "Content") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Content") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentTextAnchor) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentTextAnchor - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment: A text segment in the -// Document.text. The indices may be out of bounds which indicate that the text -// extends into another document shard for large sharded documents. See -// ShardInfo.text_offset -type GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment struct { - // EndIndex: TextSegment half open end UTF-8 char index in the Document.text. - EndIndex int64 `json:"endIndex,omitempty,string"` - // StartIndex: TextSegment start UTF-8 char index in the Document.text. - StartIndex int64 `json:"startIndex,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "EndIndex") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EndIndex") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentTextAnchorTextSegment - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1DocumentTextChange: This message is used for text -// changes aka. OCR corrections. -type GoogleCloudDocumentaiV1DocumentTextChange struct { - // ChangedText: The text that replaces the text identified in the - // `text_anchor`. - ChangedText string `json:"changedText,omitempty"` - // Provenance: The history of this annotation. - Provenance []*GoogleCloudDocumentaiV1DocumentProvenance `json:"provenance,omitempty"` - // TextAnchor: Provenance of the correction. Text anchor indexing into the - // Document.text. There can only be a single `TextAnchor.text_segments` - // element. If the start and end index of the text segment are the same, the - // text change is inserted before that index. - TextAnchor *GoogleCloudDocumentaiV1DocumentTextAnchor `json:"textAnchor,omitempty"` - // ForceSendFields is a list of field names (e.g. "ChangedText") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ChangedText") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1DocumentTextChange) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1DocumentTextChange - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleCloudDocumentaiV1NormalizedVertex: A vertex represents a 2D point in -// the image. NOTE: the normalized vertex coordinates are relative to the -// original image and range from 0 to 1. -type GoogleCloudDocumentaiV1NormalizedVertex struct { - // X: X coordinate. - X float64 `json:"x,omitempty"` - // Y: Y coordinate (starts from the top of the image). - Y float64 `json:"y,omitempty"` - // ForceSendFields is a list of field names (e.g. "X") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "X") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1NormalizedVertex) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1NormalizedVertex - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleCloudDocumentaiV1NormalizedVertex) UnmarshalJSON(data []byte) error { - type NoMethod GoogleCloudDocumentaiV1NormalizedVertex - var s1 struct { - X gensupport.JSONFloat64 `json:"x"` - Y gensupport.JSONFloat64 `json:"y"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.X = float64(s1.X) - s.Y = float64(s1.Y) - return nil -} - -// GoogleCloudDocumentaiV1Vertex: A vertex represents a 2D point in the image. -// NOTE: the vertex coordinates are in the same scale as the original image. -type GoogleCloudDocumentaiV1Vertex struct { - // X: X coordinate. - X int64 `json:"x,omitempty"` - // Y: Y coordinate (starts from the top of the image). - Y int64 `json:"y,omitempty"` - // ForceSendFields is a list of field names (e.g. "X") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "X") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleCloudDocumentaiV1Vertex) MarshalJSON() ([]byte, error) { - type NoMethod GoogleCloudDocumentaiV1Vertex - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1AuditConfig: Specifies the audit configuration for a service. The -// configuration determines which permission types are logged, and what -// identities, if any, are exempted from logging. An AuditConfig must have one -// or more AuditLogConfigs. If there are AuditConfigs for both `allServices` -// and a specific service, the union of the two AuditConfigs is used for that -// service: the log_types specified in each AuditConfig are enabled, and the -// exempted_members in each AuditLogConfig are exempted. Example Policy with -// multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", -// "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ -// "user:jose@example.com" ] }, { "log_type": "DATA_WRITE" }, { "log_type": -// "ADMIN_READ" } ] }, { "service": "sampleservice.googleapis.com", -// "audit_log_configs": [ { "log_type": "DATA_READ" }, { "log_type": -// "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] } ] } ] } For -// sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ -// logging. It also exempts `jose@example.com` from DATA_READ logging, and -// `aliya@example.com` from DATA_WRITE logging. -type GoogleIamV1AuditConfig struct { - // AuditLogConfigs: The configuration for logging of each type of permission. - AuditLogConfigs []*GoogleIamV1AuditLogConfig `json:"auditLogConfigs,omitempty"` - // Service: Specifies a service that will be enabled for audit logging. For - // example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` - // is a special value that covers all services. - Service string `json:"service,omitempty"` - // ForceSendFields is a list of field names (e.g. "AuditLogConfigs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AuditLogConfigs") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1AuditConfig) MarshalJSON() ([]byte, error) { - type NoMethod GoogleIamV1AuditConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1AuditLogConfig: Provides the configuration for logging a type of -// permissions. Example: { "audit_log_configs": [ { "log_type": "DATA_READ", -// "exempted_members": [ "user:jose@example.com" ] }, { "log_type": -// "DATA_WRITE" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while -// exempting jose@example.com from DATA_READ logging. -type GoogleIamV1AuditLogConfig struct { - // ExemptedMembers: Specifies the identities that do not cause logging for this - // type of permission. Follows the same format of Binding.members. - ExemptedMembers []string `json:"exemptedMembers,omitempty"` - // LogType: The log type that this config enables. - // - // Possible values: - // "LOG_TYPE_UNSPECIFIED" - Default case. Should never be this. - // "ADMIN_READ" - Admin reads. Example: CloudIAM getIamPolicy - // "DATA_WRITE" - Data writes. Example: CloudSQL Users create - // "DATA_READ" - Data reads. Example: CloudSQL Users list - LogType string `json:"logType,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExemptedMembers") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExemptedMembers") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1AuditLogConfig) MarshalJSON() ([]byte, error) { - type NoMethod GoogleIamV1AuditLogConfig - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1Binding: Associates `members`, or principals, with a `role`. -type GoogleIamV1Binding struct { - // Condition: The condition that is associated with this binding. If the - // condition evaluates to `true`, then this binding applies to the current - // request. If the condition evaluates to `false`, then this binding does not - // apply to the current request. However, a different role binding might grant - // the same role to one or more of the principals in this binding. To learn - // which resources support conditions in their IAM policies, see the IAM - // documentation - // (https://cloud.google.com/iam/help/conditions/resource-policies). - Condition *GoogleTypeExpr `json:"condition,omitempty"` - // Members: Specifies the principals requesting access for a Google Cloud - // resource. `members` can have the following values: * `allUsers`: A special - // identifier that represents anyone who is on the internet; with or without a - // Google account. * `allAuthenticatedUsers`: A special identifier that - // represents anyone who is authenticated with a Google account or a service - // account. Does not include identities that come from external identity - // providers (IdPs) through identity federation. * `user:{emailid}`: An email - // address that represents a specific Google account. For example, - // `alice@example.com` . * `serviceAccount:{emailid}`: An email address that - // represents a Google service account. For example, - // `my-other-app@appspot.gserviceaccount.com`. * - // `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An - // identifier for a Kubernetes service account - // (https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). - // For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * - // `group:{emailid}`: An email address that represents a Google group. For - // example, `admins@example.com`. * `domain:{domain}`: The G Suite domain - // (primary) that represents all the users of that domain. For example, - // `google.com` or `example.com`. * - // `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/sub - // ject/{subject_attribute_value}`: A single identity in a workforce identity - // pool. * - // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ - // group/{group_id}`: All workforce identities in a group. * - // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ - // attribute.{attribute_name}/{attribute_value}`: All workforce identities with - // a specific attribute value. * - // `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/ - // *`: All identities in a workforce identity pool. * - // `principal://iam.googleapis.com/projects/{project_number}/locations/global/wo - // rkloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single - // identity in a workload identity pool. * - // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global - // /workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool - // group. * - // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global - // /workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value} - // `: All identities in a workload identity pool with a certain attribute. * - // `principalSet://iam.googleapis.com/projects/{project_number}/locations/global - // /workloadIdentityPools/{pool_id}/*`: All identities in a workload identity - // pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus - // unique identifier) representing a user that has been recently deleted. For - // example, `alice@example.com?uid=123456789012345678901`. If the user is - // recovered, this value reverts to `user:{emailid}` and the recovered user - // retains the role in the binding. * - // `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus - // unique identifier) representing a service account that has been recently - // deleted. For example, - // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the - // service account is undeleted, this value reverts to - // `serviceAccount:{emailid}` and the undeleted service account retains the - // role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email - // address (plus unique identifier) representing a Google group that has been - // recently deleted. For example, - // `admins@example.com?uid=123456789012345678901`. If the group is recovered, - // this value reverts to `group:{emailid}` and the recovered group retains the - // role in the binding. * - // `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool - // _id}/subject/{subject_attribute_value}`: Deleted single identity in a - // workforce identity pool. For example, - // `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-po - // ol-id/subject/my-subject-attribute-value`. - Members []string `json:"members,omitempty"` - // Role: Role that is assigned to the list of `members`, or principals. For - // example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview - // of the IAM roles and permissions, see the IAM documentation - // (https://cloud.google.com/iam/docs/roles-overview). For a list of the - // available pre-defined roles, see here - // (https://cloud.google.com/iam/docs/understanding-roles). - Role string `json:"role,omitempty"` - // ForceSendFields is a list of field names (e.g. "Condition") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Condition") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1Binding) MarshalJSON() ([]byte, error) { - type NoMethod GoogleIamV1Binding - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleIamV1Policy: An Identity and Access Management (IAM) policy, which -// specifies access controls for Google Cloud resources. A `Policy` is a -// collection of `bindings`. A `binding` binds one or more `members`, or -// principals, to a single `role`. Principals can be user accounts, service -// accounts, Google groups, and domains (such as G Suite). A `role` is a named -// list of permissions; each `role` can be an IAM predefined role or a -// user-created custom role. For some types of Google Cloud resources, a -// `binding` can also specify a `condition`, which is a logical expression that -// allows access to a resource only if the expression evaluates to `true`. A -// condition can add constraints based on attributes of the request, the -// resource, or both. To learn which resources support conditions in their IAM -// policies, see the IAM documentation -// (https://cloud.google.com/iam/help/conditions/resource-policies). **JSON -// example:** ``` { "bindings": [ { "role": -// "roles/resourcemanager.organizationAdmin", "members": [ -// "user:mike@example.com", "group:admins@example.com", "domain:google.com", -// "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] }, { "role": -// "roles/resourcemanager.organizationViewer", "members": [ -// "user:eve@example.com" ], "condition": { "title": "expirable access", -// "description": "Does not grant access after Sep 2020", "expression": -// "request.time < timestamp('2020-10-01T00:00:00.000Z')", } } ], "etag": -// "BwWWja0YfJA=", "version": 3 } ``` **YAML example:** ``` bindings: - -// members: - user:mike@example.com - group:admins@example.com - -// domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com -// role: roles/resourcemanager.organizationAdmin - members: - -// user:eve@example.com role: roles/resourcemanager.organizationViewer -// condition: title: expirable access description: Does not grant access after -// Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') -// etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, -// see the IAM documentation (https://cloud.google.com/iam/docs/). -type GoogleIamV1Policy struct { - // AuditConfigs: Specifies cloud audit logging configuration for this policy. - AuditConfigs []*GoogleIamV1AuditConfig `json:"auditConfigs,omitempty"` - // Bindings: Associates a list of `members`, or principals, with a `role`. - // Optionally, may specify a `condition` that determines how and when the - // `bindings` are applied. Each of the `bindings` must contain at least one - // principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; - // up to 250 of these principals can be Google groups. Each occurrence of a - // principal counts towards these limits. For example, if the `bindings` grant - // 50 different roles to `user:alice@example.com`, and not to any other - // principal, then you can add another 1,450 principals to the `bindings` in - // the `Policy`. - Bindings []*GoogleIamV1Binding `json:"bindings,omitempty"` - // Etag: `etag` is used for optimistic concurrency control as a way to help - // prevent simultaneous updates of a policy from overwriting each other. It is - // strongly suggested that systems make use of the `etag` in the - // read-modify-write cycle to perform policy updates in order to avoid race - // conditions: An `etag` is returned in the response to `getIamPolicy`, and - // systems are expected to put that etag in the request to `setIamPolicy` to - // ensure that their change will be applied to the same version of the policy. - // **Important:** If you use IAM Conditions, you must include the `etag` field - // whenever you call `setIamPolicy`. If you omit this field, then IAM allows - // you to overwrite a version `3` policy with a version `1` policy, and all of - // the conditions in the version `3` policy are lost. - Etag string `json:"etag,omitempty"` - // Version: Specifies the format of the policy. Valid values are `0`, `1`, and - // `3`. Requests that specify an invalid value are rejected. Any operation that - // affects conditional role bindings must specify version `3`. This requirement - // applies to the following operations: * Getting a policy that includes a - // conditional role binding * Adding a conditional role binding to a policy * - // Changing a conditional role binding in a policy * Removing any role binding, - // with or without a condition, from a policy that includes conditions - // **Important:** If you use IAM Conditions, you must include the `etag` field - // whenever you call `setIamPolicy`. If you omit this field, then IAM allows - // you to overwrite a version `3` policy with a version `1` policy, and all of - // the conditions in the version `3` policy are lost. If a policy does not - // include any conditions, operations on that policy may specify any valid - // version or leave the field unset. To learn which resources support - // conditions in their IAM policies, see the IAM documentation - // (https://cloud.google.com/iam/help/conditions/resource-policies). - Version int64 `json:"version,omitempty"` - // ForceSendFields is a list of field names (e.g. "AuditConfigs") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AuditConfigs") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleIamV1Policy) MarshalJSON() ([]byte, error) { - type NoMethod GoogleIamV1Policy - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaAvailabilityPeriod: Represents the information -// about user's working hours during one day. Note that a period on Monday from -// 18:00 - 00:00 is represented as a triplet (1, 1080, 1440). -type GoogleInternalAppsWaldoV1alphaAvailabilityPeriod struct { - // DayOfWeek: Day of week, 0 for Sunday, 1 for Monday, ... - DayOfWeek int64 `json:"dayOfWeek,omitempty"` - // PeriodEndMinutes: Period end, in minutes from the start of the day, - // exclusive. - PeriodEndMinutes int64 `json:"periodEndMinutes,omitempty"` - // PeriodStartMinutes: Period start, in minutes from the start of the day, - // inclusive. - PeriodStartMinutes int64 `json:"periodStartMinutes,omitempty"` - // ForceSendFields is a list of field names (e.g. "DayOfWeek") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "DayOfWeek") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaAvailabilityPeriod) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaAvailabilityPeriod - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaCalendarBusy: The status indicating the user -// is temporarily busy and there is not a more specific status derived from -// calendar that applies (e.g., InMeeting or DoNotDisturb). -type GoogleInternalAppsWaldoV1alphaCalendarBusy struct { - // CommittedUntil: The time when the user will either stop being committed or - // change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice < - // Xh). Note that the goal of this field is to provide information to help - // users decide how to communicate with a user (see also - // http://shortn/_wXYXtZScgh). - CommittedUntil string `json:"committedUntil,omitempty"` - // EventSummary: The summary of the corresponding event in Calendar. - EventSummary string `json:"eventSummary,omitempty"` - // NextAvailable: The next time when the user will be available, i.e., when - // their status will be neither InMeeting, CalendarBusy, DoNotDisturb, - // OutsideWorkingHours, nor OutOfOffice. - NextAvailable string `json:"nextAvailable,omitempty"` - // OccupiedUntil: The time when the user will stop being occupied, i.e., when - // their status will be neither inMeeting, Busy nor DoNotDisturb. - OccupiedUntil string `json:"occupiedUntil,omitempty"` - // ForceSendFields is a list of field names (e.g. "CommittedUntil") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CommittedUntil") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaCalendarBusy) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaCalendarBusy - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaCustomLocation: Custom location specified by -// the user. -type GoogleInternalAppsWaldoV1alphaCustomLocation struct { - // GeoCoordinates: Geographic location as geo coordinates. - GeoCoordinates *GoogleTypeLatLng `json:"geoCoordinates,omitempty"` - // Label: The custom location label as a string entered manually by the user. - Label string `json:"label,omitempty"` - // Location: Geographic location as free-form text. - Location string `json:"location,omitempty"` - // ForceSendFields is a list of field names (e.g. "GeoCoordinates") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "GeoCoordinates") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaCustomLocation) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaCustomLocation - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaDoNotDisturb: The status indicating the user -// should not be disturbed. -type GoogleInternalAppsWaldoV1alphaDoNotDisturb struct { - // CommittedUntil: The time when the user will either stop being committed or - // change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice < - // Xh). Note that the goal of this field is to provide information to help - // users decide how to communicate with a user (see also - // http://shortn/_wXYXtZScgh). - CommittedUntil string `json:"committedUntil,omitempty"` - // NextAvailable: The next time when the user will be available, i.e., when - // their status will be neither InMeeting, CalendarBusy, DoNotDisturb, - // OutsideWorkingHours, nor OutOfOffice. - NextAvailable string `json:"nextAvailable,omitempty"` - // OccupiedUntil: The time when the user will stop being occupied, i.e., when - // their status will be neither inMeeting, Busy nor DoNotDisturb. - OccupiedUntil string `json:"occupiedUntil,omitempty"` - // ForceSendFields is a list of field names (e.g. "CommittedUntil") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CommittedUntil") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaDoNotDisturb) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaDoNotDisturb - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaHomeLocation: Home location. -type GoogleInternalAppsWaldoV1alphaHomeLocation struct { -} - -// GoogleInternalAppsWaldoV1alphaInMeeting: The status indicating the user is -// in a meeting. -type GoogleInternalAppsWaldoV1alphaInMeeting struct { - // CommittedUntil: The time when the user will either stop being committed or - // change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice < - // Xh). Note that the goal of this field is to provide information to help - // users decide how to communicate with a user (see also - // http://shortn/_wXYXtZScgh). - CommittedUntil string `json:"committedUntil,omitempty"` - // EventSummary: The summary of the corresponding event in Calendar. - EventSummary string `json:"eventSummary,omitempty"` - // InMeetingsUntil: The time when the user will stop being in a meeting. - InMeetingsUntil string `json:"inMeetingsUntil,omitempty"` - // NextAvailable: The next time when the user will be available, i.e., when - // their status will be neither InMeeting, CalendarBusy, DoNotDisturb, - // OutsideWorkingHours, nor OutOfOffice. - NextAvailable string `json:"nextAvailable,omitempty"` - // OccupiedUntil: The time when the user will stop being occupied, i.e., when - // their status will be neither InMeeting, Busy nor DoNotDisturb. - OccupiedUntil string `json:"occupiedUntil,omitempty"` - // ForceSendFields is a list of field names (e.g. "CommittedUntil") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CommittedUntil") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaInMeeting) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaInMeeting - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaInactive: The status indicating that no other -// status applies. -type GoogleInternalAppsWaldoV1alphaInactive struct { -} - -// GoogleInternalAppsWaldoV1alphaLocalTimeContext: Context which helps to -// determine the user's local time. -type GoogleInternalAppsWaldoV1alphaLocalTimeContext struct { - // TimeZone: The current time zone of the user. Represented as a valid time - // zone ID from Olson database, like "Europe/Zurich" (see - // http://google3/i18n/identifiers/data/timezones.txt). - TimeZone string `json:"timeZone,omitempty"` - // ForceSendFields is a list of field names (e.g. "TimeZone") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "TimeZone") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaLocalTimeContext) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaLocalTimeContext - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaOfficeLocation: Office location. -type GoogleInternalAppsWaldoV1alphaOfficeLocation struct { - // ExperimentalBuildingId: Experimental. Can change or disappear without - // warning or notice. References a building from - // http://google3/ccc/hosted/api/rosy/resources/calendar/building.proto For - // example "US-NYC-9TH". - ExperimentalBuildingId string `json:"experimentalBuildingId,omitempty"` - // ExperimentalDeskId: Experimental. Can change or disappear without warning or - // notice. The desk id. For example "11E358K". - ExperimentalDeskId string `json:"experimentalDeskId,omitempty"` - // ExperimentalFloorId: Experimental. Can change or disappear without warning - // or notice. The floor id. For example "11". - ExperimentalFloorId string `json:"experimentalFloorId,omitempty"` - // Label: The display label of this office location. For example a building - // name. - Label string `json:"label,omitempty"` - // ForceSendFields is a list of field names (e.g. "ExperimentalBuildingId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ExperimentalBuildingId") to - // include in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaOfficeLocation) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaOfficeLocation - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaOutOfOffice: The status indicating the user is -// out of office. -type GoogleInternalAppsWaldoV1alphaOutOfOffice struct { - // ComeBackTime: The closest time when the user will be available after this - // OOO block. This might be different from the end of the OOO block in - // Calendar, since the OOO block might end on Friday evening, and then the user - // is outside working hours. - ComeBackTime string `json:"comeBackTime,omitempty"` - // CommittedUntil: The time when the user will either stop being committed or - // change commitment type (i.e. InMeeting, DoNotDisturb, Busy or OutOfOffice < - // Xh). Note that the goal of this field is to provide information to help - // users decide how to communicate with a user (see also - // http://shortn/_wXYXtZScgh). Note that if this OOO block is large (>=Xh), - // committed_until is not set. - CommittedUntil string `json:"committedUntil,omitempty"` - // EventSummary: The summary of the corresponding OOO block in Calendar. This - // is entered by the user, so we return it "as is" - no i18n. - EventSummary string `json:"eventSummary,omitempty"` - // ForceSendFields is a list of field names (e.g. "ComeBackTime") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ComeBackTime") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaOutOfOffice) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaOutOfOffice - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaOutsideWorkingHours: The status indicating the -// user doesn't work at this time. -type GoogleInternalAppsWaldoV1alphaOutsideWorkingHours struct { - // ComeBackTime: The closest time when the user will be available after this - // block. This might be different from the start of the working hours in - // Calendar, because the given OutsideWorkingHours interval might be followed - // by OOO. - ComeBackTime string `json:"comeBackTime,omitempty"` - // ForceSendFields is a list of field names (e.g. "ComeBackTime") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ComeBackTime") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaOutsideWorkingHours) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaOutsideWorkingHours - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaTimeRange: A time range, which includes the -// start and excludes the end. -type GoogleInternalAppsWaldoV1alphaTimeRange struct { - // EndTime: End point of the range, exclusive. - EndTime string `json:"endTime,omitempty"` - // StartTime: Starting point of the range, inclusive. - StartTime string `json:"startTime,omitempty"` - // ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EndTime") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaTimeRange) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaTimeRange - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContext struct { - // NextCommitmentStatus: The status of the commitment above. - NextCommitmentStatus *GoogleInternalAppsWaldoV1alphaUserStatus `json:"nextCommitmentStatus,omitempty"` - // NextCommitmentTime: The most relevant upcoming commitment (InMeeting, - // DoNotDisturb, CalendarBusy or OutOfOffice). This context is set only if - // there is an upcoming commitment to show, and only on non commitments. - // Priority is given to the next closest commitment if its start is close - // enough to this event, otherwise the next large OOO if there is one. - NextCommitmentTime string `json:"nextCommitmentTime,omitempty"` - // ForceSendFields is a list of field names (e.g. "NextCommitmentStatus") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "NextCommitmentStatus") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContext) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContext - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaUpcomingOooContext: The context indicating the -// user's upcoming Out of Office event. -type GoogleInternalAppsWaldoV1alphaUpcomingOooContext struct { - // TimeRange: The future period of absence. The start of this timerange is the - // start of the future Out of Office event. The end of this timerange - // represents the come back time of the user from that future OOO event. Note - // that the come back time might be different (greater) than the end of the - // corresponding future OOO event due to other non-working user status - // intervals that it may be followed by. - TimeRange *GoogleInternalAppsWaldoV1alphaTimeRange `json:"timeRange,omitempty"` - // ForceSendFields is a list of field names (e.g. "TimeRange") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "TimeRange") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaUpcomingOooContext) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaUpcomingOooContext - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaUserAvailabilities: The current and future -// availabilities of a user. The response contains a timeline, which starts -// before or at the request time, and the timeline is split into a set of -// disjoint intervals (without gaps), where the first range always contains the -// request time. Each range represents what should be displayed in the UI -// during this time range. The time range might be different from the actual -// time range of the underlying status. For example, if the user is OOO from -// 09:00 to 10:00, and a request is made at 8:00, the response might contain -// two intervals: [08:00, 09:00) - "User is INACTIVE, but leaving the office -// soon" [09:00, 10:00) - "User is OOO till 10:00" For intervals that don't -// have a clear availability signal coming from Calendar (e.g. OOO), we return -// INACTIVE. For more details, please see -// https://docs.google.com/presentation/d/1ADCTxGawjF9UqMnfuVrVNxGvdyjeiV8h4D7p0a9zYgw/edit#slide=id.g3e2824ac6c_12_94 -// The service returns availabilities for some short period of time - likely -// one day, but the client should stick to the "next_poll_time" to decide when -// to query the server again at the latest. Below there is an example response -// from the server. Let's assume the client calls the service at 17:59:45. The -// client receives the message and, assuming its current time is between -// [17:59:45, 18:00:00), it displays "inactive". When the current time becomes -// 18:00:00 it displays "outside working hours". At 18:00:40 the client issues -// another rpc which will return the availabilities for the next minute. The -// original response looks like availabilities { time_range { start_time: -// 17:59:45 end_time: 18:00:00 } status { inactive {} } } availabilities { -// time_range { start_time: 18:00:00 end_time: 18:00:45 } status { -// outside_working_hours { } } } next_poll_time: 18:00:40 -type GoogleInternalAppsWaldoV1alphaUserAvailabilities struct { - // Availabilities: A list of user availabilities having contiguous time ranges - // which are ordered chronologically. The first one starts at the time of the - // request or before, and is guaranteed to contain the request time. That means - // the first element always indicates the current status of a user. A client - // that wants to display a user's availability in real time should display the - // availability whose time range contains the current time. - Availabilities []*GoogleInternalAppsWaldoV1alphaUserAvailability `json:"availabilities,omitempty"` - // NextPollTime: The time at which the client should issue the next - // availability query for this user. This field should only be used to control - // the polling frequency. This time is always before the end of the time range - // of the last availability so that the client always knows the current - // availability. - NextPollTime string `json:"nextPollTime,omitempty"` - // WorkingHours: Information about the user's working hours. This will only be - // set in case working hours are enabled in their calendar settings. - WorkingHours *GoogleInternalAppsWaldoV1alphaWorkingHours `json:"workingHours,omitempty"` - // ForceSendFields is a list of field names (e.g. "Availabilities") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Availabilities") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaUserAvailabilities) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaUserAvailabilities - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaUserAvailability: A single availability range. -// The displayed status should be the same during the entire time range. -type GoogleInternalAppsWaldoV1alphaUserAvailability struct { - // Contexts: The contexts contain additional information about the current - // user's availability or its upcoming changes. The client doesn't need to - // extract certain bits to visualize the status or apply custom logic based on - // the content of this field: the status field should contain everything needed - // for the correct visualization. - Contexts *GoogleInternalAppsWaldoV1alphaUserContext `json:"contexts,omitempty"` - // Status: The user status during the time range. - Status *GoogleInternalAppsWaldoV1alphaUserStatus `json:"status,omitempty"` - // TimeRange: The time range when this availability should be displayed. - TimeRange *GoogleInternalAppsWaldoV1alphaTimeRange `json:"timeRange,omitempty"` - // ForceSendFields is a list of field names (e.g. "Contexts") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Contexts") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaUserAvailability) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaUserAvailability - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaUserContext: Additional context about the -// user's current and/or future availability to give a better understanding of -// the status ("Working from Zurich"). -type GoogleInternalAppsWaldoV1alphaUserContext struct { - // LocalTime: Helps to determine the user's local time by providing their - // current time zone. - LocalTime *GoogleInternalAppsWaldoV1alphaLocalTimeContext `json:"localTime,omitempty"` - // UpcomingCommitmentContext: Information about upcoming events. - UpcomingCommitmentContext *GoogleInternalAppsWaldoV1alphaUpcomingCommitmentContext `json:"upcomingCommitmentContext,omitempty"` - // UpcomingOoo: Set if user has upcoming OOO. - UpcomingOoo *GoogleInternalAppsWaldoV1alphaUpcomingOooContext `json:"upcomingOoo,omitempty"` - // WorkingElsewhere: Set if the user has a working location. Not just elsewhere - // (legacy name). - WorkingElsewhere *GoogleInternalAppsWaldoV1alphaWorkingElsewhereContext `json:"workingElsewhere,omitempty"` - // ForceSendFields is a list of field names (e.g. "LocalTime") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LocalTime") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaUserContext) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaUserContext - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaUserLocation: Location of the user, which -// might be "home", for example, or an office building, as well as a custom -// location specified by the user. -type GoogleInternalAppsWaldoV1alphaUserLocation struct { - // CustomLocation: Indicates the user is working from some other location. - CustomLocation *GoogleInternalAppsWaldoV1alphaCustomLocation `json:"customLocation,omitempty"` - // HomeLocation: Indicates the user is working from home. - HomeLocation *GoogleInternalAppsWaldoV1alphaHomeLocation `json:"homeLocation,omitempty"` - // OfficeLocation: Indicates the user is working from the office. - OfficeLocation *GoogleInternalAppsWaldoV1alphaOfficeLocation `json:"officeLocation,omitempty"` - // ForceSendFields is a list of field names (e.g. "CustomLocation") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CustomLocation") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaUserLocation) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaUserLocation - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaUserStatus: The actual status of the user. The -// message contains everything needed for visualisation of this status. -type GoogleInternalAppsWaldoV1alphaUserStatus struct { - // CalendarBusy: Set if the user is temporarily busy and there is not a more - // specific status derived from calendar that applies (e.g., InMeeting or - // DoNotDisturb). - CalendarBusy *GoogleInternalAppsWaldoV1alphaCalendarBusy `json:"calendarBusy,omitempty"` - // DoNotDisturb: Set if the user is in a Focus Time block. Note that this is - // different than Chat's Do not disturb status, but they may coincide, see: - // go/focus-time-dnd. - DoNotDisturb *GoogleInternalAppsWaldoV1alphaDoNotDisturb `json:"doNotDisturb,omitempty"` - // InMeeting: Set if the user is in a meeting. - InMeeting *GoogleInternalAppsWaldoV1alphaInMeeting `json:"inMeeting,omitempty"` - // Inactive: Set if no other statuses apply. - Inactive *GoogleInternalAppsWaldoV1alphaInactive `json:"inactive,omitempty"` - // OutOfOffice: Set if the user is out of office. - OutOfOffice *GoogleInternalAppsWaldoV1alphaOutOfOffice `json:"outOfOffice,omitempty"` - // OutsideWorkingHours: Set if the user doesn't work at this time. - OutsideWorkingHours *GoogleInternalAppsWaldoV1alphaOutsideWorkingHours `json:"outsideWorkingHours,omitempty"` - // ForceSendFields is a list of field names (e.g. "CalendarBusy") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CalendarBusy") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaUserStatus) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaUserStatus - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaWorkingElsewhereContext: The context providing -// the User Location (not just Elsewhere). This is a legacy name from when it -// was only set for users working remotely, now it is also set when the user is -// working from the office. -type GoogleInternalAppsWaldoV1alphaWorkingElsewhereContext struct { - // Location: The new location of the user. Might represent home, office, or a - // custom address on the map. - Location *GoogleInternalAppsWaldoV1alphaUserLocation `json:"location,omitempty"` - // ForceSendFields is a list of field names (e.g. "Location") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Location") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaWorkingElsewhereContext) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaWorkingElsewhereContext - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalAppsWaldoV1alphaWorkingHours: Information about the user's -// working hours. -type GoogleInternalAppsWaldoV1alphaWorkingHours struct { - // AvailableTime: A list of availability periods representing the user's - // working hours as configured in calendar. - AvailableTime []*GoogleInternalAppsWaldoV1alphaAvailabilityPeriod `json:"availableTime,omitempty"` - // ForceSendFields is a list of field names (e.g. "AvailableTime") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AvailableTime") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalAppsWaldoV1alphaWorkingHours) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalAppsWaldoV1alphaWorkingHours - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalCommunicationsInstantmessagingV1Id: Id for message recipients, -// e.g. users, groups etc. -type GoogleInternalCommunicationsInstantmessagingV1Id struct { - // App: app is the tachyon client application that generated or is to receive a - // message. - App string `json:"app,omitempty"` - // CountryCode: country_code is the E164_COUNTRY_CODE format country code for - // this id, used as a hint for its region. E.g, "+1" will be used for North - // America, "+86" will be used for China, etc. Should be filled only for RCS - // group id. - CountryCode string `json:"countryCode,omitempty"` - // Id: id is a unique (for this type and app) identifier of a message source or - // recipient. - Id string `json:"id,omitempty"` - // LocationHint: location_hint is used as a hint for the user's region. - LocationHint *GoogleInternalCommunicationsInstantmessagingV1LocationHint `json:"locationHint,omitempty"` - // RoutingInfoToken: Raw byte array containing encoded routing information. - // Clients of Tachyon are expected to include the most recent - // routing_info_cookie that they have received from the server in the requests - // that they make. Its format is purposely opaque so that clients do not need - // to concern themselves with the content of this field. This field is expected - // to be used primarily by Tachygram clients for go/tachygram-groups to - // simplify the API contract for group operations while reducing the need for - // unnecessary lookups. - RoutingInfoToken string `json:"routingInfoToken,omitempty"` - // Type: type defines what the id field contains, e.g. phone number, Fi-number, - // Gaia ID etc. - // - // Possible values: - // "UNSET" - // "PHONE_NUMBER" - E.164 format. - // "GROUP_ID" - // "FIREBALL_BOT" - Handled by Extractor - // "CALL_CONTROLLER" - Handled by Call Controller Message Receiver. - // "SUGGESTER" - // "FI_ID" - IDs of this type will be verified using a Fi service. - // "SYSTEM" - Used for any system-generated, internal and external - // "DUO_BOT" - messages. ex: Duo's invite reward. Bots for Duo - // "MATCHBOX_ID" - Used by Matchbox for 1P/3P App Preview Messaging. - // "RCS_BOT" - RCS BOT for sending message to Platinum - // "WIREBALL" - Web Client for Fireball - // "SERVICE_ACCOUNT" - Service account, currently only used for Duo API. - // "DEVICE_ID" - Device ID used by Matchstick anonymous registrations. - // "FOREIGN_RCS_GROUP" - Rcs group hosted by another RCS cloud. - // "DITTO" - Android messages desktop: go/android-messages-desktop. - // "EMAIL" - Email address. - // "GAIA_ID" - Only used by servers. - // "LIGHTER_ID" - Used by Lighter platform: go/lighter-backend-api. - // "OPAQUE_ID" - Used when client want's to obfuscate the id of the - // "SERVER" - entity. Not usable by server for routing. Used for server - // delivery. go/tachyon_server_delivery - // "SHORT_CODE" - Phone short code. - // "CLOUDCAST_PLAYER_ID" - Used by cloudcast (yeti). 64 bit integer. - // "CHROMOTING_ID" - go/yeti-player-ids Chrome Remote Desktop - // (go/chromoting). - // "UNNORMALIZABLE_PHONE_NUMBER" - Unnormalizable phone number - // "NOT_KNOWN" - client does not know the id type. - // "ANDROID_ID" - android id - // "NEARBY_ID" - Used by Nearby devices. go/tachyon-express-nearby. - // "WAZE_ID" - Used by Waze. go/waze-tachyon. - // "GUEST" - Used by Duo currently. - // "MESSAGES_DATA_DONATION" - Used by Android Messages for data donation. - // "DUO_CLIP_ID" - Used as the Id Type of Clips From Duo clips. See - // http://go/clips-from-duo - // "ACCOUNT_ID" - used by Takeout/LIS: see go/tachyon-legal-takeout. - // "CARRIER_ID" - used by RCS NNI Notification - // "EXTERNAL_PARTNER_ID" - used by RCS NNI Notification - // "UNAUTHENTICATED_USER_ID" - used by GMM for anonymous registration - // "SUPPORT_CASES_ID" - used by Support Cases for Realtime Media WebRtc - // "FITBIT_P11_ID" - signaling. go/cases-media-channel-dd. used by Fitbit - // Project 11 for messaging. - // "SHORT_PHONE_NUMBER" - Short phone number: go/shortnumbers - // "USER_HANDLE" - Used to reference internal and users in other domains, - // "PENPAL_CONVERSATION_ID" - including for DMA interop Used for 1:1 - // conversations in Gemini Mode - Type string `json:"type,omitempty"` - // ForceSendFields is a list of field names (e.g. "App") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "App") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalCommunicationsInstantmessagingV1Id) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalCommunicationsInstantmessagingV1Id - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleInternalCommunicationsInstantmessagingV1LocationHint: LocationHint is -// used to specify a location as well as format. -type GoogleInternalCommunicationsInstantmessagingV1LocationHint struct { - // Format: the format of location. - // - // Possible values: - // "UNKNOWN" - // "E164_CALLING" - E164 country codes: - // https://en.wikipedia.org/wiki/List_of_country_calling_codes e.g. +1 for USA - // "ISO_3166_1_ALPHA_2" - ISO 3166-1 alpha-2 country codes: - // https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 - Format string `json:"format,omitempty"` - // Location: Location is the location, provided in the format specified by - // format. - Location string `json:"location,omitempty"` - // ForceSendFields is a list of field names (e.g. "Format") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Format") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleInternalCommunicationsInstantmessagingV1LocationHint) MarshalJSON() ([]byte, error) { - type NoMethod GoogleInternalCommunicationsInstantmessagingV1LocationHint - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleLongrunningOperation: This resource represents a long-running -// operation that is the result of a network API call. -type GoogleLongrunningOperation struct { - // Done: If the value is `false`, it means the operation is still in progress. - // If `true`, the operation is completed, and either `error` or `response` is - // available. - Done bool `json:"done,omitempty"` - // Error: The error result of the operation in case of failure or cancellation. - Error *GoogleRpcStatus `json:"error,omitempty"` - // Metadata: Service-specific metadata associated with the operation. It - // typically contains progress information and common metadata such as create - // time. Some services might not provide such metadata. Any method that returns - // a long-running operation should document the metadata type, if any. - Metadata googleapi.RawMessage `json:"metadata,omitempty"` - // Name: The server-assigned name, which is only unique within the same service - // that originally returns it. If you use the default HTTP mapping, the `name` - // should be a resource name ending with `operations/{unique_id}`. - Name string `json:"name,omitempty"` - // Response: The normal, successful response of the operation. If the original - // method returns no data on success, such as `Delete`, the response is - // `google.protobuf.Empty`. If the original method is standard - // `Get`/`Create`/`Update`, the response should be the resource. For other - // methods, the response should have the type `XxxResponse`, where `Xxx` is the - // original method name. For example, if the original method name is - // `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. - Response googleapi.RawMessage `json:"response,omitempty"` - - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` - // ForceSendFields is a list of field names (e.g. "Done") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Done") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) { - type NoMethod GoogleLongrunningOperation - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleProtobufEmpty: A generic empty message that you can re-use to avoid -// defining duplicated empty messages in your APIs. A typical example is to use -// it as the request or the response type of an API method. For instance: -// service Foo { rpc Bar(google.protobuf.Empty) returns -// (google.protobuf.Empty); } -type GoogleProtobufEmpty struct { - // ServerResponse contains the HTTP response code and headers from the server. - googleapi.ServerResponse `json:"-"` -} - -// GoogleRpcStatus: The `Status` type defines a logical error model that is -// suitable for different programming environments, including REST APIs and RPC -// APIs. It is used by gRPC (https://github.com/grpc). Each `Status` message -// contains three pieces of data: error code, error message, and error details. -// You can find out more about this error model and how to work with it in the -// API Design Guide (https://cloud.google.com/apis/design/errors). -type GoogleRpcStatus struct { - // Code: The status code, which should be an enum value of google.rpc.Code. - Code int64 `json:"code,omitempty"` - // Details: A list of messages that carry the error details. There is a common - // set of message types for APIs to use. - Details []googleapi.RawMessage `json:"details,omitempty"` - // Message: A developer-facing error message, which should be in English. Any - // user-facing error message should be localized and sent in the - // google.rpc.Status.details field, or localized by the client. - Message string `json:"message,omitempty"` - // ForceSendFields is a list of field names (e.g. "Code") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Code") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleRpcStatus) MarshalJSON() ([]byte, error) { - type NoMethod GoogleRpcStatus - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleTypeColor: Represents a color in the RGBA color space. This -// representation is designed for simplicity of conversion to and from color -// representations in various languages over compactness. For example, the -// fields of this representation can be trivially provided to the constructor -// of `java.awt.Color` in Java; it can also be trivially provided to UIColor's -// `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little -// work, it can be easily formatted into a CSS `rgba()` string in JavaScript. -// This reference page doesn't have information about the absolute color space -// that should be used to interpret the RGB value—for example, sRGB, Adobe -// RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB -// color space. When color equality needs to be decided, implementations, -// unless documented otherwise, treat two colors as equal if all their red, -// green, blue, and alpha values each differ by at most `1e-5`. Example (Java): -// import com.google.type.Color; // ... public static java.awt.Color -// fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? -// protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( -// protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } -// public static Color toProto(java.awt.Color color) { float red = (float) -// color.getRed(); float green = (float) color.getGreen(); float blue = (float) -// color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = -// Color .newBuilder() .setRed(red / denominator) .setGreen(green / -// denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if -// (alpha != 255) { result.setAlpha( FloatValue .newBuilder() -// .setValue(((float) alpha) / denominator) .build()); } return -// resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static -// UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float -// green = [protocolor green]; float blue = [protocolor blue]; FloatValue* -// alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != -// nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red -// green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) -// { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green -// blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] -// init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; -// if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } -// [result autorelease]; return result; } // ... Example (JavaScript): // ... -// var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || -// 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue -// || 0.0; var red = Math.floor(redFrac * 255); var green = -// Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if -// (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var -// alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, -// blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(”); -// }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new -// Number((red << 16) | (green << 8) | blue); var hexString = -// rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var -// resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { -// resultBuilder.push('0'); } resultBuilder.push(hexString); return -// resultBuilder.join(”); }; // ... -type GoogleTypeColor struct { - // Alpha: The fraction of this color that should be applied to the pixel. That - // is, the final pixel color is defined by the equation: `pixel color = alpha * - // (this color) + (1.0 - alpha) * (background color)` This means that a value - // of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a - // completely transparent color. This uses a wrapper message rather than a - // simple float scalar so that it is possible to distinguish between a default - // value and the value being unset. If omitted, this color object is rendered - // as a solid color (as if the alpha value had been explicitly given a value of - // 1.0). - Alpha float64 `json:"alpha,omitempty"` - // Blue: The amount of blue in the color as a value in the interval [0, 1]. - Blue float64 `json:"blue,omitempty"` - // Green: The amount of green in the color as a value in the interval [0, 1]. - Green float64 `json:"green,omitempty"` - // Red: The amount of red in the color as a value in the interval [0, 1]. - Red float64 `json:"red,omitempty"` - // ForceSendFields is a list of field names (e.g. "Alpha") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Alpha") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleTypeColor) MarshalJSON() ([]byte, error) { - type NoMethod GoogleTypeColor - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleTypeColor) UnmarshalJSON(data []byte) error { - type NoMethod GoogleTypeColor - var s1 struct { - Alpha gensupport.JSONFloat64 `json:"alpha"` - Blue gensupport.JSONFloat64 `json:"blue"` - Green gensupport.JSONFloat64 `json:"green"` - Red gensupport.JSONFloat64 `json:"red"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Alpha = float64(s1.Alpha) - s.Blue = float64(s1.Blue) - s.Green = float64(s1.Green) - s.Red = float64(s1.Red) - return nil -} - -// GoogleTypeDate: Represents a whole or partial calendar date, such as a -// birthday. The time of day and time zone are either specified elsewhere or -// are insignificant. The date is relative to the Gregorian Calendar. This can -// represent one of the following: * A full date, with non-zero year, month, -// and day values. * A month and day, with a zero year (for example, an -// anniversary). * A year on its own, with a zero month and a zero day. * A -// year and month, with a zero day (for example, a credit card expiration -// date). Related types: * google.type.TimeOfDay * google.type.DateTime * -// google.protobuf.Timestamp -type GoogleTypeDate struct { - // Day: Day of a month. Must be from 1 to 31 and valid for the year and month, - // or 0 to specify a year by itself or a year and month where the day isn't - // significant. - Day int64 `json:"day,omitempty"` - // Month: Month of a year. Must be from 1 to 12, or 0 to specify a year without - // a month and day. - Month int64 `json:"month,omitempty"` - // Year: Year of the date. Must be from 1 to 9999, or 0 to specify a date - // without a year. - Year int64 `json:"year,omitempty"` - // ForceSendFields is a list of field names (e.g. "Day") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Day") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleTypeDate) MarshalJSON() ([]byte, error) { - type NoMethod GoogleTypeDate - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleTypeDateTime: Represents civil time (or occasionally physical time). -// This type can represent a civil time in one of a few possible ways: * When -// utc_offset is set and time_zone is unset: a civil time on a calendar day -// with a particular offset from UTC. * When time_zone is set and utc_offset is -// unset: a civil time on a calendar day in a particular time zone. * When -// neither time_zone nor utc_offset is set: a civil time on a calendar day in -// local time. The date is relative to the Proleptic Gregorian Calendar. If -// year, month, or day are 0, the DateTime is considered not to have a specific -// year, month, or day respectively. This type may also be used to represent a -// physical time if all the date and time fields are set and either case of the -// `time_offset` oneof is set. Consider using `Timestamp` message for physical -// time instead. If your use case also would like to store the user's timezone, -// that can be done in another field. This type is more flexible than some -// applications may want. Make sure to document and validate your application's -// limitations. -type GoogleTypeDateTime struct { - // Day: Optional. Day of month. Must be from 1 to 31 and valid for the year and - // month, or 0 if specifying a datetime without a day. - Day int64 `json:"day,omitempty"` - // Hours: Optional. Hours of day in 24 hour format. Should be from 0 to 23, - // defaults to 0 (midnight). An API may choose to allow the value "24:00:00" - // for scenarios like business closing time. - Hours int64 `json:"hours,omitempty"` - // Minutes: Optional. Minutes of hour of day. Must be from 0 to 59, defaults to - // 0. - Minutes int64 `json:"minutes,omitempty"` - // Month: Optional. Month of year. Must be from 1 to 12, or 0 if specifying a - // datetime without a month. - Month int64 `json:"month,omitempty"` - // Nanos: Optional. Fractions of seconds in nanoseconds. Must be from 0 to - // 999,999,999, defaults to 0. - Nanos int64 `json:"nanos,omitempty"` - // Seconds: Optional. Seconds of minutes of the time. Must normally be from 0 - // to 59, defaults to 0. An API may allow the value 60 if it allows - // leap-seconds. - Seconds int64 `json:"seconds,omitempty"` - // TimeZone: Time zone. - TimeZone *GoogleTypeTimeZone `json:"timeZone,omitempty"` - // UtcOffset: UTC offset. Must be whole seconds, between -18 hours and +18 - // hours. For example, a UTC offset of -4:00 would be represented as { seconds: - // -14400 }. - UtcOffset string `json:"utcOffset,omitempty"` - // Year: Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a - // datetime without a year. - Year int64 `json:"year,omitempty"` - // ForceSendFields is a list of field names (e.g. "Day") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Day") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleTypeDateTime) MarshalJSON() ([]byte, error) { - type NoMethod GoogleTypeDateTime - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleTypeExpr: Represents a textual expression in the Common Expression -// Language (CEL) syntax. CEL is a C-like expression language. The syntax and -// semantics of CEL are documented at https://github.com/google/cel-spec. -// Example (Comparison): title: "Summary size limit" description: "Determines -// if a summary is less than 100 chars" expression: "document.summary.size() < -// 100" Example (Equality): title: "Requestor is owner" description: -// "Determines if requestor is the document owner" expression: "document.owner -// == request.auth.claims.email" Example (Logic): title: "Public documents" -// description: "Determine whether the document should be publicly visible" -// expression: "document.type != 'private' && document.type != 'internal'" -// Example (Data Manipulation): title: "Notification string" description: -// "Create a notification string with a timestamp." expression: "'New message -// received at ' + string(document.create_time)" The exact variables and -// functions that may be referenced within an expression are determined by the -// service that evaluates it. See the service documentation for additional -// information. -type GoogleTypeExpr struct { - // Description: Optional. Description of the expression. This is a longer text - // which describes the expression, e.g. when hovered over it in a UI. - Description string `json:"description,omitempty"` - // Expression: Textual representation of an expression in Common Expression - // Language syntax. - Expression string `json:"expression,omitempty"` - // Location: Optional. String indicating the location of the expression for - // error reporting, e.g. a file name and a position in the file. - Location string `json:"location,omitempty"` - // Title: Optional. Title for the expression, i.e. a short string describing - // its purpose. This can be used e.g. in UIs which allow to enter the - // expression. - Title string `json:"title,omitempty"` - // ForceSendFields is a list of field names (e.g. "Description") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Description") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleTypeExpr) MarshalJSON() ([]byte, error) { - type NoMethod GoogleTypeExpr - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleTypeInterval: Represents a time interval, encoded as a Timestamp start -// (inclusive) and a Timestamp end (exclusive). The start must be less than or -// equal to the end. When the start equals the end, the interval is empty -// (matches no time). When both start and end are unspecified, the interval -// matches any time. -type GoogleTypeInterval struct { - // EndTime: Optional. Exclusive end of the interval. If specified, a Timestamp - // matching this interval will have to be before the end. - EndTime string `json:"endTime,omitempty"` - // StartTime: Optional. Inclusive start of the interval. If specified, a - // Timestamp matching this interval will have to be the same or after the - // start. - StartTime string `json:"startTime,omitempty"` - // ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "EndTime") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleTypeInterval) MarshalJSON() ([]byte, error) { - type NoMethod GoogleTypeInterval - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleTypeLatLng: An object that represents a latitude/longitude pair. This -// is expressed as a pair of doubles to represent degrees latitude and degrees -// longitude. Unless specified otherwise, this object must conform to the WGS84 -// standard. Values must be within normalized ranges. -type GoogleTypeLatLng struct { - // Latitude: The latitude in degrees. It must be in the range [-90.0, +90.0]. - Latitude float64 `json:"latitude,omitempty"` - // Longitude: The longitude in degrees. It must be in the range [-180.0, - // +180.0]. - Longitude float64 `json:"longitude,omitempty"` - // ForceSendFields is a list of field names (e.g. "Latitude") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Latitude") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleTypeLatLng) MarshalJSON() ([]byte, error) { - type NoMethod GoogleTypeLatLng - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *GoogleTypeLatLng) UnmarshalJSON(data []byte) error { - type NoMethod GoogleTypeLatLng - var s1 struct { - Latitude gensupport.JSONFloat64 `json:"latitude"` - Longitude gensupport.JSONFloat64 `json:"longitude"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Latitude = float64(s1.Latitude) - s.Longitude = float64(s1.Longitude) - return nil -} - -// GoogleTypeMoney: Represents an amount of money with its currency type. -type GoogleTypeMoney struct { - // CurrencyCode: The three-letter currency code defined in ISO 4217. - CurrencyCode string `json:"currencyCode,omitempty"` - // Nanos: Number of nano (10^-9) units of the amount. The value must be between - // -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` - // must be positive or zero. If `units` is zero, `nanos` can be positive, zero, - // or negative. If `units` is negative, `nanos` must be negative or zero. For - // example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000. - Nanos int64 `json:"nanos,omitempty"` - // Units: The whole units of the amount. For example if `currencyCode` is - // "USD", then 1 unit is one US dollar. - Units int64 `json:"units,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "CurrencyCode") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CurrencyCode") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleTypeMoney) MarshalJSON() ([]byte, error) { - type NoMethod GoogleTypeMoney - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleTypePostalAddress: Represents a postal address, e.g. for postal -// delivery or payments addresses. Given a postal address, a postal service can -// deliver items to a premise, P.O. Box or similar. It is not intended to model -// geographical locations (roads, towns, mountains). In typical usage an -// address would be created via user input or from importing existing data, -// depending on the type of process. Advice on address input / editing: - Use -// an internationalization-ready address widget such as -// https://github.com/google/libaddressinput) - Users should not be presented -// with UI elements for input or editing of fields outside countries where that -// field is used. For more guidance on how to use this schema, please see: -// https://support.google.com/business/answer/6397478 -type GoogleTypePostalAddress struct { - // AddressLines: Unstructured address lines describing the lower levels of an - // address. Because values in address_lines do not have type information and - // may sometimes contain multiple values in a single field (e.g. "Austin, TX"), - // it is important that the line order is clear. The order of address lines - // should be "envelope order" for the country/region of the address. In places - // where this can vary (e.g. Japan), address_language is used to make it - // explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for - // small-to-large). This way, the most specific line of an address can be - // selected based on the language. The minimum permitted structural - // representation of an address consists of a region_code with all remaining - // information placed in the address_lines. It would be possible to format such - // an address very approximately without geocoding, but no semantic reasoning - // could be made about any of the address components until it was at least - // partially resolved. Creating an address only containing a region_code and - // address_lines, and then geocoding is the recommended way to handle - // completely unstructured addresses (as opposed to guessing which parts of the - // address should be localities or administrative areas). - AddressLines []string `json:"addressLines,omitempty"` - // AdministrativeArea: Optional. Highest administrative subdivision which is - // used for postal addresses of a country or region. For example, this can be a - // state, a province, an oblast, or a prefecture. Specifically, for Spain this - // is the province and not the autonomous community (e.g. "Barcelona" and not - // "Catalonia"). Many countries don't use an administrative area in postal - // addresses. E.g. in Switzerland this should be left unpopulated. - AdministrativeArea string `json:"administrativeArea,omitempty"` - // LanguageCode: Optional. BCP-47 language code of the contents of this address - // (if known). This is often the UI language of the input form or is expected - // to match one of the languages used in the address' country/region, or their - // transliterated equivalents. This can affect formatting in certain countries, - // but is not critical to the correctness of the data and will never affect any - // validation or other non-formatting related operations. If this value is not - // known, it should be omitted (rather than specifying a possibly incorrect - // default). Examples: "zh-Hant", "ja", "ja-Latn", "en". - LanguageCode string `json:"languageCode,omitempty"` - // Locality: Optional. Generally refers to the city/town portion of the - // address. Examples: US city, IT comune, UK post town. In regions of the world - // where localities are not well defined or do not fit into this structure - // well, leave locality empty and use address_lines. - Locality string `json:"locality,omitempty"` - // Organization: Optional. The name of the organization at the address. - Organization string `json:"organization,omitempty"` - // PostalCode: Optional. Postal code of the address. Not all countries use or - // require postal codes to be present, but where they are used, they may - // trigger additional validation with other parts of the address (e.g. - // state/zip validation in the U.S.A.). - PostalCode string `json:"postalCode,omitempty"` - // Recipients: Optional. The recipient at the address. This field may, under - // certain circumstances, contain multiline information. For example, it might - // contain "care of" information. - Recipients []string `json:"recipients,omitempty"` - // RegionCode: Required. CLDR region code of the country/region of the address. - // This is never inferred and it is up to the user to ensure the value is - // correct. See https://cldr.unicode.org/ and - // https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html - // for details. Example: "CH" for Switzerland. - RegionCode string `json:"regionCode,omitempty"` - // Revision: The schema revision of the `PostalAddress`. This must be set to 0, - // which is the latest revision. All new revisions **must** be backward - // compatible with old revisions. - Revision int64 `json:"revision,omitempty"` - // SortingCode: Optional. Additional, country-specific, sorting code. This is - // not used in most regions. Where it is used, the value is either a string - // like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a - // number alone, representing the "sector code" (Jamaica), "delivery area - // indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). - SortingCode string `json:"sortingCode,omitempty"` - // Sublocality: Optional. Sublocality of the address. For example, this can be - // neighborhoods, boroughs, districts. - Sublocality string `json:"sublocality,omitempty"` - // ForceSendFields is a list of field names (e.g. "AddressLines") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AddressLines") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleTypePostalAddress) MarshalJSON() ([]byte, error) { - type NoMethod GoogleTypePostalAddress - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleTypeTimeOfDay: Represents a time of day. The date and time zone are -// either not significant or are specified elsewhere. An API may choose to -// allow leap seconds. Related types are google.type.Date and -// `google.protobuf.Timestamp`. -type GoogleTypeTimeOfDay struct { - // Hours: Hours of day in 24 hour format. Should be from 0 to 23. An API may - // choose to allow the value "24:00:00" for scenarios like business closing - // time. - Hours int64 `json:"hours,omitempty"` - // Minutes: Minutes of hour of day. Must be from 0 to 59. - Minutes int64 `json:"minutes,omitempty"` - // Nanos: Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. - Nanos int64 `json:"nanos,omitempty"` - // Seconds: Seconds of minutes of the time. Must normally be from 0 to 59. An - // API may allow the value 60 if it allows leap-seconds. - Seconds int64 `json:"seconds,omitempty"` - // ForceSendFields is a list of field names (e.g. "Hours") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Hours") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleTypeTimeOfDay) MarshalJSON() ([]byte, error) { - type NoMethod GoogleTypeTimeOfDay - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// GoogleTypeTimeZone: Represents a time zone from the IANA Time Zone Database -// (https://www.iana.org/time-zones). -type GoogleTypeTimeZone struct { - // Id: IANA Time Zone Database time zone, e.g. "America/New_York". - Id string `json:"id,omitempty"` - // Version: Optional. IANA Time Zone Database version number, e.g. "2019a". - Version string `json:"version,omitempty"` - // ForceSendFields is a list of field names (e.g. "Id") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Id") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GoogleTypeTimeZone) MarshalJSON() ([]byte, error) { - type NoMethod GoogleTypeTimeZone - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type GroupsPerDocData struct { - AuthorId uint64 `json:"AuthorId,omitempty,string"` - GroupGaiaId uint64 `json:"GroupGaiaId,omitempty,string"` - // GroupId: Legacy group mysql id. - GroupId uint64 `json:"GroupId,omitempty,string"` - ThreadId uint64 `json:"ThreadId,omitempty,string"` - // ForceSendFields is a list of field names (e.g. "AuthorId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AuthorId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *GroupsPerDocData) MarshalJSON() ([]byte, error) { - type NoMethod GroupsPerDocData - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -type HomeGraphCommonRoute struct { - // AgentDeviceId: The device ID defined by the agent. - AgentDeviceId string `json:"agentDeviceId,omitempty"` - // AgentId: The agent's ID. Generally it is the agent's Google cloud project - // id. - AgentId string `json:"agentId,omitempty"` - // ChipEndpoint: chip endpoint index (if the target is CHIP). Set packed = true - // to handle error caused by b/32953375 when exporting this data. Note that we - // should never change this to non-repeated: a packed field will not work - // properly if you change the field to non-repeated later. - ChipEndpoint []int64 `json:"chipEndpoint,omitempty"` - // TargetType: Execution routing target. - // - // Possible values: - // "UNSPECIFIED" - // "PARTNER_CLOUD" - // "LOCAL" - // "CHIP" - TargetType string `json:"targetType,omitempty"` - // ForceSendFields is a list of field names (e.g. "AgentDeviceId") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "AgentDeviceId") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *HomeGraphCommonRoute) MarshalJSON() ([]byte, error) { - type NoMethod HomeGraphCommonRoute - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// HomeGraphCommonRoutingTable: Defines execution routing information for -// Traits, which will be used to be mapped for each Trait as following: map -// traits_to_routing_table_map = X; We'll use this for CHIP first. And expect -// to migrate the existing routing logic to this gradually. -type HomeGraphCommonRoutingTable struct { - // SupportedRoutes: List of supported execution route. - SupportedRoutes []*HomeGraphCommonRoute `json:"supportedRoutes,omitempty"` - // ForceSendFields is a list of field names (e.g. "SupportedRoutes") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "SupportedRoutes") to include in - // API requests with the JSON null value. By default, fields with empty values - // are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *HomeGraphCommonRoutingTable) MarshalJSON() ([]byte, error) { - type NoMethod HomeGraphCommonRoutingTable - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// HomeGraphCommonTraitRoutingHints: LINT.IfChange go/shed-per-trait-routing. -// Making it object to allow for extendible design, where we can add attributes -// in future. -type HomeGraphCommonTraitRoutingHints struct { - // CloudFulfillmentOnly: Set to true for a non-local trait. - CloudFulfillmentOnly bool `json:"cloudFulfillmentOnly,omitempty"` - // Trait: Trait name, e.g., "action.devices.traits.MediaInitiation". See device - // traits (https://developers.home.google.com/cloud-to-cloud/traits). See - // java/com/google/home/graph/common/devices/config/protoconf.pi for the - // exhaustive list of trait-strings. - Trait string `json:"trait,omitempty"` - // ForceSendFields is a list of field names (e.g. "CloudFulfillmentOnly") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "CloudFulfillmentOnly") to include - // in API requests with the JSON null value. By default, fields with empty - // values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *HomeGraphCommonTraitRoutingHints) MarshalJSON() ([]byte, error) { - type NoMethod HomeGraphCommonTraitRoutingHints - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// HtmlrenderWebkitHeadlessProtoAnonTimingStatPair: TimingStatPair message -// stores a timing period name and a time value. This is intentionally vague -// for doing fine level timing of rendering as what we measure is likely to -// change as we iterate. The intention is also that these values will just be -// dumped to varzs for evaluation purposed and not used programmatically. -type HtmlrenderWebkitHeadlessProtoAnonTimingStatPair struct { - Name string `json:"name,omitempty"` - TimeS float64 `json:"timeS,omitempty"` - // ForceSendFields is a list of field names (e.g. "Name") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Name") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *HtmlrenderWebkitHeadlessProtoAnonTimingStatPair) MarshalJSON() ([]byte, error) { - type NoMethod HtmlrenderWebkitHeadlessProtoAnonTimingStatPair - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *HtmlrenderWebkitHeadlessProtoAnonTimingStatPair) UnmarshalJSON(data []byte) error { - type NoMethod HtmlrenderWebkitHeadlessProtoAnonTimingStatPair - var s1 struct { - TimeS gensupport.JSONFloat64 `json:"timeS"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.TimeS = float64(s1.TimeS) - return nil -} - -// HtmlrenderWebkitHeadlessProtoBox: A simple 2D box represented by an (x, y) -// coordinate, a width, and a height. Coordinates are in pixels. -type HtmlrenderWebkitHeadlessProtoBox struct { - Height int64 `json:"height,omitempty"` - Width int64 `json:"width,omitempty"` - // X: on horizontal axis - X int64 `json:"x,omitempty"` - // Y: on vertical axis - Y int64 `json:"y,omitempty"` - // ForceSendFields is a list of field names (e.g. "Height") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Height") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *HtmlrenderWebkitHeadlessProtoBox) MarshalJSON() ([]byte, error) { - type NoMethod HtmlrenderWebkitHeadlessProtoBox - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// HtmlrenderWebkitHeadlessProtoChromiumTrace: A message to describe the trace -// events returned by Chromium. -type HtmlrenderWebkitHeadlessProtoChromiumTrace struct { - // ChromiumTrace: Populated if Chromium traces are requested in JSON format. - ChromiumTrace string `json:"chromiumTrace,omitempty"` - // ChromiumTraceProto: Populated if Chromium traces are requested in PROTO - // format. - ChromiumTraceProto string `json:"chromiumTraceProto,omitempty"` - // ForceSendFields is a list of field names (e.g. "ChromiumTrace") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "ChromiumTrace") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *HtmlrenderWebkitHeadlessProtoChromiumTrace) MarshalJSON() ([]byte, error) { - type NoMethod HtmlrenderWebkitHeadlessProtoChromiumTrace - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// HtmlrenderWebkitHeadlessProtoConsoleLogEntry: ConsoleLogEntry message stores -// messages logged by the renderer to the console. Typically error messages -// related to JS execution, parsing, any CSS errors, etc are logged by the -// renderer to the console. Next id: 7. -type HtmlrenderWebkitHeadlessProtoConsoleLogEntry struct { - // LineNumber: Line number of the document which caused an error. - LineNumber int64 `json:"lineNumber,omitempty"` - // Message: Message which indicates the nature of the error. e.g. parse error, - // reference error (happens when javascript functions or variables are not - // resolvable) etc. - Message string `json:"message,omitempty"` - // MessageLevel: message level - // - // Possible values: - // "TIP_MESSAGE_LEVEL" - // "DEBUG_MESSAGE_LEVEL" - // "LOG_MESSAGE_LEVEL" - // "INFO_MESSAGE_LEVEL" - // "WARNING_MESSAGE_LEVEL" - // "ERROR_MESSAGE_LEVEL" - MessageLevel string `json:"messageLevel,omitempty"` - // SourceUrl: The url of the document which has the error. - SourceUrl string `json:"sourceUrl,omitempty"` - // StackTrace: Stack trace which functions were called when generating the - // console log. The first frame is the innermost one. - StackTrace []*HtmlrenderWebkitHeadlessProtoScriptStackFrame `json:"stackTrace,omitempty"` - // Timestamp: Wall time (s) when the log entry was recorded - Timestamp float64 `json:"timestamp,omitempty"` - // ForceSendFields is a list of field names (e.g. "LineNumber") to - // unconditionally include in API requests. By default, fields with empty or - // default values are omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "LineNumber") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *HtmlrenderWebkitHeadlessProtoConsoleLogEntry) MarshalJSON() ([]byte, error) { - type NoMethod HtmlrenderWebkitHeadlessProtoConsoleLogEntry - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *HtmlrenderWebkitHeadlessProtoConsoleLogEntry) UnmarshalJSON(data []byte) error { - type NoMethod HtmlrenderWebkitHeadlessProtoConsoleLogEntry - var s1 struct { - Timestamp gensupport.JSONFloat64 `json:"timestamp"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Timestamp = float64(s1.Timestamp) - return nil -} - -type HtmlrenderWebkitHeadlessProtoCookie struct { - Domain string `json:"domain,omitempty"` - Expiration float64 `json:"expiration,omitempty"` - HttpOnly bool `json:"httpOnly,omitempty"` - Name string `json:"name,omitempty"` - Path string `json:"path,omitempty"` - // Possible values: - // "SAME_SITE_UNSPECIFIED" - // "SAME_SITE_LAX" - // "SAME_SITE_STRICT" - // "SAME_SITE_NONE" - SameSite string `json:"sameSite,omitempty"` - Secure bool `json:"secure,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Domain") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Domain") to include in API - // requests with the JSON null value. By default, fields with empty values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *HtmlrenderWebkitHeadlessProtoCookie) MarshalJSON() ([]byte, error) { - type NoMethod HtmlrenderWebkitHeadlessProtoCookie - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -func (s *HtmlrenderWebkitHeadlessProtoCookie) UnmarshalJSON(data []byte) error { - type NoMethod HtmlrenderWebkitHeadlessProtoCookie - var s1 struct { - Expiration gensupport.JSONFloat64 `json:"expiration"` - *NoMethod - } - s1.NoMethod = (*NoMethod)(s) - if err := json.Unmarshal(data, &s1); err != nil { - return err - } - s.Expiration = float64(s1.Expiration) - return nil -} - -type HtmlrenderWebkitHeadlessProtoDOMStorageItem struct { - Key string `json:"key,omitempty"` - SecurityOrigin string `json:"securityOrigin,omitempty"` - Value string `json:"value,omitempty"` - // ForceSendFields is a list of field names (e.g. "Key") to unconditionally - // include in API requests. By default, fields with empty or default values are - // omitted from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more - // details. - ForceSendFields []string `json:"-"` - // NullFields is a list of field names (e.g. "Key") to include in API requests - // with the JSON null value. By default, fields with empty values are omitted - // from API requests. See - // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. - NullFields []string `json:"-"` -} - -func (s *HtmlrenderWebkitHeadlessProtoDOMStorageItem) MarshalJSON() ([]byte, error) { - type NoMethod HtmlrenderWebkitHeadlessProtoDOMStorageItem - return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) -} - -// HtmlrenderWebkitHeadlessProtoDOMTreeNode: DOMTreeNode Defines a DOM Node. An -// instance can contain references to one or more children (of type -// DOMTreeNode) and one or more attributes. The DOMTreeNode also encapsulates -// rendering information (if applicable) in the form of references to one or -// more RenderTreeNodes. Next tag available: 16 -type HtmlrenderWebkitHeadlessProtoDOMTreeNode struct { - Attribute []*HtmlrenderWebkitHeadlessProtoDOMTreeNodeAttribute `json:"attribute,omitempty"` - // ChildDomTreeNodeIndex: An index per child. Indexes can be used to fetch the - // DOMTreeNodes from the list maintained by the Document. - ChildDomTreeNodeIndex []int64 `json:"childDomTreeNodeIndex,omitempty"` - // CurrentSourceUrl: For elements, the actual url that was used to fetch the - // image. Note that this field is set only if it is different from the 'src' - // attribute value. - CurrentSourceUrl string `json:"currentSourceUrl,omitempty"` - // Document: If the node represents an iframe or a frame then document will be - // set. - Document *HtmlrenderWebkitHeadlessProtoDocument `json:"document,omitempty"` - // HtmlTagType: Identifies the HTML tag type (IMG, P, DIV, etc). Applicable - // only for DOM nodes that are representative of html elements. For a list of - // possible types refer HtmlTagEnum defined in webutil/html/htmltagenum.h. - HtmlTagType int64 `json:"htmlTagType,omitempty"` - // IsClickable: Whether this DOM node responds to mouse clicks. This includes - // e.g. nodes that have had click event listeners attached via JavaScript as - // well as e.g. anchor tags that naturally navigate when clicked. - IsClickable bool `json:"isClickable,omitempty"` - // Name: Name of the node (document, text, comment, div, etc). - Name string `json:"name,omitempty"` - // OriginUrl: URL of the script, if any, which created or populated this node. - OriginUrl string `json:"originUrl,omitempty"` - // ReferencedResourceIndex: List of referenced resource indexes for any - // resources that this DOM tree node references. - ReferencedResourceIndex []int64 `json:"referencedResourceIndex,omitempty"` - // RenderTreeNodeIndex: RenderTreeNode can be looked up from the list of - // RenderTreeNodes stored in the Document using render_tree_node_index. - // RenderTreeNode gives rendering information (bounding box, style that was - // applied, etc). Note: 1. If a DOMTreeNode does not have a RenderTreeNode then - // it is safe to assume that the DOMTreeNode has no effect on the rendering. - // DOMTreeNodes for a , - RenderTreeNodeIndex []int64 `json:"renderTreeNodeIndex,omitempty"` - // Possible values: - // "ELEMENT_NODE" - // "ATTRIBUTE_NODE" - // "TEXT_NODE" - // "CDATA_SECTION_NODE" - // "ENTITY_REFERENCE_NODE" - // "ENTITY_NODE" - // "PROCESSING_INSTRUCTION_NODE" - // "COMMENT_NODE" - // "DOCUMENT_NODE" - // "DOCUMENT_TYPE_NODE" - // "DOCUMENT_FRAGMENT_NODE" - // "NOTATION_NODE" - // "XPATH_NAMESPACE_NODE" - // "SHADOW_ROOT_NODE" - Type string `json:"type,omitempty"` - // Value: The node value is applicable for TEXT_NODEs, DOCUMENT_TYPE_NODEs, - // COMMENT_NODEs, and user input elements such as , and