llama-deploy-appserver 0.3.10__py3-none-any.whl → 0.3.11__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.
@@ -1,6 +1,7 @@
1
+ import asyncio
1
2
  import logging
2
3
  import os
3
- from typing import List
4
+ from typing import Any, List
4
5
 
5
6
  from llama_cloud.client import AsyncLlamaCloud, httpx
6
7
  from llama_cloud_services.beta.agent_data import AsyncAgentDataClient
@@ -49,19 +50,7 @@ class AgentDataStore(AbstractWorkflowStore):
49
50
 
50
51
  @override
51
52
  async def query(self, query: HandlerQuery) -> List[PersistentHandler]:
52
- filters = {}
53
- if query.handler_id_in is not None:
54
- filters["handler_id"] = {
55
- "includes": query.handler_id_in,
56
- }
57
- if query.workflow_name_in is not None:
58
- filters["workflow_name"] = {
59
- "includes": query.workflow_name_in,
60
- }
61
- if query.status_in is not None:
62
- filters["status"] = {
63
- "includes": query.status_in,
64
- }
53
+ filters = self._build_filters(query)
65
54
  results = await self.client.search(
66
55
  filter=filters,
67
56
  page_size=1000,
@@ -85,6 +74,15 @@ class AgentDataStore(AbstractWorkflowStore):
85
74
  data=handler,
86
75
  )
87
76
 
77
+ @override
78
+ async def delete(self, handler: HandlerQuery) -> int:
79
+ filters = self._build_filters(handler)
80
+ results = await self.client.search(filter=filters, page_size=1000)
81
+ await asyncio.gather(
82
+ *[self.client.delete_item(item_id=x.id) for x in results.items]
83
+ )
84
+ return len(results.items)
85
+
88
86
  async def _get_item_id(self, handler: PersistentHandler) -> str | None:
89
87
  cached_id = self.cache.get(handler.handler_id, None)
90
88
  if cached_id is not None:
@@ -98,3 +96,19 @@ class AgentDataStore(AbstractWorkflowStore):
98
96
  id = results.items[0].id
99
97
  self.cache.set(handler.handler_id, id)
100
98
  return id
99
+
100
+ def _build_filters(self, query: HandlerQuery) -> dict[str, Any]:
101
+ filters = {}
102
+ if query.handler_id_in is not None:
103
+ filters["handler_id"] = {
104
+ "includes": query.handler_id_in,
105
+ }
106
+ if query.workflow_name_in is not None:
107
+ filters["workflow_name"] = {
108
+ "includes": query.workflow_name_in,
109
+ }
110
+ if query.status_in is not None:
111
+ filters["status"] = {
112
+ "includes": query.status_in,
113
+ }
114
+ return filters
@@ -1,15 +1,15 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: llama-deploy-appserver
3
- Version: 0.3.10
3
+ Version: 0.3.11
4
4
  Summary: Application server components for LlamaDeploy
5
5
  Author: Massimiliano Pippi, Adrian Lyjak
6
6
  Author-email: Massimiliano Pippi <mpippi@gmail.com>, Adrian Lyjak <adrianlyjak@gmail.com>
7
7
  License: MIT
8
- Requires-Dist: llama-index-workflows[server]>=2.5.0
8
+ Requires-Dist: llama-index-workflows[server]>=2.6.0
9
9
  Requires-Dist: pydantic-settings>=2.10.1
10
10
  Requires-Dist: fastapi>=0.100.0
11
11
  Requires-Dist: websockets>=12.0
12
- Requires-Dist: llama-deploy-core>=0.3.10,<0.4.0
12
+ Requires-Dist: llama-deploy-core>=0.3.11,<0.4.0
13
13
  Requires-Dist: httpx>=0.24.0,<1.0.0
14
14
  Requires-Dist: prometheus-fastapi-instrumentator>=7.1.0
15
15
  Requires-Dist: packaging>=25.0
@@ -16,9 +16,9 @@ llama_deploy/appserver/settings.py,sha256=279dad9d80f4b54215cb8073bc46ee2beebfbc
16
16
  llama_deploy/appserver/stats.py,sha256=1f3989f6705a6de3e4d61ee8cdd189fbe04a2c53ec5e720b2e5168acc331427f,691
17
17
  llama_deploy/appserver/types.py,sha256=4edc991aafb6b8497f068d12387455df292da3ff8440223637641ab1632553ec,2133
18
18
  llama_deploy/appserver/workflow_loader.py,sha256=aa06b3cdc9cdbf7e4c58c1b5bbd28025f56869a0065311aac8e98e729e70d38a,14342
19
- llama_deploy/appserver/workflow_store/agent_data_store.py,sha256=7b8d1b8cb6f741ff631d668fc955ca76a82e8da0bf8a27ee3bc9a8ef71123701,3594
19
+ llama_deploy/appserver/workflow_store/agent_data_store.py,sha256=25f9bd0a78e73e2f096afa40beb9e0b664c37ae31394ae01d29b1cec88ba32a1,4097
20
20
  llama_deploy/appserver/workflow_store/keyed_lock.py,sha256=bb1504d9de09d51a8f60721cc77b14d4051ac5a897ace6f9d9cba494f068465e,950
21
21
  llama_deploy/appserver/workflow_store/lru_cache.py,sha256=7511231b6aba81ea96044cf644cd9c1f11d78190b7b7f578b1b5a55e2c218f9f,1323
22
- llama_deploy_appserver-0.3.10.dist-info/WHEEL,sha256=66530aef82d5020ef5af27ae0123c71abb9261377c5bc519376c671346b12918,79
23
- llama_deploy_appserver-0.3.10.dist-info/METADATA,sha256=66b05451824cc94c35c2a79b6de86a9d394ab47122032d7b06315b4a988f6c97,1009
24
- llama_deploy_appserver-0.3.10.dist-info/RECORD,,
22
+ llama_deploy_appserver-0.3.11.dist-info/WHEEL,sha256=66530aef82d5020ef5af27ae0123c71abb9261377c5bc519376c671346b12918,79
23
+ llama_deploy_appserver-0.3.11.dist-info/METADATA,sha256=4b72f8c3728bfd119e9949ff0a4fb10162e1e345ac9445a9a4817e62479a6247,1009
24
+ llama_deploy_appserver-0.3.11.dist-info/RECORD,,