diff options
| author | altaf-creator <dev@altafcreator.com> | 2025-11-16 19:08:29 +0800 |
|---|---|---|
| committer | altaf-creator <dev@altafcreator.com> | 2025-11-16 19:08:29 +0800 |
| commit | 434aa8343fdcbb4d5002f934979913c099489bee (patch) | |
| tree | 55bab4ec5a6151be57797d34f61faf5ea744471b /frontend-old/node_modules/@firebase/ai/dist/src | |
| parent | 893c388d4e99442a36005e5971a87730623f946e (diff) | |
sdk, del
Diffstat (limited to 'frontend-old/node_modules/@firebase/ai/dist/src')
49 files changed, 0 insertions, 4663 deletions
diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/api.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/api.d.ts deleted file mode 100644 index 491268b..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/api.d.ts +++ /dev/null @@ -1,99 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { FirebaseApp } from '@firebase/app'; -import { AI_TYPE } from './constants'; -import { AIService } from './service'; -import { AI, AIOptions } from './public-types'; -import { ImagenModelParams, HybridParams, ModelParams, RequestOptions, LiveModelParams } from './types'; -import { AIError } from './errors'; -import { AIModel, GenerativeModel, LiveGenerativeModel, ImagenModel } from './models'; -export { ChatSession } from './methods/chat-session'; -export { LiveSession } from './methods/live-session'; -export * from './requests/schema-builder'; -export { ImagenImageFormat } from './requests/imagen-image-format'; -export { AIModel, GenerativeModel, LiveGenerativeModel, ImagenModel, AIError }; -export { Backend, VertexAIBackend, GoogleAIBackend } from './backend'; -export { startAudioConversation, AudioConversationController, StartAudioConversationOptions } from './methods/live-session-helpers'; -declare module '@firebase/component' { - interface NameServiceMapping { - [AI_TYPE]: AIService; - } -} -/** - * Returns the default {@link AI} instance that is associated with the provided - * {@link @firebase/app#FirebaseApp}. If no instance exists, initializes a new instance with the - * default settings. - * - * @example - * ```javascript - * const ai = getAI(app); - * ``` - * - * @example - * ```javascript - * // Get an AI instance configured to use the Gemini Developer API (via Google AI). - * const ai = getAI(app, { backend: new GoogleAIBackend() }); - * ``` - * - * @example - * ```javascript - * // Get an AI instance configured to use the Vertex AI Gemini API. - * const ai = getAI(app, { backend: new VertexAIBackend() }); - * ``` - * - * @param app - The {@link @firebase/app#FirebaseApp} to use. - * @param options - {@link AIOptions} that configure the AI instance. - * @returns The default {@link AI} instance for the given {@link @firebase/app#FirebaseApp}. - * - * @public - */ -export declare function getAI(app?: FirebaseApp, options?: AIOptions): AI; -/** - * Returns a {@link GenerativeModel} class with methods for inference - * and other functionality. - * - * @public - */ -export declare function getGenerativeModel(ai: AI, modelParams: ModelParams | HybridParams, requestOptions?: RequestOptions): GenerativeModel; -/** - * Returns an {@link ImagenModel} class with methods for using Imagen. - * - * Only Imagen 3 models (named `imagen-3.0-*`) are supported. - * - * @param ai - An {@link AI} instance. - * @param modelParams - Parameters to use when making Imagen requests. - * @param requestOptions - Additional options to use when making requests. - * - * @throws If the `apiKey` or `projectId` fields are missing in your - * Firebase config. - * - * @public - */ -export declare function getImagenModel(ai: AI, modelParams: ImagenModelParams, requestOptions?: RequestOptions): ImagenModel; -/** - * Returns a {@link LiveGenerativeModel} class for real-time, bidirectional communication. - * - * The Live API is only supported in modern browser windows and Node >= 22. - * - * @param ai - An {@link AI} instance. - * @param modelParams - Parameters to use when setting up a {@link LiveSession}. - * @throws If the `apiKey` or `projectId` fields are missing in your - * Firebase config. - * - * @beta - */ -export declare function getLiveGenerativeModel(ai: AI, modelParams: LiveModelParams): LiveGenerativeModel; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/backend.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/backend.d.ts deleted file mode 100644 index 2a1e9e6..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/backend.d.ts +++ /dev/null @@ -1,74 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { BackendType } from './public-types'; -/** - * Abstract base class representing the configuration for an AI service backend. - * This class should not be instantiated directly. Use its subclasses; {@link GoogleAIBackend} for - * the Gemini Developer API (via {@link https://ai.google/ | Google AI}), and - * {@link VertexAIBackend} for the Vertex AI Gemini API. - * - * @public - */ -export declare abstract class Backend { - /** - * Specifies the backend type. - */ - readonly backendType: BackendType; - /** - * Protected constructor for use by subclasses. - * @param type - The backend type. - */ - protected constructor(type: BackendType); -} -/** - * Configuration class for the Gemini Developer API. - * - * Use this with {@link AIOptions} when initializing the AI service via - * {@link getAI | getAI()} to specify the Gemini Developer API as the backend. - * - * @public - */ -export declare class GoogleAIBackend extends Backend { - /** - * Creates a configuration object for the Gemini Developer API backend. - */ - constructor(); -} -/** - * Configuration class for the Vertex AI Gemini API. - * - * Use this with {@link AIOptions} when initializing the AI service via - * {@link getAI | getAI()} to specify the Vertex AI Gemini API as the backend. - * - * @public - */ -export declare class VertexAIBackend extends Backend { - /** - * The region identifier. - * See {@link https://firebase.google.com/docs/vertex-ai/locations#available-locations | Vertex AI locations} - * for a list of supported locations. - */ - readonly location: string; - /** - * Creates a configuration object for the Vertex AI backend. - * - * @param location - The region identifier, defaulting to `us-central1`; - * see {@link https://firebase.google.com/docs/vertex-ai/locations#available-locations | Vertex AI locations} - * for a list of supported locations. - */ - constructor(location?: string); -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/constants.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/constants.d.ts deleted file mode 100644 index 9d89d40..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/constants.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -export declare const AI_TYPE = "AI"; -export declare const DEFAULT_LOCATION = "us-central1"; -export declare const DEFAULT_DOMAIN = "firebasevertexai.googleapis.com"; -export declare const DEFAULT_API_VERSION = "v1beta"; -export declare const PACKAGE_VERSION: string; -export declare const LANGUAGE_TAG = "gl-js"; -export declare const DEFAULT_FETCH_TIMEOUT_MS: number; -/** - * Defines the name of the default in-cloud model to use for hybrid inference. - */ -export declare const DEFAULT_HYBRID_IN_CLOUD_MODEL = "gemini-2.0-flash-lite"; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/errors.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/errors.d.ts deleted file mode 100644 index cb0a0fe..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/errors.d.ts +++ /dev/null @@ -1,35 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { FirebaseError } from '@firebase/util'; -import { AIErrorCode, CustomErrorData } from './types'; -/** - * Error class for the Firebase AI SDK. - * - * @public - */ -export declare class AIError extends FirebaseError { - readonly code: AIErrorCode; - readonly customErrorData?: CustomErrorData | undefined; - /** - * Constructs a new instance of the `AIError` class. - * - * @param code - The error code from {@link (AIErrorCode:type)}. - * @param message - A human-readable message describing the error. - * @param customErrorData - Optional error data. - */ - constructor(code: AIErrorCode, message: string, customErrorData?: CustomErrorData | undefined); -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/factory-browser.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/factory-browser.d.ts deleted file mode 100644 index 4dd134a..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/factory-browser.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { ComponentContainer, InstanceFactoryOptions } from '@firebase/component'; -import { AIService } from './service'; -export declare function factory(container: ComponentContainer, { instanceIdentifier }: InstanceFactoryOptions): AIService; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/googleai-mappers.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/googleai-mappers.d.ts deleted file mode 100644 index ae6a19d..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/googleai-mappers.d.ts +++ /dev/null @@ -1,73 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { CountTokensRequest, GenerateContentCandidate, GenerateContentRequest, GenerateContentResponse, PromptFeedback } from './types'; -import { GoogleAIGenerateContentResponse, GoogleAIGenerateContentCandidate, GoogleAICountTokensRequest } from './types/googleai'; -/** - * This SDK supports both the Vertex AI Gemini API and the Gemini Developer API (using Google AI). - * The public API prioritizes the format used by the Vertex AI Gemini API. - * We avoid having two sets of types by translating requests and responses between the two API formats. - * This translation allows developers to switch between the Vertex AI Gemini API and the Gemini Developer API - * with minimal code changes. - * - * In here are functions that map requests and responses between the two API formats. - * Requests in the Vertex AI format are mapped to the Google AI format before being sent. - * Responses from the Google AI backend are mapped back to the Vertex AI format before being returned to the user. - */ -/** - * Maps a Vertex AI {@link GenerateContentRequest} to a format that can be sent to Google AI. - * - * @param generateContentRequest The {@link GenerateContentRequest} to map. - * @returns A {@link GenerateContentResponse} that conforms to the Google AI format. - * - * @throws If the request contains properties that are unsupported by Google AI. - * - * @internal - */ -export declare function mapGenerateContentRequest(generateContentRequest: GenerateContentRequest): GenerateContentRequest; -/** - * Maps a {@link GenerateContentResponse} from Google AI to the format of the - * {@link GenerateContentResponse} that we get from VertexAI that is exposed in the public API. - * - * @param googleAIResponse The {@link GenerateContentResponse} from Google AI. - * @returns A {@link GenerateContentResponse} that conforms to the public API's format. - * - * @internal - */ -export declare function mapGenerateContentResponse(googleAIResponse: GoogleAIGenerateContentResponse): GenerateContentResponse; -/** - * Maps a Vertex AI {@link CountTokensRequest} to a format that can be sent to Google AI. - * - * @param countTokensRequest The {@link CountTokensRequest} to map. - * @param model The model to count tokens with. - * @returns A {@link CountTokensRequest} that conforms to the Google AI format. - * - * @internal - */ -export declare function mapCountTokensRequest(countTokensRequest: CountTokensRequest, model: string): GoogleAICountTokensRequest; -/** - * Maps a Google AI {@link GoogleAIGenerateContentCandidate} to a format that conforms - * to the Vertex AI API format. - * - * @param candidates The {@link GoogleAIGenerateContentCandidate} to map. - * @returns A {@link GenerateContentCandidate} that conforms to the Vertex AI format. - * - * @throws If any {@link Part} in the candidates has a `videoMetadata` property. - * - * @internal - */ -export declare function mapGenerateContentCandidates(candidates: GoogleAIGenerateContentCandidate[]): GenerateContentCandidate[]; -export declare function mapPromptFeedback(promptFeedback: PromptFeedback): PromptFeedback; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/helpers.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/helpers.d.ts deleted file mode 100644 index 705ffec..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/helpers.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { Backend } from './backend'; -/** - * Encodes a {@link Backend} into a string that will be used to uniquely identify {@link AI} - * instances by backend type. - * - * @internal - */ -export declare function encodeInstanceIdentifier(backend: Backend): string; -/** - * Decodes an instance identifier string into a {@link Backend}. - * - * @internal - */ -export declare function decodeInstanceIdentifier(instanceIdentifier: string): Backend; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/index.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/index.d.ts deleted file mode 100644 index a377500..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/index.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -/** - * The Firebase AI Web SDK. - * - * @packageDocumentation - */ -import { LanguageModel } from './types/language-model'; -declare global { - interface Window { - LanguageModel: LanguageModel; - } -} -export * from './api'; -export * from './public-types'; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/index.node.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/index.node.d.ts deleted file mode 100644 index e96f4c5..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/index.node.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * The Firebase AI Web SDK. - * - * @packageDocumentation - */ -export * from './api'; -export * from './public-types'; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/logger.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/logger.d.ts deleted file mode 100644 index 5991ed1..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/logger.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { Logger } from '@firebase/logger'; -export declare const logger: Logger; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/methods/chat-session-helpers.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/methods/chat-session-helpers.d.ts deleted file mode 100644 index 65e4eef..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/methods/chat-session-helpers.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { Content } from '../types'; -export declare function validateChatHistory(history: Content[]): void; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/methods/chat-session.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/methods/chat-session.d.ts deleted file mode 100644 index 2f2557a..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/methods/chat-session.d.ts +++ /dev/null @@ -1,52 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { Content, GenerateContentResult, GenerateContentStreamResult, Part, RequestOptions, StartChatParams } from '../types'; -import { ApiSettings } from '../types/internal'; -import { ChromeAdapter } from '../types/chrome-adapter'; -/** - * ChatSession class that enables sending chat messages and stores - * history of sent and received messages so far. - * - * @public - */ -export declare class ChatSession { - model: string; - private chromeAdapter?; - params?: StartChatParams | undefined; - requestOptions?: RequestOptions | undefined; - private _apiSettings; - private _history; - private _sendPromise; - constructor(apiSettings: ApiSettings, model: string, chromeAdapter?: ChromeAdapter | undefined, params?: StartChatParams | undefined, requestOptions?: RequestOptions | undefined); - /** - * Gets the chat history so far. Blocked prompts are not added to history. - * Neither blocked candidates nor the prompts that generated them are added - * to history. - */ - getHistory(): Promise<Content[]>; - /** - * Sends a chat message and receives a non-streaming - * {@link GenerateContentResult} - */ - sendMessage(request: string | Array<string | Part>): Promise<GenerateContentResult>; - /** - * Sends a chat message and receives the response as a - * {@link GenerateContentStreamResult} containing an iterable stream - * and a response promise. - */ - sendMessageStream(request: string | Array<string | Part>): Promise<GenerateContentStreamResult>; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/methods/chrome-adapter.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/methods/chrome-adapter.d.ts deleted file mode 100644 index 5bd0a99..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/methods/chrome-adapter.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { CountTokensRequest, GenerateContentRequest, InferenceMode, OnDeviceParams } from '../types'; -import { ChromeAdapter } from '../types/chrome-adapter'; -import { LanguageModel } from '../types/language-model'; -/** - * Defines an inference "backend" that uses Chrome's on-device model, - * and encapsulates logic for detecting when on-device inference is - * possible. - */ -export declare class ChromeAdapterImpl implements ChromeAdapter { - languageModelProvider: LanguageModel; - mode: InferenceMode; - static SUPPORTED_MIME_TYPES: string[]; - private isDownloading; - private downloadPromise; - private oldSession; - onDeviceParams: OnDeviceParams; - constructor(languageModelProvider: LanguageModel, mode: InferenceMode, onDeviceParams?: OnDeviceParams); - /** - * Checks if a given request can be made on-device. - * - * Encapsulates a few concerns: - * the mode - * API existence - * prompt formatting - * model availability, including triggering download if necessary - * - * - * Pros: callers needn't be concerned with details of on-device availability.</p> - * Cons: this method spans a few concerns and splits request validation from usage. - * If instance variables weren't already part of the API, we could consider a better - * separation of concerns. - */ - isAvailable(request: GenerateContentRequest): Promise<boolean>; - /** - * Generates content on device. - * - * @remarks - * This is comparable to {@link GenerativeModel.generateContent} for generating content in - * Cloud. - * @param request - a standard Firebase AI {@link GenerateContentRequest} - * @returns {@link Response}, so we can reuse common response formatting. - */ - generateContent(request: GenerateContentRequest): Promise<Response>; - /** - * Generates content stream on device. - * - * @remarks - * This is comparable to {@link GenerativeModel.generateContentStream} for generating content in - * Cloud. - * @param request - a standard Firebase AI {@link GenerateContentRequest} - * @returns {@link Response}, so we can reuse common response formatting. - */ - generateContentStream(request: GenerateContentRequest): Promise<Response>; - countTokens(_request: CountTokensRequest): Promise<Response>; - /** - * Asserts inference for the given request can be performed by an on-device model. - */ - private static isOnDeviceRequest; - /** - * Encapsulates logic to get availability and download a model if one is downloadable. - */ - private downloadIfAvailable; - /** - * Triggers out-of-band download of an on-device model. - * - * Chrome only downloads models as needed. Chrome knows a model is needed when code calls - * LanguageModel.create. - * - * Since Chrome manages the download, the SDK can only avoid redundant download requests by - * tracking if a download has previously been requested. - */ - private download; - /** - * Converts Firebase AI {@link Content} object to a Chrome {@link LanguageModelMessage} object. - */ - private static toLanguageModelMessage; - /** - * Converts a Firebase AI Part object to a Chrome LanguageModelMessageContent object. - */ - private static toLanguageModelMessageContent; - /** - * Converts a Firebase AI {@link Role} string to a {@link LanguageModelMessageRole} string. - */ - private static toLanguageModelMessageRole; - /** - * Abstracts Chrome session creation. - * - * Chrome uses a multi-turn session for all inference. Firebase AI uses single-turn for all - * inference. To map the Firebase AI API to Chrome's API, the SDK creates a new session for all - * inference. - * - * Chrome will remove a model from memory if it's no longer in use, so this method ensures a - * new session is created before an old session is destroyed. - */ - private createSession; - /** - * Formats string returned by Chrome as a {@link Response} returned by Firebase AI. - */ - private static toResponse; - /** - * Formats string stream returned by Chrome as SSE returned by Firebase AI. - */ - private static toStreamResponse; -} -/** - * Creates a ChromeAdapterImpl on demand. - */ -export declare function chromeAdapterFactory(mode: InferenceMode, window?: Window, params?: OnDeviceParams): ChromeAdapterImpl | undefined; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/methods/count-tokens.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/methods/count-tokens.d.ts deleted file mode 100644 index 9f94f86..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/methods/count-tokens.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { CountTokensRequest, CountTokensResponse, RequestOptions } from '../types'; -import { ApiSettings } from '../types/internal'; -import { ChromeAdapter } from '../types/chrome-adapter'; -export declare function countTokensOnCloud(apiSettings: ApiSettings, model: string, params: CountTokensRequest, requestOptions?: RequestOptions): Promise<CountTokensResponse>; -export declare function countTokens(apiSettings: ApiSettings, model: string, params: CountTokensRequest, chromeAdapter?: ChromeAdapter, requestOptions?: RequestOptions): Promise<CountTokensResponse>; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/methods/generate-content.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/methods/generate-content.d.ts deleted file mode 100644 index 96493bd..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/methods/generate-content.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { GenerateContentRequest, GenerateContentResult, GenerateContentStreamResult, RequestOptions } from '../types'; -import { ApiSettings } from '../types/internal'; -import { ChromeAdapter } from '../types/chrome-adapter'; -export declare function generateContentStream(apiSettings: ApiSettings, model: string, params: GenerateContentRequest, chromeAdapter?: ChromeAdapter, requestOptions?: RequestOptions): Promise<GenerateContentStreamResult>; -export declare function generateContent(apiSettings: ApiSettings, model: string, params: GenerateContentRequest, chromeAdapter?: ChromeAdapter, requestOptions?: RequestOptions): Promise<GenerateContentResult>; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/methods/live-session-helpers.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/methods/live-session-helpers.d.ts deleted file mode 100644 index c6f8dea..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/methods/live-session-helpers.d.ts +++ /dev/null @@ -1,154 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { FunctionCall, FunctionResponse } from '../types'; -import { LiveSession } from './live-session'; -/** - * A controller for managing an active audio conversation. - * - * @beta - */ -export interface AudioConversationController { - /** - * Stops the audio conversation, closes the microphone connection, and - * cleans up resources. Returns a promise that resolves when cleanup is complete. - */ - stop: () => Promise<void>; -} -/** - * Options for {@link startAudioConversation}. - * - * @beta - */ -export interface StartAudioConversationOptions { - /** - * An async handler that is called when the model requests a function to be executed. - * The handler should perform the function call and return the result as a `Part`, - * which will then be sent back to the model. - */ - functionCallingHandler?: (functionCalls: FunctionCall[]) => Promise<FunctionResponse>; -} -/** - * Dependencies needed by the {@link AudioConversationRunner}. - * - * @internal - */ -interface RunnerDependencies { - audioContext: AudioContext; - mediaStream: MediaStream; - sourceNode: MediaStreamAudioSourceNode; - workletNode: AudioWorkletNode; -} -/** - * Encapsulates the core logic of an audio conversation. - * - * @internal - */ -export declare class AudioConversationRunner { - private readonly liveSession; - private readonly options; - private readonly deps; - /** A flag to indicate if the conversation has been stopped. */ - private isStopped; - /** A deferred that contains a promise that is resolved when stop() is called, to unblock the receive loop. */ - private readonly stopDeferred; - /** A promise that tracks the lifecycle of the main `runReceiveLoop`. */ - private readonly receiveLoopPromise; - /** A FIFO queue of 24kHz, 16-bit PCM audio chunks received from the server. */ - private readonly playbackQueue; - /** Tracks scheduled audio sources. Used to cancel scheduled audio when the model is interrupted. */ - private scheduledSources; - /** A high-precision timeline pointer for scheduling gapless audio playback. */ - private nextStartTime; - /** A mutex to prevent the playback processing loop from running multiple times concurrently. */ - private isPlaybackLoopRunning; - constructor(liveSession: LiveSession, options: StartAudioConversationOptions, deps: RunnerDependencies); - /** - * Stops the conversation and unblocks the main receive loop. - */ - stop(): Promise<void>; - /** - * Cleans up all audio resources (nodes, stream tracks, context) and marks the - * session as no longer in a conversation. - */ - private cleanup; - /** - * Adds audio data to the queue and ensures the playback loop is running. - */ - private enqueueAndPlay; - /** - * Stops all current and pending audio playback and clears the queue. This is - * called when the server indicates the model's speech was interrupted with - * `LiveServerContent.modelTurn.interrupted`. - */ - private interruptPlayback; - /** - * Processes the playback queue in a loop, scheduling each chunk in a gapless sequence. - */ - private processPlaybackQueue; - /** - * The main loop that listens for and processes messages from the server. - */ - private runReceiveLoop; -} -/** - * Starts a real-time, bidirectional audio conversation with the model. This helper function manages - * the complexities of microphone access, audio recording, playback, and interruptions. - * - * @remarks Important: This function must be called in response to a user gesture - * (for example, a button click) to comply with {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Best_practices#autoplay_policy | browser autoplay policies}. - * - * @example - * ```javascript - * const liveSession = await model.connect(); - * let conversationController; - * - * // This function must be called from within a click handler. - * async function startConversation() { - * try { - * conversationController = await startAudioConversation(liveSession); - * } catch (e) { - * // Handle AI-specific errors - * if (e instanceof AIError) { - * console.error("AI Error:", e.message); - * } - * // Handle microphone permission and hardware errors - * else if (e instanceof DOMException) { - * console.error("Microphone Error:", e.message); - * } - * // Handle other unexpected errors - * else { - * console.error("An unexpected error occurred:", e); - * } - * } - * } - * - * // Later, to stop the conversation: - * // if (conversationController) { - * // await conversationController.stop(); - * // } - * ``` - * - * @param liveSession - An active {@link LiveSession} instance. - * @param options - Configuration options for the audio conversation. - * @returns A `Promise` that resolves with an {@link AudioConversationController}. - * @throws `AIError` if the environment does not support required Web APIs (`UNSUPPORTED`), if a conversation is already active (`REQUEST_ERROR`), the session is closed (`SESSION_CLOSED`), or if an unexpected initialization error occurs (`ERROR`). - * @throws `DOMException` Thrown by `navigator.mediaDevices.getUserMedia()` if issues occur with microphone access, such as permissions being denied (`NotAllowedError`) or no compatible hardware being found (`NotFoundError`). See the {@link https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia#exceptions | MDN documentation} for a full list of exceptions. - * - * @beta - */ -export declare function startAudioConversation(liveSession: LiveSession, options?: StartAudioConversationOptions): Promise<AudioConversationController>; -export {}; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/methods/live-session.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/methods/live-session.d.ts deleted file mode 100644 index 92ecbe5..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/methods/live-session.d.ts +++ /dev/null @@ -1,154 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { FunctionResponse, GenerativeContentBlob, LiveServerContent, LiveServerToolCall, LiveServerToolCallCancellation, Part } from '../public-types'; -import { WebSocketHandler } from '../websocket'; -/** - * Represents an active, real-time, bidirectional conversation with the model. - * - * This class should only be instantiated by calling {@link LiveGenerativeModel.connect}. - * - * @beta - */ -export declare class LiveSession { - private webSocketHandler; - private serverMessages; - /** - * Indicates whether this Live session is closed. - * - * @beta - */ - isClosed: boolean; - /** - * Indicates whether this Live session is being controlled by an `AudioConversationController`. - * - * @beta - */ - inConversation: boolean; - /** - * @internal - */ - constructor(webSocketHandler: WebSocketHandler, serverMessages: AsyncGenerator<unknown>); - /** - * Sends content to the server. - * - * @param request - The message to send to the model. - * @param turnComplete - Indicates if the turn is complete. Defaults to false. - * @throws If this session has been closed. - * - * @beta - */ - send(request: string | Array<string | Part>, turnComplete?: boolean): Promise<void>; - /** - * Sends text to the server in realtime. - * - * @example - * ```javascript - * liveSession.sendTextRealtime("Hello, how are you?"); - * ``` - * - * @param text - The text data to send. - * @throws If this session has been closed. - * - * @beta - */ - sendTextRealtime(text: string): Promise<void>; - /** - * Sends audio data to the server in realtime. - * - * @remarks The server requires that the audio data is base64-encoded 16-bit PCM at 16kHz - * little-endian. - * - * @example - * ```javascript - * // const pcmData = ... base64-encoded 16-bit PCM at 16kHz little-endian. - * const blob = { mimeType: "audio/pcm", data: pcmData }; - * liveSession.sendAudioRealtime(blob); - * ``` - * - * @param blob - The base64-encoded PCM data to send to the server in realtime. - * @throws If this session has been closed. - * - * @beta - */ - sendAudioRealtime(blob: GenerativeContentBlob): Promise<void>; - /** - * Sends video data to the server in realtime. - * - * @remarks The server requires that the video is sent as individual video frames at 1 FPS. It - * is recommended to set `mimeType` to `image/jpeg`. - * - * @example - * ```javascript - * // const videoFrame = ... base64-encoded JPEG data - * const blob = { mimeType: "image/jpeg", data: videoFrame }; - * liveSession.sendVideoRealtime(blob); - * ``` - * @param blob - The base64-encoded video data to send to the server in realtime. - * @throws If this session has been closed. - * - * @beta - */ - sendVideoRealtime(blob: GenerativeContentBlob): Promise<void>; - /** - * Sends function responses to the server. - * - * @param functionResponses - The function responses to send. - * @throws If this session has been closed. - * - * @beta - */ - sendFunctionResponses(functionResponses: FunctionResponse[]): Promise<void>; - /** - * Yields messages received from the server. - * This can only be used by one consumer at a time. - * - * @returns An `AsyncGenerator` that yields server messages as they arrive. - * @throws If the session is already closed, or if we receive a response that we don't support. - * - * @beta - */ - receive(): AsyncGenerator<LiveServerContent | LiveServerToolCall | LiveServerToolCallCancellation>; - /** - * Closes this session. - * All methods on this session will throw an error once this resolves. - * - * @beta - */ - close(): Promise<void>; - /** - * Sends realtime input to the server. - * - * @deprecated Use `sendTextRealtime()`, `sendAudioRealtime()`, and `sendVideoRealtime()` instead. - * - * @param mediaChunks - The media chunks to send. - * @throws If this session has been closed. - * - * @beta - */ - sendMediaChunks(mediaChunks: GenerativeContentBlob[]): Promise<void>; - /** - * @deprecated Use `sendTextRealtime()`, `sendAudioRealtime()`, and `sendVideoRealtime()` instead. - * - * Sends a stream of {@link GenerativeContentBlob}. - * - * @param mediaChunkStream - The stream of {@link GenerativeContentBlob} to send. - * @throws If this session has been closed. - * - * @beta - */ - sendMediaStream(mediaChunkStream: ReadableStream<GenerativeContentBlob>): Promise<void>; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/models/ai-model.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/models/ai-model.d.ts deleted file mode 100644 index 2d5462b..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/models/ai-model.d.ts +++ /dev/null @@ -1,72 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { AI, BackendType } from '../public-types'; -import { ApiSettings } from '../types/internal'; -/** - * Base class for Firebase AI model APIs. - * - * Instances of this class are associated with a specific Firebase AI {@link Backend} - * and provide methods for interacting with the configured generative model. - * - * @public - */ -export declare abstract class AIModel { - /** - * The fully qualified model resource name to use for generating images - * (for example, `publishers/google/models/imagen-3.0-generate-002`). - */ - readonly model: string; - /** - * @internal - */ - _apiSettings: ApiSettings; - /** - * Constructs a new instance of the {@link AIModel} class. - * - * This constructor should only be called from subclasses that provide - * a model API. - * - * @param ai - an {@link AI} instance. - * @param modelName - The name of the model being used. It can be in one of the following formats: - * - `my-model` (short name, will resolve to `publishers/google/models/my-model`) - * - `models/my-model` (will resolve to `publishers/google/models/my-model`) - * - `publishers/my-publisher/models/my-model` (fully qualified model name) - * - * @throws If the `apiKey` or `projectId` fields are missing in your - * Firebase config. - * - * @internal - */ - protected constructor(ai: AI, modelName: string); - /** - * Normalizes the given model name to a fully qualified model resource name. - * - * @param modelName - The model name to normalize. - * @returns The fully qualified model resource name. - * - * @internal - */ - static normalizeModelName(modelName: string, backendType: BackendType): string; - /** - * @internal - */ - private static normalizeGoogleAIModelName; - /** - * @internal - */ - private static normalizeVertexAIModelName; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/models/generative-model.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/models/generative-model.d.ts deleted file mode 100644 index 87fd067..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/models/generative-model.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { Content, CountTokensRequest, CountTokensResponse, GenerateContentRequest, GenerateContentResult, GenerateContentStreamResult, GenerationConfig, ModelParams, Part, RequestOptions, SafetySetting, StartChatParams, Tool, ToolConfig } from '../types'; -import { ChatSession } from '../methods/chat-session'; -import { AI } from '../public-types'; -import { AIModel } from './ai-model'; -import { ChromeAdapter } from '../types/chrome-adapter'; -/** - * Class for generative model APIs. - * @public - */ -export declare class GenerativeModel extends AIModel { - private chromeAdapter?; - generationConfig: GenerationConfig; - safetySettings: SafetySetting[]; - requestOptions?: RequestOptions; - tools?: Tool[]; - toolConfig?: ToolConfig; - systemInstruction?: Content; - constructor(ai: AI, modelParams: ModelParams, requestOptions?: RequestOptions, chromeAdapter?: ChromeAdapter | undefined); - /** - * Makes a single non-streaming call to the model - * and returns an object containing a single {@link GenerateContentResponse}. - */ - generateContent(request: GenerateContentRequest | string | Array<string | Part>): Promise<GenerateContentResult>; - /** - * Makes a single streaming call to the model - * and returns an object containing an iterable stream that iterates - * over all chunks in the streaming response as well as - * a promise that returns the final aggregated response. - */ - generateContentStream(request: GenerateContentRequest | string | Array<string | Part>): Promise<GenerateContentStreamResult>; - /** - * Gets a new {@link ChatSession} instance which can be used for - * multi-turn chats. - */ - startChat(startChatParams?: StartChatParams): ChatSession; - /** - * Counts the tokens in the provided request. - */ - countTokens(request: CountTokensRequest | string | Array<string | Part>): Promise<CountTokensResponse>; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/models/imagen-model.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/models/imagen-model.d.ts deleted file mode 100644 index 699f2a2..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/models/imagen-model.d.ts +++ /dev/null @@ -1,102 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { AI } from '../public-types'; -import { ImagenGCSImage, ImagenGenerationConfig, ImagenInlineImage, RequestOptions, ImagenModelParams, ImagenGenerationResponse, ImagenSafetySettings } from '../types'; -import { AIModel } from './ai-model'; -/** - * Class for Imagen model APIs. - * - * This class provides methods for generating images using the Imagen model. - * - * @example - * ```javascript - * const imagen = new ImagenModel( - * ai, - * { - * model: 'imagen-3.0-generate-002' - * } - * ); - * - * const response = await imagen.generateImages('A photo of a cat'); - * if (response.images.length > 0) { - * console.log(response.images[0].bytesBase64Encoded); - * } - * ``` - * - * @public - */ -export declare class ImagenModel extends AIModel { - requestOptions?: RequestOptions | undefined; - /** - * The Imagen generation configuration. - */ - generationConfig?: ImagenGenerationConfig; - /** - * Safety settings for filtering inappropriate content. - */ - safetySettings?: ImagenSafetySettings; - /** - * Constructs a new instance of the {@link ImagenModel} class. - * - * @param ai - an {@link AI} instance. - * @param modelParams - Parameters to use when making requests to Imagen. - * @param requestOptions - Additional options to use when making requests. - * - * @throws If the `apiKey` or `projectId` fields are missing in your - * Firebase config. - */ - constructor(ai: AI, modelParams: ImagenModelParams, requestOptions?: RequestOptions | undefined); - /** - * Generates images using the Imagen model and returns them as - * base64-encoded strings. - * - * @param prompt - A text prompt describing the image(s) to generate. - * @returns A promise that resolves to an {@link ImagenGenerationResponse} - * object containing the generated images. - * - * @throws If the request to generate images fails. This happens if the - * prompt is blocked. - * - * @remarks - * If the prompt was not blocked, but one or more of the generated images were filtered, the - * returned object will have a `filteredReason` property. - * If all images are filtered, the `images` array will be empty. - * - * @public - */ - generateImages(prompt: string): Promise<ImagenGenerationResponse<ImagenInlineImage>>; - /** - * Generates images to Cloud Storage for Firebase using the Imagen model. - * - * @internal This method is temporarily internal. - * - * @param prompt - A text prompt describing the image(s) to generate. - * @param gcsURI - The URI of file stored in a Cloud Storage for Firebase bucket. - * This should be a directory. For example, `gs://my-bucket/my-directory/`. - * @returns A promise that resolves to an {@link ImagenGenerationResponse} - * object containing the URLs of the generated images. - * - * @throws If the request fails to generate images fails. This happens if - * the prompt is blocked. - * - * @remarks - * If the prompt was not blocked, but one or more of the generated images were filtered, the - * returned object will have a `filteredReason` property. - * If all images are filtered, the `images` array will be empty. - */ - generateImagesGCS(prompt: string, gcsURI: string): Promise<ImagenGenerationResponse<ImagenGCSImage>>; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/models/index.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/models/index.d.ts deleted file mode 100644 index 3d79da7..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/models/index.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -export * from './ai-model'; -export * from './generative-model'; -export * from './live-generative-model'; -export * from './imagen-model'; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/models/live-generative-model.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/models/live-generative-model.d.ts deleted file mode 100644 index cf0b896..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/models/live-generative-model.d.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { AIModel } from './ai-model'; -import { LiveSession } from '../methods/live-session'; -import { AI, Content, LiveGenerationConfig, LiveModelParams, Tool, ToolConfig } from '../public-types'; -import { WebSocketHandler } from '../websocket'; -/** - * Class for Live generative model APIs. The Live API enables low-latency, two-way multimodal - * interactions with Gemini. - * - * This class should only be instantiated with {@link getLiveGenerativeModel}. - * - * @beta - */ -export declare class LiveGenerativeModel extends AIModel { - /** - * @internal - */ - private _webSocketHandler; - generationConfig: LiveGenerationConfig; - tools?: Tool[]; - toolConfig?: ToolConfig; - systemInstruction?: Content; - /** - * @internal - */ - constructor(ai: AI, modelParams: LiveModelParams, - /** - * @internal - */ - _webSocketHandler: WebSocketHandler); - /** - * Starts a {@link LiveSession}. - * - * @returns A {@link LiveSession}. - * @throws If the connection failed to be established with the server. - * - * @beta - */ - connect(): Promise<LiveSession>; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/public-types.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/public-types.d.ts deleted file mode 100644 index 21620ed..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/public-types.d.ts +++ /dev/null @@ -1,97 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { FirebaseApp } from '@firebase/app'; -import { Backend } from './backend'; -export * from './types'; -/** - * An instance of the Firebase AI SDK. - * - * Do not create this instance directly. Instead, use {@link getAI | getAI()}. - * - * @public - */ -export interface AI { - /** - * The {@link @firebase/app#FirebaseApp} this {@link AI} instance is associated with. - */ - app: FirebaseApp; - /** - * A {@link Backend} instance that specifies the configuration for the target backend, - * either the Gemini Developer API (using {@link GoogleAIBackend}) or the - * Vertex AI Gemini API (using {@link VertexAIBackend}). - */ - backend: Backend; - /** - * Options applied to this {@link AI} instance. - */ - options?: AIOptions; - /** - * @deprecated use `AI.backend.location` instead. - * - * The location configured for this AI service instance, relevant for Vertex AI backends. - */ - location: string; -} -/** - * An enum-like object containing constants that represent the supported backends - * for the Firebase AI SDK. - * This determines which backend service (Vertex AI Gemini API or Gemini Developer API) - * the SDK will communicate with. - * - * These values are assigned to the `backendType` property within the specific backend - * configuration objects ({@link GoogleAIBackend} or {@link VertexAIBackend}) to identify - * which service to target. - * - * @public - */ -export declare const BackendType: { - /** - * Identifies the backend service for the Vertex AI Gemini API provided through Google Cloud. - * Use this constant when creating a {@link VertexAIBackend} configuration. - */ - readonly VERTEX_AI: "VERTEX_AI"; - /** - * Identifies the backend service for the Gemini Developer API ({@link https://ai.google/ | Google AI}). - * Use this constant when creating a {@link GoogleAIBackend} configuration. - */ - readonly GOOGLE_AI: "GOOGLE_AI"; -}; -/** - * Type alias representing valid backend types. - * It can be either `'VERTEX_AI'` or `'GOOGLE_AI'`. - * - * @public - */ -export type BackendType = (typeof BackendType)[keyof typeof BackendType]; -/** - * Options for initializing the AI service using {@link getAI | getAI()}. - * This allows specifying which backend to use (Vertex AI Gemini API or Gemini Developer API) - * and configuring its specific options (like location for Vertex AI). - * - * @public - */ -export interface AIOptions { - /** - * The backend configuration to use for the AI service instance. - * Defaults to the Gemini Developer API backend ({@link GoogleAIBackend}). - */ - backend?: Backend; - /** - * Whether to use App Check limited use tokens. Defaults to false. - */ - useLimitedUseAppCheckTokens?: boolean; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/requests/hybrid-helpers.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/requests/hybrid-helpers.d.ts deleted file mode 100644 index b52e6bf..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/requests/hybrid-helpers.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { GenerateContentRequest, ChromeAdapter, InferenceSource } from '../types'; -interface CallResult<Response> { - response: Response; - inferenceSource: InferenceSource; -} -/** - * Dispatches a request to the appropriate backend (on-device or in-cloud) - * based on the inference mode. - * - * @param request - The request to be sent. - * @param chromeAdapter - The on-device model adapter. - * @param onDeviceCall - The function to call for on-device inference. - * @param inCloudCall - The function to call for in-cloud inference. - * @returns The response from the backend. - */ -export declare function callCloudOrDevice<Response>(request: GenerateContentRequest, chromeAdapter: ChromeAdapter | undefined, onDeviceCall: () => Promise<Response>, inCloudCall: () => Promise<Response>): Promise<CallResult<Response>>; -export {}; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/requests/imagen-image-format.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/requests/imagen-image-format.d.ts deleted file mode 100644 index 2f3eddb..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/requests/imagen-image-format.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/** - * Defines the image format for images generated by Imagen. - * - * Use this class to specify the desired format (JPEG or PNG) and compression quality - * for images generated by Imagen. This is typically included as part of - * {@link ImagenModelParams}. - * - * @example - * ```javascript - * const imagenModelParams = { - * // ... other ImagenModelParams - * imageFormat: ImagenImageFormat.jpeg(75) // JPEG with a compression level of 75. - * } - * ``` - * - * @public - */ -export declare class ImagenImageFormat { - /** - * The MIME type. - */ - mimeType: string; - /** - * The level of compression (a number between 0 and 100). - */ - compressionQuality?: number; - private constructor(); - /** - * Creates an {@link ImagenImageFormat} for a JPEG image. - * - * @param compressionQuality - The level of compression (a number between 0 and 100). - * @returns An {@link ImagenImageFormat} object for a JPEG image. - * - * @public - */ - static jpeg(compressionQuality?: number): ImagenImageFormat; - /** - * Creates an {@link ImagenImageFormat} for a PNG image. - * - * @returns An {@link ImagenImageFormat} object for a PNG image. - * - * @public - */ - static png(): ImagenImageFormat; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/requests/request-helpers.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/requests/request-helpers.d.ts deleted file mode 100644 index fa79626..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/requests/request-helpers.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { Content, GenerateContentRequest, Part } from '../types'; -import { ImagenGenerationParams, PredictRequestBody } from '../types/internal'; -export declare function formatSystemInstruction(input?: string | Part | Content): Content | undefined; -export declare function formatNewContent(request: string | Array<string | Part>): Content; -export declare function formatGenerateContentInput(params: GenerateContentRequest | string | Array<string | Part>): GenerateContentRequest; -/** - * Convert the user-defined parameters in {@link ImagenGenerationParams} to the format - * that is expected from the REST API. - * - * @internal - */ -export declare function createPredictRequestBody(prompt: string, { gcsURI, imageFormat, addWatermark, numberOfImages, negativePrompt, aspectRatio, safetyFilterLevel, personFilterLevel }: ImagenGenerationParams): PredictRequestBody; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/requests/request.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/requests/request.d.ts deleted file mode 100644 index b0aed14..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/requests/request.d.ts +++ /dev/null @@ -1,49 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { RequestOptions } from '../types'; -import { ApiSettings } from '../types/internal'; -export declare enum Task { - GENERATE_CONTENT = "generateContent", - STREAM_GENERATE_CONTENT = "streamGenerateContent", - COUNT_TOKENS = "countTokens", - PREDICT = "predict" -} -export declare class RequestUrl { - model: string; - task: Task; - apiSettings: ApiSettings; - stream: boolean; - requestOptions?: RequestOptions | undefined; - constructor(model: string, task: Task, apiSettings: ApiSettings, stream: boolean, requestOptions?: RequestOptions | undefined); - toString(): string; - private get baseUrl(); - private get apiVersion(); - private get modelPath(); - private get queryParams(); -} -export declare class WebSocketUrl { - apiSettings: ApiSettings; - constructor(apiSettings: ApiSettings); - toString(): string; - private get pathname(); -} -export declare function getHeaders(url: RequestUrl): Promise<Headers>; -export declare function constructRequest(model: string, task: Task, apiSettings: ApiSettings, stream: boolean, body: string, requestOptions?: RequestOptions): Promise<{ - url: string; - fetchOptions: RequestInit; -}>; -export declare function makeRequest(model: string, task: Task, apiSettings: ApiSettings, stream: boolean, body: string, requestOptions?: RequestOptions): Promise<Response>; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/requests/response-helpers.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/requests/response-helpers.d.ts deleted file mode 100644 index d0aded1..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/requests/response-helpers.d.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { EnhancedGenerateContentResponse, FunctionCall, GenerateContentResponse, ImagenGCSImage, ImagenInlineImage, InlineDataPart, Part, InferenceSource } from '../types'; -/** - * Creates an EnhancedGenerateContentResponse object that has helper functions and - * other modifications that improve usability. - */ -export declare function createEnhancedContentResponse(response: GenerateContentResponse, inferenceSource?: InferenceSource): EnhancedGenerateContentResponse; -/** - * Adds convenience helper methods to a response object, including stream - * chunks (as long as each chunk is a complete GenerateContentResponse JSON). - */ -export declare function addHelpers(response: GenerateContentResponse): EnhancedGenerateContentResponse; -/** - * Returns all text from the first candidate's parts, filtering by whether - * `partFilter()` returns true. - * - * @param response - The `GenerateContentResponse` from which to extract text. - * @param partFilter - Only return `Part`s for which this returns true - */ -export declare function getText(response: GenerateContentResponse, partFilter: (part: Part) => boolean): string; -/** - * Returns every {@link FunctionCall} associated with first candidate. - */ -export declare function getFunctionCalls(response: GenerateContentResponse): FunctionCall[] | undefined; -/** - * Returns every {@link InlineDataPart} in the first candidate if present. - * - * @internal - */ -export declare function getInlineDataParts(response: GenerateContentResponse): InlineDataPart[] | undefined; -export declare function formatBlockErrorMessage(response: GenerateContentResponse): string; -/** - * Convert a generic successful fetch response body to an Imagen response object - * that can be returned to the user. This converts the REST APIs response format to our - * APIs representation of a response. - * - * @internal - */ -export declare function handlePredictResponse<T extends ImagenInlineImage | ImagenGCSImage>(response: Response): Promise<{ - images: T[]; - filteredReason?: string; -}>; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/requests/schema-builder.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/requests/schema-builder.d.ts deleted file mode 100644 index e23e74f..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/requests/schema-builder.d.ts +++ /dev/null @@ -1,170 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { SchemaInterface, SchemaType, SchemaParams, SchemaRequest } from '../types/schema'; -/** - * Parent class encompassing all Schema types, with static methods that - * allow building specific Schema types. This class can be converted with - * `JSON.stringify()` into a JSON string accepted by Vertex AI REST endpoints. - * (This string conversion is automatically done when calling SDK methods.) - * @public - */ -export declare abstract class Schema implements SchemaInterface { - /** - * Optional. The type of the property. - * This can only be undefined when using `anyOf` schemas, which do not have an - * explicit type in the {@link https://swagger.io/docs/specification/v3_0/data-models/data-types/#any-type | OpenAPI specification}. - */ - type?: SchemaType; - /** Optional. The format of the property. - * Supported formats:<br/> - * <ul> - * <li>for NUMBER type: "float", "double"</li> - * <li>for INTEGER type: "int32", "int64"</li> - * <li>for STRING type: "email", "byte", etc</li> - * </ul> - */ - format?: string; - /** Optional. The description of the property. */ - description?: string; - /** Optional. The items of the property. */ - items?: SchemaInterface; - /** The minimum number of items (elements) in a schema of {@link (SchemaType:type)} `array`. */ - minItems?: number; - /** The maximum number of items (elements) in a schema of {@link (SchemaType:type)} `array`. */ - maxItems?: number; - /** Optional. Whether the property is nullable. Defaults to false. */ - nullable: boolean; - /** Optional. The example of the property. */ - example?: unknown; - /** - * Allows user to add other schema properties that have not yet - * been officially added to the SDK. - */ - [key: string]: unknown; - constructor(schemaParams: SchemaInterface); - /** - * Defines how this Schema should be serialized as JSON. - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#tojson_behavior - * @internal - */ - toJSON(): SchemaRequest; - static array(arrayParams: SchemaParams & { - items: Schema; - }): ArraySchema; - static object(objectParams: SchemaParams & { - properties: { - [k: string]: Schema; - }; - optionalProperties?: string[]; - }): ObjectSchema; - static string(stringParams?: SchemaParams): StringSchema; - static enumString(stringParams: SchemaParams & { - enum: string[]; - }): StringSchema; - static integer(integerParams?: SchemaParams): IntegerSchema; - static number(numberParams?: SchemaParams): NumberSchema; - static boolean(booleanParams?: SchemaParams): BooleanSchema; - static anyOf(anyOfParams: SchemaParams & { - anyOf: TypedSchema[]; - }): AnyOfSchema; -} -/** - * A type that includes all specific Schema types. - * @public - */ -export type TypedSchema = IntegerSchema | NumberSchema | StringSchema | BooleanSchema | ObjectSchema | ArraySchema | AnyOfSchema; -/** - * Schema class for "integer" types. - * @public - */ -export declare class IntegerSchema extends Schema { - constructor(schemaParams?: SchemaParams); -} -/** - * Schema class for "number" types. - * @public - */ -export declare class NumberSchema extends Schema { - constructor(schemaParams?: SchemaParams); -} -/** - * Schema class for "boolean" types. - * @public - */ -export declare class BooleanSchema extends Schema { - constructor(schemaParams?: SchemaParams); -} -/** - * Schema class for "string" types. Can be used with or without - * enum values. - * @public - */ -export declare class StringSchema extends Schema { - enum?: string[]; - constructor(schemaParams?: SchemaParams, enumValues?: string[]); - /** - * @internal - */ - toJSON(): SchemaRequest; -} -/** - * Schema class for "array" types. - * The `items` param should refer to the type of item that can be a member - * of the array. - * @public - */ -export declare class ArraySchema extends Schema { - items: TypedSchema; - constructor(schemaParams: SchemaParams, items: TypedSchema); - /** - * @internal - */ - toJSON(): SchemaRequest; -} -/** - * Schema class for "object" types. - * The `properties` param must be a map of `Schema` objects. - * @public - */ -export declare class ObjectSchema extends Schema { - properties: { - [k: string]: TypedSchema; - }; - optionalProperties: string[]; - constructor(schemaParams: SchemaParams, properties: { - [k: string]: TypedSchema; - }, optionalProperties?: string[]); - /** - * @internal - */ - toJSON(): SchemaRequest; -} -/** - * Schema class representing a value that can conform to any of the provided sub-schemas. This is - * useful when a field can accept multiple distinct types or structures. - * @public - */ -export declare class AnyOfSchema extends Schema { - anyOf: TypedSchema[]; - constructor(schemaParams: SchemaParams & { - anyOf: TypedSchema[]; - }); - /** - * @internal - */ - toJSON(): SchemaRequest; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/requests/stream-reader.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/requests/stream-reader.d.ts deleted file mode 100644 index 4ffb0da..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/requests/stream-reader.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { GenerateContentResponse, GenerateContentStreamResult } from '../types'; -import { ApiSettings } from '../types/internal'; -import { InferenceSource } from '../public-types'; -/** - * Process a response.body stream from the backend and return an - * iterator that provides one complete GenerateContentResponse at a time - * and a promise that resolves with a single aggregated - * GenerateContentResponse. - * - * @param response - Response from a fetch call - */ -export declare function processStream(response: Response, apiSettings: ApiSettings, inferenceSource?: InferenceSource): GenerateContentStreamResult; -/** - * Reads a raw stream from the fetch response and join incomplete - * chunks, returning a new stream that provides a single complete - * GenerateContentResponse in each iteration. - */ -export declare function getResponseStream<T>(inputStream: ReadableStream<string>): ReadableStream<T>; -/** - * Aggregates an array of `GenerateContentResponse`s into a single - * GenerateContentResponse. - */ -export declare function aggregateResponses(responses: GenerateContentResponse[]): GenerateContentResponse; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/service.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/service.d.ts deleted file mode 100644 index b0da890..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/service.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { FirebaseApp, _FirebaseService } from '@firebase/app'; -import { AI, AIOptions, InferenceMode, OnDeviceParams } from './public-types'; -import { AppCheckInternalComponentName, FirebaseAppCheckInternal } from '@firebase/app-check-interop-types'; -import { Provider } from '@firebase/component'; -import { FirebaseAuthInternal, FirebaseAuthInternalName } from '@firebase/auth-interop-types'; -import { Backend } from './backend'; -import { ChromeAdapterImpl } from './methods/chrome-adapter'; -export declare class AIService implements AI, _FirebaseService { - app: FirebaseApp; - backend: Backend; - chromeAdapterFactory?: ((mode: InferenceMode, window?: Window, params?: OnDeviceParams) => ChromeAdapterImpl | undefined) | undefined; - auth: FirebaseAuthInternal | null; - appCheck: FirebaseAppCheckInternal | null; - _options?: Omit<AIOptions, 'backend'>; - location: string; - constructor(app: FirebaseApp, backend: Backend, authProvider?: Provider<FirebaseAuthInternalName>, appCheckProvider?: Provider<AppCheckInternalComponentName>, chromeAdapterFactory?: ((mode: InferenceMode, window?: Window, params?: OnDeviceParams) => ChromeAdapterImpl | undefined) | undefined); - _delete(): Promise<void>; - set options(optionsToSet: AIOptions); - get options(): AIOptions | undefined; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/tsdoc-metadata.json b/frontend-old/node_modules/@firebase/ai/dist/src/tsdoc-metadata.json deleted file mode 100644 index 6af1f6a..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/tsdoc-metadata.json +++ /dev/null @@ -1,11 +0,0 @@ -// This file is read by tools that parse documentation comments conforming to the TSDoc standard. -// It should be published with your NPM package. It should not be tracked by Git. -{ - "tsdocVersion": "0.12", - "toolPackages": [ - { - "packageName": "@microsoft/api-extractor", - "packageVersion": "0.1.2" - } - ] -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/chrome-adapter.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/chrome-adapter.d.ts deleted file mode 100644 index 6092353..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/chrome-adapter.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { CountTokensRequest, GenerateContentRequest } from './requests'; -/** - * Defines an inference "backend" that uses Chrome's on-device model, - * and encapsulates logic for detecting when on-device inference is - * possible. - * - * These methods should not be called directly by the user. - * - * @beta - */ -export interface ChromeAdapter { - /** - * Checks if the on-device model is capable of handling a given - * request. - * @param request - A potential request to be passed to the model. - */ - isAvailable(request: GenerateContentRequest): Promise<boolean>; - /** - * Generates content using on-device inference. - * - * @remarks - * This is comparable to {@link GenerativeModel.generateContent} for generating - * content using in-cloud inference. - * @param request - a standard Firebase AI {@link GenerateContentRequest} - */ - generateContent(request: GenerateContentRequest): Promise<Response>; - /** - * Generates a content stream using on-device inference. - * - * @remarks - * This is comparable to {@link GenerativeModel.generateContentStream} for generating - * a content stream using in-cloud inference. - * @param request - a standard Firebase AI {@link GenerateContentRequest} - */ - generateContentStream(request: GenerateContentRequest): Promise<Response>; - /** - * @internal - */ - countTokens(request: CountTokensRequest): Promise<Response>; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/content.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/content.d.ts deleted file mode 100644 index a760547..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/content.d.ts +++ /dev/null @@ -1,265 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { Language, Outcome, Role } from './enums'; -/** - * Content type for both prompts and response candidates. - * @public - */ -export interface Content { - role: Role; - parts: Part[]; -} -/** - * Content part - includes text, image/video, or function call/response - * part types. - * @public - */ -export type Part = TextPart | InlineDataPart | FunctionCallPart | FunctionResponsePart | FileDataPart | ExecutableCodePart | CodeExecutionResultPart; -/** - * Content part interface if the part represents a text string. - * @public - */ -export interface TextPart { - text: string; - inlineData?: never; - functionCall?: never; - functionResponse?: never; - thought?: boolean; - /** - * @internal - */ - thoughtSignature?: string; - executableCode?: never; - codeExecutionResult?: never; -} -/** - * Content part interface if the part represents an image. - * @public - */ -export interface InlineDataPart { - text?: never; - inlineData: GenerativeContentBlob; - functionCall?: never; - functionResponse?: never; - /** - * Applicable if `inlineData` is a video. - */ - videoMetadata?: VideoMetadata; - thought?: boolean; - /** - * @internal - */ - thoughtSignature?: never; - executableCode?: never; - codeExecutionResult?: never; -} -/** - * Describes the input video content. - * @public - */ -export interface VideoMetadata { - /** - * The start offset of the video in - * protobuf {@link https://cloud.google.com/ruby/docs/reference/google-cloud-workflows-v1/latest/Google-Protobuf-Duration#json-mapping | Duration} format. - */ - startOffset: string; - /** - * The end offset of the video in - * protobuf {@link https://cloud.google.com/ruby/docs/reference/google-cloud-workflows-v1/latest/Google-Protobuf-Duration#json-mapping | Duration} format. - */ - endOffset: string; -} -/** - * Content part interface if the part represents a {@link FunctionCall}. - * @public - */ -export interface FunctionCallPart { - text?: never; - inlineData?: never; - functionCall: FunctionCall; - functionResponse?: never; - thought?: boolean; - /** - * @internal - */ - thoughtSignature?: never; - executableCode?: never; - codeExecutionResult?: never; -} -/** - * Content part interface if the part represents {@link FunctionResponse}. - * @public - */ -export interface FunctionResponsePart { - text?: never; - inlineData?: never; - functionCall?: never; - functionResponse: FunctionResponse; - thought?: boolean; - /** - * @internal - */ - thoughtSignature?: never; - executableCode?: never; - codeExecutionResult?: never; -} -/** - * Content part interface if the part represents {@link FileData} - * @public - */ -export interface FileDataPart { - text?: never; - inlineData?: never; - functionCall?: never; - functionResponse?: never; - fileData: FileData; - thought?: boolean; - /** - * @internal - */ - thoughtSignature?: never; - executableCode?: never; - codeExecutionResult?: never; -} -/** - * Represents the code that is executed by the model. - * - * @beta - */ -export interface ExecutableCodePart { - text?: never; - inlineData?: never; - functionCall?: never; - functionResponse?: never; - fileData: never; - thought?: never; - /** - * @internal - */ - thoughtSignature?: never; - executableCode?: ExecutableCode; - codeExecutionResult?: never; -} -/** - * Represents the code execution result from the model. - * - * @beta - */ -export interface CodeExecutionResultPart { - text?: never; - inlineData?: never; - functionCall?: never; - functionResponse?: never; - fileData: never; - thought?: never; - /** - * @internal - */ - thoughtSignature?: never; - executableCode?: never; - codeExecutionResult?: CodeExecutionResult; -} -/** - * An interface for executable code returned by the model. - * - * @beta - */ -export interface ExecutableCode { - /** - * The programming language of the code. - */ - language?: Language; - /** - * The source code to be executed. - */ - code?: string; -} -/** - * The results of code execution run by the model. - * - * @beta - */ -export interface CodeExecutionResult { - /** - * The result of the code execution. - */ - outcome?: Outcome; - /** - * The output from the code execution, or an error message - * if it failed. - */ - output?: string; -} -/** - * A predicted {@link FunctionCall} returned from the model - * that contains a string representing the {@link FunctionDeclaration.name} - * and a structured JSON object containing the parameters and their values. - * @public - */ -export interface FunctionCall { - /** - * The id of the function call. This must be sent back in the associated {@link FunctionResponse}. - * - * - * @remarks This property is only supported in the Gemini Developer API ({@link GoogleAIBackend}). - * When using the Gemini Developer API ({@link GoogleAIBackend}), this property will be - * `undefined`. - */ - id?: string; - name: string; - args: object; -} -/** - * The result output from a {@link FunctionCall} that contains a string - * representing the {@link FunctionDeclaration.name} - * and a structured JSON object containing any output - * from the function is used as context to the model. - * This should contain the result of a {@link FunctionCall} - * made based on model prediction. - * @public - */ -export interface FunctionResponse { - /** - * The id of the {@link FunctionCall}. - * - * @remarks This property is only supported in the Gemini Developer API ({@link GoogleAIBackend}). - * When using the Gemini Developer API ({@link GoogleAIBackend}), this property will be - * `undefined`. - */ - id?: string; - name: string; - response: object; -} -/** - * Interface for sending an image. - * @public - */ -export interface GenerativeContentBlob { - mimeType: string; - /** - * Image as a base64 string. - */ - data: string; -} -/** - * Data pointing to a file uploaded on Google Cloud Storage. - * @public - */ -export interface FileData { - mimeType: string; - fileUri: string; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/enums.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/enums.d.ts deleted file mode 100644 index 170a299..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/enums.d.ts +++ /dev/null @@ -1,398 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/** - * Role is the producer of the content. - * @public - */ -export type Role = (typeof POSSIBLE_ROLES)[number]; -/** - * Possible roles. - * @public - */ -export declare const POSSIBLE_ROLES: readonly ["user", "model", "function", "system"]; -/** - * Harm categories that would cause prompts or candidates to be blocked. - * @public - */ -export declare const HarmCategory: { - readonly HARM_CATEGORY_HATE_SPEECH: "HARM_CATEGORY_HATE_SPEECH"; - readonly HARM_CATEGORY_SEXUALLY_EXPLICIT: "HARM_CATEGORY_SEXUALLY_EXPLICIT"; - readonly HARM_CATEGORY_HARASSMENT: "HARM_CATEGORY_HARASSMENT"; - readonly HARM_CATEGORY_DANGEROUS_CONTENT: "HARM_CATEGORY_DANGEROUS_CONTENT"; -}; -/** - * Harm categories that would cause prompts or candidates to be blocked. - * @public - */ -export type HarmCategory = (typeof HarmCategory)[keyof typeof HarmCategory]; -/** - * Threshold above which a prompt or candidate will be blocked. - * @public - */ -export declare const HarmBlockThreshold: { - /** - * Content with `NEGLIGIBLE` will be allowed. - */ - readonly BLOCK_LOW_AND_ABOVE: "BLOCK_LOW_AND_ABOVE"; - /** - * Content with `NEGLIGIBLE` and `LOW` will be allowed. - */ - readonly BLOCK_MEDIUM_AND_ABOVE: "BLOCK_MEDIUM_AND_ABOVE"; - /** - * Content with `NEGLIGIBLE`, `LOW`, and `MEDIUM` will be allowed. - */ - readonly BLOCK_ONLY_HIGH: "BLOCK_ONLY_HIGH"; - /** - * All content will be allowed. - */ - readonly BLOCK_NONE: "BLOCK_NONE"; - /** - * All content will be allowed. This is the same as `BLOCK_NONE`, but the metadata corresponding - * to the {@link (HarmCategory:type)} will not be present in the response. - */ - readonly OFF: "OFF"; -}; -/** - * Threshold above which a prompt or candidate will be blocked. - * @public - */ -export type HarmBlockThreshold = (typeof HarmBlockThreshold)[keyof typeof HarmBlockThreshold]; -/** - * This property is not supported in the Gemini Developer API ({@link GoogleAIBackend}). - * - * @public - */ -export declare const HarmBlockMethod: { - /** - * The harm block method uses both probability and severity scores. - */ - readonly SEVERITY: "SEVERITY"; - /** - * The harm block method uses the probability score. - */ - readonly PROBABILITY: "PROBABILITY"; -}; -/** - * This property is not supported in the Gemini Developer API ({@link GoogleAIBackend}). - * - * @public - */ -export type HarmBlockMethod = (typeof HarmBlockMethod)[keyof typeof HarmBlockMethod]; -/** - * Probability that a prompt or candidate matches a harm category. - * @public - */ -export declare const HarmProbability: { - /** - * Content has a negligible chance of being unsafe. - */ - readonly NEGLIGIBLE: "NEGLIGIBLE"; - /** - * Content has a low chance of being unsafe. - */ - readonly LOW: "LOW"; - /** - * Content has a medium chance of being unsafe. - */ - readonly MEDIUM: "MEDIUM"; - /** - * Content has a high chance of being unsafe. - */ - readonly HIGH: "HIGH"; -}; -/** - * Probability that a prompt or candidate matches a harm category. - * @public - */ -export type HarmProbability = (typeof HarmProbability)[keyof typeof HarmProbability]; -/** - * Harm severity levels. - * @public - */ -export declare const HarmSeverity: { - /** - * Negligible level of harm severity. - */ - readonly HARM_SEVERITY_NEGLIGIBLE: "HARM_SEVERITY_NEGLIGIBLE"; - /** - * Low level of harm severity. - */ - readonly HARM_SEVERITY_LOW: "HARM_SEVERITY_LOW"; - /** - * Medium level of harm severity. - */ - readonly HARM_SEVERITY_MEDIUM: "HARM_SEVERITY_MEDIUM"; - /** - * High level of harm severity. - */ - readonly HARM_SEVERITY_HIGH: "HARM_SEVERITY_HIGH"; - /** - * Harm severity is not supported. - * - * @remarks - * The GoogleAI backend does not support `HarmSeverity`, so this value is used as a fallback. - */ - readonly HARM_SEVERITY_UNSUPPORTED: "HARM_SEVERITY_UNSUPPORTED"; -}; -/** - * Harm severity levels. - * @public - */ -export type HarmSeverity = (typeof HarmSeverity)[keyof typeof HarmSeverity]; -/** - * Reason that a prompt was blocked. - * @public - */ -export declare const BlockReason: { - /** - * Content was blocked by safety settings. - */ - readonly SAFETY: "SAFETY"; - /** - * Content was blocked, but the reason is uncategorized. - */ - readonly OTHER: "OTHER"; - /** - * Content was blocked because it contained terms from the terminology blocklist. - */ - readonly BLOCKLIST: "BLOCKLIST"; - /** - * Content was blocked due to prohibited content. - */ - readonly PROHIBITED_CONTENT: "PROHIBITED_CONTENT"; -}; -/** - * Reason that a prompt was blocked. - * @public - */ -export type BlockReason = (typeof BlockReason)[keyof typeof BlockReason]; -/** - * Reason that a candidate finished. - * @public - */ -export declare const FinishReason: { - /** - * Natural stop point of the model or provided stop sequence. - */ - readonly STOP: "STOP"; - /** - * The maximum number of tokens as specified in the request was reached. - */ - readonly MAX_TOKENS: "MAX_TOKENS"; - /** - * The candidate content was flagged for safety reasons. - */ - readonly SAFETY: "SAFETY"; - /** - * The candidate content was flagged for recitation reasons. - */ - readonly RECITATION: "RECITATION"; - /** - * Unknown reason. - */ - readonly OTHER: "OTHER"; - /** - * The candidate content contained forbidden terms. - */ - readonly BLOCKLIST: "BLOCKLIST"; - /** - * The candidate content potentially contained prohibited content. - */ - readonly PROHIBITED_CONTENT: "PROHIBITED_CONTENT"; - /** - * The candidate content potentially contained Sensitive Personally Identifiable Information (SPII). - */ - readonly SPII: "SPII"; - /** - * The function call generated by the model was invalid. - */ - readonly MALFORMED_FUNCTION_CALL: "MALFORMED_FUNCTION_CALL"; -}; -/** - * Reason that a candidate finished. - * @public - */ -export type FinishReason = (typeof FinishReason)[keyof typeof FinishReason]; -/** - * @public - */ -export declare const FunctionCallingMode: { - /** - * Default model behavior; model decides to predict either a function call - * or a natural language response. - */ - readonly AUTO: "AUTO"; - /** - * Model is constrained to always predicting a function call only. - * If `allowed_function_names` is set, the predicted function call will be - * limited to any one of `allowed_function_names`, else the predicted - * function call will be any one of the provided `function_declarations`. - */ - readonly ANY: "ANY"; - /** - * Model will not predict any function call. Model behavior is same as when - * not passing any function declarations. - */ - readonly NONE: "NONE"; -}; -/** - * @public - */ -export type FunctionCallingMode = (typeof FunctionCallingMode)[keyof typeof FunctionCallingMode]; -/** - * Content part modality. - * @public - */ -export declare const Modality: { - /** - * Unspecified modality. - */ - readonly MODALITY_UNSPECIFIED: "MODALITY_UNSPECIFIED"; - /** - * Plain text. - */ - readonly TEXT: "TEXT"; - /** - * Image. - */ - readonly IMAGE: "IMAGE"; - /** - * Video. - */ - readonly VIDEO: "VIDEO"; - /** - * Audio. - */ - readonly AUDIO: "AUDIO"; - /** - * Document (for example, PDF). - */ - readonly DOCUMENT: "DOCUMENT"; -}; -/** - * Content part modality. - * @public - */ -export type Modality = (typeof Modality)[keyof typeof Modality]; -/** - * Generation modalities to be returned in generation responses. - * - * @beta - */ -export declare const ResponseModality: { - /** - * Text. - * @beta - */ - readonly TEXT: "TEXT"; - /** - * Image. - * @beta - */ - readonly IMAGE: "IMAGE"; - /** - * Audio. - * @beta - */ - readonly AUDIO: "AUDIO"; -}; -/** - * Generation modalities to be returned in generation responses. - * - * @beta - */ -export type ResponseModality = (typeof ResponseModality)[keyof typeof ResponseModality]; -/** - * Determines whether inference happens on-device or in-cloud. - * - * @remarks - * <b>PREFER_ON_DEVICE:</b> Attempt to make inference calls using an - * on-device model. If on-device inference is not available, the SDK - * will fall back to using a cloud-hosted model. - * <br/> - * <b>ONLY_ON_DEVICE:</b> Only attempt to make inference calls using an - * on-device model. The SDK will not fall back to a cloud-hosted model. - * If on-device inference is not available, inference methods will throw. - * <br/> - * <b>ONLY_IN_CLOUD:</b> Only attempt to make inference calls using a - * cloud-hosted model. The SDK will not fall back to an on-device model. - * <br/> - * <b>PREFER_IN_CLOUD:</b> Attempt to make inference calls to a - * cloud-hosted model. If not available, the SDK will fall back to an - * on-device model. - * - * @beta - */ -export declare const InferenceMode: { - readonly PREFER_ON_DEVICE: "prefer_on_device"; - readonly ONLY_ON_DEVICE: "only_on_device"; - readonly ONLY_IN_CLOUD: "only_in_cloud"; - readonly PREFER_IN_CLOUD: "prefer_in_cloud"; -}; -/** - * Determines whether inference happens on-device or in-cloud. - * - * @beta - */ -export type InferenceMode = (typeof InferenceMode)[keyof typeof InferenceMode]; -/** - * Indicates whether inference happened on-device or in-cloud. - * - * @beta - */ -export declare const InferenceSource: { - readonly ON_DEVICE: "on_device"; - readonly IN_CLOUD: "in_cloud"; -}; -/** - * Indicates whether inference happened on-device or in-cloud. - * - * @beta - */ -export type InferenceSource = (typeof InferenceSource)[keyof typeof InferenceSource]; -/** - * Represents the result of the code execution. - * - * @beta - */ -export declare const Outcome: { - UNSPECIFIED: string; - OK: string; - FAILED: string; - DEADLINE_EXCEEDED: string; -}; -/** - * Represents the result of the code execution. - * - * @beta - */ -export type Outcome = (typeof Outcome)[keyof typeof Outcome]; -/** - * The programming language of the code. - * - * @beta - */ -export declare const Language: { - UNSPECIFIED: string; - PYTHON: string; -}; -/** - * The programming language of the code. - * - * @beta - */ -export type Language = (typeof Language)[keyof typeof Language]; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/error.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/error.d.ts deleted file mode 100644 index 82e6bb4..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/error.d.ts +++ /dev/null @@ -1,89 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { GenerateContentResponse } from './responses'; -/** - * Details object that may be included in an error response. - * - * @public - */ -export interface ErrorDetails { - '@type'?: string; - /** The reason for the error. */ - reason?: string; - /** The domain where the error occurred. */ - domain?: string; - /** Additional metadata about the error. */ - metadata?: Record<string, unknown>; - /** Any other relevant information about the error. */ - [key: string]: unknown; -} -/** - * Details object that contains data originating from a bad HTTP response. - * - * @public - */ -export interface CustomErrorData { - /** HTTP status code of the error response. */ - status?: number; - /** HTTP status text of the error response. */ - statusText?: string; - /** Response from a {@link GenerateContentRequest} */ - response?: GenerateContentResponse; - /** Optional additional details about the error. */ - errorDetails?: ErrorDetails[]; -} -/** - * Standardized error codes that {@link AIError} can have. - * - * @public - */ -export declare const AIErrorCode: { - /** A generic error occurred. */ - readonly ERROR: "error"; - /** An error occurred in a request. */ - readonly REQUEST_ERROR: "request-error"; - /** An error occurred in a response. */ - readonly RESPONSE_ERROR: "response-error"; - /** An error occurred while performing a fetch. */ - readonly FETCH_ERROR: "fetch-error"; - /** An error occurred because an operation was attempted on a closed session. */ - readonly SESSION_CLOSED: "session-closed"; - /** An error associated with a Content object. */ - readonly INVALID_CONTENT: "invalid-content"; - /** An error due to the Firebase API not being enabled in the Console. */ - readonly API_NOT_ENABLED: "api-not-enabled"; - /** An error due to invalid Schema input. */ - readonly INVALID_SCHEMA: "invalid-schema"; - /** An error occurred due to a missing Firebase API key. */ - readonly NO_API_KEY: "no-api-key"; - /** An error occurred due to a missing Firebase app ID. */ - readonly NO_APP_ID: "no-app-id"; - /** An error occurred due to a model name not being specified during initialization. */ - readonly NO_MODEL: "no-model"; - /** An error occurred due to a missing project ID. */ - readonly NO_PROJECT_ID: "no-project-id"; - /** An error occurred while parsing. */ - readonly PARSE_FAILED: "parse-failed"; - /** An error occurred due an attempt to use an unsupported feature. */ - readonly UNSUPPORTED: "unsupported"; -}; -/** - * Standardized error codes that {@link AIError} can have. - * - * @public - */ -export type AIErrorCode = (typeof AIErrorCode)[keyof typeof AIErrorCode]; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/googleai.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/googleai.d.ts deleted file mode 100644 index 7060f48..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/googleai.d.ts +++ /dev/null @@ -1,57 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { Tool, GenerationConfig, Citation, FinishReason, GroundingMetadata, PromptFeedback, SafetyRating, UsageMetadata, URLContextMetadata } from '../public-types'; -import { Content, Part } from './content'; -/** - * @internal - */ -export interface GoogleAICountTokensRequest { - generateContentRequest: { - model: string; - contents: Content[]; - systemInstruction?: string | Part | Content; - tools?: Tool[]; - generationConfig?: GenerationConfig; - }; -} -/** - * @internal - */ -export interface GoogleAIGenerateContentResponse { - candidates?: GoogleAIGenerateContentCandidate[]; - promptFeedback?: PromptFeedback; - usageMetadata?: UsageMetadata; -} -/** - * @internal - */ -export interface GoogleAIGenerateContentCandidate { - index: number; - content: Content; - finishReason?: FinishReason; - finishMessage?: string; - safetyRatings?: SafetyRating[]; - citationMetadata?: GoogleAICitationMetadata; - groundingMetadata?: GroundingMetadata; - urlContextMetadata?: URLContextMetadata; -} -/** - * @internal - */ -export interface GoogleAICitationMetadata { - citationSources: Citation[]; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/imagen/index.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/imagen/index.d.ts deleted file mode 100644 index c56c5bc..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/imagen/index.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -export * from './requests'; -export * from './responses'; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/imagen/internal.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/imagen/internal.d.ts deleted file mode 100644 index 7d5824d..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/imagen/internal.d.ts +++ /dev/null @@ -1,134 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { ImagenGenerationConfig, ImagenSafetySettings } from './requests'; -/** - * A response from the REST API is expected to look like this in the success case: - * { - * "predictions": [ - * { - * "mimeType": "image/png", - * "bytesBase64Encoded": "iVBORw0KG..." - * }, - * { - * "mimeType": "image/png", - * "bytesBase64Encoded": "i4BOtw0KG..." - * } - * ] - * } - * - * And like this in the failure case: - * { - * "predictions": [ - * { - * "raiFilteredReason": "..." - * } - * ] - * } - * - * @internal - */ -export interface ImagenResponseInternal { - predictions?: Array<{ - /** - * The MIME type of the generated image. - */ - mimeType?: string; - /** - * The image data encoded as a base64 string. - */ - bytesBase64Encoded?: string; - /** - * The GCS URI where the image was stored. - */ - gcsUri?: string; - /** - * The reason why the image was filtered. - */ - raiFilteredReason?: string; - /** - * The safety attributes. - * - * This type is currently unused in the SDK. It is sent back because our requests set - * `includeSafetyAttributes`. This property is currently only used to avoid throwing an error - * when encountering this unsupported prediction type. - */ - safetyAttributes?: unknown; - }>; -} -/** - * The parameters to be sent in the request body of the HTTP call - * to the Vertex AI backend. - * - * We need a seperate internal-only interface for this because the REST - * API expects different parameter names than what we show to our users. - * - * Sample request body JSON: - * { - * "instances": [ - * { - * "prompt": "Portrait of a golden retriever on a beach." - * } - * ], - * "parameters": { - * "mimeType": "image/png", - * "safetyFilterLevel": "block_low_and_above", - * "personGeneration": "allow_all", - * "sampleCount": 2, - * "includeRaiReason": true, - * "includeSafetyAttributes": true, - * "aspectRatio": "9:16" - * } - * } - * - * See the Google Cloud docs: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api#-drest - * - * @internal - */ -export interface PredictRequestBody { - instances: [ - { - prompt: string; - } - ]; - parameters: { - sampleCount: number; - aspectRatio?: string; - outputOptions?: { - mimeType: string; - compressionQuality?: number; - }; - negativePrompt?: string; - storageUri?: string; - addWatermark?: boolean; - safetyFilterLevel?: string; - personGeneration?: string; - includeRaiReason: boolean; - includeSafetyAttributes: boolean; - }; -} -/** - * Contains all possible REST API paramaters that are provided by the caller. - * - * @internal - */ -export type ImagenGenerationParams = { - /** - * The Cloud Storage for Firebase bucket URI where the images should be stored - * (for GCS requests only). - */ - gcsURI?: string; -} & ImagenGenerationConfig & ImagenSafetySettings; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/imagen/requests.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/imagen/requests.d.ts deleted file mode 100644 index 31083fa..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/imagen/requests.d.ts +++ /dev/null @@ -1,245 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { ImagenImageFormat } from '../../requests/imagen-image-format'; -/** - * Parameters for configuring an {@link ImagenModel}. - * - * @public - */ -export interface ImagenModelParams { - /** - * The Imagen model to use for generating images. - * For example: `imagen-3.0-generate-002`. - * - * Only Imagen 3 models (named `imagen-3.0-*`) are supported. - * - * See {@link https://firebase.google.com/docs/vertex-ai/models | model versions} - * for a full list of supported Imagen 3 models. - */ - model: string; - /** - * Configuration options for generating images with Imagen. - */ - generationConfig?: ImagenGenerationConfig; - /** - * Safety settings for filtering potentially inappropriate content. - */ - safetySettings?: ImagenSafetySettings; -} -/** - * Configuration options for generating images with Imagen. - * - * See the {@link http://firebase.google.com/docs/vertex-ai/generate-images-imagen | documentation} for - * more details. - * - * @public - */ -export interface ImagenGenerationConfig { - /** - * A description of what should be omitted from the generated images. - * - * Support for negative prompts depends on the Imagen model. - * - * See the {@link http://firebase.google.com/docs/vertex-ai/model-parameters#imagen | documentation} for more details. - * - * This is no longer supported in the Gemini Developer API ({@link GoogleAIBackend}) in versions - * greater than `imagen-3.0-generate-002`. - */ - negativePrompt?: string; - /** - * The number of images to generate. The default value is 1. - * - * The number of sample images that may be generated in each request depends on the model - * (typically up to 4); see the <a href="http://firebase.google.com/docs/vertex-ai/model-parameters#imagen">sampleCount</a> - * documentation for more details. - */ - numberOfImages?: number; - /** - * The aspect ratio of the generated images. The default value is square 1:1. - * Supported aspect ratios depend on the Imagen model, see {@link (ImagenAspectRatio:type)} - * for more details. - */ - aspectRatio?: ImagenAspectRatio; - /** - * The image format of the generated images. The default is PNG. - * - * See {@link ImagenImageFormat} for more details. - */ - imageFormat?: ImagenImageFormat; - /** - * Whether to add an invisible watermark to generated images. - * - * If set to `true`, an invisible SynthID watermark is embedded in generated images to indicate - * that they are AI generated. If set to `false`, watermarking will be disabled. - * - * For Imagen 3 models, the default value is `true`; see the <a href="http://firebase.google.com/docs/vertex-ai/model-parameters#imagen">addWatermark</a> - * documentation for more details. - * - * When using the Gemini Developer API ({@link GoogleAIBackend}), this will default to true, - * and cannot be turned off. - */ - addWatermark?: boolean; -} -/** - * A filter level controlling how aggressively to filter sensitive content. - * - * Text prompts provided as inputs and images (generated or uploaded) through Imagen on Vertex AI - * are assessed against a list of safety filters, which include 'harmful categories' (for example, - * `violence`, `sexual`, `derogatory`, and `toxic`). This filter level controls how aggressively to - * filter out potentially harmful content from responses. See the {@link http://firebase.google.com/docs/vertex-ai/generate-images | documentation } - * and the {@link https://cloud.google.com/vertex-ai/generative-ai/docs/image/responsible-ai-imagen#safety-filters | Responsible AI and usage guidelines} - * for more details. - * - * @public - */ -export declare const ImagenSafetyFilterLevel: { - /** - * The most aggressive filtering level; most strict blocking. - */ - readonly BLOCK_LOW_AND_ABOVE: "block_low_and_above"; - /** - * Blocks some sensitive prompts and responses. - */ - readonly BLOCK_MEDIUM_AND_ABOVE: "block_medium_and_above"; - /** - * Blocks few sensitive prompts and responses. - */ - readonly BLOCK_ONLY_HIGH: "block_only_high"; - /** - * The least aggressive filtering level; blocks very few sensitive prompts and responses. - * - * Access to this feature is restricted and may require your case to be reviewed and approved by - * Cloud support. - */ - readonly BLOCK_NONE: "block_none"; -}; -/** - * A filter level controlling how aggressively to filter sensitive content. - * - * Text prompts provided as inputs and images (generated or uploaded) through Imagen on Vertex AI - * are assessed against a list of safety filters, which include 'harmful categories' (for example, - * `violence`, `sexual`, `derogatory`, and `toxic`). This filter level controls how aggressively to - * filter out potentially harmful content from responses. See the {@link http://firebase.google.com/docs/vertex-ai/generate-images | documentation } - * and the {@link https://cloud.google.com/vertex-ai/generative-ai/docs/image/responsible-ai-imagen#safety-filters | Responsible AI and usage guidelines} - * for more details. - * - * @public - */ -export type ImagenSafetyFilterLevel = (typeof ImagenSafetyFilterLevel)[keyof typeof ImagenSafetyFilterLevel]; -/** - * A filter level controlling whether generation of images containing people or faces is allowed. - * - * See the <a href="http://firebase.google.com/docs/vertex-ai/generate-images">personGeneration</a> - * documentation for more details. - * - * @public - */ -export declare const ImagenPersonFilterLevel: { - /** - * Disallow generation of images containing people or faces; images of people are filtered out. - */ - readonly BLOCK_ALL: "dont_allow"; - /** - * Allow generation of images containing adults only; images of children are filtered out. - * - * Generation of images containing people or faces may require your use case to be - * reviewed and approved by Cloud support; see the {@link https://cloud.google.com/vertex-ai/generative-ai/docs/image/responsible-ai-imagen#person-face-gen | Responsible AI and usage guidelines} - * for more details. - */ - readonly ALLOW_ADULT: "allow_adult"; - /** - * Allow generation of images containing adults only; images of children are filtered out. - * - * Generation of images containing people or faces may require your use case to be - * reviewed and approved by Cloud support; see the {@link https://cloud.google.com/vertex-ai/generative-ai/docs/image/responsible-ai-imagen#person-face-gen | Responsible AI and usage guidelines} - * for more details. - */ - readonly ALLOW_ALL: "allow_all"; -}; -/** - * A filter level controlling whether generation of images containing people or faces is allowed. - * - * See the <a href="http://firebase.google.com/docs/vertex-ai/generate-images">personGeneration</a> - * documentation for more details. - * - * @public - */ -export type ImagenPersonFilterLevel = (typeof ImagenPersonFilterLevel)[keyof typeof ImagenPersonFilterLevel]; -/** - * Settings for controlling the aggressiveness of filtering out sensitive content. - * - * See the {@link http://firebase.google.com/docs/vertex-ai/generate-images | documentation } - * for more details. - * - * @public - */ -export interface ImagenSafetySettings { - /** - * A filter level controlling how aggressive to filter out sensitive content from generated - * images. - */ - safetyFilterLevel?: ImagenSafetyFilterLevel; - /** - * A filter level controlling whether generation of images containing people or faces is allowed. - */ - personFilterLevel?: ImagenPersonFilterLevel; -} -/** - * Aspect ratios for Imagen images. - * - * To specify an aspect ratio for generated images, set the `aspectRatio` property in your - * {@link ImagenGenerationConfig}. - * - * See the {@link http://firebase.google.com/docs/vertex-ai/generate-images | documentation } - * for more details and examples of the supported aspect ratios. - * - * @public - */ -export declare const ImagenAspectRatio: { - /** - * Square (1:1) aspect ratio. - */ - readonly SQUARE: "1:1"; - /** - * Landscape (3:4) aspect ratio. - */ - readonly LANDSCAPE_3x4: "3:4"; - /** - * Portrait (4:3) aspect ratio. - */ - readonly PORTRAIT_4x3: "4:3"; - /** - * Landscape (16:9) aspect ratio. - */ - readonly LANDSCAPE_16x9: "16:9"; - /** - * Portrait (9:16) aspect ratio. - */ - readonly PORTRAIT_9x16: "9:16"; -}; -/** - * Aspect ratios for Imagen images. - * - * To specify an aspect ratio for generated images, set the `aspectRatio` property in your - * {@link ImagenGenerationConfig}. - * - * See the {@link http://firebase.google.com/docs/vertex-ai/generate-images | documentation } - * for more details and examples of the supported aspect ratios. - * - * @public - */ -export type ImagenAspectRatio = (typeof ImagenAspectRatio)[keyof typeof ImagenAspectRatio]; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/imagen/responses.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/imagen/responses.d.ts deleted file mode 100644 index f5dfc0f..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/imagen/responses.d.ts +++ /dev/null @@ -1,79 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/** - * An image generated by Imagen, represented as inline data. - * - * @public - */ -export interface ImagenInlineImage { - /** - * The MIME type of the image; either `"image/png"` or `"image/jpeg"`. - * - * To request a different format, set the `imageFormat` property in your {@link ImagenGenerationConfig}. - */ - mimeType: string; - /** - * The base64-encoded image data. - */ - bytesBase64Encoded: string; -} -/** - * An image generated by Imagen, stored in a Cloud Storage for Firebase bucket. - * - * This feature is not available yet. - * @public - */ -export interface ImagenGCSImage { - /** - * The MIME type of the image; either `"image/png"` or `"image/jpeg"`. - * - * To request a different format, set the `imageFormat` property in your {@link ImagenGenerationConfig}. - */ - mimeType: string; - /** - * The URI of the file stored in a Cloud Storage for Firebase bucket. - * - * @example `"gs://bucket-name/path/sample_0.jpg"`. - */ - gcsURI: string; -} -/** - * The response from a request to generate images with Imagen. - * - * @public - */ -export interface ImagenGenerationResponse<T extends ImagenInlineImage | ImagenGCSImage> { - /** - * The images generated by Imagen. - * - * The number of images generated may be fewer than the number requested if one or more were - * filtered out; see `filteredReason`. - */ - images: T[]; - /** - * The reason that images were filtered out. This property will only be defined if one - * or more images were filtered. - * - * Images may be filtered out due to the {@link (ImagenSafetyFilterLevel:type)}, - * {@link (ImagenPersonFilterLevel:type)}, or filtering included in the model. - * The filter levels may be adjusted in your {@link ImagenSafetySettings}. - * - * See the {@link https://cloud.google.com/vertex-ai/generative-ai/docs/image/responsible-ai-imagen | Responsible AI and usage guidelines for Imagen} - * for more details. - */ - filteredReason?: string; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/index.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/index.d.ts deleted file mode 100644 index a8508d4..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/index.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -export * from './content'; -export * from './enums'; -export * from './requests'; -export * from './responses'; -export * from './error'; -export * from './schema'; -export * from './imagen'; -export * from './googleai'; -export { LanguageModelCreateOptions, LanguageModelCreateCoreOptions, LanguageModelExpected, LanguageModelMessage, LanguageModelMessageContent, LanguageModelMessageContentValue, LanguageModelMessageRole, LanguageModelMessageType, LanguageModelPromptOptions } from './language-model'; -export * from './chrome-adapter'; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/internal.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/internal.d.ts deleted file mode 100644 index 3c16979..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/internal.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { AppCheckTokenResult } from '@firebase/app-check-interop-types'; -import { FirebaseAuthTokenData } from '@firebase/auth-interop-types'; -import { Backend } from '../backend'; -export * from './imagen/internal'; -export interface ApiSettings { - apiKey: string; - project: string; - appId: string; - automaticDataCollectionEnabled?: boolean; - /** - * @deprecated Use `backend.location` instead. - */ - location: string; - backend: Backend; - getAuthToken?: () => Promise<FirebaseAuthTokenData | null>; - getAppCheckToken?: () => Promise<AppCheckTokenResult>; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/language-model.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/language-model.d.ts deleted file mode 100644 index 9361a1f..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/language-model.d.ts +++ /dev/null @@ -1,107 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/** - * The subset of the Prompt API - * (see {@link https://github.com/webmachinelearning/prompt-api#full-api-surface-in-web-idl } - * required for hybrid functionality. - * - * @internal - */ -export interface LanguageModel extends EventTarget { - create(options?: LanguageModelCreateOptions): Promise<LanguageModel>; - availability(options?: LanguageModelCreateCoreOptions): Promise<Availability>; - prompt(input: LanguageModelPrompt, options?: LanguageModelPromptOptions): Promise<string>; - promptStreaming(input: LanguageModelPrompt, options?: LanguageModelPromptOptions): ReadableStream; - measureInputUsage(input: LanguageModelPrompt, options?: LanguageModelPromptOptions): Promise<number>; - destroy(): undefined; -} -/** - * @internal - */ -export declare enum Availability { - 'UNAVAILABLE' = "unavailable", - 'DOWNLOADABLE' = "downloadable", - 'DOWNLOADING' = "downloading", - 'AVAILABLE' = "available" -} -/** - * Configures the creation of an on-device language model session. - * @beta - */ -export interface LanguageModelCreateCoreOptions { - topK?: number; - temperature?: number; - expectedInputs?: LanguageModelExpected[]; -} -/** - * Configures the creation of an on-device language model session. - * @beta - */ -export interface LanguageModelCreateOptions extends LanguageModelCreateCoreOptions { - signal?: AbortSignal; - initialPrompts?: LanguageModelMessage[]; -} -/** - * Options for an on-device language model prompt. - * @beta - */ -export interface LanguageModelPromptOptions { - responseConstraint?: object; -} -/** - * Options for the expected inputs for an on-device language model. - * @beta - */ export interface LanguageModelExpected { - type: LanguageModelMessageType; - languages?: string[]; -} -/** - * An on-device language model prompt. - * @beta - */ -export type LanguageModelPrompt = LanguageModelMessage[]; -/** - * An on-device language model message. - * @beta - */ -export interface LanguageModelMessage { - role: LanguageModelMessageRole; - content: LanguageModelMessageContent[]; -} -/** - * An on-device language model content object. - * @beta - */ -export interface LanguageModelMessageContent { - type: LanguageModelMessageType; - value: LanguageModelMessageContentValue; -} -/** - * Allowable roles for on-device language model usage. - * @beta - */ -export type LanguageModelMessageRole = 'system' | 'user' | 'assistant'; -/** - * Allowable types for on-device language model messages. - * @beta - */ -export type LanguageModelMessageType = 'text' | 'image' | 'audio'; -/** - * Content formats that can be provided as on-device message content. - * @beta - */ -export type LanguageModelMessageContentValue = ImageBitmapSource | AudioBuffer | BufferSource | string; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/live-responses.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/live-responses.d.ts deleted file mode 100644 index 8270db9..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/live-responses.d.ts +++ /dev/null @@ -1,79 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { Content, FunctionResponse, GenerativeContentBlob, Part } from './content'; -import { AudioTranscriptionConfig, LiveGenerationConfig, Tool, ToolConfig } from './requests'; -import { Transcription } from './responses'; -/** - * User input that is sent to the model. - * - * @internal - */ -export interface _LiveClientContent { - clientContent: { - turns: [Content]; - turnComplete: boolean; - inputTranscription?: Transcription; - outputTranscription?: Transcription; - }; -} -/** - * User input that is sent to the model in real time. - * - * @internal - */ -export interface _LiveClientRealtimeInput { - realtimeInput: { - text?: string; - audio?: GenerativeContentBlob; - video?: GenerativeContentBlob; - /** - * @deprecated Use `text`, `audio`, and `video` instead. - */ - mediaChunks?: GenerativeContentBlob[]; - }; -} -/** - * Function responses that are sent to the model in real time. - */ -export interface _LiveClientToolResponse { - toolResponse: { - functionResponses: FunctionResponse[]; - }; -} -/** - * The first message in a Live session, used to configure generation options. - * - * @internal - */ -export interface _LiveClientSetup { - setup: { - model: string; - generationConfig?: _LiveGenerationConfig; - tools?: Tool[]; - toolConfig?: ToolConfig; - systemInstruction?: string | Part | Content; - inputAudioTranscription?: AudioTranscriptionConfig; - outputAudioTranscription?: AudioTranscriptionConfig; - }; -} -/** - * The Live Generation Config. - * - * The public API ({@link LiveGenerationConfig}) has `inputAudioTranscription` and `outputAudioTranscription`, - * but the server expects these fields to be in the top-level `setup` message. This was a conscious API decision. - */ -export type _LiveGenerationConfig = Omit<LiveGenerationConfig, 'inputAudioTranscription' | 'outputAudioTranscription'>; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/requests.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/requests.d.ts deleted file mode 100644 index 6df8be1..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/requests.d.ts +++ /dev/null @@ -1,464 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { ObjectSchema, TypedSchema } from '../requests/schema-builder'; -import { Content, Part } from './content'; -import { LanguageModelCreateOptions, LanguageModelPromptOptions } from './language-model'; -import { FunctionCallingMode, HarmBlockMethod, HarmBlockThreshold, HarmCategory, InferenceMode, ResponseModality } from './enums'; -import { ObjectSchemaRequest, SchemaRequest } from './schema'; -/** - * Base parameters for a number of methods. - * @public - */ -export interface BaseParams { - safetySettings?: SafetySetting[]; - generationConfig?: GenerationConfig; -} -/** - * Params passed to {@link getGenerativeModel}. - * @public - */ -export interface ModelParams extends BaseParams { - model: string; - tools?: Tool[]; - toolConfig?: ToolConfig; - systemInstruction?: string | Part | Content; -} -/** - * Params passed to {@link getLiveGenerativeModel}. - * @beta - */ -export interface LiveModelParams { - model: string; - generationConfig?: LiveGenerationConfig; - tools?: Tool[]; - toolConfig?: ToolConfig; - systemInstruction?: string | Part | Content; -} -/** - * Request sent through {@link GenerativeModel.generateContent} - * @public - */ -export interface GenerateContentRequest extends BaseParams { - contents: Content[]; - tools?: Tool[]; - toolConfig?: ToolConfig; - systemInstruction?: string | Part | Content; -} -/** - * Safety setting that can be sent as part of request parameters. - * @public - */ -export interface SafetySetting { - category: HarmCategory; - threshold: HarmBlockThreshold; - /** - * The harm block method. - * - * This property is only supported in the Vertex AI Gemini API ({@link VertexAIBackend}). - * When using the Gemini Developer API ({@link GoogleAIBackend}), an {@link AIError} will be - * thrown if this property is defined. - */ - method?: HarmBlockMethod; -} -/** - * Config options for content-related requests - * @public - */ -export interface GenerationConfig { - candidateCount?: number; - stopSequences?: string[]; - maxOutputTokens?: number; - temperature?: number; - topP?: number; - topK?: number; - presencePenalty?: number; - frequencyPenalty?: number; - /** - * Output response MIME type of the generated candidate text. - * Supported MIME types are `text/plain` (default, text output), - * `application/json` (JSON response in the candidates), and - * `text/x.enum`. - */ - responseMimeType?: string; - /** - * Output response schema of the generated candidate text. This - * value can be a class generated with a {@link Schema} static method - * like `Schema.string()` or `Schema.object()` or it can be a plain - * JS object matching the {@link SchemaRequest} interface. - * <br/>Note: This only applies when the specified `responseMimeType` supports a schema; currently - * this is limited to `application/json` and `text/x.enum`. - */ - responseSchema?: TypedSchema | SchemaRequest; - /** - * Generation modalities to be returned in generation responses. - * - * @remarks - * - Multimodal response generation is only supported by some Gemini models and versions; see {@link https://firebase.google.com/docs/vertex-ai/models | model versions}. - * - Only image generation (`ResponseModality.IMAGE`) is supported. - * - * @beta - */ - responseModalities?: ResponseModality[]; - /** - * Configuration for "thinking" behavior of compatible Gemini models. - */ - thinkingConfig?: ThinkingConfig; -} -/** - * Configuration parameters used by {@link LiveGenerativeModel} to control live content generation. - * - * @beta - */ -export interface LiveGenerationConfig { - /** - * Configuration for speech synthesis. - */ - speechConfig?: SpeechConfig; - /** - * Specifies the maximum number of tokens that can be generated in the response. The number of - * tokens per word varies depending on the language outputted. Is unbounded by default. - */ - maxOutputTokens?: number; - /** - * Controls the degree of randomness in token selection. A `temperature` value of 0 means that the highest - * probability tokens are always selected. In this case, responses for a given prompt are mostly - * deterministic, but a small amount of variation is still possible. - */ - temperature?: number; - /** - * Changes how the model selects tokens for output. Tokens are - * selected from the most to least probable until the sum of their probabilities equals the `topP` - * value. For example, if tokens A, B, and C have probabilities of 0.3, 0.2, and 0.1 respectively - * and the `topP` value is 0.5, then the model will select either A or B as the next token by using - * the `temperature` and exclude C as a candidate. Defaults to 0.95 if unset. - */ - topP?: number; - /** - * Changes how the model selects token for output. A `topK` value of 1 means the select token is - * the most probable among all tokens in the model's vocabulary, while a `topK` value 3 means that - * the next token is selected from among the 3 most probably using probabilities sampled. Tokens - * are then further filtered with the highest selected `temperature` sampling. Defaults to 40 - * if unspecified. - */ - topK?: number; - /** - * Positive penalties. - */ - presencePenalty?: number; - /** - * Frequency penalties. - */ - frequencyPenalty?: number; - /** - * The modalities of the response. - */ - responseModalities?: ResponseModality[]; - /** - * Enables transcription of audio input. - * - * When enabled, the model will respond with transcriptions of your audio input in the `inputTranscriptions` property - * in {@link LiveServerContent} messages. Note that the transcriptions are broken up across - * messages, so you may only receive small amounts of text per message. For example, if you ask the model - * "How are you today?", the model may transcribe that input across three messages, broken up as "How a", "re yo", "u today?". - */ - inputAudioTranscription?: AudioTranscriptionConfig; - /** - * Enables transcription of audio input. - * - * When enabled, the model will respond with transcriptions of its audio output in the `outputTranscription` property - * in {@link LiveServerContent} messages. Note that the transcriptions are broken up across - * messages, so you may only receive small amounts of text per message. For example, if the model says - * "How are you today?", the model may transcribe that output across three messages, broken up as "How a", "re yo", "u today?". - */ - outputAudioTranscription?: AudioTranscriptionConfig; -} -/** - * Params for {@link GenerativeModel.startChat}. - * @public - */ -export interface StartChatParams extends BaseParams { - history?: Content[]; - tools?: Tool[]; - toolConfig?: ToolConfig; - systemInstruction?: string | Part | Content; -} -/** - * Params for calling {@link GenerativeModel.countTokens} - * @public - */ -export interface CountTokensRequest { - contents: Content[]; - /** - * Instructions that direct the model to behave a certain way. - */ - systemInstruction?: string | Part | Content; - /** - * {@link Tool} configuration. - */ - tools?: Tool[]; - /** - * Configuration options that control how the model generates a response. - */ - generationConfig?: GenerationConfig; -} -/** - * Params passed to {@link getGenerativeModel}. - * @public - */ -export interface RequestOptions { - /** - * Request timeout in milliseconds. Defaults to 180 seconds (180000ms). - */ - timeout?: number; - /** - * Base url for endpoint. Defaults to - * https://firebasevertexai.googleapis.com, which is the - * {@link https://console.cloud.google.com/apis/library/firebasevertexai.googleapis.com?project=_ | Firebase AI Logic API} - * (used regardless of your chosen Gemini API provider). - */ - baseUrl?: string; -} -/** - * Defines a tool that model can call to access external knowledge. - * @public - */ -export type Tool = FunctionDeclarationsTool | GoogleSearchTool | CodeExecutionTool | URLContextTool; -/** - * Structured representation of a function declaration as defined by the - * {@link https://spec.openapis.org/oas/v3.0.3 | OpenAPI 3.0 specification}. - * Included - * in this declaration are the function name and parameters. This - * `FunctionDeclaration` is a representation of a block of code that can be used - * as a Tool by the model and executed by the client. - * @public - */ -export interface FunctionDeclaration { - /** - * The name of the function to call. Must start with a letter or an - * underscore. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with - * a max length of 64. - */ - name: string; - /** - * Description and purpose of the function. Model uses it to decide - * how and whether to call the function. - */ - description: string; - /** - * Optional. Describes the parameters to this function in JSON Schema Object - * format. Reflects the Open API 3.03 Parameter Object. Parameter names are - * case-sensitive. For a function with no parameters, this can be left unset. - */ - parameters?: ObjectSchema | ObjectSchemaRequest; -} -/** - * A tool that allows a Gemini model to connect to Google Search to access and incorporate - * up-to-date information from the web into its responses. - * - * Important: If using Grounding with Google Search, you are required to comply with the - * "Grounding with Google Search" usage requirements for your chosen API provider: {@link https://ai.google.dev/gemini-api/terms#grounding-with-google-search | Gemini Developer API} - * or Vertex AI Gemini API (see {@link https://cloud.google.com/terms/service-terms | Service Terms} - * section within the Service Specific Terms). - * - * @public - */ -export interface GoogleSearchTool { - /** - * Specifies the Google Search configuration. - * Currently, this is an empty object, but it's reserved for future configuration options. - * - * When using this feature, you are required to comply with the "Grounding with Google Search" - * usage requirements for your chosen API provider: {@link https://ai.google.dev/gemini-api/terms#grounding-with-google-search | Gemini Developer API} - * or Vertex AI Gemini API (see {@link https://cloud.google.com/terms/service-terms | Service Terms} - * section within the Service Specific Terms). - */ - googleSearch: GoogleSearch; -} -/** - * A tool that enables the model to use code execution. - * - * @beta - */ -export interface CodeExecutionTool { - /** - * Specifies the Google Search configuration. - * Currently, this is an empty object, but it's reserved for future configuration options. - */ - codeExecution: {}; -} -/** - * Specifies the Google Search configuration. - * - * @remarks Currently, this is an empty object, but it's reserved for future configuration options. - * - * @public - */ -export interface GoogleSearch { -} -/** - * A tool that allows you to provide additional context to the models in the form of public web - * URLs. By including URLs in your request, the Gemini model will access the content from those - * pages to inform and enhance its response. - * - * @beta - */ -export interface URLContextTool { - /** - * Specifies the URL Context configuration. - */ - urlContext: URLContext; -} -/** - * Specifies the URL Context configuration. - * - * @beta - */ -export interface URLContext { -} -/** - * A `FunctionDeclarationsTool` is a piece of code that enables the system to - * interact with external systems to perform an action, or set of actions, - * outside of knowledge and scope of the model. - * @public - */ -export interface FunctionDeclarationsTool { - /** - * Optional. One or more function declarations - * to be passed to the model along with the current user query. Model may - * decide to call a subset of these functions by populating - * {@link FunctionCall} in the response. User should - * provide a {@link FunctionResponse} for each - * function call in the next turn. Based on the function responses, the model will - * generate the final response back to the user. Maximum 64 function - * declarations can be provided. - */ - functionDeclarations?: FunctionDeclaration[]; -} -/** - * Tool config. This config is shared for all tools provided in the request. - * @public - */ -export interface ToolConfig { - functionCallingConfig?: FunctionCallingConfig; -} -/** - * @public - */ -export interface FunctionCallingConfig { - mode?: FunctionCallingMode; - allowedFunctionNames?: string[]; -} -/** - * Encapsulates configuration for on-device inference. - * - * @beta - */ -export interface OnDeviceParams { - createOptions?: LanguageModelCreateOptions; - promptOptions?: LanguageModelPromptOptions; -} -/** - * Configures hybrid inference. - * @beta - */ -export interface HybridParams { - /** - * Specifies on-device or in-cloud inference. Defaults to prefer on-device. - */ - mode: InferenceMode; - /** - * Optional. Specifies advanced params for on-device inference. - */ - onDeviceParams?: OnDeviceParams; - /** - * Optional. Specifies advanced params for in-cloud inference. - */ - inCloudParams?: ModelParams; -} -/** - * Configuration for "thinking" behavior of compatible Gemini models. - * - * Certain models utilize a thinking process before generating a response. This allows them to - * reason through complex problems and plan a more coherent and accurate answer. - * - * @public - */ -export interface ThinkingConfig { - /** - * The thinking budget, in tokens. - * - * This parameter sets an upper limit on the number of tokens the model can use for its internal - * "thinking" process. A higher budget may result in higher quality responses for complex tasks - * but can also increase latency and cost. - * - * If you don't specify a budget, the model will determine the appropriate amount - * of thinking based on the complexity of the prompt. - * - * An error will be thrown if you set a thinking budget for a model that does not support this - * feature or if the specified budget is not within the model's supported range. - */ - thinkingBudget?: number; - /** - * Whether to include "thought summaries" in the model's response. - * - * @remarks - * Thought summaries provide a brief overview of the model's internal thinking process, - * offering insight into how it arrived at the final answer. This can be useful for - * debugging, understanding the model's reasoning, and verifying its accuracy. - */ - includeThoughts?: boolean; -} -/** - * Configuration for a pre-built voice. - * - * @beta - */ -export interface PrebuiltVoiceConfig { - /** - * The voice name to use for speech synthesis. - * - * For a full list of names and demos of what each voice sounds like, see {@link https://cloud.google.com/text-to-speech/docs/chirp3-hd | Chirp 3: HD Voices}. - */ - voiceName?: string; -} -/** - * Configuration for the voice to used in speech synthesis. - * - * @beta - */ -export interface VoiceConfig { - /** - * Configures the voice using a pre-built voice configuration. - */ - prebuiltVoiceConfig?: PrebuiltVoiceConfig; -} -/** - * Configures speech synthesis. - * - * @beta - */ -export interface SpeechConfig { - /** - * Configures the voice to be used in speech synthesis. - */ - voiceConfig?: VoiceConfig; -} -/** - * The audio transcription configuration. - */ -export interface AudioTranscriptionConfig { -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/responses.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/responses.d.ts deleted file mode 100644 index 8896455..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/responses.d.ts +++ /dev/null @@ -1,582 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -import { Content, FunctionCall, InlineDataPart } from './content'; -import { BlockReason, FinishReason, HarmCategory, HarmProbability, HarmSeverity, InferenceSource, Modality } from './enums'; -/** - * Result object returned from {@link GenerativeModel.generateContent} call. - * - * @public - */ -export interface GenerateContentResult { - response: EnhancedGenerateContentResponse; -} -/** - * Result object returned from {@link GenerativeModel.generateContentStream} call. - * Iterate over `stream` to get chunks as they come in and/or - * use the `response` promise to get the aggregated response when - * the stream is done. - * - * @public - */ -export interface GenerateContentStreamResult { - stream: AsyncGenerator<EnhancedGenerateContentResponse>; - response: Promise<EnhancedGenerateContentResponse>; -} -/** - * Response object wrapped with helper methods. - * - * @public - */ -export interface EnhancedGenerateContentResponse extends GenerateContentResponse { - /** - * Returns the text string from the response, if available. - * Throws if the prompt or candidate was blocked. - */ - text: () => string; - /** - * Aggregates and returns every {@link InlineDataPart} from the first candidate of - * {@link GenerateContentResponse}. - * - * @throws If the prompt or candidate was blocked. - */ - inlineDataParts: () => InlineDataPart[] | undefined; - /** - * Aggregates and returns every {@link FunctionCall} from the first candidate of - * {@link GenerateContentResponse}. - * - * @throws If the prompt or candidate was blocked. - */ - functionCalls: () => FunctionCall[] | undefined; - /** - * Aggregates and returns every {@link TextPart} with their `thought` property set - * to `true` from the first candidate of {@link GenerateContentResponse}. - * - * @throws If the prompt or candidate was blocked. - * - * @remarks - * Thought summaries provide a brief overview of the model's internal thinking process, - * offering insight into how it arrived at the final answer. This can be useful for - * debugging, understanding the model's reasoning, and verifying its accuracy. - * - * Thoughts will only be included if {@link ThinkingConfig.includeThoughts} is - * set to `true`. - */ - thoughtSummary: () => string | undefined; - /** - * Indicates whether inference happened on-device or in-cloud. - * - * @beta - */ - inferenceSource?: InferenceSource; -} -/** - * Individual response from {@link GenerativeModel.generateContent} and - * {@link GenerativeModel.generateContentStream}. - * `generateContentStream()` will return one in each chunk until - * the stream is done. - * @public - */ -export interface GenerateContentResponse { - candidates?: GenerateContentCandidate[]; - promptFeedback?: PromptFeedback; - usageMetadata?: UsageMetadata; -} -/** - * Usage metadata about a {@link GenerateContentResponse}. - * - * @public - */ -export interface UsageMetadata { - promptTokenCount: number; - candidatesTokenCount: number; - /** - * The number of tokens used by the model's internal "thinking" process. - */ - thoughtsTokenCount?: number; - totalTokenCount: number; - /** - * The number of tokens used by tools. - */ - toolUsePromptTokenCount?: number; - promptTokensDetails?: ModalityTokenCount[]; - candidatesTokensDetails?: ModalityTokenCount[]; - /** - * A list of tokens used by tools, broken down by modality. - */ - toolUsePromptTokensDetails?: ModalityTokenCount[]; -} -/** - * Represents token counting info for a single modality. - * - * @public - */ -export interface ModalityTokenCount { - /** The modality associated with this token count. */ - modality: Modality; - /** The number of tokens counted. */ - tokenCount: number; -} -/** - * If the prompt was blocked, this will be populated with `blockReason` and - * the relevant `safetyRatings`. - * @public - */ -export interface PromptFeedback { - blockReason?: BlockReason; - safetyRatings: SafetyRating[]; - /** - * A human-readable description of the `blockReason`. - * - * This property is only supported in the Vertex AI Gemini API ({@link VertexAIBackend}). - */ - blockReasonMessage?: string; -} -/** - * A candidate returned as part of a {@link GenerateContentResponse}. - * @public - */ -export interface GenerateContentCandidate { - index: number; - content: Content; - finishReason?: FinishReason; - finishMessage?: string; - safetyRatings?: SafetyRating[]; - citationMetadata?: CitationMetadata; - groundingMetadata?: GroundingMetadata; - urlContextMetadata?: URLContextMetadata; -} -/** - * Citation metadata that may be found on a {@link GenerateContentCandidate}. - * @public - */ -export interface CitationMetadata { - citations: Citation[]; -} -/** - * A single citation. - * @public - */ -export interface Citation { - startIndex?: number; - endIndex?: number; - uri?: string; - license?: string; - /** - * The title of the cited source, if available. - * - * This property is only supported in the Vertex AI Gemini API ({@link VertexAIBackend}). - */ - title?: string; - /** - * The publication date of the cited source, if available. - * - * This property is only supported in the Vertex AI Gemini API ({@link VertexAIBackend}). - */ - publicationDate?: Date; -} -/** - * Metadata returned when grounding is enabled. - * - * Currently, only Grounding with Google Search is supported (see {@link GoogleSearchTool}). - * - * Important: If using Grounding with Google Search, you are required to comply with the - * "Grounding with Google Search" usage requirements for your chosen API provider: {@link https://ai.google.dev/gemini-api/terms#grounding-with-google-search | Gemini Developer API} - * or Vertex AI Gemini API (see {@link https://cloud.google.com/terms/service-terms | Service Terms} - * section within the Service Specific Terms). - * - * @public - */ -export interface GroundingMetadata { - /** - * Google Search entry point for web searches. This contains an HTML/CSS snippet that must be - * embedded in an app to display a Google Search entry point for follow-up web searches related to - * a model's "Grounded Response". - */ - searchEntryPoint?: SearchEntrypoint; - /** - * A list of {@link GroundingChunk} objects. Each chunk represents a piece of retrieved content - * (for example, from a web page). that the model used to ground its response. - */ - groundingChunks?: GroundingChunk[]; - /** - * A list of {@link GroundingSupport} objects. Each object details how specific segments of the - * model's response are supported by the `groundingChunks`. - */ - groundingSupports?: GroundingSupport[]; - /** - * A list of web search queries that the model performed to gather the grounding information. - * These can be used to allow users to explore the search results themselves. - */ - webSearchQueries?: string[]; - /** - * @deprecated Use {@link GroundingSupport} instead. - */ - retrievalQueries?: string[]; -} -/** - * Google search entry point. - * - * @public - */ -export interface SearchEntrypoint { - /** - * HTML/CSS snippet that must be embedded in a web page. The snippet is designed to avoid - * undesired interaction with the rest of the page's CSS. - * - * To ensure proper rendering and prevent CSS conflicts, it is recommended - * to encapsulate this `renderedContent` within a shadow DOM when embedding it - * into a webpage. See {@link https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM | MDN: Using shadow DOM}. - * - * @example - * ```javascript - * const container = document.createElement('div'); - * document.body.appendChild(container); - * container.attachShadow({ mode: 'open' }).innerHTML = renderedContent; - * ``` - */ - renderedContent?: string; -} -/** - * Represents a chunk of retrieved data that supports a claim in the model's response. This is part - * of the grounding information provided when grounding is enabled. - * - * @public - */ -export interface GroundingChunk { - /** - * Contains details if the grounding chunk is from a web source. - */ - web?: WebGroundingChunk; -} -/** - * A grounding chunk from the web. - * - * Important: If using Grounding with Google Search, you are required to comply with the - * {@link https://cloud.google.com/terms/service-terms | Service Specific Terms} for "Grounding with Google Search". - * - * @public - */ -export interface WebGroundingChunk { - /** - * The URI of the retrieved web page. - */ - uri?: string; - /** - * The title of the retrieved web page. - */ - title?: string; - /** - * The domain of the original URI from which the content was retrieved. - * - * This property is only supported in the Vertex AI Gemini API ({@link VertexAIBackend}). - * When using the Gemini Developer API ({@link GoogleAIBackend}), this property will be - * `undefined`. - */ - domain?: string; -} -/** - * Provides information about how a specific segment of the model's response is supported by the - * retrieved grounding chunks. - * - * @public - */ -export interface GroundingSupport { - /** - * Specifies the segment of the model's response content that this grounding support pertains to. - */ - segment?: Segment; - /** - * A list of indices that refer to specific {@link GroundingChunk} objects within the - * {@link GroundingMetadata.groundingChunks} array. These referenced chunks - * are the sources that support the claim made in the associated `segment` of the response. - * For example, an array `[1, 3, 4]` means that `groundingChunks[1]`, `groundingChunks[3]`, - * and `groundingChunks[4]` are the retrieved content supporting this part of the response. - */ - groundingChunkIndices?: number[]; -} -/** - * Represents a specific segment within a {@link Content} object, often used to - * pinpoint the exact location of text or data that grounding information refers to. - * - * @public - */ -export interface Segment { - /** - * The zero-based index of the {@link Part} object within the `parts` array - * of its parent {@link Content} object. This identifies which part of the - * content the segment belongs to. - */ - partIndex: number; - /** - * The zero-based start index of the segment within the specified `Part`, - * measured in UTF-8 bytes. This offset is inclusive, starting from 0 at the - * beginning of the part's content (e.g., `Part.text`). - */ - startIndex: number; - /** - * The zero-based end index of the segment within the specified `Part`, - * measured in UTF-8 bytes. This offset is exclusive, meaning the character - * at this index is not included in the segment. - */ - endIndex: number; - /** - * The text corresponding to the segment from the response. - */ - text: string; -} -/** - * Metadata related to {@link URLContextTool}. - * - * @beta - */ -export interface URLContextMetadata { - /** - * List of URL metadata used to provide context to the Gemini model. - */ - urlMetadata: URLMetadata[]; -} -/** - * Metadata for a single URL retrieved by the {@link URLContextTool} tool. - * - * @beta - */ -export interface URLMetadata { - /** - * The retrieved URL. - */ - retrievedUrl?: string; - /** - * The status of the URL retrieval. - */ - urlRetrievalStatus?: URLRetrievalStatus; -} -/** - * The status of a URL retrieval. - * - * @remarks - * <b>URL_RETRIEVAL_STATUS_UNSPECIFIED:</b> Unspecified retrieval status. - * <br/> - * <b>URL_RETRIEVAL_STATUS_SUCCESS:</b> The URL retrieval was successful. - * <br/> - * <b>URL_RETRIEVAL_STATUS_ERROR:</b> The URL retrieval failed. - * <br/> - * <b>URL_RETRIEVAL_STATUS_PAYWALL:</b> The URL retrieval failed because the content is behind a paywall. - * <br/> - * <b>URL_RETRIEVAL_STATUS_UNSAFE:</b> The URL retrieval failed because the content is unsafe. - * <br/> - * - * @beta - */ -export declare const URLRetrievalStatus: { - /** - * Unspecified retrieval status. - */ - URL_RETRIEVAL_STATUS_UNSPECIFIED: string; - /** - * The URL retrieval was successful. - */ - URL_RETRIEVAL_STATUS_SUCCESS: string; - /** - * The URL retrieval failed. - */ - URL_RETRIEVAL_STATUS_ERROR: string; - /** - * The URL retrieval failed because the content is behind a paywall. - */ - URL_RETRIEVAL_STATUS_PAYWALL: string; - /** - * The URL retrieval failed because the content is unsafe. - */ - URL_RETRIEVAL_STATUS_UNSAFE: string; -}; -/** - * The status of a URL retrieval. - * - * @remarks - * <b>URL_RETRIEVAL_STATUS_UNSPECIFIED:</b> Unspecified retrieval status. - * <br/> - * <b>URL_RETRIEVAL_STATUS_SUCCESS:</b> The URL retrieval was successful. - * <br/> - * <b>URL_RETRIEVAL_STATUS_ERROR:</b> The URL retrieval failed. - * <br/> - * <b>URL_RETRIEVAL_STATUS_PAYWALL:</b> The URL retrieval failed because the content is behind a paywall. - * <br/> - * <b>URL_RETRIEVAL_STATUS_UNSAFE:</b> The URL retrieval failed because the content is unsafe. - * <br/> - * - * @beta - */ -export type URLRetrievalStatus = (typeof URLRetrievalStatus)[keyof typeof URLRetrievalStatus]; -/** - * @public - */ -export interface WebAttribution { - uri: string; - title: string; -} -/** - * @public - */ -export interface RetrievedContextAttribution { - uri: string; - title: string; -} -/** - * Protobuf google.type.Date - * @public - */ -export interface Date { - year: number; - month: number; - day: number; -} -/** - * A safety rating associated with a {@link GenerateContentCandidate} - * @public - */ -export interface SafetyRating { - category: HarmCategory; - probability: HarmProbability; - /** - * The harm severity level. - * - * This property is only supported when using the Vertex AI Gemini API ({@link VertexAIBackend}). - * When using the Gemini Developer API ({@link GoogleAIBackend}), this property is not supported and will default to `HarmSeverity.UNSUPPORTED`. - */ - severity: HarmSeverity; - /** - * The probability score of the harm category. - * - * This property is only supported when using the Vertex AI Gemini API ({@link VertexAIBackend}). - * When using the Gemini Developer API ({@link GoogleAIBackend}), this property is not supported and will default to 0. - */ - probabilityScore: number; - /** - * The severity score of the harm category. - * - * This property is only supported when using the Vertex AI Gemini API ({@link VertexAIBackend}). - * When using the Gemini Developer API ({@link GoogleAIBackend}), this property is not supported and will default to 0. - */ - severityScore: number; - blocked: boolean; -} -/** - * Response from calling {@link GenerativeModel.countTokens}. - * @public - */ -export interface CountTokensResponse { - /** - * The total number of tokens counted across all instances from the request. - */ - totalTokens: number; - /** - * @deprecated Use `totalTokens` instead. This property is undefined when using models greater than `gemini-1.5-*`. - * - * The total number of billable characters counted across all instances - * from the request. - */ - totalBillableCharacters?: number; - /** - * The breakdown, by modality, of how many tokens are consumed by the prompt. - */ - promptTokensDetails?: ModalityTokenCount[]; -} -/** - * An incremental content update from the model. - * - * @beta - */ -export interface LiveServerContent { - type: 'serverContent'; - /** - * The content that the model has generated as part of the current conversation with the user. - */ - modelTurn?: Content; - /** - * Indicates whether the turn is complete. This is `undefined` if the turn is not complete. - */ - turnComplete?: boolean; - /** - * Indicates whether the model was interrupted by the client. An interruption occurs when - * the client sends a message before the model finishes it's turn. This is `undefined` if the - * model was not interrupted. - */ - interrupted?: boolean; - /** - * Transcription of the audio that was input to the model. - */ - inputTranscription?: Transcription; - /** - * Transcription of the audio output from the model. - */ - outputTranscription?: Transcription; -} -/** - * Transcription of audio. This can be returned from a {@link LiveGenerativeModel} if transcription - * is enabled with the `inputAudioTranscription` or `outputAudioTranscription` properties on - * the {@link LiveGenerationConfig}. - * - * @beta - */ -export interface Transcription { - /** - * The text transcription of the audio. - */ - text?: string; -} -/** - * A request from the model for the client to execute one or more functions. - * - * @beta - */ -export interface LiveServerToolCall { - type: 'toolCall'; - /** - * An array of function calls to run. - */ - functionCalls: FunctionCall[]; -} -/** - * Notification to cancel a previous function call triggered by {@link LiveServerToolCall}. - * - * @beta - */ -export interface LiveServerToolCallCancellation { - type: 'toolCallCancellation'; - /** - * IDs of function calls that were cancelled. These refer to the `id` property of a {@link FunctionCall}. - */ - functionIds: string[]; -} -/** - * The types of responses that can be returned by {@link LiveSession.receive}. - * - * @beta - */ -export declare const LiveResponseType: { - SERVER_CONTENT: string; - TOOL_CALL: string; - TOOL_CALL_CANCELLATION: string; -}; -/** - * The types of responses that can be returned by {@link LiveSession.receive}. - * This is a property on all messages that can be used for type narrowing. This property is not - * returned by the server, it is assigned to a server message object once it's parsed. - * - * @beta - */ -export type LiveResponseType = (typeof LiveResponseType)[keyof typeof LiveResponseType]; diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/types/schema.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/types/schema.d.ts deleted file mode 100644 index 7abb2d1..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/types/schema.d.ts +++ /dev/null @@ -1,139 +0,0 @@ -/** - * @license - * Copyright 2024 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/** - * Contains the list of OpenAPI data types - * as defined by the - * {@link https://swagger.io/docs/specification/data-models/data-types/ | OpenAPI specification} - * @public - */ -export declare const SchemaType: { - /** String type. */ - readonly STRING: "string"; - /** Number type. */ - readonly NUMBER: "number"; - /** Integer type. */ - readonly INTEGER: "integer"; - /** Boolean type. */ - readonly BOOLEAN: "boolean"; - /** Array type. */ - readonly ARRAY: "array"; - /** Object type. */ - readonly OBJECT: "object"; -}; -/** - * Contains the list of OpenAPI data types - * as defined by the - * {@link https://swagger.io/docs/specification/data-models/data-types/ | OpenAPI specification} - * @public - */ -export type SchemaType = (typeof SchemaType)[keyof typeof SchemaType]; -/** - * Basic {@link Schema} properties shared across several Schema-related - * types. - * @public - */ -export interface SchemaShared<T> { - /** - * An array of {@link Schema}. The generated data must be valid against any of the schemas - * listed in this array. This allows specifying multiple possible structures or types for a - * single field. - */ - anyOf?: T[]; - /** Optional. The format of the property. - * When using the Gemini Developer API ({@link GoogleAIBackend}), this must be either `'enum'` or - * `'date-time'`, otherwise requests will fail. - */ - format?: string; - /** Optional. The description of the property. */ - description?: string; - /** - * The title of the property. This helps document the schema's purpose but does not typically - * constrain the generated value. It can subtly guide the model by clarifying the intent of a - * field. - */ - title?: string; - /** Optional. The items of the property. */ - items?: T; - /** The minimum number of items (elements) in a schema of {@link (SchemaType:type)} `array`. */ - minItems?: number; - /** The maximum number of items (elements) in a schema of {@link (SchemaType:type)} `array`. */ - maxItems?: number; - /** Optional. Map of `Schema` objects. */ - properties?: { - [k: string]: T; - }; - /** A hint suggesting the order in which the keys should appear in the generated JSON string. */ - propertyOrdering?: string[]; - /** Optional. The enum of the property. */ - enum?: string[]; - /** Optional. The example of the property. */ - example?: unknown; - /** Optional. Whether the property is nullable. */ - nullable?: boolean; - /** The minimum value of a numeric type. */ - minimum?: number; - /** The maximum value of a numeric type. */ - maximum?: number; - [key: string]: unknown; -} -/** - * Params passed to {@link Schema} static methods to create specific - * {@link Schema} classes. - * @public - */ -export interface SchemaParams extends SchemaShared<SchemaInterface> { -} -/** - * Final format for {@link Schema} params passed to backend requests. - * @public - */ -export interface SchemaRequest extends SchemaShared<SchemaRequest> { - /** - * The type of the property. this can only be undefined when using `anyOf` schemas, - * which do not have an explicit type in the {@link https://swagger.io/docs/specification/v3_0/data-models/data-types/#any-type | OpenAPI specification }. - */ - type?: SchemaType; - /** Optional. Array of required property. */ - required?: string[]; -} -/** - * Interface for {@link Schema} class. - * @public - */ -export interface SchemaInterface extends SchemaShared<SchemaInterface> { - /** - * The type of the property. this can only be undefined when using `anyof` schemas, - * which do not have an explicit type in the {@link https://swagger.io/docs/specification/v3_0/data-models/data-types/#any-type | OpenAPI Specification}. - */ - type?: SchemaType; -} -/** - * Interface for JSON parameters in a schema of {@link (SchemaType:type)} - * "object" when not using the `Schema.object()` helper. - * @public - */ -export interface ObjectSchemaRequest extends SchemaRequest { - type: 'object'; - /** - * This is not a property accepted in the final request to the backend, but is - * a client-side convenience property that is only usable by constructing - * a schema through the `Schema.object()` helper method. Populating this - * property will cause response errors if the object is not wrapped with - * `Schema.object()`. - */ - optionalProperties?: never; -} diff --git a/frontend-old/node_modules/@firebase/ai/dist/src/websocket.d.ts b/frontend-old/node_modules/@firebase/ai/dist/src/websocket.d.ts deleted file mode 100644 index e2d511c..0000000 --- a/frontend-old/node_modules/@firebase/ai/dist/src/websocket.d.ts +++ /dev/null @@ -1,67 +0,0 @@ -/** - * @license - * Copyright 2025 Google LLC - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/** - * A standardized interface for interacting with a WebSocket connection. - * This abstraction allows the SDK to use the appropriate WebSocket implementation - * for the current JS environment (Browser vs. Node) without - * changing the core logic of the `LiveSession`. - * @internal - */ -export interface WebSocketHandler { - /** - * Establishes a connection to the given URL. - * - * @param url The WebSocket URL (e.g., wss://...). - * @returns A promise that resolves on successful connection or rejects on failure. - */ - connect(url: string): Promise<void>; - /** - * Sends data over the WebSocket. - * - * @param data The string or binary data to send. - */ - send(data: string | ArrayBuffer): void; - /** - * Returns an async generator that yields parsed JSON objects from the server. - * The yielded type is `unknown` because the handler cannot guarantee the shape of the data. - * The consumer is responsible for type validation. - * The generator terminates when the connection is closed. - * - * @returns A generator that allows consumers to pull messages using a `for await...of` loop. - */ - listen(): AsyncGenerator<unknown>; - /** - * Closes the WebSocket connection. - * - * @param code - A numeric status code explaining why the connection is closing. - * @param reason - A human-readable string explaining why the connection is closing. - */ - close(code?: number, reason?: string): Promise<void>; -} -/** - * A wrapper for the native `WebSocket` available in both Browsers and Node >= 22. - * - * @internal - */ -export declare class WebSocketHandlerImpl implements WebSocketHandler { - private ws?; - constructor(); - connect(url: string): Promise<void>; - send(data: string | ArrayBuffer): void; - listen(): AsyncGenerator<unknown>; - close(code?: number, reason?: string): Promise<void>; -} |
