@langchain/core
Version:
Core LangChain.js abstractions and schemas
1 lines • 4.73 kB
Source Map (JSON)
{"version":3,"file":"google_genai.cjs","names":["_isContentBlock","_isString","_isObject"],"sources":["../../../src/messages/block_translators/google_genai.ts"],"sourcesContent":["import { AIMessage } from \"../ai.js\";\nimport { ContentBlock } from \"../content/index.js\";\nimport type { StandardContentBlockTranslator } from \"./index.js\";\nimport { _isContentBlock, _isObject, _isString } from \"./utils.js\";\n\nfunction convertToV1FromChatGoogleMessage(\n message: AIMessage\n): Array<ContentBlock.Standard> {\n // see `libs/providers/langchain-google-genai/src/utils/common.ts:mapGenerateContentResultToChatResult\n function* iterateContent(): Iterable<ContentBlock.Standard> {\n const content =\n typeof message.content === \"string\"\n ? [{ type: \"text\", text: message.content }]\n : message.content;\n for (const block of content) {\n if (_isContentBlock(block, \"text\") && _isString(block.text)) {\n yield { type: \"text\", text: block.text };\n continue;\n } else if (\n _isContentBlock(block, \"thinking\") &&\n _isString(block.thinking)\n ) {\n // Handle Google's thinking blocks (converted from Gemini's thought property)\n yield {\n type: \"reasoning\",\n reasoning: block.thinking,\n ...(block.signature ? { signature: block.signature } : {}),\n };\n continue;\n } else if (\n _isContentBlock(block, \"inlineData\") &&\n _isObject(block.inlineData) &&\n _isString(block.inlineData.mimeType) &&\n _isString(block.inlineData.data)\n ) {\n yield {\n type: \"file\",\n mimeType: block.inlineData.mimeType,\n data: block.inlineData.data,\n };\n continue;\n } else if (\n _isContentBlock(block, \"functionCall\") &&\n _isObject(block.functionCall) &&\n _isString(block.functionCall.name) &&\n _isObject(block.functionCall.args)\n ) {\n yield {\n type: \"tool_call\",\n id: message.id,\n name: block.functionCall.name,\n args: block.functionCall.args,\n };\n continue;\n } else if (_isContentBlock(block, \"functionResponse\")) {\n yield { type: \"non_standard\", value: block };\n continue;\n } else if (\n _isContentBlock(block, \"fileData\") &&\n _isObject(block.fileData) &&\n _isString(block.fileData.mimeType) &&\n _isString(block.fileData.fileUri)\n ) {\n yield {\n type: \"file\",\n mimeType: block.fileData.mimeType,\n fileId: block.fileData.fileUri,\n };\n continue;\n } else if (_isContentBlock(block, \"executableCode\")) {\n yield { type: \"non_standard\", value: block };\n continue;\n } else if (_isContentBlock(block, \"codeExecutionResult\")) {\n yield { type: \"non_standard\", value: block };\n continue;\n }\n yield { type: \"non_standard\", value: block };\n }\n }\n return Array.from(iterateContent());\n}\n\nexport const ChatGoogleGenAITranslator: StandardContentBlockTranslator = {\n translateContent: convertToV1FromChatGoogleMessage,\n translateContentChunk: convertToV1FromChatGoogleMessage,\n};\n"],"mappings":";;AAKA,SAAS,iCACP,SAC8B;CAE9B,UAAU,iBAAkD;EAC1D,MAAM,UACJ,OAAO,QAAQ,YAAY,WACvB,CAAC;GAAE,MAAM;GAAQ,MAAM,QAAQ;GAAS,CAAC,GACzC,QAAQ;AACd,OAAK,MAAM,SAAS,SAAS;AAC3B,OAAIA,cAAAA,gBAAgB,OAAO,OAAO,IAAIC,cAAAA,UAAU,MAAM,KAAK,EAAE;AAC3D,UAAM;KAAE,MAAM;KAAQ,MAAM,MAAM;KAAM;AACxC;cAEAD,cAAAA,gBAAgB,OAAO,WAAW,IAClCC,cAAAA,UAAU,MAAM,SAAS,EACzB;AAEA,UAAM;KACJ,MAAM;KACN,WAAW,MAAM;KACjB,GAAI,MAAM,YAAY,EAAE,WAAW,MAAM,WAAW,GAAG,EAAE;KAC1D;AACD;cAEAD,cAAAA,gBAAgB,OAAO,aAAa,IACpCE,cAAAA,UAAU,MAAM,WAAW,IAC3BD,cAAAA,UAAU,MAAM,WAAW,SAAS,IACpCA,cAAAA,UAAU,MAAM,WAAW,KAAK,EAChC;AACA,UAAM;KACJ,MAAM;KACN,UAAU,MAAM,WAAW;KAC3B,MAAM,MAAM,WAAW;KACxB;AACD;cAEAD,cAAAA,gBAAgB,OAAO,eAAe,IACtCE,cAAAA,UAAU,MAAM,aAAa,IAC7BD,cAAAA,UAAU,MAAM,aAAa,KAAK,IAClCC,cAAAA,UAAU,MAAM,aAAa,KAAK,EAClC;AACA,UAAM;KACJ,MAAM;KACN,IAAI,QAAQ;KACZ,MAAM,MAAM,aAAa;KACzB,MAAM,MAAM,aAAa;KAC1B;AACD;cACSF,cAAAA,gBAAgB,OAAO,mBAAmB,EAAE;AACrD,UAAM;KAAE,MAAM;KAAgB,OAAO;KAAO;AAC5C;cAEAA,cAAAA,gBAAgB,OAAO,WAAW,IAClCE,cAAAA,UAAU,MAAM,SAAS,IACzBD,cAAAA,UAAU,MAAM,SAAS,SAAS,IAClCA,cAAAA,UAAU,MAAM,SAAS,QAAQ,EACjC;AACA,UAAM;KACJ,MAAM;KACN,UAAU,MAAM,SAAS;KACzB,QAAQ,MAAM,SAAS;KACxB;AACD;cACSD,cAAAA,gBAAgB,OAAO,iBAAiB,EAAE;AACnD,UAAM;KAAE,MAAM;KAAgB,OAAO;KAAO;AAC5C;cACSA,cAAAA,gBAAgB,OAAO,sBAAsB,EAAE;AACxD,UAAM;KAAE,MAAM;KAAgB,OAAO;KAAO;AAC5C;;AAEF,SAAM;IAAE,MAAM;IAAgB,OAAO;IAAO;;;AAGhD,QAAO,MAAM,KAAK,gBAAgB,CAAC;;AAGrC,MAAa,4BAA4D;CACvE,kBAAkB;CAClB,uBAAuB;CACxB"}