@@ -4,6 +4,7 @@ export const QUERY_CHALLENGES_TOOL_OUTPUT_SCHEMA = z.object({
44 page : z . number ( ) . describe ( 'Current page number in the paginated response' ) ,
55 nextPage : z
66 . number ( )
7+ . nullable ( )
78 . optional ( )
89 . describe ( 'Next page number, if available in the paginated response' ) ,
910 pageSize : z
@@ -18,17 +19,65 @@ export const QUERY_CHALLENGES_TOOL_OUTPUT_SCHEMA = z.object({
1819 name : z . string ( ) . describe ( 'Challenge title' ) ,
1920 typeId : z . string ( ) . describe ( 'Type identifier for the challenge' ) ,
2021 trackId : z . string ( ) . describe ( 'Track identifier for the challenge' ) ,
22+ legacy : z
23+ . object ( {
24+ track : z
25+ . string ( )
26+ . optional ( )
27+ . describe ( 'Legacy track identifier for the challenge' ) ,
28+ subTrack : z
29+ . string ( )
30+ . optional ( )
31+ . describe ( 'Legacy sub-track identifier for the challenge' ) ,
32+ forumId : z
33+ . number ( )
34+ . optional ( )
35+ . describe ( 'Legacy forum ID for the challenge' ) ,
36+ directProjectId : z
37+ . number ( )
38+ . optional ( )
39+ . describe ( 'Legacy direct project ID for the challenge' ) ,
40+ reviewType : z
41+ . string ( )
42+ . optional ( )
43+ . describe ( 'Legacy review type for the challenge' ) ,
44+ confidentialityType : z
45+ . string ( )
46+ . optional ( )
47+ . describe ( 'Legacy confidentiality type for the challenge' ) ,
48+ pureV5Task : z
49+ . boolean ( )
50+ . optional ( )
51+ . describe ( 'Legacy pure V5 task flag for the challenge' ) ,
52+ reviewScorecardId : z
53+ . number ( )
54+ . optional ( )
55+ . describe ( 'Legacy review scorecard ID for the challenge' ) ,
56+ screeningScorecardId : z
57+ . number ( )
58+ . optional ( )
59+ . describe ( 'Legacy screening scorecard ID for the challenge' ) ,
60+ selfService : z
61+ . boolean ( )
62+ . optional ( )
63+ . describe ( 'Legacy self-service flag for the challenge' ) ,
64+ } )
65+ . optional ( ) ,
2166 description : z
2267 . string ( )
2368 . describe ( 'Detailed description of the challenge' ) ,
2469 descriptionFormat : z
2570 . string ( )
2671 . describe ( 'Format of the description, e.g., markdown' ) ,
2772 metadata : z
28- . object ( {
29- // Additional metadata fields can be added here
30- // For example, you can include fields like 'clientId', 'prize', etc
31- } )
73+ . array (
74+ z . object ( {
75+ // Additional metadata fields can be added here
76+ // For example, you can include fields like 'clientId', 'prize', etc
77+ name : z . string ( ) . describe ( 'Metadata name' ) ,
78+ value : z . string ( ) . describe ( 'Metadata value' ) ,
79+ } ) ,
80+ )
3281 . optional ( )
3382 . describe ( 'Optional metadata associated with the challenge' ) ,
3483 timelineTemplateId : z
@@ -56,10 +105,30 @@ export const QUERY_CHALLENGES_TOOL_OUTPUT_SCHEMA = z.object({
56105 . array (
57106 z . object ( {
58107 name : z . string ( ) . describe ( 'Constraint name' ) ,
59- value : z . string ( ) . describe ( 'Constraint value' ) ,
108+ value : z . number ( ) . describe ( 'Constraint value' ) ,
60109 } ) ,
61110 )
62111 . describe ( 'Constraints for the challenge phase' ) ,
112+ actualStartDate : z
113+ . string ( )
114+ . optional ( )
115+ . describe (
116+ 'Actual start date of the phase (ISO format, optional)' ,
117+ ) ,
118+ description : z
119+ . string ( )
120+ . optional ( )
121+ . describe ( 'Description of the phase (optional)' ) ,
122+ predecessor : z
123+ . string ( )
124+ . optional ( )
125+ . describe ( 'Identifier of the predecessor phase (optional)' ) ,
126+ actualEndDate : z
127+ . string ( )
128+ . optional ( )
129+ . describe (
130+ 'Actual end date of the phase (ISO format, optional)' ,
131+ ) ,
63132 } ) ,
64133 )
65134 . describe ( 'Challenge phases (optional)' ) ,
@@ -114,6 +183,10 @@ export const QUERY_CHALLENGES_TOOL_OUTPUT_SCHEMA = z.object({
114183 'Cancelled - Zero Registrations' ,
115184 ] )
116185 . describe ( 'Current status of the challenge' ) ,
186+ attachments : z
187+ . array ( z . object ( { } ) . optional ( ) )
188+ . optional ( )
189+ . describe ( 'Attachments associated with the challenge (optional)' ) ,
117190 track : z
118191 . string ( )
119192 . describe ( 'Challenge track (e.g., DEVELOPMENT, DESIGN)' ) ,
@@ -131,7 +204,7 @@ export const QUERY_CHALLENGES_TOOL_OUTPUT_SCHEMA = z.object({
131204 overview : z
132205 . object ( {
133206 totalPrizes : z . number ( ) . describe ( 'Total prize amount' ) ,
134- types : z . string ( ) . describe ( 'Challenge prizes currency' ) ,
207+ type : z . string ( ) . optional ( ) . describe ( 'Challenge prizes currency' ) ,
135208 } )
136209 . describe ( 'Overview of the challenge' ) ,
137210 skills : z
@@ -174,6 +247,100 @@ export const QUERY_CHALLENGES_TOOL_OUTPUT_SCHEMA = z.object({
174247 )
175248 . optional ( )
176249 . describe ( 'Array of winners for the challenge (optional)' ) ,
250+ createdBy : z . string ( ) . describe ( 'User handle of the creator' ) ,
251+ updatedBy : z
252+ . string ( )
253+ . optional ( )
254+ . describe ( 'User handle of the last updater' ) ,
255+ currentPhase : z
256+ . object ( {
257+ id : z . string ( ) . describe ( 'Current phase unique identifier' ) ,
258+ phaseId : z . string ( ) . describe ( 'Current phase identifier' ) ,
259+ name : z . string ( ) . describe ( 'Current phase name' ) ,
260+ duration : z
261+ . number ( )
262+ . describe ( 'Current phase duration in seconds' ) ,
263+ scheduledStartDate : z
264+ . string ( )
265+ . describe (
266+ 'Scheduled start date of the current phase (ISO format)' ,
267+ ) ,
268+ scheduledEndDate : z
269+ . string ( )
270+ . describe (
271+ 'Scheduled end date of the current phase (ISO format)' ,
272+ ) ,
273+ isOpen : z
274+ . boolean ( )
275+ . describe ( 'Indicates if the current phase is open' ) ,
276+ constraints : z
277+ . array (
278+ z . object ( {
279+ name : z . string ( ) . describe ( 'Constraint name' ) ,
280+ value : z . number ( ) . describe ( 'Constraint value' ) ,
281+ } ) ,
282+ )
283+ . describe ( 'Constraints for the current phase' ) ,
284+ description : z
285+ . string ( )
286+ . optional ( )
287+ . describe ( 'Description of the current phase (optional)' ) ,
288+ actualStartDate : z
289+ . string ( )
290+ . optional ( )
291+ . describe (
292+ 'Actual start date of the current phase (ISO format)' ,
293+ ) ,
294+ predecessor : z
295+ . string ( )
296+ . optional ( )
297+ . describe ( 'Identifier of the predecessor phase (optional)' ) ,
298+ } )
299+ . optional ( )
300+ . describe ( 'Current phase of the challenge (optional)' ) ,
301+ currentPhaseNames : z
302+ . array ( z . string ( ) )
303+ . optional ( )
304+ . describe (
305+ 'Names of the current phases of the challenge (optional)' ,
306+ ) ,
307+ discussions : z
308+ . array (
309+ z . object ( {
310+ id : z
311+ . string ( )
312+ . optional ( )
313+ . describe ( 'Discussion unique identifier' ) ,
314+ name : z . string ( ) . optional ( ) . describe ( 'Discussion name' ) ,
315+ type : z . string ( ) . optional ( ) . describe ( 'Discussion type' ) ,
316+ provider : z . string ( ) . optional ( ) . describe ( 'Discussion provider' ) ,
317+ url : z . string ( ) . optional ( ) . describe ( 'URL of the discussion' ) ,
318+ } ) ,
319+ )
320+ . optional ( )
321+ . describe ( 'Discussions associated with the challenge (optional)' ) ,
322+ events : z
323+ . array ( z . object ( { } ) )
324+ . optional ( )
325+ . describe ( 'Events associated with the challenge (optional)' ) ,
326+ groups : z
327+ . array ( z . object ( { } ) )
328+ . optional ( )
329+ . describe ( 'Groups associated with the challenge (optional)' ) ,
330+ legacyId : z
331+ . number ( )
332+ . optional ( )
333+ . describe ( 'Legacy identifier for the challenge (optional)' ) ,
334+ projectId : z
335+ . number ( )
336+ . optional ( )
337+ . describe ( 'Project identifier for the challenge (optional)' ) ,
338+ numOfCheckpointSubmissions : z
339+ . number ( )
340+ . optional ( )
341+ . describe (
342+ 'Number of checkpoint submissions for the challenge (optional)' ,
343+ ) ,
177344 } )
178345 . describe ( 'Challenge object' ) ,
179346 )
0 commit comments