quantum-ai-sdk 0.2.2 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +10 -1
- package/dist/client.js +19 -0
- package/dist/compute-billing.d.ts +36 -0
- package/dist/compute-billing.js +9 -0
- package/dist/index.d.ts +2 -1
- package/dist/search.d.ts +17 -0
- package/dist/search.js +24 -0
- package/dist/types.d.ts +128 -0
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import type { BillingRequest, BillingResponse } from "./compute-billing.js";
|
|
1
2
|
import { RealtimeSender, RealtimeReceiver } from "./realtime.js";
|
|
2
3
|
import type { RealtimeConfig, RealtimeSession } from "./realtime.js";
|
|
3
|
-
import type { AccountPricingResponse, AgentEvent, AgentRequest, AlignRequest, AlignResponse, AsyncJobResponse, AuthAppleRequest, AuthResponse, AvatarsResponse, BalanceResponse, BatchJobInfo, BatchJobsResponse, BatchJsonlResponse, BatchSubmitRequest, BatchSubmitResponse, ChatRequest, ChatResponse, ChunkDocumentRequest, ChunkDocumentResponse, ClientOptions, CloneVoiceRequest, CloneVoiceResponse, CreateKeyRequest, CreateKeyResponse, CreditBalanceResponse, CreditPacksResponse, CreditPurchaseRequest, CreditPurchaseResponse, CreditTiersResponse, DeleteResponse, DevProgramApplyRequest, DevProgramApplyResponse, DialogueRequest, DialogueResponse, DigitalTwinRequest, DocumentRequest, DocumentResponse, DubRequest, DubResponse, EmbedRequest, EmbedResponse, HeyGenTemplatesResponse, HeyGenVoicesResponse, ImageEditRequest, ImageEditResponse, ImageRequest, ImageResponse, InstanceResponse, InstancesResponse, IsolateVoiceRequest, IsolateVoiceResponse, JobCreateRequest, JobCreateResponse, JobListResponse, JobStreamEvent, JobStatusResponse, ListKeysResponse, MissionEvent, MissionRequest, ModelInfo, MusicRequest, MusicResponse, PhotoAvatarRequest, PricingInfo, ProcessDocumentRequest, ProcessDocumentResponse, ProvisionRequest, ProvisionResponse, RAGCorpus, RAGSearchRequest, RAGSearchResponse, RemixVoiceRequest, RemixVoiceResponse, ResponseMeta, SessionChatRequest, SessionChatResponse, SoundEffectRequest, SoundEffectResponse, SpeechToSpeechRequest, SpeechToSpeechResponse, SSHKeyRequest, StarfishTTSRequest, StarfishTTSResponse, StatusResponse, STTRequest, STTResponse, StreamEvent, SurrealRAGProvidersResponse, SurrealRAGSearchRequest, SurrealRAGSearchResponse, TemplatesResponse, TTSRequest, TTSResponse, UsageQuery, UsageResponse, UsageSummaryResponse, VideoRequest, VideoResponse, VideoStudioRequest, VideoTranslateRequest, VoiceDesignRequest, VoiceDesignResponse, VoicesResponse } from "./types.js";
|
|
4
|
+
import type { AccountPricingResponse, AgentEvent, AgentRequest, AlignRequest, AlignResponse, AsyncJobResponse, AuthAppleRequest, AuthResponse, AvatarsResponse, BalanceResponse, BatchJobInfo, BatchJobsResponse, BatchJsonlResponse, BatchSubmitRequest, BatchSubmitResponse, ChatRequest, ChatResponse, ChunkDocumentRequest, ChunkDocumentResponse, ClientOptions, CloneVoiceRequest, CloneVoiceResponse, CreateKeyRequest, CreateKeyResponse, CreditBalanceResponse, CreditPacksResponse, CreditPurchaseRequest, CreditPurchaseResponse, CreditTiersResponse, DeleteResponse, DevProgramApplyRequest, DevProgramApplyResponse, DialogueRequest, DialogueResponse, DigitalTwinRequest, DocumentRequest, DocumentResponse, DubRequest, DubResponse, EmbedRequest, EmbedResponse, HeyGenTemplatesResponse, HeyGenVoicesResponse, ImageEditRequest, ImageEditResponse, ImageRequest, ImageResponse, InstanceResponse, InstancesResponse, IsolateVoiceRequest, IsolateVoiceResponse, JobCreateRequest, JobCreateResponse, JobListResponse, JobStreamEvent, WebSearchRequest, WebSearchResponse, LLMContextRequest, LLMContextResponse, SearchAnswerRequest, SearchAnswerResponse, JobStatusResponse, ListKeysResponse, MissionEvent, MissionRequest, ModelInfo, MusicRequest, MusicResponse, PhotoAvatarRequest, PricingInfo, ProcessDocumentRequest, ProcessDocumentResponse, ProvisionRequest, ProvisionResponse, RAGCorpus, RAGSearchRequest, RAGSearchResponse, RemixVoiceRequest, RemixVoiceResponse, ResponseMeta, SessionChatRequest, SessionChatResponse, SoundEffectRequest, SoundEffectResponse, SpeechToSpeechRequest, SpeechToSpeechResponse, SSHKeyRequest, StarfishTTSRequest, StarfishTTSResponse, StatusResponse, STTRequest, STTResponse, StreamEvent, SurrealRAGProvidersResponse, SurrealRAGSearchRequest, SurrealRAGSearchResponse, TemplatesResponse, TTSRequest, TTSResponse, UsageQuery, UsageResponse, UsageSummaryResponse, VideoRequest, VideoResponse, VideoStudioRequest, VideoTranslateRequest, VoiceDesignRequest, VoiceDesignResponse, VoicesResponse } from "./types.js";
|
|
4
5
|
/**
|
|
5
6
|
* QuantumClient is the Quantum AI API client.
|
|
6
7
|
*
|
|
@@ -151,6 +152,12 @@ export declare class QuantumClient {
|
|
|
151
152
|
surrealRagSearch(req: SurrealRAGSearchRequest): Promise<SurrealRAGSearchResponse>;
|
|
152
153
|
/** List available documentation providers in SurrealDB RAG. */
|
|
153
154
|
surrealRagProviders(): Promise<SurrealRAGProvidersResponse>;
|
|
155
|
+
/** Perform a web search. Returns web results, news, videos, infobox, discussions. */
|
|
156
|
+
webSearch(req: WebSearchRequest): Promise<WebSearchResponse>;
|
|
157
|
+
/** Get LLM-optimized content chunks for grounding. */
|
|
158
|
+
searchContext(req: LLMContextRequest): Promise<LLMContextResponse>;
|
|
159
|
+
/** Get a grounded AI answer with citations. */
|
|
160
|
+
searchAnswer(req: SearchAnswerRequest): Promise<SearchAnswerResponse>;
|
|
154
161
|
/** List all available models with provider and pricing information. */
|
|
155
162
|
listModels(): Promise<ModelInfo[]>;
|
|
156
163
|
/** Get the complete pricing table for all models. */
|
|
@@ -210,6 +217,8 @@ export declare class QuantumClient {
|
|
|
210
217
|
computeSSHKey(id: string, req: SSHKeyRequest): Promise<StatusResponse>;
|
|
211
218
|
/** Reset the inactivity timer on a compute instance. */
|
|
212
219
|
computeKeepalive(id: string): Promise<StatusResponse>;
|
|
220
|
+
/** Query compute billing from BigQuery. */
|
|
221
|
+
computeBilling(req: BillingRequest): Promise<BillingResponse>;
|
|
213
222
|
/** List all available voices (ElevenLabs). */
|
|
214
223
|
listVoices(): Promise<VoicesResponse>;
|
|
215
224
|
/** Create an instant voice clone from audio samples (ElevenLabs). */
|
package/dist/client.js
CHANGED
|
@@ -11,6 +11,7 @@ import { ragSearch, ragCorpora, surrealRagSearch, surrealRagProviders } from "./
|
|
|
11
11
|
import { listModels, getPricing } from "./models.js";
|
|
12
12
|
import { accountBalance, accountUsage, accountUsageSummary, accountPricing, } from "./account.js";
|
|
13
13
|
import { createJob, getJob, pollJob, listJobs, chatJob, streamJob, generate3D } from "./jobs.js";
|
|
14
|
+
import { webSearch, searchContext, searchAnswer } from "./search.js";
|
|
14
15
|
import { createKey, listKeys, revokeKey } from "./keys.js";
|
|
15
16
|
import { computeTemplates, computeProvision, computeInstances, computeInstance, computeDelete, computeSSHKey, computeKeepalive, } from "./compute.js";
|
|
16
17
|
import { listVoices, cloneVoice, deleteVoice } from "./voices.js";
|
|
@@ -256,6 +257,19 @@ export class QuantumClient {
|
|
|
256
257
|
async surrealRagProviders() {
|
|
257
258
|
return surrealRagProviders(this);
|
|
258
259
|
}
|
|
260
|
+
// ── Search (Brave) ──────────────────────────────────────────────
|
|
261
|
+
/** Perform a web search. Returns web results, news, videos, infobox, discussions. */
|
|
262
|
+
async webSearch(req) {
|
|
263
|
+
return webSearch(this, req);
|
|
264
|
+
}
|
|
265
|
+
/** Get LLM-optimized content chunks for grounding. */
|
|
266
|
+
async searchContext(req) {
|
|
267
|
+
return searchContext(this, req);
|
|
268
|
+
}
|
|
269
|
+
/** Get a grounded AI answer with citations. */
|
|
270
|
+
async searchAnswer(req) {
|
|
271
|
+
return searchAnswer(this, req);
|
|
272
|
+
}
|
|
259
273
|
// ── Models ────────────────────────────────────────────────────────
|
|
260
274
|
/** List all available models with provider and pricing information. */
|
|
261
275
|
async listModels() {
|
|
@@ -366,6 +380,11 @@ export class QuantumClient {
|
|
|
366
380
|
async computeKeepalive(id) {
|
|
367
381
|
return computeKeepalive(this, id);
|
|
368
382
|
}
|
|
383
|
+
/** Query compute billing from BigQuery. */
|
|
384
|
+
async computeBilling(req) {
|
|
385
|
+
const { data } = await this._doJSON("POST", "/qai/v1/compute/billing", req);
|
|
386
|
+
return data;
|
|
387
|
+
}
|
|
369
388
|
// ── Voice Management ──────────────────────────────────────────────
|
|
370
389
|
/** List all available voices (ElevenLabs). */
|
|
371
390
|
async listVoices() {
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { QuantumClient } from "./client.js";
|
|
2
|
+
export interface BillingRequest {
|
|
3
|
+
/** Filter by instance ID. */
|
|
4
|
+
instance_id?: string;
|
|
5
|
+
/** Start date for billing period (ISO 8601). */
|
|
6
|
+
start_date?: string;
|
|
7
|
+
/** End date for billing period (ISO 8601). */
|
|
8
|
+
end_date?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface BillingEntry {
|
|
11
|
+
/** Instance identifier. */
|
|
12
|
+
instance_id: string;
|
|
13
|
+
/** Instance name. */
|
|
14
|
+
instance_name?: string;
|
|
15
|
+
/** Total cost in USD. */
|
|
16
|
+
cost_usd: number;
|
|
17
|
+
/** Usage duration in hours. */
|
|
18
|
+
usage_hours?: number;
|
|
19
|
+
/** SKU description. */
|
|
20
|
+
sku_description?: string;
|
|
21
|
+
/** Billing period start. */
|
|
22
|
+
start_time?: string;
|
|
23
|
+
/** Billing period end. */
|
|
24
|
+
end_time?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface BillingResponse {
|
|
27
|
+
/** Individual billing entries. */
|
|
28
|
+
entries: BillingEntry[];
|
|
29
|
+
/** Total cost across all entries. */
|
|
30
|
+
total_cost_usd: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Query compute billing from BigQuery via the QAI backend.
|
|
34
|
+
* @internal — called by QuantumClient.computeBilling()
|
|
35
|
+
*/
|
|
36
|
+
export declare function computeBilling(client: QuantumClient, req: BillingRequest): Promise<BillingResponse>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// ── Function ─────────────────────────────────────────────────────────
|
|
2
|
+
/**
|
|
3
|
+
* Query compute billing from BigQuery via the QAI backend.
|
|
4
|
+
* @internal — called by QuantumClient.computeBilling()
|
|
5
|
+
*/
|
|
6
|
+
export async function computeBilling(client, req) {
|
|
7
|
+
const { data } = await client._doJSON("POST", "/qai/v1/compute/billing", req);
|
|
8
|
+
return data;
|
|
9
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,8 @@ export { responseText, responseThinking, responseToolCalls } from "./chat.js";
|
|
|
4
4
|
export { realtimeConnect, realtimeConnectDirect, realtimeSession, realtimeEnd, realtimeRefresh, RealtimeSender, RealtimeReceiver } from "./realtime.js";
|
|
5
5
|
export type { RealtimeConfig, RealtimeEvent, RealtimeSession } from "./realtime.js";
|
|
6
6
|
export { contact } from "./contact.js";
|
|
7
|
-
export type {
|
|
7
|
+
export type { BillingRequest, BillingEntry, BillingResponse } from "./compute-billing.js";
|
|
8
|
+
export type { ClientOptions, ResponseMeta, ChatRequest, ChatMessage, ChatTool, ContentBlock, ChatUsage, ChatResponse, StreamEvent, StreamDelta, StreamToolUse, SessionChatRequest, SessionChatResponse, SessionToolResult, ContextConfig, ContextMetadata, AgentRequest, AgentWorkerConfig, AgentEvent, MissionRequest, MissionWorkerConfig, MissionEvent, ImageRequest, ImageResponse, GeneratedImage, ImageEditRequest, ImageEditResponse, TTSRequest, TTSResponse, STTRequest, STTResponse, MusicRequest, MusicClip, MusicResponse, SoundEffectRequest, SoundEffectResponse, DialogueRequest, DialogueResponse, DialogueVoice, SpeechToSpeechRequest, SpeechToSpeechResponse, IsolateVoiceRequest, IsolateVoiceResponse, RemixVoiceRequest, RemixVoiceResponse, DubRequest, DubResponse, AlignRequest, AlignResponse, AlignedWord, VoiceDesignRequest, VoiceDesignResponse, VoicePreview, StarfishTTSRequest, StarfishTTSResponse, VideoRequest, VideoResponse, GeneratedVideo, VideoStudioRequest, VideoTranslateRequest, PhotoAvatarRequest, DigitalTwinRequest, AsyncJobResponse, AvatarsResponse, HeyGenAvatar, HeyGenTemplatesResponse, HeyGenTemplate, HeyGenVoicesResponse, HeyGenVoice, EmbedRequest, EmbedResponse, DocumentRequest, DocumentResponse, ChunkDocumentRequest, ChunkDocumentResponse, DocumentChunk, ProcessDocumentRequest, ProcessDocumentResponse, RAGSearchRequest, RAGSearchResponse, RAGResult, RAGCorpus, SurrealRAGSearchRequest, SurrealRAGSearchResponse, SurrealRAGResult, SurrealRAGProvidersResponse, SurrealRAGProviderInfo, ModelInfo, PricingInfo, BalanceResponse, UsageEntry, UsageResponse, UsageQuery, UsageSummaryMonth, UsageSummaryResponse, PricingEntry, AccountPricingResponse, JobCreateRequest, JobCreateResponse, JobStatusResponse, JobListResponse, JobStreamEvent, JobListItem, CreateKeyRequest, CreateKeyResponse, KeyDetails, ListKeysResponse, ComputeTemplate, TemplatesResponse, ProvisionRequest, ProvisionResponse, ComputeInstanceInfo, InstancesResponse, InstanceDetailInfo, InstanceResponse, SSHKeyRequest, DeleteResponse, VoiceInfo, VoicesResponse, CloneVoiceRequest, CloneVoiceResponse, ContactRequest, BatchJobInput, BatchSubmitRequest, BatchSubmitResponse, BatchJsonlResponse, BatchJobInfo, BatchJobsResponse, CreditPack, CreditPacksResponse, CreditPurchaseRequest, CreditPurchaseResponse, CreditBalanceResponse, CreditTier, CreditTiersResponse, DevProgramApplyRequest, DevProgramApplyResponse, AuthUser, AuthResponse, AuthAppleRequest, WebSearchRequest, WebSearchResponse, WebSearchResult, NewsResult, VideoSearchResult, LLMContextRequest, LLMContextResponse, ContentChunk, ContextSource, SearchAnswerRequest, SearchAnswerResponse, SearchAnswerChoice, SearchCitation, StatusResponse, } from "./types.js";
|
|
8
9
|
export { DEFAULT_BASE_URL, TICKS_PER_USD } from "./types.js";
|
|
9
10
|
import type { ChatMessage } from "./types.js";
|
|
10
11
|
/** Create a user message. */
|
package/dist/search.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { QuantumClient } from "./client.js";
|
|
2
|
+
import type { WebSearchRequest, WebSearchResponse, LLMContextRequest, LLMContextResponse, SearchAnswerRequest, SearchAnswerResponse } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Perform a Brave web search.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare function webSearch(client: QuantumClient, req: WebSearchRequest): Promise<WebSearchResponse>;
|
|
8
|
+
/**
|
|
9
|
+
* Get LLM-optimized content chunks for a query.
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare function searchContext(client: QuantumClient, req: LLMContextRequest): Promise<LLMContextResponse>;
|
|
13
|
+
/**
|
|
14
|
+
* Get a grounded AI answer with citations.
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare function searchAnswer(client: QuantumClient, req: SearchAnswerRequest): Promise<SearchAnswerResponse>;
|
package/dist/search.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Perform a Brave web search.
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export async function webSearch(client, req) {
|
|
6
|
+
const { data } = await client._doJSON("POST", "/qai/v1/search/web", req);
|
|
7
|
+
return data;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Get LLM-optimized content chunks for a query.
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export async function searchContext(client, req) {
|
|
14
|
+
const { data } = await client._doJSON("POST", "/qai/v1/search/context", req);
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get a grounded AI answer with citations.
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export async function searchAnswer(client, req) {
|
|
22
|
+
const { data } = await client._doJSON("POST", "/qai/v1/search/answer", req);
|
|
23
|
+
return data;
|
|
24
|
+
}
|
package/dist/types.d.ts
CHANGED
|
@@ -735,6 +735,134 @@ export interface JobStreamEvent {
|
|
|
735
735
|
cost_ticks?: number;
|
|
736
736
|
completed_at?: string;
|
|
737
737
|
}
|
|
738
|
+
export interface WebSearchRequest {
|
|
739
|
+
query: string;
|
|
740
|
+
count?: number;
|
|
741
|
+
offset?: number;
|
|
742
|
+
country?: string;
|
|
743
|
+
language?: string;
|
|
744
|
+
freshness?: "pd" | "pw" | "pm";
|
|
745
|
+
safesearch?: string;
|
|
746
|
+
}
|
|
747
|
+
export interface WebSearchResult {
|
|
748
|
+
title?: string;
|
|
749
|
+
url?: string;
|
|
750
|
+
description?: string;
|
|
751
|
+
extra_snippets?: string[];
|
|
752
|
+
age?: string;
|
|
753
|
+
language?: string;
|
|
754
|
+
thumbnail?: {
|
|
755
|
+
src?: string;
|
|
756
|
+
height?: number;
|
|
757
|
+
width?: number;
|
|
758
|
+
};
|
|
759
|
+
}
|
|
760
|
+
export interface NewsResult {
|
|
761
|
+
title?: string;
|
|
762
|
+
url?: string;
|
|
763
|
+
description?: string;
|
|
764
|
+
age?: string;
|
|
765
|
+
source?: string;
|
|
766
|
+
thumbnail?: {
|
|
767
|
+
src?: string;
|
|
768
|
+
height?: number;
|
|
769
|
+
width?: number;
|
|
770
|
+
};
|
|
771
|
+
}
|
|
772
|
+
export interface VideoSearchResult {
|
|
773
|
+
title?: string;
|
|
774
|
+
url?: string;
|
|
775
|
+
description?: string;
|
|
776
|
+
age?: string;
|
|
777
|
+
thumbnail?: {
|
|
778
|
+
src?: string;
|
|
779
|
+
height?: number;
|
|
780
|
+
width?: number;
|
|
781
|
+
};
|
|
782
|
+
}
|
|
783
|
+
export interface WebSearchResponse {
|
|
784
|
+
query?: {
|
|
785
|
+
original?: string;
|
|
786
|
+
altered?: string;
|
|
787
|
+
language?: string;
|
|
788
|
+
};
|
|
789
|
+
web?: {
|
|
790
|
+
results: WebSearchResult[];
|
|
791
|
+
family_friendly?: boolean;
|
|
792
|
+
};
|
|
793
|
+
news?: {
|
|
794
|
+
results: NewsResult[];
|
|
795
|
+
};
|
|
796
|
+
videos?: {
|
|
797
|
+
results: VideoSearchResult[];
|
|
798
|
+
};
|
|
799
|
+
infobox?: {
|
|
800
|
+
title?: string;
|
|
801
|
+
url?: string;
|
|
802
|
+
description?: string;
|
|
803
|
+
long_desc?: string;
|
|
804
|
+
};
|
|
805
|
+
discussions?: {
|
|
806
|
+
results: {
|
|
807
|
+
title?: string;
|
|
808
|
+
url?: string;
|
|
809
|
+
description?: string;
|
|
810
|
+
age?: string;
|
|
811
|
+
}[];
|
|
812
|
+
};
|
|
813
|
+
}
|
|
814
|
+
export interface LLMContextRequest {
|
|
815
|
+
query: string;
|
|
816
|
+
count?: number;
|
|
817
|
+
country?: string;
|
|
818
|
+
language?: string;
|
|
819
|
+
freshness?: "pd" | "pw" | "pm";
|
|
820
|
+
}
|
|
821
|
+
export interface ContentChunk {
|
|
822
|
+
content?: string;
|
|
823
|
+
url?: string;
|
|
824
|
+
title?: string;
|
|
825
|
+
score?: number;
|
|
826
|
+
content_type?: string;
|
|
827
|
+
index?: number;
|
|
828
|
+
}
|
|
829
|
+
export interface ContextSource {
|
|
830
|
+
url?: string;
|
|
831
|
+
title?: string;
|
|
832
|
+
description?: string;
|
|
833
|
+
snippet?: string;
|
|
834
|
+
}
|
|
835
|
+
export interface LLMContextResponse {
|
|
836
|
+
chunks: ContentChunk[];
|
|
837
|
+
sources?: ContextSource[];
|
|
838
|
+
query?: string;
|
|
839
|
+
}
|
|
840
|
+
export interface SearchAnswerRequest {
|
|
841
|
+
messages: {
|
|
842
|
+
role: string;
|
|
843
|
+
content: string;
|
|
844
|
+
}[];
|
|
845
|
+
model?: string;
|
|
846
|
+
}
|
|
847
|
+
export interface SearchAnswerChoice {
|
|
848
|
+
index?: number;
|
|
849
|
+
message?: {
|
|
850
|
+
role: string;
|
|
851
|
+
content: string;
|
|
852
|
+
};
|
|
853
|
+
finish_reason?: string;
|
|
854
|
+
}
|
|
855
|
+
export interface SearchCitation {
|
|
856
|
+
url?: string;
|
|
857
|
+
title?: string;
|
|
858
|
+
snippet?: string;
|
|
859
|
+
}
|
|
860
|
+
export interface SearchAnswerResponse {
|
|
861
|
+
choices: SearchAnswerChoice[];
|
|
862
|
+
model?: string;
|
|
863
|
+
id?: string;
|
|
864
|
+
citations?: SearchCitation[];
|
|
865
|
+
}
|
|
738
866
|
export interface CreateKeyRequest {
|
|
739
867
|
name: string;
|
|
740
868
|
scopes?: string[];
|