h-message-bus 0.0.34__py3-none-any.whl → 0.0.35__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 +3 -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.35.dist-info}/METADATA +1 -1
- {h_message_bus-0.0.34.dist-info → h_message_bus-0.0.35.dist-info}/RECORD +7 -5
- {h_message_bus-0.0.34.dist-info → h_message_bus-0.0.35.dist-info}/WHEEL +1 -1
- {h_message_bus-0.0.34.dist-info → h_message_bus-0.0.35.dist-info}/top_level.txt +0 -0
@@ -53,6 +53,9 @@ 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
|
+
|
56
59
|
# tools
|
57
60
|
WEB_SEARCH = "hai.tools.web.search"
|
58
61
|
WEB_SEARCH_RESPONSE = "hai.tools.web.search.response"
|
@@ -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=uXc3F68WU7O813QQARmObcBrlJ-PODs_259fq7OStuw,3883
|
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
|
@@ -48,6 +48,8 @@ h_message_bus/domain/request_messages/twitter_home_timeline_request_message.py,s
|
|
48
48
|
h_message_bus/domain/request_messages/twitter_home_timeline_response_message.py,sha256=SayIWgfMBFJMGN5fBk4vWACb7eL-hDajAF2wXy5e6kg,2631
|
49
49
|
h_message_bus/domain/request_messages/twitter_post_tweet_request_message.py,sha256=zStezEUsJMhqQEsP3vkdVvvGSfaFpEykIwpIlOs8X8M,1427
|
50
50
|
h_message_bus/domain/request_messages/twitter_post_tweet_response_message.py,sha256=FrlRs_lYfcuJ65b0nYcMee6kxXG22iFVXT3r5Cy8zJo,1777
|
51
|
+
h_message_bus/domain/request_messages/twitter_quote_retweet_request_message.py,sha256=swnbdSjCRdc7FA2NPONdlnH5V2WgAptKVIAdaotpwP8,1741
|
52
|
+
h_message_bus/domain/request_messages/twitter_quote_retweet_response_message.py,sha256=xNGfGfET0CHbn1Uk02T7h8v7zlSduVtTLva-7jwYWs4,2133
|
51
53
|
h_message_bus/domain/request_messages/twitter_reply_request_message.py,sha256=7mJhRaZxZJczV1dDraXC0uLIn6ZAtWSNusM3zKASQmw,1668
|
52
54
|
h_message_bus/domain/request_messages/twitter_reply_response_message.py,sha256=6_yQzPSnbueYM3aDsh5GNPr_QRSonY4VA5LqB5ZpCtQ,2061
|
53
55
|
h_message_bus/domain/request_messages/twitter_retweet_request_message.py,sha256=UHnLrgnqgZixb2q5ugFEHcCJxNkuTzrToGCEVoXm4gU,1423
|
@@ -64,7 +66,7 @@ h_message_bus/domain/request_messages/web_search_request_message.py,sha256=ZoB4i
|
|
64
66
|
h_message_bus/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
65
67
|
h_message_bus/infrastructure/nats_client_repository.py,sha256=bhaWRK94h2EmFIef2DALnoBJKnuTnx6-iU7IXO2S_EU,3642
|
66
68
|
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.
|
69
|
+
h_message_bus-0.0.35.dist-info/METADATA,sha256=IsK8LwYq_OgBL1ut9W0-4Bm2dp5uKbkR4UesiNQ7490,8834
|
70
|
+
h_message_bus-0.0.35.dist-info/WHEEL,sha256=0CuiUZ_p9E4cD6NyLD6UG80LBXYyiSYZOKDm5lp32xk,91
|
71
|
+
h_message_bus-0.0.35.dist-info/top_level.txt,sha256=BArjhm_lwFR9yJJEIf-LT_X64psuLkXFdbpQRJUreFE,23
|
72
|
+
h_message_bus-0.0.35.dist-info/RECORD,,
|
File without changes
|