h-message-bus 0.0.24__tar.gz → 0.0.26__tar.gz
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.
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/PKG-INFO +1 -1
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/pyproject.toml +1 -1
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/models/request_message_topic.py +2 -0
- h_message_bus-0.0.26/src/h_message_bus/domain/models/twitter_user_metadata.py +76 -0
- h_message_bus-0.0.26/src/h_message_bus/domain/request_messages/twitter_get_users_request_message.py +42 -0
- h_message_bus-0.0.26/src/h_message_bus/domain/request_messages/twitter_get_users_response_message.py +44 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/vector_save_request_message.py +1 -1
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus.egg-info/PKG-INFO +1 -1
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus.egg-info/SOURCES.txt +3 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/README.md +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/setup.cfg +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/__init__.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/__init__.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/adapters/__init__.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/adapters/nats_message_adapter.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/adapters/nats_publisher_adapter.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/adapters/nats_subscriber_adapter.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/application/__init__.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/application/message_processor.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/application/message_publisher.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/application/message_subcriber.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/__init__.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/event_messages/__init__.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/models/__init__.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/models/event_message_topic.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/models/hai_message.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/models/vector_collection_metadata.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/models/vector_query_answer.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/__init__.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/tg_message_request_message.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/tg_user_message_reply_request_message.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/tg_user_message_request_message.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/twitter_get_user_request_message.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/twitter_get_user_response_message.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/vector_query_collection_request_message.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/vector_query_collection_response_message.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/vector_read_metadata_request_message.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/vector_read_metadata_response_message.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/web_get_docs_request_message.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/web_search_request_message.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/infrastructure/__init__.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/infrastructure/nats_client_repository.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/infrastructure/nats_config.py +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus.egg-info/dependency_links.txt +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus.egg-info/requires.txt +0 -0
- {h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus.egg-info/top_level.txt +0 -0
@@ -30,6 +30,8 @@ class RequestMessageTopic(str, Enum):
|
|
30
30
|
# Twitter
|
31
31
|
TWITTER_GET_USER = "hai.twitter.get.user"
|
32
32
|
TWITTER_GET_USER_RESPONSE = "hai.twitter.get.user.response"
|
33
|
+
TWITTER_GET_USERS = "hai.twitter.get.users"
|
34
|
+
TWITTER_GET_USERS_RESPONSE = "hai.twitter.get.users.response"
|
33
35
|
|
34
36
|
TWITTER_USER_SEND_AI_CHAT_SEND = "hai.twitter.user.chat.send"
|
35
37
|
TWITTER_USER_SEND_AI_CHAT_SEND_RESPONSE = "hai.twitter.user.chat.send.response"
|
@@ -0,0 +1,76 @@
|
|
1
|
+
class TwitterUserMetadata:
|
2
|
+
def __init__(self,
|
3
|
+
id: str,
|
4
|
+
screen_name: str,
|
5
|
+
user_name: str = None,
|
6
|
+
description: str = None,
|
7
|
+
followers_count: int = 0,
|
8
|
+
like_count: int = 0,
|
9
|
+
is_verified: bool = False,
|
10
|
+
url: str = None,
|
11
|
+
bio_urls: list = None):
|
12
|
+
"""
|
13
|
+
Initialize a TwitterUserMetadata instance.
|
14
|
+
|
15
|
+
Args:
|
16
|
+
id (str): The user's Twitter ID
|
17
|
+
screen_name (str): The user's screen name
|
18
|
+
user_name (str, optional): The user's name
|
19
|
+
description (str, optional): The user's bio description
|
20
|
+
followers_count (int, optional): Number of followers
|
21
|
+
like_count (int, optional): Number of likes
|
22
|
+
is_verified (bool, optional): Whether the user is verified
|
23
|
+
url (str, optional): The user's profile URL
|
24
|
+
bio_urls (list, optional): URLs mentioned in the user's bio
|
25
|
+
"""
|
26
|
+
self.id = id
|
27
|
+
self.screen_name = screen_name
|
28
|
+
self.user_name = user_name
|
29
|
+
self.description = description
|
30
|
+
self.followers_count = followers_count
|
31
|
+
self.like_count = like_count
|
32
|
+
self.is_verified = is_verified
|
33
|
+
self.url = url
|
34
|
+
self.bio_urls = bio_urls or []
|
35
|
+
|
36
|
+
def to_dict(self) -> dict:
|
37
|
+
"""
|
38
|
+
Convert TwitterUserMetadata instance to a dictionary.
|
39
|
+
|
40
|
+
Returns:
|
41
|
+
dict: A dictionary representation of the TwitterUserMetadata instance.
|
42
|
+
"""
|
43
|
+
return {
|
44
|
+
'id': self.id,
|
45
|
+
'screen_name': self.screen_name,
|
46
|
+
'user_name': self.user_name,
|
47
|
+
'description': self.description,
|
48
|
+
'followers_count': self.followers_count,
|
49
|
+
'like_count': self.like_count,
|
50
|
+
'is_verified': self.is_verified,
|
51
|
+
'url': self.url,
|
52
|
+
'bio_urls': self.bio_urls
|
53
|
+
}
|
54
|
+
|
55
|
+
@classmethod
|
56
|
+
def from_dict(cls, data: dict) -> 'TwitterUserMetadata':
|
57
|
+
"""
|
58
|
+
Create a TwitterUserMetadata instance from a dictionary.
|
59
|
+
|
60
|
+
Args:
|
61
|
+
data (dict): A dictionary containing TwitterUserMetadata attributes
|
62
|
+
|
63
|
+
Returns:
|
64
|
+
TwitterUserMetadata: A new TwitterUserMetadata instance
|
65
|
+
"""
|
66
|
+
return cls(
|
67
|
+
id=data.get('id'),
|
68
|
+
screen_name=data.get('screen_name'),
|
69
|
+
user_name=data.get('user_name'),
|
70
|
+
description=data.get('description'),
|
71
|
+
followers_count=data.get('followers_count', 0),
|
72
|
+
like_count=data.get('like_count', 0),
|
73
|
+
is_verified=data.get('is_verified', False),
|
74
|
+
url=data.get('url'),
|
75
|
+
bio_urls=data.get('bio_urls', [])
|
76
|
+
)
|
h_message_bus-0.0.26/src/h_message_bus/domain/request_messages/twitter_get_users_request_message.py
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
import json
|
2
|
+
from typing import Type, TypeVar, Dict, Any, List
|
3
|
+
|
4
|
+
from ..models.request_message_topic import RequestMessageTopic
|
5
|
+
from ...domain.models.hai_message import HaiMessage
|
6
|
+
|
7
|
+
T = TypeVar('T', bound='HaiMessage')
|
8
|
+
|
9
|
+
class TwitterGetUsersRequestMessage(HaiMessage):
|
10
|
+
"""Message to request Twitter user information"""
|
11
|
+
|
12
|
+
@classmethod
|
13
|
+
def create(cls: Type[T], topic: str, payload: Dict[Any, Any]) -> T:
|
14
|
+
"""Create a message - inherited from HaiMessage"""
|
15
|
+
return super().create(topic=topic, payload=payload)
|
16
|
+
|
17
|
+
@classmethod
|
18
|
+
def create_message(cls, usernames: List[str]) -> 'TwitterGetUsersRequestMessage':
|
19
|
+
"""Create a message requesting Twitter user data"""
|
20
|
+
return cls.create(
|
21
|
+
topic=RequestMessageTopic.TWITTER_GET_USERS,
|
22
|
+
payload={"usernames": json.dumps(usernames)},
|
23
|
+
)
|
24
|
+
|
25
|
+
@property
|
26
|
+
def usernames(self) -> List[str]:
|
27
|
+
"""Get the username from the payload"""
|
28
|
+
usernames_payload = self.payload.get("usernames", "")
|
29
|
+
usernames = json.loads(usernames_payload)
|
30
|
+
response_list = []
|
31
|
+
for username in usernames:
|
32
|
+
response_list.append(username)
|
33
|
+
return response_list
|
34
|
+
|
35
|
+
@classmethod
|
36
|
+
def from_hai_message(cls, message: HaiMessage) -> 'TwitterGetUsersRequestMessage':
|
37
|
+
payload = message.payload
|
38
|
+
usernames = payload.get("usernames", "")
|
39
|
+
usernames_list = json.loads(usernames)
|
40
|
+
return cls.create_message(
|
41
|
+
usernames=usernames_list
|
42
|
+
)
|
h_message_bus-0.0.26/src/h_message_bus/domain/request_messages/twitter_get_users_response_message.py
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
import json
|
2
|
+
from typing import Type, TypeVar, Dict, Any, List
|
3
|
+
|
4
|
+
from ..models.request_message_topic import RequestMessageTopic
|
5
|
+
from ..models.twitter_user_metadata import TwitterUserMetadata
|
6
|
+
from ...domain.models.hai_message import HaiMessage
|
7
|
+
|
8
|
+
T = TypeVar('T', bound='HaiMessage')
|
9
|
+
|
10
|
+
class TwitterGetUsersResponseMessage(HaiMessage):
|
11
|
+
|
12
|
+
@classmethod
|
13
|
+
def create(cls: Type[T], topic: str, payload: Dict[Any, Any]) -> T:
|
14
|
+
"""Create a message - inherited from HaiMessage"""
|
15
|
+
return super().create(topic=topic, payload=payload)
|
16
|
+
|
17
|
+
@classmethod
|
18
|
+
def create_message(cls, users: List[dict[str, str]]) -> 'TwitterGetUsersResponseMessage':
|
19
|
+
user_result = json.dumps(users)
|
20
|
+
return cls.create(
|
21
|
+
topic=RequestMessageTopic.TWITTER_GET_USERS_RESPONSE,
|
22
|
+
payload={
|
23
|
+
"users": user_result,
|
24
|
+
},
|
25
|
+
)
|
26
|
+
|
27
|
+
@property
|
28
|
+
def users(self) -> List[TwitterUserMetadata]:
|
29
|
+
"""Get the collection name from the message payload"""
|
30
|
+
users = self.payload.get("users", "")
|
31
|
+
users_dict = json.loads(users)
|
32
|
+
response_list = []
|
33
|
+
for user in users_dict:
|
34
|
+
response_list.append(TwitterUserMetadata.from_dict(user))
|
35
|
+
return response_list
|
36
|
+
|
37
|
+
@classmethod
|
38
|
+
def from_hai_message(cls, message: HaiMessage) -> 'TwitterGetUsersResponseMessage':
|
39
|
+
payload = message.payload
|
40
|
+
metadata = payload.get("users", "")
|
41
|
+
meta_list = json.loads(metadata)
|
42
|
+
return cls.create_message(
|
43
|
+
users=meta_list
|
44
|
+
)
|
@@ -33,7 +33,7 @@ class VectorSaveRequestMessage(HaiMessage):
|
|
33
33
|
return self.payload.get("collection_name")
|
34
34
|
|
35
35
|
@property
|
36
|
-
def collection_metadata(self) -> str:
|
36
|
+
def collection_metadata(self) -> dict[str, str]:
|
37
37
|
"""Get the collection name from the payload"""
|
38
38
|
return self.payload.get("collection_metadata")
|
39
39
|
|
@@ -21,6 +21,7 @@ src/h_message_bus/domain/models/__init__.py
|
|
21
21
|
src/h_message_bus/domain/models/event_message_topic.py
|
22
22
|
src/h_message_bus/domain/models/hai_message.py
|
23
23
|
src/h_message_bus/domain/models/request_message_topic.py
|
24
|
+
src/h_message_bus/domain/models/twitter_user_metadata.py
|
24
25
|
src/h_message_bus/domain/models/vector_collection_metadata.py
|
25
26
|
src/h_message_bus/domain/models/vector_query_answer.py
|
26
27
|
src/h_message_bus/domain/request_messages/__init__.py
|
@@ -29,6 +30,8 @@ src/h_message_bus/domain/request_messages/tg_user_message_reply_request_message.
|
|
29
30
|
src/h_message_bus/domain/request_messages/tg_user_message_request_message.py
|
30
31
|
src/h_message_bus/domain/request_messages/twitter_get_user_request_message.py
|
31
32
|
src/h_message_bus/domain/request_messages/twitter_get_user_response_message.py
|
33
|
+
src/h_message_bus/domain/request_messages/twitter_get_users_request_message.py
|
34
|
+
src/h_message_bus/domain/request_messages/twitter_get_users_response_message.py
|
32
35
|
src/h_message_bus/domain/request_messages/vector_query_collection_request_message.py
|
33
36
|
src/h_message_bus/domain/request_messages/vector_query_collection_response_message.py
|
34
37
|
src/h_message_bus/domain/request_messages/vector_read_metadata_request_message.py
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/adapters/nats_message_adapter.py
RENAMED
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/adapters/nats_publisher_adapter.py
RENAMED
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/adapters/nats_subscriber_adapter.py
RENAMED
File without changes
|
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/application/message_processor.py
RENAMED
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/application/message_publisher.py
RENAMED
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/application/message_subcriber.py
RENAMED
File without changes
|
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/event_messages/__init__.py
RENAMED
File without changes
|
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/models/event_message_topic.py
RENAMED
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/models/hai_message.py
RENAMED
File without changes
|
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/models/vector_query_answer.py
RENAMED
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/domain/request_messages/__init__.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus/infrastructure/nats_config.py
RENAMED
File without changes
|
{h_message_bus-0.0.24 → h_message_bus-0.0.26}/src/h_message_bus.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|