@@ -50,66 +50,66 @@ export class QueryChallengesTool {
5050 accessToken ,
5151 ) ;
5252
53- if ( ! challenges . ok ) {
53+ if ( challenges . status < 200 || challenges . status >= 300 ) {
5454 this . logger . error (
5555 `Failed to fetch challenges from Topcoder API: ${ challenges . statusText } ` ,
5656 ) ;
5757 try {
58- this . logger . error ( await challenges . json ( ) ) ;
58+ this . logger . error ( challenges . data ) ;
5959 } catch ( e ) {
6060 this . logger . error ( 'Failed to log challenge error' ) ;
6161 }
6262
6363 // Return an error response if the API call fails
6464 return {
6565 content : [
66- {
67- type : 'text' ,
68- text : `Error fetching challenges: ${ challenges . statusText } ` ,
69- } ,
66+ {
67+ type : 'text' ,
68+ text : `Error fetching challenges: ${ challenges . statusText } ` ,
69+ } ,
7070 ] ,
7171 isError : true ,
7272 } ;
7373 }
7474
75- // Parse the response as JSON
76- const challengesData = await challenges . json ( ) ;
75+ // Axios response: data is already parsed, headers are plain object
76+ const challengesData = challenges . data ;
7777
7878 return {
7979 content : [
8080 {
81- type : 'text' ,
82- text : JSON . stringify ( {
83- page : Number ( challenges . headers . get ( 'x-page' ) ) || 1 ,
84- pageSize :
85- Number ( challenges . headers . get ( 'x-per-page' ) ) ||
86- challengesData . length ||
87- 0 ,
88- total :
89- Number ( challenges . headers . get ( 'x-total' ) ) ||
90- challengesData . length ||
91- 0 ,
92- nextPage : challenges . headers . get ( 'x-next-page' )
93- ? Number ( challenges . headers . get ( 'x-next-page' ) )
94- : null ,
95- data : challengesData ,
96- } ) ,
97- } ,
98- ] ,
99- structuredContent : {
100- page : Number ( challenges . headers . get ( 'x-page' ) ) || 1 ,
81+ type : 'text' ,
82+ text : JSON . stringify ( {
83+ page : Number ( challenges . headers [ 'x-page' ] ) || 1 ,
10184 pageSize :
102- Number ( challenges . headers . get ( 'x-per-page' ) ) ||
103- challengesData . length ||
85+ Number ( challenges . headers [ 'x-per-page' ] ) ||
86+ ( Array . isArray ( challengesData ) ? challengesData . length : 0 ) ||
10487 0 ,
10588 total :
106- Number ( challenges . headers . get ( 'x-total' ) ) ||
107- challengesData . length ||
89+ Number ( challenges . headers [ 'x-total' ] ) ||
90+ ( Array . isArray ( challengesData ) ? challengesData . length : 0 ) ||
10891 0 ,
109- nextPage : challenges . headers . get ( 'x-next-page' )
110- ? Number ( challenges . headers . get ( 'x-next-page' ) )
92+ nextPage : challenges . headers [ 'x-next-page' ]
93+ ? Number ( challenges . headers [ 'x-next-page' ] )
11194 : null ,
11295 data : challengesData ,
96+ } ) ,
97+ } ,
98+ ] ,
99+ structuredContent : {
100+ page : Number ( challenges . headers [ 'x-page' ] ) || 1 ,
101+ pageSize :
102+ Number ( challenges . headers [ 'x-per-page' ] ) ||
103+ ( Array . isArray ( challengesData ) ? challengesData . length : 0 ) ||
104+ 0 ,
105+ total :
106+ Number ( challenges . headers [ 'x-total' ] ) ||
107+ ( Array . isArray ( challengesData ) ? challengesData . length : 0 ) ||
108+ 0 ,
109+ nextPage : challenges . headers [ 'x-next-page' ]
110+ ? Number ( challenges . headers [ 'x-next-page' ] )
111+ : null ,
112+ data : challengesData ,
113113 } ,
114114 } ;
115115 } catch ( error ) {
0 commit comments