@langchain/openai 1.0.0 → 1.1.1

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 (106) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/azure/chat_models/completions.d.cts +1 -1
  3. package/dist/azure/chat_models/index.cjs +1 -1
  4. package/dist/azure/chat_models/index.d.cts +2 -2
  5. package/dist/azure/chat_models/index.js +1 -1
  6. package/dist/azure/chat_models/responses.cjs +1 -1
  7. package/dist/azure/chat_models/responses.d.cts +1 -1
  8. package/dist/azure/chat_models/responses.js +1 -1
  9. package/dist/azure/embeddings.cjs +1 -1
  10. package/dist/azure/embeddings.js +1 -1
  11. package/dist/chat_models/base.cjs +24 -3
  12. package/dist/chat_models/base.cjs.map +1 -1
  13. package/dist/chat_models/base.d.cts +20 -1
  14. package/dist/chat_models/base.d.cts.map +1 -1
  15. package/dist/chat_models/base.d.ts +23 -4
  16. package/dist/chat_models/base.d.ts.map +1 -1
  17. package/dist/chat_models/base.js +24 -3
  18. package/dist/chat_models/base.js.map +1 -1
  19. package/dist/chat_models/completions.cjs +36 -106
  20. package/dist/chat_models/completions.cjs.map +1 -1
  21. package/dist/chat_models/completions.d.cts +18 -7
  22. package/dist/chat_models/completions.d.cts.map +1 -1
  23. package/dist/chat_models/completions.d.ts +17 -6
  24. package/dist/chat_models/completions.d.ts.map +1 -1
  25. package/dist/chat_models/completions.js +37 -107
  26. package/dist/chat_models/completions.js.map +1 -1
  27. package/dist/chat_models/index.cjs +1 -1
  28. package/dist/chat_models/index.cjs.map +1 -1
  29. package/dist/chat_models/index.d.cts +3 -3
  30. package/dist/chat_models/index.d.ts +4 -4
  31. package/dist/chat_models/index.js +1 -1
  32. package/dist/chat_models/index.js.map +1 -1
  33. package/dist/chat_models/profiles.cjs +567 -0
  34. package/dist/chat_models/profiles.cjs.map +1 -0
  35. package/dist/chat_models/profiles.js +566 -0
  36. package/dist/chat_models/profiles.js.map +1 -0
  37. package/dist/chat_models/responses.cjs +14 -375
  38. package/dist/chat_models/responses.cjs.map +1 -1
  39. package/dist/chat_models/responses.d.cts +2 -17
  40. package/dist/chat_models/responses.d.cts.map +1 -1
  41. package/dist/chat_models/responses.d.ts +1 -16
  42. package/dist/chat_models/responses.d.ts.map +1 -1
  43. package/dist/chat_models/responses.js +15 -376
  44. package/dist/chat_models/responses.js.map +1 -1
  45. package/dist/converters/completions.cjs +605 -0
  46. package/dist/converters/completions.cjs.map +1 -0
  47. package/dist/converters/completions.d.cts +319 -0
  48. package/dist/converters/completions.d.cts.map +1 -0
  49. package/dist/converters/completions.d.ts +319 -0
  50. package/dist/converters/completions.d.ts.map +1 -0
  51. package/dist/converters/completions.js +599 -0
  52. package/dist/converters/completions.js.map +1 -0
  53. package/dist/converters/index.cjs +2 -0
  54. package/dist/converters/index.js +2 -0
  55. package/dist/converters/responses.cjs +895 -0
  56. package/dist/converters/responses.cjs.map +1 -0
  57. package/dist/converters/responses.d.cts +310 -0
  58. package/dist/converters/responses.d.cts.map +1 -0
  59. package/dist/converters/responses.d.ts +310 -0
  60. package/dist/converters/responses.d.ts.map +1 -0
  61. package/dist/converters/responses.js +889 -0
  62. package/dist/converters/responses.js.map +1 -0
  63. package/dist/embeddings.cjs +1 -1
  64. package/dist/embeddings.js +1 -1
  65. package/dist/index.cjs +24 -11
  66. package/dist/index.d.cts +4 -3
  67. package/dist/index.d.ts +4 -3
  68. package/dist/index.js +7 -5
  69. package/dist/llms.cjs +2 -2
  70. package/dist/llms.d.cts +1 -1
  71. package/dist/llms.js +2 -2
  72. package/dist/types.d.cts +2 -2
  73. package/dist/types.d.ts +2 -2
  74. package/dist/utils/errors.cjs +1 -1
  75. package/dist/utils/errors.cjs.map +1 -1
  76. package/dist/utils/errors.js +1 -1
  77. package/dist/utils/errors.js.map +1 -1
  78. package/dist/utils/misc.js +2 -2
  79. package/dist/utils/misc.js.map +1 -1
  80. package/dist/utils/output.cjs +0 -12
  81. package/dist/utils/output.cjs.map +1 -1
  82. package/dist/utils/output.js +1 -12
  83. package/dist/utils/output.js.map +1 -1
  84. package/dist/utils/prompts.cjs +2 -2
  85. package/dist/utils/prompts.cjs.map +1 -1
  86. package/dist/utils/prompts.d.cts +1 -0
  87. package/dist/utils/prompts.d.cts.map +1 -1
  88. package/dist/utils/prompts.d.ts +1 -0
  89. package/dist/utils/prompts.d.ts.map +1 -1
  90. package/dist/utils/prompts.js +2 -2
  91. package/dist/utils/prompts.js.map +1 -1
  92. package/dist/utils/tools.cjs +1 -1
  93. package/dist/utils/tools.js +1 -1
  94. package/package.json +9 -6
  95. package/dist/utils/message_inputs.cjs +0 -139
  96. package/dist/utils/message_inputs.cjs.map +0 -1
  97. package/dist/utils/message_inputs.d.cts +0 -9
  98. package/dist/utils/message_inputs.d.cts.map +0 -1
  99. package/dist/utils/message_inputs.d.ts +0 -9
  100. package/dist/utils/message_inputs.d.ts.map +0 -1
  101. package/dist/utils/message_inputs.js +0 -137
  102. package/dist/utils/message_inputs.js.map +0 -1
  103. package/dist/utils/standard.cjs +0 -315
  104. package/dist/utils/standard.cjs.map +0 -1
  105. package/dist/utils/standard.js +0 -313
  106. package/dist/utils/standard.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"responses.d.cts","names":["OpenAI","OpenAIClient","CallbackManagerForLLMRun","BaseMessage","ChatGenerationChunk","ChatResult","ChatOpenAIReasoningSummary","OpenAIVerbosityParam","ChatOpenAIToolType","ResponsesTool","BaseChatOpenAI","BaseChatOpenAICallOptions","ChatOpenAIResponsesCallOptions","Responses","ResponseCreateParams","ChatResponsesInvocationParams","Omit","ExcludeController","T","ResponsesCreate","ResponsesParse","ResponsesCreateInvoke","ReturnType","Awaited","ResponsesParseInvoke","ChatOpenAIResponses","CallOptions","Promise","AsyncGenerator","ResponseCreateParamsStreaming","RequestOptions","ResponseStreamEvent","AsyncIterable","ResponseCreateParamsNonStreaming","Response","ResponseInputItem","ComputerCallOutput","EasyInputMessage","FunctionCallOutput","ImageGenerationCall","ItemReference","LocalShellCall","LocalShellCallOutput","McpApprovalRequest","McpApprovalResponse","McpCall","McpListTools","Message","ResponseCodeInterpreterToolCall","ResponseComputerToolCall","ResponseCustomToolCall","ResponseCustomToolCallOutput","ResponseFileSearchToolCall","ResponseFunctionToolCall","ResponseFunctionWebSearch","ResponseOutputMessage","ResponseReasoningItem"],"sources":["../../src/chat_models/responses.d.ts"],"sourcesContent":["import { OpenAI as OpenAIClient } from \"openai\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport { ChatGenerationChunk, type ChatResult } from \"@langchain/core/outputs\";\nimport { ChatOpenAIReasoningSummary, OpenAIVerbosityParam } from \"../types.js\";\nimport { ChatOpenAIToolType, ResponsesTool } from \"../utils/tools.js\";\nimport { BaseChatOpenAI, BaseChatOpenAICallOptions } from \"./base.js\";\nexport interface ChatOpenAIResponsesCallOptions extends BaseChatOpenAICallOptions {\n /**\n * Configuration options for a text response from the model. Can be plain text or\n * structured JSON data.\n */\n text?: OpenAIClient.Responses.ResponseCreateParams[\"text\"];\n /**\n * The truncation strategy to use for the model response.\n */\n truncation?: OpenAIClient.Responses.ResponseCreateParams[\"truncation\"];\n /**\n * Specify additional output data to include in the model response.\n */\n include?: OpenAIClient.Responses.ResponseCreateParams[\"include\"];\n /**\n * The unique ID of the previous response to the model. Use this to create multi-turn\n * conversations.\n */\n previous_response_id?: OpenAIClient.Responses.ResponseCreateParams[\"previous_response_id\"];\n /**\n * The verbosity of the model's response.\n */\n verbosity?: OpenAIVerbosityParam;\n}\ntype ChatResponsesInvocationParams = Omit<OpenAIClient.Responses.ResponseCreateParams, \"input\">;\ntype ExcludeController<T> = T extends {\n controller: unknown;\n} ? never : T;\ntype ResponsesCreate = OpenAIClient.Responses[\"create\"];\ntype ResponsesParse = OpenAIClient.Responses[\"parse\"];\ntype ResponsesCreateInvoke = ExcludeController<Awaited<ReturnType<ResponsesCreate>>>;\ntype ResponsesParseInvoke = ExcludeController<Awaited<ReturnType<ResponsesParse>>>;\n/**\n * OpenAI Responses API implementation.\n *\n * Will be exported in a later version of @langchain/openai.\n *\n * @internal\n */\nexport declare class ChatOpenAIResponses<CallOptions extends ChatOpenAIResponsesCallOptions = ChatOpenAIResponsesCallOptions> extends BaseChatOpenAI<CallOptions> {\n invocationParams(options?: this[\"ParsedCallOptions\"]): ChatResponsesInvocationParams;\n _generate(messages: BaseMessage[], options: this[\"ParsedCallOptions\"]): Promise<ChatResult>;\n _streamResponseChunks(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;\n /**\n * Calls the Responses API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n completionWithRetry(request: OpenAIClient.Responses.ResponseCreateParamsStreaming, requestOptions?: OpenAIClient.RequestOptions): Promise<AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>>;\n completionWithRetry(request: OpenAIClient.Responses.ResponseCreateParamsNonStreaming, requestOptions?: OpenAIClient.RequestOptions): Promise<OpenAIClient.Responses.Response>;\n /** @internal */\n protected _convertResponsesMessageToBaseMessage(response: ResponsesCreateInvoke | ResponsesParseInvoke): BaseMessage;\n /** @internal */\n protected _convertResponsesDeltaToBaseMessageChunk(chunk: OpenAIClient.Responses.ResponseStreamEvent): ChatGenerationChunk | null;\n /** @internal */\n protected _convertMessagesToResponsesParams(messages: BaseMessage[]): (OpenAIClient.Responses.ResponseInputItem.ComputerCallOutput | OpenAIClient.Responses.EasyInputMessage | OpenAIClient.Responses.ResponseInputItem.FunctionCallOutput | OpenAIClient.Responses.ResponseInputItem.ImageGenerationCall | OpenAIClient.Responses.ResponseInputItem.ItemReference | OpenAIClient.Responses.ResponseInputItem.LocalShellCall | OpenAIClient.Responses.ResponseInputItem.LocalShellCallOutput | OpenAIClient.Responses.ResponseInputItem.McpApprovalRequest | OpenAIClient.Responses.ResponseInputItem.McpApprovalResponse | OpenAIClient.Responses.ResponseInputItem.McpCall | OpenAIClient.Responses.ResponseInputItem.McpListTools | OpenAIClient.Responses.ResponseInputItem.Message | OpenAIClient.Responses.ResponseCodeInterpreterToolCall | OpenAIClient.Responses.ResponseComputerToolCall | OpenAIClient.Responses.ResponseCustomToolCall | OpenAIClient.Responses.ResponseCustomToolCallOutput | OpenAIClient.Responses.ResponseFileSearchToolCall | OpenAIClient.Responses.ResponseFunctionToolCall | OpenAIClient.Responses.ResponseFunctionWebSearch | OpenAIClient.Responses.ResponseOutputMessage | OpenAIClient.Responses.ResponseReasoningItem)[];\n /** @internal */\n protected _convertReasoningSummary(reasoning: ChatOpenAIReasoningSummary): OpenAIClient.Responses.ResponseReasoningItem;\n /** @internal */\n protected _reduceChatOpenAITools(tools: ChatOpenAIToolType[], fields: {\n stream?: boolean;\n strict?: boolean;\n }): ResponsesTool[];\n}\nexport {};\n"],"mappings":"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"}
1
+ {"version":3,"file":"responses.d.cts","names":["OpenAI","OpenAIClient","CallbackManagerForLLMRun","BaseMessage","ChatGenerationChunk","ChatResult","ChatOpenAIToolType","ResponsesTool","BaseChatOpenAI","BaseChatOpenAICallOptions","OpenAIVerbosityParam","ChatOpenAIResponsesCallOptions","Responses","ResponseCreateParams","ChatResponsesInvocationParams","Omit","ChatOpenAIResponses","CallOptions","Promise","AsyncGenerator","ResponseCreateParamsStreaming","RequestOptions","ResponseStreamEvent","AsyncIterable","ResponseCreateParamsNonStreaming","Response"],"sources":["../../src/chat_models/responses.d.ts"],"sourcesContent":["import { OpenAI as OpenAIClient } from \"openai\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport { ChatGenerationChunk, type ChatResult } from \"@langchain/core/outputs\";\nimport { ChatOpenAIToolType, ResponsesTool } from \"../utils/tools.js\";\nimport { BaseChatOpenAI, BaseChatOpenAICallOptions } from \"./base.js\";\nimport { OpenAIVerbosityParam } from \"../types.js\";\nexport interface ChatOpenAIResponsesCallOptions extends BaseChatOpenAICallOptions {\n /**\n * Configuration options for a text response from the model. Can be plain text or\n * structured JSON data.\n */\n text?: OpenAIClient.Responses.ResponseCreateParams[\"text\"];\n /**\n * The truncation strategy to use for the model response.\n */\n truncation?: OpenAIClient.Responses.ResponseCreateParams[\"truncation\"];\n /**\n * Specify additional output data to include in the model response.\n */\n include?: OpenAIClient.Responses.ResponseCreateParams[\"include\"];\n /**\n * The unique ID of the previous response to the model. Use this to create multi-turn\n * conversations.\n */\n previous_response_id?: OpenAIClient.Responses.ResponseCreateParams[\"previous_response_id\"];\n /**\n * The verbosity of the model's response.\n */\n verbosity?: OpenAIVerbosityParam;\n}\nexport type ChatResponsesInvocationParams = Omit<OpenAIClient.Responses.ResponseCreateParams, \"input\">;\n/**\n * OpenAI Responses API implementation.\n *\n * Will be exported in a later version of @langchain/openai.\n *\n * @internal\n */\nexport declare class ChatOpenAIResponses<CallOptions extends ChatOpenAIResponsesCallOptions = ChatOpenAIResponsesCallOptions> extends BaseChatOpenAI<CallOptions> {\n invocationParams(options?: this[\"ParsedCallOptions\"]): ChatResponsesInvocationParams;\n _generate(messages: BaseMessage[], options: this[\"ParsedCallOptions\"]): Promise<ChatResult>;\n _streamResponseChunks(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;\n /**\n * Calls the Responses API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n completionWithRetry(request: OpenAIClient.Responses.ResponseCreateParamsStreaming, requestOptions?: OpenAIClient.RequestOptions): Promise<AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>>;\n completionWithRetry(request: OpenAIClient.Responses.ResponseCreateParamsNonStreaming, requestOptions?: OpenAIClient.RequestOptions): Promise<OpenAIClient.Responses.Response>;\n /** @internal */\n protected _reduceChatOpenAITools(tools: ChatOpenAIToolType[], fields: {\n stream?: boolean;\n strict?: boolean;\n }): ResponsesTool[];\n}\n"],"mappings":";;;;;;;;;UAOiBW,8BAAAA,SAAuCF;;AAAxD;;;EAKsD,IAIrCR,CAAAA,EAJNA,QAAAA,CAAaW,SAAAA,CAAUC,oBAIMA,CAAAA,MAAAA,CAAAA;EAAoB;;;EAaxB,UAtBoBJ,CAAAA,EASvCR,QAAAA,CAAaW,SAAAA,CAAUC,oBATgBJ,CAAAA,YAAAA,CAAAA;EAAyB;AAwBjF;;EAAyC,OAAQR,CAAAA,EAXnCA,QAAAA,CAAaW,SAAAA,CAAUC,oBAWmCA,CAAAA,SAAAA,CAAAA;EAAoB;AAA5C;AAQhD;;EAAwC,oBAAqBF,CAAAA,EAdlCV,QAAAA,CAAaW,SAAAA,CAAUC,oBAcWF,CAAAA,sBAAAA,CAAAA;EAA8B;;;EACH,SAChER,CAAAA,EAZRO,oBAYQP;;AAAoDe,KAVhEJ,6BAAAA,GAAgCC,IAUgCG,CAV3BjB,QAAAA,CAAaW,SAAAA,CAAUC,oBAUIK,EAAAA,OAAAA,CAAAA;;;;;;;;AAQkEK,cAVzHP,mBAUyHO,CAAAA,oBAVjFZ,8BAUiFY,GAVhDZ,8BAUgDY,CAAAA,SAVRf,cAUQe,CAVON,WAUPM,CAAAA,CAAAA;EAAa,gBAArBL,CAAAA,OAAAA,CAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,CAAAA,EAT3EJ,6BAS2EI;EAAO,SAC5GjB,CAAAA,QAAaW,EATtBT,WASgCqB,EAAAA,EAAAA,OAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,CAAAA,EAToBN,OASpBM,CAT4BnB,UAS5BmB,CAAAA;EAAgC,qBAAgCH,CAAAA,QAAAA,EARpFlB,WAQoFkB,EAAAA,EAAAA,OAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,EAAAA,UAAAA,CAAAA,EARpBnB,wBAQoBmB,CAAAA,EAROF,cAQPE,CARsBjB,mBAQtBiB,CAAAA;EAAc;;;;;AAXc;+BAUnHpB,QAAAA,CAAaW,SAAAA,CAAUQ,gDAAgDnB,QAAAA,CAAaoB,iBAAiBH,QAAQK,cAActB,QAAAA,CAAaW,SAAAA,CAAUU;+BAClJrB,QAAAA,CAAaW,SAAAA,CAAUY,mDAAmDvB,QAAAA,CAAaoB,iBAAiBH,QAAQjB,QAAAA,CAAaW,SAAAA,CAAUa;;0CAE5HnB;;;MAGpCC"}
@@ -1,4 +1,4 @@
1
- import { ChatOpenAIReasoningSummary, OpenAIVerbosityParam } from "../types.js";
1
+ import { OpenAIVerbosityParam } from "../types.js";
2
2
  import { ChatOpenAIToolType, ResponsesTool } from "../utils/tools.js";
3
3
  import { BaseChatOpenAI, BaseChatOpenAICallOptions } from "./base.js";
4
4
  import { OpenAI as OpenAI$1 } from "openai";
@@ -32,13 +32,6 @@ interface ChatOpenAIResponsesCallOptions extends BaseChatOpenAICallOptions {
32
32
  verbosity?: OpenAIVerbosityParam;
33
33
  }
34
34
  type ChatResponsesInvocationParams = Omit<OpenAI$1.Responses.ResponseCreateParams, "input">;
35
- type ExcludeController<T> = T extends {
36
- controller: unknown;
37
- } ? never : T;
38
- type ResponsesCreate = OpenAI$1.Responses["create"];
39
- type ResponsesParse = OpenAI$1.Responses["parse"];
40
- type ResponsesCreateInvoke = ExcludeController<Awaited<ReturnType<ResponsesCreate>>>;
41
- type ResponsesParseInvoke = ExcludeController<Awaited<ReturnType<ResponsesParse>>>;
42
35
  /**
43
36
  * OpenAI Responses API implementation.
44
37
  *
@@ -59,14 +52,6 @@ declare class ChatOpenAIResponses<CallOptions extends ChatOpenAIResponsesCallOpt
59
52
  completionWithRetry(request: OpenAI$1.Responses.ResponseCreateParamsStreaming, requestOptions?: OpenAI$1.RequestOptions): Promise<AsyncIterable<OpenAI$1.Responses.ResponseStreamEvent>>;
60
53
  completionWithRetry(request: OpenAI$1.Responses.ResponseCreateParamsNonStreaming, requestOptions?: OpenAI$1.RequestOptions): Promise<OpenAI$1.Responses.Response>;
61
54
  /** @internal */
62
- protected _convertResponsesMessageToBaseMessage(response: ResponsesCreateInvoke | ResponsesParseInvoke): BaseMessage;
63
- /** @internal */
64
- protected _convertResponsesDeltaToBaseMessageChunk(chunk: OpenAI$1.Responses.ResponseStreamEvent): ChatGenerationChunk | null;
65
- /** @internal */
66
- protected _convertMessagesToResponsesParams(messages: BaseMessage[]): (OpenAI$1.Responses.ResponseInputItem.ComputerCallOutput | OpenAI$1.Responses.EasyInputMessage | OpenAI$1.Responses.ResponseInputItem.FunctionCallOutput | OpenAI$1.Responses.ResponseInputItem.ImageGenerationCall | OpenAI$1.Responses.ResponseInputItem.ItemReference | OpenAI$1.Responses.ResponseInputItem.LocalShellCall | OpenAI$1.Responses.ResponseInputItem.LocalShellCallOutput | OpenAI$1.Responses.ResponseInputItem.McpApprovalRequest | OpenAI$1.Responses.ResponseInputItem.McpApprovalResponse | OpenAI$1.Responses.ResponseInputItem.McpCall | OpenAI$1.Responses.ResponseInputItem.McpListTools | OpenAI$1.Responses.ResponseInputItem.Message | OpenAI$1.Responses.ResponseCodeInterpreterToolCall | OpenAI$1.Responses.ResponseComputerToolCall | OpenAI$1.Responses.ResponseCustomToolCall | OpenAI$1.Responses.ResponseCustomToolCallOutput | OpenAI$1.Responses.ResponseFileSearchToolCall | OpenAI$1.Responses.ResponseFunctionToolCall | OpenAI$1.Responses.ResponseFunctionWebSearch | OpenAI$1.Responses.ResponseOutputMessage | OpenAI$1.Responses.ResponseReasoningItem)[];
67
- /** @internal */
68
- protected _convertReasoningSummary(reasoning: ChatOpenAIReasoningSummary): OpenAI$1.Responses.ResponseReasoningItem;
69
- /** @internal */
70
55
  protected _reduceChatOpenAITools(tools: ChatOpenAIToolType[], fields: {
71
56
  stream?: boolean;
72
57
  strict?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"responses.d.ts","names":["OpenAI","OpenAIClient","CallbackManagerForLLMRun","BaseMessage","ChatGenerationChunk","ChatResult","ChatOpenAIReasoningSummary","OpenAIVerbosityParam","ChatOpenAIToolType","ResponsesTool","BaseChatOpenAI","BaseChatOpenAICallOptions","ChatOpenAIResponsesCallOptions","Responses","ResponseCreateParams","ChatResponsesInvocationParams","Omit","ExcludeController","T","ResponsesCreate","ResponsesParse","ResponsesCreateInvoke","ReturnType","Awaited","ResponsesParseInvoke","ChatOpenAIResponses","CallOptions","Promise","AsyncGenerator","ResponseCreateParamsStreaming","RequestOptions","ResponseStreamEvent","AsyncIterable","ResponseCreateParamsNonStreaming","Response","ResponseInputItem","ComputerCallOutput","EasyInputMessage","FunctionCallOutput","ImageGenerationCall","ItemReference","LocalShellCall","LocalShellCallOutput","McpApprovalRequest","McpApprovalResponse","McpCall","McpListTools","Message","ResponseCodeInterpreterToolCall","ResponseComputerToolCall","ResponseCustomToolCall","ResponseCustomToolCallOutput","ResponseFileSearchToolCall","ResponseFunctionToolCall","ResponseFunctionWebSearch","ResponseOutputMessage","ResponseReasoningItem"],"sources":["../../src/chat_models/responses.d.ts"],"sourcesContent":["import { OpenAI as OpenAIClient } from \"openai\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport { ChatGenerationChunk, type ChatResult } from \"@langchain/core/outputs\";\nimport { ChatOpenAIReasoningSummary, OpenAIVerbosityParam } from \"../types.js\";\nimport { ChatOpenAIToolType, ResponsesTool } from \"../utils/tools.js\";\nimport { BaseChatOpenAI, BaseChatOpenAICallOptions } from \"./base.js\";\nexport interface ChatOpenAIResponsesCallOptions extends BaseChatOpenAICallOptions {\n /**\n * Configuration options for a text response from the model. Can be plain text or\n * structured JSON data.\n */\n text?: OpenAIClient.Responses.ResponseCreateParams[\"text\"];\n /**\n * The truncation strategy to use for the model response.\n */\n truncation?: OpenAIClient.Responses.ResponseCreateParams[\"truncation\"];\n /**\n * Specify additional output data to include in the model response.\n */\n include?: OpenAIClient.Responses.ResponseCreateParams[\"include\"];\n /**\n * The unique ID of the previous response to the model. Use this to create multi-turn\n * conversations.\n */\n previous_response_id?: OpenAIClient.Responses.ResponseCreateParams[\"previous_response_id\"];\n /**\n * The verbosity of the model's response.\n */\n verbosity?: OpenAIVerbosityParam;\n}\ntype ChatResponsesInvocationParams = Omit<OpenAIClient.Responses.ResponseCreateParams, \"input\">;\ntype ExcludeController<T> = T extends {\n controller: unknown;\n} ? never : T;\ntype ResponsesCreate = OpenAIClient.Responses[\"create\"];\ntype ResponsesParse = OpenAIClient.Responses[\"parse\"];\ntype ResponsesCreateInvoke = ExcludeController<Awaited<ReturnType<ResponsesCreate>>>;\ntype ResponsesParseInvoke = ExcludeController<Awaited<ReturnType<ResponsesParse>>>;\n/**\n * OpenAI Responses API implementation.\n *\n * Will be exported in a later version of @langchain/openai.\n *\n * @internal\n */\nexport declare class ChatOpenAIResponses<CallOptions extends ChatOpenAIResponsesCallOptions = ChatOpenAIResponsesCallOptions> extends BaseChatOpenAI<CallOptions> {\n invocationParams(options?: this[\"ParsedCallOptions\"]): ChatResponsesInvocationParams;\n _generate(messages: BaseMessage[], options: this[\"ParsedCallOptions\"]): Promise<ChatResult>;\n _streamResponseChunks(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;\n /**\n * Calls the Responses API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n completionWithRetry(request: OpenAIClient.Responses.ResponseCreateParamsStreaming, requestOptions?: OpenAIClient.RequestOptions): Promise<AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>>;\n completionWithRetry(request: OpenAIClient.Responses.ResponseCreateParamsNonStreaming, requestOptions?: OpenAIClient.RequestOptions): Promise<OpenAIClient.Responses.Response>;\n /** @internal */\n protected _convertResponsesMessageToBaseMessage(response: ResponsesCreateInvoke | ResponsesParseInvoke): BaseMessage;\n /** @internal */\n protected _convertResponsesDeltaToBaseMessageChunk(chunk: OpenAIClient.Responses.ResponseStreamEvent): ChatGenerationChunk | null;\n /** @internal */\n protected _convertMessagesToResponsesParams(messages: BaseMessage[]): (OpenAIClient.Responses.ResponseInputItem.ComputerCallOutput | OpenAIClient.Responses.EasyInputMessage | OpenAIClient.Responses.ResponseInputItem.FunctionCallOutput | OpenAIClient.Responses.ResponseInputItem.ImageGenerationCall | OpenAIClient.Responses.ResponseInputItem.ItemReference | OpenAIClient.Responses.ResponseInputItem.LocalShellCall | OpenAIClient.Responses.ResponseInputItem.LocalShellCallOutput | OpenAIClient.Responses.ResponseInputItem.McpApprovalRequest | OpenAIClient.Responses.ResponseInputItem.McpApprovalResponse | OpenAIClient.Responses.ResponseInputItem.McpCall | OpenAIClient.Responses.ResponseInputItem.McpListTools | OpenAIClient.Responses.ResponseInputItem.Message | OpenAIClient.Responses.ResponseCodeInterpreterToolCall | OpenAIClient.Responses.ResponseComputerToolCall | OpenAIClient.Responses.ResponseCustomToolCall | OpenAIClient.Responses.ResponseCustomToolCallOutput | OpenAIClient.Responses.ResponseFileSearchToolCall | OpenAIClient.Responses.ResponseFunctionToolCall | OpenAIClient.Responses.ResponseFunctionWebSearch | OpenAIClient.Responses.ResponseOutputMessage | OpenAIClient.Responses.ResponseReasoningItem)[];\n /** @internal */\n protected _convertReasoningSummary(reasoning: ChatOpenAIReasoningSummary): OpenAIClient.Responses.ResponseReasoningItem;\n /** @internal */\n protected _reduceChatOpenAITools(tools: ChatOpenAIToolType[], fields: {\n stream?: boolean;\n strict?: boolean;\n }): ResponsesTool[];\n}\nexport {};\n"],"mappings":"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"}
1
+ {"version":3,"file":"responses.d.ts","names":["OpenAI","OpenAIClient","CallbackManagerForLLMRun","BaseMessage","ChatGenerationChunk","ChatResult","ChatOpenAIToolType","ResponsesTool","BaseChatOpenAI","BaseChatOpenAICallOptions","OpenAIVerbosityParam","ChatOpenAIResponsesCallOptions","Responses","ResponseCreateParams","ChatResponsesInvocationParams","Omit","ChatOpenAIResponses","CallOptions","Promise","AsyncGenerator","ResponseCreateParamsStreaming","RequestOptions","ResponseStreamEvent","AsyncIterable","ResponseCreateParamsNonStreaming","Response"],"sources":["../../src/chat_models/responses.d.ts"],"sourcesContent":["import { OpenAI as OpenAIClient } from \"openai\";\nimport { CallbackManagerForLLMRun } from \"@langchain/core/callbacks/manager\";\nimport { type BaseMessage } from \"@langchain/core/messages\";\nimport { ChatGenerationChunk, type ChatResult } from \"@langchain/core/outputs\";\nimport { ChatOpenAIToolType, ResponsesTool } from \"../utils/tools.js\";\nimport { BaseChatOpenAI, BaseChatOpenAICallOptions } from \"./base.js\";\nimport { OpenAIVerbosityParam } from \"../types.js\";\nexport interface ChatOpenAIResponsesCallOptions extends BaseChatOpenAICallOptions {\n /**\n * Configuration options for a text response from the model. Can be plain text or\n * structured JSON data.\n */\n text?: OpenAIClient.Responses.ResponseCreateParams[\"text\"];\n /**\n * The truncation strategy to use for the model response.\n */\n truncation?: OpenAIClient.Responses.ResponseCreateParams[\"truncation\"];\n /**\n * Specify additional output data to include in the model response.\n */\n include?: OpenAIClient.Responses.ResponseCreateParams[\"include\"];\n /**\n * The unique ID of the previous response to the model. Use this to create multi-turn\n * conversations.\n */\n previous_response_id?: OpenAIClient.Responses.ResponseCreateParams[\"previous_response_id\"];\n /**\n * The verbosity of the model's response.\n */\n verbosity?: OpenAIVerbosityParam;\n}\nexport type ChatResponsesInvocationParams = Omit<OpenAIClient.Responses.ResponseCreateParams, \"input\">;\n/**\n * OpenAI Responses API implementation.\n *\n * Will be exported in a later version of @langchain/openai.\n *\n * @internal\n */\nexport declare class ChatOpenAIResponses<CallOptions extends ChatOpenAIResponsesCallOptions = ChatOpenAIResponsesCallOptions> extends BaseChatOpenAI<CallOptions> {\n invocationParams(options?: this[\"ParsedCallOptions\"]): ChatResponsesInvocationParams;\n _generate(messages: BaseMessage[], options: this[\"ParsedCallOptions\"]): Promise<ChatResult>;\n _streamResponseChunks(messages: BaseMessage[], options: this[\"ParsedCallOptions\"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<ChatGenerationChunk>;\n /**\n * Calls the Responses API with retry logic in case of failures.\n * @param request The request to send to the OpenAI API.\n * @param options Optional configuration for the API call.\n * @returns The response from the OpenAI API.\n */\n completionWithRetry(request: OpenAIClient.Responses.ResponseCreateParamsStreaming, requestOptions?: OpenAIClient.RequestOptions): Promise<AsyncIterable<OpenAIClient.Responses.ResponseStreamEvent>>;\n completionWithRetry(request: OpenAIClient.Responses.ResponseCreateParamsNonStreaming, requestOptions?: OpenAIClient.RequestOptions): Promise<OpenAIClient.Responses.Response>;\n /** @internal */\n protected _reduceChatOpenAITools(tools: ChatOpenAIToolType[], fields: {\n stream?: boolean;\n strict?: boolean;\n }): ResponsesTool[];\n}\n"],"mappings":";;;;;;;;;UAOiBW,8BAAAA,SAAuCF;;AAAxD;;;EAKsD,IAIrCR,CAAAA,EAJNA,QAAAA,CAAaW,SAAAA,CAAUC,oBAIMA,CAAAA,MAAAA,CAAAA;EAAoB;;;EAaxB,UAtBoBJ,CAAAA,EASvCR,QAAAA,CAAaW,SAAAA,CAAUC,oBATgBJ,CAAAA,YAAAA,CAAAA;EAAyB;AAwBjF;;EAAyC,OAAQR,CAAAA,EAXnCA,QAAAA,CAAaW,SAAAA,CAAUC,oBAWmCA,CAAAA,SAAAA,CAAAA;EAAoB;AAA5C;AAQhD;;EAAwC,oBAAqBF,CAAAA,EAdlCV,QAAAA,CAAaW,SAAAA,CAAUC,oBAcWF,CAAAA,sBAAAA,CAAAA;EAA8B;;;EACH,SAChER,CAAAA,EAZRO,oBAYQP;;AAAoDe,KAVhEJ,6BAAAA,GAAgCC,IAUgCG,CAV3BjB,QAAAA,CAAaW,SAAAA,CAAUC,oBAUIK,EAAAA,OAAAA,CAAAA;;;;;;;;AAQkEK,cAVzHP,mBAUyHO,CAAAA,oBAVjFZ,8BAUiFY,GAVhDZ,8BAUgDY,CAAAA,SAVRf,cAUQe,CAVON,WAUPM,CAAAA,CAAAA;EAAa,gBAArBL,CAAAA,OAAAA,CAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,CAAAA,EAT3EJ,6BAS2EI;EAAO,SAC5GjB,CAAAA,QAAaW,EATtBT,WASgCqB,EAAAA,EAAAA,OAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,CAAAA,EAToBN,OASpBM,CAT4BnB,UAS5BmB,CAAAA;EAAgC,qBAAgCH,CAAAA,QAAAA,EARpFlB,WAQoFkB,EAAAA,EAAAA,OAAAA,EAAAA,IAAAA,CAAAA,mBAAAA,CAAAA,EAAAA,UAAAA,CAAAA,EARpBnB,wBAQoBmB,CAAAA,EAROF,cAQPE,CARsBjB,mBAQtBiB,CAAAA;EAAc;;;;;AAXc;+BAUnHpB,QAAAA,CAAaW,SAAAA,CAAUQ,gDAAgDnB,QAAAA,CAAaoB,iBAAiBH,QAAQK,cAActB,QAAAA,CAAaW,SAAAA,CAAUU;+BAClJrB,QAAAA,CAAaW,SAAAA,CAAUY,mDAAmDvB,QAAAA,CAAaoB,iBAAiBH,QAAQjB,QAAAA,CAAaW,SAAAA,CAAUa;;0CAE5HnB;;;MAGpCC"}
@@ -1,17 +1,10 @@
1
- import { iife, isReasoningModel, messageToOpenAIRole } from "../utils/misc.js";
2
- import { convertCompletionsCustomTool, formatToOpenAIToolChoice, isBuiltInTool, isBuiltInToolChoice, isCustomTool, isCustomToolCall, isOpenAICustomTool, parseCustomToolCall } from "../utils/tools.js";
3
- import { _convertOpenAIResponsesUsageToLangChainUsage } from "../utils/output.js";
4
- import { BaseChatOpenAI } from "./base.js";
5
1
  import { wrapOpenAIClientError } from "../utils/client.js";
6
- import { _convertToResponsesMessageFromV1 } from "../utils/standard.js";
7
- import { completionsApiContentBlockConverter } from "../utils/message_inputs.js";
2
+ import { convertCompletionsCustomTool, formatToOpenAIToolChoice, isBuiltInTool, isBuiltInToolChoice, isCustomTool, isOpenAICustomTool } from "../utils/tools.js";
3
+ import { BaseChatOpenAI } from "./base.js";
4
+ import { convertMessagesToResponsesInput, convertResponsesDeltaToChatGenerationChunk, convertResponsesMessageToAIMessage } from "../converters/responses.js";
8
5
  import { isOpenAITool } from "@langchain/core/language_models/base";
9
- import { makeInvalidToolCall, parseToolCall } from "@langchain/core/output_parsers/openai_tools";
10
- import { AIMessage, AIMessageChunk, convertToProviderContentBlock, isAIMessage, isDataContentBlock } from "@langchain/core/messages";
11
- import { ChatGenerationChunk } from "@langchain/core/outputs";
12
6
 
13
7
  //#region src/chat_models/responses.ts
14
- const _FUNCTION_CALL_IDS_MAP_KEY = "__openai_function_call_ids__";
15
8
  /**
16
9
  * OpenAI Responses API implementation.
17
10
  *
@@ -104,9 +97,12 @@ var ChatOpenAIResponses = class extends BaseChatOpenAI {
104
97
  llmOutput: { estimatedTokenUsage: (finalChunk?.message)?.usage_metadata }
105
98
  };
106
99
  } else {
107
- const input = this._convertMessagesToResponsesParams(messages);
108
100
  const data = await this.completionWithRetry({
109
- input,
101
+ input: convertMessagesToResponsesInput({
102
+ messages,
103
+ zdrEnabled: this.zdrEnabled ?? false,
104
+ model: this.model
105
+ }),
110
106
  ...invocationParams,
111
107
  stream: false
112
108
  }, {
@@ -116,7 +112,7 @@ var ChatOpenAIResponses = class extends BaseChatOpenAI {
116
112
  return {
117
113
  generations: [{
118
114
  text: data.output_text,
119
- message: this._convertResponsesMessageToBaseMessage(data)
115
+ message: convertResponsesMessageToAIMessage(data)
120
116
  }],
121
117
  llmOutput: {
122
118
  id: data.id,
@@ -132,11 +128,15 @@ var ChatOpenAIResponses = class extends BaseChatOpenAI {
132
128
  async *_streamResponseChunks(messages, options, runManager) {
133
129
  const streamIterable = await this.completionWithRetry({
134
130
  ...this.invocationParams(options),
135
- input: this._convertMessagesToResponsesParams(messages),
131
+ input: convertMessagesToResponsesInput({
132
+ messages,
133
+ zdrEnabled: this.zdrEnabled ?? false,
134
+ model: this.model
135
+ }),
136
136
  stream: true
137
137
  }, options);
138
138
  for await (const data of streamIterable) {
139
- const chunk = this._convertResponsesDeltaToBaseMessageChunk(data);
139
+ const chunk = convertResponsesDeltaToChatGenerationChunk(data);
140
140
  if (chunk == null) continue;
141
141
  yield chunk;
142
142
  await runManager?.handleLLMNewToken(chunk.text || "", {
@@ -158,367 +158,6 @@ var ChatOpenAIResponses = class extends BaseChatOpenAI {
158
158
  });
159
159
  }
160
160
  /** @internal */
161
- _convertResponsesMessageToBaseMessage(response) {
162
- if (response.error) {
163
- const error = new Error(response.error.message);
164
- error.name = response.error.code;
165
- throw error;
166
- }
167
- let messageId;
168
- const content = [];
169
- const tool_calls = [];
170
- const invalid_tool_calls = [];
171
- const response_metadata = {
172
- model_provider: "openai",
173
- model: response.model,
174
- created_at: response.created_at,
175
- id: response.id,
176
- incomplete_details: response.incomplete_details,
177
- metadata: response.metadata,
178
- object: response.object,
179
- status: response.status,
180
- user: response.user,
181
- service_tier: response.service_tier,
182
- model_name: response.model
183
- };
184
- const additional_kwargs = {};
185
- for (const item of response.output) if (item.type === "message") {
186
- messageId = item.id;
187
- content.push(...item.content.flatMap((part) => {
188
- if (part.type === "output_text") {
189
- if ("parsed" in part && part.parsed != null) additional_kwargs.parsed = part.parsed;
190
- return {
191
- type: "text",
192
- text: part.text,
193
- annotations: part.annotations
194
- };
195
- }
196
- if (part.type === "refusal") {
197
- additional_kwargs.refusal = part.refusal;
198
- return [];
199
- }
200
- return part;
201
- }));
202
- } else if (item.type === "function_call") {
203
- const fnAdapter = {
204
- function: {
205
- name: item.name,
206
- arguments: item.arguments
207
- },
208
- id: item.call_id
209
- };
210
- try {
211
- tool_calls.push(parseToolCall(fnAdapter, { returnId: true }));
212
- } catch (e) {
213
- let errMessage;
214
- if (typeof e === "object" && e != null && "message" in e && typeof e.message === "string") errMessage = e.message;
215
- invalid_tool_calls.push(makeInvalidToolCall(fnAdapter, errMessage));
216
- }
217
- additional_kwargs[_FUNCTION_CALL_IDS_MAP_KEY] ??= {};
218
- if (item.id) additional_kwargs[_FUNCTION_CALL_IDS_MAP_KEY][item.call_id] = item.id;
219
- } else if (item.type === "reasoning") additional_kwargs.reasoning = item;
220
- else if (item.type === "custom_tool_call") {
221
- const parsed = parseCustomToolCall(item);
222
- if (parsed) tool_calls.push(parsed);
223
- else invalid_tool_calls.push(makeInvalidToolCall(item, "Malformed custom tool call"));
224
- } else {
225
- additional_kwargs.tool_outputs ??= [];
226
- additional_kwargs.tool_outputs.push(item);
227
- }
228
- return new AIMessage({
229
- id: messageId,
230
- content,
231
- tool_calls,
232
- invalid_tool_calls,
233
- usage_metadata: _convertOpenAIResponsesUsageToLangChainUsage(response.usage),
234
- additional_kwargs,
235
- response_metadata
236
- });
237
- }
238
- /** @internal */
239
- _convertResponsesDeltaToBaseMessageChunk(chunk) {
240
- const content = [];
241
- let generationInfo = {};
242
- let usage_metadata;
243
- const tool_call_chunks = [];
244
- const response_metadata = { model_provider: "openai" };
245
- const additional_kwargs = {};
246
- let id;
247
- if (chunk.type === "response.output_text.delta") content.push({
248
- type: "text",
249
- text: chunk.delta,
250
- index: chunk.content_index
251
- });
252
- else if (chunk.type === "response.output_text.annotation.added") content.push({
253
- type: "text",
254
- text: "",
255
- annotations: [chunk.annotation],
256
- index: chunk.content_index
257
- });
258
- else if (chunk.type === "response.output_item.added" && chunk.item.type === "message") id = chunk.item.id;
259
- else if (chunk.type === "response.output_item.added" && chunk.item.type === "function_call") {
260
- tool_call_chunks.push({
261
- type: "tool_call_chunk",
262
- name: chunk.item.name,
263
- args: chunk.item.arguments,
264
- id: chunk.item.call_id,
265
- index: chunk.output_index
266
- });
267
- additional_kwargs[_FUNCTION_CALL_IDS_MAP_KEY] = { [chunk.item.call_id]: chunk.item.id };
268
- } else if (chunk.type === "response.output_item.done" && [
269
- "web_search_call",
270
- "file_search_call",
271
- "computer_call",
272
- "code_interpreter_call",
273
- "mcp_call",
274
- "mcp_list_tools",
275
- "mcp_approval_request",
276
- "image_generation_call",
277
- "custom_tool_call"
278
- ].includes(chunk.item.type)) additional_kwargs.tool_outputs = [chunk.item];
279
- else if (chunk.type === "response.created") {
280
- response_metadata.id = chunk.response.id;
281
- response_metadata.model_name = chunk.response.model;
282
- response_metadata.model = chunk.response.model;
283
- } else if (chunk.type === "response.completed") {
284
- const msg = this._convertResponsesMessageToBaseMessage(chunk.response);
285
- usage_metadata = _convertOpenAIResponsesUsageToLangChainUsage(chunk.response.usage);
286
- if (chunk.response.text?.format?.type === "json_schema") additional_kwargs.parsed ??= JSON.parse(msg.text);
287
- for (const [key, value] of Object.entries(chunk.response)) if (key !== "id") response_metadata[key] = value;
288
- } else if (chunk.type === "response.function_call_arguments.delta" || chunk.type === "response.custom_tool_call_input.delta") tool_call_chunks.push({
289
- type: "tool_call_chunk",
290
- args: chunk.delta,
291
- index: chunk.output_index
292
- });
293
- else if (chunk.type === "response.web_search_call.completed" || chunk.type === "response.file_search_call.completed") generationInfo = { tool_outputs: {
294
- id: chunk.item_id,
295
- type: chunk.type.replace("response.", "").replace(".completed", ""),
296
- status: "completed"
297
- } };
298
- else if (chunk.type === "response.refusal.done") additional_kwargs.refusal = chunk.refusal;
299
- else if (chunk.type === "response.output_item.added" && "item" in chunk && chunk.item.type === "reasoning") {
300
- const summary = chunk.item.summary ? chunk.item.summary.map((s, index) => ({
301
- ...s,
302
- index
303
- })) : void 0;
304
- additional_kwargs.reasoning = {
305
- id: chunk.item.id,
306
- type: chunk.item.type,
307
- ...summary ? { summary } : {}
308
- };
309
- } else if (chunk.type === "response.reasoning_summary_part.added") additional_kwargs.reasoning = {
310
- type: "reasoning",
311
- summary: [{
312
- ...chunk.part,
313
- index: chunk.summary_index
314
- }]
315
- };
316
- else if (chunk.type === "response.reasoning_summary_text.delta") additional_kwargs.reasoning = {
317
- type: "reasoning",
318
- summary: [{
319
- text: chunk.delta,
320
- type: "summary_text",
321
- index: chunk.summary_index
322
- }]
323
- };
324
- else if (chunk.type === "response.image_generation_call.partial_image") return null;
325
- else return null;
326
- return new ChatGenerationChunk({
327
- text: content.map((part) => part.text).join(""),
328
- message: new AIMessageChunk({
329
- id,
330
- content,
331
- tool_call_chunks,
332
- usage_metadata,
333
- additional_kwargs,
334
- response_metadata
335
- }),
336
- generationInfo
337
- });
338
- }
339
- /** @internal */
340
- _convertMessagesToResponsesParams(messages) {
341
- return messages.flatMap((lcMsg) => {
342
- const responseMetadata = lcMsg.response_metadata;
343
- if (responseMetadata?.output_version === "v1") return _convertToResponsesMessageFromV1(lcMsg);
344
- const additional_kwargs = lcMsg.additional_kwargs;
345
- let role = messageToOpenAIRole(lcMsg);
346
- if (role === "system" && isReasoningModel(this.model)) role = "developer";
347
- if (role === "function") throw new Error("Function messages are not supported in Responses API");
348
- if (role === "tool") {
349
- const toolMessage = lcMsg;
350
- if (additional_kwargs?.type === "computer_call_output") {
351
- const output = (() => {
352
- if (typeof toolMessage.content === "string") return {
353
- type: "computer_screenshot",
354
- image_url: toolMessage.content
355
- };
356
- if (Array.isArray(toolMessage.content)) {
357
- const oaiScreenshot = toolMessage.content.find((i) => i.type === "computer_screenshot");
358
- if (oaiScreenshot) return oaiScreenshot;
359
- const lcImage = toolMessage.content.find((i) => i.type === "image_url");
360
- if (lcImage) return {
361
- type: "computer_screenshot",
362
- image_url: typeof lcImage.image_url === "string" ? lcImage.image_url : lcImage.image_url.url
363
- };
364
- }
365
- throw new Error("Invalid computer call output");
366
- })();
367
- return {
368
- type: "computer_call_output",
369
- output,
370
- call_id: toolMessage.tool_call_id
371
- };
372
- }
373
- if (toolMessage.additional_kwargs?.customTool) return {
374
- type: "custom_tool_call_output",
375
- call_id: toolMessage.tool_call_id,
376
- output: toolMessage.content
377
- };
378
- return {
379
- type: "function_call_output",
380
- call_id: toolMessage.tool_call_id,
381
- id: toolMessage.id?.startsWith("fc_") ? toolMessage.id : void 0,
382
- output: typeof toolMessage.content !== "string" ? JSON.stringify(toolMessage.content) : toolMessage.content
383
- };
384
- }
385
- if (role === "assistant") {
386
- if (!this.zdrEnabled && responseMetadata?.output != null && Array.isArray(responseMetadata?.output) && responseMetadata?.output.length > 0 && responseMetadata?.output.every((item) => "type" in item)) return responseMetadata?.output;
387
- const input = [];
388
- if (additional_kwargs?.reasoning && !this.zdrEnabled) {
389
- const reasoningItem = this._convertReasoningSummary(additional_kwargs.reasoning);
390
- input.push(reasoningItem);
391
- }
392
- let { content } = lcMsg;
393
- if (additional_kwargs?.refusal) {
394
- if (typeof content === "string") content = [{
395
- type: "output_text",
396
- text: content,
397
- annotations: []
398
- }];
399
- content = [...content, {
400
- type: "refusal",
401
- refusal: additional_kwargs.refusal
402
- }];
403
- }
404
- if (typeof content === "string" || content.length > 0) input.push({
405
- type: "message",
406
- role: "assistant",
407
- ...lcMsg.id && !this.zdrEnabled && lcMsg.id.startsWith("msg_") ? { id: lcMsg.id } : {},
408
- content: iife(() => {
409
- if (typeof content === "string") return content;
410
- return content.flatMap((item) => {
411
- if (item.type === "text") return {
412
- type: "output_text",
413
- text: item.text,
414
- annotations: item.annotations ?? []
415
- };
416
- if (item.type === "output_text" || item.type === "refusal") return item;
417
- return [];
418
- });
419
- })
420
- });
421
- const functionCallIds = additional_kwargs?.[_FUNCTION_CALL_IDS_MAP_KEY];
422
- if (isAIMessage(lcMsg) && !!lcMsg.tool_calls?.length) input.push(...lcMsg.tool_calls.map((toolCall) => {
423
- if (isCustomToolCall(toolCall)) return {
424
- type: "custom_tool_call",
425
- id: toolCall.call_id,
426
- call_id: toolCall.id ?? "",
427
- input: toolCall.args.input,
428
- name: toolCall.name
429
- };
430
- return {
431
- type: "function_call",
432
- name: toolCall.name,
433
- arguments: JSON.stringify(toolCall.args),
434
- call_id: toolCall.id,
435
- ...this.zdrEnabled ? { id: functionCallIds?.[toolCall.id] } : {}
436
- };
437
- }));
438
- else if (additional_kwargs?.tool_calls) input.push(...additional_kwargs.tool_calls.map((toolCall) => ({
439
- type: "function_call",
440
- name: toolCall.function.name,
441
- call_id: toolCall.id,
442
- arguments: toolCall.function.arguments,
443
- ...this.zdrEnabled ? { id: functionCallIds?.[toolCall.id] } : {}
444
- })));
445
- const toolOutputs = (responseMetadata?.output)?.length ? responseMetadata?.output : additional_kwargs.tool_outputs;
446
- const fallthroughCallTypes = [
447
- "computer_call",
448
- "mcp_call",
449
- "code_interpreter_call",
450
- "image_generation_call"
451
- ];
452
- if (toolOutputs != null) {
453
- const castToolOutputs = toolOutputs;
454
- const fallthroughCalls = castToolOutputs?.filter((item) => fallthroughCallTypes.includes(item.type));
455
- if (fallthroughCalls.length > 0) input.push(...fallthroughCalls);
456
- }
457
- return input;
458
- }
459
- if (role === "user" || role === "system" || role === "developer") {
460
- if (typeof lcMsg.content === "string") return {
461
- type: "message",
462
- role,
463
- content: lcMsg.content
464
- };
465
- const messages$1 = [];
466
- const content = lcMsg.content.flatMap((item) => {
467
- if (item.type === "mcp_approval_response") messages$1.push({
468
- type: "mcp_approval_response",
469
- approval_request_id: item.approval_request_id,
470
- approve: item.approve
471
- });
472
- if (isDataContentBlock(item)) return convertToProviderContentBlock(item, completionsApiContentBlockConverter);
473
- if (item.type === "text") return {
474
- type: "input_text",
475
- text: item.text
476
- };
477
- if (item.type === "image_url") {
478
- const imageUrl = iife(() => {
479
- if (typeof item.image_url === "string") return item.image_url;
480
- else if (typeof item.image_url === "object" && item.image_url !== null && "url" in item.image_url) return item.image_url.url;
481
- return void 0;
482
- });
483
- const detail = iife(() => {
484
- if (typeof item.image_url === "string") return "auto";
485
- else if (typeof item.image_url === "object" && item.image_url !== null && "detail" in item.image_url) return item.image_url.detail;
486
- return void 0;
487
- });
488
- return {
489
- type: "input_image",
490
- image_url: imageUrl,
491
- detail
492
- };
493
- }
494
- if (item.type === "input_text" || item.type === "input_image" || item.type === "input_file") return item;
495
- return [];
496
- });
497
- if (content.length > 0) messages$1.push({
498
- type: "message",
499
- role,
500
- content
501
- });
502
- return messages$1;
503
- }
504
- console.warn(`Unsupported role found when converting to OpenAI Responses API: ${role}`);
505
- return [];
506
- });
507
- }
508
- /** @internal */
509
- _convertReasoningSummary(reasoning) {
510
- const summary = (reasoning.summary.length > 1 ? reasoning.summary.reduce((acc, curr) => {
511
- const last = acc[acc.length - 1];
512
- if (last.index === curr.index) last.text += curr.text;
513
- else acc.push(curr);
514
- return acc;
515
- }, [{ ...reasoning.summary[0] }]) : reasoning.summary).map((s) => Object.fromEntries(Object.entries(s).filter(([k]) => k !== "index")));
516
- return {
517
- ...reasoning,
518
- summary
519
- };
520
- }
521
- /** @internal */
522
161
  _reduceChatOpenAITools(tools, fields) {
523
162
  const reducedTools = [];
524
163
  for (const tool of tools) if (isBuiltInTool(tool)) {