h-message-bus 0.0.34__py3-none-any.whl → 0.0.36__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.
- h_message_bus/domain/models/request_message_topic.py +6 -0
- h_message_bus/domain/request_messages/twitter_get_tweet_request_message.py +40 -0
- h_message_bus/domain/request_messages/twitter_get_tweet_response_message.py +54 -0
- h_message_bus/domain/request_messages/twitter_quote_retweet_request_message.py +48 -0
- h_message_bus/domain/request_messages/twitter_quote_retweet_response_message.py +55 -0
- {h_message_bus-0.0.34.dist-info → h_message_bus-0.0.36.dist-info}/METADATA +1 -1
- {h_message_bus-0.0.34.dist-info → h_message_bus-0.0.36.dist-info}/RECORD +9 -5
- {h_message_bus-0.0.34.dist-info → h_message_bus-0.0.36.dist-info}/WHEEL +1 -1
- {h_message_bus-0.0.34.dist-info → h_message_bus-0.0.36.dist-info}/top_level.txt +0 -0
@@ -53,6 +53,12 @@ class RequestMessageTopic(str, Enum):
|
|
53
53
|
TWITTER_POST_TWEET= "hai.twitter.post.tweet"
|
54
54
|
TWITTER_POST_TWEET_RESPONSE = "hai.twitter.post.tweet.response"
|
55
55
|
|
56
|
+
TWITTER_QUOTE_RETWEET= "hai.twitter.quote.retweet"
|
57
|
+
TWITTER_QUOTE_RETWEET_RESPONSE = "hai.twitter.quote.retweet.response"
|
58
|
+
|
59
|
+
TWITTER_GET_TWEET= "hai.twitter.get.tweet"
|
60
|
+
TWITTER_GET_TWEET_RESPONSE = "hai.twitter.get.tweet.response"
|
61
|
+
|
56
62
|
# tools
|
57
63
|
WEB_SEARCH = "hai.tools.web.search"
|
58
64
|
WEB_SEARCH_RESPONSE = "hai.tools.web.search.response"
|
@@ -0,0 +1,40 @@
|
|
1
|
+
from dataclasses import dataclass
|
2
|
+
from typing import Type, Dict, Any, TypeVar
|
3
|
+
|
4
|
+
from ..models.request_message_topic import RequestMessageTopic
|
5
|
+
from ...domain.models.hai_message import HaiMessage
|
6
|
+
|
7
|
+
T = TypeVar('T', bound='TwitterGetTweetRequestMessage')
|
8
|
+
|
9
|
+
@dataclass
|
10
|
+
class TwitterGetTweetRequestMessage(HaiMessage):
|
11
|
+
"""Message to request getting a tweet by its ID"""
|
12
|
+
|
13
|
+
@classmethod
|
14
|
+
def create(cls: Type[T], topic: str, payload: Dict[Any, Any]) -> T:
|
15
|
+
"""Create a message - inherited from HaiMessage"""
|
16
|
+
return super().create(topic=topic, payload=payload)
|
17
|
+
|
18
|
+
@classmethod
|
19
|
+
def create_message(cls, tweet_id: str) -> 'TwitterGetTweetRequestMessage':
|
20
|
+
"""Create a message requesting to get a tweet by its ID"""
|
21
|
+
return cls.create(
|
22
|
+
topic=RequestMessageTopic.TWITTER_GET_TWEET, # You'll need to add this to RequestMessageTopic
|
23
|
+
payload={
|
24
|
+
"tweet_id": tweet_id
|
25
|
+
},
|
26
|
+
)
|
27
|
+
|
28
|
+
@property
|
29
|
+
def tweet_id(self) -> str:
|
30
|
+
"""Get the tweet ID from the payload"""
|
31
|
+
return self.payload.get("tweet_id", "")
|
32
|
+
|
33
|
+
@classmethod
|
34
|
+
def from_hai_message(cls, message: HaiMessage) -> 'TwitterGetTweetRequestMessage':
|
35
|
+
"""Create a TwitterGetTweetRequestMessage from a HaiMessage"""
|
36
|
+
payload = message.payload
|
37
|
+
|
38
|
+
return cls.create_message(
|
39
|
+
tweet_id=payload.get("tweet_id", "")
|
40
|
+
)
|
@@ -0,0 +1,54 @@
|
|
1
|
+
from dataclasses import dataclass
|
2
|
+
from typing import Type, Dict, Any, TypeVar, Optional
|
3
|
+
|
4
|
+
from ..models.request_message_topic import RequestMessageTopic
|
5
|
+
from ...domain.models.hai_message import HaiMessage
|
6
|
+
|
7
|
+
T = TypeVar('T', bound='TwitterGetTweetResponseMessage')
|
8
|
+
|
9
|
+
|
10
|
+
@dataclass
|
11
|
+
class TwitterGetTweetResponseMessage(HaiMessage):
|
12
|
+
"""Message to respond to a request to get a tweet by its ID"""
|
13
|
+
|
14
|
+
@classmethod
|
15
|
+
def create(cls: Type[T], topic: str, payload: Dict[Any, Any]) -> T:
|
16
|
+
"""Create a message - inherited from HaiMessage"""
|
17
|
+
return super().create(topic=topic, payload=payload)
|
18
|
+
|
19
|
+
@classmethod
|
20
|
+
def create_message(cls,
|
21
|
+
tweet_id: str,
|
22
|
+
success: bool,
|
23
|
+
tweet: Optional[Dict[str, Any]] = None,
|
24
|
+
error_message: str = "") -> 'TwitterGetTweetResponseMessage':
|
25
|
+
"""Create a response message for a request to get a tweet"""
|
26
|
+
return cls.create(
|
27
|
+
topic=RequestMessageTopic.TWITTER_GET_TWEET_RESPONSE, # You'll need to add this to ResponseMessageTopic
|
28
|
+
payload={
|
29
|
+
"tweet_id": tweet_id,
|
30
|
+
"success": success,
|
31
|
+
"tweet": tweet,
|
32
|
+
"error_message": error_message
|
33
|
+
},
|
34
|
+
)
|
35
|
+
|
36
|
+
@property
|
37
|
+
def tweet_id(self) -> str:
|
38
|
+
"""Get the tweet ID that was requested"""
|
39
|
+
return self.payload.get("tweet_id", "")
|
40
|
+
|
41
|
+
@property
|
42
|
+
def success(self) -> bool:
|
43
|
+
"""Get whether the get tweet operation was successful"""
|
44
|
+
return self.payload.get("success", False)
|
45
|
+
|
46
|
+
@property
|
47
|
+
def tweet(self) -> Optional[Dict[str, Any]]:
|
48
|
+
"""Get the tweet data if the operation was successful"""
|
49
|
+
return self.payload.get("tweet", None)
|
50
|
+
|
51
|
+
@property
|
52
|
+
def error_message(self) -> str:
|
53
|
+
"""Get the error message if the get tweet operation failed"""
|
54
|
+
return self.payload.get("error_message", "")
|
@@ -0,0 +1,48 @@
|
|
1
|
+
from dataclasses import dataclass
|
2
|
+
from typing import Type, Dict, Any, TypeVar
|
3
|
+
|
4
|
+
from ..models.request_message_topic import RequestMessageTopic
|
5
|
+
from ...domain.models.hai_message import HaiMessage
|
6
|
+
|
7
|
+
T = TypeVar('T', bound='TwitterQuoteRetweetRequestMessage')
|
8
|
+
|
9
|
+
|
10
|
+
@dataclass
|
11
|
+
class TwitterQuoteRetweetRequestMessage(HaiMessage):
|
12
|
+
"""Message to request creating a quote retweet"""
|
13
|
+
|
14
|
+
@classmethod
|
15
|
+
def create(cls: Type[T], topic: str, payload: Dict[Any, Any]) -> T:
|
16
|
+
"""Create a message - inherited from HaiMessage"""
|
17
|
+
return super().create(topic=topic, payload=payload)
|
18
|
+
|
19
|
+
@classmethod
|
20
|
+
def create_message(cls, tweet_id: str, text: str) -> 'TwitterQuoteRetweetRequestMessage':
|
21
|
+
"""Create a message requesting to quote retweet a tweet"""
|
22
|
+
return cls.create(
|
23
|
+
topic=RequestMessageTopic.TWITTER_QUOTE_RETWEET, # You'll need to add this to RequestMessageTopic
|
24
|
+
payload={
|
25
|
+
"tweet_id": tweet_id,
|
26
|
+
"text": text
|
27
|
+
},
|
28
|
+
)
|
29
|
+
|
30
|
+
@property
|
31
|
+
def tweet_id(self) -> str:
|
32
|
+
"""Get the tweet ID to quote retweet from the payload"""
|
33
|
+
return self.payload.get("tweet_id", "")
|
34
|
+
|
35
|
+
@property
|
36
|
+
def text(self) -> str:
|
37
|
+
"""Get the text content to add to the quote retweet from the payload"""
|
38
|
+
return self.payload.get("text", "")
|
39
|
+
|
40
|
+
@classmethod
|
41
|
+
def from_hai_message(cls, message: HaiMessage) -> 'TwitterQuoteRetweetRequestMessage':
|
42
|
+
"""Create a TwitterQuoteRetweetRequestMessage from a HaiMessage"""
|
43
|
+
payload = message.payload
|
44
|
+
|
45
|
+
return cls.create_message(
|
46
|
+
tweet_id=payload.get("tweet_id", ""),
|
47
|
+
text=payload.get("text", "")
|
48
|
+
)
|
@@ -0,0 +1,55 @@
|
|
1
|
+
from dataclasses import dataclass
|
2
|
+
from typing import Type, Dict, Any, TypeVar, Optional
|
3
|
+
|
4
|
+
from ..models.request_message_topic import RequestMessageTopic
|
5
|
+
from ...domain.models.hai_message import HaiMessage
|
6
|
+
|
7
|
+
T = TypeVar('T', bound='TwitterQuoteRetweetResponseMessage')
|
8
|
+
|
9
|
+
|
10
|
+
@dataclass
|
11
|
+
class TwitterQuoteRetweetResponseMessage(HaiMessage):
|
12
|
+
"""Message to respond to a request to quote retweet a tweet"""
|
13
|
+
|
14
|
+
@classmethod
|
15
|
+
def create(cls: Type[T], topic: str, payload: Dict[Any, Any]) -> T:
|
16
|
+
"""Create a message - inherited from HaiMessage"""
|
17
|
+
return super().create(topic=topic, payload=payload)
|
18
|
+
|
19
|
+
@classmethod
|
20
|
+
def create_message(cls,
|
21
|
+
original_tweet_id: str,
|
22
|
+
success: bool,
|
23
|
+
quote_tweet: Optional[Dict[str, Any]] = None,
|
24
|
+
error_message: str = "") -> 'TwitterQuoteRetweetResponseMessage':
|
25
|
+
"""Create a response message for a request to quote retweet a tweet"""
|
26
|
+
return cls.create(
|
27
|
+
topic=RequestMessageTopic.TWITTER_QUOTE_RETWEET_RESPONSE,
|
28
|
+
# You'll need to add this to ResponseMessageTopic
|
29
|
+
payload={
|
30
|
+
"original_tweet_id": original_tweet_id,
|
31
|
+
"success": success,
|
32
|
+
"quote_tweet": quote_tweet,
|
33
|
+
"error_message": error_message
|
34
|
+
},
|
35
|
+
)
|
36
|
+
|
37
|
+
@property
|
38
|
+
def original_tweet_id(self) -> str:
|
39
|
+
"""Get the original tweet ID that was quote retweeted"""
|
40
|
+
return self.payload.get("original_tweet_id", "")
|
41
|
+
|
42
|
+
@property
|
43
|
+
def success(self) -> bool:
|
44
|
+
"""Get whether the quote retweet operation was successful"""
|
45
|
+
return self.payload.get("success", False)
|
46
|
+
|
47
|
+
@property
|
48
|
+
def quote_tweet(self) -> Optional[Dict[str, Any]]:
|
49
|
+
"""Get the quote tweet data if the operation was successful"""
|
50
|
+
return self.payload.get("quote_tweet", None)
|
51
|
+
|
52
|
+
@property
|
53
|
+
def error_message(self) -> str:
|
54
|
+
"""Get the error message if the quote retweet operation failed"""
|
55
|
+
return self.payload.get("error_message", "")
|
@@ -13,7 +13,7 @@ h_message_bus/domain/event_messages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
|
|
13
13
|
h_message_bus/domain/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
14
14
|
h_message_bus/domain/models/event_message_topic.py,sha256=fSjRMBwMD2RE9GBUud38XMrgLZcngURERrbuoAhQ0Hk,717
|
15
15
|
h_message_bus/domain/models/hai_message.py,sha256=b5CfX7hi5uNq77IVnZzEi9iotc4b_U2MNYwV6JY7JcU,2146
|
16
|
-
h_message_bus/domain/models/request_message_topic.py,sha256=
|
16
|
+
h_message_bus/domain/models/request_message_topic.py,sha256=JuSCMlm1hc6lrw-zu7oR5RuOGAOKsI-4NThO4BUiiwo,4000
|
17
17
|
h_message_bus/domain/models/twitter_message_metadata.py,sha256=Cj0dSVQi0Com9nPlJeEM0c-ZAQKGqIq_txvdzYg0myw,1203
|
18
18
|
h_message_bus/domain/models/twitter_user_metadata.py,sha256=N7GVyn2txmlMQ19aatNh7lvzO6FNSj4dKVujestha9o,2827
|
19
19
|
h_message_bus/domain/models/vector_collection_metadata.py,sha256=fSy3ZQ-zkYISTpc-_M6XWf1JkufVAlzlS2ZT60TzA2s,891
|
@@ -40,6 +40,8 @@ h_message_bus/domain/request_messages/tg_user_message_reply_request_message.py,s
|
|
40
40
|
h_message_bus/domain/request_messages/tg_user_message_request_message.py,sha256=pHmmGJpMEnwzbTVVvoD6UOMflQOuQKgErZA9MyRwWt8,3121
|
41
41
|
h_message_bus/domain/request_messages/twitter_follow_user_request_message.py,sha256=6qQ1zkqL3efHn4Asmkjqlne3YAdKCyDEjWhAUdnvj3I,1446
|
42
42
|
h_message_bus/domain/request_messages/twitter_follow_user_response_message.py,sha256=4t1NucWuDgKXI6-cTJ69B3mBDG8aoY5WuSZF5zalXrM,1633
|
43
|
+
h_message_bus/domain/request_messages/twitter_get_tweet_request_message.py,sha256=AVL-ativiwbB9ftwXp9MKezonqPYtdSf1stJg0zf2S0,1443
|
44
|
+
h_message_bus/domain/request_messages/twitter_get_tweet_response_message.py,sha256=x8pr34SZHeH73TEJN6QiXd-tqW3FNdhN9FzlFW2qEKQ,1991
|
43
45
|
h_message_bus/domain/request_messages/twitter_get_user_request_message.py,sha256=OfC93X1M0vgMU26BBrpA7AdlY32IFdVG_vRT8BdhQOc,1209
|
44
46
|
h_message_bus/domain/request_messages/twitter_get_user_response_message.py,sha256=dXhK_JN3Sz6hN8EpDcj7gq6htJ8Yu5G-Cal73XXcEng,3299
|
45
47
|
h_message_bus/domain/request_messages/twitter_get_users_request_message.py,sha256=y2Bh77py9RPtKfdPrPi0mv3LVIujne107y8vkPydirs,1545
|
@@ -48,6 +50,8 @@ h_message_bus/domain/request_messages/twitter_home_timeline_request_message.py,s
|
|
48
50
|
h_message_bus/domain/request_messages/twitter_home_timeline_response_message.py,sha256=SayIWgfMBFJMGN5fBk4vWACb7eL-hDajAF2wXy5e6kg,2631
|
49
51
|
h_message_bus/domain/request_messages/twitter_post_tweet_request_message.py,sha256=zStezEUsJMhqQEsP3vkdVvvGSfaFpEykIwpIlOs8X8M,1427
|
50
52
|
h_message_bus/domain/request_messages/twitter_post_tweet_response_message.py,sha256=FrlRs_lYfcuJ65b0nYcMee6kxXG22iFVXT3r5Cy8zJo,1777
|
53
|
+
h_message_bus/domain/request_messages/twitter_quote_retweet_request_message.py,sha256=swnbdSjCRdc7FA2NPONdlnH5V2WgAptKVIAdaotpwP8,1741
|
54
|
+
h_message_bus/domain/request_messages/twitter_quote_retweet_response_message.py,sha256=xNGfGfET0CHbn1Uk02T7h8v7zlSduVtTLva-7jwYWs4,2133
|
51
55
|
h_message_bus/domain/request_messages/twitter_reply_request_message.py,sha256=7mJhRaZxZJczV1dDraXC0uLIn6ZAtWSNusM3zKASQmw,1668
|
52
56
|
h_message_bus/domain/request_messages/twitter_reply_response_message.py,sha256=6_yQzPSnbueYM3aDsh5GNPr_QRSonY4VA5LqB5ZpCtQ,2061
|
53
57
|
h_message_bus/domain/request_messages/twitter_retweet_request_message.py,sha256=UHnLrgnqgZixb2q5ugFEHcCJxNkuTzrToGCEVoXm4gU,1423
|
@@ -64,7 +68,7 @@ h_message_bus/domain/request_messages/web_search_request_message.py,sha256=ZoB4i
|
|
64
68
|
h_message_bus/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
65
69
|
h_message_bus/infrastructure/nats_client_repository.py,sha256=bhaWRK94h2EmFIef2DALnoBJKnuTnx6-iU7IXO2S_EU,3642
|
66
70
|
h_message_bus/infrastructure/nats_config.py,sha256=Yzqqd1bCfmUv_4FOnA1dvqIpakzV0BUL2_nXQcndWvo,1304
|
67
|
-
h_message_bus-0.0.
|
68
|
-
h_message_bus-0.0.
|
69
|
-
h_message_bus-0.0.
|
70
|
-
h_message_bus-0.0.
|
71
|
+
h_message_bus-0.0.36.dist-info/METADATA,sha256=GQD-RfUzqwmd1GPhX_OQW3w0hAIrmh24E8zQKQHjRBE,8834
|
72
|
+
h_message_bus-0.0.36.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
|
73
|
+
h_message_bus-0.0.36.dist-info/top_level.txt,sha256=BArjhm_lwFR9yJJEIf-LT_X64psuLkXFdbpQRJUreFE,23
|
74
|
+
h_message_bus-0.0.36.dist-info/RECORD,,
|
File without changes
|