Socket
Socket
Sign inDemoInstall

@google-cloud/firestore

Package Overview
Dependencies
Maintainers
1
Versions
145
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@google-cloud/firestore - npm Package Compare versions

Comparing version 7.6.0 to 7.7.0

2

build/protos/admin_v1.json

@@ -1,1 +0,1 @@

{"nested":{"google":{"nested":{"firestore":{"nested":{"admin":{"nested":{"v1":{"options":{"csharp_namespace":"Google.Cloud.Firestore.Admin.V1","go_package":"cloud.google.com/go/firestore/apiv1/admin/adminpb;adminpb","java_multiple_files":true,"java_outer_classname":"LocationProto","java_package":"com.google.firestore.admin.v1","objc_class_prefix":"GCFS","php_namespace":"Google\\Cloud\\Firestore\\Admin\\V1","ruby_package":"Google::Cloud::Firestore::Admin::V1","(google.api.resource_definition).type":"firestore.googleapis.com/CollectionGroup","(google.api.resource_definition).pattern":"projects/{project}/databases/{database}/collectionGroups/{collection}"},"nested":{"Backup":{"options":{"(google.api.resource).type":"firestore.googleapis.com/Backup","(google.api.resource).pattern":"projects/{project}/locations/{location}/backups/{backup}"},"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"database":{"type":"string","id":2,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}},"databaseUid":{"type":"string","id":7,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"snapshotTime":{"type":"google.protobuf.Timestamp","id":3,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"expireTime":{"type":"google.protobuf.Timestamp","id":4,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"stats":{"type":"Stats","id":6,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"state":{"type":"State","id":8,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}}},"nested":{"Stats":{"fields":{"sizeBytes":{"type":"int64","id":1,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"documentCount":{"type":"int64","id":2,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"indexCount":{"type":"int64","id":3,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}}}},"State":{"values":{"STATE_UNSPECIFIED":0,"CREATING":1,"READY":2,"NOT_AVAILABLE":3}}}},"Database":{"options":{"(google.api.resource).type":"firestore.googleapis.com/Database","(google.api.resource).pattern":"projects/{project}/databases/{database}","(google.api.resource).style":"DECLARATIVE_FRIENDLY"},"fields":{"name":{"type":"string","id":1},"uid":{"type":"string","id":3,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"createTime":{"type":"google.protobuf.Timestamp","id":5,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"updateTime":{"type":"google.protobuf.Timestamp","id":6,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"locationId":{"type":"string","id":9},"type":{"type":"DatabaseType","id":10},"concurrencyMode":{"type":"ConcurrencyMode","id":15},"versionRetentionPeriod":{"type":"google.protobuf.Duration","id":17,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"earliestVersionTime":{"type":"google.protobuf.Timestamp","id":18,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"pointInTimeRecoveryEnablement":{"type":"PointInTimeRecoveryEnablement","id":21},"appEngineIntegrationMode":{"type":"AppEngineIntegrationMode","id":19},"keyPrefix":{"type":"string","id":20,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"deleteProtectionState":{"type":"DeleteProtectionState","id":22},"etag":{"type":"string","id":99}},"nested":{"DatabaseType":{"values":{"DATABASE_TYPE_UNSPECIFIED":0,"FIRESTORE_NATIVE":1,"DATASTORE_MODE":2}},"ConcurrencyMode":{"values":{"CONCURRENCY_MODE_UNSPECIFIED":0,"OPTIMISTIC":1,"PESSIMISTIC":2,"OPTIMISTIC_WITH_ENTITY_GROUPS":3}},"PointInTimeRecoveryEnablement":{"values":{"POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED":0,"POINT_IN_TIME_RECOVERY_ENABLED":1,"POINT_IN_TIME_RECOVERY_DISABLED":2}},"AppEngineIntegrationMode":{"values":{"APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED":0,"ENABLED":1,"DISABLED":2}},"DeleteProtectionState":{"values":{"DELETE_PROTECTION_STATE_UNSPECIFIED":0,"DELETE_PROTECTION_DISABLED":1,"DELETE_PROTECTION_ENABLED":2}}}},"Field":{"options":{"(google.api.resource).type":"firestore.googleapis.com/Field","(google.api.resource).pattern":"projects/{project}/databases/{database}/collectionGroups/{collection}/fields/{field}"},"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"indexConfig":{"type":"IndexConfig","id":2},"ttlConfig":{"type":"TtlConfig","id":3}},"nested":{"IndexConfig":{"fields":{"indexes":{"rule":"repeated","type":"Index","id":1},"usesAncestorConfig":{"type":"bool","id":2},"ancestorField":{"type":"string","id":3},"reverting":{"type":"bool","id":4}}},"TtlConfig":{"fields":{"state":{"type":"State","id":1,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}}},"nested":{"State":{"values":{"STATE_UNSPECIFIED":0,"CREATING":1,"ACTIVE":2,"NEEDS_REPAIR":3}}}}}},"Index":{"options":{"(google.api.resource).type":"firestore.googleapis.com/Index","(google.api.resource).pattern":"projects/{project}/databases/{database}/collectionGroups/{collection}/indexes/{index}"},"fields":{"name":{"type":"string","id":1},"queryScope":{"type":"QueryScope","id":2},"apiScope":{"type":"ApiScope","id":5},"fields":{"rule":"repeated","type":"IndexField","id":3},"state":{"type":"State","id":4}},"nested":{"QueryScope":{"values":{"QUERY_SCOPE_UNSPECIFIED":0,"COLLECTION":1,"COLLECTION_GROUP":2,"COLLECTION_RECURSIVE":3}},"ApiScope":{"values":{"ANY_API":0,"DATASTORE_MODE_API":1}},"IndexField":{"oneofs":{"valueMode":{"oneof":["order","arrayConfig","vectorConfig"]}},"fields":{"fieldPath":{"type":"string","id":1},"order":{"type":"Order","id":2},"arrayConfig":{"type":"ArrayConfig","id":3},"vectorConfig":{"type":"VectorConfig","id":4}},"nested":{"Order":{"values":{"ORDER_UNSPECIFIED":0,"ASCENDING":1,"DESCENDING":2}},"ArrayConfig":{"values":{"ARRAY_CONFIG_UNSPECIFIED":0,"CONTAINS":1}},"VectorConfig":{"oneofs":{"type":{"oneof":["flat"]}},"fields":{"dimension":{"type":"int32","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"flat":{"type":"FlatIndex","id":2}},"nested":{"FlatIndex":{"fields":{}}}}}},"State":{"values":{"STATE_UNSPECIFIED":0,"CREATING":1,"READY":2,"NEEDS_REPAIR":3}}}},"FirestoreAdmin":{"options":{"(google.api.default_host)":"firestore.googleapis.com","(google.api.oauth_scopes)":"https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/datastore"},"methods":{"CreateIndex":{"requestType":"CreateIndexRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*/collectionGroups/*}/indexes","(google.api.http).body":"index","(google.api.method_signature)":"parent,index","(google.longrunning.operation_info).response_type":"Index","(google.longrunning.operation_info).metadata_type":"IndexOperationMetadata"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*/collectionGroups/*}/indexes","body":"index"}},{"(google.api.method_signature)":"parent,index"},{"(google.longrunning.operation_info)":{"response_type":"Index","metadata_type":"IndexOperationMetadata"}}]},"ListIndexes":{"requestType":"ListIndexesRequest","responseType":"ListIndexesResponse","options":{"(google.api.http).get":"/v1/{parent=projects/*/databases/*/collectionGroups/*}/indexes","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{parent=projects/*/databases/*/collectionGroups/*}/indexes"}},{"(google.api.method_signature)":"parent"}]},"GetIndex":{"requestType":"GetIndexRequest","responseType":"Index","options":{"(google.api.http).get":"/v1/{name=projects/*/databases/*/collectionGroups/*/indexes/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=projects/*/databases/*/collectionGroups/*/indexes/*}"}},{"(google.api.method_signature)":"name"}]},"DeleteIndex":{"requestType":"DeleteIndexRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).delete":"/v1/{name=projects/*/databases/*/collectionGroups/*/indexes/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1/{name=projects/*/databases/*/collectionGroups/*/indexes/*}"}},{"(google.api.method_signature)":"name"}]},"GetField":{"requestType":"GetFieldRequest","responseType":"Field","options":{"(google.api.http).get":"/v1/{name=projects/*/databases/*/collectionGroups/*/fields/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=projects/*/databases/*/collectionGroups/*/fields/*}"}},{"(google.api.method_signature)":"name"}]},"UpdateField":{"requestType":"UpdateFieldRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).patch":"/v1/{field.name=projects/*/databases/*/collectionGroups/*/fields/*}","(google.api.http).body":"field","(google.api.method_signature)":"field","(google.longrunning.operation_info).response_type":"Field","(google.longrunning.operation_info).metadata_type":"FieldOperationMetadata"},"parsedOptions":[{"(google.api.http)":{"patch":"/v1/{field.name=projects/*/databases/*/collectionGroups/*/fields/*}","body":"field"}},{"(google.api.method_signature)":"field"},{"(google.longrunning.operation_info)":{"response_type":"Field","metadata_type":"FieldOperationMetadata"}}]},"ListFields":{"requestType":"ListFieldsRequest","responseType":"ListFieldsResponse","options":{"(google.api.http).get":"/v1/{parent=projects/*/databases/*/collectionGroups/*}/fields","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{parent=projects/*/databases/*/collectionGroups/*}/fields"}},{"(google.api.method_signature)":"parent"}]},"ExportDocuments":{"requestType":"ExportDocumentsRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).post":"/v1/{name=projects/*/databases/*}:exportDocuments","(google.api.http).body":"*","(google.api.method_signature)":"name","(google.longrunning.operation_info).response_type":"ExportDocumentsResponse","(google.longrunning.operation_info).metadata_type":"ExportDocumentsMetadata"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{name=projects/*/databases/*}:exportDocuments","body":"*"}},{"(google.api.method_signature)":"name"},{"(google.longrunning.operation_info)":{"response_type":"ExportDocumentsResponse","metadata_type":"ExportDocumentsMetadata"}}]},"ImportDocuments":{"requestType":"ImportDocumentsRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).post":"/v1/{name=projects/*/databases/*}:importDocuments","(google.api.http).body":"*","(google.api.method_signature)":"name","(google.longrunning.operation_info).response_type":"google.protobuf.Empty","(google.longrunning.operation_info).metadata_type":"ImportDocumentsMetadata"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{name=projects/*/databases/*}:importDocuments","body":"*"}},{"(google.api.method_signature)":"name"},{"(google.longrunning.operation_info)":{"response_type":"google.protobuf.Empty","metadata_type":"ImportDocumentsMetadata"}}]},"CreateDatabase":{"requestType":"CreateDatabaseRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).post":"/v1/{parent=projects/*}/databases","(google.api.http).body":"database","(google.api.method_signature)":"parent,database,database_id","(google.longrunning.operation_info).response_type":"Database","(google.longrunning.operation_info).metadata_type":"CreateDatabaseMetadata"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*}/databases","body":"database"}},{"(google.api.method_signature)":"parent,database,database_id"},{"(google.longrunning.operation_info)":{"response_type":"Database","metadata_type":"CreateDatabaseMetadata"}}]},"GetDatabase":{"requestType":"GetDatabaseRequest","responseType":"Database","options":{"(google.api.http).get":"/v1/{name=projects/*/databases/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=projects/*/databases/*}"}},{"(google.api.method_signature)":"name"}]},"ListDatabases":{"requestType":"ListDatabasesRequest","responseType":"ListDatabasesResponse","options":{"(google.api.http).get":"/v1/{parent=projects/*}/databases","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{parent=projects/*}/databases"}},{"(google.api.method_signature)":"parent"}]},"UpdateDatabase":{"requestType":"UpdateDatabaseRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).patch":"/v1/{database.name=projects/*/databases/*}","(google.api.http).body":"database","(google.api.method_signature)":"database,update_mask","(google.longrunning.operation_info).response_type":"Database","(google.longrunning.operation_info).metadata_type":"UpdateDatabaseMetadata"},"parsedOptions":[{"(google.api.http)":{"patch":"/v1/{database.name=projects/*/databases/*}","body":"database"}},{"(google.api.method_signature)":"database,update_mask"},{"(google.longrunning.operation_info)":{"response_type":"Database","metadata_type":"UpdateDatabaseMetadata"}}]},"DeleteDatabase":{"requestType":"DeleteDatabaseRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).delete":"/v1/{name=projects/*/databases/*}","(google.api.method_signature)":"name","(google.longrunning.operation_info).response_type":"Database","(google.longrunning.operation_info).metadata_type":"DeleteDatabaseMetadata"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1/{name=projects/*/databases/*}"}},{"(google.api.method_signature)":"name"},{"(google.longrunning.operation_info)":{"response_type":"Database","metadata_type":"DeleteDatabaseMetadata"}}]},"GetBackup":{"requestType":"GetBackupRequest","responseType":"Backup","options":{"(google.api.http).get":"/v1/{name=projects/*/locations/*/backups/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=projects/*/locations/*/backups/*}"}},{"(google.api.method_signature)":"name"}]},"ListBackups":{"requestType":"ListBackupsRequest","responseType":"ListBackupsResponse","options":{"(google.api.http).get":"/v1/{parent=projects/*/locations/*}/backups","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{parent=projects/*/locations/*}/backups"}},{"(google.api.method_signature)":"parent"}]},"DeleteBackup":{"requestType":"DeleteBackupRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).delete":"/v1/{name=projects/*/locations/*/backups/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1/{name=projects/*/locations/*/backups/*}"}},{"(google.api.method_signature)":"name"}]},"RestoreDatabase":{"requestType":"RestoreDatabaseRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).post":"/v1/{parent=projects/*}/databases:restore","(google.api.http).body":"*","(google.longrunning.operation_info).response_type":"Database","(google.longrunning.operation_info).metadata_type":"RestoreDatabaseMetadata"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*}/databases:restore","body":"*"}},{"(google.longrunning.operation_info)":{"response_type":"Database","metadata_type":"RestoreDatabaseMetadata"}}]},"CreateBackupSchedule":{"requestType":"CreateBackupScheduleRequest","responseType":"BackupSchedule","options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*}/backupSchedules","(google.api.http).body":"backup_schedule","(google.api.method_signature)":"parent,backup_schedule"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*}/backupSchedules","body":"backup_schedule"}},{"(google.api.method_signature)":"parent,backup_schedule"}]},"GetBackupSchedule":{"requestType":"GetBackupScheduleRequest","responseType":"BackupSchedule","options":{"(google.api.http).get":"/v1/{name=projects/*/databases/*/backupSchedules/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=projects/*/databases/*/backupSchedules/*}"}},{"(google.api.method_signature)":"name"}]},"ListBackupSchedules":{"requestType":"ListBackupSchedulesRequest","responseType":"ListBackupSchedulesResponse","options":{"(google.api.http).get":"/v1/{parent=projects/*/databases/*}/backupSchedules","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{parent=projects/*/databases/*}/backupSchedules"}},{"(google.api.method_signature)":"parent"}]},"UpdateBackupSchedule":{"requestType":"UpdateBackupScheduleRequest","responseType":"BackupSchedule","options":{"(google.api.http).patch":"/v1/{backup_schedule.name=projects/*/databases/*/backupSchedules/*}","(google.api.http).body":"backup_schedule","(google.api.method_signature)":"backup_schedule,update_mask"},"parsedOptions":[{"(google.api.http)":{"patch":"/v1/{backup_schedule.name=projects/*/databases/*/backupSchedules/*}","body":"backup_schedule"}},{"(google.api.method_signature)":"backup_schedule,update_mask"}]},"DeleteBackupSchedule":{"requestType":"DeleteBackupScheduleRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).delete":"/v1/{name=projects/*/databases/*/backupSchedules/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1/{name=projects/*/databases/*/backupSchedules/*}"}},{"(google.api.method_signature)":"name"}]}}},"ListDatabasesRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).child_type":"firestore.googleapis.com/Database"}}}},"CreateDatabaseRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).child_type":"firestore.googleapis.com/Database"}},"database":{"type":"Database","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}},"databaseId":{"type":"string","id":3,"options":{"(google.api.field_behavior)":"REQUIRED"}}}},"CreateDatabaseMetadata":{"fields":{}},"ListDatabasesResponse":{"fields":{"databases":{"rule":"repeated","type":"Database","id":1},"unreachable":{"rule":"repeated","type":"string","id":3}}},"GetDatabaseRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}}}},"UpdateDatabaseRequest":{"fields":{"database":{"type":"Database","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"updateMask":{"type":"google.protobuf.FieldMask","id":2}}},"UpdateDatabaseMetadata":{"fields":{}},"DeleteDatabaseRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}},"etag":{"type":"string","id":3}}},"DeleteDatabaseMetadata":{"fields":{}},"CreateBackupScheduleRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}},"backupSchedule":{"type":"BackupSchedule","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}}}},"GetBackupScheduleRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/BackupSchedule"}}}},"UpdateBackupScheduleRequest":{"fields":{"backupSchedule":{"type":"BackupSchedule","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"updateMask":{"type":"google.protobuf.FieldMask","id":2}}},"ListBackupSchedulesRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}}}},"ListBackupSchedulesResponse":{"fields":{"backupSchedules":{"rule":"repeated","type":"BackupSchedule","id":1}}},"DeleteBackupScheduleRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/BackupSchedule"}}}},"CreateIndexRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/CollectionGroup"}},"index":{"type":"Index","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}}}},"ListIndexesRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/CollectionGroup"}},"filter":{"type":"string","id":2},"pageSize":{"type":"int32","id":3},"pageToken":{"type":"string","id":4}}},"ListIndexesResponse":{"fields":{"indexes":{"rule":"repeated","type":"Index","id":1},"nextPageToken":{"type":"string","id":2}}},"GetIndexRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Index"}}}},"DeleteIndexRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Index"}}}},"UpdateFieldRequest":{"fields":{"field":{"type":"Field","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"updateMask":{"type":"google.protobuf.FieldMask","id":2}}},"GetFieldRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Field"}}}},"ListFieldsRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/CollectionGroup"}},"filter":{"type":"string","id":2},"pageSize":{"type":"int32","id":3},"pageToken":{"type":"string","id":4}}},"ListFieldsResponse":{"fields":{"fields":{"rule":"repeated","type":"Field","id":1},"nextPageToken":{"type":"string","id":2}}},"ExportDocumentsRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}},"collectionIds":{"rule":"repeated","type":"string","id":2},"outputUriPrefix":{"type":"string","id":3},"namespaceIds":{"rule":"repeated","type":"string","id":4},"snapshotTime":{"type":"google.protobuf.Timestamp","id":5}}},"ImportDocumentsRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}},"collectionIds":{"rule":"repeated","type":"string","id":2},"inputUriPrefix":{"type":"string","id":3},"namespaceIds":{"rule":"repeated","type":"string","id":4}}},"GetBackupRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Backup"}}}},"ListBackupsRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Location"}}}},"ListBackupsResponse":{"fields":{"backups":{"rule":"repeated","type":"Backup","id":1},"unreachable":{"rule":"repeated","type":"string","id":3}}},"DeleteBackupRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Backup"}}}},"RestoreDatabaseRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).child_type":"firestore.googleapis.com/Database"}},"databaseId":{"type":"string","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}},"backup":{"type":"string","id":3,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Backup"}}}},"IndexOperationMetadata":{"fields":{"startTime":{"type":"google.protobuf.Timestamp","id":1},"endTime":{"type":"google.protobuf.Timestamp","id":2},"index":{"type":"string","id":3},"state":{"type":"OperationState","id":4},"progressDocuments":{"type":"Progress","id":5},"progressBytes":{"type":"Progress","id":6}}},"FieldOperationMetadata":{"fields":{"startTime":{"type":"google.protobuf.Timestamp","id":1},"endTime":{"type":"google.protobuf.Timestamp","id":2},"field":{"type":"string","id":3},"indexConfigDeltas":{"rule":"repeated","type":"IndexConfigDelta","id":4},"state":{"type":"OperationState","id":5},"progressDocuments":{"type":"Progress","id":6},"progressBytes":{"type":"Progress","id":7},"ttlConfigDelta":{"type":"TtlConfigDelta","id":8}},"nested":{"IndexConfigDelta":{"fields":{"changeType":{"type":"ChangeType","id":1},"index":{"type":"Index","id":2}},"nested":{"ChangeType":{"values":{"CHANGE_TYPE_UNSPECIFIED":0,"ADD":1,"REMOVE":2}}}},"TtlConfigDelta":{"fields":{"changeType":{"type":"ChangeType","id":1}},"nested":{"ChangeType":{"values":{"CHANGE_TYPE_UNSPECIFIED":0,"ADD":1,"REMOVE":2}}}}}},"ExportDocumentsMetadata":{"fields":{"startTime":{"type":"google.protobuf.Timestamp","id":1},"endTime":{"type":"google.protobuf.Timestamp","id":2},"operationState":{"type":"OperationState","id":3},"progressDocuments":{"type":"Progress","id":4},"progressBytes":{"type":"Progress","id":5},"collectionIds":{"rule":"repeated","type":"string","id":6},"outputUriPrefix":{"type":"string","id":7},"namespaceIds":{"rule":"repeated","type":"string","id":8},"snapshotTime":{"type":"google.protobuf.Timestamp","id":9}}},"ImportDocumentsMetadata":{"fields":{"startTime":{"type":"google.protobuf.Timestamp","id":1},"endTime":{"type":"google.protobuf.Timestamp","id":2},"operationState":{"type":"OperationState","id":3},"progressDocuments":{"type":"Progress","id":4},"progressBytes":{"type":"Progress","id":5},"collectionIds":{"rule":"repeated","type":"string","id":6},"inputUriPrefix":{"type":"string","id":7},"namespaceIds":{"rule":"repeated","type":"string","id":8}}},"ExportDocumentsResponse":{"fields":{"outputUriPrefix":{"type":"string","id":1}}},"RestoreDatabaseMetadata":{"fields":{"startTime":{"type":"google.protobuf.Timestamp","id":1},"endTime":{"type":"google.protobuf.Timestamp","id":2},"operationState":{"type":"OperationState","id":3},"database":{"type":"string","id":4,"options":{"(google.api.resource_reference).type":"firestore.googleapis.com/Database"}},"backup":{"type":"string","id":5,"options":{"(google.api.resource_reference).type":"firestore.googleapis.com/Backup"}},"progressPercentage":{"type":"Progress","id":8}}},"Progress":{"fields":{"estimatedWork":{"type":"int64","id":1},"completedWork":{"type":"int64","id":2}}},"OperationState":{"values":{"OPERATION_STATE_UNSPECIFIED":0,"INITIALIZING":1,"PROCESSING":2,"CANCELLING":3,"FINALIZING":4,"SUCCESSFUL":5,"FAILED":6,"CANCELLED":7}},"BackupSchedule":{"options":{"(google.api.resource).type":"firestore.googleapis.com/BackupSchedule","(google.api.resource).pattern":"projects/{project}/databases/{database}/backupSchedules/{backup_schedule}"},"oneofs":{"recurrence":{"oneof":["dailyRecurrence","weeklyRecurrence"]}},"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"createTime":{"type":"google.protobuf.Timestamp","id":3,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"updateTime":{"type":"google.protobuf.Timestamp","id":10,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"retention":{"type":"google.protobuf.Duration","id":6},"dailyRecurrence":{"type":"DailyRecurrence","id":7},"weeklyRecurrence":{"type":"WeeklyRecurrence","id":8}}},"DailyRecurrence":{"fields":{}},"WeeklyRecurrence":{"fields":{"day":{"type":"google.type.DayOfWeek","id":2}}},"LocationMetadata":{"fields":{}}}}}}}},"api":{"options":{"go_package":"google.golang.org/genproto/googleapis/api;api","java_multiple_files":true,"java_outer_classname":"LaunchStageProto","java_package":"com.google.api","objc_class_prefix":"GAPI","cc_enable_arenas":true},"nested":{"fieldBehavior":{"rule":"repeated","type":"google.api.FieldBehavior","id":1052,"extend":"google.protobuf.FieldOptions","options":{"packed":false}},"FieldBehavior":{"values":{"FIELD_BEHAVIOR_UNSPECIFIED":0,"OPTIONAL":1,"REQUIRED":2,"OUTPUT_ONLY":3,"INPUT_ONLY":4,"IMMUTABLE":5,"UNORDERED_LIST":6,"NON_EMPTY_DEFAULT":7,"IDENTIFIER":8}},"resourceReference":{"type":"google.api.ResourceReference","id":1055,"extend":"google.protobuf.FieldOptions"},"resourceDefinition":{"rule":"repeated","type":"google.api.ResourceDescriptor","id":1053,"extend":"google.protobuf.FileOptions"},"resource":{"type":"google.api.ResourceDescriptor","id":1053,"extend":"google.protobuf.MessageOptions"},"ResourceDescriptor":{"fields":{"type":{"type":"string","id":1},"pattern":{"rule":"repeated","type":"string","id":2},"nameField":{"type":"string","id":3},"history":{"type":"History","id":4},"plural":{"type":"string","id":5},"singular":{"type":"string","id":6},"style":{"rule":"repeated","type":"Style","id":10}},"nested":{"History":{"values":{"HISTORY_UNSPECIFIED":0,"ORIGINALLY_SINGLE_PATTERN":1,"FUTURE_MULTI_PATTERN":2}},"Style":{"values":{"STYLE_UNSPECIFIED":0,"DECLARATIVE_FRIENDLY":1}}}},"ResourceReference":{"fields":{"type":{"type":"string","id":1},"childType":{"type":"string","id":2}}},"http":{"type":"HttpRule","id":72295728,"extend":"google.protobuf.MethodOptions"},"Http":{"fields":{"rules":{"rule":"repeated","type":"HttpRule","id":1},"fullyDecodeReservedExpansion":{"type":"bool","id":2}}},"HttpRule":{"oneofs":{"pattern":{"oneof":["get","put","post","delete","patch","custom"]}},"fields":{"selector":{"type":"string","id":1},"get":{"type":"string","id":2},"put":{"type":"string","id":3},"post":{"type":"string","id":4},"delete":{"type":"string","id":5},"patch":{"type":"string","id":6},"custom":{"type":"CustomHttpPattern","id":8},"body":{"type":"string","id":7},"responseBody":{"type":"string","id":12},"additionalBindings":{"rule":"repeated","type":"HttpRule","id":11}}},"CustomHttpPattern":{"fields":{"kind":{"type":"string","id":1},"path":{"type":"string","id":2}}},"methodSignature":{"rule":"repeated","type":"string","id":1051,"extend":"google.protobuf.MethodOptions"},"defaultHost":{"type":"string","id":1049,"extend":"google.protobuf.ServiceOptions"},"oauthScopes":{"type":"string","id":1050,"extend":"google.protobuf.ServiceOptions"},"apiVersion":{"type":"string","id":525000001,"extend":"google.protobuf.ServiceOptions"},"CommonLanguageSettings":{"fields":{"referenceDocsUri":{"type":"string","id":1,"options":{"deprecated":true}},"destinations":{"rule":"repeated","type":"ClientLibraryDestination","id":2}}},"ClientLibrarySettings":{"fields":{"version":{"type":"string","id":1},"launchStage":{"type":"LaunchStage","id":2},"restNumericEnums":{"type":"bool","id":3},"javaSettings":{"type":"JavaSettings","id":21},"cppSettings":{"type":"CppSettings","id":22},"phpSettings":{"type":"PhpSettings","id":23},"pythonSettings":{"type":"PythonSettings","id":24},"nodeSettings":{"type":"NodeSettings","id":25},"dotnetSettings":{"type":"DotnetSettings","id":26},"rubySettings":{"type":"RubySettings","id":27},"goSettings":{"type":"GoSettings","id":28}}},"Publishing":{"fields":{"methodSettings":{"rule":"repeated","type":"MethodSettings","id":2},"newIssueUri":{"type":"string","id":101},"documentationUri":{"type":"string","id":102},"apiShortName":{"type":"string","id":103},"githubLabel":{"type":"string","id":104},"codeownerGithubTeams":{"rule":"repeated","type":"string","id":105},"docTagPrefix":{"type":"string","id":106},"organization":{"type":"ClientLibraryOrganization","id":107},"librarySettings":{"rule":"repeated","type":"ClientLibrarySettings","id":109},"protoReferenceDocumentationUri":{"type":"string","id":110},"restReferenceDocumentationUri":{"type":"string","id":111}}},"JavaSettings":{"fields":{"libraryPackage":{"type":"string","id":1},"serviceClassNames":{"keyType":"string","type":"string","id":2},"common":{"type":"CommonLanguageSettings","id":3}}},"CppSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"PhpSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"PythonSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"NodeSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"DotnetSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1},"renamedServices":{"keyType":"string","type":"string","id":2},"renamedResources":{"keyType":"string","type":"string","id":3},"ignoredResources":{"rule":"repeated","type":"string","id":4},"forcedNamespaceAliases":{"rule":"repeated","type":"string","id":5},"handwrittenSignatures":{"rule":"repeated","type":"string","id":6}}},"RubySettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"GoSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"MethodSettings":{"fields":{"selector":{"type":"string","id":1},"longRunning":{"type":"LongRunning","id":2},"autoPopulatedFields":{"rule":"repeated","type":"string","id":3}},"nested":{"LongRunning":{"fields":{"initialPollDelay":{"type":"google.protobuf.Duration","id":1},"pollDelayMultiplier":{"type":"float","id":2},"maxPollDelay":{"type":"google.protobuf.Duration","id":3},"totalPollTimeout":{"type":"google.protobuf.Duration","id":4}}}}},"ClientLibraryOrganization":{"values":{"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED":0,"CLOUD":1,"ADS":2,"PHOTOS":3,"STREET_VIEW":4,"SHOPPING":5,"GEO":6,"GENERATIVE_AI":7}},"ClientLibraryDestination":{"values":{"CLIENT_LIBRARY_DESTINATION_UNSPECIFIED":0,"GITHUB":10,"PACKAGE_MANAGER":20}},"LaunchStage":{"values":{"LAUNCH_STAGE_UNSPECIFIED":0,"UNIMPLEMENTED":6,"PRELAUNCH":7,"EARLY_ACCESS":1,"ALPHA":2,"BETA":3,"GA":4,"DEPRECATED":5}}}},"protobuf":{"options":{"go_package":"google.golang.org/protobuf/types/descriptorpb","java_package":"com.google.protobuf","java_outer_classname":"DescriptorProtos","csharp_namespace":"Google.Protobuf.Reflection","objc_class_prefix":"GPB","cc_enable_arenas":true,"optimize_for":"SPEED"},"nested":{"FileDescriptorSet":{"fields":{"file":{"rule":"repeated","type":"FileDescriptorProto","id":1}}},"Edition":{"values":{"EDITION_UNKNOWN":0,"EDITION_PROTO2":998,"EDITION_PROTO3":999,"EDITION_2023":1e3,"EDITION_2024":1001,"EDITION_1_TEST_ONLY":1,"EDITION_2_TEST_ONLY":2,"EDITION_99997_TEST_ONLY":99997,"EDITION_99998_TEST_ONLY":99998,"EDITION_99999_TEST_ONLY":99999,"EDITION_MAX":2147483647}},"FileDescriptorProto":{"fields":{"name":{"type":"string","id":1},"package":{"type":"string","id":2},"dependency":{"rule":"repeated","type":"string","id":3},"publicDependency":{"rule":"repeated","type":"int32","id":10,"options":{"packed":false}},"weakDependency":{"rule":"repeated","type":"int32","id":11,"options":{"packed":false}},"messageType":{"rule":"repeated","type":"DescriptorProto","id":4},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":5},"service":{"rule":"repeated","type":"ServiceDescriptorProto","id":6},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":7},"options":{"type":"FileOptions","id":8},"sourceCodeInfo":{"type":"SourceCodeInfo","id":9},"syntax":{"type":"string","id":12},"edition":{"type":"Edition","id":14}}},"DescriptorProto":{"fields":{"name":{"type":"string","id":1},"field":{"rule":"repeated","type":"FieldDescriptorProto","id":2},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":6},"nestedType":{"rule":"repeated","type":"DescriptorProto","id":3},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":4},"extensionRange":{"rule":"repeated","type":"ExtensionRange","id":5},"oneofDecl":{"rule":"repeated","type":"OneofDescriptorProto","id":8},"options":{"type":"MessageOptions","id":7},"reservedRange":{"rule":"repeated","type":"ReservedRange","id":9},"reservedName":{"rule":"repeated","type":"string","id":10}},"nested":{"ExtensionRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2},"options":{"type":"ExtensionRangeOptions","id":3}}},"ReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}}}}},"ExtensionRangeOptions":{"fields":{"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999},"declaration":{"rule":"repeated","type":"Declaration","id":2,"options":{"retention":"RETENTION_SOURCE"}},"features":{"type":"FeatureSet","id":50},"verification":{"type":"VerificationState","id":3,"options":{"default":"UNVERIFIED","retention":"RETENTION_SOURCE"}}},"extensions":[[1e3,536870911]],"nested":{"Declaration":{"fields":{"number":{"type":"int32","id":1},"fullName":{"type":"string","id":2},"type":{"type":"string","id":3},"reserved":{"type":"bool","id":5},"repeated":{"type":"bool","id":6}},"reserved":[[4,4]]},"VerificationState":{"values":{"DECLARATION":0,"UNVERIFIED":1}}}},"FieldDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":3},"label":{"type":"Label","id":4},"type":{"type":"Type","id":5},"typeName":{"type":"string","id":6},"extendee":{"type":"string","id":2},"defaultValue":{"type":"string","id":7},"oneofIndex":{"type":"int32","id":9},"jsonName":{"type":"string","id":10},"options":{"type":"FieldOptions","id":8},"proto3Optional":{"type":"bool","id":17}},"nested":{"Type":{"values":{"TYPE_DOUBLE":1,"TYPE_FLOAT":2,"TYPE_INT64":3,"TYPE_UINT64":4,"TYPE_INT32":5,"TYPE_FIXED64":6,"TYPE_FIXED32":7,"TYPE_BOOL":8,"TYPE_STRING":9,"TYPE_GROUP":10,"TYPE_MESSAGE":11,"TYPE_BYTES":12,"TYPE_UINT32":13,"TYPE_ENUM":14,"TYPE_SFIXED32":15,"TYPE_SFIXED64":16,"TYPE_SINT32":17,"TYPE_SINT64":18}},"Label":{"values":{"LABEL_OPTIONAL":1,"LABEL_REPEATED":3,"LABEL_REQUIRED":2}}}},"OneofDescriptorProto":{"fields":{"name":{"type":"string","id":1},"options":{"type":"OneofOptions","id":2}}},"EnumDescriptorProto":{"fields":{"name":{"type":"string","id":1},"value":{"rule":"repeated","type":"EnumValueDescriptorProto","id":2},"options":{"type":"EnumOptions","id":3},"reservedRange":{"rule":"repeated","type":"EnumReservedRange","id":4},"reservedName":{"rule":"repeated","type":"string","id":5}},"nested":{"EnumReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}}}}},"EnumValueDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":2},"options":{"type":"EnumValueOptions","id":3}}},"ServiceDescriptorProto":{"fields":{"name":{"type":"string","id":1},"method":{"rule":"repeated","type":"MethodDescriptorProto","id":2},"options":{"type":"ServiceOptions","id":3}}},"MethodDescriptorProto":{"fields":{"name":{"type":"string","id":1},"inputType":{"type":"string","id":2},"outputType":{"type":"string","id":3},"options":{"type":"MethodOptions","id":4},"clientStreaming":{"type":"bool","id":5,"options":{"default":false}},"serverStreaming":{"type":"bool","id":6,"options":{"default":false}}}},"FileOptions":{"fields":{"javaPackage":{"type":"string","id":1},"javaOuterClassname":{"type":"string","id":8},"javaMultipleFiles":{"type":"bool","id":10,"options":{"default":false}},"javaGenerateEqualsAndHash":{"type":"bool","id":20,"options":{"deprecated":true}},"javaStringCheckUtf8":{"type":"bool","id":27,"options":{"default":false}},"optimizeFor":{"type":"OptimizeMode","id":9,"options":{"default":"SPEED"}},"goPackage":{"type":"string","id":11},"ccGenericServices":{"type":"bool","id":16,"options":{"default":false}},"javaGenericServices":{"type":"bool","id":17,"options":{"default":false}},"pyGenericServices":{"type":"bool","id":18,"options":{"default":false}},"deprecated":{"type":"bool","id":23,"options":{"default":false}},"ccEnableArenas":{"type":"bool","id":31,"options":{"default":true}},"objcClassPrefix":{"type":"string","id":36},"csharpNamespace":{"type":"string","id":37},"swiftPrefix":{"type":"string","id":39},"phpClassPrefix":{"type":"string","id":40},"phpNamespace":{"type":"string","id":41},"phpMetadataNamespace":{"type":"string","id":44},"rubyPackage":{"type":"string","id":45},"features":{"type":"FeatureSet","id":50},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[42,42],[38,38]],"nested":{"OptimizeMode":{"values":{"SPEED":1,"CODE_SIZE":2,"LITE_RUNTIME":3}}}},"MessageOptions":{"fields":{"messageSetWireFormat":{"type":"bool","id":1,"options":{"default":false}},"noStandardDescriptorAccessor":{"type":"bool","id":2,"options":{"default":false}},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"mapEntry":{"type":"bool","id":7},"deprecatedLegacyJsonFieldConflicts":{"type":"bool","id":11,"options":{"deprecated":true}},"features":{"type":"FeatureSet","id":12},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[4,4],[5,5],[6,6],[8,8],[9,9]]},"FieldOptions":{"fields":{"ctype":{"type":"CType","id":1,"options":{"default":"STRING"}},"packed":{"type":"bool","id":2},"jstype":{"type":"JSType","id":6,"options":{"default":"JS_NORMAL"}},"lazy":{"type":"bool","id":5,"options":{"default":false}},"unverifiedLazy":{"type":"bool","id":15,"options":{"default":false}},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"weak":{"type":"bool","id":10,"options":{"default":false}},"debugRedact":{"type":"bool","id":16,"options":{"default":false}},"retention":{"type":"OptionRetention","id":17},"targets":{"rule":"repeated","type":"OptionTargetType","id":19,"options":{"packed":false}},"editionDefaults":{"rule":"repeated","type":"EditionDefault","id":20},"features":{"type":"FeatureSet","id":21},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[4,4],[18,18]],"nested":{"CType":{"values":{"STRING":0,"CORD":1,"STRING_PIECE":2}},"JSType":{"values":{"JS_NORMAL":0,"JS_STRING":1,"JS_NUMBER":2}},"OptionRetention":{"values":{"RETENTION_UNKNOWN":0,"RETENTION_RUNTIME":1,"RETENTION_SOURCE":2}},"OptionTargetType":{"values":{"TARGET_TYPE_UNKNOWN":0,"TARGET_TYPE_FILE":1,"TARGET_TYPE_EXTENSION_RANGE":2,"TARGET_TYPE_MESSAGE":3,"TARGET_TYPE_FIELD":4,"TARGET_TYPE_ONEOF":5,"TARGET_TYPE_ENUM":6,"TARGET_TYPE_ENUM_ENTRY":7,"TARGET_TYPE_SERVICE":8,"TARGET_TYPE_METHOD":9}},"EditionDefault":{"fields":{"edition":{"type":"Edition","id":3},"value":{"type":"string","id":2}}}}},"OneofOptions":{"fields":{"features":{"type":"FeatureSet","id":1},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"EnumOptions":{"fields":{"allowAlias":{"type":"bool","id":2},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"deprecatedLegacyJsonFieldConflicts":{"type":"bool","id":6,"options":{"deprecated":true}},"features":{"type":"FeatureSet","id":7},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[5,5]]},"EnumValueOptions":{"fields":{"deprecated":{"type":"bool","id":1,"options":{"default":false}},"features":{"type":"FeatureSet","id":2},"debugRedact":{"type":"bool","id":3,"options":{"default":false}},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"ServiceOptions":{"fields":{"features":{"type":"FeatureSet","id":34},"deprecated":{"type":"bool","id":33,"options":{"default":false}},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"MethodOptions":{"fields":{"deprecated":{"type":"bool","id":33,"options":{"default":false}},"idempotencyLevel":{"type":"IdempotencyLevel","id":34,"options":{"default":"IDEMPOTENCY_UNKNOWN"}},"features":{"type":"FeatureSet","id":35},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"nested":{"IdempotencyLevel":{"values":{"IDEMPOTENCY_UNKNOWN":0,"NO_SIDE_EFFECTS":1,"IDEMPOTENT":2}}}},"UninterpretedOption":{"fields":{"name":{"rule":"repeated","type":"NamePart","id":2},"identifierValue":{"type":"string","id":3},"positiveIntValue":{"type":"uint64","id":4},"negativeIntValue":{"type":"int64","id":5},"doubleValue":{"type":"double","id":6},"stringValue":{"type":"bytes","id":7},"aggregateValue":{"type":"string","id":8}},"nested":{"NamePart":{"fields":{"namePart":{"rule":"required","type":"string","id":1},"isExtension":{"rule":"required","type":"bool","id":2}}}}},"FeatureSet":{"fields":{"fieldPresence":{"type":"FieldPresence","id":1,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_2023","edition_defaults.value":"EXPLICIT"}},"enumType":{"type":"EnumType","id":2,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"OPEN"}},"repeatedFieldEncoding":{"type":"RepeatedFieldEncoding","id":3,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"PACKED"}},"utf8Validation":{"type":"Utf8Validation","id":4,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"VERIFY"}},"messageEncoding":{"type":"MessageEncoding","id":5,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO2","edition_defaults.value":"LENGTH_PREFIXED"}},"jsonFormat":{"type":"JsonFormat","id":6,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"ALLOW"}}},"extensions":[[1e3,1e3],[1001,1001],[1002,1002],[9990,9990],[9995,9999],[1e4,1e4]],"reserved":[[999,999]],"nested":{"FieldPresence":{"values":{"FIELD_PRESENCE_UNKNOWN":0,"EXPLICIT":1,"IMPLICIT":2,"LEGACY_REQUIRED":3}},"EnumType":{"values":{"ENUM_TYPE_UNKNOWN":0,"OPEN":1,"CLOSED":2}},"RepeatedFieldEncoding":{"values":{"REPEATED_FIELD_ENCODING_UNKNOWN":0,"PACKED":1,"EXPANDED":2}},"Utf8Validation":{"values":{"UTF8_VALIDATION_UNKNOWN":0,"VERIFY":2,"NONE":3}},"MessageEncoding":{"values":{"MESSAGE_ENCODING_UNKNOWN":0,"LENGTH_PREFIXED":1,"DELIMITED":2}},"JsonFormat":{"values":{"JSON_FORMAT_UNKNOWN":0,"ALLOW":1,"LEGACY_BEST_EFFORT":2}}}},"FeatureSetDefaults":{"fields":{"defaults":{"rule":"repeated","type":"FeatureSetEditionDefault","id":1},"minimumEdition":{"type":"Edition","id":4},"maximumEdition":{"type":"Edition","id":5}},"nested":{"FeatureSetEditionDefault":{"fields":{"edition":{"type":"Edition","id":3},"features":{"type":"FeatureSet","id":2}}}}},"SourceCodeInfo":{"fields":{"location":{"rule":"repeated","type":"Location","id":1}},"nested":{"Location":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"span":{"rule":"repeated","type":"int32","id":2},"leadingComments":{"type":"string","id":3},"trailingComments":{"type":"string","id":4},"leadingDetachedComments":{"rule":"repeated","type":"string","id":6}}}}},"GeneratedCodeInfo":{"fields":{"annotation":{"rule":"repeated","type":"Annotation","id":1}},"nested":{"Annotation":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"sourceFile":{"type":"string","id":2},"begin":{"type":"int32","id":3},"end":{"type":"int32","id":4},"semantic":{"type":"Semantic","id":5}},"nested":{"Semantic":{"values":{"NONE":0,"SET":1,"ALIAS":2}}}}}},"Timestamp":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}}},"Duration":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}}},"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}}},"Empty":{"fields":{}},"FieldMask":{"fields":{"paths":{"rule":"repeated","type":"string","id":1}}},"Struct":{"fields":{"fields":{"keyType":"string","type":"Value","id":1}}},"Value":{"oneofs":{"kind":{"oneof":["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},"fields":{"nullValue":{"type":"NullValue","id":1},"numberValue":{"type":"double","id":2},"stringValue":{"type":"string","id":3},"boolValue":{"type":"bool","id":4},"structValue":{"type":"Struct","id":5},"listValue":{"type":"ListValue","id":6}}},"NullValue":{"values":{"NULL_VALUE":0}},"ListValue":{"fields":{"values":{"rule":"repeated","type":"Value","id":1}}},"DoubleValue":{"fields":{"value":{"type":"double","id":1}}},"FloatValue":{"fields":{"value":{"type":"float","id":1}}},"Int64Value":{"fields":{"value":{"type":"int64","id":1}}},"UInt64Value":{"fields":{"value":{"type":"uint64","id":1}}},"Int32Value":{"fields":{"value":{"type":"int32","id":1}}},"UInt32Value":{"fields":{"value":{"type":"uint32","id":1}}},"BoolValue":{"fields":{"value":{"type":"bool","id":1}}},"StringValue":{"fields":{"value":{"type":"string","id":1}}},"BytesValue":{"fields":{"value":{"type":"bytes","id":1}}}}},"type":{"options":{"go_package":"google.golang.org/genproto/googleapis/type/latlng;latlng","java_multiple_files":true,"java_outer_classname":"LatLngProto","java_package":"com.google.type","objc_class_prefix":"GTP","cc_enable_arenas":true},"nested":{"DayOfWeek":{"values":{"DAY_OF_WEEK_UNSPECIFIED":0,"MONDAY":1,"TUESDAY":2,"WEDNESDAY":3,"THURSDAY":4,"FRIDAY":5,"SATURDAY":6,"SUNDAY":7}},"LatLng":{"fields":{"latitude":{"type":"double","id":1},"longitude":{"type":"double","id":2}}}}},"longrunning":{"options":{"cc_enable_arenas":true,"csharp_namespace":"Google.LongRunning","go_package":"cloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb","java_multiple_files":true,"java_outer_classname":"OperationsProto","java_package":"com.google.longrunning","php_namespace":"Google\\LongRunning"},"nested":{"operationInfo":{"type":"google.longrunning.OperationInfo","id":1049,"extend":"google.protobuf.MethodOptions"},"Operations":{"options":{"(google.api.default_host)":"longrunning.googleapis.com"},"methods":{"ListOperations":{"requestType":"ListOperationsRequest","responseType":"ListOperationsResponse","options":{"(google.api.http).get":"/v1/{name=operations}","(google.api.method_signature)":"name,filter"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=operations}"}},{"(google.api.method_signature)":"name,filter"}]},"GetOperation":{"requestType":"GetOperationRequest","responseType":"Operation","options":{"(google.api.http).get":"/v1/{name=operations/**}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=operations/**}"}},{"(google.api.method_signature)":"name"}]},"DeleteOperation":{"requestType":"DeleteOperationRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).delete":"/v1/{name=operations/**}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1/{name=operations/**}"}},{"(google.api.method_signature)":"name"}]},"CancelOperation":{"requestType":"CancelOperationRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).post":"/v1/{name=operations/**}:cancel","(google.api.http).body":"*","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{name=operations/**}:cancel","body":"*"}},{"(google.api.method_signature)":"name"}]},"WaitOperation":{"requestType":"WaitOperationRequest","responseType":"Operation"}}},"Operation":{"oneofs":{"result":{"oneof":["error","response"]}},"fields":{"name":{"type":"string","id":1},"metadata":{"type":"google.protobuf.Any","id":2},"done":{"type":"bool","id":3},"error":{"type":"google.rpc.Status","id":4},"response":{"type":"google.protobuf.Any","id":5}}},"GetOperationRequest":{"fields":{"name":{"type":"string","id":1}}},"ListOperationsRequest":{"fields":{"name":{"type":"string","id":4},"filter":{"type":"string","id":1},"pageSize":{"type":"int32","id":2},"pageToken":{"type":"string","id":3}}},"ListOperationsResponse":{"fields":{"operations":{"rule":"repeated","type":"Operation","id":1},"nextPageToken":{"type":"string","id":2}}},"CancelOperationRequest":{"fields":{"name":{"type":"string","id":1}}},"DeleteOperationRequest":{"fields":{"name":{"type":"string","id":1}}},"WaitOperationRequest":{"fields":{"name":{"type":"string","id":1},"timeout":{"type":"google.protobuf.Duration","id":2}}},"OperationInfo":{"fields":{"responseType":{"type":"string","id":1},"metadataType":{"type":"string","id":2}}}}},"rpc":{"options":{"cc_enable_arenas":true,"go_package":"google.golang.org/genproto/googleapis/rpc/status;status","java_multiple_files":true,"java_outer_classname":"StatusProto","java_package":"com.google.rpc","objc_class_prefix":"RPC"},"nested":{"Status":{"fields":{"code":{"type":"int32","id":1},"message":{"type":"string","id":2},"details":{"rule":"repeated","type":"google.protobuf.Any","id":3}}}}}}}}}
{"nested":{"google":{"nested":{"firestore":{"nested":{"admin":{"nested":{"v1":{"options":{"csharp_namespace":"Google.Cloud.Firestore.Admin.V1","go_package":"cloud.google.com/go/firestore/apiv1/admin/adminpb;adminpb","java_multiple_files":true,"java_outer_classname":"LocationProto","java_package":"com.google.firestore.admin.v1","objc_class_prefix":"GCFS","php_namespace":"Google\\Cloud\\Firestore\\Admin\\V1","ruby_package":"Google::Cloud::Firestore::Admin::V1","(google.api.resource_definition).type":"firestore.googleapis.com/CollectionGroup","(google.api.resource_definition).pattern":"projects/{project}/databases/{database}/collectionGroups/{collection}"},"nested":{"Backup":{"options":{"(google.api.resource).type":"firestore.googleapis.com/Backup","(google.api.resource).pattern":"projects/{project}/locations/{location}/backups/{backup}"},"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"database":{"type":"string","id":2,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}},"databaseUid":{"type":"string","id":7,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"snapshotTime":{"type":"google.protobuf.Timestamp","id":3,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"expireTime":{"type":"google.protobuf.Timestamp","id":4,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"stats":{"type":"Stats","id":6,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"state":{"type":"State","id":8,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}}},"nested":{"Stats":{"fields":{"sizeBytes":{"type":"int64","id":1,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"documentCount":{"type":"int64","id":2,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"indexCount":{"type":"int64","id":3,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}}}},"State":{"values":{"STATE_UNSPECIFIED":0,"CREATING":1,"READY":2,"NOT_AVAILABLE":3}}}},"Database":{"options":{"(google.api.resource).type":"firestore.googleapis.com/Database","(google.api.resource).pattern":"projects/{project}/databases/{database}","(google.api.resource).style":"DECLARATIVE_FRIENDLY"},"fields":{"name":{"type":"string","id":1},"uid":{"type":"string","id":3,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"createTime":{"type":"google.protobuf.Timestamp","id":5,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"updateTime":{"type":"google.protobuf.Timestamp","id":6,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"locationId":{"type":"string","id":9},"type":{"type":"DatabaseType","id":10},"concurrencyMode":{"type":"ConcurrencyMode","id":15},"versionRetentionPeriod":{"type":"google.protobuf.Duration","id":17,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"earliestVersionTime":{"type":"google.protobuf.Timestamp","id":18,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"pointInTimeRecoveryEnablement":{"type":"PointInTimeRecoveryEnablement","id":21},"appEngineIntegrationMode":{"type":"AppEngineIntegrationMode","id":19},"keyPrefix":{"type":"string","id":20,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"deleteProtectionState":{"type":"DeleteProtectionState","id":22},"etag":{"type":"string","id":99}},"nested":{"DatabaseType":{"values":{"DATABASE_TYPE_UNSPECIFIED":0,"FIRESTORE_NATIVE":1,"DATASTORE_MODE":2}},"ConcurrencyMode":{"values":{"CONCURRENCY_MODE_UNSPECIFIED":0,"OPTIMISTIC":1,"PESSIMISTIC":2,"OPTIMISTIC_WITH_ENTITY_GROUPS":3}},"PointInTimeRecoveryEnablement":{"values":{"POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED":0,"POINT_IN_TIME_RECOVERY_ENABLED":1,"POINT_IN_TIME_RECOVERY_DISABLED":2}},"AppEngineIntegrationMode":{"values":{"APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED":0,"ENABLED":1,"DISABLED":2}},"DeleteProtectionState":{"values":{"DELETE_PROTECTION_STATE_UNSPECIFIED":0,"DELETE_PROTECTION_DISABLED":1,"DELETE_PROTECTION_ENABLED":2}}}},"Field":{"options":{"(google.api.resource).type":"firestore.googleapis.com/Field","(google.api.resource).pattern":"projects/{project}/databases/{database}/collectionGroups/{collection}/fields/{field}"},"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"indexConfig":{"type":"IndexConfig","id":2},"ttlConfig":{"type":"TtlConfig","id":3}},"nested":{"IndexConfig":{"fields":{"indexes":{"rule":"repeated","type":"Index","id":1},"usesAncestorConfig":{"type":"bool","id":2},"ancestorField":{"type":"string","id":3},"reverting":{"type":"bool","id":4}}},"TtlConfig":{"fields":{"state":{"type":"State","id":1,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}}},"nested":{"State":{"values":{"STATE_UNSPECIFIED":0,"CREATING":1,"ACTIVE":2,"NEEDS_REPAIR":3}}}}}},"Index":{"options":{"(google.api.resource).type":"firestore.googleapis.com/Index","(google.api.resource).pattern":"projects/{project}/databases/{database}/collectionGroups/{collection}/indexes/{index}"},"fields":{"name":{"type":"string","id":1},"queryScope":{"type":"QueryScope","id":2},"apiScope":{"type":"ApiScope","id":5},"fields":{"rule":"repeated","type":"IndexField","id":3},"state":{"type":"State","id":4}},"nested":{"QueryScope":{"values":{"QUERY_SCOPE_UNSPECIFIED":0,"COLLECTION":1,"COLLECTION_GROUP":2,"COLLECTION_RECURSIVE":3}},"ApiScope":{"values":{"ANY_API":0,"DATASTORE_MODE_API":1}},"IndexField":{"oneofs":{"valueMode":{"oneof":["order","arrayConfig","vectorConfig"]}},"fields":{"fieldPath":{"type":"string","id":1},"order":{"type":"Order","id":2},"arrayConfig":{"type":"ArrayConfig","id":3},"vectorConfig":{"type":"VectorConfig","id":4}},"nested":{"Order":{"values":{"ORDER_UNSPECIFIED":0,"ASCENDING":1,"DESCENDING":2}},"ArrayConfig":{"values":{"ARRAY_CONFIG_UNSPECIFIED":0,"CONTAINS":1}},"VectorConfig":{"oneofs":{"type":{"oneof":["flat"]}},"fields":{"dimension":{"type":"int32","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"flat":{"type":"FlatIndex","id":2}},"nested":{"FlatIndex":{"fields":{}}}}}},"State":{"values":{"STATE_UNSPECIFIED":0,"CREATING":1,"READY":2,"NEEDS_REPAIR":3}}}},"FirestoreAdmin":{"options":{"(google.api.default_host)":"firestore.googleapis.com","(google.api.oauth_scopes)":"https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/datastore"},"methods":{"CreateIndex":{"requestType":"CreateIndexRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*/collectionGroups/*}/indexes","(google.api.http).body":"index","(google.api.method_signature)":"parent,index","(google.longrunning.operation_info).response_type":"Index","(google.longrunning.operation_info).metadata_type":"IndexOperationMetadata"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*/collectionGroups/*}/indexes","body":"index"}},{"(google.api.method_signature)":"parent,index"},{"(google.longrunning.operation_info)":{"response_type":"Index","metadata_type":"IndexOperationMetadata"}}]},"ListIndexes":{"requestType":"ListIndexesRequest","responseType":"ListIndexesResponse","options":{"(google.api.http).get":"/v1/{parent=projects/*/databases/*/collectionGroups/*}/indexes","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{parent=projects/*/databases/*/collectionGroups/*}/indexes"}},{"(google.api.method_signature)":"parent"}]},"GetIndex":{"requestType":"GetIndexRequest","responseType":"Index","options":{"(google.api.http).get":"/v1/{name=projects/*/databases/*/collectionGroups/*/indexes/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=projects/*/databases/*/collectionGroups/*/indexes/*}"}},{"(google.api.method_signature)":"name"}]},"DeleteIndex":{"requestType":"DeleteIndexRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).delete":"/v1/{name=projects/*/databases/*/collectionGroups/*/indexes/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1/{name=projects/*/databases/*/collectionGroups/*/indexes/*}"}},{"(google.api.method_signature)":"name"}]},"GetField":{"requestType":"GetFieldRequest","responseType":"Field","options":{"(google.api.http).get":"/v1/{name=projects/*/databases/*/collectionGroups/*/fields/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=projects/*/databases/*/collectionGroups/*/fields/*}"}},{"(google.api.method_signature)":"name"}]},"UpdateField":{"requestType":"UpdateFieldRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).patch":"/v1/{field.name=projects/*/databases/*/collectionGroups/*/fields/*}","(google.api.http).body":"field","(google.api.method_signature)":"field","(google.longrunning.operation_info).response_type":"Field","(google.longrunning.operation_info).metadata_type":"FieldOperationMetadata"},"parsedOptions":[{"(google.api.http)":{"patch":"/v1/{field.name=projects/*/databases/*/collectionGroups/*/fields/*}","body":"field"}},{"(google.api.method_signature)":"field"},{"(google.longrunning.operation_info)":{"response_type":"Field","metadata_type":"FieldOperationMetadata"}}]},"ListFields":{"requestType":"ListFieldsRequest","responseType":"ListFieldsResponse","options":{"(google.api.http).get":"/v1/{parent=projects/*/databases/*/collectionGroups/*}/fields","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{parent=projects/*/databases/*/collectionGroups/*}/fields"}},{"(google.api.method_signature)":"parent"}]},"ExportDocuments":{"requestType":"ExportDocumentsRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).post":"/v1/{name=projects/*/databases/*}:exportDocuments","(google.api.http).body":"*","(google.api.method_signature)":"name","(google.longrunning.operation_info).response_type":"ExportDocumentsResponse","(google.longrunning.operation_info).metadata_type":"ExportDocumentsMetadata"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{name=projects/*/databases/*}:exportDocuments","body":"*"}},{"(google.api.method_signature)":"name"},{"(google.longrunning.operation_info)":{"response_type":"ExportDocumentsResponse","metadata_type":"ExportDocumentsMetadata"}}]},"ImportDocuments":{"requestType":"ImportDocumentsRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).post":"/v1/{name=projects/*/databases/*}:importDocuments","(google.api.http).body":"*","(google.api.method_signature)":"name","(google.longrunning.operation_info).response_type":"google.protobuf.Empty","(google.longrunning.operation_info).metadata_type":"ImportDocumentsMetadata"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{name=projects/*/databases/*}:importDocuments","body":"*"}},{"(google.api.method_signature)":"name"},{"(google.longrunning.operation_info)":{"response_type":"google.protobuf.Empty","metadata_type":"ImportDocumentsMetadata"}}]},"CreateDatabase":{"requestType":"CreateDatabaseRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).post":"/v1/{parent=projects/*}/databases","(google.api.http).body":"database","(google.api.method_signature)":"parent,database,database_id","(google.longrunning.operation_info).response_type":"Database","(google.longrunning.operation_info).metadata_type":"CreateDatabaseMetadata"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*}/databases","body":"database"}},{"(google.api.method_signature)":"parent,database,database_id"},{"(google.longrunning.operation_info)":{"response_type":"Database","metadata_type":"CreateDatabaseMetadata"}}]},"GetDatabase":{"requestType":"GetDatabaseRequest","responseType":"Database","options":{"(google.api.http).get":"/v1/{name=projects/*/databases/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=projects/*/databases/*}"}},{"(google.api.method_signature)":"name"}]},"ListDatabases":{"requestType":"ListDatabasesRequest","responseType":"ListDatabasesResponse","options":{"(google.api.http).get":"/v1/{parent=projects/*}/databases","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{parent=projects/*}/databases"}},{"(google.api.method_signature)":"parent"}]},"UpdateDatabase":{"requestType":"UpdateDatabaseRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).patch":"/v1/{database.name=projects/*/databases/*}","(google.api.http).body":"database","(google.api.method_signature)":"database,update_mask","(google.longrunning.operation_info).response_type":"Database","(google.longrunning.operation_info).metadata_type":"UpdateDatabaseMetadata"},"parsedOptions":[{"(google.api.http)":{"patch":"/v1/{database.name=projects/*/databases/*}","body":"database"}},{"(google.api.method_signature)":"database,update_mask"},{"(google.longrunning.operation_info)":{"response_type":"Database","metadata_type":"UpdateDatabaseMetadata"}}]},"DeleteDatabase":{"requestType":"DeleteDatabaseRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).delete":"/v1/{name=projects/*/databases/*}","(google.api.method_signature)":"name","(google.longrunning.operation_info).response_type":"Database","(google.longrunning.operation_info).metadata_type":"DeleteDatabaseMetadata"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1/{name=projects/*/databases/*}"}},{"(google.api.method_signature)":"name"},{"(google.longrunning.operation_info)":{"response_type":"Database","metadata_type":"DeleteDatabaseMetadata"}}]},"GetBackup":{"requestType":"GetBackupRequest","responseType":"Backup","options":{"(google.api.http).get":"/v1/{name=projects/*/locations/*/backups/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=projects/*/locations/*/backups/*}"}},{"(google.api.method_signature)":"name"}]},"ListBackups":{"requestType":"ListBackupsRequest","responseType":"ListBackupsResponse","options":{"(google.api.http).get":"/v1/{parent=projects/*/locations/*}/backups","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{parent=projects/*/locations/*}/backups"}},{"(google.api.method_signature)":"parent"}]},"DeleteBackup":{"requestType":"DeleteBackupRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).delete":"/v1/{name=projects/*/locations/*/backups/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1/{name=projects/*/locations/*/backups/*}"}},{"(google.api.method_signature)":"name"}]},"RestoreDatabase":{"requestType":"RestoreDatabaseRequest","responseType":"google.longrunning.Operation","options":{"(google.api.http).post":"/v1/{parent=projects/*}/databases:restore","(google.api.http).body":"*","(google.longrunning.operation_info).response_type":"Database","(google.longrunning.operation_info).metadata_type":"RestoreDatabaseMetadata"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*}/databases:restore","body":"*"}},{"(google.longrunning.operation_info)":{"response_type":"Database","metadata_type":"RestoreDatabaseMetadata"}}]},"CreateBackupSchedule":{"requestType":"CreateBackupScheduleRequest","responseType":"BackupSchedule","options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*}/backupSchedules","(google.api.http).body":"backup_schedule","(google.api.method_signature)":"parent,backup_schedule"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*}/backupSchedules","body":"backup_schedule"}},{"(google.api.method_signature)":"parent,backup_schedule"}]},"GetBackupSchedule":{"requestType":"GetBackupScheduleRequest","responseType":"BackupSchedule","options":{"(google.api.http).get":"/v1/{name=projects/*/databases/*/backupSchedules/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=projects/*/databases/*/backupSchedules/*}"}},{"(google.api.method_signature)":"name"}]},"ListBackupSchedules":{"requestType":"ListBackupSchedulesRequest","responseType":"ListBackupSchedulesResponse","options":{"(google.api.http).get":"/v1/{parent=projects/*/databases/*}/backupSchedules","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{parent=projects/*/databases/*}/backupSchedules"}},{"(google.api.method_signature)":"parent"}]},"UpdateBackupSchedule":{"requestType":"UpdateBackupScheduleRequest","responseType":"BackupSchedule","options":{"(google.api.http).patch":"/v1/{backup_schedule.name=projects/*/databases/*/backupSchedules/*}","(google.api.http).body":"backup_schedule","(google.api.method_signature)":"backup_schedule,update_mask"},"parsedOptions":[{"(google.api.http)":{"patch":"/v1/{backup_schedule.name=projects/*/databases/*/backupSchedules/*}","body":"backup_schedule"}},{"(google.api.method_signature)":"backup_schedule,update_mask"}]},"DeleteBackupSchedule":{"requestType":"DeleteBackupScheduleRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).delete":"/v1/{name=projects/*/databases/*/backupSchedules/*}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1/{name=projects/*/databases/*/backupSchedules/*}"}},{"(google.api.method_signature)":"name"}]}}},"ListDatabasesRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).child_type":"firestore.googleapis.com/Database"}}}},"CreateDatabaseRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).child_type":"firestore.googleapis.com/Database"}},"database":{"type":"Database","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}},"databaseId":{"type":"string","id":3,"options":{"(google.api.field_behavior)":"REQUIRED"}}}},"CreateDatabaseMetadata":{"fields":{}},"ListDatabasesResponse":{"fields":{"databases":{"rule":"repeated","type":"Database","id":1},"unreachable":{"rule":"repeated","type":"string","id":3}}},"GetDatabaseRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}}}},"UpdateDatabaseRequest":{"fields":{"database":{"type":"Database","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"updateMask":{"type":"google.protobuf.FieldMask","id":2}}},"UpdateDatabaseMetadata":{"fields":{}},"DeleteDatabaseRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}},"etag":{"type":"string","id":3}}},"DeleteDatabaseMetadata":{"fields":{}},"CreateBackupScheduleRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}},"backupSchedule":{"type":"BackupSchedule","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}}}},"GetBackupScheduleRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/BackupSchedule"}}}},"UpdateBackupScheduleRequest":{"fields":{"backupSchedule":{"type":"BackupSchedule","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"updateMask":{"type":"google.protobuf.FieldMask","id":2}}},"ListBackupSchedulesRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}}}},"ListBackupSchedulesResponse":{"fields":{"backupSchedules":{"rule":"repeated","type":"BackupSchedule","id":1}}},"DeleteBackupScheduleRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/BackupSchedule"}}}},"CreateIndexRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/CollectionGroup"}},"index":{"type":"Index","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}}}},"ListIndexesRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/CollectionGroup"}},"filter":{"type":"string","id":2},"pageSize":{"type":"int32","id":3},"pageToken":{"type":"string","id":4}}},"ListIndexesResponse":{"fields":{"indexes":{"rule":"repeated","type":"Index","id":1},"nextPageToken":{"type":"string","id":2}}},"GetIndexRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Index"}}}},"DeleteIndexRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Index"}}}},"UpdateFieldRequest":{"fields":{"field":{"type":"Field","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"updateMask":{"type":"google.protobuf.FieldMask","id":2}}},"GetFieldRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Field"}}}},"ListFieldsRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/CollectionGroup"}},"filter":{"type":"string","id":2},"pageSize":{"type":"int32","id":3},"pageToken":{"type":"string","id":4}}},"ListFieldsResponse":{"fields":{"fields":{"rule":"repeated","type":"Field","id":1},"nextPageToken":{"type":"string","id":2}}},"ExportDocumentsRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}},"collectionIds":{"rule":"repeated","type":"string","id":2},"outputUriPrefix":{"type":"string","id":3},"namespaceIds":{"rule":"repeated","type":"string","id":4},"snapshotTime":{"type":"google.protobuf.Timestamp","id":5}}},"ImportDocumentsRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Database"}},"collectionIds":{"rule":"repeated","type":"string","id":2},"inputUriPrefix":{"type":"string","id":3},"namespaceIds":{"rule":"repeated","type":"string","id":4}}},"GetBackupRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Backup"}}}},"ListBackupsRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Location"}}}},"ListBackupsResponse":{"fields":{"backups":{"rule":"repeated","type":"Backup","id":1},"unreachable":{"rule":"repeated","type":"string","id":3}}},"DeleteBackupRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Backup"}}}},"RestoreDatabaseRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).child_type":"firestore.googleapis.com/Database"}},"databaseId":{"type":"string","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}},"backup":{"type":"string","id":3,"options":{"(google.api.field_behavior)":"REQUIRED","(google.api.resource_reference).type":"firestore.googleapis.com/Backup"}}}},"IndexOperationMetadata":{"fields":{"startTime":{"type":"google.protobuf.Timestamp","id":1},"endTime":{"type":"google.protobuf.Timestamp","id":2},"index":{"type":"string","id":3},"state":{"type":"OperationState","id":4},"progressDocuments":{"type":"Progress","id":5},"progressBytes":{"type":"Progress","id":6}}},"FieldOperationMetadata":{"fields":{"startTime":{"type":"google.protobuf.Timestamp","id":1},"endTime":{"type":"google.protobuf.Timestamp","id":2},"field":{"type":"string","id":3},"indexConfigDeltas":{"rule":"repeated","type":"IndexConfigDelta","id":4},"state":{"type":"OperationState","id":5},"progressDocuments":{"type":"Progress","id":6},"progressBytes":{"type":"Progress","id":7},"ttlConfigDelta":{"type":"TtlConfigDelta","id":8}},"nested":{"IndexConfigDelta":{"fields":{"changeType":{"type":"ChangeType","id":1},"index":{"type":"Index","id":2}},"nested":{"ChangeType":{"values":{"CHANGE_TYPE_UNSPECIFIED":0,"ADD":1,"REMOVE":2}}}},"TtlConfigDelta":{"fields":{"changeType":{"type":"ChangeType","id":1}},"nested":{"ChangeType":{"values":{"CHANGE_TYPE_UNSPECIFIED":0,"ADD":1,"REMOVE":2}}}}}},"ExportDocumentsMetadata":{"fields":{"startTime":{"type":"google.protobuf.Timestamp","id":1},"endTime":{"type":"google.protobuf.Timestamp","id":2},"operationState":{"type":"OperationState","id":3},"progressDocuments":{"type":"Progress","id":4},"progressBytes":{"type":"Progress","id":5},"collectionIds":{"rule":"repeated","type":"string","id":6},"outputUriPrefix":{"type":"string","id":7},"namespaceIds":{"rule":"repeated","type":"string","id":8},"snapshotTime":{"type":"google.protobuf.Timestamp","id":9}}},"ImportDocumentsMetadata":{"fields":{"startTime":{"type":"google.protobuf.Timestamp","id":1},"endTime":{"type":"google.protobuf.Timestamp","id":2},"operationState":{"type":"OperationState","id":3},"progressDocuments":{"type":"Progress","id":4},"progressBytes":{"type":"Progress","id":5},"collectionIds":{"rule":"repeated","type":"string","id":6},"inputUriPrefix":{"type":"string","id":7},"namespaceIds":{"rule":"repeated","type":"string","id":8}}},"ExportDocumentsResponse":{"fields":{"outputUriPrefix":{"type":"string","id":1}}},"RestoreDatabaseMetadata":{"fields":{"startTime":{"type":"google.protobuf.Timestamp","id":1},"endTime":{"type":"google.protobuf.Timestamp","id":2},"operationState":{"type":"OperationState","id":3},"database":{"type":"string","id":4,"options":{"(google.api.resource_reference).type":"firestore.googleapis.com/Database"}},"backup":{"type":"string","id":5,"options":{"(google.api.resource_reference).type":"firestore.googleapis.com/Backup"}},"progressPercentage":{"type":"Progress","id":8}}},"Progress":{"fields":{"estimatedWork":{"type":"int64","id":1},"completedWork":{"type":"int64","id":2}}},"OperationState":{"values":{"OPERATION_STATE_UNSPECIFIED":0,"INITIALIZING":1,"PROCESSING":2,"CANCELLING":3,"FINALIZING":4,"SUCCESSFUL":5,"FAILED":6,"CANCELLED":7}},"BackupSchedule":{"options":{"(google.api.resource).type":"firestore.googleapis.com/BackupSchedule","(google.api.resource).pattern":"projects/{project}/databases/{database}/backupSchedules/{backup_schedule}"},"oneofs":{"recurrence":{"oneof":["dailyRecurrence","weeklyRecurrence"]}},"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"createTime":{"type":"google.protobuf.Timestamp","id":3,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"updateTime":{"type":"google.protobuf.Timestamp","id":10,"options":{"(google.api.field_behavior)":"OUTPUT_ONLY"}},"retention":{"type":"google.protobuf.Duration","id":6},"dailyRecurrence":{"type":"DailyRecurrence","id":7},"weeklyRecurrence":{"type":"WeeklyRecurrence","id":8}}},"DailyRecurrence":{"fields":{}},"WeeklyRecurrence":{"fields":{"day":{"type":"google.type.DayOfWeek","id":2}}},"LocationMetadata":{"fields":{}}}}}}}},"api":{"options":{"go_package":"google.golang.org/genproto/googleapis/api;api","java_multiple_files":true,"java_outer_classname":"LaunchStageProto","java_package":"com.google.api","objc_class_prefix":"GAPI","cc_enable_arenas":true},"nested":{"fieldBehavior":{"rule":"repeated","type":"google.api.FieldBehavior","id":1052,"extend":"google.protobuf.FieldOptions","options":{"packed":false}},"FieldBehavior":{"values":{"FIELD_BEHAVIOR_UNSPECIFIED":0,"OPTIONAL":1,"REQUIRED":2,"OUTPUT_ONLY":3,"INPUT_ONLY":4,"IMMUTABLE":5,"UNORDERED_LIST":6,"NON_EMPTY_DEFAULT":7,"IDENTIFIER":8}},"resourceReference":{"type":"google.api.ResourceReference","id":1055,"extend":"google.protobuf.FieldOptions"},"resourceDefinition":{"rule":"repeated","type":"google.api.ResourceDescriptor","id":1053,"extend":"google.protobuf.FileOptions"},"resource":{"type":"google.api.ResourceDescriptor","id":1053,"extend":"google.protobuf.MessageOptions"},"ResourceDescriptor":{"fields":{"type":{"type":"string","id":1},"pattern":{"rule":"repeated","type":"string","id":2},"nameField":{"type":"string","id":3},"history":{"type":"History","id":4},"plural":{"type":"string","id":5},"singular":{"type":"string","id":6},"style":{"rule":"repeated","type":"Style","id":10}},"nested":{"History":{"values":{"HISTORY_UNSPECIFIED":0,"ORIGINALLY_SINGLE_PATTERN":1,"FUTURE_MULTI_PATTERN":2}},"Style":{"values":{"STYLE_UNSPECIFIED":0,"DECLARATIVE_FRIENDLY":1}}}},"ResourceReference":{"fields":{"type":{"type":"string","id":1},"childType":{"type":"string","id":2}}},"http":{"type":"HttpRule","id":72295728,"extend":"google.protobuf.MethodOptions"},"Http":{"fields":{"rules":{"rule":"repeated","type":"HttpRule","id":1},"fullyDecodeReservedExpansion":{"type":"bool","id":2}}},"HttpRule":{"oneofs":{"pattern":{"oneof":["get","put","post","delete","patch","custom"]}},"fields":{"selector":{"type":"string","id":1},"get":{"type":"string","id":2},"put":{"type":"string","id":3},"post":{"type":"string","id":4},"delete":{"type":"string","id":5},"patch":{"type":"string","id":6},"custom":{"type":"CustomHttpPattern","id":8},"body":{"type":"string","id":7},"responseBody":{"type":"string","id":12},"additionalBindings":{"rule":"repeated","type":"HttpRule","id":11}}},"CustomHttpPattern":{"fields":{"kind":{"type":"string","id":1},"path":{"type":"string","id":2}}},"methodSignature":{"rule":"repeated","type":"string","id":1051,"extend":"google.protobuf.MethodOptions"},"defaultHost":{"type":"string","id":1049,"extend":"google.protobuf.ServiceOptions"},"oauthScopes":{"type":"string","id":1050,"extend":"google.protobuf.ServiceOptions"},"apiVersion":{"type":"string","id":525000001,"extend":"google.protobuf.ServiceOptions"},"CommonLanguageSettings":{"fields":{"referenceDocsUri":{"type":"string","id":1,"options":{"deprecated":true}},"destinations":{"rule":"repeated","type":"ClientLibraryDestination","id":2}}},"ClientLibrarySettings":{"fields":{"version":{"type":"string","id":1},"launchStage":{"type":"LaunchStage","id":2},"restNumericEnums":{"type":"bool","id":3},"javaSettings":{"type":"JavaSettings","id":21},"cppSettings":{"type":"CppSettings","id":22},"phpSettings":{"type":"PhpSettings","id":23},"pythonSettings":{"type":"PythonSettings","id":24},"nodeSettings":{"type":"NodeSettings","id":25},"dotnetSettings":{"type":"DotnetSettings","id":26},"rubySettings":{"type":"RubySettings","id":27},"goSettings":{"type":"GoSettings","id":28}}},"Publishing":{"fields":{"methodSettings":{"rule":"repeated","type":"MethodSettings","id":2},"newIssueUri":{"type":"string","id":101},"documentationUri":{"type":"string","id":102},"apiShortName":{"type":"string","id":103},"githubLabel":{"type":"string","id":104},"codeownerGithubTeams":{"rule":"repeated","type":"string","id":105},"docTagPrefix":{"type":"string","id":106},"organization":{"type":"ClientLibraryOrganization","id":107},"librarySettings":{"rule":"repeated","type":"ClientLibrarySettings","id":109},"protoReferenceDocumentationUri":{"type":"string","id":110},"restReferenceDocumentationUri":{"type":"string","id":111}}},"JavaSettings":{"fields":{"libraryPackage":{"type":"string","id":1},"serviceClassNames":{"keyType":"string","type":"string","id":2},"common":{"type":"CommonLanguageSettings","id":3}}},"CppSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"PhpSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"PythonSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"NodeSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"DotnetSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1},"renamedServices":{"keyType":"string","type":"string","id":2},"renamedResources":{"keyType":"string","type":"string","id":3},"ignoredResources":{"rule":"repeated","type":"string","id":4},"forcedNamespaceAliases":{"rule":"repeated","type":"string","id":5},"handwrittenSignatures":{"rule":"repeated","type":"string","id":6}}},"RubySettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"GoSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"MethodSettings":{"fields":{"selector":{"type":"string","id":1},"longRunning":{"type":"LongRunning","id":2},"autoPopulatedFields":{"rule":"repeated","type":"string","id":3}},"nested":{"LongRunning":{"fields":{"initialPollDelay":{"type":"google.protobuf.Duration","id":1},"pollDelayMultiplier":{"type":"float","id":2},"maxPollDelay":{"type":"google.protobuf.Duration","id":3},"totalPollTimeout":{"type":"google.protobuf.Duration","id":4}}}}},"ClientLibraryOrganization":{"values":{"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED":0,"CLOUD":1,"ADS":2,"PHOTOS":3,"STREET_VIEW":4,"SHOPPING":5,"GEO":6,"GENERATIVE_AI":7}},"ClientLibraryDestination":{"values":{"CLIENT_LIBRARY_DESTINATION_UNSPECIFIED":0,"GITHUB":10,"PACKAGE_MANAGER":20}},"LaunchStage":{"values":{"LAUNCH_STAGE_UNSPECIFIED":0,"UNIMPLEMENTED":6,"PRELAUNCH":7,"EARLY_ACCESS":1,"ALPHA":2,"BETA":3,"GA":4,"DEPRECATED":5}}}},"protobuf":{"options":{"go_package":"google.golang.org/protobuf/types/descriptorpb","java_package":"com.google.protobuf","java_outer_classname":"DescriptorProtos","csharp_namespace":"Google.Protobuf.Reflection","objc_class_prefix":"GPB","cc_enable_arenas":true,"optimize_for":"SPEED"},"nested":{"FileDescriptorSet":{"fields":{"file":{"rule":"repeated","type":"FileDescriptorProto","id":1}}},"Edition":{"values":{"EDITION_UNKNOWN":0,"EDITION_PROTO2":998,"EDITION_PROTO3":999,"EDITION_2023":1e3,"EDITION_2024":1001,"EDITION_1_TEST_ONLY":1,"EDITION_2_TEST_ONLY":2,"EDITION_99997_TEST_ONLY":99997,"EDITION_99998_TEST_ONLY":99998,"EDITION_99999_TEST_ONLY":99999,"EDITION_MAX":2147483647},"reserved":[[900,900]]},"FileDescriptorProto":{"fields":{"name":{"type":"string","id":1},"package":{"type":"string","id":2},"dependency":{"rule":"repeated","type":"string","id":3},"publicDependency":{"rule":"repeated","type":"int32","id":10,"options":{"packed":false}},"weakDependency":{"rule":"repeated","type":"int32","id":11,"options":{"packed":false}},"messageType":{"rule":"repeated","type":"DescriptorProto","id":4},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":5},"service":{"rule":"repeated","type":"ServiceDescriptorProto","id":6},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":7},"options":{"type":"FileOptions","id":8},"sourceCodeInfo":{"type":"SourceCodeInfo","id":9},"syntax":{"type":"string","id":12},"edition":{"type":"Edition","id":14}}},"DescriptorProto":{"fields":{"name":{"type":"string","id":1},"field":{"rule":"repeated","type":"FieldDescriptorProto","id":2},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":6},"nestedType":{"rule":"repeated","type":"DescriptorProto","id":3},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":4},"extensionRange":{"rule":"repeated","type":"ExtensionRange","id":5},"oneofDecl":{"rule":"repeated","type":"OneofDescriptorProto","id":8},"options":{"type":"MessageOptions","id":7},"reservedRange":{"rule":"repeated","type":"ReservedRange","id":9},"reservedName":{"rule":"repeated","type":"string","id":10}},"nested":{"ExtensionRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2},"options":{"type":"ExtensionRangeOptions","id":3}}},"ReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}}}}},"ExtensionRangeOptions":{"fields":{"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999},"declaration":{"rule":"repeated","type":"Declaration","id":2,"options":{"retention":"RETENTION_SOURCE"}},"features":{"type":"FeatureSet","id":50},"verification":{"type":"VerificationState","id":3,"options":{"default":"UNVERIFIED","retention":"RETENTION_SOURCE"}}},"extensions":[[1e3,536870911]],"nested":{"Declaration":{"fields":{"number":{"type":"int32","id":1},"fullName":{"type":"string","id":2},"type":{"type":"string","id":3},"reserved":{"type":"bool","id":5},"repeated":{"type":"bool","id":6}},"reserved":[[4,4]]},"VerificationState":{"values":{"DECLARATION":0,"UNVERIFIED":1}}}},"FieldDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":3},"label":{"type":"Label","id":4},"type":{"type":"Type","id":5},"typeName":{"type":"string","id":6},"extendee":{"type":"string","id":2},"defaultValue":{"type":"string","id":7},"oneofIndex":{"type":"int32","id":9},"jsonName":{"type":"string","id":10},"options":{"type":"FieldOptions","id":8},"proto3Optional":{"type":"bool","id":17}},"nested":{"Type":{"values":{"TYPE_DOUBLE":1,"TYPE_FLOAT":2,"TYPE_INT64":3,"TYPE_UINT64":4,"TYPE_INT32":5,"TYPE_FIXED64":6,"TYPE_FIXED32":7,"TYPE_BOOL":8,"TYPE_STRING":9,"TYPE_GROUP":10,"TYPE_MESSAGE":11,"TYPE_BYTES":12,"TYPE_UINT32":13,"TYPE_ENUM":14,"TYPE_SFIXED32":15,"TYPE_SFIXED64":16,"TYPE_SINT32":17,"TYPE_SINT64":18}},"Label":{"values":{"LABEL_OPTIONAL":1,"LABEL_REPEATED":3,"LABEL_REQUIRED":2}}}},"OneofDescriptorProto":{"fields":{"name":{"type":"string","id":1},"options":{"type":"OneofOptions","id":2}}},"EnumDescriptorProto":{"fields":{"name":{"type":"string","id":1},"value":{"rule":"repeated","type":"EnumValueDescriptorProto","id":2},"options":{"type":"EnumOptions","id":3},"reservedRange":{"rule":"repeated","type":"EnumReservedRange","id":4},"reservedName":{"rule":"repeated","type":"string","id":5}},"nested":{"EnumReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}}}}},"EnumValueDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":2},"options":{"type":"EnumValueOptions","id":3}}},"ServiceDescriptorProto":{"fields":{"name":{"type":"string","id":1},"method":{"rule":"repeated","type":"MethodDescriptorProto","id":2},"options":{"type":"ServiceOptions","id":3}}},"MethodDescriptorProto":{"fields":{"name":{"type":"string","id":1},"inputType":{"type":"string","id":2},"outputType":{"type":"string","id":3},"options":{"type":"MethodOptions","id":4},"clientStreaming":{"type":"bool","id":5,"options":{"default":false}},"serverStreaming":{"type":"bool","id":6,"options":{"default":false}}}},"FileOptions":{"fields":{"javaPackage":{"type":"string","id":1},"javaOuterClassname":{"type":"string","id":8},"javaMultipleFiles":{"type":"bool","id":10,"options":{"default":false}},"javaGenerateEqualsAndHash":{"type":"bool","id":20,"options":{"deprecated":true}},"javaStringCheckUtf8":{"type":"bool","id":27,"options":{"default":false}},"optimizeFor":{"type":"OptimizeMode","id":9,"options":{"default":"SPEED"}},"goPackage":{"type":"string","id":11},"ccGenericServices":{"type":"bool","id":16,"options":{"default":false}},"javaGenericServices":{"type":"bool","id":17,"options":{"default":false}},"pyGenericServices":{"type":"bool","id":18,"options":{"default":false}},"deprecated":{"type":"bool","id":23,"options":{"default":false}},"ccEnableArenas":{"type":"bool","id":31,"options":{"default":true}},"objcClassPrefix":{"type":"string","id":36},"csharpNamespace":{"type":"string","id":37},"swiftPrefix":{"type":"string","id":39},"phpClassPrefix":{"type":"string","id":40},"phpNamespace":{"type":"string","id":41},"phpMetadataNamespace":{"type":"string","id":44},"rubyPackage":{"type":"string","id":45},"features":{"type":"FeatureSet","id":50},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[42,42],[38,38]],"nested":{"OptimizeMode":{"values":{"SPEED":1,"CODE_SIZE":2,"LITE_RUNTIME":3}}}},"MessageOptions":{"fields":{"messageSetWireFormat":{"type":"bool","id":1,"options":{"default":false}},"noStandardDescriptorAccessor":{"type":"bool","id":2,"options":{"default":false}},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"mapEntry":{"type":"bool","id":7},"deprecatedLegacyJsonFieldConflicts":{"type":"bool","id":11,"options":{"deprecated":true}},"features":{"type":"FeatureSet","id":12},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[4,4],[5,5],[6,6],[8,8],[9,9]]},"FieldOptions":{"fields":{"ctype":{"type":"CType","id":1,"options":{"default":"STRING"}},"packed":{"type":"bool","id":2},"jstype":{"type":"JSType","id":6,"options":{"default":"JS_NORMAL"}},"lazy":{"type":"bool","id":5,"options":{"default":false}},"unverifiedLazy":{"type":"bool","id":15,"options":{"default":false}},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"weak":{"type":"bool","id":10,"options":{"default":false}},"debugRedact":{"type":"bool","id":16,"options":{"default":false}},"retention":{"type":"OptionRetention","id":17},"targets":{"rule":"repeated","type":"OptionTargetType","id":19,"options":{"packed":false}},"editionDefaults":{"rule":"repeated","type":"EditionDefault","id":20},"features":{"type":"FeatureSet","id":21},"featureSupport":{"type":"FeatureSupport","id":22},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[4,4],[18,18]],"nested":{"CType":{"values":{"STRING":0,"CORD":1,"STRING_PIECE":2}},"JSType":{"values":{"JS_NORMAL":0,"JS_STRING":1,"JS_NUMBER":2}},"OptionRetention":{"values":{"RETENTION_UNKNOWN":0,"RETENTION_RUNTIME":1,"RETENTION_SOURCE":2}},"OptionTargetType":{"values":{"TARGET_TYPE_UNKNOWN":0,"TARGET_TYPE_FILE":1,"TARGET_TYPE_EXTENSION_RANGE":2,"TARGET_TYPE_MESSAGE":3,"TARGET_TYPE_FIELD":4,"TARGET_TYPE_ONEOF":5,"TARGET_TYPE_ENUM":6,"TARGET_TYPE_ENUM_ENTRY":7,"TARGET_TYPE_SERVICE":8,"TARGET_TYPE_METHOD":9}},"EditionDefault":{"fields":{"edition":{"type":"Edition","id":3},"value":{"type":"string","id":2}}},"FeatureSupport":{"fields":{"editionIntroduced":{"type":"Edition","id":1},"editionDeprecated":{"type":"Edition","id":2},"deprecationWarning":{"type":"string","id":3},"editionRemoved":{"type":"Edition","id":4}}}}},"OneofOptions":{"fields":{"features":{"type":"FeatureSet","id":1},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"EnumOptions":{"fields":{"allowAlias":{"type":"bool","id":2},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"deprecatedLegacyJsonFieldConflicts":{"type":"bool","id":6,"options":{"deprecated":true}},"features":{"type":"FeatureSet","id":7},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[5,5]]},"EnumValueOptions":{"fields":{"deprecated":{"type":"bool","id":1,"options":{"default":false}},"features":{"type":"FeatureSet","id":2},"debugRedact":{"type":"bool","id":3,"options":{"default":false}},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"ServiceOptions":{"fields":{"features":{"type":"FeatureSet","id":34},"deprecated":{"type":"bool","id":33,"options":{"default":false}},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"MethodOptions":{"fields":{"deprecated":{"type":"bool","id":33,"options":{"default":false}},"idempotencyLevel":{"type":"IdempotencyLevel","id":34,"options":{"default":"IDEMPOTENCY_UNKNOWN"}},"features":{"type":"FeatureSet","id":35},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"nested":{"IdempotencyLevel":{"values":{"IDEMPOTENCY_UNKNOWN":0,"NO_SIDE_EFFECTS":1,"IDEMPOTENT":2}}}},"UninterpretedOption":{"fields":{"name":{"rule":"repeated","type":"NamePart","id":2},"identifierValue":{"type":"string","id":3},"positiveIntValue":{"type":"uint64","id":4},"negativeIntValue":{"type":"int64","id":5},"doubleValue":{"type":"double","id":6},"stringValue":{"type":"bytes","id":7},"aggregateValue":{"type":"string","id":8}},"nested":{"NamePart":{"fields":{"namePart":{"rule":"required","type":"string","id":1},"isExtension":{"rule":"required","type":"bool","id":2}}}}},"FeatureSet":{"fields":{"fieldPresence":{"type":"FieldPresence","id":1,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_2023","edition_defaults.value":"EXPLICIT"}},"enumType":{"type":"EnumType","id":2,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"OPEN"}},"repeatedFieldEncoding":{"type":"RepeatedFieldEncoding","id":3,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"PACKED"}},"utf8Validation":{"type":"Utf8Validation","id":4,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"VERIFY"}},"messageEncoding":{"type":"MessageEncoding","id":5,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO2","edition_defaults.value":"LENGTH_PREFIXED"}},"jsonFormat":{"type":"JsonFormat","id":6,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"ALLOW"}}},"extensions":[[1e3,1e3],[1001,1001],[1002,1002],[9990,9990],[9995,9999],[1e4,1e4]],"reserved":[[999,999]],"nested":{"FieldPresence":{"values":{"FIELD_PRESENCE_UNKNOWN":0,"EXPLICIT":1,"IMPLICIT":2,"LEGACY_REQUIRED":3}},"EnumType":{"values":{"ENUM_TYPE_UNKNOWN":0,"OPEN":1,"CLOSED":2}},"RepeatedFieldEncoding":{"values":{"REPEATED_FIELD_ENCODING_UNKNOWN":0,"PACKED":1,"EXPANDED":2}},"Utf8Validation":{"values":{"UTF8_VALIDATION_UNKNOWN":0,"VERIFY":2,"NONE":3}},"MessageEncoding":{"values":{"MESSAGE_ENCODING_UNKNOWN":0,"LENGTH_PREFIXED":1,"DELIMITED":2}},"JsonFormat":{"values":{"JSON_FORMAT_UNKNOWN":0,"ALLOW":1,"LEGACY_BEST_EFFORT":2}}}},"FeatureSetDefaults":{"fields":{"defaults":{"rule":"repeated","type":"FeatureSetEditionDefault","id":1},"minimumEdition":{"type":"Edition","id":4},"maximumEdition":{"type":"Edition","id":5}},"nested":{"FeatureSetEditionDefault":{"fields":{"edition":{"type":"Edition","id":3},"overridableFeatures":{"type":"FeatureSet","id":4},"fixedFeatures":{"type":"FeatureSet","id":5},"features":{"type":"FeatureSet","id":2}}}}},"SourceCodeInfo":{"fields":{"location":{"rule":"repeated","type":"Location","id":1}},"nested":{"Location":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"span":{"rule":"repeated","type":"int32","id":2},"leadingComments":{"type":"string","id":3},"trailingComments":{"type":"string","id":4},"leadingDetachedComments":{"rule":"repeated","type":"string","id":6}}}}},"GeneratedCodeInfo":{"fields":{"annotation":{"rule":"repeated","type":"Annotation","id":1}},"nested":{"Annotation":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"sourceFile":{"type":"string","id":2},"begin":{"type":"int32","id":3},"end":{"type":"int32","id":4},"semantic":{"type":"Semantic","id":5}},"nested":{"Semantic":{"values":{"NONE":0,"SET":1,"ALIAS":2}}}}}},"Timestamp":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}}},"Duration":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}}},"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}}},"Empty":{"fields":{}},"FieldMask":{"fields":{"paths":{"rule":"repeated","type":"string","id":1}}},"Struct":{"fields":{"fields":{"keyType":"string","type":"Value","id":1}}},"Value":{"oneofs":{"kind":{"oneof":["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},"fields":{"nullValue":{"type":"NullValue","id":1},"numberValue":{"type":"double","id":2},"stringValue":{"type":"string","id":3},"boolValue":{"type":"bool","id":4},"structValue":{"type":"Struct","id":5},"listValue":{"type":"ListValue","id":6}}},"NullValue":{"values":{"NULL_VALUE":0}},"ListValue":{"fields":{"values":{"rule":"repeated","type":"Value","id":1}}},"DoubleValue":{"fields":{"value":{"type":"double","id":1}}},"FloatValue":{"fields":{"value":{"type":"float","id":1}}},"Int64Value":{"fields":{"value":{"type":"int64","id":1}}},"UInt64Value":{"fields":{"value":{"type":"uint64","id":1}}},"Int32Value":{"fields":{"value":{"type":"int32","id":1}}},"UInt32Value":{"fields":{"value":{"type":"uint32","id":1}}},"BoolValue":{"fields":{"value":{"type":"bool","id":1}}},"StringValue":{"fields":{"value":{"type":"string","id":1}}},"BytesValue":{"fields":{"value":{"type":"bytes","id":1}}}}},"type":{"options":{"go_package":"google.golang.org/genproto/googleapis/type/latlng;latlng","java_multiple_files":true,"java_outer_classname":"LatLngProto","java_package":"com.google.type","objc_class_prefix":"GTP","cc_enable_arenas":true},"nested":{"DayOfWeek":{"values":{"DAY_OF_WEEK_UNSPECIFIED":0,"MONDAY":1,"TUESDAY":2,"WEDNESDAY":3,"THURSDAY":4,"FRIDAY":5,"SATURDAY":6,"SUNDAY":7}},"LatLng":{"fields":{"latitude":{"type":"double","id":1},"longitude":{"type":"double","id":2}}}}},"longrunning":{"options":{"cc_enable_arenas":true,"csharp_namespace":"Google.LongRunning","go_package":"cloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb","java_multiple_files":true,"java_outer_classname":"OperationsProto","java_package":"com.google.longrunning","php_namespace":"Google\\LongRunning"},"nested":{"operationInfo":{"type":"google.longrunning.OperationInfo","id":1049,"extend":"google.protobuf.MethodOptions"},"Operations":{"options":{"(google.api.default_host)":"longrunning.googleapis.com"},"methods":{"ListOperations":{"requestType":"ListOperationsRequest","responseType":"ListOperationsResponse","options":{"(google.api.http).get":"/v1/{name=operations}","(google.api.method_signature)":"name,filter"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=operations}"}},{"(google.api.method_signature)":"name,filter"}]},"GetOperation":{"requestType":"GetOperationRequest","responseType":"Operation","options":{"(google.api.http).get":"/v1/{name=operations/**}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=operations/**}"}},{"(google.api.method_signature)":"name"}]},"DeleteOperation":{"requestType":"DeleteOperationRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).delete":"/v1/{name=operations/**}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1/{name=operations/**}"}},{"(google.api.method_signature)":"name"}]},"CancelOperation":{"requestType":"CancelOperationRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).post":"/v1/{name=operations/**}:cancel","(google.api.http).body":"*","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{name=operations/**}:cancel","body":"*"}},{"(google.api.method_signature)":"name"}]},"WaitOperation":{"requestType":"WaitOperationRequest","responseType":"Operation"}}},"Operation":{"oneofs":{"result":{"oneof":["error","response"]}},"fields":{"name":{"type":"string","id":1},"metadata":{"type":"google.protobuf.Any","id":2},"done":{"type":"bool","id":3},"error":{"type":"google.rpc.Status","id":4},"response":{"type":"google.protobuf.Any","id":5}}},"GetOperationRequest":{"fields":{"name":{"type":"string","id":1}}},"ListOperationsRequest":{"fields":{"name":{"type":"string","id":4},"filter":{"type":"string","id":1},"pageSize":{"type":"int32","id":2},"pageToken":{"type":"string","id":3}}},"ListOperationsResponse":{"fields":{"operations":{"rule":"repeated","type":"Operation","id":1},"nextPageToken":{"type":"string","id":2}}},"CancelOperationRequest":{"fields":{"name":{"type":"string","id":1}}},"DeleteOperationRequest":{"fields":{"name":{"type":"string","id":1}}},"WaitOperationRequest":{"fields":{"name":{"type":"string","id":1},"timeout":{"type":"google.protobuf.Duration","id":2}}},"OperationInfo":{"fields":{"responseType":{"type":"string","id":1},"metadataType":{"type":"string","id":2}}}}},"rpc":{"options":{"cc_enable_arenas":true,"go_package":"google.golang.org/genproto/googleapis/rpc/status;status","java_multiple_files":true,"java_outer_classname":"StatusProto","java_package":"com.google.rpc","objc_class_prefix":"RPC"},"nested":{"Status":{"fields":{"code":{"type":"int32","id":1},"message":{"type":"string","id":2},"details":{"rule":"repeated","type":"google.protobuf.Any","id":3}}}}}}}}}

@@ -1,1 +0,1 @@

{"nested":{"google":{"nested":{"protobuf":{"options":{"go_package":"google.golang.org/protobuf/types/descriptorpb","java_package":"com.google.protobuf","java_outer_classname":"DescriptorProtos","csharp_namespace":"Google.Protobuf.Reflection","objc_class_prefix":"GPB","cc_enable_arenas":true,"optimize_for":"SPEED"},"nested":{"Struct":{"fields":{"fields":{"keyType":"string","type":"Value","id":1}}},"Value":{"oneofs":{"kind":{"oneof":["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},"fields":{"nullValue":{"type":"NullValue","id":1},"numberValue":{"type":"double","id":2},"stringValue":{"type":"string","id":3},"boolValue":{"type":"bool","id":4},"structValue":{"type":"Struct","id":5},"listValue":{"type":"ListValue","id":6}}},"NullValue":{"values":{"NULL_VALUE":0}},"ListValue":{"fields":{"values":{"rule":"repeated","type":"Value","id":1}}},"Timestamp":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}}},"FileDescriptorSet":{"fields":{"file":{"rule":"repeated","type":"FileDescriptorProto","id":1}}},"Edition":{"values":{"EDITION_UNKNOWN":0,"EDITION_PROTO2":998,"EDITION_PROTO3":999,"EDITION_2023":1e3,"EDITION_2024":1001,"EDITION_1_TEST_ONLY":1,"EDITION_2_TEST_ONLY":2,"EDITION_99997_TEST_ONLY":99997,"EDITION_99998_TEST_ONLY":99998,"EDITION_99999_TEST_ONLY":99999,"EDITION_MAX":2147483647}},"FileDescriptorProto":{"fields":{"name":{"type":"string","id":1},"package":{"type":"string","id":2},"dependency":{"rule":"repeated","type":"string","id":3},"publicDependency":{"rule":"repeated","type":"int32","id":10,"options":{"packed":false}},"weakDependency":{"rule":"repeated","type":"int32","id":11,"options":{"packed":false}},"messageType":{"rule":"repeated","type":"DescriptorProto","id":4},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":5},"service":{"rule":"repeated","type":"ServiceDescriptorProto","id":6},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":7},"options":{"type":"FileOptions","id":8},"sourceCodeInfo":{"type":"SourceCodeInfo","id":9},"syntax":{"type":"string","id":12},"edition":{"type":"Edition","id":14}}},"DescriptorProto":{"fields":{"name":{"type":"string","id":1},"field":{"rule":"repeated","type":"FieldDescriptorProto","id":2},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":6},"nestedType":{"rule":"repeated","type":"DescriptorProto","id":3},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":4},"extensionRange":{"rule":"repeated","type":"ExtensionRange","id":5},"oneofDecl":{"rule":"repeated","type":"OneofDescriptorProto","id":8},"options":{"type":"MessageOptions","id":7},"reservedRange":{"rule":"repeated","type":"ReservedRange","id":9},"reservedName":{"rule":"repeated","type":"string","id":10}},"nested":{"ExtensionRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2},"options":{"type":"ExtensionRangeOptions","id":3}}},"ReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}}}}},"ExtensionRangeOptions":{"fields":{"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999},"declaration":{"rule":"repeated","type":"Declaration","id":2,"options":{"retention":"RETENTION_SOURCE"}},"features":{"type":"FeatureSet","id":50},"verification":{"type":"VerificationState","id":3,"options":{"default":"UNVERIFIED","retention":"RETENTION_SOURCE"}}},"extensions":[[1e3,536870911]],"nested":{"Declaration":{"fields":{"number":{"type":"int32","id":1},"fullName":{"type":"string","id":2},"type":{"type":"string","id":3},"reserved":{"type":"bool","id":5},"repeated":{"type":"bool","id":6}},"reserved":[[4,4]]},"VerificationState":{"values":{"DECLARATION":0,"UNVERIFIED":1}}}},"FieldDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":3},"label":{"type":"Label","id":4},"type":{"type":"Type","id":5},"typeName":{"type":"string","id":6},"extendee":{"type":"string","id":2},"defaultValue":{"type":"string","id":7},"oneofIndex":{"type":"int32","id":9},"jsonName":{"type":"string","id":10},"options":{"type":"FieldOptions","id":8},"proto3Optional":{"type":"bool","id":17}},"nested":{"Type":{"values":{"TYPE_DOUBLE":1,"TYPE_FLOAT":2,"TYPE_INT64":3,"TYPE_UINT64":4,"TYPE_INT32":5,"TYPE_FIXED64":6,"TYPE_FIXED32":7,"TYPE_BOOL":8,"TYPE_STRING":9,"TYPE_GROUP":10,"TYPE_MESSAGE":11,"TYPE_BYTES":12,"TYPE_UINT32":13,"TYPE_ENUM":14,"TYPE_SFIXED32":15,"TYPE_SFIXED64":16,"TYPE_SINT32":17,"TYPE_SINT64":18}},"Label":{"values":{"LABEL_OPTIONAL":1,"LABEL_REPEATED":3,"LABEL_REQUIRED":2}}}},"OneofDescriptorProto":{"fields":{"name":{"type":"string","id":1},"options":{"type":"OneofOptions","id":2}}},"EnumDescriptorProto":{"fields":{"name":{"type":"string","id":1},"value":{"rule":"repeated","type":"EnumValueDescriptorProto","id":2},"options":{"type":"EnumOptions","id":3},"reservedRange":{"rule":"repeated","type":"EnumReservedRange","id":4},"reservedName":{"rule":"repeated","type":"string","id":5}},"nested":{"EnumReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}}}}},"EnumValueDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":2},"options":{"type":"EnumValueOptions","id":3}}},"ServiceDescriptorProto":{"fields":{"name":{"type":"string","id":1},"method":{"rule":"repeated","type":"MethodDescriptorProto","id":2},"options":{"type":"ServiceOptions","id":3}}},"MethodDescriptorProto":{"fields":{"name":{"type":"string","id":1},"inputType":{"type":"string","id":2},"outputType":{"type":"string","id":3},"options":{"type":"MethodOptions","id":4},"clientStreaming":{"type":"bool","id":5,"options":{"default":false}},"serverStreaming":{"type":"bool","id":6,"options":{"default":false}}}},"FileOptions":{"fields":{"javaPackage":{"type":"string","id":1},"javaOuterClassname":{"type":"string","id":8},"javaMultipleFiles":{"type":"bool","id":10,"options":{"default":false}},"javaGenerateEqualsAndHash":{"type":"bool","id":20,"options":{"deprecated":true}},"javaStringCheckUtf8":{"type":"bool","id":27,"options":{"default":false}},"optimizeFor":{"type":"OptimizeMode","id":9,"options":{"default":"SPEED"}},"goPackage":{"type":"string","id":11},"ccGenericServices":{"type":"bool","id":16,"options":{"default":false}},"javaGenericServices":{"type":"bool","id":17,"options":{"default":false}},"pyGenericServices":{"type":"bool","id":18,"options":{"default":false}},"deprecated":{"type":"bool","id":23,"options":{"default":false}},"ccEnableArenas":{"type":"bool","id":31,"options":{"default":true}},"objcClassPrefix":{"type":"string","id":36},"csharpNamespace":{"type":"string","id":37},"swiftPrefix":{"type":"string","id":39},"phpClassPrefix":{"type":"string","id":40},"phpNamespace":{"type":"string","id":41},"phpMetadataNamespace":{"type":"string","id":44},"rubyPackage":{"type":"string","id":45},"features":{"type":"FeatureSet","id":50},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[42,42],[38,38]],"nested":{"OptimizeMode":{"values":{"SPEED":1,"CODE_SIZE":2,"LITE_RUNTIME":3}}}},"MessageOptions":{"fields":{"messageSetWireFormat":{"type":"bool","id":1,"options":{"default":false}},"noStandardDescriptorAccessor":{"type":"bool","id":2,"options":{"default":false}},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"mapEntry":{"type":"bool","id":7},"deprecatedLegacyJsonFieldConflicts":{"type":"bool","id":11,"options":{"deprecated":true}},"features":{"type":"FeatureSet","id":12},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[4,4],[5,5],[6,6],[8,8],[9,9]]},"FieldOptions":{"fields":{"ctype":{"type":"CType","id":1,"options":{"default":"STRING"}},"packed":{"type":"bool","id":2},"jstype":{"type":"JSType","id":6,"options":{"default":"JS_NORMAL"}},"lazy":{"type":"bool","id":5,"options":{"default":false}},"unverifiedLazy":{"type":"bool","id":15,"options":{"default":false}},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"weak":{"type":"bool","id":10,"options":{"default":false}},"debugRedact":{"type":"bool","id":16,"options":{"default":false}},"retention":{"type":"OptionRetention","id":17},"targets":{"rule":"repeated","type":"OptionTargetType","id":19,"options":{"packed":false}},"editionDefaults":{"rule":"repeated","type":"EditionDefault","id":20},"features":{"type":"FeatureSet","id":21},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[4,4],[18,18]],"nested":{"CType":{"values":{"STRING":0,"CORD":1,"STRING_PIECE":2}},"JSType":{"values":{"JS_NORMAL":0,"JS_STRING":1,"JS_NUMBER":2}},"OptionRetention":{"values":{"RETENTION_UNKNOWN":0,"RETENTION_RUNTIME":1,"RETENTION_SOURCE":2}},"OptionTargetType":{"values":{"TARGET_TYPE_UNKNOWN":0,"TARGET_TYPE_FILE":1,"TARGET_TYPE_EXTENSION_RANGE":2,"TARGET_TYPE_MESSAGE":3,"TARGET_TYPE_FIELD":4,"TARGET_TYPE_ONEOF":5,"TARGET_TYPE_ENUM":6,"TARGET_TYPE_ENUM_ENTRY":7,"TARGET_TYPE_SERVICE":8,"TARGET_TYPE_METHOD":9}},"EditionDefault":{"fields":{"edition":{"type":"Edition","id":3},"value":{"type":"string","id":2}}}}},"OneofOptions":{"fields":{"features":{"type":"FeatureSet","id":1},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"EnumOptions":{"fields":{"allowAlias":{"type":"bool","id":2},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"deprecatedLegacyJsonFieldConflicts":{"type":"bool","id":6,"options":{"deprecated":true}},"features":{"type":"FeatureSet","id":7},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[5,5]]},"EnumValueOptions":{"fields":{"deprecated":{"type":"bool","id":1,"options":{"default":false}},"features":{"type":"FeatureSet","id":2},"debugRedact":{"type":"bool","id":3,"options":{"default":false}},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"ServiceOptions":{"fields":{"features":{"type":"FeatureSet","id":34},"deprecated":{"type":"bool","id":33,"options":{"default":false}},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"MethodOptions":{"fields":{"deprecated":{"type":"bool","id":33,"options":{"default":false}},"idempotencyLevel":{"type":"IdempotencyLevel","id":34,"options":{"default":"IDEMPOTENCY_UNKNOWN"}},"features":{"type":"FeatureSet","id":35},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"nested":{"IdempotencyLevel":{"values":{"IDEMPOTENCY_UNKNOWN":0,"NO_SIDE_EFFECTS":1,"IDEMPOTENT":2}}}},"UninterpretedOption":{"fields":{"name":{"rule":"repeated","type":"NamePart","id":2},"identifierValue":{"type":"string","id":3},"positiveIntValue":{"type":"uint64","id":4},"negativeIntValue":{"type":"int64","id":5},"doubleValue":{"type":"double","id":6},"stringValue":{"type":"bytes","id":7},"aggregateValue":{"type":"string","id":8}},"nested":{"NamePart":{"fields":{"namePart":{"rule":"required","type":"string","id":1},"isExtension":{"rule":"required","type":"bool","id":2}}}}},"FeatureSet":{"fields":{"fieldPresence":{"type":"FieldPresence","id":1,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_2023","edition_defaults.value":"EXPLICIT"}},"enumType":{"type":"EnumType","id":2,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"OPEN"}},"repeatedFieldEncoding":{"type":"RepeatedFieldEncoding","id":3,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"PACKED"}},"utf8Validation":{"type":"Utf8Validation","id":4,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"VERIFY"}},"messageEncoding":{"type":"MessageEncoding","id":5,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO2","edition_defaults.value":"LENGTH_PREFIXED"}},"jsonFormat":{"type":"JsonFormat","id":6,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"ALLOW"}}},"extensions":[[1e3,1e3],[1001,1001],[1002,1002],[9990,9990],[9995,9999],[1e4,1e4]],"reserved":[[999,999]],"nested":{"FieldPresence":{"values":{"FIELD_PRESENCE_UNKNOWN":0,"EXPLICIT":1,"IMPLICIT":2,"LEGACY_REQUIRED":3}},"EnumType":{"values":{"ENUM_TYPE_UNKNOWN":0,"OPEN":1,"CLOSED":2}},"RepeatedFieldEncoding":{"values":{"REPEATED_FIELD_ENCODING_UNKNOWN":0,"PACKED":1,"EXPANDED":2}},"Utf8Validation":{"values":{"UTF8_VALIDATION_UNKNOWN":0,"VERIFY":2,"NONE":3}},"MessageEncoding":{"values":{"MESSAGE_ENCODING_UNKNOWN":0,"LENGTH_PREFIXED":1,"DELIMITED":2}},"JsonFormat":{"values":{"JSON_FORMAT_UNKNOWN":0,"ALLOW":1,"LEGACY_BEST_EFFORT":2}}}},"FeatureSetDefaults":{"fields":{"defaults":{"rule":"repeated","type":"FeatureSetEditionDefault","id":1},"minimumEdition":{"type":"Edition","id":4},"maximumEdition":{"type":"Edition","id":5}},"nested":{"FeatureSetEditionDefault":{"fields":{"edition":{"type":"Edition","id":3},"features":{"type":"FeatureSet","id":2}}}}},"SourceCodeInfo":{"fields":{"location":{"rule":"repeated","type":"Location","id":1}},"nested":{"Location":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"span":{"rule":"repeated","type":"int32","id":2},"leadingComments":{"type":"string","id":3},"trailingComments":{"type":"string","id":4},"leadingDetachedComments":{"rule":"repeated","type":"string","id":6}}}}},"GeneratedCodeInfo":{"fields":{"annotation":{"rule":"repeated","type":"Annotation","id":1}},"nested":{"Annotation":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"sourceFile":{"type":"string","id":2},"begin":{"type":"int32","id":3},"end":{"type":"int32","id":4},"semantic":{"type":"Semantic","id":5}},"nested":{"Semantic":{"values":{"NONE":0,"SET":1,"ALIAS":2}}}}}},"Duration":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}}},"DoubleValue":{"fields":{"value":{"type":"double","id":1}}},"FloatValue":{"fields":{"value":{"type":"float","id":1}}},"Int64Value":{"fields":{"value":{"type":"int64","id":1}}},"UInt64Value":{"fields":{"value":{"type":"uint64","id":1}}},"Int32Value":{"fields":{"value":{"type":"int32","id":1}}},"UInt32Value":{"fields":{"value":{"type":"uint32","id":1}}},"BoolValue":{"fields":{"value":{"type":"bool","id":1}}},"StringValue":{"fields":{"value":{"type":"string","id":1}}},"BytesValue":{"fields":{"value":{"type":"bytes","id":1}}},"Empty":{"fields":{}},"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}}},"FieldMask":{"fields":{"paths":{"rule":"repeated","type":"string","id":1}}}}},"firestore":{"nested":{"v1":{"options":{"csharp_namespace":"Google.Cloud.Firestore.V1","go_package":"cloud.google.com/go/firestore/apiv1/firestorepb;firestorepb","java_multiple_files":true,"java_outer_classname":"WriteProto","java_package":"com.google.firestore.v1","objc_class_prefix":"GCFS","php_namespace":"Google\\Cloud\\Firestore\\V1","ruby_package":"Google::Cloud::Firestore::V1"},"nested":{"AggregationResult":{"fields":{"aggregateFields":{"keyType":"string","type":"Value","id":2}}},"Document":{"fields":{"name":{"type":"string","id":1},"fields":{"keyType":"string","type":"Value","id":2},"createTime":{"type":"google.protobuf.Timestamp","id":3},"updateTime":{"type":"google.protobuf.Timestamp","id":4}}},"Value":{"oneofs":{"valueType":{"oneof":["nullValue","booleanValue","integerValue","doubleValue","timestampValue","stringValue","bytesValue","referenceValue","geoPointValue","arrayValue","mapValue"]}},"fields":{"nullValue":{"type":"google.protobuf.NullValue","id":11},"booleanValue":{"type":"bool","id":1},"integerValue":{"type":"int64","id":2},"doubleValue":{"type":"double","id":3},"timestampValue":{"type":"google.protobuf.Timestamp","id":10},"stringValue":{"type":"string","id":17},"bytesValue":{"type":"bytes","id":18},"referenceValue":{"type":"string","id":5},"geoPointValue":{"type":"google.type.LatLng","id":8},"arrayValue":{"type":"ArrayValue","id":9},"mapValue":{"type":"MapValue","id":6}}},"ArrayValue":{"fields":{"values":{"rule":"repeated","type":"Value","id":1}}},"MapValue":{"fields":{"fields":{"keyType":"string","type":"Value","id":1}}},"BitSequence":{"fields":{"bitmap":{"type":"bytes","id":1},"padding":{"type":"int32","id":2}}},"BloomFilter":{"fields":{"bits":{"type":"BitSequence","id":1},"hashCount":{"type":"int32","id":2}}},"DocumentMask":{"fields":{"fieldPaths":{"rule":"repeated","type":"string","id":1}}},"Precondition":{"oneofs":{"conditionType":{"oneof":["exists","updateTime"]}},"fields":{"exists":{"type":"bool","id":1},"updateTime":{"type":"google.protobuf.Timestamp","id":2}}},"TransactionOptions":{"oneofs":{"mode":{"oneof":["readOnly","readWrite"]}},"fields":{"readOnly":{"type":"ReadOnly","id":2},"readWrite":{"type":"ReadWrite","id":3}},"nested":{"ReadWrite":{"fields":{"retryTransaction":{"type":"bytes","id":1}}},"ReadOnly":{"oneofs":{"consistencySelector":{"oneof":["readTime"]}},"fields":{"readTime":{"type":"google.protobuf.Timestamp","id":2}}}}},"Firestore":{"options":{"(google.api.default_host)":"firestore.googleapis.com","(google.api.oauth_scopes)":"https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/datastore"},"methods":{"GetDocument":{"requestType":"GetDocumentRequest","responseType":"Document","options":{"(google.api.http).get":"/v1/{name=projects/*/databases/*/documents/*/**}"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=projects/*/databases/*/documents/*/**}"}}]},"ListDocuments":{"requestType":"ListDocumentsRequest","responseType":"ListDocumentsResponse","options":{"(google.api.http).get":"/v1/{parent=projects/*/databases/*/documents/*/**}/{collection_id}","(google.api.http).additional_bindings.get":"/v1/{parent=projects/*/databases/*/documents}/{collection_id}"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{parent=projects/*/databases/*/documents/*/**}/{collection_id}","additional_bindings":{"get":"/v1/{parent=projects/*/databases/*/documents}/{collection_id}"}}}]},"UpdateDocument":{"requestType":"UpdateDocumentRequest","responseType":"Document","options":{"(google.api.http).patch":"/v1/{document.name=projects/*/databases/*/documents/*/**}","(google.api.http).body":"document","(google.api.method_signature)":"document,update_mask"},"parsedOptions":[{"(google.api.http)":{"patch":"/v1/{document.name=projects/*/databases/*/documents/*/**}","body":"document"}},{"(google.api.method_signature)":"document,update_mask"}]},"DeleteDocument":{"requestType":"DeleteDocumentRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).delete":"/v1/{name=projects/*/databases/*/documents/*/**}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1/{name=projects/*/databases/*/documents/*/**}"}},{"(google.api.method_signature)":"name"}]},"BatchGetDocuments":{"requestType":"BatchGetDocumentsRequest","responseType":"BatchGetDocumentsResponse","responseStream":true,"options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:batchGet","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:batchGet","body":"*"}}]},"BeginTransaction":{"requestType":"BeginTransactionRequest","responseType":"BeginTransactionResponse","options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:beginTransaction","(google.api.http).body":"*","(google.api.method_signature)":"database"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:beginTransaction","body":"*"}},{"(google.api.method_signature)":"database"}]},"Commit":{"requestType":"CommitRequest","responseType":"CommitResponse","options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:commit","(google.api.http).body":"*","(google.api.method_signature)":"database,writes"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:commit","body":"*"}},{"(google.api.method_signature)":"database,writes"}]},"Rollback":{"requestType":"RollbackRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:rollback","(google.api.http).body":"*","(google.api.method_signature)":"database,transaction"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:rollback","body":"*"}},{"(google.api.method_signature)":"database,transaction"}]},"RunQuery":{"requestType":"RunQueryRequest","responseType":"RunQueryResponse","responseStream":true,"options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*/documents}:runQuery","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1/{parent=projects/*/databases/*/documents/*/**}:runQuery","(google.api.http).additional_bindings.body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*/documents}:runQuery","body":"*","additional_bindings":{"post":"/v1/{parent=projects/*/databases/*/documents/*/**}:runQuery","body":"*"}}}]},"RunAggregationQuery":{"requestType":"RunAggregationQueryRequest","responseType":"RunAggregationQueryResponse","responseStream":true,"options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*/documents}:runAggregationQuery","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1/{parent=projects/*/databases/*/documents/*/**}:runAggregationQuery","(google.api.http).additional_bindings.body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*/documents}:runAggregationQuery","body":"*","additional_bindings":{"post":"/v1/{parent=projects/*/databases/*/documents/*/**}:runAggregationQuery","body":"*"}}}]},"PartitionQuery":{"requestType":"PartitionQueryRequest","responseType":"PartitionQueryResponse","options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*/documents}:partitionQuery","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1/{parent=projects/*/databases/*/documents/*/**}:partitionQuery","(google.api.http).additional_bindings.body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*/documents}:partitionQuery","body":"*","additional_bindings":{"post":"/v1/{parent=projects/*/databases/*/documents/*/**}:partitionQuery","body":"*"}}}]},"Write":{"requestType":"WriteRequest","requestStream":true,"responseType":"WriteResponse","responseStream":true,"options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:write","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:write","body":"*"}}]},"Listen":{"requestType":"ListenRequest","requestStream":true,"responseType":"ListenResponse","responseStream":true,"options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:listen","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:listen","body":"*"}}]},"ListCollectionIds":{"requestType":"ListCollectionIdsRequest","responseType":"ListCollectionIdsResponse","options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*/documents}:listCollectionIds","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1/{parent=projects/*/databases/*/documents/*/**}:listCollectionIds","(google.api.http).additional_bindings.body":"*","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*/documents}:listCollectionIds","body":"*","additional_bindings":{"post":"/v1/{parent=projects/*/databases/*/documents/*/**}:listCollectionIds","body":"*"}}},{"(google.api.method_signature)":"parent"}]},"BatchWrite":{"requestType":"BatchWriteRequest","responseType":"BatchWriteResponse","options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:batchWrite","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:batchWrite","body":"*"}}]},"CreateDocument":{"requestType":"CreateDocumentRequest","responseType":"Document","options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*/documents/**}/{collection_id}","(google.api.http).body":"document"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*/documents/**}/{collection_id}","body":"document"}}]}}},"GetDocumentRequest":{"oneofs":{"consistencySelector":{"oneof":["transaction","readTime"]}},"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"mask":{"type":"DocumentMask","id":2},"transaction":{"type":"bytes","id":3},"readTime":{"type":"google.protobuf.Timestamp","id":5}}},"ListDocumentsRequest":{"oneofs":{"consistencySelector":{"oneof":["transaction","readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"collectionId":{"type":"string","id":2,"options":{"(google.api.field_behavior)":"OPTIONAL"}},"pageSize":{"type":"int32","id":3,"options":{"(google.api.field_behavior)":"OPTIONAL"}},"pageToken":{"type":"string","id":4,"options":{"(google.api.field_behavior)":"OPTIONAL"}},"orderBy":{"type":"string","id":6,"options":{"(google.api.field_behavior)":"OPTIONAL"}},"mask":{"type":"DocumentMask","id":7,"options":{"(google.api.field_behavior)":"OPTIONAL"}},"transaction":{"type":"bytes","id":8},"readTime":{"type":"google.protobuf.Timestamp","id":10},"showMissing":{"type":"bool","id":12}}},"ListDocumentsResponse":{"fields":{"documents":{"rule":"repeated","type":"Document","id":1},"nextPageToken":{"type":"string","id":2}}},"CreateDocumentRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"collectionId":{"type":"string","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}},"documentId":{"type":"string","id":3},"document":{"type":"Document","id":4,"options":{"(google.api.field_behavior)":"REQUIRED"}},"mask":{"type":"DocumentMask","id":5}}},"UpdateDocumentRequest":{"fields":{"document":{"type":"Document","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"updateMask":{"type":"DocumentMask","id":2},"mask":{"type":"DocumentMask","id":3},"currentDocument":{"type":"Precondition","id":4}}},"DeleteDocumentRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"currentDocument":{"type":"Precondition","id":2}}},"BatchGetDocumentsRequest":{"oneofs":{"consistencySelector":{"oneof":["transaction","newTransaction","readTime"]}},"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"documents":{"rule":"repeated","type":"string","id":2},"mask":{"type":"DocumentMask","id":3},"transaction":{"type":"bytes","id":4},"newTransaction":{"type":"TransactionOptions","id":5},"readTime":{"type":"google.protobuf.Timestamp","id":7}}},"BatchGetDocumentsResponse":{"oneofs":{"result":{"oneof":["found","missing"]}},"fields":{"found":{"type":"Document","id":1},"missing":{"type":"string","id":2},"transaction":{"type":"bytes","id":3},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"BeginTransactionRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"options":{"type":"TransactionOptions","id":2}}},"BeginTransactionResponse":{"fields":{"transaction":{"type":"bytes","id":1}}},"CommitRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"writes":{"rule":"repeated","type":"Write","id":2},"transaction":{"type":"bytes","id":3}}},"CommitResponse":{"fields":{"writeResults":{"rule":"repeated","type":"WriteResult","id":1},"commitTime":{"type":"google.protobuf.Timestamp","id":2}}},"RollbackRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"transaction":{"type":"bytes","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}}}},"RunQueryRequest":{"oneofs":{"queryType":{"oneof":["structuredQuery"]},"consistencySelector":{"oneof":["transaction","newTransaction","readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"structuredQuery":{"type":"StructuredQuery","id":2},"transaction":{"type":"bytes","id":5},"newTransaction":{"type":"TransactionOptions","id":6},"readTime":{"type":"google.protobuf.Timestamp","id":7},"explainOptions":{"type":"ExplainOptions","id":10,"options":{"(google.api.field_behavior)":"OPTIONAL"}}}},"RunQueryResponse":{"oneofs":{"continuationSelector":{"oneof":["done"]}},"fields":{"transaction":{"type":"bytes","id":2},"document":{"type":"Document","id":1},"readTime":{"type":"google.protobuf.Timestamp","id":3},"skippedResults":{"type":"int32","id":4},"done":{"type":"bool","id":6},"explainMetrics":{"type":"ExplainMetrics","id":11}}},"RunAggregationQueryRequest":{"oneofs":{"queryType":{"oneof":["structuredAggregationQuery"]},"consistencySelector":{"oneof":["transaction","newTransaction","readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"structuredAggregationQuery":{"type":"StructuredAggregationQuery","id":2},"transaction":{"type":"bytes","id":4},"newTransaction":{"type":"TransactionOptions","id":5},"readTime":{"type":"google.protobuf.Timestamp","id":6},"explainOptions":{"type":"ExplainOptions","id":8,"options":{"(google.api.field_behavior)":"OPTIONAL"}}}},"RunAggregationQueryResponse":{"fields":{"result":{"type":"AggregationResult","id":1},"transaction":{"type":"bytes","id":2},"readTime":{"type":"google.protobuf.Timestamp","id":3},"explainMetrics":{"type":"ExplainMetrics","id":10}}},"PartitionQueryRequest":{"oneofs":{"queryType":{"oneof":["structuredQuery"]},"consistencySelector":{"oneof":["readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"structuredQuery":{"type":"StructuredQuery","id":2},"partitionCount":{"type":"int64","id":3},"pageToken":{"type":"string","id":4},"pageSize":{"type":"int32","id":5},"readTime":{"type":"google.protobuf.Timestamp","id":6}}},"PartitionQueryResponse":{"fields":{"partitions":{"rule":"repeated","type":"Cursor","id":1},"nextPageToken":{"type":"string","id":2}}},"WriteRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"streamId":{"type":"string","id":2},"writes":{"rule":"repeated","type":"Write","id":3},"streamToken":{"type":"bytes","id":4},"labels":{"keyType":"string","type":"string","id":5}}},"WriteResponse":{"fields":{"streamId":{"type":"string","id":1},"streamToken":{"type":"bytes","id":2},"writeResults":{"rule":"repeated","type":"WriteResult","id":3},"commitTime":{"type":"google.protobuf.Timestamp","id":4}}},"ListenRequest":{"oneofs":{"targetChange":{"oneof":["addTarget","removeTarget"]}},"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"addTarget":{"type":"Target","id":2},"removeTarget":{"type":"int32","id":3},"labels":{"keyType":"string","type":"string","id":4}}},"ListenResponse":{"oneofs":{"responseType":{"oneof":["targetChange","documentChange","documentDelete","documentRemove","filter"]}},"fields":{"targetChange":{"type":"TargetChange","id":2},"documentChange":{"type":"DocumentChange","id":3},"documentDelete":{"type":"DocumentDelete","id":4},"documentRemove":{"type":"DocumentRemove","id":6},"filter":{"type":"ExistenceFilter","id":5}}},"Target":{"oneofs":{"targetType":{"oneof":["query","documents"]},"resumeType":{"oneof":["resumeToken","readTime"]}},"fields":{"query":{"type":"QueryTarget","id":2},"documents":{"type":"DocumentsTarget","id":3},"resumeToken":{"type":"bytes","id":4},"readTime":{"type":"google.protobuf.Timestamp","id":11},"targetId":{"type":"int32","id":5},"once":{"type":"bool","id":6},"expectedCount":{"type":"google.protobuf.Int32Value","id":12}},"nested":{"DocumentsTarget":{"fields":{"documents":{"rule":"repeated","type":"string","id":2}}},"QueryTarget":{"oneofs":{"queryType":{"oneof":["structuredQuery"]}},"fields":{"parent":{"type":"string","id":1},"structuredQuery":{"type":"StructuredQuery","id":2}}}}},"TargetChange":{"fields":{"targetChangeType":{"type":"TargetChangeType","id":1},"targetIds":{"rule":"repeated","type":"int32","id":2},"cause":{"type":"google.rpc.Status","id":3},"resumeToken":{"type":"bytes","id":4},"readTime":{"type":"google.protobuf.Timestamp","id":6}},"nested":{"TargetChangeType":{"values":{"NO_CHANGE":0,"ADD":1,"REMOVE":2,"CURRENT":3,"RESET":4}}}},"ListCollectionIdsRequest":{"oneofs":{"consistencySelector":{"oneof":["readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"pageSize":{"type":"int32","id":2},"pageToken":{"type":"string","id":3},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"ListCollectionIdsResponse":{"fields":{"collectionIds":{"rule":"repeated","type":"string","id":1},"nextPageToken":{"type":"string","id":2}}},"BatchWriteRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"writes":{"rule":"repeated","type":"Write","id":2},"labels":{"keyType":"string","type":"string","id":3}}},"BatchWriteResponse":{"fields":{"writeResults":{"rule":"repeated","type":"WriteResult","id":1},"status":{"rule":"repeated","type":"google.rpc.Status","id":2}}},"StructuredQuery":{"fields":{"select":{"type":"Projection","id":1},"from":{"rule":"repeated","type":"CollectionSelector","id":2},"where":{"type":"Filter","id":3},"orderBy":{"rule":"repeated","type":"Order","id":4},"startAt":{"type":"Cursor","id":7},"endAt":{"type":"Cursor","id":8},"offset":{"type":"int32","id":6},"limit":{"type":"google.protobuf.Int32Value","id":5},"findNearest":{"type":"FindNearest","id":9,"options":{"(google.api.field_behavior)":"OPTIONAL"}}},"nested":{"CollectionSelector":{"fields":{"collectionId":{"type":"string","id":2},"allDescendants":{"type":"bool","id":3}}},"Filter":{"oneofs":{"filterType":{"oneof":["compositeFilter","fieldFilter","unaryFilter"]}},"fields":{"compositeFilter":{"type":"CompositeFilter","id":1},"fieldFilter":{"type":"FieldFilter","id":2},"unaryFilter":{"type":"UnaryFilter","id":3}}},"CompositeFilter":{"fields":{"op":{"type":"Operator","id":1},"filters":{"rule":"repeated","type":"Filter","id":2}},"nested":{"Operator":{"values":{"OPERATOR_UNSPECIFIED":0,"AND":1,"OR":2}}}},"FieldFilter":{"fields":{"field":{"type":"FieldReference","id":1},"op":{"type":"Operator","id":2},"value":{"type":"Value","id":3}},"nested":{"Operator":{"values":{"OPERATOR_UNSPECIFIED":0,"LESS_THAN":1,"LESS_THAN_OR_EQUAL":2,"GREATER_THAN":3,"GREATER_THAN_OR_EQUAL":4,"EQUAL":5,"NOT_EQUAL":6,"ARRAY_CONTAINS":7,"IN":8,"ARRAY_CONTAINS_ANY":9,"NOT_IN":10}}}},"UnaryFilter":{"oneofs":{"operandType":{"oneof":["field"]}},"fields":{"op":{"type":"Operator","id":1},"field":{"type":"FieldReference","id":2}},"nested":{"Operator":{"values":{"OPERATOR_UNSPECIFIED":0,"IS_NAN":2,"IS_NULL":3,"IS_NOT_NAN":4,"IS_NOT_NULL":5}}}},"Order":{"fields":{"field":{"type":"FieldReference","id":1},"direction":{"type":"Direction","id":2}}},"Direction":{"values":{"DIRECTION_UNSPECIFIED":0,"ASCENDING":1,"DESCENDING":2}},"FieldReference":{"fields":{"fieldPath":{"type":"string","id":2}}},"Projection":{"fields":{"fields":{"rule":"repeated","type":"FieldReference","id":2}}},"FindNearest":{"fields":{"vectorField":{"type":"FieldReference","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"queryVector":{"type":"Value","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}},"distanceMeasure":{"type":"DistanceMeasure","id":3,"options":{"(google.api.field_behavior)":"REQUIRED"}},"limit":{"type":"google.protobuf.Int32Value","id":4,"options":{"(google.api.field_behavior)":"REQUIRED"}}},"nested":{"DistanceMeasure":{"values":{"DISTANCE_MEASURE_UNSPECIFIED":0,"EUCLIDEAN":1,"COSINE":2,"DOT_PRODUCT":3}}}}}},"StructuredAggregationQuery":{"oneofs":{"queryType":{"oneof":["structuredQuery"]}},"fields":{"structuredQuery":{"type":"StructuredQuery","id":1},"aggregations":{"rule":"repeated","type":"Aggregation","id":3,"options":{"(google.api.field_behavior)":"OPTIONAL"}}},"nested":{"Aggregation":{"oneofs":{"operator":{"oneof":["count","sum","avg"]}},"fields":{"count":{"type":"Count","id":1},"sum":{"type":"Sum","id":2},"avg":{"type":"Avg","id":3},"alias":{"type":"string","id":7,"options":{"(google.api.field_behavior)":"OPTIONAL"}}},"nested":{"Count":{"fields":{"upTo":{"type":"google.protobuf.Int64Value","id":1,"options":{"(google.api.field_behavior)":"OPTIONAL"}}}},"Sum":{"fields":{"field":{"type":"StructuredQuery.FieldReference","id":1}}},"Avg":{"fields":{"field":{"type":"StructuredQuery.FieldReference","id":1}}}}}}},"Cursor":{"fields":{"values":{"rule":"repeated","type":"Value","id":1},"before":{"type":"bool","id":2}}},"ExplainOptions":{"fields":{"analyze":{"type":"bool","id":1,"options":{"(google.api.field_behavior)":"OPTIONAL"}}}},"ExplainMetrics":{"fields":{"planSummary":{"type":"PlanSummary","id":1},"executionStats":{"type":"ExecutionStats","id":2}}},"PlanSummary":{"fields":{"indexesUsed":{"rule":"repeated","type":"google.protobuf.Struct","id":1}}},"ExecutionStats":{"fields":{"resultsReturned":{"type":"int64","id":1},"executionDuration":{"type":"google.protobuf.Duration","id":3},"readOperations":{"type":"int64","id":4},"debugStats":{"type":"google.protobuf.Struct","id":5}}},"Write":{"oneofs":{"operation":{"oneof":["update","delete","transform"]}},"fields":{"update":{"type":"Document","id":1},"delete":{"type":"string","id":2},"transform":{"type":"DocumentTransform","id":6},"updateMask":{"type":"DocumentMask","id":3},"updateTransforms":{"rule":"repeated","type":"DocumentTransform.FieldTransform","id":7},"currentDocument":{"type":"Precondition","id":4}}},"DocumentTransform":{"fields":{"document":{"type":"string","id":1},"fieldTransforms":{"rule":"repeated","type":"FieldTransform","id":2}},"nested":{"FieldTransform":{"oneofs":{"transformType":{"oneof":["setToServerValue","increment","maximum","minimum","appendMissingElements","removeAllFromArray"]}},"fields":{"fieldPath":{"type":"string","id":1},"setToServerValue":{"type":"ServerValue","id":2},"increment":{"type":"Value","id":3},"maximum":{"type":"Value","id":4},"minimum":{"type":"Value","id":5},"appendMissingElements":{"type":"ArrayValue","id":6},"removeAllFromArray":{"type":"ArrayValue","id":7}},"nested":{"ServerValue":{"values":{"SERVER_VALUE_UNSPECIFIED":0,"REQUEST_TIME":1}}}}}},"WriteResult":{"fields":{"updateTime":{"type":"google.protobuf.Timestamp","id":1},"transformResults":{"rule":"repeated","type":"Value","id":2}}},"DocumentChange":{"fields":{"document":{"type":"Document","id":1},"targetIds":{"rule":"repeated","type":"int32","id":5},"removedTargetIds":{"rule":"repeated","type":"int32","id":6}}},"DocumentDelete":{"fields":{"document":{"type":"string","id":1},"removedTargetIds":{"rule":"repeated","type":"int32","id":6},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"DocumentRemove":{"fields":{"document":{"type":"string","id":1},"removedTargetIds":{"rule":"repeated","type":"int32","id":2},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"ExistenceFilter":{"fields":{"targetId":{"type":"int32","id":1},"count":{"type":"int32","id":2},"unchangedNames":{"type":"BloomFilter","id":3}}}}}}},"type":{"options":{"cc_enable_arenas":true,"go_package":"google.golang.org/genproto/googleapis/type/dayofweek;dayofweek","java_multiple_files":true,"java_outer_classname":"DayOfWeekProto","java_package":"com.google.type","objc_class_prefix":"GTP"},"nested":{"LatLng":{"fields":{"latitude":{"type":"double","id":1},"longitude":{"type":"double","id":2}}},"DayOfWeek":{"values":{"DAY_OF_WEEK_UNSPECIFIED":0,"MONDAY":1,"TUESDAY":2,"WEDNESDAY":3,"THURSDAY":4,"FRIDAY":5,"SATURDAY":6,"SUNDAY":7}}}},"api":{"options":{"go_package":"google.golang.org/genproto/googleapis/api/annotations;annotations","java_multiple_files":true,"java_outer_classname":"ResourceProto","java_package":"com.google.api","objc_class_prefix":"GAPI","cc_enable_arenas":true},"nested":{"http":{"type":"HttpRule","id":72295728,"extend":"google.protobuf.MethodOptions"},"Http":{"fields":{"rules":{"rule":"repeated","type":"HttpRule","id":1},"fullyDecodeReservedExpansion":{"type":"bool","id":2}}},"HttpRule":{"oneofs":{"pattern":{"oneof":["get","put","post","delete","patch","custom"]}},"fields":{"selector":{"type":"string","id":1},"get":{"type":"string","id":2},"put":{"type":"string","id":3},"post":{"type":"string","id":4},"delete":{"type":"string","id":5},"patch":{"type":"string","id":6},"custom":{"type":"CustomHttpPattern","id":8},"body":{"type":"string","id":7},"responseBody":{"type":"string","id":12},"additionalBindings":{"rule":"repeated","type":"HttpRule","id":11}}},"CustomHttpPattern":{"fields":{"kind":{"type":"string","id":1},"path":{"type":"string","id":2}}},"methodSignature":{"rule":"repeated","type":"string","id":1051,"extend":"google.protobuf.MethodOptions"},"defaultHost":{"type":"string","id":1049,"extend":"google.protobuf.ServiceOptions"},"oauthScopes":{"type":"string","id":1050,"extend":"google.protobuf.ServiceOptions"},"apiVersion":{"type":"string","id":525000001,"extend":"google.protobuf.ServiceOptions"},"CommonLanguageSettings":{"fields":{"referenceDocsUri":{"type":"string","id":1,"options":{"deprecated":true}},"destinations":{"rule":"repeated","type":"ClientLibraryDestination","id":2}}},"ClientLibrarySettings":{"fields":{"version":{"type":"string","id":1},"launchStage":{"type":"LaunchStage","id":2},"restNumericEnums":{"type":"bool","id":3},"javaSettings":{"type":"JavaSettings","id":21},"cppSettings":{"type":"CppSettings","id":22},"phpSettings":{"type":"PhpSettings","id":23},"pythonSettings":{"type":"PythonSettings","id":24},"nodeSettings":{"type":"NodeSettings","id":25},"dotnetSettings":{"type":"DotnetSettings","id":26},"rubySettings":{"type":"RubySettings","id":27},"goSettings":{"type":"GoSettings","id":28}}},"Publishing":{"fields":{"methodSettings":{"rule":"repeated","type":"MethodSettings","id":2},"newIssueUri":{"type":"string","id":101},"documentationUri":{"type":"string","id":102},"apiShortName":{"type":"string","id":103},"githubLabel":{"type":"string","id":104},"codeownerGithubTeams":{"rule":"repeated","type":"string","id":105},"docTagPrefix":{"type":"string","id":106},"organization":{"type":"ClientLibraryOrganization","id":107},"librarySettings":{"rule":"repeated","type":"ClientLibrarySettings","id":109},"protoReferenceDocumentationUri":{"type":"string","id":110},"restReferenceDocumentationUri":{"type":"string","id":111}}},"JavaSettings":{"fields":{"libraryPackage":{"type":"string","id":1},"serviceClassNames":{"keyType":"string","type":"string","id":2},"common":{"type":"CommonLanguageSettings","id":3}}},"CppSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"PhpSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"PythonSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"NodeSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"DotnetSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1},"renamedServices":{"keyType":"string","type":"string","id":2},"renamedResources":{"keyType":"string","type":"string","id":3},"ignoredResources":{"rule":"repeated","type":"string","id":4},"forcedNamespaceAliases":{"rule":"repeated","type":"string","id":5},"handwrittenSignatures":{"rule":"repeated","type":"string","id":6}}},"RubySettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"GoSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"MethodSettings":{"fields":{"selector":{"type":"string","id":1},"longRunning":{"type":"LongRunning","id":2},"autoPopulatedFields":{"rule":"repeated","type":"string","id":3}},"nested":{"LongRunning":{"fields":{"initialPollDelay":{"type":"google.protobuf.Duration","id":1},"pollDelayMultiplier":{"type":"float","id":2},"maxPollDelay":{"type":"google.protobuf.Duration","id":3},"totalPollTimeout":{"type":"google.protobuf.Duration","id":4}}}}},"ClientLibraryOrganization":{"values":{"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED":0,"CLOUD":1,"ADS":2,"PHOTOS":3,"STREET_VIEW":4,"SHOPPING":5,"GEO":6,"GENERATIVE_AI":7}},"ClientLibraryDestination":{"values":{"CLIENT_LIBRARY_DESTINATION_UNSPECIFIED":0,"GITHUB":10,"PACKAGE_MANAGER":20}},"LaunchStage":{"values":{"LAUNCH_STAGE_UNSPECIFIED":0,"UNIMPLEMENTED":6,"PRELAUNCH":7,"EARLY_ACCESS":1,"ALPHA":2,"BETA":3,"GA":4,"DEPRECATED":5}},"fieldBehavior":{"rule":"repeated","type":"google.api.FieldBehavior","id":1052,"extend":"google.protobuf.FieldOptions","options":{"packed":false}},"FieldBehavior":{"values":{"FIELD_BEHAVIOR_UNSPECIFIED":0,"OPTIONAL":1,"REQUIRED":2,"OUTPUT_ONLY":3,"INPUT_ONLY":4,"IMMUTABLE":5,"UNORDERED_LIST":6,"NON_EMPTY_DEFAULT":7,"IDENTIFIER":8}},"resourceReference":{"type":"google.api.ResourceReference","id":1055,"extend":"google.protobuf.FieldOptions"},"resourceDefinition":{"rule":"repeated","type":"google.api.ResourceDescriptor","id":1053,"extend":"google.protobuf.FileOptions"},"resource":{"type":"google.api.ResourceDescriptor","id":1053,"extend":"google.protobuf.MessageOptions"},"ResourceDescriptor":{"fields":{"type":{"type":"string","id":1},"pattern":{"rule":"repeated","type":"string","id":2},"nameField":{"type":"string","id":3},"history":{"type":"History","id":4},"plural":{"type":"string","id":5},"singular":{"type":"string","id":6},"style":{"rule":"repeated","type":"Style","id":10}},"nested":{"History":{"values":{"HISTORY_UNSPECIFIED":0,"ORIGINALLY_SINGLE_PATTERN":1,"FUTURE_MULTI_PATTERN":2}},"Style":{"values":{"STYLE_UNSPECIFIED":0,"DECLARATIVE_FRIENDLY":1}}}},"ResourceReference":{"fields":{"type":{"type":"string","id":1},"childType":{"type":"string","id":2}}}}},"rpc":{"options":{"cc_enable_arenas":true,"go_package":"google.golang.org/genproto/googleapis/rpc/status;status","java_multiple_files":true,"java_outer_classname":"StatusProto","java_package":"com.google.rpc","objc_class_prefix":"RPC"},"nested":{"Status":{"fields":{"code":{"type":"int32","id":1},"message":{"type":"string","id":2},"details":{"rule":"repeated","type":"google.protobuf.Any","id":3}}}}}}}}}
{"nested":{"google":{"nested":{"protobuf":{"options":{"go_package":"google.golang.org/protobuf/types/descriptorpb","java_package":"com.google.protobuf","java_outer_classname":"DescriptorProtos","csharp_namespace":"Google.Protobuf.Reflection","objc_class_prefix":"GPB","cc_enable_arenas":true,"optimize_for":"SPEED"},"nested":{"Struct":{"fields":{"fields":{"keyType":"string","type":"Value","id":1}}},"Value":{"oneofs":{"kind":{"oneof":["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},"fields":{"nullValue":{"type":"NullValue","id":1},"numberValue":{"type":"double","id":2},"stringValue":{"type":"string","id":3},"boolValue":{"type":"bool","id":4},"structValue":{"type":"Struct","id":5},"listValue":{"type":"ListValue","id":6}}},"NullValue":{"values":{"NULL_VALUE":0}},"ListValue":{"fields":{"values":{"rule":"repeated","type":"Value","id":1}}},"Timestamp":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}}},"FileDescriptorSet":{"fields":{"file":{"rule":"repeated","type":"FileDescriptorProto","id":1}}},"Edition":{"values":{"EDITION_UNKNOWN":0,"EDITION_PROTO2":998,"EDITION_PROTO3":999,"EDITION_2023":1e3,"EDITION_2024":1001,"EDITION_1_TEST_ONLY":1,"EDITION_2_TEST_ONLY":2,"EDITION_99997_TEST_ONLY":99997,"EDITION_99998_TEST_ONLY":99998,"EDITION_99999_TEST_ONLY":99999,"EDITION_MAX":2147483647},"reserved":[[900,900]]},"FileDescriptorProto":{"fields":{"name":{"type":"string","id":1},"package":{"type":"string","id":2},"dependency":{"rule":"repeated","type":"string","id":3},"publicDependency":{"rule":"repeated","type":"int32","id":10,"options":{"packed":false}},"weakDependency":{"rule":"repeated","type":"int32","id":11,"options":{"packed":false}},"messageType":{"rule":"repeated","type":"DescriptorProto","id":4},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":5},"service":{"rule":"repeated","type":"ServiceDescriptorProto","id":6},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":7},"options":{"type":"FileOptions","id":8},"sourceCodeInfo":{"type":"SourceCodeInfo","id":9},"syntax":{"type":"string","id":12},"edition":{"type":"Edition","id":14}}},"DescriptorProto":{"fields":{"name":{"type":"string","id":1},"field":{"rule":"repeated","type":"FieldDescriptorProto","id":2},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":6},"nestedType":{"rule":"repeated","type":"DescriptorProto","id":3},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":4},"extensionRange":{"rule":"repeated","type":"ExtensionRange","id":5},"oneofDecl":{"rule":"repeated","type":"OneofDescriptorProto","id":8},"options":{"type":"MessageOptions","id":7},"reservedRange":{"rule":"repeated","type":"ReservedRange","id":9},"reservedName":{"rule":"repeated","type":"string","id":10}},"nested":{"ExtensionRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2},"options":{"type":"ExtensionRangeOptions","id":3}}},"ReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}}}}},"ExtensionRangeOptions":{"fields":{"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999},"declaration":{"rule":"repeated","type":"Declaration","id":2,"options":{"retention":"RETENTION_SOURCE"}},"features":{"type":"FeatureSet","id":50},"verification":{"type":"VerificationState","id":3,"options":{"default":"UNVERIFIED","retention":"RETENTION_SOURCE"}}},"extensions":[[1e3,536870911]],"nested":{"Declaration":{"fields":{"number":{"type":"int32","id":1},"fullName":{"type":"string","id":2},"type":{"type":"string","id":3},"reserved":{"type":"bool","id":5},"repeated":{"type":"bool","id":6}},"reserved":[[4,4]]},"VerificationState":{"values":{"DECLARATION":0,"UNVERIFIED":1}}}},"FieldDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":3},"label":{"type":"Label","id":4},"type":{"type":"Type","id":5},"typeName":{"type":"string","id":6},"extendee":{"type":"string","id":2},"defaultValue":{"type":"string","id":7},"oneofIndex":{"type":"int32","id":9},"jsonName":{"type":"string","id":10},"options":{"type":"FieldOptions","id":8},"proto3Optional":{"type":"bool","id":17}},"nested":{"Type":{"values":{"TYPE_DOUBLE":1,"TYPE_FLOAT":2,"TYPE_INT64":3,"TYPE_UINT64":4,"TYPE_INT32":5,"TYPE_FIXED64":6,"TYPE_FIXED32":7,"TYPE_BOOL":8,"TYPE_STRING":9,"TYPE_GROUP":10,"TYPE_MESSAGE":11,"TYPE_BYTES":12,"TYPE_UINT32":13,"TYPE_ENUM":14,"TYPE_SFIXED32":15,"TYPE_SFIXED64":16,"TYPE_SINT32":17,"TYPE_SINT64":18}},"Label":{"values":{"LABEL_OPTIONAL":1,"LABEL_REPEATED":3,"LABEL_REQUIRED":2}}}},"OneofDescriptorProto":{"fields":{"name":{"type":"string","id":1},"options":{"type":"OneofOptions","id":2}}},"EnumDescriptorProto":{"fields":{"name":{"type":"string","id":1},"value":{"rule":"repeated","type":"EnumValueDescriptorProto","id":2},"options":{"type":"EnumOptions","id":3},"reservedRange":{"rule":"repeated","type":"EnumReservedRange","id":4},"reservedName":{"rule":"repeated","type":"string","id":5}},"nested":{"EnumReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}}}}},"EnumValueDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":2},"options":{"type":"EnumValueOptions","id":3}}},"ServiceDescriptorProto":{"fields":{"name":{"type":"string","id":1},"method":{"rule":"repeated","type":"MethodDescriptorProto","id":2},"options":{"type":"ServiceOptions","id":3}}},"MethodDescriptorProto":{"fields":{"name":{"type":"string","id":1},"inputType":{"type":"string","id":2},"outputType":{"type":"string","id":3},"options":{"type":"MethodOptions","id":4},"clientStreaming":{"type":"bool","id":5,"options":{"default":false}},"serverStreaming":{"type":"bool","id":6,"options":{"default":false}}}},"FileOptions":{"fields":{"javaPackage":{"type":"string","id":1},"javaOuterClassname":{"type":"string","id":8},"javaMultipleFiles":{"type":"bool","id":10,"options":{"default":false}},"javaGenerateEqualsAndHash":{"type":"bool","id":20,"options":{"deprecated":true}},"javaStringCheckUtf8":{"type":"bool","id":27,"options":{"default":false}},"optimizeFor":{"type":"OptimizeMode","id":9,"options":{"default":"SPEED"}},"goPackage":{"type":"string","id":11},"ccGenericServices":{"type":"bool","id":16,"options":{"default":false}},"javaGenericServices":{"type":"bool","id":17,"options":{"default":false}},"pyGenericServices":{"type":"bool","id":18,"options":{"default":false}},"deprecated":{"type":"bool","id":23,"options":{"default":false}},"ccEnableArenas":{"type":"bool","id":31,"options":{"default":true}},"objcClassPrefix":{"type":"string","id":36},"csharpNamespace":{"type":"string","id":37},"swiftPrefix":{"type":"string","id":39},"phpClassPrefix":{"type":"string","id":40},"phpNamespace":{"type":"string","id":41},"phpMetadataNamespace":{"type":"string","id":44},"rubyPackage":{"type":"string","id":45},"features":{"type":"FeatureSet","id":50},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[42,42],[38,38]],"nested":{"OptimizeMode":{"values":{"SPEED":1,"CODE_SIZE":2,"LITE_RUNTIME":3}}}},"MessageOptions":{"fields":{"messageSetWireFormat":{"type":"bool","id":1,"options":{"default":false}},"noStandardDescriptorAccessor":{"type":"bool","id":2,"options":{"default":false}},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"mapEntry":{"type":"bool","id":7},"deprecatedLegacyJsonFieldConflicts":{"type":"bool","id":11,"options":{"deprecated":true}},"features":{"type":"FeatureSet","id":12},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[4,4],[5,5],[6,6],[8,8],[9,9]]},"FieldOptions":{"fields":{"ctype":{"type":"CType","id":1,"options":{"default":"STRING"}},"packed":{"type":"bool","id":2},"jstype":{"type":"JSType","id":6,"options":{"default":"JS_NORMAL"}},"lazy":{"type":"bool","id":5,"options":{"default":false}},"unverifiedLazy":{"type":"bool","id":15,"options":{"default":false}},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"weak":{"type":"bool","id":10,"options":{"default":false}},"debugRedact":{"type":"bool","id":16,"options":{"default":false}},"retention":{"type":"OptionRetention","id":17},"targets":{"rule":"repeated","type":"OptionTargetType","id":19,"options":{"packed":false}},"editionDefaults":{"rule":"repeated","type":"EditionDefault","id":20},"features":{"type":"FeatureSet","id":21},"featureSupport":{"type":"FeatureSupport","id":22},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[4,4],[18,18]],"nested":{"CType":{"values":{"STRING":0,"CORD":1,"STRING_PIECE":2}},"JSType":{"values":{"JS_NORMAL":0,"JS_STRING":1,"JS_NUMBER":2}},"OptionRetention":{"values":{"RETENTION_UNKNOWN":0,"RETENTION_RUNTIME":1,"RETENTION_SOURCE":2}},"OptionTargetType":{"values":{"TARGET_TYPE_UNKNOWN":0,"TARGET_TYPE_FILE":1,"TARGET_TYPE_EXTENSION_RANGE":2,"TARGET_TYPE_MESSAGE":3,"TARGET_TYPE_FIELD":4,"TARGET_TYPE_ONEOF":5,"TARGET_TYPE_ENUM":6,"TARGET_TYPE_ENUM_ENTRY":7,"TARGET_TYPE_SERVICE":8,"TARGET_TYPE_METHOD":9}},"EditionDefault":{"fields":{"edition":{"type":"Edition","id":3},"value":{"type":"string","id":2}}},"FeatureSupport":{"fields":{"editionIntroduced":{"type":"Edition","id":1},"editionDeprecated":{"type":"Edition","id":2},"deprecationWarning":{"type":"string","id":3},"editionRemoved":{"type":"Edition","id":4}}}}},"OneofOptions":{"fields":{"features":{"type":"FeatureSet","id":1},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"EnumOptions":{"fields":{"allowAlias":{"type":"bool","id":2},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"deprecatedLegacyJsonFieldConflicts":{"type":"bool","id":6,"options":{"deprecated":true}},"features":{"type":"FeatureSet","id":7},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[5,5]]},"EnumValueOptions":{"fields":{"deprecated":{"type":"bool","id":1,"options":{"default":false}},"features":{"type":"FeatureSet","id":2},"debugRedact":{"type":"bool","id":3,"options":{"default":false}},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"ServiceOptions":{"fields":{"features":{"type":"FeatureSet","id":34},"deprecated":{"type":"bool","id":33,"options":{"default":false}},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"MethodOptions":{"fields":{"deprecated":{"type":"bool","id":33,"options":{"default":false}},"idempotencyLevel":{"type":"IdempotencyLevel","id":34,"options":{"default":"IDEMPOTENCY_UNKNOWN"}},"features":{"type":"FeatureSet","id":35},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"nested":{"IdempotencyLevel":{"values":{"IDEMPOTENCY_UNKNOWN":0,"NO_SIDE_EFFECTS":1,"IDEMPOTENT":2}}}},"UninterpretedOption":{"fields":{"name":{"rule":"repeated","type":"NamePart","id":2},"identifierValue":{"type":"string","id":3},"positiveIntValue":{"type":"uint64","id":4},"negativeIntValue":{"type":"int64","id":5},"doubleValue":{"type":"double","id":6},"stringValue":{"type":"bytes","id":7},"aggregateValue":{"type":"string","id":8}},"nested":{"NamePart":{"fields":{"namePart":{"rule":"required","type":"string","id":1},"isExtension":{"rule":"required","type":"bool","id":2}}}}},"FeatureSet":{"fields":{"fieldPresence":{"type":"FieldPresence","id":1,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_2023","edition_defaults.value":"EXPLICIT"}},"enumType":{"type":"EnumType","id":2,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"OPEN"}},"repeatedFieldEncoding":{"type":"RepeatedFieldEncoding","id":3,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"PACKED"}},"utf8Validation":{"type":"Utf8Validation","id":4,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"VERIFY"}},"messageEncoding":{"type":"MessageEncoding","id":5,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO2","edition_defaults.value":"LENGTH_PREFIXED"}},"jsonFormat":{"type":"JsonFormat","id":6,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"ALLOW"}}},"extensions":[[1e3,1e3],[1001,1001],[1002,1002],[9990,9990],[9995,9999],[1e4,1e4]],"reserved":[[999,999]],"nested":{"FieldPresence":{"values":{"FIELD_PRESENCE_UNKNOWN":0,"EXPLICIT":1,"IMPLICIT":2,"LEGACY_REQUIRED":3}},"EnumType":{"values":{"ENUM_TYPE_UNKNOWN":0,"OPEN":1,"CLOSED":2}},"RepeatedFieldEncoding":{"values":{"REPEATED_FIELD_ENCODING_UNKNOWN":0,"PACKED":1,"EXPANDED":2}},"Utf8Validation":{"values":{"UTF8_VALIDATION_UNKNOWN":0,"VERIFY":2,"NONE":3}},"MessageEncoding":{"values":{"MESSAGE_ENCODING_UNKNOWN":0,"LENGTH_PREFIXED":1,"DELIMITED":2}},"JsonFormat":{"values":{"JSON_FORMAT_UNKNOWN":0,"ALLOW":1,"LEGACY_BEST_EFFORT":2}}}},"FeatureSetDefaults":{"fields":{"defaults":{"rule":"repeated","type":"FeatureSetEditionDefault","id":1},"minimumEdition":{"type":"Edition","id":4},"maximumEdition":{"type":"Edition","id":5}},"nested":{"FeatureSetEditionDefault":{"fields":{"edition":{"type":"Edition","id":3},"overridableFeatures":{"type":"FeatureSet","id":4},"fixedFeatures":{"type":"FeatureSet","id":5},"features":{"type":"FeatureSet","id":2}}}}},"SourceCodeInfo":{"fields":{"location":{"rule":"repeated","type":"Location","id":1}},"nested":{"Location":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"span":{"rule":"repeated","type":"int32","id":2},"leadingComments":{"type":"string","id":3},"trailingComments":{"type":"string","id":4},"leadingDetachedComments":{"rule":"repeated","type":"string","id":6}}}}},"GeneratedCodeInfo":{"fields":{"annotation":{"rule":"repeated","type":"Annotation","id":1}},"nested":{"Annotation":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"sourceFile":{"type":"string","id":2},"begin":{"type":"int32","id":3},"end":{"type":"int32","id":4},"semantic":{"type":"Semantic","id":5}},"nested":{"Semantic":{"values":{"NONE":0,"SET":1,"ALIAS":2}}}}}},"Duration":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}}},"DoubleValue":{"fields":{"value":{"type":"double","id":1}}},"FloatValue":{"fields":{"value":{"type":"float","id":1}}},"Int64Value":{"fields":{"value":{"type":"int64","id":1}}},"UInt64Value":{"fields":{"value":{"type":"uint64","id":1}}},"Int32Value":{"fields":{"value":{"type":"int32","id":1}}},"UInt32Value":{"fields":{"value":{"type":"uint32","id":1}}},"BoolValue":{"fields":{"value":{"type":"bool","id":1}}},"StringValue":{"fields":{"value":{"type":"string","id":1}}},"BytesValue":{"fields":{"value":{"type":"bytes","id":1}}},"Empty":{"fields":{}},"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}}},"FieldMask":{"fields":{"paths":{"rule":"repeated","type":"string","id":1}}}}},"firestore":{"nested":{"v1":{"options":{"csharp_namespace":"Google.Cloud.Firestore.V1","go_package":"cloud.google.com/go/firestore/apiv1/firestorepb;firestorepb","java_multiple_files":true,"java_outer_classname":"WriteProto","java_package":"com.google.firestore.v1","objc_class_prefix":"GCFS","php_namespace":"Google\\Cloud\\Firestore\\V1","ruby_package":"Google::Cloud::Firestore::V1"},"nested":{"AggregationResult":{"fields":{"aggregateFields":{"keyType":"string","type":"Value","id":2}}},"Document":{"fields":{"name":{"type":"string","id":1},"fields":{"keyType":"string","type":"Value","id":2},"createTime":{"type":"google.protobuf.Timestamp","id":3},"updateTime":{"type":"google.protobuf.Timestamp","id":4}}},"Value":{"oneofs":{"valueType":{"oneof":["nullValue","booleanValue","integerValue","doubleValue","timestampValue","stringValue","bytesValue","referenceValue","geoPointValue","arrayValue","mapValue"]}},"fields":{"nullValue":{"type":"google.protobuf.NullValue","id":11},"booleanValue":{"type":"bool","id":1},"integerValue":{"type":"int64","id":2},"doubleValue":{"type":"double","id":3},"timestampValue":{"type":"google.protobuf.Timestamp","id":10},"stringValue":{"type":"string","id":17},"bytesValue":{"type":"bytes","id":18},"referenceValue":{"type":"string","id":5},"geoPointValue":{"type":"google.type.LatLng","id":8},"arrayValue":{"type":"ArrayValue","id":9},"mapValue":{"type":"MapValue","id":6}}},"ArrayValue":{"fields":{"values":{"rule":"repeated","type":"Value","id":1}}},"MapValue":{"fields":{"fields":{"keyType":"string","type":"Value","id":1}}},"BitSequence":{"fields":{"bitmap":{"type":"bytes","id":1},"padding":{"type":"int32","id":2}}},"BloomFilter":{"fields":{"bits":{"type":"BitSequence","id":1},"hashCount":{"type":"int32","id":2}}},"DocumentMask":{"fields":{"fieldPaths":{"rule":"repeated","type":"string","id":1}}},"Precondition":{"oneofs":{"conditionType":{"oneof":["exists","updateTime"]}},"fields":{"exists":{"type":"bool","id":1},"updateTime":{"type":"google.protobuf.Timestamp","id":2}}},"TransactionOptions":{"oneofs":{"mode":{"oneof":["readOnly","readWrite"]}},"fields":{"readOnly":{"type":"ReadOnly","id":2},"readWrite":{"type":"ReadWrite","id":3}},"nested":{"ReadWrite":{"fields":{"retryTransaction":{"type":"bytes","id":1}}},"ReadOnly":{"oneofs":{"consistencySelector":{"oneof":["readTime"]}},"fields":{"readTime":{"type":"google.protobuf.Timestamp","id":2}}}}},"Firestore":{"options":{"(google.api.default_host)":"firestore.googleapis.com","(google.api.oauth_scopes)":"https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/datastore"},"methods":{"GetDocument":{"requestType":"GetDocumentRequest","responseType":"Document","options":{"(google.api.http).get":"/v1/{name=projects/*/databases/*/documents/*/**}"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{name=projects/*/databases/*/documents/*/**}"}}]},"ListDocuments":{"requestType":"ListDocumentsRequest","responseType":"ListDocumentsResponse","options":{"(google.api.http).get":"/v1/{parent=projects/*/databases/*/documents/*/**}/{collection_id}","(google.api.http).additional_bindings.get":"/v1/{parent=projects/*/databases/*/documents}/{collection_id}"},"parsedOptions":[{"(google.api.http)":{"get":"/v1/{parent=projects/*/databases/*/documents/*/**}/{collection_id}","additional_bindings":{"get":"/v1/{parent=projects/*/databases/*/documents}/{collection_id}"}}}]},"UpdateDocument":{"requestType":"UpdateDocumentRequest","responseType":"Document","options":{"(google.api.http).patch":"/v1/{document.name=projects/*/databases/*/documents/*/**}","(google.api.http).body":"document","(google.api.method_signature)":"document,update_mask"},"parsedOptions":[{"(google.api.http)":{"patch":"/v1/{document.name=projects/*/databases/*/documents/*/**}","body":"document"}},{"(google.api.method_signature)":"document,update_mask"}]},"DeleteDocument":{"requestType":"DeleteDocumentRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).delete":"/v1/{name=projects/*/databases/*/documents/*/**}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1/{name=projects/*/databases/*/documents/*/**}"}},{"(google.api.method_signature)":"name"}]},"BatchGetDocuments":{"requestType":"BatchGetDocumentsRequest","responseType":"BatchGetDocumentsResponse","responseStream":true,"options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:batchGet","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:batchGet","body":"*"}}]},"BeginTransaction":{"requestType":"BeginTransactionRequest","responseType":"BeginTransactionResponse","options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:beginTransaction","(google.api.http).body":"*","(google.api.method_signature)":"database"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:beginTransaction","body":"*"}},{"(google.api.method_signature)":"database"}]},"Commit":{"requestType":"CommitRequest","responseType":"CommitResponse","options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:commit","(google.api.http).body":"*","(google.api.method_signature)":"database,writes"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:commit","body":"*"}},{"(google.api.method_signature)":"database,writes"}]},"Rollback":{"requestType":"RollbackRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:rollback","(google.api.http).body":"*","(google.api.method_signature)":"database,transaction"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:rollback","body":"*"}},{"(google.api.method_signature)":"database,transaction"}]},"RunQuery":{"requestType":"RunQueryRequest","responseType":"RunQueryResponse","responseStream":true,"options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*/documents}:runQuery","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1/{parent=projects/*/databases/*/documents/*/**}:runQuery","(google.api.http).additional_bindings.body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*/documents}:runQuery","body":"*","additional_bindings":{"post":"/v1/{parent=projects/*/databases/*/documents/*/**}:runQuery","body":"*"}}}]},"RunAggregationQuery":{"requestType":"RunAggregationQueryRequest","responseType":"RunAggregationQueryResponse","responseStream":true,"options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*/documents}:runAggregationQuery","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1/{parent=projects/*/databases/*/documents/*/**}:runAggregationQuery","(google.api.http).additional_bindings.body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*/documents}:runAggregationQuery","body":"*","additional_bindings":{"post":"/v1/{parent=projects/*/databases/*/documents/*/**}:runAggregationQuery","body":"*"}}}]},"PartitionQuery":{"requestType":"PartitionQueryRequest","responseType":"PartitionQueryResponse","options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*/documents}:partitionQuery","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1/{parent=projects/*/databases/*/documents/*/**}:partitionQuery","(google.api.http).additional_bindings.body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*/documents}:partitionQuery","body":"*","additional_bindings":{"post":"/v1/{parent=projects/*/databases/*/documents/*/**}:partitionQuery","body":"*"}}}]},"Write":{"requestType":"WriteRequest","requestStream":true,"responseType":"WriteResponse","responseStream":true,"options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:write","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:write","body":"*"}}]},"Listen":{"requestType":"ListenRequest","requestStream":true,"responseType":"ListenResponse","responseStream":true,"options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:listen","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:listen","body":"*"}}]},"ListCollectionIds":{"requestType":"ListCollectionIdsRequest","responseType":"ListCollectionIdsResponse","options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*/documents}:listCollectionIds","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1/{parent=projects/*/databases/*/documents/*/**}:listCollectionIds","(google.api.http).additional_bindings.body":"*","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*/documents}:listCollectionIds","body":"*","additional_bindings":{"post":"/v1/{parent=projects/*/databases/*/documents/*/**}:listCollectionIds","body":"*"}}},{"(google.api.method_signature)":"parent"}]},"BatchWrite":{"requestType":"BatchWriteRequest","responseType":"BatchWriteResponse","options":{"(google.api.http).post":"/v1/{database=projects/*/databases/*}/documents:batchWrite","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{database=projects/*/databases/*}/documents:batchWrite","body":"*"}}]},"CreateDocument":{"requestType":"CreateDocumentRequest","responseType":"Document","options":{"(google.api.http).post":"/v1/{parent=projects/*/databases/*/documents/**}/{collection_id}","(google.api.http).body":"document"},"parsedOptions":[{"(google.api.http)":{"post":"/v1/{parent=projects/*/databases/*/documents/**}/{collection_id}","body":"document"}}]}}},"GetDocumentRequest":{"oneofs":{"consistencySelector":{"oneof":["transaction","readTime"]}},"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"mask":{"type":"DocumentMask","id":2},"transaction":{"type":"bytes","id":3},"readTime":{"type":"google.protobuf.Timestamp","id":5}}},"ListDocumentsRequest":{"oneofs":{"consistencySelector":{"oneof":["transaction","readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"collectionId":{"type":"string","id":2,"options":{"(google.api.field_behavior)":"OPTIONAL"}},"pageSize":{"type":"int32","id":3,"options":{"(google.api.field_behavior)":"OPTIONAL"}},"pageToken":{"type":"string","id":4,"options":{"(google.api.field_behavior)":"OPTIONAL"}},"orderBy":{"type":"string","id":6,"options":{"(google.api.field_behavior)":"OPTIONAL"}},"mask":{"type":"DocumentMask","id":7,"options":{"(google.api.field_behavior)":"OPTIONAL"}},"transaction":{"type":"bytes","id":8},"readTime":{"type":"google.protobuf.Timestamp","id":10},"showMissing":{"type":"bool","id":12}}},"ListDocumentsResponse":{"fields":{"documents":{"rule":"repeated","type":"Document","id":1},"nextPageToken":{"type":"string","id":2}}},"CreateDocumentRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"collectionId":{"type":"string","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}},"documentId":{"type":"string","id":3},"document":{"type":"Document","id":4,"options":{"(google.api.field_behavior)":"REQUIRED"}},"mask":{"type":"DocumentMask","id":5}}},"UpdateDocumentRequest":{"fields":{"document":{"type":"Document","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"updateMask":{"type":"DocumentMask","id":2},"mask":{"type":"DocumentMask","id":3},"currentDocument":{"type":"Precondition","id":4}}},"DeleteDocumentRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"currentDocument":{"type":"Precondition","id":2}}},"BatchGetDocumentsRequest":{"oneofs":{"consistencySelector":{"oneof":["transaction","newTransaction","readTime"]}},"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"documents":{"rule":"repeated","type":"string","id":2},"mask":{"type":"DocumentMask","id":3},"transaction":{"type":"bytes","id":4},"newTransaction":{"type":"TransactionOptions","id":5},"readTime":{"type":"google.protobuf.Timestamp","id":7}}},"BatchGetDocumentsResponse":{"oneofs":{"result":{"oneof":["found","missing"]}},"fields":{"found":{"type":"Document","id":1},"missing":{"type":"string","id":2},"transaction":{"type":"bytes","id":3},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"BeginTransactionRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"options":{"type":"TransactionOptions","id":2}}},"BeginTransactionResponse":{"fields":{"transaction":{"type":"bytes","id":1}}},"CommitRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"writes":{"rule":"repeated","type":"Write","id":2},"transaction":{"type":"bytes","id":3}}},"CommitResponse":{"fields":{"writeResults":{"rule":"repeated","type":"WriteResult","id":1},"commitTime":{"type":"google.protobuf.Timestamp","id":2}}},"RollbackRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"transaction":{"type":"bytes","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}}}},"RunQueryRequest":{"oneofs":{"queryType":{"oneof":["structuredQuery"]},"consistencySelector":{"oneof":["transaction","newTransaction","readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"structuredQuery":{"type":"StructuredQuery","id":2},"transaction":{"type":"bytes","id":5},"newTransaction":{"type":"TransactionOptions","id":6},"readTime":{"type":"google.protobuf.Timestamp","id":7},"explainOptions":{"type":"ExplainOptions","id":10,"options":{"(google.api.field_behavior)":"OPTIONAL"}}}},"RunQueryResponse":{"oneofs":{"continuationSelector":{"oneof":["done"]}},"fields":{"transaction":{"type":"bytes","id":2},"document":{"type":"Document","id":1},"readTime":{"type":"google.protobuf.Timestamp","id":3},"skippedResults":{"type":"int32","id":4},"done":{"type":"bool","id":6},"explainMetrics":{"type":"ExplainMetrics","id":11}}},"RunAggregationQueryRequest":{"oneofs":{"queryType":{"oneof":["structuredAggregationQuery"]},"consistencySelector":{"oneof":["transaction","newTransaction","readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"structuredAggregationQuery":{"type":"StructuredAggregationQuery","id":2},"transaction":{"type":"bytes","id":4},"newTransaction":{"type":"TransactionOptions","id":5},"readTime":{"type":"google.protobuf.Timestamp","id":6},"explainOptions":{"type":"ExplainOptions","id":8,"options":{"(google.api.field_behavior)":"OPTIONAL"}}}},"RunAggregationQueryResponse":{"fields":{"result":{"type":"AggregationResult","id":1},"transaction":{"type":"bytes","id":2},"readTime":{"type":"google.protobuf.Timestamp","id":3},"explainMetrics":{"type":"ExplainMetrics","id":10}}},"PartitionQueryRequest":{"oneofs":{"queryType":{"oneof":["structuredQuery"]},"consistencySelector":{"oneof":["readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"structuredQuery":{"type":"StructuredQuery","id":2},"partitionCount":{"type":"int64","id":3},"pageToken":{"type":"string","id":4},"pageSize":{"type":"int32","id":5},"readTime":{"type":"google.protobuf.Timestamp","id":6}}},"PartitionQueryResponse":{"fields":{"partitions":{"rule":"repeated","type":"Cursor","id":1},"nextPageToken":{"type":"string","id":2}}},"WriteRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"streamId":{"type":"string","id":2},"writes":{"rule":"repeated","type":"Write","id":3},"streamToken":{"type":"bytes","id":4},"labels":{"keyType":"string","type":"string","id":5}}},"WriteResponse":{"fields":{"streamId":{"type":"string","id":1},"streamToken":{"type":"bytes","id":2},"writeResults":{"rule":"repeated","type":"WriteResult","id":3},"commitTime":{"type":"google.protobuf.Timestamp","id":4}}},"ListenRequest":{"oneofs":{"targetChange":{"oneof":["addTarget","removeTarget"]}},"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"addTarget":{"type":"Target","id":2},"removeTarget":{"type":"int32","id":3},"labels":{"keyType":"string","type":"string","id":4}}},"ListenResponse":{"oneofs":{"responseType":{"oneof":["targetChange","documentChange","documentDelete","documentRemove","filter"]}},"fields":{"targetChange":{"type":"TargetChange","id":2},"documentChange":{"type":"DocumentChange","id":3},"documentDelete":{"type":"DocumentDelete","id":4},"documentRemove":{"type":"DocumentRemove","id":6},"filter":{"type":"ExistenceFilter","id":5}}},"Target":{"oneofs":{"targetType":{"oneof":["query","documents"]},"resumeType":{"oneof":["resumeToken","readTime"]}},"fields":{"query":{"type":"QueryTarget","id":2},"documents":{"type":"DocumentsTarget","id":3},"resumeToken":{"type":"bytes","id":4},"readTime":{"type":"google.protobuf.Timestamp","id":11},"targetId":{"type":"int32","id":5},"once":{"type":"bool","id":6},"expectedCount":{"type":"google.protobuf.Int32Value","id":12}},"nested":{"DocumentsTarget":{"fields":{"documents":{"rule":"repeated","type":"string","id":2}}},"QueryTarget":{"oneofs":{"queryType":{"oneof":["structuredQuery"]}},"fields":{"parent":{"type":"string","id":1},"structuredQuery":{"type":"StructuredQuery","id":2}}}}},"TargetChange":{"fields":{"targetChangeType":{"type":"TargetChangeType","id":1},"targetIds":{"rule":"repeated","type":"int32","id":2},"cause":{"type":"google.rpc.Status","id":3},"resumeToken":{"type":"bytes","id":4},"readTime":{"type":"google.protobuf.Timestamp","id":6}},"nested":{"TargetChangeType":{"values":{"NO_CHANGE":0,"ADD":1,"REMOVE":2,"CURRENT":3,"RESET":4}}}},"ListCollectionIdsRequest":{"oneofs":{"consistencySelector":{"oneof":["readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"pageSize":{"type":"int32","id":2},"pageToken":{"type":"string","id":3},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"ListCollectionIdsResponse":{"fields":{"collectionIds":{"rule":"repeated","type":"string","id":1},"nextPageToken":{"type":"string","id":2}}},"BatchWriteRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"writes":{"rule":"repeated","type":"Write","id":2},"labels":{"keyType":"string","type":"string","id":3}}},"BatchWriteResponse":{"fields":{"writeResults":{"rule":"repeated","type":"WriteResult","id":1},"status":{"rule":"repeated","type":"google.rpc.Status","id":2}}},"StructuredQuery":{"fields":{"select":{"type":"Projection","id":1},"from":{"rule":"repeated","type":"CollectionSelector","id":2},"where":{"type":"Filter","id":3},"orderBy":{"rule":"repeated","type":"Order","id":4},"startAt":{"type":"Cursor","id":7},"endAt":{"type":"Cursor","id":8},"offset":{"type":"int32","id":6},"limit":{"type":"google.protobuf.Int32Value","id":5},"findNearest":{"type":"FindNearest","id":9,"options":{"(google.api.field_behavior)":"OPTIONAL"}}},"nested":{"CollectionSelector":{"fields":{"collectionId":{"type":"string","id":2},"allDescendants":{"type":"bool","id":3}}},"Filter":{"oneofs":{"filterType":{"oneof":["compositeFilter","fieldFilter","unaryFilter"]}},"fields":{"compositeFilter":{"type":"CompositeFilter","id":1},"fieldFilter":{"type":"FieldFilter","id":2},"unaryFilter":{"type":"UnaryFilter","id":3}}},"CompositeFilter":{"fields":{"op":{"type":"Operator","id":1},"filters":{"rule":"repeated","type":"Filter","id":2}},"nested":{"Operator":{"values":{"OPERATOR_UNSPECIFIED":0,"AND":1,"OR":2}}}},"FieldFilter":{"fields":{"field":{"type":"FieldReference","id":1},"op":{"type":"Operator","id":2},"value":{"type":"Value","id":3}},"nested":{"Operator":{"values":{"OPERATOR_UNSPECIFIED":0,"LESS_THAN":1,"LESS_THAN_OR_EQUAL":2,"GREATER_THAN":3,"GREATER_THAN_OR_EQUAL":4,"EQUAL":5,"NOT_EQUAL":6,"ARRAY_CONTAINS":7,"IN":8,"ARRAY_CONTAINS_ANY":9,"NOT_IN":10}}}},"UnaryFilter":{"oneofs":{"operandType":{"oneof":["field"]}},"fields":{"op":{"type":"Operator","id":1},"field":{"type":"FieldReference","id":2}},"nested":{"Operator":{"values":{"OPERATOR_UNSPECIFIED":0,"IS_NAN":2,"IS_NULL":3,"IS_NOT_NAN":4,"IS_NOT_NULL":5}}}},"Order":{"fields":{"field":{"type":"FieldReference","id":1},"direction":{"type":"Direction","id":2}}},"Direction":{"values":{"DIRECTION_UNSPECIFIED":0,"ASCENDING":1,"DESCENDING":2}},"FieldReference":{"fields":{"fieldPath":{"type":"string","id":2}}},"Projection":{"fields":{"fields":{"rule":"repeated","type":"FieldReference","id":2}}},"FindNearest":{"fields":{"vectorField":{"type":"FieldReference","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"queryVector":{"type":"Value","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}},"distanceMeasure":{"type":"DistanceMeasure","id":3,"options":{"(google.api.field_behavior)":"REQUIRED"}},"limit":{"type":"google.protobuf.Int32Value","id":4,"options":{"(google.api.field_behavior)":"REQUIRED"}}},"nested":{"DistanceMeasure":{"values":{"DISTANCE_MEASURE_UNSPECIFIED":0,"EUCLIDEAN":1,"COSINE":2,"DOT_PRODUCT":3}}}}}},"StructuredAggregationQuery":{"oneofs":{"queryType":{"oneof":["structuredQuery"]}},"fields":{"structuredQuery":{"type":"StructuredQuery","id":1},"aggregations":{"rule":"repeated","type":"Aggregation","id":3,"options":{"(google.api.field_behavior)":"OPTIONAL"}}},"nested":{"Aggregation":{"oneofs":{"operator":{"oneof":["count","sum","avg"]}},"fields":{"count":{"type":"Count","id":1},"sum":{"type":"Sum","id":2},"avg":{"type":"Avg","id":3},"alias":{"type":"string","id":7,"options":{"(google.api.field_behavior)":"OPTIONAL"}}},"nested":{"Count":{"fields":{"upTo":{"type":"google.protobuf.Int64Value","id":1,"options":{"(google.api.field_behavior)":"OPTIONAL"}}}},"Sum":{"fields":{"field":{"type":"StructuredQuery.FieldReference","id":1}}},"Avg":{"fields":{"field":{"type":"StructuredQuery.FieldReference","id":1}}}}}}},"Cursor":{"fields":{"values":{"rule":"repeated","type":"Value","id":1},"before":{"type":"bool","id":2}}},"ExplainOptions":{"fields":{"analyze":{"type":"bool","id":1,"options":{"(google.api.field_behavior)":"OPTIONAL"}}}},"ExplainMetrics":{"fields":{"planSummary":{"type":"PlanSummary","id":1},"executionStats":{"type":"ExecutionStats","id":2}}},"PlanSummary":{"fields":{"indexesUsed":{"rule":"repeated","type":"google.protobuf.Struct","id":1}}},"ExecutionStats":{"fields":{"resultsReturned":{"type":"int64","id":1},"executionDuration":{"type":"google.protobuf.Duration","id":3},"readOperations":{"type":"int64","id":4},"debugStats":{"type":"google.protobuf.Struct","id":5}}},"Write":{"oneofs":{"operation":{"oneof":["update","delete","transform"]}},"fields":{"update":{"type":"Document","id":1},"delete":{"type":"string","id":2},"transform":{"type":"DocumentTransform","id":6},"updateMask":{"type":"DocumentMask","id":3},"updateTransforms":{"rule":"repeated","type":"DocumentTransform.FieldTransform","id":7},"currentDocument":{"type":"Precondition","id":4}}},"DocumentTransform":{"fields":{"document":{"type":"string","id":1},"fieldTransforms":{"rule":"repeated","type":"FieldTransform","id":2}},"nested":{"FieldTransform":{"oneofs":{"transformType":{"oneof":["setToServerValue","increment","maximum","minimum","appendMissingElements","removeAllFromArray"]}},"fields":{"fieldPath":{"type":"string","id":1},"setToServerValue":{"type":"ServerValue","id":2},"increment":{"type":"Value","id":3},"maximum":{"type":"Value","id":4},"minimum":{"type":"Value","id":5},"appendMissingElements":{"type":"ArrayValue","id":6},"removeAllFromArray":{"type":"ArrayValue","id":7}},"nested":{"ServerValue":{"values":{"SERVER_VALUE_UNSPECIFIED":0,"REQUEST_TIME":1}}}}}},"WriteResult":{"fields":{"updateTime":{"type":"google.protobuf.Timestamp","id":1},"transformResults":{"rule":"repeated","type":"Value","id":2}}},"DocumentChange":{"fields":{"document":{"type":"Document","id":1},"targetIds":{"rule":"repeated","type":"int32","id":5},"removedTargetIds":{"rule":"repeated","type":"int32","id":6}}},"DocumentDelete":{"fields":{"document":{"type":"string","id":1},"removedTargetIds":{"rule":"repeated","type":"int32","id":6},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"DocumentRemove":{"fields":{"document":{"type":"string","id":1},"removedTargetIds":{"rule":"repeated","type":"int32","id":2},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"ExistenceFilter":{"fields":{"targetId":{"type":"int32","id":1},"count":{"type":"int32","id":2},"unchangedNames":{"type":"BloomFilter","id":3}}}}}}},"type":{"options":{"cc_enable_arenas":true,"go_package":"google.golang.org/genproto/googleapis/type/dayofweek;dayofweek","java_multiple_files":true,"java_outer_classname":"DayOfWeekProto","java_package":"com.google.type","objc_class_prefix":"GTP"},"nested":{"LatLng":{"fields":{"latitude":{"type":"double","id":1},"longitude":{"type":"double","id":2}}},"DayOfWeek":{"values":{"DAY_OF_WEEK_UNSPECIFIED":0,"MONDAY":1,"TUESDAY":2,"WEDNESDAY":3,"THURSDAY":4,"FRIDAY":5,"SATURDAY":6,"SUNDAY":7}}}},"api":{"options":{"go_package":"google.golang.org/genproto/googleapis/api/annotations;annotations","java_multiple_files":true,"java_outer_classname":"ResourceProto","java_package":"com.google.api","objc_class_prefix":"GAPI","cc_enable_arenas":true},"nested":{"http":{"type":"HttpRule","id":72295728,"extend":"google.protobuf.MethodOptions"},"Http":{"fields":{"rules":{"rule":"repeated","type":"HttpRule","id":1},"fullyDecodeReservedExpansion":{"type":"bool","id":2}}},"HttpRule":{"oneofs":{"pattern":{"oneof":["get","put","post","delete","patch","custom"]}},"fields":{"selector":{"type":"string","id":1},"get":{"type":"string","id":2},"put":{"type":"string","id":3},"post":{"type":"string","id":4},"delete":{"type":"string","id":5},"patch":{"type":"string","id":6},"custom":{"type":"CustomHttpPattern","id":8},"body":{"type":"string","id":7},"responseBody":{"type":"string","id":12},"additionalBindings":{"rule":"repeated","type":"HttpRule","id":11}}},"CustomHttpPattern":{"fields":{"kind":{"type":"string","id":1},"path":{"type":"string","id":2}}},"methodSignature":{"rule":"repeated","type":"string","id":1051,"extend":"google.protobuf.MethodOptions"},"defaultHost":{"type":"string","id":1049,"extend":"google.protobuf.ServiceOptions"},"oauthScopes":{"type":"string","id":1050,"extend":"google.protobuf.ServiceOptions"},"apiVersion":{"type":"string","id":525000001,"extend":"google.protobuf.ServiceOptions"},"CommonLanguageSettings":{"fields":{"referenceDocsUri":{"type":"string","id":1,"options":{"deprecated":true}},"destinations":{"rule":"repeated","type":"ClientLibraryDestination","id":2}}},"ClientLibrarySettings":{"fields":{"version":{"type":"string","id":1},"launchStage":{"type":"LaunchStage","id":2},"restNumericEnums":{"type":"bool","id":3},"javaSettings":{"type":"JavaSettings","id":21},"cppSettings":{"type":"CppSettings","id":22},"phpSettings":{"type":"PhpSettings","id":23},"pythonSettings":{"type":"PythonSettings","id":24},"nodeSettings":{"type":"NodeSettings","id":25},"dotnetSettings":{"type":"DotnetSettings","id":26},"rubySettings":{"type":"RubySettings","id":27},"goSettings":{"type":"GoSettings","id":28}}},"Publishing":{"fields":{"methodSettings":{"rule":"repeated","type":"MethodSettings","id":2},"newIssueUri":{"type":"string","id":101},"documentationUri":{"type":"string","id":102},"apiShortName":{"type":"string","id":103},"githubLabel":{"type":"string","id":104},"codeownerGithubTeams":{"rule":"repeated","type":"string","id":105},"docTagPrefix":{"type":"string","id":106},"organization":{"type":"ClientLibraryOrganization","id":107},"librarySettings":{"rule":"repeated","type":"ClientLibrarySettings","id":109},"protoReferenceDocumentationUri":{"type":"string","id":110},"restReferenceDocumentationUri":{"type":"string","id":111}}},"JavaSettings":{"fields":{"libraryPackage":{"type":"string","id":1},"serviceClassNames":{"keyType":"string","type":"string","id":2},"common":{"type":"CommonLanguageSettings","id":3}}},"CppSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"PhpSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"PythonSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"NodeSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"DotnetSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1},"renamedServices":{"keyType":"string","type":"string","id":2},"renamedResources":{"keyType":"string","type":"string","id":3},"ignoredResources":{"rule":"repeated","type":"string","id":4},"forcedNamespaceAliases":{"rule":"repeated","type":"string","id":5},"handwrittenSignatures":{"rule":"repeated","type":"string","id":6}}},"RubySettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"GoSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"MethodSettings":{"fields":{"selector":{"type":"string","id":1},"longRunning":{"type":"LongRunning","id":2},"autoPopulatedFields":{"rule":"repeated","type":"string","id":3}},"nested":{"LongRunning":{"fields":{"initialPollDelay":{"type":"google.protobuf.Duration","id":1},"pollDelayMultiplier":{"type":"float","id":2},"maxPollDelay":{"type":"google.protobuf.Duration","id":3},"totalPollTimeout":{"type":"google.protobuf.Duration","id":4}}}}},"ClientLibraryOrganization":{"values":{"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED":0,"CLOUD":1,"ADS":2,"PHOTOS":3,"STREET_VIEW":4,"SHOPPING":5,"GEO":6,"GENERATIVE_AI":7}},"ClientLibraryDestination":{"values":{"CLIENT_LIBRARY_DESTINATION_UNSPECIFIED":0,"GITHUB":10,"PACKAGE_MANAGER":20}},"LaunchStage":{"values":{"LAUNCH_STAGE_UNSPECIFIED":0,"UNIMPLEMENTED":6,"PRELAUNCH":7,"EARLY_ACCESS":1,"ALPHA":2,"BETA":3,"GA":4,"DEPRECATED":5}},"fieldBehavior":{"rule":"repeated","type":"google.api.FieldBehavior","id":1052,"extend":"google.protobuf.FieldOptions","options":{"packed":false}},"FieldBehavior":{"values":{"FIELD_BEHAVIOR_UNSPECIFIED":0,"OPTIONAL":1,"REQUIRED":2,"OUTPUT_ONLY":3,"INPUT_ONLY":4,"IMMUTABLE":5,"UNORDERED_LIST":6,"NON_EMPTY_DEFAULT":7,"IDENTIFIER":8}},"resourceReference":{"type":"google.api.ResourceReference","id":1055,"extend":"google.protobuf.FieldOptions"},"resourceDefinition":{"rule":"repeated","type":"google.api.ResourceDescriptor","id":1053,"extend":"google.protobuf.FileOptions"},"resource":{"type":"google.api.ResourceDescriptor","id":1053,"extend":"google.protobuf.MessageOptions"},"ResourceDescriptor":{"fields":{"type":{"type":"string","id":1},"pattern":{"rule":"repeated","type":"string","id":2},"nameField":{"type":"string","id":3},"history":{"type":"History","id":4},"plural":{"type":"string","id":5},"singular":{"type":"string","id":6},"style":{"rule":"repeated","type":"Style","id":10}},"nested":{"History":{"values":{"HISTORY_UNSPECIFIED":0,"ORIGINALLY_SINGLE_PATTERN":1,"FUTURE_MULTI_PATTERN":2}},"Style":{"values":{"STYLE_UNSPECIFIED":0,"DECLARATIVE_FRIENDLY":1}}}},"ResourceReference":{"fields":{"type":{"type":"string","id":1},"childType":{"type":"string","id":2}}}}},"rpc":{"options":{"cc_enable_arenas":true,"go_package":"google.golang.org/genproto/googleapis/rpc/status;status","java_multiple_files":true,"java_outer_classname":"StatusProto","java_package":"com.google.rpc","objc_class_prefix":"RPC"},"nested":{"Status":{"fields":{"code":{"type":"int32","id":1},"message":{"type":"string","id":2},"details":{"rule":"repeated","type":"google.protobuf.Any","id":3}}}}}}}}}

@@ -1,1 +0,1 @@

{"nested":{"google":{"nested":{"protobuf":{"options":{"go_package":"google.golang.org/protobuf/types/descriptorpb","java_package":"com.google.protobuf","java_outer_classname":"DescriptorProtos","csharp_namespace":"Google.Protobuf.Reflection","objc_class_prefix":"GPB","cc_enable_arenas":true,"optimize_for":"SPEED"},"nested":{"Timestamp":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}}},"Struct":{"fields":{"fields":{"keyType":"string","type":"Value","id":1}}},"Value":{"oneofs":{"kind":{"oneof":["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},"fields":{"nullValue":{"type":"NullValue","id":1},"numberValue":{"type":"double","id":2},"stringValue":{"type":"string","id":3},"boolValue":{"type":"bool","id":4},"structValue":{"type":"Struct","id":5},"listValue":{"type":"ListValue","id":6}}},"NullValue":{"values":{"NULL_VALUE":0}},"ListValue":{"fields":{"values":{"rule":"repeated","type":"Value","id":1}}},"FileDescriptorSet":{"fields":{"file":{"rule":"repeated","type":"FileDescriptorProto","id":1}}},"Edition":{"values":{"EDITION_UNKNOWN":0,"EDITION_PROTO2":998,"EDITION_PROTO3":999,"EDITION_2023":1e3,"EDITION_2024":1001,"EDITION_1_TEST_ONLY":1,"EDITION_2_TEST_ONLY":2,"EDITION_99997_TEST_ONLY":99997,"EDITION_99998_TEST_ONLY":99998,"EDITION_99999_TEST_ONLY":99999,"EDITION_MAX":2147483647}},"FileDescriptorProto":{"fields":{"name":{"type":"string","id":1},"package":{"type":"string","id":2},"dependency":{"rule":"repeated","type":"string","id":3},"publicDependency":{"rule":"repeated","type":"int32","id":10,"options":{"packed":false}},"weakDependency":{"rule":"repeated","type":"int32","id":11,"options":{"packed":false}},"messageType":{"rule":"repeated","type":"DescriptorProto","id":4},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":5},"service":{"rule":"repeated","type":"ServiceDescriptorProto","id":6},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":7},"options":{"type":"FileOptions","id":8},"sourceCodeInfo":{"type":"SourceCodeInfo","id":9},"syntax":{"type":"string","id":12},"edition":{"type":"Edition","id":14}}},"DescriptorProto":{"fields":{"name":{"type":"string","id":1},"field":{"rule":"repeated","type":"FieldDescriptorProto","id":2},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":6},"nestedType":{"rule":"repeated","type":"DescriptorProto","id":3},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":4},"extensionRange":{"rule":"repeated","type":"ExtensionRange","id":5},"oneofDecl":{"rule":"repeated","type":"OneofDescriptorProto","id":8},"options":{"type":"MessageOptions","id":7},"reservedRange":{"rule":"repeated","type":"ReservedRange","id":9},"reservedName":{"rule":"repeated","type":"string","id":10}},"nested":{"ExtensionRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2},"options":{"type":"ExtensionRangeOptions","id":3}}},"ReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}}}}},"ExtensionRangeOptions":{"fields":{"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999},"declaration":{"rule":"repeated","type":"Declaration","id":2,"options":{"retention":"RETENTION_SOURCE"}},"features":{"type":"FeatureSet","id":50},"verification":{"type":"VerificationState","id":3,"options":{"default":"UNVERIFIED","retention":"RETENTION_SOURCE"}}},"extensions":[[1e3,536870911]],"nested":{"Declaration":{"fields":{"number":{"type":"int32","id":1},"fullName":{"type":"string","id":2},"type":{"type":"string","id":3},"reserved":{"type":"bool","id":5},"repeated":{"type":"bool","id":6}},"reserved":[[4,4]]},"VerificationState":{"values":{"DECLARATION":0,"UNVERIFIED":1}}}},"FieldDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":3},"label":{"type":"Label","id":4},"type":{"type":"Type","id":5},"typeName":{"type":"string","id":6},"extendee":{"type":"string","id":2},"defaultValue":{"type":"string","id":7},"oneofIndex":{"type":"int32","id":9},"jsonName":{"type":"string","id":10},"options":{"type":"FieldOptions","id":8},"proto3Optional":{"type":"bool","id":17}},"nested":{"Type":{"values":{"TYPE_DOUBLE":1,"TYPE_FLOAT":2,"TYPE_INT64":3,"TYPE_UINT64":4,"TYPE_INT32":5,"TYPE_FIXED64":6,"TYPE_FIXED32":7,"TYPE_BOOL":8,"TYPE_STRING":9,"TYPE_GROUP":10,"TYPE_MESSAGE":11,"TYPE_BYTES":12,"TYPE_UINT32":13,"TYPE_ENUM":14,"TYPE_SFIXED32":15,"TYPE_SFIXED64":16,"TYPE_SINT32":17,"TYPE_SINT64":18}},"Label":{"values":{"LABEL_OPTIONAL":1,"LABEL_REPEATED":3,"LABEL_REQUIRED":2}}}},"OneofDescriptorProto":{"fields":{"name":{"type":"string","id":1},"options":{"type":"OneofOptions","id":2}}},"EnumDescriptorProto":{"fields":{"name":{"type":"string","id":1},"value":{"rule":"repeated","type":"EnumValueDescriptorProto","id":2},"options":{"type":"EnumOptions","id":3},"reservedRange":{"rule":"repeated","type":"EnumReservedRange","id":4},"reservedName":{"rule":"repeated","type":"string","id":5}},"nested":{"EnumReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}}}}},"EnumValueDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":2},"options":{"type":"EnumValueOptions","id":3}}},"ServiceDescriptorProto":{"fields":{"name":{"type":"string","id":1},"method":{"rule":"repeated","type":"MethodDescriptorProto","id":2},"options":{"type":"ServiceOptions","id":3}}},"MethodDescriptorProto":{"fields":{"name":{"type":"string","id":1},"inputType":{"type":"string","id":2},"outputType":{"type":"string","id":3},"options":{"type":"MethodOptions","id":4},"clientStreaming":{"type":"bool","id":5,"options":{"default":false}},"serverStreaming":{"type":"bool","id":6,"options":{"default":false}}}},"FileOptions":{"fields":{"javaPackage":{"type":"string","id":1},"javaOuterClassname":{"type":"string","id":8},"javaMultipleFiles":{"type":"bool","id":10,"options":{"default":false}},"javaGenerateEqualsAndHash":{"type":"bool","id":20,"options":{"deprecated":true}},"javaStringCheckUtf8":{"type":"bool","id":27,"options":{"default":false}},"optimizeFor":{"type":"OptimizeMode","id":9,"options":{"default":"SPEED"}},"goPackage":{"type":"string","id":11},"ccGenericServices":{"type":"bool","id":16,"options":{"default":false}},"javaGenericServices":{"type":"bool","id":17,"options":{"default":false}},"pyGenericServices":{"type":"bool","id":18,"options":{"default":false}},"deprecated":{"type":"bool","id":23,"options":{"default":false}},"ccEnableArenas":{"type":"bool","id":31,"options":{"default":true}},"objcClassPrefix":{"type":"string","id":36},"csharpNamespace":{"type":"string","id":37},"swiftPrefix":{"type":"string","id":39},"phpClassPrefix":{"type":"string","id":40},"phpNamespace":{"type":"string","id":41},"phpMetadataNamespace":{"type":"string","id":44},"rubyPackage":{"type":"string","id":45},"features":{"type":"FeatureSet","id":50},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[42,42],[38,38]],"nested":{"OptimizeMode":{"values":{"SPEED":1,"CODE_SIZE":2,"LITE_RUNTIME":3}}}},"MessageOptions":{"fields":{"messageSetWireFormat":{"type":"bool","id":1,"options":{"default":false}},"noStandardDescriptorAccessor":{"type":"bool","id":2,"options":{"default":false}},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"mapEntry":{"type":"bool","id":7},"deprecatedLegacyJsonFieldConflicts":{"type":"bool","id":11,"options":{"deprecated":true}},"features":{"type":"FeatureSet","id":12},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[4,4],[5,5],[6,6],[8,8],[9,9]]},"FieldOptions":{"fields":{"ctype":{"type":"CType","id":1,"options":{"default":"STRING"}},"packed":{"type":"bool","id":2},"jstype":{"type":"JSType","id":6,"options":{"default":"JS_NORMAL"}},"lazy":{"type":"bool","id":5,"options":{"default":false}},"unverifiedLazy":{"type":"bool","id":15,"options":{"default":false}},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"weak":{"type":"bool","id":10,"options":{"default":false}},"debugRedact":{"type":"bool","id":16,"options":{"default":false}},"retention":{"type":"OptionRetention","id":17},"targets":{"rule":"repeated","type":"OptionTargetType","id":19,"options":{"packed":false}},"editionDefaults":{"rule":"repeated","type":"EditionDefault","id":20},"features":{"type":"FeatureSet","id":21},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[4,4],[18,18]],"nested":{"CType":{"values":{"STRING":0,"CORD":1,"STRING_PIECE":2}},"JSType":{"values":{"JS_NORMAL":0,"JS_STRING":1,"JS_NUMBER":2}},"OptionRetention":{"values":{"RETENTION_UNKNOWN":0,"RETENTION_RUNTIME":1,"RETENTION_SOURCE":2}},"OptionTargetType":{"values":{"TARGET_TYPE_UNKNOWN":0,"TARGET_TYPE_FILE":1,"TARGET_TYPE_EXTENSION_RANGE":2,"TARGET_TYPE_MESSAGE":3,"TARGET_TYPE_FIELD":4,"TARGET_TYPE_ONEOF":5,"TARGET_TYPE_ENUM":6,"TARGET_TYPE_ENUM_ENTRY":7,"TARGET_TYPE_SERVICE":8,"TARGET_TYPE_METHOD":9}},"EditionDefault":{"fields":{"edition":{"type":"Edition","id":3},"value":{"type":"string","id":2}}}}},"OneofOptions":{"fields":{"features":{"type":"FeatureSet","id":1},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"EnumOptions":{"fields":{"allowAlias":{"type":"bool","id":2},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"deprecatedLegacyJsonFieldConflicts":{"type":"bool","id":6,"options":{"deprecated":true}},"features":{"type":"FeatureSet","id":7},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[5,5]]},"EnumValueOptions":{"fields":{"deprecated":{"type":"bool","id":1,"options":{"default":false}},"features":{"type":"FeatureSet","id":2},"debugRedact":{"type":"bool","id":3,"options":{"default":false}},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"ServiceOptions":{"fields":{"features":{"type":"FeatureSet","id":34},"deprecated":{"type":"bool","id":33,"options":{"default":false}},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"MethodOptions":{"fields":{"deprecated":{"type":"bool","id":33,"options":{"default":false}},"idempotencyLevel":{"type":"IdempotencyLevel","id":34,"options":{"default":"IDEMPOTENCY_UNKNOWN"}},"features":{"type":"FeatureSet","id":35},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"nested":{"IdempotencyLevel":{"values":{"IDEMPOTENCY_UNKNOWN":0,"NO_SIDE_EFFECTS":1,"IDEMPOTENT":2}}}},"UninterpretedOption":{"fields":{"name":{"rule":"repeated","type":"NamePart","id":2},"identifierValue":{"type":"string","id":3},"positiveIntValue":{"type":"uint64","id":4},"negativeIntValue":{"type":"int64","id":5},"doubleValue":{"type":"double","id":6},"stringValue":{"type":"bytes","id":7},"aggregateValue":{"type":"string","id":8}},"nested":{"NamePart":{"fields":{"namePart":{"rule":"required","type":"string","id":1},"isExtension":{"rule":"required","type":"bool","id":2}}}}},"FeatureSet":{"fields":{"fieldPresence":{"type":"FieldPresence","id":1,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_2023","edition_defaults.value":"EXPLICIT"}},"enumType":{"type":"EnumType","id":2,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"OPEN"}},"repeatedFieldEncoding":{"type":"RepeatedFieldEncoding","id":3,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"PACKED"}},"utf8Validation":{"type":"Utf8Validation","id":4,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"VERIFY"}},"messageEncoding":{"type":"MessageEncoding","id":5,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO2","edition_defaults.value":"LENGTH_PREFIXED"}},"jsonFormat":{"type":"JsonFormat","id":6,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"ALLOW"}}},"extensions":[[1e3,1e3],[1001,1001],[1002,1002],[9990,9990],[9995,9999],[1e4,1e4]],"reserved":[[999,999]],"nested":{"FieldPresence":{"values":{"FIELD_PRESENCE_UNKNOWN":0,"EXPLICIT":1,"IMPLICIT":2,"LEGACY_REQUIRED":3}},"EnumType":{"values":{"ENUM_TYPE_UNKNOWN":0,"OPEN":1,"CLOSED":2}},"RepeatedFieldEncoding":{"values":{"REPEATED_FIELD_ENCODING_UNKNOWN":0,"PACKED":1,"EXPANDED":2}},"Utf8Validation":{"values":{"UTF8_VALIDATION_UNKNOWN":0,"VERIFY":2,"NONE":3}},"MessageEncoding":{"values":{"MESSAGE_ENCODING_UNKNOWN":0,"LENGTH_PREFIXED":1,"DELIMITED":2}},"JsonFormat":{"values":{"JSON_FORMAT_UNKNOWN":0,"ALLOW":1,"LEGACY_BEST_EFFORT":2}}}},"FeatureSetDefaults":{"fields":{"defaults":{"rule":"repeated","type":"FeatureSetEditionDefault","id":1},"minimumEdition":{"type":"Edition","id":4},"maximumEdition":{"type":"Edition","id":5}},"nested":{"FeatureSetEditionDefault":{"fields":{"edition":{"type":"Edition","id":3},"features":{"type":"FeatureSet","id":2}}}}},"SourceCodeInfo":{"fields":{"location":{"rule":"repeated","type":"Location","id":1}},"nested":{"Location":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"span":{"rule":"repeated","type":"int32","id":2},"leadingComments":{"type":"string","id":3},"trailingComments":{"type":"string","id":4},"leadingDetachedComments":{"rule":"repeated","type":"string","id":6}}}}},"GeneratedCodeInfo":{"fields":{"annotation":{"rule":"repeated","type":"Annotation","id":1}},"nested":{"Annotation":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"sourceFile":{"type":"string","id":2},"begin":{"type":"int32","id":3},"end":{"type":"int32","id":4},"semantic":{"type":"Semantic","id":5}},"nested":{"Semantic":{"values":{"NONE":0,"SET":1,"ALIAS":2}}}}}},"Duration":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}}},"DoubleValue":{"fields":{"value":{"type":"double","id":1}}},"FloatValue":{"fields":{"value":{"type":"float","id":1}}},"Int64Value":{"fields":{"value":{"type":"int64","id":1}}},"UInt64Value":{"fields":{"value":{"type":"uint64","id":1}}},"Int32Value":{"fields":{"value":{"type":"int32","id":1}}},"UInt32Value":{"fields":{"value":{"type":"uint32","id":1}}},"BoolValue":{"fields":{"value":{"type":"bool","id":1}}},"StringValue":{"fields":{"value":{"type":"string","id":1}}},"BytesValue":{"fields":{"value":{"type":"bytes","id":1}}},"Empty":{"fields":{}},"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}}},"FieldMask":{"fields":{"paths":{"rule":"repeated","type":"string","id":1}}}}},"firestore":{"nested":{"v1beta1":{"options":{"csharp_namespace":"Google.Cloud.Firestore.V1Beta1","go_package":"cloud.google.com/go/firestore/apiv1beta1/firestorepb;firestorepb","java_multiple_files":true,"java_outer_classname":"UndeliverableFirstGenEventProto","java_package":"com.google.firestore.v1beta1","objc_class_prefix":"GCFS","php_namespace":"Google\\Cloud\\Firestore\\V1beta1","ruby_package":"Google::Cloud::Firestore::V1beta1"},"nested":{"DocumentMask":{"fields":{"fieldPaths":{"rule":"repeated","type":"string","id":1}}},"Precondition":{"oneofs":{"conditionType":{"oneof":["exists","updateTime"]}},"fields":{"exists":{"type":"bool","id":1},"updateTime":{"type":"google.protobuf.Timestamp","id":2}}},"TransactionOptions":{"oneofs":{"mode":{"oneof":["readOnly","readWrite"]}},"fields":{"readOnly":{"type":"ReadOnly","id":2},"readWrite":{"type":"ReadWrite","id":3}},"nested":{"ReadWrite":{"fields":{"retryTransaction":{"type":"bytes","id":1}}},"ReadOnly":{"oneofs":{"consistencySelector":{"oneof":["readTime"]}},"fields":{"readTime":{"type":"google.protobuf.Timestamp","id":2}}}}},"Document":{"fields":{"name":{"type":"string","id":1},"fields":{"keyType":"string","type":"Value","id":2},"createTime":{"type":"google.protobuf.Timestamp","id":3},"updateTime":{"type":"google.protobuf.Timestamp","id":4}}},"Value":{"oneofs":{"valueType":{"oneof":["nullValue","booleanValue","integerValue","doubleValue","timestampValue","stringValue","bytesValue","referenceValue","geoPointValue","arrayValue","mapValue"]}},"fields":{"nullValue":{"type":"google.protobuf.NullValue","id":11},"booleanValue":{"type":"bool","id":1},"integerValue":{"type":"int64","id":2},"doubleValue":{"type":"double","id":3},"timestampValue":{"type":"google.protobuf.Timestamp","id":10},"stringValue":{"type":"string","id":17},"bytesValue":{"type":"bytes","id":18},"referenceValue":{"type":"string","id":5},"geoPointValue":{"type":"google.type.LatLng","id":8},"arrayValue":{"type":"ArrayValue","id":9},"mapValue":{"type":"MapValue","id":6}}},"ArrayValue":{"fields":{"values":{"rule":"repeated","type":"Value","id":1}}},"MapValue":{"fields":{"fields":{"keyType":"string","type":"Value","id":1}}},"Firestore":{"options":{"(google.api.default_host)":"firestore.googleapis.com","(google.api.oauth_scopes)":"https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/datastore"},"methods":{"GetDocument":{"requestType":"GetDocumentRequest","responseType":"Document","options":{"(google.api.http).get":"/v1beta1/{name=projects/*/databases/*/documents/*/**}"},"parsedOptions":[{"(google.api.http)":{"get":"/v1beta1/{name=projects/*/databases/*/documents/*/**}"}}]},"ListDocuments":{"requestType":"ListDocumentsRequest","responseType":"ListDocumentsResponse","options":{"(google.api.http).get":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}/{collection_id}"},"parsedOptions":[{"(google.api.http)":{"get":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}/{collection_id}"}}]},"UpdateDocument":{"requestType":"UpdateDocumentRequest","responseType":"Document","options":{"(google.api.http).patch":"/v1beta1/{document.name=projects/*/databases/*/documents/*/**}","(google.api.http).body":"document","(google.api.method_signature)":"document,update_mask"},"parsedOptions":[{"(google.api.http)":{"patch":"/v1beta1/{document.name=projects/*/databases/*/documents/*/**}","body":"document"}},{"(google.api.method_signature)":"document,update_mask"}]},"DeleteDocument":{"requestType":"DeleteDocumentRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).delete":"/v1beta1/{name=projects/*/databases/*/documents/*/**}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1beta1/{name=projects/*/databases/*/documents/*/**}"}},{"(google.api.method_signature)":"name"}]},"BatchGetDocuments":{"requestType":"BatchGetDocumentsRequest","responseType":"BatchGetDocumentsResponse","responseStream":true,"options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:batchGet","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:batchGet","body":"*"}}]},"BeginTransaction":{"requestType":"BeginTransactionRequest","responseType":"BeginTransactionResponse","options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:beginTransaction","(google.api.http).body":"*","(google.api.method_signature)":"database"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:beginTransaction","body":"*"}},{"(google.api.method_signature)":"database"}]},"Commit":{"requestType":"CommitRequest","responseType":"CommitResponse","options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:commit","(google.api.http).body":"*","(google.api.method_signature)":"database,writes"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:commit","body":"*"}},{"(google.api.method_signature)":"database,writes"}]},"Rollback":{"requestType":"RollbackRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:rollback","(google.api.http).body":"*","(google.api.method_signature)":"database,transaction"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:rollback","body":"*"}},{"(google.api.method_signature)":"database,transaction"}]},"RunQuery":{"requestType":"RunQueryRequest","responseType":"RunQueryResponse","responseStream":true,"options":{"(google.api.http).post":"/v1beta1/{parent=projects/*/databases/*/documents}:runQuery","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}:runQuery","(google.api.http).additional_bindings.body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{parent=projects/*/databases/*/documents}:runQuery","body":"*","additional_bindings":{"post":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}:runQuery","body":"*"}}}]},"PartitionQuery":{"requestType":"PartitionQueryRequest","responseType":"PartitionQueryResponse","options":{"(google.api.http).post":"/v1beta1/{parent=projects/*/databases/*/documents}:partitionQuery","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}:partitionQuery","(google.api.http).additional_bindings.body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{parent=projects/*/databases/*/documents}:partitionQuery","body":"*","additional_bindings":{"post":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}:partitionQuery","body":"*"}}}]},"Write":{"requestType":"WriteRequest","requestStream":true,"responseType":"WriteResponse","responseStream":true,"options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:write","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:write","body":"*"}}]},"Listen":{"requestType":"ListenRequest","requestStream":true,"responseType":"ListenResponse","responseStream":true,"options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:listen","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:listen","body":"*"}}]},"ListCollectionIds":{"requestType":"ListCollectionIdsRequest","responseType":"ListCollectionIdsResponse","options":{"(google.api.http).post":"/v1beta1/{parent=projects/*/databases/*/documents}:listCollectionIds","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}:listCollectionIds","(google.api.http).additional_bindings.body":"*","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{parent=projects/*/databases/*/documents}:listCollectionIds","body":"*","additional_bindings":{"post":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}:listCollectionIds","body":"*"}}},{"(google.api.method_signature)":"parent"}]},"BatchWrite":{"requestType":"BatchWriteRequest","responseType":"BatchWriteResponse","options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:batchWrite","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:batchWrite","body":"*"}}]},"CreateDocument":{"requestType":"CreateDocumentRequest","responseType":"Document","options":{"(google.api.http).post":"/v1beta1/{parent=projects/*/databases/*/documents/**}/{collection_id}","(google.api.http).body":"document"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{parent=projects/*/databases/*/documents/**}/{collection_id}","body":"document"}}]}}},"GetDocumentRequest":{"oneofs":{"consistencySelector":{"oneof":["transaction","readTime"]}},"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"mask":{"type":"DocumentMask","id":2},"transaction":{"type":"bytes","id":3},"readTime":{"type":"google.protobuf.Timestamp","id":5}}},"ListDocumentsRequest":{"oneofs":{"consistencySelector":{"oneof":["transaction","readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"collectionId":{"type":"string","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}},"pageSize":{"type":"int32","id":3},"pageToken":{"type":"string","id":4},"orderBy":{"type":"string","id":6},"mask":{"type":"DocumentMask","id":7},"transaction":{"type":"bytes","id":8},"readTime":{"type":"google.protobuf.Timestamp","id":10},"showMissing":{"type":"bool","id":12}}},"ListDocumentsResponse":{"fields":{"documents":{"rule":"repeated","type":"Document","id":1},"nextPageToken":{"type":"string","id":2}}},"CreateDocumentRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"collectionId":{"type":"string","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}},"documentId":{"type":"string","id":3},"document":{"type":"Document","id":4,"options":{"(google.api.field_behavior)":"REQUIRED"}},"mask":{"type":"DocumentMask","id":5}}},"UpdateDocumentRequest":{"fields":{"document":{"type":"Document","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"updateMask":{"type":"DocumentMask","id":2},"mask":{"type":"DocumentMask","id":3},"currentDocument":{"type":"Precondition","id":4}}},"DeleteDocumentRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"currentDocument":{"type":"Precondition","id":2}}},"BatchGetDocumentsRequest":{"oneofs":{"consistencySelector":{"oneof":["transaction","newTransaction","readTime"]}},"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"documents":{"rule":"repeated","type":"string","id":2},"mask":{"type":"DocumentMask","id":3},"transaction":{"type":"bytes","id":4},"newTransaction":{"type":"TransactionOptions","id":5},"readTime":{"type":"google.protobuf.Timestamp","id":7}}},"BatchGetDocumentsResponse":{"oneofs":{"result":{"oneof":["found","missing"]}},"fields":{"found":{"type":"Document","id":1},"missing":{"type":"string","id":2},"transaction":{"type":"bytes","id":3},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"BeginTransactionRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"options":{"type":"TransactionOptions","id":2}}},"BeginTransactionResponse":{"fields":{"transaction":{"type":"bytes","id":1}}},"CommitRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"writes":{"rule":"repeated","type":"Write","id":2},"transaction":{"type":"bytes","id":3}}},"CommitResponse":{"fields":{"writeResults":{"rule":"repeated","type":"WriteResult","id":1},"commitTime":{"type":"google.protobuf.Timestamp","id":2}}},"RollbackRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"transaction":{"type":"bytes","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}}}},"RunQueryRequest":{"oneofs":{"queryType":{"oneof":["structuredQuery"]},"consistencySelector":{"oneof":["transaction","newTransaction","readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"structuredQuery":{"type":"StructuredQuery","id":2},"transaction":{"type":"bytes","id":5},"newTransaction":{"type":"TransactionOptions","id":6},"readTime":{"type":"google.protobuf.Timestamp","id":7}}},"RunQueryResponse":{"fields":{"transaction":{"type":"bytes","id":2},"document":{"type":"Document","id":1},"readTime":{"type":"google.protobuf.Timestamp","id":3},"skippedResults":{"type":"int32","id":4}}},"PartitionQueryRequest":{"oneofs":{"queryType":{"oneof":["structuredQuery"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"structuredQuery":{"type":"StructuredQuery","id":2},"partitionCount":{"type":"int64","id":3},"pageToken":{"type":"string","id":4},"pageSize":{"type":"int32","id":5}}},"PartitionQueryResponse":{"fields":{"partitions":{"rule":"repeated","type":"Cursor","id":1},"nextPageToken":{"type":"string","id":2}}},"WriteRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"streamId":{"type":"string","id":2},"writes":{"rule":"repeated","type":"Write","id":3},"streamToken":{"type":"bytes","id":4},"labels":{"keyType":"string","type":"string","id":5}}},"WriteResponse":{"fields":{"streamId":{"type":"string","id":1},"streamToken":{"type":"bytes","id":2},"writeResults":{"rule":"repeated","type":"WriteResult","id":3},"commitTime":{"type":"google.protobuf.Timestamp","id":4}}},"ListenRequest":{"oneofs":{"targetChange":{"oneof":["addTarget","removeTarget"]}},"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"addTarget":{"type":"Target","id":2},"removeTarget":{"type":"int32","id":3},"labels":{"keyType":"string","type":"string","id":4}}},"ListenResponse":{"oneofs":{"responseType":{"oneof":["targetChange","documentChange","documentDelete","documentRemove","filter"]}},"fields":{"targetChange":{"type":"TargetChange","id":2},"documentChange":{"type":"DocumentChange","id":3},"documentDelete":{"type":"DocumentDelete","id":4},"documentRemove":{"type":"DocumentRemove","id":6},"filter":{"type":"ExistenceFilter","id":5}}},"Target":{"oneofs":{"targetType":{"oneof":["query","documents"]},"resumeType":{"oneof":["resumeToken","readTime"]}},"fields":{"query":{"type":"QueryTarget","id":2},"documents":{"type":"DocumentsTarget","id":3},"resumeToken":{"type":"bytes","id":4},"readTime":{"type":"google.protobuf.Timestamp","id":11},"targetId":{"type":"int32","id":5},"once":{"type":"bool","id":6}},"nested":{"DocumentsTarget":{"fields":{"documents":{"rule":"repeated","type":"string","id":2}}},"QueryTarget":{"oneofs":{"queryType":{"oneof":["structuredQuery"]}},"fields":{"parent":{"type":"string","id":1},"structuredQuery":{"type":"StructuredQuery","id":2}}}}},"TargetChange":{"fields":{"targetChangeType":{"type":"TargetChangeType","id":1},"targetIds":{"rule":"repeated","type":"int32","id":2},"cause":{"type":"google.rpc.Status","id":3},"resumeToken":{"type":"bytes","id":4},"readTime":{"type":"google.protobuf.Timestamp","id":6}},"nested":{"TargetChangeType":{"values":{"NO_CHANGE":0,"ADD":1,"REMOVE":2,"CURRENT":3,"RESET":4}}}},"ListCollectionIdsRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"pageSize":{"type":"int32","id":2},"pageToken":{"type":"string","id":3}}},"ListCollectionIdsResponse":{"fields":{"collectionIds":{"rule":"repeated","type":"string","id":1},"nextPageToken":{"type":"string","id":2}}},"BatchWriteRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"writes":{"rule":"repeated","type":"Write","id":2},"labels":{"keyType":"string","type":"string","id":3}}},"BatchWriteResponse":{"fields":{"writeResults":{"rule":"repeated","type":"WriteResult","id":1},"status":{"rule":"repeated","type":"google.rpc.Status","id":2}}},"StructuredQuery":{"fields":{"select":{"type":"Projection","id":1},"from":{"rule":"repeated","type":"CollectionSelector","id":2},"where":{"type":"Filter","id":3},"orderBy":{"rule":"repeated","type":"Order","id":4},"startAt":{"type":"Cursor","id":7},"endAt":{"type":"Cursor","id":8},"offset":{"type":"int32","id":6},"limit":{"type":"google.protobuf.Int32Value","id":5}},"nested":{"CollectionSelector":{"fields":{"collectionId":{"type":"string","id":2},"allDescendants":{"type":"bool","id":3}}},"Filter":{"oneofs":{"filterType":{"oneof":["compositeFilter","fieldFilter","unaryFilter"]}},"fields":{"compositeFilter":{"type":"CompositeFilter","id":1},"fieldFilter":{"type":"FieldFilter","id":2},"unaryFilter":{"type":"UnaryFilter","id":3}}},"CompositeFilter":{"fields":{"op":{"type":"Operator","id":1},"filters":{"rule":"repeated","type":"Filter","id":2}},"nested":{"Operator":{"values":{"OPERATOR_UNSPECIFIED":0,"AND":1}}}},"FieldFilter":{"fields":{"field":{"type":"FieldReference","id":1},"op":{"type":"Operator","id":2},"value":{"type":"Value","id":3}},"nested":{"Operator":{"values":{"OPERATOR_UNSPECIFIED":0,"LESS_THAN":1,"LESS_THAN_OR_EQUAL":2,"GREATER_THAN":3,"GREATER_THAN_OR_EQUAL":4,"EQUAL":5,"NOT_EQUAL":6,"ARRAY_CONTAINS":7,"IN":8,"ARRAY_CONTAINS_ANY":9,"NOT_IN":10}}}},"UnaryFilter":{"oneofs":{"operandType":{"oneof":["field"]}},"fields":{"op":{"type":"Operator","id":1},"field":{"type":"FieldReference","id":2}},"nested":{"Operator":{"values":{"OPERATOR_UNSPECIFIED":0,"IS_NAN":2,"IS_NULL":3,"IS_NOT_NAN":4,"IS_NOT_NULL":5}}}},"FieldReference":{"fields":{"fieldPath":{"type":"string","id":2}}},"Order":{"fields":{"field":{"type":"FieldReference","id":1},"direction":{"type":"Direction","id":2}}},"Projection":{"fields":{"fields":{"rule":"repeated","type":"FieldReference","id":2}}},"Direction":{"values":{"DIRECTION_UNSPECIFIED":0,"ASCENDING":1,"DESCENDING":2}}}},"Cursor":{"fields":{"values":{"rule":"repeated","type":"Value","id":1},"before":{"type":"bool","id":2}}},"Write":{"oneofs":{"operation":{"oneof":["update","delete","transform"]}},"fields":{"update":{"type":"Document","id":1},"delete":{"type":"string","id":2},"transform":{"type":"DocumentTransform","id":6},"updateMask":{"type":"DocumentMask","id":3},"updateTransforms":{"rule":"repeated","type":"DocumentTransform.FieldTransform","id":7},"currentDocument":{"type":"Precondition","id":4}}},"DocumentTransform":{"fields":{"document":{"type":"string","id":1},"fieldTransforms":{"rule":"repeated","type":"FieldTransform","id":2}},"nested":{"FieldTransform":{"oneofs":{"transformType":{"oneof":["setToServerValue","increment","maximum","minimum","appendMissingElements","removeAllFromArray"]}},"fields":{"fieldPath":{"type":"string","id":1},"setToServerValue":{"type":"ServerValue","id":2},"increment":{"type":"Value","id":3},"maximum":{"type":"Value","id":4},"minimum":{"type":"Value","id":5},"appendMissingElements":{"type":"ArrayValue","id":6},"removeAllFromArray":{"type":"ArrayValue","id":7}},"nested":{"ServerValue":{"values":{"SERVER_VALUE_UNSPECIFIED":0,"REQUEST_TIME":1}}}}}},"WriteResult":{"fields":{"updateTime":{"type":"google.protobuf.Timestamp","id":1},"transformResults":{"rule":"repeated","type":"Value","id":2}}},"DocumentChange":{"fields":{"document":{"type":"Document","id":1},"targetIds":{"rule":"repeated","type":"int32","id":5},"removedTargetIds":{"rule":"repeated","type":"int32","id":6}}},"DocumentDelete":{"fields":{"document":{"type":"string","id":1},"removedTargetIds":{"rule":"repeated","type":"int32","id":6},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"DocumentRemove":{"fields":{"document":{"type":"string","id":1},"removedTargetIds":{"rule":"repeated","type":"int32","id":2},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"ExistenceFilter":{"fields":{"targetId":{"type":"int32","id":1},"count":{"type":"int32","id":2}}},"UndeliverableFirstGenEvent":{"fields":{"message":{"type":"string","id":1},"reason":{"type":"Reason","id":2},"documentName":{"type":"string","id":3},"documentChangeType":{"type":"DocumentChangeType","id":4},"functionName":{"rule":"repeated","type":"string","id":5},"triggeredTime":{"type":"google.protobuf.Timestamp","id":6}},"nested":{"Reason":{"values":{"REASON_UNSPECIFIED":0,"EXCEEDING_SIZE_LIMIT":1}},"DocumentChangeType":{"values":{"DOCUMENT_CHANGE_TYPE_UNSPECIFIED":0,"CREATE":1,"DELETE":2,"UPDATE":3}}}}}}}},"type":{"options":{"cc_enable_arenas":true,"go_package":"google.golang.org/genproto/googleapis/type/dayofweek;dayofweek","java_multiple_files":true,"java_outer_classname":"DayOfWeekProto","java_package":"com.google.type","objc_class_prefix":"GTP"},"nested":{"LatLng":{"fields":{"latitude":{"type":"double","id":1},"longitude":{"type":"double","id":2}}},"DayOfWeek":{"values":{"DAY_OF_WEEK_UNSPECIFIED":0,"MONDAY":1,"TUESDAY":2,"WEDNESDAY":3,"THURSDAY":4,"FRIDAY":5,"SATURDAY":6,"SUNDAY":7}}}},"api":{"options":{"go_package":"google.golang.org/genproto/googleapis/api/annotations;annotations","java_multiple_files":true,"java_outer_classname":"ResourceProto","java_package":"com.google.api","objc_class_prefix":"GAPI","cc_enable_arenas":true},"nested":{"http":{"type":"HttpRule","id":72295728,"extend":"google.protobuf.MethodOptions"},"Http":{"fields":{"rules":{"rule":"repeated","type":"HttpRule","id":1},"fullyDecodeReservedExpansion":{"type":"bool","id":2}}},"HttpRule":{"oneofs":{"pattern":{"oneof":["get","put","post","delete","patch","custom"]}},"fields":{"selector":{"type":"string","id":1},"get":{"type":"string","id":2},"put":{"type":"string","id":3},"post":{"type":"string","id":4},"delete":{"type":"string","id":5},"patch":{"type":"string","id":6},"custom":{"type":"CustomHttpPattern","id":8},"body":{"type":"string","id":7},"responseBody":{"type":"string","id":12},"additionalBindings":{"rule":"repeated","type":"HttpRule","id":11}}},"CustomHttpPattern":{"fields":{"kind":{"type":"string","id":1},"path":{"type":"string","id":2}}},"methodSignature":{"rule":"repeated","type":"string","id":1051,"extend":"google.protobuf.MethodOptions"},"defaultHost":{"type":"string","id":1049,"extend":"google.protobuf.ServiceOptions"},"oauthScopes":{"type":"string","id":1050,"extend":"google.protobuf.ServiceOptions"},"apiVersion":{"type":"string","id":525000001,"extend":"google.protobuf.ServiceOptions"},"CommonLanguageSettings":{"fields":{"referenceDocsUri":{"type":"string","id":1,"options":{"deprecated":true}},"destinations":{"rule":"repeated","type":"ClientLibraryDestination","id":2}}},"ClientLibrarySettings":{"fields":{"version":{"type":"string","id":1},"launchStage":{"type":"LaunchStage","id":2},"restNumericEnums":{"type":"bool","id":3},"javaSettings":{"type":"JavaSettings","id":21},"cppSettings":{"type":"CppSettings","id":22},"phpSettings":{"type":"PhpSettings","id":23},"pythonSettings":{"type":"PythonSettings","id":24},"nodeSettings":{"type":"NodeSettings","id":25},"dotnetSettings":{"type":"DotnetSettings","id":26},"rubySettings":{"type":"RubySettings","id":27},"goSettings":{"type":"GoSettings","id":28}}},"Publishing":{"fields":{"methodSettings":{"rule":"repeated","type":"MethodSettings","id":2},"newIssueUri":{"type":"string","id":101},"documentationUri":{"type":"string","id":102},"apiShortName":{"type":"string","id":103},"githubLabel":{"type":"string","id":104},"codeownerGithubTeams":{"rule":"repeated","type":"string","id":105},"docTagPrefix":{"type":"string","id":106},"organization":{"type":"ClientLibraryOrganization","id":107},"librarySettings":{"rule":"repeated","type":"ClientLibrarySettings","id":109},"protoReferenceDocumentationUri":{"type":"string","id":110},"restReferenceDocumentationUri":{"type":"string","id":111}}},"JavaSettings":{"fields":{"libraryPackage":{"type":"string","id":1},"serviceClassNames":{"keyType":"string","type":"string","id":2},"common":{"type":"CommonLanguageSettings","id":3}}},"CppSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"PhpSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"PythonSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"NodeSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"DotnetSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1},"renamedServices":{"keyType":"string","type":"string","id":2},"renamedResources":{"keyType":"string","type":"string","id":3},"ignoredResources":{"rule":"repeated","type":"string","id":4},"forcedNamespaceAliases":{"rule":"repeated","type":"string","id":5},"handwrittenSignatures":{"rule":"repeated","type":"string","id":6}}},"RubySettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"GoSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"MethodSettings":{"fields":{"selector":{"type":"string","id":1},"longRunning":{"type":"LongRunning","id":2},"autoPopulatedFields":{"rule":"repeated","type":"string","id":3}},"nested":{"LongRunning":{"fields":{"initialPollDelay":{"type":"google.protobuf.Duration","id":1},"pollDelayMultiplier":{"type":"float","id":2},"maxPollDelay":{"type":"google.protobuf.Duration","id":3},"totalPollTimeout":{"type":"google.protobuf.Duration","id":4}}}}},"ClientLibraryOrganization":{"values":{"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED":0,"CLOUD":1,"ADS":2,"PHOTOS":3,"STREET_VIEW":4,"SHOPPING":5,"GEO":6,"GENERATIVE_AI":7}},"ClientLibraryDestination":{"values":{"CLIENT_LIBRARY_DESTINATION_UNSPECIFIED":0,"GITHUB":10,"PACKAGE_MANAGER":20}},"LaunchStage":{"values":{"LAUNCH_STAGE_UNSPECIFIED":0,"UNIMPLEMENTED":6,"PRELAUNCH":7,"EARLY_ACCESS":1,"ALPHA":2,"BETA":3,"GA":4,"DEPRECATED":5}},"fieldBehavior":{"rule":"repeated","type":"google.api.FieldBehavior","id":1052,"extend":"google.protobuf.FieldOptions","options":{"packed":false}},"FieldBehavior":{"values":{"FIELD_BEHAVIOR_UNSPECIFIED":0,"OPTIONAL":1,"REQUIRED":2,"OUTPUT_ONLY":3,"INPUT_ONLY":4,"IMMUTABLE":5,"UNORDERED_LIST":6,"NON_EMPTY_DEFAULT":7,"IDENTIFIER":8}},"resourceReference":{"type":"google.api.ResourceReference","id":1055,"extend":"google.protobuf.FieldOptions"},"resourceDefinition":{"rule":"repeated","type":"google.api.ResourceDescriptor","id":1053,"extend":"google.protobuf.FileOptions"},"resource":{"type":"google.api.ResourceDescriptor","id":1053,"extend":"google.protobuf.MessageOptions"},"ResourceDescriptor":{"fields":{"type":{"type":"string","id":1},"pattern":{"rule":"repeated","type":"string","id":2},"nameField":{"type":"string","id":3},"history":{"type":"History","id":4},"plural":{"type":"string","id":5},"singular":{"type":"string","id":6},"style":{"rule":"repeated","type":"Style","id":10}},"nested":{"History":{"values":{"HISTORY_UNSPECIFIED":0,"ORIGINALLY_SINGLE_PATTERN":1,"FUTURE_MULTI_PATTERN":2}},"Style":{"values":{"STYLE_UNSPECIFIED":0,"DECLARATIVE_FRIENDLY":1}}}},"ResourceReference":{"fields":{"type":{"type":"string","id":1},"childType":{"type":"string","id":2}}}}},"rpc":{"options":{"cc_enable_arenas":true,"go_package":"google.golang.org/genproto/googleapis/rpc/status;status","java_multiple_files":true,"java_outer_classname":"StatusProto","java_package":"com.google.rpc","objc_class_prefix":"RPC"},"nested":{"Status":{"fields":{"code":{"type":"int32","id":1},"message":{"type":"string","id":2},"details":{"rule":"repeated","type":"google.protobuf.Any","id":3}}}}}}}}}
{"nested":{"google":{"nested":{"protobuf":{"options":{"go_package":"google.golang.org/protobuf/types/descriptorpb","java_package":"com.google.protobuf","java_outer_classname":"DescriptorProtos","csharp_namespace":"Google.Protobuf.Reflection","objc_class_prefix":"GPB","cc_enable_arenas":true,"optimize_for":"SPEED"},"nested":{"Timestamp":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}}},"Struct":{"fields":{"fields":{"keyType":"string","type":"Value","id":1}}},"Value":{"oneofs":{"kind":{"oneof":["nullValue","numberValue","stringValue","boolValue","structValue","listValue"]}},"fields":{"nullValue":{"type":"NullValue","id":1},"numberValue":{"type":"double","id":2},"stringValue":{"type":"string","id":3},"boolValue":{"type":"bool","id":4},"structValue":{"type":"Struct","id":5},"listValue":{"type":"ListValue","id":6}}},"NullValue":{"values":{"NULL_VALUE":0}},"ListValue":{"fields":{"values":{"rule":"repeated","type":"Value","id":1}}},"FileDescriptorSet":{"fields":{"file":{"rule":"repeated","type":"FileDescriptorProto","id":1}}},"Edition":{"values":{"EDITION_UNKNOWN":0,"EDITION_PROTO2":998,"EDITION_PROTO3":999,"EDITION_2023":1e3,"EDITION_2024":1001,"EDITION_1_TEST_ONLY":1,"EDITION_2_TEST_ONLY":2,"EDITION_99997_TEST_ONLY":99997,"EDITION_99998_TEST_ONLY":99998,"EDITION_99999_TEST_ONLY":99999,"EDITION_MAX":2147483647},"reserved":[[900,900]]},"FileDescriptorProto":{"fields":{"name":{"type":"string","id":1},"package":{"type":"string","id":2},"dependency":{"rule":"repeated","type":"string","id":3},"publicDependency":{"rule":"repeated","type":"int32","id":10,"options":{"packed":false}},"weakDependency":{"rule":"repeated","type":"int32","id":11,"options":{"packed":false}},"messageType":{"rule":"repeated","type":"DescriptorProto","id":4},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":5},"service":{"rule":"repeated","type":"ServiceDescriptorProto","id":6},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":7},"options":{"type":"FileOptions","id":8},"sourceCodeInfo":{"type":"SourceCodeInfo","id":9},"syntax":{"type":"string","id":12},"edition":{"type":"Edition","id":14}}},"DescriptorProto":{"fields":{"name":{"type":"string","id":1},"field":{"rule":"repeated","type":"FieldDescriptorProto","id":2},"extension":{"rule":"repeated","type":"FieldDescriptorProto","id":6},"nestedType":{"rule":"repeated","type":"DescriptorProto","id":3},"enumType":{"rule":"repeated","type":"EnumDescriptorProto","id":4},"extensionRange":{"rule":"repeated","type":"ExtensionRange","id":5},"oneofDecl":{"rule":"repeated","type":"OneofDescriptorProto","id":8},"options":{"type":"MessageOptions","id":7},"reservedRange":{"rule":"repeated","type":"ReservedRange","id":9},"reservedName":{"rule":"repeated","type":"string","id":10}},"nested":{"ExtensionRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2},"options":{"type":"ExtensionRangeOptions","id":3}}},"ReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}}}}},"ExtensionRangeOptions":{"fields":{"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999},"declaration":{"rule":"repeated","type":"Declaration","id":2,"options":{"retention":"RETENTION_SOURCE"}},"features":{"type":"FeatureSet","id":50},"verification":{"type":"VerificationState","id":3,"options":{"default":"UNVERIFIED","retention":"RETENTION_SOURCE"}}},"extensions":[[1e3,536870911]],"nested":{"Declaration":{"fields":{"number":{"type":"int32","id":1},"fullName":{"type":"string","id":2},"type":{"type":"string","id":3},"reserved":{"type":"bool","id":5},"repeated":{"type":"bool","id":6}},"reserved":[[4,4]]},"VerificationState":{"values":{"DECLARATION":0,"UNVERIFIED":1}}}},"FieldDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":3},"label":{"type":"Label","id":4},"type":{"type":"Type","id":5},"typeName":{"type":"string","id":6},"extendee":{"type":"string","id":2},"defaultValue":{"type":"string","id":7},"oneofIndex":{"type":"int32","id":9},"jsonName":{"type":"string","id":10},"options":{"type":"FieldOptions","id":8},"proto3Optional":{"type":"bool","id":17}},"nested":{"Type":{"values":{"TYPE_DOUBLE":1,"TYPE_FLOAT":2,"TYPE_INT64":3,"TYPE_UINT64":4,"TYPE_INT32":5,"TYPE_FIXED64":6,"TYPE_FIXED32":7,"TYPE_BOOL":8,"TYPE_STRING":9,"TYPE_GROUP":10,"TYPE_MESSAGE":11,"TYPE_BYTES":12,"TYPE_UINT32":13,"TYPE_ENUM":14,"TYPE_SFIXED32":15,"TYPE_SFIXED64":16,"TYPE_SINT32":17,"TYPE_SINT64":18}},"Label":{"values":{"LABEL_OPTIONAL":1,"LABEL_REPEATED":3,"LABEL_REQUIRED":2}}}},"OneofDescriptorProto":{"fields":{"name":{"type":"string","id":1},"options":{"type":"OneofOptions","id":2}}},"EnumDescriptorProto":{"fields":{"name":{"type":"string","id":1},"value":{"rule":"repeated","type":"EnumValueDescriptorProto","id":2},"options":{"type":"EnumOptions","id":3},"reservedRange":{"rule":"repeated","type":"EnumReservedRange","id":4},"reservedName":{"rule":"repeated","type":"string","id":5}},"nested":{"EnumReservedRange":{"fields":{"start":{"type":"int32","id":1},"end":{"type":"int32","id":2}}}}},"EnumValueDescriptorProto":{"fields":{"name":{"type":"string","id":1},"number":{"type":"int32","id":2},"options":{"type":"EnumValueOptions","id":3}}},"ServiceDescriptorProto":{"fields":{"name":{"type":"string","id":1},"method":{"rule":"repeated","type":"MethodDescriptorProto","id":2},"options":{"type":"ServiceOptions","id":3}}},"MethodDescriptorProto":{"fields":{"name":{"type":"string","id":1},"inputType":{"type":"string","id":2},"outputType":{"type":"string","id":3},"options":{"type":"MethodOptions","id":4},"clientStreaming":{"type":"bool","id":5,"options":{"default":false}},"serverStreaming":{"type":"bool","id":6,"options":{"default":false}}}},"FileOptions":{"fields":{"javaPackage":{"type":"string","id":1},"javaOuterClassname":{"type":"string","id":8},"javaMultipleFiles":{"type":"bool","id":10,"options":{"default":false}},"javaGenerateEqualsAndHash":{"type":"bool","id":20,"options":{"deprecated":true}},"javaStringCheckUtf8":{"type":"bool","id":27,"options":{"default":false}},"optimizeFor":{"type":"OptimizeMode","id":9,"options":{"default":"SPEED"}},"goPackage":{"type":"string","id":11},"ccGenericServices":{"type":"bool","id":16,"options":{"default":false}},"javaGenericServices":{"type":"bool","id":17,"options":{"default":false}},"pyGenericServices":{"type":"bool","id":18,"options":{"default":false}},"deprecated":{"type":"bool","id":23,"options":{"default":false}},"ccEnableArenas":{"type":"bool","id":31,"options":{"default":true}},"objcClassPrefix":{"type":"string","id":36},"csharpNamespace":{"type":"string","id":37},"swiftPrefix":{"type":"string","id":39},"phpClassPrefix":{"type":"string","id":40},"phpNamespace":{"type":"string","id":41},"phpMetadataNamespace":{"type":"string","id":44},"rubyPackage":{"type":"string","id":45},"features":{"type":"FeatureSet","id":50},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[42,42],[38,38]],"nested":{"OptimizeMode":{"values":{"SPEED":1,"CODE_SIZE":2,"LITE_RUNTIME":3}}}},"MessageOptions":{"fields":{"messageSetWireFormat":{"type":"bool","id":1,"options":{"default":false}},"noStandardDescriptorAccessor":{"type":"bool","id":2,"options":{"default":false}},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"mapEntry":{"type":"bool","id":7},"deprecatedLegacyJsonFieldConflicts":{"type":"bool","id":11,"options":{"deprecated":true}},"features":{"type":"FeatureSet","id":12},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[4,4],[5,5],[6,6],[8,8],[9,9]]},"FieldOptions":{"fields":{"ctype":{"type":"CType","id":1,"options":{"default":"STRING"}},"packed":{"type":"bool","id":2},"jstype":{"type":"JSType","id":6,"options":{"default":"JS_NORMAL"}},"lazy":{"type":"bool","id":5,"options":{"default":false}},"unverifiedLazy":{"type":"bool","id":15,"options":{"default":false}},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"weak":{"type":"bool","id":10,"options":{"default":false}},"debugRedact":{"type":"bool","id":16,"options":{"default":false}},"retention":{"type":"OptionRetention","id":17},"targets":{"rule":"repeated","type":"OptionTargetType","id":19,"options":{"packed":false}},"editionDefaults":{"rule":"repeated","type":"EditionDefault","id":20},"features":{"type":"FeatureSet","id":21},"featureSupport":{"type":"FeatureSupport","id":22},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[4,4],[18,18]],"nested":{"CType":{"values":{"STRING":0,"CORD":1,"STRING_PIECE":2}},"JSType":{"values":{"JS_NORMAL":0,"JS_STRING":1,"JS_NUMBER":2}},"OptionRetention":{"values":{"RETENTION_UNKNOWN":0,"RETENTION_RUNTIME":1,"RETENTION_SOURCE":2}},"OptionTargetType":{"values":{"TARGET_TYPE_UNKNOWN":0,"TARGET_TYPE_FILE":1,"TARGET_TYPE_EXTENSION_RANGE":2,"TARGET_TYPE_MESSAGE":3,"TARGET_TYPE_FIELD":4,"TARGET_TYPE_ONEOF":5,"TARGET_TYPE_ENUM":6,"TARGET_TYPE_ENUM_ENTRY":7,"TARGET_TYPE_SERVICE":8,"TARGET_TYPE_METHOD":9}},"EditionDefault":{"fields":{"edition":{"type":"Edition","id":3},"value":{"type":"string","id":2}}},"FeatureSupport":{"fields":{"editionIntroduced":{"type":"Edition","id":1},"editionDeprecated":{"type":"Edition","id":2},"deprecationWarning":{"type":"string","id":3},"editionRemoved":{"type":"Edition","id":4}}}}},"OneofOptions":{"fields":{"features":{"type":"FeatureSet","id":1},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"EnumOptions":{"fields":{"allowAlias":{"type":"bool","id":2},"deprecated":{"type":"bool","id":3,"options":{"default":false}},"deprecatedLegacyJsonFieldConflicts":{"type":"bool","id":6,"options":{"deprecated":true}},"features":{"type":"FeatureSet","id":7},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"reserved":[[5,5]]},"EnumValueOptions":{"fields":{"deprecated":{"type":"bool","id":1,"options":{"default":false}},"features":{"type":"FeatureSet","id":2},"debugRedact":{"type":"bool","id":3,"options":{"default":false}},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"ServiceOptions":{"fields":{"features":{"type":"FeatureSet","id":34},"deprecated":{"type":"bool","id":33,"options":{"default":false}},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]]},"MethodOptions":{"fields":{"deprecated":{"type":"bool","id":33,"options":{"default":false}},"idempotencyLevel":{"type":"IdempotencyLevel","id":34,"options":{"default":"IDEMPOTENCY_UNKNOWN"}},"features":{"type":"FeatureSet","id":35},"uninterpretedOption":{"rule":"repeated","type":"UninterpretedOption","id":999}},"extensions":[[1e3,536870911]],"nested":{"IdempotencyLevel":{"values":{"IDEMPOTENCY_UNKNOWN":0,"NO_SIDE_EFFECTS":1,"IDEMPOTENT":2}}}},"UninterpretedOption":{"fields":{"name":{"rule":"repeated","type":"NamePart","id":2},"identifierValue":{"type":"string","id":3},"positiveIntValue":{"type":"uint64","id":4},"negativeIntValue":{"type":"int64","id":5},"doubleValue":{"type":"double","id":6},"stringValue":{"type":"bytes","id":7},"aggregateValue":{"type":"string","id":8}},"nested":{"NamePart":{"fields":{"namePart":{"rule":"required","type":"string","id":1},"isExtension":{"rule":"required","type":"bool","id":2}}}}},"FeatureSet":{"fields":{"fieldPresence":{"type":"FieldPresence","id":1,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_2023","edition_defaults.value":"EXPLICIT"}},"enumType":{"type":"EnumType","id":2,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"OPEN"}},"repeatedFieldEncoding":{"type":"RepeatedFieldEncoding","id":3,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"PACKED"}},"utf8Validation":{"type":"Utf8Validation","id":4,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"VERIFY"}},"messageEncoding":{"type":"MessageEncoding","id":5,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO2","edition_defaults.value":"LENGTH_PREFIXED"}},"jsonFormat":{"type":"JsonFormat","id":6,"options":{"retention":"RETENTION_RUNTIME","targets":"TARGET_TYPE_FILE","edition_defaults.edition":"EDITION_PROTO3","edition_defaults.value":"ALLOW"}}},"extensions":[[1e3,1e3],[1001,1001],[1002,1002],[9990,9990],[9995,9999],[1e4,1e4]],"reserved":[[999,999]],"nested":{"FieldPresence":{"values":{"FIELD_PRESENCE_UNKNOWN":0,"EXPLICIT":1,"IMPLICIT":2,"LEGACY_REQUIRED":3}},"EnumType":{"values":{"ENUM_TYPE_UNKNOWN":0,"OPEN":1,"CLOSED":2}},"RepeatedFieldEncoding":{"values":{"REPEATED_FIELD_ENCODING_UNKNOWN":0,"PACKED":1,"EXPANDED":2}},"Utf8Validation":{"values":{"UTF8_VALIDATION_UNKNOWN":0,"VERIFY":2,"NONE":3}},"MessageEncoding":{"values":{"MESSAGE_ENCODING_UNKNOWN":0,"LENGTH_PREFIXED":1,"DELIMITED":2}},"JsonFormat":{"values":{"JSON_FORMAT_UNKNOWN":0,"ALLOW":1,"LEGACY_BEST_EFFORT":2}}}},"FeatureSetDefaults":{"fields":{"defaults":{"rule":"repeated","type":"FeatureSetEditionDefault","id":1},"minimumEdition":{"type":"Edition","id":4},"maximumEdition":{"type":"Edition","id":5}},"nested":{"FeatureSetEditionDefault":{"fields":{"edition":{"type":"Edition","id":3},"overridableFeatures":{"type":"FeatureSet","id":4},"fixedFeatures":{"type":"FeatureSet","id":5},"features":{"type":"FeatureSet","id":2}}}}},"SourceCodeInfo":{"fields":{"location":{"rule":"repeated","type":"Location","id":1}},"nested":{"Location":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"span":{"rule":"repeated","type":"int32","id":2},"leadingComments":{"type":"string","id":3},"trailingComments":{"type":"string","id":4},"leadingDetachedComments":{"rule":"repeated","type":"string","id":6}}}}},"GeneratedCodeInfo":{"fields":{"annotation":{"rule":"repeated","type":"Annotation","id":1}},"nested":{"Annotation":{"fields":{"path":{"rule":"repeated","type":"int32","id":1},"sourceFile":{"type":"string","id":2},"begin":{"type":"int32","id":3},"end":{"type":"int32","id":4},"semantic":{"type":"Semantic","id":5}},"nested":{"Semantic":{"values":{"NONE":0,"SET":1,"ALIAS":2}}}}}},"Duration":{"fields":{"seconds":{"type":"int64","id":1},"nanos":{"type":"int32","id":2}}},"DoubleValue":{"fields":{"value":{"type":"double","id":1}}},"FloatValue":{"fields":{"value":{"type":"float","id":1}}},"Int64Value":{"fields":{"value":{"type":"int64","id":1}}},"UInt64Value":{"fields":{"value":{"type":"uint64","id":1}}},"Int32Value":{"fields":{"value":{"type":"int32","id":1}}},"UInt32Value":{"fields":{"value":{"type":"uint32","id":1}}},"BoolValue":{"fields":{"value":{"type":"bool","id":1}}},"StringValue":{"fields":{"value":{"type":"string","id":1}}},"BytesValue":{"fields":{"value":{"type":"bytes","id":1}}},"Empty":{"fields":{}},"Any":{"fields":{"type_url":{"type":"string","id":1},"value":{"type":"bytes","id":2}}},"FieldMask":{"fields":{"paths":{"rule":"repeated","type":"string","id":1}}}}},"firestore":{"nested":{"v1beta1":{"options":{"csharp_namespace":"Google.Cloud.Firestore.V1Beta1","go_package":"cloud.google.com/go/firestore/apiv1beta1/firestorepb;firestorepb","java_multiple_files":true,"java_outer_classname":"UndeliverableFirstGenEventProto","java_package":"com.google.firestore.v1beta1","objc_class_prefix":"GCFS","php_namespace":"Google\\Cloud\\Firestore\\V1beta1","ruby_package":"Google::Cloud::Firestore::V1beta1"},"nested":{"DocumentMask":{"fields":{"fieldPaths":{"rule":"repeated","type":"string","id":1}}},"Precondition":{"oneofs":{"conditionType":{"oneof":["exists","updateTime"]}},"fields":{"exists":{"type":"bool","id":1},"updateTime":{"type":"google.protobuf.Timestamp","id":2}}},"TransactionOptions":{"oneofs":{"mode":{"oneof":["readOnly","readWrite"]}},"fields":{"readOnly":{"type":"ReadOnly","id":2},"readWrite":{"type":"ReadWrite","id":3}},"nested":{"ReadWrite":{"fields":{"retryTransaction":{"type":"bytes","id":1}}},"ReadOnly":{"oneofs":{"consistencySelector":{"oneof":["readTime"]}},"fields":{"readTime":{"type":"google.protobuf.Timestamp","id":2}}}}},"Document":{"fields":{"name":{"type":"string","id":1},"fields":{"keyType":"string","type":"Value","id":2},"createTime":{"type":"google.protobuf.Timestamp","id":3},"updateTime":{"type":"google.protobuf.Timestamp","id":4}}},"Value":{"oneofs":{"valueType":{"oneof":["nullValue","booleanValue","integerValue","doubleValue","timestampValue","stringValue","bytesValue","referenceValue","geoPointValue","arrayValue","mapValue"]}},"fields":{"nullValue":{"type":"google.protobuf.NullValue","id":11},"booleanValue":{"type":"bool","id":1},"integerValue":{"type":"int64","id":2},"doubleValue":{"type":"double","id":3},"timestampValue":{"type":"google.protobuf.Timestamp","id":10},"stringValue":{"type":"string","id":17},"bytesValue":{"type":"bytes","id":18},"referenceValue":{"type":"string","id":5},"geoPointValue":{"type":"google.type.LatLng","id":8},"arrayValue":{"type":"ArrayValue","id":9},"mapValue":{"type":"MapValue","id":6}}},"ArrayValue":{"fields":{"values":{"rule":"repeated","type":"Value","id":1}}},"MapValue":{"fields":{"fields":{"keyType":"string","type":"Value","id":1}}},"Firestore":{"options":{"(google.api.default_host)":"firestore.googleapis.com","(google.api.oauth_scopes)":"https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/datastore"},"methods":{"GetDocument":{"requestType":"GetDocumentRequest","responseType":"Document","options":{"(google.api.http).get":"/v1beta1/{name=projects/*/databases/*/documents/*/**}"},"parsedOptions":[{"(google.api.http)":{"get":"/v1beta1/{name=projects/*/databases/*/documents/*/**}"}}]},"ListDocuments":{"requestType":"ListDocumentsRequest","responseType":"ListDocumentsResponse","options":{"(google.api.http).get":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}/{collection_id}"},"parsedOptions":[{"(google.api.http)":{"get":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}/{collection_id}"}}]},"UpdateDocument":{"requestType":"UpdateDocumentRequest","responseType":"Document","options":{"(google.api.http).patch":"/v1beta1/{document.name=projects/*/databases/*/documents/*/**}","(google.api.http).body":"document","(google.api.method_signature)":"document,update_mask"},"parsedOptions":[{"(google.api.http)":{"patch":"/v1beta1/{document.name=projects/*/databases/*/documents/*/**}","body":"document"}},{"(google.api.method_signature)":"document,update_mask"}]},"DeleteDocument":{"requestType":"DeleteDocumentRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).delete":"/v1beta1/{name=projects/*/databases/*/documents/*/**}","(google.api.method_signature)":"name"},"parsedOptions":[{"(google.api.http)":{"delete":"/v1beta1/{name=projects/*/databases/*/documents/*/**}"}},{"(google.api.method_signature)":"name"}]},"BatchGetDocuments":{"requestType":"BatchGetDocumentsRequest","responseType":"BatchGetDocumentsResponse","responseStream":true,"options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:batchGet","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:batchGet","body":"*"}}]},"BeginTransaction":{"requestType":"BeginTransactionRequest","responseType":"BeginTransactionResponse","options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:beginTransaction","(google.api.http).body":"*","(google.api.method_signature)":"database"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:beginTransaction","body":"*"}},{"(google.api.method_signature)":"database"}]},"Commit":{"requestType":"CommitRequest","responseType":"CommitResponse","options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:commit","(google.api.http).body":"*","(google.api.method_signature)":"database,writes"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:commit","body":"*"}},{"(google.api.method_signature)":"database,writes"}]},"Rollback":{"requestType":"RollbackRequest","responseType":"google.protobuf.Empty","options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:rollback","(google.api.http).body":"*","(google.api.method_signature)":"database,transaction"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:rollback","body":"*"}},{"(google.api.method_signature)":"database,transaction"}]},"RunQuery":{"requestType":"RunQueryRequest","responseType":"RunQueryResponse","responseStream":true,"options":{"(google.api.http).post":"/v1beta1/{parent=projects/*/databases/*/documents}:runQuery","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}:runQuery","(google.api.http).additional_bindings.body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{parent=projects/*/databases/*/documents}:runQuery","body":"*","additional_bindings":{"post":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}:runQuery","body":"*"}}}]},"PartitionQuery":{"requestType":"PartitionQueryRequest","responseType":"PartitionQueryResponse","options":{"(google.api.http).post":"/v1beta1/{parent=projects/*/databases/*/documents}:partitionQuery","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}:partitionQuery","(google.api.http).additional_bindings.body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{parent=projects/*/databases/*/documents}:partitionQuery","body":"*","additional_bindings":{"post":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}:partitionQuery","body":"*"}}}]},"Write":{"requestType":"WriteRequest","requestStream":true,"responseType":"WriteResponse","responseStream":true,"options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:write","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:write","body":"*"}}]},"Listen":{"requestType":"ListenRequest","requestStream":true,"responseType":"ListenResponse","responseStream":true,"options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:listen","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:listen","body":"*"}}]},"ListCollectionIds":{"requestType":"ListCollectionIdsRequest","responseType":"ListCollectionIdsResponse","options":{"(google.api.http).post":"/v1beta1/{parent=projects/*/databases/*/documents}:listCollectionIds","(google.api.http).body":"*","(google.api.http).additional_bindings.post":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}:listCollectionIds","(google.api.http).additional_bindings.body":"*","(google.api.method_signature)":"parent"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{parent=projects/*/databases/*/documents}:listCollectionIds","body":"*","additional_bindings":{"post":"/v1beta1/{parent=projects/*/databases/*/documents/*/**}:listCollectionIds","body":"*"}}},{"(google.api.method_signature)":"parent"}]},"BatchWrite":{"requestType":"BatchWriteRequest","responseType":"BatchWriteResponse","options":{"(google.api.http).post":"/v1beta1/{database=projects/*/databases/*}/documents:batchWrite","(google.api.http).body":"*"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{database=projects/*/databases/*}/documents:batchWrite","body":"*"}}]},"CreateDocument":{"requestType":"CreateDocumentRequest","responseType":"Document","options":{"(google.api.http).post":"/v1beta1/{parent=projects/*/databases/*/documents/**}/{collection_id}","(google.api.http).body":"document"},"parsedOptions":[{"(google.api.http)":{"post":"/v1beta1/{parent=projects/*/databases/*/documents/**}/{collection_id}","body":"document"}}]}}},"GetDocumentRequest":{"oneofs":{"consistencySelector":{"oneof":["transaction","readTime"]}},"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"mask":{"type":"DocumentMask","id":2},"transaction":{"type":"bytes","id":3},"readTime":{"type":"google.protobuf.Timestamp","id":5}}},"ListDocumentsRequest":{"oneofs":{"consistencySelector":{"oneof":["transaction","readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"collectionId":{"type":"string","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}},"pageSize":{"type":"int32","id":3},"pageToken":{"type":"string","id":4},"orderBy":{"type":"string","id":6},"mask":{"type":"DocumentMask","id":7},"transaction":{"type":"bytes","id":8},"readTime":{"type":"google.protobuf.Timestamp","id":10},"showMissing":{"type":"bool","id":12}}},"ListDocumentsResponse":{"fields":{"documents":{"rule":"repeated","type":"Document","id":1},"nextPageToken":{"type":"string","id":2}}},"CreateDocumentRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"collectionId":{"type":"string","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}},"documentId":{"type":"string","id":3},"document":{"type":"Document","id":4,"options":{"(google.api.field_behavior)":"REQUIRED"}},"mask":{"type":"DocumentMask","id":5}}},"UpdateDocumentRequest":{"fields":{"document":{"type":"Document","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"updateMask":{"type":"DocumentMask","id":2},"mask":{"type":"DocumentMask","id":3},"currentDocument":{"type":"Precondition","id":4}}},"DeleteDocumentRequest":{"fields":{"name":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"currentDocument":{"type":"Precondition","id":2}}},"BatchGetDocumentsRequest":{"oneofs":{"consistencySelector":{"oneof":["transaction","newTransaction","readTime"]}},"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"documents":{"rule":"repeated","type":"string","id":2},"mask":{"type":"DocumentMask","id":3},"transaction":{"type":"bytes","id":4},"newTransaction":{"type":"TransactionOptions","id":5},"readTime":{"type":"google.protobuf.Timestamp","id":7}}},"BatchGetDocumentsResponse":{"oneofs":{"result":{"oneof":["found","missing"]}},"fields":{"found":{"type":"Document","id":1},"missing":{"type":"string","id":2},"transaction":{"type":"bytes","id":3},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"BeginTransactionRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"options":{"type":"TransactionOptions","id":2}}},"BeginTransactionResponse":{"fields":{"transaction":{"type":"bytes","id":1}}},"CommitRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"writes":{"rule":"repeated","type":"Write","id":2},"transaction":{"type":"bytes","id":3}}},"CommitResponse":{"fields":{"writeResults":{"rule":"repeated","type":"WriteResult","id":1},"commitTime":{"type":"google.protobuf.Timestamp","id":2}}},"RollbackRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"transaction":{"type":"bytes","id":2,"options":{"(google.api.field_behavior)":"REQUIRED"}}}},"RunQueryRequest":{"oneofs":{"queryType":{"oneof":["structuredQuery"]},"consistencySelector":{"oneof":["transaction","newTransaction","readTime"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"structuredQuery":{"type":"StructuredQuery","id":2},"transaction":{"type":"bytes","id":5},"newTransaction":{"type":"TransactionOptions","id":6},"readTime":{"type":"google.protobuf.Timestamp","id":7}}},"RunQueryResponse":{"fields":{"transaction":{"type":"bytes","id":2},"document":{"type":"Document","id":1},"readTime":{"type":"google.protobuf.Timestamp","id":3},"skippedResults":{"type":"int32","id":4}}},"PartitionQueryRequest":{"oneofs":{"queryType":{"oneof":["structuredQuery"]}},"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"structuredQuery":{"type":"StructuredQuery","id":2},"partitionCount":{"type":"int64","id":3},"pageToken":{"type":"string","id":4},"pageSize":{"type":"int32","id":5}}},"PartitionQueryResponse":{"fields":{"partitions":{"rule":"repeated","type":"Cursor","id":1},"nextPageToken":{"type":"string","id":2}}},"WriteRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"streamId":{"type":"string","id":2},"writes":{"rule":"repeated","type":"Write","id":3},"streamToken":{"type":"bytes","id":4},"labels":{"keyType":"string","type":"string","id":5}}},"WriteResponse":{"fields":{"streamId":{"type":"string","id":1},"streamToken":{"type":"bytes","id":2},"writeResults":{"rule":"repeated","type":"WriteResult","id":3},"commitTime":{"type":"google.protobuf.Timestamp","id":4}}},"ListenRequest":{"oneofs":{"targetChange":{"oneof":["addTarget","removeTarget"]}},"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"addTarget":{"type":"Target","id":2},"removeTarget":{"type":"int32","id":3},"labels":{"keyType":"string","type":"string","id":4}}},"ListenResponse":{"oneofs":{"responseType":{"oneof":["targetChange","documentChange","documentDelete","documentRemove","filter"]}},"fields":{"targetChange":{"type":"TargetChange","id":2},"documentChange":{"type":"DocumentChange","id":3},"documentDelete":{"type":"DocumentDelete","id":4},"documentRemove":{"type":"DocumentRemove","id":6},"filter":{"type":"ExistenceFilter","id":5}}},"Target":{"oneofs":{"targetType":{"oneof":["query","documents"]},"resumeType":{"oneof":["resumeToken","readTime"]}},"fields":{"query":{"type":"QueryTarget","id":2},"documents":{"type":"DocumentsTarget","id":3},"resumeToken":{"type":"bytes","id":4},"readTime":{"type":"google.protobuf.Timestamp","id":11},"targetId":{"type":"int32","id":5},"once":{"type":"bool","id":6}},"nested":{"DocumentsTarget":{"fields":{"documents":{"rule":"repeated","type":"string","id":2}}},"QueryTarget":{"oneofs":{"queryType":{"oneof":["structuredQuery"]}},"fields":{"parent":{"type":"string","id":1},"structuredQuery":{"type":"StructuredQuery","id":2}}}}},"TargetChange":{"fields":{"targetChangeType":{"type":"TargetChangeType","id":1},"targetIds":{"rule":"repeated","type":"int32","id":2},"cause":{"type":"google.rpc.Status","id":3},"resumeToken":{"type":"bytes","id":4},"readTime":{"type":"google.protobuf.Timestamp","id":6}},"nested":{"TargetChangeType":{"values":{"NO_CHANGE":0,"ADD":1,"REMOVE":2,"CURRENT":3,"RESET":4}}}},"ListCollectionIdsRequest":{"fields":{"parent":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"pageSize":{"type":"int32","id":2},"pageToken":{"type":"string","id":3}}},"ListCollectionIdsResponse":{"fields":{"collectionIds":{"rule":"repeated","type":"string","id":1},"nextPageToken":{"type":"string","id":2}}},"BatchWriteRequest":{"fields":{"database":{"type":"string","id":1,"options":{"(google.api.field_behavior)":"REQUIRED"}},"writes":{"rule":"repeated","type":"Write","id":2},"labels":{"keyType":"string","type":"string","id":3}}},"BatchWriteResponse":{"fields":{"writeResults":{"rule":"repeated","type":"WriteResult","id":1},"status":{"rule":"repeated","type":"google.rpc.Status","id":2}}},"StructuredQuery":{"fields":{"select":{"type":"Projection","id":1},"from":{"rule":"repeated","type":"CollectionSelector","id":2},"where":{"type":"Filter","id":3},"orderBy":{"rule":"repeated","type":"Order","id":4},"startAt":{"type":"Cursor","id":7},"endAt":{"type":"Cursor","id":8},"offset":{"type":"int32","id":6},"limit":{"type":"google.protobuf.Int32Value","id":5}},"nested":{"CollectionSelector":{"fields":{"collectionId":{"type":"string","id":2},"allDescendants":{"type":"bool","id":3}}},"Filter":{"oneofs":{"filterType":{"oneof":["compositeFilter","fieldFilter","unaryFilter"]}},"fields":{"compositeFilter":{"type":"CompositeFilter","id":1},"fieldFilter":{"type":"FieldFilter","id":2},"unaryFilter":{"type":"UnaryFilter","id":3}}},"CompositeFilter":{"fields":{"op":{"type":"Operator","id":1},"filters":{"rule":"repeated","type":"Filter","id":2}},"nested":{"Operator":{"values":{"OPERATOR_UNSPECIFIED":0,"AND":1}}}},"FieldFilter":{"fields":{"field":{"type":"FieldReference","id":1},"op":{"type":"Operator","id":2},"value":{"type":"Value","id":3}},"nested":{"Operator":{"values":{"OPERATOR_UNSPECIFIED":0,"LESS_THAN":1,"LESS_THAN_OR_EQUAL":2,"GREATER_THAN":3,"GREATER_THAN_OR_EQUAL":4,"EQUAL":5,"NOT_EQUAL":6,"ARRAY_CONTAINS":7,"IN":8,"ARRAY_CONTAINS_ANY":9,"NOT_IN":10}}}},"UnaryFilter":{"oneofs":{"operandType":{"oneof":["field"]}},"fields":{"op":{"type":"Operator","id":1},"field":{"type":"FieldReference","id":2}},"nested":{"Operator":{"values":{"OPERATOR_UNSPECIFIED":0,"IS_NAN":2,"IS_NULL":3,"IS_NOT_NAN":4,"IS_NOT_NULL":5}}}},"FieldReference":{"fields":{"fieldPath":{"type":"string","id":2}}},"Order":{"fields":{"field":{"type":"FieldReference","id":1},"direction":{"type":"Direction","id":2}}},"Projection":{"fields":{"fields":{"rule":"repeated","type":"FieldReference","id":2}}},"Direction":{"values":{"DIRECTION_UNSPECIFIED":0,"ASCENDING":1,"DESCENDING":2}}}},"Cursor":{"fields":{"values":{"rule":"repeated","type":"Value","id":1},"before":{"type":"bool","id":2}}},"Write":{"oneofs":{"operation":{"oneof":["update","delete","transform"]}},"fields":{"update":{"type":"Document","id":1},"delete":{"type":"string","id":2},"transform":{"type":"DocumentTransform","id":6},"updateMask":{"type":"DocumentMask","id":3},"updateTransforms":{"rule":"repeated","type":"DocumentTransform.FieldTransform","id":7},"currentDocument":{"type":"Precondition","id":4}}},"DocumentTransform":{"fields":{"document":{"type":"string","id":1},"fieldTransforms":{"rule":"repeated","type":"FieldTransform","id":2}},"nested":{"FieldTransform":{"oneofs":{"transformType":{"oneof":["setToServerValue","increment","maximum","minimum","appendMissingElements","removeAllFromArray"]}},"fields":{"fieldPath":{"type":"string","id":1},"setToServerValue":{"type":"ServerValue","id":2},"increment":{"type":"Value","id":3},"maximum":{"type":"Value","id":4},"minimum":{"type":"Value","id":5},"appendMissingElements":{"type":"ArrayValue","id":6},"removeAllFromArray":{"type":"ArrayValue","id":7}},"nested":{"ServerValue":{"values":{"SERVER_VALUE_UNSPECIFIED":0,"REQUEST_TIME":1}}}}}},"WriteResult":{"fields":{"updateTime":{"type":"google.protobuf.Timestamp","id":1},"transformResults":{"rule":"repeated","type":"Value","id":2}}},"DocumentChange":{"fields":{"document":{"type":"Document","id":1},"targetIds":{"rule":"repeated","type":"int32","id":5},"removedTargetIds":{"rule":"repeated","type":"int32","id":6}}},"DocumentDelete":{"fields":{"document":{"type":"string","id":1},"removedTargetIds":{"rule":"repeated","type":"int32","id":6},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"DocumentRemove":{"fields":{"document":{"type":"string","id":1},"removedTargetIds":{"rule":"repeated","type":"int32","id":2},"readTime":{"type":"google.protobuf.Timestamp","id":4}}},"ExistenceFilter":{"fields":{"targetId":{"type":"int32","id":1},"count":{"type":"int32","id":2}}},"UndeliverableFirstGenEvent":{"fields":{"message":{"type":"string","id":1},"reason":{"type":"Reason","id":2},"documentName":{"type":"string","id":3},"documentChangeType":{"type":"DocumentChangeType","id":4},"functionName":{"rule":"repeated","type":"string","id":5},"triggeredTime":{"type":"google.protobuf.Timestamp","id":6}},"nested":{"Reason":{"values":{"REASON_UNSPECIFIED":0,"EXCEEDING_SIZE_LIMIT":1}},"DocumentChangeType":{"values":{"DOCUMENT_CHANGE_TYPE_UNSPECIFIED":0,"CREATE":1,"DELETE":2,"UPDATE":3}}}}}}}},"type":{"options":{"cc_enable_arenas":true,"go_package":"google.golang.org/genproto/googleapis/type/dayofweek;dayofweek","java_multiple_files":true,"java_outer_classname":"DayOfWeekProto","java_package":"com.google.type","objc_class_prefix":"GTP"},"nested":{"LatLng":{"fields":{"latitude":{"type":"double","id":1},"longitude":{"type":"double","id":2}}},"DayOfWeek":{"values":{"DAY_OF_WEEK_UNSPECIFIED":0,"MONDAY":1,"TUESDAY":2,"WEDNESDAY":3,"THURSDAY":4,"FRIDAY":5,"SATURDAY":6,"SUNDAY":7}}}},"api":{"options":{"go_package":"google.golang.org/genproto/googleapis/api/annotations;annotations","java_multiple_files":true,"java_outer_classname":"ResourceProto","java_package":"com.google.api","objc_class_prefix":"GAPI","cc_enable_arenas":true},"nested":{"http":{"type":"HttpRule","id":72295728,"extend":"google.protobuf.MethodOptions"},"Http":{"fields":{"rules":{"rule":"repeated","type":"HttpRule","id":1},"fullyDecodeReservedExpansion":{"type":"bool","id":2}}},"HttpRule":{"oneofs":{"pattern":{"oneof":["get","put","post","delete","patch","custom"]}},"fields":{"selector":{"type":"string","id":1},"get":{"type":"string","id":2},"put":{"type":"string","id":3},"post":{"type":"string","id":4},"delete":{"type":"string","id":5},"patch":{"type":"string","id":6},"custom":{"type":"CustomHttpPattern","id":8},"body":{"type":"string","id":7},"responseBody":{"type":"string","id":12},"additionalBindings":{"rule":"repeated","type":"HttpRule","id":11}}},"CustomHttpPattern":{"fields":{"kind":{"type":"string","id":1},"path":{"type":"string","id":2}}},"methodSignature":{"rule":"repeated","type":"string","id":1051,"extend":"google.protobuf.MethodOptions"},"defaultHost":{"type":"string","id":1049,"extend":"google.protobuf.ServiceOptions"},"oauthScopes":{"type":"string","id":1050,"extend":"google.protobuf.ServiceOptions"},"apiVersion":{"type":"string","id":525000001,"extend":"google.protobuf.ServiceOptions"},"CommonLanguageSettings":{"fields":{"referenceDocsUri":{"type":"string","id":1,"options":{"deprecated":true}},"destinations":{"rule":"repeated","type":"ClientLibraryDestination","id":2}}},"ClientLibrarySettings":{"fields":{"version":{"type":"string","id":1},"launchStage":{"type":"LaunchStage","id":2},"restNumericEnums":{"type":"bool","id":3},"javaSettings":{"type":"JavaSettings","id":21},"cppSettings":{"type":"CppSettings","id":22},"phpSettings":{"type":"PhpSettings","id":23},"pythonSettings":{"type":"PythonSettings","id":24},"nodeSettings":{"type":"NodeSettings","id":25},"dotnetSettings":{"type":"DotnetSettings","id":26},"rubySettings":{"type":"RubySettings","id":27},"goSettings":{"type":"GoSettings","id":28}}},"Publishing":{"fields":{"methodSettings":{"rule":"repeated","type":"MethodSettings","id":2},"newIssueUri":{"type":"string","id":101},"documentationUri":{"type":"string","id":102},"apiShortName":{"type":"string","id":103},"githubLabel":{"type":"string","id":104},"codeownerGithubTeams":{"rule":"repeated","type":"string","id":105},"docTagPrefix":{"type":"string","id":106},"organization":{"type":"ClientLibraryOrganization","id":107},"librarySettings":{"rule":"repeated","type":"ClientLibrarySettings","id":109},"protoReferenceDocumentationUri":{"type":"string","id":110},"restReferenceDocumentationUri":{"type":"string","id":111}}},"JavaSettings":{"fields":{"libraryPackage":{"type":"string","id":1},"serviceClassNames":{"keyType":"string","type":"string","id":2},"common":{"type":"CommonLanguageSettings","id":3}}},"CppSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"PhpSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"PythonSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"NodeSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"DotnetSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1},"renamedServices":{"keyType":"string","type":"string","id":2},"renamedResources":{"keyType":"string","type":"string","id":3},"ignoredResources":{"rule":"repeated","type":"string","id":4},"forcedNamespaceAliases":{"rule":"repeated","type":"string","id":5},"handwrittenSignatures":{"rule":"repeated","type":"string","id":6}}},"RubySettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"GoSettings":{"fields":{"common":{"type":"CommonLanguageSettings","id":1}}},"MethodSettings":{"fields":{"selector":{"type":"string","id":1},"longRunning":{"type":"LongRunning","id":2},"autoPopulatedFields":{"rule":"repeated","type":"string","id":3}},"nested":{"LongRunning":{"fields":{"initialPollDelay":{"type":"google.protobuf.Duration","id":1},"pollDelayMultiplier":{"type":"float","id":2},"maxPollDelay":{"type":"google.protobuf.Duration","id":3},"totalPollTimeout":{"type":"google.protobuf.Duration","id":4}}}}},"ClientLibraryOrganization":{"values":{"CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED":0,"CLOUD":1,"ADS":2,"PHOTOS":3,"STREET_VIEW":4,"SHOPPING":5,"GEO":6,"GENERATIVE_AI":7}},"ClientLibraryDestination":{"values":{"CLIENT_LIBRARY_DESTINATION_UNSPECIFIED":0,"GITHUB":10,"PACKAGE_MANAGER":20}},"LaunchStage":{"values":{"LAUNCH_STAGE_UNSPECIFIED":0,"UNIMPLEMENTED":6,"PRELAUNCH":7,"EARLY_ACCESS":1,"ALPHA":2,"BETA":3,"GA":4,"DEPRECATED":5}},"fieldBehavior":{"rule":"repeated","type":"google.api.FieldBehavior","id":1052,"extend":"google.protobuf.FieldOptions","options":{"packed":false}},"FieldBehavior":{"values":{"FIELD_BEHAVIOR_UNSPECIFIED":0,"OPTIONAL":1,"REQUIRED":2,"OUTPUT_ONLY":3,"INPUT_ONLY":4,"IMMUTABLE":5,"UNORDERED_LIST":6,"NON_EMPTY_DEFAULT":7,"IDENTIFIER":8}},"resourceReference":{"type":"google.api.ResourceReference","id":1055,"extend":"google.protobuf.FieldOptions"},"resourceDefinition":{"rule":"repeated","type":"google.api.ResourceDescriptor","id":1053,"extend":"google.protobuf.FileOptions"},"resource":{"type":"google.api.ResourceDescriptor","id":1053,"extend":"google.protobuf.MessageOptions"},"ResourceDescriptor":{"fields":{"type":{"type":"string","id":1},"pattern":{"rule":"repeated","type":"string","id":2},"nameField":{"type":"string","id":3},"history":{"type":"History","id":4},"plural":{"type":"string","id":5},"singular":{"type":"string","id":6},"style":{"rule":"repeated","type":"Style","id":10}},"nested":{"History":{"values":{"HISTORY_UNSPECIFIED":0,"ORIGINALLY_SINGLE_PATTERN":1,"FUTURE_MULTI_PATTERN":2}},"Style":{"values":{"STYLE_UNSPECIFIED":0,"DECLARATIVE_FRIENDLY":1}}}},"ResourceReference":{"fields":{"type":{"type":"string","id":1},"childType":{"type":"string","id":2}}}}},"rpc":{"options":{"cc_enable_arenas":true,"go_package":"google.golang.org/genproto/googleapis/rpc/status;status","java_multiple_files":true,"java_outer_classname":"StatusProto","java_package":"com.google.rpc","objc_class_prefix":"RPC"},"nested":{"Status":{"fields":{"code":{"type":"int32","id":1},"message":{"type":"string","id":2},"details":{"rule":"repeated","type":"google.protobuf.Any","id":3}}}}}}}}}

@@ -20,5 +20,15 @@ /*!

import { FieldPath } from './path';
import { google } from '../protos/firestore_v1_proto_api';
import { Firestore } from './index';
import { Timestamp } from './timestamp';
import { DocumentData } from '@google-cloud/firestore';
import api = google.firestore.v1;
interface BatchGetResponse<AppModelType, DbModelType extends DocumentData> {
result: Array<DocumentSnapshot<AppModelType, DbModelType>>;
/**
* The transaction that was started as part of this request. Will only be if
* `DocumentReader.transactionIdOrNewTransaction` was `api.ITransactionOptions`.
*/
transaction?: Uint8Array;
}
/**

@@ -32,12 +42,9 @@ * A wrapper around BatchGetDocumentsRequest that retries request upon stream

export declare class DocumentReader<AppModelType, DbModelType extends DocumentData> {
private firestore;
private allDocuments;
/** An optional field mask to apply to this read. */
fieldMask?: FieldPath[];
/** An optional transaction ID to use for this read. */
transactionId?: Uint8Array;
/** An optional readTime to use for this read. */
readTime?: Timestamp;
private outstandingDocuments;
private retrievedDocuments;
private readonly firestore;
private readonly allDocuments;
private readonly fieldMask?;
private readonly transactionOrReadTime?;
private readonly outstandingDocuments;
private readonly retrievedDocuments;
private retrievedTransactionId?;
/**

@@ -49,6 +56,10 @@ * Creates a new DocumentReader that fetches the provided documents (via

* @param allDocuments The documents to get.
* @param fieldMask An optional field mask to apply to this read
* @param transactionOrReadTime An optional transaction ID to use for this
* read or options for beginning a new transaction with this read
*/
constructor(firestore: Firestore, allDocuments: Array<DocumentReference<AppModelType, DbModelType>>);
constructor(firestore: Firestore, allDocuments: ReadonlyArray<DocumentReference<AppModelType, DbModelType>>, fieldMask?: FieldPath[] | undefined, transactionOrReadTime?: Uint8Array | api.ITransactionOptions | Timestamp | undefined);
/**
* Invokes the BatchGetDocuments RPC and returns the results.
* Invokes the BatchGetDocuments RPC and returns the results as an array of
* documents.
*

@@ -58,3 +69,11 @@ * @param requestTag A unique client-assigned identifier for this request.

get(requestTag: string): Promise<Array<DocumentSnapshot<AppModelType, DbModelType>>>;
/**
* Invokes the BatchGetDocuments RPC and returns the results with transaction
* metadata.
*
* @param requestTag A unique client-assigned identifier for this request.
*/
_get(requestTag: string): Promise<BatchGetResponse<AppModelType, DbModelType>>;
private fetchDocuments;
}
export {};

@@ -22,2 +22,3 @@ "use strict";

const logger_1 = require("./logger");
const timestamp_1 = require("./timestamp");
/**

@@ -37,6 +38,11 @@ * A wrapper around BatchGetDocumentsRequest that retries request upon stream

* @param allDocuments The documents to get.
* @param fieldMask An optional field mask to apply to this read
* @param transactionOrReadTime An optional transaction ID to use for this
* read or options for beginning a new transaction with this read
*/
constructor(firestore, allDocuments) {
constructor(firestore, allDocuments, fieldMask, transactionOrReadTime) {
this.firestore = firestore;
this.allDocuments = allDocuments;
this.fieldMask = fieldMask;
this.transactionOrReadTime = transactionOrReadTime;
this.outstandingDocuments = new Set();

@@ -49,3 +55,4 @@ this.retrievedDocuments = new Map();

/**
* Invokes the BatchGetDocuments RPC and returns the results.
* Invokes the BatchGetDocuments RPC and returns the results as an array of
* documents.
*

@@ -55,2 +62,12 @@ * @param requestTag A unique client-assigned identifier for this request.

async get(requestTag) {
const { result } = await this._get(requestTag);
return result;
}
/**
* Invokes the BatchGetDocuments RPC and returns the results with transaction
* metadata.
*
* @param requestTag A unique client-assigned identifier for this request.
*/
async _get(requestTag) {
await this.fetchDocuments(requestTag);

@@ -76,5 +93,9 @@ // BatchGetDocuments doesn't preserve document order. We use the request

}
return orderedDocuments;
return {
result: orderedDocuments,
transaction: this.retrievedTransactionId,
};
}
async fetchDocuments(requestTag) {
var _a;
if (!this.outstandingDocuments.size) {

@@ -87,8 +108,11 @@ return;

};
if (this.transactionId) {
request.transaction = this.transactionId;
if (this.transactionOrReadTime instanceof Uint8Array) {
request.transaction = this.transactionOrReadTime;
}
else if (this.readTime) {
request.readTime = this.readTime.toProto().timestampValue;
else if (this.transactionOrReadTime instanceof timestamp_1.Timestamp) {
request.readTime = this.transactionOrReadTime.toProto().timestampValue;
}
else if (this.transactionOrReadTime) {
request.newTransaction = this.transactionOrReadTime;
}
if (this.fieldMask) {

@@ -104,2 +128,6 @@ const fieldPaths = this.fieldMask.map(fieldPath => fieldPath.formattedName);

for await (const response of stream) {
// Proto comes with zero-length buffer by default
if ((_a = response.transaction) === null || _a === void 0 ? void 0 : _a.length) {
this.retrievedTransactionId = response.transaction;
}
let snapshot;

@@ -110,10 +138,12 @@ if (response.found) {

}
else {
else if (response.missing) {
(0, logger_1.logger)('DocumentReader.fetchDocuments', requestTag, 'Document missing: %s', response.missing);
snapshot = this.firestore.snapshot_(response.missing, response.readTime);
}
const path = snapshot.ref.formattedName;
this.outstandingDocuments.delete(path);
this.retrievedDocuments.set(path, snapshot);
++resultCount;
if (snapshot) {
const path = snapshot.ref.formattedName;
this.outstandingDocuments.delete(path);
this.retrievedDocuments.set(path, snapshot);
++resultCount;
}
}

@@ -124,3 +154,4 @@ }

// Transactional reads are retried via the transaction runner.
!this.transactionId &&
!request.transaction &&
!request.newTransaction &&
// Only retry if we made progress.

@@ -127,0 +158,0 @@ resultCount > 0 &&

@@ -1006,4 +1006,3 @@ "use strict";

.then(() => {
const reader = new document_reader_1.DocumentReader(this, documents);
reader.fieldMask = fieldMask || undefined;
const reader = new document_reader_1.DocumentReader(this, documents, fieldMask);
return reader.get(tag);

@@ -1010,0 +1009,0 @@ })

@@ -33,10 +33,18 @@ /*!

private readonly _firestore;
private readonly _readOnly;
private readonly _maxAttempts;
private readonly _requestTag;
/** Optional, could be set only if transaction is read only */
private readonly _readOnlyReadTime;
/** `undefined` if transaction is read only */
private readonly _writeBatch;
/** `undefined` if transaction is read only */
private readonly _backoff;
private readonly _requestTag;
private _transactionId?;
private readonly _readTime;
/**
* Promise that resolves to the transaction ID of the current attempt.
* It is lazily initialised upon the first read. Upon retry, it is reset and
* `_prevTransactionId` is set
*/
private _transactionIdPromise?;
private _prevTransactionId?;
/**
* @private

@@ -198,9 +206,2 @@ *

/**
* Starts a transaction and obtains the transaction id from the server.
*
* @private
* @internal
*/
begin(): Promise<void>;
/**
* Commits all queued-up changes in this transaction and releases all locks.

@@ -213,3 +214,5 @@ *

/**
* Releases all locks and rolls back this transaction.
* Releases all locks and rolls back this transaction. The rollback process
* is completed asynchronously and this function resolves before the operation
* is completed.
*

@@ -240,9 +243,10 @@ * @private

/**
* Delays further operations based on the provided error.
*
* @private
* @internal
* @return A Promise that resolves after the delay expired.
* Given a function that performs a read operation, ensures that the first one
* is provided with new transaction options and all subsequent ones are queued
* upon the resulting transaction ID.
*/
private maybeBackoff;
private withLazyStartedTransaction;
private getSingleFn;
private getBatchFn;
private getQueryFn;
}

@@ -260,3 +264,3 @@ /**

documents: Array<DocumentReference<AppModelType, DbModelType>>;
fieldMask: FieldPath[] | null;
fieldMask: FieldPath[] | undefined;
};

@@ -52,19 +52,16 @@ "use strict";

constructor(firestore, requestTag, transactionOptions) {
this._readOnly = false;
this._maxAttempts = index_1.DEFAULT_MAX_TRANSACTION_ATTEMPTS;
this._firestore = firestore;
this._writeBatch = firestore.batch();
this._requestTag = requestTag;
this._backoff = new backoff_1.ExponentialBackoff();
if (transactionOptions) {
if (transactionOptions.readOnly) {
this._readOnly = true;
this._maxAttempts = 1;
this._readTime = transactionOptions.readTime;
}
else {
this._maxAttempts =
transactionOptions.maxAttempts || index_1.DEFAULT_MAX_TRANSACTION_ATTEMPTS;
}
if (transactionOptions === null || transactionOptions === void 0 ? void 0 : transactionOptions.readOnly) {
// Avoid initialising write batch and backoff unnecessarily for read-only transactions
this._maxAttempts = 1;
this._readOnlyReadTime = transactionOptions.readTime;
}
else {
this._maxAttempts =
(transactionOptions === null || transactionOptions === void 0 ? void 0 : transactionOptions.maxAttempts) || index_1.DEFAULT_MAX_TRANSACTION_ATTEMPTS;
this._writeBatch = firestore.batch();
this._backoff = new backoff_1.ExponentialBackoff();
}
}

@@ -95,17 +92,11 @@ /**

get(refOrQuery) {
if (!this._writeBatch.isEmpty) {
if (this._writeBatch && !this._writeBatch.isEmpty) {
throw new Error(READ_AFTER_WRITE_ERROR_MSG);
}
if (refOrQuery instanceof reference_1.DocumentReference) {
const documentReader = new document_reader_1.DocumentReader(this._firestore, [refOrQuery]);
documentReader.transactionId = this._transactionId;
documentReader.readTime = this._readTime;
return documentReader.get(this._requestTag).then(([res]) => res);
return this.withLazyStartedTransaction(refOrQuery, this.getSingleFn);
}
if (refOrQuery instanceof reference_1.Query) {
return refOrQuery._get(this._transactionId || this._readTime);
if (refOrQuery instanceof reference_1.Query || refOrQuery instanceof reference_1.AggregateQuery) {
return this.withLazyStartedTransaction(refOrQuery, this.getQueryFn);
}
if (refOrQuery instanceof reference_1.AggregateQuery) {
return refOrQuery._get(this._transactionId || this._readTime);
}
throw new Error('Value for argument "refOrQuery" must be a DocumentReference, Query, or AggregateQuery.');

@@ -142,12 +133,7 @@ }

getAll(...documentRefsOrReadOptions) {
if (!this._writeBatch.isEmpty) {
if (this._writeBatch && !this._writeBatch.isEmpty) {
throw new Error(READ_AFTER_WRITE_ERROR_MSG);
}
(0, validate_1.validateMinNumberOfArguments)('Transaction.getAll', documentRefsOrReadOptions, 1);
const { documents, fieldMask } = parseGetAllArguments(documentRefsOrReadOptions);
const documentReader = new document_reader_1.DocumentReader(this._firestore, documents);
documentReader.fieldMask = fieldMask || undefined;
documentReader.transactionId = this._transactionId;
documentReader.readTime = this._readTime;
return documentReader.get(this._requestTag);
return this.withLazyStartedTransaction(parseGetAllArguments(documentRefsOrReadOptions), this.getBatchFn);
}

@@ -178,3 +164,3 @@ /**

create(documentRef, data) {
if (this._readOnly) {
if (!this._writeBatch) {
throw new Error(READ_ONLY_WRITE_ERROR_MSG);

@@ -218,3 +204,3 @@ }

set(documentRef, data, options) {
if (this._readOnly) {
if (!this._writeBatch) {
throw new Error(READ_ONLY_WRITE_ERROR_MSG);

@@ -272,3 +258,3 @@ }

update(documentRef, dataOrField, ...preconditionOrValues) {
if (this._readOnly) {
if (!this._writeBatch) {
throw new Error(READ_ONLY_WRITE_ERROR_MSG);

@@ -309,3 +295,3 @@ }

documentRef, precondition) {
if (this._readTime) {
if (!this._writeBatch) {
throw new Error(READ_ONLY_WRITE_ERROR_MSG);

@@ -317,27 +303,2 @@ }

/**
* Starts a transaction and obtains the transaction id from the server.
*
* @private
* @internal
*/
async begin() {
const request = {
database: this._firestore.formattedName,
};
if (this._readOnly) {
request.options = {
readOnly: {},
};
}
else if (this._transactionId) {
request.options = {
readWrite: {
retryTransaction: this._transactionId,
},
};
}
const resp = await this._firestore.request('beginTransaction', request, this._requestTag);
this._transactionId = resp.transaction;
}
/**
* Commits all queued-up changes in this transaction and releases all locks.

@@ -349,12 +310,27 @@ *

async commit() {
if (this._readTime) {
if (!this._writeBatch) {
throw new Error(READ_ONLY_WRITE_ERROR_MSG);
}
// If we have not performed any reads in this particular attempt
// then the writes will be atomically committed without a transaction ID
let transactionId;
if (this._transactionIdPromise) {
transactionId = await this._transactionIdPromise;
}
else if (this._writeBatch.isEmpty) {
// If we have not started a transaction (no reads) and we have no writes
// then the commit is a no-op (success)
return;
}
await this._writeBatch._commit({
transactionId: this._transactionId,
transactionId,
requestTag: this._requestTag,
});
this._transactionIdPromise = undefined;
this._prevTransactionId = transactionId;
}
/**
* Releases all locks and rolls back this transaction.
* Releases all locks and rolls back this transaction. The rollback process
* is completed asynchronously and this function resolves before the operation
* is completed.
*

@@ -365,15 +341,32 @@ * @private

async rollback() {
if (!this._transactionId || this._readOnly) {
// No need to roll back if we have not lazily started the transaction
// or if we are read only
if (!this._transactionIdPromise || !this._writeBatch) {
return;
}
let transactionId;
try {
transactionId = await this._transactionIdPromise;
}
catch (_a) {
// This means the initial read operation rejected
// and we do not have a transaction ID to roll back
this._transactionIdPromise = undefined;
return;
}
const request = {
database: this._firestore.formattedName,
transaction: this._transactionId,
transaction: transactionId,
};
try {
await this._firestore.request('rollback', request, this._requestTag);
}
catch (reason) {
(0, logger_1.logger)('Firestore.runTransaction', this._requestTag, 'Best effort to rollback failed with error:', reason);
}
this._transactionIdPromise = undefined;
this._prevTransactionId = transactionId;
// We don't need to wait for rollback to completed before continuing.
// If there are any locks held, then rollback will eventually release them.
// Rollback can be done concurrently thereby reducing latency caused by
// otherwise blocking.
this._firestore
.request('rollback', request, this._requestTag)
.catch(err => {
(0, logger_1.logger)('Firestore.runTransaction', this._requestTag, 'Best effort to rollback failed with error:', err);
});
}

@@ -389,3 +382,4 @@ /**

async runTransaction(updateFunction) {
if (this._maxAttempts === 1) {
// No backoff is set for readonly transactions (i.e. attempts == 1)
if (!this._writeBatch) {
return this.runTransactionOnce(updateFunction);

@@ -400,3 +394,3 @@ }

this._writeBatch._reset();
await this.maybeBackoff(lastError);
await maybeBackoff(this._backoff, lastError);
return await this.runTransactionOnce(updateFunction);

@@ -406,3 +400,3 @@ }

lastError = err;
if (!this._transactionId || !isRetryableTransactionError(err)) {
if (!isRetryableTransactionError(err)) {
break;

@@ -425,5 +419,2 @@ }

async runTransactionOnce(updateFunction) {
if (!this._readTime) {
await this.begin();
}
try {

@@ -435,3 +426,3 @@ const promise = updateFunction(this);

const result = await promise;
if (!this._readOnly) {
if (this._writeBatch) {
await this.commit();

@@ -448,14 +439,63 @@ }

/**
* Delays further operations based on the provided error.
*
* @private
* @internal
* @return A Promise that resolves after the delay expired.
* Given a function that performs a read operation, ensures that the first one
* is provided with new transaction options and all subsequent ones are queued
* upon the resulting transaction ID.
*/
async maybeBackoff(error) {
if ((error === null || error === void 0 ? void 0 : error.code) === 8 /* StatusCode.RESOURCE_EXHAUSTED */) {
this._backoff.resetToMax();
withLazyStartedTransaction(param, resultFn) {
if (this._transactionIdPromise) {
// Simply queue this subsequent read operation after the first read
// operation has resolved and we don't expect a transaction ID in the
// response because we are not starting a new transaction
return this._transactionIdPromise
.then(opts => resultFn.call(this, param, opts))
.then(r => r.result);
}
await this._backoff.backoffAndWait();
else {
if (this._readOnlyReadTime) {
// We do not start a transaction for read-only transactions
// do not set _prevTransactionId
return resultFn
.call(this, param, this._readOnlyReadTime)
.then(r => r.result);
}
else {
// This is the first read of the transaction so we create the appropriate
// options for lazily starting the transaction inside this first read op
const opts = {};
if (this._writeBatch) {
opts.readWrite = this._prevTransactionId
? { retryTransaction: this._prevTransactionId }
: {};
}
else {
opts.readOnly = {};
}
const resultPromise = resultFn.call(this, param, opts);
// Ensure the _transactionIdPromise is set synchronously so that
// subsequent operations will not race to start another transaction
this._transactionIdPromise = resultPromise.then(r => {
if (!r.transaction) {
// Illegal state
// The read operation was provided with new transaction options but did not return a transaction ID
// Rejecting here will cause all queued reads to reject
throw new Error('Transaction ID was missing from server response');
}
return r.transaction;
});
return resultPromise.then(r => r.result);
}
}
}
async getSingleFn(document, opts) {
const documentReader = new document_reader_1.DocumentReader(this._firestore, [document], undefined, opts);
const { transaction, result: [result], } = await documentReader._get(this._requestTag);
return { transaction, result };
}
async getBatchFn({ documents, fieldMask, }, opts) {
const documentReader = new document_reader_1.DocumentReader(this._firestore, documents, fieldMask, opts);
return documentReader._get(this._requestTag);
}
async getQueryFn(query, opts) {
return query._get(opts);
}
}

@@ -493,3 +533,3 @@ exports.Transaction = Transaction;

? readOptions.fieldMask.map(fieldPath => path_1.FieldPath.fromArgument(fieldPath))
: null;
: undefined;
return { fieldMask, documents };

@@ -553,2 +593,15 @@ }

}
/**
* Delays further operations based on the provided error.
*
* @private
* @internal
* @return A Promise that resolves after the delay expired.
*/
async function maybeBackoff(backoff, error) {
if ((error === null || error === void 0 ? void 0 : error.code) === 8 /* StatusCode.RESOURCE_EXHAUSTED */) {
backoff.resetToMax();
}
await backoff.backoffAndWait();
}
//# sourceMappingURL=transaction.js.map

@@ -85,3 +85,3 @@ "use strict";

constructor(opts, gaxInstance) {
var _a, _b, _c, _d;
var _a, _b, _c, _d, _e;
this._terminated = false;

@@ -101,4 +101,7 @@ this.descriptors = {

}
const universeDomainEnvVar = typeof process === 'object' && typeof process.env === 'object'
? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
: undefined;
this._universeDomain =
(_b = (_a = opts === null || opts === void 0 ? void 0 : opts.universeDomain) !== null && _a !== void 0 ? _a : opts === null || opts === void 0 ? void 0 : opts.universe_domain) !== null && _b !== void 0 ? _b : 'googleapis.com';
(_c = (_b = (_a = opts === null || opts === void 0 ? void 0 : opts.universeDomain) !== null && _a !== void 0 ? _a : opts === null || opts === void 0 ? void 0 : opts.universe_domain) !== null && _b !== void 0 ? _b : universeDomainEnvVar) !== null && _c !== void 0 ? _c : 'googleapis.com';
this._servicePath = 'firestore.' + this._universeDomain;

@@ -108,4 +111,4 @@ const servicePath = (opts === null || opts === void 0 ? void 0 : opts.servicePath) || (opts === null || opts === void 0 ? void 0 : opts.apiEndpoint) || this._servicePath;

const port = (opts === null || opts === void 0 ? void 0 : opts.port) || staticMembers.port;
const clientConfig = (_c = opts === null || opts === void 0 ? void 0 : opts.clientConfig) !== null && _c !== void 0 ? _c : {};
const fallback = (_d = opts === null || opts === void 0 ? void 0 : opts.fallback) !== null && _d !== void 0 ? _d : (typeof window !== 'undefined' && typeof (window === null || window === void 0 ? void 0 : window.fetch) === 'function');
const clientConfig = (_d = opts === null || opts === void 0 ? void 0 : opts.clientConfig) !== null && _d !== void 0 ? _d : {};
const fallback = (_e = opts === null || opts === void 0 ? void 0 : opts.fallback) !== null && _e !== void 0 ? _e : (typeof window !== 'undefined' && typeof (window === null || window === void 0 ? void 0 : window.fetch) === 'function');
opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);

@@ -140,3 +143,3 @@ // Request numeric enum values if REST transport is used.

const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
if (typeof process !== 'undefined' && 'versions' in process) {
if (typeof process === 'object' && 'versions' in process) {
clientHeader.push(`gl-node/${process.versions.node}`);

@@ -259,3 +262,3 @@ }

static get servicePath() {
if (typeof process !== undefined &&
if (typeof process === 'object' &&
typeof process.emitWarning === 'function') {

@@ -272,3 +275,3 @@ process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');

static get apiEndpoint() {
if (typeof process !== undefined &&
if (typeof process === 'object' &&
typeof process.emitWarning === 'function') {

@@ -275,0 +278,0 @@ process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');

{
"name": "@google-cloud/firestore",
"description": "Firestore Client Library for Node.js",
"version": "7.6.0",
"version": "7.7.0",
"license": "Apache-2.0",

@@ -68,3 +68,3 @@ "author": "Google Inc.",

"functional-red-black-tree": "^1.0.1",
"google-gax": "^4.3.1",
"google-gax": "^4.3.3",
"protobufjs": "^7.2.6"

@@ -71,0 +71,0 @@ },

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc