@langchain/openai 0.6.9 → 1.0.0-alpha.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 (162) hide show
  1. package/README.md +8 -8
  2. package/dist/_virtual/rolldown_runtime.cjs +25 -0
  3. package/dist/azure/chat_models.cjs +661 -808
  4. package/dist/azure/chat_models.cjs.map +1 -0
  5. package/dist/azure/chat_models.d.cts +449 -0
  6. package/dist/azure/chat_models.d.cts.map +1 -0
  7. package/dist/azure/chat_models.d.ts +32 -28
  8. package/dist/azure/chat_models.d.ts.map +1 -0
  9. package/dist/azure/chat_models.js +660 -804
  10. package/dist/azure/chat_models.js.map +1 -0
  11. package/dist/azure/embeddings.cjs +81 -130
  12. package/dist/azure/embeddings.cjs.map +1 -0
  13. package/dist/azure/embeddings.d.cts +27 -0
  14. package/dist/azure/embeddings.d.cts.map +1 -0
  15. package/dist/azure/embeddings.d.ts +25 -20
  16. package/dist/azure/embeddings.d.ts.map +1 -0
  17. package/dist/azure/embeddings.js +80 -126
  18. package/dist/azure/embeddings.js.map +1 -0
  19. package/dist/azure/llms.cjs +109 -168
  20. package/dist/azure/llms.cjs.map +1 -0
  21. package/dist/azure/llms.d.cts +33 -0
  22. package/dist/azure/llms.d.cts.map +1 -0
  23. package/dist/azure/llms.d.ts +31 -25
  24. package/dist/azure/llms.d.ts.map +1 -0
  25. package/dist/azure/llms.js +108 -164
  26. package/dist/azure/llms.js.map +1 -0
  27. package/dist/chat_models.cjs +1951 -2774
  28. package/dist/chat_models.cjs.map +1 -0
  29. package/dist/chat_models.d.cts +930 -0
  30. package/dist/chat_models.d.cts.map +1 -0
  31. package/dist/chat_models.d.ts +365 -348
  32. package/dist/chat_models.d.ts.map +1 -0
  33. package/dist/chat_models.js +1946 -2764
  34. package/dist/chat_models.js.map +1 -0
  35. package/dist/embeddings.cjs +136 -193
  36. package/dist/embeddings.cjs.map +1 -0
  37. package/dist/embeddings.d.cts +115 -0
  38. package/dist/embeddings.d.cts.map +1 -0
  39. package/dist/embeddings.d.ts +88 -81
  40. package/dist/embeddings.d.ts.map +1 -0
  41. package/dist/embeddings.js +134 -188
  42. package/dist/embeddings.js.map +1 -0
  43. package/dist/index.cjs +47 -34
  44. package/dist/index.d.cts +16 -0
  45. package/dist/index.d.ts +16 -13
  46. package/dist/index.js +17 -13
  47. package/dist/langchain-core/dist/types/_internal.d.cts +11 -0
  48. package/dist/langchain-core/dist/types/_internal.d.cts.map +1 -0
  49. package/dist/langchain-core/dist/types/_internal.d.ts +11 -0
  50. package/dist/langchain-core/dist/types/_internal.d.ts.map +1 -0
  51. package/dist/langchain-core/dist/utils/stream.d.cts +26 -0
  52. package/dist/langchain-core/dist/utils/stream.d.cts.map +1 -0
  53. package/dist/langchain-core/dist/utils/stream.d.ts +26 -0
  54. package/dist/langchain-core/dist/utils/stream.d.ts.map +1 -0
  55. package/dist/llms.cjs +312 -468
  56. package/dist/llms.cjs.map +1 -0
  57. package/dist/llms.d.cts +123 -0
  58. package/dist/llms.d.cts.map +1 -0
  59. package/dist/llms.d.ts +93 -87
  60. package/dist/llms.d.ts.map +1 -0
  61. package/dist/llms.js +309 -462
  62. package/dist/llms.js.map +1 -0
  63. package/dist/tools/custom.cjs +25 -26
  64. package/dist/tools/custom.cjs.map +1 -0
  65. package/dist/tools/custom.d.cts +10 -0
  66. package/dist/tools/custom.d.cts.map +1 -0
  67. package/dist/tools/custom.d.ts +8 -3
  68. package/dist/tools/custom.d.ts.map +1 -0
  69. package/dist/tools/custom.js +24 -23
  70. package/dist/tools/custom.js.map +1 -0
  71. package/dist/tools/dalle.cjs +104 -194
  72. package/dist/tools/dalle.cjs.map +1 -0
  73. package/dist/tools/dalle.d.cts +123 -0
  74. package/dist/tools/dalle.d.cts.map +1 -0
  75. package/dist/tools/dalle.d.ts +111 -104
  76. package/dist/tools/dalle.d.ts.map +1 -0
  77. package/dist/tools/dalle.js +102 -189
  78. package/dist/tools/dalle.js.map +1 -0
  79. package/dist/tools/index.cjs +1 -17
  80. package/dist/tools/index.js +1 -1
  81. package/dist/types.d.cts +263 -0
  82. package/dist/types.d.cts.map +1 -0
  83. package/dist/types.d.ts +244 -237
  84. package/dist/types.d.ts.map +1 -0
  85. package/dist/utils/azure.cjs +86 -47
  86. package/dist/utils/azure.cjs.map +1 -0
  87. package/dist/utils/azure.d.cts +76 -0
  88. package/dist/utils/azure.d.cts.map +1 -0
  89. package/dist/utils/azure.d.ts +51 -9
  90. package/dist/utils/azure.d.ts.map +1 -0
  91. package/dist/utils/azure.js +85 -45
  92. package/dist/utils/azure.js.map +1 -0
  93. package/dist/utils/client.cjs +25 -0
  94. package/dist/utils/client.cjs.map +1 -0
  95. package/dist/utils/client.d.cts +5 -0
  96. package/dist/utils/client.d.cts.map +1 -0
  97. package/dist/utils/client.d.ts +5 -0
  98. package/dist/utils/client.d.ts.map +1 -0
  99. package/dist/utils/client.js +24 -0
  100. package/dist/utils/client.js.map +1 -0
  101. package/dist/utils/errors.cjs +9 -8
  102. package/dist/utils/errors.cjs.map +1 -0
  103. package/dist/utils/errors.js +9 -6
  104. package/dist/utils/errors.js.map +1 -0
  105. package/dist/utils/message_inputs.cjs +139 -0
  106. package/dist/utils/message_inputs.cjs.map +1 -0
  107. package/dist/utils/message_inputs.d.cts +9 -0
  108. package/dist/utils/message_inputs.d.cts.map +1 -0
  109. package/dist/utils/message_inputs.d.ts +9 -0
  110. package/dist/utils/message_inputs.d.ts.map +1 -0
  111. package/dist/utils/message_inputs.js +137 -0
  112. package/dist/utils/message_inputs.js.map +1 -0
  113. package/dist/utils/misc.cjs +30 -0
  114. package/dist/utils/misc.cjs.map +1 -0
  115. package/dist/utils/misc.d.cts +9 -0
  116. package/dist/utils/misc.d.cts.map +1 -0
  117. package/dist/utils/misc.d.ts +9 -0
  118. package/dist/utils/misc.d.ts.map +1 -0
  119. package/dist/utils/misc.js +27 -0
  120. package/dist/utils/misc.js.map +1 -0
  121. package/dist/utils/output.cjs +74 -0
  122. package/dist/utils/output.cjs.map +1 -0
  123. package/dist/utils/output.js +72 -0
  124. package/dist/utils/output.js.map +1 -0
  125. package/dist/utils/prompts.cjs +39 -38
  126. package/dist/utils/prompts.cjs.map +1 -0
  127. package/dist/utils/prompts.d.cts +42 -0
  128. package/dist/utils/prompts.d.cts.map +1 -0
  129. package/dist/utils/prompts.d.ts +10 -4
  130. package/dist/utils/prompts.d.ts.map +1 -0
  131. package/dist/utils/prompts.js +40 -36
  132. package/dist/utils/prompts.js.map +1 -0
  133. package/dist/utils/standard.cjs +113 -0
  134. package/dist/utils/standard.cjs.map +1 -0
  135. package/dist/utils/standard.js +111 -0
  136. package/dist/utils/standard.js.map +1 -0
  137. package/dist/utils/tools.cjs +150 -127
  138. package/dist/utils/tools.cjs.map +1 -0
  139. package/dist/utils/tools.d.cts +13 -0
  140. package/dist/utils/tools.d.cts.map +1 -0
  141. package/dist/utils/tools.d.ts +12 -42
  142. package/dist/utils/tools.d.ts.map +1 -0
  143. package/dist/utils/tools.js +146 -123
  144. package/dist/utils/tools.js.map +1 -0
  145. package/package.json +32 -40
  146. package/dist/tools/index.d.ts +0 -1
  147. package/dist/types.cjs +0 -2
  148. package/dist/types.js +0 -1
  149. package/dist/utils/errors.d.ts +0 -2
  150. package/dist/utils/headers.cjs +0 -39
  151. package/dist/utils/headers.d.ts +0 -8
  152. package/dist/utils/headers.js +0 -35
  153. package/dist/utils/openai-format-fndef.cjs +0 -80
  154. package/dist/utils/openai-format-fndef.d.ts +0 -44
  155. package/dist/utils/openai-format-fndef.js +0 -77
  156. package/dist/utils/openai.cjs +0 -127
  157. package/dist/utils/openai.d.ts +0 -15
  158. package/dist/utils/openai.js +0 -119
  159. package/index.cjs +0 -1
  160. package/index.d.cts +0 -1
  161. package/index.d.ts +0 -1
  162. package/index.js +0 -1
package/dist/types.d.ts CHANGED
@@ -1,256 +1,263 @@
1
- import type { OpenAI as OpenAIClient } from "openai";
2
- import type { ResponseFormatText, ResponseFormatJSONObject, ResponseFormatJSONSchema, ResponseFormatTextPython, ResponseFormatTextGrammar } from "openai/resources/shared";
3
- import { TiktokenModel } from "js-tiktoken/lite";
4
- import type { BaseLanguageModelCallOptions } from "@langchain/core/language_models/base";
1
+ import { OpenAI as OpenAI$1 } from "openai";
2
+ import { BaseLanguageModelCallOptions } from "@langchain/core/language_models/base";
5
3
  import { InteropZodObject } from "@langchain/core/utils/types";
6
- export type { TiktokenModel };
4
+ import { ResponseFormatJSONObject, ResponseFormatJSONSchema, ResponseFormatText, ResponseFormatTextGrammar, ResponseFormatTextPython } from "openai/resources/shared";
5
+ import { TiktokenModel } from "js-tiktoken/lite";
6
+
7
+ //#region src/types.d.ts
8
+
7
9
  /**
8
10
  * @see https://platform.openai.com/docs/models
9
11
  */
10
- export type OpenAIChatModelId = OpenAIClient.ChatModel | (string & NonNullable<unknown>);
11
- export type OpenAIVerbosityParam = "low" | "medium" | "high" | null;
12
- export declare interface OpenAIBaseInput {
13
- /** Sampling temperature to use */
14
- temperature: number;
15
- /**
16
- * Maximum number of tokens to generate in the completion. -1 returns as many
17
- * tokens as possible given the prompt and the model's maximum context size.
18
- */
19
- maxTokens?: number;
20
- /**
21
- * Maximum number of tokens to generate in the completion. -1 returns as many
22
- * tokens as possible given the prompt and the model's maximum context size.
23
- * Alias for `maxTokens` for reasoning models.
24
- */
25
- maxCompletionTokens?: number;
26
- /** Total probability mass of tokens to consider at each step */
27
- topP: number;
28
- /** Penalizes repeated tokens according to frequency */
29
- frequencyPenalty: number;
30
- /** Penalizes repeated tokens */
31
- presencePenalty: number;
32
- /** Number of completions to generate for each prompt */
33
- n: number;
34
- /** Dictionary used to adjust the probability of specific tokens being generated */
35
- logitBias?: Record<string, number>;
36
- /** Unique string identifier representing your end-user, which can help OpenAI to monitor and detect abuse. */
37
- user?: string;
38
- /** Whether to stream the results or not. Enabling disables tokenUsage reporting */
39
- streaming: boolean;
40
- /**
41
- * Whether or not to include token usage data in streamed chunks.
42
- * @default true
43
- */
44
- streamUsage?: boolean;
45
- /**
46
- * Model name to use
47
- * Alias for `model`
48
- * @deprecated Use "model" instead.
49
- */
50
- modelName: string;
51
- /** Model name to use */
52
- model: OpenAIChatModelId;
53
- /** Holds any additional parameters that are valid to pass to {@link
54
- * https://platform.openai.com/docs/api-reference/completions/create |
55
- * `openai.createCompletion`} that are not explicitly specified on this class.
56
- */
57
- modelKwargs?: Record<string, any>;
58
- /**
59
- * List of stop words to use when generating
60
- * Alias for `stopSequences`
61
- */
62
- stop?: string[];
63
- /** List of stop words to use when generating */
64
- stopSequences?: string[];
65
- /**
66
- * Timeout to use when making requests to OpenAI.
67
- */
68
- timeout?: number;
69
- /**
70
- * API key to use when making requests to OpenAI. Defaults to the value of
71
- * `OPENAI_API_KEY` environment variable.
72
- * Alias for `apiKey`
73
- */
74
- openAIApiKey?: string;
75
- /**
76
- * API key to use when making requests to OpenAI. Defaults to the value of
77
- * `OPENAI_API_KEY` environment variable.
78
- */
79
- apiKey?: string;
80
- /**
81
- * The verbosity of the model's response.
82
- */
83
- verbosity?: OpenAIVerbosityParam;
12
+ type OpenAIChatModelId = OpenAI$1.ChatModel | (string & NonNullable<unknown>);
13
+ type OpenAIVerbosityParam = "low" | "medium" | "high" | null;
14
+ declare interface OpenAIBaseInput {
15
+ /** Sampling temperature to use */
16
+ temperature: number;
17
+ /**
18
+ * Maximum number of tokens to generate in the completion. -1 returns as many
19
+ * tokens as possible given the prompt and the model's maximum context size.
20
+ */
21
+ maxTokens?: number;
22
+ /**
23
+ * Maximum number of tokens to generate in the completion. -1 returns as many
24
+ * tokens as possible given the prompt and the model's maximum context size.
25
+ * Alias for `maxTokens` for reasoning models.
26
+ */
27
+ maxCompletionTokens?: number;
28
+ /** Total probability mass of tokens to consider at each step */
29
+ topP: number;
30
+ /** Penalizes repeated tokens according to frequency */
31
+ frequencyPenalty: number;
32
+ /** Penalizes repeated tokens */
33
+ presencePenalty: number;
34
+ /** Number of completions to generate for each prompt */
35
+ n: number;
36
+ /** Dictionary used to adjust the probability of specific tokens being generated */
37
+ logitBias?: Record<string, number>;
38
+ /** Unique string identifier representing your end-user, which can help OpenAI to monitor and detect abuse. */
39
+ user?: string;
40
+ /** Whether to stream the results or not. Enabling disables tokenUsage reporting */
41
+ streaming: boolean;
42
+ /**
43
+ * Whether or not to include token usage data in streamed chunks.
44
+ * @default true
45
+ */
46
+ streamUsage?: boolean;
47
+ /**
48
+ * Model name to use
49
+ * Alias for `model`
50
+ * @deprecated Use "model" instead.
51
+ */
52
+ modelName: string;
53
+ /** Model name to use */
54
+ model: OpenAIChatModelId;
55
+ /** Holds any additional parameters that are valid to pass to {@link
56
+ * https://platform.openai.com/docs/api-reference/completions/create |
57
+ * `openai.createCompletion`} that are not explicitly specified on this class.
58
+ */
59
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
60
+ modelKwargs?: Record<string, any>;
61
+ /**
62
+ * List of stop words to use when generating
63
+ * Alias for `stopSequences`
64
+ */
65
+ stop?: string[];
66
+ /** List of stop words to use when generating */
67
+ stopSequences?: string[];
68
+ /**
69
+ * Timeout to use when making requests to OpenAI.
70
+ */
71
+ timeout?: number;
72
+ /**
73
+ * API key to use when making requests to OpenAI. Defaults to the value of
74
+ * `OPENAI_API_KEY` environment variable.
75
+ * Alias for `apiKey`
76
+ */
77
+ openAIApiKey?: string;
78
+ /**
79
+ * API key to use when making requests to OpenAI. Defaults to the value of
80
+ * `OPENAI_API_KEY` environment variable.
81
+ */
82
+ apiKey?: string;
83
+ /**
84
+ * The verbosity of the model's response.
85
+ */
86
+ verbosity?: OpenAIVerbosityParam;
84
87
  }
85
- export type OpenAICoreRequestOptions = OpenAIClient.RequestOptions;
86
- export interface OpenAICallOptions extends BaseLanguageModelCallOptions {
87
- /**
88
- * Additional options to pass to the underlying axios request.
89
- */
90
- options?: OpenAICoreRequestOptions;
88
+ type OpenAICoreRequestOptions = OpenAI$1.RequestOptions;
89
+ interface OpenAICallOptions extends BaseLanguageModelCallOptions {
90
+ /**
91
+ * Additional options to pass to the underlying axios request.
92
+ */
93
+ options?: OpenAICoreRequestOptions;
91
94
  }
92
95
  /**
93
96
  * Input to OpenAI class.
94
97
  */
95
- export declare interface OpenAIInput extends OpenAIBaseInput {
96
- /** Generates `bestOf` completions server side and returns the "best" */
97
- bestOf?: number;
98
- /** Batch size to use when passing multiple documents to generate */
99
- batchSize: number;
98
+ declare interface OpenAIInput extends OpenAIBaseInput {
99
+ /** Generates `bestOf` completions server side and returns the "best" */
100
+ bestOf?: number;
101
+ /** Batch size to use when passing multiple documents to generate */
102
+ batchSize: number;
100
103
  }
101
- export interface OpenAIChatInput extends OpenAIBaseInput {
102
- /**
103
- * Whether to return log probabilities of the output tokens or not.
104
- * If true, returns the log probabilities of each output token returned in the content of message.
105
- */
106
- logprobs?: boolean;
107
- /**
108
- * An integer between 0 and 5 specifying the number of most likely tokens to return at each token position,
109
- * each with an associated log probability. logprobs must be set to true if this parameter is used.
110
- */
111
- topLogprobs?: number;
112
- /** ChatGPT messages to pass as a prefix to the prompt */
113
- prefixMessages?: OpenAIClient.Chat.ChatCompletionMessageParam[];
114
- /**
115
- * Whether to include the raw OpenAI response in the output message's "additional_kwargs" field.
116
- * Currently in experimental beta.
117
- */
118
- __includeRawResponse?: boolean;
119
- /**
120
- * Whether the model supports the `strict` argument when passing in tools.
121
- * If `undefined` the `strict` argument will not be passed to OpenAI.
122
- */
123
- supportsStrictToolCalling?: boolean;
124
- /**
125
- * Output types that you would like the model to generate for this request. Most
126
- * models are capable of generating text, which is the default:
127
- *
128
- * `["text"]`
129
- *
130
- * The `gpt-4o-audio-preview` model can also be used to
131
- * [generate audio](https://platform.openai.com/docs/guides/audio). To request that
132
- * this model generate both text and audio responses, you can use:
133
- *
134
- * `["text", "audio"]`
135
- */
136
- modalities?: Array<OpenAIClient.Chat.ChatCompletionModality>;
137
- /**
138
- * Parameters for audio output. Required when audio output is requested with
139
- * `modalities: ["audio"]`.
140
- * [Learn more](https://platform.openai.com/docs/guides/audio).
141
- */
142
- audio?: OpenAIClient.Chat.ChatCompletionAudioParam;
143
- /**
144
- * Options for reasoning models.
145
- *
146
- * Note that some options, like reasoning summaries, are only available when using the responses
147
- * API. This option is ignored when not using a reasoning model.
148
- */
149
- reasoning?: OpenAIClient.Reasoning;
150
- /**
151
- * Should be set to `true` in tenancies with Zero Data Retention
152
- * @see https://platform.openai.com/docs/guides/your-data
153
- *
154
- * @default false
155
- */
156
- zdrEnabled?: boolean;
157
- /**
158
- * Service tier to use for this request. Can be "auto", "default", or "flex" or "priority".
159
- * Specifies the service tier for prioritization and latency optimization.
160
- */
161
- service_tier?: OpenAIClient.Responses.ResponseCreateParams["service_tier"];
162
- /**
163
- * Used by OpenAI to cache responses for similar requests to optimize your cache
164
- * hit rates. Replaces the `user` field.
165
- * [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
166
- */
167
- promptCacheKey?: string;
104
+ interface OpenAIChatInput extends OpenAIBaseInput {
105
+ /**
106
+ * Whether to return log probabilities of the output tokens or not.
107
+ * If true, returns the log probabilities of each output token returned in the content of message.
108
+ */
109
+ logprobs?: boolean;
110
+ /**
111
+ * An integer between 0 and 5 specifying the number of most likely tokens to return at each token position,
112
+ * each with an associated log probability. logprobs must be set to true if this parameter is used.
113
+ */
114
+ topLogprobs?: number;
115
+ /** ChatGPT messages to pass as a prefix to the prompt */
116
+ prefixMessages?: OpenAI$1.Chat.ChatCompletionMessageParam[];
117
+ /**
118
+ * Whether to include the raw OpenAI response in the output message's "additional_kwargs" field.
119
+ * Currently in experimental beta.
120
+ */
121
+ __includeRawResponse?: boolean;
122
+ /**
123
+ * Whether the model supports the `strict` argument when passing in tools.
124
+ * If `undefined` the `strict` argument will not be passed to OpenAI.
125
+ */
126
+ supportsStrictToolCalling?: boolean;
127
+ /**
128
+ * Output types that you would like the model to generate for this request. Most
129
+ * models are capable of generating text, which is the default:
130
+ *
131
+ * `["text"]`
132
+ *
133
+ * The `gpt-4o-audio-preview` model can also be used to
134
+ * [generate audio](https://platform.openai.com/docs/guides/audio). To request that
135
+ * this model generate both text and audio responses, you can use:
136
+ *
137
+ * `["text", "audio"]`
138
+ */
139
+ modalities?: Array<OpenAI$1.Chat.ChatCompletionModality>;
140
+ /**
141
+ * Parameters for audio output. Required when audio output is requested with
142
+ * `modalities: ["audio"]`.
143
+ * [Learn more](https://platform.openai.com/docs/guides/audio).
144
+ */
145
+ audio?: OpenAI$1.Chat.ChatCompletionAudioParam;
146
+ /**
147
+ * Options for reasoning models.
148
+ *
149
+ * Note that some options, like reasoning summaries, are only available when using the responses
150
+ * API. This option is ignored when not using a reasoning model.
151
+ */
152
+ reasoning?: OpenAI$1.Reasoning;
153
+ /**
154
+ * Should be set to `true` in tenancies with Zero Data Retention
155
+ * @see https://platform.openai.com/docs/guides/your-data
156
+ *
157
+ * @default false
158
+ */
159
+ zdrEnabled?: boolean;
160
+ /**
161
+ * Service tier to use for this request. Can be "auto", "default", or "flex" or "priority".
162
+ * Specifies the service tier for prioritization and latency optimization.
163
+ */
164
+ service_tier?: OpenAI$1.Responses.ResponseCreateParams["service_tier"];
165
+ /**
166
+ * Used by OpenAI to cache responses for similar requests to optimize your cache
167
+ * hit rates. Replaces the `user` field.
168
+ * [Learn more](https://platform.openai.com/docs/guides/prompt-caching).
169
+ */
170
+ promptCacheKey?: string;
168
171
  }
169
- export interface AzureOpenAIInput {
170
- /**
171
- * API version to use when making requests to Azure OpenAI.
172
- */
173
- azureOpenAIApiVersion?: string;
174
- /**
175
- * API key to use when making requests to Azure OpenAI.
176
- */
177
- azureOpenAIApiKey?: string;
178
- /**
179
- * Azure OpenAI API instance name to use when making requests to Azure OpenAI.
180
- * this is the name of the instance you created in the Azure portal.
181
- * e.g. "my-openai-instance"
182
- * this will be used in the endpoint URL: https://my-openai-instance.openai.azure.com/openai/deployments/{DeploymentName}/
183
- */
184
- azureOpenAIApiInstanceName?: string;
185
- /**
186
- * Azure OpenAI API deployment name to use for completions when making requests to Azure OpenAI.
187
- * This is the name of the deployment you created in the Azure portal.
188
- * e.g. "my-openai-deployment"
189
- * this will be used in the endpoint URL: https://{InstanceName}.openai.azure.com/openai/deployments/my-openai-deployment/
190
- */
191
- azureOpenAIApiDeploymentName?: string;
192
- /**
193
- * Azure OpenAI API deployment name to use for embedding when making requests to Azure OpenAI.
194
- * This is the name of the deployment you created in the Azure portal.
195
- * This will fallback to azureOpenAIApiDeploymentName if not provided.
196
- * e.g. "my-openai-deployment"
197
- * this will be used in the endpoint URL: https://{InstanceName}.openai.azure.com/openai/deployments/my-openai-deployment/
198
- */
199
- azureOpenAIApiEmbeddingsDeploymentName?: string;
200
- /**
201
- * Azure OpenAI API deployment name to use for completions when making requests to Azure OpenAI.
202
- * Completions are only available for gpt-3.5-turbo and text-davinci-003 deployments.
203
- * This is the name of the deployment you created in the Azure portal.
204
- * This will fallback to azureOpenAIApiDeploymentName if not provided.
205
- * e.g. "my-openai-deployment"
206
- * this will be used in the endpoint URL: https://{InstanceName}.openai.azure.com/openai/deployments/my-openai-deployment/
207
- */
208
- azureOpenAIApiCompletionsDeploymentName?: string;
209
- /**
210
- * Custom base url for Azure OpenAI API. This is useful in case you have a deployment in another region.
211
- * e.g. setting this value to "https://westeurope.api.cognitive.microsoft.com/openai/deployments"
212
- * will be result in the endpoint URL: https://westeurope.api.cognitive.microsoft.com/openai/deployments/{DeploymentName}/
213
- */
214
- azureOpenAIBasePath?: string;
215
- /**
216
- * Custom endpoint for Azure OpenAI API. This is useful in case you have a deployment in another region.
217
- * e.g. setting this value to "https://westeurope.api.cognitive.microsoft.com/"
218
- * will be result in the endpoint URL: https://westeurope.api.cognitive.microsoft.com/openai/deployments/{DeploymentName}/
219
- */
220
- azureOpenAIEndpoint?: string;
221
- /**
222
- * A function that returns an access token for Microsoft Entra (formerly known as Azure Active Directory),
223
- * which will be invoked on every request.
224
- */
225
- azureADTokenProvider?: () => Promise<string>;
172
+ interface AzureOpenAIInput {
173
+ /**
174
+ * API version to use when making requests to Azure OpenAI.
175
+ */
176
+ azureOpenAIApiVersion?: string;
177
+ /**
178
+ * API key to use when making requests to Azure OpenAI.
179
+ */
180
+ azureOpenAIApiKey?: string;
181
+ /**
182
+ * Azure OpenAI API instance name to use when making requests to Azure OpenAI.
183
+ * this is the name of the instance you created in the Azure portal.
184
+ * e.g. "my-openai-instance"
185
+ * this will be used in the endpoint URL: https://my-openai-instance.openai.azure.com/openai/deployments/{DeploymentName}/
186
+ */
187
+ azureOpenAIApiInstanceName?: string;
188
+ /**
189
+ * Azure OpenAI API deployment name to use for completions when making requests to Azure OpenAI.
190
+ * This is the name of the deployment you created in the Azure portal.
191
+ * e.g. "my-openai-deployment"
192
+ * this will be used in the endpoint URL: https://{InstanceName}.openai.azure.com/openai/deployments/my-openai-deployment/
193
+ */
194
+ azureOpenAIApiDeploymentName?: string;
195
+ /**
196
+ * Azure OpenAI API deployment name to use for embedding when making requests to Azure OpenAI.
197
+ * This is the name of the deployment you created in the Azure portal.
198
+ * This will fallback to azureOpenAIApiDeploymentName if not provided.
199
+ * e.g. "my-openai-deployment"
200
+ * this will be used in the endpoint URL: https://{InstanceName}.openai.azure.com/openai/deployments/my-openai-deployment/
201
+ */
202
+ azureOpenAIApiEmbeddingsDeploymentName?: string;
203
+ /**
204
+ * Azure OpenAI API deployment name to use for completions when making requests to Azure OpenAI.
205
+ * Completions are only available for gpt-3.5-turbo and text-davinci-003 deployments.
206
+ * This is the name of the deployment you created in the Azure portal.
207
+ * This will fallback to azureOpenAIApiDeploymentName if not provided.
208
+ * e.g. "my-openai-deployment"
209
+ * this will be used in the endpoint URL: https://{InstanceName}.openai.azure.com/openai/deployments/my-openai-deployment/
210
+ */
211
+ azureOpenAIApiCompletionsDeploymentName?: string;
212
+ /**
213
+ * Custom base url for Azure OpenAI API. This is useful in case you have a deployment in another region.
214
+ * e.g. setting this value to "https://westeurope.api.cognitive.microsoft.com/openai/deployments"
215
+ * will be result in the endpoint URL: https://westeurope.api.cognitive.microsoft.com/openai/deployments/{DeploymentName}/
216
+ */
217
+ azureOpenAIBasePath?: string;
218
+ /**
219
+ * Custom endpoint for Azure OpenAI API. This is useful in case you have a deployment in another region.
220
+ * e.g. setting this value to "https://westeurope.api.cognitive.microsoft.com/"
221
+ * will be result in the endpoint URL: https://westeurope.api.cognitive.microsoft.com/openai/deployments/{DeploymentName}/
222
+ */
223
+ azureOpenAIEndpoint?: string;
224
+ /**
225
+ * A function that returns an access token for Microsoft Entra (formerly known as Azure Active Directory),
226
+ * which will be invoked on every request.
227
+ */
228
+ azureADTokenProvider?: () => Promise<string>;
226
229
  }
227
- export interface AzureOpenAIChatInput extends OpenAIChatInput, AzureOpenAIInput {
228
- openAIApiKey?: string;
229
- openAIApiVersion?: string;
230
- openAIBasePath?: string;
231
- deploymentName?: string;
230
+ interface AzureOpenAIChatInput extends OpenAIChatInput, AzureOpenAIInput {
231
+ openAIApiKey?: string;
232
+ openAIApiVersion?: string;
233
+ openAIBasePath?: string;
234
+ deploymentName?: string;
232
235
  }
233
236
  type ChatOpenAIResponseFormatJSONSchema = Omit<ResponseFormatJSONSchema, "json_schema"> & {
234
- json_schema: Omit<ResponseFormatJSONSchema["json_schema"], "schema"> & {
235
- /**
236
- * The schema for the response format, described as a JSON Schema object
237
- * or a Zod object.
238
- */
239
- schema: Record<string, any> | InteropZodObject;
240
- };
237
+ json_schema: Omit<ResponseFormatJSONSchema["json_schema"], "schema"> & {
238
+ /**
239
+ * The schema for the response format, described as a JSON Schema object
240
+ * or a Zod object.
241
+ */
242
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
243
+ schema: Record<string, any> | InteropZodObject;
244
+ };
241
245
  };
242
246
  /**
243
247
  * The summary of a model's reasoning step.
244
248
  */
245
- export type ChatOpenAIReasoningSummary = Omit<OpenAIClient.Responses.ResponseReasoningItem, "summary"> & {
246
- /**
247
- * The summary of the reasoning step. The index field will be populated if the response was
248
- * streamed. This allows LangChain to recompose the reasoning summary output correctly when the
249
- * AIMessage is used as an input for future generation requests.
250
- */
251
- summary: Array<OpenAIClient.Responses.ResponseReasoningItem.Summary & {
252
- index?: number;
253
- }>;
249
+ type ChatOpenAIReasoningSummary = Omit<OpenAI$1.Responses.ResponseReasoningItem, "summary"> & {
250
+ /**
251
+ * The summary of the reasoning step. The index field will be populated if the response was
252
+ * streamed. This allows LangChain to recompose the reasoning summary output correctly when the
253
+ * AIMessage is used as an input for future generation requests.
254
+ */
255
+ summary: Array<OpenAI$1.Responses.ResponseReasoningItem.Summary & {
256
+ index?: number;
257
+ }>;
254
258
  };
255
- export type ChatOpenAIResponseFormat = ResponseFormatText | ResponseFormatJSONObject | ResponseFormatTextGrammar | ResponseFormatTextPython | ChatOpenAIResponseFormatJSONSchema;
256
- export type ResponseFormatConfiguration = ResponseFormatText | ResponseFormatJSONObject | ResponseFormatJSONSchema;
259
+ type ChatOpenAIResponseFormat = ResponseFormatText | ResponseFormatJSONObject | ResponseFormatTextGrammar | ResponseFormatTextPython | ChatOpenAIResponseFormatJSONSchema;
260
+ type ResponseFormatConfiguration = ResponseFormatText | ResponseFormatJSONObject | ResponseFormatJSONSchema;
261
+ //#endregion
262
+ export { AzureOpenAIChatInput, AzureOpenAIInput, ChatOpenAIReasoningSummary, ChatOpenAIResponseFormat, OpenAIBaseInput, OpenAICallOptions, OpenAIChatInput, OpenAIChatModelId, OpenAICoreRequestOptions, OpenAIInput, OpenAIVerbosityParam, ResponseFormatConfiguration, type TiktokenModel };
263
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":["OpenAI","OpenAIClient","ResponseFormatText","ResponseFormatJSONObject","ResponseFormatJSONSchema","ResponseFormatTextPython","ResponseFormatTextGrammar","TiktokenModel","BaseLanguageModelCallOptions","InteropZodObject","OpenAIChatModelId","ChatModel","NonNullable","OpenAIVerbosityParam","OpenAIBaseInput","Record","OpenAICoreRequestOptions","RequestOptions","OpenAICallOptions","OpenAIInput","OpenAIChatInput","Chat","ChatCompletionMessageParam","ChatCompletionModality","Array","ChatCompletionAudioParam","Reasoning","Responses","ResponseCreateParams","AzureOpenAIInput","Promise","AzureOpenAIChatInput","ChatOpenAIResponseFormatJSONSchema","Omit","ChatOpenAIReasoningSummary","ResponseReasoningItem","Summary","ChatOpenAIResponseFormat","ResponseFormatConfiguration"],"sources":["../src/types.d.ts"],"sourcesContent":["import type { OpenAI as OpenAIClient } from \"openai\";\nimport type { ResponseFormatText, ResponseFormatJSONObject, ResponseFormatJSONSchema, ResponseFormatTextPython, ResponseFormatTextGrammar } from \"openai/resources/shared\";\nimport { TiktokenModel } from \"js-tiktoken/lite\";\nimport type { BaseLanguageModelCallOptions } from \"@langchain/core/language_models/base\";\nimport { InteropZodObject } from \"@langchain/core/utils/types\";\n// reexport this type from the included package so we can easily override and extend it if needed in the future\n// also makes it easier for folks to import this type without digging around into the dependent packages\nexport type { TiktokenModel };\n/**\n * @see https://platform.openai.com/docs/models\n */\nexport type OpenAIChatModelId = OpenAIClient.ChatModel | (string & NonNullable<unknown>);\nexport type OpenAIVerbosityParam = \"low\" | \"medium\" | \"high\" | null;\nexport declare interface OpenAIBaseInput {\n /** Sampling temperature to use */\n temperature: number;\n /**\n * Maximum number of tokens to generate in the completion. -1 returns as many\n * tokens as possible given the prompt and the model's maximum context size.\n */\n maxTokens?: number;\n /**\n * Maximum number of tokens to generate in the completion. -1 returns as many\n * tokens as possible given the prompt and the model's maximum context size.\n * Alias for `maxTokens` for reasoning models.\n */\n maxCompletionTokens?: number;\n /** Total probability mass of tokens to consider at each step */\n topP: number;\n /** Penalizes repeated tokens according to frequency */\n frequencyPenalty: number;\n /** Penalizes repeated tokens */\n presencePenalty: number;\n /** Number of completions to generate for each prompt */\n n: number;\n /** Dictionary used to adjust the probability of specific tokens being generated */\n logitBias?: Record<string, number>;\n /** Unique string identifier representing your end-user, which can help OpenAI to monitor and detect abuse. */\n user?: string;\n /** Whether to stream the results or not. Enabling disables tokenUsage reporting */\n streaming: boolean;\n /**\n * Whether or not to include token usage data in streamed chunks.\n * @default true\n */\n streamUsage?: boolean;\n /**\n * Model name to use\n * Alias for `model`\n * @deprecated Use \"model\" instead.\n */\n modelName: string;\n /** Model name to use */\n model: OpenAIChatModelId;\n /** Holds any additional parameters that are valid to pass to {@link\n * https://platform.openai.com/docs/api-reference/completions/create |\n * `openai.createCompletion`} that are not explicitly specified on this class.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n modelKwargs?: Record<string, any>;\n /**\n * List of stop words to use when generating\n * Alias for `stopSequences`\n */\n stop?: string[];\n /** List of stop words to use when generating */\n stopSequences?: string[];\n /**\n * Timeout to use when making requests to OpenAI.\n */\n timeout?: number;\n /**\n * API key to use when making requests to OpenAI. Defaults to the value of\n * `OPENAI_API_KEY` environment variable.\n * Alias for `apiKey`\n */\n openAIApiKey?: string;\n /**\n * API key to use when making requests to OpenAI. Defaults to the value of\n * `OPENAI_API_KEY` environment variable.\n */\n apiKey?: string;\n /**\n * The verbosity of the model's response.\n */\n verbosity?: OpenAIVerbosityParam;\n}\nexport type OpenAICoreRequestOptions = OpenAIClient.RequestOptions;\nexport interface OpenAICallOptions extends BaseLanguageModelCallOptions {\n /**\n * Additional options to pass to the underlying axios request.\n */\n options?: OpenAICoreRequestOptions;\n}\n/**\n * Input to OpenAI class.\n */\nexport declare interface OpenAIInput extends OpenAIBaseInput {\n /** Generates `bestOf` completions server side and returns the \"best\" */\n bestOf?: number;\n /** Batch size to use when passing multiple documents to generate */\n batchSize: number;\n}\nexport interface OpenAIChatInput extends OpenAIBaseInput {\n /**\n * Whether to return log probabilities of the output tokens or not.\n * If true, returns the log probabilities of each output token returned in the content of message.\n */\n logprobs?: boolean;\n /**\n * An integer between 0 and 5 specifying the number of most likely tokens to return at each token position,\n * each with an associated log probability. logprobs must be set to true if this parameter is used.\n */\n topLogprobs?: number;\n /** ChatGPT messages to pass as a prefix to the prompt */\n prefixMessages?: OpenAIClient.Chat.ChatCompletionMessageParam[];\n /**\n * Whether to include the raw OpenAI response in the output message's \"additional_kwargs\" field.\n * Currently in experimental beta.\n */\n __includeRawResponse?: boolean;\n /**\n * Whether the model supports the `strict` argument when passing in tools.\n * If `undefined` the `strict` argument will not be passed to OpenAI.\n */\n supportsStrictToolCalling?: boolean;\n /**\n * Output types that you would like the model to generate for this request. Most\n * models are capable of generating text, which is the default:\n *\n * `[\"text\"]`\n *\n * The `gpt-4o-audio-preview` model can also be used to\n * [generate audio](https://platform.openai.com/docs/guides/audio). To request that\n * this model generate both text and audio responses, you can use:\n *\n * `[\"text\", \"audio\"]`\n */\n modalities?: Array<OpenAIClient.Chat.ChatCompletionModality>;\n /**\n * Parameters for audio output. Required when audio output is requested with\n * `modalities: [\"audio\"]`.\n * [Learn more](https://platform.openai.com/docs/guides/audio).\n */\n audio?: OpenAIClient.Chat.ChatCompletionAudioParam;\n /**\n * Options for reasoning models.\n *\n * Note that some options, like reasoning summaries, are only available when using the responses\n * API. This option is ignored when not using a reasoning model.\n */\n reasoning?: OpenAIClient.Reasoning;\n /**\n * Should be set to `true` in tenancies with Zero Data Retention\n * @see https://platform.openai.com/docs/guides/your-data\n *\n * @default false\n */\n zdrEnabled?: boolean;\n /**\n * Service tier to use for this request. Can be \"auto\", \"default\", or \"flex\" or \"priority\".\n * Specifies the service tier for prioritization and latency optimization.\n */\n service_tier?: OpenAIClient.Responses.ResponseCreateParams[\"service_tier\"];\n /**\n * Used by OpenAI to cache responses for similar requests to optimize your cache\n * hit rates. Replaces the `user` field.\n * [Learn more](https://platform.openai.com/docs/guides/prompt-caching).\n */\n promptCacheKey?: string;\n}\nexport interface AzureOpenAIInput {\n /**\n * API version to use when making requests to Azure OpenAI.\n */\n azureOpenAIApiVersion?: string;\n /**\n * API key to use when making requests to Azure OpenAI.\n */\n azureOpenAIApiKey?: string;\n /**\n * Azure OpenAI API instance name to use when making requests to Azure OpenAI.\n * this is the name of the instance you created in the Azure portal.\n * e.g. \"my-openai-instance\"\n * this will be used in the endpoint URL: https://my-openai-instance.openai.azure.com/openai/deployments/{DeploymentName}/\n */\n azureOpenAIApiInstanceName?: string;\n /**\n * Azure OpenAI API deployment name to use for completions when making requests to Azure OpenAI.\n * This is the name of the deployment you created in the Azure portal.\n * e.g. \"my-openai-deployment\"\n * this will be used in the endpoint URL: https://{InstanceName}.openai.azure.com/openai/deployments/my-openai-deployment/\n */\n azureOpenAIApiDeploymentName?: string;\n /**\n * Azure OpenAI API deployment name to use for embedding when making requests to Azure OpenAI.\n * This is the name of the deployment you created in the Azure portal.\n * This will fallback to azureOpenAIApiDeploymentName if not provided.\n * e.g. \"my-openai-deployment\"\n * this will be used in the endpoint URL: https://{InstanceName}.openai.azure.com/openai/deployments/my-openai-deployment/\n */\n azureOpenAIApiEmbeddingsDeploymentName?: string;\n /**\n * Azure OpenAI API deployment name to use for completions when making requests to Azure OpenAI.\n * Completions are only available for gpt-3.5-turbo and text-davinci-003 deployments.\n * This is the name of the deployment you created in the Azure portal.\n * This will fallback to azureOpenAIApiDeploymentName if not provided.\n * e.g. \"my-openai-deployment\"\n * this will be used in the endpoint URL: https://{InstanceName}.openai.azure.com/openai/deployments/my-openai-deployment/\n */\n azureOpenAIApiCompletionsDeploymentName?: string;\n /**\n * Custom base url for Azure OpenAI API. This is useful in case you have a deployment in another region.\n * e.g. setting this value to \"https://westeurope.api.cognitive.microsoft.com/openai/deployments\"\n * will be result in the endpoint URL: https://westeurope.api.cognitive.microsoft.com/openai/deployments/{DeploymentName}/\n */\n azureOpenAIBasePath?: string;\n /**\n * Custom endpoint for Azure OpenAI API. This is useful in case you have a deployment in another region.\n * e.g. setting this value to \"https://westeurope.api.cognitive.microsoft.com/\"\n * will be result in the endpoint URL: https://westeurope.api.cognitive.microsoft.com/openai/deployments/{DeploymentName}/\n */\n azureOpenAIEndpoint?: string;\n /**\n * A function that returns an access token for Microsoft Entra (formerly known as Azure Active Directory),\n * which will be invoked on every request.\n */\n azureADTokenProvider?: () => Promise<string>;\n}\nexport interface AzureOpenAIChatInput extends OpenAIChatInput, AzureOpenAIInput {\n openAIApiKey?: string;\n openAIApiVersion?: string;\n openAIBasePath?: string;\n deploymentName?: string;\n}\ntype ChatOpenAIResponseFormatJSONSchema = Omit<ResponseFormatJSONSchema, \"json_schema\"> & {\n json_schema: Omit<ResponseFormatJSONSchema[\"json_schema\"], \"schema\"> & {\n /**\n * The schema for the response format, described as a JSON Schema object\n * or a Zod object.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n schema: Record<string, any> | InteropZodObject;\n };\n};\n/**\n * The summary of a model's reasoning step.\n */\nexport type ChatOpenAIReasoningSummary = Omit<OpenAIClient.Responses.ResponseReasoningItem, \"summary\"> & {\n /**\n * The summary of the reasoning step. The index field will be populated if the response was\n * streamed. This allows LangChain to recompose the reasoning summary output correctly when the\n * AIMessage is used as an input for future generation requests.\n */\n summary: Array<OpenAIClient.Responses.ResponseReasoningItem.Summary & {\n index?: number;\n }>;\n};\nexport type ChatOpenAIResponseFormat = ResponseFormatText | ResponseFormatJSONObject | ResponseFormatTextGrammar | ResponseFormatTextPython | ChatOpenAIResponseFormatJSONSchema;\nexport type ResponseFormatConfiguration = ResponseFormatText | ResponseFormatJSONObject | ResponseFormatJSONSchema;\n"],"mappings":";;;;;;;;;;;AAW8E,KAAlEU,iBAAAA,GAAoBT,QAAAA,CAAaU,SAAiC,GAAA,CAAA,MAAA,GAAXC,WAAW,CAAA,OAAA,CAAA,CAAA;AAClEC,KAAAA,oBAAAA,GAAoB,KAAA,GAAA,QAAA,GAAA,MAAA,GAAA,IAAA;AACPC,kBAAAA,eAAAA,CAAe;EAAA;EAAA,WAuBxBC,EAAAA,MAAAA;EAAM;;;AAiDc;EAExBC,SAAAA,CAAAA,EAAAA,MAAAA;EACKE;;;;AAAsD;EAS9CC,mBAAW,CAAA,EAAA,MAASL;EAM5BM;EAAe,IAAA,EAAA,MAAA;EAAA;EAYiC,gBAuB7BC,EAAKE,MAAAA;EAAsB;EAAzC,eAMGF,EAAKI,MAAAA;EAAwB;EAOhB,CAAA,EAYnBxB,MAAAA;EAA2C;EA5DN,SAAA,CAAA,EAnExCc,MAmEwC,CAAA,MAAA,EAAA,MAAA,CAAA;EAoEvCc;EA0DAE,IAAAA,CAAAA,EAAAA,MAAAA;EAAoB;EAAA,SAASX,EAAAA,OAAAA;EAAe;AAAkB;AAK9E;;EACsC,WAAQhB,CAAAA,EAAAA,OAAAA;EAAwB;;;;;EAOjB,SAAA,EAAA,MAAA;EAM1C8B;EAA0B,KAAA,EAnM3BxB,iBAmM2B;EAAA;;;;EAMpB;EAIN2B,WAAAA,CAAAA,EAvMMtB,MAuMNsB,CAAAA,MAAwB,EAAA,GAAA,CAAA;EAAA;;;;EAA4E,IAAGhC,CAAAA,EAAAA,MAAAA,EAAAA;EAAwB;EAAqC,aAAA,CAAA,EAAA,MAAA,EAAA;EACpKiC;;;EAAgD,OAAGnC,CAAAA,EAAAA,MAAAA;EAAwB;AAA2B;;;;;;;;;;;;;cA9KlGU;;KAEJG,wBAAAA,GAA2Bf,QAAAA,CAAagB;UACnCC,iBAAAA,SAA0BV;;;;YAI7BQ;;;;;kBAKWG,WAAAA,SAAoBL;;;;;;UAM5BM,eAAAA,SAAwBN;;;;;;;;;;;;mBAYpBb,QAAAA,CAAaoB,IAAAA,CAAKC;;;;;;;;;;;;;;;;;;;;;;;eAuBtBE,MAAMvB,QAAAA,CAAaoB,IAAAA,CAAKE;;;;;;UAM7BtB,QAAAA,CAAaoB,IAAAA,CAAKI;;;;;;;cAOdxB,QAAAA,CAAayB;;;;;;;;;;;;iBAYVzB,QAAAA,CAAa0B,SAAAA,CAAUC;;;;;;;;UAQzBC,gBAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAwDgBC;;UAEhBC,oBAAAA,SAA6BX,iBAAiBS;;;;;;KAM1DG,kCAAAA,GAAqCC,KAAK7B;eAC9B6B,KAAK7B;;;;;;YAMNW,sBAAsBN;;;;;;KAM1ByB,0BAAAA,GAA6BD,KAAKhC,QAAAA,CAAa0B,SAAAA,CAAUQ;;;;;;WAMxDX,MAAMvB,QAAAA,CAAa0B,SAAAA,CAAUQ,qBAAAA,CAAsBC;;;;KAIpDC,wBAAAA,GAA2BnC,qBAAqBC,2BAA2BG,4BAA4BD,2BAA2B2B;KAClIM,2BAAAA,GAA8BpC,qBAAqBC,2BAA2BC"}