@just-every/ensemble 0.1.34 → 0.2.2

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 (205) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +62 -190
  3. package/dist/config/tool_execution.d.ts +11 -0
  4. package/dist/config/tool_execution.d.ts.map +1 -0
  5. package/dist/config/tool_execution.js +31 -0
  6. package/dist/config/tool_execution.js.map +1 -0
  7. package/dist/core/ensemble_embed.d.ts +3 -0
  8. package/dist/core/ensemble_embed.d.ts.map +1 -0
  9. package/dist/core/ensemble_embed.js +24 -0
  10. package/dist/core/ensemble_embed.js.map +1 -0
  11. package/dist/core/ensemble_image.d.ts +3 -0
  12. package/dist/core/ensemble_image.d.ts.map +1 -0
  13. package/dist/core/ensemble_image.js +10 -0
  14. package/dist/core/ensemble_image.js.map +1 -0
  15. package/dist/core/ensemble_request.d.ts +4 -0
  16. package/dist/core/ensemble_request.d.ts.map +1 -0
  17. package/dist/core/ensemble_request.js +240 -0
  18. package/dist/core/ensemble_request.js.map +1 -0
  19. package/dist/{model_data.d.ts → data/model_data.d.ts} +2 -2
  20. package/dist/data/model_data.d.ts.map +1 -0
  21. package/dist/{model_data.js → data/model_data.js} +52 -3
  22. package/dist/data/model_data.js.map +1 -0
  23. package/dist/index.d.ts +18 -35
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +18 -56
  26. package/dist/index.js.map +1 -1
  27. package/dist/model_providers/base_provider.d.ts +3 -29
  28. package/dist/model_providers/base_provider.d.ts.map +1 -1
  29. package/dist/model_providers/base_provider.js +1 -114
  30. package/dist/model_providers/base_provider.js.map +1 -1
  31. package/dist/model_providers/claude.d.ts +2 -2
  32. package/dist/model_providers/claude.d.ts.map +1 -1
  33. package/dist/model_providers/claude.js +10 -4
  34. package/dist/model_providers/claude.js.map +1 -1
  35. package/dist/model_providers/deepseek.d.ts.map +1 -1
  36. package/dist/model_providers/deepseek.js.map +1 -1
  37. package/dist/model_providers/gemini.d.ts +4 -4
  38. package/dist/model_providers/gemini.d.ts.map +1 -1
  39. package/dist/model_providers/gemini.js +31 -32
  40. package/dist/model_providers/gemini.js.map +1 -1
  41. package/dist/model_providers/grok.d.ts.map +1 -1
  42. package/dist/model_providers/grok.js.map +1 -1
  43. package/dist/model_providers/model_provider.d.ts +3 -4
  44. package/dist/model_providers/model_provider.d.ts.map +1 -1
  45. package/dist/model_providers/model_provider.js +11 -5
  46. package/dist/model_providers/model_provider.js.map +1 -1
  47. package/dist/model_providers/openai.d.ts +4 -4
  48. package/dist/model_providers/openai.d.ts.map +1 -1
  49. package/dist/model_providers/openai.js +24 -26
  50. package/dist/model_providers/openai.js.map +1 -1
  51. package/dist/model_providers/openai_chat.d.ts +3 -3
  52. package/dist/model_providers/openai_chat.d.ts.map +1 -1
  53. package/dist/model_providers/openai_chat.js +2 -2
  54. package/dist/model_providers/openai_chat.js.map +1 -1
  55. package/dist/model_providers/openrouter.d.ts.map +1 -1
  56. package/dist/model_providers/openrouter.js +3 -3
  57. package/dist/model_providers/openrouter.js.map +1 -1
  58. package/dist/model_providers/test_provider.d.ts +3 -5
  59. package/dist/model_providers/test_provider.d.ts.map +1 -1
  60. package/dist/model_providers/test_provider.js +9 -17
  61. package/dist/model_providers/test_provider.js.map +1 -1
  62. package/dist/tsconfig.tsbuildinfo +1 -1
  63. package/dist/types/api_types.d.ts +1 -1
  64. package/dist/types/api_types.d.ts.map +1 -1
  65. package/dist/types/tool_types.d.ts +1 -99
  66. package/dist/types/tool_types.d.ts.map +1 -1
  67. package/dist/types/tool_types.js +1 -10
  68. package/dist/types/tool_types.js.map +1 -1
  69. package/dist/{types.d.ts → types/types.d.ts} +82 -32
  70. package/dist/types/types.d.ts.map +1 -0
  71. package/dist/types/types.js.map +1 -0
  72. package/dist/utils/agent.d.ts +41 -0
  73. package/dist/utils/agent.d.ts.map +1 -0
  74. package/dist/utils/agent.js +342 -0
  75. package/dist/utils/agent.js.map +1 -0
  76. package/dist/utils/communication.d.ts +0 -1
  77. package/dist/utils/communication.d.ts.map +1 -1
  78. package/dist/utils/communication.js +1 -4
  79. package/dist/utils/communication.js.map +1 -1
  80. package/dist/utils/cost_tracker.d.ts +1 -1
  81. package/dist/utils/cost_tracker.d.ts.map +1 -1
  82. package/dist/utils/cost_tracker.js +1 -1
  83. package/dist/utils/cost_tracker.js.map +1 -1
  84. package/dist/utils/create_tool_function.d.ts +1 -23
  85. package/dist/utils/create_tool_function.d.ts.map +1 -1
  86. package/dist/utils/create_tool_function.js +14 -3
  87. package/dist/utils/create_tool_function.js.map +1 -1
  88. package/dist/{external_models.d.ts → utils/external_models.d.ts} +1 -2
  89. package/dist/utils/external_models.d.ts.map +1 -0
  90. package/dist/{external_models.js → utils/external_models.js} +0 -3
  91. package/dist/utils/external_models.js.map +1 -0
  92. package/dist/utils/image_to_text.d.ts.map +1 -1
  93. package/dist/utils/image_to_text.js +3 -2
  94. package/dist/utils/image_to_text.js.map +1 -1
  95. package/dist/utils/image_utils.d.ts +1 -4
  96. package/dist/utils/image_utils.d.ts.map +1 -1
  97. package/dist/utils/image_utils.js +2 -10
  98. package/dist/utils/image_utils.js.map +1 -1
  99. package/dist/utils/llm_logger.d.ts +1 -1
  100. package/dist/utils/llm_logger.d.ts.map +1 -1
  101. package/dist/utils/llm_logger.js.map +1 -1
  102. package/dist/utils/message_history.d.ts +4 -4
  103. package/dist/utils/message_history.d.ts.map +1 -1
  104. package/dist/utils/message_history.js +18 -18
  105. package/dist/utils/message_history.js.map +1 -1
  106. package/dist/utils/quota_tracker.d.ts +1 -1
  107. package/dist/utils/quota_tracker.d.ts.map +1 -1
  108. package/dist/utils/quota_tracker.js +0 -1
  109. package/dist/utils/quota_tracker.js.map +1 -1
  110. package/dist/utils/running_tool_tracker.d.ts +42 -0
  111. package/dist/utils/running_tool_tracker.d.ts.map +1 -0
  112. package/dist/utils/running_tool_tracker.js +129 -0
  113. package/dist/utils/running_tool_tracker.js.map +1 -0
  114. package/dist/utils/sequential_queue.d.ts +13 -0
  115. package/dist/utils/sequential_queue.d.ts.map +1 -0
  116. package/dist/utils/sequential_queue.js +68 -0
  117. package/dist/utils/sequential_queue.js.map +1 -0
  118. package/dist/utils/state_manager.d.ts.map +1 -1
  119. package/dist/utils/state_manager.js.map +1 -1
  120. package/dist/utils/stream_converter.d.ts +2 -13
  121. package/dist/utils/stream_converter.d.ts.map +1 -1
  122. package/dist/utils/stream_converter.js +15 -37
  123. package/dist/utils/stream_converter.js.map +1 -1
  124. package/dist/utils/test_utils.d.ts +4 -4
  125. package/dist/utils/test_utils.d.ts.map +1 -1
  126. package/dist/utils/test_utils.js +17 -17
  127. package/dist/utils/test_utils.js.map +1 -1
  128. package/dist/utils/tool_execution_manager.d.ts +7 -0
  129. package/dist/utils/tool_execution_manager.d.ts.map +1 -0
  130. package/dist/utils/tool_execution_manager.js +145 -0
  131. package/dist/utils/tool_execution_manager.js.map +1 -0
  132. package/dist/utils/tool_parameter_utils.d.ts +2 -2
  133. package/dist/utils/tool_parameter_utils.d.ts.map +1 -1
  134. package/dist/utils/tool_parameter_utils.js +8 -4
  135. package/dist/utils/tool_parameter_utils.js.map +1 -1
  136. package/dist/utils/tool_result_processor.d.ts +6 -0
  137. package/dist/utils/tool_result_processor.d.ts.map +1 -0
  138. package/dist/utils/tool_result_processor.js +69 -0
  139. package/dist/utils/tool_result_processor.js.map +1 -0
  140. package/dist/utils/verification.d.ts +7 -0
  141. package/dist/utils/verification.d.ts.map +1 -0
  142. package/dist/utils/verification.js +43 -0
  143. package/dist/utils/verification.js.map +1 -0
  144. package/package.json +11 -10
  145. package/dist/cost_tracker.d.ts +0 -2
  146. package/dist/cost_tracker.d.ts.map +0 -1
  147. package/dist/cost_tracker.js +0 -2
  148. package/dist/cost_tracker.js.map +0 -1
  149. package/dist/errors.d.ts +0 -55
  150. package/dist/errors.d.ts.map +0 -1
  151. package/dist/errors.js +0 -134
  152. package/dist/errors.js.map +0 -1
  153. package/dist/external_models.d.ts.map +0 -1
  154. package/dist/external_models.js.map +0 -1
  155. package/dist/model_data.d.ts.map +0 -1
  156. package/dist/model_data.js.map +0 -1
  157. package/dist/model_providers/refactored_openai.d.ts +0 -22
  158. package/dist/model_providers/refactored_openai.d.ts.map +0 -1
  159. package/dist/model_providers/refactored_openai.js +0 -310
  160. package/dist/model_providers/refactored_openai.js.map +0 -1
  161. package/dist/openai-compat.d.ts +0 -79
  162. package/dist/openai-compat.d.ts.map +0 -1
  163. package/dist/openai-compat.js +0 -581
  164. package/dist/openai-compat.js.map +0 -1
  165. package/dist/test.d.ts +0 -5
  166. package/dist/test.d.ts.map +0 -1
  167. package/dist/test.js +0 -2
  168. package/dist/test.js.map +0 -1
  169. package/dist/types/extended_types.d.ts +0 -43
  170. package/dist/types/extended_types.d.ts.map +0 -1
  171. package/dist/types/extended_types.js +0 -2
  172. package/dist/types/extended_types.js.map +0 -1
  173. package/dist/types.d.ts.map +0 -1
  174. package/dist/types.js.map +0 -1
  175. package/dist/unified_request.d.ts +0 -19
  176. package/dist/unified_request.d.ts.map +0 -1
  177. package/dist/unified_request.js +0 -261
  178. package/dist/unified_request.js.map +0 -1
  179. package/dist/utils/async_queue.d.ts +0 -14
  180. package/dist/utils/async_queue.d.ts.map +0 -1
  181. package/dist/utils/async_queue.js +0 -68
  182. package/dist/utils/async_queue.js.map +0 -1
  183. package/dist/utils/cache.d.ts +0 -60
  184. package/dist/utils/cache.d.ts.map +0 -1
  185. package/dist/utils/cache.js +0 -205
  186. package/dist/utils/cache.js.map +0 -1
  187. package/dist/utils/error_handler.d.ts +0 -33
  188. package/dist/utils/error_handler.d.ts.map +0 -1
  189. package/dist/utils/error_handler.js +0 -84
  190. package/dist/utils/error_handler.js.map +0 -1
  191. package/dist/utils/tool_builder.d.ts +0 -51
  192. package/dist/utils/tool_builder.d.ts.map +0 -1
  193. package/dist/utils/tool_builder.js +0 -167
  194. package/dist/utils/tool_builder.js.map +0 -1
  195. package/dist/utils/tool_utils.d.ts +0 -13
  196. package/dist/utils/tool_utils.d.ts.map +0 -1
  197. package/dist/utils/tool_utils.js +0 -52
  198. package/dist/utils/tool_utils.js.map +0 -1
  199. package/dist/validation.d.ts +0 -1789
  200. package/dist/validation.d.ts.map +0 -1
  201. package/dist/validation.js +0 -289
  202. package/dist/validation.js.map +0 -1
  203. package/test.d.ts +0 -3
  204. package/test.js +0 -4
  205. /package/dist/{types.js → types/types.js} +0 -0
@@ -1,310 +0,0 @@
1
- import { BaseModelProvider } from './base_provider.js';
2
- import { validateMessages, validateTools, validateTemperature, validateMaxTokens } from '../validation.js';
3
- import { createProviderError } from '../errors.js';
4
- import OpenAI from 'openai';
5
- export class RefactoredOpenAIProvider extends BaseModelProvider {
6
- client;
7
- supportedModels = new Set([
8
- 'gpt-4o',
9
- 'gpt-4o-mini',
10
- 'gpt-4-turbo',
11
- 'gpt-3.5-turbo',
12
- 'o1-preview',
13
- 'o1-mini',
14
- 'o3-mini'
15
- ]);
16
- constructor() {
17
- super('openai');
18
- const apiKey = process.env.OPENAI_API_KEY;
19
- if (!apiKey) {
20
- throw new Error('OPENAI_API_KEY environment variable is required');
21
- }
22
- this.client = new OpenAI({ apiKey });
23
- }
24
- supportsModel(model) {
25
- return this.supportedModels.has(model);
26
- }
27
- async *createResponseStream(model, messages, agent) {
28
- const options = agent.modelSettings || {};
29
- const tools = await agent.getTools();
30
- let systemPrompt = '';
31
- const convertedMessages = [];
32
- for (const msg of messages) {
33
- if (msg.type === 'message' && msg.role === 'system') {
34
- systemPrompt = typeof msg.content === 'string' ? msg.content : '';
35
- }
36
- else {
37
- convertedMessages.push(msg);
38
- }
39
- }
40
- try {
41
- validateMessages(messages);
42
- if (tools.length > 0)
43
- validateTools(tools.map(t => t.definition));
44
- const openAIMessages = this.convertMessages(convertedMessages, systemPrompt);
45
- const openAITools = tools.length > 0 ? this.convertTools(tools) : undefined;
46
- const requestOptions = this.buildRequestOptions(model, openAIMessages, openAITools, options.tool_choice, options);
47
- const stream = await this.createStream(requestOptions);
48
- yield* this.processStream(stream, model);
49
- }
50
- catch (error) {
51
- yield this.handleError(error, 'OpenAI request failed');
52
- throw error;
53
- }
54
- }
55
- convertMessages(messages, systemPrompt) {
56
- const converted = [];
57
- if (systemPrompt) {
58
- converted.push({ role: 'system', content: systemPrompt });
59
- }
60
- for (const msg of messages) {
61
- converted.push(...this.convertMessage(msg));
62
- }
63
- return converted;
64
- }
65
- convertMessage(message) {
66
- switch (message.type) {
67
- case 'message':
68
- if ('content' in message && (message.role === 'user' || message.role === 'system')) {
69
- return [{
70
- role: message.role,
71
- content: this.convertContent(message.content)
72
- }];
73
- }
74
- else if ('content' in message && message.role === 'assistant') {
75
- return [{
76
- role: 'assistant',
77
- content: this.convertContent(message.content)
78
- }];
79
- }
80
- break;
81
- case 'function_call':
82
- return this.convertFunctionCall(message);
83
- case 'function_call_output':
84
- return this.convertFunctionOutput(message);
85
- }
86
- return [];
87
- }
88
- convertContent(content) {
89
- if (typeof content === 'string') {
90
- return content;
91
- }
92
- return content.map(item => {
93
- if (item.type === 'input_text') {
94
- return { type: 'text', text: item.text };
95
- }
96
- else if (item.type === 'input_image') {
97
- return {
98
- type: 'image_url',
99
- image_url: {
100
- url: item.image_url || `data:image/jpeg;base64,${item.file_id}`,
101
- detail: item.detail
102
- }
103
- };
104
- }
105
- return { type: 'text', text: '' };
106
- });
107
- }
108
- convertFunctionCall(call) {
109
- return [{
110
- role: 'assistant',
111
- content: null,
112
- tool_calls: [{
113
- index: 0,
114
- id: call.call_id,
115
- type: 'function',
116
- function: {
117
- name: call.name,
118
- arguments: call.arguments
119
- }
120
- }]
121
- }];
122
- }
123
- convertFunctionOutput(output) {
124
- return [{
125
- role: 'tool',
126
- content: output.output,
127
- tool_call_id: output.call_id
128
- }];
129
- }
130
- convertTools(tools) {
131
- return tools.map(tool => ({
132
- type: 'function',
133
- function: {
134
- name: tool.definition.function.name,
135
- description: tool.definition.function.description,
136
- parameters: tool.definition.function.parameters
137
- }
138
- }));
139
- }
140
- buildRequestOptions(model, messages, tools, toolChoice, options) {
141
- const params = {
142
- model,
143
- messages: messages,
144
- stream: true,
145
- temperature: validateTemperature(options?.temperature),
146
- max_tokens: validateMaxTokens(options?.max_tokens),
147
- top_p: options?.top_p,
148
- seed: options?.seed
149
- };
150
- if (tools && tools.length > 0) {
151
- params.tools = tools;
152
- params.tool_choice = this.convertToolChoice(toolChoice);
153
- }
154
- return params;
155
- }
156
- convertToolChoice(toolChoice) {
157
- if (!toolChoice)
158
- return 'auto';
159
- if (typeof toolChoice === 'string')
160
- return toolChoice;
161
- return {
162
- type: 'function',
163
- function: { name: toolChoice.function.name }
164
- };
165
- }
166
- async createStream(params) {
167
- const response = await this.client.chat.completions.create(params);
168
- return response;
169
- }
170
- async *processStream(stream, model) {
171
- const deltaBuffer = this.createDeltaBuffer();
172
- const toolCallAccumulator = new ToolCallAccumulator();
173
- let usage = null;
174
- try {
175
- for await (const chunk of stream) {
176
- yield* this.processChunk(chunk, deltaBuffer, toolCallAccumulator);
177
- if (chunk.usage) {
178
- usage = {
179
- inputTokens: chunk.usage.prompt_tokens,
180
- outputTokens: chunk.usage.completion_tokens,
181
- totalTokens: chunk.usage.total_tokens
182
- };
183
- }
184
- }
185
- const remainingText = deltaBuffer.flush();
186
- if (remainingText) {
187
- yield this.createTextEvent(remainingText);
188
- }
189
- yield* toolCallAccumulator.emitPendingCalls(this);
190
- if (usage) {
191
- yield this.createUsageEvent(usage.inputTokens, usage.outputTokens);
192
- }
193
- const finalText = deltaBuffer.flush();
194
- if (finalText) {
195
- yield {
196
- type: 'message_complete',
197
- content: finalText,
198
- message_id: 'msg_' + Date.now()
199
- };
200
- }
201
- }
202
- catch (error) {
203
- throw createProviderError('openai', error);
204
- }
205
- }
206
- *processChunk(chunk, deltaBuffer, toolCallAccumulator) {
207
- const choice = chunk.choices[0];
208
- if (!choice?.delta)
209
- return;
210
- if (choice.delta.content) {
211
- const flushed = deltaBuffer.add(choice.delta.content);
212
- if (flushed) {
213
- yield this.createTextEvent(flushed);
214
- }
215
- }
216
- if (choice.delta.tool_calls) {
217
- for (const toolCall of choice.delta.tool_calls) {
218
- toolCallAccumulator.accumulate(toolCall);
219
- }
220
- }
221
- }
222
- buildResponseTurn(model, text, toolCalls, usage) {
223
- const messages = [];
224
- if (text) {
225
- messages.push({
226
- type: 'message',
227
- role: 'assistant',
228
- content: text,
229
- status: 'completed',
230
- model
231
- });
232
- }
233
- for (const toolCall of toolCalls) {
234
- messages.push({
235
- type: 'function_call',
236
- call_id: toolCall.id,
237
- name: toolCall.name,
238
- arguments: JSON.stringify(toolCall.arguments),
239
- status: 'completed',
240
- model
241
- });
242
- }
243
- return {
244
- messages,
245
- usage: usage ? {
246
- input_tokens: usage.inputTokens,
247
- output_tokens: usage.outputTokens
248
- } : undefined
249
- };
250
- }
251
- }
252
- class ToolCallAccumulator {
253
- toolCalls = new Map();
254
- accumulate(toolCall) {
255
- const existing = this.toolCalls.get(toolCall.index) || {
256
- id: '',
257
- name: '',
258
- arguments: ''
259
- };
260
- if (toolCall.id)
261
- existing.id = toolCall.id;
262
- if (toolCall.function?.name)
263
- existing.name = toolCall.function.name;
264
- if (toolCall.function?.arguments)
265
- existing.arguments += toolCall.function.arguments;
266
- this.toolCalls.set(toolCall.index, existing);
267
- }
268
- *emitPendingCalls(provider) {
269
- for (const [_, toolCall] of this.toolCalls) {
270
- if (toolCall.id && toolCall.name && toolCall.arguments) {
271
- try {
272
- const params = JSON.parse(toolCall.arguments);
273
- yield {
274
- type: 'tool_start',
275
- tool_calls: [{
276
- id: toolCall.id,
277
- type: 'function',
278
- call_id: toolCall.id,
279
- function: {
280
- name: toolCall.name,
281
- arguments: toolCall.arguments
282
- }
283
- }]
284
- };
285
- }
286
- catch (e) {
287
- console.error(`Failed to parse tool arguments for ${toolCall.name}:`, e);
288
- }
289
- }
290
- }
291
- }
292
- getCompletedCalls() {
293
- const calls = [];
294
- for (const [_, toolCall] of this.toolCalls) {
295
- if (toolCall.id && toolCall.name && toolCall.arguments) {
296
- try {
297
- calls.push({
298
- id: toolCall.id,
299
- name: toolCall.name,
300
- arguments: JSON.parse(toolCall.arguments)
301
- });
302
- }
303
- catch (e) {
304
- }
305
- }
306
- }
307
- return calls;
308
- }
309
- }
310
- //# sourceMappingURL=refactored_openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"refactored_openai.js","sourceRoot":"","sources":["../../model_providers/refactored_openai.ts"],"names":[],"mappings":"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"}
@@ -1,79 +0,0 @@
1
- import OpenAI from 'openai';
2
- export type OpenAIMessage = OpenAI.Chat.ChatCompletionMessageParam;
3
- export type OpenAITool = OpenAI.Chat.ChatCompletionTool;
4
- export type ChatCompletion = OpenAI.Chat.ChatCompletion;
5
- export type ChatCompletionChunk = OpenAI.Chat.ChatCompletionChunk;
6
- export type ChatCompletionCreateParams = OpenAI.Chat.ChatCompletionCreateParams;
7
- export type CompletionCreateParams = OpenAI.Completions.CompletionCreateParams;
8
- export declare const chat: {
9
- completions: {
10
- create(params: OpenAI.Chat.ChatCompletionCreateParams): Promise<OpenAI.Chat.ChatCompletion | AsyncIterable<OpenAI.Chat.ChatCompletionChunk>>;
11
- };
12
- };
13
- export interface ResponsesCreateParams {
14
- model: string;
15
- input: string | OpenAI.Chat.ChatCompletionMessageParam[];
16
- instructions?: string;
17
- previous_response_id?: string;
18
- tools?: Array<{
19
- name: 'web_search' | 'file_search' | 'computer_use' | string;
20
- config?: Record<string, any>;
21
- }>;
22
- temperature?: number;
23
- max_tokens?: number;
24
- stream?: boolean;
25
- metadata?: Record<string, any>;
26
- }
27
- export interface ResponsesCreateResponse {
28
- id: string;
29
- object: 'response';
30
- created: number;
31
- model: string;
32
- content: string;
33
- tool_uses?: Array<{
34
- name: string;
35
- input: any;
36
- output: any;
37
- }>;
38
- usage: {
39
- prompt_tokens: number;
40
- completion_tokens: number;
41
- total_tokens: number;
42
- };
43
- metadata?: Record<string, any>;
44
- }
45
- export interface ResponsesCreateChunk {
46
- id: string;
47
- object: 'response.chunk';
48
- created: number;
49
- delta: {
50
- content?: string;
51
- tool_uses?: Array<{
52
- index: number;
53
- name?: string;
54
- input?: string;
55
- output?: string;
56
- }>;
57
- };
58
- }
59
- export declare const responses: {
60
- create(params: ResponsesCreateParams): Promise<ResponsesCreateResponse | AsyncIterable<ResponsesCreateChunk>>;
61
- };
62
- export declare const completions: {
63
- create(params: OpenAI.Completions.CompletionCreateParams): Promise<any>;
64
- };
65
- declare const OpenAIEnsemble: {
66
- chat: {
67
- completions: {
68
- create(params: OpenAI.Chat.ChatCompletionCreateParams): Promise<OpenAI.Chat.ChatCompletion | AsyncIterable<OpenAI.Chat.ChatCompletionChunk>>;
69
- };
70
- };
71
- completions: {
72
- create(params: OpenAI.Completions.CompletionCreateParams): Promise<any>;
73
- };
74
- responses: {
75
- create(params: ResponsesCreateParams): Promise<ResponsesCreateResponse | AsyncIterable<ResponsesCreateChunk>>;
76
- };
77
- };
78
- export default OpenAIEnsemble;
79
- //# sourceMappingURL=openai-compat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-compat.d.ts","sourceRoot":"","sources":["../openai-compat.ts"],"names":[],"mappings":"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"}