You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/specification/draft/basic/utilities/mrtr.mdx
-41Lines changed: 0 additions & 41 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -247,47 +247,6 @@ what is directly present in the retry request.
247
247
1. The JSON-RPC `id`**MUST** be different between the initial request and the retry, as they are independent requests.
248
248
1. Both the `inputRequests` and `requestState` fields affect only the client's retry of the original request. They **MUST NOT** be used for any other request that the client may be sending in parallel.
249
249
250
-
### Tasks Workflow
251
-
252
-
For long-running operations that require server-side state, the persistent workflow leverages [Tasks](/seps/2663-tasks-extension). The `input_required` task status indicates that additional information is needed.
253
-
254
-
```mermaid
255
-
sequenceDiagram
256
-
participant U as User
257
-
participant C as Client
258
-
participant S as Server
259
-
C->>S: tools/call (id: 1, task config)
260
-
S-->>C: Result (id: 1, taskId, status: working)
261
-
262
-
note over C,S: Client polls for task status while server processes request
263
-
264
-
note over S: Server needs more info via Elicitation <br/> sets state to input_required
265
-
C->>S: tasks/get (id: 2, taskId)
266
-
S-->>C: Result (id: 2, status: input_required)
267
-
268
-
C->>U: Prompts user for input
269
-
U-->>C: Provides responses
270
-
271
-
C->>S: tasks/update (id: 3, taskId, ElicitResult)
272
-
S-->>C: Result (id: 3, acknowledged)
273
-
274
-
note over C,S: Processing resumes, Client polls
275
-
C->>S: tasks/get (id: 4, taskId)
276
-
S-->>C: Result (id: 4, status: completed, final content)
277
-
```
278
-
279
-
#### Server Requirements (Tasks)
280
-
281
-
1. Servers **MAY** respond to `tasks/get` by indicating that the task is in status `input_required`.
282
-
1. Servers **MUST** include an `inputRequests` field in the `tasks/get` response when the task is in status `input_required`.
283
-
1.`inputRequests` keys are server assigned identifiers and **MUST** be unique within the scope of a `Task`.
284
-
1. Servers **MAY** include a `requestState` field in the `tasks/get` response when the task is in status `input_required`.
285
-
286
-
#### Client Requirements (Tasks)
287
-
288
-
1. When `tasks/get` shows status `input_required`, clients **SHOULD** construct the results of those requests and call [`tasks/update`](seps/2663-tasks-extension#task-input-requests) with the `inputResponses` & `requestState` (if present).
289
-
1. Clients **MAY** choose not to fulfill the input requests, in which case they **MAY** cancel the task.
290
-
291
250
### Error Handling
292
251
293
252
Servers **SHOULD** validate that the data provided by the client is a valid `InputResponses` object and that the information inside can be correctly parsed.
0 commit comments