langgraph-api 0.0.17__tar.gz → 0.0.18__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.

Files changed (93) hide show
  1. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/PKG-INFO +1 -1
  2. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/config.py +53 -13
  3. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/server.py +5 -0
  4. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/openapi.json +24 -0
  5. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/pyproject.toml +1 -1
  6. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/LICENSE +0 -0
  7. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/README.md +0 -0
  8. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/__init__.py +0 -0
  9. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/api/__init__.py +0 -0
  10. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/api/assistants.py +0 -0
  11. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/api/meta.py +0 -0
  12. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/api/openapi.py +0 -0
  13. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/api/runs.py +0 -0
  14. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/api/store.py +0 -0
  15. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/api/threads.py +0 -0
  16. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/asyncio.py +0 -0
  17. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/auth/__init__.py +0 -0
  18. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/auth/custom.py +0 -0
  19. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/auth/langsmith/__init__.py +0 -0
  20. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/auth/langsmith/backend.py +0 -0
  21. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/auth/langsmith/client.py +0 -0
  22. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/auth/middleware.py +0 -0
  23. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/auth/noop.py +0 -0
  24. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/auth/studio_user.py +0 -0
  25. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/cli.py +0 -0
  26. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/cron_scheduler.py +0 -0
  27. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/errors.py +0 -0
  28. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/graph.py +0 -0
  29. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/http.py +0 -0
  30. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/http_logger.py +0 -0
  31. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/.gitignore +0 -0
  32. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/base.py +0 -0
  33. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/build.mts +0 -0
  34. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/client.mts +0 -0
  35. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/client.new.mts +0 -0
  36. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/errors.py +0 -0
  37. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/global.d.ts +0 -0
  38. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/package.json +0 -0
  39. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/remote.py +0 -0
  40. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/remote_new.py +0 -0
  41. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/remote_old.py +0 -0
  42. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/schema.py +0 -0
  43. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/server_sent_events.py +0 -0
  44. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/src/graph.mts +0 -0
  45. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/src/hooks.mjs +0 -0
  46. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/src/parser/parser.mts +0 -0
  47. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/src/parser/parser.worker.mjs +0 -0
  48. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/src/schema/types.mts +0 -0
  49. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/src/schema/types.template.mts +0 -0
  50. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/src/utils/importMap.mts +0 -0
  51. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/src/utils/pythonSchemas.mts +0 -0
  52. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/src/utils/serde.mts +0 -0
  53. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/api.test.mts +0 -0
  54. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/compose-postgres.yml +0 -0
  55. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/graphs/.gitignore +0 -0
  56. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/graphs/agent.mts +0 -0
  57. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/graphs/delay.mts +0 -0
  58. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/graphs/error.mts +0 -0
  59. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/graphs/langgraph.json +0 -0
  60. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/graphs/nested.mts +0 -0
  61. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/graphs/package.json +0 -0
  62. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/graphs/weather.mts +0 -0
  63. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/graphs/yarn.lock +0 -0
  64. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/parser.test.mts +0 -0
  65. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/tests/utils.mts +0 -0
  66. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/js/yarn.lock +0 -0
  67. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/lifespan.py +0 -0
  68. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/logging.py +0 -0
  69. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/metadata.py +0 -0
  70. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/models/__init__.py +0 -0
  71. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/models/run.py +0 -0
  72. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/patch.py +0 -0
  73. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/queue.py +0 -0
  74. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/route.py +0 -0
  75. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/schema.py +0 -0
  76. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/serde.py +0 -0
  77. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/sse.py +0 -0
  78. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/state.py +0 -0
  79. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/stream.py +0 -0
  80. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/utils.py +0 -0
  81. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_api/validation.py +0 -0
  82. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_license/__init__.py +0 -0
  83. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_license/middleware.py +0 -0
  84. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_license/validation.py +0 -0
  85. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_storage/__init__.py +0 -0
  86. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_storage/checkpoint.py +0 -0
  87. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_storage/database.py +0 -0
  88. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_storage/ops.py +0 -0
  89. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_storage/queue.py +0 -0
  90. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_storage/retry.py +0 -0
  91. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_storage/store.py +0 -0
  92. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/langgraph_storage/ttl_dict.py +0 -0
  93. {langgraph_api-0.0.17 → langgraph_api-0.0.18}/logging.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langgraph-api
3
- Version: 0.0.17
3
+ Version: 0.0.18
4
4
  Summary:
5
5
  License: Elastic-2.0
6
6
  Author: Nuno Campos
@@ -6,6 +6,16 @@ from starlette.datastructures import CommaSeparatedStrings
6
6
 
7
7
  env = Config()
8
8
 
9
+
10
+ def _parse_json(json: str | None) -> dict | None:
11
+ if not json:
12
+ return None
13
+ parsed = orjson.loads(json)
14
+ if not parsed:
15
+ return None
16
+ return parsed
17
+
18
+
9
19
  STATS_INTERVAL_SECS = env("STATS_INTERVAL_SECS", cast=int, default=60)
10
20
  HTTP_CONCURRENCY = env("HTTP_CONCURRENCY", cast=int, default=10)
11
21
 
@@ -21,6 +31,48 @@ REDIS_MAX_CONNECTIONS = env("REDIS_MAX_CONNECTIONS", cast=int, default=500)
21
31
  # server
22
32
 
23
33
  CORS_ALLOW_ORIGINS = env("CORS_ALLOW_ORIGINS", cast=CommaSeparatedStrings, default="*")
34
+ CORS_CONFIG = env("CORS_CONFIG", cast=_parse_json, default=None)
35
+ """
36
+ {
37
+ "type": "object",
38
+ "properties": {
39
+ "allow_origins": {
40
+ "type": "array",
41
+ "items": {"type": "string"},
42
+ "default": []
43
+ },
44
+ "allow_methods": {
45
+ "type": "array",
46
+ "items": {"type": "string"},
47
+ "default": ["GET"]
48
+ },
49
+ "allow_headers": {
50
+ "type": "array",
51
+ "items": {"type": "string"},
52
+ "default": []
53
+ },
54
+ "allow_credentials": {
55
+ "type": "boolean",
56
+ "default": false
57
+ },
58
+ "allow_origin_regex": {
59
+ "type": ["string", "null"],
60
+ "default": null
61
+ },
62
+ "expose_headers": {
63
+ "type": "array",
64
+ "items": {"type": "string"},
65
+ "default": []
66
+ },
67
+ "max_age": {
68
+ "type": "integer",
69
+ "default": 600
70
+ }
71
+ }
72
+ }
73
+ """
74
+ if CORS_CONFIG is not None and CORS_ALLOW_ORIGINS != "*":
75
+ raise ValueError("CORS_CONFIG and CORS_ALLOW_ORIGINS cannot be set together")
24
76
 
25
77
  # queue
26
78
 
@@ -38,18 +90,7 @@ FF_JS_ZEROMQ_ENABLED = env("FF_JS_ZEROMQ_ENABLED", cast=bool, default=False)
38
90
  # auth
39
91
 
40
92
  LANGGRAPH_AUTH_TYPE = env("LANGGRAPH_AUTH_TYPE", cast=str, default="noop")
41
-
42
-
43
- def _parse_auth(auth: str | None) -> dict | None:
44
- if not auth:
45
- return None
46
- parsed = orjson.loads(auth)
47
- if not parsed:
48
- return None
49
- return parsed
50
-
51
-
52
- LANGGRAPH_AUTH = env("LANGGRAPH_AUTH", cast=_parse_auth, default=None)
93
+ LANGGRAPH_AUTH = env("LANGGRAPH_AUTH", cast=_parse_json, default=None)
53
94
  LANGSMITH_TENANT_ID = env("LANGSMITH_TENANT_ID", cast=str, default=None)
54
95
  LANGSMITH_AUTH_VERIFY_TENANT_ID = env(
55
96
  "LANGSMITH_AUTH_VERIFY_TENANT_ID",
@@ -57,7 +98,6 @@ LANGSMITH_AUTH_VERIFY_TENANT_ID = env(
57
98
  default=LANGSMITH_TENANT_ID is not None,
58
99
  )
59
100
 
60
-
61
101
  if LANGGRAPH_AUTH_TYPE == "langsmith":
62
102
  LANGSMITH_AUTH_ENDPOINT = env("LANGSMITH_AUTH_ENDPOINT", cast=str)
63
103
  LANGSMITH_TENANT_ID = env("LANGSMITH_TENANT_ID", cast=str)
@@ -33,6 +33,11 @@ app = Starlette(
33
33
  allow_credentials=True,
34
34
  allow_methods=["*"],
35
35
  allow_headers=["*"],
36
+ )
37
+ if config.CORS_CONFIG is None
38
+ else Middleware(
39
+ CORSMiddleware,
40
+ **config.CORS_CONFIG,
36
41
  ),
37
42
  Middleware(LicenseValidationMiddleware),
38
43
  Middleware(AccessLoggerMiddleware, logger=logger),
@@ -3317,6 +3317,18 @@
3317
3317
  {
3318
3318
  "type": "object"
3319
3319
  },
3320
+ {
3321
+ "type": "array"
3322
+ },
3323
+ {
3324
+ "type": "string"
3325
+ },
3326
+ {
3327
+ "type": "number"
3328
+ },
3329
+ {
3330
+ "type": "boolean"
3331
+ },
3320
3332
  {
3321
3333
  "type": "null"
3322
3334
  }
@@ -3532,6 +3544,18 @@
3532
3544
  {
3533
3545
  "type": "object"
3534
3546
  },
3547
+ {
3548
+ "type": "array"
3549
+ },
3550
+ {
3551
+ "type": "string"
3552
+ },
3553
+ {
3554
+ "type": "number"
3555
+ },
3556
+ {
3557
+ "type": "boolean"
3558
+ },
3535
3559
  {
3536
3560
  "type": "null"
3537
3561
  }
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "langgraph-api"
3
- version = "0.0.17"
3
+ version = "0.0.18"
4
4
  description = ""
5
5
  authors = [
6
6
  "Nuno Campos <nuno@langchain.dev>",
File without changes
File without changes