langgraph-api 0.0.42__py3-none-any.whl → 0.0.44__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.
Potentially problematic release.
This version of langgraph-api might be problematic. Click here for more details.
- langgraph_api/__init__.py +1 -0
- langgraph_api/metadata.py +5 -0
- langgraph_api/thread_ttl.py +3 -2
- {langgraph_api-0.0.42.dist-info → langgraph_api-0.0.44.dist-info}/METADATA +1 -1
- {langgraph_api-0.0.42.dist-info → langgraph_api-0.0.44.dist-info}/RECORD +10 -10
- langgraph_storage/queue.py +19 -8
- openapi.json +15 -0
- {langgraph_api-0.0.42.dist-info → langgraph_api-0.0.44.dist-info}/LICENSE +0 -0
- {langgraph_api-0.0.42.dist-info → langgraph_api-0.0.44.dist-info}/WHEEL +0 -0
- {langgraph_api-0.0.42.dist-info → langgraph_api-0.0.44.dist-info}/entry_points.txt +0 -0
langgraph_api/__init__.py
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.0.44"
|
langgraph_api/metadata.py
CHANGED
|
@@ -60,6 +60,10 @@ def append_log(log: dict) -> None:
|
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
async def metadata_loop() -> None:
|
|
63
|
+
try:
|
|
64
|
+
from langgraph_api import __version__
|
|
65
|
+
except ImportError:
|
|
66
|
+
__version__ = None
|
|
63
67
|
if not LANGGRAPH_CLOUD_LICENSE_KEY and not LANGSMITH_API_KEY:
|
|
64
68
|
return
|
|
65
69
|
|
|
@@ -86,6 +90,7 @@ async def metadata_loop() -> None:
|
|
|
86
90
|
"to_timestamp": to_timestamp,
|
|
87
91
|
"tags": {
|
|
88
92
|
"langgraph.python.version": langgraph.version.__version__,
|
|
93
|
+
"langgraph_api.version": __version__,
|
|
89
94
|
"langgraph.platform.revision": REVISION,
|
|
90
95
|
"langgraph.platform.variant": VARIANT,
|
|
91
96
|
"langgraph.platform.host": HOST,
|
langgraph_api/thread_ttl.py
CHANGED
|
@@ -25,7 +25,8 @@ async def thread_ttl_sweep_loop():
|
|
|
25
25
|
)
|
|
26
26
|
sweep_interval_minutes = thread_ttl_config.get("sweep_interval_minutes", 5)
|
|
27
27
|
await logger.ainfo(
|
|
28
|
-
"Starting thread TTL sweeper",
|
|
28
|
+
f"Starting thread TTL sweeper with interval {sweep_interval_minutes} minutes",
|
|
29
|
+
strategy=strategy,
|
|
29
30
|
interval_minutes=sweep_interval_minutes,
|
|
30
31
|
)
|
|
31
32
|
|
|
@@ -38,7 +39,7 @@ async def thread_ttl_sweep_loop():
|
|
|
38
39
|
threads_processed, threads_deleted = await Threads.sweep_ttl(conn)
|
|
39
40
|
if threads_processed > 0:
|
|
40
41
|
await logger.ainfo(
|
|
41
|
-
"Thread TTL sweep completed",
|
|
42
|
+
f"Thread TTL sweep completed. Processed {threads_processed}",
|
|
42
43
|
threads_processed=threads_processed,
|
|
43
44
|
threads_deleted=threads_deleted,
|
|
44
45
|
)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
|
|
2
|
-
langgraph_api/__init__.py,sha256=
|
|
2
|
+
langgraph_api/__init__.py,sha256=BBkwy5ixyfFpzkdcy0ZL3_AIHWjaIidRK81NCFvqzCg,23
|
|
3
3
|
langgraph_api/api/__init__.py,sha256=qNcg8QJydef0gM-vYJlxITMRZw-9r1vw8zqm2raqqYE,5493
|
|
4
4
|
langgraph_api/api/assistants.py,sha256=WwaBtx1MpGn9gdJ8P9fkorJHMVrJKHt1nvtw0OCZcdw,14353
|
|
5
5
|
langgraph_api/api/mcp.py,sha256=KbR19dtFCpJEiKYj3IfepAuJij8YZVELuVp7JY_yu_o,13754
|
|
@@ -63,7 +63,7 @@ langgraph_api/js/tests/utils.mts,sha256=q1V9gvT63v95onlfK9W4iv3n9ZJO3h-0RD9TdDYu
|
|
|
63
63
|
langgraph_api/js/yarn.lock,sha256=JtMDtRVX9kr9lK0rbWRQsGHYbkQSmzNa4NwTunBv58U,82773
|
|
64
64
|
langgraph_api/lifespan.py,sha256=rrmxgNrAxWa_D1H8AZTBKXoQoyiLeDv_C5z-byuxTWM,2788
|
|
65
65
|
langgraph_api/logging.py,sha256=JJIzbNIgLCN6ClQ3tA-Mm5ffuBGvpRDSZsEvnIlsuu4,3693
|
|
66
|
-
langgraph_api/metadata.py,sha256=
|
|
66
|
+
langgraph_api/metadata.py,sha256=bAeN3NwibBuXUVPjOEbEUJMnhUXe_VdTGw508VNeav4,3655
|
|
67
67
|
langgraph_api/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
68
68
|
langgraph_api/middleware/http_logger.py,sha256=yuFPNFIWwn-4AE1CogBfWlo8KytzywLi_Bd4ccsyVQE,3150
|
|
69
69
|
langgraph_api/middleware/private_network.py,sha256=eYgdyU8AzU2XJu362i1L8aSFoQRiV7_aLBPw7_EgeqI,2111
|
|
@@ -78,7 +78,7 @@ langgraph_api/server.py,sha256=bnXOOYztQmqR-QVpEFoRWB5Fzd33PuEIlwBK2R7W8NE,4849
|
|
|
78
78
|
langgraph_api/sse.py,sha256=2wNodCOP2eg7a9mpSu0S3FQ0CHk2BBV_vv0UtIgJIcc,4034
|
|
79
79
|
langgraph_api/state.py,sha256=8jx4IoTCOjTJuwzuXJKKFwo1VseHjNnw_CCq4x1SW14,2284
|
|
80
80
|
langgraph_api/stream.py,sha256=lhjnom-T8GbquUZry-KSkajnqYjElaIERhPiXPtpw1E,11354
|
|
81
|
-
langgraph_api/thread_ttl.py,sha256=
|
|
81
|
+
langgraph_api/thread_ttl.py,sha256=QS9C7cx63KBh82_I6DqOb42-5mLTqTvneL8FJeX3aqU,1765
|
|
82
82
|
langgraph_api/utils.py,sha256=92mSti9GfGdMRRWyESKQW5yV-75Z9icGHnIrBYvdypU,3619
|
|
83
83
|
langgraph_api/validation.py,sha256=Qo3EkSRXzIRe3GRuqRWbElTcUXRMXMyA1w0VbMvdwME,4934
|
|
84
84
|
langgraph_api/webhook.py,sha256=1ncwO0rIZcj-Df9sxSnFEzd1gP1bfS4okeZQS8NSRoE,1382
|
|
@@ -91,13 +91,13 @@ langgraph_storage/checkpoint.py,sha256=Qq0y6vdh27qdF3h5nOLT5CcX9Rj2bcFqkVOMeCaGo
|
|
|
91
91
|
langgraph_storage/database.py,sha256=sZjZvMcvbr_6dX0d1YrYEccVuQozIfkiWt8bdlXGVYU,5849
|
|
92
92
|
langgraph_storage/inmem_stream.py,sha256=LjJSAxsh_E0ywqEMzdWJk8Hy_Jn9oQByzycss-fANng,3264
|
|
93
93
|
langgraph_storage/ops.py,sha256=S2qXgfyuCr5qkKLqIV-kZNRK924bBSLZ2qdLtExfi-M,75939
|
|
94
|
-
langgraph_storage/queue.py,sha256=
|
|
94
|
+
langgraph_storage/queue.py,sha256=IGjzCzYaGhbR9_Y37p1Hbd5uQkN9_IGzYkT_5lcPU54,7595
|
|
95
95
|
langgraph_storage/retry.py,sha256=XmldOP4e_H5s264CagJRVnQMDFcEJR_dldVR1Hm5XvM,763
|
|
96
96
|
langgraph_storage/store.py,sha256=JB9jZ87GE19MVN9wgl3-esgR2eIkeipws9q6qsPWkgc,3399
|
|
97
97
|
logging.json,sha256=3RNjSADZmDq38eHePMm1CbP6qZ71AmpBtLwCmKU9Zgo,379
|
|
98
|
-
openapi.json,sha256
|
|
99
|
-
langgraph_api-0.0.
|
|
100
|
-
langgraph_api-0.0.
|
|
101
|
-
langgraph_api-0.0.
|
|
102
|
-
langgraph_api-0.0.
|
|
103
|
-
langgraph_api-0.0.
|
|
98
|
+
openapi.json,sha256=P4Gy9hD4vXpGEjaMT1zLpw4ISNJ08RYB5BsVya1Wp_8,132113
|
|
99
|
+
langgraph_api-0.0.44.dist-info/LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
|
|
100
|
+
langgraph_api-0.0.44.dist-info/METADATA,sha256=og5lklOme7aPJt-54IlUUCuaFKsmhA13fGcc9G88CsA,4167
|
|
101
|
+
langgraph_api-0.0.44.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
|
102
|
+
langgraph_api-0.0.44.dist-info/entry_points.txt,sha256=3EYLgj89DfzqJHHYGxPH4A_fEtClvlRbWRUHaXO7hj4,77
|
|
103
|
+
langgraph_api-0.0.44.dist-info/RECORD,,
|
langgraph_storage/queue.py
CHANGED
|
@@ -152,24 +152,35 @@ async def queue():
|
|
|
152
152
|
|
|
153
153
|
def _enable_blockbuster() -> BlockBuster:
|
|
154
154
|
ls_env.get_runtime_environment() # this gets cached
|
|
155
|
-
bb = BlockBuster(excluded_modules=[
|
|
155
|
+
bb = BlockBuster(excluded_modules=[])
|
|
156
156
|
bb.activate()
|
|
157
157
|
# Note, we've cached this call in langsmith==0.3.21 so it shouldn't raise anyway
|
|
158
158
|
# but we don't want to raise teh minbound just for that.
|
|
159
|
-
|
|
160
|
-
|
|
159
|
+
bb.functions["os.stat"].deactivate()
|
|
160
|
+
for function in bb.functions:
|
|
161
|
+
if function.startswith("os.path."):
|
|
162
|
+
bb.functions[function].deactivate()
|
|
163
|
+
for module, func in (
|
|
164
|
+
# Note, we've cached this call in langsmith==0.3.21 so it shouldn't raise anyway
|
|
165
|
+
# but we don't want to raise teh minbound just for that.
|
|
166
|
+
("langsmith/client.py", "_default_retry_config"),
|
|
161
167
|
# Only triggers in python 3.11 for getting subgraphs
|
|
162
168
|
# Will be unnecessary once we cache the assistant schemas
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
)
|
|
166
|
-
|
|
169
|
+
("langgraph/pregel/utils.py", "get_function_nonlocals"),
|
|
170
|
+
("importlib/metadata/__init__.py", "metadata"),
|
|
171
|
+
("importlib/metadata/__init__.py", "read_text"),
|
|
172
|
+
):
|
|
173
|
+
bb.functions["io.TextIOWrapper.read"].can_block_in(module, func)
|
|
174
|
+
|
|
175
|
+
bb.functions["os.path.abspath"].can_block_in("inspect.py", "getmodule")
|
|
176
|
+
|
|
177
|
+
for module, func in (
|
|
167
178
|
("uvicorn/lifespan/on.py", "startup"),
|
|
168
179
|
("uvicorn/lifespan/on.py", "shutdown"),
|
|
169
180
|
("ansitowin32.py", "write_plain_text"),
|
|
170
181
|
("logging/__init__.py", "flush"),
|
|
171
182
|
("logging/__init__.py", "emit"),
|
|
172
|
-
|
|
183
|
+
):
|
|
173
184
|
bb.functions["io.TextIOWrapper.write"].can_block_in(module, func)
|
|
174
185
|
bb.functions["io.BufferedWriter.write"].can_block_in(module, func)
|
|
175
186
|
return bb
|
openapi.json
CHANGED
|
@@ -2834,6 +2834,11 @@
|
|
|
2834
2834
|
"type": "string",
|
|
2835
2835
|
"title": "Assistant Name",
|
|
2836
2836
|
"description": "The name of the assistant"
|
|
2837
|
+
},
|
|
2838
|
+
"description": {
|
|
2839
|
+
"type": ["string", "null"],
|
|
2840
|
+
"title": "Assistant Description",
|
|
2841
|
+
"description": "The description of the assistant"
|
|
2837
2842
|
}
|
|
2838
2843
|
},
|
|
2839
2844
|
"type": "object",
|
|
@@ -2884,6 +2889,11 @@
|
|
|
2884
2889
|
"type": "string",
|
|
2885
2890
|
"title": "Name",
|
|
2886
2891
|
"description": "The name of the assistant. Defaults to 'Untitled'."
|
|
2892
|
+
},
|
|
2893
|
+
"description": {
|
|
2894
|
+
"type": ["string", "null"],
|
|
2895
|
+
"title": "Description",
|
|
2896
|
+
"description": "The description of the assistant. Defaults to null."
|
|
2887
2897
|
}
|
|
2888
2898
|
},
|
|
2889
2899
|
"type": "object",
|
|
@@ -2914,6 +2924,11 @@
|
|
|
2914
2924
|
"type": "string",
|
|
2915
2925
|
"title": "Name",
|
|
2916
2926
|
"description": "The new name for the assistant. If not provided, assistant will keep its current name."
|
|
2927
|
+
},
|
|
2928
|
+
"description": {
|
|
2929
|
+
"type": "string",
|
|
2930
|
+
"title": "Description",
|
|
2931
|
+
"description": "The new description for the assistant. If not provided, assistant will keep its current description."
|
|
2917
2932
|
}
|
|
2918
2933
|
},
|
|
2919
2934
|
"type": "object",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|