-
Notifications
You must be signed in to change notification settings - Fork 1.4k
SEP-1686: Tasks #1041
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
LucaButBoring
wants to merge
88
commits into
modelcontextprotocol:main
Choose a base branch
from
LucaButBoring:feat/tasks
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
SEP-1686: Tasks #1041
Changes from 68 commits
Commits
Show all changes
88 commits
Select commit
Hold shift + click to select a range
16ba027
Add types for tasks
LucaButBoring ecef231
Implement PendingRequest and basic task API
LucaButBoring 41f2124
Implement RelatedTask metadata sends
LucaButBoring a8fabb6
Implement task state management
LucaButBoring b3420b3
Attach related task metadata to request handler
LucaButBoring 8e17d04
Create task before calling handler
LucaButBoring fcd2882
Create task example
LucaButBoring c73b105
Implement input_required status for tasks
LucaButBoring b028061
Implement unit tests for task support
LucaButBoring d9b72f0
Add docs for task augmentation
LucaButBoring 5dc999f
Implement tasks/list method
LucaButBoring a2d65df
Merge branch 'main' of https://github.com/modelcontextprotocol/typesc…
LucaButBoring 71a9568
Automatically execute tool calls as tasks
LucaButBoring 30043ed
Merge branch 'main' into feat/tasks
LucaButBoring 2167b43
Implement task API tests on both the client and server
LucaButBoring 12d0f66
Make default task polling interval configurable
LucaButBoring 6a28003
Merge branch 'main' into feat/tasks
LucaButBoring bb28ef7
Exclude relatedTask from RequestHandlerExtra
LucaButBoring 0bf2b42
Mark tasks as cancelled only after confirming abort
LucaButBoring 486e8ed
Store task result before attempting to respond to client
LucaButBoring 06db603
Allow task polling before creation notification arrives
LucaButBoring 723bc7d
Add session ID to TaskStore methods
LucaButBoring 3789080
Implement tasks/delete
LucaButBoring 9ae5f84
Rename pollFrequency to pollInterval
LucaButBoring 719675a
Implement capabilities for tasks
LucaButBoring 7a4f52b
Add taskHint for tool-level signposting
LucaButBoring 01be32d
Only auto-add task ID if server capability is set
LucaButBoring 0b8ced2
Correctly check peer task capabilities on receiving end
LucaButBoring 0db292a
Merge branch 'main' of https://github.com/modelcontextprotocol/typesc…
LucaButBoring b4207b9
Introduce shim task interface for tools
LucaButBoring b24ea0f
Remove most capabilities and automatic task management
LucaButBoring 4d570d3
Support customizing task pollInterval on server
LucaButBoring 2382df4
Remove submitted and unknown statuses
LucaButBoring e4c2695
Merge branch 'main' of upstream into feat/tasks
LucaButBoring 388e603
Fix spec types test compatibility after upstream merge
LucaButBoring b1cf3cf
Merge branch 'main' of https://github.com/modelcontextprotocol/typesc…
LucaButBoring 8d06d4f
chore: commit new lockfile
LucaButBoring 5975661
Introduce CreateTaskResult to request flow in tools
LucaButBoring 0af275f
Implement tasks/cancel
LucaButBoring 25d0b14
Update TaskStore interface
LucaButBoring 064568b
Preliminary tasks/result implementation updates
LucaButBoring 9296ea8
Handle input_required state in PendingRequest
LucaButBoring ffc1282
Implement task status notifications
LucaButBoring 0bf0d70
Remove task creation notification
LucaButBoring b945454
Remove types for task creation notification
LucaButBoring 1c7b332
Use actual notification schema
LucaButBoring dcd761b
Remove related-task metadata from messages that already include it as…
LucaButBoring ad220e0
Update taskHint implementation on server
LucaButBoring a3ebe62
Add tests for task cancellation vs request cancellation
LucaButBoring 901ec9c
Validate task status transitions; allow failure result
LucaButBoring 92dfcf8
Fix registerToolTask type inference with overloads
LucaButBoring 5af038d
Clean up TTL handling
LucaButBoring 5996224
Add task-listing tests
LucaButBoring b1e1401
Implement cross-request progress
LucaButBoring f668117
Backfill unit tests for task changes
LucaButBoring 370fd07
Implement end to end tests for tasks
LucaButBoring 304ff0a
Add elicitation integration tests, fix type issues
LucaButBoring b562a09
Implement SSE side-channeling on tasks/result
LucaButBoring dba843b
Replace PendingRequest with async generator
LucaButBoring 57ab83b
Remove unneeded casts in requestStream()
LucaButBoring a279a45
Reuse callToolStream inside of callTool
LucaButBoring 94681c7
Merge branch 'main' of https://github.com/modelcontextprotocol/typesc…
LucaButBoring e2f6e89
Add missing schema
LucaButBoring b9c3054
Remove now-unused isomorphic UUID dependency
LucaButBoring cd89e76
Use same polling interval in waitForTaskUpdate as caller would use
LucaButBoring 70803d8
Make queue implementation swappable
LucaButBoring 702d077
Merge branch 'main' into feat/tasks
LucaButBoring 86cc5cc
Refactor TaskMessageQueue to not store response closures
LucaButBoring 8cf6675
Move annotations.taskHint to execution.taskSupport
LucaButBoring 8acb942
Remove now-unneeded _taskResultWaiters map
LucaButBoring e7143f1
Don't fail the task or dump the queue on a failed enqueue operation
LucaButBoring c312270
Merge branch 'main' into feat/tasks
felixweinberger 5fcad03
Update example code for tasks to match impl
LucaButBoring cea8e6b
Update src/examples/server/simpleStreamableHttp.ts
LucaButBoring 6839899
Update src/examples/server/simpleStreamableHttp.ts
LucaButBoring 0e84bd4
Update src/examples/server/simpleStreamableHttp.ts
LucaButBoring a24fece
Fix inconsistencies in task example, tweak interfaces
LucaButBoring 05f697f
Simplify request interface further
LucaButBoring 76e27ea
Remove usages of removed params in tests
LucaButBoring 0d7e70d
Update README to reflect latest task changes
LucaButBoring 4029546
Add lastUpdatedAt to Task
LucaButBoring 7220df9
Merge branch 'main' into feat/tasks
felixweinberger db3280d
Await a few promises
LucaButBoring bdc5aa4
Validate against CreateTaskResult in low-level client/server
LucaButBoring 4782f9d
Use CreateTaskResult for task ID in tests
LucaButBoring 7c07f38
Merge branch 'main' into feat/tasks
LucaButBoring 681cf0d
Fix TaskStatusNotificationParamsSchema
LucaButBoring 6447edd
Add missing execution field to ListTools
LucaButBoring File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.