llama-deploy-appserver 0.3.9__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.
@@ -213,6 +213,7 @@ def start_server(
213
213
  host=settings.host,
214
214
  port=settings.port,
215
215
  reload=reload,
216
+ reload_dirs=["src"] if reload else None,
216
217
  timeout_graceful_shutdown=1,
217
218
  access_log=False,
218
219
  log_config=None,
@@ -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.9
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.9,<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
@@ -1,5 +1,5 @@
1
1
  llama_deploy/appserver/__init__.py,sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855,0
2
- llama_deploy/appserver/app.py,sha256=2a44039fd3ea017095894a35eea1c7b906f26f35268ef84da94d9dab1b24cc4c,9461
2
+ llama_deploy/appserver/app.py,sha256=9abb3e0e4aca6b6759884487e049e3294ecd854a234167d5ff69b29de99b0a86,9514
3
3
  llama_deploy/appserver/bootstrap.py,sha256=fa32be007f18b4b3af92c878bac417416c9afb09b1beddf51b5cd73115e6b7c6,2453
4
4
  llama_deploy/appserver/configure_logging.py,sha256=194dd1ebed3c1d9065d9174f7828d557a577eaac8fb0443b3102430b1f578c19,6329
5
5
  llama_deploy/appserver/correlation_id.py,sha256=8ac5bc6160c707b93a9fb818b64dd369a4ef7a53f9f91a6b3d90c4cf446f7327,572
@@ -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.9.dist-info/WHEEL,sha256=66530aef82d5020ef5af27ae0123c71abb9261377c5bc519376c671346b12918,79
23
- llama_deploy_appserver-0.3.9.dist-info/METADATA,sha256=130583c9a8e4433d32495035864539f72fb2ba126acab52ec03e7668a6bd999a,1007
24
- llama_deploy_appserver-0.3.9.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,,