@cogitator-ai/core 0.19.4 → 0.21.0

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 (152) hide show
  1. package/README.md +48 -21
  2. package/dist/agent.d.ts +2 -2
  3. package/dist/agent.js +2 -2
  4. package/dist/cache/cache-key.js +1 -1
  5. package/dist/cache/cache-key.js.map +1 -1
  6. package/dist/cache/storage/redis.d.ts +1 -0
  7. package/dist/cache/storage/redis.d.ts.map +1 -1
  8. package/dist/cache/storage/redis.js +18 -1
  9. package/dist/cache/storage/redis.js.map +1 -1
  10. package/dist/causal/capabilities/causal-explainer.js +1 -1
  11. package/dist/causal/capabilities/causal-explainer.js.map +1 -1
  12. package/dist/causal/capabilities/causal-planner.js +1 -1
  13. package/dist/causal/capabilities/causal-planner.js.map +1 -1
  14. package/dist/causal/capabilities/effect-predictor.js +1 -1
  15. package/dist/causal/capabilities/effect-predictor.js.map +1 -1
  16. package/dist/causal/discovery/causal-extractor.js +1 -1
  17. package/dist/causal/discovery/causal-extractor.js.map +1 -1
  18. package/dist/causal/discovery/causal-validator.js +1 -1
  19. package/dist/causal/discovery/causal-validator.js.map +1 -1
  20. package/dist/causal/discovery/hypothesis-generator.js +1 -1
  21. package/dist/causal/discovery/hypothesis-generator.js.map +1 -1
  22. package/dist/cogitator/initializers.d.ts +3 -2
  23. package/dist/cogitator/initializers.d.ts.map +1 -1
  24. package/dist/cogitator/initializers.js +18 -10
  25. package/dist/cogitator/initializers.js.map +1 -1
  26. package/dist/cogitator/message-builder.d.ts +8 -1
  27. package/dist/cogitator/message-builder.d.ts.map +1 -1
  28. package/dist/cogitator/message-builder.js +24 -2
  29. package/dist/cogitator/message-builder.js.map +1 -1
  30. package/dist/cogitator/span-factory.d.ts +1 -1
  31. package/dist/cogitator/span-factory.d.ts.map +1 -1
  32. package/dist/cogitator/span-factory.js +2 -2
  33. package/dist/cogitator/span-factory.js.map +1 -1
  34. package/dist/cogitator/streaming.d.ts.map +1 -1
  35. package/dist/cogitator/streaming.js +15 -2
  36. package/dist/cogitator/streaming.js.map +1 -1
  37. package/dist/cogitator/tool-executor.d.ts +4 -2
  38. package/dist/cogitator/tool-executor.d.ts.map +1 -1
  39. package/dist/cogitator/tool-executor.js +43 -23
  40. package/dist/cogitator/tool-executor.js.map +1 -1
  41. package/dist/constitutional/critique-reviser.js +2 -2
  42. package/dist/constitutional/critique-reviser.js.map +1 -1
  43. package/dist/constitutional/input-filter.js +1 -1
  44. package/dist/constitutional/input-filter.js.map +1 -1
  45. package/dist/constitutional/output-filter.js +1 -1
  46. package/dist/constitutional/output-filter.js.map +1 -1
  47. package/dist/context/context-manager.d.ts.map +1 -1
  48. package/dist/context/context-manager.js +24 -3
  49. package/dist/context/context-manager.js.map +1 -1
  50. package/dist/cost-routing/model-selector.d.ts.map +1 -1
  51. package/dist/cost-routing/model-selector.js +24 -2
  52. package/dist/cost-routing/model-selector.js.map +1 -1
  53. package/dist/index.d.ts +1 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +1 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/learning/postgres-trace-store.js +3 -3
  58. package/dist/learning/postgres-trace-store.js.map +1 -1
  59. package/dist/llm/anthropic.d.ts +12 -1
  60. package/dist/llm/anthropic.d.ts.map +1 -1
  61. package/dist/llm/anthropic.js +189 -132
  62. package/dist/llm/anthropic.js.map +1 -1
  63. package/dist/llm/bedrock.d.ts +15 -1
  64. package/dist/llm/bedrock.d.ts.map +1 -1
  65. package/dist/llm/bedrock.js +203 -159
  66. package/dist/llm/bedrock.js.map +1 -1
  67. package/dist/llm/claude-json-schema.d.ts +9 -0
  68. package/dist/llm/claude-json-schema.d.ts.map +1 -0
  69. package/dist/llm/claude-json-schema.js +102 -0
  70. package/dist/llm/claude-json-schema.js.map +1 -0
  71. package/dist/llm/claude-models.d.ts +74 -0
  72. package/dist/llm/claude-models.d.ts.map +1 -0
  73. package/dist/llm/claude-models.js +179 -0
  74. package/dist/llm/claude-models.js.map +1 -0
  75. package/dist/llm/google.d.ts +1 -0
  76. package/dist/llm/google.d.ts.map +1 -1
  77. package/dist/llm/google.js +58 -28
  78. package/dist/llm/google.js.map +1 -1
  79. package/dist/llm/index.d.ts +1 -0
  80. package/dist/llm/index.d.ts.map +1 -1
  81. package/dist/llm/index.js +2 -0
  82. package/dist/llm/index.js.map +1 -1
  83. package/dist/llm/ollama.d.ts.map +1 -1
  84. package/dist/llm/ollama.js +26 -9
  85. package/dist/llm/ollama.js.map +1 -1
  86. package/dist/llm/openai-compatible-base.d.ts +11 -0
  87. package/dist/llm/openai-compatible-base.d.ts.map +1 -1
  88. package/dist/llm/openai-compatible-base.js +44 -8
  89. package/dist/llm/openai-compatible-base.js.map +1 -1
  90. package/dist/llm/openai-responses.d.ts +18 -0
  91. package/dist/llm/openai-responses.d.ts.map +1 -0
  92. package/dist/llm/openai-responses.js +382 -0
  93. package/dist/llm/openai-responses.js.map +1 -0
  94. package/dist/llm/openai.d.ts +17 -1
  95. package/dist/llm/openai.d.ts.map +1 -1
  96. package/dist/llm/openai.js +69 -0
  97. package/dist/llm/openai.js.map +1 -1
  98. package/dist/runtime.d.ts +1 -1
  99. package/dist/runtime.d.ts.map +1 -1
  100. package/dist/runtime.js +33 -14
  101. package/dist/runtime.js.map +1 -1
  102. package/dist/security/classifiers/llm-classifier.js +1 -1
  103. package/dist/security/classifiers/llm-classifier.js.map +1 -1
  104. package/dist/tools/audio-generate.d.ts +1 -1
  105. package/dist/tools/audio-generate.d.ts.map +1 -1
  106. package/dist/tools/audio-generate.js +3 -3
  107. package/dist/tools/audio-generate.js.map +1 -1
  108. package/dist/tools/audio-transcribe.d.ts +16 -2
  109. package/dist/tools/audio-transcribe.d.ts.map +1 -1
  110. package/dist/tools/audio-transcribe.js +79 -49
  111. package/dist/tools/audio-transcribe.js.map +1 -1
  112. package/dist/tools/datetime.d.ts +2 -2
  113. package/dist/tools/email.d.ts.map +1 -1
  114. package/dist/tools/email.js +3 -1
  115. package/dist/tools/email.js.map +1 -1
  116. package/dist/tools/github.js +1 -1
  117. package/dist/tools/github.js.map +1 -1
  118. package/dist/tools/http.d.ts.map +1 -1
  119. package/dist/tools/http.js +14 -8
  120. package/dist/tools/http.js.map +1 -1
  121. package/dist/tools/image-analyze.d.ts +1 -5
  122. package/dist/tools/image-analyze.d.ts.map +1 -1
  123. package/dist/tools/image-analyze.js +2 -2
  124. package/dist/tools/image-analyze.js.map +1 -1
  125. package/dist/tools/image-generate.d.ts +52 -9
  126. package/dist/tools/image-generate.d.ts.map +1 -1
  127. package/dist/tools/image-generate.js +102 -28
  128. package/dist/tools/image-generate.js.map +1 -1
  129. package/dist/tools/index.d.ts +2 -2
  130. package/dist/tools/self-tools.d.ts.map +1 -1
  131. package/dist/tools/self-tools.js +29 -15
  132. package/dist/tools/self-tools.js.map +1 -1
  133. package/dist/tools/sql-query.d.ts.map +1 -1
  134. package/dist/tools/sql-query.js +25 -3
  135. package/dist/tools/sql-query.js.map +1 -1
  136. package/dist/tools/vector-search.d.ts.map +1 -1
  137. package/dist/tools/vector-search.js +14 -6
  138. package/dist/tools/vector-search.js.map +1 -1
  139. package/dist/tools/web-search.d.ts.map +1 -1
  140. package/dist/tools/web-search.js +5 -3
  141. package/dist/tools/web-search.js.map +1 -1
  142. package/dist/utils/audio-fetch.d.ts.map +1 -1
  143. package/dist/utils/audio-fetch.js +5 -1
  144. package/dist/utils/audio-fetch.js.map +1 -1
  145. package/dist/utils/image-fetch.d.ts.map +1 -1
  146. package/dist/utils/image-fetch.js +9 -1
  147. package/dist/utils/image-fetch.js.map +1 -1
  148. package/dist/utils/tool-history.d.ts +12 -0
  149. package/dist/utils/tool-history.d.ts.map +1 -0
  150. package/dist/utils/tool-history.js +76 -0
  151. package/dist/utils/tool-history.js.map +1 -0
  152. package/package.json +23 -21
@@ -0,0 +1,382 @@
1
+ import { z } from 'zod';
2
+ import { createLLMError, llmInvalidResponse } from './errors.js';
3
+ import { parseToolCallArguments } from './openai-compatible-base.js';
4
+ export const DEFAULT_OPENAI_MODEL = 'gpt-6.1-sol';
5
+ const REASONING_MODEL_PATTERN = /^(?:ft:)?(?:o\d|gpt-(?:[5-9]|\d{2,}))/;
6
+ const CHAT_VARIANT_PATTERN = /-chat(?:-|$)/;
7
+ /**
8
+ * Reasoning models (o-series, GPT-5 and later) reject sampling parameters and return
9
+ * reasoning items that have to be replayed between tool-call turns.
10
+ */
11
+ export function isOpenAIReasoningModel(model) {
12
+ const id = model.toLowerCase();
13
+ return REASONING_MODEL_PATTERN.test(id) && !CHAT_VARIANT_PATTERN.test(id);
14
+ }
15
+ export function buildResponsesParams(request, model) {
16
+ const reasoning = isOpenAIReasoningModel(model);
17
+ const { instructions, input } = toResponsesInput(request.messages, reasoning);
18
+ return {
19
+ model,
20
+ input,
21
+ ...(instructions ? { instructions } : {}),
22
+ tools: request.tools?.length ? request.tools.map(toFunctionTool) : undefined,
23
+ tool_choice: toToolChoice(request.toolChoice),
24
+ max_output_tokens: request.maxTokens,
25
+ text: toTextConfig(request.responseFormat),
26
+ store: false,
27
+ ...(reasoning
28
+ ? { include: ['reasoning.encrypted_content'] }
29
+ : { temperature: request.temperature, top_p: request.topP }),
30
+ };
31
+ }
32
+ export function parseResponsesResponse(response, ctx) {
33
+ if (response.status === 'failed') {
34
+ throw toResponsesError(response.error, ctx);
35
+ }
36
+ const { content, toolCalls } = parseOutput(response.output, ctx);
37
+ return {
38
+ id: response.id,
39
+ content,
40
+ toolCalls: toolCalls.length > 0 ? toolCalls : undefined,
41
+ finishReason: toFinishReason(response, toolCalls.length > 0),
42
+ usage: toUsage(response.usage),
43
+ };
44
+ }
45
+ /**
46
+ * Translate Responses API server-sent events into Cogitator stream chunks: text deltas are
47
+ * forwarded as they arrive, tool calls and usage are emitted once with the terminal chunk.
48
+ */
49
+ export async function* readResponsesStream(stream, ctx) {
50
+ const items = new Map();
51
+ let responseId = '';
52
+ for await (const event of stream) {
53
+ switch (event.type) {
54
+ case 'response.created':
55
+ case 'response.in_progress':
56
+ responseId = event.response.id;
57
+ break;
58
+ case 'response.output_text.delta':
59
+ case 'response.refusal.delta':
60
+ if (event.delta) {
61
+ yield { id: responseId, delta: { content: event.delta } };
62
+ }
63
+ break;
64
+ case 'response.output_item.added':
65
+ case 'response.output_item.done':
66
+ items.set(event.output_index, event.item);
67
+ break;
68
+ case 'response.function_call_arguments.delta': {
69
+ const item = items.get(event.output_index);
70
+ if (item?.type === 'function_call') {
71
+ items.set(event.output_index, { ...item, arguments: item.arguments + event.delta });
72
+ }
73
+ break;
74
+ }
75
+ case 'response.function_call_arguments.done': {
76
+ const item = items.get(event.output_index);
77
+ if (item?.type === 'function_call') {
78
+ items.set(event.output_index, { ...item, arguments: event.arguments });
79
+ }
80
+ break;
81
+ }
82
+ case 'response.completed':
83
+ case 'response.incomplete': {
84
+ const response = event.response;
85
+ const output = response.output.length > 0
86
+ ? response.output
87
+ : [...items.entries()].sort(([a], [b]) => a - b).map(([, item]) => item);
88
+ const { toolCalls } = parseOutput(output, ctx);
89
+ yield {
90
+ id: response.id || responseId,
91
+ delta: toolCalls.length > 0 ? { toolCalls } : {},
92
+ finishReason: toFinishReason(response, toolCalls.length > 0),
93
+ usage: toUsage(response.usage),
94
+ };
95
+ return;
96
+ }
97
+ case 'response.failed':
98
+ throw toResponsesError(event.response.error, ctx);
99
+ case 'error':
100
+ throw toResponsesError({ code: event.code, message: event.message }, ctx);
101
+ }
102
+ }
103
+ throw llmInvalidResponse(ctx, 'Response stream ended before a terminal event');
104
+ }
105
+ function toResponsesInput(messages, replayReasoning) {
106
+ let start = 0;
107
+ const instructions = [];
108
+ while (start < messages.length && messages[start].role === 'system') {
109
+ const text = getTextContent(messages[start].content);
110
+ if (text)
111
+ instructions.push(text);
112
+ start++;
113
+ }
114
+ const input = messages.slice(start).flatMap((m) => toInputItems(m, replayReasoning));
115
+ return { instructions: instructions.length > 0 ? instructions.join('\n\n') : undefined, input };
116
+ }
117
+ function toInputItems(message, replayReasoning) {
118
+ switch (message.role) {
119
+ case 'system':
120
+ return [{ type: 'message', role: 'system', content: getTextContent(message.content) }];
121
+ case 'user':
122
+ return [{ type: 'message', role: 'user', content: toInputContent(message.content) }];
123
+ case 'tool':
124
+ return [
125
+ {
126
+ type: 'function_call_output',
127
+ call_id: message.toolCallId ?? '',
128
+ output: getTextContent(message.content),
129
+ },
130
+ ];
131
+ case 'assistant':
132
+ return toAssistantItems(message, replayReasoning);
133
+ }
134
+ }
135
+ function toAssistantItems(message, replayReasoning) {
136
+ const toolCalls = message.toolCalls ?? [];
137
+ const callItems = toolCalls.flatMap((tc) => [
138
+ ...toReplayItems(tc.replay, replayReasoning),
139
+ toFunctionCallItem(tc),
140
+ ]);
141
+ const text = getTextContent(message.content);
142
+ const textAlreadyReplayed = callItems.some((item) => item.type === 'message');
143
+ if (!text || textAlreadyReplayed) {
144
+ return callItems;
145
+ }
146
+ const textItem = { type: 'message', role: 'assistant', content: text };
147
+ return [textItem, ...callItems];
148
+ }
149
+ function toFunctionCallItem(toolCall) {
150
+ return {
151
+ type: 'function_call',
152
+ call_id: toolCall.id,
153
+ name: toolCall.name,
154
+ arguments: JSON.stringify(toolCall.arguments),
155
+ ...(toolCall.replay?.itemId ? { id: toolCall.replay.itemId } : {}),
156
+ };
157
+ }
158
+ const replayReasoningSchema = z.object({
159
+ type: z.literal('reasoning'),
160
+ id: z.string(),
161
+ summary: z.array(z.object({ type: z.literal('summary_text'), text: z.string() })),
162
+ encrypted_content: z.string().min(1),
163
+ });
164
+ const replayMessageSchema = z.object({
165
+ type: z.literal('message'),
166
+ id: z.string(),
167
+ role: z.literal('assistant'),
168
+ status: z.enum(['in_progress', 'completed', 'incomplete']),
169
+ content: z.array(z.discriminatedUnion('type', [
170
+ z.object({ type: z.literal('output_text'), text: z.string() }),
171
+ z.object({ type: z.literal('refusal'), refusal: z.string() }),
172
+ ])),
173
+ });
174
+ const replayItemSchema = z.discriminatedUnion('type', [replayReasoningSchema, replayMessageSchema]);
175
+ function toReplayItems(replay, replayReasoning) {
176
+ const items = [];
177
+ for (const raw of replay?.precedingItems ?? []) {
178
+ const parsed = replayItemSchema.safeParse(raw);
179
+ if (!parsed.success)
180
+ continue;
181
+ const item = parsed.data;
182
+ if (item.type === 'reasoning') {
183
+ if (!replayReasoning)
184
+ continue;
185
+ const reasoning = {
186
+ type: 'reasoning',
187
+ id: item.id,
188
+ summary: item.summary,
189
+ encrypted_content: item.encrypted_content,
190
+ };
191
+ items.push(reasoning);
192
+ }
193
+ else {
194
+ const output = {
195
+ type: 'message',
196
+ id: item.id,
197
+ role: 'assistant',
198
+ status: item.status,
199
+ content: item.content.map((part) => part.type === 'output_text'
200
+ ? { type: 'output_text', text: part.text, annotations: [] }
201
+ : { type: 'refusal', refusal: part.refusal }),
202
+ };
203
+ items.push(output);
204
+ }
205
+ }
206
+ return items;
207
+ }
208
+ function captureReasoning(item) {
209
+ if (!item.encrypted_content)
210
+ return undefined;
211
+ return {
212
+ type: 'reasoning',
213
+ id: item.id,
214
+ summary: item.summary.map((s) => ({ type: 'summary_text', text: s.text })),
215
+ encrypted_content: item.encrypted_content,
216
+ };
217
+ }
218
+ function captureMessage(item) {
219
+ return {
220
+ type: 'message',
221
+ id: item.id,
222
+ role: 'assistant',
223
+ status: item.status,
224
+ content: item.content.map((part) => part.type === 'output_text'
225
+ ? { type: 'output_text', text: part.text }
226
+ : { type: 'refusal', refusal: part.refusal }),
227
+ };
228
+ }
229
+ function parseOutput(output, ctx) {
230
+ let content = '';
231
+ const toolCalls = [];
232
+ let preceding = [];
233
+ for (const item of output) {
234
+ switch (item.type) {
235
+ case 'reasoning': {
236
+ const captured = captureReasoning(item);
237
+ if (captured)
238
+ preceding.push(captured);
239
+ break;
240
+ }
241
+ case 'message':
242
+ content += item.content
243
+ .map((part) => (part.type === 'output_text' ? part.text : part.refusal))
244
+ .join('');
245
+ preceding.push(captureMessage(item));
246
+ break;
247
+ case 'function_call': {
248
+ if (item.status === 'incomplete')
249
+ break;
250
+ const toolCall = {
251
+ id: item.call_id,
252
+ name: item.name,
253
+ arguments: parseToolCallArguments(item.arguments, ctx),
254
+ };
255
+ const replay = toReplayState(item.id, preceding);
256
+ if (replay)
257
+ toolCall.replay = replay;
258
+ toolCalls.push(toolCall);
259
+ preceding = [];
260
+ break;
261
+ }
262
+ }
263
+ }
264
+ return { content, toolCalls };
265
+ }
266
+ function toReplayState(itemId, precedingItems) {
267
+ if (!itemId && precedingItems.length === 0)
268
+ return undefined;
269
+ return {
270
+ ...(itemId ? { itemId } : {}),
271
+ ...(precedingItems.length > 0 ? { precedingItems } : {}),
272
+ };
273
+ }
274
+ function toFinishReason(response, hasToolCalls) {
275
+ switch (response.status) {
276
+ case 'incomplete':
277
+ return response.incomplete_details?.reason === 'content_filter' ? 'error' : 'length';
278
+ case 'failed':
279
+ case 'cancelled':
280
+ return 'error';
281
+ default:
282
+ return hasToolCalls ? 'tool_calls' : 'stop';
283
+ }
284
+ }
285
+ function toUsage(usage) {
286
+ if (!usage) {
287
+ return { inputTokens: 0, outputTokens: 0, totalTokens: 0 };
288
+ }
289
+ const cached = usage.input_tokens_details?.cached_tokens;
290
+ const reasoning = usage.output_tokens_details?.reasoning_tokens;
291
+ return {
292
+ inputTokens: usage.input_tokens,
293
+ outputTokens: usage.output_tokens,
294
+ totalTokens: usage.total_tokens,
295
+ ...(typeof cached === 'number' ? { cachedInputTokens: cached } : {}),
296
+ ...(typeof reasoning === 'number' ? { reasoningTokens: reasoning } : {}),
297
+ };
298
+ }
299
+ function toResponsesError(error, ctx) {
300
+ const code = error?.code ?? 'response_failed';
301
+ const message = error?.message ?? 'The model failed to generate a response';
302
+ return createLLMError(ctx, statusForErrorCode(code), `${code}: ${message}`);
303
+ }
304
+ function statusForErrorCode(code) {
305
+ switch (code) {
306
+ case 'rate_limit_exceeded':
307
+ return 429;
308
+ case 'server_error':
309
+ case 'vector_store_timeout':
310
+ return 500;
311
+ default:
312
+ return 400;
313
+ }
314
+ }
315
+ function toFunctionTool(tool) {
316
+ return {
317
+ type: 'function',
318
+ name: tool.name,
319
+ description: tool.description,
320
+ parameters: tool.parameters,
321
+ strict: false,
322
+ };
323
+ }
324
+ function toToolChoice(choice) {
325
+ if (!choice)
326
+ return undefined;
327
+ if (typeof choice === 'string')
328
+ return choice;
329
+ return { type: 'function', name: choice.function.name };
330
+ }
331
+ function toTextConfig(format) {
332
+ if (!format)
333
+ return undefined;
334
+ switch (format.type) {
335
+ case 'text':
336
+ return { format: { type: 'text' } };
337
+ case 'json_object':
338
+ return { format: { type: 'json_object' } };
339
+ case 'json_schema':
340
+ return {
341
+ format: {
342
+ type: 'json_schema',
343
+ name: format.jsonSchema.name,
344
+ description: format.jsonSchema.description,
345
+ schema: format.jsonSchema.schema,
346
+ strict: format.jsonSchema.strict ?? true,
347
+ },
348
+ };
349
+ }
350
+ }
351
+ function toInputContent(content) {
352
+ if (typeof content === 'string')
353
+ return content;
354
+ return content.map(toInputPart);
355
+ }
356
+ function toInputPart(part) {
357
+ switch (part.type) {
358
+ case 'text':
359
+ return { type: 'input_text', text: part.text };
360
+ case 'image_url':
361
+ return {
362
+ type: 'input_image',
363
+ image_url: part.image_url.url,
364
+ detail: part.image_url.detail ?? 'auto',
365
+ };
366
+ case 'image_base64':
367
+ return {
368
+ type: 'input_image',
369
+ image_url: `data:${part.image_base64.media_type};base64,${part.image_base64.data}`,
370
+ detail: 'auto',
371
+ };
372
+ }
373
+ }
374
+ function getTextContent(content) {
375
+ if (typeof content === 'string')
376
+ return content;
377
+ return content
378
+ .filter((part) => part.type === 'text')
379
+ .map((part) => part.text)
380
+ .join(' ');
381
+ }
382
+ //# sourceMappingURL=openai-responses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../src/llm/openai-responses.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,31 @@
1
1
  import OpenAI from 'openai';
2
- import type { LLMProvider } from '@cogitator-ai/types';
2
+ import type { ChatRequest, ChatResponse, ChatStreamChunk, LLMProvider, OpenAIWireApi } from '@cogitator-ai/types';
3
3
  import { OpenAICompatibleBackend } from './openai-compatible-base.js';
4
4
  interface OpenAIConfig {
5
5
  apiKey: string;
6
6
  baseUrl?: string;
7
7
  provider?: LLMProvider;
8
+ /**
9
+ * Wire API to use. Defaults to the Responses API for the official OpenAI endpoint and to
10
+ * Chat Completions for every other OpenAI-compatible server.
11
+ */
12
+ api?: OpenAIWireApi;
8
13
  }
9
14
  export declare class OpenAIBackend extends OpenAICompatibleBackend {
10
15
  readonly provider: LLMProvider;
16
+ readonly api: OpenAIWireApi;
11
17
  protected client: OpenAI;
18
+ protected readonly maxTokensField: 'max_tokens' | 'max_completion_tokens';
12
19
  constructor(config: OpenAIConfig);
20
+ protected resolveModel(request: ChatRequest): string;
21
+ chat(request: ChatRequest): Promise<ChatResponse>;
22
+ chatStream(request: ChatRequest): AsyncGenerator<ChatStreamChunk>;
23
+ /**
24
+ * The Responses API has no stop-sequence parameter, so requests that need one keep using
25
+ * Chat Completions, exactly as before the migration.
26
+ */
27
+ private usesResponses;
28
+ private errorContext;
13
29
  }
14
30
  export {};
15
31
  //# sourceMappingURL=openai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,qBAAa,aAAc,SAAQ,uBAAuB;IACxD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEb,MAAM,EAAE,YAAY;CAQjC"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EACZ,eAAe,EACf,WAAW,EACX,aAAa,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AASnE,UAAU,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB;;;OAGG;IACH,GAAG,CAAC,EAAE,aAAa,CAAC;CACrB;AAaD,qBAAa,aAAc,SAAQ,uBAAuB;IACxD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC;IAC5B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,mBAA4B,cAAc,EAAE,YAAY,GAAG,uBAAuB,CAAC;gBAEvE,MAAM,EAAE,YAAY;cAYb,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM;IAK9C,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAoBhD,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC;IAsBjF;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;CAGrB"}
@@ -1,15 +1,84 @@
1
1
  import OpenAI from 'openai';
2
2
  import { OpenAICompatibleBackend } from './openai-compatible-base.js';
3
+ import { DEFAULT_OPENAI_MODEL, buildResponsesParams, parseResponsesResponse, readResponsesStream, } from './openai-responses.js';
4
+ const OFFICIAL_OPENAI_HOST = 'api.openai.com';
5
+ function isOfficialEndpoint(baseUrl) {
6
+ if (!baseUrl)
7
+ return true;
8
+ try {
9
+ return new URL(baseUrl).hostname === OFFICIAL_OPENAI_HOST;
10
+ }
11
+ catch {
12
+ return false;
13
+ }
14
+ }
3
15
  export class OpenAIBackend extends OpenAICompatibleBackend {
4
16
  provider;
17
+ api;
5
18
  client;
19
+ maxTokensField;
6
20
  constructor(config) {
7
21
  super();
8
22
  this.provider = config.provider ?? 'openai';
23
+ const official = this.provider === 'openai' && isOfficialEndpoint(config.baseUrl);
24
+ this.maxTokensField = official ? 'max_completion_tokens' : 'max_tokens';
25
+ this.api = config.api ?? (official ? 'responses' : 'chat-completions');
9
26
  this.client = new OpenAI({
10
27
  apiKey: config.apiKey,
11
28
  baseURL: config.baseUrl,
12
29
  });
13
30
  }
31
+ resolveModel(request) {
32
+ if (request.model)
33
+ return request.model;
34
+ return this.provider === 'openai' ? DEFAULT_OPENAI_MODEL : request.model;
35
+ }
36
+ async chat(request) {
37
+ if (!this.usesResponses(request)) {
38
+ return super.chat(request);
39
+ }
40
+ const model = this.resolveModel(request);
41
+ const ctx = this.errorContext(model);
42
+ const params = { ...buildResponsesParams(request, model), stream: false };
43
+ let response;
44
+ try {
45
+ response = request.signal
46
+ ? await this.client.responses.create(params, { signal: request.signal })
47
+ : await this.client.responses.create(params);
48
+ }
49
+ catch (e) {
50
+ throw this.wrapAPIError(e, ctx);
51
+ }
52
+ return parseResponsesResponse(response, ctx);
53
+ }
54
+ async *chatStream(request) {
55
+ if (!this.usesResponses(request)) {
56
+ yield* super.chatStream(request);
57
+ return;
58
+ }
59
+ const model = this.resolveModel(request);
60
+ const ctx = this.errorContext(model);
61
+ const params = { ...buildResponsesParams(request, model), stream: true };
62
+ let stream;
63
+ try {
64
+ stream = request.signal
65
+ ? await this.client.responses.create(params, { signal: request.signal })
66
+ : await this.client.responses.create(params);
67
+ }
68
+ catch (e) {
69
+ throw this.wrapAPIError(e, ctx);
70
+ }
71
+ yield* readResponsesStream(stream, ctx);
72
+ }
73
+ /**
74
+ * The Responses API has no stop-sequence parameter, so requests that need one keep using
75
+ * Chat Completions, exactly as before the migration.
76
+ */
77
+ usesResponses(request) {
78
+ return this.api === 'responses' && !request.stop?.length;
79
+ }
80
+ errorContext(model) {
81
+ return { provider: this.provider, model, endpoint: this.client.baseURL };
82
+ }
14
83
  }
15
84
  //# sourceMappingURL=openai.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAQnE,MAAM,OAAO,aAAc,SAAQ,uBAAuB;IAC/C,QAAQ,CAAc;IACrB,MAAM,CAAS;IAEzB,YAAY,MAAoB;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/llm/openai.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -22,7 +22,7 @@ import { ToolRegistry } from './registry.js';
22
22
  *
23
23
  * const agent = new Agent({
24
24
  * name: 'assistant',
25
- * model: 'anthropic/claude-sonnet-4-20250514',
25
+ * model: 'anthropic/claude-sonnet-5-5',
26
26
  * instructions: 'You are a helpful assistant.',
27
27
  * });
28
28
  *
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,SAAS,EAIT,UAAU,EAMV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA0B1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAsC;IACtD,kDAAkD;IAClD,SAAgB,KAAK,EAAE,YAAY,CAAsB;IAEzD,OAAO,CAAC,KAAK,CAQX;IAEF,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,WAAW,CAAC,CAAgB;IAEpC;;;;;;;;;;OAUG;gBACS,MAAM,GAAE,eAAoB;IAIxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;YAwgBlD,aAAa;YAUb,gBAAgB;IA0B9B,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,aAAa;IAWrB;;;;;;;;OAQG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM;IAKjC;;;;;;;;OAQG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM;IAK1C;;;;OAIG;IACH,aAAa;IAIb;;;;;;;OAOG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAIjD;;;;OAIG;IACH,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC;;;;OAIG;IACH,aAAa;IAIb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,KAAK,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,eAAe,CAAC;KAC3B,GAAG,OAAO,CAAC,YAAY,CAAC;IAOzB;;;OAGG;IACH,IAAI,MAAM,IAAI,aAAa,GAAG,SAAS,CAEtC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,EAG5C;IAED,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU;IAIzE,IAAI,gBAAgB,wDAEnB;IAED;;;;;;;;;;;;;;;;OAgBG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,SAAS,EAIT,UAAU,EAMV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,aAAa,EACd,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA2B1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAsC;IACtD,kDAAkD;IAClD,SAAgB,KAAK,EAAE,YAAY,CAAsB;IAEzD,OAAO,CAAC,KAAK,CAQX;IAEF,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,WAAW,CAAC,CAAgB;IAEpC;;;;;;;;;;OAUG;gBACS,MAAM,GAAE,eAAoB;IAIxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;YAyiBlD,aAAa;YAUb,gBAAgB;IA0B9B,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,aAAa;IAWrB;;;;;;;;OAQG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM;IAKjC;;;;;;;;OAQG;IACG,oBAAoB,CAAC,OAAO,EAAE,MAAM;IAK1C;;;;OAIG;IACH,aAAa;IAIb;;;;;;;OAOG;IACH,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAIjD;;;;OAIG;IACH,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC;;;;OAIG;IACH,aAAa;IAIb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,KAAK,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,eAAe,CAAC;KAC3B,GAAG,OAAO,CAAC,YAAY,CAAC;IAOzB;;;OAGG;IACH,IAAI,MAAM,IAAI,aAAa,GAAG,SAAS,CAEtC;IAED,IAAI,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,EAG5C;IAED,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU;IAIzE,IAAI,gBAAgB,wDAEnB;IAED;;;;;;;;;;;;;;;;OAgBG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}