@@ -9,6 +9,62 @@ import { FirebaseApp } from '@firebase/app';
9
9
import { FirebaseAuthTokenData } from ' @firebase/auth-interop-types' ;
10
10
import { FirebaseError } from ' @firebase/util' ;
11
11
12
+ // @public
13
+ export interface AI {
14
+ app: FirebaseApp ;
15
+ backend: Backend ;
16
+ // @deprecated
17
+ location: string ;
18
+ }
19
+
20
+ // @public
21
+ export class AIError extends FirebaseError {
22
+ constructor (code : AIErrorCode , message : string , customErrorData ? : CustomErrorData | undefined );
23
+ // (undocumented)
24
+ readonly code: AIErrorCode ;
25
+ // (undocumented)
26
+ readonly customErrorData? : CustomErrorData | undefined ;
27
+ }
28
+
29
+ // @public
30
+ const enum AIErrorCode {
31
+ API_NOT_ENABLED = " api-not-enabled" ,
32
+ ERROR = " error" ,
33
+ FETCH_ERROR = " fetch-error" ,
34
+ INVALID_CONTENT = " invalid-content" ,
35
+ INVALID_SCHEMA = " invalid-schema" ,
36
+ NO_API_KEY = " no-api-key" ,
37
+ NO_APP_ID = " no-app-id" ,
38
+ NO_MODEL = " no-model" ,
39
+ NO_PROJECT_ID = " no-project-id" ,
40
+ PARSE_FAILED = " parse-failed" ,
41
+ REQUEST_ERROR = " request-error" ,
42
+ RESPONSE_ERROR = " response-error" ,
43
+ UNSUPPORTED = " unsupported"
44
+ }
45
+
46
+ export { AIErrorCode }
47
+
48
+ export { AIErrorCode as VertexAIErrorCode }
49
+
50
+ // @public
51
+ export abstract class AIModel {
52
+ // @internal
53
+ protected constructor (ai : AI , modelName : string );
54
+ // Warning: (ae-forgotten-export) The symbol "ApiSettings" needs to be exported by the entry point index.d.ts
55
+ //
56
+ // @internal (undocumented)
57
+ protected _apiSettings: ApiSettings ;
58
+ readonly model: string ;
59
+ // @internal
60
+ static normalizeModelName(modelName : string , backendType : BackendType ): string ;
61
+ }
62
+
63
+ // @public
64
+ export interface AIOptions {
65
+ backend: Backend ;
66
+ }
67
+
12
68
// @public
13
69
export class ArraySchema extends Schema {
14
70
constructor (schemaParams : SchemaParams , items : TypedSchema );
@@ -18,6 +74,21 @@ export class ArraySchema extends Schema {
18
74
toJSON(): SchemaRequest ;
19
75
}
20
76
77
+ // @public
78
+ export abstract class Backend {
79
+ protected constructor (type : BackendType );
80
+ readonly backendType: BackendType ;
81
+ }
82
+
83
+ // @public
84
+ export const BackendType: {
85
+ readonly VERTEX_AI: " VERTEX_AI" ;
86
+ readonly GOOGLE_AI: " GOOGLE_AI" ;
87
+ };
88
+
89
+ // @public
90
+ export type BackendType = (typeof BackendType )[keyof typeof BackendType ];
91
+
21
92
// @public
22
93
export interface BaseParams {
23
94
// (undocumented)
@@ -41,7 +112,6 @@ export class BooleanSchema extends Schema {
41
112
42
113
// @public
43
114
export class ChatSession {
44
- // Warning: (ae-forgotten-export) The symbol "ApiSettings" needs to be exported by the entry point index.d.ts
45
115
constructor (apiSettings : ApiSettings , model : string , params ? : StartChatParams | undefined , requestOptions ? : RequestOptions | undefined );
46
116
getHistory(): Promise <Content []>;
47
117
// (undocumented)
@@ -60,11 +130,9 @@ export interface Citation {
60
130
endIndex? : number ;
61
131
// (undocumented)
62
132
license? : string ;
63
- // (undocumented)
64
133
publicationDate? : Date_2 ;
65
134
// (undocumented)
66
135
startIndex? : number ;
67
- // (undocumented)
68
136
title? : string ;
69
137
// (undocumented)
70
138
uri? : string ;
@@ -326,8 +394,8 @@ export interface GenerativeContentBlob {
326
394
}
327
395
328
396
// @public
329
- export class GenerativeModel extends VertexAIModel {
330
- constructor (vertexAI : VertexAI , modelParams : ModelParams , requestOptions ? : RequestOptions );
397
+ export class GenerativeModel extends AIModel {
398
+ constructor (ai : AI , modelParams : ModelParams , requestOptions ? : RequestOptions );
331
399
countTokens(request : CountTokensRequest | string | Array <string | Part >): Promise <CountTokensResponse >;
332
400
generateContent(request : GenerateContentRequest | string | Array <string | Part >): Promise <GenerateContentResult >;
333
401
generateContentStream(request : GenerateContentRequest | string | Array <string | Part >): Promise <GenerateContentStreamResult >;
@@ -347,14 +415,76 @@ export class GenerativeModel extends VertexAIModel {
347
415
}
348
416
349
417
// @public
350
- export function getGenerativeModel(vertexAI : VertexAI , modelParams : ModelParams , requestOptions ? : RequestOptions ): GenerativeModel ;
418
+ export function getAI(app ? : FirebaseApp , options ? : AIOptions ): AI ;
419
+
420
+ // @public
421
+ export function getGenerativeModel(ai : AI , modelParams : ModelParams , requestOptions ? : RequestOptions ): GenerativeModel ;
351
422
352
423
// @beta
353
- export function getImagenModel(vertexAI : VertexAI , modelParams : ImagenModelParams , requestOptions ? : RequestOptions ): ImagenModel ;
424
+ export function getImagenModel(ai : AI , modelParams : ImagenModelParams , requestOptions ? : RequestOptions ): ImagenModel ;
354
425
355
426
// @public
356
427
export function getVertexAI(app ? : FirebaseApp , options ? : VertexAIOptions ): VertexAI ;
357
428
429
+ // @public
430
+ export class GoogleAIBackend extends Backend {
431
+ constructor ();
432
+ }
433
+
434
+ // Warning: (ae-internal-missing-underscore) The name "GoogleAICitationMetadata" should be prefixed with an underscore because the declaration is marked as @internal
435
+ //
436
+ // @internal (undocumented)
437
+ export interface GoogleAICitationMetadata {
438
+ // (undocumented)
439
+ citationSources: Citation [];
440
+ }
441
+
442
+ // Warning: (ae-internal-missing-underscore) The name "GoogleAICountTokensRequest" should be prefixed with an underscore because the declaration is marked as @internal
443
+ //
444
+ // @internal (undocumented)
445
+ export interface GoogleAICountTokensRequest {
446
+ // (undocumented)
447
+ generateContentRequest: {
448
+ model: string ;
449
+ contents: Content [];
450
+ systemInstruction? : string | Part | Content ;
451
+ tools? : Tool [];
452
+ generationConfig? : GenerationConfig ;
453
+ };
454
+ }
455
+
456
+ // Warning: (ae-internal-missing-underscore) The name "GoogleAIGenerateContentCandidate" should be prefixed with an underscore because the declaration is marked as @internal
457
+ //
458
+ // @internal (undocumented)
459
+ export interface GoogleAIGenerateContentCandidate {
460
+ // (undocumented)
461
+ citationMetadata? : GoogleAICitationMetadata ;
462
+ // (undocumented)
463
+ content: Content ;
464
+ // (undocumented)
465
+ finishMessage? : string ;
466
+ // (undocumented)
467
+ finishReason? : FinishReason ;
468
+ // (undocumented)
469
+ groundingMetadata? : GroundingMetadata ;
470
+ // (undocumented)
471
+ index: number ;
472
+ // (undocumented)
473
+ safetyRatings? : SafetyRating [];
474
+ }
475
+
476
+ // Warning: (ae-internal-missing-underscore) The name "GoogleAIGenerateContentResponse" should be prefixed with an underscore because the declaration is marked as @internal
477
+ //
478
+ // @internal (undocumented)
479
+ export interface GoogleAIGenerateContentResponse {
480
+ // (undocumented)
481
+ candidates? : GoogleAIGenerateContentCandidate [];
482
+ // (undocumented)
483
+ promptFeedback? : PromptFeedback ;
484
+ // (undocumented)
485
+ usageMetadata? : UsageMetadata ;
486
+ }
487
+
358
488
// @public @deprecated (undocumented)
359
489
export interface GroundingAttribution {
360
490
// (undocumented)
@@ -377,7 +507,7 @@ export interface GroundingMetadata {
377
507
webSearchQueries? : string [];
378
508
}
379
509
380
- // @public (undocumented)
510
+ // @public
381
511
export enum HarmBlockMethod {
382
512
PROBABILITY = " PROBABILITY" ,
383
513
SEVERITY = " SEVERITY"
@@ -416,7 +546,8 @@ export enum HarmSeverity {
416
546
HARM_SEVERITY_HIGH = " HARM_SEVERITY_HIGH" ,
417
547
HARM_SEVERITY_LOW = " HARM_SEVERITY_LOW" ,
418
548
HARM_SEVERITY_MEDIUM = " HARM_SEVERITY_MEDIUM" ,
419
- HARM_SEVERITY_NEGLIGIBLE = " HARM_SEVERITY_NEGLIGIBLE"
549
+ HARM_SEVERITY_NEGLIGIBLE = " HARM_SEVERITY_NEGLIGIBLE" ,
550
+ HARM_SEVERITY_UNSUPPORTED = " HARM_SEVERITY_UNSUPPORTED"
420
551
}
421
552
422
553
// @beta
@@ -464,8 +595,8 @@ export interface ImagenInlineImage {
464
595
}
465
596
466
597
// @beta
467
- export class ImagenModel extends VertexAIModel {
468
- constructor (vertexAI : VertexAI , modelParams : ImagenModelParams , requestOptions ? : RequestOptions | undefined );
598
+ export class ImagenModel extends AIModel {
599
+ constructor (ai : AI , modelParams : ImagenModelParams , requestOptions ? : RequestOptions | undefined );
469
600
generateImages(prompt : string ): Promise <ImagenGenerationResponse <ImagenInlineImage >>;
470
601
// @internal
471
602
generateImagesGCS(prompt : string , gcsURI : string ): Promise <ImagenGenerationResponse <ImagenGCSImage >>;
@@ -587,7 +718,6 @@ export const POSSIBLE_ROLES: readonly ["user", "model", "function", "system"];
587
718
export interface PromptFeedback {
588
719
// (undocumented)
589
720
blockReason? : BlockReason ;
590
- // (undocumented)
591
721
blockReasonMessage? : string ;
592
722
// (undocumented)
593
723
safetyRatings: SafetyRating [];
@@ -627,19 +757,15 @@ export interface SafetyRating {
627
757
category: HarmCategory ;
628
758
// (undocumented)
629
759
probability: HarmProbability ;
630
- // (undocumented)
631
760
probabilityScore: number ;
632
- // (undocumented)
633
761
severity: HarmSeverity ;
634
- // (undocumented)
635
762
severityScore: number ;
636
763
}
637
764
638
765
// @public
639
766
export interface SafetySetting {
640
767
// (undocumented)
641
768
category: HarmCategory ;
642
- // (undocumented)
643
769
method? : HarmBlockMethod ;
644
770
// (undocumented)
645
771
threshold: HarmBlockThreshold ;
@@ -791,46 +917,19 @@ export interface UsageMetadata {
791
917
}
792
918
793
919
// @public
794
- export interface VertexAI {
795
- app: FirebaseApp ;
796
- // (undocumented)
797
- location: string ;
798
- }
920
+ export type VertexAI = AI ;
799
921
800
922
// @public
801
- export class VertexAIError extends FirebaseError {
802
- constructor (code : VertexAIErrorCode , message : string , customErrorData ? : CustomErrorData | undefined );
803
- // (undocumented)
804
- readonly code: VertexAIErrorCode ;
805
- // (undocumented)
806
- readonly customErrorData? : CustomErrorData | undefined ;
923
+ export class VertexAIBackend extends Backend {
924
+ constructor (location ? : string );
925
+ readonly location: string ;
807
926
}
808
927
809
928
// @public
810
- export const enum VertexAIErrorCode {
811
- API_NOT_ENABLED = " api-not-enabled" ,
812
- ERROR = " error" ,
813
- FETCH_ERROR = " fetch-error" ,
814
- INVALID_CONTENT = " invalid-content" ,
815
- INVALID_SCHEMA = " invalid-schema" ,
816
- NO_API_KEY = " no-api-key" ,
817
- NO_APP_ID = " no-app-id" ,
818
- NO_MODEL = " no-model" ,
819
- NO_PROJECT_ID = " no-project-id" ,
820
- PARSE_FAILED = " parse-failed" ,
821
- REQUEST_ERROR = " request-error" ,
822
- RESPONSE_ERROR = " response-error"
823
- }
929
+ export const VertexAIError: typeof AIError ;
824
930
825
931
// @public
826
- export abstract class VertexAIModel {
827
- // @internal
828
- protected constructor (vertexAI : VertexAI , modelName : string );
829
- // @internal (undocumented)
830
- protected _apiSettings: ApiSettings ;
831
- readonly model: string ;
832
- static normalizeModelName(modelName : string ): string ;
833
- }
932
+ export const VertexAIModel: typeof AIModel ;
834
933
835
934
// @public
836
935
export interface VertexAIOptions {
0 commit comments