googleapis
Version:
Google APIs Client Library for Node.js
1,305 lines (1,304 loc) • 261 kB
TypeScript
/// <reference types="node" />
import { OAuth2Client, JWT, Compute, UserRefreshClient, BaseExternalAccountClient, GaxiosPromise, GoogleConfigurable, MethodOptions, StreamMethodOptions, GlobalOptions, GoogleAuth, BodyResponseCallback, APIRequestContext } from 'googleapis-common';
import { Readable } from 'stream';
export declare namespace cloudsearch_v1 {
export interface Options extends GlobalOptions {
version: 'v1';
}
interface StandardParameters {
/**
* Auth client or API Key for the request
*/
auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient | BaseExternalAccountClient | GoogleAuth;
/**
* V1 error format.
*/
'$.xgafv'?: string;
/**
* OAuth access token.
*/
access_token?: string;
/**
* Data format for response.
*/
alt?: string;
/**
* JSONP
*/
callback?: string;
/**
* Selector specifying which fields to include in a partial response.
*/
fields?: string;
/**
* API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
*/
key?: string;
/**
* OAuth 2.0 token for the current user.
*/
oauth_token?: string;
/**
* Returns response with indentations and line breaks.
*/
prettyPrint?: boolean;
/**
* Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
*/
quotaUser?: string;
/**
* Legacy upload protocol for media (e.g. "media", "multipart").
*/
uploadType?: string;
/**
* Upload protocol for media (e.g. "raw", "multipart").
*/
upload_protocol?: string;
}
/**
* Cloud Search API
*
* Cloud Search provides cloud-based search capabilities over Google Workspace data. The Cloud Search API allows indexing of non-Google Workspace data into Cloud Search.
*
* @example
* ```js
* const {google} = require('googleapis');
* const cloudsearch = google.cloudsearch('v1');
* ```
*/
export class Cloudsearch {
context: APIRequestContext;
debug: Resource$Debug;
indexing: Resource$Indexing;
media: Resource$Media;
operations: Resource$Operations;
query: Resource$Query;
settings: Resource$Settings;
stats: Resource$Stats;
v1: Resource$V1;
constructor(options: GlobalOptions, google?: GoogleConfigurable);
}
export interface Schema$Action {
/**
* [Required] Title of the action.
*/
title?: string | null;
/**
* [Optional] Url of the action.
*/
url?: string | null;
}
/**
* Represents the settings for Cloud audit logging
*/
export interface Schema$AuditLoggingSettings {
/**
* Indicates whether audit logging is on/off for admin activity read APIs i.e. Get/List DataSources, Get/List SearchApplications etc.
*/
logAdminReadActions?: boolean | null;
/**
* Indicates whether audit logging is on/off for data access read APIs i.e. ListItems, GetItem etc.
*/
logDataReadActions?: boolean | null;
/**
* Indicates whether audit logging is on/off for data access write APIs i.e. IndexItem etc.
*/
logDataWriteActions?: boolean | null;
/**
* The resource name of the GCP Project to store audit logs. Cloud audit logging will be enabled after project_name has been updated through CustomerService. Format: projects/{project_id\}
*/
project?: string | null;
}
export interface Schema$BackgroundColoredText {
/**
* [Optional] Color of the background. The text color can change depending on the selected background color, and the client does not have control over this. If missing, the background will be WHITE.
*/
backgroundColor?: string | null;
/**
* [Required] The text to display.
*/
text?: string | null;
}
/**
* Used to provide a search operator for boolean properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.
*/
export interface Schema$BooleanOperatorOptions {
/**
* Indicates the operator name required in the query in order to isolate the boolean property. For example, if operatorName is *closed* and the property's name is *isClosed*, then queries like *closed:<value\>* show results only where the value of the property named *isClosed* matches *<value\>*. By contrast, a search that uses the same *<value\>* without an operator returns all items where *<value\>* matches the value of any String properties or text within the content field for the item. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.
*/
operatorName?: string | null;
}
/**
* The options for boolean properties.
*/
export interface Schema$BooleanPropertyOptions {
/**
* If set, describes how the boolean should be used as a search operator.
*/
operatorOptions?: Schema$BooleanOperatorOptions;
}
export interface Schema$CheckAccessResponse {
/**
* Returns true if principal has access. Returns false otherwise.
*/
hasAccess?: boolean | null;
}
export interface Schema$CompositeFilter {
/**
* The logic operator of the sub filter.
*/
logicOperator?: string | null;
/**
* Sub filters.
*/
subFilters?: Schema$Filter[];
}
export interface Schema$Content {
/**
* [Optional] Actions for this card.
*/
actions?: Schema$Action[];
/**
* [Optional] Description of the card.
*/
description?: Schema$SafeHtmlProto;
/**
* [Optional] Subtitle of the card.
*/
subtitle?: Schema$BackgroundColoredText;
/**
* [Optional] Title of the card.
*/
title?: Schema$BackgroundColoredText;
}
export interface Schema$Context {
/**
* [Optional] App where the card should be shown. If missing, the card will be shown in TOPAZ.
*/
app?: string[] | null;
/**
* [Optional] Day of week when the card should be shown, where 0 is Monday.
*/
dayOfWeek?: number[] | null;
/**
* [Optional] Date (in seconds since epoch) when the card should stop being shown. If missing, end_date_sec will be set to Jan 1st, 2100.
*/
endDateSec?: string | null;
/**
* [Optional] End time in seconds, within a day, when the card should stop being shown if it's within [start_date_sec, end_date_sec]. If missing, this is set to 86400 (24 hours x 3600 sec/hour), i.e., midnight next day.
*/
endDayOffsetSec?: string | null;
/**
* [Optional] The locales for which the card should be triggered (e.g., en_US and en_CA). If missing, the card is going to show to clients regardless of their locale.
*/
locale?: string[] | null;
/**
* [Optional] Text-free locations where the card should be shown. This is expected to match the user's location in focus. If no location is specified, the card will be shown for any location.
*/
location?: string[] | null;
/**
* [Required only for Answer and RHS cards - will be ignored for Homepage] cards. It's the exact case-insensitive queries that will trigger the Answer or RHS card.
*/
query?: string[] | null;
/**
* [Optional] Date (in seconds since epoch) when the card should start being shown. If missing, start_date_sec will be Jan 1st, 1970 UTC.
*/
startDateSec?: string | null;
/**
* [Optional] Start time in seconds, within a day, when the card should be shown if it's within [start_date_sec, end_date_sec]. If 0, the card will be shown from 12:00am on.
*/
startDayOffsetSec?: string | null;
/**
* [Optional] Surface where the card should be shown in. If missing, the card will be shown in any surface.
*/
surface?: string[] | null;
/**
* [Required] Type of the card (homepage, Answer or RHS).
*/
type?: string[] | null;
}
/**
* A named attribute associated with an item which can be used for influencing the ranking of the item based on the context in the request.
*/
export interface Schema$ContextAttribute {
/**
* The name of the attribute. It should not be empty. The maximum length is 32 characters. The name must start with a letter and can only contain letters (A-Z, a-z) or numbers (0-9). The name will be normalized (lower-cased) before being matched.
*/
name?: string | null;
/**
* Text values of the attribute. The maximum number of elements is 10. The maximum length of an element in the array is 32 characters. The value will be normalized (lower-cased) before being matched.
*/
values?: string[] | null;
}
/**
* Aggregation of items by status code as of the specified date.
*/
export interface Schema$CustomerIndexStats {
/**
* The date for which statistics were calculated.
*/
date?: Schema$Date;
/**
* Number of items aggregrated by status code.
*/
itemCountByStatus?: Schema$ItemCountByStatus[];
}
export interface Schema$CustomerQueryStats {
/**
* The date for which query stats were calculated. Stats calculated on the next day close to midnight are returned.
*/
date?: Schema$Date;
queryCountByStatus?: Schema$QueryCountByStatus[];
}
/**
* Search application stats for a customer for the given date.
*/
export interface Schema$CustomerSearchApplicationStats {
/**
* The count of search applications for the date.
*/
count?: string | null;
/**
* The date for which search application stats were calculated.
*/
date?: Schema$Date;
}
export interface Schema$CustomerSessionStats {
/**
* The date for which session stats were calculated. Stats are calculated on the following day, close to midnight PST, and then returned.
*/
date?: Schema$Date;
/**
* The count of search sessions on the day
*/
searchSessionsCount?: string | null;
}
/**
* Represents settings at a customer level.
*/
export interface Schema$CustomerSettings {
/**
* Audit Logging settings for the customer. If update_mask is empty then this field will be updated based on UpdateCustomerSettings request.
*/
auditLoggingSettings?: Schema$AuditLoggingSettings;
/**
* VPC SC settings for the customer. If update_mask is empty then this field will be updated based on UpdateCustomerSettings request.
*/
vpcSettings?: Schema$VPCSettings;
}
export interface Schema$CustomerUserStats {
/**
* The date for which session stats were calculated. Stats calculated on the next day close to midnight are returned.
*/
date?: Schema$Date;
/**
* The count of unique active users in the past one day
*/
oneDayActiveUsersCount?: string | null;
/**
* The count of unique active users in the past seven days
*/
sevenDaysActiveUsersCount?: string | null;
/**
* The count of unique active users in the past thirty days
*/
thirtyDaysActiveUsersCount?: string | null;
}
/**
* Datasource is a logical namespace for items to be indexed. All items must belong to a datasource. This is the prerequisite before items can be indexed into Cloud Search.
*/
export interface Schema$DataSource {
/**
* If true, sets the datasource to read-only mode. In read-only mode, the Indexing API rejects any requests to index or delete items in this source. Enabling read-only mode does not stop the processing of previously accepted data.
*/
disableModifications?: boolean | null;
/**
* Disable serving any search or assist results.
*/
disableServing?: boolean | null;
/**
* Required. Display name of the datasource The maximum length is 300 characters.
*/
displayName?: string | null;
/**
* List of service accounts that have indexing access.
*/
indexingServiceAccounts?: string[] | null;
/**
* This field restricts visibility to items at the datasource level. Items within the datasource are restricted to the union of users and groups included in this field. Note that, this does not ensure access to a specific item, as users need to have ACL permissions on the contained items. This ensures a high level access on the entire datasource, and that the individual items are not shared outside this visibility.
*/
itemsVisibility?: Schema$GSuitePrincipal[];
/**
* The name of the datasource resource. Format: datasources/{source_id\}. The name is ignored when creating a datasource.
*/
name?: string | null;
/**
* IDs of the Long Running Operations (LROs) currently running for this schema.
*/
operationIds?: string[] | null;
/**
* Can a user request to get thumbnail URI for Items indexed in this data source.
*/
returnThumbnailUrls?: boolean | null;
/**
* A short name or alias for the source. This value will be used to match the 'source' operator. For example, if the short name is *<value\>* then queries like *source:<value\>* will only return results for this source. The value must be unique across all datasources. The value must only contain alphanumeric characters (a-zA-Z0-9). The value cannot start with 'google' and cannot be one of the following: mail, gmail, docs, drive, groups, sites, calendar, hangouts, gplus, keep, people, teams. Its maximum length is 32 characters.
*/
shortName?: string | null;
}
/**
* Aggregation of items by status code as of the specified date.
*/
export interface Schema$DataSourceIndexStats {
/**
* The date for which index stats were calculated. If the date of request is not the current date then stats calculated on the next day are returned. Stats are calculated close to mid night in this case. If date of request is current date, then real time stats are returned.
*/
date?: Schema$Date;
/**
* Number of items aggregrated by status code.
*/
itemCountByStatus?: Schema$ItemCountByStatus[];
}
/**
* Restriction on Datasource.
*/
export interface Schema$DataSourceRestriction {
/**
* Filter options restricting the results. If multiple filters are present, they are grouped by object type before joining. Filters with the same object type are joined conjunctively, then the resulting expressions are joined disjunctively. The maximum number of elements is 20. NOTE: Suggest API supports only few filters at the moment: "objecttype", "type" and "mimetype". For now, schema specific filters cannot be used to filter suggestions.
*/
filterOptions?: Schema$FilterOptions[];
/**
* The source of restriction.
*/
source?: Schema$Source;
}
/**
* Represents a whole calendar date, for example a date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the [Proleptic Gregorian Calendar](https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar). The date must be a valid calendar date between the year 1 and 9999.
*/
export interface Schema$Date {
/**
* Day of month. Must be from 1 to 31 and valid for the year and month.
*/
day?: number | null;
/**
* Month of date. Must be from 1 to 12.
*/
month?: number | null;
/**
* Year of date. Must be from 1 to 9999.
*/
year?: number | null;
}
/**
* Optional. Provides a search operator for date properties. Search operators let users restrict the query to specific fields relevant to the type of item being searched.
*/
export interface Schema$DateOperatorOptions {
/**
* Indicates the operator name required in the query in order to isolate the date property using the greater-than operator. For example, if greaterThanOperatorName is *closedafter* and the property's name is *closeDate*, then queries like *closedafter:<value\>* show results only where the value of the property named *closeDate* is later than *<value\>*. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.
*/
greaterThanOperatorName?: string | null;
/**
* Indicates the operator name required in the query in order to isolate the date property using the less-than operator. For example, if lessThanOperatorName is *closedbefore* and the property's name is *closeDate*, then queries like *closedbefore:<value\>* show results only where the value of the property named *closeDate* is earlier than *<value\>*. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.
*/
lessThanOperatorName?: string | null;
/**
* Indicates the actual string required in the query in order to isolate the date property. For example, suppose an issue tracking schema object has a property named *closeDate* that specifies an operator with an operatorName of *closedon*. For searches on that data, queries like *closedon:<value\>* show results only where the value of the *closeDate* property matches *<value\>*. By contrast, a search that uses the same *<value\>* without an operator returns all items where *<value\>* matches the value of any String properties or text within the content field for the indexed datasource. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.
*/
operatorName?: string | null;
}
/**
* The options for date properties.
*/
export interface Schema$DatePropertyOptions {
/**
* If set, describes how the date should be used as a search operator.
*/
operatorOptions?: Schema$DateOperatorOptions;
}
/**
* List of date values.
*/
export interface Schema$DateValues {
values?: Schema$Date[];
}
/**
* Shared request debug options for all cloudsearch RPC methods.
*/
export interface Schema$DebugOptions {
/**
* If you are asked by Google to help with debugging, set this field. Otherwise, ignore this field.
*/
enableDebugging?: boolean | null;
}
export interface Schema$DeleteQueueItemsRequest {
/**
* The name of connector making this call. Format: datasources/{source_id\}/connectors/{ID\}
*/
connectorName?: string | null;
/**
* Common debug options.
*/
debugOptions?: Schema$DebugOptions;
/**
* The name of a queue to delete items from.
*/
queue?: string | null;
}
/**
* A reference to a top-level property within the object that should be displayed in search results. The values of the chosen properties is displayed in the search results along with the display label for that property if one is specified. If a display label is not specified, only the values is shown.
*/
export interface Schema$DisplayedProperty {
/**
* The name of the top-level property as defined in a property definition for the object. If the name is not a defined property in the schema, an error is given when attempting to update the schema.
*/
propertyName?: string | null;
}
/**
* Used to provide a search operator for double properties. This is optional. Search operators let users restrict the query to specific fields relevant to the type of item being searched.
*/
export interface Schema$DoubleOperatorOptions {
/**
* Indicates the operator name required in the query in order to use the double property in sorting or as a facet. The operator name can only contain lowercase letters (a-z). The maximum length is 32 characters.
*/
operatorName?: string | null;
}
/**
* The options for double properties.
*/
export interface Schema$DoublePropertyOptions {
/**
* If set, describes how the double should be used as a search operator.
*/
operatorOptions?: Schema$DoubleOperatorOptions;
}
/**
* List of double values.
*/
export interface Schema$DoubleValues {
values?: number[] | null;
}
/**
* Drive follow-up search restricts (e.g. "followup:suggestions").
*/
export interface Schema$DriveFollowUpRestrict {
type?: string | null;
}
/**
* Drive location search restricts (e.g. "is:starred").
*/
export interface Schema$DriveLocationRestrict {
type?: string | null;
}
/**
* Drive mime-type search restricts (e.g. "type:pdf").
*/
export interface Schema$DriveMimeTypeRestrict {
type?: string | null;
}
/**
* The time span search restrict (e.g. "after:2017-09-11 before:2017-09-12").
*/
export interface Schema$DriveTimeSpanRestrict {
type?: string | null;
}
/**
* A person's email address.
*/
export interface Schema$EmailAddress {
/**
* If the value of type is custom, this property contains the custom type string.
*/
customType?: string | null;
/**
* The email address.
*/
emailAddress?: string | null;
/**
* The URL to send email.
*/
emailUrl?: string | null;
/**
* Indicates if this is the user's primary email. Only one entry can be marked as primary.
*/
primary?: boolean | null;
/**
* The type of the email account. Acceptable values are: "custom", "home", "other", "work".
*/
type?: string | null;
}
export interface Schema$EnterpriseTopazFrontendTeamsLink {
/**
* The identifying link type
*/
type?: string | null;
url?: Schema$SafeUrlProto;
}
export interface Schema$EnterpriseTopazFrontendTeamsPersonCorePhoneNumber {
/**
* Phone number in no particular format (as comes from the Focus profile).
*/
phoneNumber?: string | null;
/**
* Phone number URL
*/
phoneUrl?: Schema$SafeUrlProto;
type?: string | null;
}
/**
* An AgendaEntry, e.g., a Calendar Event.
*/
export interface Schema$EnterpriseTopazSidekickAgendaEntry {
/**
* URL of the agenda item.
*/
agendaItemUrl?: string | null;
/**
* The chronology from the present.
*/
chronology?: string | null;
/**
* Person who created the event.
*/
creator?: Schema$EnterpriseTopazSidekickPerson;
/**
* Attendance status for the current user making the request. This is a convenience data member in order to avoid figuring out the same by iterating the invitee list above on the caller side.
*/
currentUserAttendingStatus?: string | null;
/**
* Description of the agenda item (i.e., typically, summary in calendar event).
*/
description?: string | null;
/**
* Items related to the current AgendaEntry. E.g., related drive/mail/groups documents.
*/
document?: Schema$EnterpriseTopazSidekickCommonDocument[];
/**
* End date "Friday, August 26" in the user's timezone.
*/
endDate?: string | null;
/**
* End time (HH:mm) in the user's timezone.
*/
endTime?: string | null;
/**
* End time in milliseconds
*/
endTimeMs?: string | null;
/**
* Event id provided by Calendar API.
*/
eventId?: string | null;
/**
* Whether the guests can invite other guests.
*/
guestsCanInviteOthers?: boolean | null;
/**
* Whether the guests can modify the event.
*/
guestsCanModify?: boolean | null;
/**
* Whether the guests of the event can be seen. If false, the user is going to be reported as the only attendee to the meeting, even though there may be more attendees.
*/
guestsCanSeeGuests?: boolean | null;
/**
* Hangout meeting identifier.
*/
hangoutId?: string | null;
/**
* Absolute URL for the Hangout meeting.
*/
hangoutUrl?: string | null;
/**
* People attending the meeting.
*/
invitee?: Schema$EnterpriseTopazSidekickPerson[];
/**
* Whether the entry lasts all day.
*/
isAllDay?: boolean | null;
/**
* Last time the event was modified.
*/
lastModificationTimeMs?: string | null;
/**
* Agenda item location.
*/
location?: string | null;
/**
* Whether this should be notified to the user.
*/
notifyToUser?: boolean | null;
/**
* Whether guest list is not returned because number of attendees is too large.
*/
otherAttendeesExcluded?: boolean | null;
/**
* Whether the requester is the owner of the agenda entry.
*/
requesterIsOwner?: boolean | null;
/**
* Whether the details of this entry should be displayed to the user.
*/
showFullEventDetailsToUse?: boolean | null;
/**
* Start date "Friday, August 26" in the user's timezone.
*/
startDate?: string | null;
/**
* Start time (HH:mm) in the user's timezone.
*/
startTime?: string | null;
/**
* Start time in milliseconds.
*/
startTimeMs?: string | null;
/**
* User's calendar timezone;
*/
timeZone?: string | null;
/**
* Title of the agenda item.
*/
title?: string | null;
}
export interface Schema$EnterpriseTopazSidekickAgendaGroupCardProto {
agendaItem?: Schema$EnterpriseTopazSidekickAgendaItem[];
context?: Schema$EnterpriseTopazSidekickAgendaGroupCardProtoContext;
currentAgendaItem?: Schema$EnterpriseTopazSidekickAgendaItem;
}
/**
* The context that resulted in the generation of the card.
*/
export interface Schema$EnterpriseTopazSidekickAgendaGroupCardProtoContext {
/**
* User friendly free text that describes the context of the card (e.g. "Next meeting with Bob"). This is largely only applicable when the card is generated from a query.
*/
context?: string | null;
/**
* Localized free text that describes the dates represented by the card. Currently, the card will only represent a single day.
*/
date?: string | null;
/**
* Represents restrictions applied to the events requested in the user's query.
*/
eventsRestrict?: string | null;
}
export interface Schema$EnterpriseTopazSidekickAgendaItem {
conflictedGroup?: Schema$EnterpriseTopazSidekickConflictingEventsCardProto;
gapBefore?: Schema$EnterpriseTopazSidekickGap;
meeting?: Schema$EnterpriseTopazSidekickAgendaEntry;
}
/**
* A list of answers represented as free text.
*/
export interface Schema$EnterpriseTopazSidekickAnswerAnswerList {
/**
* Answers that have a corresponding label.
*/
labeledAnswer?: Schema$EnterpriseTopazSidekickAnswerAnswerListLabeledAnswer[];
/**
* Answer type.
*/
type?: string | null;
}
/**
* An answer with a corresponding label.
*/
export interface Schema$EnterpriseTopazSidekickAnswerAnswerListLabeledAnswer {
/**
* The free text answer.
*/
answer?: string | null;
/**
* A localized label for the answer (e.g. "Cell phone" vs "Desk phone").
*/
label?: string | null;
}
/**
* Contains a list of suggested queries. Allows the user to determine what natural language queries they can ask Cloud Search (e.g. "what can I search for?").
*/
export interface Schema$EnterpriseTopazSidekickAnswerSuggestedQueryAnswerCard {
/**
* A list of queries to suggest.
*/
suggestedQueryCategory?: Schema$EnterpriseTopazSidekickAnswerSuggestedQueryCategory[];
}
/**
* Contains a list of suggested queries for a single category.
*/
export interface Schema$EnterpriseTopazSidekickAnswerSuggestedQueryCategory {
/**
* The query list category.
*/
category?: string | null;
/**
* Whether this category is enabled.
*/
isEnabled?: boolean | null;
/**
* List of suggested queries to show the user.
*/
query?: string[] | null;
}
/**
* Wrapper proto for the Assist cards.
*/
export interface Schema$EnterpriseTopazSidekickAssistCardProto {
/**
* Agenda group card.
*/
agendaGroupCardProto?: Schema$EnterpriseTopazSidekickAgendaGroupCardProto;
/**
* Card metadata such as chronology and render mode of the card.
*/
cardMetadata?: Schema$EnterpriseTopazSidekickCardMetadata;
/**
* Card type.
*/
cardType?: string | null;
/**
* Conflicting events card.
*/
conflictingMeetingsCard?: Schema$EnterpriseTopazSidekickConflictingEventsCardProto;
/**
* Answer card for documents that are applicable to the current query.
*/
documentListCard?: Schema$EnterpriseTopazSidekickDocumentPerCategoryList;
/**
* Documents with mentions.
*/
documentsWithMentions?: Schema$EnterpriseTopazSidekickDocumentPerCategoryList;
/**
* Find meeting time card.
*/
findMeetingTimeCard?: Schema$EnterpriseTopazSidekickFindMeetingTimeCardProto;
/**
* Generic answer card.
*/
genericAnswerCard?: Schema$EnterpriseTopazSidekickGenericAnswerCard;
/**
* Get and keep ahead card.
*/
getAndKeepAheadCard?: Schema$EnterpriseTopazSidekickGetAndKeepAheadCardProto;
/**
* Meeting card.
*/
meeting?: Schema$EnterpriseTopazSidekickAgendaEntry;
/**
* Meeting notes card.
*/
meetingNotesCard?: Schema$EnterpriseTopazSidekickMeetingNotesCardProto;
/**
* Request for meeting notes card.
*/
meetingNotesCardRequest?: Schema$EnterpriseTopazSidekickMeetingNotesCardRequest;
/**
* The people disambiguation card.
*/
peopleDisambiguationCard?: Schema$EnterpriseTopazSidekickPeopleDisambiguationCard;
/**
* People Search promotion card.
*/
peoplePromotionCard?: Schema$PeoplePromotionCard;
/**
* Card with recommended documents for the user.
*/
personalizedDocsCard?: Schema$EnterpriseTopazSidekickPersonalizedDocsCardProto;
/**
* Answer card that represents a single person.
*/
personAnswerCard?: Schema$EnterpriseTopazSidekickPeopleAnswerPersonAnswerCard;
/**
* Full profile card.
*/
personProfileCard?: Schema$EnterpriseTopazSidekickPersonProfileCard;
/**
* Answer card that represents a list of people related to a person.
*/
relatedPeopleAnswerCard?: Schema$EnterpriseTopazSidekickPeopleAnswerRelatedPeopleAnswerCard;
/**
* Shared documents.
*/
sharedDocuments?: Schema$EnterpriseTopazSidekickDocumentPerCategoryList;
/**
* Sahre meeting docs card.
*/
shareMeetingDocsCard?: Schema$EnterpriseTopazSidekickShareMeetingDocsCardProto;
/**
* Answer card for what natural language queries the user can ask.
*/
suggestedQueryAnswerCard?: Schema$EnterpriseTopazSidekickAnswerSuggestedQueryAnswerCard;
/**
* Third party answer cards.
*/
thirdPartyAnswerCard?: Schema$ThirdPartyGenericCard;
/**
* Work In Progress card.
*/
workInProgressCardProto?: Schema$EnterpriseTopazSidekickRecentDocumentsCardProto;
}
/**
* Card metadata.
*/
export interface Schema$EnterpriseTopazSidekickCardMetadata {
/**
* Declares a preference for how this card should be packed in MSCR. All cards in a response must correspond to a single category. As a result, cards may be dropped from the response if this field is set. Any card that does not match the category of the card with the highest priority in the response will be dropped.
*/
cardCategory?: string | null;
/**
* An ID to identify the card and match actions to it. Be thoughtful of new card IDs since actions will be associated to that ID. E.g., if two card IDs collide, the system will think that the actions have been applied to the same card. Similarly, if EAS can return multiple cards of the same type (e.g., Meetings), ensure that the card_id identifies a given instance of the card so that, e.g., dismissals only affect the dismissed card as opposed to affecting all meeting cards.
*/
cardId?: string | null;
/**
* Chronology.
*/
chronology?: string | null;
/**
* Debug info (only reported if request's debug_level \> 0).
*/
debugInfo?: string | null;
/**
* Information about the NLP done to get the card.
*/
nlpMetadata?: Schema$EnterpriseTopazSidekickNlpMetadata;
/**
* Ranking params.
*/
rankingParams?: Schema$EnterpriseTopazSidekickRankingParams;
/**
* Render mode.
*/
renderMode?: string | null;
}
/**
* Container of debugging information in all object levels. Extend as needed.
*/
export interface Schema$EnterpriseTopazSidekickCommonDebugInfo {
/**
* Debug message.
*/
message?: string | null;
}
/**
* Representation of a document. NEXT_TAG: 15
*/
export interface Schema$EnterpriseTopazSidekickCommonDocument {
/**
* Access type, i.e., whether the user has access to the document or not.
*/
accessType?: string | null;
/**
* Information for debugging.
*/
debugInfo?: Schema$EnterpriseTopazSidekickCommonDebugInfo;
/**
* Document id.
*/
documentId?: string | null;
/**
* Drive document metadata.
*/
driveDocumentMetadata?: Schema$EnterpriseTopazSidekickCommonDocumentDriveDocumentMetadata;
/**
* Generic Drive-based url in the format of drive.google.com/open to be used for deeplink
*/
genericUrl?: string | null;
/**
* Justification on why the document is selected.
*/
justification?: Schema$EnterpriseTopazSidekickCommonDocumentJustification;
/**
* MIME type
*/
mimeType?: string | null;
/**
* Document provenance.
*/
provenance?: string | null;
/**
* Justification of why this document is being returned.
*/
reason?: string | null;
/**
* A sampling of the text from the document.
*/
snippet?: string | null;
/**
* Thumbnail URL.
*/
thumbnailUrl?: string | null;
/**
* Title of the document.
*/
title?: string | null;
/**
* Type of the document.
*/
type?: string | null;
/**
* Absolute URL of the document.
*/
url?: string | null;
}
/**
* Meta data for drive documents.
*/
export interface Schema$EnterpriseTopazSidekickCommonDocumentDriveDocumentMetadata {
/**
* The drive document cosmo id. Client could use the id to build a URL to open a document. Please use Document.document_id.
*/
documentId?: string | null;
/**
* Additional field to identify whether a document is private since scope set to LIMITED can mean both that the doc is private or that it's shared with others. is_private indicates whether the doc is not shared with anyone except for the owner.
*/
isPrivate?: boolean | null;
/**
* Timestamp of the most recent comment added to the document in milliseconds since epoch.
*/
lastCommentTimeMs?: string | null;
/**
* Timestamp of the most recent edit from the current user in milliseconds since epoch.
*/
lastEditTimeMs?: string | null;
/**
* Last modification time of the document (independent of the user that modified it).
*/
lastModificationTimeMillis?: string | null;
/**
* Timestamp of the last updated time of the document in milliseconds since epoch.
*/
lastUpdatedTimeMs?: string | null;
/**
* Timestamp of the most recent view from the current user in milliseconds since epoch.
*/
lastViewTimeMs?: string | null;
/**
* The owner of the document.
*/
owner?: Schema$EnterpriseTopazSidekickCommonPerson;
/**
* ACL scope of the document which identifies the sharing status of the doc (e.g., limited, shared with link, team drive, ...).
*/
scope?: string | null;
}
/**
* Justification of why we are reporting the document.
*/
export interface Schema$EnterpriseTopazSidekickCommonDocumentJustification {
/**
* A locale aware message that explains why this document was selected.
*/
justification?: string | null;
/**
* Reason on why the document is selected. Populate for trending documents.
*/
reason?: string | null;
}
/**
* Common representation of a person.
*/
export interface Schema$EnterpriseTopazSidekickCommonPerson {
/**
* The birthday.
*/
birthday?: Schema$EnterpriseTopazSidekickCommonPersonBirthday;
/**
* Cell phone number.
*/
cellPhone?: string | null;
/**
* The department the person works in (e.g. Engineering).
*/
department?: string | null;
/**
* Desk location (e.g. US-MTV-PR55-5-5B1I).
*/
deskLocation?: string | null;
/**
* Work desk phone number.
*/
deskPhone?: string | null;
/**
* The full name.
*/
displayName?: string | null;
/**
* Email.
*/
email?: string | null;
/**
* The last name.
*/
familyName?: string | null;
/**
* The fully formatted address (e.g. 1255 Pear Avenue, Mountain View 94043, United States).
*/
fullAddress?: string | null;
/**
* This field is deprecated. The obfuscated_id should be used instead.
*/
gaiaId?: string | null;
/**
* The first name.
*/
givenName?: string | null;
/**
* The person's job title (e.g. Software Engineer).
*/
jobTitle?: string | null;
/**
* The manager.
*/
manager?: Schema$EnterpriseTopazSidekickCommonPerson;
/**
* The obfuscated GAIA ID.
*/
obfuscatedId?: string | null;
/**
* The URL for the Focus profile picture.
*/
photoUrl?: string | null;
/**
* The street address (e.g. 1255 Pear Avenue).
*/
streetAddress?: string | null;
}
export interface Schema$EnterpriseTopazSidekickCommonPersonBirthday {
/**
* Unstructured birthday.
*/
value?: string | null;
}
/**
* Conflicting meetings card proto.
*/
export interface Schema$EnterpriseTopazSidekickConflictingEventsCardProto {
/**
* All the events that conflict with main_event.
*/
conflictingEvent?: Schema$EnterpriseTopazSidekickAgendaEntry[];
/**
* The event identified as being the most important.
*/
mainEvent?: Schema$EnterpriseTopazSidekickAgendaEntry;
}
/**
* Represents a mapping between a document type and its corresponding documents. Use for Work in Progress card in v1 homepage.
*/
export interface Schema$EnterpriseTopazSidekickDocumentGroup {
/**
* Document group type
*/
groupType?: string | null;
/**
* The list of corresponding documents.
*/
personalizedDocument?: Schema$EnterpriseTopazSidekickCommonDocument[];
}
export interface Schema$EnterpriseTopazSidekickDocumentPerCategoryList {
documents?: Schema$EnterpriseTopazSidekickDocumentPerCategoryListDocumentPerCategoryListEntry[];
/**
* Localized message explaining how the documents were derived (e.g. from the last 30 days activity). This field is optional.
*/
helpMessage?: string | null;
listType?: string | null;
/**
* Description of the types of documents present in the list.
*/
listTypeDescription?: string | null;
/**
* Response message in case no documents are present in the card.
*/
responseMessage?: string | null;
}
export interface Schema$EnterpriseTopazSidekickDocumentPerCategoryListDocumentPerCategoryListEntry {
category?: string | null;
document?: Schema$EnterpriseTopazSidekickCommonDocument;
/**
* Reason this document was selected.
*/
rationale?: string | null;
}
/**
* Response to find meeting time among a set of people.
*/
export interface Schema$EnterpriseTopazSidekickFindMeetingTimeCardProto {
/**
* Slots when all attendees have availability.
*/
commonAvailableTimeSlots?: Schema$EnterpriseTopazSidekickTimeSlot[];
/**
* Invitees to the event.
*/
invitees?: Schema$EnterpriseTopazSidekickPerson[];
/**
* Requester.
*/
requester?: Schema$EnterpriseTopazSidekickPerson;
/**
* Details about the scheduled meeting, if one exists.
*/
scheduledMeeting?: Schema$EnterpriseTopazSidekickScheduledMeeting;
/**
* Invitees that have been skipped in the computation, most likely because they are groups.
*/
skippedInvitees?: Schema$EnterpriseTopazSidekickPerson[];
/**
* Min and max timestamp used to find a common available timeslot.
*/
timeBoundaries?: Schema$EnterpriseTopazSidekickTimeSlot;
/**
* Timezone ID.
*/
timezoneId?: string | null;
}
export interface Schema$EnterpriseTopazSidekickGap {
/**
* Localized time string in the format: 1 hour 15 minutes
*/
displayRemainingTime?: string | null;
/**
* Localized time string in the format:(Locale CZ) 8:30 odp.
*/
endTime?: string | null;
endTimeMs?: string | null;
remainingTime?: string | null;
/**
* Localized time string in the format:(Locale CZ) 8:30 odp.
*/
startTime?: string | null;
startTimeMs?: string | null;
}
export interface Schema$EnterpriseTopazSidekickGenericAnswerCard {
/**
* The answer.
*/
answer?: string | null;
/**
* Title or header of the card.
*/
title?: string | null;
}
/**
* Get and keep ahead card
*/
export interface Schema$EnterpriseTopazSidekickGetAndKeepAheadCardProto {
declinedEvents?: Schema$EnterpriseTopazSidekickGetAndKeepAheadCardProtoDeclinedEvents;
mentionedDocuments?: Schema$EnterpriseTopazSidekickDocumentPerCategoryList;
sharedDocuments?: Schema$EnterpriseTopazSidekickDocumentPerCategoryList;
}
/**
* A list of events where all guests declined.
*/
export interface Schema$EnterpriseTopazSidekickGetAndKeepAheadCardProtoDeclinedEvents {
events?: Schema$EnterpriseTopazSidekickAgendaEntry[];
}
/**
* Errors in the creation of meeting notes.
*/
export interface Schema$EnterpriseTopazSidekickMeetingNotesCardError {
/**
* The description of the reason why create-meeting-notes failed.
*/
description?: string | null;
/**
* The event to request meeting notes creation
*/
event?: Schema$EnterpriseTopazSidekickAgendaEntry;
/**
* The reason why create-meeting-notes failed.
*/
reason?: string | null;
}
/**
* Information about the meeting notes created.
*/
export interface Schema$EnterpriseTopazSidekickMeetingNotesCardProto {
/**
* The event to request meeting notes creation.
*/
event?: Schema$EnterpriseTopazSidekickAgendaEntry;
/**
* Google Drive ID (a.k.a. resource ID) of the file.
*/
fileId?: string | null;
/**
* Title we want to show for meeting notes in the answer card
*/
title?: string | null;
/**
* New URL.
*/
url?: string | null;
}
/**
* Meeting notes card request.
*/
export interface Schema$EnterpriseTopazSidekickMeetingNotesCardRequest {
/**
* Who are the meeting notes created for.
*/
canCreateFor?: string[] | null;
/**
* The error and reason if known error occured.
*/
error?: Schema$EnterpriseTopazSidekickMeetingNotesCardError;
/**
* The event to request meeting notes creation
*/
event?: Schema$EnterpriseTopazSidekickAgendaEntry;
}
/**
* Metadata about the NLP interpretation of the query.
*/
export interface Schema$EnterpriseTopazSidekickNlpMetadata {
/**
* Confidence of the interpretation that generated this card.
*/
confidence?: number | null;
}
/**
* Metadata for disambiguation.
*/
export interface Schema$EnterpriseTopazSidekickPeopleAnswerDisambiguationInfo {
/**
* A list of people that also matched the query. This list is not complete.
*/
disambiguation?: Schema$EnterpriseTopazSidekickPeopleAnswerDisambiguationInfoDisambiguationPerson[];
/**
* The name that was extracted from the query. This may be in the form of the given name, last name, full name, LDAP, or email address. This name can be considered suitable for displaying to the user and can largely be considered to be normalized (e.g. "Bob's" -\> "Bob").
*/
name?: string | null;
}
/**
* A person that also matches the query, but was not selected due to a lower affinity with the requesting user.
*/
export interface Schema$EnterpriseTopazSidekickPeopleAnswerDisambiguationInfoDisambiguationPerson {
/**
* The profile of this person.
*/
person?: Schema$EnterpriseTopazSidekickCommonPerson;
/**
* The query that can be used to produce an answer card with the same attribute, but for this person.
*/
query?: string | null;
}
/**
* Recommended header to display for the card.
*/
export interface Schema$EnterpriseTopazSidekickPeopleAnswerPeopleAnswerCardHeader {
/**
* The suggested title to display. This defaults to the user's query.
*/
title?: string | null;
}
/**
* An answer card for a single person.
*/
export interface Schema$EnterpriseTopazSidekickPeopleAnswerPersonAnswerCard {
/**
* List of answers.
*/
answer?: Schema$SafeHtmlProto[];
/**
* List of answers.
*/