langgraph-api 0.2.129__tar.gz → 0.2.130__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.129 → langgraph_api-0.2.130}/PKG-INFO +2 -2
- langgraph_api-0.2.130/langgraph_api/__init__.py +1 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/config.py +2 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/base.py +0 -3
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/client.mts +3 -9
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/remote.py +5 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/middleware/http_logger.py +2 -2
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/models/run.py +1 -1
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/route.py +7 -1
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/stream.py +2 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/utils/headers.py +22 -5
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/worker.py +28 -4
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/openapi.json +2 -2
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/pyproject.toml +1 -1
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/uv.lock +80 -75
- langgraph_api-0.2.129/langgraph_api/__init__.py +0 -1
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/.gitignore +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/LICENSE +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/Makefile +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/README.md +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/benchmark/.gitignore +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/benchmark/Makefile +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/benchmark/README.md +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/benchmark/burst.js +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/benchmark/ramp.js +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/benchmark/weather.js +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/constraints.txt +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/forbidden.txt +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/healthcheck.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/api/__init__.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/api/assistants.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/api/mcp.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/api/meta.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/api/openapi.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/api/runs.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/api/store.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/api/threads.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/api/ui.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/asgi_transport.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/asyncio.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/auth/__init__.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/auth/custom.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/auth/langsmith/__init__.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/auth/langsmith/backend.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/auth/langsmith/client.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/auth/middleware.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/auth/noop.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/auth/studio_user.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/cli.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/command.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/cron_scheduler.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/errors.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/feature_flags.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/graph.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/http.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/http_metrics.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/.gitignore +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/.prettierrc +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/__init__.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/build.mts +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/client.http.mts +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/errors.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/global.d.ts +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/package.json +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/schema.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/src/graph.mts +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/src/load.hooks.mjs +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/src/preload.mjs +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/src/utils/files.mts +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/src/utils/importMap.mts +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/src/utils/serde.mts +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/sse.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/traceblock.mts +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/tsconfig.json +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/ui.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/js/yarn.lock +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/logging.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/metadata.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/middleware/__init__.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/middleware/private_network.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/middleware/request_id.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/models/__init__.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/patch.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/queue_entrypoint.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/schema.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/serde.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/server.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/sse.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/state.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/store.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/thread_ttl.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/traceblock.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/tunneling/cloudflare.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/utils/__init__.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/utils/cache.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/utils/config.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/utils/future.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/utils.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/validation.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_api/webhook.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_license/__init__.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_license/validation.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_runtime/__init__.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_runtime/checkpoint.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_runtime/database.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_runtime/lifespan.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_runtime/metrics.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_runtime/ops.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_runtime/queue.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_runtime/retry.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/langgraph_runtime/store.py +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/logging.json +0 -0
- {langgraph_api-0.2.129 → langgraph_api-0.2.130}/scripts/create_license.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: langgraph-api
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.130
|
|
4
4
|
Author-email: Nuno Campos <nuno@langchain.dev>, Will Fu-Hinthorn <will@langchain.dev>
|
|
5
5
|
License: Elastic-2.0
|
|
6
6
|
License-File: LICENSE
|
|
@@ -11,7 +11,7 @@ Requires-Dist: httpx>=0.25.0
|
|
|
11
11
|
Requires-Dist: jsonschema-rs<0.30,>=0.20.0
|
|
12
12
|
Requires-Dist: langchain-core>=0.3.64
|
|
13
13
|
Requires-Dist: langgraph-checkpoint>=2.0.23
|
|
14
|
-
Requires-Dist: langgraph-runtime-inmem<0.7,>=0.6.
|
|
14
|
+
Requires-Dist: langgraph-runtime-inmem<0.7,>=0.6.13
|
|
15
15
|
Requires-Dist: langgraph-sdk>=0.2.0
|
|
16
16
|
Requires-Dist: langgraph>=0.4.0
|
|
17
17
|
Requires-Dist: langsmith>=0.3.45
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.2.130"
|
|
@@ -51,6 +51,7 @@ class HttpConfig(TypedDict, total=False):
|
|
|
51
51
|
mount_prefix: str
|
|
52
52
|
"""Prefix for mounted routes. E.g., "/my-deployment/api"."""
|
|
53
53
|
configurable_headers: ConfigurableHeaders | None
|
|
54
|
+
logging_headers: ConfigurableHeaders | None
|
|
54
55
|
|
|
55
56
|
|
|
56
57
|
class ThreadTTLConfig(TypedDict, total=False):
|
|
@@ -286,6 +287,7 @@ if THREAD_TTL is None and CHECKPOINTER_CONFIG is not None:
|
|
|
286
287
|
N_JOBS_PER_WORKER = env("N_JOBS_PER_WORKER", cast=int, default=10)
|
|
287
288
|
BG_JOB_TIMEOUT_SECS = env("BG_JOB_TIMEOUT_SECS", cast=float, default=3600)
|
|
288
289
|
FF_CRONS_ENABLED = env("FF_CRONS_ENABLED", cast=bool, default=True)
|
|
290
|
+
FF_RICH_THREADS = env("FF_RICH_THREADS", cast=bool, default=False)
|
|
289
291
|
|
|
290
292
|
# auth
|
|
291
293
|
|
|
@@ -116,6 +116,7 @@ let GRAPH_OPTIONS: {
|
|
|
116
116
|
let nodesExecuted = 0;
|
|
117
117
|
function incrementNodes() {
|
|
118
118
|
nodesExecuted++;
|
|
119
|
+
logger.debug(`Incremented nodes executed to ${nodesExecuted}`);
|
|
119
120
|
}
|
|
120
121
|
|
|
121
122
|
const version = await (async () => {
|
|
@@ -1029,15 +1030,7 @@ async function main() {
|
|
|
1029
1030
|
getStateHistoryRequest,
|
|
1030
1031
|
),
|
|
1031
1032
|
);
|
|
1032
|
-
|
|
1033
|
-
"/:graphId/getNodesExecuted",
|
|
1034
|
-
zValidator("json", GetNodesExecutedPayload),
|
|
1035
|
-
handleInvoke(
|
|
1036
|
-
"getNodesExecuted",
|
|
1037
|
-
GetNodesExecutedPayload,
|
|
1038
|
-
getNodesExecutedRequest,
|
|
1039
|
-
),
|
|
1040
|
-
);
|
|
1033
|
+
|
|
1041
1034
|
app.post(
|
|
1042
1035
|
"/:graphId/getNodesExecuted",
|
|
1043
1036
|
zValidator("json", GetNodesExecutedPayload),
|
|
@@ -1147,6 +1140,7 @@ async function getNodesExecutedRequest(
|
|
|
1147
1140
|
) {
|
|
1148
1141
|
const value = nodesExecuted;
|
|
1149
1142
|
nodesExecuted = 0;
|
|
1143
|
+
logger.debug(`Returning ${value} nodes executed. Reset nodes executed to ${nodesExecuted}.`);
|
|
1150
1144
|
return { nodesExecuted: value };
|
|
1151
1145
|
}
|
|
1152
1146
|
patchFetch();
|
|
@@ -344,6 +344,11 @@ class RemotePregel(BaseRemotePregel):
|
|
|
344
344
|
|
|
345
345
|
async def fetch_nodes_executed(self):
|
|
346
346
|
result = await _client_invoke("getNodesExecuted", {"graph_id": self.graph_id})
|
|
347
|
+
await logger.adebug(
|
|
348
|
+
f"Fetched {result['nodesExecuted']} nodes executed",
|
|
349
|
+
nodes_executed=result["nodesExecuted"],
|
|
350
|
+
graph_id=self.graph_id,
|
|
351
|
+
)
|
|
347
352
|
return result["nodesExecuted"]
|
|
348
353
|
|
|
349
354
|
|
|
@@ -6,7 +6,7 @@ from starlette.requests import ClientDisconnect
|
|
|
6
6
|
from starlette.types import Message, Receive, Scope, Send
|
|
7
7
|
|
|
8
8
|
from langgraph_api.http_metrics import HTTP_METRICS_COLLECTOR
|
|
9
|
-
from langgraph_api.utils.headers import
|
|
9
|
+
from langgraph_api.utils.headers import should_include_header_in_logs
|
|
10
10
|
|
|
11
11
|
asgi = structlog.stdlib.get_logger("asgi")
|
|
12
12
|
|
|
@@ -117,7 +117,7 @@ def _headers_to_dict(headers: list[tuple[bytes, bytes]] | None) -> dict[str, str
|
|
|
117
117
|
if k in IGNORE_HEADERS:
|
|
118
118
|
continue
|
|
119
119
|
key = k.decode()
|
|
120
|
-
if
|
|
120
|
+
if should_include_header_in_logs(key):
|
|
121
121
|
result[key] = v.decode()
|
|
122
122
|
|
|
123
123
|
return result
|
|
@@ -157,7 +157,7 @@ def assign_defaults(
|
|
|
157
157
|
)
|
|
158
158
|
else:
|
|
159
159
|
stream_mode = ["values"]
|
|
160
|
-
multitask_strategy = payload.get("multitask_strategy") or "
|
|
160
|
+
multitask_strategy = payload.get("multitask_strategy") or "enqueue"
|
|
161
161
|
prevent_insert_if_inflight = multitask_strategy == "reject"
|
|
162
162
|
return stream_mode, multitask_strategy, prevent_insert_if_inflight
|
|
163
163
|
|
|
@@ -7,6 +7,7 @@ import orjson
|
|
|
7
7
|
from starlette._exception_handler import wrap_app_handling_exceptions
|
|
8
8
|
from starlette._utils import is_async_callable
|
|
9
9
|
from starlette.concurrency import run_in_threadpool
|
|
10
|
+
from starlette.exceptions import HTTPException
|
|
10
11
|
from starlette.middleware import Middleware
|
|
11
12
|
from starlette.requests import Request
|
|
12
13
|
from starlette.responses import JSONResponse
|
|
@@ -75,7 +76,12 @@ class ApiRequest(Request):
|
|
|
75
76
|
async def json(self, schema: SchemaType = None) -> typing.Any:
|
|
76
77
|
if not hasattr(self, "_json"):
|
|
77
78
|
body = await self.body()
|
|
78
|
-
|
|
79
|
+
try:
|
|
80
|
+
self._json = await run_in_threadpool(_json_loads, body, schema)
|
|
81
|
+
except orjson.JSONDecodeError as e:
|
|
82
|
+
raise HTTPException(
|
|
83
|
+
status_code=422, detail="Invalid JSON in request body"
|
|
84
|
+
) from e
|
|
79
85
|
return self._json
|
|
80
86
|
|
|
81
87
|
|
|
@@ -386,6 +386,8 @@ async def astream_state(
|
|
|
386
386
|
incr_nodes(None, incr=nodes_executed)
|
|
387
387
|
except Exception as e:
|
|
388
388
|
logger.warning(f"Failed to fetch nodes executed for {graph.graph_id}: {e}")
|
|
389
|
+
else:
|
|
390
|
+
await logger.adebug("Graph is not an instance of BaseRemotePregel")
|
|
389
391
|
|
|
390
392
|
# Get feedback URLs
|
|
391
393
|
if feedback_keys:
|
|
@@ -24,15 +24,15 @@ def translate_pattern(pat: str) -> re.Pattern[str]:
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
@functools.lru_cache(maxsize=1)
|
|
27
|
-
def get_header_patterns(
|
|
28
|
-
|
|
29
|
-
]:
|
|
27
|
+
def get_header_patterns(
|
|
28
|
+
key: str,
|
|
29
|
+
) -> tuple[list[re.Pattern[str]] | None, list[re.Pattern[str]] | None]:
|
|
30
30
|
"""Get the configured header include/exclude patterns."""
|
|
31
31
|
from langgraph_api import config
|
|
32
32
|
|
|
33
33
|
if not config.HTTP_CONFIG:
|
|
34
34
|
return None, None
|
|
35
|
-
configurable = config.HTTP_CONFIG.get(
|
|
35
|
+
configurable = config.HTTP_CONFIG.get(key)
|
|
36
36
|
if not configurable:
|
|
37
37
|
return None, None
|
|
38
38
|
header_includes = configurable.get("includes") or configurable.get("include") or []
|
|
@@ -59,8 +59,25 @@ def should_include_header(key: str) -> bool:
|
|
|
59
59
|
Returns:
|
|
60
60
|
True if the header should be included, False otherwise
|
|
61
61
|
"""
|
|
62
|
-
include_patterns, exclude_patterns = get_header_patterns()
|
|
62
|
+
include_patterns, exclude_patterns = get_header_patterns("configurable_headers")
|
|
63
63
|
|
|
64
|
+
return pattern_matches(key, include_patterns, exclude_patterns)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@functools.lru_cache(maxsize=512)
|
|
68
|
+
def should_include_header_in_logs(key: str) -> bool:
|
|
69
|
+
"""Check if header should be included in logs specifically."""
|
|
70
|
+
|
|
71
|
+
include_patterns, exclude_patterns = get_header_patterns("logging_headers")
|
|
72
|
+
|
|
73
|
+
return pattern_matches(key, include_patterns, exclude_patterns)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def pattern_matches(
|
|
77
|
+
key: str,
|
|
78
|
+
include_patterns: list[re.Pattern[str]] | None,
|
|
79
|
+
exclude_patterns: list[re.Pattern[str]] | None,
|
|
80
|
+
) -> bool:
|
|
64
81
|
# Handle configurable behavior
|
|
65
82
|
if exclude_patterns and any(pattern.match(key) for pattern in exclude_patterns):
|
|
66
83
|
return False
|
|
@@ -209,6 +209,7 @@ async def worker(
|
|
|
209
209
|
|
|
210
210
|
# handle exceptions and set status
|
|
211
211
|
async with connect() as conn:
|
|
212
|
+
graph_id = run["kwargs"]["config"]["configurable"]["graph_id"]
|
|
212
213
|
log_info = {
|
|
213
214
|
"run_id": str(run_id),
|
|
214
215
|
"run_attempt": attempt,
|
|
@@ -252,7 +253,12 @@ async def worker(
|
|
|
252
253
|
)
|
|
253
254
|
if not temporary:
|
|
254
255
|
await Threads.set_joint_status(
|
|
255
|
-
conn,
|
|
256
|
+
conn,
|
|
257
|
+
run["thread_id"],
|
|
258
|
+
run_id,
|
|
259
|
+
status,
|
|
260
|
+
graph_id=graph_id,
|
|
261
|
+
checkpoint=checkpoint,
|
|
256
262
|
)
|
|
257
263
|
elif isinstance(exception, TimeoutError):
|
|
258
264
|
status = "timeout"
|
|
@@ -262,7 +268,12 @@ async def worker(
|
|
|
262
268
|
)
|
|
263
269
|
if not temporary:
|
|
264
270
|
await Threads.set_joint_status(
|
|
265
|
-
conn,
|
|
271
|
+
conn,
|
|
272
|
+
run["thread_id"],
|
|
273
|
+
run_id,
|
|
274
|
+
status,
|
|
275
|
+
graph_id=graph_id,
|
|
276
|
+
checkpoint=checkpoint,
|
|
266
277
|
)
|
|
267
278
|
elif isinstance(exception, UserRollback):
|
|
268
279
|
status = "rollback"
|
|
@@ -273,6 +284,7 @@ async def worker(
|
|
|
273
284
|
run["thread_id"],
|
|
274
285
|
run_id,
|
|
275
286
|
status,
|
|
287
|
+
graph_id=graph_id,
|
|
276
288
|
checkpoint=checkpoint,
|
|
277
289
|
)
|
|
278
290
|
await logger.ainfo(
|
|
@@ -297,7 +309,13 @@ async def worker(
|
|
|
297
309
|
)
|
|
298
310
|
if not temporary:
|
|
299
311
|
await Threads.set_joint_status(
|
|
300
|
-
conn,
|
|
312
|
+
conn,
|
|
313
|
+
run["thread_id"],
|
|
314
|
+
run_id,
|
|
315
|
+
status,
|
|
316
|
+
graph_id,
|
|
317
|
+
checkpoint,
|
|
318
|
+
exception,
|
|
301
319
|
)
|
|
302
320
|
elif isinstance(exception, ALL_RETRIABLE_EXCEPTIONS):
|
|
303
321
|
status = "retry"
|
|
@@ -322,7 +340,13 @@ async def worker(
|
|
|
322
340
|
)
|
|
323
341
|
if not temporary:
|
|
324
342
|
await Threads.set_joint_status(
|
|
325
|
-
conn,
|
|
343
|
+
conn,
|
|
344
|
+
run["thread_id"],
|
|
345
|
+
run_id,
|
|
346
|
+
status,
|
|
347
|
+
graph_id,
|
|
348
|
+
checkpoint,
|
|
349
|
+
exception,
|
|
326
350
|
)
|
|
327
351
|
|
|
328
352
|
# delete thread if it's temporary and we don't want to retry
|
|
@@ -3555,7 +3555,7 @@
|
|
|
3555
3555
|
],
|
|
3556
3556
|
"title": "Multitask Strategy",
|
|
3557
3557
|
"description": "Multitask strategy to use. Must be one of 'reject', 'interrupt', 'rollback', or 'enqueue'.",
|
|
3558
|
-
"default": "
|
|
3558
|
+
"default": "enqueue"
|
|
3559
3559
|
}
|
|
3560
3560
|
},
|
|
3561
3561
|
"type": "object",
|
|
@@ -4078,7 +4078,7 @@
|
|
|
4078
4078
|
],
|
|
4079
4079
|
"title": "Multitask Strategy",
|
|
4080
4080
|
"description": "Multitask strategy to use. Must be one of 'reject', 'interrupt', 'rollback', or 'enqueue'.",
|
|
4081
|
-
"default": "
|
|
4081
|
+
"default": "enqueue"
|
|
4082
4082
|
},
|
|
4083
4083
|
"if_not_exists": {
|
|
4084
4084
|
"type": "string",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
version = 1
|
|
2
|
-
revision =
|
|
2
|
+
revision = 3
|
|
3
3
|
requires-python = ">=3.11"
|
|
4
4
|
|
|
5
5
|
[[package]]
|
|
@@ -105,50 +105,55 @@ wheels = [
|
|
|
105
105
|
|
|
106
106
|
[[package]]
|
|
107
107
|
name = "charset-normalizer"
|
|
108
|
-
version = "3.4.
|
|
109
|
-
source = { registry = "https://pypi.org/simple" }
|
|
110
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
111
|
-
wheels = [
|
|
112
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
113
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
114
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
115
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
116
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
117
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
118
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
119
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
120
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
121
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
122
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
123
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
124
|
-
{ url = "https://files.pythonhosted.org/packages/a8/
|
|
125
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
126
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
127
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
128
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
129
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
130
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
131
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
132
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
133
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
134
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
135
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
136
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
137
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
138
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
139
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
140
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
141
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
142
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
143
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
144
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
145
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
146
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
147
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
148
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
149
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
150
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
151
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
108
|
+
version = "3.4.3"
|
|
109
|
+
source = { registry = "https://pypi.org/simple" }
|
|
110
|
+
sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371, upload-time = "2025-08-09T07:57:28.46Z" }
|
|
111
|
+
wheels = [
|
|
112
|
+
{ url = "https://files.pythonhosted.org/packages/7f/b5/991245018615474a60965a7c9cd2b4efbaabd16d582a5547c47ee1c7730b/charset_normalizer-3.4.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b256ee2e749283ef3ddcff51a675ff43798d92d746d1a6e4631bf8c707d22d0b", size = 204483, upload-time = "2025-08-09T07:55:53.12Z" },
|
|
113
|
+
{ url = "https://files.pythonhosted.org/packages/c7/2a/ae245c41c06299ec18262825c1569c5d3298fc920e4ddf56ab011b417efd/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13faeacfe61784e2559e690fc53fa4c5ae97c6fcedb8eb6fb8d0a15b475d2c64", size = 145520, upload-time = "2025-08-09T07:55:54.712Z" },
|
|
114
|
+
{ url = "https://files.pythonhosted.org/packages/3a/a4/b3b6c76e7a635748c4421d2b92c7b8f90a432f98bda5082049af37ffc8e3/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91", size = 158876, upload-time = "2025-08-09T07:55:56.024Z" },
|
|
115
|
+
{ url = "https://files.pythonhosted.org/packages/e2/e6/63bb0e10f90a8243c5def74b5b105b3bbbfb3e7bb753915fe333fb0c11ea/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:585f3b2a80fbd26b048a0be90c5aae8f06605d3c92615911c3a2b03a8a3b796f", size = 156083, upload-time = "2025-08-09T07:55:57.582Z" },
|
|
116
|
+
{ url = "https://files.pythonhosted.org/packages/87/df/b7737ff046c974b183ea9aa111b74185ac8c3a326c6262d413bd5a1b8c69/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e78314bdc32fa80696f72fa16dc61168fda4d6a0c014e0380f9d02f0e5d8a07", size = 150295, upload-time = "2025-08-09T07:55:59.147Z" },
|
|
117
|
+
{ url = "https://files.pythonhosted.org/packages/61/f1/190d9977e0084d3f1dc169acd060d479bbbc71b90bf3e7bf7b9927dec3eb/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:96b2b3d1a83ad55310de8c7b4a2d04d9277d5591f40761274856635acc5fcb30", size = 148379, upload-time = "2025-08-09T07:56:00.364Z" },
|
|
118
|
+
{ url = "https://files.pythonhosted.org/packages/4c/92/27dbe365d34c68cfe0ca76f1edd70e8705d82b378cb54ebbaeabc2e3029d/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:939578d9d8fd4299220161fdd76e86c6a251987476f5243e8864a7844476ba14", size = 160018, upload-time = "2025-08-09T07:56:01.678Z" },
|
|
119
|
+
{ url = "https://files.pythonhosted.org/packages/99/04/baae2a1ea1893a01635d475b9261c889a18fd48393634b6270827869fa34/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fd10de089bcdcd1be95a2f73dbe6254798ec1bda9f450d5828c96f93e2536b9c", size = 157430, upload-time = "2025-08-09T07:56:02.87Z" },
|
|
120
|
+
{ url = "https://files.pythonhosted.org/packages/2f/36/77da9c6a328c54d17b960c89eccacfab8271fdaaa228305330915b88afa9/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e8ac75d72fa3775e0b7cb7e4629cec13b7514d928d15ef8ea06bca03ef01cae", size = 151600, upload-time = "2025-08-09T07:56:04.089Z" },
|
|
121
|
+
{ url = "https://files.pythonhosted.org/packages/64/d4/9eb4ff2c167edbbf08cdd28e19078bf195762e9bd63371689cab5ecd3d0d/charset_normalizer-3.4.3-cp311-cp311-win32.whl", hash = "sha256:6cf8fd4c04756b6b60146d98cd8a77d0cdae0e1ca20329da2ac85eed779b6849", size = 99616, upload-time = "2025-08-09T07:56:05.658Z" },
|
|
122
|
+
{ url = "https://files.pythonhosted.org/packages/f4/9c/996a4a028222e7761a96634d1820de8a744ff4327a00ada9c8942033089b/charset_normalizer-3.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:31a9a6f775f9bcd865d88ee350f0ffb0e25936a7f930ca98995c05abf1faf21c", size = 107108, upload-time = "2025-08-09T07:56:07.176Z" },
|
|
123
|
+
{ url = "https://files.pythonhosted.org/packages/e9/5e/14c94999e418d9b87682734589404a25854d5f5d0408df68bc15b6ff54bb/charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1", size = 205655, upload-time = "2025-08-09T07:56:08.475Z" },
|
|
124
|
+
{ url = "https://files.pythonhosted.org/packages/7d/a8/c6ec5d389672521f644505a257f50544c074cf5fc292d5390331cd6fc9c3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884", size = 146223, upload-time = "2025-08-09T07:56:09.708Z" },
|
|
125
|
+
{ url = "https://files.pythonhosted.org/packages/fc/eb/a2ffb08547f4e1e5415fb69eb7db25932c52a52bed371429648db4d84fb1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018", size = 159366, upload-time = "2025-08-09T07:56:11.326Z" },
|
|
126
|
+
{ url = "https://files.pythonhosted.org/packages/82/10/0fd19f20c624b278dddaf83b8464dcddc2456cb4b02bb902a6da126b87a1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392", size = 157104, upload-time = "2025-08-09T07:56:13.014Z" },
|
|
127
|
+
{ url = "https://files.pythonhosted.org/packages/16/ab/0233c3231af734f5dfcf0844aa9582d5a1466c985bbed6cedab85af9bfe3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f", size = 151830, upload-time = "2025-08-09T07:56:14.428Z" },
|
|
128
|
+
{ url = "https://files.pythonhosted.org/packages/ae/02/e29e22b4e02839a0e4a06557b1999d0a47db3567e82989b5bb21f3fbbd9f/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154", size = 148854, upload-time = "2025-08-09T07:56:16.051Z" },
|
|
129
|
+
{ url = "https://files.pythonhosted.org/packages/05/6b/e2539a0a4be302b481e8cafb5af8792da8093b486885a1ae4d15d452bcec/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491", size = 160670, upload-time = "2025-08-09T07:56:17.314Z" },
|
|
130
|
+
{ url = "https://files.pythonhosted.org/packages/31/e7/883ee5676a2ef217a40ce0bffcc3d0dfbf9e64cbcfbdf822c52981c3304b/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93", size = 158501, upload-time = "2025-08-09T07:56:18.641Z" },
|
|
131
|
+
{ url = "https://files.pythonhosted.org/packages/c1/35/6525b21aa0db614cf8b5792d232021dca3df7f90a1944db934efa5d20bb1/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f", size = 153173, upload-time = "2025-08-09T07:56:20.289Z" },
|
|
132
|
+
{ url = "https://files.pythonhosted.org/packages/50/ee/f4704bad8201de513fdc8aac1cabc87e38c5818c93857140e06e772b5892/charset_normalizer-3.4.3-cp312-cp312-win32.whl", hash = "sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37", size = 99822, upload-time = "2025-08-09T07:56:21.551Z" },
|
|
133
|
+
{ url = "https://files.pythonhosted.org/packages/39/f5/3b3836ca6064d0992c58c7561c6b6eee1b3892e9665d650c803bd5614522/charset_normalizer-3.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc", size = 107543, upload-time = "2025-08-09T07:56:23.115Z" },
|
|
134
|
+
{ url = "https://files.pythonhosted.org/packages/65/ca/2135ac97709b400c7654b4b764daf5c5567c2da45a30cdd20f9eefe2d658/charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe", size = 205326, upload-time = "2025-08-09T07:56:24.721Z" },
|
|
135
|
+
{ url = "https://files.pythonhosted.org/packages/71/11/98a04c3c97dd34e49c7d247083af03645ca3730809a5509443f3c37f7c99/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8", size = 146008, upload-time = "2025-08-09T07:56:26.004Z" },
|
|
136
|
+
{ url = "https://files.pythonhosted.org/packages/60/f5/4659a4cb3c4ec146bec80c32d8bb16033752574c20b1252ee842a95d1a1e/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9", size = 159196, upload-time = "2025-08-09T07:56:27.25Z" },
|
|
137
|
+
{ url = "https://files.pythonhosted.org/packages/86/9e/f552f7a00611f168b9a5865a1414179b2c6de8235a4fa40189f6f79a1753/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31", size = 156819, upload-time = "2025-08-09T07:56:28.515Z" },
|
|
138
|
+
{ url = "https://files.pythonhosted.org/packages/7e/95/42aa2156235cbc8fa61208aded06ef46111c4d3f0de233107b3f38631803/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f", size = 151350, upload-time = "2025-08-09T07:56:29.716Z" },
|
|
139
|
+
{ url = "https://files.pythonhosted.org/packages/c2/a9/3865b02c56f300a6f94fc631ef54f0a8a29da74fb45a773dfd3dcd380af7/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927", size = 148644, upload-time = "2025-08-09T07:56:30.984Z" },
|
|
140
|
+
{ url = "https://files.pythonhosted.org/packages/77/d9/cbcf1a2a5c7d7856f11e7ac2d782aec12bdfea60d104e60e0aa1c97849dc/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9", size = 160468, upload-time = "2025-08-09T07:56:32.252Z" },
|
|
141
|
+
{ url = "https://files.pythonhosted.org/packages/f6/42/6f45efee8697b89fda4d50580f292b8f7f9306cb2971d4b53f8914e4d890/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5", size = 158187, upload-time = "2025-08-09T07:56:33.481Z" },
|
|
142
|
+
{ url = "https://files.pythonhosted.org/packages/70/99/f1c3bdcfaa9c45b3ce96f70b14f070411366fa19549c1d4832c935d8e2c3/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc", size = 152699, upload-time = "2025-08-09T07:56:34.739Z" },
|
|
143
|
+
{ url = "https://files.pythonhosted.org/packages/a3/ad/b0081f2f99a4b194bcbb1934ef3b12aa4d9702ced80a37026b7607c72e58/charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce", size = 99580, upload-time = "2025-08-09T07:56:35.981Z" },
|
|
144
|
+
{ url = "https://files.pythonhosted.org/packages/9a/8f/ae790790c7b64f925e5c953b924aaa42a243fb778fed9e41f147b2a5715a/charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef", size = 107366, upload-time = "2025-08-09T07:56:37.339Z" },
|
|
145
|
+
{ url = "https://files.pythonhosted.org/packages/8e/91/b5a06ad970ddc7a0e513112d40113e834638f4ca1120eb727a249fb2715e/charset_normalizer-3.4.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15", size = 204342, upload-time = "2025-08-09T07:56:38.687Z" },
|
|
146
|
+
{ url = "https://files.pythonhosted.org/packages/ce/ec/1edc30a377f0a02689342f214455c3f6c2fbedd896a1d2f856c002fc3062/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db", size = 145995, upload-time = "2025-08-09T07:56:40.048Z" },
|
|
147
|
+
{ url = "https://files.pythonhosted.org/packages/17/e5/5e67ab85e6d22b04641acb5399c8684f4d37caf7558a53859f0283a650e9/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d", size = 158640, upload-time = "2025-08-09T07:56:41.311Z" },
|
|
148
|
+
{ url = "https://files.pythonhosted.org/packages/f1/e5/38421987f6c697ee3722981289d554957c4be652f963d71c5e46a262e135/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096", size = 156636, upload-time = "2025-08-09T07:56:43.195Z" },
|
|
149
|
+
{ url = "https://files.pythonhosted.org/packages/a0/e4/5a075de8daa3ec0745a9a3b54467e0c2967daaaf2cec04c845f73493e9a1/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa", size = 150939, upload-time = "2025-08-09T07:56:44.819Z" },
|
|
150
|
+
{ url = "https://files.pythonhosted.org/packages/02/f7/3611b32318b30974131db62b4043f335861d4d9b49adc6d57c1149cc49d4/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049", size = 148580, upload-time = "2025-08-09T07:56:46.684Z" },
|
|
151
|
+
{ url = "https://files.pythonhosted.org/packages/7e/61/19b36f4bd67f2793ab6a99b979b4e4f3d8fc754cbdffb805335df4337126/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0", size = 159870, upload-time = "2025-08-09T07:56:47.941Z" },
|
|
152
|
+
{ url = "https://files.pythonhosted.org/packages/06/57/84722eefdd338c04cf3030ada66889298eaedf3e7a30a624201e0cbe424a/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92", size = 157797, upload-time = "2025-08-09T07:56:49.756Z" },
|
|
153
|
+
{ url = "https://files.pythonhosted.org/packages/72/2a/aff5dd112b2f14bcc3462c312dce5445806bfc8ab3a7328555da95330e4b/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16", size = 152224, upload-time = "2025-08-09T07:56:51.369Z" },
|
|
154
|
+
{ url = "https://files.pythonhosted.org/packages/b7/8c/9839225320046ed279c6e839d51f028342eb77c91c89b8ef2549f951f3ec/charset_normalizer-3.4.3-cp314-cp314-win32.whl", hash = "sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce", size = 100086, upload-time = "2025-08-09T07:56:52.722Z" },
|
|
155
|
+
{ url = "https://files.pythonhosted.org/packages/ee/7a/36fbcf646e41f710ce0a563c1c9a343c6edf9be80786edeb15b6f62e17db/charset_normalizer-3.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c", size = 107400, upload-time = "2025-08-09T07:56:55.172Z" },
|
|
156
|
+
{ url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175, upload-time = "2025-08-09T07:57:26.864Z" },
|
|
152
157
|
]
|
|
153
158
|
|
|
154
159
|
[[package]]
|
|
@@ -358,7 +363,7 @@ wheels = [
|
|
|
358
363
|
|
|
359
364
|
[[package]]
|
|
360
365
|
name = "langchain-core"
|
|
361
|
-
version = "0.3.
|
|
366
|
+
version = "0.3.74"
|
|
362
367
|
source = { registry = "https://pypi.org/simple" }
|
|
363
368
|
dependencies = [
|
|
364
369
|
{ name = "jsonpatch" },
|
|
@@ -369,14 +374,14 @@ dependencies = [
|
|
|
369
374
|
{ name = "tenacity" },
|
|
370
375
|
{ name = "typing-extensions" },
|
|
371
376
|
]
|
|
372
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
377
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f1/c6/5d755a0f1f4857abbe5ea6f5907ed0e2b5df52bf4dde0a0fd768290e3084/langchain_core-0.3.74.tar.gz", hash = "sha256:ff604441aeade942fbcc0a3860a592daba7671345230c2078ba2eb5f82b6ba76", size = 569553, upload-time = "2025-08-07T20:47:05.094Z" }
|
|
373
378
|
wheels = [
|
|
374
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
379
|
+
{ url = "https://files.pythonhosted.org/packages/4d/26/545283681ac0379d31c7ad0bac5f195e1982092d76c65ca048db9e3cec0e/langchain_core-0.3.74-py3-none-any.whl", hash = "sha256:088338b5bc2f6a66892f9afc777992c24ee3188f41cbc603d09181e34a228ce7", size = 443453, upload-time = "2025-08-07T20:47:03.853Z" },
|
|
375
380
|
]
|
|
376
381
|
|
|
377
382
|
[[package]]
|
|
378
383
|
name = "langgraph"
|
|
379
|
-
version = "0.6.
|
|
384
|
+
version = "0.6.4"
|
|
380
385
|
source = { registry = "https://pypi.org/simple" }
|
|
381
386
|
dependencies = [
|
|
382
387
|
{ name = "langchain-core" },
|
|
@@ -386,9 +391,9 @@ dependencies = [
|
|
|
386
391
|
{ name = "pydantic" },
|
|
387
392
|
{ name = "xxhash" },
|
|
388
393
|
]
|
|
389
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
394
|
+
sdist = { url = "https://files.pythonhosted.org/packages/9f/a2/632e882b6f8d83fefce7a838695dc4f91eaf7d2adc6c8ac160003754eda3/langgraph-0.6.4.tar.gz", hash = "sha256:5d591646b4c5bfc86d5fb0baf3407ba55b37f6ee1c22613e9ed084090357fccd", size = 454190, upload-time = "2025-08-07T18:30:59.619Z" }
|
|
390
395
|
wheels = [
|
|
391
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
396
|
+
{ url = "https://files.pythonhosted.org/packages/09/25/7ccac0a5aee88a882683e09c71fbc3a884e41d092a65304dbab40d633dcb/langgraph-0.6.4-py3-none-any.whl", hash = "sha256:001cb076d204b7e7cdf2dce24b18171bbd184840f236852a256107b2aed105bb", size = 153150, upload-time = "2025-08-07T18:30:58.039Z" },
|
|
392
397
|
]
|
|
393
398
|
|
|
394
399
|
[[package]]
|
|
@@ -517,15 +522,15 @@ wheels = [
|
|
|
517
522
|
|
|
518
523
|
[[package]]
|
|
519
524
|
name = "langgraph-prebuilt"
|
|
520
|
-
version = "0.6.
|
|
525
|
+
version = "0.6.4"
|
|
521
526
|
source = { registry = "https://pypi.org/simple" }
|
|
522
527
|
dependencies = [
|
|
523
528
|
{ name = "langchain-core" },
|
|
524
529
|
{ name = "langgraph-checkpoint" },
|
|
525
530
|
]
|
|
526
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
531
|
+
sdist = { url = "https://files.pythonhosted.org/packages/d6/21/9b198d11732101ee8cdf30af98d0b4f11254c768de15173e57f5260fd14b/langgraph_prebuilt-0.6.4.tar.gz", hash = "sha256:e9e53b906ee5df46541d1dc5303239e815d3ec551e52bb03dd6463acc79ec28f", size = 125695, upload-time = "2025-08-07T18:17:57.333Z" }
|
|
527
532
|
wheels = [
|
|
528
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
533
|
+
{ url = "https://files.pythonhosted.org/packages/0a/7f/973b0d9729d9693d6e5b4bc5f3ae41138d194cb7b16b0ed230020beeb13a/langgraph_prebuilt-0.6.4-py3-none-any.whl", hash = "sha256:819f31d88b84cb2729ff1b79db2d51e9506b8fb7aaacfc0d359d4fe16e717344", size = 28025, upload-time = "2025-08-07T18:17:56.493Z" },
|
|
529
534
|
]
|
|
530
535
|
|
|
531
536
|
[[package]]
|
|
@@ -1028,27 +1033,27 @@ wheels = [
|
|
|
1028
1033
|
|
|
1029
1034
|
[[package]]
|
|
1030
1035
|
name = "ruff"
|
|
1031
|
-
version = "0.12.
|
|
1032
|
-
source = { registry = "https://pypi.org/simple" }
|
|
1033
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
1034
|
-
wheels = [
|
|
1035
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1036
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1037
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1038
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1039
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1040
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1041
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1042
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1043
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1044
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1045
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1046
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1047
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1048
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1049
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1050
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1051
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
1036
|
+
version = "0.12.8"
|
|
1037
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1038
|
+
sdist = { url = "https://files.pythonhosted.org/packages/4b/da/5bd7565be729e86e1442dad2c9a364ceeff82227c2dece7c29697a9795eb/ruff-0.12.8.tar.gz", hash = "sha256:4cb3a45525176e1009b2b64126acf5f9444ea59066262791febf55e40493a033", size = 5242373, upload-time = "2025-08-07T19:05:47.268Z" }
|
|
1039
|
+
wheels = [
|
|
1040
|
+
{ url = "https://files.pythonhosted.org/packages/c9/1e/c843bfa8ad1114fab3eb2b78235dda76acd66384c663a4e0415ecc13aa1e/ruff-0.12.8-py3-none-linux_armv6l.whl", hash = "sha256:63cb5a5e933fc913e5823a0dfdc3c99add73f52d139d6cd5cc8639d0e0465513", size = 11675315, upload-time = "2025-08-07T19:05:06.15Z" },
|
|
1041
|
+
{ url = "https://files.pythonhosted.org/packages/24/ee/af6e5c2a8ca3a81676d5480a1025494fd104b8896266502bb4de2a0e8388/ruff-0.12.8-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:9a9bbe28f9f551accf84a24c366c1aa8774d6748438b47174f8e8565ab9dedbc", size = 12456653, upload-time = "2025-08-07T19:05:09.759Z" },
|
|
1042
|
+
{ url = "https://files.pythonhosted.org/packages/99/9d/e91f84dfe3866fa648c10512904991ecc326fd0b66578b324ee6ecb8f725/ruff-0.12.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:2fae54e752a3150f7ee0e09bce2e133caf10ce9d971510a9b925392dc98d2fec", size = 11659690, upload-time = "2025-08-07T19:05:12.551Z" },
|
|
1043
|
+
{ url = "https://files.pythonhosted.org/packages/fe/ac/a363d25ec53040408ebdd4efcee929d48547665858ede0505d1d8041b2e5/ruff-0.12.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c0acbcf01206df963d9331b5838fb31f3b44fa979ee7fa368b9b9057d89f4a53", size = 11896923, upload-time = "2025-08-07T19:05:14.821Z" },
|
|
1044
|
+
{ url = "https://files.pythonhosted.org/packages/58/9f/ea356cd87c395f6ade9bb81365bd909ff60860975ca1bc39f0e59de3da37/ruff-0.12.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae3e7504666ad4c62f9ac8eedb52a93f9ebdeb34742b8b71cd3cccd24912719f", size = 11477612, upload-time = "2025-08-07T19:05:16.712Z" },
|
|
1045
|
+
{ url = "https://files.pythonhosted.org/packages/1a/46/92e8fa3c9dcfd49175225c09053916cb97bb7204f9f899c2f2baca69e450/ruff-0.12.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cb82efb5d35d07497813a1c5647867390a7d83304562607f3579602fa3d7d46f", size = 13182745, upload-time = "2025-08-07T19:05:18.709Z" },
|
|
1046
|
+
{ url = "https://files.pythonhosted.org/packages/5e/c4/f2176a310f26e6160deaf661ef60db6c3bb62b7a35e57ae28f27a09a7d63/ruff-0.12.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:dbea798fc0065ad0b84a2947b0aff4233f0cb30f226f00a2c5850ca4393de609", size = 14206885, upload-time = "2025-08-07T19:05:21.025Z" },
|
|
1047
|
+
{ url = "https://files.pythonhosted.org/packages/87/9d/98e162f3eeeb6689acbedbae5050b4b3220754554526c50c292b611d3a63/ruff-0.12.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:49ebcaccc2bdad86fd51b7864e3d808aad404aab8df33d469b6e65584656263a", size = 13639381, upload-time = "2025-08-07T19:05:23.423Z" },
|
|
1048
|
+
{ url = "https://files.pythonhosted.org/packages/81/4e/1b7478b072fcde5161b48f64774d6edd59d6d198e4ba8918d9f4702b8043/ruff-0.12.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ac9c570634b98c71c88cb17badd90f13fc076a472ba6ef1d113d8ed3df109fb", size = 12613271, upload-time = "2025-08-07T19:05:25.507Z" },
|
|
1049
|
+
{ url = "https://files.pythonhosted.org/packages/e8/67/0c3c9179a3ad19791ef1b8f7138aa27d4578c78700551c60d9260b2c660d/ruff-0.12.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:560e0cd641e45591a3e42cb50ef61ce07162b9c233786663fdce2d8557d99818", size = 12847783, upload-time = "2025-08-07T19:05:28.14Z" },
|
|
1050
|
+
{ url = "https://files.pythonhosted.org/packages/4e/2a/0b6ac3dd045acf8aa229b12c9c17bb35508191b71a14904baf99573a21bd/ruff-0.12.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:71c83121512e7743fba5a8848c261dcc454cafb3ef2934a43f1b7a4eb5a447ea", size = 11702672, upload-time = "2025-08-07T19:05:30.413Z" },
|
|
1051
|
+
{ url = "https://files.pythonhosted.org/packages/9d/ee/f9fdc9f341b0430110de8b39a6ee5fa68c5706dc7c0aa940817947d6937e/ruff-0.12.8-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:de4429ef2ba091ecddedd300f4c3f24bca875d3d8b23340728c3cb0da81072c3", size = 11440626, upload-time = "2025-08-07T19:05:32.492Z" },
|
|
1052
|
+
{ url = "https://files.pythonhosted.org/packages/89/fb/b3aa2d482d05f44e4d197d1de5e3863feb13067b22c571b9561085c999dc/ruff-0.12.8-py3-none-musllinux_1_2_i686.whl", hash = "sha256:a2cab5f60d5b65b50fba39a8950c8746df1627d54ba1197f970763917184b161", size = 12462162, upload-time = "2025-08-07T19:05:34.449Z" },
|
|
1053
|
+
{ url = "https://files.pythonhosted.org/packages/18/9f/5c5d93e1d00d854d5013c96e1a92c33b703a0332707a7cdbd0a4880a84fb/ruff-0.12.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:45c32487e14f60b88aad6be9fd5da5093dbefb0e3e1224131cb1d441d7cb7d46", size = 12913212, upload-time = "2025-08-07T19:05:36.541Z" },
|
|
1054
|
+
{ url = "https://files.pythonhosted.org/packages/71/13/ab9120add1c0e4604c71bfc2e4ef7d63bebece0cfe617013da289539cef8/ruff-0.12.8-py3-none-win32.whl", hash = "sha256:daf3475060a617fd5bc80638aeaf2f5937f10af3ec44464e280a9d2218e720d3", size = 11694382, upload-time = "2025-08-07T19:05:38.468Z" },
|
|
1055
|
+
{ url = "https://files.pythonhosted.org/packages/f6/dc/a2873b7c5001c62f46266685863bee2888caf469d1edac84bf3242074be2/ruff-0.12.8-py3-none-win_amd64.whl", hash = "sha256:7209531f1a1fcfbe8e46bcd7ab30e2f43604d8ba1c49029bb420b103d0b5f76e", size = 12740482, upload-time = "2025-08-07T19:05:40.391Z" },
|
|
1056
|
+
{ url = "https://files.pythonhosted.org/packages/cb/5c/799a1efb8b5abab56e8a9f2a0b72d12bd64bb55815e9476c7d0a2887d2f7/ruff-0.12.8-py3-none-win_arm64.whl", hash = "sha256:c90e1a334683ce41b0e7a04f41790c429bf5073b62c1ae701c9dc5b3d14f0749", size = 11884718, upload-time = "2025-08-07T19:05:42.866Z" },
|
|
1052
1057
|
]
|
|
1053
1058
|
|
|
1054
1059
|
[[package]]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.2.129"
|
|
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.129 → langgraph_api-0.2.130}/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
|