mimo2codex 0.1.14 → 0.1.16

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 (39) hide show
  1. package/AGENTS.md +24 -5
  2. package/README.md +46 -6
  3. package/README.zh.md +46 -6
  4. package/dist/admin/router.js +117 -2
  5. package/dist/admin/router.js.map +1 -1
  6. package/dist/cli.js +67 -147
  7. package/dist/cli.js.map +1 -1
  8. package/dist/config.js +16 -10
  9. package/dist/config.js.map +1 -1
  10. package/dist/db/logs.js +80 -0
  11. package/dist/db/logs.js.map +1 -1
  12. package/dist/providers/generic.js +96 -0
  13. package/dist/providers/generic.js.map +1 -0
  14. package/dist/providers/genericLoader.js +229 -0
  15. package/dist/providers/genericLoader.js.map +1 -0
  16. package/dist/providers/mimo.js +31 -0
  17. package/dist/providers/mimo.js.map +1 -1
  18. package/dist/providers/registry.js +48 -10
  19. package/dist/providers/registry.js.map +1 -1
  20. package/dist/server.js +269 -15
  21. package/dist/server.js.map +1 -1
  22. package/dist/setup/snippets.js +187 -0
  23. package/dist/setup/snippets.js.map +1 -0
  24. package/dist/translate/reqToChat.js +1 -1
  25. package/dist/translate/reqToChat.js.map +1 -1
  26. package/dist/upstream/openaiCompatClient.js +32 -11
  27. package/dist/upstream/openaiCompatClient.js.map +1 -1
  28. package/dist/web/assets/index-D19ffnSJ.css +1 -0
  29. package/dist/web/assets/index-DPLJprJ4.js +67 -0
  30. package/dist/web/index.html +2 -2
  31. package/doc/generic-providers.md +399 -0
  32. package/doc/generic-providers.zh.md +399 -0
  33. package/mimoskill/SKILL.md +69 -8
  34. package/mimoskill/references/ocr_workflow.md +216 -0
  35. package/mimoskill/scripts/generate_image.py +163 -0
  36. package/mimoskill/scripts/ocr.py +396 -0
  37. package/package.json +5 -4
  38. package/dist/web/assets/index-BoykBCnY.js +0 -67
  39. package/dist/web/assets/index-DAJbSznk.css +0 -1
package/dist/server.js CHANGED
@@ -2,7 +2,7 @@ import { createServer } from "node:http";
2
2
  import { respToResponses } from "./translate/respToResponses.js";
3
3
  import { pipeChatStreamToResponses } from "./translate/streamToSse.js";
4
4
  import { iterChatStreamChunks } from "./upstream/chatStream.js";
5
- import { callOpenAICompat, UpstreamError } from "./upstream/openaiCompatClient.js";
5
+ import { callOpenAICompat, callResponsesPassthrough, UpstreamError, } from "./upstream/openaiCompatClient.js";
6
6
  import { byClientModel, PROVIDER_LIST, PROVIDERS } from "./providers/registry.js";
7
7
  import { makeServerResponseSink } from "./util/sse.js";
8
8
  import { log } from "./util/log.js";
@@ -109,14 +109,29 @@ function countToolCallsInChatResponse(resp) {
109
109
  // 2. Otherwise use the configured default provider; the body.model is
110
110
  // rewritten to the default provider's defaultModel so we never forward
111
111
  // an unknown id (which would 400 at the upstream).
112
+ //
113
+ // Whenever the model id is rewritten on the way out (e.g. an unknown
114
+ // `mimo-v2.5-vision-preview` is fallen back to `mimo-v2.5-pro`), we attach a
115
+ // `rewriteNotice` so callers can log/persist the mismatch. Silent rewrites
116
+ // hide capability mismatches like vision support and are the root of bugs
117
+ // where a client thinks it's calling `mimo-v2.5` but the proxy sent
118
+ // `mimo-v2.5-pro` upstream.
112
119
  function selectProvider(clientModel, cfg) {
113
120
  const matched = byClientModel(clientModel);
114
121
  if (matched && cfg.providers[matched.id]) {
115
122
  const resolved = matched.resolveModel(clientModel);
123
+ const upstreamModel = resolved?.id ?? matched.defaultModel;
116
124
  return {
117
125
  provider: matched,
118
126
  runtime: cfg.providers[matched.id],
119
- upstreamModel: resolved?.id ?? matched.defaultModel,
127
+ upstreamModel,
128
+ rewriteNotice: resolved
129
+ ? null
130
+ : {
131
+ from: clientModel,
132
+ to: upstreamModel,
133
+ reason: "matched provider catalog but unknown model id → using provider's defaultModel",
134
+ },
120
135
  };
121
136
  }
122
137
  const provider = PROVIDERS[cfg.defaultProviderId];
@@ -127,10 +142,24 @@ function selectProvider(clientModel, cfg) {
127
142
  // Unknown model → use the default provider's defaultModel so we don't pass
128
143
  // a foreign id to the upstream.
129
144
  const resolved = provider.resolveModel(clientModel);
145
+ const upstreamModel = resolved?.id ?? provider.defaultModel;
130
146
  return {
131
147
  provider,
132
148
  runtime,
133
- upstreamModel: resolved?.id ?? provider.defaultModel,
149
+ upstreamModel,
150
+ rewriteNotice: resolved
151
+ ? null
152
+ : {
153
+ from: clientModel,
154
+ to: upstreamModel,
155
+ reason: `unknown client model — falling back to ${cfg.defaultProviderId} provider's defaultModel`,
156
+ },
157
+ };
158
+ }
159
+ function rewriteWarning(notice) {
160
+ return {
161
+ code: "client_model_rewritten",
162
+ message: `client model "${notice.from}" was rewritten to upstream "${notice.to}" — ${notice.reason}. If you wanted the original id, add it to the provider's builtinModels or configure an alias.`,
134
163
  };
135
164
  }
136
165
  async function handleResponses(cfg, req, res) {
@@ -163,12 +192,29 @@ async function handleResponses(cfg, req, res) {
163
192
  log.debug("matched probe shape — returning synthetic 200 without upstream call");
164
193
  return respondToResponsesProbe(payload, res, !!payload.stream);
165
194
  }
166
- const { provider, runtime, upstreamModel } = selectProvider(payload.model, cfg);
195
+ const { provider, runtime, upstreamModel, rewriteNotice } = selectProvider(payload.model, cfg);
167
196
  log.debug(`routing to provider=${provider.id}`, {
168
197
  baseUrl: runtime.baseUrl,
169
198
  clientModel: payload.model,
170
199
  upstreamModel,
200
+ wireApi: provider.wireApi ?? "chat",
171
201
  });
202
+ if (rewriteNotice) {
203
+ log.warn("client model rewritten on the way upstream", {
204
+ provider: provider.id,
205
+ from: rewriteNotice.from,
206
+ to: rewriteNotice.to,
207
+ reason: rewriteNotice.reason,
208
+ });
209
+ }
210
+ if (provider.wireApi === "responses") {
211
+ return await handleResponsesPassthrough(cfg, req, res, payload, {
212
+ provider,
213
+ runtime,
214
+ upstreamModel,
215
+ rewriteNotice,
216
+ });
217
+ }
172
218
  const chat = provider.preprocessResponses(payload, {
173
219
  runtime,
174
220
  exposeReasoning: cfg.exposeReasoning,
@@ -180,6 +226,12 @@ async function handleResponses(cfg, req, res) {
180
226
  req.on("close", () => ac.abort());
181
227
  const startedAt = Date.now();
182
228
  const requestBodySnapshot = bodyForLog(payload);
229
+ const rewriteLogFields = rewriteNotice
230
+ ? (() => {
231
+ const w = rewriteWarning(rewriteNotice);
232
+ return { error_code: w.code, error_snippet: w.message };
233
+ })()
234
+ : { error_code: null, error_snippet: null };
183
235
  const baseEntry = {
184
236
  request_id: null,
185
237
  provider_id: provider.id,
@@ -208,8 +260,7 @@ async function handleResponses(cfg, req, res) {
208
260
  status_code: 200,
209
261
  duration_ms: Date.now() - startedAt,
210
262
  ...usageFromChatResponse(chatJson.usage),
211
- error_code: null,
212
- error_snippet: null,
263
+ ...rewriteLogFields,
213
264
  response_body: bodyForLog(responses),
214
265
  tool_call_count: countToolCallsInChatResponse(chatJson),
215
266
  });
@@ -324,13 +375,204 @@ async function handleResponses(cfg, req, res) {
324
375
  prompt_tokens: u?.input_tokens ?? null,
325
376
  completion_tokens: u?.output_tokens ?? null,
326
377
  total_tokens: u?.total_tokens ?? null,
327
- error_code: streamError ? "stream_error" : null,
328
- error_snippet: streamError ? streamError.message : null,
378
+ error_code: streamError ? "stream_error" : rewriteLogFields.error_code,
379
+ error_snippet: streamError ? streamError.message : rewriteLogFields.error_snippet,
329
380
  response_body: bodyForLog(pipeResult?.response),
330
381
  tool_call_count: pipeResult?.toolCallCount ?? null,
331
382
  });
332
383
  }
333
384
  }
385
+ // wireApi === "responses" path: forward Codex's Responses payload directly to
386
+ // the upstream's /v1/responses endpoint, with no Chat-Completions translation.
387
+ // Streaming pipes raw SSE bytes; non-streaming JSON is forwarded verbatim.
388
+ async function handleResponsesPassthrough(cfg, req, res, payload, selected) {
389
+ const { provider, runtime, upstreamModel, rewriteNotice } = selected;
390
+ const stream = !!payload.stream;
391
+ const preprocessed = provider.preprocessResponsesPassthrough?.(payload, {
392
+ runtime,
393
+ exposeReasoning: cfg.exposeReasoning,
394
+ }) ?? payload;
395
+ // The routing layer determined upstreamModel; honor it over whatever the
396
+ // provider hook returned. preprocess hooks shouldn't normally rewrite model.
397
+ const forwardBody = {
398
+ ...preprocessed,
399
+ model: upstreamModel,
400
+ stream,
401
+ };
402
+ const ac = new AbortController();
403
+ req.on("close", () => ac.abort());
404
+ const startedAt = Date.now();
405
+ const requestBodySnapshot = bodyForLog(payload);
406
+ const rewriteLogFields = rewriteNotice
407
+ ? (() => {
408
+ const w = rewriteWarning(rewriteNotice);
409
+ return { error_code: w.code, error_snippet: w.message };
410
+ })()
411
+ : { error_code: null, error_snippet: null };
412
+ const baseEntry = {
413
+ request_id: null,
414
+ provider_id: provider.id,
415
+ client_model: payload.model,
416
+ upstream_model: upstreamModel,
417
+ endpoint: "/v1/responses",
418
+ stream,
419
+ request_body: requestBodySnapshot,
420
+ };
421
+ // Non-streaming path: parse upstream JSON and forward verbatim.
422
+ if (!stream) {
423
+ try {
424
+ const upstreamRes = await callResponsesPassthrough({
425
+ baseUrl: runtime.baseUrl,
426
+ apiKey: runtime.apiKey,
427
+ userAgent: cfg.userAgent,
428
+ enhanceError: provider.enhanceError.bind(provider),
429
+ }, forwardBody, ac.signal);
430
+ const json = (await upstreamRes.json());
431
+ sendJson(res, 200, json);
432
+ const usage = (json.usage ?? {});
433
+ recordLog(cfg, {
434
+ ...baseEntry,
435
+ request_id: typeof json.id === "string" ? json.id : null,
436
+ status_code: 200,
437
+ duration_ms: Date.now() - startedAt,
438
+ prompt_tokens: typeof usage.input_tokens === "number" ? usage.input_tokens : null,
439
+ completion_tokens: typeof usage.output_tokens === "number" ? usage.output_tokens : null,
440
+ total_tokens: typeof usage.total_tokens === "number" ? usage.total_tokens : null,
441
+ ...rewriteLogFields,
442
+ response_body: bodyForLog(json),
443
+ tool_call_count: null,
444
+ });
445
+ return;
446
+ }
447
+ catch (err) {
448
+ if (err instanceof UpstreamError) {
449
+ sendJson(res, err.status, errorEnvelope(err.status, err.code, err.message));
450
+ recordLog(cfg, {
451
+ ...baseEntry,
452
+ status_code: err.status,
453
+ duration_ms: Date.now() - startedAt,
454
+ prompt_tokens: null,
455
+ completion_tokens: null,
456
+ total_tokens: null,
457
+ error_code: err.code,
458
+ error_snippet: err.bodySnippet ?? err.message,
459
+ response_body: null,
460
+ tool_call_count: null,
461
+ });
462
+ return;
463
+ }
464
+ log.error("responses passthrough non-stream failed", { error: err.message });
465
+ sendJson(res, 500, errorEnvelope(500, "internal_error", err.message));
466
+ recordLog(cfg, {
467
+ ...baseEntry,
468
+ status_code: 500,
469
+ duration_ms: Date.now() - startedAt,
470
+ prompt_tokens: null,
471
+ completion_tokens: null,
472
+ total_tokens: null,
473
+ error_code: "internal_error",
474
+ error_snippet: err.message,
475
+ response_body: null,
476
+ tool_call_count: null,
477
+ });
478
+ return;
479
+ }
480
+ }
481
+ // Streaming path: pipe upstream SSE bytes directly to the client.
482
+ let upstreamRes;
483
+ try {
484
+ upstreamRes = await callResponsesPassthrough({
485
+ baseUrl: runtime.baseUrl,
486
+ apiKey: runtime.apiKey,
487
+ userAgent: cfg.userAgent,
488
+ enhanceError: provider.enhanceError.bind(provider),
489
+ }, forwardBody, ac.signal);
490
+ }
491
+ catch (err) {
492
+ if (err instanceof UpstreamError) {
493
+ sendJson(res, err.status, errorEnvelope(err.status, err.code, err.message));
494
+ recordLog(cfg, {
495
+ ...baseEntry,
496
+ status_code: err.status,
497
+ duration_ms: Date.now() - startedAt,
498
+ prompt_tokens: null,
499
+ completion_tokens: null,
500
+ total_tokens: null,
501
+ error_code: err.code,
502
+ error_snippet: err.bodySnippet ?? err.message,
503
+ response_body: null,
504
+ tool_call_count: null,
505
+ });
506
+ return;
507
+ }
508
+ log.error("responses passthrough stream pre-request failed", {
509
+ error: err.message,
510
+ });
511
+ sendJson(res, 500, errorEnvelope(500, "internal_error", err.message));
512
+ recordLog(cfg, {
513
+ ...baseEntry,
514
+ status_code: 500,
515
+ duration_ms: Date.now() - startedAt,
516
+ prompt_tokens: null,
517
+ completion_tokens: null,
518
+ total_tokens: null,
519
+ error_code: "internal_error",
520
+ error_snippet: err.message,
521
+ response_body: null,
522
+ tool_call_count: null,
523
+ });
524
+ return;
525
+ }
526
+ res.statusCode = 200;
527
+ res.setHeader("Content-Type", "text/event-stream; charset=utf-8");
528
+ res.setHeader("Cache-Control", "no-cache, no-transform");
529
+ res.setHeader("Connection", "keep-alive");
530
+ const keepalive = setInterval(() => {
531
+ if (!res.writableEnded)
532
+ res.write(": keepalive\n\n");
533
+ }, KEEPALIVE_INTERVAL_MS);
534
+ res.on("close", () => clearInterval(keepalive));
535
+ let streamError = null;
536
+ try {
537
+ if (!upstreamRes.body) {
538
+ throw new Error("upstream responded without a body");
539
+ }
540
+ const reader = upstreamRes.body.getReader();
541
+ while (true) {
542
+ const { value, done } = await reader.read();
543
+ if (done)
544
+ break;
545
+ if (value && value.length > 0) {
546
+ res.write(Buffer.from(value));
547
+ }
548
+ }
549
+ if (!res.writableEnded)
550
+ res.end();
551
+ }
552
+ catch (err) {
553
+ streamError = err;
554
+ log.error("responses passthrough mid-stream failed", { error: streamError.message });
555
+ if (!res.writableEnded) {
556
+ res.write(`event: error\ndata: ${JSON.stringify({ type: "error", code: "server_error", message: streamError.message, sequence_number: 9999 })}\n\n`);
557
+ res.end();
558
+ }
559
+ }
560
+ finally {
561
+ clearInterval(keepalive);
562
+ recordLog(cfg, {
563
+ ...baseEntry,
564
+ status_code: streamError ? 500 : 200,
565
+ duration_ms: Date.now() - startedAt,
566
+ prompt_tokens: null,
567
+ completion_tokens: null,
568
+ total_tokens: null,
569
+ error_code: streamError ? "stream_error" : rewriteLogFields.error_code,
570
+ error_snippet: streamError ? streamError.message : rewriteLogFields.error_snippet,
571
+ response_body: null,
572
+ tool_call_count: null,
573
+ });
574
+ }
575
+ }
334
576
  function respondToResponsesProbe(payload, res, stream) {
335
577
  const id = `resp_probe_${Date.now()}`;
336
578
  const created_at = Math.floor(Date.now() / 1000);
@@ -421,11 +663,19 @@ async function handleChatPassthrough(cfg, req, res) {
421
663
  log.debug("matched probe shape — returning synthetic 200 without upstream call");
422
664
  return respondToChatProbe(payload, res, !!payload.stream);
423
665
  }
424
- const { provider, runtime, upstreamModel } = selectProvider(payload.model, cfg);
666
+ const { provider, runtime, upstreamModel, rewriteNotice } = selectProvider(payload.model, cfg);
425
667
  log.debug(`routing chat passthrough to provider=${provider.id}`, {
426
668
  clientModel: payload.model,
427
669
  upstreamModel,
428
670
  });
671
+ if (rewriteNotice) {
672
+ log.warn("client model rewritten on the way upstream", {
673
+ provider: provider.id,
674
+ from: rewriteNotice.from,
675
+ to: rewriteNotice.to,
676
+ reason: rewriteNotice.reason,
677
+ });
678
+ }
429
679
  const body = provider.preprocessChat(payload, {
430
680
  runtime,
431
681
  exposeReasoning: cfg.exposeReasoning,
@@ -435,6 +685,12 @@ async function handleChatPassthrough(cfg, req, res) {
435
685
  req.on("close", () => ac.abort());
436
686
  const startedAt = Date.now();
437
687
  const requestBodySnapshot = bodyForLog(payload);
688
+ const rewriteLogFields = rewriteNotice
689
+ ? (() => {
690
+ const w = rewriteWarning(rewriteNotice);
691
+ return { error_code: w.code, error_snippet: w.message };
692
+ })()
693
+ : { error_code: null, error_snippet: null };
438
694
  const baseEntry = {
439
695
  request_id: null,
440
696
  provider_id: provider.id,
@@ -499,8 +755,7 @@ async function handleChatPassthrough(cfg, req, res) {
499
755
  prompt_tokens: null,
500
756
  completion_tokens: null,
501
757
  total_tokens: null,
502
- error_code: null,
503
- error_snippet: null,
758
+ ...rewriteLogFields,
504
759
  response_body: null,
505
760
  tool_call_count: null,
506
761
  });
@@ -540,8 +795,8 @@ async function handleChatPassthrough(cfg, req, res) {
540
795
  status_code: streamError ? 500 : 200,
541
796
  duration_ms: Date.now() - startedAt,
542
797
  ...usageFromChatResponse(usage),
543
- error_code: streamError ? "stream_error" : null,
544
- error_snippet: streamError ? streamError.message : null,
798
+ error_code: streamError ? "stream_error" : rewriteLogFields.error_code,
799
+ error_snippet: streamError ? streamError.message : rewriteLogFields.error_snippet,
545
800
  response_body: collected ? redactSensitive(collected) : null,
546
801
  tool_call_count: toolCallCount,
547
802
  });
@@ -566,8 +821,7 @@ async function handleChatPassthrough(cfg, req, res) {
566
821
  status_code: 200,
567
822
  duration_ms: Date.now() - startedAt,
568
823
  ...usageFromChatResponse(usage),
569
- error_code: null,
570
- error_snippet: null,
824
+ ...rewriteLogFields,
571
825
  response_body: text ? redactSensitive(text) : null,
572
826
  tool_call_count: toolCallCount,
573
827
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}