Skip to content

Commit 9aad7cb

Browse files
committed
Clarify request lifetimes in task diagrams
1 parent 0678e68 commit 9aad7cb

File tree

1 file changed

+37
-13
lines changed
  • docs/specification/draft/basic/utilities

1 file changed

+37
-13
lines changed

docs/specification/draft/basic/utilities/tasks.mdx

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -482,19 +482,29 @@ sequenceDiagram
482482
participant S as Server (Receiver)
483483
Note over C,S: 1. Task Creation
484484
C->>S: Request with task field (ttl)
485+
activate S
485486
S->>C: CreateTaskResult (taskId, status: working, ttl, pollInterval)
487+
deactivate S
486488
Note over C,S: 2. Task Polling
487489
C->>S: tasks/get (taskId)
490+
activate S
488491
S->>C: working
492+
deactivate S
489493
Note over S: Task processing continues...
490494
C->>S: tasks/get (taskId)
495+
activate S
491496
S->>C: working
497+
deactivate S
492498
Note over S: Task completes
493499
C->>S: tasks/get (taskId)
500+
activate S
494501
S->>C: completed
502+
deactivate S
495503
Note over C,S: 3. Result Retrieval
496504
C->>S: tasks/result (taskId)
505+
activate S
497506
S->>C: Result content
507+
deactivate S
498508
Note over C,S: 4. Cleanup
499509
Note over S: After ttl period from creation, task is cleaned up
500510
```
@@ -513,44 +523,44 @@ sequenceDiagram
513523
514524
Note over C,S: Client augments with task
515525
C->>S: tools/call (ttl: 3600000)
526+
activate S
516527
S->>C: CreateTaskResult (task-123, status: working)
528+
deactivate S
517529
518530
Note over LLM,C: Client continues processing other requests<br/>while task executes in background
519531
LLM->>C: Request other operation
520532
C->>LLM: Other operation result
521533
522534
Note over C,S: Client polls for status
523535
C->>S: tasks/get (task-123)
536+
activate S
524537
S->>C: working
538+
deactivate S
525539
526540
Note over S: Server needs information from client<br/>Task moves to input_required
527541
528542
Note over C,S: Client polls and discovers input_required
529543
C->>S: tasks/get (task-123)
544+
activate S
530545
S->>C: input_required
546+
deactivate S
531547
532548
Note over C,S: Client receives input requests
533549
C->>S: tasks/result (task-123)
534-
S->>C: elicitation/create (task-123)
550+
activate S
551+
S->>C: elicitation/create (related-task: task-123)
552+
activate C
535553
C->>U: Prompt user for input
536554
U->>C: Provide information
537-
C->>S: elicitation response (task-123)
555+
C->>S: elicitation response (related-task: task-123)
556+
deactivate C
538557
539558
Note over S: Task continues processing...<br/>Task moves back to working
540559
541-
Note over C,S: Client polls again
542-
C->>S: tasks/get (task-123)
543-
S->>C: working
544-
545-
Note over S: Task completes
560+
Note over S: Task completes and server sends final results
546561
547-
Note over C,S: Client polls and discovers completion
548-
C->>S: tasks/get (task-123)
549-
S->>C: completed
550-
551-
Note over C,S: Client retrieves final results
552-
C->>S: tasks/result (task-123)
553562
S->>C: Result content
563+
deactivate S
554564
C->>LLM: Process result
555565
556566
Note over S: Results retained for ttl period from creation
@@ -569,13 +579,17 @@ sequenceDiagram
569579
570580
Note over S,C: Server requests client operation (task-augmented)
571581
S->>C: sampling/createMessage (ttl: 3600000)
582+
activate C
572583
C->>S: CreateTaskResult (request-789, status: working)
584+
deactivate C
573585
574586
Note over S: Server continues processing<br/>while waiting for result
575587
576588
Note over S,C: Server polls for result
577589
S->>C: tasks/get (request-789)
590+
activate C
578591
C->>S: working
592+
deactivate C
579593
580594
Note over C,U: Client may present request to user
581595
C->>U: Review request
@@ -591,11 +605,15 @@ sequenceDiagram
591605
592606
Note over S,C: Server polls and discovers completion
593607
S->>C: tasks/get (request-789)
608+
activate C
594609
C->>S: completed
610+
deactivate C
595611
596612
Note over S,C: Server retrieves result
597613
S->>C: tasks/result (request-789)
614+
activate C
598615
C->>S: Result content
616+
deactivate C
599617
600618
Note over S: Server continues processing
601619
@@ -611,20 +629,26 @@ sequenceDiagram
611629
612630
Note over C,S: 1. Task Creation
613631
C->>S: tools/call (request ID: 42, ttl: 60000)
632+
activate S
614633
S->>C: CreateTaskResult (task-123, status: working)
634+
deactivate S
615635
616636
Note over C,S: 2. Task Processing
617637
C->>S: tasks/get (task-123)
638+
activate S
618639
S->>C: working
640+
deactivate S
619641
620642
Note over C,S: 3. Client Cancellation
621643
Note over C: User requests cancellation
622644
C->>S: tasks/cancel (taskId: task-123)
645+
activate S
623646
624647
Note over S: Server stops execution (best effort)
625648
Note over S: Task moves to cancelled status
626649
627650
S->>C: Task (status: cancelled)
651+
deactivate S
628652
629653
Note over C: Client receives confirmation
630654

0 commit comments

Comments
 (0)