@@ -87,9 +87,11 @@ describe("opencode-go provider plugin", () => {
8787 "deepseek-v4-pro" ,
8888 "glm-5" ,
8989 "glm-5.1" ,
90+ "glm-5.2" ,
9091 "hy3-preview" ,
9192 "kimi-k2.5" ,
9293 "kimi-k2.6" ,
94+ "kimi-k2.7-code" ,
9395 "mimo-v2-omni" ,
9496 "mimo-v2.5" ,
9597 "mimo-v2-pro" ,
@@ -125,6 +127,20 @@ describe("opencode-go provider plugin", () => {
125127 expect ( deepSeekFlash . provider ) . toBe ( "opencode-go" ) ;
126128 expect ( deepSeekFlash . name ) . toBe ( "DeepSeek V4 Flash" ) ;
127129
130+ const glm52 = requireMapEntry ( models , "glm-5.2" ) ;
131+ expect ( glm52 . api ) . toBe ( "openai-completions" ) ;
132+ expect ( glm52 . baseUrl ) . toBe ( "https://opencode.ai/zen/go/v1" ) ;
133+ expect ( glm52 . input ) . toEqual ( [ "text" ] ) ;
134+ expect ( glm52 . reasoning ) . toBe ( true ) ;
135+ expect ( glm52 . contextWindow ) . toBe ( 1_000_000 ) ;
136+ expect ( glm52 . maxTokens ) . toBe ( 131_072 ) ;
137+ expect ( glm52 . cost ) . toEqual ( {
138+ input : 1.4 ,
139+ output : 4.4 ,
140+ cacheRead : 0.26 ,
141+ cacheWrite : 0 ,
142+ } ) ;
143+
128144 const kimi = requireMapEntry ( models , "kimi-k2.6" ) ;
129145 expect ( kimi . api ) . toBe ( "openai-completions" ) ;
130146 expect ( kimi . baseUrl ) . toBe ( "https://opencode.ai/zen/go/v1" ) ;
@@ -133,6 +149,19 @@ describe("opencode-go provider plugin", () => {
133149 expect ( kimi . contextWindow ) . toBe ( 262_144 ) ;
134150 expect ( kimi . maxTokens ) . toBe ( 65_536 ) ;
135151
152+ const kimiCode = requireMapEntry ( models , "kimi-k2.7-code" ) ;
153+ expect ( kimiCode . api ) . toBe ( "openai-completions" ) ;
154+ expect ( kimiCode . baseUrl ) . toBe ( "https://opencode.ai/zen/go/v1" ) ;
155+ expect ( kimiCode . input ) . toEqual ( [ "text" , "image" , "video" ] ) ;
156+ expect ( kimiCode . contextWindow ) . toBe ( 262_144 ) ;
157+ expect ( kimiCode . maxTokens ) . toBe ( 262_144 ) ;
158+ expect ( kimiCode . cost ) . toEqual ( {
159+ input : 0.95 ,
160+ output : 4 ,
161+ cacheRead : 0.19 ,
162+ cacheWrite : 0 ,
163+ } ) ;
164+
136165 const minimax = requireMapEntry ( models , "minimax-m2.7" ) ;
137166 expect ( minimax . api ) . toBe ( "anthropic-messages" ) ;
138167 expect ( minimax . baseUrl ) . toBe ( "https://opencode.ai/zen/go" ) ;
@@ -220,13 +249,19 @@ describe("opencode-go provider plugin", () => {
220249 throw new Error ( "expected OpenCode Go static provider" ) ;
221250 }
222251 const deepSeekPro = result . provider . models . find ( ( model ) => model . id === "deepseek-v4-pro" ) ;
252+ const glm52 = result . provider . models . find ( ( model ) => model . id === "glm-5.2" ) ;
223253
224- expect ( result . provider . models ) . toHaveLength ( 18 ) ;
254+ expect ( result . provider . models ) . toHaveLength ( 20 ) ;
225255 expect ( deepSeekPro ) . toMatchObject ( {
226256 provider : "opencode-go" ,
227257 contextWindow : 1_000_000 ,
228258 maxTokens : 384_000 ,
229259 } ) ;
260+ expect ( glm52 ) . toMatchObject ( {
261+ provider : "opencode-go" ,
262+ contextWindow : 1_000_000 ,
263+ maxTokens : 131_072 ,
264+ } ) ;
230265 } ) ;
231266
232267 it ( "skips live OpenCode Go catalog discovery when no shared key is configured" , async ( ) => {
@@ -438,15 +473,15 @@ describe("opencode-go provider plugin", () => {
438473 provider : "opencode-go" ,
439474 model : {
440475 provider : "opencode-go" ,
441- id : "kimi-k2.6 " ,
442- name : "Kimi K2.6 " ,
476+ id : "kimi-k2.7-code " ,
477+ name : "Kimi K2.7 Code " ,
443478 api : "openai-completions" ,
444479 baseUrl : "https://opencode.ai/zen/go/v1" ,
445480 reasoning : true ,
446- input : [ "text" , "image" ] ,
481+ input : [ "text" , "image" , "video" ] ,
447482 cost : { input : 0 , output : 0 , cacheRead : 0 , cacheWrite : 0 } ,
448483 contextWindow : 262_144 ,
449- maxTokens : 65_536 ,
484+ maxTokens : 262_144 ,
450485 } ,
451486 } as never ) ,
452487 "normalized Kimi model" ,
0 commit comments