1+ #!/usr/bin/env python
2+
3+ # Copyright (c) 2024 Oracle and/or its affiliates.
4+ # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
5+
16import json
7+ from importlib import metadata
28from typing import List , Union
39
410from ads .aqua import ODSC_MODEL_COMPARTMENT_OCID , fetch_service_compartment
511from ads .aqua .common .decorator import handle_exceptions
612from ads .aqua .common .errors import AquaResourceAccessError
713from ads .aqua .common .utils import known_realm
814from ads .aqua .extension .aqua_ws_msg_handler import AquaWSMsgHandler
9- from ads .aqua .extension .models .ws_models import RequestResponseType , AdsVersionResponse , AdsVersionRequest , \
10- CompatibilityCheckResponse
11- from importlib import metadata
15+ from ads .aqua .extension .models .ws_models import (
16+ AdsVersionResponse ,
17+ CompatibilityCheckResponse ,
18+ RequestResponseType ,
19+ )
1220
1321
1422class AquaCommonWsMsgHandler (AquaWSMsgHandler ):
15-
1623 @staticmethod
1724 def get_message_types () -> List [RequestResponseType ]:
1825 return [RequestResponseType .AdsVersion , RequestResponseType .CompatibilityCheck ]
@@ -21,25 +28,30 @@ def __init__(self, message: Union[str, bytes]):
2128 super ().__init__ (message )
2229
2330 @handle_exceptions
24- def process (self ) -> AdsVersionResponse | CompatibilityCheckResponse :
31+ def process (self ) -> Union [ AdsVersionResponse , CompatibilityCheckResponse ] :
2532 request = json .loads (self .message )
26- if request .get (' kind' ) == ' AdsVersion' :
33+ if request .get (" kind" ) == " AdsVersion" :
2734 version = metadata .version ("oracle_ads" )
2835 response = AdsVersionResponse (
2936 message_id = request .get ("message_id" ),
3037 kind = RequestResponseType .AdsVersion ,
31- data = version )
38+ data = version ,
39+ )
3240 return response
33- if request .get (' kind' ) == ' CompatibilityCheck' :
41+ if request .get (" kind" ) == " CompatibilityCheck" :
3442 if ODSC_MODEL_COMPARTMENT_OCID or fetch_service_compartment ():
35- return CompatibilityCheckResponse (message_id = request .get ("message_id" ),
36- kind = RequestResponseType .CompatibilityCheck ,
37- data = {'status' : 'ok' })
43+ return CompatibilityCheckResponse (
44+ message_id = request .get ("message_id" ),
45+ kind = RequestResponseType .CompatibilityCheck ,
46+ data = {"status" : "ok" },
47+ )
3848 elif known_realm ():
39- return CompatibilityCheckResponse (message_id = request .get ("message_id" ),
40- kind = RequestResponseType .CompatibilityCheck ,
41- data = {'status' : 'compatible' })
49+ return CompatibilityCheckResponse (
50+ message_id = request .get ("message_id" ),
51+ kind = RequestResponseType .CompatibilityCheck ,
52+ data = {"status" : "compatible" },
53+ )
4254 else :
4355 raise AquaResourceAccessError (
44- f "The AI Quick actions extension is not compatible in the given region."
56+ "The AI Quick actions extension is not compatible in the given region."
4557 )
0 commit comments