@@ -15,7 +15,7 @@ function capturePayload(params: {
1515} ) : Record < string , unknown > {
1616 let captured : Record < string , unknown > = { } ;
1717 const baseStreamFn : StreamFn = ( _model , _context , options ) => {
18- const payload = { ...params . initialPayload } ;
18+ const payload : Record < string , unknown > = { ...params . initialPayload } ;
1919 options ?. onPayload ?.( payload , _model ) ;
2020 captured = payload ;
2121 return { } as ReturnType < StreamFn > ;
@@ -74,39 +74,32 @@ describe("createFireworksKimiThinkingDisabledWrapper", () => {
7474 ) . toEqual ( { thinking : { type : "disabled" } } ) ;
7575 } ) ;
7676
77- it ( "strips reasoning fields when disabling Fireworks Kimi thinking" , ( ) => {
78- const k2p5Payload = capturePayload ( {
79- provider : "fireworks" ,
80- api : "openai-completions" ,
81- modelId : "accounts/fireworks/models/kimi-k2p5" ,
82- initialPayload : {
83- reasoning_effort : "low" ,
84- reasoning : { effort : "low" } ,
85- reasoningEffort : "low" ,
86- } ,
87- } ) ;
88- const k2p6Payload = capturePayload ( {
89- provider : "fireworks" ,
90- api : "openai-completions" ,
91- modelId : "accounts/fireworks/models/kimi-k2p6" ,
92- initialPayload : {
93- reasoning_effort : "low" ,
94- reasoning : { effort : "low" } ,
95- reasoningEffort : "low" ,
96- } ,
97- } ) ;
98-
99- expect ( k2p5Payload ) . toEqual ( { thinking : { type : "disabled" } } ) ;
100- expect ( k2p6Payload ) . toEqual ( { thinking : { type : "disabled" } } ) ;
77+ it ( "strips reasoning fields so dynamic Kimi models cannot re-enable visible CoT" , ( ) => {
78+ // kimi-k2p5 is not a manifest row, so its reasoning:false is not guaranteed
79+ // upstream; the wrapper must still drop any reasoning fields locally.
80+ for ( const modelId of [
81+ "accounts/fireworks/models/kimi-k2p5" ,
82+ "accounts/fireworks/models/kimi-k2p6" ,
83+ ] ) {
84+ expect (
85+ capturePayload ( {
86+ provider : "fireworks" ,
87+ api : "openai-completions" ,
88+ modelId,
89+ initialPayload : {
90+ reasoning_effort : "low" ,
91+ reasoning : { effort : "low" } ,
92+ reasoningEffort : "low" ,
93+ } ,
94+ } ) ,
95+ ) . toEqual ( { thinking : { type : "disabled" } } ) ;
96+ }
10197 } ) ;
10298
103- it ( "passes sanitized payloads to caller onPayload hooks" , ( ) => {
99+ it ( "passes the thinking-disabled payload to caller onPayload hooks" , ( ) => {
104100 let callbackPayload : Record < string , unknown > = { } ;
105101 const baseStreamFn : StreamFn = ( _model , _context , options ) => {
106- const payload = {
107- reasoning_effort : "high" ,
108- reasoning : { effort : "high" } ,
109- } ;
102+ const payload = { } ;
110103 options ?. onPayload ?.( payload , _model ) ;
111104 return { } as ReturnType < StreamFn > ;
112105 } ;
0 commit comments