langgraph-api 0.2.129__py3-none-any.whl → 0.2.130__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 CHANGED
@@ -1 +1 @@
1
- __version__ = "0.2.129"
1
+ __version__ = "0.2.130"
langgraph_api/config.py CHANGED
@@ -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
 
langgraph_api/js/base.py CHANGED
@@ -57,6 +57,3 @@ class BaseRemotePregel(Runnable):
57
57
 
58
58
  # Config passed from get_graph()
59
59
  config: Config
60
-
61
- async def get_nodes_executed(self) -> int:
62
- return 0
@@ -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
- app.post(
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 should_include_header
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 should_include_header(key):
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 "reject"
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
 
langgraph_api/route.py CHANGED
@@ -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
- self._json = await run_in_threadpool(_json_loads, body, schema)
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
 
langgraph_api/stream.py CHANGED
@@ -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() -> tuple[
28
- list[re.Pattern[str]] | None, list[re.Pattern[str]] | None
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("configurable_headers")
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
langgraph_api/worker.py CHANGED
@@ -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, run["thread_id"], run_id, status, checkpoint=checkpoint
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, run["thread_id"], run_id, status, checkpoint=checkpoint
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, run["thread_id"], run_id, status, checkpoint, exception
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, run["thread_id"], run_id, status, checkpoint, exception
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: langgraph-api
3
- Version: 0.2.129
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.9
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
@@ -1,9 +1,9 @@
1
- langgraph_api/__init__.py,sha256=HccA10414fLnmUwuQYGEKdJkoD7ewxAva8kIUEgZE6c,24
1
+ langgraph_api/__init__.py,sha256=hjIS6bolukh3yLZ2XyKHseHoPY8F8ialJ2zwImBGoL8,24
2
2
  langgraph_api/asgi_transport.py,sha256=eqifhHxNnxvI7jJqrY1_8RjL4Fp9NdN4prEub2FWBt8,5091
3
3
  langgraph_api/asyncio.py,sha256=Wv4Rwm-a-Cf6JpfgJmVuVlXQ7SlwrjbTn0eq1ux8I2Q,9652
4
4
  langgraph_api/cli.py,sha256=xQojITwmmKSJw48Lr2regcnRPRq2FJqWlPpeyr5TgbU,16158
5
5
  langgraph_api/command.py,sha256=3O9v3i0OPa96ARyJ_oJbLXkfO8rPgDhLCswgO9koTFA,768
6
- langgraph_api/config.py,sha256=P89uB2IOycXW0qD0bb3stiaN2xAv7ixw_vqBWHM94Bw,11997
6
+ langgraph_api/config.py,sha256=Cr2o0wh_xIdbArlJs4gU9kOThwVQuMU8UdX-xKZjDAQ,12112
7
7
  langgraph_api/cron_scheduler.py,sha256=CiwZ-U4gDOdG9zl9dlr7mH50USUgNB2Fvb8YTKVRBN4,2625
8
8
  langgraph_api/errors.py,sha256=zlnl3xXIwVG0oGNKKpXf1an9Rn_SBDHSyhe53hU6aLw,1858
9
9
  langgraph_api/feature_flags.py,sha256=GjwmNjfg0Jhs3OzR2VbK2WgrRy3o5l8ibIYiUtQkDPA,363
@@ -14,20 +14,20 @@ langgraph_api/logging.py,sha256=4K1Fnq8rrGC9CqJubZtP34Y9P2zh7VXf_41q7bH3OXU,4849
14
14
  langgraph_api/metadata.py,sha256=fVsbwxVitAj4LGVYpCcadYeIFANEaNtcx6LBxQLcTqg,6949
15
15
  langgraph_api/patch.py,sha256=Dgs0PXHytekX4SUL6KsjjN0hHcOtGLvv1GRGbh6PswU,1408
16
16
  langgraph_api/queue_entrypoint.py,sha256=JzJCB3iYvep-GoAHQ_-H2ZxXVgmzYfvjQsmdBRxgdwM,5444
17
- langgraph_api/route.py,sha256=4VBkJMeusfiZtLzyUaKm1HwLHTq0g15y2CRiRhM6xyA,4773
17
+ langgraph_api/route.py,sha256=PEM5sZk-wtoH6dA9jI5M4z9lL0ZFybWllDQGOapMG8k,5026
18
18
  langgraph_api/schema.py,sha256=1L7g4TUJjmsaBUCSThycH11-hrdPLxB6mtc3tIHmpbM,6371
19
19
  langgraph_api/serde.py,sha256=0ALETUn582vNF-m0l_WOZGF_scL1VPA39fDkwMJQPrg,5187
20
20
  langgraph_api/server.py,sha256=9Y3qPixq2MuTs2tTB3CCW4cT5ueFJK7yce3GwHyi_L0,7093
21
21
  langgraph_api/sse.py,sha256=SLdtZmTdh5D8fbWrQjuY9HYLd2dg8Rmi6ZMmFMVc2iE,4204
22
22
  langgraph_api/state.py,sha256=P2mCo-0bqPu2v9FSFGJtUCjPPNvv6wLUKQh8SdxAtc8,4387
23
23
  langgraph_api/store.py,sha256=srRI0fQXNFo_RSUs4apucr4BEp_KrIseJksZXs32MlQ,4635
24
- langgraph_api/stream.py,sha256=ABYlcmNLqElA71Mn8I3cejBeSJaf5ZhdA-ymfs0uZEw,17517
24
+ langgraph_api/stream.py,sha256=52M_Yfrfm8EVxt3nVygYUqrL9AVz1PHaqdrz-VZMsoM,17603
25
25
  langgraph_api/thread_ttl.py,sha256=7H3gFlWcUiODPoaEzcwB0LR61uvcuyjD0ew_4BztB7k,1902
26
26
  langgraph_api/traceblock.py,sha256=2aWS6TKGTcQ0G1fOtnjVrzkpeGvDsR0spDbfddEqgRU,594
27
27
  langgraph_api/utils.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  langgraph_api/validation.py,sha256=zMuKmwUEBjBgFMwAaeLZmatwGVijKv2sOYtYg7gfRtc,4950
29
29
  langgraph_api/webhook.py,sha256=VCJp4dI5E1oSJ15XP34cnPiOi8Ya8Q1BnBwVGadOpLI,1636
30
- langgraph_api/worker.py,sha256=0Yt3L4_D0vu0rL2l8ZeQIin-X12H6WPRQeLxYiKYMSo,14458
30
+ langgraph_api/worker.py,sha256=D01mDbRFvAG6Blanq3QQsM1ovlQ87qal9zo4v0En3ss,15170
31
31
  langgraph_api/api/__init__.py,sha256=WHy6oNLWtH1K7AxmmsU9RD-Vm6WP-Ov16xS8Ey9YCmQ,6090
32
32
  langgraph_api/api/assistants.py,sha256=ecHaID71ReTAZF4qsJzDe5L-2T5iOL2v8p6kQVHLKFk,16009
33
33
  langgraph_api/api/mcp.py,sha256=qe10ZRMN3f-Hli-9TI8nbQyWvMeBb72YB1PZVbyqBQw,14418
@@ -48,14 +48,14 @@ langgraph_api/auth/langsmith/client.py,sha256=eKchvAom7hdkUXauD8vHNceBDDUijrFgdT
48
48
  langgraph_api/js/.gitignore,sha256=l5yI6G_V6F1600I1IjiUKn87f4uYIrBAYU1MOyBBhg4,59
49
49
  langgraph_api/js/.prettierrc,sha256=0es3ovvyNIqIw81rPQsdt1zCQcOdBqyR_DMbFE4Ifms,19
50
50
  langgraph_api/js/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
- langgraph_api/js/base.py,sha256=GORqRDbGAOQX2ygT6dMcqBDCA9tdAp8EpG4bfqUPMg4,1198
51
+ langgraph_api/js/base.py,sha256=CJihwc51MwOVkis80f8zudRa1fQz_5jrom4rY8trww8,1133
52
52
  langgraph_api/js/build.mts,sha256=bRQo11cglDFXlLN7Y48CQPTSMLenp7MqIWuP1DkSIo0,3139
53
53
  langgraph_api/js/client.http.mts,sha256=AGA-p8J85IcNh2oXZjDxHQ4PnQdJmt-LPcpZp6j0Cws,4687
54
- langgraph_api/js/client.mts,sha256=egwta8-jqZRPInAlkphsQGGAObF3R8zKChaKoSTqKYk,32102
54
+ langgraph_api/js/client.mts,sha256=gXyDKX9yiEx1DOmmx005i90Qh_9zgFc-ot0l7v2_xUM,32053
55
55
  langgraph_api/js/errors.py,sha256=Cm1TKWlUCwZReDC5AQ6SgNIVGD27Qov2xcgHyf8-GXo,361
56
56
  langgraph_api/js/global.d.ts,sha256=j4GhgtQSZ5_cHzjSPcHgMJ8tfBThxrH-pUOrrJGteOU,196
57
57
  langgraph_api/js/package.json,sha256=93_RZHDEggtEUJ-DburVd5D9Y9ceD_5mSc23go1BfPw,1335
58
- langgraph_api/js/remote.py,sha256=iMsdDsixqWDCASMkaxVTK4S1XB9cXgwAIF9XaNYl9EY,38000
58
+ langgraph_api/js/remote.py,sha256=ipUB8MTfTt5V_3P8-ffQ3OqGkRqYomBSPiZkYv3gA6s,38192
59
59
  langgraph_api/js/schema.py,sha256=M4fLtr50O1jck8H1hm_0W4cZOGYGdkrB7riLyCes4oY,438
60
60
  langgraph_api/js/sse.py,sha256=lsfp4nyJyA1COmlKG9e2gJnTttf_HGCB5wyH8OZBER8,4105
61
61
  langgraph_api/js/traceblock.mts,sha256=QtGSN5VpzmGqDfbArrGXkMiONY94pMQ5CgzetT_bKYg,761
@@ -70,17 +70,17 @@ langgraph_api/js/src/utils/importMap.mts,sha256=pX4TGOyUpuuWF82kXcxcv3-8mgusRezO
70
70
  langgraph_api/js/src/utils/pythonSchemas.mts,sha256=98IW7Z_VP7L_CHNRMb3_MsiV3BgLE2JsWQY_PQcRR3o,685
71
71
  langgraph_api/js/src/utils/serde.mts,sha256=D9o6MwTgwPezC_DEmsWS5NnLPnjPMVWIb1I1D4QPEPo,743
72
72
  langgraph_api/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
- langgraph_api/middleware/http_logger.py,sha256=tUdWuIKtDa2EkFtG_kCjw1Wkgv7gbGH3hZSgWM5Pta4,3892
73
+ langgraph_api/middleware/http_logger.py,sha256=JvMh22UpbMFO-kX195gVGHIPrN4JauL7dXC2X5tW9GA,3908
74
74
  langgraph_api/middleware/private_network.py,sha256=eYgdyU8AzU2XJu362i1L8aSFoQRiV7_aLBPw7_EgeqI,2111
75
75
  langgraph_api/middleware/request_id.py,sha256=SDj3Yi3WvTbFQ2ewrPQBjAV8sYReOJGeIiuoHeZpR9g,1242
76
76
  langgraph_api/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
- langgraph_api/models/run.py,sha256=kfoNs-PdurTsaV9tpQzaR59aRXPFYMJNJbDz4uH7Dis,15323
77
+ langgraph_api/models/run.py,sha256=fQyWIrNFSr0LQyLBAaQTl8R7jd3UhqTrzAwR54y5h4s,15324
78
78
  langgraph_api/tunneling/cloudflare.py,sha256=iKb6tj-VWPlDchHFjuQyep2Dpb-w2NGfJKt-WJG9LH0,3650
79
79
  langgraph_api/utils/__init__.py,sha256=EQu0PShwHhxUI_9mDFgqlAf5_y5bX8TEk723P5iby24,4161
80
80
  langgraph_api/utils/cache.py,sha256=SrtIWYibbrNeZzLXLUGBFhJPkMVNQnVxR5giiYGHEfI,1810
81
81
  langgraph_api/utils/config.py,sha256=gONI0UsoSpuR72D9lSGAmpr-_iSMDFdD4M_tiXXjmNk,3936
82
82
  langgraph_api/utils/future.py,sha256=CGhUb_Ht4_CnTuXc2kI8evEn1gnMKYN0ce9ZyUkW5G4,7251
83
- langgraph_api/utils/headers.py,sha256=fRZWsR279KOlbfbdcoajguVDDgVdN7V2OYkWxnHeXCE,2239
83
+ langgraph_api/utils/headers.py,sha256=Mfh8NEbb0leaTDQPZNUwQBlBmG8snKFftvPzJ5qSgC4,2777
84
84
  langgraph_license/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
85
  langgraph_license/validation.py,sha256=CU38RUZ5xhP1S8F_y8TNeV6OmtO-tIGjCXbXTwJjJO4,612
86
86
  langgraph_runtime/__init__.py,sha256=O4GgSmu33c-Pr8Xzxj_brcK5vkm70iNTcyxEjICFZxA,1075
@@ -94,9 +94,9 @@ langgraph_runtime/retry.py,sha256=V0duD01fO7GUQ_btQkp1aoXcEOFhXooGVP6q4yMfuyY,11
94
94
  langgraph_runtime/store.py,sha256=7mowndlsIroGHv3NpTSOZDJR0lCuaYMBoTnTrewjslw,114
95
95
  LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
96
96
  logging.json,sha256=3RNjSADZmDq38eHePMm1CbP6qZ71AmpBtLwCmKU9Zgo,379
97
- openapi.json,sha256=SPCrzYpta2xTl-WE2W6qwosYdQqLeB8qpzaYEbcK44k,150725
98
- langgraph_api-0.2.129.dist-info/METADATA,sha256=sSSIekJ2xlZNS6V6rXhkLiMouTrMysiZAyuV8SeMhpw,3890
99
- langgraph_api-0.2.129.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
100
- langgraph_api-0.2.129.dist-info/entry_points.txt,sha256=hGedv8n7cgi41PypMfinwS_HfCwA7xJIfS0jAp8htV8,78
101
- langgraph_api-0.2.129.dist-info/licenses/LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
102
- langgraph_api-0.2.129.dist-info/RECORD,,
97
+ openapi.json,sha256=vPWB-A1eCJZL5i7VjwAMuIn0E2oEF2hD0UeYnftK_LM,150727
98
+ langgraph_api-0.2.130.dist-info/METADATA,sha256=si_hOiu73CD_2DOzRVSUIaIs-Srr2HSevppWARQFroQ,3891
99
+ langgraph_api-0.2.130.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
100
+ langgraph_api-0.2.130.dist-info/entry_points.txt,sha256=hGedv8n7cgi41PypMfinwS_HfCwA7xJIfS0jAp8htV8,78
101
+ langgraph_api-0.2.130.dist-info/licenses/LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
102
+ langgraph_api-0.2.130.dist-info/RECORD,,
openapi.json CHANGED
@@ -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": "reject"
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": "reject"
4081
+ "default": "enqueue"
4082
4082
  },
4083
4083
  "if_not_exists": {
4084
4084
  "type": "string",