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
Scope experimental tasks to the session that created them
Task IDs generated by run_task() now embed an opaque per-session marker,
and the default handlers registered by enable_tasks() use it to restrict
each session to its own tasks: tasks/get, tasks/result, and tasks/cancel
respond with "task not found" for another session's task, and tasks/list
returns only the requesting session's tasks. The default tasks/list
handler no longer exposes the store's pagination cursor, which is derived
from the unfiltered listing and could identify another session's task.
Tasks whose IDs carry no marker (explicitly chosen IDs, tasks created
directly through a TaskStore, or tasks on stateless servers) remain
usable by any requestor that presents the exact ID, but are no longer
included in tasks/list responses. Passing an explicit task_id to
run_task() is deprecated because such tasks cannot be associated with
the session that created them.
The TaskStore interface and the wire protocol are unchanged; the marker
travels inside the task ID string.
0 commit comments