@@ -42,6 +42,7 @@ describe("configureWorkItemTools", () => {
4242 let server : McpServer ;
4343 let tokenProvider : TokenProviderMock ;
4444 let connectionProvider : ConnectionProviderMock ;
45+ let userAgentProvider : ( ) => string ;
4546 let mockConnection : {
4647 getWorkApi : jest . Mock ;
4748 getWorkItemTrackingApi : jest . Mock ;
@@ -79,18 +80,20 @@ describe("configureWorkItemTools", () => {
7980 } ;
8081
8182 connectionProvider = jest . fn ( ) . mockResolvedValue ( mockConnection ) ;
83+
84+ userAgentProvider = ( ) => "Jest" ;
8285 } ) ;
8386
8487 describe ( "tool registration" , ( ) => {
8588 it ( "registers core tools on the server" , ( ) => {
86- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
89+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
8790 expect ( server . tool as jest . Mock ) . toHaveBeenCalled ( ) ;
8891 } ) ;
8992 } ) ;
9093
9194 describe ( "list_backlogs tool" , ( ) => {
9295 it ( "should call getBacklogs API with the correct parameters and return the expected result" , async ( ) => {
93- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
96+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
9497
9598 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_list_backlogs" ) ;
9699 if ( ! call ) throw new Error ( "wit_list_backlogs tool not registered" ) ;
@@ -116,7 +119,7 @@ describe("configureWorkItemTools", () => {
116119
117120 describe ( "list_backlog_work_items tool" , ( ) => {
118121 it ( "should call getBacklogLevelWorkItems API with the correct parameters and return the expected result" , async ( ) => {
119- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
122+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
120123
121124 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_list_backlog_work_items" ) ;
122125 if ( ! call ) throw new Error ( "wit_list_backlog_work_items tool not registered" ) ;
@@ -184,7 +187,7 @@ describe("configureWorkItemTools", () => {
184187
185188 describe ( "my_work_items tool" , ( ) => {
186189 it ( "should call getPredefinedQueryResults API with the correct parameters and return the expected result" , async ( ) => {
187- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
190+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
188191
189192 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_my_work_items" ) ;
190193 if ( ! call ) throw new Error ( "wit_my_work_items tool not registered" ) ;
@@ -259,7 +262,7 @@ describe("configureWorkItemTools", () => {
259262
260263 describe ( "getWorkItemsBatch tool" , ( ) => {
261264 it ( "should call workItemApi.getWorkItemsBatch API with the correct parameters and return the expected result" , async ( ) => {
262- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
265+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
263266
264267 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_get_work_items_batch_by_ids" ) ;
265268
@@ -289,7 +292,7 @@ describe("configureWorkItemTools", () => {
289292
290293 describe ( "get_work_item tool" , ( ) => {
291294 it ( "should call workItemApi.getWorkItem API with the correct parameters and return the expected result" , async ( ) => {
292- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
295+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
293296
294297 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_get_work_item" ) ;
295298
@@ -316,7 +319,7 @@ describe("configureWorkItemTools", () => {
316319
317320 describe ( "list_work_item_comments tool" , ( ) => {
318321 it ( "should call workItemApi.getComments API with the correct parameters and return the expected result" , async ( ) => {
319- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
322+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
320323
321324 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_list_work_item_comments" ) ;
322325
@@ -341,7 +344,7 @@ describe("configureWorkItemTools", () => {
341344
342345 describe ( "add_work_item_comment tool" , ( ) => {
343346 it ( "should call workItemApi.addComment API with the correct parameters and return the expected result" , async ( ) => {
344- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
347+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
345348
346349 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_add_work_item_comment" ) ;
347350
@@ -366,7 +369,7 @@ describe("configureWorkItemTools", () => {
366369
367370 describe ( "add_child_work_item tool" , ( ) => {
368371 it ( "should call workItemApi.add_child_work_item API with the correct parameters and return the expected result" , async ( ) => {
369- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
372+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
370373
371374 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_add_child_work_item" ) ;
372375
@@ -426,7 +429,7 @@ describe("configureWorkItemTools", () => {
426429
427430 describe ( "link_work_item_to_pull_request tool" , ( ) => {
428431 it ( "should call workItemApi.updateWorkItem API with the correct parameters and return the expected result" , async ( ) => {
429- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
432+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
430433
431434 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_link_work_item_to_pull_request" ) ;
432435
@@ -477,7 +480,7 @@ describe("configureWorkItemTools", () => {
477480 } ) ;
478481
479482 it ( "should handle errors from updateWorkItem and return a descriptive error" , async ( ) => {
480- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
483+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
481484 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_link_work_item_to_pull_request" ) ;
482485
483486 if ( ! call ) throw new Error ( "wit_link_work_item_to_pull_request tool not registered" ) ;
@@ -498,7 +501,7 @@ describe("configureWorkItemTools", () => {
498501 } ) ;
499502
500503 it ( "should encode special characters in project and repositoryId for vstfsUrl" , async ( ) => {
501- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
504+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
502505 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_link_work_item_to_pull_request" ) ;
503506 if ( ! call ) throw new Error ( "wit_link_work_item_to_pull_request tool not registered" ) ;
504507
@@ -533,7 +536,7 @@ describe("configureWorkItemTools", () => {
533536
534537 describe ( "get_work_items_for_iteration tool" , ( ) => {
535538 it ( "should call workApi.getIterationWorkItems API with the correct parameters and return the expected result" , async ( ) => {
536- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
539+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
537540
538541 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_get_work_items_for_iteration" ) ;
539542
@@ -564,7 +567,7 @@ describe("configureWorkItemTools", () => {
564567
565568 describe ( "update_work_item tool" , ( ) => {
566569 it ( "should call workItemApi.updateWorkItem API with the correct parameters and return the expected result" , async ( ) => {
567- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
570+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
568571
569572 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_update_work_item" ) ;
570573
@@ -594,7 +597,7 @@ describe("configureWorkItemTools", () => {
594597
595598 describe ( "get_work_item_type tool" , ( ) => {
596599 it ( "should call workItemApi.getWorkItemType API with the correct parameters and return the expected result" , async ( ) => {
597- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
600+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
598601
599602 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_get_work_item_type" ) ;
600603
@@ -618,7 +621,7 @@ describe("configureWorkItemTools", () => {
618621
619622 describe ( "create_work_item tool" , ( ) => {
620623 it ( "should call workItemApi.createWorkItem API with the correct parameters and return the expected result" , async ( ) => {
621- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
624+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
622625
623626 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_create_work_item" ) ;
624627
@@ -649,7 +652,7 @@ describe("configureWorkItemTools", () => {
649652
650653 describe ( "get_query tool" , ( ) => {
651654 it ( "should call workItemApi.getQuery API with the correct parameters and return the expected result" , async ( ) => {
652- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
655+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
653656
654657 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_get_query" ) ;
655658
@@ -677,7 +680,7 @@ describe("configureWorkItemTools", () => {
677680
678681 describe ( "get_query_results_by_id tool" , ( ) => {
679682 it ( "should call workItemApi.getQueryById API with the correct parameters and return the expected result" , async ( ) => {
680- configureWorkItemTools ( server , tokenProvider , connectionProvider ) ;
683+ configureWorkItemTools ( server , tokenProvider , connectionProvider , userAgentProvider ) ;
681684
682685 const call = ( server . tool as jest . Mock ) . mock . calls . find ( ( [ toolName ] ) => toolName === "wit_get_query_results_by_id" ) ;
683686
0 commit comments