h-message-bus 0.0.13__py3-none-any.whl → 0.0.14__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.
@@ -0,0 +1,22 @@
1
+ from dataclasses import dataclass
2
+
3
+
4
+ @dataclass
5
+ class VectorQueryAnswer:
6
+ text: str
7
+ dimension: str
8
+
9
+ @classmethod
10
+ def from_dict(cls, data: dict) -> 'VectorQueryAnswer':
11
+ """Create an instance from a dictionary."""
12
+ return cls(
13
+ text=data.get('text', ''),
14
+ dimension=data.get('dimension', ''),
15
+ )
16
+
17
+ def to_dict(self) -> dict:
18
+ """Convert instance to a dictionary."""
19
+ return {
20
+ 'text': self.text,
21
+ 'dimension': self.dimension,
22
+ }
@@ -1,6 +1,8 @@
1
- from typing import Type, TypeVar, Dict, Any
1
+ import json
2
+ from typing import Type, TypeVar, Dict, Any, List
2
3
 
3
4
  from ..models.request_message_topic import RequestMessageTopic
5
+ from ..models.vector_query_answer import VectorQueryAnswer
4
6
  from ...domain.models.hai_message import HaiMessage
5
7
 
6
8
  T = TypeVar('T', bound='HaiMessage')
@@ -14,32 +16,32 @@ class VectorQueryCollectionResponseMessage(HaiMessage):
14
16
  return super().create(topic=topic, payload=payload)
15
17
 
16
18
  @classmethod
17
- def create_message(cls, results: [str], dimensions: [str]) -> 'VectorQueryCollectionResponseMessage':
19
+ def create_message(cls, result: List[dict[str, str]]) -> 'VectorQueryCollectionResponseMessage':
18
20
  """Create a message requesting Twitter user data"""
21
+ result_list = json.dumps(result)
19
22
  return cls.create(
20
23
  topic=RequestMessageTopic.AI_VECTORS_QUERY_RESPONSE,
21
24
  payload={
22
- "dimensions": dimensions,
23
- "results": results
25
+ "result": result_list,
24
26
  },
25
27
  )
26
28
 
27
29
  @property
28
- def dimensions(self) -> list[str]:
29
- """Returns the dimensions from the message payload"""
30
- return self.payload.get("dimensions", [])
31
-
32
- @property
33
- def results(self) -> list[str]:
30
+ def results(self) -> list[VectorQueryAnswer]:
34
31
  """Returns the results from the message payload"""
35
- return self.payload.get("results", [])
32
+ results = self.payload.get("result", "")
33
+ meta_dict = json.loads(results)
34
+ response_list = []
35
+ for meta in meta_dict:
36
+ response_list.append(VectorQueryAnswer.from_dict(meta))
37
+ return response_list
36
38
 
37
39
  @classmethod
38
40
  def from_hai_message(cls, message: HaiMessage) -> 'VectorQueryCollectionResponseMessage':
39
41
  # Extract necessary fields from the message payload
40
42
  payload = message.payload
41
-
43
+ result = payload.get("result", "")
44
+ result_list = json.loads(result)
42
45
  return cls.create_message(
43
- dimensions=payload.get('dimensions', []),
44
- results=payload.get('results', [])
46
+ result=result_list
45
47
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: h_message_bus
3
- Version: 0.0.13
3
+ Version: 0.0.14
4
4
  Summary: Message bus integration for HAI
5
5
  Author-email: shoebill <shoebill.hai@gmail.com>
6
6
  Classifier: Programming Language :: Python :: 3
@@ -15,18 +15,19 @@ h_message_bus/domain/models/event_message_topic.py,sha256=fSjRMBwMD2RE9GBUud38XM
15
15
  h_message_bus/domain/models/hai_message.py,sha256=b5CfX7hi5uNq77IVnZzEi9iotc4b_U2MNYwV6JY7JcU,2146
16
16
  h_message_bus/domain/models/request_message_topic.py,sha256=5wCJzOFQjHG5bwlNbQzmMAFpVLZYPdPcKTXQMsAjC5M,1132
17
17
  h_message_bus/domain/models/vector_collection_metadata.py,sha256=fSy3ZQ-zkYISTpc-_M6XWf1JkufVAlzlS2ZT60TzA2s,891
18
+ h_message_bus/domain/models/vector_query_answer.py,sha256=V1JR5Di7kIVbRF_eq2uPOhDnkZpQvo9pxD41V7MNV7Q,551
18
19
  h_message_bus/domain/request_messages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
20
  h_message_bus/domain/request_messages/twitter_get_user_request_message.py,sha256=BX-ytvnEzL9u1Yks5iXIx60Hmv3UP7asOG2uYA0mfgE,1212
20
21
  h_message_bus/domain/request_messages/twitter_get_user_response_message.py,sha256=qO1cLtEmZyddv5pXHNgpnpO5t3Oex8cOG0hjGhOfru8,3302
21
22
  h_message_bus/domain/request_messages/vector_query_collection_request_message.py,sha256=6zne_IFs4aHZ_hJqbXGAaNU8PMilSVKSAg5G_jzane0,1803
22
- h_message_bus/domain/request_messages/vector_query_collection_response_message.py,sha256=93Lk-rPQNJJB1kq4F3FfbghWgkPhI9YX4AwSaxgmzcM,1637
23
+ h_message_bus/domain/request_messages/vector_query_collection_response_message.py,sha256=8TtLrgxnQj3w7OqEzegykCfk2aobGVJySxiWRgbIfeQ,1771
23
24
  h_message_bus/domain/request_messages/vector_read_metadata_request_message.py,sha256=l321y6ffLOvGESRDalBXtzcOG4qq_iy3a_j4uZ_R5KY,897
24
25
  h_message_bus/domain/request_messages/vector_read_metadata_response_message.py,sha256=ecsSiE-0Uar3tqDtwvPGyu352nuW9FDIqwAjQvnPHDI,1651
25
26
  h_message_bus/domain/request_messages/vector_save_request_message.py,sha256=Jd52Kc0OLsPLphfZtTesK6J1KqctC7Vm_0lmVxd99Ss,2098
26
27
  h_message_bus/infrastructure/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
28
  h_message_bus/infrastructure/nats_client_repository.py,sha256=lAapNaL0rqBr-9KaHcexuo5XLmSWRWspkJWXS9dMqPU,3371
28
29
  h_message_bus/infrastructure/nats_config.py,sha256=Yzqqd1bCfmUv_4FOnA1dvqIpakzV0BUL2_nXQcndWvo,1304
29
- h_message_bus-0.0.13.dist-info/METADATA,sha256=IPNmbsRnLhcY5N5AvWZWgs8aKC_kuLnJrKh94tkKdxQ,8834
30
- h_message_bus-0.0.13.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
31
- h_message_bus-0.0.13.dist-info/top_level.txt,sha256=BArjhm_lwFR9yJJEIf-LT_X64psuLkXFdbpQRJUreFE,23
32
- h_message_bus-0.0.13.dist-info/RECORD,,
30
+ h_message_bus-0.0.14.dist-info/METADATA,sha256=JZp3eFWrSFtJ7GVTvRQPKjEFw6WV5b5cWgkIuucwjsE,8834
31
+ h_message_bus-0.0.14.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
32
+ h_message_bus-0.0.14.dist-info/top_level.txt,sha256=BArjhm_lwFR9yJJEIf-LT_X64psuLkXFdbpQRJUreFE,23
33
+ h_message_bus-0.0.14.dist-info/RECORD,,