Commit Graph

9 Commits

Author SHA1 Message Date
cliffhall
9ade57133f Fix #3234 -
"Everything Server crashes when multiple clients reconnect"

* In index.ts
  - added a variable to hold the initialize timeout
  - store the timeout in the oninitialized handler
  - clear the timeout in the cleanup callback

* In roots.ts
  - In the catch block of syncRoots, log the error to the console via .error rather than attempting to send to the client because the most probable case here is that we don't have a connection.

* In simulate-research-query.ts
  - remove redundant local variable in getTask
* Everywhere else, prettier.
2026-01-23 13:26:02 -05:00
Ola Hungerford
a160653441 Apply suggestions from code review
Co-authored-by: Cliff Hall <cliff@futurescale.com>
2026-01-21 17:55:10 -07:00
olaservo
1cda86effb docs(everything): update features.md for direct elicitation flow
Update documentation to reflect that simulate-research-query now sends
elicitation requests directly from the background task instead of using
the tasks/result side-channel approach.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 17:44:55 -07:00
olaservo
9d863fb7e6 feat: add async sampling and elicitation tools
Add tools that demonstrate bidirectional MCP tasks where the server
sends requests to the client for async execution:

- trigger-sampling-request-async: Send sampling request with task
  params, client creates task and executes LLM call in background,
  server polls for completion and retrieves result

- trigger-elicitation-request-async: Same pattern for user input,
  useful when user may take time to fill out forms

Both tools:
- Check client capabilities (tasks.requests.sampling/elicitation)
- Accept both CreateTaskResult and direct result responses
- Poll tasks/get for status updates
- Fetch final result via tasks/result

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 09:14:30 -07:00
olaservo
0208e93f85 feat(everything): add SEP-1686 Tasks support
- Add tasks capability with list, cancel, and requests.tools.call
- Add InMemoryTaskStore and InMemoryTaskMessageQueue from SDK experimental
- Add simulate-research-query tool demonstrating task lifecycle
- Task demonstrates working -> input_required -> completed status flow
- Uses elicitation for ambiguous queries when client supports it

Closes #3037

🦉 Generated with [Claude Code](https://claude.ai/code)
2026-01-09 06:48:53 -07:00
cliffhall
a235ed8016 Updated package.json and ran prettier 2025-12-13 14:33:16 -05:00
cliffhall
2b60822057 Refactor-renamed long-running-operation.ts to trigger-long-running-operation.ts 2025-12-13 14:20:24 -05:00
cliffhall
f561f70002 [WIP] Refactor everything server to be more modular and use recommended APIs.
* Updated docs

* Refactor/renamed toggle-logging.ts to toggle-simulated-logging.ts
  - refactor/renamed registerToggleLoggingTool to registerToggleSimulatedLoggingTool
2025-12-13 10:59:35 -05:00
cliffhall
9b25a3a41b [WIP] Refactor everything server to be more modular and use recommended APIs.
Finalized Roots list changed handling and initial request. Final fit and finish work.

* Updated architecture.md
  - Added links to other docs
  - Refactor/extracted sections into extension.md, features.md, how-it-works.md, startup.md, and structure.md

* Removed everything.ts
  - all features are ported

* In roots.ts
  - refactor/renaned setRootsListChangedHandler to syncRoots
  - refactor handler logic to requestRoots function
  - Calls for roots list directly to get initial list

* In server/index.ts
  - import setRootsListChangedHandler
  - in clientConnected callback
    - call setRootsListChangedHandler passing server and sessionId

* In sse.ts, stdio.ts, and streamableHttp.ts
  - update inline and function docs

* In index.ts,
  - updated usage output

* In server/index.ts
  - refactor/extracted readInstructions to resources/index.ts
  - defined ServerFactoryResponse response type
2025-12-12 20:12:18 -05:00