@langchain/google-common 2.1.18 → 2.1.20

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.
Files changed (108) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/auth.cjs +1 -2
  3. package/dist/auth.cjs.map +1 -1
  4. package/dist/auth.d.cts.map +1 -1
  5. package/dist/auth.d.ts.map +1 -1
  6. package/dist/auth.js +1 -2
  7. package/dist/auth.js.map +1 -1
  8. package/dist/chat_models.cjs +24 -27
  9. package/dist/chat_models.cjs.map +1 -1
  10. package/dist/chat_models.d.cts.map +1 -1
  11. package/dist/chat_models.d.ts.map +1 -1
  12. package/dist/chat_models.js +7 -9
  13. package/dist/chat_models.js.map +1 -1
  14. package/dist/connection.cjs +16 -26
  15. package/dist/connection.cjs.map +1 -1
  16. package/dist/connection.d.cts.map +1 -1
  17. package/dist/connection.d.ts.map +1 -1
  18. package/dist/connection.js +13 -22
  19. package/dist/connection.js.map +1 -1
  20. package/dist/embeddings.cjs +12 -22
  21. package/dist/embeddings.cjs.map +1 -1
  22. package/dist/embeddings.d.cts +0 -1
  23. package/dist/embeddings.d.cts.map +1 -1
  24. package/dist/embeddings.d.ts +0 -1
  25. package/dist/embeddings.d.ts.map +1 -1
  26. package/dist/embeddings.js +7 -16
  27. package/dist/embeddings.js.map +1 -1
  28. package/dist/experimental/media.cjs +41 -70
  29. package/dist/experimental/media.cjs.map +1 -1
  30. package/dist/experimental/media.d.cts.map +1 -1
  31. package/dist/experimental/media.d.ts.map +1 -1
  32. package/dist/experimental/media.js +36 -65
  33. package/dist/experimental/media.js.map +1 -1
  34. package/dist/experimental/utils/media_core.cjs +22 -39
  35. package/dist/experimental/utils/media_core.cjs.map +1 -1
  36. package/dist/experimental/utils/media_core.d.cts.map +1 -1
  37. package/dist/experimental/utils/media_core.d.ts.map +1 -1
  38. package/dist/experimental/utils/media_core.js +16 -33
  39. package/dist/experimental/utils/media_core.js.map +1 -1
  40. package/dist/index.cjs +1 -0
  41. package/dist/llms.cjs +14 -19
  42. package/dist/llms.cjs.map +1 -1
  43. package/dist/llms.d.cts.map +1 -1
  44. package/dist/llms.d.ts.map +1 -1
  45. package/dist/llms.js +4 -8
  46. package/dist/llms.js.map +1 -1
  47. package/dist/output_parsers.cjs +12 -29
  48. package/dist/output_parsers.cjs.map +1 -1
  49. package/dist/output_parsers.d.cts.map +1 -1
  50. package/dist/output_parsers.d.ts.map +1 -1
  51. package/dist/output_parsers.js +10 -26
  52. package/dist/output_parsers.js.map +1 -1
  53. package/dist/profiles.cjs +100 -17
  54. package/dist/profiles.cjs.map +1 -1
  55. package/dist/profiles.js +100 -17
  56. package/dist/profiles.js.map +1 -1
  57. package/dist/types-anthropic.d.cts.map +1 -1
  58. package/dist/types-anthropic.d.ts.map +1 -1
  59. package/dist/types.cjs +1 -0
  60. package/dist/types.cjs.map +1 -1
  61. package/dist/types.d.cts +0 -1
  62. package/dist/types.d.cts.map +1 -1
  63. package/dist/types.d.ts +0 -1
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/types.js.map +1 -1
  66. package/dist/utils/anthropic.cjs +73 -113
  67. package/dist/utils/anthropic.cjs.map +1 -1
  68. package/dist/utils/anthropic.js +63 -102
  69. package/dist/utils/anthropic.js.map +1 -1
  70. package/dist/utils/common.cjs +10 -13
  71. package/dist/utils/common.cjs.map +1 -1
  72. package/dist/utils/common.d.cts.map +1 -1
  73. package/dist/utils/common.d.ts.map +1 -1
  74. package/dist/utils/common.js +6 -8
  75. package/dist/utils/common.js.map +1 -1
  76. package/dist/utils/failed_handler.cjs +1 -2
  77. package/dist/utils/failed_handler.cjs.map +1 -1
  78. package/dist/utils/failed_handler.d.cts.map +1 -1
  79. package/dist/utils/failed_handler.d.ts.map +1 -1
  80. package/dist/utils/failed_handler.js +1 -2
  81. package/dist/utils/failed_handler.js.map +1 -1
  82. package/dist/utils/gemini.cjs +83 -135
  83. package/dist/utils/gemini.cjs.map +1 -1
  84. package/dist/utils/gemini.d.cts.map +1 -1
  85. package/dist/utils/gemini.d.ts.map +1 -1
  86. package/dist/utils/gemini.js +58 -109
  87. package/dist/utils/gemini.js.map +1 -1
  88. package/dist/utils/index.cjs +1 -0
  89. package/dist/utils/palm.d.cts.map +1 -1
  90. package/dist/utils/palm.d.ts.map +1 -1
  91. package/dist/utils/safety.cjs.map +1 -1
  92. package/dist/utils/safety.d.cts.map +1 -1
  93. package/dist/utils/safety.d.ts.map +1 -1
  94. package/dist/utils/safety.js.map +1 -1
  95. package/dist/utils/stream.cjs +5 -9
  96. package/dist/utils/stream.cjs.map +1 -1
  97. package/dist/utils/stream.d.cts.map +1 -1
  98. package/dist/utils/stream.d.ts.map +1 -1
  99. package/dist/utils/stream.js +5 -9
  100. package/dist/utils/stream.js.map +1 -1
  101. package/dist/utils/zod_to_gemini_parameters.cjs +4 -7
  102. package/dist/utils/zod_to_gemini_parameters.cjs.map +1 -1
  103. package/dist/utils/zod_to_gemini_parameters.d.cts.map +1 -1
  104. package/dist/utils/zod_to_gemini_parameters.d.ts.map +1 -1
  105. package/dist/utils/zod_to_gemini_parameters.js +2 -4
  106. package/dist/utils/zod_to_gemini_parameters.js.map +1 -1
  107. package/package.json +3 -3
  108. package/dist/_virtual/rolldown_runtime.cjs +0 -25
@@ -1 +1 @@
1
- {"version":3,"file":"chat_models.js","names":["fields: GoogleAIBaseLLMInput<AuthOptions> | undefined","caller: AsyncCaller","client: GoogleAbstractedClient","streaming: boolean","apiConfig: GeminiAPIConfig","geminiConfig: GeminiAPIConfig","fields?: ChatGoogleBaseInput<AuthOptions>","options: this[\"ParsedCallOptions\"]","apiKey: string","fields?: GoogleAIBaseLLMInput<AuthOptions>","fields: GoogleBaseLLMInput<AuthOptions>","tools: GoogleAIToolType[]","kwargs?: Partial<GoogleAIBaseLanguageModelCallOptions>","options?: this[\"ParsedCallOptions\"]","messages: BaseMessage[]","runManager: CallbackManagerForLLMRun | undefined","finalChunk: ChatGenerationChunk | null","chunk","_messages: BaseMessage[]","runManager?: CallbackManagerForLLMRun","usageMetadata: UsageMetadata | undefined","PROFILES","outputSchema:\n | InteropZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>","config?: StructuredOutputMethodOptions<boolean>","schema: InteropZodType<RunOutput> | Record<string, any>","outputParser: BaseLLMOutputParser<RunOutput>","tools: GeminiTool[]","geminiFunctionDefinition: GeminiFunctionDeclaration","parameters: GeminiJsonSchema","input: any","config"],"sources":["../src/chat_models.ts"],"sourcesContent":["import { getEnvironmentVariable } from \"@langchain/core/utils/env\";\nimport { UsageMetadata, type BaseMessage } from \"@langchain/core/messages\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\n\nimport {\n BaseChatModel,\n LangSmithParams,\n type BaseChatModelParams,\n} from \"@langchain/core/language_models/chat_models\";\nimport { ChatGenerationChunk, ChatResult } from \"@langchain/core/outputs\";\nimport { AIMessageChunk } from \"@langchain/core/messages\";\nimport {\n BaseLanguageModelInput,\n StructuredOutputMethodOptions,\n} from \"@langchain/core/language_models/base\";\nimport { type ModelProfile } from \"@langchain/core/language_models/profile\";\nimport {\n Runnable,\n RunnablePassthrough,\n RunnableSequence,\n} from \"@langchain/core/runnables\";\nimport { JsonOutputKeyToolsParser } from \"@langchain/core/output_parsers/openai_tools\";\nimport {\n BaseLLMOutputParser,\n JsonOutputParser,\n} from \"@langchain/core/output_parsers\";\nimport { AsyncCaller } from \"@langchain/core/utils/async_caller\";\nimport { concat } from \"@langchain/core/utils/stream\";\nimport {\n InteropZodType,\n isInteropZodSchema,\n} from \"@langchain/core/utils/types\";\nimport {\n GoogleAIBaseLLMInput,\n GoogleAIModelParams,\n GoogleAISafetySetting,\n GoogleConnectionParams,\n GooglePlatformType,\n GeminiTool,\n GoogleAIBaseLanguageModelCallOptions,\n GoogleAIAPI,\n GoogleAIAPIParams,\n GoogleSearchToolSetting,\n GoogleSpeechConfig,\n GeminiJsonSchema,\n} from \"./types.js\";\nimport {\n convertToGeminiTools,\n copyAIModelParams,\n copyAndValidateModelParamsInto,\n} from \"./utils/common.js\";\nimport { AbstractGoogleLLMConnection } from \"./connection.js\";\nimport { DefaultGeminiSafetyHandler, getGeminiAPI } from \"./utils/gemini.js\";\nimport { ApiKeyGoogleAuth, GoogleAbstractedClient } from \"./auth.js\";\nimport { JsonStream } from \"./utils/stream.js\";\nimport { ensureParams } from \"./utils/failed_handler.js\";\nimport type {\n GoogleBaseLLMInput,\n GoogleAISafetyHandler,\n GoogleAISafetyParams,\n GeminiFunctionDeclaration,\n GeminiFunctionSchema,\n GoogleAIToolType,\n GeminiAPIConfig,\n GoogleAIModelModality,\n} from \"./types.js\";\nimport {\n removeAdditionalProperties,\n schemaToGeminiParameters,\n} from \"./utils/zod_to_gemini_parameters.js\";\nimport PROFILES from \"./profiles.js\";\n\nexport class ChatConnection<AuthOptions> extends AbstractGoogleLLMConnection<\n BaseMessage[],\n AuthOptions\n> {\n convertSystemMessageToHumanContent: boolean | undefined;\n\n constructor(\n fields: GoogleAIBaseLLMInput<AuthOptions> | undefined,\n caller: AsyncCaller,\n client: GoogleAbstractedClient,\n streaming: boolean\n ) {\n super(fields, caller, client, streaming);\n this.convertSystemMessageToHumanContent =\n fields?.convertSystemMessageToHumanContent;\n }\n\n get useSystemInstruction(): boolean {\n return typeof this.convertSystemMessageToHumanContent === \"boolean\"\n ? !this.convertSystemMessageToHumanContent\n : this.computeUseSystemInstruction;\n }\n\n get computeUseSystemInstruction(): boolean {\n // This works on models from April 2024 and later\n // Vertex AI: gemini-1.5-pro and gemini-1.0-002 and later\n // AI Studio: gemini-1.5-pro-latest\n if (this.modelFamily === \"palm\") {\n return false;\n } else if (this.modelName === \"gemini-1.0-pro-001\") {\n return false;\n } else if (this.modelName.startsWith(\"gemini-pro-vision\")) {\n return false;\n } else if (this.modelName.startsWith(\"gemini-1.0-pro-vision\")) {\n return false;\n } else if (this.modelName === \"gemini-pro\" && this.platform === \"gai\") {\n // on AI Studio gemini-pro is still pointing at gemini-1.0-pro-001\n return false;\n } else if (this.modelFamily === \"gemma\") {\n // At least as of 12 Mar 2025 gemma 3 on AIS, trying to use system instructions yields an error:\n // \"Developer instruction is not enabled for models/gemma-3-27b-it\"\n return false;\n }\n return true;\n }\n\n computeGoogleSearchToolAdjustmentFromModel(): Exclude<\n GoogleSearchToolSetting,\n boolean\n > {\n if (this.modelName.startsWith(\"gemini-1.0\")) {\n return \"googleSearchRetrieval\";\n } else if (this.modelName.startsWith(\"gemini-1.5\")) {\n return \"googleSearchRetrieval\";\n } else {\n return \"googleSearch\";\n }\n }\n\n computeGoogleSearchToolAdjustment(\n apiConfig: GeminiAPIConfig\n ): Exclude<GoogleSearchToolSetting, true> {\n const adj = apiConfig.googleSearchToolAdjustment;\n if (adj === undefined || adj === true) {\n return this.computeGoogleSearchToolAdjustmentFromModel();\n } else {\n return adj;\n }\n }\n\n buildGeminiAPI(): GoogleAIAPI {\n const apiConfig: GeminiAPIConfig =\n (this.apiConfig as GeminiAPIConfig) ?? {};\n const googleSearchToolAdjustment =\n this.computeGoogleSearchToolAdjustment(apiConfig);\n const geminiConfig: GeminiAPIConfig = {\n useSystemInstruction: this.useSystemInstruction,\n googleSearchToolAdjustment,\n ...apiConfig,\n };\n return getGeminiAPI(geminiConfig);\n }\n\n get api(): GoogleAIAPI {\n switch (this.apiName) {\n case \"google\":\n return this.buildGeminiAPI();\n default:\n return super.api;\n }\n }\n}\n\n/**\n * Input to chat model class.\n */\nexport interface ChatGoogleBaseInput<AuthOptions>\n extends\n BaseChatModelParams,\n GoogleConnectionParams<AuthOptions>,\n GoogleAIModelParams,\n GoogleAISafetyParams,\n GoogleAIAPIParams,\n Pick<GoogleAIBaseLanguageModelCallOptions, \"streamUsage\"> {}\n\n/**\n * Integration with a Google chat model.\n */\nexport abstract class ChatGoogleBase<AuthOptions>\n extends BaseChatModel<GoogleAIBaseLanguageModelCallOptions, AIMessageChunk>\n implements ChatGoogleBaseInput<AuthOptions>\n{\n // Used for tracing, replace with the same name as your class\n static lc_name() {\n return \"ChatGoogle\";\n }\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return {\n authOptions: \"GOOGLE_AUTH_OPTIONS\",\n };\n }\n\n lc_serializable = true;\n\n // Set based on modelName\n model: string;\n\n modelName = \"gemini-pro\";\n\n temperature: number;\n\n maxOutputTokens: number;\n\n maxReasoningTokens: number;\n\n topP: number;\n\n topK: number;\n\n seed: number;\n\n presencePenalty: number;\n\n frequencyPenalty: number;\n\n stopSequences: string[] = [];\n\n logprobs: boolean;\n\n topLogprobs: number = 0;\n\n safetySettings: GoogleAISafetySetting[] = [];\n\n responseModalities?: GoogleAIModelModality[];\n\n // May intentionally be undefined, meaning to compute this.\n convertSystemMessageToHumanContent: boolean | undefined;\n\n safetyHandler: GoogleAISafetyHandler;\n\n speechConfig: GoogleSpeechConfig;\n\n streamUsage = true;\n\n streaming = false;\n\n labels?: Record<string, string>;\n\n protected connection: ChatConnection<AuthOptions>;\n\n protected streamedConnection: ChatConnection<AuthOptions>;\n\n constructor(fields?: ChatGoogleBaseInput<AuthOptions>) {\n super(ensureParams(fields));\n\n copyAndValidateModelParamsInto(fields, this);\n this.safetyHandler =\n fields?.safetyHandler ?? new DefaultGeminiSafetyHandler();\n this.streamUsage = fields?.streamUsage ?? this.streamUsage;\n const client = this.buildClient(fields);\n this.buildConnection(fields ?? {}, client);\n }\n\n getLsParams(options: this[\"ParsedCallOptions\"]): LangSmithParams {\n const params = this.invocationParams(options);\n return {\n ls_provider: \"google_vertexai\",\n ls_model_name: this.model,\n ls_model_type: \"chat\",\n ls_temperature: params.temperature ?? undefined,\n ls_max_tokens: params.maxOutputTokens ?? undefined,\n ls_stop: options.stop,\n };\n }\n\n abstract buildAbstractedClient(\n fields?: GoogleAIBaseLLMInput<AuthOptions>\n ): GoogleAbstractedClient;\n\n buildApiKeyClient(apiKey: string): GoogleAbstractedClient {\n return new ApiKeyGoogleAuth(apiKey);\n }\n\n buildApiKey(fields?: GoogleAIBaseLLMInput<AuthOptions>): string | undefined {\n return fields?.apiKey ?? getEnvironmentVariable(\"GOOGLE_API_KEY\");\n }\n\n buildClient(\n fields?: GoogleAIBaseLLMInput<AuthOptions>\n ): GoogleAbstractedClient {\n const apiKey = this.buildApiKey(fields);\n if (apiKey) {\n return this.buildApiKeyClient(apiKey);\n } else {\n return this.buildAbstractedClient(fields);\n }\n }\n\n buildConnection(\n fields: GoogleBaseLLMInput<AuthOptions>,\n client: GoogleAbstractedClient\n ) {\n this.connection = new ChatConnection(\n { ...fields, ...this },\n this.caller,\n client,\n false\n );\n\n this.streamedConnection = new ChatConnection(\n { ...fields, ...this },\n this.caller,\n client,\n true\n );\n }\n\n get platform(): GooglePlatformType {\n return this.connection.platform;\n }\n\n override bindTools(\n tools: GoogleAIToolType[],\n kwargs?: Partial<GoogleAIBaseLanguageModelCallOptions>\n ): Runnable<\n BaseLanguageModelInput,\n AIMessageChunk,\n GoogleAIBaseLanguageModelCallOptions\n > {\n return this.withConfig({ tools: convertToGeminiTools(tools), ...kwargs });\n }\n\n _llmType() {\n return \"google\";\n }\n\n /**\n * Get the parameters used to invoke the model\n */\n override invocationParams(options?: this[\"ParsedCallOptions\"]) {\n return copyAIModelParams(this, options);\n }\n\n async _generate(\n messages: BaseMessage[],\n options: this[\"ParsedCallOptions\"],\n runManager: CallbackManagerForLLMRun | undefined\n ): Promise<ChatResult> {\n options.signal?.throwIfAborted();\n const parameters = this.invocationParams(options);\n if (this.streaming) {\n const stream = this._streamResponseChunks(messages, options, runManager);\n let finalChunk: ChatGenerationChunk | null = null;\n for await (const chunk of stream) {\n finalChunk = !finalChunk ? chunk : concat(finalChunk, chunk);\n }\n if (!finalChunk) {\n throw new Error(\"No chunks were returned from the stream.\");\n }\n return {\n generations: [finalChunk],\n };\n }\n\n const response = await this.connection.request(\n messages,\n parameters,\n options,\n runManager\n );\n const ret = this.connection.api.responseToChatResult(response);\n const chunk = ret?.generations?.[0];\n if (chunk) {\n await runManager?.handleLLMNewToken(chunk.text || \"\");\n }\n return ret;\n }\n\n async *_streamResponseChunks(\n _messages: BaseMessage[],\n options: this[\"ParsedCallOptions\"],\n runManager?: CallbackManagerForLLMRun\n ): AsyncGenerator<ChatGenerationChunk> {\n // Make the call as a streaming request\n const parameters = this.invocationParams(options);\n const response = await this.streamedConnection.request(\n _messages,\n parameters,\n options,\n runManager\n );\n\n // Get the streaming parser of the response\n const stream = response.data as JsonStream;\n let usageMetadata: UsageMetadata | undefined;\n // Loop until the end of the stream\n // During the loop, yield each time we get a chunk from the streaming parser\n // that is either available or added to the queue\n while (!stream.streamDone) {\n if (options.signal?.aborted) {\n return;\n }\n const output = await stream.nextChunk();\n await runManager?.handleCustomEvent(\n `google-chunk-${this.constructor.name}`,\n {\n output,\n }\n );\n if (\n output &&\n output.usageMetadata &&\n this.streamUsage !== false &&\n options.streamUsage !== false\n ) {\n usageMetadata = {\n input_tokens: output.usageMetadata.promptTokenCount,\n output_tokens: output.usageMetadata.candidatesTokenCount,\n total_tokens: output.usageMetadata.totalTokenCount,\n };\n }\n const chunk =\n output !== null\n ? this.connection.api.responseToChatGeneration({ data: output })\n : new ChatGenerationChunk({\n text: \"\",\n generationInfo: { finishReason: \"stop\" },\n message: new AIMessageChunk({\n content: \"\",\n usage_metadata: usageMetadata,\n }),\n });\n if (chunk) {\n yield chunk;\n await runManager?.handleLLMNewToken(\n chunk.text ?? \"\",\n undefined,\n undefined,\n undefined,\n undefined,\n { chunk }\n );\n }\n }\n }\n\n /** @ignore */\n _combineLLMOutput() {\n return [];\n }\n\n /**\n * Return profiling information for the model.\n *\n * Provides information about the model's capabilities and constraints,\n * including token limits, multimodal support, and advanced features like\n * tool calling and structured output.\n *\n * @returns {ModelProfile} An object describing the model's capabilities and constraints\n */\n get profile(): ModelProfile {\n return PROFILES[this.model] ?? {};\n }\n\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>,\n >(\n outputSchema:\n | InteropZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>,\n config?: StructuredOutputMethodOptions<false>\n ): Runnable<BaseLanguageModelInput, RunOutput>;\n\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>,\n >(\n outputSchema:\n | InteropZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>,\n config?: StructuredOutputMethodOptions<true>\n ): Runnable<BaseLanguageModelInput, { raw: BaseMessage; parsed: RunOutput }>;\n\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>,\n >(\n outputSchema:\n | InteropZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>,\n config?: StructuredOutputMethodOptions<boolean>\n ):\n | Runnable<BaseLanguageModelInput, RunOutput>\n | Runnable<\n BaseLanguageModelInput,\n { raw: BaseMessage; parsed: RunOutput }\n > {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const schema: InteropZodType<RunOutput> | Record<string, any> =\n outputSchema;\n const name = config?.name;\n const method = config?.method;\n const includeRaw = config?.includeRaw;\n if (method === \"jsonMode\") {\n throw new Error(\n `Google only supports \"jsonSchema\" or \"functionCalling\" as a method.`\n );\n }\n\n let llm;\n let outputParser: BaseLLMOutputParser<RunOutput>;\n if (method === \"functionCalling\") {\n let functionName = name ?? \"extract\";\n let tools: GeminiTool[];\n if (isInteropZodSchema(schema)) {\n const jsonSchema = schemaToGeminiParameters(schema);\n tools = [\n {\n functionDeclarations: [\n {\n name: functionName,\n description:\n jsonSchema.description ?? \"A function available to call.\",\n parameters: jsonSchema as GeminiFunctionSchema,\n },\n ],\n },\n ];\n outputParser = new JsonOutputKeyToolsParser({\n returnSingle: true,\n keyName: functionName,\n zodSchema: schema,\n });\n } else {\n let geminiFunctionDefinition: GeminiFunctionDeclaration;\n if (\n typeof schema.name === \"string\" &&\n typeof schema.parameters === \"object\" &&\n schema.parameters != null\n ) {\n geminiFunctionDefinition = schema as GeminiFunctionDeclaration;\n functionName = schema.name;\n } else {\n // We are providing the schema for *just* the parameters, probably\n const parameters: GeminiJsonSchema =\n removeAdditionalProperties(schema);\n geminiFunctionDefinition = {\n name: functionName,\n description: schema.description ?? \"\",\n parameters,\n };\n }\n tools = [\n {\n functionDeclarations: [geminiFunctionDefinition],\n },\n ];\n outputParser = new JsonOutputKeyToolsParser<RunOutput>({\n returnSingle: true,\n keyName: functionName,\n });\n }\n llm = this.bindTools(tools).withConfig({ tool_choice: functionName });\n } else {\n // Default to jsonSchema method\n const jsonSchema = schemaToGeminiParameters(schema);\n llm = this.withConfig({\n responseSchema: jsonSchema as GeminiJsonSchema,\n });\n outputParser = new JsonOutputParser();\n }\n\n if (!includeRaw) {\n return llm.pipe(outputParser).withConfig({\n runName: \"ChatGoogleStructuredOutput\",\n }) as Runnable<BaseLanguageModelInput, RunOutput>;\n }\n\n const parserAssign = RunnablePassthrough.assign({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parsed: (input: any, config) => outputParser.invoke(input.raw, config),\n });\n const parserNone = RunnablePassthrough.assign({\n parsed: () => null,\n });\n const parsedWithFallback = parserAssign.withFallbacks({\n fallbacks: [parserNone],\n });\n return RunnableSequence.from<\n BaseLanguageModelInput,\n { raw: BaseMessage; parsed: RunOutput }\n >([\n {\n raw: llm,\n },\n parsedWithFallback,\n ]).withConfig({\n runName: \"StructuredOutputRunnable\",\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"chat_models.js","names":[],"sources":["../src/chat_models.ts"],"sourcesContent":["import { getEnvironmentVariable } from \"@langchain/core/utils/env\";\nimport { UsageMetadata, type BaseMessage } from \"@langchain/core/messages\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\n\nimport {\n BaseChatModel,\n LangSmithParams,\n type BaseChatModelParams,\n} from \"@langchain/core/language_models/chat_models\";\nimport { ChatGenerationChunk, ChatResult } from \"@langchain/core/outputs\";\nimport { AIMessageChunk } from \"@langchain/core/messages\";\nimport {\n BaseLanguageModelInput,\n StructuredOutputMethodOptions,\n} from \"@langchain/core/language_models/base\";\nimport { type ModelProfile } from \"@langchain/core/language_models/profile\";\nimport {\n Runnable,\n RunnablePassthrough,\n RunnableSequence,\n} from \"@langchain/core/runnables\";\nimport { JsonOutputKeyToolsParser } from \"@langchain/core/output_parsers/openai_tools\";\nimport {\n BaseLLMOutputParser,\n JsonOutputParser,\n} from \"@langchain/core/output_parsers\";\nimport { AsyncCaller } from \"@langchain/core/utils/async_caller\";\nimport { concat } from \"@langchain/core/utils/stream\";\nimport {\n InteropZodType,\n isInteropZodSchema,\n} from \"@langchain/core/utils/types\";\nimport {\n GoogleAIBaseLLMInput,\n GoogleAIModelParams,\n GoogleAISafetySetting,\n GoogleConnectionParams,\n GooglePlatformType,\n GeminiTool,\n GoogleAIBaseLanguageModelCallOptions,\n GoogleAIAPI,\n GoogleAIAPIParams,\n GoogleSearchToolSetting,\n GoogleSpeechConfig,\n GeminiJsonSchema,\n} from \"./types.js\";\nimport {\n convertToGeminiTools,\n copyAIModelParams,\n copyAndValidateModelParamsInto,\n} from \"./utils/common.js\";\nimport { AbstractGoogleLLMConnection } from \"./connection.js\";\nimport { DefaultGeminiSafetyHandler, getGeminiAPI } from \"./utils/gemini.js\";\nimport { ApiKeyGoogleAuth, GoogleAbstractedClient } from \"./auth.js\";\nimport { JsonStream } from \"./utils/stream.js\";\nimport { ensureParams } from \"./utils/failed_handler.js\";\nimport type {\n GoogleBaseLLMInput,\n GoogleAISafetyHandler,\n GoogleAISafetyParams,\n GeminiFunctionDeclaration,\n GeminiFunctionSchema,\n GoogleAIToolType,\n GeminiAPIConfig,\n GoogleAIModelModality,\n} from \"./types.js\";\nimport {\n removeAdditionalProperties,\n schemaToGeminiParameters,\n} from \"./utils/zod_to_gemini_parameters.js\";\nimport PROFILES from \"./profiles.js\";\n\nexport class ChatConnection<AuthOptions> extends AbstractGoogleLLMConnection<\n BaseMessage[],\n AuthOptions\n> {\n convertSystemMessageToHumanContent: boolean | undefined;\n\n constructor(\n fields: GoogleAIBaseLLMInput<AuthOptions> | undefined,\n caller: AsyncCaller,\n client: GoogleAbstractedClient,\n streaming: boolean\n ) {\n super(fields, caller, client, streaming);\n this.convertSystemMessageToHumanContent =\n fields?.convertSystemMessageToHumanContent;\n }\n\n get useSystemInstruction(): boolean {\n return typeof this.convertSystemMessageToHumanContent === \"boolean\"\n ? !this.convertSystemMessageToHumanContent\n : this.computeUseSystemInstruction;\n }\n\n get computeUseSystemInstruction(): boolean {\n // This works on models from April 2024 and later\n // Vertex AI: gemini-1.5-pro and gemini-1.0-002 and later\n // AI Studio: gemini-1.5-pro-latest\n if (this.modelFamily === \"palm\") {\n return false;\n } else if (this.modelName === \"gemini-1.0-pro-001\") {\n return false;\n } else if (this.modelName.startsWith(\"gemini-pro-vision\")) {\n return false;\n } else if (this.modelName.startsWith(\"gemini-1.0-pro-vision\")) {\n return false;\n } else if (this.modelName === \"gemini-pro\" && this.platform === \"gai\") {\n // on AI Studio gemini-pro is still pointing at gemini-1.0-pro-001\n return false;\n } else if (this.modelFamily === \"gemma\") {\n // At least as of 12 Mar 2025 gemma 3 on AIS, trying to use system instructions yields an error:\n // \"Developer instruction is not enabled for models/gemma-3-27b-it\"\n return false;\n }\n return true;\n }\n\n computeGoogleSearchToolAdjustmentFromModel(): Exclude<\n GoogleSearchToolSetting,\n boolean\n > {\n if (this.modelName.startsWith(\"gemini-1.0\")) {\n return \"googleSearchRetrieval\";\n } else if (this.modelName.startsWith(\"gemini-1.5\")) {\n return \"googleSearchRetrieval\";\n } else {\n return \"googleSearch\";\n }\n }\n\n computeGoogleSearchToolAdjustment(\n apiConfig: GeminiAPIConfig\n ): Exclude<GoogleSearchToolSetting, true> {\n const adj = apiConfig.googleSearchToolAdjustment;\n if (adj === undefined || adj === true) {\n return this.computeGoogleSearchToolAdjustmentFromModel();\n } else {\n return adj;\n }\n }\n\n buildGeminiAPI(): GoogleAIAPI {\n const apiConfig: GeminiAPIConfig =\n (this.apiConfig as GeminiAPIConfig) ?? {};\n const googleSearchToolAdjustment =\n this.computeGoogleSearchToolAdjustment(apiConfig);\n const geminiConfig: GeminiAPIConfig = {\n useSystemInstruction: this.useSystemInstruction,\n googleSearchToolAdjustment,\n ...apiConfig,\n };\n return getGeminiAPI(geminiConfig);\n }\n\n get api(): GoogleAIAPI {\n switch (this.apiName) {\n case \"google\":\n return this.buildGeminiAPI();\n default:\n return super.api;\n }\n }\n}\n\n/**\n * Input to chat model class.\n */\nexport interface ChatGoogleBaseInput<AuthOptions>\n extends\n BaseChatModelParams,\n GoogleConnectionParams<AuthOptions>,\n GoogleAIModelParams,\n GoogleAISafetyParams,\n GoogleAIAPIParams,\n Pick<GoogleAIBaseLanguageModelCallOptions, \"streamUsage\"> {}\n\n/**\n * Integration with a Google chat model.\n */\nexport abstract class ChatGoogleBase<AuthOptions>\n extends BaseChatModel<GoogleAIBaseLanguageModelCallOptions, AIMessageChunk>\n implements ChatGoogleBaseInput<AuthOptions>\n{\n // Used for tracing, replace with the same name as your class\n static lc_name() {\n return \"ChatGoogle\";\n }\n\n get lc_secrets(): { [key: string]: string } | undefined {\n return {\n authOptions: \"GOOGLE_AUTH_OPTIONS\",\n };\n }\n\n lc_serializable = true;\n\n // Set based on modelName\n model: string;\n\n modelName = \"gemini-pro\";\n\n temperature: number;\n\n maxOutputTokens: number;\n\n maxReasoningTokens: number;\n\n topP: number;\n\n topK: number;\n\n seed: number;\n\n presencePenalty: number;\n\n frequencyPenalty: number;\n\n stopSequences: string[] = [];\n\n logprobs: boolean;\n\n topLogprobs: number = 0;\n\n safetySettings: GoogleAISafetySetting[] = [];\n\n responseModalities?: GoogleAIModelModality[];\n\n // May intentionally be undefined, meaning to compute this.\n convertSystemMessageToHumanContent: boolean | undefined;\n\n safetyHandler: GoogleAISafetyHandler;\n\n speechConfig: GoogleSpeechConfig;\n\n streamUsage = true;\n\n streaming = false;\n\n labels?: Record<string, string>;\n\n protected connection: ChatConnection<AuthOptions>;\n\n protected streamedConnection: ChatConnection<AuthOptions>;\n\n constructor(fields?: ChatGoogleBaseInput<AuthOptions>) {\n super(ensureParams(fields));\n\n copyAndValidateModelParamsInto(fields, this);\n this.safetyHandler =\n fields?.safetyHandler ?? new DefaultGeminiSafetyHandler();\n this.streamUsage = fields?.streamUsage ?? this.streamUsage;\n const client = this.buildClient(fields);\n this.buildConnection(fields ?? {}, client);\n }\n\n getLsParams(options: this[\"ParsedCallOptions\"]): LangSmithParams {\n const params = this.invocationParams(options);\n return {\n ls_provider: \"google_vertexai\",\n ls_model_name: this.model,\n ls_model_type: \"chat\",\n ls_temperature: params.temperature ?? undefined,\n ls_max_tokens: params.maxOutputTokens ?? undefined,\n ls_stop: options.stop,\n };\n }\n\n abstract buildAbstractedClient(\n fields?: GoogleAIBaseLLMInput<AuthOptions>\n ): GoogleAbstractedClient;\n\n buildApiKeyClient(apiKey: string): GoogleAbstractedClient {\n return new ApiKeyGoogleAuth(apiKey);\n }\n\n buildApiKey(fields?: GoogleAIBaseLLMInput<AuthOptions>): string | undefined {\n return fields?.apiKey ?? getEnvironmentVariable(\"GOOGLE_API_KEY\");\n }\n\n buildClient(\n fields?: GoogleAIBaseLLMInput<AuthOptions>\n ): GoogleAbstractedClient {\n const apiKey = this.buildApiKey(fields);\n if (apiKey) {\n return this.buildApiKeyClient(apiKey);\n } else {\n return this.buildAbstractedClient(fields);\n }\n }\n\n buildConnection(\n fields: GoogleBaseLLMInput<AuthOptions>,\n client: GoogleAbstractedClient\n ) {\n this.connection = new ChatConnection(\n { ...fields, ...this },\n this.caller,\n client,\n false\n );\n\n this.streamedConnection = new ChatConnection(\n { ...fields, ...this },\n this.caller,\n client,\n true\n );\n }\n\n get platform(): GooglePlatformType {\n return this.connection.platform;\n }\n\n override bindTools(\n tools: GoogleAIToolType[],\n kwargs?: Partial<GoogleAIBaseLanguageModelCallOptions>\n ): Runnable<\n BaseLanguageModelInput,\n AIMessageChunk,\n GoogleAIBaseLanguageModelCallOptions\n > {\n return this.withConfig({ tools: convertToGeminiTools(tools), ...kwargs });\n }\n\n _llmType() {\n return \"google\";\n }\n\n /**\n * Get the parameters used to invoke the model\n */\n override invocationParams(options?: this[\"ParsedCallOptions\"]) {\n return copyAIModelParams(this, options);\n }\n\n async _generate(\n messages: BaseMessage[],\n options: this[\"ParsedCallOptions\"],\n runManager: CallbackManagerForLLMRun | undefined\n ): Promise<ChatResult> {\n options.signal?.throwIfAborted();\n const parameters = this.invocationParams(options);\n if (this.streaming) {\n const stream = this._streamResponseChunks(messages, options, runManager);\n let finalChunk: ChatGenerationChunk | null = null;\n for await (const chunk of stream) {\n finalChunk = !finalChunk ? chunk : concat(finalChunk, chunk);\n }\n if (!finalChunk) {\n throw new Error(\"No chunks were returned from the stream.\");\n }\n return {\n generations: [finalChunk],\n };\n }\n\n const response = await this.connection.request(\n messages,\n parameters,\n options,\n runManager\n );\n const ret = this.connection.api.responseToChatResult(response);\n const chunk = ret?.generations?.[0];\n if (chunk) {\n await runManager?.handleLLMNewToken(chunk.text || \"\");\n }\n return ret;\n }\n\n async *_streamResponseChunks(\n _messages: BaseMessage[],\n options: this[\"ParsedCallOptions\"],\n runManager?: CallbackManagerForLLMRun\n ): AsyncGenerator<ChatGenerationChunk> {\n // Make the call as a streaming request\n const parameters = this.invocationParams(options);\n const response = await this.streamedConnection.request(\n _messages,\n parameters,\n options,\n runManager\n );\n\n // Get the streaming parser of the response\n const stream = response.data as JsonStream;\n let usageMetadata: UsageMetadata | undefined;\n // Loop until the end of the stream\n // During the loop, yield each time we get a chunk from the streaming parser\n // that is either available or added to the queue\n while (!stream.streamDone) {\n if (options.signal?.aborted) {\n return;\n }\n const output = await stream.nextChunk();\n await runManager?.handleCustomEvent(\n `google-chunk-${this.constructor.name}`,\n {\n output,\n }\n );\n if (\n output &&\n output.usageMetadata &&\n this.streamUsage !== false &&\n options.streamUsage !== false\n ) {\n usageMetadata = {\n input_tokens: output.usageMetadata.promptTokenCount,\n output_tokens: output.usageMetadata.candidatesTokenCount,\n total_tokens: output.usageMetadata.totalTokenCount,\n };\n }\n const chunk =\n output !== null\n ? this.connection.api.responseToChatGeneration({ data: output })\n : new ChatGenerationChunk({\n text: \"\",\n generationInfo: { finishReason: \"stop\" },\n message: new AIMessageChunk({\n content: \"\",\n usage_metadata: usageMetadata,\n }),\n });\n if (chunk) {\n yield chunk;\n await runManager?.handleLLMNewToken(\n chunk.text ?? \"\",\n undefined,\n undefined,\n undefined,\n undefined,\n { chunk }\n );\n }\n }\n }\n\n /** @ignore */\n _combineLLMOutput() {\n return [];\n }\n\n /**\n * Return profiling information for the model.\n *\n * Provides information about the model's capabilities and constraints,\n * including token limits, multimodal support, and advanced features like\n * tool calling and structured output.\n *\n * @returns {ModelProfile} An object describing the model's capabilities and constraints\n */\n get profile(): ModelProfile {\n return PROFILES[this.model] ?? {};\n }\n\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>,\n >(\n outputSchema:\n | InteropZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>,\n config?: StructuredOutputMethodOptions<false>\n ): Runnable<BaseLanguageModelInput, RunOutput>;\n\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>,\n >(\n outputSchema:\n | InteropZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>,\n config?: StructuredOutputMethodOptions<true>\n ): Runnable<BaseLanguageModelInput, { raw: BaseMessage; parsed: RunOutput }>;\n\n withStructuredOutput<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n RunOutput extends Record<string, any> = Record<string, any>,\n >(\n outputSchema:\n | InteropZodType<RunOutput>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | Record<string, any>,\n config?: StructuredOutputMethodOptions<boolean>\n ):\n | Runnable<BaseLanguageModelInput, RunOutput>\n | Runnable<\n BaseLanguageModelInput,\n { raw: BaseMessage; parsed: RunOutput }\n > {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const schema: InteropZodType<RunOutput> | Record<string, any> =\n outputSchema;\n const name = config?.name;\n const method = config?.method;\n const includeRaw = config?.includeRaw;\n if (method === \"jsonMode\") {\n throw new Error(\n `Google only supports \"jsonSchema\" or \"functionCalling\" as a method.`\n );\n }\n\n let llm;\n let outputParser: BaseLLMOutputParser<RunOutput>;\n if (method === \"functionCalling\") {\n let functionName = name ?? \"extract\";\n let tools: GeminiTool[];\n if (isInteropZodSchema(schema)) {\n const jsonSchema = schemaToGeminiParameters(schema);\n tools = [\n {\n functionDeclarations: [\n {\n name: functionName,\n description:\n jsonSchema.description ?? \"A function available to call.\",\n parameters: jsonSchema as GeminiFunctionSchema,\n },\n ],\n },\n ];\n outputParser = new JsonOutputKeyToolsParser({\n returnSingle: true,\n keyName: functionName,\n zodSchema: schema,\n });\n } else {\n let geminiFunctionDefinition: GeminiFunctionDeclaration;\n if (\n typeof schema.name === \"string\" &&\n typeof schema.parameters === \"object\" &&\n schema.parameters != null\n ) {\n geminiFunctionDefinition = schema as GeminiFunctionDeclaration;\n functionName = schema.name;\n } else {\n // We are providing the schema for *just* the parameters, probably\n const parameters: GeminiJsonSchema =\n removeAdditionalProperties(schema);\n geminiFunctionDefinition = {\n name: functionName,\n description: schema.description ?? \"\",\n parameters,\n };\n }\n tools = [\n {\n functionDeclarations: [geminiFunctionDefinition],\n },\n ];\n outputParser = new JsonOutputKeyToolsParser<RunOutput>({\n returnSingle: true,\n keyName: functionName,\n });\n }\n llm = this.bindTools(tools).withConfig({ tool_choice: functionName });\n } else {\n // Default to jsonSchema method\n const jsonSchema = schemaToGeminiParameters(schema);\n llm = this.withConfig({\n responseSchema: jsonSchema as GeminiJsonSchema,\n });\n outputParser = new JsonOutputParser();\n }\n\n if (!includeRaw) {\n return llm.pipe(outputParser).withConfig({\n runName: \"ChatGoogleStructuredOutput\",\n }) as Runnable<BaseLanguageModelInput, RunOutput>;\n }\n\n const parserAssign = RunnablePassthrough.assign({\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parsed: (input: any, config) => outputParser.invoke(input.raw, config),\n });\n const parserNone = RunnablePassthrough.assign({\n parsed: () => null,\n });\n const parsedWithFallback = parserAssign.withFallbacks({\n fallbacks: [parserNone],\n });\n return RunnableSequence.from<\n BaseLanguageModelInput,\n { raw: BaseMessage; parsed: RunOutput }\n >([\n {\n raw: llm,\n },\n parsedWithFallback,\n ]).withConfig({\n runName: \"StructuredOutputRunnable\",\n });\n }\n}\n"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- const require_rolldown_runtime = require('./_virtual/rolldown_runtime.cjs');
2
1
  const require_gemini = require('./utils/gemini.cjs');
3
2
  const require_anthropic = require('./utils/anthropic.cjs');
4
3
  const require_common = require('./utils/common.cjs');
5
4
  require('./utils/index.cjs');
6
- const __langchain_core_utils_env = require_rolldown_runtime.__toESM(require("@langchain/core/utils/env"));
7
- const __langchain_core_callbacks_base = require_rolldown_runtime.__toESM(require("@langchain/core/callbacks/base"));
5
+ let _langchain_core_utils_env = require("@langchain/core/utils/env");
6
+ let _langchain_core_callbacks_base = require("@langchain/core/callbacks/base");
8
7
 
9
8
  //#region src/connection.ts
10
9
  var GoogleConnection = class {
@@ -24,8 +23,7 @@ var GoogleConnection = class {
24
23
  };
25
24
  }
26
25
  async _getClientInfo() {
27
- const env = await (0, __langchain_core_utils_env.getRuntimeEnvironment)();
28
- const langchain = env?.library ?? "langchain-js";
26
+ const langchain = (await (0, _langchain_core_utils_env.getRuntimeEnvironment)())?.library ?? "langchain-js";
29
27
  const langchainVersion = "0";
30
28
  const moduleName = await this._moduleName();
31
29
  let clientLibraryVersion = `${langchain}/${langchainVersion}`;
@@ -46,15 +44,14 @@ var GoogleConnection = class {
46
44
  const method = this.buildMethod();
47
45
  const infoHeaders = await this._clientInfoHeaders() ?? {};
48
46
  const additionalHeaders = await this.additionalHeaders() ?? {};
49
- const headers = {
50
- ...infoHeaders,
51
- ...additionalHeaders,
52
- ...requestHeaders
53
- };
54
47
  const opts = {
55
48
  url,
56
49
  method,
57
- headers,
50
+ headers: {
51
+ ...infoHeaders,
52
+ ...additionalHeaders,
53
+ ...requestHeaders
54
+ },
58
55
  signal: options?.signal
59
56
  };
60
57
  if (data && method === "POST") opts.data = data;
@@ -64,9 +61,7 @@ var GoogleConnection = class {
64
61
  }
65
62
  async _request(data, options, requestHeaders = {}) {
66
63
  const opts = await this._buildOpts(data, options, requestHeaders);
67
- const callResponse = await this.caller.callWithOptions({ signal: options?.signal }, async () => this.client.request(opts));
68
- const response = callResponse;
69
- return response;
64
+ return await this.caller.callWithOptions({ signal: options?.signal }, async () => this.client.request(opts));
70
65
  }
71
66
  };
72
67
  var GoogleHostConnection = class extends GoogleConnection {
@@ -84,10 +79,9 @@ var GoogleHostConnection = class extends GoogleConnection {
84
79
  this.client = client;
85
80
  }
86
81
  fieldPlatformType(fields) {
87
- if (typeof fields === "undefined") return void 0;
82
+ if (typeof fields === "undefined") return;
88
83
  if (typeof fields.platformType !== "undefined") return fields.platformType;
89
84
  if (fields.vertexai === true) return "gcp";
90
- return void 0;
91
85
  }
92
86
  get platform() {
93
87
  return this.platformType ?? this.computedPlatformType;
@@ -169,7 +163,6 @@ var GoogleAIConnection = class extends GoogleHostConnection {
169
163
  const ret = super.fieldPlatformType(fields);
170
164
  if (typeof ret !== "undefined") return ret;
171
165
  if (fields?.vertexai === false) return "gai";
172
- return void 0;
173
166
  }
174
167
  get computedPlatformType() {
175
168
  if (this.isApiKey) return "gai";
@@ -190,21 +183,18 @@ var GoogleAIConnection = class extends GoogleHostConnection {
190
183
  }
191
184
  async buildUrlGenerativeLanguage() {
192
185
  const method = await this.buildUrlMethod();
193
- const url = `https://generativelanguage.googleapis.com/${this.apiVersion}/models/${this.model}:${method}`;
194
- return url;
186
+ return `https://generativelanguage.googleapis.com/${this.apiVersion}/models/${this.model}:${method}`;
195
187
  }
196
188
  async buildUrlVertexExpress() {
197
189
  const method = await this.buildUrlMethod();
198
190
  const publisher = this.modelPublisher;
199
- const url = `https://aiplatform.googleapis.com/${this.apiVersion}/publishers/${publisher}/models/${this.model}:${method}`;
200
- return url;
191
+ return `https://aiplatform.googleapis.com/${this.apiVersion}/publishers/${publisher}/models/${this.model}:${method}`;
201
192
  }
202
193
  async buildUrlVertexLocation() {
203
194
  const projectId = await this.client.getProjectId();
204
195
  const method = await this.buildUrlMethod();
205
196
  const publisher = this.modelPublisher;
206
- const url = `https://${this.endpoint}/${this.apiVersion}/projects/${projectId}/locations/${this.location}/publishers/${publisher}/models/${this.model}:${method}`;
207
- return url;
197
+ return `https://${this.endpoint}/${this.apiVersion}/projects/${projectId}/locations/${this.location}/publishers/${publisher}/models/${this.model}:${method}`;
208
198
  }
209
199
  async buildUrlVertex() {
210
200
  if (this.isApiKey) return this.buildUrlVertexExpress();
@@ -259,13 +249,13 @@ var AbstractGoogleLLMConnection = class extends GoogleAIConnection {
259
249
  async formatData(input, parameters) {
260
250
  let filteredParameters = parameters;
261
251
  if (parameters.labels && this.platform !== "gcp") {
262
- const { labels,...paramsWithoutLabels } = parameters;
252
+ const { labels, ...paramsWithoutLabels } = parameters;
263
253
  filteredParameters = paramsWithoutLabels;
264
254
  }
265
255
  return this.api.formatData(input, filteredParameters);
266
256
  }
267
257
  };
268
- var GoogleRequestCallbackHandler = class extends __langchain_core_callbacks_base.BaseCallbackHandler {
258
+ var GoogleRequestCallbackHandler = class extends _langchain_core_callbacks_base.BaseCallbackHandler {
269
259
  customEventInfo(eventName) {
270
260
  const names = eventName.split("-");
271
261
  return {
@@ -274,7 +264,7 @@ var GoogleRequestCallbackHandler = class extends __langchain_core_callbacks_base
274
264
  };
275
265
  }
276
266
  handleCustomEvent(eventName, data, runId, tags, metadata) {
277
- if (!eventName) return void 0;
267
+ if (!eventName) return;
278
268
  const eventInfo = this.customEventInfo(eventName);
279
269
  switch (eventInfo.subEvent) {
280
270
  case "request": return this.handleCustomRequestEvent(eventName, eventInfo, data, runId, tags, metadata);
@@ -1 +1 @@
1
- {"version":3,"file":"connection.cjs","names":["caller: AsyncCaller","client: GoogleAbstractedClient","streaming?: boolean","data: unknown | undefined","options: CallOptions","requestHeaders: Record<string, string>","opts: GoogleAbstractedClientOps","response: unknown","fields: GoogleConnectionParams<AuthOptions> | undefined","fields: GoogleConnectionParams<any> | undefined","_options: CallOptions","fields: GoogleAIBaseLLMInput<AuthOptions> | undefined","modelToFamily","modelToPublisher","getGeminiAPI","getAnthropicAPI","input: InputType","parameters: GoogleAIModelRequestParams","runManager?: BaseRunManager","streamingParameters: GoogleAIModelRequestParams","input: MessageType","BaseCallbackHandler","eventName: string","data: any","runId: string","tags?: string[]","metadata?: Record<string, any>","_eventInfo: GoogleCustomEventInfo","_runId: string","_metadata?: Record<string, any>","_eventName: string","_tags?: string[]"],"sources":["../src/connection.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BaseLanguageModelCallOptions } from \"@langchain/core/language_models/base\";\nimport {\n AsyncCaller,\n AsyncCallerCallOptions,\n} from \"@langchain/core/utils/async_caller\";\nimport { getRuntimeEnvironment } from \"@langchain/core/utils/env\";\nimport { BaseRunManager } from \"@langchain/core/callbacks/manager\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport type {\n GoogleAIBaseLLMInput,\n GoogleConnectionParams,\n GooglePlatformType,\n GoogleResponse,\n GoogleLLMResponse,\n GoogleAIModelRequestParams,\n GoogleRawResponse,\n GoogleAIAPI,\n VertexModelFamily,\n GoogleAIAPIConfig,\n AnthropicAPIConfig,\n GeminiAPIConfig,\n GoogleModelParams,\n} from \"./types.js\";\nimport {\n GoogleAbstractedClient,\n GoogleAbstractedClientOps,\n GoogleAbstractedClientOpsMethod,\n} from \"./auth.js\";\nimport {\n getGeminiAPI,\n modelToFamily,\n modelToPublisher,\n} from \"./utils/index.js\";\nimport { getAnthropicAPI } from \"./utils/anthropic.js\";\n\nexport abstract class GoogleConnection<\n CallOptions extends AsyncCallerCallOptions,\n ResponseType extends GoogleResponse,\n> {\n caller: AsyncCaller;\n\n client: GoogleAbstractedClient;\n\n streaming: boolean;\n\n constructor(\n caller: AsyncCaller,\n client: GoogleAbstractedClient,\n streaming?: boolean\n ) {\n this.caller = caller;\n this.client = client;\n this.streaming = streaming ?? false;\n }\n\n abstract buildUrl(): Promise<string>;\n\n abstract buildMethod(): GoogleAbstractedClientOpsMethod;\n\n async _clientInfoHeaders(): Promise<Record<string, string>> {\n const { userAgent, clientLibraryVersion } = await this._getClientInfo();\n return {\n \"User-Agent\": userAgent,\n \"Client-Info\": clientLibraryVersion,\n };\n }\n\n async _getClientInfo(): Promise<{\n userAgent: string;\n clientLibraryVersion: string;\n }> {\n const env = await getRuntimeEnvironment();\n const langchain = env?.library ?? \"langchain-js\";\n // TODO: Add an API for getting the current LangChain version\n const langchainVersion = \"0\";\n const moduleName = await this._moduleName();\n let clientLibraryVersion = `${langchain}/${langchainVersion}`;\n if (moduleName && moduleName.length) {\n clientLibraryVersion = `${clientLibraryVersion}-${moduleName}`;\n }\n return {\n userAgent: clientLibraryVersion,\n clientLibraryVersion: `${langchainVersion}-${moduleName}`,\n };\n }\n\n async _moduleName(): Promise<string> {\n return this.constructor.name;\n }\n\n async additionalHeaders(): Promise<Record<string, string>> {\n return {};\n }\n\n async _buildOpts(\n data: unknown | undefined,\n options: CallOptions,\n requestHeaders: Record<string, string> = {}\n ): Promise<GoogleAbstractedClientOps> {\n const url = await this.buildUrl();\n const method = this.buildMethod();\n const infoHeaders = (await this._clientInfoHeaders()) ?? {};\n const additionalHeaders = (await this.additionalHeaders()) ?? {};\n const headers = {\n ...infoHeaders,\n ...additionalHeaders,\n ...requestHeaders,\n };\n\n const opts: GoogleAbstractedClientOps = {\n url,\n method,\n headers,\n signal: options?.signal,\n };\n if (data && method === \"POST\") {\n opts.data = data;\n }\n if (this.streaming) {\n opts.responseType = \"stream\";\n } else {\n opts.responseType = \"json\";\n }\n return opts;\n }\n\n async _request(\n data: unknown | undefined,\n options: CallOptions,\n requestHeaders: Record<string, string> = {}\n ): Promise<ResponseType> {\n const opts = await this._buildOpts(data, options, requestHeaders);\n const callResponse = await this.caller.callWithOptions(\n { signal: options?.signal },\n async () => this.client.request(opts)\n );\n const response: unknown = callResponse; // Done for typecast safety, I guess\n return <ResponseType>response;\n }\n}\n\nexport abstract class GoogleHostConnection<\n CallOptions extends AsyncCallerCallOptions,\n ResponseType extends GoogleResponse,\n AuthOptions,\n>\n extends GoogleConnection<CallOptions, ResponseType>\n implements GoogleConnectionParams<AuthOptions>\n{\n // This does not default to a value intentionally.\n // Use the \"platform\" getter if you need this.\n platformType: GooglePlatformType | undefined;\n\n _endpoint: string | undefined;\n\n _location: string | undefined;\n\n _apiVersion: string | undefined;\n\n constructor(\n fields: GoogleConnectionParams<AuthOptions> | undefined,\n caller: AsyncCaller,\n client: GoogleAbstractedClient,\n streaming?: boolean\n ) {\n super(caller, client, streaming);\n this.caller = caller;\n\n this.platformType = this.fieldPlatformType(fields);\n this._endpoint = fields?.endpoint;\n this._location = fields?.location;\n this._apiVersion = fields?.apiVersion;\n this.client = client;\n }\n\n fieldPlatformType(\n fields: GoogleConnectionParams<any> | undefined\n ): GooglePlatformType | undefined {\n if (typeof fields === \"undefined\") {\n return undefined;\n }\n if (typeof fields.platformType !== \"undefined\") {\n return fields.platformType;\n }\n if (fields.vertexai === true) {\n return \"gcp\";\n }\n return undefined;\n }\n\n get platform(): GooglePlatformType {\n return this.platformType ?? this.computedPlatformType;\n }\n\n get computedPlatformType(): GooglePlatformType {\n return \"gcp\";\n }\n\n get computedApiVersion(): string {\n return \"v1\";\n }\n\n get apiVersion(): string {\n return this._apiVersion ?? this.computedApiVersion;\n }\n\n get location(): string {\n return this._location ?? this.computedLocation;\n }\n\n get computedLocation(): string {\n return \"us-central1\";\n }\n\n get endpoint(): string {\n return this._endpoint ?? this.computedEndpoint;\n }\n\n get computedEndpoint(): string {\n if (this.location === \"global\") {\n return \"aiplatform.googleapis.com\";\n } else {\n return `${this.location}-aiplatform.googleapis.com`;\n }\n }\n\n buildMethod(): GoogleAbstractedClientOpsMethod {\n return \"POST\";\n }\n}\n\nexport abstract class GoogleRawConnection<\n CallOptions extends AsyncCallerCallOptions,\n AuthOptions,\n> extends GoogleHostConnection<CallOptions, GoogleRawResponse, AuthOptions> {\n async _buildOpts(\n data: unknown | undefined,\n _options: CallOptions,\n requestHeaders: Record<string, string> = {}\n ): Promise<GoogleAbstractedClientOps> {\n const opts = await super._buildOpts(data, _options, requestHeaders);\n opts.responseType = \"blob\";\n return opts;\n }\n}\n\nexport abstract class GoogleAIConnection<\n CallOptions extends AsyncCallerCallOptions,\n InputType,\n AuthOptions,\n ResponseType extends GoogleResponse,\n>\n extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions>\n implements GoogleAIBaseLLMInput<AuthOptions>\n{\n model: string;\n\n modelName: string;\n\n client: GoogleAbstractedClient;\n\n _apiName?: string;\n\n apiConfig?: GoogleAIAPIConfig;\n\n constructor(\n fields: GoogleAIBaseLLMInput<AuthOptions> | undefined,\n caller: AsyncCaller,\n client: GoogleAbstractedClient,\n streaming?: boolean\n ) {\n super(fields, caller, client, streaming);\n this.client = client;\n this.modelName = fields?.model ?? fields?.modelName ?? this.model;\n this.model = this.modelName;\n\n this._apiName = fields?.apiName;\n this.apiConfig = {\n safetyHandler: fields?.safetyHandler, // For backwards compatibility\n ...fields?.apiConfig,\n };\n }\n\n get modelFamily(): VertexModelFamily {\n return modelToFamily(this.model);\n }\n\n get modelPublisher(): string {\n return modelToPublisher(this.model);\n }\n\n get computedAPIName(): string {\n // At least at the moment, model publishers and APIs map the same\n return this.modelPublisher;\n }\n\n get apiName(): string {\n return this._apiName ?? this.computedAPIName;\n }\n\n get api(): GoogleAIAPI {\n switch (this.apiName) {\n case \"google\":\n case \"gemma\": // TODO: Is this true?\n return getGeminiAPI(this.apiConfig as GeminiAPIConfig);\n case \"anthropic\":\n return getAnthropicAPI(this.apiConfig as AnthropicAPIConfig);\n default:\n throw new Error(`Unknown API: ${this.apiName}`);\n }\n }\n\n get isApiKey(): boolean {\n return this.client.clientType === \"apiKey\";\n }\n\n fieldPlatformType(\n fields: GoogleConnectionParams<any> | undefined\n ): GooglePlatformType | undefined {\n const ret = super.fieldPlatformType(fields);\n if (typeof ret !== \"undefined\") {\n return ret;\n }\n if (fields?.vertexai === false) {\n return \"gai\";\n }\n return undefined;\n }\n\n get computedPlatformType(): GooglePlatformType {\n // This is not a completely correct assumption, since GCP can\n // have an API Key. But if so, then people need to set the platform\n // type explicitly.\n if (this.isApiKey) {\n return \"gai\";\n } else {\n return \"gcp\";\n }\n }\n\n get computedApiVersion(): string {\n switch (this.platform) {\n case \"gai\":\n return \"v1beta\";\n default:\n return \"v1\";\n }\n }\n\n get computedLocation(): string {\n switch (this.apiName) {\n case \"google\":\n return super.computedLocation;\n case \"anthropic\":\n return \"us-east5\";\n default:\n throw new Error(\n `Unknown apiName: ${this.apiName}. Can't get location.`\n );\n }\n }\n\n abstract buildUrlMethod(): Promise<string>;\n\n async buildUrlGenerativeLanguage(): Promise<string> {\n const method = await this.buildUrlMethod();\n const url = `https://generativelanguage.googleapis.com/${this.apiVersion}/models/${this.model}:${method}`;\n return url;\n }\n\n async buildUrlVertexExpress(): Promise<string> {\n const method = await this.buildUrlMethod();\n const publisher = this.modelPublisher;\n const url = `https://aiplatform.googleapis.com/${this.apiVersion}/publishers/${publisher}/models/${this.model}:${method}`;\n return url;\n }\n\n async buildUrlVertexLocation(): Promise<string> {\n const projectId = await this.client.getProjectId();\n const method = await this.buildUrlMethod();\n const publisher = this.modelPublisher;\n const url = `https://${this.endpoint}/${this.apiVersion}/projects/${projectId}/locations/${this.location}/publishers/${publisher}/models/${this.model}:${method}`;\n return url;\n }\n\n async buildUrlVertex(): Promise<string> {\n if (this.isApiKey) {\n return this.buildUrlVertexExpress();\n } else {\n return this.buildUrlVertexLocation();\n }\n }\n\n async buildUrl(): Promise<string> {\n switch (this.platform) {\n case \"gai\":\n return this.buildUrlGenerativeLanguage();\n default:\n return this.buildUrlVertex();\n }\n }\n\n abstract formatData(\n input: InputType,\n parameters: GoogleModelParams\n ): Promise<unknown>;\n\n async request(\n input: InputType,\n parameters: GoogleAIModelRequestParams,\n\n options: CallOptions,\n runManager?: BaseRunManager\n ): Promise<ResponseType> {\n const moduleName = this.constructor.name;\n const streamingParameters: GoogleAIModelRequestParams = {\n ...parameters,\n streaming: this.streaming,\n };\n const data = await this.formatData(input, streamingParameters);\n\n await runManager?.handleCustomEvent(`google-request-${moduleName}`, {\n data,\n parameters: streamingParameters,\n options,\n connection: {\n ...this,\n url: await this.buildUrl(),\n urlMethod: await this.buildUrlMethod(),\n modelFamily: this.modelFamily,\n modelPublisher: this.modelPublisher,\n computedPlatformType: this.computedPlatformType,\n },\n });\n\n const response = await this._request(data, options);\n\n await runManager?.handleCustomEvent(`google-response-${moduleName}`, {\n response,\n });\n\n return response;\n }\n}\n\nexport abstract class AbstractGoogleLLMConnection<\n MessageType,\n AuthOptions,\n> extends GoogleAIConnection<\n BaseLanguageModelCallOptions,\n MessageType,\n AuthOptions,\n GoogleLLMResponse\n> {\n async buildUrlMethodGemini(): Promise<string> {\n return this.streaming ? \"streamGenerateContent\" : \"generateContent\";\n }\n\n async buildUrlMethodClaude(): Promise<string> {\n return this.streaming ? \"streamRawPredict\" : \"rawPredict\";\n }\n\n async buildUrlMethod(): Promise<string> {\n switch (this.modelFamily) {\n case \"gemini\":\n case \"gemma\": // TODO: Is this true?\n return this.buildUrlMethodGemini();\n case \"claude\":\n return this.buildUrlMethodClaude();\n default:\n throw new Error(`Unknown model family: ${this.modelFamily}`);\n }\n }\n\n async formatData(\n input: MessageType,\n parameters: GoogleAIModelRequestParams\n ): Promise<unknown> {\n // Filter out labels for non-Vertex AI platforms (labels are only supported on Vertex AI)\n let filteredParameters = parameters;\n if (parameters.labels && this.platform !== \"gcp\") {\n const { labels, ...paramsWithoutLabels } = parameters;\n filteredParameters = paramsWithoutLabels;\n }\n\n return this.api.formatData(input, filteredParameters);\n }\n}\n\nexport interface GoogleCustomEventInfo {\n subEvent: string;\n module: string;\n}\n\nexport abstract class GoogleRequestCallbackHandler extends BaseCallbackHandler {\n customEventInfo(eventName: string): GoogleCustomEventInfo {\n const names = eventName.split(\"-\");\n return {\n subEvent: names[1],\n module: names[2],\n };\n }\n\n abstract handleCustomRequestEvent(\n eventName: string,\n eventInfo: GoogleCustomEventInfo,\n data: any,\n runId: string,\n tags?: string[],\n metadata?: Record<string, any>\n ): any;\n\n abstract handleCustomResponseEvent(\n eventName: string,\n eventInfo: GoogleCustomEventInfo,\n data: any,\n runId: string,\n tags?: string[],\n metadata?: Record<string, any>\n ): any;\n\n abstract handleCustomChunkEvent(\n eventName: string,\n eventInfo: GoogleCustomEventInfo,\n data: any,\n runId: string,\n tags?: string[],\n metadata?: Record<string, any>\n ): any;\n\n handleCustomEvent(\n eventName: string,\n data: any,\n runId: string,\n tags?: string[],\n metadata?: Record<string, any>\n ): any {\n if (!eventName) {\n return undefined;\n }\n const eventInfo = this.customEventInfo(eventName);\n switch (eventInfo.subEvent) {\n case \"request\":\n return this.handleCustomRequestEvent(\n eventName,\n eventInfo,\n data,\n runId,\n tags,\n metadata\n );\n case \"response\":\n return this.handleCustomResponseEvent(\n eventName,\n eventInfo,\n data,\n runId,\n tags,\n metadata\n );\n case \"chunk\":\n return this.handleCustomChunkEvent(\n eventName,\n eventInfo,\n data,\n runId,\n tags,\n metadata\n );\n default:\n console.error(\n `Unexpected eventInfo for ${eventName} ${JSON.stringify(\n eventInfo,\n null,\n 1\n )}`\n );\n }\n }\n}\n\nexport class GoogleRequestLogger extends GoogleRequestCallbackHandler {\n name: string = \"GoogleRequestLogger\";\n\n log(eventName: string, data: any, tags?: string[]): undefined {\n const tagStr = tags ? `[${tags}]` : \"[]\";\n console.log(`${eventName} ${tagStr} ${JSON.stringify(data, null, 1)}`);\n }\n\n handleCustomRequestEvent(\n eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.log(eventName, data, tags);\n }\n\n handleCustomResponseEvent(\n eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.log(eventName, data, tags);\n }\n\n handleCustomChunkEvent(\n eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.log(eventName, data, tags);\n }\n}\n\nexport class GoogleRequestRecorder extends GoogleRequestCallbackHandler {\n name = \"GoogleRequestRecorder\";\n\n request: any = {};\n\n response: any = {};\n\n chunk: any[] = [];\n\n handleCustomRequestEvent(\n _eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n _tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.request = data;\n }\n\n handleCustomResponseEvent(\n _eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n _tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.response = data;\n }\n\n handleCustomChunkEvent(\n _eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n _tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.chunk.push(data);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"connection.cjs","names":["modelToFamily","modelToPublisher","getGeminiAPI","getAnthropicAPI","BaseCallbackHandler"],"sources":["../src/connection.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { BaseLanguageModelCallOptions } from \"@langchain/core/language_models/base\";\nimport {\n AsyncCaller,\n AsyncCallerCallOptions,\n} from \"@langchain/core/utils/async_caller\";\nimport { getRuntimeEnvironment } from \"@langchain/core/utils/env\";\nimport { BaseRunManager } from \"@langchain/core/callbacks/manager\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport type {\n GoogleAIBaseLLMInput,\n GoogleConnectionParams,\n GooglePlatformType,\n GoogleResponse,\n GoogleLLMResponse,\n GoogleAIModelRequestParams,\n GoogleRawResponse,\n GoogleAIAPI,\n VertexModelFamily,\n GoogleAIAPIConfig,\n AnthropicAPIConfig,\n GeminiAPIConfig,\n GoogleModelParams,\n} from \"./types.js\";\nimport {\n GoogleAbstractedClient,\n GoogleAbstractedClientOps,\n GoogleAbstractedClientOpsMethod,\n} from \"./auth.js\";\nimport {\n getGeminiAPI,\n modelToFamily,\n modelToPublisher,\n} from \"./utils/index.js\";\nimport { getAnthropicAPI } from \"./utils/anthropic.js\";\n\nexport abstract class GoogleConnection<\n CallOptions extends AsyncCallerCallOptions,\n ResponseType extends GoogleResponse,\n> {\n caller: AsyncCaller;\n\n client: GoogleAbstractedClient;\n\n streaming: boolean;\n\n constructor(\n caller: AsyncCaller,\n client: GoogleAbstractedClient,\n streaming?: boolean\n ) {\n this.caller = caller;\n this.client = client;\n this.streaming = streaming ?? false;\n }\n\n abstract buildUrl(): Promise<string>;\n\n abstract buildMethod(): GoogleAbstractedClientOpsMethod;\n\n async _clientInfoHeaders(): Promise<Record<string, string>> {\n const { userAgent, clientLibraryVersion } = await this._getClientInfo();\n return {\n \"User-Agent\": userAgent,\n \"Client-Info\": clientLibraryVersion,\n };\n }\n\n async _getClientInfo(): Promise<{\n userAgent: string;\n clientLibraryVersion: string;\n }> {\n const env = await getRuntimeEnvironment();\n const langchain = env?.library ?? \"langchain-js\";\n // TODO: Add an API for getting the current LangChain version\n const langchainVersion = \"0\";\n const moduleName = await this._moduleName();\n let clientLibraryVersion = `${langchain}/${langchainVersion}`;\n if (moduleName && moduleName.length) {\n clientLibraryVersion = `${clientLibraryVersion}-${moduleName}`;\n }\n return {\n userAgent: clientLibraryVersion,\n clientLibraryVersion: `${langchainVersion}-${moduleName}`,\n };\n }\n\n async _moduleName(): Promise<string> {\n return this.constructor.name;\n }\n\n async additionalHeaders(): Promise<Record<string, string>> {\n return {};\n }\n\n async _buildOpts(\n data: unknown | undefined,\n options: CallOptions,\n requestHeaders: Record<string, string> = {}\n ): Promise<GoogleAbstractedClientOps> {\n const url = await this.buildUrl();\n const method = this.buildMethod();\n const infoHeaders = (await this._clientInfoHeaders()) ?? {};\n const additionalHeaders = (await this.additionalHeaders()) ?? {};\n const headers = {\n ...infoHeaders,\n ...additionalHeaders,\n ...requestHeaders,\n };\n\n const opts: GoogleAbstractedClientOps = {\n url,\n method,\n headers,\n signal: options?.signal,\n };\n if (data && method === \"POST\") {\n opts.data = data;\n }\n if (this.streaming) {\n opts.responseType = \"stream\";\n } else {\n opts.responseType = \"json\";\n }\n return opts;\n }\n\n async _request(\n data: unknown | undefined,\n options: CallOptions,\n requestHeaders: Record<string, string> = {}\n ): Promise<ResponseType> {\n const opts = await this._buildOpts(data, options, requestHeaders);\n const callResponse = await this.caller.callWithOptions(\n { signal: options?.signal },\n async () => this.client.request(opts)\n );\n const response: unknown = callResponse; // Done for typecast safety, I guess\n return <ResponseType>response;\n }\n}\n\nexport abstract class GoogleHostConnection<\n CallOptions extends AsyncCallerCallOptions,\n ResponseType extends GoogleResponse,\n AuthOptions,\n>\n extends GoogleConnection<CallOptions, ResponseType>\n implements GoogleConnectionParams<AuthOptions>\n{\n // This does not default to a value intentionally.\n // Use the \"platform\" getter if you need this.\n platformType: GooglePlatformType | undefined;\n\n _endpoint: string | undefined;\n\n _location: string | undefined;\n\n _apiVersion: string | undefined;\n\n constructor(\n fields: GoogleConnectionParams<AuthOptions> | undefined,\n caller: AsyncCaller,\n client: GoogleAbstractedClient,\n streaming?: boolean\n ) {\n super(caller, client, streaming);\n this.caller = caller;\n\n this.platformType = this.fieldPlatformType(fields);\n this._endpoint = fields?.endpoint;\n this._location = fields?.location;\n this._apiVersion = fields?.apiVersion;\n this.client = client;\n }\n\n fieldPlatformType(\n fields: GoogleConnectionParams<any> | undefined\n ): GooglePlatformType | undefined {\n if (typeof fields === \"undefined\") {\n return undefined;\n }\n if (typeof fields.platformType !== \"undefined\") {\n return fields.platformType;\n }\n if (fields.vertexai === true) {\n return \"gcp\";\n }\n return undefined;\n }\n\n get platform(): GooglePlatformType {\n return this.platformType ?? this.computedPlatformType;\n }\n\n get computedPlatformType(): GooglePlatformType {\n return \"gcp\";\n }\n\n get computedApiVersion(): string {\n return \"v1\";\n }\n\n get apiVersion(): string {\n return this._apiVersion ?? this.computedApiVersion;\n }\n\n get location(): string {\n return this._location ?? this.computedLocation;\n }\n\n get computedLocation(): string {\n return \"us-central1\";\n }\n\n get endpoint(): string {\n return this._endpoint ?? this.computedEndpoint;\n }\n\n get computedEndpoint(): string {\n if (this.location === \"global\") {\n return \"aiplatform.googleapis.com\";\n } else {\n return `${this.location}-aiplatform.googleapis.com`;\n }\n }\n\n buildMethod(): GoogleAbstractedClientOpsMethod {\n return \"POST\";\n }\n}\n\nexport abstract class GoogleRawConnection<\n CallOptions extends AsyncCallerCallOptions,\n AuthOptions,\n> extends GoogleHostConnection<CallOptions, GoogleRawResponse, AuthOptions> {\n async _buildOpts(\n data: unknown | undefined,\n _options: CallOptions,\n requestHeaders: Record<string, string> = {}\n ): Promise<GoogleAbstractedClientOps> {\n const opts = await super._buildOpts(data, _options, requestHeaders);\n opts.responseType = \"blob\";\n return opts;\n }\n}\n\nexport abstract class GoogleAIConnection<\n CallOptions extends AsyncCallerCallOptions,\n InputType,\n AuthOptions,\n ResponseType extends GoogleResponse,\n>\n extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions>\n implements GoogleAIBaseLLMInput<AuthOptions>\n{\n model: string;\n\n modelName: string;\n\n client: GoogleAbstractedClient;\n\n _apiName?: string;\n\n apiConfig?: GoogleAIAPIConfig;\n\n constructor(\n fields: GoogleAIBaseLLMInput<AuthOptions> | undefined,\n caller: AsyncCaller,\n client: GoogleAbstractedClient,\n streaming?: boolean\n ) {\n super(fields, caller, client, streaming);\n this.client = client;\n this.modelName = fields?.model ?? fields?.modelName ?? this.model;\n this.model = this.modelName;\n\n this._apiName = fields?.apiName;\n this.apiConfig = {\n safetyHandler: fields?.safetyHandler, // For backwards compatibility\n ...fields?.apiConfig,\n };\n }\n\n get modelFamily(): VertexModelFamily {\n return modelToFamily(this.model);\n }\n\n get modelPublisher(): string {\n return modelToPublisher(this.model);\n }\n\n get computedAPIName(): string {\n // At least at the moment, model publishers and APIs map the same\n return this.modelPublisher;\n }\n\n get apiName(): string {\n return this._apiName ?? this.computedAPIName;\n }\n\n get api(): GoogleAIAPI {\n switch (this.apiName) {\n case \"google\":\n case \"gemma\": // TODO: Is this true?\n return getGeminiAPI(this.apiConfig as GeminiAPIConfig);\n case \"anthropic\":\n return getAnthropicAPI(this.apiConfig as AnthropicAPIConfig);\n default:\n throw new Error(`Unknown API: ${this.apiName}`);\n }\n }\n\n get isApiKey(): boolean {\n return this.client.clientType === \"apiKey\";\n }\n\n fieldPlatformType(\n fields: GoogleConnectionParams<any> | undefined\n ): GooglePlatformType | undefined {\n const ret = super.fieldPlatformType(fields);\n if (typeof ret !== \"undefined\") {\n return ret;\n }\n if (fields?.vertexai === false) {\n return \"gai\";\n }\n return undefined;\n }\n\n get computedPlatformType(): GooglePlatformType {\n // This is not a completely correct assumption, since GCP can\n // have an API Key. But if so, then people need to set the platform\n // type explicitly.\n if (this.isApiKey) {\n return \"gai\";\n } else {\n return \"gcp\";\n }\n }\n\n get computedApiVersion(): string {\n switch (this.platform) {\n case \"gai\":\n return \"v1beta\";\n default:\n return \"v1\";\n }\n }\n\n get computedLocation(): string {\n switch (this.apiName) {\n case \"google\":\n return super.computedLocation;\n case \"anthropic\":\n return \"us-east5\";\n default:\n throw new Error(\n `Unknown apiName: ${this.apiName}. Can't get location.`\n );\n }\n }\n\n abstract buildUrlMethod(): Promise<string>;\n\n async buildUrlGenerativeLanguage(): Promise<string> {\n const method = await this.buildUrlMethod();\n const url = `https://generativelanguage.googleapis.com/${this.apiVersion}/models/${this.model}:${method}`;\n return url;\n }\n\n async buildUrlVertexExpress(): Promise<string> {\n const method = await this.buildUrlMethod();\n const publisher = this.modelPublisher;\n const url = `https://aiplatform.googleapis.com/${this.apiVersion}/publishers/${publisher}/models/${this.model}:${method}`;\n return url;\n }\n\n async buildUrlVertexLocation(): Promise<string> {\n const projectId = await this.client.getProjectId();\n const method = await this.buildUrlMethod();\n const publisher = this.modelPublisher;\n const url = `https://${this.endpoint}/${this.apiVersion}/projects/${projectId}/locations/${this.location}/publishers/${publisher}/models/${this.model}:${method}`;\n return url;\n }\n\n async buildUrlVertex(): Promise<string> {\n if (this.isApiKey) {\n return this.buildUrlVertexExpress();\n } else {\n return this.buildUrlVertexLocation();\n }\n }\n\n async buildUrl(): Promise<string> {\n switch (this.platform) {\n case \"gai\":\n return this.buildUrlGenerativeLanguage();\n default:\n return this.buildUrlVertex();\n }\n }\n\n abstract formatData(\n input: InputType,\n parameters: GoogleModelParams\n ): Promise<unknown>;\n\n async request(\n input: InputType,\n parameters: GoogleAIModelRequestParams,\n\n options: CallOptions,\n runManager?: BaseRunManager\n ): Promise<ResponseType> {\n const moduleName = this.constructor.name;\n const streamingParameters: GoogleAIModelRequestParams = {\n ...parameters,\n streaming: this.streaming,\n };\n const data = await this.formatData(input, streamingParameters);\n\n await runManager?.handleCustomEvent(`google-request-${moduleName}`, {\n data,\n parameters: streamingParameters,\n options,\n connection: {\n ...this,\n url: await this.buildUrl(),\n urlMethod: await this.buildUrlMethod(),\n modelFamily: this.modelFamily,\n modelPublisher: this.modelPublisher,\n computedPlatformType: this.computedPlatformType,\n },\n });\n\n const response = await this._request(data, options);\n\n await runManager?.handleCustomEvent(`google-response-${moduleName}`, {\n response,\n });\n\n return response;\n }\n}\n\nexport abstract class AbstractGoogleLLMConnection<\n MessageType,\n AuthOptions,\n> extends GoogleAIConnection<\n BaseLanguageModelCallOptions,\n MessageType,\n AuthOptions,\n GoogleLLMResponse\n> {\n async buildUrlMethodGemini(): Promise<string> {\n return this.streaming ? \"streamGenerateContent\" : \"generateContent\";\n }\n\n async buildUrlMethodClaude(): Promise<string> {\n return this.streaming ? \"streamRawPredict\" : \"rawPredict\";\n }\n\n async buildUrlMethod(): Promise<string> {\n switch (this.modelFamily) {\n case \"gemini\":\n case \"gemma\": // TODO: Is this true?\n return this.buildUrlMethodGemini();\n case \"claude\":\n return this.buildUrlMethodClaude();\n default:\n throw new Error(`Unknown model family: ${this.modelFamily}`);\n }\n }\n\n async formatData(\n input: MessageType,\n parameters: GoogleAIModelRequestParams\n ): Promise<unknown> {\n // Filter out labels for non-Vertex AI platforms (labels are only supported on Vertex AI)\n let filteredParameters = parameters;\n if (parameters.labels && this.platform !== \"gcp\") {\n const { labels, ...paramsWithoutLabels } = parameters;\n filteredParameters = paramsWithoutLabels;\n }\n\n return this.api.formatData(input, filteredParameters);\n }\n}\n\nexport interface GoogleCustomEventInfo {\n subEvent: string;\n module: string;\n}\n\nexport abstract class GoogleRequestCallbackHandler extends BaseCallbackHandler {\n customEventInfo(eventName: string): GoogleCustomEventInfo {\n const names = eventName.split(\"-\");\n return {\n subEvent: names[1],\n module: names[2],\n };\n }\n\n abstract handleCustomRequestEvent(\n eventName: string,\n eventInfo: GoogleCustomEventInfo,\n data: any,\n runId: string,\n tags?: string[],\n metadata?: Record<string, any>\n ): any;\n\n abstract handleCustomResponseEvent(\n eventName: string,\n eventInfo: GoogleCustomEventInfo,\n data: any,\n runId: string,\n tags?: string[],\n metadata?: Record<string, any>\n ): any;\n\n abstract handleCustomChunkEvent(\n eventName: string,\n eventInfo: GoogleCustomEventInfo,\n data: any,\n runId: string,\n tags?: string[],\n metadata?: Record<string, any>\n ): any;\n\n handleCustomEvent(\n eventName: string,\n data: any,\n runId: string,\n tags?: string[],\n metadata?: Record<string, any>\n ): any {\n if (!eventName) {\n return undefined;\n }\n const eventInfo = this.customEventInfo(eventName);\n switch (eventInfo.subEvent) {\n case \"request\":\n return this.handleCustomRequestEvent(\n eventName,\n eventInfo,\n data,\n runId,\n tags,\n metadata\n );\n case \"response\":\n return this.handleCustomResponseEvent(\n eventName,\n eventInfo,\n data,\n runId,\n tags,\n metadata\n );\n case \"chunk\":\n return this.handleCustomChunkEvent(\n eventName,\n eventInfo,\n data,\n runId,\n tags,\n metadata\n );\n default:\n console.error(\n `Unexpected eventInfo for ${eventName} ${JSON.stringify(\n eventInfo,\n null,\n 1\n )}`\n );\n }\n }\n}\n\nexport class GoogleRequestLogger extends GoogleRequestCallbackHandler {\n name: string = \"GoogleRequestLogger\";\n\n log(eventName: string, data: any, tags?: string[]): undefined {\n const tagStr = tags ? `[${tags}]` : \"[]\";\n console.log(`${eventName} ${tagStr} ${JSON.stringify(data, null, 1)}`);\n }\n\n handleCustomRequestEvent(\n eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.log(eventName, data, tags);\n }\n\n handleCustomResponseEvent(\n eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.log(eventName, data, tags);\n }\n\n handleCustomChunkEvent(\n eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.log(eventName, data, tags);\n }\n}\n\nexport class GoogleRequestRecorder extends GoogleRequestCallbackHandler {\n name = \"GoogleRequestRecorder\";\n\n request: any = {};\n\n response: any = {};\n\n chunk: any[] = [];\n\n handleCustomRequestEvent(\n _eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n _tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.request = data;\n }\n\n handleCustomResponseEvent(\n _eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n _tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.response = data;\n }\n\n handleCustomChunkEvent(\n _eventName: string,\n _eventInfo: GoogleCustomEventInfo,\n data: any,\n _runId: string,\n _tags?: string[],\n _metadata?: Record<string, any>\n ): any {\n this.chunk.push(data);\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.cts","names":["BaseLanguageModelCallOptions","AsyncCaller","AsyncCallerCallOptions","BaseRunManager","BaseCallbackHandler","GoogleAIBaseLLMInput","GoogleConnectionParams","GooglePlatformType","GoogleResponse","GoogleLLMResponse","GoogleAIModelRequestParams","GoogleRawResponse","GoogleAIAPI","VertexModelFamily","GoogleAIAPIConfig","GoogleModelParams","GoogleAbstractedClient","GoogleAbstractedClientOps","GoogleAbstractedClientOpsMethod","GoogleConnection","CallOptions","ResponseType","Promise","Record","GoogleHostConnection","AuthOptions","GoogleRawConnection","GoogleAIConnection","InputType","AbstractGoogleLLMConnection","MessageType","GoogleCustomEventInfo","GoogleRequestCallbackHandler","GoogleRequestLogger","GoogleRequestRecorder"],"sources":["../src/connection.d.ts"],"sourcesContent":["import { BaseLanguageModelCallOptions } from \"@langchain/core/language_models/base\";\nimport { AsyncCaller, AsyncCallerCallOptions } from \"@langchain/core/utils/async_caller\";\nimport { BaseRunManager } from \"@langchain/core/callbacks/manager\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport type { GoogleAIBaseLLMInput, GoogleConnectionParams, GooglePlatformType, GoogleResponse, GoogleLLMResponse, GoogleAIModelRequestParams, GoogleRawResponse, GoogleAIAPI, VertexModelFamily, GoogleAIAPIConfig, GoogleModelParams } from \"./types.js\";\nimport { GoogleAbstractedClient, GoogleAbstractedClientOps, GoogleAbstractedClientOpsMethod } from \"./auth.js\";\nexport declare abstract class GoogleConnection<CallOptions extends AsyncCallerCallOptions, ResponseType extends GoogleResponse> {\n caller: AsyncCaller;\n client: GoogleAbstractedClient;\n streaming: boolean;\n constructor(caller: AsyncCaller, client: GoogleAbstractedClient, streaming?: boolean);\n abstract buildUrl(): Promise<string>;\n abstract buildMethod(): GoogleAbstractedClientOpsMethod;\n _clientInfoHeaders(): Promise<Record<string, string>>;\n _getClientInfo(): Promise<{\n userAgent: string;\n clientLibraryVersion: string;\n }>;\n _moduleName(): Promise<string>;\n additionalHeaders(): Promise<Record<string, string>>;\n _buildOpts(data: unknown | undefined, options: CallOptions, requestHeaders?: Record<string, string>): Promise<GoogleAbstractedClientOps>;\n _request(data: unknown | undefined, options: CallOptions, requestHeaders?: Record<string, string>): Promise<ResponseType>;\n}\nexport declare abstract class GoogleHostConnection<CallOptions extends AsyncCallerCallOptions, ResponseType extends GoogleResponse, AuthOptions> extends GoogleConnection<CallOptions, ResponseType> implements GoogleConnectionParams<AuthOptions> {\n platformType: GooglePlatformType | undefined;\n _endpoint: string | undefined;\n _location: string | undefined;\n _apiVersion: string | undefined;\n constructor(fields: GoogleConnectionParams<AuthOptions> | undefined, caller: AsyncCaller, client: GoogleAbstractedClient, streaming?: boolean);\n fieldPlatformType(fields: GoogleConnectionParams<any> | undefined): GooglePlatformType | undefined;\n get platform(): GooglePlatformType;\n get computedPlatformType(): GooglePlatformType;\n get computedApiVersion(): string;\n get apiVersion(): string;\n get location(): string;\n get computedLocation(): string;\n get endpoint(): string;\n get computedEndpoint(): string;\n buildMethod(): GoogleAbstractedClientOpsMethod;\n}\nexport declare abstract class GoogleRawConnection<CallOptions extends AsyncCallerCallOptions, AuthOptions> extends GoogleHostConnection<CallOptions, GoogleRawResponse, AuthOptions> {\n _buildOpts(data: unknown | undefined, _options: CallOptions, requestHeaders?: Record<string, string>): Promise<GoogleAbstractedClientOps>;\n}\nexport declare abstract class GoogleAIConnection<CallOptions extends AsyncCallerCallOptions, InputType, AuthOptions, ResponseType extends GoogleResponse> extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions> implements GoogleAIBaseLLMInput<AuthOptions> {\n model: string;\n modelName: string;\n client: GoogleAbstractedClient;\n _apiName?: string;\n apiConfig?: GoogleAIAPIConfig;\n constructor(fields: GoogleAIBaseLLMInput<AuthOptions> | undefined, caller: AsyncCaller, client: GoogleAbstractedClient, streaming?: boolean);\n get modelFamily(): VertexModelFamily;\n get modelPublisher(): string;\n get computedAPIName(): string;\n get apiName(): string;\n get api(): GoogleAIAPI;\n get isApiKey(): boolean;\n fieldPlatformType(fields: GoogleConnectionParams<any> | undefined): GooglePlatformType | undefined;\n get computedPlatformType(): GooglePlatformType;\n get computedApiVersion(): string;\n get computedLocation(): string;\n abstract buildUrlMethod(): Promise<string>;\n buildUrlGenerativeLanguage(): Promise<string>;\n buildUrlVertexExpress(): Promise<string>;\n buildUrlVertexLocation(): Promise<string>;\n buildUrlVertex(): Promise<string>;\n buildUrl(): Promise<string>;\n abstract formatData(input: InputType, parameters: GoogleModelParams): Promise<unknown>;\n request(input: InputType, parameters: GoogleAIModelRequestParams, options: CallOptions, runManager?: BaseRunManager): Promise<ResponseType>;\n}\nexport declare abstract class AbstractGoogleLLMConnection<MessageType, AuthOptions> extends GoogleAIConnection<BaseLanguageModelCallOptions, MessageType, AuthOptions, GoogleLLMResponse> {\n buildUrlMethodGemini(): Promise<string>;\n buildUrlMethodClaude(): Promise<string>;\n buildUrlMethod(): Promise<string>;\n formatData(input: MessageType, parameters: GoogleAIModelRequestParams): Promise<unknown>;\n}\nexport interface GoogleCustomEventInfo {\n subEvent: string;\n module: string;\n}\nexport declare abstract class GoogleRequestCallbackHandler extends BaseCallbackHandler {\n customEventInfo(eventName: string): GoogleCustomEventInfo;\n abstract handleCustomRequestEvent(eventName: string, eventInfo: GoogleCustomEventInfo, data: any, runId: string, tags?: string[], metadata?: Record<string, any>): any;\n abstract handleCustomResponseEvent(eventName: string, eventInfo: GoogleCustomEventInfo, data: any, runId: string, tags?: string[], metadata?: Record<string, any>): any;\n abstract handleCustomChunkEvent(eventName: string, eventInfo: GoogleCustomEventInfo, data: any, runId: string, tags?: string[], metadata?: Record<string, any>): any;\n handleCustomEvent(eventName: string, data: any, runId: string, tags?: string[], metadata?: Record<string, any>): any;\n}\nexport declare class GoogleRequestLogger extends GoogleRequestCallbackHandler {\n name: string;\n log(eventName: string, data: any, tags?: string[]): undefined;\n handleCustomRequestEvent(eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, tags?: string[], _metadata?: Record<string, any>): any;\n handleCustomResponseEvent(eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, tags?: string[], _metadata?: Record<string, any>): any;\n handleCustomChunkEvent(eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, tags?: string[], _metadata?: Record<string, any>): any;\n}\nexport declare class GoogleRequestRecorder extends GoogleRequestCallbackHandler {\n name: string;\n request: any;\n response: any;\n chunk: any[];\n handleCustomRequestEvent(_eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, _tags?: string[], _metadata?: Record<string, any>): any;\n handleCustomResponseEvent(_eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, _tags?: string[], _metadata?: Record<string, any>): any;\n handleCustomChunkEvent(_eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, _tags?: string[], _metadata?: Record<string, any>): any;\n}\n//# sourceMappingURL=connection.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"connection.d.cts","names":[],"sources":["../src/connection.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","names":["BaseLanguageModelCallOptions","AsyncCaller","AsyncCallerCallOptions","BaseRunManager","BaseCallbackHandler","GoogleAIBaseLLMInput","GoogleConnectionParams","GooglePlatformType","GoogleResponse","GoogleLLMResponse","GoogleAIModelRequestParams","GoogleRawResponse","GoogleAIAPI","VertexModelFamily","GoogleAIAPIConfig","GoogleModelParams","GoogleAbstractedClient","GoogleAbstractedClientOps","GoogleAbstractedClientOpsMethod","GoogleConnection","CallOptions","ResponseType","Promise","Record","GoogleHostConnection","AuthOptions","GoogleRawConnection","GoogleAIConnection","InputType","AbstractGoogleLLMConnection","MessageType","GoogleCustomEventInfo","GoogleRequestCallbackHandler","GoogleRequestLogger","GoogleRequestRecorder"],"sources":["../src/connection.d.ts"],"sourcesContent":["import { BaseLanguageModelCallOptions } from \"@langchain/core/language_models/base\";\nimport { AsyncCaller, AsyncCallerCallOptions } from \"@langchain/core/utils/async_caller\";\nimport { BaseRunManager } from \"@langchain/core/callbacks/manager\";\nimport { BaseCallbackHandler } from \"@langchain/core/callbacks/base\";\nimport type { GoogleAIBaseLLMInput, GoogleConnectionParams, GooglePlatformType, GoogleResponse, GoogleLLMResponse, GoogleAIModelRequestParams, GoogleRawResponse, GoogleAIAPI, VertexModelFamily, GoogleAIAPIConfig, GoogleModelParams } from \"./types.js\";\nimport { GoogleAbstractedClient, GoogleAbstractedClientOps, GoogleAbstractedClientOpsMethod } from \"./auth.js\";\nexport declare abstract class GoogleConnection<CallOptions extends AsyncCallerCallOptions, ResponseType extends GoogleResponse> {\n caller: AsyncCaller;\n client: GoogleAbstractedClient;\n streaming: boolean;\n constructor(caller: AsyncCaller, client: GoogleAbstractedClient, streaming?: boolean);\n abstract buildUrl(): Promise<string>;\n abstract buildMethod(): GoogleAbstractedClientOpsMethod;\n _clientInfoHeaders(): Promise<Record<string, string>>;\n _getClientInfo(): Promise<{\n userAgent: string;\n clientLibraryVersion: string;\n }>;\n _moduleName(): Promise<string>;\n additionalHeaders(): Promise<Record<string, string>>;\n _buildOpts(data: unknown | undefined, options: CallOptions, requestHeaders?: Record<string, string>): Promise<GoogleAbstractedClientOps>;\n _request(data: unknown | undefined, options: CallOptions, requestHeaders?: Record<string, string>): Promise<ResponseType>;\n}\nexport declare abstract class GoogleHostConnection<CallOptions extends AsyncCallerCallOptions, ResponseType extends GoogleResponse, AuthOptions> extends GoogleConnection<CallOptions, ResponseType> implements GoogleConnectionParams<AuthOptions> {\n platformType: GooglePlatformType | undefined;\n _endpoint: string | undefined;\n _location: string | undefined;\n _apiVersion: string | undefined;\n constructor(fields: GoogleConnectionParams<AuthOptions> | undefined, caller: AsyncCaller, client: GoogleAbstractedClient, streaming?: boolean);\n fieldPlatformType(fields: GoogleConnectionParams<any> | undefined): GooglePlatformType | undefined;\n get platform(): GooglePlatformType;\n get computedPlatformType(): GooglePlatformType;\n get computedApiVersion(): string;\n get apiVersion(): string;\n get location(): string;\n get computedLocation(): string;\n get endpoint(): string;\n get computedEndpoint(): string;\n buildMethod(): GoogleAbstractedClientOpsMethod;\n}\nexport declare abstract class GoogleRawConnection<CallOptions extends AsyncCallerCallOptions, AuthOptions> extends GoogleHostConnection<CallOptions, GoogleRawResponse, AuthOptions> {\n _buildOpts(data: unknown | undefined, _options: CallOptions, requestHeaders?: Record<string, string>): Promise<GoogleAbstractedClientOps>;\n}\nexport declare abstract class GoogleAIConnection<CallOptions extends AsyncCallerCallOptions, InputType, AuthOptions, ResponseType extends GoogleResponse> extends GoogleHostConnection<CallOptions, ResponseType, AuthOptions> implements GoogleAIBaseLLMInput<AuthOptions> {\n model: string;\n modelName: string;\n client: GoogleAbstractedClient;\n _apiName?: string;\n apiConfig?: GoogleAIAPIConfig;\n constructor(fields: GoogleAIBaseLLMInput<AuthOptions> | undefined, caller: AsyncCaller, client: GoogleAbstractedClient, streaming?: boolean);\n get modelFamily(): VertexModelFamily;\n get modelPublisher(): string;\n get computedAPIName(): string;\n get apiName(): string;\n get api(): GoogleAIAPI;\n get isApiKey(): boolean;\n fieldPlatformType(fields: GoogleConnectionParams<any> | undefined): GooglePlatformType | undefined;\n get computedPlatformType(): GooglePlatformType;\n get computedApiVersion(): string;\n get computedLocation(): string;\n abstract buildUrlMethod(): Promise<string>;\n buildUrlGenerativeLanguage(): Promise<string>;\n buildUrlVertexExpress(): Promise<string>;\n buildUrlVertexLocation(): Promise<string>;\n buildUrlVertex(): Promise<string>;\n buildUrl(): Promise<string>;\n abstract formatData(input: InputType, parameters: GoogleModelParams): Promise<unknown>;\n request(input: InputType, parameters: GoogleAIModelRequestParams, options: CallOptions, runManager?: BaseRunManager): Promise<ResponseType>;\n}\nexport declare abstract class AbstractGoogleLLMConnection<MessageType, AuthOptions> extends GoogleAIConnection<BaseLanguageModelCallOptions, MessageType, AuthOptions, GoogleLLMResponse> {\n buildUrlMethodGemini(): Promise<string>;\n buildUrlMethodClaude(): Promise<string>;\n buildUrlMethod(): Promise<string>;\n formatData(input: MessageType, parameters: GoogleAIModelRequestParams): Promise<unknown>;\n}\nexport interface GoogleCustomEventInfo {\n subEvent: string;\n module: string;\n}\nexport declare abstract class GoogleRequestCallbackHandler extends BaseCallbackHandler {\n customEventInfo(eventName: string): GoogleCustomEventInfo;\n abstract handleCustomRequestEvent(eventName: string, eventInfo: GoogleCustomEventInfo, data: any, runId: string, tags?: string[], metadata?: Record<string, any>): any;\n abstract handleCustomResponseEvent(eventName: string, eventInfo: GoogleCustomEventInfo, data: any, runId: string, tags?: string[], metadata?: Record<string, any>): any;\n abstract handleCustomChunkEvent(eventName: string, eventInfo: GoogleCustomEventInfo, data: any, runId: string, tags?: string[], metadata?: Record<string, any>): any;\n handleCustomEvent(eventName: string, data: any, runId: string, tags?: string[], metadata?: Record<string, any>): any;\n}\nexport declare class GoogleRequestLogger extends GoogleRequestCallbackHandler {\n name: string;\n log(eventName: string, data: any, tags?: string[]): undefined;\n handleCustomRequestEvent(eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, tags?: string[], _metadata?: Record<string, any>): any;\n handleCustomResponseEvent(eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, tags?: string[], _metadata?: Record<string, any>): any;\n handleCustomChunkEvent(eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, tags?: string[], _metadata?: Record<string, any>): any;\n}\nexport declare class GoogleRequestRecorder extends GoogleRequestCallbackHandler {\n name: string;\n request: any;\n response: any;\n chunk: any[];\n handleCustomRequestEvent(_eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, _tags?: string[], _metadata?: Record<string, any>): any;\n handleCustomResponseEvent(_eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, _tags?: string[], _metadata?: Record<string, any>): any;\n handleCustomChunkEvent(_eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, _tags?: string[], _metadata?: Record<string, any>): any;\n}\n//# sourceMappingURL=connection.d.ts.map"],"mappings":"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"}
1
+ {"version":3,"file":"connection.d.ts","names":[],"sources":["../src/connection.ts"],"mappings":"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"}
@@ -23,8 +23,7 @@ var GoogleConnection = class {
23
23
  };
24
24
  }
25
25
  async _getClientInfo() {
26
- const env = await getRuntimeEnvironment();
27
- const langchain = env?.library ?? "langchain-js";
26
+ const langchain = (await getRuntimeEnvironment())?.library ?? "langchain-js";
28
27
  const langchainVersion = "0";
29
28
  const moduleName = await this._moduleName();
30
29
  let clientLibraryVersion = `${langchain}/${langchainVersion}`;
@@ -45,15 +44,14 @@ var GoogleConnection = class {
45
44
  const method = this.buildMethod();
46
45
  const infoHeaders = await this._clientInfoHeaders() ?? {};
47
46
  const additionalHeaders = await this.additionalHeaders() ?? {};
48
- const headers = {
49
- ...infoHeaders,
50
- ...additionalHeaders,
51
- ...requestHeaders
52
- };
53
47
  const opts = {
54
48
  url,
55
49
  method,
56
- headers,
50
+ headers: {
51
+ ...infoHeaders,
52
+ ...additionalHeaders,
53
+ ...requestHeaders
54
+ },
57
55
  signal: options?.signal
58
56
  };
59
57
  if (data && method === "POST") opts.data = data;
@@ -63,9 +61,7 @@ var GoogleConnection = class {
63
61
  }
64
62
  async _request(data, options, requestHeaders = {}) {
65
63
  const opts = await this._buildOpts(data, options, requestHeaders);
66
- const callResponse = await this.caller.callWithOptions({ signal: options?.signal }, async () => this.client.request(opts));
67
- const response = callResponse;
68
- return response;
64
+ return await this.caller.callWithOptions({ signal: options?.signal }, async () => this.client.request(opts));
69
65
  }
70
66
  };
71
67
  var GoogleHostConnection = class extends GoogleConnection {
@@ -83,10 +79,9 @@ var GoogleHostConnection = class extends GoogleConnection {
83
79
  this.client = client;
84
80
  }
85
81
  fieldPlatformType(fields) {
86
- if (typeof fields === "undefined") return void 0;
82
+ if (typeof fields === "undefined") return;
87
83
  if (typeof fields.platformType !== "undefined") return fields.platformType;
88
84
  if (fields.vertexai === true) return "gcp";
89
- return void 0;
90
85
  }
91
86
  get platform() {
92
87
  return this.platformType ?? this.computedPlatformType;
@@ -168,7 +163,6 @@ var GoogleAIConnection = class extends GoogleHostConnection {
168
163
  const ret = super.fieldPlatformType(fields);
169
164
  if (typeof ret !== "undefined") return ret;
170
165
  if (fields?.vertexai === false) return "gai";
171
- return void 0;
172
166
  }
173
167
  get computedPlatformType() {
174
168
  if (this.isApiKey) return "gai";
@@ -189,21 +183,18 @@ var GoogleAIConnection = class extends GoogleHostConnection {
189
183
  }
190
184
  async buildUrlGenerativeLanguage() {
191
185
  const method = await this.buildUrlMethod();
192
- const url = `https://generativelanguage.googleapis.com/${this.apiVersion}/models/${this.model}:${method}`;
193
- return url;
186
+ return `https://generativelanguage.googleapis.com/${this.apiVersion}/models/${this.model}:${method}`;
194
187
  }
195
188
  async buildUrlVertexExpress() {
196
189
  const method = await this.buildUrlMethod();
197
190
  const publisher = this.modelPublisher;
198
- const url = `https://aiplatform.googleapis.com/${this.apiVersion}/publishers/${publisher}/models/${this.model}:${method}`;
199
- return url;
191
+ return `https://aiplatform.googleapis.com/${this.apiVersion}/publishers/${publisher}/models/${this.model}:${method}`;
200
192
  }
201
193
  async buildUrlVertexLocation() {
202
194
  const projectId = await this.client.getProjectId();
203
195
  const method = await this.buildUrlMethod();
204
196
  const publisher = this.modelPublisher;
205
- const url = `https://${this.endpoint}/${this.apiVersion}/projects/${projectId}/locations/${this.location}/publishers/${publisher}/models/${this.model}:${method}`;
206
- return url;
197
+ return `https://${this.endpoint}/${this.apiVersion}/projects/${projectId}/locations/${this.location}/publishers/${publisher}/models/${this.model}:${method}`;
207
198
  }
208
199
  async buildUrlVertex() {
209
200
  if (this.isApiKey) return this.buildUrlVertexExpress();
@@ -258,7 +249,7 @@ var AbstractGoogleLLMConnection = class extends GoogleAIConnection {
258
249
  async formatData(input, parameters) {
259
250
  let filteredParameters = parameters;
260
251
  if (parameters.labels && this.platform !== "gcp") {
261
- const { labels,...paramsWithoutLabels } = parameters;
252
+ const { labels, ...paramsWithoutLabels } = parameters;
262
253
  filteredParameters = paramsWithoutLabels;
263
254
  }
264
255
  return this.api.formatData(input, filteredParameters);
@@ -273,7 +264,7 @@ var GoogleRequestCallbackHandler = class extends BaseCallbackHandler {
273
264
  };
274
265
  }
275
266
  handleCustomEvent(eventName, data, runId, tags, metadata) {
276
- if (!eventName) return void 0;
267
+ if (!eventName) return;
277
268
  const eventInfo = this.customEventInfo(eventName);
278
269
  switch (eventInfo.subEvent) {
279
270
  case "request": return this.handleCustomRequestEvent(eventName, eventInfo, data, runId, tags, metadata);