@@ -618,27 +618,33 @@ void dispatchEvent(AbstractSessionEvent event) {
618618 * the event to handle
619619 */
620620 private void handleBroadcastEventAsync (AbstractSessionEvent event ) {
621- if (event instanceof ExternalToolRequestedEvent toolEvent ) {
622- var data = toolEvent .getData ();
623- if (data == null || data .requestId () == null || data .toolName () == null ) {
624- return ;
625- }
626- ToolDefinition tool = getTool (data .toolName ());
627- if (tool == null ) {
628- return ; // This client doesn't handle this tool; another client will
621+ switch (event ) {
622+ case ExternalToolRequestedEvent toolEvent -> {
623+ var data = toolEvent .getData ();
624+ if (data == null || data .requestId () == null || data .toolName () == null ) {
625+ return ;
626+ }
627+ ToolDefinition tool = getTool (data .toolName ());
628+ if (tool == null ) {
629+ return ; // This client doesn't handle this tool; another client will
630+ }
631+ executeToolAndRespondAsync (data .requestId (), data .toolName (), data .toolCallId (), data .arguments (),
632+ tool );
629633 }
630- executeToolAndRespondAsync (data .requestId (), data .toolName (), data .toolCallId (), data .arguments (), tool );
631-
632- } else if (event instanceof PermissionRequestedEvent permEvent ) {
633- var data = permEvent .getData ();
634- if (data == null || data .requestId () == null || data .permissionRequest () == null ) {
635- return ;
634+ case PermissionRequestedEvent permEvent -> {
635+ var data = permEvent .getData ();
636+ if (data == null || data .requestId () == null || data .permissionRequest () == null ) {
637+ return ;
638+ }
639+ PermissionHandler handler = permissionHandler .get ();
640+ if (handler == null ) {
641+ return ; // This client doesn't handle permissions; another client will
642+ }
643+ executePermissionAndRespondAsync (data .requestId (), data .permissionRequest (), handler );
636644 }
637- PermissionHandler handler = permissionHandler .get ();
638- if (handler == null ) {
639- return ; // This client doesn't handle permissions; another client will
645+ default -> {
646+ // Other event types are not handled here
640647 }
641- executePermissionAndRespondAsync (data .requestId (), data .permissionRequest (), handler );
642648 }
643649 }
644650
0 commit comments