diff --git a/common/api-review/ai.api.md b/common/api-review/ai.api.md
index 97d25b9e03..76e0b48dda 100644
--- a/common/api-review/ai.api.md
+++ b/common/api-review/ai.api.md
@@ -667,7 +667,7 @@ export class IntegerSchema extends Schema {
// @public (undocumented)
export interface LanguageModelCreateCoreOptions {
// (undocumented)
- expectedInputs?: LanguageModelExpectedInput[];
+ expectedInputs?: LanguageModelExpected[];
// (undocumented)
temperature?: number;
// (undocumented)
@@ -677,24 +677,19 @@ export interface LanguageModelCreateCoreOptions {
// @public (undocumented)
export interface LanguageModelCreateOptions extends LanguageModelCreateCoreOptions {
// (undocumented)
- initialPrompts?: LanguageModelInitialPrompts;
+ initialPrompts?: LanguageModelMessage[];
// (undocumented)
signal?: AbortSignal;
- // (undocumented)
- systemPrompt?: string;
}
// @public (undocumented)
-export interface LanguageModelExpectedInput {
+export interface LanguageModelExpected {
// (undocumented)
languages?: string[];
// (undocumented)
type: LanguageModelMessageType;
}
-// @public (undocumented)
-export type LanguageModelInitialPrompts = LanguageModelMessage[] | LanguageModelMessageShorthand[];
-
// @public (undocumented)
export interface LanguageModelMessage {
// (undocumented)
@@ -717,14 +712,6 @@ export type LanguageModelMessageContentValue = ImageBitmapSource | AudioBuffer |
// @public (undocumented)
export type LanguageModelMessageRole = 'system' | 'user' | 'assistant';
-// @public (undocumented)
-export interface LanguageModelMessageShorthand {
- // (undocumented)
- content: string;
- // (undocumented)
- role: LanguageModelMessageRole;
-}
-
// @public (undocumented)
export type LanguageModelMessageType = 'text' | 'image' | 'audio';
diff --git a/docs-devsite/_toc.yaml b/docs-devsite/_toc.yaml
index e8359727cd..621c6af9e9 100644
--- a/docs-devsite/_toc.yaml
+++ b/docs-devsite/_toc.yaml
@@ -106,14 +106,12 @@ toc:
path: /docs/reference/js/ai.languagemodelcreatecoreoptions.md
- title: LanguageModelCreateOptions
path: /docs/reference/js/ai.languagemodelcreateoptions.md
- - title: LanguageModelExpectedInput
- path: /docs/reference/js/ai.languagemodelexpectedinput.md
+ - title: LanguageModelExpected
+ path: /docs/reference/js/ai.languagemodelexpected.md
- title: LanguageModelMessage
path: /docs/reference/js/ai.languagemodelmessage.md
- title: LanguageModelMessageContent
path: /docs/reference/js/ai.languagemodelmessagecontent.md
- - title: LanguageModelMessageShorthand
- path: /docs/reference/js/ai.languagemodelmessageshorthand.md
- title: ModalityTokenCount
path: /docs/reference/js/ai.modalitytokencount.md
- title: ModelParams
diff --git a/docs-devsite/ai.languagemodelcreatecoreoptions.md b/docs-devsite/ai.languagemodelcreatecoreoptions.md
index 2c9f61b149..45c2e7f5db 100644
--- a/docs-devsite/ai.languagemodelcreatecoreoptions.md
+++ b/docs-devsite/ai.languagemodelcreatecoreoptions.md
@@ -20,7 +20,7 @@ export interface LanguageModelCreateCoreOptions
| Property | Type | Description |
| --- | --- | --- |
-| [expectedInputs](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptionsexpectedinputs) | [LanguageModelExpectedInput](./ai.languagemodelexpectedinput.md#languagemodelexpectedinput_interface)\[\] | |
+| [expectedInputs](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptionsexpectedinputs) | [LanguageModelExpected](./ai.languagemodelexpected.md#languagemodelexpected_interface)\[\] | |
| [temperature](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptionstemperature) | number | |
| [topK](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptionstopk) | number | |
@@ -29,7 +29,7 @@ export interface LanguageModelCreateCoreOptions
Signature:
```typescript
-expectedInputs?: LanguageModelExpectedInput[];
+expectedInputs?: LanguageModelExpected[];
```
## LanguageModelCreateCoreOptions.temperature
diff --git a/docs-devsite/ai.languagemodelcreateoptions.md b/docs-devsite/ai.languagemodelcreateoptions.md
index 44edcf7e22..417519a54b 100644
--- a/docs-devsite/ai.languagemodelcreateoptions.md
+++ b/docs-devsite/ai.languagemodelcreateoptions.md
@@ -21,16 +21,15 @@ export interface LanguageModelCreateOptions extends LanguageModelCreateCoreOptio
| Property | Type | Description |
| --- | --- | --- |
-| [initialPrompts](./ai.languagemodelcreateoptions.md#languagemodelcreateoptionsinitialprompts) | [LanguageModelInitialPrompts](./ai.md#languagemodelinitialprompts) | |
+| [initialPrompts](./ai.languagemodelcreateoptions.md#languagemodelcreateoptionsinitialprompts) | [LanguageModelMessage](./ai.languagemodelmessage.md#languagemodelmessage_interface)\[\] | |
| [signal](./ai.languagemodelcreateoptions.md#languagemodelcreateoptionssignal) | AbortSignal | |
-| [systemPrompt](./ai.languagemodelcreateoptions.md#languagemodelcreateoptionssystemprompt) | string | |
## LanguageModelCreateOptions.initialPrompts
Signature:
```typescript
-initialPrompts?: LanguageModelInitialPrompts;
+initialPrompts?: LanguageModelMessage[];
```
## LanguageModelCreateOptions.signal
@@ -40,11 +39,3 @@ initialPrompts?: LanguageModelInitialPrompts;
```typescript
signal?: AbortSignal;
```
-
-## LanguageModelCreateOptions.systemPrompt
-
-Signature:
-
-```typescript
-systemPrompt?: string;
-```
diff --git a/docs-devsite/ai.languagemodelexpectedinput.md b/docs-devsite/ai.languagemodelexpected.md
similarity index 57%
rename from docs-devsite/ai.languagemodelexpectedinput.md
rename to docs-devsite/ai.languagemodelexpected.md
index d6cbe028fc..26ed28b741 100644
--- a/docs-devsite/ai.languagemodelexpectedinput.md
+++ b/docs-devsite/ai.languagemodelexpected.md
@@ -9,21 +9,21 @@ overwritten. Changes should be made in the source code at
https://github.com/firebase/firebase-js-sdk
{% endcomment %}
-# LanguageModelExpectedInput interface
+# LanguageModelExpected interface
Signature:
```typescript
-export interface LanguageModelExpectedInput
+export interface LanguageModelExpected
```
## Properties
| Property | Type | Description |
| --- | --- | --- |
-| [languages](./ai.languagemodelexpectedinput.md#languagemodelexpectedinputlanguages) | string\[\] | |
-| [type](./ai.languagemodelexpectedinput.md#languagemodelexpectedinputtype) | [LanguageModelMessageType](./ai.md#languagemodelmessagetype) | |
+| [languages](./ai.languagemodelexpected.md#languagemodelexpectedlanguages) | string\[\] | |
+| [type](./ai.languagemodelexpected.md#languagemodelexpectedtype) | [LanguageModelMessageType](./ai.md#languagemodelmessagetype) | |
-## LanguageModelExpectedInput.languages
+## LanguageModelExpected.languages
Signature:
@@ -31,7 +31,7 @@ export interface LanguageModelExpectedInput
languages?: string[];
```
-## LanguageModelExpectedInput.type
+## LanguageModelExpected.type
Signature:
diff --git a/docs-devsite/ai.languagemodelmessagecontent.md b/docs-devsite/ai.languagemodelmessagecontent.md
index 06830ace27..40b4cc16bc 100644
--- a/docs-devsite/ai.languagemodelmessagecontent.md
+++ b/docs-devsite/ai.languagemodelmessagecontent.md
@@ -20,21 +20,21 @@ export interface LanguageModelMessageContent
| Property | Type | Description |
| --- | --- | --- |
-| [content](./ai.languagemodelmessagecontent.md#languagemodelmessagecontentcontent) | [LanguageModelMessageContentValue](./ai.md#languagemodelmessagecontentvalue) | |
| [type](./ai.languagemodelmessagecontent.md#languagemodelmessagecontenttype) | [LanguageModelMessageType](./ai.md#languagemodelmessagetype) | |
+| [value](./ai.languagemodelmessagecontent.md#languagemodelmessagecontentvalue) | [LanguageModelMessageContentValue](./ai.md#languagemodelmessagecontentvalue) | |
-## LanguageModelMessageContent.content
+## LanguageModelMessageContent.type
Signature:
```typescript
-content: LanguageModelMessageContentValue;
+type: LanguageModelMessageType;
```
-## LanguageModelMessageContent.type
+## LanguageModelMessageContent.value
Signature:
```typescript
-type: LanguageModelMessageType;
+value: LanguageModelMessageContentValue;
```
diff --git a/docs-devsite/ai.languagemodelmessageshorthand.md b/docs-devsite/ai.languagemodelmessageshorthand.md
deleted file mode 100644
index bf821b31d5..0000000000
--- a/docs-devsite/ai.languagemodelmessageshorthand.md
+++ /dev/null
@@ -1,40 +0,0 @@
-Project: /docs/reference/js/_project.yaml
-Book: /docs/reference/_book.yaml
-page_type: reference
-
-{% comment %}
-DO NOT EDIT THIS FILE!
-This is generated by the JS SDK team, and any local changes will be
-overwritten. Changes should be made in the source code at
-https://github.com/firebase/firebase-js-sdk
-{% endcomment %}
-
-# LanguageModelMessageShorthand interface
-Signature:
-
-```typescript
-export interface LanguageModelMessageShorthand
-```
-
-## Properties
-
-| Property | Type | Description |
-| --- | --- | --- |
-| [content](./ai.languagemodelmessageshorthand.md#languagemodelmessageshorthandcontent) | string | |
-| [role](./ai.languagemodelmessageshorthand.md#languagemodelmessageshorthandrole) | [LanguageModelMessageRole](./ai.md#languagemodelmessagerole) | |
-
-## LanguageModelMessageShorthand.content
-
-Signature:
-
-```typescript
-content: string;
-```
-
-## LanguageModelMessageShorthand.role
-
-Signature:
-
-```typescript
-role: LanguageModelMessageRole;
-```
diff --git a/docs-devsite/ai.md b/docs-devsite/ai.md
index 699d3a83cd..b087d7037e 100644
--- a/docs-devsite/ai.md
+++ b/docs-devsite/ai.md
@@ -107,10 +107,9 @@ The Firebase AI Web SDK.
| [InlineDataPart](./ai.inlinedatapart.md#inlinedatapart_interface) | Content part interface if the part represents an image. |
| [LanguageModelCreateCoreOptions](./ai.languagemodelcreatecoreoptions.md#languagemodelcreatecoreoptions_interface) | |
| [LanguageModelCreateOptions](./ai.languagemodelcreateoptions.md#languagemodelcreateoptions_interface) | |
-| [LanguageModelExpectedInput](./ai.languagemodelexpectedinput.md#languagemodelexpectedinput_interface) | |
+| [LanguageModelExpected](./ai.languagemodelexpected.md#languagemodelexpected_interface) | |
| [LanguageModelMessage](./ai.languagemodelmessage.md#languagemodelmessage_interface) | |
| [LanguageModelMessageContent](./ai.languagemodelmessagecontent.md#languagemodelmessagecontent_interface) | |
-| [LanguageModelMessageShorthand](./ai.languagemodelmessageshorthand.md#languagemodelmessageshorthand_interface) | |
| [ModalityTokenCount](./ai.modalitytokencount.md#modalitytokencount_interface) | Represents token counting info for a single modality. |
| [ModelParams](./ai.modelparams.md#modelparams_interface) | Params passed to [getGenerativeModel()](./ai.md#getgenerativemodel_c63f46a). |
| [ObjectSchemaInterface](./ai.objectschemainterface.md#objectschemainterface_interface) | Interface for [ObjectSchema](./ai.objectschema.md#objectschema_class) class. |
@@ -149,7 +148,6 @@ The Firebase AI Web SDK.
| --- | --- |
| [BackendType](./ai.md#backendtype) | Type alias representing valid backend types. It can be either 'VERTEX_AI' or 'GOOGLE_AI'. |
| [InferenceMode](./ai.md#inferencemode) | Determines whether inference happens on-device or in-cloud. |
-| [LanguageModelInitialPrompts](./ai.md#languagemodelinitialprompts) | |
| [LanguageModelMessageContentValue](./ai.md#languagemodelmessagecontentvalue) | |
| [LanguageModelMessageRole](./ai.md#languagemodelmessagerole) | |
| [LanguageModelMessageType](./ai.md#languagemodelmessagetype) | |
@@ -383,14 +381,6 @@ Determines whether inference happens on-device or in-cloud.
export type InferenceMode = 'prefer_on_device' | 'only_on_device' | 'only_in_cloud';
```
-## LanguageModelInitialPrompts
-
-Signature:
-
-```typescript
-export type LanguageModelInitialPrompts = LanguageModelMessage[] | LanguageModelMessageShorthand[];
-```
-
## LanguageModelMessageContentValue
Signature:
diff --git a/packages/ai/src/types/index.ts b/packages/ai/src/types/index.ts
index 698f15b8ae..bd13140566 100644
--- a/packages/ai/src/types/index.ts
+++ b/packages/ai/src/types/index.ts
@@ -26,12 +26,10 @@ export * from './googleai';
export {
LanguageModelCreateOptions,
LanguageModelCreateCoreOptions,
- LanguageModelExpectedInput,
- LanguageModelInitialPrompts,
+ LanguageModelExpected,
LanguageModelMessage,
LanguageModelMessageContent,
LanguageModelMessageContentValue,
LanguageModelMessageRole,
- LanguageModelMessageShorthand,
LanguageModelMessageType
} from './language-model';
diff --git a/packages/ai/src/types/language-model.ts b/packages/ai/src/types/language-model.ts
index 503f3d49d0..83a728dc3b 100644
--- a/packages/ai/src/types/language-model.ts
+++ b/packages/ai/src/types/language-model.ts
@@ -15,7 +15,9 @@
* limitations under the License.
*/
/**
- * {@see https://github.com/webmachinelearning/prompt-api#full-api-surface-in-web-idl}
+ * The subset of the Prompt API
+ * ({@see https://github.com/webmachinelearning/prompt-api#full-api-surface-in-web-idl})
+ * required for hybrid functionality.
*/
export interface LanguageModel extends EventTarget {
create(options?: LanguageModelCreateOptions): Promise;
@@ -43,37 +45,26 @@ export enum Availability {
export interface LanguageModelCreateCoreOptions {
topK?: number;
temperature?: number;
- expectedInputs?: LanguageModelExpectedInput[];
+ expectedInputs?: LanguageModelExpected[];
}
export interface LanguageModelCreateOptions
extends LanguageModelCreateCoreOptions {
signal?: AbortSignal;
- systemPrompt?: string;
- initialPrompts?: LanguageModelInitialPrompts;
+ initialPrompts?: LanguageModelMessage[];
}
export interface LanguageModelPromptOptions {
responseConstraint?: object;
// TODO: Restore AbortSignal once the API is defined.
}
-export interface LanguageModelExpectedInput {
+export interface LanguageModelExpected {
type: LanguageModelMessageType;
languages?: string[];
}
-export type LanguageModelPrompt =
- | LanguageModelMessage[]
- | LanguageModelMessageShorthand[]
- | string;
-export type LanguageModelInitialPrompts =
- | LanguageModelMessage[]
- | LanguageModelMessageShorthand[];
+export type LanguageModelPrompt = LanguageModelMessage[];
export interface LanguageModelMessage {
role: LanguageModelMessageRole;
content: LanguageModelMessageContent[];
}
-export interface LanguageModelMessageShorthand {
- role: LanguageModelMessageRole;
- content: string;
-}
export interface LanguageModelMessageContent {
type: LanguageModelMessageType;
value: LanguageModelMessageContentValue;