langgraph-runtime-inmem 0.29.0.dev8__tar.gz → 0.29.1__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.dev8 → langgraph_runtime_inmem-0.29.1}/.gitignore +6 -1
  2. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/PKG-INFO +1 -1
  3. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/langgraph_runtime_inmem/__init__.py +1 -1
  4. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/langgraph_runtime_inmem/ops.py +3 -34
  5. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/Makefile +0 -0
  6. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/README.md +0 -0
  7. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/langgraph_runtime_inmem/_persistence.py +0 -0
  8. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/langgraph_runtime_inmem/checkpoint.py +0 -0
  9. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/langgraph_runtime_inmem/database.py +0 -0
  10. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/langgraph_runtime_inmem/inmem_stream.py +0 -0
  11. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/langgraph_runtime_inmem/lifespan.py +0 -0
  12. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/langgraph_runtime_inmem/metrics.py +0 -0
  13. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/langgraph_runtime_inmem/queue.py +0 -0
  14. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/langgraph_runtime_inmem/retry.py +0 -0
  15. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/langgraph_runtime_inmem/routes.py +0 -0
  16. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/langgraph_runtime_inmem/store.py +0 -0
  17. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/pyproject.toml +0 -0
  18. {langgraph_runtime_inmem-0.29.0.dev8 → langgraph_runtime_inmem-0.29.1}/uv.lock +0 -0
@@ -1,4 +1,9 @@
1
1
  *.env
2
+ .env.*
3
+ *.pem
4
+ *.key
5
+ *.crt
6
+ credentials.json
2
7
  .env.gcp.yaml
3
8
  .worktrees/
4
9
  postgres-volume/
@@ -70,4 +75,4 @@ core/core-server
70
75
  core/bin/core-server
71
76
 
72
77
  # place to put some files for reference for AI coding agents
73
- _ref/
78
+ _ref/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-runtime-inmem
3
- Version: 0.29.0.dev8
3
+ Version: 0.29.1
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.dev8"
13
+ __version__ = "0.29.1"
14
14
  __all__ = [
15
15
  "ops",
16
16
  "database",
@@ -2494,13 +2494,10 @@ 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 read auth handler.
2497
+ # by calling the user's assistant search 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
- )
2502
2499
  assistant_filters = await Assistants.handle_event(
2503
- ctx, "read", assistant_request_data
2500
+ ctx, "search", {"metadata": {}}
2504
2501
  )
2505
2502
  if assistant_filters and not _check_filter_match(
2506
2503
  assistant.get("metadata", {}), assistant_filters
@@ -3285,14 +3282,10 @@ class Crons(Authenticated):
3285
3282
 
3286
3283
  assistant_filters: list[Any] = []
3287
3284
  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.
3293
3285
  assistant_request_data = Auth.types.AssistantsRead(
3294
3286
  assistant_id=payload["assistant_id"]
3295
3287
  )
3288
+ assistant_request_data["metadata"] = metadata # type: ignore
3296
3289
  assistant_filters = await Assistants.handle_event(
3297
3290
  ctx, "read", assistant_request_data
3298
3291
  )
@@ -3504,30 +3497,6 @@ class Crons(Authenticated):
3504
3497
 
3505
3498
  return _yield_updated()
3506
3499
 
3507
- @staticmethod
3508
- async def get(
3509
- conn: InMemConnectionProto,
3510
- cron_id: UUID | str,
3511
- ctx: Auth.types.BaseAuthContext | None = None,
3512
- ) -> AsyncIterator[Cron]:
3513
- """Get a cron by ID."""
3514
- cron_id = _ensure_uuid(cron_id)
3515
- filters = await Crons.handle_event(
3516
- ctx,
3517
- "read",
3518
- Auth.types.CronsRead(cron_id=cron_id),
3519
- )
3520
-
3521
- async def _yield_result():
3522
- for cron in conn.store["crons"]:
3523
- if str(cron["cron_id"]) == str(cron_id) and (
3524
- not filters
3525
- or _check_filter_match(cron.get("metadata", {}), filters)
3526
- ):
3527
- yield copy.deepcopy(cron)
3528
-
3529
- return _yield_result()
3530
-
3531
3500
  @staticmethod
3532
3501
  async def delete(
3533
3502
  conn: InMemConnectionProto,