langgraph-runtime-inmem 0.29.0.dev6__tar.gz → 0.29.0.dev8__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 (18) hide show
  1. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/PKG-INFO +1 -1
  2. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/langgraph_runtime_inmem/__init__.py +1 -1
  3. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/langgraph_runtime_inmem/ops.py +10 -3
  4. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/.gitignore +0 -0
  5. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/Makefile +0 -0
  6. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/README.md +0 -0
  7. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/langgraph_runtime_inmem/_persistence.py +0 -0
  8. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/langgraph_runtime_inmem/checkpoint.py +0 -0
  9. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/langgraph_runtime_inmem/database.py +0 -0
  10. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/langgraph_runtime_inmem/inmem_stream.py +0 -0
  11. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/langgraph_runtime_inmem/lifespan.py +0 -0
  12. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/langgraph_runtime_inmem/metrics.py +0 -0
  13. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/langgraph_runtime_inmem/queue.py +0 -0
  14. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/langgraph_runtime_inmem/retry.py +0 -0
  15. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/langgraph_runtime_inmem/routes.py +0 -0
  16. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/langgraph_runtime_inmem/store.py +0 -0
  17. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/pyproject.toml +0 -0
  18. {langgraph_runtime_inmem-0.29.0.dev6 → langgraph_runtime_inmem-0.29.0.dev8}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-runtime-inmem
3
- Version: 0.29.0.dev6
3
+ Version: 0.29.0.dev8
4
4
  Summary: Inmem implementation for the LangGraph API server.
5
5
  Author-email: Will Fu-Hinthorn <will@langchain.dev>
6
6
  License: Elastic-2.0
@@ -10,7 +10,7 @@ from langgraph_runtime_inmem import (
10
10
  store,
11
11
  )
12
12
 
13
- __version__ = "0.29.0.dev6"
13
+ __version__ = "0.29.0.dev8"
14
14
  __all__ = [
15
15
  "ops",
16
16
  "database",
@@ -2494,10 +2494,13 @@ class Runs(Authenticated):
2494
2494
  (t for t in conn.store["threads"] if t["thread_id"] == thread_id), None
2495
2495
  )
2496
2496
  # Automatically enforce assistant ownership for non-system assistants
2497
- # by calling the user's assistant search auth handler.
2497
+ # by calling the user's assistant read auth handler.
2498
2498
  if assistant.get("metadata", {}).get("created_by") != "system":
2499
+ assistant_request_data = Auth.types.AssistantsRead(
2500
+ assistant_id=assistant_id
2501
+ )
2499
2502
  assistant_filters = await Assistants.handle_event(
2500
- ctx, "search", {"metadata": {}}
2503
+ ctx, "read", assistant_request_data
2501
2504
  )
2502
2505
  if assistant_filters and not _check_filter_match(
2503
2506
  assistant.get("metadata", {}), assistant_filters
@@ -3282,10 +3285,14 @@ class Crons(Authenticated):
3282
3285
 
3283
3286
  assistant_filters: list[Any] = []
3284
3287
  if assistant_id not in SYSTEM_ASSISTANT_IDS:
3288
+ # Do not populate `metadata` on the AssistantsRead request value:
3289
+ # client-supplied cron metadata must not influence the auth
3290
+ # decision (defense vs. forged payloads), and the gRPC/postgres
3291
+ # path also omits it — keeping handler behavior consistent across
3292
+ # runtimes and mirroring Runs.put.
3285
3293
  assistant_request_data = Auth.types.AssistantsRead(
3286
3294
  assistant_id=payload["assistant_id"]
3287
3295
  )
3288
- assistant_request_data["metadata"] = metadata # type: ignore
3289
3296
  assistant_filters = await Assistants.handle_event(
3290
3297
  ctx, "read", assistant_request_data
3291
3298
  )