diff --git a/packages/cli/package.json b/packages/cli/package.json index 63a242c9c..a30383b3c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@openrouter/spawn", - "version": "0.28.1", + "version": "0.28.2", "type": "module", "bin": { "spawn": "cli.js" diff --git a/packages/cli/src/__tests__/cursor-proxy.test.ts b/packages/cli/src/__tests__/cursor-proxy.test.ts index f13b8ffdb..55e21b145 100644 --- a/packages/cli/src/__tests__/cursor-proxy.test.ts +++ b/packages/cli/src/__tests__/cursor-proxy.test.ts @@ -228,29 +228,29 @@ describe("AgentServerMessage encoding", () => { describe("ModelDetails encoding", () => { it("encodes model with all required fields", () => { - const model = bmd("claude-4-sonnet", "Claude Sonnet 4"); + const model = bmd("anthropic/claude-sonnet-4-6", "Claude Sonnet 4.6"); const strings: string[] = []; xstr(model, strings); - expect(strings).toContain("claude-4-sonnet"); - expect(strings).toContain("Claude Sonnet 4"); + expect(strings).toContain("anthropic/claude-sonnet-4-6"); + expect(strings).toContain("Claude Sonnet 4.6"); }); it("encodes model list response", () => { const models = [ [ - "claude-4-sonnet", - "Claude 4", + "anthropic/claude-sonnet-4-6", + "Claude Sonnet 4.6", ], [ - "gpt-4o", - "GPT-4o", + "openai/gpt-5.4", + "GPT-5.4", ], ]; const response = Buffer.concat(models.map(([id, name]) => em(1, bmd(id, name)))); const strings: string[] = []; xstr(response, strings); - expect(strings).toContain("claude-4-sonnet"); - expect(strings).toContain("gpt-4o"); + expect(strings).toContain("anthropic/claude-sonnet-4-6"); + expect(strings).toContain("openai/gpt-5.4"); }); }); diff --git a/packages/cli/src/shared/cursor-proxy.ts b/packages/cli/src/shared/cursor-proxy.ts index 0d23f8929..4b0f1255c 100644 --- a/packages/cli/src/shared/cursor-proxy.ts +++ b/packages/cli/src/shared/cursor-proxy.ts @@ -31,8 +31,8 @@ function ct(){const j=Buffer.from("{}");const t=Buffer.alloc(5+j.length);t[0]=2; function tdf(t){return cf(em(1,em(1,es(1,t))));} function tef(){return cf(em(1,em(14,Buffer.from([8,10,16,5]))));} function bmd(id,n){return Buffer.concat([es(1,id),es(3,id),es(4,n),es(5,n)]);} -function bmr(){return Buffer.concat([["anthropic/claude-sonnet-4","Claude Sonnet 4"],["openai/gpt-4o","GPT-4o"],["google/gemini-2.5-flash","Gemini 2.5 Flash"]].map(([i,n])=>em(1,bmd(i,n))));} -function bdr(){return em(1,bmd("anthropic/claude-sonnet-4","Claude Sonnet 4"));} +function bmr(){return Buffer.concat([["anthropic/claude-sonnet-4-6","Claude Sonnet 4.6"],["anthropic/claude-haiku-4-5","Claude Haiku 4.5"],["openai/gpt-5.4","GPT-5.4"],["google/gemini-3.5-pro","Gemini 3.5 Pro"],["google/gemini-3.5-flash","Gemini 3.5 Flash"]].map(([i,n])=>em(1,bmd(i,n))));} +function bdr(){return em(1,bmd("anthropic/claude-sonnet-4-6","Claude Sonnet 4.6"));} function xstr(buf,out){let o=0;while(o