@@ -1755,6 +1755,11 @@ public interface TaskInfo {
17551755 */
17561756 String createdAt ();
17571757
1758+ /**
1759+ * ISO 8601 timestamp when the task status was last updated
1760+ */
1761+ String lastUpdatedAt ();
1762+
17581763 /**
17591764 * Actual retention duration from creation in milliseconds, null for unlimited.
17601765 */
@@ -1778,11 +1783,15 @@ public record Task( //@formatter:off
17781783 @ JsonProperty ("status" ) TaskStatus status ,
17791784 @ JsonProperty ("statusMessage" ) String statusMessage ,
17801785 @ JsonProperty ("createdAt" ) String createdAt ,
1786+ @ JsonProperty ("lastUpdatedAt" ) String lastUpdatedAt ,
17811787 @ JsonProperty ("ttl" ) Long ttl ,
17821788 @ JsonProperty ("pollInterval" ) Long pollInterval ) implements TaskInfo { // @formatter:on
17831789
1790+ /**
1791+ * Binary compatibility constructor
1792+ */
17841793 public Task (String taskId , TaskStatus status , String statusMessage , String createdAt ) {
1785- this (taskId , status , statusMessage , createdAt , null , null );
1794+ this (taskId , status , statusMessage , createdAt , null , null , null );
17861795 }
17871796
17881797 public static Builder builder () {
@@ -1799,6 +1808,8 @@ public static class Builder {
17991808
18001809 private String createdAt ;
18011810
1811+ private String lastUpdatedAt ;
1812+
18021813 private long ttl ;
18031814
18041815 private long pollInterval ;
@@ -1823,6 +1834,11 @@ public Builder createdAt(String createdAt) {
18231834 return this ;
18241835 }
18251836
1837+ public Builder lastUpdatedAt (String lastUpdatedAt ) {
1838+ this .lastUpdatedAt = lastUpdatedAt ;
1839+ return this ;
1840+ }
1841+
18261842 public Builder ttl (long ttl ) {
18271843 this .ttl = ttl ;
18281844 return this ;
@@ -1834,7 +1850,7 @@ public Builder pollInterval(long pollInterval) {
18341850 }
18351851
18361852 public Task build () {
1837- return new Task (taskId , status , statusMessage , createdAt , ttl , pollInterval );
1853+ return new Task (taskId , status , statusMessage , createdAt , lastUpdatedAt , ttl , pollInterval );
18381854 }
18391855
18401856 }
@@ -1873,6 +1889,7 @@ public record GetTaskRequest( // @formatter:off
18731889 * @param status task status
18741890 * @param statusMessage task status message
18751891 * @param createdAt task creation time
1892+ * @param lastUpdatedAt task last updated time
18761893 * @param ttl optional task time to live
18771894 * @param pollInterval optional recommended poll interval
18781895 * @param meta Optional metadata about the request.
@@ -1884,6 +1901,7 @@ public record GetTaskResult( // @formatter:off
18841901 @ JsonProperty ("status" ) TaskStatus status ,
18851902 @ JsonProperty ("statusMessage" ) String statusMessage ,
18861903 @ JsonProperty ("createdAt" ) String createdAt ,
1904+ @ JsonProperty ("lastUpdatedAt" ) String lastUpdatedAt ,
18871905 @ JsonProperty ("ttl" ) Long ttl ,
18881906 @ JsonProperty ("pollInterval" ) Long pollInterval ,
18891907 @ JsonProperty ("_meta" ) Map <String , Object > meta ) implements TaskInfo , Result { // @formatter:on
@@ -1920,6 +1938,7 @@ public record CancelTaskRequest( // @formatter:off
19201938 * @param status task status
19211939 * @param statusMessage task status message
19221940 * @param createdAt task creation time
1941+ * @param lastUpdatedAt task last updated time
19231942 * @param ttl optional task time to live
19241943 * @param pollInterval optional recommended poll interval
19251944 * @param meta Optional metadata about the request.
@@ -1931,6 +1950,7 @@ public record CancelTaskResult( // @formatter:off
19311950 @ JsonProperty ("status" ) TaskStatus status ,
19321951 @ JsonProperty ("statusMessage" ) String statusMessage ,
19331952 @ JsonProperty ("createdAt" ) String createdAt ,
1953+ @ JsonProperty ("lastUpdatedAt" ) String lastUpdatedAt ,
19341954 @ JsonProperty ("ttl" ) Long ttl ,
19351955 @ JsonProperty ("pollInterval" ) Long pollInterval ,
19361956 @ JsonProperty ("_meta" ) Map <String , Object > meta ) implements TaskInfo , Result { // @formatter:on
@@ -1960,6 +1980,7 @@ public record ListTasksResult( // @formatter:off
19601980 * @param status task status
19611981 * @param statusMessage task status message
19621982 * @param createdAt task creation time
1983+ * @param lastUpdatedAt task last updated time
19631984 * @param ttl optional task time to live
19641985 * @param pollInterval optional recommended poll interval
19651986 * @param meta Optional metadata about the request.
@@ -1969,6 +1990,7 @@ public record TaskStatusNotification( // @formatter:off
19691990 @ JsonProperty ("status" ) TaskStatus status ,
19701991 @ JsonProperty ("statusMessage" ) String statusMessage ,
19711992 @ JsonProperty ("createdAt" ) String createdAt ,
1993+ @ JsonProperty ("lastUpdatedAt" ) String lastUpdatedAt ,
19721994 @ JsonProperty ("ttl" ) Long ttl ,
19731995 @ JsonProperty ("pollInterval" ) Long pollInterval ,
19741996 @ JsonProperty ("_meta" ) Map <String , Object > meta ) implements TaskInfo , Notification { // @formatter:on
@@ -2126,7 +2148,17 @@ public record CallToolAuxResult( // @formatter:off
21262148 @ JsonProperty ("isError" ) Boolean isError ,
21272149 @ JsonProperty ("structuredContent" ) Object structuredContent ,
21282150 @ JsonProperty ("task" ) Task task ,
2129- @ JsonProperty ("_meta" ) Map <String , Object > meta ) implements Result {} // @formatter:on
2151+ @ JsonProperty ("_meta" ) Map <String , Object > meta ) implements Result {
2152+
2153+ public CreateTaskResult toCreateTaskResult () {
2154+ return new CreateTaskResult (task , meta );
2155+ }
2156+
2157+ public CallToolResult toCallToolResult () {
2158+ return new CallToolResult (content , isError , structuredContent , meta );
2159+ }
2160+
2161+ } // @formatter:on
21302162
21312163 /**
21322164 * The server's response to a tools/call request from the client.
0 commit comments