If the server does not support resource subscriptions, do not show any subscription buttons.
* In App.tsx
- useState for resourceSubscriptions, setResourceSubscriptions a Set of type string.
- in subscribeToResource()
- only make the request to subscribe if the uri is not in the resourceSubscriptions set
- in unsubscribeFromResource()
- only make the request to unsubscribe if the uri is in the resourceSubscriptions set
- in ResourceTab element,
- pass a boolean resourceSubscriptionsSupported as serverCapabilities.resources.subscribe
- pass resourceSubscriptions as a prop
* In ResourcesTab.tsx
- deconstruct resourceSubscriptions and resourceSubscriptionsSupported from props and add prop type
- in selected resource panel
- don't show subscribe or unsubscribe buttons unless resourceSubscriptionsSupported is true
- only show subscribe button if selected resource uri is not in resourceSubscriptions set
- only show unsubscribe button if selected resource uri is in resourceSubscriptions set
- wrap buttons in a flex div that is
- justified right
- has a minimal gap between
- 2/5 wide (just big enough to contain two buttons and leave the h3 text 3/5 of the row to render and not overflow.
* In App.tsx
- added subscribeToResource()
- takes a uri
- sends a `resources/subscribe` message with the uri
- added unsubscribeFromResource()
- takes a uri
- sends a `resources/unsubscribe` message with the uri
- in ResourcesTab element,
- pass subscribeToResource and subscribeToResource invokers to component
* In notificationTypes.ts
- add ServerNotificationSchema to NotificationSchema to permit server update messages.
* In ResourcesTab.tsx
- deconstruct subscribeToResource and unsubscribeFromResource and add prop types
- Add Subscribe and Unsubscribe buttons to selected resource panel, left of the refresh button. They call the sub and unsub functions that came in on props, passing the selected resource URI.
- [WIP]: Will show the appropriate button in a follow up commit.
* In useConnection.ts
- import ResourceUpdatedNotificationSchema
- in the connect function,
- set onNotification as the handler for ResourceUpdatedNotificationSchema
Created a CLAUDE.md file containing build commands, code style guidelines, and project organization information for future development work.
🤖 Generated with [Claude Code](https://docs.anthropic.com/s/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>