@elizaos/plugin-google-genai 2.0.0-alpha.1 → 2.0.0-alpha.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -123,11 +123,16 @@ async function handleTextEmbedding(runtime, params) {
123
123
  if (params === null) {
124
124
  return Array(768).fill(0);
125
125
  }
126
- const text = typeof params === "string" ? params : typeof params === "object" && params.text ? params.text : "";
126
+ let text = typeof params === "string" ? params : typeof params === "object" && params.text ? params.text : "";
127
127
  if (!text.trim()) {
128
128
  logger3.warn("Empty text for embedding");
129
129
  return Array(768).fill(0);
130
130
  }
131
+ const maxChars = 8192 * 4;
132
+ if (text.length > maxChars) {
133
+ logger3.warn(`[Google GenAI] Embedding input too long (~${Math.ceil(text.length / 4)} tokens), truncating to ~8192 tokens`);
134
+ text = text.slice(0, maxChars);
135
+ }
131
136
  try {
132
137
  const response = await genAI.models.embedContent({
133
138
  model: embeddingModelName,
@@ -521,9 +526,12 @@ var googleGenAIPlugin = {
521
526
  tests: pluginTests
522
527
  };
523
528
  var typescript_default = googleGenAIPlugin;
529
+
530
+ // index.browser.ts
531
+ var index_browser_default = typescript_default;
524
532
  export {
525
533
  googleGenAIPlugin,
526
- typescript_default as default
534
+ index_browser_default as default
527
535
  };
528
536
 
529
- //# debugId=99C83FFF8915C9B364756E2164756E21
537
+ //# debugId=E75B1BEAE9D5BC6A64756E2164756E21
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../index.ts", "../../init.ts", "../../utils/config.ts", "../../models/embedding.ts", "../../utils/events.ts", "../../utils/tokenization.ts", "../../models/image.ts", "../../models/object.ts", "../../models/text.ts"],
3
+ "sources": ["../../index.ts", "../../init.ts", "../../utils/config.ts", "../../models/embedding.ts", "../../utils/events.ts", "../../utils/tokenization.ts", "../../models/image.ts", "../../models/object.ts", "../../models/text.ts", "../../index.browser.ts"],
4
4
  "sourcesContent": [
5
5
  "import type {\n GenerateTextParams,\n IAgentRuntime,\n ImageDescriptionParams,\n ObjectGenerationParams,\n Plugin,\n TestCase,\n TestSuite,\n TextEmbeddingParams,\n} from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport { GoogleGenAI } from \"@google/genai\";\nimport { initializeGoogleGenAI, type PluginConfig } from \"./init\";\nimport {\n handleImageDescription,\n handleObjectLarge,\n handleObjectSmall,\n handleTextEmbedding,\n handleTextLarge,\n handleTextSmall,\n} from \"./models\";\nimport { getApiKey } from \"./utils/config\";\n\nexport type { PluginConfig } from \"./init\";\nexport * from \"./types\";\n\nconst pluginTests = [\n {\n name: \"google_genai_plugin_tests\",\n tests: [\n {\n name: \"google_test_api_key_validation\",\n fn: async (runtime: IAgentRuntime) => {\n const apiKey = getApiKey(runtime);\n if (!apiKey) {\n throw new Error(\"GOOGLE_GENERATIVE_AI_API_KEY not set\");\n }\n const genAI = new GoogleGenAI({ apiKey });\n const modelList = await genAI.models.list();\n const models = [];\n for await (const model of modelList) {\n models.push(model);\n }\n logger.log(`Available models: ${models.length}`);\n },\n },\n {\n name: \"google_test_text_embedding\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const embedding = await runtime.useModel(ModelType.TEXT_EMBEDDING, {\n text: \"Hello, world!\",\n });\n logger.log(`Embedding dimension: ${embedding.length}`);\n if (embedding.length === 0) {\n throw new Error(\"Failed to generate embedding\");\n }\n } catch (error) {\n logger.error(\n `Error in test_text_embedding: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n {\n name: \"google_test_text_small\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const text = await runtime.useModel(ModelType.TEXT_SMALL, {\n prompt: \"What is the nature of reality in 10 words?\",\n });\n if (text.length === 0) {\n throw new Error(\"Failed to generate text\");\n }\n logger.log(\"Generated with TEXT_SMALL:\", text);\n } catch (error) {\n logger.error(\n `Error in test_text_small: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n {\n name: \"google_test_text_large\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const text = await runtime.useModel(ModelType.TEXT_LARGE, {\n prompt: \"Explain quantum mechanics in simple terms.\",\n });\n if (text.length === 0) {\n throw new Error(\"Failed to generate text\");\n }\n logger.log(\"Generated with TEXT_LARGE:\", `${text.substring(0, 100)}...`);\n } catch (error) {\n logger.error(\n `Error in test_text_large: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n {\n name: \"google_test_image_description\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const result = await runtime.useModel(\n ModelType.IMAGE_DESCRIPTION,\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Vitalik_Buterin_TechCrunch_London_2015_%28cropped%29.jpg/537px-Vitalik_Buterin_TechCrunch_London_2015_%28cropped%29.jpg\"\n );\n\n if (\n result &&\n typeof result === \"object\" &&\n \"title\" in result &&\n \"description\" in result\n ) {\n logger.log(\"Image description:\", JSON.stringify(result));\n } else {\n logger.error(`Invalid image description result format: ${JSON.stringify(result)}`);\n }\n } catch (error) {\n logger.error(\n `Error in test_image_description: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n {\n name: \"google_test_object_generation\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const schema = {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n age: { type: \"number\" },\n hobbies: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"name\", \"age\", \"hobbies\"],\n };\n\n const result = await runtime.useModel(ModelType.OBJECT_SMALL, {\n prompt: \"Generate a person profile with name, age, and hobbies.\",\n schema,\n });\n\n logger.log(\"Generated object:\", JSON.stringify(result));\n\n if (!result.name || !result.age || !result.hobbies) {\n throw new Error(\"Generated object missing required fields\");\n }\n } catch (error) {\n logger.error(\n `Error in test_object_generation: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n ] as TestCase[],\n },\n] as TestSuite[];\n\ntype ProcessEnvLike = Record<string, string | undefined>;\n\nfunction getProcessEnv(): ProcessEnvLike {\n if (typeof process === \"undefined\") {\n return {};\n }\n return process.env as ProcessEnvLike;\n}\n\nconst env = getProcessEnv();\n\nexport const googleGenAIPlugin: Plugin = {\n name: \"google-genai\",\n description: \"Google Generative AI plugin for Gemini models\",\n\n config: {\n GOOGLE_GENERATIVE_AI_API_KEY: env.GOOGLE_GENERATIVE_AI_API_KEY ?? null,\n GOOGLE_SMALL_MODEL: env.GOOGLE_SMALL_MODEL ?? null,\n GOOGLE_LARGE_MODEL: env.GOOGLE_LARGE_MODEL ?? null,\n GOOGLE_IMAGE_MODEL: env.GOOGLE_IMAGE_MODEL ?? null,\n GOOGLE_EMBEDDING_MODEL: env.GOOGLE_EMBEDDING_MODEL ?? null,\n SMALL_MODEL: env.SMALL_MODEL ?? null,\n LARGE_MODEL: env.LARGE_MODEL ?? null,\n IMAGE_MODEL: env.IMAGE_MODEL ?? null,\n },\n\n async init(config, runtime) {\n initializeGoogleGenAI(config as PluginConfig, runtime);\n },\n\n models: {\n [ModelType.TEXT_SMALL]: async (\n runtime: IAgentRuntime,\n params: GenerateTextParams\n ): Promise<string> => {\n return handleTextSmall(runtime, params);\n },\n\n [ModelType.TEXT_LARGE]: async (\n runtime: IAgentRuntime,\n params: GenerateTextParams\n ): Promise<string> => {\n return handleTextLarge(runtime, params);\n },\n\n [ModelType.TEXT_EMBEDDING]: async (\n runtime: IAgentRuntime,\n params: TextEmbeddingParams | string | null\n ): Promise<number[]> => {\n return handleTextEmbedding(runtime, params);\n },\n\n [ModelType.IMAGE_DESCRIPTION]: async (\n runtime: IAgentRuntime,\n params: ImageDescriptionParams | string\n ): Promise<{ title: string; description: string }> => {\n return handleImageDescription(runtime, params);\n },\n\n [ModelType.OBJECT_SMALL]: async (\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n ): Promise<Record<string, string | number | boolean | null>> => {\n return handleObjectSmall(runtime, params);\n },\n\n [ModelType.OBJECT_LARGE]: async (\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n ): Promise<Record<string, string | number | boolean | null>> => {\n return handleObjectLarge(runtime, params);\n },\n },\n\n tests: pluginTests,\n};\n\nexport default googleGenAIPlugin;\n",
6
6
  "import { type IAgentRuntime, logger } from \"@elizaos/core\";\nimport { GoogleGenAI } from \"@google/genai\";\nimport { getApiKey } from \"./utils/config\";\n\nexport interface PluginConfig {\n readonly GOOGLE_GENERATIVE_AI_API_KEY?: string;\n readonly GOOGLE_SMALL_MODEL?: string;\n readonly GOOGLE_LARGE_MODEL?: string;\n readonly GOOGLE_IMAGE_MODEL?: string;\n readonly GOOGLE_EMBEDDING_MODEL?: string;\n readonly SMALL_MODEL?: string;\n readonly LARGE_MODEL?: string;\n readonly IMAGE_MODEL?: string;\n}\n\nexport function initializeGoogleGenAI(_config: PluginConfig, runtime: IAgentRuntime): void {\n (async () => {\n try {\n const apiKey = getApiKey(runtime);\n if (!apiKey) {\n logger.warn(\"GOOGLE_GENERATIVE_AI_API_KEY is not set\");\n return;\n }\n\n const genAI = new GoogleGenAI({ apiKey });\n const modelList = await genAI.models.list();\n const models = [];\n for await (const model of modelList) {\n models.push(model);\n }\n logger.log(`Google AI API key validated. Available models: ${models.length}`);\n } catch (error) {\n logger.warn(\n `Google AI configuration error: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n })();\n}\n",
7
7
  "import type { IAgentRuntime } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport { GoogleGenAI, HarmBlockThreshold, HarmCategory } from \"@google/genai\";\n\nfunction getEnvValue(key: string): string | undefined {\n // In browsers, `process` is not defined. `typeof process` is safe.\n if (typeof process === \"undefined\") {\n return undefined;\n }\n const value = process.env[key];\n return value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n runtime: IAgentRuntime,\n key: string,\n defaultValue?: string\n): string | undefined {\n const runtimeValue = runtime.getSetting(key);\n if (runtimeValue !== undefined) {\n return String(runtimeValue);\n }\n return getEnvValue(key) ?? defaultValue;\n}\n\nexport function getApiKey(runtime: IAgentRuntime): string | undefined {\n return getSetting(runtime, \"GOOGLE_GENERATIVE_AI_API_KEY\");\n}\n\nexport function getSmallModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"GOOGLE_SMALL_MODEL\") ??\n getSetting(runtime, \"SMALL_MODEL\", \"gemini-2.0-flash-001\") ??\n \"gemini-2.0-flash-001\"\n );\n}\n\nexport function getLargeModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"GOOGLE_LARGE_MODEL\") ??\n getSetting(runtime, \"LARGE_MODEL\", \"gemini-2.5-pro-preview-03-25\") ??\n \"gemini-2.5-pro-preview-03-25\"\n );\n}\n\nexport function getImageModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"GOOGLE_IMAGE_MODEL\") ??\n getSetting(runtime, \"IMAGE_MODEL\", \"gemini-2.5-pro-preview-03-25\") ??\n \"gemini-2.5-pro-preview-03-25\"\n );\n}\n\nexport function getEmbeddingModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"GOOGLE_EMBEDDING_MODEL\", \"text-embedding-004\") ?? \"text-embedding-004\"\n );\n}\n\nexport function createGoogleGenAI(runtime: IAgentRuntime): GoogleGenAI | null {\n const apiKey = getApiKey(runtime);\n if (!apiKey) {\n logger.error(\"Google Generative AI API Key is missing\");\n return null;\n }\n\n return new GoogleGenAI({ apiKey });\n}\n\nexport function getSafetySettings() {\n return [\n {\n category: HarmCategory.HARM_CATEGORY_HARASSMENT,\n threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,\n },\n {\n category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,\n threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,\n },\n {\n category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,\n threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,\n },\n {\n category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,\n threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,\n },\n ];\n}\n",
8
- "import type { IAgentRuntime, TextEmbeddingParams } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport { createGoogleGenAI, getEmbeddingModel } from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nexport async function handleTextEmbedding(\n runtime: IAgentRuntime,\n params: TextEmbeddingParams | string | null\n): Promise<number[]> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const embeddingModelName = getEmbeddingModel(runtime);\n logger.debug(`[TEXT_EMBEDDING] Using model: ${embeddingModelName}`);\n\n if (params === null) {\n return Array(768).fill(0) as number[];\n }\n\n const text =\n typeof params === \"string\"\n ? params\n : typeof params === \"object\" && params.text\n ? params.text\n : \"\";\n\n if (!text.trim()) {\n logger.warn(\"Empty text for embedding\");\n return Array(768).fill(0) as number[];\n }\n\n try {\n const response = await genAI.models.embedContent({\n model: embeddingModelName,\n contents: text,\n });\n\n const embedding = response.embeddings?.[0]?.values || [];\n\n const promptTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_EMBEDDING, text, {\n promptTokens,\n completionTokens: 0,\n totalTokens: promptTokens,\n });\n\n logger.log(`Got embedding with length ${embedding.length}`);\n return embedding;\n } catch (error) {\n logger.error(\n `Error generating embedding: ${error instanceof Error ? error.message : String(error)}`\n );\n return Array(768).fill(0) as number[];\n }\n}\n",
8
+ "import type { IAgentRuntime, TextEmbeddingParams } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport { createGoogleGenAI, getEmbeddingModel } from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nexport async function handleTextEmbedding(\n runtime: IAgentRuntime,\n params: TextEmbeddingParams | string | null\n): Promise<number[]> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const embeddingModelName = getEmbeddingModel(runtime);\n logger.debug(`[TEXT_EMBEDDING] Using model: ${embeddingModelName}`);\n\n if (params === null) {\n return Array(768).fill(0) as number[];\n }\n\n let text =\n typeof params === \"string\"\n ? params\n : typeof params === \"object\" && params.text\n ? params.text\n : \"\";\n\n if (!text.trim()) {\n logger.warn(\"Empty text for embedding\");\n return Array(768).fill(0) as number[];\n }\n\n // Truncate to stay within embedding model token limits (~4 chars per token)\n const maxChars = 8_192 * 4;\n if (text.length > maxChars) {\n logger.warn(\n `[Google GenAI] Embedding input too long (~${Math.ceil(text.length / 4)} tokens), truncating to ~8192 tokens`\n );\n text = text.slice(0, maxChars);\n }\n\n try {\n const response = await genAI.models.embedContent({\n model: embeddingModelName,\n contents: text,\n });\n\n const embedding = response.embeddings?.[0]?.values || [];\n\n const promptTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_EMBEDDING, text, {\n promptTokens,\n completionTokens: 0,\n totalTokens: promptTokens,\n });\n\n logger.log(`Got embedding with length ${embedding.length}`);\n return embedding;\n } catch (error) {\n logger.error(\n `Error generating embedding: ${error instanceof Error ? error.message : String(error)}`\n );\n return Array(768).fill(0) as number[];\n }\n}\n",
9
9
  "import type { IAgentRuntime, ModelTypeName } from \"@elizaos/core\";\nimport { EventType } from \"@elizaos/core\";\n\nexport function emitModelUsageEvent(\n runtime: IAgentRuntime,\n type: ModelTypeName,\n _prompt: string,\n usage: {\n promptTokens: number;\n completionTokens: number;\n totalTokens: number;\n }\n): void {\n void _prompt; // Not included in ModelEventPayload\n runtime.emitEvent(EventType.MODEL_USED, {\n runtime,\n source: \"plugin-google-genai\",\n type,\n tokens: {\n prompt: usage.promptTokens,\n completion: usage.completionTokens,\n total: usage.totalTokens,\n },\n });\n}\n",
10
10
  "export async function countTokens(text: string): Promise<number> {\n return Math.ceil(text.length / 4);\n}\n",
11
11
  "import type { IAgentRuntime, ImageDescriptionParams } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport type { ImageDescriptionResponse } from \"../types\";\nimport { createGoogleGenAI, getImageModel, getSafetySettings } from \"../utils/config\";\n\nconst crossFetch = typeof globalThis.fetch === \"function\" ? globalThis.fetch : fetch;\n\nexport async function handleImageDescription(\n runtime: IAgentRuntime,\n params: ImageDescriptionParams | string\n): Promise<ImageDescriptionResponse> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n let imageUrl: string;\n let promptText: string;\n const modelName = getImageModel(runtime);\n logger.log(`[IMAGE_DESCRIPTION] Using model: ${modelName}`);\n\n if (typeof params === \"string\") {\n imageUrl = params;\n promptText = \"Please analyze this image and provide a title and detailed description.\";\n } else {\n imageUrl = params.imageUrl;\n promptText =\n params.prompt || \"Please analyze this image and provide a title and detailed description.\";\n }\n\n try {\n const imageResponse = await crossFetch(imageUrl);\n if (!imageResponse.ok) {\n throw new Error(`Failed to fetch image: ${imageResponse.statusText}`);\n }\n\n const imageData = await imageResponse.arrayBuffer();\n const base64Image = Buffer.from(imageData).toString(\"base64\");\n const contentType = imageResponse.headers.get(\"content-type\") || \"image/jpeg\";\n\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: [\n {\n role: \"user\",\n parts: [\n { text: promptText },\n {\n inlineData: {\n mimeType: contentType,\n data: base64Image,\n },\n },\n ],\n },\n ],\n config: {\n temperature: 0.7,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: 8192,\n safetySettings: getSafetySettings(),\n },\n });\n\n const responseText = response.text || \"\";\n\n try {\n const jsonResponse = JSON.parse(responseText) as { title?: string; description?: string };\n if (typeof jsonResponse.title === \"string\" && typeof jsonResponse.description === \"string\") {\n return {\n title: jsonResponse.title,\n description: jsonResponse.description,\n };\n }\n } catch {\n // Fall through to text parsing\n }\n\n const titleMatch = responseText.match(/title[:\\s]+(.+?)(?:\\n|$)/i);\n const title = titleMatch?.[1]?.trim() || \"Image Analysis\";\n const description = titleMatch\n ? responseText.replace(/title[:\\s]+(.+?)(?:\\n|$)/i, \"\").trim()\n : responseText.trim();\n\n return { title, description };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n logger.error(`Error analyzing image: ${message}`);\n return {\n title: \"Failed to analyze image\",\n description: `Error: ${message}`,\n };\n }\n}\n",
12
12
  "import type { IAgentRuntime, ModelTypeName, ObjectGenerationParams } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport {\n createGoogleGenAI,\n getLargeModel,\n getSafetySettings,\n getSmallModel,\n} from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nasync function generateObjectByModelType(\n runtime: IAgentRuntime,\n params: ObjectGenerationParams,\n modelType: string,\n getModelFn: (runtime: IAgentRuntime) => string\n): Promise<Record<string, string | number | boolean | null>> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getModelFn(runtime);\n const temperature = params.temperature ?? 0.1;\n\n logger.info(`Using ${modelType} model: ${modelName}`);\n\n try {\n let enhancedPrompt = params.prompt;\n if (params.schema) {\n enhancedPrompt += `\\n\\nPlease respond with a JSON object that follows this schema:\\n${JSON.stringify(params.schema, null, 2)}`;\n }\n\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: enhancedPrompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: 8192,\n responseMimeType: \"application/json\",\n safetySettings: getSafetySettings(),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(enhancedPrompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, modelType as ModelTypeName, params.prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n try {\n return JSON.parse(text) as Record<string, string | number | boolean | null>;\n } catch {\n const jsonMatch = text.match(/\\{[\\s\\S]*\\}/);\n if (jsonMatch) {\n try {\n return JSON.parse(jsonMatch[0]) as Record<string, string | number | boolean | null>;\n } catch {\n throw new Error(\"Failed to parse JSON from response\");\n }\n }\n throw new Error(\"Failed to parse JSON from response\");\n }\n } catch (error) {\n logger.error(\n `[generateObject] Error: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n}\n\nexport async function handleObjectSmall(\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n): Promise<Record<string, string | number | boolean | null>> {\n return generateObjectByModelType(runtime, params, \"OBJECT_SMALL\", getSmallModel);\n}\n\nexport async function handleObjectLarge(\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n): Promise<Record<string, string | number | boolean | null>> {\n return generateObjectByModelType(runtime, params, \"OBJECT_LARGE\", getLargeModel);\n}\n",
13
- "import type { GenerateTextParams, IAgentRuntime } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport {\n createGoogleGenAI,\n getLargeModel,\n getSafetySettings,\n getSmallModel,\n} from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nexport async function handleTextSmall(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [], maxTokens = 8192, temperature = 0.7 }: GenerateTextParams\n): Promise<string> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getSmallModel(runtime);\n\n logger.log(`[TEXT_SMALL] Using model: ${modelName}`);\n\n try {\n const systemInstruction = runtime.character.system || undefined;\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: prompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: maxTokens,\n stopSequences,\n safetySettings: getSafetySettings(),\n ...(systemInstruction && { systemInstruction }),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(prompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_SMALL, prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n return text;\n } catch (error) {\n logger.error(`[TEXT_SMALL] Error: ${error instanceof Error ? error.message : String(error)}`);\n throw error;\n }\n}\n\nexport async function handleTextLarge(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [], maxTokens = 8192, temperature = 0.7 }: GenerateTextParams\n): Promise<string> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getLargeModel(runtime);\n\n logger.log(`[TEXT_LARGE] Using model: ${modelName}`);\n\n try {\n const systemInstruction = runtime.character.system || undefined;\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: prompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: maxTokens,\n stopSequences,\n safetySettings: getSafetySettings(),\n ...(systemInstruction && { systemInstruction }),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(prompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_LARGE, prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n return text;\n } catch (error) {\n logger.error(`[TEXT_LARGE] Error: ${error instanceof Error ? error.message : String(error)}`);\n throw error;\n }\n}\n"
13
+ "import type { GenerateTextParams, IAgentRuntime } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport {\n createGoogleGenAI,\n getLargeModel,\n getSafetySettings,\n getSmallModel,\n} from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nexport async function handleTextSmall(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [], maxTokens = 8192, temperature = 0.7 }: GenerateTextParams\n): Promise<string> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getSmallModel(runtime);\n\n logger.log(`[TEXT_SMALL] Using model: ${modelName}`);\n\n try {\n const systemInstruction = runtime.character.system || undefined;\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: prompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: maxTokens,\n stopSequences,\n safetySettings: getSafetySettings(),\n ...(systemInstruction && { systemInstruction }),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(prompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_SMALL, prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n return text;\n } catch (error) {\n logger.error(`[TEXT_SMALL] Error: ${error instanceof Error ? error.message : String(error)}`);\n throw error;\n }\n}\n\nexport async function handleTextLarge(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [], maxTokens = 8192, temperature = 0.7 }: GenerateTextParams\n): Promise<string> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getLargeModel(runtime);\n\n logger.log(`[TEXT_LARGE] Using model: ${modelName}`);\n\n try {\n const systemInstruction = runtime.character.system || undefined;\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: prompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: maxTokens,\n stopSequences,\n safetySettings: getSafetySettings(),\n ...(systemInstruction && { systemInstruction }),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(prompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_LARGE, prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n return text;\n } catch (error) {\n logger.error(`[TEXT_LARGE] Error: ${error instanceof Error ? error.message : String(error)}`);\n throw error;\n }\n}\n",
14
+ "import pluginDefault from \"./index\";\n\nexport * from \"./index\";\nexport default pluginDefault;\n"
14
15
  ],
15
- "mappings": "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",
16
- "debugId": "99C83FFF8915C9B364756E2164756E21",
16
+ "mappings": "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",
17
+ "debugId": "E75B1BEAE9D5BC6A64756E2164756E21",
17
18
  "names": []
18
19
  }
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __moduleCache = /* @__PURE__ */ new WeakMap;
5
+ function __accessProp(key) {
6
+ return this[key];
7
+ }
6
8
  var __toCommonJS = (from) => {
7
- var entry = __moduleCache.get(from), desc;
9
+ var entry = (__moduleCache ??= new WeakMap).get(from), desc;
8
10
  if (entry)
9
11
  return entry;
10
12
  entry = __defProp({}, "__esModule", { value: true });
11
- if (from && typeof from === "object" || typeof from === "function")
12
- __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
13
- get: () => from[key],
14
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
15
- }));
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (var key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(entry, key))
16
+ __defProp(entry, key, {
17
+ get: __accessProp.bind(from, key),
18
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
+ });
20
+ }
16
21
  __moduleCache.set(from, entry);
17
22
  return entry;
18
23
  };
24
+ var __moduleCache;
25
+ var __returnValue = (v) => v;
26
+ function __exportSetter(name, newValue) {
27
+ this[name] = __returnValue.bind(null, newValue);
28
+ }
19
29
  var __export = (target, all) => {
20
30
  for (var name in all)
21
31
  __defProp(target, name, {
22
32
  get: all[name],
23
33
  enumerable: true,
24
34
  configurable: true,
25
- set: (newValue) => all[name] = () => newValue
35
+ set: __exportSetter.bind(all, name)
26
36
  });
27
37
  };
28
38
 
@@ -30,7 +40,7 @@ var __export = (target, all) => {
30
40
  var exports_index_node = {};
31
41
  __export(exports_index_node, {
32
42
  googleGenAIPlugin: () => googleGenAIPlugin,
33
- default: () => typescript_default
43
+ default: () => index_node_default
34
44
  });
35
45
  module.exports = __toCommonJS(exports_index_node);
36
46
 
@@ -159,11 +169,16 @@ async function handleTextEmbedding(runtime, params) {
159
169
  if (params === null) {
160
170
  return Array(768).fill(0);
161
171
  }
162
- const text = typeof params === "string" ? params : typeof params === "object" && params.text ? params.text : "";
172
+ let text = typeof params === "string" ? params : typeof params === "object" && params.text ? params.text : "";
163
173
  if (!text.trim()) {
164
174
  import_core4.logger.warn("Empty text for embedding");
165
175
  return Array(768).fill(0);
166
176
  }
177
+ const maxChars = 8192 * 4;
178
+ if (text.length > maxChars) {
179
+ import_core4.logger.warn(`[Google GenAI] Embedding input too long (~${Math.ceil(text.length / 4)} tokens), truncating to ~8192 tokens`);
180
+ text = text.slice(0, maxChars);
181
+ }
167
182
  try {
168
183
  const response = await genAI.models.embedContent({
169
184
  model: embeddingModelName,
@@ -558,4 +573,7 @@ var googleGenAIPlugin = {
558
573
  };
559
574
  var typescript_default = googleGenAIPlugin;
560
575
 
561
- //# debugId=70C560A8D0FECFAD64756E2164756E21
576
+ // index.node.ts
577
+ var index_node_default = typescript_default;
578
+
579
+ //# debugId=7507B5EB020E200C64756E2164756E21
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../index.ts", "../../init.ts", "../../utils/config.ts", "../../models/embedding.ts", "../../utils/events.ts", "../../utils/tokenization.ts", "../../models/image.ts", "../../models/object.ts", "../../models/text.ts"],
3
+ "sources": ["../../index.ts", "../../init.ts", "../../utils/config.ts", "../../models/embedding.ts", "../../utils/events.ts", "../../utils/tokenization.ts", "../../models/image.ts", "../../models/object.ts", "../../models/text.ts", "../../index.node.ts"],
4
4
  "sourcesContent": [
5
5
  "import type {\n GenerateTextParams,\n IAgentRuntime,\n ImageDescriptionParams,\n ObjectGenerationParams,\n Plugin,\n TestCase,\n TestSuite,\n TextEmbeddingParams,\n} from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport { GoogleGenAI } from \"@google/genai\";\nimport { initializeGoogleGenAI, type PluginConfig } from \"./init\";\nimport {\n handleImageDescription,\n handleObjectLarge,\n handleObjectSmall,\n handleTextEmbedding,\n handleTextLarge,\n handleTextSmall,\n} from \"./models\";\nimport { getApiKey } from \"./utils/config\";\n\nexport type { PluginConfig } from \"./init\";\nexport * from \"./types\";\n\nconst pluginTests = [\n {\n name: \"google_genai_plugin_tests\",\n tests: [\n {\n name: \"google_test_api_key_validation\",\n fn: async (runtime: IAgentRuntime) => {\n const apiKey = getApiKey(runtime);\n if (!apiKey) {\n throw new Error(\"GOOGLE_GENERATIVE_AI_API_KEY not set\");\n }\n const genAI = new GoogleGenAI({ apiKey });\n const modelList = await genAI.models.list();\n const models = [];\n for await (const model of modelList) {\n models.push(model);\n }\n logger.log(`Available models: ${models.length}`);\n },\n },\n {\n name: \"google_test_text_embedding\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const embedding = await runtime.useModel(ModelType.TEXT_EMBEDDING, {\n text: \"Hello, world!\",\n });\n logger.log(`Embedding dimension: ${embedding.length}`);\n if (embedding.length === 0) {\n throw new Error(\"Failed to generate embedding\");\n }\n } catch (error) {\n logger.error(\n `Error in test_text_embedding: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n {\n name: \"google_test_text_small\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const text = await runtime.useModel(ModelType.TEXT_SMALL, {\n prompt: \"What is the nature of reality in 10 words?\",\n });\n if (text.length === 0) {\n throw new Error(\"Failed to generate text\");\n }\n logger.log(\"Generated with TEXT_SMALL:\", text);\n } catch (error) {\n logger.error(\n `Error in test_text_small: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n {\n name: \"google_test_text_large\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const text = await runtime.useModel(ModelType.TEXT_LARGE, {\n prompt: \"Explain quantum mechanics in simple terms.\",\n });\n if (text.length === 0) {\n throw new Error(\"Failed to generate text\");\n }\n logger.log(\"Generated with TEXT_LARGE:\", `${text.substring(0, 100)}...`);\n } catch (error) {\n logger.error(\n `Error in test_text_large: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n {\n name: \"google_test_image_description\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const result = await runtime.useModel(\n ModelType.IMAGE_DESCRIPTION,\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Vitalik_Buterin_TechCrunch_London_2015_%28cropped%29.jpg/537px-Vitalik_Buterin_TechCrunch_London_2015_%28cropped%29.jpg\"\n );\n\n if (\n result &&\n typeof result === \"object\" &&\n \"title\" in result &&\n \"description\" in result\n ) {\n logger.log(\"Image description:\", JSON.stringify(result));\n } else {\n logger.error(`Invalid image description result format: ${JSON.stringify(result)}`);\n }\n } catch (error) {\n logger.error(\n `Error in test_image_description: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n {\n name: \"google_test_object_generation\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const schema = {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n age: { type: \"number\" },\n hobbies: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"name\", \"age\", \"hobbies\"],\n };\n\n const result = await runtime.useModel(ModelType.OBJECT_SMALL, {\n prompt: \"Generate a person profile with name, age, and hobbies.\",\n schema,\n });\n\n logger.log(\"Generated object:\", JSON.stringify(result));\n\n if (!result.name || !result.age || !result.hobbies) {\n throw new Error(\"Generated object missing required fields\");\n }\n } catch (error) {\n logger.error(\n `Error in test_object_generation: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n ] as TestCase[],\n },\n] as TestSuite[];\n\ntype ProcessEnvLike = Record<string, string | undefined>;\n\nfunction getProcessEnv(): ProcessEnvLike {\n if (typeof process === \"undefined\") {\n return {};\n }\n return process.env as ProcessEnvLike;\n}\n\nconst env = getProcessEnv();\n\nexport const googleGenAIPlugin: Plugin = {\n name: \"google-genai\",\n description: \"Google Generative AI plugin for Gemini models\",\n\n config: {\n GOOGLE_GENERATIVE_AI_API_KEY: env.GOOGLE_GENERATIVE_AI_API_KEY ?? null,\n GOOGLE_SMALL_MODEL: env.GOOGLE_SMALL_MODEL ?? null,\n GOOGLE_LARGE_MODEL: env.GOOGLE_LARGE_MODEL ?? null,\n GOOGLE_IMAGE_MODEL: env.GOOGLE_IMAGE_MODEL ?? null,\n GOOGLE_EMBEDDING_MODEL: env.GOOGLE_EMBEDDING_MODEL ?? null,\n SMALL_MODEL: env.SMALL_MODEL ?? null,\n LARGE_MODEL: env.LARGE_MODEL ?? null,\n IMAGE_MODEL: env.IMAGE_MODEL ?? null,\n },\n\n async init(config, runtime) {\n initializeGoogleGenAI(config as PluginConfig, runtime);\n },\n\n models: {\n [ModelType.TEXT_SMALL]: async (\n runtime: IAgentRuntime,\n params: GenerateTextParams\n ): Promise<string> => {\n return handleTextSmall(runtime, params);\n },\n\n [ModelType.TEXT_LARGE]: async (\n runtime: IAgentRuntime,\n params: GenerateTextParams\n ): Promise<string> => {\n return handleTextLarge(runtime, params);\n },\n\n [ModelType.TEXT_EMBEDDING]: async (\n runtime: IAgentRuntime,\n params: TextEmbeddingParams | string | null\n ): Promise<number[]> => {\n return handleTextEmbedding(runtime, params);\n },\n\n [ModelType.IMAGE_DESCRIPTION]: async (\n runtime: IAgentRuntime,\n params: ImageDescriptionParams | string\n ): Promise<{ title: string; description: string }> => {\n return handleImageDescription(runtime, params);\n },\n\n [ModelType.OBJECT_SMALL]: async (\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n ): Promise<Record<string, string | number | boolean | null>> => {\n return handleObjectSmall(runtime, params);\n },\n\n [ModelType.OBJECT_LARGE]: async (\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n ): Promise<Record<string, string | number | boolean | null>> => {\n return handleObjectLarge(runtime, params);\n },\n },\n\n tests: pluginTests,\n};\n\nexport default googleGenAIPlugin;\n",
6
6
  "import { type IAgentRuntime, logger } from \"@elizaos/core\";\nimport { GoogleGenAI } from \"@google/genai\";\nimport { getApiKey } from \"./utils/config\";\n\nexport interface PluginConfig {\n readonly GOOGLE_GENERATIVE_AI_API_KEY?: string;\n readonly GOOGLE_SMALL_MODEL?: string;\n readonly GOOGLE_LARGE_MODEL?: string;\n readonly GOOGLE_IMAGE_MODEL?: string;\n readonly GOOGLE_EMBEDDING_MODEL?: string;\n readonly SMALL_MODEL?: string;\n readonly LARGE_MODEL?: string;\n readonly IMAGE_MODEL?: string;\n}\n\nexport function initializeGoogleGenAI(_config: PluginConfig, runtime: IAgentRuntime): void {\n (async () => {\n try {\n const apiKey = getApiKey(runtime);\n if (!apiKey) {\n logger.warn(\"GOOGLE_GENERATIVE_AI_API_KEY is not set\");\n return;\n }\n\n const genAI = new GoogleGenAI({ apiKey });\n const modelList = await genAI.models.list();\n const models = [];\n for await (const model of modelList) {\n models.push(model);\n }\n logger.log(`Google AI API key validated. Available models: ${models.length}`);\n } catch (error) {\n logger.warn(\n `Google AI configuration error: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n })();\n}\n",
7
7
  "import type { IAgentRuntime } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport { GoogleGenAI, HarmBlockThreshold, HarmCategory } from \"@google/genai\";\n\nfunction getEnvValue(key: string): string | undefined {\n // In browsers, `process` is not defined. `typeof process` is safe.\n if (typeof process === \"undefined\") {\n return undefined;\n }\n const value = process.env[key];\n return value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n runtime: IAgentRuntime,\n key: string,\n defaultValue?: string\n): string | undefined {\n const runtimeValue = runtime.getSetting(key);\n if (runtimeValue !== undefined) {\n return String(runtimeValue);\n }\n return getEnvValue(key) ?? defaultValue;\n}\n\nexport function getApiKey(runtime: IAgentRuntime): string | undefined {\n return getSetting(runtime, \"GOOGLE_GENERATIVE_AI_API_KEY\");\n}\n\nexport function getSmallModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"GOOGLE_SMALL_MODEL\") ??\n getSetting(runtime, \"SMALL_MODEL\", \"gemini-2.0-flash-001\") ??\n \"gemini-2.0-flash-001\"\n );\n}\n\nexport function getLargeModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"GOOGLE_LARGE_MODEL\") ??\n getSetting(runtime, \"LARGE_MODEL\", \"gemini-2.5-pro-preview-03-25\") ??\n \"gemini-2.5-pro-preview-03-25\"\n );\n}\n\nexport function getImageModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"GOOGLE_IMAGE_MODEL\") ??\n getSetting(runtime, \"IMAGE_MODEL\", \"gemini-2.5-pro-preview-03-25\") ??\n \"gemini-2.5-pro-preview-03-25\"\n );\n}\n\nexport function getEmbeddingModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"GOOGLE_EMBEDDING_MODEL\", \"text-embedding-004\") ?? \"text-embedding-004\"\n );\n}\n\nexport function createGoogleGenAI(runtime: IAgentRuntime): GoogleGenAI | null {\n const apiKey = getApiKey(runtime);\n if (!apiKey) {\n logger.error(\"Google Generative AI API Key is missing\");\n return null;\n }\n\n return new GoogleGenAI({ apiKey });\n}\n\nexport function getSafetySettings() {\n return [\n {\n category: HarmCategory.HARM_CATEGORY_HARASSMENT,\n threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,\n },\n {\n category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,\n threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,\n },\n {\n category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,\n threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,\n },\n {\n category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,\n threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,\n },\n ];\n}\n",
8
- "import type { IAgentRuntime, TextEmbeddingParams } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport { createGoogleGenAI, getEmbeddingModel } from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nexport async function handleTextEmbedding(\n runtime: IAgentRuntime,\n params: TextEmbeddingParams | string | null\n): Promise<number[]> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const embeddingModelName = getEmbeddingModel(runtime);\n logger.debug(`[TEXT_EMBEDDING] Using model: ${embeddingModelName}`);\n\n if (params === null) {\n return Array(768).fill(0) as number[];\n }\n\n const text =\n typeof params === \"string\"\n ? params\n : typeof params === \"object\" && params.text\n ? params.text\n : \"\";\n\n if (!text.trim()) {\n logger.warn(\"Empty text for embedding\");\n return Array(768).fill(0) as number[];\n }\n\n try {\n const response = await genAI.models.embedContent({\n model: embeddingModelName,\n contents: text,\n });\n\n const embedding = response.embeddings?.[0]?.values || [];\n\n const promptTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_EMBEDDING, text, {\n promptTokens,\n completionTokens: 0,\n totalTokens: promptTokens,\n });\n\n logger.log(`Got embedding with length ${embedding.length}`);\n return embedding;\n } catch (error) {\n logger.error(\n `Error generating embedding: ${error instanceof Error ? error.message : String(error)}`\n );\n return Array(768).fill(0) as number[];\n }\n}\n",
8
+ "import type { IAgentRuntime, TextEmbeddingParams } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport { createGoogleGenAI, getEmbeddingModel } from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nexport async function handleTextEmbedding(\n runtime: IAgentRuntime,\n params: TextEmbeddingParams | string | null\n): Promise<number[]> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const embeddingModelName = getEmbeddingModel(runtime);\n logger.debug(`[TEXT_EMBEDDING] Using model: ${embeddingModelName}`);\n\n if (params === null) {\n return Array(768).fill(0) as number[];\n }\n\n let text =\n typeof params === \"string\"\n ? params\n : typeof params === \"object\" && params.text\n ? params.text\n : \"\";\n\n if (!text.trim()) {\n logger.warn(\"Empty text for embedding\");\n return Array(768).fill(0) as number[];\n }\n\n // Truncate to stay within embedding model token limits (~4 chars per token)\n const maxChars = 8_192 * 4;\n if (text.length > maxChars) {\n logger.warn(\n `[Google GenAI] Embedding input too long (~${Math.ceil(text.length / 4)} tokens), truncating to ~8192 tokens`\n );\n text = text.slice(0, maxChars);\n }\n\n try {\n const response = await genAI.models.embedContent({\n model: embeddingModelName,\n contents: text,\n });\n\n const embedding = response.embeddings?.[0]?.values || [];\n\n const promptTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_EMBEDDING, text, {\n promptTokens,\n completionTokens: 0,\n totalTokens: promptTokens,\n });\n\n logger.log(`Got embedding with length ${embedding.length}`);\n return embedding;\n } catch (error) {\n logger.error(\n `Error generating embedding: ${error instanceof Error ? error.message : String(error)}`\n );\n return Array(768).fill(0) as number[];\n }\n}\n",
9
9
  "import type { IAgentRuntime, ModelTypeName } from \"@elizaos/core\";\nimport { EventType } from \"@elizaos/core\";\n\nexport function emitModelUsageEvent(\n runtime: IAgentRuntime,\n type: ModelTypeName,\n _prompt: string,\n usage: {\n promptTokens: number;\n completionTokens: number;\n totalTokens: number;\n }\n): void {\n void _prompt; // Not included in ModelEventPayload\n runtime.emitEvent(EventType.MODEL_USED, {\n runtime,\n source: \"plugin-google-genai\",\n type,\n tokens: {\n prompt: usage.promptTokens,\n completion: usage.completionTokens,\n total: usage.totalTokens,\n },\n });\n}\n",
10
10
  "export async function countTokens(text: string): Promise<number> {\n return Math.ceil(text.length / 4);\n}\n",
11
11
  "import type { IAgentRuntime, ImageDescriptionParams } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport type { ImageDescriptionResponse } from \"../types\";\nimport { createGoogleGenAI, getImageModel, getSafetySettings } from \"../utils/config\";\n\nconst crossFetch = typeof globalThis.fetch === \"function\" ? globalThis.fetch : fetch;\n\nexport async function handleImageDescription(\n runtime: IAgentRuntime,\n params: ImageDescriptionParams | string\n): Promise<ImageDescriptionResponse> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n let imageUrl: string;\n let promptText: string;\n const modelName = getImageModel(runtime);\n logger.log(`[IMAGE_DESCRIPTION] Using model: ${modelName}`);\n\n if (typeof params === \"string\") {\n imageUrl = params;\n promptText = \"Please analyze this image and provide a title and detailed description.\";\n } else {\n imageUrl = params.imageUrl;\n promptText =\n params.prompt || \"Please analyze this image and provide a title and detailed description.\";\n }\n\n try {\n const imageResponse = await crossFetch(imageUrl);\n if (!imageResponse.ok) {\n throw new Error(`Failed to fetch image: ${imageResponse.statusText}`);\n }\n\n const imageData = await imageResponse.arrayBuffer();\n const base64Image = Buffer.from(imageData).toString(\"base64\");\n const contentType = imageResponse.headers.get(\"content-type\") || \"image/jpeg\";\n\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: [\n {\n role: \"user\",\n parts: [\n { text: promptText },\n {\n inlineData: {\n mimeType: contentType,\n data: base64Image,\n },\n },\n ],\n },\n ],\n config: {\n temperature: 0.7,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: 8192,\n safetySettings: getSafetySettings(),\n },\n });\n\n const responseText = response.text || \"\";\n\n try {\n const jsonResponse = JSON.parse(responseText) as { title?: string; description?: string };\n if (typeof jsonResponse.title === \"string\" && typeof jsonResponse.description === \"string\") {\n return {\n title: jsonResponse.title,\n description: jsonResponse.description,\n };\n }\n } catch {\n // Fall through to text parsing\n }\n\n const titleMatch = responseText.match(/title[:\\s]+(.+?)(?:\\n|$)/i);\n const title = titleMatch?.[1]?.trim() || \"Image Analysis\";\n const description = titleMatch\n ? responseText.replace(/title[:\\s]+(.+?)(?:\\n|$)/i, \"\").trim()\n : responseText.trim();\n\n return { title, description };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n logger.error(`Error analyzing image: ${message}`);\n return {\n title: \"Failed to analyze image\",\n description: `Error: ${message}`,\n };\n }\n}\n",
12
12
  "import type { IAgentRuntime, ModelTypeName, ObjectGenerationParams } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport {\n createGoogleGenAI,\n getLargeModel,\n getSafetySettings,\n getSmallModel,\n} from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nasync function generateObjectByModelType(\n runtime: IAgentRuntime,\n params: ObjectGenerationParams,\n modelType: string,\n getModelFn: (runtime: IAgentRuntime) => string\n): Promise<Record<string, string | number | boolean | null>> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getModelFn(runtime);\n const temperature = params.temperature ?? 0.1;\n\n logger.info(`Using ${modelType} model: ${modelName}`);\n\n try {\n let enhancedPrompt = params.prompt;\n if (params.schema) {\n enhancedPrompt += `\\n\\nPlease respond with a JSON object that follows this schema:\\n${JSON.stringify(params.schema, null, 2)}`;\n }\n\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: enhancedPrompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: 8192,\n responseMimeType: \"application/json\",\n safetySettings: getSafetySettings(),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(enhancedPrompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, modelType as ModelTypeName, params.prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n try {\n return JSON.parse(text) as Record<string, string | number | boolean | null>;\n } catch {\n const jsonMatch = text.match(/\\{[\\s\\S]*\\}/);\n if (jsonMatch) {\n try {\n return JSON.parse(jsonMatch[0]) as Record<string, string | number | boolean | null>;\n } catch {\n throw new Error(\"Failed to parse JSON from response\");\n }\n }\n throw new Error(\"Failed to parse JSON from response\");\n }\n } catch (error) {\n logger.error(\n `[generateObject] Error: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n}\n\nexport async function handleObjectSmall(\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n): Promise<Record<string, string | number | boolean | null>> {\n return generateObjectByModelType(runtime, params, \"OBJECT_SMALL\", getSmallModel);\n}\n\nexport async function handleObjectLarge(\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n): Promise<Record<string, string | number | boolean | null>> {\n return generateObjectByModelType(runtime, params, \"OBJECT_LARGE\", getLargeModel);\n}\n",
13
- "import type { GenerateTextParams, IAgentRuntime } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport {\n createGoogleGenAI,\n getLargeModel,\n getSafetySettings,\n getSmallModel,\n} from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nexport async function handleTextSmall(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [], maxTokens = 8192, temperature = 0.7 }: GenerateTextParams\n): Promise<string> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getSmallModel(runtime);\n\n logger.log(`[TEXT_SMALL] Using model: ${modelName}`);\n\n try {\n const systemInstruction = runtime.character.system || undefined;\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: prompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: maxTokens,\n stopSequences,\n safetySettings: getSafetySettings(),\n ...(systemInstruction && { systemInstruction }),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(prompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_SMALL, prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n return text;\n } catch (error) {\n logger.error(`[TEXT_SMALL] Error: ${error instanceof Error ? error.message : String(error)}`);\n throw error;\n }\n}\n\nexport async function handleTextLarge(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [], maxTokens = 8192, temperature = 0.7 }: GenerateTextParams\n): Promise<string> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getLargeModel(runtime);\n\n logger.log(`[TEXT_LARGE] Using model: ${modelName}`);\n\n try {\n const systemInstruction = runtime.character.system || undefined;\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: prompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: maxTokens,\n stopSequences,\n safetySettings: getSafetySettings(),\n ...(systemInstruction && { systemInstruction }),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(prompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_LARGE, prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n return text;\n } catch (error) {\n logger.error(`[TEXT_LARGE] Error: ${error instanceof Error ? error.message : String(error)}`);\n throw error;\n }\n}\n"
13
+ "import type { GenerateTextParams, IAgentRuntime } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport {\n createGoogleGenAI,\n getLargeModel,\n getSafetySettings,\n getSmallModel,\n} from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nexport async function handleTextSmall(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [], maxTokens = 8192, temperature = 0.7 }: GenerateTextParams\n): Promise<string> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getSmallModel(runtime);\n\n logger.log(`[TEXT_SMALL] Using model: ${modelName}`);\n\n try {\n const systemInstruction = runtime.character.system || undefined;\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: prompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: maxTokens,\n stopSequences,\n safetySettings: getSafetySettings(),\n ...(systemInstruction && { systemInstruction }),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(prompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_SMALL, prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n return text;\n } catch (error) {\n logger.error(`[TEXT_SMALL] Error: ${error instanceof Error ? error.message : String(error)}`);\n throw error;\n }\n}\n\nexport async function handleTextLarge(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [], maxTokens = 8192, temperature = 0.7 }: GenerateTextParams\n): Promise<string> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getLargeModel(runtime);\n\n logger.log(`[TEXT_LARGE] Using model: ${modelName}`);\n\n try {\n const systemInstruction = runtime.character.system || undefined;\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: prompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: maxTokens,\n stopSequences,\n safetySettings: getSafetySettings(),\n ...(systemInstruction && { systemInstruction }),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(prompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_LARGE, prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n return text;\n } catch (error) {\n logger.error(`[TEXT_LARGE] Error: ${error instanceof Error ? error.message : String(error)}`);\n throw error;\n }\n}\n",
14
+ "import pluginDefault from \"./index\";\n\nexport * from \"./index\";\nexport default pluginDefault;\n"
14
15
  ],
15
- "mappings": "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",
16
- "debugId": "70C560A8D0FECFAD64756E2164756E21",
16
+ "mappings": "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",
17
+ "debugId": "7507B5EB020E200C64756E2164756E21",
17
18
  "names": []
18
19
  }
@@ -123,11 +123,16 @@ async function handleTextEmbedding(runtime, params) {
123
123
  if (params === null) {
124
124
  return Array(768).fill(0);
125
125
  }
126
- const text = typeof params === "string" ? params : typeof params === "object" && params.text ? params.text : "";
126
+ let text = typeof params === "string" ? params : typeof params === "object" && params.text ? params.text : "";
127
127
  if (!text.trim()) {
128
128
  logger3.warn("Empty text for embedding");
129
129
  return Array(768).fill(0);
130
130
  }
131
+ const maxChars = 8192 * 4;
132
+ if (text.length > maxChars) {
133
+ logger3.warn(`[Google GenAI] Embedding input too long (~${Math.ceil(text.length / 4)} tokens), truncating to ~8192 tokens`);
134
+ text = text.slice(0, maxChars);
135
+ }
131
136
  try {
132
137
  const response = await genAI.models.embedContent({
133
138
  model: embeddingModelName,
@@ -521,9 +526,12 @@ var googleGenAIPlugin = {
521
526
  tests: pluginTests
522
527
  };
523
528
  var typescript_default = googleGenAIPlugin;
529
+
530
+ // index.node.ts
531
+ var index_node_default = typescript_default;
524
532
  export {
525
533
  googleGenAIPlugin,
526
- typescript_default as default
534
+ index_node_default as default
527
535
  };
528
536
 
529
- //# debugId=73C483E32EFA1A6564756E2164756E21
537
+ //# debugId=03BF3269A9BE14FA64756E2164756E21
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../index.ts", "../../init.ts", "../../utils/config.ts", "../../models/embedding.ts", "../../utils/events.ts", "../../utils/tokenization.ts", "../../models/image.ts", "../../models/object.ts", "../../models/text.ts"],
3
+ "sources": ["../../index.ts", "../../init.ts", "../../utils/config.ts", "../../models/embedding.ts", "../../utils/events.ts", "../../utils/tokenization.ts", "../../models/image.ts", "../../models/object.ts", "../../models/text.ts", "../../index.node.ts"],
4
4
  "sourcesContent": [
5
5
  "import type {\n GenerateTextParams,\n IAgentRuntime,\n ImageDescriptionParams,\n ObjectGenerationParams,\n Plugin,\n TestCase,\n TestSuite,\n TextEmbeddingParams,\n} from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport { GoogleGenAI } from \"@google/genai\";\nimport { initializeGoogleGenAI, type PluginConfig } from \"./init\";\nimport {\n handleImageDescription,\n handleObjectLarge,\n handleObjectSmall,\n handleTextEmbedding,\n handleTextLarge,\n handleTextSmall,\n} from \"./models\";\nimport { getApiKey } from \"./utils/config\";\n\nexport type { PluginConfig } from \"./init\";\nexport * from \"./types\";\n\nconst pluginTests = [\n {\n name: \"google_genai_plugin_tests\",\n tests: [\n {\n name: \"google_test_api_key_validation\",\n fn: async (runtime: IAgentRuntime) => {\n const apiKey = getApiKey(runtime);\n if (!apiKey) {\n throw new Error(\"GOOGLE_GENERATIVE_AI_API_KEY not set\");\n }\n const genAI = new GoogleGenAI({ apiKey });\n const modelList = await genAI.models.list();\n const models = [];\n for await (const model of modelList) {\n models.push(model);\n }\n logger.log(`Available models: ${models.length}`);\n },\n },\n {\n name: \"google_test_text_embedding\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const embedding = await runtime.useModel(ModelType.TEXT_EMBEDDING, {\n text: \"Hello, world!\",\n });\n logger.log(`Embedding dimension: ${embedding.length}`);\n if (embedding.length === 0) {\n throw new Error(\"Failed to generate embedding\");\n }\n } catch (error) {\n logger.error(\n `Error in test_text_embedding: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n {\n name: \"google_test_text_small\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const text = await runtime.useModel(ModelType.TEXT_SMALL, {\n prompt: \"What is the nature of reality in 10 words?\",\n });\n if (text.length === 0) {\n throw new Error(\"Failed to generate text\");\n }\n logger.log(\"Generated with TEXT_SMALL:\", text);\n } catch (error) {\n logger.error(\n `Error in test_text_small: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n {\n name: \"google_test_text_large\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const text = await runtime.useModel(ModelType.TEXT_LARGE, {\n prompt: \"Explain quantum mechanics in simple terms.\",\n });\n if (text.length === 0) {\n throw new Error(\"Failed to generate text\");\n }\n logger.log(\"Generated with TEXT_LARGE:\", `${text.substring(0, 100)}...`);\n } catch (error) {\n logger.error(\n `Error in test_text_large: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n {\n name: \"google_test_image_description\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const result = await runtime.useModel(\n ModelType.IMAGE_DESCRIPTION,\n \"https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Vitalik_Buterin_TechCrunch_London_2015_%28cropped%29.jpg/537px-Vitalik_Buterin_TechCrunch_London_2015_%28cropped%29.jpg\"\n );\n\n if (\n result &&\n typeof result === \"object\" &&\n \"title\" in result &&\n \"description\" in result\n ) {\n logger.log(\"Image description:\", JSON.stringify(result));\n } else {\n logger.error(`Invalid image description result format: ${JSON.stringify(result)}`);\n }\n } catch (error) {\n logger.error(\n `Error in test_image_description: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n {\n name: \"google_test_object_generation\",\n fn: async (runtime: IAgentRuntime) => {\n try {\n const schema = {\n type: \"object\",\n properties: {\n name: { type: \"string\" },\n age: { type: \"number\" },\n hobbies: { type: \"array\", items: { type: \"string\" } },\n },\n required: [\"name\", \"age\", \"hobbies\"],\n };\n\n const result = await runtime.useModel(ModelType.OBJECT_SMALL, {\n prompt: \"Generate a person profile with name, age, and hobbies.\",\n schema,\n });\n\n logger.log(\"Generated object:\", JSON.stringify(result));\n\n if (!result.name || !result.age || !result.hobbies) {\n throw new Error(\"Generated object missing required fields\");\n }\n } catch (error) {\n logger.error(\n `Error in test_object_generation: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n },\n },\n ] as TestCase[],\n },\n] as TestSuite[];\n\ntype ProcessEnvLike = Record<string, string | undefined>;\n\nfunction getProcessEnv(): ProcessEnvLike {\n if (typeof process === \"undefined\") {\n return {};\n }\n return process.env as ProcessEnvLike;\n}\n\nconst env = getProcessEnv();\n\nexport const googleGenAIPlugin: Plugin = {\n name: \"google-genai\",\n description: \"Google Generative AI plugin for Gemini models\",\n\n config: {\n GOOGLE_GENERATIVE_AI_API_KEY: env.GOOGLE_GENERATIVE_AI_API_KEY ?? null,\n GOOGLE_SMALL_MODEL: env.GOOGLE_SMALL_MODEL ?? null,\n GOOGLE_LARGE_MODEL: env.GOOGLE_LARGE_MODEL ?? null,\n GOOGLE_IMAGE_MODEL: env.GOOGLE_IMAGE_MODEL ?? null,\n GOOGLE_EMBEDDING_MODEL: env.GOOGLE_EMBEDDING_MODEL ?? null,\n SMALL_MODEL: env.SMALL_MODEL ?? null,\n LARGE_MODEL: env.LARGE_MODEL ?? null,\n IMAGE_MODEL: env.IMAGE_MODEL ?? null,\n },\n\n async init(config, runtime) {\n initializeGoogleGenAI(config as PluginConfig, runtime);\n },\n\n models: {\n [ModelType.TEXT_SMALL]: async (\n runtime: IAgentRuntime,\n params: GenerateTextParams\n ): Promise<string> => {\n return handleTextSmall(runtime, params);\n },\n\n [ModelType.TEXT_LARGE]: async (\n runtime: IAgentRuntime,\n params: GenerateTextParams\n ): Promise<string> => {\n return handleTextLarge(runtime, params);\n },\n\n [ModelType.TEXT_EMBEDDING]: async (\n runtime: IAgentRuntime,\n params: TextEmbeddingParams | string | null\n ): Promise<number[]> => {\n return handleTextEmbedding(runtime, params);\n },\n\n [ModelType.IMAGE_DESCRIPTION]: async (\n runtime: IAgentRuntime,\n params: ImageDescriptionParams | string\n ): Promise<{ title: string; description: string }> => {\n return handleImageDescription(runtime, params);\n },\n\n [ModelType.OBJECT_SMALL]: async (\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n ): Promise<Record<string, string | number | boolean | null>> => {\n return handleObjectSmall(runtime, params);\n },\n\n [ModelType.OBJECT_LARGE]: async (\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n ): Promise<Record<string, string | number | boolean | null>> => {\n return handleObjectLarge(runtime, params);\n },\n },\n\n tests: pluginTests,\n};\n\nexport default googleGenAIPlugin;\n",
6
6
  "import { type IAgentRuntime, logger } from \"@elizaos/core\";\nimport { GoogleGenAI } from \"@google/genai\";\nimport { getApiKey } from \"./utils/config\";\n\nexport interface PluginConfig {\n readonly GOOGLE_GENERATIVE_AI_API_KEY?: string;\n readonly GOOGLE_SMALL_MODEL?: string;\n readonly GOOGLE_LARGE_MODEL?: string;\n readonly GOOGLE_IMAGE_MODEL?: string;\n readonly GOOGLE_EMBEDDING_MODEL?: string;\n readonly SMALL_MODEL?: string;\n readonly LARGE_MODEL?: string;\n readonly IMAGE_MODEL?: string;\n}\n\nexport function initializeGoogleGenAI(_config: PluginConfig, runtime: IAgentRuntime): void {\n (async () => {\n try {\n const apiKey = getApiKey(runtime);\n if (!apiKey) {\n logger.warn(\"GOOGLE_GENERATIVE_AI_API_KEY is not set\");\n return;\n }\n\n const genAI = new GoogleGenAI({ apiKey });\n const modelList = await genAI.models.list();\n const models = [];\n for await (const model of modelList) {\n models.push(model);\n }\n logger.log(`Google AI API key validated. Available models: ${models.length}`);\n } catch (error) {\n logger.warn(\n `Google AI configuration error: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n })();\n}\n",
7
7
  "import type { IAgentRuntime } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport { GoogleGenAI, HarmBlockThreshold, HarmCategory } from \"@google/genai\";\n\nfunction getEnvValue(key: string): string | undefined {\n // In browsers, `process` is not defined. `typeof process` is safe.\n if (typeof process === \"undefined\") {\n return undefined;\n }\n const value = process.env[key];\n return value === undefined ? undefined : String(value);\n}\n\nexport function getSetting(\n runtime: IAgentRuntime,\n key: string,\n defaultValue?: string\n): string | undefined {\n const runtimeValue = runtime.getSetting(key);\n if (runtimeValue !== undefined) {\n return String(runtimeValue);\n }\n return getEnvValue(key) ?? defaultValue;\n}\n\nexport function getApiKey(runtime: IAgentRuntime): string | undefined {\n return getSetting(runtime, \"GOOGLE_GENERATIVE_AI_API_KEY\");\n}\n\nexport function getSmallModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"GOOGLE_SMALL_MODEL\") ??\n getSetting(runtime, \"SMALL_MODEL\", \"gemini-2.0-flash-001\") ??\n \"gemini-2.0-flash-001\"\n );\n}\n\nexport function getLargeModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"GOOGLE_LARGE_MODEL\") ??\n getSetting(runtime, \"LARGE_MODEL\", \"gemini-2.5-pro-preview-03-25\") ??\n \"gemini-2.5-pro-preview-03-25\"\n );\n}\n\nexport function getImageModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"GOOGLE_IMAGE_MODEL\") ??\n getSetting(runtime, \"IMAGE_MODEL\", \"gemini-2.5-pro-preview-03-25\") ??\n \"gemini-2.5-pro-preview-03-25\"\n );\n}\n\nexport function getEmbeddingModel(runtime: IAgentRuntime): string {\n return (\n getSetting(runtime, \"GOOGLE_EMBEDDING_MODEL\", \"text-embedding-004\") ?? \"text-embedding-004\"\n );\n}\n\nexport function createGoogleGenAI(runtime: IAgentRuntime): GoogleGenAI | null {\n const apiKey = getApiKey(runtime);\n if (!apiKey) {\n logger.error(\"Google Generative AI API Key is missing\");\n return null;\n }\n\n return new GoogleGenAI({ apiKey });\n}\n\nexport function getSafetySettings() {\n return [\n {\n category: HarmCategory.HARM_CATEGORY_HARASSMENT,\n threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,\n },\n {\n category: HarmCategory.HARM_CATEGORY_HATE_SPEECH,\n threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,\n },\n {\n category: HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT,\n threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,\n },\n {\n category: HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT,\n threshold: HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,\n },\n ];\n}\n",
8
- "import type { IAgentRuntime, TextEmbeddingParams } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport { createGoogleGenAI, getEmbeddingModel } from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nexport async function handleTextEmbedding(\n runtime: IAgentRuntime,\n params: TextEmbeddingParams | string | null\n): Promise<number[]> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const embeddingModelName = getEmbeddingModel(runtime);\n logger.debug(`[TEXT_EMBEDDING] Using model: ${embeddingModelName}`);\n\n if (params === null) {\n return Array(768).fill(0) as number[];\n }\n\n const text =\n typeof params === \"string\"\n ? params\n : typeof params === \"object\" && params.text\n ? params.text\n : \"\";\n\n if (!text.trim()) {\n logger.warn(\"Empty text for embedding\");\n return Array(768).fill(0) as number[];\n }\n\n try {\n const response = await genAI.models.embedContent({\n model: embeddingModelName,\n contents: text,\n });\n\n const embedding = response.embeddings?.[0]?.values || [];\n\n const promptTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_EMBEDDING, text, {\n promptTokens,\n completionTokens: 0,\n totalTokens: promptTokens,\n });\n\n logger.log(`Got embedding with length ${embedding.length}`);\n return embedding;\n } catch (error) {\n logger.error(\n `Error generating embedding: ${error instanceof Error ? error.message : String(error)}`\n );\n return Array(768).fill(0) as number[];\n }\n}\n",
8
+ "import type { IAgentRuntime, TextEmbeddingParams } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport { createGoogleGenAI, getEmbeddingModel } from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nexport async function handleTextEmbedding(\n runtime: IAgentRuntime,\n params: TextEmbeddingParams | string | null\n): Promise<number[]> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const embeddingModelName = getEmbeddingModel(runtime);\n logger.debug(`[TEXT_EMBEDDING] Using model: ${embeddingModelName}`);\n\n if (params === null) {\n return Array(768).fill(0) as number[];\n }\n\n let text =\n typeof params === \"string\"\n ? params\n : typeof params === \"object\" && params.text\n ? params.text\n : \"\";\n\n if (!text.trim()) {\n logger.warn(\"Empty text for embedding\");\n return Array(768).fill(0) as number[];\n }\n\n // Truncate to stay within embedding model token limits (~4 chars per token)\n const maxChars = 8_192 * 4;\n if (text.length > maxChars) {\n logger.warn(\n `[Google GenAI] Embedding input too long (~${Math.ceil(text.length / 4)} tokens), truncating to ~8192 tokens`\n );\n text = text.slice(0, maxChars);\n }\n\n try {\n const response = await genAI.models.embedContent({\n model: embeddingModelName,\n contents: text,\n });\n\n const embedding = response.embeddings?.[0]?.values || [];\n\n const promptTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_EMBEDDING, text, {\n promptTokens,\n completionTokens: 0,\n totalTokens: promptTokens,\n });\n\n logger.log(`Got embedding with length ${embedding.length}`);\n return embedding;\n } catch (error) {\n logger.error(\n `Error generating embedding: ${error instanceof Error ? error.message : String(error)}`\n );\n return Array(768).fill(0) as number[];\n }\n}\n",
9
9
  "import type { IAgentRuntime, ModelTypeName } from \"@elizaos/core\";\nimport { EventType } from \"@elizaos/core\";\n\nexport function emitModelUsageEvent(\n runtime: IAgentRuntime,\n type: ModelTypeName,\n _prompt: string,\n usage: {\n promptTokens: number;\n completionTokens: number;\n totalTokens: number;\n }\n): void {\n void _prompt; // Not included in ModelEventPayload\n runtime.emitEvent(EventType.MODEL_USED, {\n runtime,\n source: \"plugin-google-genai\",\n type,\n tokens: {\n prompt: usage.promptTokens,\n completion: usage.completionTokens,\n total: usage.totalTokens,\n },\n });\n}\n",
10
10
  "export async function countTokens(text: string): Promise<number> {\n return Math.ceil(text.length / 4);\n}\n",
11
11
  "import type { IAgentRuntime, ImageDescriptionParams } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport type { ImageDescriptionResponse } from \"../types\";\nimport { createGoogleGenAI, getImageModel, getSafetySettings } from \"../utils/config\";\n\nconst crossFetch = typeof globalThis.fetch === \"function\" ? globalThis.fetch : fetch;\n\nexport async function handleImageDescription(\n runtime: IAgentRuntime,\n params: ImageDescriptionParams | string\n): Promise<ImageDescriptionResponse> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n let imageUrl: string;\n let promptText: string;\n const modelName = getImageModel(runtime);\n logger.log(`[IMAGE_DESCRIPTION] Using model: ${modelName}`);\n\n if (typeof params === \"string\") {\n imageUrl = params;\n promptText = \"Please analyze this image and provide a title and detailed description.\";\n } else {\n imageUrl = params.imageUrl;\n promptText =\n params.prompt || \"Please analyze this image and provide a title and detailed description.\";\n }\n\n try {\n const imageResponse = await crossFetch(imageUrl);\n if (!imageResponse.ok) {\n throw new Error(`Failed to fetch image: ${imageResponse.statusText}`);\n }\n\n const imageData = await imageResponse.arrayBuffer();\n const base64Image = Buffer.from(imageData).toString(\"base64\");\n const contentType = imageResponse.headers.get(\"content-type\") || \"image/jpeg\";\n\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: [\n {\n role: \"user\",\n parts: [\n { text: promptText },\n {\n inlineData: {\n mimeType: contentType,\n data: base64Image,\n },\n },\n ],\n },\n ],\n config: {\n temperature: 0.7,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: 8192,\n safetySettings: getSafetySettings(),\n },\n });\n\n const responseText = response.text || \"\";\n\n try {\n const jsonResponse = JSON.parse(responseText) as { title?: string; description?: string };\n if (typeof jsonResponse.title === \"string\" && typeof jsonResponse.description === \"string\") {\n return {\n title: jsonResponse.title,\n description: jsonResponse.description,\n };\n }\n } catch {\n // Fall through to text parsing\n }\n\n const titleMatch = responseText.match(/title[:\\s]+(.+?)(?:\\n|$)/i);\n const title = titleMatch?.[1]?.trim() || \"Image Analysis\";\n const description = titleMatch\n ? responseText.replace(/title[:\\s]+(.+?)(?:\\n|$)/i, \"\").trim()\n : responseText.trim();\n\n return { title, description };\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n logger.error(`Error analyzing image: ${message}`);\n return {\n title: \"Failed to analyze image\",\n description: `Error: ${message}`,\n };\n }\n}\n",
12
12
  "import type { IAgentRuntime, ModelTypeName, ObjectGenerationParams } from \"@elizaos/core\";\nimport { logger } from \"@elizaos/core\";\nimport {\n createGoogleGenAI,\n getLargeModel,\n getSafetySettings,\n getSmallModel,\n} from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nasync function generateObjectByModelType(\n runtime: IAgentRuntime,\n params: ObjectGenerationParams,\n modelType: string,\n getModelFn: (runtime: IAgentRuntime) => string\n): Promise<Record<string, string | number | boolean | null>> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getModelFn(runtime);\n const temperature = params.temperature ?? 0.1;\n\n logger.info(`Using ${modelType} model: ${modelName}`);\n\n try {\n let enhancedPrompt = params.prompt;\n if (params.schema) {\n enhancedPrompt += `\\n\\nPlease respond with a JSON object that follows this schema:\\n${JSON.stringify(params.schema, null, 2)}`;\n }\n\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: enhancedPrompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: 8192,\n responseMimeType: \"application/json\",\n safetySettings: getSafetySettings(),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(enhancedPrompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, modelType as ModelTypeName, params.prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n try {\n return JSON.parse(text) as Record<string, string | number | boolean | null>;\n } catch {\n const jsonMatch = text.match(/\\{[\\s\\S]*\\}/);\n if (jsonMatch) {\n try {\n return JSON.parse(jsonMatch[0]) as Record<string, string | number | boolean | null>;\n } catch {\n throw new Error(\"Failed to parse JSON from response\");\n }\n }\n throw new Error(\"Failed to parse JSON from response\");\n }\n } catch (error) {\n logger.error(\n `[generateObject] Error: ${error instanceof Error ? error.message : String(error)}`\n );\n throw error;\n }\n}\n\nexport async function handleObjectSmall(\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n): Promise<Record<string, string | number | boolean | null>> {\n return generateObjectByModelType(runtime, params, \"OBJECT_SMALL\", getSmallModel);\n}\n\nexport async function handleObjectLarge(\n runtime: IAgentRuntime,\n params: ObjectGenerationParams\n): Promise<Record<string, string | number | boolean | null>> {\n return generateObjectByModelType(runtime, params, \"OBJECT_LARGE\", getLargeModel);\n}\n",
13
- "import type { GenerateTextParams, IAgentRuntime } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport {\n createGoogleGenAI,\n getLargeModel,\n getSafetySettings,\n getSmallModel,\n} from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nexport async function handleTextSmall(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [], maxTokens = 8192, temperature = 0.7 }: GenerateTextParams\n): Promise<string> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getSmallModel(runtime);\n\n logger.log(`[TEXT_SMALL] Using model: ${modelName}`);\n\n try {\n const systemInstruction = runtime.character.system || undefined;\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: prompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: maxTokens,\n stopSequences,\n safetySettings: getSafetySettings(),\n ...(systemInstruction && { systemInstruction }),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(prompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_SMALL, prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n return text;\n } catch (error) {\n logger.error(`[TEXT_SMALL] Error: ${error instanceof Error ? error.message : String(error)}`);\n throw error;\n }\n}\n\nexport async function handleTextLarge(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [], maxTokens = 8192, temperature = 0.7 }: GenerateTextParams\n): Promise<string> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getLargeModel(runtime);\n\n logger.log(`[TEXT_LARGE] Using model: ${modelName}`);\n\n try {\n const systemInstruction = runtime.character.system || undefined;\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: prompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: maxTokens,\n stopSequences,\n safetySettings: getSafetySettings(),\n ...(systemInstruction && { systemInstruction }),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(prompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_LARGE, prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n return text;\n } catch (error) {\n logger.error(`[TEXT_LARGE] Error: ${error instanceof Error ? error.message : String(error)}`);\n throw error;\n }\n}\n"
13
+ "import type { GenerateTextParams, IAgentRuntime } from \"@elizaos/core\";\nimport { logger, ModelType } from \"@elizaos/core\";\nimport {\n createGoogleGenAI,\n getLargeModel,\n getSafetySettings,\n getSmallModel,\n} from \"../utils/config\";\nimport { emitModelUsageEvent } from \"../utils/events\";\nimport { countTokens } from \"../utils/tokenization\";\n\nexport async function handleTextSmall(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [], maxTokens = 8192, temperature = 0.7 }: GenerateTextParams\n): Promise<string> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getSmallModel(runtime);\n\n logger.log(`[TEXT_SMALL] Using model: ${modelName}`);\n\n try {\n const systemInstruction = runtime.character.system || undefined;\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: prompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: maxTokens,\n stopSequences,\n safetySettings: getSafetySettings(),\n ...(systemInstruction && { systemInstruction }),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(prompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_SMALL, prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n return text;\n } catch (error) {\n logger.error(`[TEXT_SMALL] Error: ${error instanceof Error ? error.message : String(error)}`);\n throw error;\n }\n}\n\nexport async function handleTextLarge(\n runtime: IAgentRuntime,\n { prompt, stopSequences = [], maxTokens = 8192, temperature = 0.7 }: GenerateTextParams\n): Promise<string> {\n const genAI = createGoogleGenAI(runtime);\n if (!genAI) {\n throw new Error(\"Google Generative AI client not initialized\");\n }\n\n const modelName = getLargeModel(runtime);\n\n logger.log(`[TEXT_LARGE] Using model: ${modelName}`);\n\n try {\n const systemInstruction = runtime.character.system || undefined;\n const response = await genAI.models.generateContent({\n model: modelName,\n contents: prompt,\n config: {\n temperature,\n topK: 40,\n topP: 0.95,\n maxOutputTokens: maxTokens,\n stopSequences,\n safetySettings: getSafetySettings(),\n ...(systemInstruction && { systemInstruction }),\n },\n });\n\n const text = response.text || \"\";\n\n const promptTokens = await countTokens(prompt);\n const completionTokens = await countTokens(text);\n\n emitModelUsageEvent(runtime, ModelType.TEXT_LARGE, prompt, {\n promptTokens,\n completionTokens,\n totalTokens: promptTokens + completionTokens,\n });\n\n return text;\n } catch (error) {\n logger.error(`[TEXT_LARGE] Error: ${error instanceof Error ? error.message : String(error)}`);\n throw error;\n }\n}\n",
14
+ "import pluginDefault from \"./index\";\n\nexport * from \"./index\";\nexport default pluginDefault;\n"
14
15
  ],
15
- "mappings": "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",
16
- "debugId": "73C483E32EFA1A6564756E2164756E21",
16
+ "mappings": "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",
17
+ "debugId": "03BF3269A9BE14FA64756E2164756E21",
17
18
  "names": []
18
19
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/plugin-google-genai",
3
- "version": "2.0.0-alpha.1",
3
+ "version": "2.0.0-alpha.11",
4
4
  "type": "module",
5
5
  "main": "dist/node/index.node.js",
6
6
  "module": "dist/node/index.node.js",
@@ -36,15 +36,20 @@
36
36
  ],
37
37
  "sideEffects": false,
38
38
  "dependencies": {
39
- "@elizaos/core": "workspace:*",
40
39
  "@google/genai": "^1.5.1",
41
40
  "undici": "^7.9.0"
42
41
  },
43
42
  "devDependencies": {
43
+ "@biomejs/biome": "^2.3.11",
44
44
  "@types/node": "^25.0.3",
45
- "typescript": "^5.9.3",
46
45
  "dotenv": "^17.2.3",
47
- "@biomejs/biome": "^2.3.11"
46
+ "typescript": "^5.9.3",
47
+ "@elizaos/core": "2.0.0-alpha.98",
48
+ "vitest": "^4.0.0",
49
+ "@types/bun": "^1.3.11"
50
+ },
51
+ "peerDependencies": {
52
+ "@elizaos/core": ">=2.0.0-alpha.98 <3.0.0"
48
53
  },
49
54
  "scripts": {
50
55
  "dev": "bun run build.ts --watch",
@@ -53,8 +58,8 @@
53
58
  "format:check": "bunx @biomejs/biome format .",
54
59
  "typecheck": "tsc --noEmit -p tsconfig.json",
55
60
  "test": "bun run test:unit && bun run test:integration",
56
- "test:unit": "vitest run __tests__/unit/",
57
- "test:integration": "vitest run __tests__/integration/",
61
+ "test:unit": "vitest run __tests__/unit/**/*.test.ts --passWithNoTests",
62
+ "test:integration": "vitest run __tests__/integration/**/*.test.ts --passWithNoTests",
58
63
  "test:watch": "vitest",
59
64
  "lint": "bunx @biomejs/biome check --write --unsafe .",
60
65
  "lint:check": "bunx @biomejs/biome check .",
@@ -124,5 +129,16 @@
124
129
  }
125
130
  }
126
131
  },
127
- "gitHead": "646c632924826e2b75c2304a75ee56959fe4a460"
132
+ "gitHead": "646c632924826e2b75c2304a75ee56959fe4a460",
133
+ "milady": {
134
+ "platforms": [
135
+ "browser",
136
+ "node"
137
+ ],
138
+ "runtime": "both",
139
+ "platformDetails": {
140
+ "browser": "Browser-compatible build available via exports.browser",
141
+ "node": "Node.js build available via exports.node"
142
+ }
143
+ }
128
144
  }