@@ -6,7 +6,7 @@ use dsc_lib::{
66 DscManager , discovery:: {
77 command_discovery:: ImportedManifest :: Resource ,
88 discovery_trait:: DiscoveryKind ,
9- } , dscresources:: resource_manifest:: Kind , progress:: ProgressFormat
9+ } , dscresources:: resource_manifest:: Kind , progress:: ProgressFormat , types :: FullyQualifiedTypeName
1010} ;
1111use rmcp:: { ErrorData as McpError , Json , tool, tool_router, handler:: server:: wrapper:: Parameters } ;
1212use rust_i18n:: t;
@@ -22,11 +22,11 @@ pub struct ResourceListResult {
2222
2323#[ derive( Serialize , JsonSchema ) ]
2424pub struct ResourceSummary {
25- pub r#type : String ,
25+ pub r#type : FullyQualifiedTypeName ,
2626 pub kind : Kind ,
2727 pub description : Option < String > ,
2828 #[ serde( rename = "requireAdapter" ) ]
29- pub require_adapter : Option < String > ,
29+ pub require_adapter : Option < FullyQualifiedTypeName > ,
3030}
3131
3232#[ derive( Deserialize , JsonSchema ) ]
@@ -67,10 +67,10 @@ impl McpServer {
6767 for resource in dsc. list_available ( & DiscoveryKind :: Resource , "*" , & adapter_filter, ProgressFormat :: None ) {
6868 if let Resource ( resource) = resource {
6969 let summary = ResourceSummary {
70- r#type : resource. type_name . to_string ( ) ,
70+ r#type : resource. type_name . clone ( ) ,
7171 kind : resource. kind . clone ( ) ,
7272 description : resource. description . clone ( ) ,
73- require_adapter : resource. require_adapter . map ( |fqtn| fqtn . to_string ( ) ) ,
73+ require_adapter : resource. require_adapter ,
7474 } ;
7575 resources. insert ( resource. type_name . to_lowercase ( ) , summary) ;
7676 }
0 commit comments