type Snippet = {
snippet: string;
htmlSnippet: string;
};
type PageMap = {
cse_thumbnail: {
src: string;
height: string;
width: string;
}[];
cse_image: {
src: string;
}[];
metatags: {
[key: string]: string;
}[];
};
export type SearchResultDocument = {
id: string;
name: string;
derivedStructData: {
formattedUrl: string;
htmlTitle: string;
link: string;
displayLink: string;
snippets: Snippet[];
title: string;
pagemap: PageMap;
htmlFormattedUrl: string;
};
};
export type Result = {
id: string;
document: SearchResultDocument;
};
export type SearchSessionInfo = {
name: string;
queryId: string;
};
export type SearchResultResponse = {
results?: Result[];
totalSize?: number;
attributionToken: string;
nextPageToken?: string;
correctedQuery?: string;
guidedSearchResult?: Record;
summary?: Record;
queryExpansionInfo?: Record;
sessionInfo: SearchSessionInfo;
};
export type Answer = {
name: string;
state: AnswerState;
answerText: string;
processedText?: string;
citation_map?: Record;
citations?: Citation[];
references?: Reference[];
relatedQuestions?: string[];
steps?: Step[];
queryUnderstandingInfo?: {
queryClassificationInfo?: QueryClassificationInfo[];
};
};
export type AnswerQueryResponse = {
answer: Answer;
session: {
name: string;
state: AnswerState;
turns?: Turn[];
startTime?: string;
endTime?: string;
};
answerQueryToken: string;
};
export declare enum AnswerState {
STATE_UNSPECIFIED = "STATE_UNSPECIFIED",
IN_PROGRESS = "IN_PROGRESS",
FAILED = "FAILED",
SUCCEEDED = "SUCCEEDED",
STREAMING = "STREAMING"
}
export type QueryClassificationInfo = {
type: QueryClassificationType;
positive: boolean;
};
export declare enum QueryClassificationType {
TYPE_UNSPECIFIED = "TYPE_UNSPECIFIED",
ADVERSARIAL_QUERY = "ADVERSARIAL_QUERY",
NON_ANSWER_SEEKING_QUERY = "NON_ANSWER_SEEKING_QUERY",
JAIL_BREAKING_QUERY = "JAIL_BREAKING_QUERY",
NON_ANSWER_SEEKING_QUERY_V2 = "NON_ANSWER_SEEKING_QUERY_V2"
}
export type Citation = {
startIndex: string;
endIndex: string;
sources: [
{
referenceId: string;
}
];
};
export type Turn = {
query: {
queryId: string;
text: string;
};
answer: string;
};
export type Reference = {
chunkInfo: ChunkInfo;
} | {
structuredDocumentInfo: StructuredDocumentInfo;
};
export type Observation = {
searchResults: SearchResult[];
};
export type SnippetInfo = {
snippet: string;
snippetStatus: string;
};
export type SearchResult = {
document: string;
uri: string;
title: string;
snippetInfo: SnippetInfo[];
chunkInfo: {
chunk: string;
content: string;
relevanceScore: number;
}[];
structData: Record;
};
export type Step = {
state: AnswerState;
description: string;
actions: {
searchAction: {
query: string;
};
observation: Observation;
}[];
};
export type DocumentMetadata = {
document: string;
uri: string;
title: string;
};
export type ChunkInfo = {
content: string;
relevanceScore: number;
documentMetadata: DocumentMetadata;
};
export type StructuredDocumentInfo = DocumentMetadata & {
structData: Record;
};
export type AiSearchResponse = {
results: Result[];
totalSize: number;
answer: Answer | null;
sessionId: string;
};
export {};
//# sourceMappingURL=google-ai-search.d.ts.map