@tyvm/knowhow 0.0.155 → 0.0.157

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 (116) hide show
  1. package/package.json +1 -1
  2. package/src/agents/base/base.ts +15 -5
  3. package/src/agents/tools/index.ts +1 -0
  4. package/src/agents/tools/list.ts +2 -0
  5. package/src/agents/tools/loadImageAsBase64.ts +83 -0
  6. package/src/auth/keyAuth.ts +5 -5
  7. package/src/chat/modules/AgentModule.ts +3 -3
  8. package/src/chat/modules/RemoteSyncModule.ts +45 -17
  9. package/src/clients/anthropic.ts +156 -79
  10. package/src/clients/attribution.ts +53 -0
  11. package/src/clients/http.ts +211 -84
  12. package/src/clients/index.ts +21 -9
  13. package/src/clients/openai.ts +441 -220
  14. package/src/clients/openrouter.ts +10 -3
  15. package/src/clients/pricing/openai.ts +15 -1
  16. package/src/clients/pricing/types.ts +15 -0
  17. package/src/clients/responseMetadata.ts +221 -0
  18. package/src/clients/types.ts +49 -4
  19. package/src/commands/services.ts +23 -18
  20. package/src/login.ts +22 -6
  21. package/src/processors/Base64ImageDetector.ts +12 -11
  22. package/src/tunnel.ts +13 -3
  23. package/tests/processors/Base64ImageDetector.test.ts +32 -0
  24. package/tests/unit/agents/tools/loadImageAsBase64.test.ts +44 -0
  25. package/tests/unit/auth/keyAuth.test.ts +21 -0
  26. package/tests/unit/clients/anthropic.responseMetadata.test.ts +81 -0
  27. package/tests/unit/clients/attribution.test.ts +185 -0
  28. package/tests/unit/clients/http.responseMetadata.test.ts +86 -0
  29. package/tests/unit/clients/openai.responseMetadata.test.ts +90 -0
  30. package/tests/unit/clients/responseMetadata.test.ts +123 -0
  31. package/tests/unit/login.test.ts +39 -1
  32. package/tests/unit/services/Mcp.test.ts +56 -0
  33. package/tests/unit/tunnel.test.ts +51 -0
  34. package/ts_build/package.json +1 -1
  35. package/ts_build/src/agents/base/base.js +14 -4
  36. package/ts_build/src/agents/base/base.js.map +1 -1
  37. package/ts_build/src/agents/tools/index.d.ts +1 -0
  38. package/ts_build/src/agents/tools/index.js +1 -0
  39. package/ts_build/src/agents/tools/index.js.map +1 -1
  40. package/ts_build/src/agents/tools/list.js +2 -0
  41. package/ts_build/src/agents/tools/list.js.map +1 -1
  42. package/ts_build/src/agents/tools/loadImageAsBase64.d.ts +3 -0
  43. package/ts_build/src/agents/tools/loadImageAsBase64.js +79 -0
  44. package/ts_build/src/agents/tools/loadImageAsBase64.js.map +1 -0
  45. package/ts_build/src/auth/keyAuth.js +5 -5
  46. package/ts_build/src/auth/keyAuth.js.map +1 -1
  47. package/ts_build/src/chat/modules/AgentModule.js +3 -3
  48. package/ts_build/src/chat/modules/AgentModule.js.map +1 -1
  49. package/ts_build/src/chat/modules/RemoteSyncModule.d.ts +1 -0
  50. package/ts_build/src/chat/modules/RemoteSyncModule.js +19 -7
  51. package/ts_build/src/chat/modules/RemoteSyncModule.js.map +1 -1
  52. package/ts_build/src/clients/anthropic.d.ts +1 -0
  53. package/ts_build/src/clients/anthropic.js +83 -38
  54. package/ts_build/src/clients/anthropic.js.map +1 -1
  55. package/ts_build/src/clients/attribution.d.ts +2 -0
  56. package/ts_build/src/clients/attribution.js +32 -0
  57. package/ts_build/src/clients/attribution.js.map +1 -0
  58. package/ts_build/src/clients/http.js +100 -20
  59. package/ts_build/src/clients/http.js.map +1 -1
  60. package/ts_build/src/clients/index.d.ts +2 -1
  61. package/ts_build/src/clients/index.js +6 -2
  62. package/ts_build/src/clients/index.js.map +1 -1
  63. package/ts_build/src/clients/openai.d.ts +2 -1
  64. package/ts_build/src/clients/openai.js +225 -99
  65. package/ts_build/src/clients/openai.js.map +1 -1
  66. package/ts_build/src/clients/openrouter.d.ts +2 -2
  67. package/ts_build/src/clients/openrouter.js +6 -2
  68. package/ts_build/src/clients/openrouter.js.map +1 -1
  69. package/ts_build/src/clients/pricing/openai.js +15 -1
  70. package/ts_build/src/clients/pricing/openai.js.map +1 -1
  71. package/ts_build/src/clients/pricing/types.d.ts +6 -0
  72. package/ts_build/src/clients/pricing/types.js.map +1 -1
  73. package/ts_build/src/clients/responseMetadata.d.ts +15 -0
  74. package/ts_build/src/clients/responseMetadata.js +141 -0
  75. package/ts_build/src/clients/responseMetadata.js.map +1 -0
  76. package/ts_build/src/clients/types.d.ts +18 -1
  77. package/ts_build/src/clients/types.js +2 -1
  78. package/ts_build/src/clients/types.js.map +1 -1
  79. package/ts_build/src/commands/services.js +15 -8
  80. package/ts_build/src/commands/services.js.map +1 -1
  81. package/ts_build/src/login.js +19 -5
  82. package/ts_build/src/login.js.map +1 -1
  83. package/ts_build/src/processors/Base64ImageDetector.js +7 -3
  84. package/ts_build/src/processors/Base64ImageDetector.js.map +1 -1
  85. package/ts_build/src/tunnel.js +9 -1
  86. package/ts_build/src/tunnel.js.map +1 -1
  87. package/ts_build/tests/processors/Base64ImageDetector.test.js +28 -0
  88. package/ts_build/tests/processors/Base64ImageDetector.test.js.map +1 -1
  89. package/ts_build/tests/unit/agents/tools/loadImageAsBase64.test.d.ts +1 -0
  90. package/ts_build/tests/unit/agents/tools/loadImageAsBase64.test.js +67 -0
  91. package/ts_build/tests/unit/agents/tools/loadImageAsBase64.test.js.map +1 -0
  92. package/ts_build/tests/unit/auth/keyAuth.test.js +21 -0
  93. package/ts_build/tests/unit/auth/keyAuth.test.js.map +1 -1
  94. package/ts_build/tests/unit/clients/anthropic.responseMetadata.test.d.ts +1 -0
  95. package/ts_build/tests/unit/clients/anthropic.responseMetadata.test.js +77 -0
  96. package/ts_build/tests/unit/clients/anthropic.responseMetadata.test.js.map +1 -0
  97. package/ts_build/tests/unit/clients/attribution.test.d.ts +1 -0
  98. package/ts_build/tests/unit/clients/attribution.test.js +153 -0
  99. package/ts_build/tests/unit/clients/attribution.test.js.map +1 -0
  100. package/ts_build/tests/unit/clients/http.responseMetadata.test.d.ts +1 -0
  101. package/ts_build/tests/unit/clients/http.responseMetadata.test.js +77 -0
  102. package/ts_build/tests/unit/clients/http.responseMetadata.test.js.map +1 -0
  103. package/ts_build/tests/unit/clients/openai.responseMetadata.test.d.ts +1 -0
  104. package/ts_build/tests/unit/clients/openai.responseMetadata.test.js +86 -0
  105. package/ts_build/tests/unit/clients/openai.responseMetadata.test.js.map +1 -0
  106. package/ts_build/tests/unit/clients/responseMetadata.test.d.ts +1 -0
  107. package/ts_build/tests/unit/clients/responseMetadata.test.js +96 -0
  108. package/ts_build/tests/unit/clients/responseMetadata.test.js.map +1 -0
  109. package/ts_build/tests/unit/login.test.js +29 -1
  110. package/ts_build/tests/unit/login.test.js.map +1 -1
  111. package/ts_build/tests/unit/services/Mcp.test.d.ts +1 -0
  112. package/ts_build/tests/unit/services/Mcp.test.js +45 -0
  113. package/ts_build/tests/unit/services/Mcp.test.js.map +1 -0
  114. package/ts_build/tests/unit/tunnel.test.d.ts +1 -0
  115. package/ts_build/tests/unit/tunnel.test.js +47 -0
  116. package/ts_build/tests/unit/tunnel.test.js.map +1 -0
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.GenericOpenAiClient = void 0;
7
7
  const openai_1 = __importDefault(require("openai"));
8
8
  const config_1 = require("../config");
9
+ const responseMetadata_1 = require("./responseMetadata");
9
10
  const pricing_1 = require("./pricing");
10
11
  const contextLimits_1 = require("./contextLimits");
11
12
  const types_1 = require("../types");
@@ -16,10 +17,25 @@ class GenericOpenAiClient {
16
17
  constructor(apiKey = process.env.OPENAI_KEY) {
17
18
  this.setKey(apiKey);
18
19
  }
20
+ emitErrorMetadata(options, error) {
21
+ if (!error || typeof error !== "object")
22
+ return;
23
+ const apiError = error;
24
+ const statusCode = apiError.status ?? apiError.response?.status;
25
+ const headers = apiError.headers ?? apiError.response?.headers;
26
+ if (typeof statusCode === "number" || headers) {
27
+ (0, responseMetadata_1.emitResponseMetadata)(options, {
28
+ statusCode,
29
+ headers,
30
+ requestId: apiError.request_id ?? apiError.requestID,
31
+ });
32
+ }
33
+ }
19
34
  setKey(apiKey) {
20
35
  this.apiKey = apiKey;
21
36
  this.client = new openai_1.default({
22
37
  apiKey,
38
+ maxRetries: 0,
23
39
  ...(config?.openaiBaseUrl && { baseURL: config.openaiBaseUrl }),
24
40
  });
25
41
  }
@@ -90,10 +106,12 @@ class GenericOpenAiClient {
90
106
  content: Array.isArray(msg.content)
91
107
  ? textParts.length
92
108
  ? textParts
93
- : [{
109
+ : [
110
+ {
94
111
  type: "text",
95
112
  text: "Image output attached in the following user message.",
96
- }]
113
+ },
114
+ ]
97
115
  : msg.content || "",
98
116
  };
99
117
  if (!imageParts.length)
@@ -130,20 +148,36 @@ class GenericOpenAiClient {
130
148
  return this.createChatResponse(options);
131
149
  }
132
150
  const openaiMessages = this.toChatCompletionMessages(options.messages);
133
- const response = await this.client.chat.completions.create({
134
- model: options.model,
135
- messages: openaiMessages,
136
- max_tokens: options.max_tokens,
137
- ...(types_1.OpenAiReasoningModels.includes(options.model) && !this.isReasoningDisabled(options) && {
138
- max_tokens: undefined,
139
- max_completion_tokens: Math.max(options.max_tokens ?? 0, 16_000),
140
- reasoning_effort: this.resolveReasoningEffort(options),
141
- }),
142
- ...(options.tools?.length && {
143
- tools: options.tools,
144
- tool_choice: options.tool_choice ?? "auto",
145
- }),
146
- }, { signal: options.signal });
151
+ let result;
152
+ try {
153
+ result = await this.client.chat.completions
154
+ .create({
155
+ model: options.model,
156
+ messages: openaiMessages,
157
+ max_tokens: options.max_tokens,
158
+ ...(types_1.OpenAiReasoningModels.includes(options.model) &&
159
+ !this.isReasoningDisabled(options) && {
160
+ max_tokens: undefined,
161
+ max_completion_tokens: Math.max(options.max_tokens ?? 0, 16_000),
162
+ reasoning_effort: this.resolveReasoningEffort(options),
163
+ }),
164
+ ...(options.tools?.length && {
165
+ tools: options.tools,
166
+ tool_choice: options.tool_choice ?? "auto",
167
+ }),
168
+ }, { signal: options.signal })
169
+ .withResponse();
170
+ }
171
+ catch (error) {
172
+ this.emitErrorMetadata(options, error);
173
+ throw error;
174
+ }
175
+ const { data: response, response: nativeResponse, request_id } = result;
176
+ (0, responseMetadata_1.emitResponseMetadata)(options, {
177
+ statusCode: nativeResponse.status,
178
+ headers: nativeResponse.headers,
179
+ requestId: request_id,
180
+ });
147
181
  const usdCost = this.calculateCost(options.model, response.usage);
148
182
  return {
149
183
  choices: response.choices.map((choice) => ({
@@ -156,19 +190,22 @@ class GenericOpenAiClient {
156
190
  },
157
191
  })),
158
192
  model: options.model,
159
- usage: response.usage ? {
160
- prompt_tokens: response.usage.prompt_tokens ?? 0,
161
- completion_tokens: response.usage.completion_tokens ?? 0,
162
- total_tokens: response.usage.total_tokens,
163
- prompt_tokens_details: {
164
- cached_tokens: response.usage.prompt_tokens_details?.cached_tokens ?? 0,
165
- },
166
- ...(response.usage.completion_tokens_details?.reasoning_tokens != null && {
167
- output_tokens_details: {
168
- reasoning_tokens: response.usage.completion_tokens_details.reasoning_tokens,
193
+ usage: response.usage
194
+ ? {
195
+ prompt_tokens: response.usage.prompt_tokens ?? 0,
196
+ completion_tokens: response.usage.completion_tokens ?? 0,
197
+ total_tokens: response.usage.total_tokens,
198
+ prompt_tokens_details: {
199
+ cached_tokens: response.usage.prompt_tokens_details?.cached_tokens ?? 0,
169
200
  },
170
- }),
171
- } : undefined,
201
+ ...(response.usage.completion_tokens_details?.reasoning_tokens !=
202
+ null && {
203
+ output_tokens_details: {
204
+ reasoning_tokens: response.usage.completion_tokens_details.reasoning_tokens,
205
+ },
206
+ }),
207
+ }
208
+ : undefined,
172
209
  usd_cost: usdCost,
173
210
  };
174
211
  }
@@ -180,17 +217,32 @@ class GenericOpenAiClient {
180
217
  return;
181
218
  }
182
219
  const openaiMessages = this.toChatCompletionMessages(options.messages);
183
- const stream = await this.client.chat.completions.create({
184
- model: options.model,
185
- messages: openaiMessages,
186
- max_tokens: options.max_tokens,
187
- stream: true,
188
- stream_options: { include_usage: true },
189
- ...(options.tools?.length && {
190
- tools: options.tools,
191
- tool_choice: options.tool_choice ?? "auto",
192
- }),
193
- }, { signal: options.signal });
220
+ let result;
221
+ try {
222
+ result = await this.client.chat.completions
223
+ .create({
224
+ model: options.model,
225
+ messages: openaiMessages,
226
+ max_tokens: options.max_tokens,
227
+ stream: true,
228
+ stream_options: { include_usage: true },
229
+ ...(options.tools?.length && {
230
+ tools: options.tools,
231
+ tool_choice: options.tool_choice ?? "auto",
232
+ }),
233
+ }, { signal: options.signal })
234
+ .withResponse();
235
+ }
236
+ catch (error) {
237
+ this.emitErrorMetadata(options, error);
238
+ throw error;
239
+ }
240
+ const { data: stream, response: nativeResponse, request_id } = result;
241
+ (0, responseMetadata_1.emitResponseMetadata)(options, {
242
+ statusCode: nativeResponse.status,
243
+ headers: nativeResponse.headers,
244
+ requestId: request_id,
245
+ });
194
246
  let usage;
195
247
  for await (const chunk of stream) {
196
248
  const delta = chunk.choices[0]?.delta?.content;
@@ -225,7 +277,7 @@ class GenericOpenAiClient {
225
277
  escaped = false;
226
278
  continue;
227
279
  }
228
- if (ch === '\\' && inString) {
280
+ if (ch === "\\" && inString) {
229
281
  escaped = true;
230
282
  continue;
231
283
  }
@@ -234,16 +286,16 @@ class GenericOpenAiClient {
234
286
  continue;
235
287
  }
236
288
  if (!inString) {
237
- if (ch === '{' || ch === '[')
289
+ if (ch === "{" || ch === "[")
238
290
  depth++;
239
- else if (ch === '}' || ch === ']')
291
+ else if (ch === "}" || ch === "]")
240
292
  depth--;
241
293
  }
242
294
  }
243
295
  if (inString)
244
296
  repaired += '"';
245
297
  for (let i = 0; i < depth; i++)
246
- repaired += '}';
298
+ repaired += "}";
247
299
  try {
248
300
  JSON.parse(repaired);
249
301
  return repaired;
@@ -255,7 +307,9 @@ class GenericOpenAiClient {
255
307
  }
256
308
  getReasoningItems(msg) {
257
309
  const details = msg._reasoning_details;
258
- if (details && details.provider === "openai" && Array.isArray(details.items)) {
310
+ if (details &&
311
+ details.provider === "openai" &&
312
+ Array.isArray(details.items)) {
259
313
  return details.items;
260
314
  }
261
315
  return msg._reasoning_items ?? [];
@@ -269,9 +323,11 @@ class GenericOpenAiClient {
269
323
  .trim() || undefined;
270
324
  const MAX_TOOL_OUTPUT = 10_485_000;
271
325
  const truncateToolOutput = (s) => s.length > MAX_TOOL_OUTPUT
272
- ? s.slice(0, MAX_TOOL_OUTPUT) + "\n\n[TRUNCATED: output exceeded 10MB API limit]"
326
+ ? s.slice(0, MAX_TOOL_OUTPUT) +
327
+ "\n\n[TRUNCATED: output exceeded 10MB API limit]"
273
328
  : s;
274
- const input = nonSystemMessages.map((msg) => {
329
+ const input = nonSystemMessages
330
+ .map((msg) => {
275
331
  if (msg.role === "tool") {
276
332
  const parts = Array.isArray(msg.content) ? msg.content : [];
277
333
  const imageParts = parts.filter((part) => part.type === "image_url");
@@ -319,7 +375,8 @@ class GenericOpenAiClient {
319
375
  role: msg.role,
320
376
  content: this.toResponseContent(msg.content),
321
377
  };
322
- }).flat();
378
+ })
379
+ .flat();
323
380
  const tools = options.tools?.map((tool) => ({
324
381
  type: "function",
325
382
  name: tool.function.name,
@@ -330,35 +387,51 @@ class GenericOpenAiClient {
330
387
  const store = options.store === true;
331
388
  const wantsReasoning = types_1.OpenAiReasoningModels.includes(options.model) &&
332
389
  !this.isReasoningDisabled(options);
333
- const response = await this.client.responses.create({
334
- model: options.model,
335
- input,
336
- ...(instructions && { instructions }),
337
- ...(store && { store: true }),
338
- ...(!store && { store: false }),
339
- ...(options.previous_response_id && {
340
- previous_response_id: options.previous_response_id,
341
- }),
342
- ...(!store && wantsReasoning && {
343
- include: ["reasoning.encrypted_content"],
344
- }),
345
- ...(types_1.OpenAiReasoningModels.includes(options.model) && {
346
- reasoning: {
347
- ...(this.isReasoningDisabled(options)
348
- ? { effort: "none" }
349
- : {
350
- effort: this.resolveReasoningEffortForModel(options),
351
- ...(options.reasoning_summary && { summary: "auto" }),
352
- }),
353
- },
354
- }),
355
- ...(wantsReasoning && {
356
- max_output_tokens: Math.max(options.max_tokens || 0, 16000),
357
- }),
358
- ...(tools?.length && {
359
- tools,
360
- tool_choice: options.tool_choice ?? "auto",
361
- }),
390
+ let result;
391
+ try {
392
+ result = await this.client.responses
393
+ .create({
394
+ model: options.model,
395
+ input,
396
+ ...(instructions && { instructions }),
397
+ ...(store && { store: true }),
398
+ ...(!store && { store: false }),
399
+ ...(options.previous_response_id && {
400
+ previous_response_id: options.previous_response_id,
401
+ }),
402
+ ...(!store &&
403
+ wantsReasoning && {
404
+ include: ["reasoning.encrypted_content"],
405
+ }),
406
+ ...(types_1.OpenAiReasoningModels.includes(options.model) && {
407
+ reasoning: {
408
+ ...(this.isReasoningDisabled(options)
409
+ ? { effort: "none" }
410
+ : {
411
+ effort: this.resolveReasoningEffortForModel(options),
412
+ ...(options.reasoning_summary && { summary: "auto" }),
413
+ }),
414
+ },
415
+ }),
416
+ ...(wantsReasoning && {
417
+ max_output_tokens: Math.max(options.max_tokens || 0, 16000),
418
+ }),
419
+ ...(tools?.length && {
420
+ tools,
421
+ tool_choice: options.tool_choice ?? "auto",
422
+ }),
423
+ })
424
+ .withResponse();
425
+ }
426
+ catch (error) {
427
+ this.emitErrorMetadata(options, error);
428
+ throw error;
429
+ }
430
+ const { data: response, response: nativeResponse, request_id } = result;
431
+ (0, responseMetadata_1.emitResponseMetadata)(options, {
432
+ statusCode: nativeResponse.status,
433
+ headers: nativeResponse.headers,
434
+ requestId: request_id,
362
435
  });
363
436
  const usage = response.usage
364
437
  ? {
@@ -368,9 +441,11 @@ class GenericOpenAiClient {
368
441
  prompt_tokens_details: {
369
442
  cached_tokens: response.usage.input_tokens_details?.cached_tokens ?? 0,
370
443
  },
371
- ...(response.usage.output_tokens_details?.reasoning_tokens != null && {
444
+ ...(response.usage.output_tokens_details?.reasoning_tokens !=
445
+ null && {
372
446
  output_tokens_details: {
373
- reasoning_tokens: response.usage.output_tokens_details.reasoning_tokens,
447
+ reasoning_tokens: response.usage.output_tokens_details
448
+ .reasoning_tokens,
374
449
  },
375
450
  }),
376
451
  }
@@ -488,7 +563,9 @@ class GenericOpenAiClient {
488
563
  async getModels(modality) {
489
564
  if (modality) {
490
565
  const map = {
491
- completion: [...new Set([...types_1.OpenAiChatModels, ...types_1.OpenAiResponsesOnlyModels])],
566
+ completion: [
567
+ ...new Set([...types_1.OpenAiChatModels, ...types_1.OpenAiResponsesOnlyModels]),
568
+ ],
492
569
  embedding: types_1.OpenAiEmbeddingModelsList,
493
570
  image: types_1.OpenAiImageModels,
494
571
  audio: [...types_1.OpenAiTTSModels, ...types_1.OpenAiTranscriptionModels],
@@ -503,9 +580,24 @@ class GenericOpenAiClient {
503
580
  }));
504
581
  }
505
582
  async createEmbedding(options) {
506
- const openAiEmbedding = await this.client.embeddings.create({
507
- input: options.input,
508
- model: options.model,
583
+ let result;
584
+ try {
585
+ result = await this.client.embeddings
586
+ .create({
587
+ input: options.input,
588
+ model: options.model,
589
+ })
590
+ .withResponse();
591
+ }
592
+ catch (error) {
593
+ this.emitErrorMetadata(options, error);
594
+ throw error;
595
+ }
596
+ const { data: openAiEmbedding, response: nativeResponse, request_id, } = result;
597
+ (0, responseMetadata_1.emitResponseMetadata)(options, {
598
+ statusCode: nativeResponse.status,
599
+ headers: nativeResponse.headers,
600
+ requestId: request_id,
509
601
  });
510
602
  return {
511
603
  data: openAiEmbedding.data,
@@ -520,15 +612,32 @@ class GenericOpenAiClient {
520
612
  const fileName = options.fileName || "audio.mp3";
521
613
  file = await openai_1.default.toFile(options.file, fileName);
522
614
  }
523
- const response = await this.client.audio.transcriptions.create({
524
- file,
525
- model: options.model || "whisper-1",
526
- language: options.language,
527
- prompt: options.prompt,
528
- response_format: options.response_format || "verbose_json",
529
- temperature: options.temperature,
530
- }, { signal: options.signal });
531
- const duration = typeof response === "object" && "duration" in response && typeof response.duration === "number"
615
+ let result;
616
+ try {
617
+ result = await this.client.audio.transcriptions
618
+ .create({
619
+ file,
620
+ model: options.model || "whisper-1",
621
+ language: options.language,
622
+ prompt: options.prompt,
623
+ response_format: options.response_format || "verbose_json",
624
+ temperature: options.temperature,
625
+ }, { signal: options.signal })
626
+ .withResponse();
627
+ }
628
+ catch (error) {
629
+ this.emitErrorMetadata(options, error);
630
+ throw error;
631
+ }
632
+ const { data: response, response: nativeResponse, request_id } = result;
633
+ (0, responseMetadata_1.emitResponseMetadata)(options, {
634
+ statusCode: nativeResponse.status,
635
+ headers: nativeResponse.headers,
636
+ requestId: request_id,
637
+ });
638
+ const duration = typeof response === "object" &&
639
+ "duration" in response &&
640
+ typeof response.duration === "number"
532
641
  ? response.duration
533
642
  : undefined;
534
643
  const usdCost = duration ? (duration / 60) * 0.006 : undefined;
@@ -548,13 +657,28 @@ class GenericOpenAiClient {
548
657
  };
549
658
  }
550
659
  async createAudioGeneration(options) {
551
- const response = await this.client.audio.speech.create({
552
- model: options.model,
553
- input: options.input,
554
- voice: options.voice,
555
- response_format: options.response_format || "mp3",
556
- speed: options.speed,
557
- }, { signal: options.signal });
660
+ let result;
661
+ try {
662
+ result = await this.client.audio.speech
663
+ .create({
664
+ model: options.model,
665
+ input: options.input,
666
+ voice: options.voice,
667
+ response_format: options.response_format || "mp3",
668
+ speed: options.speed,
669
+ }, { signal: options.signal })
670
+ .withResponse();
671
+ }
672
+ catch (error) {
673
+ this.emitErrorMetadata(options, error);
674
+ throw error;
675
+ }
676
+ const { data: response, response: nativeResponse, request_id } = result;
677
+ (0, responseMetadata_1.emitResponseMetadata)(options, {
678
+ statusCode: nativeResponse.status,
679
+ headers: nativeResponse.headers,
680
+ requestId: request_id,
681
+ });
558
682
  const buffer = Buffer.from(await response.arrayBuffer());
559
683
  const isHD = options.model.includes("hd");
560
684
  const pricePerMillion = isHD ? 30.0 : 15.0;
@@ -679,7 +803,9 @@ class GenericOpenAiClient {
679
803
  throw new Error("OpenAI API key not set");
680
804
  const formData = new FormData();
681
805
  formData.append("purpose", "assistants");
682
- const blob = new Blob([new Uint8Array(options.data)], { type: options.mimeType || "application/octet-stream" });
806
+ const blob = new Blob([new Uint8Array(options.data)], {
807
+ type: options.mimeType || "application/octet-stream",
808
+ });
683
809
  formData.append("file", blob, options.fileName || "upload");
684
810
  const response = await fetch("https://api.openai.com/v1/files", {
685
811
  method: "POST",
@@ -1 +1 @@
1
- {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/clients/openai.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/clients/openai.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { HttpClient } from "./http";
1
+ import { HttpClient, HttpClientOptions } from "./http";
2
2
  export declare class GenericOpenRouterClient extends HttpClient {
3
- constructor(apiKey?: string);
3
+ constructor(apiKey?: string, transportOptions?: HttpClientOptions);
4
4
  }
@@ -2,10 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GenericOpenRouterClient = void 0;
4
4
  const http_1 = require("./http");
5
+ const attribution_1 = require("./attribution");
5
6
  const openrouter_1 = require("./pricing/openrouter");
6
7
  class GenericOpenRouterClient extends http_1.HttpClient {
7
- constructor(apiKey = process.env.OPENROUTER_API_KEY) {
8
- super("https://openrouter.ai/api");
8
+ constructor(apiKey = process.env.OPENROUTER_API_KEY, transportOptions = {}) {
9
+ super("https://openrouter.ai/api", {
10
+ ...transportOptions,
11
+ headers: (0, attribution_1.withKnowhowAttribution)(transportOptions.headers),
12
+ });
9
13
  if (apiKey)
10
14
  this.setJwt(apiKey);
11
15
  this.setPrices(openrouter_1.OpenRouterTextPricing);
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/clients/openrouter.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AACpC,qDAA6D;AAS7D,MAAa,uBAAwB,SAAQ,iBAAU;IACrD,YAAY,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB;QACjD,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACnC,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,kCAAqB,CAAC,CAAC;IACxC,CAAC;CACF;AAND,0DAMC"}
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/clients/openrouter.ts"],"names":[],"mappings":";;;AAAA,iCAAuD;AACvD,+CAAuD;AACvD,qDAA6D;AAS7D,MAAa,uBAAwB,SAAQ,iBAAU;IACrD,YACE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EACvC,mBAAsC,EAAE;QAExC,KAAK,CAAC,2BAA2B,EAAE;YACjC,GAAG,gBAAgB;YACnB,OAAO,EAAE,IAAA,oCAAsB,EAAC,gBAAgB,CAAC,OAAO,CAAC;SAC1D,CAAC,CAAC;QACH,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,kCAAqB,CAAC,CAAC;IACxC,CAAC;CACF;AAZD,0DAYC"}
@@ -197,7 +197,21 @@ exports.OpenAiSearchModels = [
197
197
  exports.OpenAiModels.GPT_4o_Search,
198
198
  ];
199
199
  exports.OpenAiTextPricing = {
200
- [exports.OpenAiModels.GPT_56_Sol]: { input: 5.0, cached_input: 0.5, cache_write: 6.25, output: 30.0, input_gt_200k: 10.0, output_gt_200k: 45.0 },
200
+ [exports.OpenAiModels.GPT_56_Sol]: {
201
+ input: 4.0,
202
+ cached_input: 0.40,
203
+ cache_write: 5.00,
204
+ output: 30.0,
205
+ input_gt_200k: 10.0,
206
+ output_gt_200k: 30.0,
207
+ changelog: [
208
+ {
209
+ date: "2026-08-01",
210
+ note: "Launch pricing — promotional rates available through November 21, 2026",
211
+ pricing: { input: 5.0, cached_input: 0.5, cache_write: 6.25, output: 30.0, input_gt_200k: 10.0, output_gt_200k: 45.0 },
212
+ },
213
+ ],
214
+ },
201
215
  [exports.OpenAiModels.GPT_56_Terra]: { input: 2.0, cached_input: 0.20, cache_write: 2.5, output: 12.0, input_gt_200k: 4.0, output_gt_200k: 18.0 },
202
216
  [exports.OpenAiModels.GPT_56_Luna]: { input: 0.2, cached_input: 0.02, cache_write: 0.25, output: 1.2, input_gt_200k: 0.4, output_gt_200k: 1.8 },
203
217
  [exports.OpenAiModels.GPT_55]: { input: 5.0, cached_input: 0.5, output: 30.0 },