mgraph-ai-service-cache-client 0.1.2__py3-none-any.whl → 0.1.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mgraph-ai-service-cache-client might be problematic. Click here for more details.
- mgraph_ai_service_cache_client/client/Cache__Client.py +6 -0
- mgraph_ai_service_cache_client/client/Cache__Client__Config.py +7 -0
- mgraph_ai_service_cache_client/client/Cache__Client__Health_Checks.py +25 -0
- mgraph_ai_service_cache_client/client/Cache__Client__Requests.py +38 -0
- mgraph_ai_service_cache_client/client/__init__.py +0 -0
- mgraph_ai_service_cache_client/fast_api/__init__.py +0 -0
- mgraph_ai_service_cache_client/fast_api/routes/__init__.py +0 -0
- mgraph_ai_service_cache_client/schemas/__init__.py +0 -0
- mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Binary__Reference.py +23 -0
- mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Delete__Success.py +15 -0
- mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Exists__Response.py +14 -0
- mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Metadata.py +32 -0
- mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Namespace__Stats.py +21 -0
- mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Namespaces__List.py +7 -0
- mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Retrieve__Request.py +11 -0
- mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Retrieve__Success.py +10 -0
- mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Stats__Response.py +14 -0
- mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Store__Response.py +15 -0
- mgraph_ai_service_cache_client/schemas/cache/__init__.py +0 -0
- mgraph_ai_service_cache_client/schemas/cache/consts__Cache_Service.py +7 -0
- mgraph_ai_service_cache_client/schemas/cache/data/Schema__Cache__Data__Delete__All_Files__Response.py +8 -0
- mgraph_ai_service_cache_client/schemas/cache/data/Schema__Cache__Data__Files__List.py +12 -0
- mgraph_ai_service_cache_client/schemas/cache/data/Schema__Cache__Data__Retrieve__Request.py +14 -0
- mgraph_ai_service_cache_client/schemas/cache/data/Schema__Cache__Data__Retrieve__Response.py +16 -0
- mgraph_ai_service_cache_client/schemas/cache/data/Schema__Cache__Data__Store__Request.py +16 -0
- mgraph_ai_service_cache_client/schemas/cache/data/Schema__Cache__Data__Store__Response.py +21 -0
- mgraph_ai_service_cache_client/schemas/cache/data/__init__.py +0 -0
- mgraph_ai_service_cache_client/schemas/cache/enums/Enum__Cache__Data_Type.py +6 -0
- mgraph_ai_service_cache_client/schemas/cache/enums/Enum__Cache__File_Type.py +5 -0
- mgraph_ai_service_cache_client/schemas/cache/enums/Enum__Cache__Storage_Mode.py +8 -0
- mgraph_ai_service_cache_client/schemas/cache/enums/Enum__Cache__Store__Strategy.py +8 -0
- mgraph_ai_service_cache_client/schemas/cache/enums/__init__.py +0 -0
- mgraph_ai_service_cache_client/schemas/cache/file/Schema__Cache__File__Paths.py +7 -0
- mgraph_ai_service_cache_client/schemas/cache/file/Schema__Cache__File__Refs.py +20 -0
- mgraph_ai_service_cache_client/schemas/cache/file/__init__.py +0 -0
- mgraph_ai_service_cache_client/schemas/cache/store/Schema__Cache__Hash__Entry.py +8 -0
- mgraph_ai_service_cache_client/schemas/cache/store/Schema__Cache__Hash__Reference.py +13 -0
- mgraph_ai_service_cache_client/schemas/cache/store/Schema__Cache__Store__Metadata.py +20 -0
- mgraph_ai_service_cache_client/schemas/cache/store/Schema__Cache__Store__Paths.py +9 -0
- mgraph_ai_service_cache_client/schemas/cache/store/Schema__Store__Context.py +32 -0
- mgraph_ai_service_cache_client/schemas/cache/store/__init__.py +0 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Cache__Zip__Batch__Request.py +15 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Cache__Zip__Batch__Response.py +25 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Cache__Zip__Operation__Request.py +14 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Cache__Zip__Operation__Response.py +20 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Cache__Zip__Store__Request.py +13 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Cache__Zip__Store__Response.py +24 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Zip__Batch__Operation.py +14 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Zip__Operation__Result.py +11 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/__init__.py +0 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/enums/Enum__Cache__Zip__Condition.py +6 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/enums/Enum__Cache__Zip__Operation.py +12 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/enums/__init__.py +0 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/safe_str/Safe_Str__Cache__Zip__Operation__Message.py +6 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/safe_str/Safe_Str__Cache__Zip__Operation__Pattern.py +7 -0
- mgraph_ai_service_cache_client/schemas/cache/zip/safe_str/__init__.py +0 -0
- mgraph_ai_service_cache_client/schemas/client/Cache__Client__Requests__Result.py +26 -0
- mgraph_ai_service_cache_client/schemas/client/health_checks/Cache__Client__Health_Checks__Status.py +11 -0
- mgraph_ai_service_cache_client/schemas/consts/__init__.py +0 -0
- mgraph_ai_service_cache_client/schemas/consts/const__Fast_API.py +15 -0
- mgraph_ai_service_cache_client/schemas/consts/const__Storage.py +4 -0
- mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Base.py +13 -0
- mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Conflict.py +10 -0
- mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Gone.py +12 -0
- mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Invalid_Input.py +10 -0
- mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Not_Found.py +12 -0
- mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Service_Unavailable.py +9 -0
- mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Unsupported_Media_Type.py +11 -0
- mgraph_ai_service_cache_client/schemas/errors/__init__.py +0 -0
- mgraph_ai_service_cache_client/service/__init__.py +0 -0
- mgraph_ai_service_cache_client/utils/__init__.py +0 -0
- mgraph_ai_service_cache_client/version +1 -1
- {mgraph_ai_service_cache_client-0.1.2.dist-info → mgraph_ai_service_cache_client-0.1.4.dist-info}/METADATA +2 -2
- mgraph_ai_service_cache_client-0.1.4.dist-info/RECORD +88 -0
- mgraph_ai_service_cache_client-0.1.2.dist-info/RECORD +0 -17
- {mgraph_ai_service_cache_client-0.1.2.dist-info → mgraph_ai_service_cache_client-0.1.4.dist-info}/LICENSE +0 -0
- {mgraph_ai_service_cache_client-0.1.2.dist-info → mgraph_ai_service_cache_client-0.1.4.dist-info}/WHEEL +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.web.safe_str.Safe_Str__Url import Safe_Str__Url
|
|
3
|
+
|
|
4
|
+
URL__TARGET_SERVER__DEV = "https://cache.dev.mgraph.ai"
|
|
5
|
+
|
|
6
|
+
class Cache__Client__Config(Type_Safe):
|
|
7
|
+
target_server : Safe_Str__Url = URL__TARGET_SERVER__DEV
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from osbot_utils.decorators.methods.cache_on_self import cache_on_self
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.utils.Misc import list_set
|
|
4
|
+
from mgraph_ai_service_cache_client.client.Cache__Client__Config import Cache__Client__Config
|
|
5
|
+
from mgraph_ai_service_cache_client.client.Cache__Client__Requests import Cache__Client__Requests
|
|
6
|
+
from mgraph_ai_service_cache_client.schemas.client.health_checks.Cache__Client__Health_Checks__Status import Cache__Client__Health_Checks__Status
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Cache__Client__Health_Checks(Type_Safe):
|
|
10
|
+
config : Cache__Client__Config
|
|
11
|
+
|
|
12
|
+
@cache_on_self
|
|
13
|
+
def client__requests(self):
|
|
14
|
+
return Cache__Client__Requests(config=self.config)
|
|
15
|
+
|
|
16
|
+
def check__target_server__status(self):
|
|
17
|
+
path = "/openapi.json" # in Fast_API this endpoint has no auth
|
|
18
|
+
result = self.client__requests().get(path)
|
|
19
|
+
openapi_json = result.json
|
|
20
|
+
success = list_set(openapi_json) == ['components', 'info', 'openapi', 'paths']
|
|
21
|
+
|
|
22
|
+
status_kwargs = dict(duration = result.duration ,
|
|
23
|
+
success = success ,
|
|
24
|
+
target_server = self.config.target_server)
|
|
25
|
+
return Cache__Client__Health_Checks__Status(**status_kwargs)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import requests
|
|
2
|
+
from osbot_utils.helpers.duration.decorators.capture_duration import capture_duration
|
|
3
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
4
|
+
from osbot_utils.utils.Http import url_join_safe
|
|
5
|
+
from mgraph_ai_service_cache_client.client.Cache__Client__Config import Cache__Client__Config
|
|
6
|
+
from mgraph_ai_service_cache_client.schemas.client.Cache__Client__Requests__Result import Cache__Client__Requests__Result
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Cache__Client__Requests(Type_Safe):
|
|
10
|
+
config: Cache__Client__Config
|
|
11
|
+
|
|
12
|
+
def auth_headers(self):
|
|
13
|
+
return {}
|
|
14
|
+
|
|
15
|
+
def headers(self):
|
|
16
|
+
return { **self.auth_headers() } # location to add more requests headers (if needed)
|
|
17
|
+
|
|
18
|
+
def get(self, path):
|
|
19
|
+
target_server = self.config.target_server
|
|
20
|
+
url = url_join_safe(target_server, path)
|
|
21
|
+
headers = self.auth_headers()
|
|
22
|
+
with capture_duration() as duration:
|
|
23
|
+
response = requests.get(url, headers=headers)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
content_type = response.headers.get('content-type')
|
|
27
|
+
result_kwargs = dict(content_type = content_type ,
|
|
28
|
+
duration = duration.seconds ,
|
|
29
|
+
path = path ,
|
|
30
|
+
status_code = response.status_code,
|
|
31
|
+
target_server = target_server )
|
|
32
|
+
|
|
33
|
+
if 'json' in content_type: result_kwargs['json' ] = response.json()
|
|
34
|
+
elif 'text' in content_type: result_kwargs['text' ] = response.text
|
|
35
|
+
else: result_kwargs['content'] = response.content
|
|
36
|
+
|
|
37
|
+
return Cache__Client__Requests__Result(**result_kwargs)
|
|
38
|
+
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.common.safe_str.Safe_Str__Text import Safe_Str__Text
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
6
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
7
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
8
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Data_Type import Enum__Cache__Data_Type
|
|
9
|
+
from mgraph_ai_service_cache_client.schemas.cache.Schema__Cache__Metadata import Schema__Cache__Metadata
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# Response when binary data can't be included in JSON
|
|
13
|
+
class Schema__Cache__Binary__Reference(Type_Safe): # Reference to binary data
|
|
14
|
+
message : Safe_Str__Text # Explanation message
|
|
15
|
+
data_type : Enum__Cache__Data_Type # Always BINARY
|
|
16
|
+
size : Safe_UInt # Size of binary data
|
|
17
|
+
cache_hash : Safe_Str__Cache_Hash # Hash of the data
|
|
18
|
+
cache_id : Random_Guid # ID of the entry
|
|
19
|
+
namespace : Safe_Str__Id # Namespace
|
|
20
|
+
binary_url : Safe_Str__File__Path # URL to retrieve binary data
|
|
21
|
+
metadata : Schema__Cache__Metadata # Full metadata
|
|
22
|
+
|
|
23
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.common.safe_str.Safe_Str__Text import Safe_Str__Text
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
6
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
7
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
8
|
+
|
|
9
|
+
# Response for delete operations
|
|
10
|
+
class Schema__Cache__Delete__Success(Type_Safe): # Successful deletion
|
|
11
|
+
cache_id : Random_Guid # ID that was deleted
|
|
12
|
+
namespace : Safe_Str__Id # Namespace it was in
|
|
13
|
+
deleted_count : Safe_UInt # Number of files deleted
|
|
14
|
+
deleted_paths : List[Safe_Str__File__Path] # Paths that were deleted
|
|
15
|
+
message : Safe_Str__Text = "Cache entry successfully deleted" # Success message
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
5
|
+
from mgraph_ai_service_cache_client.schemas.cache.Schema__Cache__Metadata import Schema__Cache__Metadata
|
|
6
|
+
|
|
7
|
+
# todo: see refactoring opportunity for creating some base classes that have common fields like cache_id, cache_hash and metadata
|
|
8
|
+
# Response for checking if cache entry exists
|
|
9
|
+
class Schema__Cache__Exists__Response(Type_Safe): # Response for exists check
|
|
10
|
+
exists : bool # Whether entry exists
|
|
11
|
+
cache_hash : Safe_Str__Cache_Hash # Hash that was checked
|
|
12
|
+
namespace : Safe_Str__Id # Namespace checked
|
|
13
|
+
cache_id : Random_Guid = None # ID if it exists
|
|
14
|
+
metadata : Schema__Cache__Metadata = None # Metadata if it exists
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.common.safe_str.Safe_Str__Text import Safe_Str__Text
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_int.Timestamp_Now import Timestamp_Now
|
|
6
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
7
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
8
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Data_Type import Enum__Cache__Data_Type
|
|
9
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Store__Strategy import Enum__Cache__Store__Strategy
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
# Base response metadata that all responses share
|
|
13
|
+
class Schema__Cache__Metadata(Type_Safe): # Metadata about cached entry
|
|
14
|
+
cache_id : Random_Guid = None # Unique ID of this cache entry
|
|
15
|
+
cache_hash : Safe_Str__Cache_Hash = None # Content hash
|
|
16
|
+
cache_key : Safe_Str__Text = None # Optional semantic key
|
|
17
|
+
file_id : Safe_Str__Id = None # Optional file ID
|
|
18
|
+
namespace : Safe_Str__Id = None # Namespace for isolation
|
|
19
|
+
strategy : Enum__Cache__Store__Strategy = None # Storage strategy used
|
|
20
|
+
stored_at : Timestamp_Now = None # When stored (timestamp)
|
|
21
|
+
file_type : Enum__Cache__Data_Type = None # Type of data
|
|
22
|
+
content_encoding : Safe_Str__Id = None # e.g., gzip
|
|
23
|
+
content_size : Safe_UInt = None # Size in bytes
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.common.safe_str.Safe_Str__Text import Safe_Str__Text
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
5
|
+
|
|
6
|
+
# Response for namespace statistics
|
|
7
|
+
class Schema__Cache__Namespace__Stats(Type_Safe): # Namespace statistics
|
|
8
|
+
namespace : Safe_Str__Id # Namespace name
|
|
9
|
+
s3_bucket : Safe_Str__Id # S3 bucket name
|
|
10
|
+
s3_prefix : Safe_Str__Text # S3 prefix path
|
|
11
|
+
ttl_hours : Safe_UInt # TTL configuration
|
|
12
|
+
direct_files : Safe_UInt # Files in direct strategy
|
|
13
|
+
temporal_files : Safe_UInt # Files in temporal strategy
|
|
14
|
+
temporal_latest_files : Safe_UInt # Files in temporal_latest
|
|
15
|
+
temporal_versioned_files : Safe_UInt # Files in temporal_versioned
|
|
16
|
+
refs_hash_files : Safe_UInt # Hash reference files
|
|
17
|
+
refs_id_files : Safe_UInt # ID reference files
|
|
18
|
+
total_files : Safe_UInt # Total file count
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Schema__Cache__Namespaces__List(Type_Safe): # List of namespaces
|
|
6
|
+
namespaces : list # List of namespace names
|
|
7
|
+
count : Safe_UInt # Total count
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Schema__Cache__Retrieve__Request(Type_Safe): # Request schema for retrieving cache data
|
|
7
|
+
cache_hash : Safe_Str__Cache_Hash = None
|
|
8
|
+
cache_id : Random_Guid = None
|
|
9
|
+
include_data : bool = True
|
|
10
|
+
include_metadata: bool = True
|
|
11
|
+
include_config : bool = True
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from typing import Dict, Any, Optional, Union
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from mgraph_ai_service_cache_client.schemas.cache.Schema__Cache__Metadata import Schema__Cache__Metadata
|
|
4
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Data_Type import Enum__Cache__Data_Type
|
|
5
|
+
|
|
6
|
+
# Success response for retrieving data
|
|
7
|
+
class Schema__Cache__Retrieve__Success(Type_Safe): # Successful retrieval with data
|
|
8
|
+
data : Union[dict, str, bytes] # Actual cached content
|
|
9
|
+
metadata : Schema__Cache__Metadata # Cache metadata
|
|
10
|
+
data_type : Enum__Cache__Data_Type # Type of data returned
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
# todo: see if we need this class
|
|
5
|
+
class Schema__Cache__Stats__Response(Type_Safe): # Response schema for statistics
|
|
6
|
+
total_entries : int
|
|
7
|
+
total_unique_hashes : int
|
|
8
|
+
total_size_bytes : int
|
|
9
|
+
total_versions : int
|
|
10
|
+
storage_used_percent: float
|
|
11
|
+
cache_hit_rate : float
|
|
12
|
+
avg_entry_size : int
|
|
13
|
+
oldest_entry : str = None
|
|
14
|
+
newest_entry : str = None
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from typing import List, Dict
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
6
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
7
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Schema__Cache__Store__Response(Type_Safe):
|
|
11
|
+
cache_id : Random_Guid
|
|
12
|
+
cache_hash : Safe_Str__Cache_Hash
|
|
13
|
+
namespace : Safe_Str__Id
|
|
14
|
+
paths : Dict[str,List[Safe_Str__File__Path]] # Structured paths
|
|
15
|
+
size : Safe_UInt # Size in bytes
|
|
File without changes
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Store__Strategy import Enum__Cache__Store__Strategy
|
|
2
|
+
|
|
3
|
+
DEFAULT_CACHE__STORE__STRATEGY = Enum__Cache__Store__Strategy.TEMPORAL
|
|
4
|
+
DEFAULT_CACHE__ZIP__STRATEGY = Enum__Cache__Store__Strategy.KEY_BASED
|
|
5
|
+
DEFAULT_CACHE__NAMESPACE = 'default'
|
|
6
|
+
|
|
7
|
+
DEFAULT__HTTP_CODE__FILE_NOT_FOUND = 404
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
5
|
+
|
|
6
|
+
class Schema__Cache__Data__Delete__All_Files__Response(Type_Safe):
|
|
7
|
+
deleted_count : Safe_UInt
|
|
8
|
+
deleted_files : List[Safe_Str__File__Path]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Schema__Cache__Data__Files__List(Type_Safe):
|
|
9
|
+
cache_id : Random_Guid = None
|
|
10
|
+
namespace : Safe_Str__Id = None
|
|
11
|
+
data_key : Safe_Str__File__Path = None
|
|
12
|
+
data_files : List[Safe_Str__File__Path]
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
5
|
+
from mgraph_ai_service_cache_client.schemas.cache.consts__Cache_Service import DEFAULT_CACHE__NAMESPACE
|
|
6
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Data_Type import Enum__Cache__Data_Type
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Schema__Cache__Data__Retrieve__Request(Type_Safe):
|
|
10
|
+
cache_id : Random_Guid = None
|
|
11
|
+
data_type : Enum__Cache__Data_Type = None # Required: 'string', 'json', or 'binary'
|
|
12
|
+
data_key : Safe_Str__File__Path = None
|
|
13
|
+
data_file_id : Safe_Str__Id = None
|
|
14
|
+
namespace : Safe_Str__Id = DEFAULT_CACHE__NAMESPACE
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from typing import Union
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
5
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
6
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Data_Type import Enum__Cache__Data_Type
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Schema__Cache__Data__Retrieve__Response(Type_Safe): # Data file with its content
|
|
10
|
+
data : Union[str, dict, bytes] = None # Actual file content
|
|
11
|
+
data_type : Enum__Cache__Data_Type = None # Data type: json, string, binary
|
|
12
|
+
data_file_id : Safe_Str__Id = None # Data file identifier
|
|
13
|
+
data_key : Safe_Str__File__Path = None # Path within data folder
|
|
14
|
+
full_path : Safe_Str__File__Path = None # Full file path
|
|
15
|
+
size : Safe_UInt = None # File size in bytes
|
|
16
|
+
found : bool = False # Indicates if file was found
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from typing import Union
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
6
|
+
from mgraph_ai_service_cache_client.schemas.cache.consts__Cache_Service import DEFAULT_CACHE__NAMESPACE
|
|
7
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Data_Type import Enum__Cache__Data_Type
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Schema__Cache__Data__Store__Request(Type_Safe):
|
|
11
|
+
cache_id : Random_Guid = None
|
|
12
|
+
data : Union[str, dict, bytes] = None # Data to store as child
|
|
13
|
+
data_type : Enum__Cache__Data_Type = None # Type: 'string', 'json', or 'binary'
|
|
14
|
+
data_key : Safe_Str__File__Path = None
|
|
15
|
+
data_file_id: Safe_Str__Id = None
|
|
16
|
+
namespace : Safe_Str__Id = DEFAULT_CACHE__NAMESPACE
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from typing import List, Dict
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
6
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_int.Timestamp_Now import Timestamp_Now
|
|
7
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
8
|
+
|
|
9
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Data_Type import Enum__Cache__Data_Type
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class Schema__Cache__Data__Store__Response(Type_Safe):
|
|
13
|
+
cache_id : Random_Guid = None
|
|
14
|
+
data_files_created : List[Safe_Str__File__Path] = None
|
|
15
|
+
data_key : Safe_Str__File__Path = None
|
|
16
|
+
data_type : Enum__Cache__Data_Type = None # Type: 'string', 'json', or 'binary'
|
|
17
|
+
extension : Safe_Str__Id = None
|
|
18
|
+
file_id : Safe_Str__Id = None
|
|
19
|
+
file_size : Safe_UInt = None # Size in bytes
|
|
20
|
+
namespace : Safe_Str__Id = None
|
|
21
|
+
timestamp : Timestamp_Now
|
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
class Enum__Cache__Storage_Mode(str, Enum):
|
|
4
|
+
MEMORY = "memory" # Default - no dependencies, fully in-memory
|
|
5
|
+
S3 = "s3" # AWS S3 or S3-compatible storage
|
|
6
|
+
LOCAL_DISK = "local_disk" # Local file system storage
|
|
7
|
+
SQLITE = "sqlite" # SQLite database storage
|
|
8
|
+
ZIP = "zip" # ZIP archive storage
|
|
File without changes
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
4
|
+
|
|
5
|
+
class Schema__Cache__File__Paths(Type_Safe):
|
|
6
|
+
content_files: List[Safe_Str__File__Path] # Paths to content files
|
|
7
|
+
data_folders : List[Safe_Str__File__Path] # Paths to data files
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_int.Timestamp_Now import Timestamp_Now
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
6
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__File_Type import Enum__Cache__File_Type
|
|
7
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Store__Strategy import Enum__Cache__Store__Strategy
|
|
8
|
+
from mgraph_ai_service_cache_client.schemas.cache.file.Schema__Cache__File__Paths import Schema__Cache__File__Paths
|
|
9
|
+
from mgraph_ai_service_cache_client.schemas.cache.store.Schema__Cache__Store__Paths import Schema__Cache__Store__Paths
|
|
10
|
+
|
|
11
|
+
# todo: review the field name 'all_paths' (in light of the new file_paths field)
|
|
12
|
+
class Schema__Cache__File__Refs(Type_Safe): # ID-to-hash reference with content paths
|
|
13
|
+
all_paths : Schema__Cache__Store__Paths # All file paths created
|
|
14
|
+
cache_id : Random_Guid # Cache ID
|
|
15
|
+
cache_hash : Safe_Str__Cache_Hash # Hash value
|
|
16
|
+
file_type : Enum__Cache__File_Type # Type of stored data
|
|
17
|
+
namespace : Safe_Str__Id # Namespace
|
|
18
|
+
file_paths : Schema__Cache__File__Paths # Paths to content and data files
|
|
19
|
+
strategy : Enum__Cache__Store__Strategy # Storage strategy
|
|
20
|
+
timestamp : Timestamp_Now # When created
|
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_int.Timestamp_Now import Timestamp_Now
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Schema__Cache__Hash__Entry(Type_Safe): # Individual cache ID entry in hash reference
|
|
7
|
+
cache_id : Random_Guid # Cache ID
|
|
8
|
+
timestamp : Timestamp_Now
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
6
|
+
from mgraph_ai_service_cache_client.schemas.cache.store.Schema__Cache__Hash__Entry import Schema__Cache__Hash__Entry
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Schema__Cache__Hash__Reference(Type_Safe): # Hash-to-ID reference structure
|
|
10
|
+
cache_hash : Safe_Str__Cache_Hash # The hash value
|
|
11
|
+
cache_ids : List[Schema__Cache__Hash__Entry] # All cache IDs with this hash
|
|
12
|
+
latest_id : Random_Guid # Most recent cache ID
|
|
13
|
+
total_versions : Safe_UInt
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.common.safe_str.Safe_Str__Text import Safe_Str__Text
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_int.Timestamp_Now import Timestamp_Now
|
|
6
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
7
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__File_Type import Enum__Cache__File_Type
|
|
8
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Store__Strategy import Enum__Cache__Store__Strategy
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class Schema__Cache__Store__Metadata(Type_Safe): # Metadata for stored cache entries
|
|
12
|
+
cache_hash : Safe_Str__Cache_Hash = None # Hash of the data
|
|
13
|
+
cache_key : Safe_Str__Text = None # Optional semantic key
|
|
14
|
+
cache_id : Random_Guid = None # Cache entry ID
|
|
15
|
+
content_encoding : Safe_Str__Id = None # Optional encoding
|
|
16
|
+
file_id : Safe_Str__Id = None # File ID used for storage
|
|
17
|
+
stored_at : Timestamp_Now = None # When stored
|
|
18
|
+
strategy : Enum__Cache__Store__Strategy = None # Storage strategy used
|
|
19
|
+
namespace : Safe_Str__Id = None # Namespace
|
|
20
|
+
file_type : Enum__Cache__File_Type = None # Type: 'json' or 'binary'
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Schema__Cache__Store__Paths(Type_Safe): # Tracks all paths created during storage
|
|
7
|
+
data : List[Safe_Str__File__Path] # Paths to actual data files
|
|
8
|
+
by_hash : List[Safe_Str__File__Path] # Paths to hash reference files
|
|
9
|
+
by_id : List[Safe_Str__File__Path] # Paths to ID reference files
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from typing import Union, Dict, List
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
6
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_int.Timestamp_Now import Timestamp_Now
|
|
7
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
8
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Store__Strategy import Enum__Cache__Store__Strategy
|
|
9
|
+
from mgraph_ai_service_cache_client.schemas.cache.file.Schema__Cache__File__Paths import Schema__Cache__File__Paths
|
|
10
|
+
from mgraph_ai_service_cache_client.schemas.cache.store.Schema__Cache__Store__Metadata import Schema__Cache__Store__Metadata
|
|
11
|
+
from mgraph_ai_service_cache_client.schemas.cache.store.Schema__Cache__Store__Paths import Schema__Cache__Store__Paths
|
|
12
|
+
from mgraph_ai_service_cache.service.cache.Cache__Handler import Cache__Handler
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class Schema__Store__Context(Type_Safe): # Context object to pass data between store operations
|
|
16
|
+
storage_data : Union[str, Dict, bytes] # Data to be stored (string, dict, or bytes)
|
|
17
|
+
cache_hash : Safe_Str__Cache_Hash = None # Hash of the data or cache key
|
|
18
|
+
cache_id : Random_Guid = None # Unique ID for this cache entry
|
|
19
|
+
cache_key : Safe_Str__File__Path = None # Optional semantic cache key
|
|
20
|
+
file_id : Safe_Str__Id = None # Optional file ID (defaults to cache_id)
|
|
21
|
+
namespace : Safe_Str__Id = None # Namespace for isolation
|
|
22
|
+
strategy : Enum__Cache__Store__Strategy = None # Storage strategy to use
|
|
23
|
+
content_encoding : Safe_Str__Id = None # Optional encoding (e.g., 'gzip')
|
|
24
|
+
handler : Cache__Handler = None # Cache handler for the namespace
|
|
25
|
+
|
|
26
|
+
# Computed during storage process (now using Type_Safe classes)
|
|
27
|
+
file_type : str = None # Determined type: 'json' or 'binary'
|
|
28
|
+
file_size : int = None # Size of stored data in bytes
|
|
29
|
+
all_paths : Schema__Cache__Store__Paths = None # Paths organized by type
|
|
30
|
+
file_paths : Schema__Cache__File__Paths # Paths to actual content files and data folders
|
|
31
|
+
timestamp : Timestamp_Now = None # When the entry was stored
|
|
32
|
+
metadata : Schema__Cache__Store__Metadata = None
|
|
File without changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
5
|
+
from mgraph_ai_service_cache_client.schemas.cache.consts__Cache_Service import DEFAULT_CACHE__NAMESPACE
|
|
6
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Store__Strategy import Enum__Cache__Store__Strategy
|
|
7
|
+
from mgraph_ai_service_cache_client.schemas.cache.zip.Schema__Zip__Batch__Operation import Schema__Zip__Batch__Operation
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Schema__Cache__Zip__Batch__Request(Type_Safe): # Request for batch zip operations
|
|
11
|
+
atomic : bool = True # All-or-nothing execution
|
|
12
|
+
cache_id : Random_Guid = None # ID of the zip file to operate on
|
|
13
|
+
namespace : Safe_Str__Id = DEFAULT_CACHE__NAMESPACE # Namespace for isolation
|
|
14
|
+
strategy : Enum__Cache__Store__Strategy = None # How to save result
|
|
15
|
+
operations : List[Schema__Zip__Batch__Operation] # List of operations to perform
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
from typing import List
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
6
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_int.Timestamp_Now import Timestamp_Now
|
|
7
|
+
from mgraph_ai_service_cache_client.schemas.cache.zip.Schema__Zip__Operation__Result import Schema__Zip__Operation__Result
|
|
8
|
+
from mgraph_ai_service_cache_client.schemas.cache.zip.safe_str.Safe_Str__Cache__Zip__Operation__Message import Safe_Str__Cache__Zip__Operation__Message
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class Schema__Cache__Zip__Batch__Response(Type_Safe): # Response from batch operations
|
|
12
|
+
success : bool # Overall success status
|
|
13
|
+
cache_id : Random_Guid = None # Original zip ID
|
|
14
|
+
original_cache_id : Random_Guid = None # Original ID for provenance
|
|
15
|
+
operations_applied : Safe_UInt # Number of successful operations
|
|
16
|
+
operations_failed : Safe_UInt # Number of failed operations
|
|
17
|
+
operation_results : List[Schema__Zip__Operation__Result] # Individual results
|
|
18
|
+
files_added : List[Safe_Str__File__Path] # Files that were added
|
|
19
|
+
files_removed : List[Safe_Str__File__Path] # Files that were removed
|
|
20
|
+
files_modified : List[Safe_Str__File__Path] # Files that were modified
|
|
21
|
+
new_file_count : Safe_UInt # Total files after operations
|
|
22
|
+
new_size : Safe_UInt # Total size after operations
|
|
23
|
+
completed_at : Timestamp_Now # When batch completed
|
|
24
|
+
rollback_performed : bool = False # Whether rollback occurred
|
|
25
|
+
error_message : Safe_Str__Cache__Zip__Operation__Message # Overall error if atomic failed
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
5
|
+
from mgraph_ai_service_cache_client.schemas.cache.consts__Cache_Service import DEFAULT_CACHE__NAMESPACE
|
|
6
|
+
from mgraph_ai_service_cache_client.schemas.cache.zip.enums.Enum__Cache__Zip__Operation import Enum__Cache__Zip__Operation
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Schema__Cache__Zip__Operation__Request(Type_Safe): # Request for single zip operation
|
|
10
|
+
cache_id : Random_Guid # ID of the zip file to operate on
|
|
11
|
+
operation : Enum__Cache__Zip__Operation # Operation type
|
|
12
|
+
file_path : Safe_Str__File__Path = None # Path within zip (for get/add/remove/replace)
|
|
13
|
+
file_content: bytes = None # Content for add/replace operations
|
|
14
|
+
namespace : Safe_Str__Id = DEFAULT_CACHE__NAMESPACE # Namespace for isolation
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from typing import List, Dict, Any, Optional
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
6
|
+
from mgraph_ai_service_cache_client.schemas.cache.zip.enums.Enum__Cache__Zip__Operation import Enum__Cache__Zip__Operation
|
|
7
|
+
from mgraph_ai_service_cache_client.schemas.cache.zip.safe_str.Safe_Str__Cache__Zip__Operation__Message import Safe_Str__Cache__Zip__Operation__Message
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Schema__Cache__Zip__Operation__Response(Type_Safe): # Response from zip operation
|
|
11
|
+
success : bool # Whether operation succeeded
|
|
12
|
+
operation : Enum__Cache__Zip__Operation # Operation that was performed
|
|
13
|
+
cache_id : Random_Guid = None # ID of the zip file operated on
|
|
14
|
+
original_cache_id : Optional[Random_Guid] = None
|
|
15
|
+
message : Safe_Str__Cache__Zip__Operation__Message = None # Optional status message
|
|
16
|
+
file_list : List[Safe_Str__File__Path] # For list operation
|
|
17
|
+
file_content : bytes # For get operation
|
|
18
|
+
file_size : Safe_UInt # Size of retrieved file
|
|
19
|
+
files_affected : List[Safe_Str__File__Path] # Files that were changed
|
|
20
|
+
error_details : Safe_Str__Cache__Zip__Operation__Message # Error information if failed
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
4
|
+
from mgraph_ai_service_cache_client.schemas.cache.consts__Cache_Service import DEFAULT_CACHE__NAMESPACE
|
|
5
|
+
from mgraph_ai_service_cache_client.schemas.cache.enums.Enum__Cache__Store__Strategy import Enum__Cache__Store__Strategy
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Schema__Cache__Zip__Store__Request(Type_Safe): # Request schema for storing zip files
|
|
9
|
+
zip_bytes : bytes # Raw zip file content
|
|
10
|
+
cache_key : Safe_Str__File__Path = None # Optional semantic key for the zip
|
|
11
|
+
file_id : Safe_Str__Id = None # Optional file ID (defaults to cache_id)
|
|
12
|
+
namespace : Safe_Str__Id = DEFAULT_CACHE__NAMESPACE # Namespace for isolation
|
|
13
|
+
strategy : Enum__Cache__Store__Strategy = Enum__Cache__Store__Strategy.TEMPORAL # Storage strategy
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
from typing import List, Dict, Optional
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
6
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
7
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
8
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_int.Timestamp_Now import Timestamp_Now
|
|
9
|
+
from mgraph_ai_service_cache_client.schemas.cache.zip.safe_str.Safe_Str__Cache__Zip__Operation__Message import Safe_Str__Cache__Zip__Operation__Message
|
|
10
|
+
|
|
11
|
+
class Schema__Cache__Zip__Store__Response(Type_Safe): # Response after storing zip file
|
|
12
|
+
cache_id : Optional[Random_Guid] = None # Generated ID for this zip entry
|
|
13
|
+
cache_hash : Optional[Safe_Str__Cache_Hash] = None # Hash of the zip content
|
|
14
|
+
namespace : Safe_Str__Id # Namespace where stored
|
|
15
|
+
paths : Dict[Safe_Str__Id, List[Safe_Str__File__Path]] # Storage paths by type
|
|
16
|
+
size : Safe_UInt # Size in bytes
|
|
17
|
+
file_count : Safe_UInt # Number of files in zip
|
|
18
|
+
stored_at : Timestamp_Now # When stored
|
|
19
|
+
error_type : Optional[Safe_Str__Id] = None # Error classification
|
|
20
|
+
error_message : Optional[Safe_Str__Cache__Zip__Operation__Message] = None # Human-readable error
|
|
21
|
+
success : bool # Operation success status
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
3
|
+
from mgraph_ai_service_cache_client.schemas.cache.zip.enums.Enum__Cache__Zip__Condition import Enum__Cache__Zip__Condition
|
|
4
|
+
from mgraph_ai_service_cache_client.schemas.cache.zip.enums.Enum__Cache__Zip__Operation import Enum__Cache__Zip__Operation
|
|
5
|
+
from mgraph_ai_service_cache_client.schemas.cache.zip.safe_str.Safe_Str__Cache__Zip__Operation__Pattern import Safe_Str__Cache__Zip__Operation__Pattern
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Schema__Zip__Batch__Operation(Type_Safe): # Individual operation in batch
|
|
9
|
+
action : Enum__Cache__Zip__Operation # Operation type
|
|
10
|
+
path : Safe_Str__File__Path # File path in zip
|
|
11
|
+
content : bytes = None # Content for add/replace
|
|
12
|
+
new_path : Safe_Str__File__Path = None # New path for rename/move
|
|
13
|
+
condition : Enum__Cache__Zip__Condition = Enum__Cache__Zip__Condition.ALWAYS # Conditional execution
|
|
14
|
+
pattern : Safe_Str__Cache__Zip__Operation__Pattern = None # Pattern for bulk operations (e.g., "*.tmp")
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
3
|
+
from mgraph_ai_service_cache_client.schemas.cache.zip.enums.Enum__Cache__Zip__Operation import Enum__Cache__Zip__Operation
|
|
4
|
+
from mgraph_ai_service_cache_client.schemas.cache.zip.safe_str.Safe_Str__Cache__Zip__Operation__Message import Safe_Str__Cache__Zip__Operation__Message
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Schema__Zip__Operation__Result(Type_Safe): # Result of individual operation
|
|
8
|
+
action : Enum__Cache__Zip__Operation # Operation performed
|
|
9
|
+
path : Safe_Str__File__Path # File affected
|
|
10
|
+
success : bool # Whether it succeeded
|
|
11
|
+
error : Safe_Str__Cache__Zip__Operation__Message # Error if failed
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from typing import Dict
|
|
2
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
3
|
+
from osbot_utils.type_safe.primitives.core.Safe_Float import Safe_Float
|
|
4
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.common.safe_str.Safe_Str__Text import Safe_Str__Text
|
|
6
|
+
from osbot_utils.type_safe.primitives.domains.files.safe_str.Safe_Str__File__Path import Safe_Str__File__Path
|
|
7
|
+
from osbot_utils.type_safe.primitives.domains.http.safe_str.Safe_Str__Http__Content_Type import Safe_Str__Http__Content_Type
|
|
8
|
+
from osbot_utils.type_safe.primitives.domains.http.safe_str.Safe_Str__Http__Text import Safe_Str__Http__Text
|
|
9
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_int.Timestamp_Now import Timestamp_Now
|
|
10
|
+
from osbot_utils.type_safe.primitives.domains.web.safe_str.Safe_Str__Url import Safe_Str__Url
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Cache__Client__Requests__Result(Type_Safe):
|
|
14
|
+
content_type : Safe_Str__Http__Content_Type
|
|
15
|
+
content : bytes = None
|
|
16
|
+
duration : Safe_Float
|
|
17
|
+
error : Safe_Str__Text
|
|
18
|
+
json : Dict = None
|
|
19
|
+
path : Safe_Str__File__Path
|
|
20
|
+
status_code : Safe_UInt
|
|
21
|
+
target_server : Safe_Str__Url
|
|
22
|
+
text : Safe_Str__Http__Text = None # this has 1M limit, which should be ok for all use-cases (that return text)
|
|
23
|
+
timestamp : Timestamp_Now
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
mgraph_ai_service_cache_client/schemas/client/health_checks/Cache__Client__Health_Checks__Status.py
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.core.Safe_Float import Safe_Float
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_int.Timestamp_Now import Timestamp_Now
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.web.safe_str.Safe_Str__Url import Safe_Str__Url
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Cache__Client__Health_Checks__Status(Type_Safe):
|
|
8
|
+
duration : Safe_Float
|
|
9
|
+
success : bool
|
|
10
|
+
target_server: Safe_Str__Url
|
|
11
|
+
timestamp : Timestamp_Now
|
|
File without changes
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from fastapi import Path
|
|
2
|
+
from mgraph_ai_service_cache_client.schemas.cache.consts__Cache_Service import DEFAULT_CACHE__NAMESPACE, DEFAULT_CACHE__STORE__STRATEGY
|
|
3
|
+
|
|
4
|
+
FAST_API__PARAM__NAMESPACE = Path(..., example=DEFAULT_CACHE__NAMESPACE ) # note: although we get a warning, examples is not currently working
|
|
5
|
+
FAST_API__PARAM__STRATEGY = Path(..., example=DEFAULT_CACHE__STORE__STRATEGY)
|
|
6
|
+
ENV_VAR__CACHE__SERVICE__BUCKET_NAME = 'CACHE__SERVICE__BUCKET_NAME'
|
|
7
|
+
ENV_VAR__CACHE__SERVICE__DEFAULT_TTL_HOURS = 'CACHE__SERVICE__DEFAULT_TTL_HOURS'
|
|
8
|
+
|
|
9
|
+
DEFAULT__CACHE__SERVICE__BUCKET_NAME = "mgraph-ai-cache"
|
|
10
|
+
DEFAULT__CACHE__SERVICE__DEFAULT_TTL_HOURS = 24
|
|
11
|
+
|
|
12
|
+
CACHE__TEST__FIXTURES__BUCKET_NAME = "test-cache-fixtures"
|
|
13
|
+
CACHE__TEST__FIXTURES__NAMESPACE = "fixtures-namespace"
|
|
14
|
+
|
|
15
|
+
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
ENV_VAR__CACHE__SERVICE__STORAGE_MODE = 'CACHE__SERVICE__STORAGE_MODE'
|
|
2
|
+
ENV_VAR__CACHE__SERVICE__LOCAL_DISK_PATH = 'CACHE__SERVICE__LOCAL_DISK_PATH'
|
|
3
|
+
ENV_VAR__CACHE__SERVICE__SQLITE_PATH = 'CACHE__SERVICE__SQLITE_PATH'
|
|
4
|
+
ENV_VAR__CACHE__SERVICE__ZIP_PATH = 'CACHE__SERVICE__ZIP_PATH'
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
from osbot_utils.type_safe.Type_Safe import Type_Safe
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.common.safe_str.Safe_Str__Text import Safe_Str__Text
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
5
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_int.Timestamp_Now import Timestamp_Now
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
# todo: should we add here the status_code value?
|
|
9
|
+
class Schema__Cache__Error__Base(Type_Safe): # Base error response schema that all error responses inherit from
|
|
10
|
+
error_type : Safe_Str__Id # Type of error (e.g., NOT_FOUND, INVALID_INPUT)
|
|
11
|
+
message : Safe_Str__Text # Human-readable error message
|
|
12
|
+
timestamp : Timestamp_Now # When the error occurred
|
|
13
|
+
request_id : Random_Guid # Unique ID for this request (for tracing)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
4
|
+
from mgraph_ai_service_cache_client.schemas.errors.Schema__Cache__Error__Base import Schema__Cache__Error__Base
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Schema__Cache__Error__Conflict(Schema__Cache__Error__Base): # 409 Conflict errors
|
|
8
|
+
conflict_type : Safe_Str__Id # Type of conflict (duplicate, locked, etc.)
|
|
9
|
+
existing_id : Random_Guid = None # Existing entry that conflicts
|
|
10
|
+
cache_hash : Safe_Str__Cache_Hash = None # Hash involved in conflict
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from osbot_utils.type_safe.primitives.core.Safe_UInt import Safe_UInt
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_int.Timestamp_Now import Timestamp_Now
|
|
4
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
5
|
+
from mgraph_ai_service_cache_client.schemas.errors.Schema__Cache__Error__Base import Schema__Cache__Error__Base
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Schema__Cache__Error__Gone(Schema__Cache__Error__Base): # 410 Gone errors (expired entries)
|
|
9
|
+
cache_id : Random_Guid = None # ID that expired
|
|
10
|
+
expired_at : Timestamp_Now = None # When it expired
|
|
11
|
+
ttl_hours : Safe_UInt = None # What the TTL was
|
|
12
|
+
namespace : Safe_Str__Id = None # Namespace of expired entry
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
from typing import Dict, Any, Optional
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.common.safe_str.Safe_Str__Text import Safe_Str__Text
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
4
|
+
from mgraph_ai_service_cache_client.schemas.errors.Schema__Cache__Error__Base import Schema__Cache__Error__Base
|
|
5
|
+
|
|
6
|
+
class Schema__Cache__Error__Invalid_Input(Schema__Cache__Error__Base): # 400 Bad Request errors
|
|
7
|
+
field_name : Safe_Str__Id # Which field had invalid input
|
|
8
|
+
field_value : Safe_Str__Text = None # The invalid value (if safe to include)
|
|
9
|
+
expected_type : Safe_Str__Id # What type/format was expected
|
|
10
|
+
constraints : Dict[str, Any] = None # Any constraints that were violated
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
4
|
+
from mgraph_ai_service_cache_client.schemas.errors.Schema__Cache__Error__Base import Schema__Cache__Error__Base
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Schema__Cache__Error__Not_Found(Schema__Cache__Error__Base): # 404 Not Found errors
|
|
8
|
+
resource_type : Safe_Str__Id # Type of resource (cache_entry, namespace, etc.)
|
|
9
|
+
resource_id : Safe_Str__Id = None # ID that wasn't found
|
|
10
|
+
cache_hash : Safe_Str__Cache_Hash = None # Hash that wasn't found (if applicable)
|
|
11
|
+
cache_id : Random_Guid = None # Cache ID that wasn't found (if applicable)
|
|
12
|
+
namespace : Safe_Str__Id = None # Namespace where search occurred
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
from osbot_utils.type_safe.primitives.domains.common.safe_str.Safe_Str__Text import Safe_Str__Text
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.safe_str.Safe_Str__Id import Safe_Str__Id
|
|
3
|
+
from mgraph_ai_service_cache_client.schemas.errors.Schema__Cache__Error__Base import Schema__Cache__Error__Base
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Schema__Cache__Error__Service_Unavailable(Schema__Cache__Error__Base): # 503 Service Unavailable errors
|
|
7
|
+
service_name : Safe_Str__Id # Which service is unavailable (s3, cache, etc.)
|
|
8
|
+
retry_after : int = None # Seconds to wait before retry
|
|
9
|
+
details : Safe_Str__Text = None # Additional details about the issue
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from osbot_utils.type_safe.primitives.domains.common.safe_str.Safe_Str__Text import Safe_Str__Text
|
|
2
|
+
from osbot_utils.type_safe.primitives.domains.identifiers.Random_Guid import Random_Guid
|
|
3
|
+
from osbot_utils.type_safe.primitives.domains.cryptography.safe_str.Safe_Str__Cache_Hash import Safe_Str__Cache_Hash
|
|
4
|
+
from mgraph_ai_service_cache_client.schemas.errors.Schema__Cache__Error__Base import Schema__Cache__Error__Base
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Schema__Cache__Error__Unsupported_Media_Type(Schema__Cache__Error__Base): # 415 Unsupported Media Type errors
|
|
8
|
+
requested_type : Safe_Str__Text # Type that was requested
|
|
9
|
+
actual_type : Safe_Str__Text # Actual type of the data
|
|
10
|
+
cache_hash : Safe_Str__Cache_Hash = None # Hash of the entry (if applicable)
|
|
11
|
+
cache_id : Random_Guid = None # ID of the entry (if applicable)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
v0.1.
|
|
1
|
+
v0.1.4
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: mgraph_ai_service_cache__client
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: MGraph-AI__Service__Cache__Client
|
|
5
5
|
Home-page: https://github.com/the-cyber-boardroom/MGraph-AI__Service__Cache__Client
|
|
6
6
|
License: Apache 2.0
|
|
@@ -16,7 +16,7 @@ Description-Content-Type: text/markdown
|
|
|
16
16
|
|
|
17
17
|
# MGraph AI Service Cache Client
|
|
18
18
|
|
|
19
|
-
[](https://github.com/the-cyber-boardroom/MGraph-AI__Service__Cache__Client/releases)
|
|
20
20
|
[](https://www.python.org/downloads/)
|
|
21
21
|
[](https://fastapi.tiangolo.com/)
|
|
22
22
|
[](https://aws.amazon.com/lambda/)
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
mgraph_ai_service_cache_client/__init__.py,sha256=vV-3_LTA0gOaz_M_rug9AA7UQ6vMFo35MolQSywHS-4,74
|
|
2
|
+
mgraph_ai_service_cache_client/client/Cache__Client.py,sha256=fdfMSe86BzcNMmPIWalAeQUCdWgHa_dho0xEJ4c2tGY,244
|
|
3
|
+
mgraph_ai_service_cache_client/client/Cache__Client__Config.py,sha256=HY9ZwlQUR562l_SMeZSEd3G48TB9M-k4AdN81Nbrtjw,341
|
|
4
|
+
mgraph_ai_service_cache_client/client/Cache__Client__Health_Checks.py,sha256=wjTQltslff3779ONQt68xQxcSLGiak80TeHNbkbjBGo,1597
|
|
5
|
+
mgraph_ai_service_cache_client/client/Cache__Client__Requests.py,sha256=_2scv2ugy0IDFxnl2zuaR4yD8SmAWWW_Vk7b9_ecAzk,1837
|
|
6
|
+
mgraph_ai_service_cache_client/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
+
mgraph_ai_service_cache_client/config.py,sha256=JmUXxVA2PmuPzv39_0751dswVYyUtrzAjVr1JFnso-s,356
|
|
8
|
+
mgraph_ai_service_cache_client/fast_api/Cache_Client__Fast_API.py,sha256=iYUqCYKemXJPpSVDYJ5VAxcAZEqMIK5Q6CaWZ5uSGPE,526
|
|
9
|
+
mgraph_ai_service_cache_client/fast_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
+
mgraph_ai_service_cache_client/fast_api/lambda_handler.py,sha256=hqBD4imnlACXdE7mFjUz7Q7OkxOoA1rk4blZ9HqsWaY,1001
|
|
11
|
+
mgraph_ai_service_cache_client/fast_api/routes/Routes__Info.py,sha256=4Qe67YJeS6vAaFPTrefVFRnbBu3XaHDN9joWs49i1_4,1353
|
|
12
|
+
mgraph_ai_service_cache_client/fast_api/routes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
+
mgraph_ai_service_cache_client/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
+
mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Binary__Reference.py,sha256=7k4etDRNSXwOzf5KLYC9Ygo5vor8yx_fmc5sJCLF0Dk,1766
|
|
15
|
+
mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Delete__Success.py,sha256=rFatFDk9lbR9Hqe1VQ4zkyleHPVsiKj2Io3TJmV-LXw,1395
|
|
16
|
+
mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Exists__Response.py,sha256=hhylZfJ_UxD4V9Qwo12OYVArGJDZ2arBDTjCfSK34XY,1412
|
|
17
|
+
mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Metadata.py,sha256=2YIv0L9Yok2ygcejDLY3-M0DUSiSVfiq3w5iaR94Plw,2299
|
|
18
|
+
mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Namespace__Stats.py,sha256=54AgnlwZEZM7yhr7exJpckoYKSrihhqa2_sGFVifgl0,1782
|
|
19
|
+
mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Namespaces__List.py,sha256=hVGvkBwp0IPje_KrYLzROgj0Yev7_0mxPpr5Sdz9Pwk,519
|
|
20
|
+
mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Retrieve__Request.py,sha256=NWCeb4r8vAIze7NfICMgPmQicOVmucxgfWz43zPiq6E,674
|
|
21
|
+
mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Retrieve__Success.py,sha256=7_GkzmBRHmEDpf7M73emcJlwlxW15K_55y7rzrI5MEo,824
|
|
22
|
+
mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Stats__Response.py,sha256=cL4rJ87Nz5K-RrYOLpGojBSnGgmaf63vHmaeH77G-OQ,466
|
|
23
|
+
mgraph_ai_service_cache_client/schemas/cache/Schema__Cache__Store__Response.py,sha256=M4LQJuAt86KNHMy4yz7-Yq4aymy2mZMIPLu7ykHH6ac,1121
|
|
24
|
+
mgraph_ai_service_cache_client/schemas/cache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
+
mgraph_ai_service_cache_client/schemas/cache/consts__Cache_Service.py,sha256=j08S9wQgb1G-L8Z3x1E_kTFx7x0FObQFkAQ3-IdR1Wc,361
|
|
26
|
+
mgraph_ai_service_cache_client/schemas/cache/data/Schema__Cache__Data__Delete__All_Files__Response.py,sha256=9KLSCeA7_KQtIT788A0r_OkYQ3ZurK2Zbv65WC2Ywfg,546
|
|
27
|
+
mgraph_ai_service_cache_client/schemas/cache/data/Schema__Cache__Data__Files__List.py,sha256=C5-RyJ0po2ZKdOzus1eV3cEqLQppApiQSwr_EgwQbvY,765
|
|
28
|
+
mgraph_ai_service_cache_client/schemas/cache/data/Schema__Cache__Data__Retrieve__Request.py,sha256=iE0joWXYfofisJEMwPv9ScIzoJ0fiD426BXxSH6gBu0,1045
|
|
29
|
+
mgraph_ai_service_cache_client/schemas/cache/data/Schema__Cache__Data__Retrieve__Response.py,sha256=aTsnwxPXeN-NzRxvAWmKfU4mush29mG9Z-ST2DCCX0c,1448
|
|
30
|
+
mgraph_ai_service_cache_client/schemas/cache/data/Schema__Cache__Data__Store__Request.py,sha256=X1srTQ6-RDvr0I9qR4_SqoPSDBKdRoWTE8OmDX7ACDg,1257
|
|
31
|
+
mgraph_ai_service_cache_client/schemas/cache/data/Schema__Cache__Data__Store__Response.py,sha256=zoQfnPslkO7B8eRVzUCNtPtKupwVOzb0kwFmkv4qgug,1619
|
|
32
|
+
mgraph_ai_service_cache_client/schemas/cache/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
33
|
+
mgraph_ai_service_cache_client/schemas/cache/enums/Enum__Cache__Data_Type.py,sha256=0j9tpRd5sRpKfUwikMC_phPTo2bxL9yznQj5_0r9O-k,127
|
|
34
|
+
mgraph_ai_service_cache_client/schemas/cache/enums/Enum__Cache__File_Type.py,sha256=tn5RRk7ahe9CTmFFXtpec82rhrSMlkav3RIbxBUEzZg,105
|
|
35
|
+
mgraph_ai_service_cache_client/schemas/cache/enums/Enum__Cache__Storage_Mode.py,sha256=1e5-7PNjuIVDznLnqmtbZIf3vttYti6ysYRPwDFW8hY,376
|
|
36
|
+
mgraph_ai_service_cache_client/schemas/cache/enums/Enum__Cache__Store__Strategy.py,sha256=VlW9LsL7BY7nDzj_Vvphd7nJj3xwtWzF9jve99NQFbY,271
|
|
37
|
+
mgraph_ai_service_cache_client/schemas/cache/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
|
+
mgraph_ai_service_cache_client/schemas/cache/file/Schema__Cache__File__Paths.py,sha256=8MuRXyOtcWMcJ1z9SFesB5-vgoACDxkEpgeeR3S5tFU,506
|
|
39
|
+
mgraph_ai_service_cache_client/schemas/cache/file/Schema__Cache__File__Refs.py,sha256=3k2tJPeHcK0dyoBs2HNev-dVAQG4fKPpxMFMff5WImQ,1901
|
|
40
|
+
mgraph_ai_service_cache_client/schemas/cache/file/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
|
+
mgraph_ai_service_cache_client/schemas/cache/store/Schema__Cache__Hash__Entry.py,sha256=TZ_X4ZGB0aqhaH7Hrts8raV-q1fJogUheVy_qLrQQo0,514
|
|
42
|
+
mgraph_ai_service_cache_client/schemas/cache/store/Schema__Cache__Hash__Reference.py,sha256=vCoduQezCOJnS9OUPfmHU2IZa4U9qDJPPqo7RsrFlIE,1040
|
|
43
|
+
mgraph_ai_service_cache_client/schemas/cache/store/Schema__Cache__Store__Metadata.py,sha256=P4HufeteFtiPVdOmVWiNDhuiDNRDVMnpe5nRoyo48iE,2070
|
|
44
|
+
mgraph_ai_service_cache_client/schemas/cache/store/Schema__Cache__Store__Paths.py,sha256=oH1CewYuyShdkzKpCoaUQH3qMvwju7Gp7dD04Hf6YWo,666
|
|
45
|
+
mgraph_ai_service_cache_client/schemas/cache/store/Schema__Store__Context.py,sha256=JuzMqATcAjZbjyem7EbZzRNQuW2CY0hasjqE3za9Lbg,3454
|
|
46
|
+
mgraph_ai_service_cache_client/schemas/cache/store/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
47
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Cache__Zip__Batch__Request.py,sha256=a1AfQbZF9ByA6GD3TpGpYQS7TbhwAWzPFgDkeDqClKY,1497
|
|
48
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Cache__Zip__Batch__Response.py,sha256=ibuddxNLSUEespCdwfeBJeJjX16VvqgqH_ZjY8K6g0Q,2723
|
|
49
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Cache__Zip__Operation__Request.py,sha256=k8XHlP2scbYvhh4nROLfdxyg3WGCq4_lKx_Ta_W6VD4,1287
|
|
50
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Cache__Zip__Operation__Response.py,sha256=aKNrFH4AWisu8nDoaStPqrndsWfOBFowODK8y7j8vZ4,2152
|
|
51
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Cache__Zip__Store__Request.py,sha256=SfZiQS0kXTSzsjgZmgeMXOCVa-sY5JmoLYnMLPdoHOA,1281
|
|
52
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Cache__Zip__Store__Response.py,sha256=vef6PeMJoy0XshsI3bC3ecKtLQ8obFdgJXC3Ne1WReA,2349
|
|
53
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Zip__Batch__Operation.py,sha256=d6RiPufReEbv1NnCg5yrXoSC9GlfwaXaY9FEfk4_OzQ,1530
|
|
54
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/Schema__Zip__Operation__Result.py,sha256=VRI0Gjk6ftbARwND6liRNNlaz7shtMuPvrDX88Ib12E,989
|
|
55
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
56
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/enums/Enum__Cache__Zip__Condition.py,sha256=X_LMAjPpWRvDR8RjHGOzvRLfa9rpFpJb4s5PVlx1-DM,165
|
|
57
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/enums/Enum__Cache__Zip__Operation.py,sha256=KejjX5rW7-gEvTAUCOGCmLMo9Atl9elkzn35BLfOHGI,249
|
|
58
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/enums/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/safe_str/Safe_Str__Cache__Zip__Operation__Message.py,sha256=-suUNhS4cDSG1yxo3xfIsyEspAi-aCAxe0w5zh9gHfE,186
|
|
60
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/safe_str/Safe_Str__Cache__Zip__Operation__Pattern.py,sha256=f1eRRvKBfb2JWVTWKMZGdhDDh2Kp0XsGcUoYu05165I,183
|
|
61
|
+
mgraph_ai_service_cache_client/schemas/cache/zip/safe_str/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
62
|
+
mgraph_ai_service_cache_client/schemas/client/Cache__Client__Requests__Result.py,sha256=2G40_hgXF1a3qGMoy_iVNOFBngfITyujU5qhtwI39r0,1688
|
|
63
|
+
mgraph_ai_service_cache_client/schemas/client/health_checks/Cache__Client__Health_Checks__Status.py,sha256=mUeBIpClnXIZZf-58_ZtBRyG5wsO_Se7KaPR-5zFMso,578
|
|
64
|
+
mgraph_ai_service_cache_client/schemas/consts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
65
|
+
mgraph_ai_service_cache_client/schemas/consts/const__Fast_API.py,sha256=XMS7VWZJ1gAspr7ZtTS0eIcGG96P6LFyxuqA7skTxfQ,890
|
|
66
|
+
mgraph_ai_service_cache_client/schemas/consts/const__Storage.py,sha256=hZMbog7F2273BuCkG3apFU7U1vuZylThmrUcXHapQG0,302
|
|
67
|
+
mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Base.py,sha256=KLxodtsKWXSgvIaoPoOPYLr8OvuTQjmGN4l7orHBqxE,1060
|
|
68
|
+
mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Conflict.py,sha256=xAv0HfJ0Y6BhGsEPWgzRqulSSni5tBDGnGrQtXRmY68,950
|
|
69
|
+
mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Gone.py,sha256=pj-aeVI_RGMKKY95GRngDKjU1aTL0qZa1N57JzyFcGs,1068
|
|
70
|
+
mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Invalid_Input.py,sha256=cX2RT9yN7TrkOvitLRXbUauRC5ZROP89uIjM3Agw8-A,1035
|
|
71
|
+
mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Not_Found.py,sha256=2wY3q8mmFgBroXVORK90l5TsqD5baTwlrpNBVRHyLPU,1087
|
|
72
|
+
mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Service_Unavailable.py,sha256=702J_ax38PweqZb9LSpy5KjxhjbC7aalPcagpAIYtkY,823
|
|
73
|
+
mgraph_ai_service_cache_client/schemas/errors/Schema__Cache__Error__Unsupported_Media_Type.py,sha256=DMtj63CGMG3UV2nCdcMx0ANDDspRAr8FaDpLDCuSPXU,1073
|
|
74
|
+
mgraph_ai_service_cache_client/schemas/errors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
|
+
mgraph_ai_service_cache_client/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
76
|
+
mgraph_ai_service_cache_client/service/info/Service_Info.py,sha256=lTTZcqJ2cKjmtc1nulNKk77A1xz3zQWUG7EQsfh0ApQ,1154
|
|
77
|
+
mgraph_ai_service_cache_client/service/info/schemas/Enum__Service_Environment.py,sha256=x4B6kDwncyklQaEFf0kAGyY5LE0r9Ch3ww_EZmBUDP8,129
|
|
78
|
+
mgraph_ai_service_cache_client/service/info/schemas/Enum__Service_Status.py,sha256=15PehXAEwdvlG-axvTF-p8XYWklscLPucH1Ki2UrwTQ,129
|
|
79
|
+
mgraph_ai_service_cache_client/service/info/schemas/Schema__Server__Versions.py,sha256=SGXNdZT_hrel-QV0AoNBsP4D42vGHgVNijiwb9RmZGw,1384
|
|
80
|
+
mgraph_ai_service_cache_client/service/info/schemas/Schema__Service__Status.py,sha256=jlmwi37c1m_aDnKG7VMFzjoNbeb9AZNX45nVNksROrk,1127
|
|
81
|
+
mgraph_ai_service_cache_client/utils/Version.py,sha256=-iKgWjUzrm9eGMdLFsvKPuxZFckmfNE5Y5bw6vSydhY,797
|
|
82
|
+
mgraph_ai_service_cache_client/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
83
|
+
mgraph_ai_service_cache_client/utils/deploy/Deploy__Service.py,sha256=iBqB4km1H3eHPXPfyh7UajjHMKom684S9ACGUa13vw4,816
|
|
84
|
+
mgraph_ai_service_cache_client/version,sha256=RdHCtpq0XxnJ1hnEYircEBXJqJnD3rbZSAU9JWi6NtM,7
|
|
85
|
+
mgraph_ai_service_cache_client-0.1.4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
86
|
+
mgraph_ai_service_cache_client-0.1.4.dist-info/METADATA,sha256=vrvimMmHW_6MPzH8RhEK38Jz6DjUfRQ-sRJNW_Bq7hg,9846
|
|
87
|
+
mgraph_ai_service_cache_client-0.1.4.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
88
|
+
mgraph_ai_service_cache_client-0.1.4.dist-info/RECORD,,
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
mgraph_ai_service_cache_client/__init__.py,sha256=vV-3_LTA0gOaz_M_rug9AA7UQ6vMFo35MolQSywHS-4,74
|
|
2
|
-
mgraph_ai_service_cache_client/config.py,sha256=JmUXxVA2PmuPzv39_0751dswVYyUtrzAjVr1JFnso-s,356
|
|
3
|
-
mgraph_ai_service_cache_client/fast_api/Cache_Client__Fast_API.py,sha256=iYUqCYKemXJPpSVDYJ5VAxcAZEqMIK5Q6CaWZ5uSGPE,526
|
|
4
|
-
mgraph_ai_service_cache_client/fast_api/lambda_handler.py,sha256=hqBD4imnlACXdE7mFjUz7Q7OkxOoA1rk4blZ9HqsWaY,1001
|
|
5
|
-
mgraph_ai_service_cache_client/fast_api/routes/Routes__Info.py,sha256=4Qe67YJeS6vAaFPTrefVFRnbBu3XaHDN9joWs49i1_4,1353
|
|
6
|
-
mgraph_ai_service_cache_client/service/info/Service_Info.py,sha256=lTTZcqJ2cKjmtc1nulNKk77A1xz3zQWUG7EQsfh0ApQ,1154
|
|
7
|
-
mgraph_ai_service_cache_client/service/info/schemas/Enum__Service_Environment.py,sha256=x4B6kDwncyklQaEFf0kAGyY5LE0r9Ch3ww_EZmBUDP8,129
|
|
8
|
-
mgraph_ai_service_cache_client/service/info/schemas/Enum__Service_Status.py,sha256=15PehXAEwdvlG-axvTF-p8XYWklscLPucH1Ki2UrwTQ,129
|
|
9
|
-
mgraph_ai_service_cache_client/service/info/schemas/Schema__Server__Versions.py,sha256=SGXNdZT_hrel-QV0AoNBsP4D42vGHgVNijiwb9RmZGw,1384
|
|
10
|
-
mgraph_ai_service_cache_client/service/info/schemas/Schema__Service__Status.py,sha256=jlmwi37c1m_aDnKG7VMFzjoNbeb9AZNX45nVNksROrk,1127
|
|
11
|
-
mgraph_ai_service_cache_client/utils/Version.py,sha256=-iKgWjUzrm9eGMdLFsvKPuxZFckmfNE5Y5bw6vSydhY,797
|
|
12
|
-
mgraph_ai_service_cache_client/utils/deploy/Deploy__Service.py,sha256=iBqB4km1H3eHPXPfyh7UajjHMKom684S9ACGUa13vw4,816
|
|
13
|
-
mgraph_ai_service_cache_client/version,sha256=DbJRHyaaVDZLLGEBuP-r4piScs6LbHtBdjThjRMnVaI,7
|
|
14
|
-
mgraph_ai_service_cache_client-0.1.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
15
|
-
mgraph_ai_service_cache_client-0.1.2.dist-info/METADATA,sha256=EcQVBuPW5HmLg27sijBUC0F8HJVS8GUyoOMityVpSK0,9846
|
|
16
|
-
mgraph_ai_service_cache_client-0.1.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
17
|
-
mgraph_ai_service_cache_client-0.1.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|