The TypeScript SDK (and presumably others) quite possibly support at least pings out of the box so including the ping tab even if a server doesn't have capabilities seems to make sense.
* I've noticed that on a new version of the inspector, I have to go to the browser's devtools panel and clear site data then reload the page.
* The assets are hashed and immutable, so caching should be allowed for them
* The index.html file is the problem, because if cached, it will point to old assets, and therefore needs to have caching turned forf
* This PR adds appropriate headers to the index.html and assets that are served.
* Hooks are in multiple places in the codebase and some camelCase, some snake-case. This PR relocates them all to the lib/hooks folder and normalizes camelCase naming. Settled on src/client/lib/hooks for the location since most of them were already there.
- Refactor/move useTheme.ts from client/src/lib to client/src/lib/hooks
- Refactor/move useToast.ts from client/src/hooks/ to client/src/lib/hooks/useToast.ts
- Removed client/src/hooks
* In main.yml
- reversed a change from last release that did an explicit build, because the prepare script was no longer in package.json
* In package.json
- replaced prepare script, which will cause automatic build after npm install
- set version to 0.11.0
- set versions of inspector-cli, inspector-client, and inspector-server to ^0.11.0
* In package.lock.json
- updated versions of inspector, inspector-cli, inspector-client, and inspector-server to ^0.11.0
* In cli/package.json
- set version to 0.11.0
- set versions of sdk to 1.10.2
* In client/package.json
- set version to 0.11.0
- set versions of sdk to 1.10.2
* In server/package.json
- set version to 0.11.0
- set versions of sdk to 1.10.2
* This PR caused the Sidebar.test.ts file tests to fail because TransformStream is not found.
* TransformStream exists in the Node version I'm testing with (20), but it still isn't found by Jest
* Turns out it is a problem with Jest, and the workaround is the simple package jest-fixed-jsdom, which subclasses JSDOMEnvironment testing environment, placing this and several other dependencies in its global object.
* In package.json
- add jest-fixed-jsdom as a devDependency
* In jest.config.cjs
- change testEnvironment to jest-fixed-jsdom
* In index.ts,
- refactor transport webAppTransports to be a map with the session id as key and transport as value.
* Implement /mcp GET and POST endpoints using StreamableHTTPServerTransport and doing the new session in the POST (opposite from SSE) handler.
* In package.json
- update the SDK to 1.10.2
* In useConnection.ts
- import StreamableHTTPClientTransport
- NOTE: while we NEED to do this, it causes useConnection.test.ts to fail with " ReferenceError: TransformStream is not defined"
- in connect method
- instantiate the appropriate transport
* In server/index.js
- add get/post handlers for /mcp
- amend console log on SSE connect, with deprecation message
- add /stdio GET handler and refactored /sse GET handler to not also do stdio. Each transport has its own handler now
- add appropriate headers to streamable-http request
* In /client/src/lib/hooks/useConnection.ts
- in connect function
- create server url properly based on new transport type.
* cli/package.json
* client/package.json
* server/package.json
* package.json
- also bump npm dependencies for cli, client, and server to 0.10.0
* package-lock.json
* cli/package.json
* client/package.json
* server/package.json
* package.json
- also bump npm dependencies for cli, client, and server to 0.10.0
* package-lock.json