h-message-bus 0.0.37__tar.gz → 0.0.39__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.
Files changed (81) hide show
  1. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/PKG-INFO +1 -1
  2. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/pyproject.toml +1 -1
  3. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/models/request_message_topic.py +3 -0
  4. h_message_bus-0.0.39/src/h_message_bus/domain/request_messages/twitter_search_request_message.py +73 -0
  5. h_message_bus-0.0.39/src/h_message_bus/domain/request_messages/twitter_search_response_message.py +73 -0
  6. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_user_tweets_response_message.py +1 -1
  7. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus.egg-info/PKG-INFO +1 -1
  8. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus.egg-info/SOURCES.txt +2 -0
  9. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/README.md +0 -0
  10. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/setup.cfg +0 -0
  11. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/__init__.py +0 -0
  12. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/__init__.py +0 -0
  13. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/adapters/__init__.py +0 -0
  14. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/adapters/nats_message_adapter.py +0 -0
  15. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/adapters/nats_publisher_adapter.py +0 -0
  16. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/adapters/nats_subscriber_adapter.py +0 -0
  17. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/application/__init__.py +0 -0
  18. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/application/message_processor.py +0 -0
  19. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/application/message_publisher.py +0 -0
  20. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/application/message_subcriber.py +0 -0
  21. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/__init__.py +0 -0
  22. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/event_messages/__init__.py +0 -0
  23. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/models/__init__.py +0 -0
  24. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/models/event_message_topic.py +0 -0
  25. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/models/hai_message.py +0 -0
  26. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/models/twitter_message_metadata.py +0 -0
  27. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/models/twitter_user_metadata.py +0 -0
  28. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/models/vector_collection_metadata.py +0 -0
  29. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/models/vector_query_answer.py +0 -0
  30. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/__init__.py +0 -0
  31. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_clear_request_message.py +0 -0
  32. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_get_all_request_message.py +0 -0
  33. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_get_all_result_response_message.py +0 -0
  34. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_node_add_request_message.py +0 -0
  35. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_node_added_response_message.py +0 -0
  36. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_node_get_request_message.py +0 -0
  37. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_node_get_result_response_message.py +0 -0
  38. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_node_update_request_message.py +0 -0
  39. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_node_update_response_message.py +0 -0
  40. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_nodes_by_property_request_message.py +0 -0
  41. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_nodes_by_property_response_message.py +0 -0
  42. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_query_operation_request_message.py +0 -0
  43. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_query_operation_response_message.py +0 -0
  44. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_query_request_message.py +0 -0
  45. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/graph_relationship_added_request_message.py +0 -0
  46. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/init_knowledgebase_request.py +0 -0
  47. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/tg_message_request_message.py +0 -0
  48. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/tg_user_message_reply_request_message.py +0 -0
  49. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/tg_user_message_request_message.py +0 -0
  50. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_follow_user_request_message.py +0 -0
  51. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_follow_user_response_message.py +0 -0
  52. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_get_tweet_request_message.py +0 -0
  53. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_get_tweet_response_message.py +0 -0
  54. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_get_user_request_message.py +0 -0
  55. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_get_user_response_message.py +0 -0
  56. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_get_users_request_message.py +0 -0
  57. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_get_users_response_message.py +0 -0
  58. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_home_timeline_request_message.py +0 -0
  59. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_home_timeline_response_message.py +0 -0
  60. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_post_tweet_request_message.py +0 -0
  61. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_post_tweet_response_message.py +0 -0
  62. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_quote_retweet_request_message.py +0 -0
  63. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_quote_retweet_response_message.py +0 -0
  64. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_reply_request_message.py +0 -0
  65. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_reply_response_message.py +0 -0
  66. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_retweet_request_message.py +0 -0
  67. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_retweet_response_message.py +0 -0
  68. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/twitter_user_tweets_request_message.py +0 -0
  69. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/vector_query_collection_request_message.py +0 -0
  70. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/vector_query_collection_response_message.py +0 -0
  71. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/vector_read_metadata_request_message.py +0 -0
  72. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/vector_read_metadata_response_message.py +0 -0
  73. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/vector_save_request_message.py +0 -0
  74. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/web_get_docs_request_message.py +0 -0
  75. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/domain/request_messages/web_search_request_message.py +0 -0
  76. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/infrastructure/__init__.py +0 -0
  77. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/infrastructure/nats_client_repository.py +0 -0
  78. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus/infrastructure/nats_config.py +0 -0
  79. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus.egg-info/dependency_links.txt +0 -0
  80. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus.egg-info/requires.txt +0 -0
  81. {h_message_bus-0.0.37 → h_message_bus-0.0.39}/src/h_message_bus.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: h_message_bus
3
- Version: 0.0.37
3
+ Version: 0.0.39
4
4
  Summary: Message bus integration for HAI
5
5
  Author-email: shoebill <shoebill.hai@gmail.com>
6
6
  Classifier: Programming Language :: Python :: 3
@@ -4,7 +4,7 @@
4
4
 
5
5
  [project]
6
6
  name = "h_message_bus"
7
- version = "0.0.37"
7
+ version = "0.0.39"
8
8
  authors = [
9
9
  {name = "shoebill", email = "shoebill.hai@gmail.com"},
10
10
  ]
@@ -59,6 +59,9 @@ class RequestMessageTopic(str, Enum):
59
59
  TWITTER_GET_TWEET= "hai.twitter.get.tweet"
60
60
  TWITTER_GET_TWEET_RESPONSE = "hai.twitter.get.tweet.response"
61
61
 
62
+ TWITTER_SEARCH= "hai.twitter.search"
63
+ TWITTER_SEARCH_RESPONSE = "hai.twitter.search.response"
64
+
62
65
  # tools
63
66
  WEB_SEARCH = "hai.tools.web.search"
64
67
  WEB_SEARCH_RESPONSE = "hai.tools.web.search.response"
@@ -0,0 +1,73 @@
1
+ from typing import Dict, Any, Type, TypeVar, Optional, Literal, cast
2
+
3
+ from ..models.request_message_topic import RequestMessageTopic
4
+ from ...domain.models.hai_message import HaiMessage
5
+
6
+ T = TypeVar('T', bound='HaiMessage')
7
+
8
+
9
+ class TwitterSearchRequestMessage(HaiMessage):
10
+ """Message to request Twitter search"""
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(
19
+ cls,
20
+ query: str,
21
+ max_results: int = 10,
22
+ min_view_count: int = 50,
23
+ sort_order: Literal["relevancy", "recency"] = "relevancy"
24
+ ) -> 'TwitterSearchRequestMessage':
25
+ """Create a message requesting Twitter search"""
26
+ return cls.create(
27
+ topic=RequestMessageTopic.TWITTER_SEARCH,
28
+ payload={
29
+ "query": query,
30
+ "max_results": max_results,
31
+ "min_view_count": min_view_count,
32
+ "sort_order": sort_order
33
+ },
34
+ )
35
+
36
+ @property
37
+ def query(self) -> str:
38
+ """Get the search query from the payload"""
39
+ return self.payload.get("query", "")
40
+
41
+ @property
42
+ def max_results(self) -> int:
43
+ """Get the maximum number of results from the payload"""
44
+ return self.payload.get("max_results", 10)
45
+
46
+ @property
47
+ def min_view_count(self) -> int:
48
+ """Get the minimum view count from the payload"""
49
+ return self.payload.get("min_view_count", 50)
50
+
51
+ @property
52
+ def sort_order(self) -> Literal["relevancy", "recency"]:
53
+ """Get the sort order from the payload"""
54
+ sort_order_str = self.payload.get("sort_order", "relevancy")
55
+ if sort_order_str not in ("relevancy", "recency"):
56
+ sort_order_str = "relevancy"
57
+ return cast(Literal["relevancy", "recency"], sort_order_str)
58
+
59
+ @classmethod
60
+ def from_hai_message(cls, message: HaiMessage) -> 'TwitterSearchRequestMessage':
61
+ """Create a TwitterSearchRequestMessage from a HaiMessage"""
62
+ payload = message.payload
63
+ query = payload.get("query", "")
64
+ max_results = payload.get("max_results", 10)
65
+ min_view_count = payload.get("min_view_count", 50)
66
+ sort_order = payload.get("sort_order", "relevancy")
67
+
68
+ return cls.create_message(
69
+ query=query,
70
+ max_results=max_results,
71
+ min_view_count=min_view_count,
72
+ sort_order=sort_order
73
+ )
@@ -0,0 +1,73 @@
1
+ from typing import Dict, Any, Type, TypeVar, List, Optional
2
+ import json
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
+
10
+ class TwitterSearchResponseMessage(HaiMessage):
11
+ """Message containing Twitter search results"""
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(
20
+ cls,
21
+ query: str,
22
+ results: List[Dict[str, Any]],
23
+ result_count: int,
24
+ request_id: str
25
+ ) -> 'TwitterSearchResponseMessage':
26
+ """Create a message containing Twitter search results"""
27
+ return cls.create(
28
+ topic=RequestMessageTopic.TWITTER_SEARCH_RESPONSE,
29
+ payload={
30
+ "query": query,
31
+ "results": json.dumps(results),
32
+ "result_count": result_count,
33
+ "request_id": request_id
34
+ },
35
+ )
36
+
37
+ @property
38
+ def query(self) -> str:
39
+ """Get the search query from the payload"""
40
+ return self.payload.get("query", "")
41
+
42
+ @property
43
+ def result_count(self) -> int:
44
+ """Get the number of results from the payload"""
45
+ return self.payload.get("result_count", 0)
46
+
47
+ @property
48
+ def request_id(self) -> str:
49
+ """Get the original request ID from the payload"""
50
+ return self.payload.get("request_id", "")
51
+
52
+ @property
53
+ def results(self) -> List[Dict[str, Any]]:
54
+ """Get the search results from the payload"""
55
+ results_json = self.payload.get("results", "[]")
56
+ return json.loads(results_json)
57
+
58
+ @classmethod
59
+ def from_hai_message(cls, message: HaiMessage) -> 'TwitterSearchResponseMessage':
60
+ """Create a TwitterSearchResponseMessage from a HaiMessage"""
61
+ payload = message.payload
62
+ query = payload.get("query", "")
63
+ results_json = payload.get("results", "[]")
64
+ results = json.loads(results_json)
65
+ result_count = payload.get("result_count", 0)
66
+ request_id = payload.get("request_id", "")
67
+
68
+ return cls.create_message(
69
+ query=query,
70
+ results=results,
71
+ result_count=result_count,
72
+ request_id=request_id
73
+ )
@@ -77,7 +77,7 @@ class TwitterUserTweetsResponseMessage(HaiMessage):
77
77
  "view_count": message.view_count,
78
78
  "retweet_count": message.retweet_count,
79
79
  "reply_count": message.reply_count,
80
- "user": message.user.to_dict() if user else None,
80
+ "user": message.user,
81
81
  }
82
82
 
83
83
  tweets.append(tweet_data)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: h_message_bus
3
- Version: 0.0.37
3
+ Version: 0.0.39
4
4
  Summary: Message bus integration for HAI
5
5
  Author-email: shoebill <shoebill.hai@gmail.com>
6
6
  Classifier: Programming Language :: Python :: 3
@@ -63,6 +63,8 @@ src/h_message_bus/domain/request_messages/twitter_reply_request_message.py
63
63
  src/h_message_bus/domain/request_messages/twitter_reply_response_message.py
64
64
  src/h_message_bus/domain/request_messages/twitter_retweet_request_message.py
65
65
  src/h_message_bus/domain/request_messages/twitter_retweet_response_message.py
66
+ src/h_message_bus/domain/request_messages/twitter_search_request_message.py
67
+ src/h_message_bus/domain/request_messages/twitter_search_response_message.py
66
68
  src/h_message_bus/domain/request_messages/twitter_user_tweets_request_message.py
67
69
  src/h_message_bus/domain/request_messages/twitter_user_tweets_response_message.py
68
70
  src/h_message_bus/domain/request_messages/vector_query_collection_request_message.py
File without changes
File without changes