@langchain/google 0.2.12 → 0.2.13

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 (110) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/chat_models/api_types/generate_content.d.cts +0 -2
  3. package/dist/chat_models/api_types/generate_content.d.ts +0 -2
  4. package/dist/chat_models/api_types/interactions.d.cts +1423 -0
  5. package/dist/chat_models/api_types/interactions.d.ts +1423 -0
  6. package/dist/chat_models/base.cjs +12 -11
  7. package/dist/chat_models/base.cjs.map +1 -1
  8. package/dist/chat_models/base.d.cts +3 -5
  9. package/dist/chat_models/base.d.ts +3 -5
  10. package/dist/chat_models/base.js +12 -11
  11. package/dist/chat_models/base.js.map +1 -1
  12. package/dist/chat_models/handlers/base.cjs +1 -2
  13. package/dist/chat_models/handlers/base.d.cts +0 -2
  14. package/dist/chat_models/handlers/base.d.ts +0 -2
  15. package/dist/chat_models/handlers/base.js +1 -2
  16. package/dist/chat_models/handlers/generate_content.cjs +5 -6
  17. package/dist/chat_models/handlers/generate_content.d.cts +0 -2
  18. package/dist/chat_models/handlers/generate_content.d.ts +0 -2
  19. package/dist/chat_models/handlers/generate_content.js +5 -6
  20. package/dist/chat_models/handlers/index.cjs +2 -0
  21. package/dist/chat_models/handlers/index.d.cts +2 -1
  22. package/dist/chat_models/handlers/index.d.ts +2 -1
  23. package/dist/chat_models/handlers/index.js +2 -1
  24. package/dist/chat_models/handlers/interactions.cjs +303 -0
  25. package/dist/chat_models/handlers/interactions.cjs.map +1 -0
  26. package/dist/chat_models/handlers/interactions.d.cts +33 -0
  27. package/dist/chat_models/handlers/interactions.d.ts +33 -0
  28. package/dist/chat_models/handlers/interactions.js +303 -0
  29. package/dist/chat_models/handlers/interactions.js.map +1 -0
  30. package/dist/chat_models/index.cjs +5 -4
  31. package/dist/chat_models/index.cjs.map +1 -1
  32. package/dist/chat_models/index.d.cts +4 -5
  33. package/dist/chat_models/index.d.ts +4 -5
  34. package/dist/chat_models/index.js +5 -5
  35. package/dist/chat_models/index.js.map +1 -1
  36. package/dist/chat_models/node.cjs +3 -4
  37. package/dist/chat_models/node.d.cts +1 -3
  38. package/dist/chat_models/node.d.ts +1 -3
  39. package/dist/chat_models/node.js +3 -4
  40. package/dist/chat_models/profiles.cjs +1 -2
  41. package/dist/chat_models/profiles.js +1 -2
  42. package/dist/chat_models/types.cjs +1 -2
  43. package/dist/chat_models/types.cjs.map +1 -1
  44. package/dist/chat_models/types.d.cts +524 -23
  45. package/dist/chat_models/types.d.ts +524 -23
  46. package/dist/chat_models/types.js +1 -2
  47. package/dist/chat_models/types.js.map +1 -1
  48. package/dist/clients/index.cjs +3 -4
  49. package/dist/clients/index.d.cts +0 -2
  50. package/dist/clients/index.d.ts +0 -2
  51. package/dist/clients/index.js +3 -4
  52. package/dist/clients/node.cjs +4 -5
  53. package/dist/clients/node.d.cts +0 -2
  54. package/dist/clients/node.d.ts +0 -2
  55. package/dist/clients/node.js +4 -5
  56. package/dist/const.cjs +1 -2
  57. package/dist/const.js +1 -2
  58. package/dist/converters/generate_content/messages.cjs +1 -2
  59. package/dist/converters/generate_content/messages.js +1 -2
  60. package/dist/converters/generate_content/params.cjs +1 -2
  61. package/dist/converters/generate_content/params.js +1 -2
  62. package/dist/converters/generate_content/stream_events.cjs +1 -2
  63. package/dist/converters/generate_content/stream_events.js +1 -2
  64. package/dist/converters/generate_content/tools.cjs +1 -2
  65. package/dist/converters/generate_content/tools.js +1 -2
  66. package/dist/converters/interactions/messages.cjs +766 -0
  67. package/dist/converters/interactions/messages.cjs.map +1 -0
  68. package/dist/converters/interactions/messages.js +759 -0
  69. package/dist/converters/interactions/messages.js.map +1 -0
  70. package/dist/converters/interactions/params.cjs +244 -0
  71. package/dist/converters/interactions/params.cjs.map +1 -0
  72. package/dist/converters/interactions/params.js +237 -0
  73. package/dist/converters/interactions/params.js.map +1 -0
  74. package/dist/converters/interactions/stream_events.cjs +769 -0
  75. package/dist/converters/interactions/stream_events.cjs.map +1 -0
  76. package/dist/converters/interactions/stream_events.js +768 -0
  77. package/dist/converters/interactions/stream_events.js.map +1 -0
  78. package/dist/converters/interactions/tools.cjs +229 -0
  79. package/dist/converters/interactions/tools.cjs.map +1 -0
  80. package/dist/converters/interactions/tools.js +228 -0
  81. package/dist/converters/interactions/tools.js.map +1 -0
  82. package/dist/converters/shared/params.cjs +1 -2
  83. package/dist/converters/shared/params.js +1 -2
  84. package/dist/index.cjs +2 -0
  85. package/dist/index.d.cts +3 -2
  86. package/dist/index.d.ts +3 -2
  87. package/dist/index.js +2 -1
  88. package/dist/node.cjs +1 -1
  89. package/dist/node.d.cts +1 -1
  90. package/dist/node.d.ts +1 -1
  91. package/dist/node.js +1 -1
  92. package/dist/utils/errors.cjs +1 -2
  93. package/dist/utils/errors.js +1 -2
  94. package/dist/utils/gcp-auth.cjs +3 -4
  95. package/dist/utils/gcp-auth.d.cts +0 -2
  96. package/dist/utils/gcp-auth.d.ts +0 -2
  97. package/dist/utils/gcp-auth.js +3 -4
  98. package/dist/utils/handler.cjs +1 -2
  99. package/dist/utils/handler.d.cts +0 -2
  100. package/dist/utils/handler.d.ts +0 -2
  101. package/dist/utils/handler.js +1 -2
  102. package/dist/utils/metadata.cjs +1 -2
  103. package/dist/utils/metadata.js +1 -2
  104. package/dist/utils/misc.cjs +1 -2
  105. package/dist/utils/misc.d.cts +0 -2
  106. package/dist/utils/misc.d.ts +0 -2
  107. package/dist/utils/misc.js +1 -2
  108. package/dist/utils/stream.cjs +1 -2
  109. package/dist/utils/stream.js +1 -2
  110. package/package.json +11 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","names":[],"sources":["../../../src/converters/interactions/tools.ts"],"sourcesContent":["import { isLangChainTool } from \"@langchain/core/utils/function_calling\";\nimport { isOpenAITool } from \"@langchain/core/language_models/base\";\nimport { Converter } from \"@langchain/core/utils/format\";\nimport type {\n BindToolsInput,\n ToolChoice,\n} from \"@langchain/core/language_models/chat_models\";\nimport type { Gemini } from \"../../chat_models/types.js\";\nimport { InvalidToolError } from \"../../utils/errors.js\";\nimport { schemaToGeminiParameters } from \"../generate_content/tools.js\";\n\nconst INTERACTIONS_TOOL_TYPES = new Set([\n \"function\",\n \"google_search\",\n \"code_execution\",\n \"url_context\",\n \"computer_use\",\n \"file_search\",\n \"google_maps\",\n \"mcp_server\",\n \"retrieval\",\n]);\n\n/**\n * Type guard to check if a tool is already in Interactions API format.\n * Note: OpenAI tools also have `type: \"function\"`, so we exclude objects\n * that have an OpenAI-style nested `function` object.\n */\nfunction isInteractionsTool(\n tool: BindToolsInput\n): tool is Gemini.Interactions.Tool {\n if (typeof tool !== \"object\" || tool === null) {\n return false;\n }\n if (isOpenAITool(tool)) {\n return false;\n }\n if (!(\"type\" in tool) || typeof tool.type !== \"string\") {\n return false;\n }\n return INTERACTIONS_TOOL_TYPES.has(tool.type);\n}\n\n/**\n * Type guard to check if a tool is in GenerateContent `Gemini.Tool` format.\n */\nfunction isGenerateContentTool(tool: BindToolsInput): tool is Gemini.Tool {\n if (typeof tool !== \"object\" || tool === null) {\n return false;\n }\n\n const geminiToolAttributes = [\n \"functionDeclarations\",\n \"codeExecution\",\n \"googleSearch\",\n \"googleSearchRetrieval\",\n \"urlContext\",\n \"googleMaps\",\n \"fileSearch\",\n \"computerUse\",\n \"mcpServers\",\n \"retrieval\",\n ];\n\n return geminiToolAttributes.some((attr) => attr in tool);\n}\n\n/**\n * Converts a GenerateContent-formatted `Gemini.Tool` object into one or more\n * flat Interactions API `Gemini.Interactions.Tool` objects, translating\n * camelCase properties to snake_case where appropriate.\n */\nfunction convertGenerateContentToolToInteractionsTools(\n tool: Gemini.Tool & Record<string, unknown>\n): Gemini.Interactions.Tool[] {\n const results: Gemini.Interactions.Tool[] = [];\n\n if (\n \"functionDeclarations\" in tool &&\n Array.isArray(tool.functionDeclarations)\n ) {\n for (const decl of tool.functionDeclarations) {\n const parameters = (decl.parameters ?? decl.parametersJsonSchema) as\n | Record<string, unknown>\n | undefined;\n results.push({\n type: \"function\",\n name: decl.name ?? \"\",\n description: decl.description ?? \"A function available to call.\",\n ...(parameters ? { parameters } : {}),\n });\n }\n }\n\n if (\"googleSearch\" in tool && tool.googleSearch) {\n const gs = tool.googleSearch as Gemini.Tools.GoogleSearch &\n Record<string, unknown>;\n const searchTypes: Array<\n \"web_search\" | \"image_search\" | \"enterprise_web_search\"\n > = [];\n if (gs.searchTypes?.webSearch) {\n searchTypes.push(\"web_search\");\n }\n if (gs.searchTypes?.imageSearch) {\n searchTypes.push(\"image_search\");\n }\n const timeRangeFilter =\n (gs.time_range_filter as Gemini.Interactions.GoogleSearch[\"time_range_filter\"]) ??\n (gs.timeRangeFilter\n ? {\n start_time: gs.timeRangeFilter.startTime,\n end_time: gs.timeRangeFilter.endTime,\n }\n : undefined);\n\n results.push({\n type: \"google_search\",\n ...(searchTypes.length > 0 ? { search_types: searchTypes } : {}),\n ...(timeRangeFilter ? { time_range_filter: timeRangeFilter } : {}),\n });\n } else if (\"googleSearchRetrieval\" in tool) {\n results.push({\n type: \"google_search\",\n });\n }\n\n if (\"codeExecution\" in tool && tool.codeExecution) {\n results.push({\n type: \"code_execution\",\n });\n }\n\n if (\"urlContext\" in tool && tool.urlContext) {\n results.push({\n type: \"url_context\",\n });\n }\n\n if (\"googleMaps\" in tool && tool.googleMaps) {\n const gm = tool.googleMaps as Gemini.Tools.GoogleMaps &\n Record<string, unknown>;\n const enableWidget =\n (gm.enable_widget as boolean | undefined) ?? gm.enableWidget;\n results.push({\n type: \"google_maps\",\n ...(typeof enableWidget === \"boolean\"\n ? { enable_widget: enableWidget }\n : {}),\n ...(typeof gm.latitude === \"number\" ? { latitude: gm.latitude } : {}),\n ...(typeof gm.longitude === \"number\" ? { longitude: gm.longitude } : {}),\n });\n }\n\n if (\"fileSearch\" in tool && tool.fileSearch) {\n const fs = tool.fileSearch as Gemini.Tools.FileSearch &\n Record<string, unknown>;\n const storeNames =\n (fs.file_search_store_names as string[] | undefined) ??\n fs.fileSearchStoreNames;\n const topK = (fs.top_k as number | undefined) ?? fs.topK;\n const metadataFilter =\n (fs.metadata_filter as string | undefined) ?? fs.metadataFilter;\n results.push({\n type: \"file_search\",\n ...(storeNames ? { file_search_store_names: storeNames } : {}),\n ...(typeof topK === \"number\" ? { top_k: topK } : {}),\n ...(metadataFilter ? { metadata_filter: metadataFilter } : {}),\n });\n }\n\n if (\"computerUse\" in tool && tool.computerUse) {\n const cu = tool.computerUse as Gemini.Tools.ComputerUse &\n Record<string, unknown>;\n const rawEnv = cu.environment;\n const environment =\n rawEnv === \"ENVIRONMENT_BROWSER\" || rawEnv === \"browser\"\n ? (\"browser\" as const)\n : undefined;\n const excludedPredefinedFunctions =\n (cu.excluded_predefined_functions as string[] | undefined) ??\n cu.excludedPredefinedFunctions;\n results.push({\n type: \"computer_use\",\n ...(environment ? { environment } : {}),\n ...(excludedPredefinedFunctions\n ? { excluded_predefined_functions: excludedPredefinedFunctions }\n : {}),\n });\n }\n\n if (\"mcpServers\" in tool && Array.isArray(tool.mcpServers)) {\n for (const server of tool.mcpServers as Array<Record<string, unknown>>) {\n const transport = server.streamableHttpTransport as\n | Record<string, unknown>\n | undefined;\n const url = (server.url ?? transport?.url) as string | undefined;\n const headers = (server.headers ?? transport?.headers) as\n | Record<string, string>\n | undefined;\n const allowedTools = (server.allowed_tools ?? server.allowedTools) as\n | Gemini.Interactions.AllowedTools[]\n | undefined;\n results.push({\n type: \"mcp_server\",\n ...(typeof server.name === \"string\" ? { name: server.name } : {}),\n ...(url ? { url } : {}),\n ...(headers ? { headers } : {}),\n ...(allowedTools ? { allowed_tools: allowedTools } : {}),\n });\n }\n }\n\n if (\"retrieval\" in tool && tool.retrieval) {\n const ret = tool.retrieval as Record<string, unknown>;\n const vas = (ret.vertex_ai_search_config ?? ret.vertexAiSearch) as\n | Record<string, unknown>\n | undefined;\n const datastores = Array.isArray(vas?.datastores)\n ? (vas.datastores as string[])\n : typeof vas?.datastore === \"string\"\n ? [vas.datastore]\n : undefined;\n results.push({\n type: \"retrieval\",\n ...(vas\n ? {\n retrieval_types: [\"vertex_ai_search\"],\n vertex_ai_search_config: {\n ...(datastores ? { datastores } : {}),\n ...(typeof vas.engine === \"string\" ? { engine: vas.engine } : {}),\n },\n }\n : {}),\n });\n }\n\n return results;\n}\n\n/**\n * Converts an array of tools in any supported format (LangChain `StructuredTool`,\n * OpenAI tool, GenerateContent `Gemini.Tool`, raw `FunctionDeclaration`, or native\n * Interactions `Tool`) into flat `Gemini.Interactions.Tool[]` items.\n */\nexport const convertToolsToInteractionsTools: Converter<\n BindToolsInput[],\n Gemini.Interactions.Tool[]\n> = (tools) => {\n if (tools.length === 0) {\n return [];\n }\n\n const interactionsTools: Gemini.Interactions.Tool[] = [];\n\n for (const tool of tools) {\n if (isInteractionsTool(tool)) {\n interactionsTools.push(tool);\n continue;\n }\n\n if (isGenerateContentTool(tool)) {\n interactionsTools.push(\n ...convertGenerateContentToolToInteractionsTools(\n tool as Gemini.Tool & Record<string, unknown>\n )\n );\n continue;\n }\n\n if (isLangChainTool(tool)) {\n const jsonSchema = schemaToGeminiParameters(tool.schema);\n interactionsTools.push({\n type: \"function\",\n name: tool.name,\n description: tool.description ?? \"A function available to call.\",\n parameters: jsonSchema as unknown as Record<string, unknown>,\n });\n continue;\n }\n\n if (isOpenAITool(tool)) {\n interactionsTools.push({\n type: \"function\",\n name: tool.function.name,\n description:\n tool.function.description ?? \"A function available to call.\",\n parameters: tool.function.parameters\n ? (schemaToGeminiParameters(\n tool.function.parameters\n ) as unknown as Record<string, unknown>)\n : undefined,\n });\n continue;\n }\n\n if (\n typeof tool === \"object\" &&\n tool !== null &&\n \"name\" in tool &&\n typeof tool.name === \"string\"\n ) {\n const funcDecl = tool as Partial<Gemini.Tools.FunctionDeclaration>;\n interactionsTools.push({\n type: \"function\",\n name: funcDecl.name!,\n description: funcDecl.description ?? \"A function available to call.\",\n ...(funcDecl.parameters\n ? {\n parameters: funcDecl.parameters as unknown as Record<\n string,\n unknown\n >,\n }\n : {}),\n });\n continue;\n }\n\n throw new InvalidToolError(tool);\n }\n\n return interactionsTools;\n};\n\n/**\n * Converts LangChain's `tool_choice` option into the Interactions API\n * `generation_config.tool_choice` format (`ToolChoiceType | ToolChoiceConfig`).\n */\nexport function convertToolChoiceToInteractionsConfig(\n toolChoice: ToolChoice | undefined,\n hasTools: boolean\n): Gemini.Interactions.ToolChoice | undefined {\n if (!hasTools || toolChoice === undefined) {\n return undefined;\n }\n\n if (typeof toolChoice === \"object\" && toolChoice !== null) {\n if (\"allowed_tools\" in toolChoice) {\n return toolChoice as Gemini.Interactions.ToolChoiceConfig;\n }\n }\n\n let mode: Gemini.Interactions.ToolChoiceType | undefined;\n let allowedFunctionNames: string[] | undefined;\n\n let toolChoiceMode: string | undefined;\n let toolChoiceFunction: string | string[] | undefined;\n\n if (typeof toolChoice === \"object\" && toolChoice !== null) {\n const obj = toolChoice as {\n mode?: string;\n function?: { name?: string };\n allowedFunctionNames?: string[];\n };\n toolChoiceMode = obj.mode;\n toolChoiceFunction = obj.function?.name ?? obj.allowedFunctionNames;\n } else if (typeof toolChoice === \"string\") {\n toolChoiceMode = toolChoice;\n }\n\n const normalizedMode = toolChoiceMode?.toLowerCase();\n if (normalizedMode === \"auto\") {\n mode = \"auto\";\n } else if (normalizedMode === \"any\" || normalizedMode === \"required\") {\n mode = \"any\";\n } else if (normalizedMode === \"none\") {\n mode = \"none\";\n } else if (normalizedMode === \"validated\") {\n mode = \"validated\";\n } else if (typeof toolChoiceMode === \"string\" && toolChoiceMode.length > 0) {\n mode = \"any\";\n toolChoiceFunction = toolChoiceMode;\n }\n\n if (toolChoiceFunction) {\n allowedFunctionNames = Array.isArray(toolChoiceFunction)\n ? toolChoiceFunction\n : [toolChoiceFunction];\n }\n\n if (allowedFunctionNames && allowedFunctionNames.length > 0) {\n return {\n allowed_tools: {\n mode: mode ?? \"any\",\n tools: allowedFunctionNames,\n },\n };\n }\n\n return mode;\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- //#region src/converters/shared/params.ts
1
+ // src/converters/shared/params.ts
2
2
  /**
3
3
  * Converts a reasoning "effort" level value (e.g., "minimal", "low", "medium", "high")
4
4
  * to a corresponding reasoning token budget, depending on the target Gemini model.
@@ -148,7 +148,6 @@ function getGoogleChatModelParams(modelOrParams, paramsArg) {
148
148
  ...typeof modelOrParams === "string" ? paramsArg : modelOrParams
149
149
  };
150
150
  }
151
- //#endregion
152
151
  exports.convertParamsToPlatformType = convertParamsToPlatformType;
153
152
  exports.convertReasoningEffortToReasoningTokens = convertReasoningEffortToReasoningTokens;
154
153
  exports.convertReasoningTokensToReasoningEffort = convertReasoningTokensToReasoningEffort;
@@ -1,4 +1,4 @@
1
- //#region src/converters/shared/params.ts
1
+ // src/converters/shared/params.ts
2
2
  /**
3
3
  * Converts a reasoning "effort" level value (e.g., "minimal", "low", "medium", "high")
4
4
  * to a corresponding reasoning token budget, depending on the target Gemini model.
@@ -148,7 +148,6 @@ function getGoogleChatModelParams(modelOrParams, paramsArg) {
148
148
  ...typeof modelOrParams === "string" ? paramsArg : modelOrParams
149
149
  };
150
150
  }
151
- //#endregion
152
151
  export { convertParamsToPlatformType, convertReasoningEffortToReasoningTokens, convertReasoningTokensToReasoningEffort, getGoogleChatModelParams, getModelFamily, getModelLevel, getModelSpecialty, getModelVersion };
153
152
 
154
153
  //# sourceMappingURL=params.js.map
package/dist/index.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_base = require("./chat_models/handlers/base.cjs");
3
3
  const require_generate_content = require("./chat_models/handlers/generate_content.cjs");
4
+ const require_interactions = require("./chat_models/handlers/interactions.cjs");
4
5
  const require_base$1 = require("./chat_models/base.cjs");
5
6
  const require_index = require("./chat_models/index.cjs");
6
7
  const require_handler = require("./utils/handler.cjs");
@@ -11,3 +12,4 @@ exports.GoogleChatApiHandler = require_base.GoogleChatApiHandler;
11
12
  exports.GoogleRequestCallbackHandler = require_handler.GoogleRequestCallbackHandler;
12
13
  exports.GoogleRequestLogger = require_handler.GoogleRequestLogger;
13
14
  exports.GoogleRequestRecorder = require_handler.GoogleRequestRecorder;
15
+ exports.InteractionsApiHandler = require_interactions.InteractionsApiHandler;
package/dist/index.d.cts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { GoogleChatApiHandler } from "./chat_models/handlers/base.cjs";
2
- import { BaseChatGoogleCallOptions, BaseChatGoogleFields, BaseChatGoogleParams, ChatGoogleFields, GenerateContentApiHandlerParams, GenerateContentFields, GenerateContentInvocationParams, GenerateContentSpecificFields, GoogleChatApiHandlerConfig, GoogleChatApiHandlerFactory, GoogleChatApiHandlerParams } from "./chat_models/types.cjs";
2
+ import { BaseChatGoogleCallOptions, BaseChatGoogleFields, BaseChatGoogleParams, ChatGoogleFields, GenerateContentApiHandlerParams, GenerateContentFields, GenerateContentInvocationParams, GenerateContentSpecificFields, GoogleChatApiHandlerConfig, GoogleChatApiHandlerFactory, GoogleChatApiHandlerParams, InteractionsApiHandlerParams, InteractionsFields, InteractionsInvocationParams, InteractionsSpecificFields } from "./chat_models/types.cjs";
3
3
  import { GenerateContentApiHandler } from "./chat_models/handlers/generate_content.cjs";
4
+ import { InteractionsApiHandler } from "./chat_models/handlers/interactions.cjs";
4
5
  import { BaseChatGoogle } from "./chat_models/base.cjs";
5
6
  import { ChatGoogle, ChatGoogleCallOptions, ChatGoogleParams } from "./chat_models/index.cjs";
6
7
  import { GoogleCustomEventInfo, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder } from "./utils/handler.cjs";
7
- export { BaseChatGoogle, type BaseChatGoogleCallOptions, type BaseChatGoogleFields, type BaseChatGoogleParams, ChatGoogle, ChatGoogleCallOptions, type ChatGoogleFields, ChatGoogleParams, GenerateContentApiHandler, type GenerateContentApiHandlerParams, type GenerateContentFields, type GenerateContentInvocationParams, type GenerateContentSpecificFields, GoogleChatApiHandler, type GoogleChatApiHandlerConfig, type GoogleChatApiHandlerFactory, type GoogleChatApiHandlerParams, GoogleCustomEventInfo, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder };
8
+ export { BaseChatGoogle, type BaseChatGoogleCallOptions, type BaseChatGoogleFields, type BaseChatGoogleParams, ChatGoogle, ChatGoogleCallOptions, type ChatGoogleFields, ChatGoogleParams, GenerateContentApiHandler, type GenerateContentApiHandlerParams, type GenerateContentFields, type GenerateContentInvocationParams, type GenerateContentSpecificFields, GoogleChatApiHandler, type GoogleChatApiHandlerConfig, type GoogleChatApiHandlerFactory, type GoogleChatApiHandlerParams, GoogleCustomEventInfo, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder, InteractionsApiHandler, type InteractionsApiHandlerParams, type InteractionsFields, type InteractionsInvocationParams, type InteractionsSpecificFields };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { GoogleChatApiHandler } from "./chat_models/handlers/base.js";
2
- import { BaseChatGoogleCallOptions, BaseChatGoogleFields, BaseChatGoogleParams, ChatGoogleFields, GenerateContentApiHandlerParams, GenerateContentFields, GenerateContentInvocationParams, GenerateContentSpecificFields, GoogleChatApiHandlerConfig, GoogleChatApiHandlerFactory, GoogleChatApiHandlerParams } from "./chat_models/types.js";
2
+ import { BaseChatGoogleCallOptions, BaseChatGoogleFields, BaseChatGoogleParams, ChatGoogleFields, GenerateContentApiHandlerParams, GenerateContentFields, GenerateContentInvocationParams, GenerateContentSpecificFields, GoogleChatApiHandlerConfig, GoogleChatApiHandlerFactory, GoogleChatApiHandlerParams, InteractionsApiHandlerParams, InteractionsFields, InteractionsInvocationParams, InteractionsSpecificFields } from "./chat_models/types.js";
3
3
  import { GenerateContentApiHandler } from "./chat_models/handlers/generate_content.js";
4
+ import { InteractionsApiHandler } from "./chat_models/handlers/interactions.js";
4
5
  import { BaseChatGoogle } from "./chat_models/base.js";
5
6
  import { ChatGoogle, ChatGoogleCallOptions, ChatGoogleParams } from "./chat_models/index.js";
6
7
  import { GoogleCustomEventInfo, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder } from "./utils/handler.js";
7
- export { BaseChatGoogle, type BaseChatGoogleCallOptions, type BaseChatGoogleFields, type BaseChatGoogleParams, ChatGoogle, ChatGoogleCallOptions, type ChatGoogleFields, ChatGoogleParams, GenerateContentApiHandler, type GenerateContentApiHandlerParams, type GenerateContentFields, type GenerateContentInvocationParams, type GenerateContentSpecificFields, GoogleChatApiHandler, type GoogleChatApiHandlerConfig, type GoogleChatApiHandlerFactory, type GoogleChatApiHandlerParams, GoogleCustomEventInfo, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder };
8
+ export { BaseChatGoogle, type BaseChatGoogleCallOptions, type BaseChatGoogleFields, type BaseChatGoogleParams, ChatGoogle, ChatGoogleCallOptions, type ChatGoogleFields, ChatGoogleParams, GenerateContentApiHandler, type GenerateContentApiHandlerParams, type GenerateContentFields, type GenerateContentInvocationParams, type GenerateContentSpecificFields, GoogleChatApiHandler, type GoogleChatApiHandlerConfig, type GoogleChatApiHandlerFactory, type GoogleChatApiHandlerParams, GoogleCustomEventInfo, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder, InteractionsApiHandler, type InteractionsApiHandlerParams, type InteractionsFields, type InteractionsInvocationParams, type InteractionsSpecificFields };
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { GoogleChatApiHandler } from "./chat_models/handlers/base.js";
2
2
  import { GenerateContentApiHandler } from "./chat_models/handlers/generate_content.js";
3
+ import { InteractionsApiHandler } from "./chat_models/handlers/interactions.js";
3
4
  import { BaseChatGoogle } from "./chat_models/base.js";
4
5
  import { ChatGoogle } from "./chat_models/index.js";
5
6
  import { GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder } from "./utils/handler.js";
6
- export { BaseChatGoogle, ChatGoogle, GenerateContentApiHandler, GoogleChatApiHandler, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder };
7
+ export { BaseChatGoogle, ChatGoogle, GenerateContentApiHandler, GoogleChatApiHandler, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder, InteractionsApiHandler };
package/dist/node.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_handler = require("./utils/handler.cjs");
3
2
  const require_node = require("./chat_models/node.cjs");
3
+ const require_handler = require("./utils/handler.cjs");
4
4
  exports.ChatGoogle = require_node.ChatGoogle;
5
5
  exports.GoogleRequestCallbackHandler = require_handler.GoogleRequestCallbackHandler;
6
6
  exports.GoogleRequestLogger = require_handler.GoogleRequestLogger;
package/dist/node.d.cts CHANGED
@@ -1,3 +1,3 @@
1
- import { GoogleCustomEventInfo, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder } from "./utils/handler.cjs";
2
1
  import { ChatGoogle as ChatGoogleNode, ChatGoogleParams as ChatGoogleNodeParams } from "./chat_models/node.cjs";
2
+ import { GoogleCustomEventInfo, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder } from "./utils/handler.cjs";
3
3
  export { ChatGoogleNode as ChatGoogle, type ChatGoogleNodeParams as ChatGoogleParams, GoogleCustomEventInfo, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder };
package/dist/node.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { GoogleCustomEventInfo, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder } from "./utils/handler.js";
2
1
  import { ChatGoogle as ChatGoogleNode, ChatGoogleParams as ChatGoogleNodeParams } from "./chat_models/node.js";
2
+ import { GoogleCustomEventInfo, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder } from "./utils/handler.js";
3
3
  export { ChatGoogleNode as ChatGoogle, type ChatGoogleNodeParams as ChatGoogleParams, GoogleCustomEventInfo, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder };
package/dist/node.js CHANGED
@@ -1,3 +1,3 @@
1
- import { GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder } from "./utils/handler.js";
2
1
  import { ChatGoogle as ChatGoogleNode } from "./chat_models/node.js";
2
+ import { GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder } from "./utils/handler.js";
3
3
  export { ChatGoogleNode as ChatGoogle, GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder };
@@ -1,6 +1,6 @@
1
1
  const require_misc = require("./misc.cjs");
2
2
  let _langchain_core_errors = require("@langchain/core/errors");
3
- //#region src/utils/errors.ts
3
+ // src/utils/errors.ts
4
4
  const ns = _langchain_core_errors.ns.sub("google");
5
5
  const RETRYABLE_STATUS_CODES = [
6
6
  408,
@@ -549,7 +549,6 @@ var InvalidInputError = class extends ns.brand(GoogleError, "invalid-input") {
549
549
  (0, _langchain_core_errors.stampRetryable)(this, false);
550
550
  }
551
551
  };
552
- //#endregion
553
552
  exports.AuthError = AuthError;
554
553
  exports.ConfigurationError = ConfigurationError;
555
554
  exports.GoogleError = GoogleError;
@@ -1,6 +1,6 @@
1
1
  import { iife } from "./misc.js";
2
2
  import { LangChainError, ns, stampRetryable } from "@langchain/core/errors";
3
- //#region src/utils/errors.ts
3
+ // src/utils/errors.ts
4
4
  const ns$1 = ns.sub("google");
5
5
  const RETRYABLE_STATUS_CODES = [
6
6
  408,
@@ -549,7 +549,6 @@ var InvalidInputError = class extends ns$1.brand(GoogleError, "invalid-input") {
549
549
  stampRetryable(this, false);
550
550
  }
551
551
  };
552
- //#endregion
553
552
  export { AuthError, ConfigurationError, GoogleError, InvalidInputError, InvalidToolError, MalformedOutputError, NoCandidatesError, PromptBlockedError, RequestError, ToolCallNotFoundError };
554
553
 
555
554
  //# sourceMappingURL=errors.js.map
@@ -1,7 +1,7 @@
1
- const require_const = require("../const.cjs");
2
- const require_misc = require("./misc.cjs");
3
1
  const require_errors = require("./errors.cjs");
4
- //#region src/utils/gcp-auth.ts
2
+ const require_misc = require("./misc.cjs");
3
+ const require_const = require("../const.cjs");
4
+ // src/utils/gcp-auth.ts
5
5
  /**
6
6
  * GCP authentication utilities.
7
7
  *
@@ -204,7 +204,6 @@ async function getGCPCredentialsAccessToken(credentials, scopes = require_const.
204
204
  });
205
205
  return await promise.then((data) => data.token);
206
206
  }
207
- //#endregion
208
207
  exports.getGCPCredentialsAccessToken = getGCPCredentialsAccessToken;
209
208
  exports.getGCPCustomToken = getGCPCustomToken;
210
209
  exports.getGCPPrivateKey = getGCPPrivateKey;
@@ -1,4 +1,3 @@
1
- //#region src/utils/gcp-auth.d.ts
2
1
  /**
3
2
  * GCP authentication utilities.
4
3
  *
@@ -38,5 +37,4 @@ export interface GCPCredentials {
38
37
  /** The URL for this service account's x509 certificate */
39
38
  client_x509_cert_url: string;
40
39
  }
41
- //#endregion
42
40
  //# sourceMappingURL=gcp-auth.d.cts.map
@@ -1,4 +1,3 @@
1
- //#region src/utils/gcp-auth.d.ts
2
1
  /**
3
2
  * GCP authentication utilities.
4
3
  *
@@ -38,5 +37,4 @@ export interface GCPCredentials {
38
37
  /** The URL for this service account's x509 certificate */
39
38
  client_x509_cert_url: string;
40
39
  }
41
- //#endregion
42
40
  //# sourceMappingURL=gcp-auth.d.ts.map
@@ -1,7 +1,7 @@
1
- import { VERTEX_AI_AUTH_SCOPES } from "../const.js";
2
- import { iife } from "./misc.js";
3
1
  import { AuthError } from "./errors.js";
4
- //#region src/utils/gcp-auth.ts
2
+ import { iife } from "./misc.js";
3
+ import { VERTEX_AI_AUTH_SCOPES } from "../const.js";
4
+ // src/utils/gcp-auth.ts
5
5
  /**
6
6
  * GCP authentication utilities.
7
7
  *
@@ -204,7 +204,6 @@ async function getGCPCredentialsAccessToken(credentials, scopes = VERTEX_AI_AUTH
204
204
  });
205
205
  return await promise.then((data) => data.token);
206
206
  }
207
- //#endregion
208
207
  export { getGCPCredentialsAccessToken, getGCPCustomToken, getGCPPrivateKey, normalizeGCPCredentials };
209
208
 
210
209
  //# sourceMappingURL=gcp-auth.js.map
@@ -1,5 +1,5 @@
1
1
  let _langchain_core_callbacks_base = require("@langchain/core/callbacks/base");
2
- //#region src/utils/handler.ts
2
+ // src/utils/handler.ts
3
3
  var GoogleRequestCallbackHandler = class extends _langchain_core_callbacks_base.BaseCallbackHandler {
4
4
  customEventInfo(eventName) {
5
5
  const names = eventName.split("-");
@@ -57,7 +57,6 @@ var GoogleRequestRecorder = class extends GoogleRequestCallbackHandler {
57
57
  this.chunk.push(data);
58
58
  }
59
59
  };
60
- //#endregion
61
60
  exports.GoogleRequestCallbackHandler = GoogleRequestCallbackHandler;
62
61
  exports.GoogleRequestLogger = GoogleRequestLogger;
63
62
  exports.GoogleRequestRecorder = GoogleRequestRecorder;
@@ -1,5 +1,4 @@
1
1
  import { BaseCallbackHandler } from "@langchain/core/callbacks/base";
2
- //#region src/utils/handler.d.ts
3
2
  export interface GoogleCustomEventInfo {
4
3
  subEvent: string;
5
4
  module: string;
@@ -28,5 +27,4 @@ export declare class GoogleRequestRecorder extends GoogleRequestCallbackHandler
28
27
  handleCustomResponseEvent(_eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, _tags?: string[], _metadata?: Record<string, any>): any;
29
28
  handleCustomChunkEvent(_eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, _tags?: string[], _metadata?: Record<string, any>): any;
30
29
  }
31
- //#endregion
32
30
  //# sourceMappingURL=handler.d.cts.map
@@ -1,5 +1,4 @@
1
1
  import { BaseCallbackHandler } from "@langchain/core/callbacks/base";
2
- //#region src/utils/handler.d.ts
3
2
  export interface GoogleCustomEventInfo {
4
3
  subEvent: string;
5
4
  module: string;
@@ -28,5 +27,4 @@ export declare class GoogleRequestRecorder extends GoogleRequestCallbackHandler
28
27
  handleCustomResponseEvent(_eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, _tags?: string[], _metadata?: Record<string, any>): any;
29
28
  handleCustomChunkEvent(_eventName: string, _eventInfo: GoogleCustomEventInfo, data: any, _runId: string, _tags?: string[], _metadata?: Record<string, any>): any;
30
29
  }
31
- //#endregion
32
30
  //# sourceMappingURL=handler.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { BaseCallbackHandler } from "@langchain/core/callbacks/base";
2
- //#region src/utils/handler.ts
2
+ // src/utils/handler.ts
3
3
  var GoogleRequestCallbackHandler = class extends BaseCallbackHandler {
4
4
  customEventInfo(eventName) {
5
5
  const names = eventName.split("-");
@@ -57,7 +57,6 @@ var GoogleRequestRecorder = class extends GoogleRequestCallbackHandler {
57
57
  this.chunk.push(data);
58
58
  }
59
59
  };
60
- //#endregion
61
60
  export { GoogleRequestCallbackHandler, GoogleRequestLogger, GoogleRequestRecorder };
62
61
 
63
62
  //# sourceMappingURL=handler.js.map
@@ -1,4 +1,4 @@
1
- //#region src/utils/metadata.ts
1
+ // src/utils/metadata.ts
2
2
  /**
3
3
  * Computes the delta between two token detail objects by subtracting
4
4
  * each field in `previous` from the corresponding field in `current`.
@@ -57,7 +57,6 @@ function usageMetadataToTokenUsage(usageMetadata) {
57
57
  totalTokens: usageMetadata.total_tokens
58
58
  };
59
59
  }
60
- //#endregion
61
60
  exports.subtractUsageMetadata = subtractUsageMetadata;
62
61
  exports.usageMetadataToTokenUsage = usageMetadataToTokenUsage;
63
62
 
@@ -1,4 +1,4 @@
1
- //#region src/utils/metadata.ts
1
+ // src/utils/metadata.ts
2
2
  /**
3
3
  * Computes the delta between two token detail objects by subtracting
4
4
  * each field in `previous` from the corresponding field in `current`.
@@ -57,7 +57,6 @@ function usageMetadataToTokenUsage(usageMetadata) {
57
57
  totalTokens: usageMetadata.total_tokens
58
58
  };
59
59
  }
60
- //#endregion
61
60
  export { subtractUsageMetadata, usageMetadataToTokenUsage };
62
61
 
63
62
  //# sourceMappingURL=metadata.js.map
@@ -1,9 +1,8 @@
1
- //#region src/utils/misc.ts
1
+ // src/utils/misc.ts
2
2
  /**
3
3
  * Immediately invokes the provided function and returns its result.
4
4
  */
5
5
  const iife = (fn) => fn();
6
- //#endregion
7
6
  exports.iife = iife;
8
7
 
9
8
  //# sourceMappingURL=misc.cjs.map
@@ -1,4 +1,3 @@
1
- //#region src/utils/misc.d.ts
2
1
  /**
3
2
  * Type utility that recursively resolves object shape, removing type aliases,
4
3
  * intersections, and unions for easier type introspection and error output.
@@ -14,5 +13,4 @@ export type Prettify<T> = T extends Function ? T : T extends string | number | b
14
13
  * string-literal members, filtering out wide `string` / `string & {}`.
15
14
  */
16
15
  export type LowercaseLiteral<T> = T extends string ? string extends T ? never : Lowercase<T> : never;
17
- //#endregion
18
16
  //# sourceMappingURL=misc.d.cts.map
@@ -1,4 +1,3 @@
1
- //#region src/utils/misc.d.ts
2
1
  /**
3
2
  * Type utility that recursively resolves object shape, removing type aliases,
4
3
  * intersections, and unions for easier type introspection and error output.
@@ -14,5 +13,4 @@ export type Prettify<T> = T extends Function ? T : T extends string | number | b
14
13
  * string-literal members, filtering out wide `string` / `string & {}`.
15
14
  */
16
15
  export type LowercaseLiteral<T> = T extends string ? string extends T ? never : Lowercase<T> : never;
17
- //#endregion
18
16
  //# sourceMappingURL=misc.d.ts.map
@@ -1,9 +1,8 @@
1
- //#region src/utils/misc.ts
1
+ // src/utils/misc.ts
2
2
  /**
3
3
  * Immediately invokes the provided function and returns its result.
4
4
  */
5
5
  const iife = (fn) => fn();
6
- //#endregion
7
6
  export { iife };
8
7
 
9
8
  //# sourceMappingURL=misc.js.map
@@ -1,4 +1,4 @@
1
- //#region src/utils/stream.ts
1
+ // src/utils/stream.ts
2
2
  /**
3
3
  * A transform stream that safely parses JSON from EventSource messages.
4
4
  *
@@ -19,7 +19,6 @@ var SafeJsonEventParserStream = class extends TransformStream {
19
19
  } });
20
20
  }
21
21
  };
22
- //#endregion
23
22
  exports.SafeJsonEventParserStream = SafeJsonEventParserStream;
24
23
 
25
24
  //# sourceMappingURL=stream.cjs.map
@@ -1,4 +1,4 @@
1
- //#region src/utils/stream.ts
1
+ // src/utils/stream.ts
2
2
  /**
3
3
  * A transform stream that safely parses JSON from EventSource messages.
4
4
  *
@@ -19,7 +19,6 @@ var SafeJsonEventParserStream = class extends TransformStream {
19
19
  } });
20
20
  }
21
21
  };
22
- //#endregion
23
22
  export { SafeJsonEventParserStream };
24
23
 
25
24
  //# sourceMappingURL=stream.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@langchain/google",
3
- "version": "0.2.12",
3
+ "version": "0.2.13",
4
4
  "description": "Google integrations for LangChain.js",
5
5
  "author": "LangChain",
6
6
  "license": "MIT",
@@ -14,23 +14,23 @@
14
14
  "directory": "libs/providers/langchain-google"
15
15
  },
16
16
  "dependencies": {
17
- "eventsource-parser": "^4.1.1",
18
- "google-auth-library": "^11.1.0",
19
- "jose": "^6.2.12"
17
+ "eventsource-parser": "^4.1.3",
18
+ "google-auth-library": "^11.3.2",
19
+ "jose": "^6.2.14"
20
20
  },
21
21
  "peerDependencies": {
22
- "@langchain/core": "^1.2.18"
22
+ "@langchain/core": "^1.3.5"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@tsconfig/recommended": "^1.0.10",
26
- "@types/node": "^26.6.3",
26
+ "@types/node": "^26.6.6",
27
27
  "dpdm": "^4.3.0",
28
28
  "sparktype": "^0.1.3",
29
29
  "typescript": "~7.0.2",
30
- "vitest": "^5.0.2",
30
+ "vitest": "^5.0.5",
31
31
  "zod": "^3.25.76 || ^4",
32
32
  "zod-to-json-schema": "^3.25.2",
33
- "@langchain/core": "^1.2.18",
33
+ "@langchain/core": "^1.3.5",
34
34
  "@langchain/standard-tests": "0.0.23"
35
35
  },
36
36
  "publishConfig": {
@@ -88,6 +88,8 @@
88
88
  "typegen:sparktype": "sparktype generate",
89
89
  "typegen:profiles": "pnpm --filter @langchain/model-profiles make --config profiles.toml",
90
90
  "typegen:check": "sparktype check",
91
- "typegen:fetch": "curl -o src/openapi/generate-content-openapi.json 'https://generativelanguage.googleapis.com/$discovery/OPENAPI3_0?version=v1beta'"
91
+ "typegen:fetch": "pnpm run typegen:fetch:genContent && pnpm run typegen:fetch:interactions",
92
+ "typegen:fetch:genContent": "curl -o - 'https://generativelanguage.googleapis.com/$discovery/OPENAPI3_0?version=v1beta' | jq -S . > src/openapi/generate-content-openapi.json",
93
+ "typegen:fetch:interactions": "curl -o - 'https://ai.google.dev/static/api/interactions.openapi.json' | jq -S . > src/openapi/interactions-openapi.json"
92
94
  }
93
95
  }