vital-agent-container-sdk 0.1.1__tar.gz → 0.1.2__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 (31) hide show
  1. {vital_agent_container_sdk-0.1.1/vital_agent_container_sdk.egg-info → vital_agent_container_sdk-0.1.2}/PKG-INFO +3 -3
  2. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/setup.py +3 -3
  3. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/test/test_app.py +1 -0
  4. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/agent_container_app.py +10 -4
  5. vital_agent_container_sdk-0.1.2/vital_agent_container/handler/aimp_message_handler_inf.py +14 -0
  6. vital_agent_container_sdk-0.1.2/vital_agent_container/handler/impl/aimp_echo_message_handler.py +23 -0
  7. vital_agent_container_sdk-0.1.2/vital_agent_container/processor/aimp_message_processor.py +18 -0
  8. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2/vital_agent_container_sdk.egg-info}/PKG-INFO +3 -3
  9. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container_sdk.egg-info/requires.txt +2 -2
  10. vital_agent_container_sdk-0.1.1/vital_agent_container/handler/aimp_message_handler_inf.py +0 -5
  11. vital_agent_container_sdk-0.1.1/vital_agent_container/handler/impl/aimp_echo_message_handler.py +0 -7
  12. vital_agent_container_sdk-0.1.1/vital_agent_container/processor/aimp_message_processor.py +0 -9
  13. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/LICENSE +0 -0
  14. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/README.md +0 -0
  15. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/setup.cfg +0 -0
  16. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/__init__.py +0 -0
  17. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/config/__init__.py +0 -0
  18. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/handler/__init__.py +0 -0
  19. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/handler/impl/__init__.py +0 -0
  20. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/processor/__init__.py +0 -0
  21. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/streaming/__init__.py +0 -0
  22. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/streaming/custom_streaming_response.py +0 -0
  23. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/tasks/__init__.py +0 -0
  24. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/tasks/request_task.py +0 -0
  25. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/tasks/task_manager_async_client.py +0 -0
  26. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/utils/__init__.py +0 -0
  27. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/utils/aws_utils.py +0 -0
  28. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container/utils/config_utils.py +0 -0
  29. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container_sdk.egg-info/SOURCES.txt +0 -0
  30. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container_sdk.egg-info/dependency_links.txt +0 -0
  31. {vital_agent_container_sdk-0.1.1 → vital_agent_container_sdk-0.1.2}/vital_agent_container_sdk.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vital-agent-container-sdk
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: Vital Agent Container SDK
5
5
  Home-page: https://github.com/vital-ai/vital-agent-container-python
6
6
  Author: Marc Hadfield
@@ -12,8 +12,8 @@ Classifier: Operating System :: OS Independent
12
12
  Requires-Python: >=3.10
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
- Requires-Dist: vital-ai-vitalsigns==0.1.19
16
- Requires-Dist: vital-ai-aimp==0.1.6
15
+ Requires-Dist: vital-ai-vitalsigns==0.1.20
16
+ Requires-Dist: vital-ai-aimp==0.1.7
17
17
  Requires-Dist: httpx==0.26.0
18
18
  Requires-Dist: python-json-logger==2.0.7
19
19
  Requires-Dist: python-dotenv==1.0.1
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='vital-agent-container-sdk',
5
- version='0.1.1',
5
+ version='0.1.2',
6
6
  author='Marc Hadfield',
7
7
  author_email='marc@vital.ai',
8
8
  description='Vital Agent Container SDK',
@@ -21,8 +21,8 @@ setup(
21
21
  },
22
22
  license='Apache License 2.0',
23
23
  install_requires=[
24
- 'vital-ai-vitalsigns==0.1.19',
25
- 'vital-ai-aimp==0.1.6',
24
+ 'vital-ai-vitalsigns==0.1.20',
25
+ 'vital-ai-aimp==0.1.7',
26
26
  'httpx==0.26.0',
27
27
  'python-json-logger==2.0.7',
28
28
  'python-dotenv==1.0.1',
@@ -8,6 +8,7 @@ def main():
8
8
  print('Test Agent Container App')
9
9
 
10
10
  current_file_directory = os.path.dirname(os.path.abspath(__file__))
11
+
11
12
  parent_directory = os.path.dirname(current_file_directory)
12
13
 
13
14
  app_home = parent_directory
@@ -42,11 +42,13 @@ class AgentContainerApp(FastAPI):
42
42
  self.app_home = app_home
43
43
  load_dotenv()
44
44
  self.config = ConfigUtils.load_config(app_home)
45
+ self.message_processor = AIMPMessageProcessor()
45
46
  self.add_routes()
46
47
 
47
48
  async def process_ws_message(self, client: httpx.AsyncClient, websocket: WebSocket, data: str,
48
49
  started_event: asyncio.Event):
49
- await AIMPMessageProcessor.process_message(self.handler, self.config, client, websocket, data, started_event)
50
+ print(f"process_ws_message: Processing: {data}")
51
+ await self.message_processor.process_message(self.handler, self.config, client, websocket, data, started_event)
50
52
 
51
53
  def add_routes(self):
52
54
  @self.get("/health")
@@ -67,8 +69,9 @@ class AgentContainerApp(FastAPI):
67
69
 
68
70
  logger.info(f"Received message from {websocket.client.host}:{websocket.client.port}: {data}")
69
71
  message_obj = json.loads(data)
70
- message_type = message_obj[0].get("type")
71
- message_intent = message_obj[0].get("http://vital.ai/ontology/vital-aimp#hasIntent")
72
+ logger.info(f"Received message: {message_obj}")
73
+ message_type = message_obj[0].get("type", None)
74
+ message_intent = message_obj[0].get("http://vital.ai/ontology/vital-aimp#hasIntent", None)
72
75
  logger.info(f"message_type: {message_type}")
73
76
  logger.info(f"message_intent: {message_intent}")
74
77
 
@@ -96,9 +99,12 @@ class AgentContainerApp(FastAPI):
96
99
  else:
97
100
  logger.info(f"Processing message: {data}")
98
101
  started_event = asyncio.Event()
99
- task = asyncio.create_task(self.process_ws_message(self.handler, client, websocket, data, started_event))
102
+ task = asyncio.create_task(self.process_ws_message(client, websocket, data, started_event))
100
103
  background_tasks.append(task)
101
104
  await started_event.wait()
105
+ logger.info(f"Completed Processing message: {data}")
106
+ # break out of infinite loop
107
+ break
102
108
  except WebSocketDisconnect:
103
109
  logger.info("WebSocket connection closed by the client.")
104
110
  # still try to close it in finally?
@@ -0,0 +1,14 @@
1
+ import asyncio
2
+ import httpx
3
+ from starlette.websockets import WebSocket
4
+ from abc import ABC, abstractmethod
5
+
6
+
7
+ class AIMPMessageHandlerInf(ABC):
8
+
9
+ @abstractmethod
10
+ async def process_message(self, config, client: httpx.AsyncClient, websocket: WebSocket, data: str, started_event: asyncio.Event):
11
+ pass
12
+
13
+
14
+
@@ -0,0 +1,23 @@
1
+ import asyncio
2
+ import httpx
3
+ from starlette.websockets import WebSocket
4
+ from vital_agent_container.handler.aimp_message_handler_inf import AIMPMessageHandlerInf
5
+
6
+
7
+ class AIMPEchoMessageHandler(AIMPMessageHandlerInf):
8
+ async def process_message(self, config, client: httpx.AsyncClient, websocket: WebSocket, data: str, started_event: asyncio.Event):
9
+ try:
10
+ print(f"Received Message: {data}")
11
+ await websocket.send_text(data)
12
+ print(f"Sent Message: {data}")
13
+ # await websocket.close(1000, "Processing Complete")
14
+ # print(f"Websocket closed.")
15
+ started_event.set()
16
+ print(f"Completed Event.")
17
+ except asyncio.CancelledError:
18
+ # log canceling
19
+ raise
20
+
21
+
22
+
23
+
@@ -0,0 +1,18 @@
1
+ import asyncio
2
+
3
+ from vital_agent_container.handler.aimp_message_handler_inf import AIMPMessageHandlerInf
4
+
5
+
6
+ class AIMPMessageProcessor:
7
+
8
+ def __init__(self):
9
+ pass
10
+
11
+ async def process_message(self, handler: AIMPMessageHandlerInf, app_config, client, websocket, data, started_event):
12
+ print(f"Processing: {data}")
13
+ try:
14
+ return await handler.process_message(app_config, client, websocket, data, started_event)
15
+ except asyncio.CancelledError:
16
+ # log canceling
17
+ raise
18
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vital-agent-container-sdk
3
- Version: 0.1.1
3
+ Version: 0.1.2
4
4
  Summary: Vital Agent Container SDK
5
5
  Home-page: https://github.com/vital-ai/vital-agent-container-python
6
6
  Author: Marc Hadfield
@@ -12,8 +12,8 @@ Classifier: Operating System :: OS Independent
12
12
  Requires-Python: >=3.10
13
13
  Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
- Requires-Dist: vital-ai-vitalsigns==0.1.19
16
- Requires-Dist: vital-ai-aimp==0.1.6
15
+ Requires-Dist: vital-ai-vitalsigns==0.1.20
16
+ Requires-Dist: vital-ai-aimp==0.1.7
17
17
  Requires-Dist: httpx==0.26.0
18
18
  Requires-Dist: python-json-logger==2.0.7
19
19
  Requires-Dist: python-dotenv==1.0.1
@@ -1,5 +1,5 @@
1
- vital-ai-vitalsigns==0.1.19
2
- vital-ai-aimp==0.1.6
1
+ vital-ai-vitalsigns==0.1.20
2
+ vital-ai-aimp==0.1.7
3
3
  httpx==0.26.0
4
4
  python-json-logger==2.0.7
5
5
  python-dotenv==1.0.1
@@ -1,5 +0,0 @@
1
-
2
-
3
- class AIMPMessageHandlerInf:
4
- pass
5
-
@@ -1,7 +0,0 @@
1
- from vital_agent_container.handler.aimp_message_handler_inf import AIMPMessageHandlerInf
2
-
3
-
4
- class AIMPEchoMessageHandler(AIMPMessageHandlerInf):
5
- pass
6
-
7
-
@@ -1,9 +0,0 @@
1
-
2
-
3
- class AIMPMessageProcessor:
4
-
5
- def __init__(self):
6
- pass
7
-
8
- async def process_message(self, handler, app_config, client, websocket, data, started_event):
9
- pass