@dianshuv/copilot-api 0.1.2 → 0.2.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 (2) hide show
  1. package/dist/main.mjs +26 -7
  2. package/package.json +1 -1
package/dist/main.mjs CHANGED
@@ -1017,7 +1017,7 @@ const patchClaude = defineCommand({
1017
1017
 
1018
1018
  //#endregion
1019
1019
  //#region package.json
1020
- var version = "0.1.2";
1020
+ var version = "0.2.0";
1021
1021
 
1022
1022
  //#endregion
1023
1023
  //#region src/lib/adaptive-rate-limiter.ts
@@ -1832,6 +1832,15 @@ var ConsoleRenderer = class {
1832
1832
  process.stdout.write(message + "\n");
1833
1833
  this.renderFooter();
1834
1834
  }
1835
+ /**
1836
+ * Format model display string, showing resolved model when different.
1837
+ * e.g., "claude-opus-4-6 -> claude-opus-4.6-1m"
1838
+ */
1839
+ formatModelDisplay(request) {
1840
+ if (!request.model) return void 0;
1841
+ if (request.resolvedModel) return `${request.model} -> ${request.resolvedModel}`;
1842
+ return request.model;
1843
+ }
1835
1844
  onRequestStart(request) {
1836
1845
  this.activeRequests.set(request.id, request);
1837
1846
  if (this.showActive && consola.level >= 5) {
@@ -1840,7 +1849,7 @@ var ConsoleRenderer = class {
1840
1849
  time: formatTime(),
1841
1850
  method: request.method,
1842
1851
  path: request.path,
1843
- model: request.model,
1852
+ model: this.formatModelDisplay(request),
1844
1853
  extra: request.queuePosition !== void 0 && request.queuePosition > 0 ? `[q#${request.queuePosition}]` : void 0,
1845
1854
  isDim: true
1846
1855
  });
@@ -1857,7 +1866,7 @@ var ConsoleRenderer = class {
1857
1866
  time: formatTime(),
1858
1867
  method: request.method,
1859
1868
  path: request.path,
1860
- model: request.model,
1869
+ model: this.formatModelDisplay(request),
1861
1870
  extra: "streaming...",
1862
1871
  isDim: true
1863
1872
  });
@@ -1875,7 +1884,7 @@ var ConsoleRenderer = class {
1875
1884
  time: formatTime(),
1876
1885
  method: request.method,
1877
1886
  path: request.path,
1878
- model: request.model,
1887
+ model: this.formatModelDisplay(request),
1879
1888
  status,
1880
1889
  duration: formatDuration(request.durationMs ?? 0),
1881
1890
  queueWait,
@@ -2790,10 +2799,18 @@ const createChatCompletions = async (payload, options) => {
2790
2799
  * Contains common functions used by both OpenAI and Anthropic message handlers.
2791
2800
  */
2792
2801
  /** Helper to update tracker model */
2793
- function updateTrackerModel(trackingId, model) {
2802
+ function updateTrackerModel(trackingId, model, resolvedModel) {
2803
+ if (!trackingId) return;
2804
+ const request = requestTracker.getRequest(trackingId);
2805
+ if (!request) return;
2806
+ request.model = model;
2807
+ request.resolvedModel = resolvedModel ?? model;
2808
+ }
2809
+ /** Helper to update only the resolved (post-translation) model */
2810
+ function updateTrackerResolvedModel(trackingId, resolvedModel) {
2794
2811
  if (!trackingId) return;
2795
2812
  const request = requestTracker.getRequest(trackingId);
2796
- if (request) request.model = model;
2813
+ if (request) request.resolvedModel = resolvedModel;
2797
2814
  }
2798
2815
  /** Helper to update tracker status */
2799
2816
  function updateTrackerStatus(trackingId, status) {
@@ -5056,7 +5073,7 @@ function translateModelName(model) {
5056
5073
  }
5057
5074
  if (/^claude-sonnet-4-5-\d+$/.test(model)) return "claude-sonnet-4.5";
5058
5075
  if (/^claude-sonnet-4-\d+$/.test(model)) return "claude-sonnet-4";
5059
- if (/^claude-opus-4-6$/.test(model)) return "claude-opus-4.6-1m";
5076
+ if (/^claude-opus-4-6$/.test(model)) return findLatestModel("claude-opus-4.6", "claude-opus-4.6");
5060
5077
  if (/^claude-opus-4-5-\d+$/.test(model)) return "claude-opus-4.5";
5061
5078
  if (/^claude-opus-4-\d+$/.test(model)) return findLatestModel("claude-opus", "claude-opus-4.5");
5062
5079
  if (/^claude-haiku-4-5-\d+$/.test(model)) return "claude-haiku-4.5";
@@ -5979,6 +5996,7 @@ const parseSubagentMarkerFromSystemReminder = (text) => {
5979
5996
  async function handleTranslatedCompletion(c, anthropicPayload, ctx, initiatorOverride) {
5980
5997
  const { payload: translatedPayload, toolNameMapping } = translateToOpenAI(anthropicPayload);
5981
5998
  consola.debug("Translated OpenAI request payload:", JSON.stringify(translatedPayload));
5999
+ updateTrackerResolvedModel(ctx.trackingId, translatedPayload.model);
5982
6000
  const selectedModel = state.models?.data.find((model) => model.id === translatedPayload.model);
5983
6001
  const { finalPayload: openAIPayload, truncateResult } = await buildFinalPayload(translatedPayload, selectedModel);
5984
6002
  if (truncateResult) ctx.truncateResult = truncateResult;
@@ -6396,6 +6414,7 @@ const RESPONSES_ENDPOINT = "/responses";
6396
6414
  const handleResponses = async (c) => {
6397
6415
  const payload = await c.req.json();
6398
6416
  consola.debug("Responses request payload:", JSON.stringify(payload));
6417
+ updateTrackerModel(c.get("trackingId"), payload.model);
6399
6418
  useFunctionApplyPatch(payload);
6400
6419
  removeWebSearchTool(payload);
6401
6420
  if (!((state.models?.data.find((model) => model.id === payload.model))?.supported_endpoints?.includes(RESPONSES_ENDPOINT) ?? false)) return c.json({ error: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dianshuv/copilot-api",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "Turn GitHub Copilot into OpenAI/Anthropic API compatible server. Usable with Claude Code!",
5
5
  "author": "dianshuv",
6
6
  "type": "module",