langgraph-api 0.2.128__tar.gz → 0.2.129__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.
Potentially problematic release.
This version of langgraph-api might be problematic. Click here for more details.
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/PKG-INFO +1 -1
- langgraph_api-0.2.129/langgraph_api/__init__.py +1 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/models/run.py +7 -5
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/server.py +5 -1
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/stream.py +47 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/worker.py +0 -1
- langgraph_api-0.2.128/langgraph_api/__init__.py +0 -1
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/.gitignore +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/LICENSE +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/Makefile +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/README.md +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/benchmark/.gitignore +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/benchmark/Makefile +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/benchmark/README.md +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/benchmark/burst.js +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/benchmark/ramp.js +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/benchmark/weather.js +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/constraints.txt +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/forbidden.txt +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/healthcheck.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/api/__init__.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/api/assistants.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/api/mcp.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/api/meta.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/api/openapi.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/api/runs.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/api/store.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/api/threads.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/api/ui.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/asgi_transport.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/asyncio.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/auth/__init__.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/auth/custom.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/auth/langsmith/__init__.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/auth/langsmith/backend.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/auth/langsmith/client.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/auth/middleware.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/auth/noop.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/auth/studio_user.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/cli.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/command.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/config.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/cron_scheduler.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/errors.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/feature_flags.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/graph.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/http.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/http_metrics.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/.gitignore +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/.prettierrc +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/__init__.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/base.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/build.mts +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/client.http.mts +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/client.mts +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/errors.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/global.d.ts +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/package.json +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/remote.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/schema.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/src/graph.mts +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/src/load.hooks.mjs +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/src/preload.mjs +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/src/utils/files.mts +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/src/utils/importMap.mts +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/src/utils/serde.mts +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/sse.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/traceblock.mts +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/tsconfig.json +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/ui.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/yarn.lock +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/logging.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/metadata.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/middleware/__init__.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/middleware/http_logger.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/middleware/private_network.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/middleware/request_id.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/models/__init__.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/patch.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/queue_entrypoint.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/route.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/schema.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/serde.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/sse.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/state.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/store.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/thread_ttl.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/traceblock.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/tunneling/cloudflare.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/utils/__init__.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/utils/cache.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/utils/config.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/utils/future.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/utils/headers.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/utils.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/validation.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/webhook.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_license/__init__.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_license/validation.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_runtime/__init__.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_runtime/checkpoint.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_runtime/database.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_runtime/lifespan.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_runtime/metrics.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_runtime/ops.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_runtime/queue.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_runtime/retry.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_runtime/store.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/logging.json +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/openapi.json +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/pyproject.toml +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/scripts/create_license.py +0 -0
- {langgraph_api-0.2.128 → langgraph_api-0.2.129}/uv.lock +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.2.129"
|
|
@@ -282,6 +282,13 @@ async def create_valid_run(
|
|
|
282
282
|
detail="Cannot specify both configurable and context. Prefer setting context alone. Context was introduced in LangGraph 0.6.0 and is the long term planned replacement for configurable.",
|
|
283
283
|
)
|
|
284
284
|
|
|
285
|
+
# Keep config and context in sync for user provided params
|
|
286
|
+
if context:
|
|
287
|
+
configurable = context.copy()
|
|
288
|
+
config["configurable"] = configurable
|
|
289
|
+
else:
|
|
290
|
+
context = configurable.copy()
|
|
291
|
+
|
|
285
292
|
if checkpoint_id:
|
|
286
293
|
configurable["checkpoint_id"] = str(checkpoint_id)
|
|
287
294
|
if checkpoint := payload.get("checkpoint"):
|
|
@@ -308,11 +315,6 @@ async def create_valid_run(
|
|
|
308
315
|
put_time_start = time.time()
|
|
309
316
|
if_not_exists = payload.get("if_not_exists", "reject")
|
|
310
317
|
|
|
311
|
-
# Keep config and context in sync
|
|
312
|
-
# Configurable is either A) just internal config or B) internal config + user config (and context is empty). Either way, configurable is the default.
|
|
313
|
-
context = {**context, **configurable}
|
|
314
|
-
config["configurable"] = context
|
|
315
|
-
|
|
316
318
|
run_coro = Runs.put(
|
|
317
319
|
conn,
|
|
318
320
|
assistant_id,
|
|
@@ -71,7 +71,11 @@ middleware.extend(
|
|
|
71
71
|
allow_credentials=True,
|
|
72
72
|
allow_methods=["*"],
|
|
73
73
|
allow_headers=["*"],
|
|
74
|
-
expose_headers=[
|
|
74
|
+
expose_headers=[
|
|
75
|
+
"x-pagination-total",
|
|
76
|
+
"x-pagination-next",
|
|
77
|
+
"content-location",
|
|
78
|
+
],
|
|
75
79
|
)
|
|
76
80
|
if config.CORS_CONFIG is None
|
|
77
81
|
else Middleware(
|
|
@@ -40,6 +40,42 @@ from langgraph_runtime.ops import Runs
|
|
|
40
40
|
|
|
41
41
|
logger = structlog.stdlib.get_logger(__name__)
|
|
42
42
|
|
|
43
|
+
|
|
44
|
+
async def _filter_context_by_schema(
|
|
45
|
+
context: dict[str, Any], context_schema: dict | None
|
|
46
|
+
) -> dict[str, Any]:
|
|
47
|
+
"""Filter context parameters based on the context schema.
|
|
48
|
+
|
|
49
|
+
Args:
|
|
50
|
+
context: The context dictionary to filter
|
|
51
|
+
context_schema: The JSON schema for valid context parameters
|
|
52
|
+
|
|
53
|
+
Returns:
|
|
54
|
+
Filtered context dictionary containing only valid parameters
|
|
55
|
+
"""
|
|
56
|
+
if not context_schema or not context:
|
|
57
|
+
return context
|
|
58
|
+
|
|
59
|
+
# Extract valid properties from the schema
|
|
60
|
+
properties = context_schema.get("properties", {})
|
|
61
|
+
if not properties:
|
|
62
|
+
return context
|
|
63
|
+
|
|
64
|
+
# Filter context to only include parameters defined in the schema
|
|
65
|
+
filtered_context = {}
|
|
66
|
+
for key, value in context.items():
|
|
67
|
+
if key in properties:
|
|
68
|
+
filtered_context[key] = value
|
|
69
|
+
else:
|
|
70
|
+
await logger.adebug(
|
|
71
|
+
f"Filtering out context parameter '{key}' not found in context schema",
|
|
72
|
+
context_key=key,
|
|
73
|
+
available_keys=list(properties.keys()),
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
return filtered_context
|
|
77
|
+
|
|
78
|
+
|
|
43
79
|
AnyStream = AsyncIterator[tuple[str, Any]]
|
|
44
80
|
|
|
45
81
|
|
|
@@ -107,6 +143,17 @@ async def astream_state(
|
|
|
107
143
|
checkpointer=None if temporary else Checkpointer(),
|
|
108
144
|
)
|
|
109
145
|
)
|
|
146
|
+
|
|
147
|
+
# Filter context parameters based on context schema if available
|
|
148
|
+
if context and USE_RUNTIME_CONTEXT_API and not isinstance(graph, BaseRemotePregel):
|
|
149
|
+
try:
|
|
150
|
+
context_schema = graph.get_context_jsonschema()
|
|
151
|
+
context = await _filter_context_by_schema(context, context_schema)
|
|
152
|
+
except Exception as e:
|
|
153
|
+
await logger.adebug(
|
|
154
|
+
f"Failed to get context schema for filtering: {e}", exc_info=e
|
|
155
|
+
)
|
|
156
|
+
|
|
110
157
|
input = kwargs.pop("input")
|
|
111
158
|
if cmd := kwargs.pop("command"):
|
|
112
159
|
input = map_cmd(cmd)
|
|
@@ -54,7 +54,6 @@ async def set_auth_ctx_for_run(
|
|
|
54
54
|
user = normalize_user(user)
|
|
55
55
|
# Reapply normalization to the kwargs
|
|
56
56
|
run_kwargs["config"]["configurable"]["langgraph_auth_user"] = user
|
|
57
|
-
run_kwargs["context"]["langgraph_auth_user"] = user
|
|
58
57
|
except Exception:
|
|
59
58
|
user = SimpleUser(user_id) if user_id is not None else None
|
|
60
59
|
permissions = None
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.2.128"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langgraph_api-0.2.128 → langgraph_api-0.2.129}/langgraph_api/js/src/utils/pythonSchemas.mts
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|