langgraph-api 0.0.28__py3-none-any.whl → 0.0.30__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/api/__init__.py +2 -0
- langgraph_api/api/runs.py +2 -0
- langgraph_api/auth/custom.py +6 -2
- langgraph_api/auth/middleware.py +5 -0
- langgraph_api/js/client.mts +4 -2
- langgraph_api/js/src/parser/parser.mts +5 -0
- langgraph_api/js/src/schema/types.mts +0 -120
- langgraph_api/js/src/schema/types.template.mts +13 -11
- langgraph_api/logging.py +4 -3
- {langgraph_api-0.0.28.dist-info → langgraph_api-0.0.30.dist-info}/METADATA +1 -1
- {langgraph_api-0.0.28.dist-info → langgraph_api-0.0.30.dist-info}/RECORD +15 -15
- langgraph_storage/ops.py +1 -1
- {langgraph_api-0.0.28.dist-info → langgraph_api-0.0.30.dist-info}/LICENSE +0 -0
- {langgraph_api-0.0.28.dist-info → langgraph_api-0.0.30.dist-info}/WHEEL +0 -0
- {langgraph_api-0.0.28.dist-info → langgraph_api-0.0.30.dist-info}/entry_points.txt +0 -0
langgraph_api/api/__init__.py
CHANGED
|
@@ -64,6 +64,8 @@ if HTTP_CONFIG:
|
|
|
64
64
|
protected_routes.extend(threads_routes)
|
|
65
65
|
if not HTTP_CONFIG.get("disable_store"):
|
|
66
66
|
protected_routes.extend(store_routes)
|
|
67
|
+
if not HTTP_CONFIG.get("disable_ui"):
|
|
68
|
+
protected_routes.extend(ui_routes)
|
|
67
69
|
else:
|
|
68
70
|
protected_routes.extend(assistants_routes)
|
|
69
71
|
protected_routes.extend(runs_routes)
|
langgraph_api/api/runs.py
CHANGED
|
@@ -354,11 +354,13 @@ async def join_run_stream_endpoint(request: ApiRequest):
|
|
|
354
354
|
cancel_on_disconnect = cancel_on_disconnect_str.lower() in {"true", "yes", "1"}
|
|
355
355
|
validate_uuid(thread_id, "Invalid thread ID: must be a UUID")
|
|
356
356
|
validate_uuid(run_id, "Invalid run ID: must be a UUID")
|
|
357
|
+
stream_mode = request.query_params.get("stream_mode")
|
|
357
358
|
return EventSourceResponse(
|
|
358
359
|
Runs.Stream.join(
|
|
359
360
|
run_id,
|
|
360
361
|
thread_id=thread_id,
|
|
361
362
|
cancel_on_disconnect=cancel_on_disconnect,
|
|
363
|
+
stream_mode=stream_mode,
|
|
362
364
|
)
|
|
363
365
|
)
|
|
364
366
|
|
langgraph_api/auth/custom.py
CHANGED
|
@@ -18,6 +18,7 @@ from starlette.authentication import (
|
|
|
18
18
|
BaseUser,
|
|
19
19
|
)
|
|
20
20
|
from starlette.concurrency import run_in_threadpool
|
|
21
|
+
from starlette.datastructures import QueryParams
|
|
21
22
|
from starlette.exceptions import HTTPException
|
|
22
23
|
from starlette.requests import HTTPConnection, Request
|
|
23
24
|
from starlette.responses import Response
|
|
@@ -37,7 +38,7 @@ SUPPORTED_PARAMETERS = {
|
|
|
37
38
|
"scopes": list[str],
|
|
38
39
|
"path_params": dict[str, str] | None,
|
|
39
40
|
"query_params": dict[str, str] | None,
|
|
40
|
-
"headers": dict[
|
|
41
|
+
"headers": dict[bytes, bytes] | None,
|
|
41
42
|
"authorization": str | None,
|
|
42
43
|
"scope": dict[str, Any],
|
|
43
44
|
}
|
|
@@ -271,7 +272,7 @@ def _extract_arguments_from_scope(
|
|
|
271
272
|
if "path" in param_names:
|
|
272
273
|
args["path"] = scope["path"]
|
|
273
274
|
if "query_params" in param_names:
|
|
274
|
-
args["query_params"] = scope.get("
|
|
275
|
+
args["query_params"] = QueryParams(scope.get("query_string"))
|
|
275
276
|
if "headers" in param_names:
|
|
276
277
|
args["headers"] = dict(scope.get("headers", {}))
|
|
277
278
|
if "authorization" in param_names:
|
|
@@ -478,6 +479,9 @@ class ProxyUser(BaseUser):
|
|
|
478
479
|
"""Proxy any other attributes to the underlying user object."""
|
|
479
480
|
return getattr(self._user, name)
|
|
480
481
|
|
|
482
|
+
def __str__(self) -> str:
|
|
483
|
+
return f"{self._user}"
|
|
484
|
+
|
|
481
485
|
|
|
482
486
|
class SimpleUser(ProxyUser):
|
|
483
487
|
def __init__(self, username: str):
|
langgraph_api/auth/middleware.py
CHANGED
|
@@ -42,6 +42,11 @@ class ConditionalAuthenticationMiddleware(AuthenticationMiddleware):
|
|
|
42
42
|
await self.app(scope, receive, send)
|
|
43
43
|
return
|
|
44
44
|
|
|
45
|
+
if scope["path"].startswith("/ui") and scope["method"] == "GET":
|
|
46
|
+
# disable auth for UI asset requests
|
|
47
|
+
await self.app(scope, receive, send)
|
|
48
|
+
return
|
|
49
|
+
|
|
45
50
|
return await super().__call__(scope, receive, send)
|
|
46
51
|
|
|
47
52
|
|
langgraph_api/js/client.mts
CHANGED
|
@@ -493,6 +493,7 @@ const StreamModeSchema = z.union([
|
|
|
493
493
|
z.literal("updates"),
|
|
494
494
|
z.literal("debug"),
|
|
495
495
|
z.literal("values"),
|
|
496
|
+
z.literal("custom"),
|
|
496
497
|
]);
|
|
497
498
|
|
|
498
499
|
const ExtraStreamModeSchema = z.union([
|
|
@@ -529,8 +530,9 @@ async function* streamEventsRequest(
|
|
|
529
530
|
? payload.stream_mode
|
|
530
531
|
: [payload.stream_mode];
|
|
531
532
|
|
|
532
|
-
const graphStreamMode: Set<
|
|
533
|
-
|
|
533
|
+
const graphStreamMode: Set<
|
|
534
|
+
"updates" | "debug" | "values" | "messages" | "custom"
|
|
535
|
+
> = new Set();
|
|
534
536
|
if (payload.stream_mode) {
|
|
535
537
|
for (const mode of userStreamMode) {
|
|
536
538
|
if (mode === "messages") {
|
|
@@ -348,6 +348,11 @@ export class SubgraphExtractor {
|
|
|
348
348
|
|
|
349
349
|
const fsMap = new Map<string, string>();
|
|
350
350
|
const system = vfs.createFSBackedSystem(fsMap, dirname, ts);
|
|
351
|
+
|
|
352
|
+
// TODO: investigate if we should create a PR in @typescript/vfs
|
|
353
|
+
const oldReadFile = system.readFile.bind(system);
|
|
354
|
+
system.readFile = (fileName) => oldReadFile(fileName) ?? "// Non-existent file";
|
|
355
|
+
|
|
351
356
|
const host = vfs.createVirtualCompilerHost(system, compilerOptions, ts);
|
|
352
357
|
|
|
353
358
|
const targetPath =
|
|
@@ -2014,123 +2014,3 @@ export function buildGenerator(
|
|
|
2014
2014
|
settings
|
|
2015
2015
|
);
|
|
2016
2016
|
}
|
|
2017
|
-
|
|
2018
|
-
export async function extractGraphSchema(
|
|
2019
|
-
id: string,
|
|
2020
|
-
userPath: string,
|
|
2021
|
-
exportName: string
|
|
2022
|
-
) {
|
|
2023
|
-
const filePath = path.resolve(process.cwd(), userPath);
|
|
2024
|
-
const parentPath = path.dirname(filePath);
|
|
2025
|
-
|
|
2026
|
-
const typePath = path.resolve(parentPath, `__$0${id}.mts`);
|
|
2027
|
-
const importPath = path.relative(parentPath, filePath);
|
|
2028
|
-
|
|
2029
|
-
try {
|
|
2030
|
-
await fs.writeFile(
|
|
2031
|
-
typePath,
|
|
2032
|
-
dedent`
|
|
2033
|
-
import { ${exportName} as __graph } from "./${importPath}";
|
|
2034
|
-
import type { BaseMessage } from "@langchain/core/messages";
|
|
2035
|
-
import type {
|
|
2036
|
-
StateType,
|
|
2037
|
-
UpdateType,
|
|
2038
|
-
StateDefinition,
|
|
2039
|
-
} from "@langchain/langgraph";
|
|
2040
|
-
|
|
2041
|
-
type Wrap<T> = (a: T) => void;
|
|
2042
|
-
type MatchBaseMessage<T> = T extends BaseMessage ? BaseMessage : never;
|
|
2043
|
-
type MatchBaseMessageArray<T> =
|
|
2044
|
-
T extends Array<infer C>
|
|
2045
|
-
? Wrap<MatchBaseMessage<C>> extends Wrap<BaseMessage>
|
|
2046
|
-
? BaseMessage[]
|
|
2047
|
-
: never
|
|
2048
|
-
: never;
|
|
2049
|
-
|
|
2050
|
-
type Defactorify<T> = T extends (...args: any[]) => infer R
|
|
2051
|
-
? Awaited<R>
|
|
2052
|
-
: Awaited<T>;
|
|
2053
|
-
|
|
2054
|
-
type Inspect<T> = T extends unknown
|
|
2055
|
-
? {
|
|
2056
|
-
[K in keyof T]: 0 extends 1 & T[K]
|
|
2057
|
-
? T[K]
|
|
2058
|
-
: Wrap<MatchBaseMessageArray<T[K]>> extends Wrap<BaseMessage[]>
|
|
2059
|
-
? BaseMessage[]
|
|
2060
|
-
: Wrap<MatchBaseMessage<T[K]>> extends Wrap<BaseMessage>
|
|
2061
|
-
? BaseMessage
|
|
2062
|
-
: Inspect<T[K]>;
|
|
2063
|
-
}
|
|
2064
|
-
: never;
|
|
2065
|
-
|
|
2066
|
-
type ReflectCompiled<T> = T extends { RunInput: infer S; RunOutput: infer U }
|
|
2067
|
-
? { state: S; update: U }
|
|
2068
|
-
: never;
|
|
2069
|
-
|
|
2070
|
-
type Reflect<T> =
|
|
2071
|
-
Defactorify<T> extends infer DT
|
|
2072
|
-
? DT extends {
|
|
2073
|
-
compile(...args: any[]): infer Compiled;
|
|
2074
|
-
}
|
|
2075
|
-
? ReflectCompiled<Compiled>
|
|
2076
|
-
: ReflectCompiled<DT>
|
|
2077
|
-
: never;
|
|
2078
|
-
|
|
2079
|
-
type __reflect = Reflect<typeof __graph>;
|
|
2080
|
-
export type __state = Inspect<__reflect["state"]>;
|
|
2081
|
-
export type __update = Inspect<__reflect["update"]>;
|
|
2082
|
-
|
|
2083
|
-
type BuilderReflectCompiled<T> = T extends {
|
|
2084
|
-
builder: {
|
|
2085
|
-
_inputDefinition: infer I extends StateDefinition;
|
|
2086
|
-
_outputDefinition: infer O extends StateDefinition;
|
|
2087
|
-
_configSchema?: infer C extends StateDefinition | undefined;
|
|
2088
|
-
};
|
|
2089
|
-
}
|
|
2090
|
-
? { input: UpdateType<I>; output: StateType<O>; config: UpdateType<C> }
|
|
2091
|
-
: never;
|
|
2092
|
-
|
|
2093
|
-
type BuilderReflect<T> =
|
|
2094
|
-
Defactorify<T> extends infer DT
|
|
2095
|
-
? DT extends {
|
|
2096
|
-
compile(...args: any[]): infer Compiled;
|
|
2097
|
-
}
|
|
2098
|
-
? BuilderReflectCompiled<Compiled>
|
|
2099
|
-
: BuilderReflectCompiled<DT>
|
|
2100
|
-
: never;
|
|
2101
|
-
|
|
2102
|
-
type __builder = BuilderReflect<typeof __graph>;
|
|
2103
|
-
type FilterAny<T> = 0 extends 1 & T ? never : T;
|
|
2104
|
-
export type __input = Inspect<FilterAny<__builder["input"]>>;
|
|
2105
|
-
export type __output = Inspect<FilterAny<__builder["output"]>>;
|
|
2106
|
-
export type __config = Inspect<FilterAny<__builder["config"]>>;
|
|
2107
|
-
`
|
|
2108
|
-
);
|
|
2109
|
-
const program = ts.createProgram([typePath], {
|
|
2110
|
-
noEmit: true,
|
|
2111
|
-
strict: true,
|
|
2112
|
-
allowUnusedLabels: true,
|
|
2113
|
-
});
|
|
2114
|
-
|
|
2115
|
-
const schema = buildGenerator(program);
|
|
2116
|
-
|
|
2117
|
-
const trySymbol = (schema: JsonSchemaGenerator | null, symbol: string) => {
|
|
2118
|
-
try {
|
|
2119
|
-
return schema?.getSchemaForSymbol(symbol) ?? undefined;
|
|
2120
|
-
} catch (e) {
|
|
2121
|
-
console.error(`Failed to obtain symbol "${symbol}":`, e?.message);
|
|
2122
|
-
}
|
|
2123
|
-
return undefined;
|
|
2124
|
-
};
|
|
2125
|
-
|
|
2126
|
-
return {
|
|
2127
|
-
state: trySymbol(schema, "__state"),
|
|
2128
|
-
update: trySymbol(schema, "__update"),
|
|
2129
|
-
input: trySymbol(schema, "__input"),
|
|
2130
|
-
output: trySymbol(schema, "__output"),
|
|
2131
|
-
config: trySymbol(schema, "__config"),
|
|
2132
|
-
};
|
|
2133
|
-
} finally {
|
|
2134
|
-
await fs.unlink(typePath);
|
|
2135
|
-
}
|
|
2136
|
-
}
|
|
@@ -23,17 +23,19 @@ type Defactorify<T> = T extends (...args: any[]) => infer R
|
|
|
23
23
|
? Awaited<R>
|
|
24
24
|
: Awaited<T>;
|
|
25
25
|
|
|
26
|
-
type Inspect<T> =
|
|
27
|
-
?
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
?
|
|
32
|
-
: Wrap<
|
|
33
|
-
? BaseMessage
|
|
34
|
-
:
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
type Inspect<T, CNT extends Array<0> = []> = CNT extends [0, 0, 0]
|
|
27
|
+
? any
|
|
28
|
+
: T extends unknown
|
|
29
|
+
? {
|
|
30
|
+
[K in keyof T]: 0 extends 1 & T[K]
|
|
31
|
+
? T[K]
|
|
32
|
+
: Wrap<MatchBaseMessageArray<T[K]>> extends Wrap<BaseMessage[]>
|
|
33
|
+
? BaseMessage[]
|
|
34
|
+
: Wrap<MatchBaseMessage<T[K]>> extends Wrap<BaseMessage>
|
|
35
|
+
? BaseMessage
|
|
36
|
+
: Inspect<T[K], [0, ...CNT]>;
|
|
37
|
+
}
|
|
38
|
+
: never;
|
|
37
39
|
|
|
38
40
|
type ReflectCompiled<T> = T extends { RunInput: infer S; RunOutput: infer U }
|
|
39
41
|
? { state: S; update: U }
|
langgraph_api/logging.py
CHANGED
|
@@ -6,9 +6,6 @@ import structlog
|
|
|
6
6
|
from starlette.config import Config
|
|
7
7
|
from structlog.typing import EventDict
|
|
8
8
|
|
|
9
|
-
from langgraph_api.metadata import append_log
|
|
10
|
-
from langgraph_api.serde import json_dumpb
|
|
11
|
-
|
|
12
9
|
# env
|
|
13
10
|
|
|
14
11
|
log_env = Config()
|
|
@@ -52,6 +49,8 @@ class JSONRenderer:
|
|
|
52
49
|
"""
|
|
53
50
|
The return type of this depends on the return type of self._dumps.
|
|
54
51
|
"""
|
|
52
|
+
from langgraph_api.serde import json_dumpb
|
|
53
|
+
|
|
55
54
|
return json_dumpb(event_dict).decode()
|
|
56
55
|
|
|
57
56
|
|
|
@@ -69,6 +68,8 @@ class TapForMetadata:
|
|
|
69
68
|
event_dict["logger"].startswith("langgraph")
|
|
70
69
|
and LEVELS[event_dict["level"].upper()] > LEVELS["INFO"]
|
|
71
70
|
):
|
|
71
|
+
from langgraph_api.metadata import append_log
|
|
72
|
+
|
|
72
73
|
append_log(event_dict.copy())
|
|
73
74
|
return event_dict
|
|
74
75
|
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
|
|
2
2
|
langgraph_api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
langgraph_api/api/__init__.py,sha256=
|
|
3
|
+
langgraph_api/api/__init__.py,sha256=B2kHOBhKjBRdNiWPljYuJFxP__wYPCvgtgTaWYKZGTQ,5129
|
|
4
4
|
langgraph_api/api/assistants.py,sha256=6K5HTUjl7lQv0sVRe4RURPrLzTW-BblUjbSYHeN2PfQ,13992
|
|
5
5
|
langgraph_api/api/meta.py,sha256=ifJ_Ki0Qf2DYbmY6OKlqKhLGxbt55gm0lEqH1A0cJbw,2790
|
|
6
6
|
langgraph_api/api/openapi.py,sha256=f9gfmWN2AMKNUpLCpSgZuw_aeOF9jCXPdOtFT5PaTWM,10960
|
|
7
|
-
langgraph_api/api/runs.py,sha256=
|
|
7
|
+
langgraph_api/api/runs.py,sha256=0eS92Wl2f3LCgImkYLCjt-HyuMZjB1gTx0a9JtV2EqE,16669
|
|
8
8
|
langgraph_api/api/store.py,sha256=VzAJVOwO0IxosBB7km5TTf2rhlWGyPkVz_LpvbxetVY,5437
|
|
9
9
|
langgraph_api/api/threads.py,sha256=taU61XPcCEhBPCYPZcMDsgVDwwWUWJs8p-PrXFXWY48,8661
|
|
10
10
|
langgraph_api/api/ui.py,sha256=LiOZVewKOPbKEykCm30hCEaOA7vuS_Ti5hB32EEy4vw,2082
|
|
11
11
|
langgraph_api/asyncio.py,sha256=ipxOGL0CuKZeHw8895ojtfoBU2fj0iJOp48uhiLAmss,7786
|
|
12
12
|
langgraph_api/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
-
langgraph_api/auth/custom.py,sha256=
|
|
13
|
+
langgraph_api/auth/custom.py,sha256=z69UvpG7wPSXtRmp_UFmA8fY7HeQD4AEIWu3qlpJOBc,21210
|
|
14
14
|
langgraph_api/auth/langsmith/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
langgraph_api/auth/langsmith/backend.py,sha256=InScaL-HYCnxYEauhxU198gRZV9pJn9SzzBoR9Edn7g,2654
|
|
16
16
|
langgraph_api/auth/langsmith/client.py,sha256=eKchvAom7hdkUXauD8vHNceBDDUijrFgdTV8bKd7x4Q,3998
|
|
17
|
-
langgraph_api/auth/middleware.py,sha256=
|
|
17
|
+
langgraph_api/auth/middleware.py,sha256=jU8aDSIZHdzCGdifejRF7ndHkSjBtqIHcBwFIuUdHEA,1875
|
|
18
18
|
langgraph_api/auth/noop.py,sha256=Bk6Nf3p8D_iMVy_OyfPlyiJp_aEwzL-sHrbxoXpCbac,586
|
|
19
19
|
langgraph_api/auth/studio_user.py,sha256=FzFQRROKDlA9JjtBuwyZvk6Mbwno5M9RVYjDO6FU3F8,186
|
|
20
20
|
langgraph_api/cli.py,sha256=YIiuS-2D0fyqLd8BzJBIUAM3mmAJPtLUdPEMS6Awj9o,12752
|
|
@@ -26,7 +26,7 @@ langgraph_api/http.py,sha256=gYbxxjY8aLnsXeJymcJ7G7Nj_yToOGpPYQqmZ1_ggfA,5240
|
|
|
26
26
|
langgraph_api/js/.gitignore,sha256=l5yI6G_V6F1600I1IjiUKn87f4uYIrBAYU1MOyBBhg4,59
|
|
27
27
|
langgraph_api/js/base.py,sha256=BpE8-xkUp8HFPRjSKx1tfUQubvoV4jYl6OwZdre3veI,209
|
|
28
28
|
langgraph_api/js/build.mts,sha256=ArAEn74HHY_KXt0JCne76FTyGP34VQCHMe6OfPyxLM8,2915
|
|
29
|
-
langgraph_api/js/client.mts,sha256=
|
|
29
|
+
langgraph_api/js/client.mts,sha256=2dptAX8fMowV9OC4DU4khjpZUgALBLVBTu3jTQbeUJY,24394
|
|
30
30
|
langgraph_api/js/errors.py,sha256=Cm1TKWlUCwZReDC5AQ6SgNIVGD27Qov2xcgHyf8-GXo,361
|
|
31
31
|
langgraph_api/js/global.d.ts,sha256=cLJRZfYVGmgQ6o_xFevVNNTIi918ZUdxVRnpLVSjiAY,133
|
|
32
32
|
langgraph_api/js/package.json,sha256=j6DMoVgwRqWqTwdd7R1f-kvmiTUAbO3HaUhM8K64lbE,1224
|
|
@@ -34,10 +34,10 @@ langgraph_api/js/remote.py,sha256=jUUgdskUbDR_tuhZFrJo4OewbndQ76joczBv-mZHG9k,22
|
|
|
34
34
|
langgraph_api/js/schema.py,sha256=7idnv7URlYUdSNMBXQcw7E4SxaPxCq_Oxwnlml8q5ik,408
|
|
35
35
|
langgraph_api/js/src/graph.mts,sha256=mRyMUp03Fwd5DlmNIFl3RiUCQuJ5XwmFp1AfAeKDfVc,3169
|
|
36
36
|
langgraph_api/js/src/hooks.mjs,sha256=XtktgmIHlls_DsknAuwib-z7TqCm0haRoTXvnkgzMuo,601
|
|
37
|
-
langgraph_api/js/src/parser/parser.mts,sha256=
|
|
37
|
+
langgraph_api/js/src/parser/parser.mts,sha256=c7WLEtMMwtVzir9O8VpJFVHKuLjtI86rde-In2lvaM0,13217
|
|
38
38
|
langgraph_api/js/src/parser/parser.worker.mjs,sha256=2K6D0GlUmkk7LE39I8mryB8VZVE3-N9Cblji-ArPhFo,386
|
|
39
|
-
langgraph_api/js/src/schema/types.mts,sha256=
|
|
40
|
-
langgraph_api/js/src/schema/types.template.mts,sha256=
|
|
39
|
+
langgraph_api/js/src/schema/types.mts,sha256=SRCYZTWjxyc7528DaapR_DCm3G5bfDSh4vf-JsYpk0w,62633
|
|
40
|
+
langgraph_api/js/src/schema/types.template.mts,sha256=Dbjj_8d-OubqH4QY_OaxSu8ocZ4dVjI94oncL20fqtk,2235
|
|
41
41
|
langgraph_api/js/src/utils/importMap.mts,sha256=pX4TGOyUpuuWF82kXcxcv3-8mgusRezOGe6Uklm2O5A,1644
|
|
42
42
|
langgraph_api/js/src/utils/pythonSchemas.mts,sha256=98IW7Z_VP7L_CHNRMb3_MsiV3BgLE2JsWQY_PQcRR3o,685
|
|
43
43
|
langgraph_api/js/src/utils/serde.mts,sha256=OuyyO9btvwWd55rU_H4x91dFEJiaPxL-lL9O6Zgo908,742
|
|
@@ -59,7 +59,7 @@ langgraph_api/js/tests/parser.test.mts,sha256=dEC8KTqKygeb1u39ZvpPqCT4HtfPD947nL
|
|
|
59
59
|
langgraph_api/js/tests/utils.mts,sha256=2kTybJ3O7Yfe1q3ehDouqV54ibXkNzsPZ_wBZLJvY-4,421
|
|
60
60
|
langgraph_api/js/yarn.lock,sha256=W89dVYZMThcec08lJMcYnvEEnQK7VM5cPglvwpIdRv0,82773
|
|
61
61
|
langgraph_api/lifespan.py,sha256=tcW68-Vxh10y15NDn0TJG2qAbU9RwsrQmumT5xs2HBA,2046
|
|
62
|
-
langgraph_api/logging.py,sha256=
|
|
62
|
+
langgraph_api/logging.py,sha256=KB1ciduIWcMFfG0q9c5_SZemGrscht1RZXLZfeJSS00,3619
|
|
63
63
|
langgraph_api/metadata.py,sha256=jPLNIRxHi7taZ0g60UdOEXenkvDwoYdI11tsmHenb28,3443
|
|
64
64
|
langgraph_api/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
65
65
|
langgraph_api/middleware/http_logger.py,sha256=yuFPNFIWwn-4AE1CogBfWlo8KytzywLi_Bd4ccsyVQE,3150
|
|
@@ -86,15 +86,15 @@ langgraph_storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
|
|
|
86
86
|
langgraph_storage/checkpoint.py,sha256=V4t2GwYEJdPCHbhq_4Udhlv0TWKDzlMu_rlNPdTDc50,3589
|
|
87
87
|
langgraph_storage/database.py,sha256=I0AgFeJ-NSTT34vxKxQBUf1z2syFP0S8QpKCqTixrzY,5652
|
|
88
88
|
langgraph_storage/inmem_stream.py,sha256=8bxkILIuFpr7P7RQ37SQAxrpRKvmbHdRB_nbfFiomlk,3263
|
|
89
|
-
langgraph_storage/ops.py,sha256=
|
|
89
|
+
langgraph_storage/ops.py,sha256=6qj3zh3T7KZco_vz9FW1cI82sbrefo6u2BRmrUDXvZI,69529
|
|
90
90
|
langgraph_storage/queue.py,sha256=UDgsUTtUMfBSRDrQ8Onis-FJO4n7KTsX6sdpbY8Hs0A,5055
|
|
91
91
|
langgraph_storage/retry.py,sha256=XmldOP4e_H5s264CagJRVnQMDFcEJR_dldVR1Hm5XvM,763
|
|
92
92
|
langgraph_storage/store.py,sha256=SL7VYCO1wI3O1WP20A9jD3lsxXIN990XuuyVrrj6RVY,2855
|
|
93
93
|
langgraph_storage/ttl_dict.py,sha256=FlpEY8EANeXWKo_G5nmIotPquABZGyIJyk6HD9u6vqY,1533
|
|
94
94
|
logging.json,sha256=3RNjSADZmDq38eHePMm1CbP6qZ71AmpBtLwCmKU9Zgo,379
|
|
95
95
|
openapi.json,sha256=8NhoZn3Dse6Ia0i7fXCB46sdGnEg5qAhov_8of-6m0o,125282
|
|
96
|
-
langgraph_api-0.0.
|
|
97
|
-
langgraph_api-0.0.
|
|
98
|
-
langgraph_api-0.0.
|
|
99
|
-
langgraph_api-0.0.
|
|
100
|
-
langgraph_api-0.0.
|
|
96
|
+
langgraph_api-0.0.30.dist-info/LICENSE,sha256=ZPwVR73Biwm3sK6vR54djCrhaRiM4cAD2zvOQZV8Xis,3859
|
|
97
|
+
langgraph_api-0.0.30.dist-info/METADATA,sha256=ihj0r5-3nmveP3ukNwnF4GY_1R4tGhKNTFuyr4Lwt4M,4029
|
|
98
|
+
langgraph_api-0.0.30.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
99
|
+
langgraph_api-0.0.30.dist-info/entry_points.txt,sha256=3EYLgj89DfzqJHHYGxPH4A_fEtClvlRbWRUHaXO7hj4,77
|
|
100
|
+
langgraph_api-0.0.30.dist-info/RECORD,,
|
langgraph_storage/ops.py
CHANGED
|
@@ -1757,7 +1757,7 @@ class Runs(Authenticated):
|
|
|
1757
1757
|
queue = (
|
|
1758
1758
|
stream_mode
|
|
1759
1759
|
if isinstance(stream_mode, asyncio.Queue)
|
|
1760
|
-
else await Runs.Stream.subscribe(run_id)
|
|
1760
|
+
else await Runs.Stream.subscribe(run_id, stream_mode=stream_mode)
|
|
1761
1761
|
)
|
|
1762
1762
|
|
|
1763
1763
|
try:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|