@mmmbuto/zai-codex-bridge 0.1.9 → 0.1.11

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/server.js +8 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmmbuto/zai-codex-bridge",
3
- "version": "0.1.9",
3
+ "version": "0.1.11",
4
4
  "description": "Local proxy that translates OpenAI Responses API format to Z.AI Chat Completions format for Codex",
5
5
  "main": "src/server.js",
6
6
  "bin": {
package/src/server.js CHANGED
@@ -287,15 +287,22 @@ async function streamChatToResponses(stream, res) {
287
287
  log('info', `Stream end received - wrote ${deltaCount} deltas total`);
288
288
 
289
289
  // Send response.completed event (required by Codex Responses API)
290
+ // Map Z.AI usage format to Responses API format
291
+ const zaiUsage = lastParsed?.usage;
290
292
  const completedEvent = {
291
293
  id: lastParsed?.id || 'msg_' + Date.now(),
292
- usage: lastParsed?.usage || {
294
+ usage: zaiUsage ? {
295
+ input_tokens: zaiUsage.prompt_tokens || 0,
296
+ output_tokens: zaiUsage.completion_tokens || 0,
297
+ total_tokens: zaiUsage.total_tokens || 0
298
+ } : {
293
299
  input_tokens: 0,
294
300
  output_tokens: 0,
295
301
  total_tokens: 0
296
302
  }
297
303
  };
298
304
 
305
+ log('info', 'Sending response.completed event:', JSON.stringify(completedEvent));
299
306
  res.write(`event: response.completed\n`);
300
307
  res.write(`data: ${JSON.stringify(completedEvent)}\n\n`);
301
308
  log('info', 'Sent response.completed event');