File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -184,9 +184,16 @@ function createToolCallKey(toolCall) {
184184}
185185
186186function createToolKit ( { cwd, reviewer, priorReviews } ) {
187- const fileTools = reviewer . useTools === false
188- ? { definitions : [ ] , execute : null }
189- : createFileContextTools ( cwd ) ;
187+ if ( reviewer . useTools === false ) {
188+ return {
189+ definitions : [ ] ,
190+ execute : async ( ) => {
191+ throw new Error ( 'Tools are disabled for this reviewer.' ) ;
192+ }
193+ } ;
194+ }
195+
196+ const fileTools = createFileContextTools ( cwd ) ;
190197 const historyTools = Array . isArray ( priorReviews ) && priorReviews . length > 0 && reviewer . reviewSharing !== false
191198 ? createReviewHistoryTools ( priorReviews )
192199 : { definitions : [ ] , execute : null } ;
Original file line number Diff line number Diff line change @@ -405,3 +405,54 @@ test('requestReviewResult exposes prior reviews through get_available_reviews wh
405405 assert . ok ( payloads [ 0 ] . messages [ 0 ] . content . includes ( 'get_available_reviews' ) ) ;
406406 assert . equal ( payloads [ 0 ] . tools . some ( ( tool ) => tool . function . name === 'get_available_reviews' ) , true ) ;
407407} ) ;
408+
409+ test ( 'requestReviewResult does not expose any tools when reviewer disables tools' , async ( ) => {
410+ const payloads = [ ] ;
411+ const client = {
412+ chat : {
413+ completions : {
414+ create : async ( payload ) => {
415+ payloads . push ( payload ) ;
416+ return {
417+ choices : [
418+ {
419+ message : {
420+ content : JSON . stringify ( { findings : [ ] } ) ,
421+ tool_calls : [ ]
422+ }
423+ }
424+ ]
425+ } ;
426+ }
427+ }
428+ }
429+ } ;
430+
431+ const result = await requestReviewResult ( {
432+ client,
433+ cwd : __dirname ,
434+ reviewer : {
435+ name : 'Reviewer' ,
436+ model : 'gpt-5-mini' ,
437+ prompt : 'Review this code.' ,
438+ useTools : false
439+ } ,
440+ context : {
441+ contextMode : 'diff' ,
442+ entries : [ ]
443+ } ,
444+ priorReviews : [
445+ {
446+ reviewer : 'Earlier Review' ,
447+ model : 'example/model' ,
448+ findings : [ 'something' ] ,
449+ structuredFindings : [ ] ,
450+ error : null
451+ }
452+ ] ,
453+ structuredOutputMode : 'json_object'
454+ } ) ;
455+
456+ assert . equal ( result . structured . findings . length , 0 ) ;
457+ assert . equal ( Array . isArray ( payloads [ 0 ] . tools ) , false ) ;
458+ } ) ;
You can’t perform that action at this time.
0 commit comments