@@ -128,29 +128,33 @@ async def get_servers_from_path(self, path: str) -> ScanPathResult:
128
128
129
129
async def check_server_changed (self , server : ServerScanResult ) -> ServerScanResult :
130
130
logger .debug ("Checking for changes in server: %s" , server .name )
131
- result = server .model_copy (deep = True )
131
+ output_server = server .clone ()
132
+ if output_server .result is None :
133
+ raise ValueError ("Server result is None, cannot check for changes" )
132
134
for i , (entity , entity_result ) in enumerate (server .entities_with_result ):
133
135
if entity_result is None :
134
136
continue
135
137
c , messages = self .storage_file .check_and_update (server .name or "" , entity , entity_result .verified )
136
- result .result [i ].changed = c
138
+ output_server .result [i ].changed = c
137
139
if c :
138
140
logger .info ("Entity %s in server %s has changed" , entity .name , server .name )
139
- result .result [i ].messages .extend (messages )
140
- return result
141
+ output_server .result [i ].messages .extend (messages )
142
+ return output_server
141
143
142
144
async def check_whitelist (self , server : ServerScanResult ) -> ServerScanResult :
143
145
logger .debug ("Checking whitelist for server: %s" , server .name )
144
- result = server .model_copy ()
146
+ output_server = server .clone ()
147
+ if output_server .result is None :
148
+ raise ValueError ("Server result is None, cannot check for changes" )
145
149
for i , (entity , entity_result ) in enumerate (server .entities_with_result ):
146
150
if entity_result is None :
147
151
continue
148
152
if self .storage_file .is_whitelisted (entity ):
149
153
logger .debug ("Entity %s is whitelisted" , entity .name )
150
- result .result [i ].whitelisted = True
154
+ output_server .result [i ].whitelisted = True
151
155
else :
152
- result .result [i ].whitelisted = False
153
- return result
156
+ output_server .result [i ].whitelisted = False
157
+ return output_server
154
158
155
159
async def emit (self , signal : str , data : Any ):
156
160
logger .debug ("Emitting signal: %s" , signal )
@@ -159,7 +163,7 @@ async def emit(self, signal: str, data: Any):
159
163
160
164
async def scan_server (self , server : ServerScanResult , inspect_only : bool = False ) -> ServerScanResult :
161
165
logger .info ("Scanning server: %s, inspect_only: %s" , server .name , inspect_only )
162
- result = server .model_copy ( deep = True )
166
+ result = server .clone ( )
163
167
try :
164
168
result .signature = await check_server_with_timeout (
165
169
server .server , self .server_timeout , self .suppress_mcpserver_io
0 commit comments