@@ -798,12 +798,16 @@ describe("flattenOpenCodeModels", () => {
798798 name : "GPT-5" ,
799799 upstreamProviderId : "openai" ,
800800 upstreamProviderName : "OpenAI" ,
801+ contextWindowOptions : [ { value : "128k" , label : "128K" , isDefault : true } ] ,
802+ defaultContextWindow : "128k" ,
801803 } ,
802804 {
803805 slug : "opencode/nemotron-3-super-free" ,
804806 name : "Nemotron 3 Super Free" ,
805807 upstreamProviderId : "opencode" ,
806808 upstreamProviderName : "OpenCode" ,
809+ contextWindowOptions : [ { value : "128k" , label : "128K" , isDefault : true } ] ,
810+ defaultContextWindow : "128k" ,
807811 } ,
808812 ] ) ;
809813 } ) ;
@@ -865,6 +869,8 @@ describe("flattenOpenCodeModels", () => {
865869 name : "GPT-5.4" ,
866870 upstreamProviderId : "openai" ,
867871 upstreamProviderName : "OpenAI" ,
872+ contextWindowOptions : [ { value : "128k" , label : "128K" , isDefault : true } ] ,
873+ defaultContextWindow : "128k" ,
868874 supportedReasoningEfforts : [
869875 {
870876 value : "none" ,
@@ -919,11 +925,13 @@ describe("flattenOpenCodeModels", () => {
919925 name : "GPT-5.4" ,
920926 upstreamProviderId : "openai" ,
921927 upstreamProviderName : "OpenAI" ,
928+ contextWindowOptions : [ { value : "128k" , label : "128K" , isDefault : true } ] ,
929+ defaultContextWindow : "128k" ,
922930 } ,
923931 ] ) ;
924932 } ) ;
925933
926- it ( "keeps every OpenCode-connected provider instead of re-filtering from local auth metadata" , ( ) => {
934+ it ( "prefers OpenCode-managed connected providers when no stronger auth metadata exists " , ( ) => {
927935 const models = flattenOpenCodeModels ( {
928936 inventory : {
929937 providerList : {
@@ -968,10 +976,7 @@ describe("flattenOpenCodeModels", () => {
968976 } ,
969977 } ) ;
970978
971- expect ( models . map ( ( model ) => model . slug ) ) . toEqual ( [
972- "github-copilot/claude-opus-4.6" ,
973- "opencode/glm-4.6" ,
974- ] ) ;
979+ expect ( models . map ( ( model ) => model . slug ) ) . toEqual ( [ "opencode/glm-4.6" ] ) ;
975980 } ) ;
976981} ) ;
977982
@@ -1047,6 +1052,7 @@ describe("OpenCodeAdapter runtime lifecycle", () => {
10471052 cached : false ,
10481053 } ) ;
10491054 expect ( result ?. models . map ( ( model ) => model . slug ) ) . toEqual ( [
1055+ "openai/gpt-5" ,
10501056 "opencode/minimax-m2.5-free" ,
10511057 "opencode-go/kimi-k2.6" ,
10521058 ] ) ;
0 commit comments